(19)
(11)EP 2 510 717 B1

(12)EUROPEAN PATENT SPECIFICATION

(45)Mention of the grant of the patent:
04.03.2020 Bulletin 2020/10

(21)Application number: 10835544.7

(22)Date of filing:  22.11.2010
(51)Int. Cl.: 
H04W 12/06  (2009.01)
H04L 29/06  (2006.01)
H04W 8/18  (2009.01)
H04W 12/04  (2009.01)
H04W 8/04  (2009.01)
(86)International application number:
PCT/FI2010/050944
(87)International publication number:
WO 2011/070226 (16.06.2011 Gazette  2011/24)

(54)

SMART CARD SECURITY FEATURE PROFILE IN HOME SUBSCRIBER SERVER

SMARTCARD-SICHERHEITSFUNKTIONSPROFIL AUF EINEM HEIMTEILNEHMERSERVER

PROFIL DE CARACTÉRISTIQUE DE SÉCURITÉ DE CARTE À PUCE DANS UN SERVEUR D'ABONNÉ RÉSIDENTIEL


(84)Designated Contracting States:
AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

(30)Priority: 11.12.2009 US 284045 P

(43)Date of publication of application:
17.10.2012 Bulletin 2012/42

(73)Proprietor: Nokia Technologies Oy
02610 Espoo (FI)

(72)Inventor:
  • HOLTMANNS, Silke
    FI-01800 Klaukkala (FI)

(74)Representative: Seppo Laine Oy 
Porkkalankatu 24
00180 Helsinki
00180 Helsinki (FI)


(56)References cited: : 
WO-A1-2008/084135
US-A1- 2007 050 365
US-A1- 2007 192 838
US-A1- 2006 205 388
US-A1- 2007 101 122
  
  • ERICSSON: "Introduction of GBA Push within TS 29.109 - Zpn Interface", 3GPP DRAFT; C4-090775, 3RD GENERATION PARTNERSHIP PROJECT (3GPP), MOBILE COMPETENCE CENTRE ; 650, ROUTE DES LUCIOLES ; F-06921 SOPHIA-ANTIPOLIS CEDEX ; FRANCE, no. San Antonio; 20090225, 25 February 2009 (2009-02-25), XP050315751, [retrieved on 2009-02-25]
  • GEMALTO ET AL: "Description of GPL_U solution", 3GPP DRAFT; 33224_CR0001R2_(REL-9)_S3-092251, 3RD GENERATION PARTNERSHIP PROJECT (3GPP), MOBILE COMPETENCE CENTRE ; 650, ROUTE DES LUCIOLES ; F-06921 SOPHIA-ANTIPOLIS CEDEX ; FRANCE, vol. SA WG3, no. Dublin, Ireland; 20091116, 1 December 2009 (2009-12-01), XP050435218, [retrieved on 2009-12-01]
  • NOKIA CORPORATION ET AL: "GBA Service Type Codes and Authorziation Flag", 3GPP DRAFT; C4-092257, 3RD GENERATION PARTNERSHIP PROJECT (3GPP), MOBILE COMPETENCE CENTRE ; 650, ROUTE DES LUCIOLES ; F-06921 SOPHIA-ANTIPOLIS CEDEX ; FRANCE, no. Seville; 20090813, 13 August 2009 (2009-08-13), XP050350771, [retrieved on 2009-08-13]
  
Note: Within nine months from the publication of the mention of the grant of the European patent, any person may give notice to the European Patent Office of opposition to the European patent granted. Notice of opposition shall be filed in a written reasoned statement. It shall not be deemed to have been filed until the opposition fee has been paid. (Art. 99(1) European Patent Convention).


Description

CROSS-REFERENCE TO RELATED APPLICATIONS:



[0001] This patent application claims priority under 35 U.S.C. §119(e) from Provisional Patent Application No.: 61/284,045 filed December 11, 2009.

TECHNICAL FIELD:



[0002] The teachings in accordance with the exemplary and non-limiting embodiments of this invention relate generally to wireless communication systems, methods, devices and computer programs and, more specifically, relate to generic bootstrapping architectures and to security functions.

BACKGROUND:



[0003] This section is intended to provide a background or context to the invention that is recited in the claims. The description herein may include concepts that could be pursued, but are not necessarily ones that have been previously conceived, implemented or described. Therefore, unless otherwise indicated herein, what is described in this section is not prior art to the description and claims in this application and is not admitted to be prior art by inclusion in this section.

[0004] The following abbreviations that may be found in the specification and/or the drawing figures are defined as follows:
AAA
authentication authorization accounting
AKA
authentication and key agreement
AUTN
authentication token
AV
Authentication Vector
AVP
attribute-value-pair in diameter messages
BSF
bootstrapping server function
CK
confidential key
GAA
generic authentication architecture
GBA
generic bootstrapping architecture
GPL
generic push layer
GSID
GAA service identifier
GUSS
GBA user security settings
HLR
home location register
HSS
home subscriber server
IK
integrity key
IMS
internet protocol (IP) multimedia subsystem
LDAP
lightweight directory access protocol
NAF
network application function (service)
NDS
network domain security
RAND
random challenge
SLF
subscriber locator function
TLS
transport layer security
UE
user terminal with smart card
UICC
universal integrated circuit card
USS
user security settings
Ua
UE-NAF interface for GAA applications
Ub
UE-BSF interface for bootstrapping
XRES
expected response in authentication
Zh
BSF-HSS interface for bootstrapping procedure
Zh'
BSF-HLR interface for bootstrapping procedure
Zn
BSF-NAF interface for GAA applications
Zpn
NAF-BSF interface for GAA applications


