Generic Bootstrapping Architecture
Introduction:
In mobile phones, Generic Bootstrapping Architecture (GBA) is one technology enabling the authentication of a user. This authentication is possible if the user owns a valid identity on an HLR Home Location Register or a Home Subscriber Server
GBA is standardized at the 3GPP (http://www.3gpp.org/ftp/Specs/html-info/33220.htm) . The user authentication is instantiated by a shared secret, one in the smartcard inside the mobile phone and the other is on the HLR/HSS.
GBA authenticates by making a network component challenge the simcard card and verify that the answer is similar by the one predicted by the HLR/HSS.
Instead of asking the service provider to trust the BSF and relying on it for every authentication request, the BSF establishes a shared secret between the simcard card and the service provider. This shared secret is limited in time and for a specific domain.
Strong points
This solution has some strong points of certificate and shared secrets without having some of their weaknesses:
- There is no need for user enrollment phase nor secure deployment of keys, making this solution a very low cost one when compared to PKI.
- Another advantage is the ease with which the authentication method may be integrated into terminals and service providers, as it is based on HTTP's well known "Digest access authentication". Every Web server already implement HTTP digest authentication and the effort to implement GBA on top of digest authentication is minimal. For example it could be implemented on SimpleSAMLPhP http://rnd.feide.no/simplesamlphp with 500 PHP lines of code and only a few tens of LoC are SP specific making it really easy to port it to another Web site.
- On device side is needed:
- A Web browser (in fact an HTTP client) implementing digest authentication and the special case designed by a "3gpp" string in the HTTP header.
- A means to dialog with a smartcard and signed the challenge sent by the BSF, either Bluetooth SAP or a Java or native application could be used to serve the request coming from the browser.
Technical overview:
There are two ways to use GAA.
- The first is based on a shared secret between the client and server
- The second is based on public-private key pairs and digital certificates.
In the shared secret cases, the customer and the operator are first mutually authenticated through 3G and authentication key (AKA) and they agree on session keys which can then be used between the client and services that the customer wants to use. This is called bootstrap. After the services can retrieve the key Session of the operator, and can be used in specific applications protocol between the client and services [3].
Fig. 1 shows the network GAA entities and interfaces between them. Optional entities are drawn with lines network and borders dotted the scoreboard. The User Equipment (EU) is, for example, the user's mobile phone. The EU and Bootstrapping function server (BSF) mutually authenticate themselves during the Ub interface, using the Digest_access_authentication AKA_(security) protocol. The EU also communicate with the network application functions (NAF), which are the implementation servers, over the Ua interface, which can use any specific application protocol necessary. BSF retrieves data from the subscriber from the Home Subscriber Server (HSS) during the Zh interface, which uses the Diameter_(protocol) Base Protocol. If there are several HSS in the network, BSF must first know which one to use. This can be done by either setting up a pre-defined HSS to BSF, or by querying the subscriber Locator Function (SLF). Nafs recover the key session of BSF during the Zn interface, which also uses the diameter at the base Protocol [5]. If NFA is not in the home network, it must use a proxy-Zn contact BSF .
Uses
- The SPICE project developed an extended Use Case named "split terminal" where a user on a PC can authenticate with her mobile phone: http://www.ist-spice.org/demos/demo3.htm. The NAF was developed on SimpleSAMLPhP and a Firefox extension was developed to process the GBA digest authencation request from the BSF. Bluetooth SIM Access Profile was used between the Firefox browser and the mobile phone. Later a partner developed a "zero installation" concept.
- The Fraunhofer Fokus http://www.fokus.fraunhofer.de developed an OpenID extension for Firefox which uses GBA authentication.
- The Open Mobile Terminal Platform http://www.omtp.org references GBA in its Advanced Trusted Environment: OMTP TR1<ref>OMTP Advanced Trusted Environment: OMTP TR1<ref> recommendation, first released in May 2008.