Ogólna architektura ładowania początkowego
Generic Bootstrapping Architecture ( GBA ) to technologia umożliwiająca uwierzytelnienie użytkownika. Uwierzytelnianie to jest możliwe, jeśli użytkownik posiada ważną tożsamość w rejestrze HLR ( rejestr lokalizacji macierzystej ) lub HSS ( serwer abonentów domowych ).
GBA jest znormalizowane w 3GPP ( http://www.3gpp.org/ftp/Specs/html-info/33220.htm ). Uwierzytelnianie użytkownika jest realizowane przez wspólny klucz tajny, jeden na karcie inteligentnej , na przykład na karcie SIM w telefonie komórkowym, a drugi na HLR/HSS.
GBA uwierzytelnia się, zmuszając komponent sieci do sprawdzenia karty inteligentnej i sprawdzenia, czy odpowiedź jest przewidziana przez HLR/HSS.
Zamiast prosić usługodawcę, aby zaufał BSF i polegał na nim przy każdym żądaniu uwierzytelnienia, BSF ustanawia wspólny sekret między kartą SIM a usługodawcą. Ten wspólny sekret jest ograniczony czasowo i dla określonej domeny.
Mocne strony
To rozwiązanie ma kilka mocnych stron certyfikatu i wspólnych tajemnic bez niektórych ich słabości:
- Nie ma potrzeby fazy rejestracji użytkowników ani bezpiecznego wdrażania kluczy, co sprawia, że to rozwiązanie jest bardzo tanie w porównaniu z PKI .
- Kolejną zaletą jest łatwość, z jaką metoda uwierzytelniania może być zintegrowana z terminalami i dostawcami usług, ponieważ opiera się na dobrze znanym „ uwierzytelnianiu dostępu szyfrowanego ” protokołu HTTP . Każdy serwer sieci Web ma już implementację uwierzytelniania szyfrowanego HTTP , a wysiłek związany z wdrożeniem GBA oprócz uwierzytelniania szyfrowanego jest minimalny. Na przykład można go zaimplementować w SimpleSAMLPhP http://rnd.feide.no/simplesamlphp z 500 liniami kodu PHP, a tylko kilkadziesiąt linii kodu jest specyficznych dla usługodawcy, co naprawdę ułatwia przeniesienie go na inną stronę internetową .
- Po stronie urządzenia jest potrzebne:
- Przeglądarka internetowa (w rzeczywistości klient HTTP) implementująca uwierzytelnianie szyfrowane i specjalny przypadek zaprojektowany przez ciąg „3gpp” w nagłówku HTTP.
- Do obsługi żądania pochodzącego z przeglądarki można użyć środka do dialogu z kartą inteligentną i podpisanego wyzwania wysłanego przez BSF, Bluetooth SAP, Java lub aplikacja natywna.
Przegląd techniczny
W rzeczywistości treści w tej sekcji pochodzą z literatury zewnętrznej.
Istnieją dwa sposoby korzystania z GAA (Generic Authentication Architecture).
- Pierwszy, GBA, opiera się na wspólnym kluczu tajnym między klientem a serwerem
- Drugi, SSC, opiera się na parach kluczy publiczny-prywatny i certyfikatach cyfrowych.
We wspólnych tajnych przypadkach klient i operator są najpierw wzajemnie uwierzytelniani za pomocą 3G i klucza uwierzytelniającego (AKA) i uzgadniają klucze sesyjne, które mogą być następnie używane między klientem a usługami, z których klient chce korzystać. Nazywa się to ładowaniem początkowym . Następnie usługi mogą pobrać klucze sesji od operatora i mogą być używane w niektórych protokołach specyficznych dla aplikacji między klientem a usługami.
Powyższy rysunek przedstawia sieciowe podmioty GAA i interfejsy między nimi. Elementy opcjonalne są rysowane za pomocą sieci linii i obramowań wyznaczanych punktami na tablicy wyników. Sprzęt użytkownika (UE) to na przykład telefon komórkowy użytkownika. UE i Bootstrapping Server Function ( BSF ) wzajemnie się uwierzytelniają podczas interfejsu Ub (numer [2] powyżej), używając protokołu uwierzytelniania dostępu Digest AKA . UE komunikuje się również z funkcjami aplikacji sieciowych ( NAF ), które są serwerami implementacyjnymi, przez interfejs Ua [4], które mogą używać dowolnego wymaganego protokołu aplikacji.
BSF pobiera dane od abonenta z Home Subscriber Server (HSS) podczas interfejsu Zh [3], który wykorzystuje protokół Diameter Base. Jeśli w sieci jest kilka HSS, BSF musi najpierw wiedzieć, którego użyć. Można to zrobić albo ustawiając predefiniowany HSS do BSF, albo wysyłając zapytanie do funkcji lokalizatora abonenta (SLF). NAF odzyskują kluczową sesję BSF podczas interfejsu Zn [5], który również wykorzystuje średnicę w protokole podstawowym. Jeśli NAF nie znajduje się w sieci domowej, musi użyć Zn-proxy, aby skontaktować się z BSF.
Używa
- W ramach projektu SPICE opracowano rozszerzony przypadek użycia o nazwie „split terminal”, w którym użytkownik komputera PC może uwierzytelniać się za pomocą telefonu komórkowego: http://www.ist-spice.org/demos/demo3.htm . NAF został opracowany na SimpleSAMLPhP i opracowano rozszerzenie Firefox do przetwarzania żądania uwierzytelnienia skrótu GBA z BSF. Profil dostępu do karty SIM Bluetooth był używany między przeglądarką Firefox a telefonem komórkowym. Później partner opracował koncepcję „zerowej instalacji”.
- Instytut badawczy Fraunhofer FOKUS opracował rozszerzenie OpenID dla przeglądarki Firefox, które wykorzystuje uwierzytelnianie GBA. Prezentacja na ICIN 2008 autorstwa Petera Weika
- Open Mobile Terminal Platform http://www.omtp.org odwołuje się do GBA w swoim Advanced Trusted Environment: Rekomendacja OMTP TR1, opublikowana po raz pierwszy w maju 2008 roku.
Niestety, pomimo wielu zalet i potencjalnych zastosowań GBA, jego implementacja w telefonach była ograniczona od czasu standaryzacji GBA w 2006 roku. Przede wszystkim GBA zostało zaimplementowane w telefonach opartych na Symbianie.