[0005] Reference can be made to the following two publications:

3GPP TS 29.109 V9.0.0 (2009-09) Technical Specification 3rd Generation Partnership Project; Technical Specification Group Core Network and Terminals; Generic Authentication Architecture (GAA); Zh and Zn Interfaces based on the Diameter protocol; Stage 3 (Release 9); and

3GPP TS 33.224 V9.0.0 (2009-09) Technical Specification 3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; Generic Authentication Architecture (GAA); Generic Bootstrapping Architecture (GBA) Push Layer (Release 9).



[0006] In mobile devices the use of the GBA enables authentication of a user or subscriber. The use of GBA assumes that the user has a valid identity on a HLR or a HSS. The user authentication is instantiated by a shared secret, for mobile networks one in a smart card in the mobile device and the other in the HLR/HSS. In different network architectures e.g. fixed networks, the shared secret might be stored in a trusted module (e.g. trusted chip on PC) and in the network in a AAA server. GBA authenticates the user by having a network component challenge the smart card and then verifying that the answer to the challenge is similar to one predicted by the HLR/HSS using the AKA protocol. The BSF establishes an additional credential (so called Ks). From this credential it derives service provider specific shared keys between the authenticating entity and the service provider. In operation the secret in the smart card is used to authenticate to the network. Then the BSF derives a master secret and from this the service-specific keys. The terminal is deriving the same keys. Each service thus has different keys (if one is compromised only one service is affected). The service specific shared secret is limited in time and for a specific service domain (called Ks_(ext/int)_NAF). The SLF is a function that informs the BSF on which HSS to find subscriber data, in a case where the network operator has several HSS.

[0007] One problem that exists at present in the GBA relates to a situation that arises when a service (NAF) wants to establish a security association with the authenticating entity in the UE, in particular a smart card. For this to occur the NAF needs to know that the security features are supported for the establishment of the security association. Currently the service providing NAF has no means to obtain this information from the terminal or from the network. It can be noted that the NAF may reside outside the operator network and, as a result, will not have a direct interface to the HSS.

[0008]  ERICSSON: "Introduction of GBA Push within TS 29.109 - Zpn Interface", 3GPP DRAFT; C4-090775, 3RD GENERATION PARTNERSHIP PROJECT (3GPP), MOBILE COMPETENCE CENTRE ; 650, ROUTE DES LUCIOLES ; F-06921 SOPHIA-ANTIPOLIS CEDEX; FRANCE, no. San Antonio; 20090225, 25 February 2009 (2009-02-25), discloses GBA push procedure over Zpn. In the first step of the procedure NAF sends a GBA-Push-Info-Request message to BSF. The message includes UICC-ME AVP. In the second step, the BSF derives key material for the ME (i.e., Ks_NAF in the case of GBS_ME, and Ks_ext_NAF in the case of GBS_U) and possibly the key material for the UICC (i.e., Ks_int_NAF in the case of GBA_U). In the third step the BSF sends a GBA-Push-Info-Answer message back to the NAF. The a GBA-Push-Info-Answer message includes ME-Key-Material, Ks_NAF in the case of GBA_ME or Ks_ext_NAF in the case of GBA_U.

[0009] GEMAL TO ET AL: "Description of GPL_U solution", 3GPP DRAFT; 33224_CR0001 R2_(REL-9)_S3-092251, 3RD GENERATION PARTNERSHIP PROJECT (3GPP), MOBILE COMPETENCE CENTRE ; 650, ROUTE DES LUCIOLES ; F-06921 SOPHIA-ANTIPOLIS CEDEX; FRANCE, vol. SA WG3, no. Dublin, Ireland; 20091116, 1 December 2009 (2009-12-01), discloses that to utilize General Push Layer (GPL) protocol the ME shall be equipped with a GPL entity. When the GPL protocol entity to be used is in the ME, Ks_NAF or Ks_ext_NAF shall be used as the shared master key between the ME and the NAF (which one is used depends on if a GPI based on GBA_ME or GBA_U was used to establish the NAF SA). When the GPL protocol entity to be used resides in the UICC, Ks_int_NAF shall be used as the shared master key between the UICC and the NAF. GPL capabilities of the ME shall be indicated to the NAF during GBA-Push UE registration procedure.

SUMMARY:



[0010] In an exemplary aspect of the invention there is a method, comprising determining at a network application function a list of desired user equipment security features to be used, the security features of the list ordered by preference of the network application function, sending the list to a database of user security settings via a bootstrapping server function, and receiving by the network application function , via the bootstrapping server function, a security features response comprising a security key, derived from information stored in the database, corresponding to a desired security feature contained in the list, thereby informing the network application function of the availability of at least one of the desired security features in the user equipment.

[0011] In another exemplary aspect of the invention there is a non-transitory computer readable medium embodying computer program instructions, the computer program instructions executed by at least one processor to perform operations comprising determining at a network application function a list of desired user equipment security features to be used, the security features of the list ordered by preference of the network application function, sending the list to a database of user security settings via a bootstrapping server function, and receiving by the network application function, via the bootstrapping server function, a security features response comprising a security key, derived from information stored in the database, corresponding to a desired security feature contained in the list, thereby informing the network application function of the availability of at least one of the desired security features in the user equipment

[0012] In still another exemplary aspect of the invention there is apparatus comprising at least one processor; and at least one memory including computer program code, where the at least one memory and the computer program code are configured, with the at least one processor, to cause the apparatus to at least determine, at a network application function, a list of desired user equipment security features to be used, the security features of the list ordered by preference of the network application function, send the list to a database of user security settings via a bootstrapping server function, and receive by the network application function, via the bootstrapping server function, a security features response comprising a security key, derived from information stored in the database, corresponding to a desired security feature contained in the list, thereby informing the network application function of the availability of at least one of the desired security features in the user equipment.

BRIEF DESCRIPTION OF THE DRAWINGS:



[0013] The foregoing and other aspects of embodiments of this invention are made more evident in the following Detailed Description, when read in conjunction with the attached Drawing Figures, wherein:

Figure 1 is a block diagram of the GBA push architecture.

Figure 2 is a block diagram of the GBA architecture.

Figure 3 is a block diagram of another embodiment of the GBA architecture.

Figures 4A and 4B are simplified block diagrams of the UE and BSF/HSS/NAF, respectively, shown in Figures 1-3.

Figure 5 is a signal/message flow diagram in accordance with the exemplary embodiments of this invention.

Figure 6 is a logic flow diagram that illustrates the operation of a method, and a result of execution of computer program instructions embodied on a computer readable memory, in accordance with the exemplary embodiments of this invention.


DETAILED DESCRIPTION:



[0014] The exemplary embodiments of this invention provide enhancements for the HSS, the BSF and the NAF.

[0015] Figure 1 shows a block diagram of the GBA Push architecture. Shown are the BSF 10, SLF 12, HSS 14, NAF 16 and the UE 18. These blocks are interconnected via the interfaces noted above. Figure 2 shows a block diagram of the GBA architecture. In addition to the blocks shown in Figure 1, a GUSS database (DB) 20 is shown as a part of the HSS 14. Figure 3 is another embodiment of the GBA architecture, where the GUSS DB 20 is assumed to be external to the network, and connected with the BSF 10 via some suitable interface 21.

[0016] Figure 4A shows a simplified block diagram of an embodiment of the UE 18. For the purposes of describing the exemplary embodiments of this invention the UE 18 can be assumed to include a controller, such as at least one computer or a data processor (DP) 18A, a computer-readable memory medium embodied as at least one memory (MEM) 18B that stores a program of computer instructions (PROG) 18C, and at least one suitable transceiver, such as a radio frequency (RF) transceiver 18D, for bidirectional (e.g., wireless) communications with the BSF 10 and the NAF 16 via one or more intermediate nodes, such as one or base stations, converting nodes or proxies (not shown). The UE 18 is assumed to include a smart card or trusted module 18E for secure credential handling1 comprised of memory and other functionality. In general, this function can be incorporated in a card, such as a removable card, or in a secure (trusted) chip or module (not necessarily a card). The smart card or secure module18E may include, or may be embodied in or with, a subscriber identity module (SIM).

[0017] The smart card or trusted module18E may also be referred to as a UICC. As is well known, the UICC is the smart card used in mobile terminals in GSM and UMTS networks, but it might also be implemented with a different form factor, e.g., on a trusted hardware chip. The UICC ensures the security of the interaction between the user device (mobile phone, PC, smart card) and the network. In a GSM network the smart card is a SIM card. The UICC may contain a SIM application, in an UMTS network it contains the USIM application and for IMS networks an ISIM application. A UICC may contain several applications in parallel, making it possible for the same smart card to give access to both GSM and UMTS networks and other application (e.g. mobile banking, support for Mobile TV, etc). In a CDMA network the UICC contains a CSIM application, in addition to 3GPP USIM and SIM applications.

[0018] Figure 4B shows a simplified block diagram of an embodiment of apparatus that can be used for implementing one or all of the BSF 10, HSS 14 and NAF 16. Basically, these components may be viewed as computer system having, for example in the case of the BSF 10, a controller, such as at least one computer or a data processor (DP) 10A, a computer-readable memory medium embodied as at least one memory (MEM) 10B that stores a program of computer instructions (PROG) 10C, and at least one suitable transceiver for bidirectional communications via the defined interfaces (Zh, Zn, Zpn, Ub, Dz) with the other components of the GBA architecture. There are further interfaces for the case of proxy usage or usage of HLR. But these additional interfaces are shown in Figure 4B.

[0019] It has previously been agreed in 3GPP that the information relating to whether the UE smart card 18E supports the establishment of the security association should be stored in the HSS GUSS 20. This has been documented in 3GPP TS 33.224 as "The GPL_U capabilities shall be stored in the GUSS in the HSS." However, the mechanism, message flow and processing has not been defined for how this proposed functionality would be embodied, implemented and operated.

[0020] The use of exemplary embodiments of this invention enable the use of a smart card, or more generally, a security or application specific feature by a service provider, where the service provider is enabled to indicate which smart card 18E feature (i.e., which security or application-specific feature) is to be used, as well as to identify a second choice ("second best") feature.

[0021] In accordance with the exemplary embodiments messages between the service and the key generating node (BSF 10) and between the BSF 10 and the HSS 14 are extended. The user security information storage in the HSS 14 is extended as well, and the HSS 14 processes this additional information. The BSF 10 is expected to consider the indication given by the HSS 14.

[0022] The end result is that the service knows what feature can be used when communicating with the UE 18 and thus is able to establish the desired security association.

[0023] This feature is particularly advantageous when, for example and considering a more specific case of particular interest the exemplary embodiments of this invention, the NAF 16 wants to establish a secure session using the GPL with the smart card 18. One reason to do this is for, by example, provisioning purposes.

[0024] The exemplary embodiments of this invention provide enhancements to the GUSS 20 and the related GBA components.

[0025] Reference is now made to the signal/message flow diagram of Figure 5.

[0026] (1) Assume that the NAF 16 wants to use a specific security (or application) feature, such as GPL_U. The NAF 16 may be willing to "downgrade" if this feature is not available or restrict the service usage (e.g., threshold for download value is lower, since the security level is lower). This ability to use another backup feature can be beneficial in reducing signaling load when the first desired feature is not available. In this example, assume that the first desired feature is GPL_U, the second desired feature would be GPL with GBA_U, and the third desired feature would be GPL with GBA divided by a ";" sign to enable the receiving node to determine that the next "word" begins. The element may appear several times for several features. For example, the NAF 16 desires to use several security features and gives a prioritization list for each of them (e.g., {feature1;feature2;...;featuren}).

[0027] Thus, one exemplary aspect of the invention is an ability to indicate a desired security feature, with the possibility to provide a prioritized list of desired security features.

[0028] (2) The NAF 16 indicates to the BSF 10 that the NAF 16 wishes to use a specific security feature (e.g., GPL_U). This can be accomplished by adding a field to existing Zn/Zn' messages. The Zn is defined for Diameter and Web Service based on 3GPP TS 29.109. The Zn' is the interface for the case that there is a proxy between the BSF 10 and the NAF 16. The BSF 10 forwards this request over the Zh reference point to the HSS 14. This can be accomplished by adding a field to the Zh request message. In a case where a HLR is utilized the BSF 10 may send this to a local database that holds the GUSS 20, and utilize the Zh' interface as is. In this case the request is not part of the standard, and may be performed using an LDAP request.

[0029] In an exemplary aspect of the invention the request from the NAF can be a GBA-Push-Info (GPI), for NAF specific key material corresponding to a user identity. In addition, the request can utilize a Zpn and Zpn' protocol interface, for example as defined in 3GPP TS 33.223. The protocol ZPN being between the NAF and BSF and the request can include, for example, a user identity, NAF-Id, and/or GSID. Further, a field for the Security Features Request element can read as "element name="securityfeaturesrequest" type="xsd:string" minOccurs="0"." The NAF may request information on the availability of security features using a Security Features Request element or parameter. The element may contain a semicolon-separated list of security features that are available ordered by preference. In accordance with the embodiments, the NAF may request information on the availability of security features using a Security Feature Request AVP. In addition, the AVP can include a 3GPP AV=[RAND, AUTN, XRES, CK, IK]. The Security Feature Request AVP can be of type OctetString. The AVP can contain one or several of the security features requested by the NAF

[0030] If the BSF and the NAF are located within the same operator's network, then a DIAMETER based Zpn reference point can be secured according to NDS/IP. Whereas, if the BSF and the NAF are located in different operators' networks, the DIAMETER based Zpn' reference point between a Zn-Proxy and the BSF can be secured using TLS.

[0031] Thus, another exemplary aspect of the invention is an ability to enhance the Zn/Zn', Zpn/ Zpn', and Zh with the security feature indication(s).

[0032] (3) To the GUSS 20 may be added a new field (not in the BSF field, since that will be stripped off). One exemplary place for the field containing the new element to be added is in the ussType complexType, for example, one can add an "UICC-Features" or more generally a "Security-Features" support field. If the HSS 14 receives the list of NAF-originated prioritized features from the BSF 10, it then populates the Securities-Features support field with the provided feature(s). If appropriate the field can also set a UICC keychoice field, so that the BSF 10 derives the correct application specific key, e.g. Ks_int_NAF.a

[0033] In an exemplary aspect of the invention if the BSF supports the usage of a security feature and the NAF has requested the security feature from the BSF, the BSF can extract a security features element from a bsflnfo element in a subscriber's GUSS and add those security features to a Security Features Response element in the response which are common in the received Security Features request from the NAF and the extracted information from the bsfInfo element. The value of an optional element "securityFeatures" in the element "bsfInfo" indicates a user specific security feature list that a user equipment supports. If a Security Feature element is missing then the security features are not defined, and if there is a list of several values, they are separated by ";".

[0034] The common security features can be added to the Security Features Response element in the order as they appear in the bsfInfo element. If a Security Features element is not defined in the GUSS, or there is no common security feature, the BSF shall add an empty string to the Security Features Response element in the response.
A Security Feature Response AVP can be of a type OctetString. The AVP contains one or several of the security features identified by an HSS. This information can be conveyed to the BSF using a security Features element, such as in the "bsfElement" of the GUSS, and the Security Features received in the request. Further, a field for the Security Features Response element can read, for example, as "element name="securityfeaturesresponse" type="xsd:string" minOccurs="0"."

[0035] Thus, another exemplary aspect of the invention is at least an ability to process the list of desired feature(s) in the HSS 14 and BSF 10.

[0036] Note in this regard that the BSF 10 may only derive one key, although it is within the scope of these exemplary embodiments for the BSF 10 to derive more than one (e.g., it could derive a key for every feature that appears in the prioritized list if the feature is supported).

[0037] (4) The NAF 16 then receives the derived service specific key(s) from the BSF 10 and additionally obtains knowledge of what security level is possible for the communication between the NAF 16 has obtained, and what feature(s) of the smart card 18E the NAF 16 can use. The BSF 10 receives the GUSS and sends part of the GUSS, i.e., the USS to the NAF 16. This USS will contain the security feature information requested by the NAF 16.

[0038] Thus, another exemplary aspect of the invention is the inclusion of additional information which may be passed via fields such as in any of Zn/Zn', Zpn/ Zpn', and Zh, and the processing of this information in the BSF 10 and the NAF16.

[0039] The exemplary embodiments also cover a case where the HLR is used instead of the HSS 14, and where the GUSS 20 is stored on some proprietary external database (e.g., as in Figure 3), so that the BSF 10 simply makes a call to the call to the external GUSS.

[0040] The exemplary embodiments also cover a case where security features of interest are not part of the smart card 18E. For example, the security features may be part of a secure chip (e.g., a payment application contained in a secure chip).

[0041] Based on the foregoing it should be apparent that the exemplary embodiments of this invention provide a method, apparatus and computer program(s) to enhance the operation of the GBA architecture so as to overcome an inherent lack of a defined GBA-smart card profile in the existing GBA or, more generically, the lack of a security feature profile, and furthermore thus avoid having to define and support a new terminal smart card (security feature profile) interface in order to achieve the same goals.

[0042] Figure 6 is a logic flow diagram that illustrates the operation of a method, and a result of execution of computer program instructions, in accordance with the exemplary embodiments of this invention. In accordance with these exemplary embodiments a method performs, at Block 6A, a step of determining at a network application function a list of desired user equipment security features to be used, the security features of the list ordered by preference of the network application function. At Block 6B the list is sent to a database of user security settings via a bootstrapping server function. At Block 6C the network application function receives via the bootstrapping server function a security feature response comprising a security key, derived from information stored in the database, corresponding to a desired security feature contained in the list, thereby informing the network application function of the availability of at least one of the desired security features in the user equipment.

[0043] The method as in the preceding paragraph where security feature response comprises an indication of the security features common to the list, and where the common security features are ordered as derived from the information stored in the database

[0044] The method as in the preceding paragraphs, where the key corresponds to a most preferred security feature, if available, otherwise the key corresponds to a lesser preferred security feature.

[0045] The method as in the preceding paragraphs, where the list is sent to the database of user security settings via a home subscriber server.

[0046] The method as shown in Figure 6, where the database is external to the system that contains the network application function and the bootstrapping server function.

[0047] The method as in the preceding paragraphs, where the database comprises a field for storing supported security features.

[0048] The method as in the preceding paragraphs, where the list contains a single entry, or contains two or more entries.

[0049] The method as in the preceding paragraphs, where the list is sent in a security features request message.

[0050] The method as in the preceding paragraph, wherein the security features request message is sent using an attribute value pair diameter message.

[0051] The various blocks shown in Figure 6 may be viewed as method steps, and/or as operations that result from operation of computer program code, and/or as a plurality of coupled logic circuit elements constructed to carry out the associated function(s).

[0052] The exemplary embodiments also encompass an apparatus that comprises a processor and a memory including computer program code, where the memory and computer program code are configured to, with the processor, cause the apparatus at least to perform, determining at a network application function a list of desired user equipment security features to be used, the security features of the list ordered by preference of the network application function, sending the list to a database of user security settings via a bootstrapping server function, and receiving via the bootstrapping server function a security feature response comprising a security key, derived from information stored in the database, the key corresponding to a desired security feature contained in the list, thereby informing the network application function of the availability of at least one of the desired security features in the user equipment.

[0053] In general, the various exemplary embodiments may be implemented in hardware or special purpose circuits, software, logic or any combination thereof. For example, some aspects may be implemented in hardware, while other aspects may be implemented in firmware or software which may be executed by a controller, microprocessor or other computing device, although the invention is not limited thereto. While various aspects of the exemplary embodiments of this invention may be illustrated and described as block diagrams, flow charts, or using some other pictorial representation, it is well understood that these blocks, apparatus, systems, techniques or methods described herein may be implemented in, as non-limiting examples, hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controller or other computing devices, or some combination thereof.

[0054] It should thus be appreciated that at least some aspects of the exemplary embodiments of the inventions may be practiced in various components such as integrated circuit chips and modules, and that the exemplary embodiments of this invention may be realized in an apparatus that is embodied as an integrated circuit. The integrated circuit, or circuits, may comprise circuitry (as well as possibly firmware) for embodying at least one or more of a data processor or data processors, a digital signal processor or processors, baseband circuitry and radio frequency circuitry that are configurable so as to operate in accordance with the exemplary embodiments of this invention.

[0055] Various modifications and adaptations to the foregoing exemplary embodiments of this invention as defined by the appended claims may become apparent to those skilled in the relevant arts in view of the foregoing description, when read in conjunction with the accompanying drawings.

[0056] For example, while the exemplary embodiments have been described above in the context of the GBA architecture it should be appreciated that the exemplary embodiments of this invention are not limited for use with only this one particular type of system, and that they may be used to advantage in other systems.

[0057] It should be noted that the terms "connected," "coupled," or any variant thereof, mean any connection or coupling, either direct or indirect, between two or more elements, and may encompass the presence of one or more intermediate elements between two elements that are "connected" or "coupled" together. The coupling or connection between the elements can be physical, logical, or a combination thereof. As employed herein two elements may be considered to be "connected" or "coupled" together by the use of one or more wires, cables and/or printed electrical connections, as well as by the use of electromagnetic energy, such as electromagnetic energy having wavelengths in the radio frequency region, the microwave region and the optical (both visible and invisible) region, as several non-limiting and non-exhaustive examples.

[0058] Further, the various names used for the described functions (e.g., NAF, HSS, BSF, etc.), protocol interfaces (e.g., Zn, Zn', Zh, Zpn, Zpn'etc.), service features (e.g., GPL_U, GBA_U, etc.) and elements (e.g., ussType complexType) are not intended to be limiting in any respect, as these various functions, interfaces, service features, elements and the like may be identified by any suitable names.

[0059] Furthermore, some of the features of the various non-limiting and exemplary embodiments of this invention may be used to advantage without the corresponding use of other features. As such, the foregoing description should be considered as merely illustrative of the principles, teachings and exemplary embodiments of this invention, and not in limitation thereof.


Claims

1. A method, characterized in that the method comprises:

determining (6A) at a network application function a list of desired user equipment security features to be used, the security features of the list ordered by preference of the network application function;

sending (6B) the list to a database of user security settings via a bootstrapping server function; and

receiving (6C) by the network application function, via the bootstrapping server function, a security features response comprising a security key, derived from information stored in the database, corresponding to a most preferred security feature contained in the list, if available, otherwise the key corresponds to a lesser preferred security feature, thereby informing the network application function of the availability of at least one of the desired security features in the user equipment.


 
2. The method according to claim 1, where the list is sent to the database of user security settings via a home subscriber server.
 
3. The method according to any preceding claim, where the database is external to the system that contains the network application function and the bootstrapping server function.
 
4. The method according to any preceding claim, where the database comprises a field for storing supported security features.
 
5. The method according to any preceding claim, where the list is sent in a security features request message.
 
6. The method according to claim 5, wherein the security features request message is sent using an attribute value pair diameter message.
 
7. The method according to any of claims 5 to 6, where the security features request message comprises the desired user equipment security features separated by semicolons in their preferred order.
 
8. A non-transitory computer readable medium embodying computer program instructions, characterized in that the computer program instructions executed by at least one processor cause to perform operations comprising:

determining (6A), at a network application function, a list of desired user equipment security features to be used, the security features of the list ordered by preference of the network application function;

sending (6B) the list to a database of user security settings via a bootstrapping server function; and

receiving (6C) by the network application function, via the bootstrapping server function, a security features response comprising a security key, derived from information stored in the database, corresponding to a most preferred security feature contained in the list, if available, otherwise the key corresponds to a lesser preferred security feature, thereby informing the network application function of the availability of at least one of the desired security features in the user equipment.


 
9. The computer readable medium according to claim 8, where the security features response comprises an indication of the security features common to the list, and where the common security features are ordered as derived from the information stored in the database.
 
10. The computer readable medium according to any of claims 8 to 9, where the list is sent to the database of user security settings via a home subscriber server
 
11. The computer readable medium according to any of claims 8 to 10, where the database is external to the system that contains the network application function and the bootstrapping server function.
 
12. An apparatus comprising
at least one processor; and
at least one memory including computer program code, characterized in that the at least one memory and the computer program code are configured, with the at least one processor, to cause the apparatus to at least:

determine (6A), at a network application function, a list of desired user equipment security features to be used, the security features of the list ordered by preference of the network application function;

send (6B) the list to a database of user security settings via a bootstrapping server function; and

receive (6C) by the network application function, via the bootstrapping server function, a security features response comprising a security key, derived from information stored in the database, corresponding to a most preferred security feature contained in the list, if available, otherwise the key corresponds to a lesser preferred security feature, thereby informing the network application function of the availability of at least one of the desired security features in the user equipment.


 
13. The apparatus according to claim 12, comprising means for performing a method according to any of claims 2 to 7.
 


Ansprüche

1. Verfahren, dadurch gekennzeichnet, dass das Verfahren umfasst:

Bestimmen (6A), bei einer Netzwerkanwendungsfunktion, einer Liste von gewünschten zu verwendenden Sicherheitsfunktionen des Benutzergeräts, wobei die Sicherheitsfunktionen der Liste nach Präferenz der Netzwerkanwendungsfunktion geordnet sind;

Senden (6B) der Liste an eine Datenbank der Benutzersicherheitseinstellungen über eine Bootstrapping-Serverfunktion; und

Empfangen (6C), durch die Netzwerkanwendungsfunktion über die Bootstrapping-Serverfunktion, einer Sicherheitsfunktionsantwort, die einen Sicherheitsschlüssel umfasst, der aus in der Datenbank gespeicherten Informationen abgeleitet ist und einer am meisten bevorzugten Sicherheitsfunktion in der Liste entspricht, sofern verfügbar, wobei der Schlüssel andernfalls einer weniger bevorzugten Sicherheitsfunktion entspricht, wodurch die Netzwerkanwendungsfunktion über die Verfügbarkeit von mindestens einer der gewünschten Sicherheitsfunktionen in dem Benutzergerät informiert wird.


 
2. Verfahren nach Anspruch 1, wobei die Liste über einen Heimteilnehmerserver an die Datenbank der Benutzersicherheitseinstellungen gesendet wird.
 
3. Verfahren nach einem der vorhergehenden Ansprüche, wobei sich die Datenbank außerhalb des Systems befindet, das die Netzwerkanwendungsfunktion und die Bootstrapping-Serverfunktion enthält.
 
4. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Datenbank ein Feld zum Speichern von unterstützten Sicherheitsfunktionen umfasst.
 
5. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Liste in einer Sicherheitsfunktionsanforderungsnachricht gesendet wird.
 
6. Verfahren nach Anspruch 5, wobei die Sicherheitsfunktionsanforderungsnachricht unter Verwendung einer Attributwertpaardurchmesser-Nachricht gesendet wird.
 
7. Verfahren nach einem der Ansprüche 5 bis 6, wobei die Sicherheitsfunktionsanforderungsnachricht die gewünschten Sicherheitsfunktionen des Benutzergeräts umfasst, die in ihrer bevorzugten Reihenfolge durch Semikolon getrennt sind.
 
8. Nichtflüchtiges computerlesbares Medium, das Computerprogrammanweisungen verkörpert, dadurch gekennzeichnet, dass die Computerprogrammanweisungen von mindestens einem Prozessor ausgeführt werden, der veranlasst wird, Vorgänge ausführen, die umfassen:

Bestimmen (6A), bei einer Netzwerkanwendungsfunktion, einer Liste von gewünschten zu verwendenden Sicherheitsfunktionen des Benutzergeräts, wobei die Sicherheitsfunktionen der Liste nach Präferenz der Netzwerkanwendungsfunktion geordnet sind;

Senden (6B) der Liste an eine Datenbank der Benutzersicherheitseinstellungen über eine Bootstrapping-Serverfunktion; und

Empfangen (6C), durch die Netzwerkanwendungsfunktion über die Bootstrapping-Serverfunktion, einer Sicherheitsfunktionsantwort, die einen Sicherheitsschlüssel umfasst, der aus in der Datenbank gespeicherten Informationen abgeleitet ist und einer am meisten bevorzugten Sicherheitsfunktion in der Liste entspricht, sofern verfügbar, wobei der Schlüssel andernfalls einer weniger bevorzugten Sicherheitsfunktion entspricht, wodurch die Netzwerkanwendungsfunktion über die Verfügbarkeit von mindestens einer der gewünschten Sicherheitsfunktionen in dem Benutzergerät informiert wird.


 
9. Computerlesbares Medium nach Anspruch 8, wobei die Sicherheitsfunktionsantwort eine Angabe der Sicherheitsfunktionen umfasst, die der Liste gemeinsam sind, und wobei die gemeinsamen Sicherheitsfunktionen so angeordnet sind, wie sie aus den in der Datenbank gespeicherten Informationen abgeleitet werden.
 
10. Computerlesbares Medium nach einem der Ansprüche 8 bis 9, wobei die Liste über einen Heimteilnehmerserver an die Datenbank der Benutzersicherheitseinstellungen gesendet wird.
 
11. Computerlesbares Medium nach einem der Ansprüche 8 bis 10, wobei sich die Datenbank außerhalb des Systems befindet, das die Netzwerkanwendungsfunktion und die Bootstrapping-Serverfunktion enthält.
 
12. Vorrichtung, umfassend
mindestens einen Prozessor; und
mindestens einen Speicher mit Computerprogrammcode, dadurch gekennzeichnet, dass der mindestens eine Speicher und der Computerprogrammcode mit dem mindestens einen Prozessor konfiguriert sind, um die Vorrichtung zu veranlassen, mindestens:

bei einer Netzwerkanwendungsfunktion eine Liste von gewünschten zu verwendenden Sicherheitsfunktionen des Benutzergeräts zu bestimmen (6A), wobei die Sicherheitsfunktionen der Liste nach Präferenz der Netzwerkanwendungsfunktion geordnet sind;

die Liste an eine Datenbank der Benutzersicherheitseinstellungen über eine Bootstrapping-Serverfunktion zu senden (6B); und

durch die Netzwerkanwendungsfunktion über die Bootstrapping-Serverfunktion eine Sicherheitsfunktionsantwort zu empfangen (6C), die einen Sicherheitsschlüssel umfasst, der aus in der Datenbank gespeicherten Informationen abgeleitet ist und einer am meisten bevorzugten Sicherheitsfunktion in der Liste entspricht, sofern verfügbar, wobei der Schlüssel andernfalls einer weniger bevorzugten Sicherheitsfunktion entspricht, wodurch die Netzwerkanwendungsfunktion über die Verfügbarkeit von mindestens einer der gewünschten Sicherheitsfunktionen in dem Benutzergerät informiert wird.


 
13. Vorrichtung nach Anspruch 12, umfassend Mittel zum Durchführen eines Verfahrens nach einem der Ansprüche 2 bis 7.
 


Revendications

1. Procédé, caractérisé en ce que le procédé comprend :

la détermination (6A), dans une fonction d'application de réseau, d'une liste de caractéristiques de sécurité d'équipement utilisateur souhaitées à utiliser, les caractéristiques de sécurité de la liste étant classées par ordre de préférence de la fonction d'application de réseau ;

l'envoi (6B) de la liste à une base de données de paramètres de sécurité d'utilisateur par le biais d'une fonction de serveur d'amorçage ; et

la réception (6C), par la fonction d'application de réseau, par le biais de la fonction de serveur d'amorçage, d'une réponse de caractéristiques de sécurité comprenant une clé de sécurité, dérivée d'informations stockées dans la base de données, correspondant à la caractéristique de sécurité la plus préférée contenue dans la liste, si elle est disponible, sinon, la clé correspond à la caractéristique de sécurité la moins préférée, ce qui permet d'informer la fonction d'application de réseau de la disponibilité d'au moins une des caractéristiques de sécurité souhaitées dans l'équipement utilisateur.


 
2. Procédé selon la revendication 1, où la liste est envoyée à la base de données de paramètres de sécurité d'utilisateur par le biais d'un serveur d'abonné domestique.
 
3. Procédé selon l'une quelconque des revendications précédentes, où la base de données est externe au système qui contient la fonction d'application de réseau et la fonction de serveur d'amorçage.
 
4. Procédé selon l'une quelconque des revendications précédentes, où la base de données comprend un champ pour stocker des caractéristiques de sécurité prises en charge.
 
5. Procédé selon l'une quelconque des revendications précédentes, où la liste est envoyée dans un message de demande de caractéristiques de sécurité.
 
6. Procédé selon la revendication 5, dans lequel le message de demande de caractéristiques de sécurité est envoyé à l'aide d'un message Diameter de paire de valeurs d'attribut.
 
7. Procédé selon l'une quelconque des revendications 5 et 6, où le message de demande de caractéristiques de sécurité comprend les caractéristiques de sécurité d'équipement utilisateur souhaitées séparées par des points-virgules dans leur ordre préféré.
 
8. Support non transitoire lisible par ordinateur intégrant des instructions de programme d'ordinateur, caractérisé en ce que les instructions de programme d'ordinateur exécutées par au moins un processeur provoquent la réalisation d'opérations comprenant :

la détermination (6A), dans une fonction d'application de réseau, d'une liste de caractéristiques de sécurité d'équipement utilisateur souhaitées à utiliser, les caractéristiques de sécurité de la liste étant classées par ordre de préférence de la fonction d'application de réseau ;

l'envoi (6B) de la liste à une base de données de paramètres de sécurité d'utilisateur par le biais d'une fonction de serveur d'amorçage ; et

la réception (6C), par la fonction d'application de réseau, par le biais de la fonction de serveur d'amorçage, d'une réponse de caractéristiques de sécurité comprenant une clé de sécurité, dérivée d'informations stockées dans la base de données, correspondant à la caractéristique de sécurité la plus préférée contenue dans la liste, si elle est disponible, sinon, la clé correspond à la caractéristique de sécurité la moins préférée, ce qui permet d'informer la fonction d'application de réseau de la disponibilité d'au moins une des caractéristiques de sécurité souhaitées dans l'équipement utilisateur.


 
9. Support lisible par ordinateur selon la revendication 8, où la réponse de caractéristiques de sécurité comprend une indication des caractéristiques de sécurité communes à la liste et où les caractéristiques de sécurité communes sont ordonnées telles que dérivées des informations stockées dans la base de données.
 
10. Support lisible par ordinateur selon l'une quelconque des revendications 8 et 9, où la liste est envoyée à la base de données de paramètres de sécurité d'utilisateur par le biais d'un serveur d'abonné domestique.
 
11. Support lisible par ordinateur selon l'une quelconque des revendications 8 à 10, où la base de données est externe au système qui contient la fonction d'application de réseau et la fonction de serveur d'amorçage.
 
12. Appareil comprenant
au moins un processeur ; et
au moins une mémoire comprenant un code de programme d'ordinateur, caractérisé en ce que la ou les mémoires et le code de programme d'ordinateur sont configurés, avec le ou les processeurs, pour contraindre l'appareil au moins :

à déterminer (6A), dans une fonction d'application de réseau, une liste de caractéristiques de sécurité d'équipement utilisateur souhaitées à utiliser, les caractéristiques de sécurité de la liste classées par ordre de préférence de la fonction d'application de réseau ;

à envoyer (6B) la liste à une base de données de paramètres de sécurité d'utilisateur par le biais d'une fonction de serveur d'amorçage ; et

à recevoir (6C), au moyen de la fonction d'application de réseau, par le biais de la fonction de serveur d'amorçage, une réponse de caractéristiques de sécurité comprenant une clé de sécurité, dérivée d'informations stockées dans la base de données, correspondant à la caractéristique de sécurité la plus préférée contenue dans la liste, si elle est disponible, sinon, la clé correspond à la caractéristique de sécurité la moins préférée, ce qui permet d'informer la fonction d'application de réseau de la disponibilité d'au moins une des caractéristiques de sécurité souhaitées dans l'équipement utilisateur.


 
13. Appareil selon la revendication 12, comprenant un moyen pour réaliser un procédé selon l'une quelconque des revendications 2 à 7.
 




Drawing


















REFERENCES CITED IN THE DESCRIPTION



This list of references cited by the applicant is for the reader's convenience only. It does not form part of the European patent document. Even though great care has been taken in compiling the references, errors or omissions cannot be excluded and the EPO disclaims all liability in this regard.

Patent documents cited in the description




Non-patent literature cited in the description