US20160226828A1 - Communicating with a machine to machine device - Google Patents
Communicating with a machine to machine device Download PDFInfo
- Publication number
- US20160226828A1 US20160226828A1 US15/021,876 US201415021876A US2016226828A1 US 20160226828 A1 US20160226828 A1 US 20160226828A1 US 201415021876 A US201415021876 A US 201415021876A US 2016226828 A1 US2016226828 A1 US 2016226828A1
- Authority
- US
- United States
- Prior art keywords
- application
- integrated circuit
- circuit card
- naf
- data object
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1689—Synchronisation and timing concerns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/38—Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
- H04B1/3816—Mechanical arrangements for accommodating identification devices, e.g. cards or chips; with connectors for programming identification devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/029—Firewall traversal, e.g. tunnelling or, creating pinholes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0442—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/061—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/062—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/068—Network architectures or network communication protocols for network security for supporting key management in a packet data network using time-dependent keys, e.g. periodically changing keys
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0853—Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0869—Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0876—Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/166—Implementing security features at a particular protocol layer at the transport layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/02—Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
- H04W12/043—Key management, e.g. using generic bootstrapping architecture [GBA] using a trusted network node as an anchor
- H04W12/0431—Key distribution or pre-distribution; Key agreement
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/08—Access security
- H04W12/084—Access security using delegated authorisation, e.g. open authorisation [OAuth] protocol
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/30—Security of mobile devices; Security of mobile applications
- H04W12/37—Managing security policies for mobile devices or for controlling mobile applications
-
- H04W4/001—
-
- H04W4/005—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/12—Messaging; Mailboxes; Announcements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/12—Messaging; Mailboxes; Announcements
- H04W4/14—Short messaging services, e.g. short message services [SMS] or unstructured supplementary service data [USSD]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/50—Service provisioning or reconfiguring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/70—Services for machine-to-machine communication [M2M] or machine type communication [MTC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/02—Power saving arrangements
- H04W52/0209—Power saving arrangements in terminal devices
- H04W52/0225—Power saving arrangements in terminal devices using monitoring of external events, e.g. the presence of a signal
- H04W52/0229—Power saving arrangements in terminal devices using monitoring of external events, e.g. the presence of a signal where the received signal is a wanted signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/005—Discovery of network devices, e.g. terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/02—Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
- H04W8/04—Registration at HLR or HSS [Home Subscriber Server]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W80/00—Wireless network protocols or protocol adaptations to wireless operation
- H04W80/06—Transport layer protocols, e.g. TCP [Transport Control Protocol] over wireless
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
- H04W88/06—Terminal devices adapted for operation in multiple networks or having at least two operational modes, e.g. multi-mode terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/061—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying further key derivation, e.g. deriving traffic keys from a pair-wise master key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
- H04L63/0838—Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/03—Protecting confidentiality, e.g. by encryption
- H04W12/033—Protecting confidentiality, e.g. by encryption of the user plane, e.g. user's traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/40—Security arrangements using identity modules
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Definitions
- the present invention relates to an integrated circuit card and wireless communications module that are each suitable for use in a machine to machine device.
- M2M devices are often numerous, hard-to-reach, and have constrained capabilities (owing to low cost, small size, low processing power or limited battery life). All of this makes their management, often remote, very complicated. Moreover, M2M devices often need to be managed in a secure manner. For example, they may contain information that is commercially sensitive and/or confidential for the one or more entities that manage and/or own said devices. There is a need to remotely manage them in a secure way, while respecting these constraints.
- the M2M device needs to be able to contact a device management (DM) server in a secure manner. Whilst at the time of manufacture the device may be pre-provisioned with the necessary addresses and URLs to locate this DM server, this requires device suppliers to have knowledge about the device's end users. Furthermore, should the addresses or locations of the DM server change then the M2M devices will require updating to prevent communications from becoming lost or misdirected.
- DM device management
- the M2M device may obtain data from a bootstrapping server function (BSF) so that a shared secret can be established between the M2M device and a network application function (NAF) with which the M2M device is in communication.
- BSF bootstrapping server function
- NAF network application function
- the shared secret may then be used by the M2M device and the NAF to establish secure communication.
- UICC Universal Integrated Circuit Card
- GAA Generic Authentication Architecture
- GBA Generic Bootstrapping Architecture
- GAA Generic Bootstrapping Architecture
- GBA is a standard which enables a shared secret to be derived (bootstrapped) from the existing security association between a mobile network and a SIM card. This involves a network element called a Bootstrapping Server Function (BSF).
- BSF Bootstrapping Server Function
- GBA leverages the security of a SIM card (UICC) to authenticate mobile equipment, and then derive key material for general-purpose applications.
- GBA may be advantageously used to provide high-security to the communication between a client and the server, thus allowing remotely managing, controlling and, in general, communicating with a device in a high security manner.
- GBA (or a GBA-like architecture) is used for enabling a secure communication with the device (which, according to an aspect of the present disclosure, may be an M2M device), said communication being between a server and a client, the client being associated with the device, and wherein this communication is done for managing the device and/or services provided by (or via) the device, thus enabling a secure management of that device and/or the services provided by (or via) the device.
- the device and/or the services provided by (or via) the device can be safely, securely and efficiently managed in a remote manner via a remote server.
- GBA has been developed mainly for securing mobile broadcast (e.g. pay TV and equivalents). Indeed, standards for Multimedia Broadcast Multicast Service (MBMS) rely on GBA. Similarly, Open Mobile Alliance (OMA) Mobile Broadcast Services Enabler Suite (BOAST) smartcard profile relies on GBA. To date, most of the limited number of deployments of GBA in the world has been for mobile broadcast. GBA has also been standardised as an optional feature in conjunction with presence services, and within miscellaneous “federated identity” services (e.g. Liberty Alliance, OpenID). In general, it is understood that GBA has been designed for use with mobile devices, such as mobile phones, laptop, computers, and many of the designed features have been provisioned with this in mind.
- OMA Open Mobile Alliance
- BOAST Mobile Broadcast Services Enabler Suite
- GBA Push A variant of GBA, called “GBA Push”, has been proposed for securing a message between a client and a DM server in the context of OMA Device Management Security.
- the OMA Device Management is specifically designed for management of mobile devices such as mobile phones, tablet, computers, etc.
- TS 102 690 A different recent standard document (TS 102 690) merely mentions, in the context of M2M communications, the use of a standard GBA to secure communications between a device/gateway service layer and a network service layer.
- the service provider can request the user to enter their phone number, send an SMS one-time password to that phone number, and ask the user to read the SMS and enter the password.
- SIM card e.g. PCs, laptops, Wi-fi-only tablets etc.
- GBA relies on a SIM card/UICC in order to work, there has been no interest in using it.
- the OMA Device Management uses GBA Push for securing a message between a client and a DM server, and there is no explanation of how a similar architecture could be used or even modified for managing the device.
- the OMA Device Management is not compatible for use with an M2M device, as discussed above.
- the standard document mentioned above uses a standard GBA to secure communications between a device/gateway service layer and a network service layer.
- the communication is not used for device/service management-related communications, and it is not clear, based on the observations made above, how a similar architecture could be used or even modified for managing the device from the server.
- the OMA Device Management and the standard document are incompatible, and a combination of the GBA Push for OMA Device Management with the standard document is not feasible, as it would result in the wrong device management protocol (i.e. one that is not suitable for M2M devices, particularly simple M2M devices), and some very laborious effort to make the two compatible and delete the elements which are redundant.
- the OMA has defined a lightweight protocol for managing (as well as interacting with) M2M devices and managing services provided by M2M devices (e.g. remote control of attached sensors or machines). This protocol is called LWM2M, which is described in detail at http://technical.openmobilealliance.org/Technical/release_program/lightweightM2M_v1_0.a spx
- CoAP analogous to http
- DTLS coaps
- http http over TLS
- coaps requires a secure association to be provisioned between a device and a network server (DM Server) while providing no strong means to provision such an association from scratch.
- OMA LWM2M Lightweight Machine to Machine Technical Specification Candidate Version 1.0-10 Dec. 2013 (OMA-TS-LightweightM2M-V1_0-20131210-C).
- the User Datagram Protocol (UDP) channel security for [COAP] is defined by the Datagram Transport Layer Security (DTLS) [RFC6347], which is the equivalent of TLS v1.2 [RFC5246] for HTTP and utilizes a subset of the Cipher Suites defined in TLS. (Refers to TLS Cipher Suite registry http://www.iana.org/assignments/tls-parameters/tls-parameters.xml)
- the DTLS binding for CoAP is defined in Section 9 of [CoAP].
- DTLS is a long-lived session based security solution for UDP. It provides a secure handshake with session key generation, mutual authentication, data integrity and confidentiality.
- the keying material used to secure the exchange of information within a DTLS session may be obtained using one of the bootstrap modes defined in Section 5.1.2 Bootstrap Modes of OMA LWM2M.
- the formats of the keying material carried in the LWM2M Security Object Instances are defined in Appendix E.1.1.
- HTTP Digest authentication is defined in RFC 3310 (entitled “Hypertext Transfer protocol (HTTP) Digest Authentication using Authentication and Key Agreement (AKA)”, it can currently be retrieved at http://www.ietf.org/rfc/rfc3310.txt).
- the GAA cluster of specifications TS 33.222 (entitled “Generic Authentication Architecture (GAA); Access to network application functions using Hypertext Transfer Protocol over Transport Layer Security (HTTPS)”) defines a general approach for pre-shared key TLS (TLS-PSK, RFC 4279). This can currently be retrieved at http://www.3gpp.org/ftp/Specs/html-info/33222.htm). For example, see especially Section 5.4.
- 3GPP Specification TS 33.220 defines the components and interfaces that are shown in FIG. 1 . These are further described as:
- the “Network Application Function” is a server-side component of an application that will be secured using GBA.
- BSF, “Bootstrapping Server Function”, 130 is a server-side component, which obtains authentication vectors from the HLR/HSS 140 , and sends a challenge to the mobile device, “UE”, 110 during the GBA protocol. On successful authentication, it derives the shared secret.
- HLR/HSS 140 the “Home Location Register” or “Home Subscriber System” is the existing 3GPP system which stores subscription details and credentials (the K and IMSI) for each SIM card (UICC) issued by a mobile operator. It may be “GBA-aware” (so that it stores details for a GBA user subscription) or may be a legacy component.
- the “User Equipment”, 110 is a mobile device containing a SIM card (UICC).
- the UE 110 supports a client application which communicates with the NAF 122 , as well as a service which interfaces to the UICC, communicates with the BSF 130 , and derives the shared secret before passing it to the client application.
- This service is (somewhat confusingly) called a “GAA Server” in TR 33.905 (entitled “Recommendations for Trusted Open Platforms”, it can currently be retrieved at http://www.3gpp.org/ftp/specs/htmlinfo/33905.htm).
- Ua 150 is the interface between the Mobile Device (UE) 110 and the Network Application Function (NAF) 120 .
- UE Mobile Device
- NAF Network Application Function
- Ub 160 is the interface between the Mobile Device (UE) 110 and the Bootstrapping Server Function (BSF) 130 . This is specified in detail in TS 24.109 (entitled “Bootstrapping interface (Ub) 160 and network application function interface (Ua) 150 ; Protocol details”, it can currently be retrieved at http://www.3gpp.org/ftp/Specs/html-info/24109.htm).
- Zh/Zh′ 180 is the interface between the BSF 130 and the HSS or HLR 140 .
- the Zh 180 interface is used with an HSS 140 that is “GBA Aware”.
- the Zh′ 180 interface is used with a legacy HLR or HSS 140 .
- the Zh and Zh′ 180 interfaces are specified in detail in TS 29.109 (entitled “Generic Authentication Architecture (GAA); Zh and Zn Interfaces based on Diameter protocol; Stage 3”, it can currently be retrieved at http://www.3gpp.org/ftp/Specs/html-info/29109.htm) and TS 29.229 (entitled “Cx and Dx interfaces based on the Diameter protocol; protocol details”, it can currently be retrieved at http://www.3gpp.org/ftp/Specs/html-info/29229.htm).
- GAA Generic Authentication Architecture
- TS 29.229 Entitled “Cx and Dx interfaces based on the Diameter protocol; protocol details”, it can currently be retrieved at http://www.3gpp.org/ftp/Specs/html-info/29229.htm).
- Zn 170 is the interface between the NAF 122 and the BSF 130 : this can use either a Web Services protocol (SOAP over http) or the Diameter protocol (RFC 3588). This is specified in detail in TS 29.109 (see above).
- SOAP over http Web Services protocol
- RRC 3588 Diameter protocol
- GBA-ME GBA-ME
- GBA-U GBA-SIM
- GBA-SIM GBA-ME
- 3G SIM a USIM
- other versions may be used.
- the present disclosure provides a wireless communication module for use in a machine to machine, M2M, device (for example, a UE) comprising an integrated circuit card (for example, a UICC, smartcard etc.) comprising an existing shared secret that is shared between a network data store and the M2M device, wherein the wireless communication module is suitable for coupling to the integrated circuit card and wherein the wireless communication module comprises: a security module implemented in the wireless communication module, the security module being configured to: receive a first data object; and use at least part of the first data object to obtain a second data object from the integrated circuit card; wherein the second data object is derived from the existing shared secret; and wherein the second data object is suitable for deriving security information; and wherein the security information is suitable for use in establishing secure communication between the M2M device and a network application function, NAF.
- M2M machine to machine
- NAF network application function
- the first data object may comprise, for example, data that would enable the M2M device (for example, a user equipment, UE) to derive a shared secret (the security information) that is shared with the NAF.
- This data may comprise a RAND (and optionally also an AUTN), which the M2M device can use to obtain the second data object in order to derive the security information, which may be a new shared secret, such as a Ks_NAF.
- the first data object may additionally also comprise, for example, data that would enable the M2M device to authenticate a bootstrapping server BSF.
- a bootstrapping server BSF For example, it may comprise an AUTN.
- the first data object is not limited to comprising only such material and may comprise one or more additional items, for example Ks-input, which is identified in Annex I of TS 33.220 for 2G GBA (with SIM).
- the second data object is derived from an existing shared secret, wherein the existing shared secret may be shared between a network data store and the M2M device.
- the existing shared secret may be a K that is securely stored on a UICC of the M2M device and on a network data store in an HLR/HSS, and the second data object may comprise a CK and IK, or a Ks, that are derived from the K.
- the existing shared secret may be a Ki and the second data object may comprise Kc.
- the second data object may additionally also comprise, for example, a verification data object that may enable a bootstrapping server (BSF) to authenticate the M2M device.
- BSF bootstrapping server
- it may comprise a RES or SRES.
- the second data object is not limited to comprising only such material and may comprise one or more additional items.
- the security module may be any part of the wireless communication module that can interface with the integrated circuit card and perform the functionality described above.
- the security module may be a GAA server, or it may be only the part of the GAA server that securely interfaces with the integrated circuit card. It may also terminate one or more communications interfaces, for example Ub, and/or it may be configured to receive data from one or more applications implemented on the M2M device.
- the security module By implementing the security module on the wireless communication module, secure, sensitive parts of the integrated circuit card may be accessed without exposing those parts to other parts of the M2M device, for example the application logic. Therefore, the security of the integrated circuit card can be maintained and the security information that is suitable for use in establishing secure communication between the M2M device and the NAF may still be derived (for example, by carrying out a generic bootstrapping architecture, GBA, process in order to obtain a new shared secret). Consequently, fraudulent parties may be prevented from impersonating the M2M device, which can protect the cellular network from fraudulent activities.
- GBA generic bootstrapping architecture
- the wireless communication module may be configured to receive from an application on the M2M device an identifier of the NAF (for example, NAF_Id).
- the application may be, for example, a DM client on the M2M device, or any other application/module/software on the M2M device.
- the identifier of the NAF may be received from the application on the M2M device as a parameter to a command.
- the command may be any suitable form of command for passing data to the security module, for example it may be an AT command.
- Using an AT command may be particularly advantageous since the wireless communications module may already have functionality to support AT commands and therefore require minimal modification in order to implement the security module on the wireless communication module.
- the security module may be configured to use at least the identifier of the NAF and at least part of the second data object (for example, CK and IK, or Ks, or Kc) to derive the security information (for example, Ks_NAF) and return the security information to the application.
- the security module may further use at least part of the first data object (for example, RAND) to derive the security information.
- the security information may be returned to the application as an output to the AT command that passed the identifier of the NAF to the security module.
- the security module may be configured to receive the first data object via an interface (for example, Ub) with a bootstrapping server function, BSF.
- the interface may be a direct interface between the security module and the BSF, or it may be tunneled via a different interface to the M2M device, or there may be one or more intermediate elements between the security module and the BSF.
- the wireless communication module may therefore be configured to terminate at least one interface, for example Ub, which may utilise any suitable protocol, for example http.
- the security module may be configured to use at least part of the second data object (for example RES or SRES) to protect communication with the BSF via the interface.
- the security module may alternatively be configured to receive the first data object from the application on the M2M device.
- the application may terminate the Ub interface, or an interface over which Ub is tunneled, or a GBA push interface Upa, or an interface over which Upa is tunneled.
- the application may therefore be configured to terminate the at least one interface, ensuring that such interface functionality, such as IP and http communications functionally, may be kept away from the security module and wireless communication module.
- insecure interface termination elements may be kept away from the integrated circuit card, thereby even further improving security and further simplifying the configuration of the wireless communication module.
- the wireless communication module may be configured to receive the first data object from a further application on the M2M device.
- the further application may be any application/module/software on the M2M device.
- the application may be a device management (DM) client and the ‘further application’ may be an interface application implemented on the application processor of the M2M device.
- DM device management
- the first data object may be at least part of a push information object (for example, a GPI).
- a push information object for example, a GPI
- the wireless communication module may be used to implement a GBA-push process.
- the wireless communication module may comprise a modem or a baseband processor.
- the present disclosure also provides a machine to machine, M2M, device (for example, a UE) for secure communication with a network application function, NAF, the M2M device comprising: an integrated circuit card (for example, a UICC) comprising an existing shared secret that is shared between a network data store and the M2M device; and the wireless communication module described above, wherein the wireless communication module is coupled to the integrated circuit card.
- M2M machine to machine
- NAF network application function
- the security module on the wireless communication module may interface with the secure parts of the integrated circuit card, thereby enabling the integrated circuit card to be used in the derivation of security information whilst still maintaining the security of the integrated circuit card.
- the M2M device may further comprise an application coupled to the security module, wherein the application is configured to provide an identifier of the NAF (for example, NAF_Id) to the security module.
- the application may be, for example, a device management (DM) client, or any other application/software/module on the M2M device.
- the identifier of the NAF may be provided by the application to the security module by any suitable means, for example using a command such as an AT command.
- the security module may be further configured to use at least the identifier of the NAF and at least part of the second data object (for example, the CK and IK, or the Ks, or the Kc) to derive the security information and return the security information to the application.
- the security module may additionally use at least part of the first data object, for example the RAND, to derive the security information.
- the application may be further configured to provide the first data object to the security module.
- the application may use any suitable command, such as an AT command, in order to provide the first data object.
- the M2M device may comprise a further application coupled to the security module, wherein the further application is configured to provide the first data object to the security module.
- the further application may be any application/module/software on the M2M device.
- the application may be a device management (DM) client and the ‘further application’ may be an interface application implemented on the application processor of the M2M device.
- DM device management
- the security module may also be configured to obtain a verification data object (for example, RES or SRES) and the application and/or further application (or any other application on the M2M device) may be configured to receive the verification data object, wherein the verification data object may be used for verification of the M2M device (for example, by being used to protect communication between the application or further application and a BSF).
- the security module may use the verification data object via an interface that it terminates, for example to protect communication with a BSF.
- the first data object may be at least part of a push information object, for example a GPI response.
- the M2M device may be used as part of a GBA-push process.
- the present disclosure also provides an integrated circuit card (for example, a UICC, smart card, chip card, subscriber identity module, SIM, IP multimedia services identity module, ISIM, etc.) for use in a machine to machine, M2M, device (for example, a UE), wherein the integrated circuit card comprises: an integrated circuit card application; an existing shared secret that is shared between a network data store and the M2M device, wherein the existing shared secret is accessible by the integrated circuit card application; and a security module coupled to the integrated circuit card application, the security module being configured to: use at least part of a first data object to obtain a second data object from the integrated circuit card application; wherein the second data object is derived from the existing shared secret; and wherein the second data object is suitable for deriving security information; and wherein the security information is suitable for use in establishing secure communication between the M2M device and a network application function, NAF.
- an integrated circuit card for example, a UICC, smart card, chip card, subscriber identity module, SIM, IP multimedia services identity module,
- the integrated circuit card application may be any functionality on the integrated circuit card that has access to the existing shared secret and which may be used to obtain the second data object.
- the integrated circuit card application may be, for example, a USIM application that is configured to run an Authentication and Key Agreement (AKA) algorithm, as explained in 3GPP TS33.102, or a SIM application.
- AKA Authentication and Key Agreement
- the first data object may comprise, for example, data that would enable the M2M device (for example, a user equipment, UE) to derive a shared secret (the security information) that can be used to establish secure communication with the NAF.
- This data may comprise a RAND (and optionally also an AUTN), which the M2M device can use to obtain the second data object in order to derive the security information, which may be a new shared secret, such as a Ks_NAF.
- the first data object may additionally also comprise, for example, data that would enable the M2M device to authenticate a bootstrapping server BSF.
- a bootstrapping server BSF For example, it may comprise an AUTN.
- the first data object is not limited to comprising only such material and may comprise one or more additional items.
- the second data object is derived from an existing shared secret, wherein the existing shared secret may be shared between a network data store and the M2M device.
- the existing shared secret may be a K that is securely stored on a UICC of the M2M device and on a network data store in an HLR/HSS, and the second data object may comprise a CK and IK, or a Ks, that are derived from the K.
- the existing shared secret may be a Ki and the second data object may comprise Kc.
- the second data object may additionally also comprise, for example, a verification data object that may enable a bootstrapping server (BSF) to authenticate the M2M device.
- BSF bootstrapping server
- it may comprise a RES or SRES.
- the second data object is not limited to comprising only such material and may comprise one or more additional items.
- the security module may be any part of the integrated circuit card that can interface with the integrated circuit card application and perform the functionality described above.
- the security module may be an applet on the integrated circuit card, the applet functioning as a GAA server, or the part of the GAA server that interfaces with the secure parts of the integrated circuit card. It may additionally terminate one or more communications interfaces, for example Ub, Ua, Upa, and/or it may be configured to receive data from one or more applications implemented on the M2M device.
- the security module By implementing the security module on the integrated circuit card, secure, sensitive parts of the integrated circuit card may be accessed without exposing those parts of the integrated circuit card to other parts of the M2M device, for example the application logic. Therefore, the security of the integrated circuit card can be maintained and the security information that is suitable for use in establishing secure communication between the M2M device and the NAF still be derived (for example, by carrying out a generic bootstrapping architecture, GBA, process in order to obtain a new shared secret). Consequently, fraudulent parties may be prevented from impersonating the M2M device, which can protect the cellular network from fraudulent activities.
- GBA generic bootstrapping architecture
- the security module may be configured to: obtain an identifier of the NAF (for example, a NAF_Id); and use at least the identifier of the NAF and the second data object (for example, the CK and IK) to derive the security information (for example, a Ks_NAF).
- an identifier of the NAF for example, a NAF_Id
- the second data object for example, the CK and IK
- the security module may additionally use at least part of the first data object (for example, the RAND) to derive the security information.
- the first data object for example, the RAND
- the security module may be configured to obtain the identifier of the NAF by obtaining it from a first location on the integrated circuit card. For example, the identifier of the NAF may have been written to a location, such as an input/output buffer or file etc, on the integrated circuit card and the security module may read the identifier from that location.
- the security module may be configured to: monitor the first location on the integrated circuit card; and obtain the identifier of the NAF when a change to the first location is identified.
- the security module may simply receive the identifier of the NAF.
- an application on the M2M device may pass the identifier of the NAF to the security module using, for example, GBA-U commands (but directed towards the security module, rather than towards the integrated circuit application which generates the second data object) or any other suitable commands/protocols/procedure etc. This may be done without any action previously having been performed by the security module (i.e. the security module need not previously have requested the identifier of the NAF).
- the security module may be configured to obtain the first data object from the first location on the integrated circuit card.
- the first data object may have been written to the same location on the integrated circuit card as the identifier of the NAF (either at the same time or at a different time to when the identifier of the NAF is written to the location) and the security module may read the first data object from that location.
- the security module may be configured to: monitor the first location on the integrated circuit card; and obtain the first data object when a change to the first location is identified.
- the security module may simply receive the first data object.
- an application on the M2M device may pass the first data object to the security module using, for example, GBA-U commands or any other suitable commands/protocols/procedure etc.
- Both the identifier of the NAF and the first data object may be ‘received’ by the security module in this way, or just one of the identifier of the NAF and the first data object may be received in this way with the other being ‘obtained’ in the way described above, or they may both be ‘obtained’ in the way described above. This may be done without any action previously having been performed by the security module (i.e. the security module need not previously have requested either the identifier of the NAF or the first data object).
- the security module may be configured to obtain the first data object from a second location on the integrated circuit card.
- the identifier of the NAF may be obtained from a first location on the integrated circuit card, where it has been written, and the first data object may be obtained from a different, second location on the integrated circuit card, where it has been written.
- the security module may be configured to: monitor the second location on the integrated circuit card; and obtain the first data object when a change to the second location is identified.
- the security module may be configured to write the security information to a third location on the integrated circuit card. In this way, it may be possible for an application on the M2M device subsequently to read the security information from the third location, such that the application may use the security information to establish secure communication with the NAF.
- the security module may be further configured to: use at least part of the first data object (for example, RAND and/or AUTN) to obtain a verification data object (for example, RES or SRES) from the integrated circuit card application; and write the verification data object to the third location on the integrated circuit card.
- the verification data object may be written to the third location either at the same time or at a different time to when the security information is written to the third location.
- the security module may be further configured to: use at least part of the first data object (for example, the RAND and/or AUTN) to obtain a verification data object (for example, RES or SRES) from the integrated circuit card application; and write the verification data object to a fourth location on the integrated circuit card.
- the security information may be written to a third location on the integrated circuit card and the verification data object may be written to a different, fourth location on the integrated circuit card.
- the verification data object may be used to verify the M2M device e.g. verify the identity of the device or an application on the device.
- a bootstrapping server may read the verification data object from the third or fourth location and use it to verify the M2M device, or an application (for example an interface application, or a DM client or any other application) on the M2M device may read the verification data object from the third or fourth location, such that it can be used to protect communication with a device that can perform verification (for example, a BSF or any other suitable server/component/function).
- BSF bootstrapping server
- the security module may output the security information and/or verification data to an application on the M2M device (or to a device, for example a BSF).
- GBA-U commands or any other suitable command/protocol/procedure may be used to output one or both of the security information and verification data object from the security module.
- the first location may be part of a phone book or part of a store of SMS messages or part of a file buffer; the second location is part of the phone book or part of the store of SMS messages or part of a file buffer; the third location is part of the phone book or part of the store of SMS messages or part of a file buffer; and the fourth location is part of the phone book or part of the store of SMS messages or part of a file buffer.
- the first data object and/or the identifier of the NAF may be written to a first location and the security information and/or verification data object may also be written to the first location.
- Two or more locations may alternatively be used in a similar way, wherein one location may be read by the security module to receive input data and the same location may be used by the security module to write output data.
- three or five or more different locations on the integrated circuit card may be used to carry out the process(es) of the present disclosure (for example, where multiple different locations may be available for the first data object etc).
- the present disclosure also provides a machine to machine, M2M, device (for example, a UE) for secure communication with a network application function, NAF, the M2M device comprising the above disclosed integrated circuit card.
- M2M machine to machine
- NAF network application function
- the security module may be configured to terminate one or more interfaces (for example Ub, Upa, Ua etc.) and/or to interface with one or more applications on the M2M device.
- interfaces for example Ub, Upa, Ua etc.
- the M2M device may further comprise: an application (for example, a device management client, or any other application) that is coupled to the integrated circuit card and is configured to: write an identifier of the NAF to a first location on the integrated circuit card.
- an application for example, a device management client, or any other application
- the application may be configured to write the identifier of the NAF to the first location on the integrated circuit card using a command.
- the command may be any suitable form of command for passing data to the security module, for example it may be an AT command.
- an AT command may be particularly advantageous since the M2M device may already have functionality to support AT commands to communicate with the integrated circuit card (for example to write data to the phone book or SMS store etc.) and therefore require minimal modification in order to implement the security module on the wireless communication module.
- Existing AT commands may be repurposed to write the NAF to the first location, or custom AT commands may be used.
- the application may be configured to pass the identifier of the NAF to the security module by means of any other suitable commands/protocols/procedures, for example GBA-U commands.
- the application may be configured to obtain the security information from a third location on the integrated circuit card.
- the application may be further configured to obtain the security information from the third location using a command.
- the command may be any suitable form of command for passing data to the security module, for example it may be an AT command.
- the application may be configured to: monitor the third location on the integrated circuit card; and obtain the security information when a change to the third location is identified.
- the application may be further configured to write the first data object to the first location on the integrated circuit card (i.e. to the same location as the identifier of the NAF).
- Any suitable commands/protocols/procedures may be used, for example AT commands or GBA-U commands etc.
- the application may be further configured to obtain a verification data object (for example RES or SRES) from the third location on the integrated circuit card (i.e. the same location as the security information), or from a fourth location on the integrated circuit card.
- a verification data object for example RES or SRES
- any suitable commands/protocols/procedures may be used, for example AT commands or GBA-U commands etc.
- the M2M device may further comprise a further application configured to write the first data object to a second location on the integrated circuit card.
- the further application may be an interface application that is configured to terminate an interface over which the first data object is transmitted.
- the further application may be further configured to obtain a verification data object (for example RES or SRES) from the third location on the integrated circuit card, or from a fourth location on the integrated circuit card.
- a verification data object for example RES or SRES
- the application disclosed above may be a device management client, or a plug-in to a device management client, or a proxy to a device management client. Additionally, or alternatively, the further application may be a device management client, or a plug-in to a device management client, or a proxy to a device management client.
- any of the M2M devices disclosed above may further comprise a device management client, wherein the device management client comprises the application (for example, as a plug-in component) and additionally, or alternatively, the further application (for example, as a plug-in component).
- the device management client may, for example, be implemented on the application processor of the M2M device, or in any other suitable location on the M2M device, for example on a wireless communications module.
- any of the M2M devices disclosed above may further comprise a device management client, wherein the application is configured to operate as a proxy to the device management client. Additionally, or alternatively, the further application may operate as a proxy to the device management client.
- the application and/or further application may, for example, be implemented on the application processor of the M2M device, or in any other suitable location on the M2M device, for example on a wireless communications module
- the application and/or further application may, in addition or as an alternative to any of the above possibilities, be configured to operate as a proxy to the security module. It may be configured to terminate one or more interfaces (for example a Ub interface, Upa interface, Ua interface etc.) and function as an interface application, or it may be configured to sit between the security module and an application/module that terminates one or more interfaces.
- interfaces for example a Ub interface, Upa interface, Ua interface etc.
- the application may be a DM client or a plug-in to the DM client, and the further application may be separately implemented on the application processor as a proxy to the DM client and/or security module.
- the application may be a proxy to the DM client and the further application may be a proxy to the security module.
- both the application and the further application may be plug-ins implemented in a DM client.
- the further application may not be implemented at all, and the application may be the DM client, or a plug-in to the DM client, or a proxy to the DM client and/or a proxy to the security module.
- the methods described above may be implemented as a computer program comprising program instructions to operate a computer.
- the computer program may be stored on a computer-readable medium.
- the computer system may include a processor such as a central processing unit (CPU).
- the processor may execute logic in the form of a software program.
- the computer system may include a memory including volatile and non-volatile storage medium.
- a computer-readable medium may be included to store the logic or program instructions.
- the different parts of the system may be connected using a network (e.g. wireless networks and wired networks).
- the computer system may include one or more interfaces.
- the computer system may contain a suitable operation system such as UNIX, Windows® or Linux, for example.
- FIG. 1 shows a schematic diagram of components and interfaces with which GBA may be used
- FIG. 2 shows a schematic diagram of an example of an architecture that can be used in accordance with the present invention, in particular when GBA is used;
- FIG. 3 shows an exemplary flow diagram of communications exchanged within the exemplary architecture of FIG. 2 ;
- FIG. 4 shows a schematic diagram of an example of an alternative architecture that can be used in accordance with the present invention, in particular when generic bootstrapping architecture (GBA) is used;
- GBA generic bootstrapping architecture
- FIG. 5 shows a schematic diagram of an example of an architecture with example communication exchange steps that can be used, in particular, with GBA;
- FIG. 6 shows an exemplary flow diagram of communications exchanged within the exemplary architecture of FIG. 5 ;
- FIG. 7 shows a schematic diagram of an example alternative architecture utilising push messages
- FIG. 8 shows an exemplary flow diagram of communication exchanged within the exemplary architecture of FIG. 7 ;
- FIG. 9 shows a schematic diagram of an example architecture that can be used in accordance with the present invention, wherein a GAA server 114 ′ is implemented within a wireless communications module 118 on a UE 110 ;
- FIG. 10 shows a schematic diagram of an example architecture that can be used in accordance with the present invention, wherein a security module 114 b is implemented within a wireless communications module 118 on a UE 110 ;
- FIG. 11 shows a schematic diagram of a further example architecture that can be used in accordance with the present invention, wherein a security module 114 b is implemented within a wireless communications module 118 on a UE 110 ;
- FIG. 12 shows a schematic diagram of an example architecture that can be used in accordance with the present invention, wherein a GAA server 114 ′ is implemented within a UICC 112 on a UE 110 ;
- FIG. 13 shows a schematic diagram of an example architecture that can be used in accordance with the present invention, wherein a security module 114 b is implemented within a UICC 112 on a UE 110 ; and
- FIG. 14 shows a further schematic diagram of an example architecture that can be used in accordance with the present invention, wherein a security module 114 b is implemented within a UICC 112 on a UE 110 .
- a device may communicate securely with a server.
- the device may be a Machine to Machine (M2M) device, or an equivalent device (e.g. a device, a generic or specific communication device, including one or more modules capable of providing M2M capabilities).
- M2M Machine to Machine
- an equivalent device e.g. a device, a generic or specific communication device, including one or more modules capable of providing M2M capabilities.
- GBA Generic Authentication Architecture
- GBA Generic Bootstrapping Architecture
- GBA Generic Bootstrapping Architecture
- a network e.g. a mobile network
- a card e.g. a SIM card or UICC
- the method can advantageously use the GBA to derive the security elements (e.g. a shared secret) to enable the client associated with the device to securely communicate with the server.
- the device could be advantageously adapted so that it is associated with the card and the client and uses GBA to derive the security elements for secure communication with the server.
- GBA is standards-based, the impact of the required modifications may be relatively limited and the overall solution would be very attractive (in particular, to M2M users/owners as well as to network operators and/or service providers).
- M2M devices are different from the mobile devices that OMA Device Management was originally designed for (such as mobile phones, laptops, computers, as explained in “Details of 3GPP standards and technologies used to implement aspects of the method and system” above), and use of GBA (in any of its versions) with M2M is not a straightforward implementation.
- GBA Push A variant of GBA, called “GBA Push” has been proposed for securing a message between a client and a DM server in the context of OMA Device Management Security, and is identified in “Details of 3GPP standards and technologies used to implement aspects of the method and system” above. It is noted that, although GBA Push and GBA are related, it is not trivial to use GBA in place of GBA Push (and vice versa). This is because these two architectures have some important differences. First, in GBA the device has to contact the BSF in order to request a RAND and AUTN (and use this to derive a Ks_local). To the contrary, in GBA Push, the client does not have to talk to the BSF—it just receives a message prepared by the BSF.
- GBA Push there is no need to modify the Ua interface.
- either the Ua interface has to be modified in some way to carry the push message or a new interface must be added. Accordingly, GBA Push cannot be used with an arbitrary application protocol.
- the application protocol has to be “GBA aware” in some sense (e.g. so it can carry the GBA Push Info (GPI) messages).
- GBA Push the Ks_local can be used to derive several different Ks_NAFs (e.g. for different application servers).
- GBA Push only one NAF can use/rely on the Ks_local. Accordingly, GBA Push is slightly less efficient than GBA.
- the GBA Push Info is described in 3GPP TS 33.223, Section 5.2.1.
- the encoding is defined in Section 5.3.5. See in particular table 5.2.1.1 and FIG. 5.3.5.1 in 3GPP TS 33.223 V12.0.0 (2013-12) that may be found:
- M2M devices are very constrained in their capabilities (e.g. computation, communication, life, etc.) and these constraints make their management more complex and harder to implement in a simple manner.
- GBA requires a number of interfaces and components which are hard to implement with M2M (for examples and description of these interfaces and components, please refer to the sections below).
- these interfaces and components need to be modified or otherwise adapted so they can properly and effectively work with M2M devices.
- the standard Ub interface uses HTTP and HTTP digest.
- GBA was designed having mobile devices, such as mobile phones, in mind. So, since all phones use HTTP, and therefore all have an HTTP stack, then HTTP was the easiest protocol to be used for the Ub interface.
- M2M devices For example, according to the Lightweight M2M (LWM2M) protocol (see below for more details), a protocol called CoAP is used in M2M devices, precisely because it is a simpler/more efficient alternative to HTTP.
- this Ub interface could be tunneled, for example via another interface (e.g. the Ua), so that the system may be simplified.
- GBA is not widely used.
- use of GBA requires support in the device, in the network (e.g. BSF—see below) and by individual services (which may be deployed, for example, by a mobile operator or by other parties).
- BSF network
- individual services which may be deployed, for example, by a mobile operator or by other parties.
- mobile broadcast mobile broadcast support is also required in the SIM card (as it uses GBA-U).
- GBA-U mobile broadcast
- GBA (or a GBA-like architecture, for example a variant and/or a suitably modified version) may be used for enabling a secure communication with a device (in particular, an M2M device).
- the communication may be between a server and a client, the client being associated with the device, and wherein this communication may be done for managing the device and/or services provided by (or via) the device.
- This enables a secure management of that device and/or the services provided by (or via) the device and creates a new and innovative combination which produces a synergistic effect and provides many technical advantages.
- the GBA will provide a higher and very strong level of security to the device/service management-related communications with M2M devices, which is a very critical and important point.
- an M2M service provider does not have the cost/complexity of setting up their own security solutions, as the solution can be provided directly by the mobile operator implementing the solution described in this application.
- a service provider does not have to set up a PKI, issue certificates, pre-load keys to devices and so on.
- the method may further comprise that the provision of the secure communication is based on a security association between a network and a card, the card being associated with the device.
- the card may be embedded within the device (e.g. soldered in the device) or provided to the device by way of a suitable connection.
- the card may be associated in any suitable manner so that there is an association between the card and the device.
- the network can be a mobile network, or any equivalent network, while the card can be a SIM card, a UICC, or any card associated with the network.
- the method may further comprise deriving a shared secret based on the security association.
- the method may further comprise providing the client and the server with the shared secret so as to enable the secure communication.
- the server may be a server adapted to manage the device (e.g. remotely manage the device, send updates, transfer information to and from the device, control device parameters, etc.) and to manage services provided by the device (e.g. device is used to switch on/off and/or dim streetlights).
- the shared secret may be a key and/or a similar security arrangement.
- the method may further comprise authentication between the client and the server.
- the authentication may be based on the shared secret.
- the authentication may be performed via an authentication component.
- the authentication may be performed by means of a first authentication between the client and an authentication component and of a second authentication between the server and the authentication component.
- the client and the server may be independently authenticated by an authentication component.
- both the client and the server may share the shared secret.
- the authentication may be performed by means of the shared secret.
- the shared secret may be shared between the client and the server.
- the shared secret may be shared between the client, the server and the authentication component.
- the authentication may implicitly result from the client, the server and the authentication component sharing the shared secret.
- the method may further comprise deriving a second shared secret based on the shared secret, the second shared secret being shared between the client and the server. This second shared secret may then be used for the authentication as discussed above.
- the obtainment of the shared secret at the client may be based on an identifier associated with a server authentication component.
- the shared secret may be obtained at the server from the authentication component.
- the obtainment of the shared secret at the server is obtained based on an identifier associated with the shared secret.
- the identifier is generated by the authentication component.
- the identifier may be provided to the server by the client.
- the OMA LWM2M protocol for managing (as well as interacting with) M2M devices and managing services provided by M2M devices may be used. However, other device management protocols may be used or the method and system may be extended to other M2M services (for example, securing the delivery of binary SMS).
- GBA could be advantageously used in conjunction with LWM2M in order, for example, to establish keys for LWM2M, whilst at the same time LWM2M and the procedures specified therein could be used to transport and/or carry any message and/or communication which relates to GBA. For example, this can be done by using specific tunnels (e.g. Ub) or GBA
- Push Info (GPI) messages The use of GBA together with LWM2M creates a new and innovative combination which produces a synergistic effect and provides many technical advantages. For example, it allows addressing many more low-end devices, such as M2M devices. This is due, for example, to the use of a device management protocol which is properly optimized for M2M, rather than one repurposed from the consumer space (e.g. OMA DM v1, TR-069). This optimised protocol can be used to transport GBA messages—avoiding the need for a separate HTTP stack—and to manage GBA parameters (identifiers for device and application, lifetimes, key derivation methods, etc.). Further, when accompanied by appropriate network systems to provide automated routing and discovery (e.g.
- GBA and LWM2M advantageously combine to eliminate the cost of pre-loading settings and credentials, so facilitating low cost devices.
- GBA with LWM2M securely supports low-cost devices which are unattended or have no UI, where there is no option for user interaction (such as entry of PIN), and where there is no user who is able to notice and recover from authentication failures (spoof server, spoof client or Man In The Middle),
- GBA works without requiring any public key or certificate processing on the device. This is particularly advantageous on simpler devices, as these devices may have minimal public key support or implementation errors when handling certificates.
- the shared secret may be used as a key in the LWM2M standard.
- the LWM2M standard procedures may be used for transmission and/or reception of any communication used within the GBA.
- the shared secret may be used as a key or shared secret within the DTLS protocol (identified in “Details of 3GPP standards and technologies used to implement aspects of the method and system” above), either when the LWM2M is used in conjunction with a DTLS protocol or when the DTLS is used alone or in conjunction with one or more other protocols.
- the secure communication may further be a data communication.
- the data communication may be an SMS-based communication.
- An SMS binding may be used.
- the data communication may be a UDP-based communication.
- the method may further comprise encrypting a communication over the secure data communication.
- the encryption may be performed using an Advanced Encryption Standard.
- the SMS-based communication may be further secured by use of an Over-The-Air (OTA) protocol, e.g. a Secured Packet Structure for UICC Applications. This protocol is defined in ETSI standard 102.225.
- OTA protocol may be arranged to secure the communication with the identification card associated with the device.
- the OTA protocol can be used advantageously in conjunction with the LWM2M standard, in which the LWM2M can be used to manage parameters, keys and similar elements for the OTA protocol.
- OTA is a solution designed for SIM card security, as it has some real technical challenges if used for LWM2M.
- software written for SIM cards and SIM OTA servers to support ETSI standard 102.225 a similar software does not exist in the device management space for devices (and, in particular, not for OMA DM clients and servers).
- M2M device manufacturers do not have a code-base that they can easily adapt for use with these devices.
- the ETSI standard 102.225 does not explain how to set up the keys and parameters for use with the standard. It simply assumes the keys and parameters are all pre-loaded and known to both SIM card and OTA server. Although this assumption is acceptable in the SIM space—because SIM cards can be securely provisioned with the necessary keys at the manufacturing stage, and SIM manufacturers have interfaces with operators for communicating the necessary keys and parameters—the same cannot be said about LWM2M, where that infrastructure does not exist.
- the LWM2M standard procedures may be used to manage parameters and/or keys used in the OTA protocol.
- the method may further be used in conjunction with LWM2M, as described above.
- GBA can be used in conjunction with SMS so that the GBA can be employed to establish keys for secure SMS-based communications (e.g. SMS), while at the same time SMS-based communications can be used to transport or carry messages associated with GBA—for example, carry GBA Push Info (GPI) messages.
- SMS-based communications together with GBA creates a new and innovative combination which produces a synergistic effect and provides many technical advantages.
- GBA can be used to establish the shared keys that are needed to protect SMS, while using SMS as a transport to deliver the necessary GBA messages.
- SMS used to deliver the GBA messages can themselves be integrity protected (and partly encrypted) using the keys that will be established by GBA, so at no point is there a reliance on not secure SMS.
- This synergistic combination allow use of SMS as the sole bearer for M2M traffic, something which would not otherwise be possible, except by preloading the keys needed to secure SMS traffic, or switching to a different protocol to negotiate these keys: both of these alternatives would add complexity and cost.
- the GBA may be used to establish keys for secure transmission and/or delivery of SMS.
- SMS-based communications may be used for transmission and/or reception of any communication used within the GBA, noting that these communications may themselves be protected using the keys that will be derived in GBA.
- the server may further comprise a server authentication component.
- the client may further comprise a client authentication component.
- the server authentication component may perform authentication of the server with the authentication component.
- the client authentication component may perform authentication of the client with the authentication component.
- the authentication component may be a Bootstrapping Server Function (BSF)
- the server authentication component may be a Network Application Function (NAF)
- the client authentication component may be a GAA Server.
- BSF Bootstrapping Server Function
- NAF Network Application Function
- the method may further comprise communicating between the server and the client for determining security parameters to be used for the secure communication, wherein the communicating is performed by using a device management protocol (for example, the GBA).
- the secure communication may be for use in the device management protocol.
- a method of enabling secure communication for use in a device and/or service/application management protocol the secure communication being between a server and a client, the client being associated with a device, the secure communication requiring security parameters to be agreed between the client and server, the method comprising communicating between the server and client to agree the security parameters, wherein the communicating is performed by using the device management protocol.
- the device can be an M2M device.
- an apparatus, system, module or network for enabling secure communication with a device, said communication being between a server and a client, the client being associated with the device.
- the apparatus, system, module or network may further include means for performing any one of the steps or features of the methods described above.
- the device can be an M2M device.
- an apparatus, system, module or network for enabling secure communication for use in a device and/or service/application management protocol, the secure communication being between a server and a client, the client being associated with a device, the secure communication requiring security parameters to be agreed between the client and server, the method comprising communicating between the server and client to agree the security parameters, wherein the communicating is performed by using the device management protocol.
- the apparatus, system, module or network may further include means for performing any one of the steps or features of the methods described above.
- the device can be an M2M device.
- a client including any means, features or functionalities corresponding to the means, features or functionalities relative to the client as recited by any one of the methods described above.
- a server including any means, features or functionalities corresponding to the means, features or functionalities relative to the server as recited by any one of the methods described above.
- a device comprising a card and a client, wherein the device is arranged for enablement of secure communication, the secure communication being between a server and the client, wherein the provision of the secure communication is based on a security association between a network and the card.
- the client may comprise any means, features or functionalities corresponding to the means, features or functionalities relative to the client as recited by any one of the methods described above.
- the device can be an M2M device.
- a server arranged for enablement of secure communication with a device, the secure communication being between the server and a client associated with the device, wherein the provision of the secure communication is based on a security association between a network and a card, the card being associated with the device.
- the server may comprise any means, features or functionalities corresponding to the means, features or functionalities relative to the server as recited by any one of the methods described above.
- the device can be an M2M device.
- a system for enabling secure communication with a device said communication being between a server and a client, the client being associated with the device, wherein the provision of the secure communication is based on a security association between a network and a card, the card being associated with the device.
- the device can be an M2M device.
- a method of enabling secure data communication with a device the communication being between a server and a client associated with the device, wherein the security of the communication is enabled by a bootstrapped secret.
- the device can be an M2M device.
- the security protocol may be used to secure the data communication.
- the bootstrapped secret may be used to obtain the security elements used for the secure protocol.
- the bootstrapped secret may be a pre-shared secret, said secret being directly provided to the server and the client.
- the pre-shared secret may be permanently provided to the server and the client (e.g. by pre-provisioning the client and/or the server with said pre-shared secret, e.g. at manufacturing stage or before the client and/or server are used in a system).
- the pre-shared secret may be a strong, high entropy or a temporary, low-entropy pre-shared secret.
- the bootstrapped secret may be based on a public key or a certificate-based method.
- the bootstrapped secret may be provided via a bootstrap server.
- the security elements can be keys and/or similar arrangements well known in the art.
- the communication may be an SMS-based communication.
- the security protocol is defined by ETSI TS 102.225.
- the method may use SMS binding.
- the device may be further associated with a card, and the security of the data communication may be controlled by means of the card. Any incoming SMS-based communication may be decrypted and/or checked by means of the card, and/or any outgoing SMS-based communication may be encrypted and/or checked by means of the card.
- the communication may be a UDP-based communication.
- the security protocol may be a DTLS protocol.
- the secure data communication may be provided over a communication interface.
- the communication interface may be used for managing the device of for managing the bootstrapping operations.
- the data communication may be performed according to the LWM2M protocol.
- an apparatus, system, module or network for enabling secure data communication with a device, the communication being between a server and a client associated with the device, wherein the security of the communication is enabled by a bootstrapped secret.
- the device can be an M2M device.
- a method of retrieving security elements required for enabling secure data communication with a device the communication being between a server and a client associated with the device, wherein the security elements are retrieved using a bootstrapping protocol.
- the device can be an M2M device.
- the bootstrapping protocol may retrieve the security elements in a secure session.
- the session may be secured based on a security protocol.
- the security protocol may be a DTLS protocol.
- the bootstrapping protocol may be based on GBA.
- the data communication may be an SMS-based communication.
- the bootstrapping protocol may be a LWM2M bootstrap protocol.
- the security elements can be keys and/or similar arrangements well known in the art.
- an apparatus, system, module or network for enabling secure data communication with a device, the communication being between a server and a client associated with the device, wherein the security elements are retrieved using a bootstrapping protocol.
- the device can be an M2M device.
- the secure communication may be for the purpose of managing the device and/or the client and/or services (e.g. provided by the device) by the server.
- Both the device and the server may be machines (i.e. not requiring any human intervention to work).
- the server may be used to manage it. Again, the management may be done without any human intervention (e.g. automatically).
- the solution could be used in conjunction with the LWM2M protocol, but the solution could be extended to other Device Management protocols, or to other M2M services (e.g. securing delivery of binary SMS).
- M2M-specific protocol such as LWM2M
- the use of the solution in conjunction with an M2M-specific protocol, such as LWM2M allows the solution to be very efficient when used with M2M devices, and in particular, when used to manage the device and/or services provided by (or via) the device.
- all the advantages mentioned above are further enhanced and optimised when the solution is used in conjunction with an M2M-specific protocol.
- a device 110 in the example, an M2M Device and/or a User Equipment
- a card 112 in the example, a UICC
- a Client 116 in the example, a Device Management (DM) client.
- this client could also be an LWM2M Client, namely a client that can manage the device itself and service/applications provided by the device e.g. asset control).
- the device 110 is also associated with a device authentication component 114 (in the example, a GAA server).
- a server 120 is provided (in the example, a DM server), the server associated with a server authentication component 122 (in the example, a Network Application Function (NAF)).
- a server authentication component 122 in the example, a Network Application Function (NAF)
- an authentication component 130 is provided (in the example, a Bootstrapping Server Function (BSF)) and a register 140 (in the example, an HLR or HSS).
- BSF Bootstrapping Server Function
- register 140 in the example, an HLR or HSS.
- four different interfaces are provided for communication between the various components, in particular interface Ua 150 between device 110 and server 120 , interface Ub 160 between device 110 and authentication component 130 , interface Zn 170 between authentication component 130 and server 120 , and interface Zh/Zh′ between authentication component 130 and register 140 .
- NAF the “Network Application Function”
- DM Device Management
- Some aspects of a BSF, HLR/HSS, UE, Ua, Ub, Zh/Zh′ and Zn are provided in “Details of 3GPP standards and technologies used to implement aspects of the method and system” above.
- the BSF 130 derives the shared secret Ks_NAF, which is retrieved by the NAF.
- the BSF 130 would most likely be on a separate server from the HLR/HSS 140 , but within an M2M platform cluster.
- the HLR/HSS may be “GBA-aware” (so that it stores details for a GBA user subscription) or may be a legacy component.
- the HLR/HSS would be the HLR or HSS of an M2M mobile operator (i.e. one dedicated specifically to serving M2M connections).
- the UE 110 is, in the proposed solution, an M2M device.
- the Ua is the interface between a Device Management client 116 and Device Management server 120 .
- the Ub would be the interface between the “GAA Server” component 114 of the device and the BSF 130 .
- the Zn interface is used.
- this interface is between the Device Management Server 120 and the BSF 130 .
- the WS version of the interface would allow placement of a DM Server in multiple locations (not just in the M2M operator/platform cluster), and allow future NAFs in multiple locations.
- the UE 110 contacts over interface Ua the NAF 122 (in the described embodiment, the Device Management client 116 contacts the Device Management server 122 ) and discovers that the NAF requires it to acquire a shared secret using GBA. This could be because there is no existing secret, or the existing secret has expired, or is otherwise considered invalid by the NAF.
- the exact interface and communication method may be specific to the application concerned.
- One possible interface and communication method for OMA Lightweight M2M is discussed below.
- the DM client 116 requests the GAA server 114 to obtain a shared secret. It presents an identifier for the corresponding NAF (NAF_Id).
- the UE 110 contacts the BSF (GAA Server 114 contacts the BSF 130 ). This may be a basic http GET request.
- the UE presents an “IMPI” (equivalent of an IMSI) or a “TMPI” (equivalent of a TMSI) for anonymity reasons, if one is available.
- the BSF 130 requests an authentication vector from the HLR/HSS 140 .
- the HLR/HSS 140 returns a fresh vector, consisting of a RAND, AUTN, XRES, CK, and IK, for example.
- the BSF 130 generates a transaction identifier (B-TID) and passes ( 230 ) the B-TID together with the RAND and AUTN back to the UE 110 . It may also indicate the lifetime of the B-TID, and the associated key.
- B-TID transaction identifier
- the GAA Server 114 forwards the RAND and AUTN to the UICC 112 which validates the AUTN. If the AUTN is valid, then the BSF 130 is authenticated. At 240 , the UICC 112 returns a RES, CK and IK to the GAA Server 114 .
- the UE 110 (GAA Server 114 ) contacts the BSF 130 again, using the resulting RES for HTTP Digest authentication (which is identified in “Details of 3GPP standards and technologies used to implement aspects of the method and system” above).
- the BSF 130 verifies the HTTP Digest using the XRES. If it matches, then the UE 110 has been successfully authenticated.
- the BSF 130 stores the tuple ⁇ IMPI, B-TID, RAND, CK, IK> and tells at 250 the UE 110 that the authentication was successful.
- the UE 110 stores ⁇ B-TID, RAND, CK, IK>.
- the UE 110 Over the internal UE 110 interface from DM client 116 to GAA server 114 : the UE 110 (GAA Server 114 ) derives a secret Ks_NAF using the CK, IK, RAND, IMPI and NAF_Id. At 255 , it passes Ks_NAF and the B-TID back to the DM client 116 .
- the UE 110 (DM Client 116 ) contacts the NAF (DM Server 122 ) and presents the B-TID as retrieved above.
- the NAF 122 contacts the BSF 130 , and presents the BTID.
- the BSF 130 authenticates the NAF, derives the corresponding Ks_NAF, and at 270 returns it to the NAF, together with an indicator of key lifetime.
- the UE 110 (DM Client 116 ) and NAF (DM Server 122 ) now both share Ks_NAF. They can use it directly, or to derive their own session keys for further communication.
- the exemplary flow described with reference to FIG. 3 is very generic, and can be used with many different sorts of device management protocols (or other application protocols). As can be seen, many details of the Ua interface are outside the scope of 3GPP and are left to other standards to complete (or left to proprietary implementations). However, integration with the LWM2M standard is possible, as described in these examples.
- OMA LWM2M is based on DTLS v1.2 (see above) and CoAP (see above). Both the client and server must support pre-shared key DTLS (e.g. see section 7.1.1, page 41), whereas support for certificate-based authentication is only optional. This means that a key derived by GBA (Ks_NAF) could be used as a DTLS pre-shared key and it would work with any DM client/DM server pair.
- Ks_NAF key derived by GBA
- the “Server Hello” message contains a field where the server can indicate that it supports GBA-bootstrapping, and in response, the client can then provide an identifier (B-TID) for an already bootstrapped key ( 260 ). Or if the client doesn't already have a bootstrapped key, it asks the GAA server to get one, before resuming the “Client Hello” and “Server Hello” at 260 .
- the use of the Ks_NAF to derive session keys is then specified entirely within the TLS-PSK protocol.
- the 3GPP spec assumes HTTP/TLS, but the basic approach looks the same for CoAP/DTLS.
- the LWM2M spec may need to define a “protocol identifier” for DTLS pre-shared key and have it registered by OMNA (see section 5.2.1 of OMA GBA Profile, Approved Version 1.1-31 Jul. 2012 found at http://technical.openmobilealliance.org/Techncal/release program/sec cf archive.aspx).
- the M2M device may be configured to support the security of OMA LWM2M, which is referenced in “Details of 3GPP standards and technologies used to implement aspects of the method and system” above.
- the M2M device may contain several internal components. It should support a DM client which is “GBA aware”, as well as a “GAA Server” component.
- the GAA Server component should support internal interfaces to the DM client and to the SIM card (UICC) as well as the external Ub interface to the BSF.
- the interface to the UICC may be particularly challenging, as the M2M device may not expose an existing API to allow device software to send commands to the UICC.
- One possibility (that may be used) is for the modem to expose AT commands. However, this may not be at a sufficiently low level (AT+CSIM allows raw APDUs to be communicated to the UICC) in every case.
- AT+CSIM allows raw APDUs to be communicated to the UICC
- the interface to the BSF is based on http and HTTP Digest authentication.
- One alternative may be “tunneling” the Ub interface within the Ua interface, so that the device only needs to support the CoAP protocol (not HTTP as well).
- GBA push A related alternative is using the GBA “Push” variant, and carrying push messages (Upa interface) within the Ua interface. Both of these would require identifying suitable commands and parameters in the Ua interface (i.e. the relevant Device Management protocol) to carry the tunnel or push messages.
- the interfaces and message flow for GBA push are outlined below (see also 3GPP TS 33.223, entitled “3G Security; Generic Authentication Architecture (GAA); Generic Bootstrapping Architecture (GBA) Push function”, it can currently be retrieved by http://www.3gpp.org/ftp/Specs/html-info/33223.htm).
- the UE and NAF are now ready to use the established NAF SA.
- TR33.223 specifies that Upa is a new interface that is separate from Ua—“a new reference point Upa is introduced between the NAF and the UE” (Section 4.2.1). As such, the Ua interface should be unaware of whether GBA or GBA-push is being used.
- the address of the BSF may be pre-loaded when the device is manufactured. It could be device managed itself, which would seem to create a “chicken-and-egg” problem, but the DM Server could, for instance, provide an address for an acceptable BSF in the ServerHello. Or http traffic might be routed by the M2M mobile operator to a default BSF address. Similarly, the location of the preferred DM Server might need to be pre-loaded, or the M2M mobile operator could route CoAP traffic to a default DM Server address.
- GBA-U has security advantages, but also logistic advantages: it permits a longer lifetime for the B-TID as the derived key is stored more securely. It allows safe retention of Ks during power-off cycles for instance.
- GBA-U requires specific support from the UICC, so would have a (modest) increment to the cost. Since M2M devices are typically provided with a new UICC anyway at manufacture, it is a software/development cost rather than a hardware cost. Also, in a model with a customised UICC, this may allow for a solution using restricted AT commands to the modem, rather than full AT+CSIM.
- the architecture example allows for there to be several DM Servers in different locations: it could be part of an M2M platform (e.g. M2M mobile operator) cluster, or hosted elsewhere by a network operator/service provider, or perhaps by a customer of said operator/provider.
- the BSF may need to be located within a firewalled Demilitarized Zone (DMZ), or perhaps connected via an http proxy in the DMZ (so allowing external http Web Service access from NAFs), and then would execute the Diameter interface to the HLR/HSS. It may be undesirable to expose an http interface directly onto the server supporting the HLR, or to tunnel Diameter through firewalls. However, if the DM Server is itself part of the M2M platform cluster then this may be over-engineering. Possibly, a Diameter solution for the Zn interface then becomes acceptable.
- DMZ Demilitarized Zone
- the HLR may be upgraded to a full HSS with support for the Zh reference point.
- the HLR/HSS only supports Zh′ then the BSF will need to be more complicated, and take on some of the subscription management functions (profiling, lifetime, security policies) typically associated with the HSS.
- GBA keys could be used to protect SMS (e.g. encrypt/integrity protect SMS using a secure packet interface e.g. like ETSI TS 102.225 which is used for SIM OTA). This SMS channel is likely to be more efficient than DTLS.
- a secure SMS protocol could be linked to a Device and/or Service management protocol, namely: using a secure SMS protocol (e.g. originally designed for SIM OTA (102 225)), but now adapted for LWM2M communications, combined with using the LWM2M protocol to define (and manage) the necessary parameters for the secure SMS protocol (i.e. the relevant KIc, KID, SPI, TAR, and keys).
- a secure SMS protocol e.g. originally designed for SIM OTA (102 225)
- LWM2M LWM2M protocol
- GBA could be used to securely derive the keys.
- LWM2M needs a security solution for the SMS bearer. Without a solution, SMS will not be usable as a bearer, severely limiting scope of LWM2M.
- a solution to this problem is to use SIM OTA security (e.g. see TS 102 225).
- TS 102.225 relies on the keys and parameters being already agreed between client and server. However, it is difficult to pre-load these into LWM2M client devices, and ensure that they are sent to servers, because there is no present infrastructure for doing so. It would be pointless to deliver the keys and parameters over unsecured SMS.
- a first solution there is provided switching bearer to UDP/Coap and running DTLS.
- the DTLS session can be used to secure the LWM2M Bootstrap protocol.
- the LWM2M Bootstrap can be used to set the TS 102.225 keys and parameters securely. Note that managed resources/objects need to be defined to allow the Bootstrap server to update them; the format of these resources is specified in the numbered paragraphs below.
- GBA GBA Push Info
- the GPI GBA Push Info
- the delivery of the parameters like Kic, KID, SPI and TAR is not obvious, but these are only 6 bytes, and there are fields in the GPI e.g. App_Lbl, NAF_Id, P-TID which could be used to carry this info.
- UDP channel security for [COAP] is referenced in “Details of 3GPP standards and technologies used to implement aspects of the method and system” above.
- the LWM2M Client and LWM2M Server SHOULD keep a DTLS session in use for as long a period as can be safely achieved without risking compromise to the session keys and counters. If a session persists across sleep cycles, encrypted and integrity-protected storage SHOULD be used for the session keys and counters.
- Client-Server relationship of DTLS i.e. who initiated the handshake
- Client-Server relationship of LWM2M is separate from the Client-Server relationship of LWM2M.
- Cipher Suites are not limited to the list defined in Section 9 of [CoAP]. Due to the sensitive nature of Bootstrap Information, particular care has to be taken to ensure protection of that data including constraints and dependencies within a LWM2M Client/Bootstrap Server relationship according to the adopted security mode.
- the keying material used to secure the exchange of information using a DTLS session may be obtained using one of the bootstrap modes referenced in “Details of 3GPP standards and technologies used to implement aspects of the method and system” above.
- the Resources i.e. “Security Mode”, “Public Key or Identity”, “Server Public Key or Identity” and “Secret Key” in the LWM2M Security Object that are associated with the keying material are used either
- LWM2M Clients MUST either be directly provisioned for use with a target LWM2M Server (Manufacturer Pre-configuration bootstrap mode) or else be provisioned for secure bootstrapping with an LWM2M Bootstrap Server.
- Any LWM2M Client which supports Client or Server initiated bootstrap mode MUST support at least one of the following secure methods:
- a LWM2M Bootstrap Server SHALL support all of these methods.
- the Secured Packet Structure is based on [3GPP TS 31 115]/[ETSI TS 102 225]] which is defining secured packets for different transport mechanisms.
- the solution was originally designed for securing packet structures for UICC based applications, however, for LWM2M it is suitable for securing the SMS payload exchanged between client and server.
- the SMS Secured Packet Structure mode specified in this section MUST be supported when the SMS binding is used.
- a LWM2M Client which uses the SMS binding MUST either be directly provisioned for use with a target LWM2M Server (Manufacturer Pre-configuration bootstrap mode or Smart Card Provisioning) or else be able to bootstrap via the UDP binding.
- the end-point for the SMS channel (delivery of mobile terminated SMS, and sending of mobile originated SMS) SHALL be either on the smartcard or on the device.
- the end-point is on the LWM2M Client device.
- a LWM2M Client, Server or Bootstrap Server supporting SMS binding SHALL discard SMS messages which are not correctly protected using the expected parameters stored in the “SMS Binding Key Parameters” Resource and the expected keys stored in the “SMS Binding Secret Keys” Resource, and SHALL NOT respond with an error message secured using the correct parameters and keys.
- SMS channel end-point is on the device the following settings SHALL be applied:
- TP-OA the TP-OA (originating address as defined in [3GPP 23.040] of an incoming command packet (e.g. CoAP request) MUST be re-used as the TP-DA of the outgoing packet (e.g. CoAP response)
- SMS channel end-point is on the smart card the following settings SHALL be applied:
- a SMS Secured Packet encapsulating a CoAP request received by the LWM2M device MUST be—according to [ETSI TS 102 225]/[3GPP TS 31.115]—addressed to the LWM2M UICC Application in the Smartcard where it will be decrypted, aggregated if needed, and checked for integrity.
- the message contained in the SMS MUST be provided to the LWM2M Client.
- SMS MUST be discarded.
- the mechanism for providing the decrypted CoAP Request to the LWM2M Client relies on basic GET DATA commands of [GP SCP03]. This data MUST follow the format as below
- the LWM2M Client For sending a CoAP message to the LWM2M Server, the LWM2M Client prepares a data containing the right TP-DA to use, concatenated with the CoAP message and MUST provide that data to the LWM2M UICC Application in using the [GP SCP03] STORE-DATA command.
- the Smartcard will be in charge to prepare (encryption/concatenation) the CoAP message before sending it as a SMS Secure Packet ([ETSI TS 102 223] SEND_SMS command).
- the SMS Secured Packet MUST be formatted as Secured Data specified in section 7.3.1.2.
- the SMS channel security is provided by the Secured Packet Structure [ETSI TS 102 225] and [SCP080] which is defining secured packets for different transport mechanisms.
- the SMS channel security specified in this section MUST be applied when the SMS binding is used.
- the security SHOULD be terminated on the smartcard.
- the LWM2M client SHOULD pass SMS messages to the smartcard for encryption and integrity protection before sending, and SHOULD pass encrypted SMS messages received from the LWM2M server to the smartcard for decryption and integrity checking.
- a LWM2M Client which supports the SMS binding SHALL support the Secured Packet Structure as defined in [ETSI TS 102 225] and [SCP080].
- the LWM2M Client SHALL share the relevant keys—identified by KIc and KID—with a LWM2M Bootstrap Server during bootstrapping, or with a LWM2M Server otherwise.
- a LWM2M Bootstrap Server which supports the SMS binding SHALL support the Secured Packet Structure as defined in [ETSI TS 102 225] and [SCP080].
- a LWM2M Server which supports the SMS binding SHALL support Secured Packet Structure as defined in [ETSI TS 102 225] and [SCP080].
- SMS Secured Packet Structure mode a CoAP message as defined in [CoAP] MUST be encapsulated in [3GPP 31.115] Secured Packets, in implementing—for SMS Point to Point (SMS_PP)—the general [ETSI 102 225] specification for UICC based applications.
- SMS_PP SMS Point to Point
- LWM2M Client and LWM2M Bootstrap Server and LWM2M Server The following applies to LWM2M Client and LWM2M Bootstrap Server and LWM2M Server:
- the keys and associated counter values are not stored in the above recommended way, they SHALL be treated as session keys with a lifetime no greater than the duration of the Registration Lifetime.
- the LWM2M Client SHALL acquire fresh discard the key material on each “Register” or “Update” operation, load fresh key material using one of the mechanisms described below, and reset the counters.
- the Smart Card SHALL place the updated session keys in the provisioning file EF_LWM2M_Bootstrap.
- the LWM2M Server SHOULD send SMS to the LWM2M Client to refresh the session keys before the next attempted “Register” or “Update” operation. If the LWM2M Client attempts to contact the LWM2M Server using an expired registration, or attempts to “Register” or “Update” using a stale key, the LWM2M Server SHALL respond with an error (4.00 Bad Request) and SHALL send SMS to refresh the session keys.
- the LWM2M Server SHOULD send such SMS prior to the expiry of the current Registration, if the LWM2M Client is awake; or if the LWM2M Client is in a sleep cycle, the LWM2M Server (or Bootstrapping Server) SHOULD send such SMS on the next wake up.
- the LWM2M Server or Bootstrapping Server SHOULD send such SMS on the next wake up.
- the corresponding key values should be stored in the “SMS Binding Secret Keys” Resource.
- a LWM2M Client which uses the SMS binding may either be directly provisioned for use with a target LWM2M Server (Manufacturer Pre-configuration bootstrap mode) or else be able to bootstrap via the UDP binding.
- a LWM2M Client, Server or Bootstrap Server supporting SMS binding SHALL discard SMS messages which are not correctly protected using the expected parameters stored in the “SMS Binding Key Parameters” Resource and the expected keys stored in the “SMS Binding Secret Keys” Resource, and SHALL NOT respond with an error message secured using the correct parameters and keys.
- This LWM2M object provides the keying material of a LWM2M Client appropriate to access a specified LWM2M Server.
- One Object Instance SHOULD address a LWM2M Bootstrap Server
- LWM2M object resources MUST only be changed by a LWM2M Bootstrap Server or SmartCard provisioning and MUST NOT be accessible by any other LWM2M Server.
- LWM2M String 0-255 bytes — Uniquely identifies the Server URI LWM2M Server or LWM2M Bootstrap Server, and is in the form: “coaps://host:port”, where host is an IP address or FQDN, and port is the UDP port of the Server.
- Bootstrap Boolean Determines if the current Server instance concerns a LWM2M Bootstrap Server (true) or a standard LWM2M Server (false) Security Integer 0-3 — Determines which UDP Mode channel security mode is used 0: Pre-Shared Key mode 1: Raw Public Key mode 2: Certificate mode 3: NoSec mode Public Key Opaque — Stores the LWM2M Client's or Identity Certificate (Certificate mode), public key (RPK mode) or PSK Identity (PSK mode). The format is defined in Section E.1.1.
- Server Opaque Stores the LWM2M Server's or Public Key LWM2M Bootstrap Server's or Identity Certificate (Certificate mode), public key (RPK mode) or PSK Identity (PSK mode).
- the format is defined in Section E.1.1.
- Secret Key Opaque Stores the secret key or private key of the security mode.
- the format of the keying material is defined by the security mode in Section E.1.1. This resource MUST only be changed by a bootstrap server and MUST NOT be readable by any server.
- SMS Integer 0-255 Determines which SMS Security payload security mode is used Mode (see section 7.2) 0: Reserved for future use 1: Secure Packet Structure mode device terminated 2: Secure Packet Structure mode smartcard terminated 3: NoSec mode 255: Proprietary modes SMS Binding Opaque 6 bytes — Stores the KIc, KID, SPI and Key TAR. The format is defined in Parameters Section D.1.2. SMS Binding Opaque 32-48 bytes — Stores the values of the keys Secret Keys for the SMS binding. This resource MUST only be changed by a bootstrap server and MUST NOT be readable by any server.
- LWM2M Integer MSISDN used by the LWM2M Server SMS Client to send messages to the Number LWM2M Server via the SMS binding.
- the LWM2M Client SHALL silently ignore any SMS not originated from unknown MSISDN Short Server Integer 1-65535 —
- This identifier uniquely ID identifies each LWM2M Server configured for the LWM2M Client. This resource MUST be set when the Bootstrap Server resource has false value. Default Short Server ID (i.e. 0) MUST NOT be used for identifying the LWM2M Server.
- Client Hold Integer s Relevant information for a Off Time Bootstrap Server only. The number of seconds to wait before initiating a Client Initiated Bootstrap once the LWM2M Client has determined it should initiate this bootstrap mode
- This section defines the format of the Secret Key and Public Key and Identity resources of the LWM2M Server and LWM2M Bootstrap Objects when using UDP Channel security. These resources are used to configure the security mode and keying material that a Client uses with a particular Server. The Objects are configured on the Client using one of the Bootstrap mechanisms described in Section 5.1 of OMA LWM2M. The use of this keying material for each security mode is defined in Section 7.1 of OMA LWM2M.
- PSK Pre-Shared Key
- the PSK is a binary shared secret key between the Client and Server of the appropriate length for the Cipher Suite used [RFC4279]. This key is composed of a sequence of binary bytes in the Secret Key resource.
- the default PSK Cipher Suites defined in this specification use a 128-bit AES key. Thus this key would be represented in 16 bytes in the Secret Key Resource.
- the corresponding PSK Identity for this PSK is stored in the Public Key or Identity resource.
- the PSK Identity is simply stored as a UTF-8 String as per [RFC4279].
- Clients and Servers MUST support a PSK Identity of at least 128 bytes in length as required by [RFC4279].
- the raw-public key mode requires a public key and a private key of the appropriate type and length for the Cipher Suite used. These keys are carried as a sequence of binary bytes with the public key stored in the Public Key or Identity Resource, and the private key stored in the Secret Key Resource.
- the default RPK Cipher Suites defines in this specification use a 256-bit ECC key. Thus the Certificate Resource would contain a 32 byte public key and the Secret Key Resource a 32 byte private key.
- the Certificate mode requires an X.509v3 Certificate along with a matching private key.
- the private key is stored in the Secret Key Resource as in RPK mode.
- the Certificate is simply represented as binary X.509v3 in the value of the Public Key or Identity Resource.
- This section defines the format of the Secret Key and Public Key and Identity resources of the LWM2M Server and LWM2M Bootstrap Objects when using SMS Payload security. These resources are used to configure keying material that a Client uses with a particular Server. The Objects are configured on the Client using one of the Bootstrap mechanisms described in Section 5.1. The use of this keying material is defined in Section 7.2.
- the SMS key parameters are stored in the order KIc, KID, SPI, TAR (KIc is byte 0 ).
- FIG. 5 shows a system 100 for establishing a secure connection with a machine to machine (M2M) device using the generic bootstrapping architecture (GBA) standard (defined in TS 33.220), which is part of a complex of standards called Generic Authentication Architecture, a guide to which is provided in TR 33.919.
- the system 100 comprises a network application function (NAF) 122 , which may be a software component within a device management server 120 , a user equipment (UE) 110 , which is an M2M device, a bootstrapping server function (BSF) 130 and a home location register (HLR)/home subscriber system (HSS) 140 .
- NAF network application function
- the NAF 122 is configured to provide any sort of application or service to the UE 110 via communications channel Ua 150 . It may be any server or network component which terminates the Ua interface (described below) from the UE 110 .
- the UE 110 comprises a device management (DM) client 116 that is configured to communicate with the NAF 122 via communications channel Ua 150 .
- DM device management
- the interface and communication methods between the DM client 116 and NAF 122 via Ua 150 may be of any suitable type.
- any suitable device management protocol may be utilised, such as OMA DM 2.0, OMA lightweight M2M, constrained application protocol (CoAP), CoAP over datagram transport layer security (DTLS) (CoAPs), TR-069 etc, and/or any suitable M2M services may be executed via Ua 150 , such as binary short messaging services (SMS), reporting an M2M sensor reading; M2M location reporting etc.
- SMS binary short messaging services
- the UE 110 also comprises a generic authentication architecture (GAA) server 114 that is configured to communicate with the BSF 130 via communications channel Ub 160 .
- GAA generic authentication architecture
- the interface and communication methods between the GAA server 114 and the BSF 130 via Ub 160 may be of any suitable type. For example hypertext transfer protocol (http), http over transport layer security (TLS) (https) etc.
- the UE 110 also comprises a universal integrated circuit card (UICC) 112 , for example a subscriber identity module (SIM) card or embedded SIM, which may securely hold data relating to the UE 110 .
- UICC universal integrated circuit card
- SIM subscriber identity module
- embedded SIM embedded SIM
- the BSF 130 is configured to utilise the GBA standard (defined in TS 33.220) to enable a shared secret to be derived (bootstrapped) using the existing security association between a mobile network and the UICC 112 so that the NAF 122 and UE 110 are able to establish a secure association for secure communications via Ua 150 .
- GBA defined in TS 33.220
- the BSF 130 is configured to communicate with the NAF 122 via Zn 170 so that the NAF 122 is able to request and/or obtain a shared secret that the NAF 122 may use to establish secure communication with the UE 110 .
- the BSF 130 is also configured to communicate with the HLR/HSS 140 via Zh 180 so that it may utilise the mobile network data contained in the HLR/HSS 140 as part of the GBA process.
- the interface and communication methods between the BSF 130 and the HLR/HSS 140 via Zh 180 may be of any suitable type.
- the HLR/HSS 140 may be any server side element that stores subscription details and credentials for each UICC issued by an operator. It may be “GBA-aware” (so that it stores details for a GBA user subscription), for example an HSS, or it may be a legacy component that is not “GBA-aware”, for example an HLR.
- FIG. 5 also identifies communication steps (a) to (o) between the elements of system 100 , wherein those steps are used to carry out the GBA process of establishing a shared secret between the NAF 122 and the UE 110 .
- FIG. 6 shows an example sequence diagram that includes the communication steps (a) to (o) that are used for establishing a shared secret between the NAF 122 and the UE 110 .
- the shared secret enables keys to be established at the NAF 122 and the UE 110 so that secure communication can take place between the NAF 122 and the UE 110 .
- the shared secret may itself be a key for establishing secure communication, and/or a session key(s) may be derived from the shared secret in order to establish secure communication.
- step (a) the DM client 116 contacts the NAF 122 via Ua 150 , for example to request a service and/or application from the NAF 122 .
- step (b) the NAF 122 responds by indicating that it supports GBA-bootstrapping and that a shared secret is required in order to establish secure communication for the NAF 122 to provide the requested service and/or application to the UE 110 .
- the communication in step (b) may, for example, be a “server hello” message.
- the NAF 122 may contact the DM client 116 via Ua 150 in step (b) without step (a) having been carried out (for example, if the NAF 122 wishes to establish secure communication with the UE 110 in order to provide a service and/or application to the UE 110 ).
- the DM client 116 may proceed to step (m) and provide the NAF 122 with an identifier for the bootstrapped key, for example a transaction identifier such as a B-TID (Bootstrap Transaction Identifier).
- a transaction identifier such as a B-TID (Bootstrap Transaction Identifier).
- B-TID Bootstrap Transaction Identifier
- the DM client 116 may set about acquiring a new shared secret using GBA.
- step (c) the DM client 116 requests that the GAA server 114 obtain a shared secret.
- the DM client 116 will also pass to the GAA server 114 an identifier of the NAF 122 , for example NAF_Id (which may be a concatenation of NAF FQDN and Ua security protocol Id), which it has obtained in step (b).
- NAF_Id which may be a concatenation of NAF FQDN and Ua security protocol Id
- the UE 110 may itself identify that it requires a bootstrapped key in order to establish secure communication with the NAF 122 and therefore carry out step (c) without either of steps (a) or (b) taking place first.
- the identifier of the NAF_Id may be stored in memory on the UE 110 , or obtained by the UE 110 by any other means.
- the GAA server 114 contacts the BSF 130 to request that a shared secret be derived.
- the request may be a basic http GET request, or any other suitable request.
- the GAA server 114 may also present to the BSF 130 in step (d) an identifier of the UE 110 , for example an international mobile subscriber identity (IMSI) or a temporary mobile subscriber identity (TMSI), or an IP multimedia private identity (IMPI) or temporary mobile private identity (TMPI) if anonymity is required.
- IMSI international mobile subscriber identity
- TMSI temporary mobile subscriber identity
- IMPI IP multimedia private identity
- TMPI temporary mobile private identity
- the BSF 130 requests an authentication vector from the HLR 140 .
- the HLR/HSS 140 returns a new authentication vector to the BSF 130 .
- the authentication vector may comprise a random or pseudorandom number (RAND), an authentication token (AUTN), an expected response (XRES), a cipher key (CK) and an integrity key (IK).
- the CK and the IK are derived from an existing shared secret, K, (for example using the RAND and AUTN) that is shared between the network provider and the UE 110 , wherein the network stores their value of K and the UE 110 stores its value of K in the UICC 112 .
- the contents of the authentication vector are described in more detail in the 3GPP “Security Architecture” specification TS 33.102, which may be found at http://www.3gpp.org/ftp/specs/html-info/33102.htm.
- the existing shared secret may alternatively be the Ki, for example in 2G/GSM, which is explained in more detail in the 3GPP specification TS 11.11 “Specification of the Subscriber Identity Module-Mobile Equipment (SIM-ME) Interface” (originally GSM 11.11), in particular in sections 8.16 and 9.2.16, which may be found at http://www.3gpp.org/DynaReport/1111.htm.
- SIM-ME Subscriber Identity Module-Mobile Equipment
- the BSF 130 Having received the authentication vector, the BSF 130 generates a transaction identifier (B-TID) and transmits the B-TID along with part of the authentication vector, for example the RAND and AUTN, back to the GAA server 114 in step (g).
- the BSF 130 may also indicate to the GAA server 114 in step (g) the lifetime of the B-TID and an associated key(s).
- the associated key may be, for example, a Ks, which is a concatenation of CK and IK.
- the BSF 130 may generate key material Ks by concatenating CK and IK and generate the B-TID by taking the base 64 encoded RAND value and the BSF server name i.e. base64encode(RAND)@BSF_servers_domain_name.
- the GAA server 114 may then attempt to authenticate the BSF 130 by forwarding the RAND and AUTN to the UICC 112 in step (h).
- the RAND and AUTN may be used as inputs to the USIM application on the UICC 112 to run an Authentication and Key Agreement (AKA) algorithm, as explained in 3GPP TS33.102. If the UICC 126 validates the AUTN, the BSF 130 will be authenticated and the UICC returns a RES (which may be generated as part of the AKA algorithm), a CK and an IK to the GAA server 114 in step (i).
- AKA Authentication and Key Agreement
- step (j) the GAA server 114 uses the RES to protect communication with the BSF 130 so that the BSF 130 can authenticate the UE 110 .
- the communication in step (j) may be an http digest message so that http digest authentication may be executed.
- the communication in step (j) may take any other suitable form for the BSF 130 to authenticate the UE 110 .
- the BSF 130 may then authenticate the UE 110 , for example using XRES to verify an http digest. If there is a match, the UE 110 is successfully authenticated and the BSF 130 may store a tuple comprising, for example, the identifier of the UE 110 , such as the IMPI, IMSI, TMPI or TMSI, (which the BSF 130 received from the UE 110 in step (d)), the B-TID (which the BSF 130 generated after step (f)), the RAND, the CK and the IK (all of which the BSF received in the authentication vector in step (f)) and notifies the GAA Server 114 in step (k) that authentication was successful.
- the identifier of the UE 110 such as the IMPI, IMSI, TMPI or TMSI
- the GAA Server 114 may store in memory on the UE 110 the B-TID and RAND (which the GAA Server 114 received from the BSF 130 in step (g)) and the CK and IK (which the GAA Server 114 received from the UICC 112 in step (i)). The GAA Server 114 may then generate key material Ks by concatenating CK and IK and derive a shared secret, Ks_NAF, using Ks, RAND, the identifier of the UE 110 (such as the IMPI, IMSI, TMPI or TMSI) and the NAF_Id (which it received in step (c)). In step (I) the B-TID and derived Ks_NAF are then passed to the DM client 116 .
- Ks_NAF shared secret
- Ks_NAF KDF (Ks, “gba-me”, RAND, IMPI, NAF_Id)
- Ks_ext_NAF KDF (Ks, “gba-me”, RAND, IMPI, NAF_Id)
- Ks_int_NAF KDF (Ks, “gba-u”, RAND, IMPI, NAF_Id).
- Ks_NAF Ks_NAF may alternatively be derived using Ks, the identifier of the UE 110 and the NAF_Id, without using RAND.
- the DM client 116 now has the secret Ks_NAF and session identifier B-TID. However, the NAF 122 does not yet have the secret so it is not yet possible for a secure connection over Ua 150 to be established.
- step (m) the DM client 116 contacts the NAF 122 and presents the B-TID to the NAF 122 .
- the NAF 122 is then able in step (n) to contact the BSF 130 and present it with the B-TID that the DM client 116 had passed to the NAF 122 .
- the BSF 130 can authenticate the NAF 122 , derive the Ks_NAF from the Ks that is associated with the B-TID (for example by generating key material Ks by concatenating CK and IK and then deriving Ks_NAF using Ks, RAND, the identifier of the UE 110 and the NAF_Id) and return the Ks_NAF to the NAF 110 together with an indicator of the lifetime of the key associated with the B-TID (for example, the Ks).
- Ks_NAF for example by generating key material Ks by concatenating CK and IK and then deriving Ks_NAF using Ks, RAND, the identifier of the UE 110 and the NAF_Id
- Ks_NAF Ks_NAF
- the interface between the UE 110 and the BSF 130 over Ub 160 is based on http and HTTP Digest authentication. Whilst it may be possible to implement communications using http and HTTP Digest authentication over Ub 160 without requiring a full browser implementation, carrying out communications using http and HTTP Digest on Ub 160 and CoAP communications on Ua 150 may cause additional complexities when the UE 110 is an M2M device.
- the UICC 112 utilises the USIM application to run an Authentication and Key Agreement (AKA) algorithm, as explained in 3GPP TS33.102, in order to obtain the CK and IK (or Ks) and RES.
- AKA Authentication and Key Agreement
- the UICC 112 may utilise the SIM application on the UICC 112 .
- the command “RUN GSM” could be utilised on the UICC 112 , as defined in section 8.16 and 9.2.16 of 3GPP TS 11.11 (originally GSM 11.11).
- the input to the command may be a 16 byte (128 bit) “RAND” and the output may be a 4 byte (32 bit) “SRES” (abbreviation for signed response) together with an 8 byte (64 bit) cipher key “Kc”.
- the SIM card implements two algorithms at once: A3 (the “authentication” algorithm) combines the RAND with the 128 bit secret Ki (stored on the UICC 112 ) and returns SRES; A8 (the “key agreement” algorithm) combines RAND with Ki and returns Kc.
- the SRES is passed to mobile terminal to be sent to the GSM base-station (where the base station compares it against an expected SRES which it has obtained from the Authentication Centre AuC, along with the RAND and the Kc).
- the cipher key Kc is used to encrypt traffic between the mobile terminal and the GSM base station.
- 2G GBA performs some additional operations (that are described TS 33.220) with the SRES and Kc in order to bring the overall security level closer to that achieved using a USIM with GBA.
- SIM subscribed to mobile communications
- AUTN i.e. no way for the SIM to authenticate the source of the RAND
- IK integrity key
- the cipher key-length is shorter (64 bits instead of 128 bits).
- the crypto-algorithms which use Kc for ciphering are much weaker than the cipher algorithms used in 3G and LTE.
- a GBA “push” variant may be utilised and push messages may be carried to the UE 110 within the Ua 150 interface.
- FIG. 7 shows a system 600 for establishing a secure connection with a machine to machine (M2M) device using the generic bootstrapping architecture (GBA) standard and the GBA “push variant”.
- M2M machine to machine
- GBA generic bootstrapping architecture
- the system is similar to that shown in FIG. 5 , but comprises a Upa interface 155 between the UE 110 and NAF 122 for carrying push messages within the Ua interface 150 .
- the system 600 also comprises a Zpn interface 175 between the NAF 122 and the BSF 130 for carrying push related information.
- FIG. 7 also identifies communication steps (v) to (z) between the elements of system 600 , wherein those steps are used to carry out a GBA push process of establishing a shared secret between the NAF 122 and the UE 110 .
- FIG. 8 shows an example sequence diagram that includes the communication steps (v) to (z) that are used for establishing a shared secret between the NAF 122 and the UE 110 so that secure communication between the NAF 122 and the UE 110 can be established.
- the NAF 122 determines that a shared secret needs to be established between the NAF 122 and the UE 110 (for example, when the UE 110 notifies the NAF 122 that it does not have a shared secret, which may take place in response to a request by the NAF 122 to establish secure communication, or at any other time) and that the UE 110 is registered for push services (for example, because the UE 110 notifies the NAF 122 to that effect) the NAF 122 will generate a GBA push information (GPI) request and transmit it to the BSF 130 in step (v).
- GBA push information GPS
- the GPI request may comprise an identifier of the UE 110 , for example the IMPI, IMSI, TMPI or TMSI of the UE 110 , and/or an identifier of the NAF 122 , for example a NAF_Id.
- the NAF may determine that UE 110 is registered for push services because the UE 110 notifies the NAF 122 to that effect.
- the NAF 122 may have a pre-established table that is based on UE 110 identifier range and indicates if the UE 110 is registered for push services or not.
- the NAF 122 may look up an identifier presented to it by the UE 110 and check it against the UE 110 identifier range table in order to determine if the UE 110 is registered for push services.
- the NAF 122 may transmit the request in step (v) before checking that the UE 110 is registered for push services, and rely on the BSF to advise it if the UE is registered and authorised.
- the BSF 130 may check that the UE 110 and the NAF 122 are authorized for establishing secure communication using a push implementation.
- the BSF 130 may itself have authorisation data for UEs and NAFs, or it may obtain an indication of whether or not the UE 110 and NAF 122 is authorised from the HLR/HSS 140 as part of step (w) described below.
- UE and NAF authorisation data may be part of the GUSS described below, or may be retrieved from the NLR/HSS 140 separately from the GUSS.
- the BSF 130 may optionally resolve the identifier to a private identifier, for example an IMSI or TMSI.
- step (w) the BSF 130 transmits to the HLR/HSS 140 a request for a new authentication vector (AV) and the subscriber's GBA User Security Settings (GUSS).
- the BSF 130 may transmit the request in step (w) before checking that the UE 110 and NAF 122 is authorised for push services, and rely on the HLR/HSS to advise it if the UE 110 and NAF 122 is authorized, for example if an indication of authorization forms part of the GUSS.
- the GUSS are settings per user, containing BSF specific information and the set of all application-specific user security settings, USS (i.e. settings particular to each UE 110 and NAF 122 pairing).
- the HLR/HSS 140 returns the AV and the GUSS to the BSF 130 .
- the AV may comprise a RAND, an AUTN, an XRES, a CK and an IK.
- the BSF 130 may then check the GUSS, for example to determine if the user/subscription of the UE 110 is authorised to access the service and/or what type of keys should be used for the establishment of secure communication etc.
- the BSF 130 may generate and store any keys that are required, and these keys may be based on the identity of the NAF 122 (for example based on the NAF_Id). For example, if the shared secret, Ks_NAF (described above) is to be used directly as a key for establishing secure communications, the BSF 130 may generate the Ks_NAF in the manner identified above. If another derived key is to be used as a key for establishing secure communications, for example Ks_ext_NAF or Ks_int_NAF, the BSF 130 may generate Ks and then derive the necessary key(s).
- the BSF 130 will also generate a GPI Response comprising information that enables the NAF 122 and the UE 110 to set up a secure association (SA) (described in more detail below).
- SA secure association
- the BSF 130 sends the GPI Response to the NAF 122 in step (y).
- the GPI Response may comprise at least part of the authentication vector, for example the RAND and AUTN.
- the GPI Response may also comprise an identifier, a P-TID (push transaction identifier), that may be used to identify key material to be used to establish secure communication (for example the Ks). In this way, the P-TID may be considered to be a push implementation version of the B-TID identified above.
- the GPI response may also comprise information indicating what key(s) should be used to establish secure communication and/or how those keys may be derived and/or how the key(s) should be used to establish secure communication.
- the GPI response may also comprise an indication of the life-time of the key(s), which indicates for how long the key(s) may be used before they need to be refreshed.
- the BSF 130 may transmit to the NAF 122 in step (y) a “not authorized” message. If the NAF 122 is maintaining a local database of UEs which are authorized or registered for push services, for example the pre-established table described above, the NAF 122 may then update its local database to record if the UE is authorised for push services.
- the NAF 122 may set up and store a security association (NAF_SA) comprising at least some of the GPI response information and any other suitable user information, for example an identifier of the UE 110 etc.
- NAF_SA security association
- the NAF 122 forwards the GPI response to the DM client 116 in a push message using the UPa 155 , which in turn forwards the GPI response to the GAA server 114 .
- the GAA server 114 may process the contents of the GPI response to set up and store on the UE 110 a corresponding NAF_SA.
- the UE 110 may pass the AUTN and RAND that was part of the GPI response to the UICC 112 in order to authenticate the BSF and obtain the CK and IK from the UICC 112 , for example by running an authentication challenge AUTHENTICATE on the USIM application of the UICC as explained above.
- the BSF 130 can be considered by the UE 110 to have been authenticated.
- the UICC 112 may then return a CK and IK to the GAA server 114 , using which the GAA server 114 can derive a Ks and subsequently a shared secret, Ks_NAF (as explained earlier).
- the GAA server 114 Having received the GPI response and generated the Ks_NAF, the GAA server 114 is able to set up and store its NAF_SA.
- the NAF_SA may comprise a key(s) for establishing secure communication.
- the GPI response can inform the UE 110 what the key(s) should be, for example if the Ks_NAF may be used directly as the key, or if another key(s) should be derived and stored as part of the NAF_SA. If a new key(s) should be derived, the UE 110 may follow the derivation process indicated in the GPI response.
- both the NAF 122 and the UE 110 will have the NAF_SA, thereby enabling secure communication to be established between the two.
- the NAF 122 may effectively validate the UE 110 through successful use of the Ks_NAF (since only a legitimate UE 110 could derive the correct Ks_NAF and use them with the NAF 122 ).
- FIG. 9 shows an alternative implementation wherein a GAA server 114 ′ is implemented within a wireless communication module 118 in the UE 110 .
- the wireless communication module 118 may be, for example, a modem or a baseband processor.
- the GAA server 114 ′ may be the same as the GAA server defined in 3GPP standards specifications, for example TR 33.905, or it may include only the parts of the standard GAA server that are required to carry out the below described processes.
- the wireless communication module 118 may be accessed from application logic within the UE 110 (for example, the DM client 116 , or any other application within the UE 110 ) using AT commands.
- the DM client 116 may use a custom AT command with an identifier of the NAF, for example NAF_Id, as a parameter of the AT command in order to pass the identifier of the NAF to the GAA server 114 ′ in step (c) described above.
- the DM client 116 may then expect a shared secret, for example Ks_NAF, and a transaction identifier, for example B-TID, to be returned as an output to the AT command in step (I) described above.
- steps (d) to (k) explained above may be carried out so that the GAA server 114 can return a shared secret, for example Ks_NAF, and a transaction identifier, for example B-TID, to the DM client 116 in step (I) as an output to the AT command.
- a shared secret for example Ks_NAF
- a transaction identifier for example B-TID
- the GAA server 114 ′ will be able to obtain the material that it requires to derive the shared secret (for example, CK, IK) and/or enable the BSF 130 to authenticate the UE 110 (for example, RES).
- the GAA server 114 ′ may use ETSI TS 102 221 (UICC-Terminal interface; Physical and logical characteristics), which allows raw Application Protocol Data Units (APDUs) to be communicated to the UICC 112 in order to pass the RAND and AUTN to the UICC 112 .
- RAND and AUTN will be parameters of the AUTHENTICATE command issued to the USIM application so that the USIM application can run the AKA algorithm.
- CK, IK and RES may then be returned as an output to the AUTHENTICATE command in step (i).
- only RAND may be passed as an input to the SIM application on the UICC 112 (or the USIM application running in a GSM Security Context) and Kc and SRES returned in step (i) (as explained in more detail in 3GPP TS 11.11).
- the GAA server 114 ′ By implementing the GAA server 114 ′ on the wireless communication module 118 , it is possible to access low level, secure parts of the UICC 112 in order to carry out the GBA process described above, without exposing low level UICC 112 commands or other direct access to the UICC 112 up to the application logic, for example via AT+CSIM to the DM client 116 or any other general applications. Thus, security of the UICC 112 can be maintained to prevent fraudulent parties from impersonating the UE 110 in order to engender fraud on the cellular network.
- FIG. 10 shows an alternative implementation wherein an interface application 114 a is implemented as an application on an application processor of the UE 110 and a security module 114 b is implemented within a wireless communication module 118 in the UE 110 .
- the wireless communication module 118 may be, for example, a modem or a baseband processor.
- the interface application 114 a is configured to perform part of the functionality of the GAA server 114 described above, for example interfacing with Ub 160 .
- the interface application 114 a may terminate the interface Ub 160 at the UE 110 .
- the interface application 114 a may thus include, for example, a TCP/IP stack and/or http interface functionality.
- the security module 114 b is configured to perform the secure functionality of the GAA server 114 ′, for example interfacing with the UICC 112 , in particular interfacing with the USIM (or SIM) application on the UICC 112 .
- the interface application 114 a may therefore terminate the Ub 160 interface and handle communication between the UE 110 and the BSF 130 in steps (d), (g), (j) and (k) described above.
- the interface application 114 a may receive the B-TID, RAND and AUTN in step (g) and forward these on to the security module 114 b for use in obtaining the CK and IK from the UICC 112 .
- the RAND and AUTN (and optionally also the NAF_Id) may be forwarded by the interface application 114 a to the security module 114 b using a custom AT command, and the interface application 114 a may receive the RES, or the CK, IK and RES, as an output parameter to the AT command.
- the RAND (and optionally also the NAF_Id) may be forwarded to the security module 114 b using a custom AT command and the Kc and SRES returned as an output parameter to the AT command.
- the interface application 114 a may then use the RES or SRES to protect communication with the BSF 130 in step (j).
- the AT command may also include some flag that indicates the variety of GBA that is required, for example GBA-ME, GBA-U, GBA-SIM, GBA with ISIM etc.
- the interface application 114 a may receive the notification of successful authentication in step (k) and derive the shared secret, Ks_NAF. Furthermore, the interface application 114 a may be instructed by the security module 114 b to contact the BSF 130 with a request for a shared secret in step (d).
- the interface application 114 a may thus operate as a proxy to the security module 114 b.
- the DM client 116 may still interface with it using AT commands in order to obtain a shared secret (for example, Ks_NAF), in the same way as described in respect of FIG. 9 .
- the DM client 116 may use an application programming interface (API) to communicate with the interface application 114 a , while the interface application 114 a in turn uses AT commands to interface with the security module 114 b (which is an alternative not represented in the Figures).
- API application programming interface
- the security module 114 b is also able to interface with the USIM (or SIM) application on the UICC 112 in order to obtain the material required to derive the shared secret, in the same way as described in respect of FIG. 9 .
- the DM client 116 may use an API to pass an identifier of the NAF (for example, NAF_Id) to the interface application 114 a .
- the interface application 114 a may then use AT commands to interface with the security module 114 b to obtain the shared secret (and optionally also the RES or SRES), and return the shared secret to the DM client 116 .
- the interface application 114 a may thus operate as a proxy to the security module 114 b for communication via Ub interface 160 and/or for communication with the DM client 116 .
- IP and http communications functionality may be kept in the applications processor, away from the wireless module 118 .
- Security functionality may be kept on the wireless module 118 , where it may interface as necessary with the UICC 112 and where it is away from the applications processor.
- insecure elements of the GAA server 114 ′ may be kept in the interface application 114 a , away from the UICC 112 , thereby improving security of the UICC 112 .
- the wireless module 118 will not have to terminate the Ub 160 interface, thereby simplifying the configuration of the wireless module 118 .
- the secure functionality of the GAA server 114 ′ i.e. the parts of the GAA server 114 ′ that interface with the UICC 112
- a security module 114 b is implemented on the wireless module 118 .
- the functionality of the interface application 114 a is also implemented on the wireless module 118 , wherein the functionality of the interface application 114 a and the security module 114 b together make up the GAA server 114 ′.
- the implementation shown in FIG. 9 may be considered to implement both the interface application 114 a and the security module 114 b on the wireless module 118 .
- the interface application 114 a may be implemented as a ‘stand alone’ application on the application processor of the UE 110 . In an alternative, it may be implemented as a ‘plug-in’ to the DM client 116 , or the functionality of the interface application 114 a may be incorporated into the DM client 116 such that the interface application 114 a is the DM client 116 .
- communications between the interface application 114 a and the security module 114 b are described as taking place using custom AT commands, it will be appreciated that any suitable commands or protocols may be utilised.
- a customised Radio Interface Layer may be used to communicate with the wireless communication module 118 (more information may be found at http://en.wikipedia.org/wiki/Radio Interface Layer), or where the wireless communication module 118 is an external wireless communication module, a USB or Ethernet interface may be used.
- FIG. 11 shows an alternative implementation wherein the security module 114 b is implemented within a wireless communication module 118 in the UE 110 .
- the wireless communication module 118 may be, for example, a modem or a baseband processor.
- This implementation is similar to that shown in FIGS. 9 and 10 , but utilises the GBA “push variant” for establishing a secure connection with the UE 110 , which is described in more detail above in respect of FIGS. 7 and 8 .
- the wireless communication module 118 may be accessed from the application logic within the UE 110 (for example, the DM client 116 , or any other application within the UE 110 ) using AT commands.
- the DM client 116 may use a custom AT command with the GPI as a parameter in order to pass the GPI to the security module 114 b .
- the DM client 116 may then expect a shared secret, for example Ks_NAF, to be returned as an output to the AT command.
- the security module 114 b When the security module 114 b has the GPI, it will have the material that it requires to derive the shared secret, for example it may have the identifier of the NAF, the RAND and the AUTN.
- the security module 114 b is able to use the RAND and AUTN to obtain the RES, CK and IK from the UICC 112 using the USIM application on the UICC 112 (or use just the RAND to obtain the SRES and Kc from the UICC 112 using the SIM application on the UICC 12 ) and derive the shared secret, for example Ks_NAF, in the same way as described in respect of FIG. 9 above.
- the security module 114 b may then return the shared secret, for example Ks_NAF, to the DM client 116 as an output to the AT command.
- the DM client 116 may use any other suitable commands.
- the DM client 116 may use an API, or a customised Radio Interface Layer (RIL), or where the wireless communication module 118 is an external wireless communication module, a USB or Ethernet interface, to communicate with the security module 114 b in order to pass the GPI to the security module 114 b and receive the shared secret in return.
- RIL Radio Interface Layer
- the security module 114 b on the wireless communication module 118 , it is possible to access low level, secure parts of the UICC 112 in order to carry out the GBA process described above, without exposing low level UICC 112 commands, or other direct access to the UICC 112 up to the application logic, for example via AT+CSIM to the DM client 116 or any other general applications.
- security of the UICC 112 can be maintained to prevent fraudulent parties from impersonating the UE 110 in order to engender fraud on the cellular network.
- FIG. 12 shows an alternative implementation wherein the GAA server 114 ′ is implemented within the UICC 112 in the UE 110 .
- the GAA server 114 ′ may be implemented as an applet within the UICC 112 .
- the GAA server 114 ′ will interface with the Ub 160 interface so as to carry out steps (d), (g), (j) and (k), which are described above.
- the GAA server 114 ′ may be accessed from application logic within the UE 110 (for example, the DM client 116 , or any other application within the UE 110 ) using AT commands.
- the DM client 116 may use a commonly supported AT command with an identifier of the NAF, for example NAF_Id, as a parameter of the AT command in order to pass the identifier of the NAF to the GAA server in step (c) described above.
- the DM client 116 may re-purpose commonly supported commands such as AT+CPBW (write to the UICC's phone book), or AT+CMGS (send an SMS), or AT+CRSM (which is a flexible command allowing data to be communicated to and from the UICC 112 whilst still shielding the SIM or USIM application from being called directly).
- AT+CPBW write to the UICC's phone book
- AT+CMGS send an SMS
- AT+CRSM which is a flexible command allowing data to be communicated to and from the UICC 112 whilst still shielding the SIM or USIM application from being called directly.
- Such commands may be used to write the identifier of the NAF to the UICC's phone book or the UICC's store of SMS messages or any other location in the UICC's memory.
- any other suitable UICC location for writing the identifier of the NAF may be utilised, for example any one or more of the ad hoc files available on the UICC 112 to store data from the UE 110 , such as a standard folder which is used for device management provisioning in OMA. These locations may therefore be used as a “read/write buffer” to pass input and output parameters to and from the GAA server 114 ′ running on the UICC 112 .
- existing, commonly supported AT commands may be re-purposed, or custom AT commands may be utilised.
- the GAA server 114 may then be configured to run periodically, or on an event-triggered basis, and monitor the buffer for recent “writes”. When a “write” is identified, it may retrieve the data written to the file and treat this as an input.
- steps (d) to (i) as described above may be carried out so that the GAA server 114 ′ can obtain the material it requires in order to derive the shared secret, for example Ks_NAF.
- the GAA server 114 may interface with the USIM application on the UICC 112 in step (h) and obtain the CK, IK and RES in step (i) (or it may use RAND and interface with the SIM application on the UICC 112 in step (h) and obtain the Kc and SRES in step (i)).
- the GAA server 114 ′ may write the shared secret to a location on the UICC 112 as an “output”.
- the GAA server 114 ′ may also write a transaction identifier, for example B-TID, to the same location, or to a different location.
- the DM client 116 may be configured to monitor the location(s) on the UICC 112 periodically and read the shared secret and/or transaction identifier from the location(s). For example, the DM client 116 may re-purpose commonly supported commands, for example AT+CPBR (read from the UICC's phonebook) or AT+CMGR (read from the UICC's SMS message store), or any other commands suitable for reading the output stored on a file of the UICC 112 (for example, AT+CRSM). Thus, the DM client 116 may obtain the shared secret and/or transaction identifier in step (I).
- AT+CPBR read from the UICC's phonebook
- AT+CMGR read from the UICC's SMS message store
- the GAA server 114 ′ By implementing the GAA server 114 ′ on the UICC 112 , it is possible to carry out the GBA process described earlier in order to establish secure communication between the NAF 122 and the UE 110 without exposing sensitive parts of the UICC 112 to applications on the UE 110 .
- the USIM (or SIM) on the UICC 112 may be kept inaccessible to the application logic, thus maintaining the security of the UICC 112 .
- the DM client 116 may interface with the GAA server 114 ′ to provide inputs and obtain outputs by re-purposing commonly supported AT commands, or by utilising custom AT commands. This may simplify the implementation of the UICC 112 containing the GAA server 114 ′ as an applet.
- any other suitable commands may be used to enable the DM client 116 to interface with the GAA server 114 ′, for example a custom Radio Interface Layer (RIL), or PC/SC (more information can be found at http://en.wikipedia.org/wiki/PC/SC), or SATSA (JSR 177) for J2ME (more information can be found at http://en.wikipedia.org/wiki/Security and Trust Services API for J2ME), or interchip USB (where one of the chips is in the UICC 112 ) (more information can be found at http://en.wikipedia.org/wiki/InterChip USB), or http to a webserver on the UICC 112 (more information can be found at http://technical.openmobilealliance.org/Technica/release program/scws vf 2.aspx).
- RIL Radio Interface Layer
- PC/SC more information can be found at http://en.wikipedia.org/wiki/PC/SC
- SATSA JSR 177
- J2ME more information can be found at http://
- FIG. 13 shows an alternative implementation wherein an interface application 114 a is implemented as an application on an application processor of the UE 110 and a security module 114 b is implemented within the UICC 112 on the UE 110 .
- the security module 114 b may be implemented as an applet within the UICC 112 .
- This implementation is similar to that shown in FIG. 10 in that it separates out the interface functionality and the security functionality of the GAA server 114 ′. Therefore, the interface application 114 a may terminate the Ub 160 interface at the UE 110 and the security module 114 b may interface with the USIM (or SIM) application on the UICC 112 in order to obtain the material it requires to derive the shared secret. In a similar way to that described in respect of FIG. 10 above, the security module 114 b and interface application 114 a may interface with each other in order to pass any necessary data between the two.
- the interface application 114 a may re-purpose common AT commands (such as AT+CPBW or AT+CMGS or AT+CRSM) to write the AUTN and RAND to a location(s) on the UICC 112 .
- the security module 114 b may then write to the same location(s) or a different location(s) any material that the interface application 114 a may require, for example the RES or SRES, so that the interface application 114 a may read the material off the UICC 112 and utilise it further as part of the GBA process (for example by using RES or SRES to protect communication with the BSF via the Ub interface).
- the DM client 116 may interface with the security module 114 b in the same way as described in respect of FIG. 12 (i.e. the DM client 116 may use AT commands, or any other suitable commands, to write an identifier of the NAF to a location(s) on the UICC 112 , which the security module 114 b may then read as an input.
- the security module 114 b may write the shared secret, for example Ks_NAF, and/or an identifier of the transaction, for example B-TID, to the UICC 112 buffer and the DM client may read the shared secret and/or transaction identifier from the buffer using AT commands, or any other suitable commands).
- the DM client 116 may use an application programming interface (API) to communicate with the interface application 114 a , for example to pass an identifier of the NAF (NAF_Id) to the interface application 114 a .
- API application programming interface
- the interface application 114 a in turn can use AT commands to interface with the security module 114 b in order to write the NAF_Id to the UICC 112 (either to the same location as the AUTN and RAND, or to a different location) so that the security module 114 b can obtain the shared secret and write it to a location on the UICC 112 so that the interface application 114 a can read the shared secret and return it to the DM client 116 .
- the security module 114 b may write to a location(s) on the UICC 112 material using which the shared secret can be derived, for example CK and IK, or Kc, such that the interface application 114 a may derive the shared secret and pass it on to the DM client 116 .
- the interface application 114 a may thus operate as a proxy to the security module 114 b for communication via Ub interface 160 and/or for communication with the DM client 116 .
- the functionality of the interface application 114 a may be performed by the DM client 116 (i.e. the interface application 114 a and the DM client 116 may be considered to be the same entity), or the interface application 114 a may be a plug-in component within the DM client 116 .
- communications functionality may also be kept in the application processor, away from the UICC 112 .
- insecure elements of the GAA server 114 ′ may be kept in the interface application 114 a , away from the UICC 112 , thereby improving the security of the UICC 112 .
- the security module 114 b will not have to terminate the Ub 160 interface, thereby simplifying the configuration of the UICC 112 .
- the secure functionality of the GAA server 114 ′ i.e. the parts of the GAA server 114 ′ that interface with the UICC 112
- a security module 114 b is implemented on the UICC 112 .
- the functionality of the interface application 114 a is also implemented on the UICC 112 , wherein the functionality of the interface application 114 a and the security module 114 b together make up the GAA server 114 ′.
- the implementation shown in FIG. 12 may be considered to implement both the interface application 114 a and the security module 114 b on the wireless module 118 .
- the interface application 114 a may be implemented as a ‘stand alone’ application on the application processor of the UE 110 . In an alternative, it may be implemented as a ‘plug-in’ to the DM client 116 , or the functionality of the interface application 114 a may be incorporated into the DM client 116 such that the interface application 114 a is the DM client 116 . In another alternative, the interface application 114 a may be implemented on a wireless communication module 118 .
- communications between the interface application 114 a and the security module 114 b are described as taking place using custom AT commands, it will be appreciated that any suitable commands or protocols may be utilised.
- GBA-U commands may be used if the security module 114 b on the UICC 112 supports them (the security module 114 b may be configured on the UICC 112 to receive and respond to GBA-U commands), or PC/SC (more information can be found at http://en.wikipedia.org/wiki/PC/SC), or SATSA (JSR 177) for J2ME (more information can be found at http://en.wikipedia.org/wiki/Security and Trust Services API for J2ME), or interchip USB (where one of the chips is in the UICC 112 ) (more information can be found at http://en.wikipedia.org/wiki/InterChip USB), or http to a webserver on the UICC 112 (more information can be found at http://technical.openmobilealliance.org/Technical/release program/scws v1 2.aspx), etc. may be used.
- FIG. 14 shows an alternative implementation wherein the security module 114 b is implemented within the UICC 112 .
- the security module 114 b may be implemented as an applet within the UICC 112 .
- This implementation is similar to that shown in FIGS. 12 and 13 , but utilises the GBA “push variant” for establishing a secure connection between the NAF 122 and the UE 110 , which is described in more detail above in respect of FIGS. 7 and 8 .
- the security module 114 b may be accessed by the DM client 116 using AT commands (either custom or re-purposed).
- the DM client 116 can write the GPI to a location on the UICC 112 using an AT command (for example, AT+CPBW or AT+CMGS or AT+CRSM).
- the security module 114 b may then read this and utilise the information within the GPI (for example, the RAND and AUTN) to obtain the material it requires (for example, CK and IK) to derive the shared secret, for example Ks_NAF.
- the GAA server 114 ′ can then write this to a location on the UICC 112 and the DM client 116 can read the shared secret from the UICC 112 using an AT command (for example, AT+CPBR or AT+CMGR or AT+CRSM) in order to obtain the shared secret.
- an AT command for example, AT+CPBR or AT+CMGR or AT+CRSM
- GBA-U commands may be used if the security module 114 b on the UICC 112 supports them, (the security module 114 b may be configured on the UICC 112 to receive and respond to GBA-U commands), or PC/SC (more information can be found at http://en.wikipedia.org/wiki/PC/SC), or SATSA (JSR 177) for J2ME (more information can be found at http://en.wikipedia.org/wiki/Security and Trust Services API for J2ME), or interchip USB (where one of the chips is in the UICC 112 ) (more information can be found at http://en.wikipedia.org/wiki/InterChip USB), or http to a webserver on the UICC 112 (more information can be found at http://technical.openmobilealliance.org/Technical/release program
- the security of the UICC 112 maintained by implementing the security module 114 b on the UICC 112 . Furthermore, because in the push variant there is no Ub interface, an http client is not required on the UE 110 , and thus it is possible to implement only the secure functionality of the GAA server 114 ′ (i.e. the parts of the GAA server 114 that interface with USIM or SIM) on the UICC 112 , thereby simplifying the configuration of the UICC 112 .
- the UICC 112 described above may be any sort of integrated circuit card (ICC) (also known as a smart card, or chip card), for example a subscriber identity module (SIM) card or IP Multimedia Services Identity Module (ISIM) card.
- ICC integrated circuit card
- SIM subscriber identity module
- ISIM IP Multimedia Services Identity Module
- FIGS. 10 and 13 show the interface application 114 a as a separate application to the DM client 116 , it will be appreciated that the interface application 114 a may be implemented as a plug-in component to the DM client 116 . Alternatively, the functionality of the interface application 114 a may form part of the functionality of the DM client 116 such that the DM client 116 performs the operations of the interface application 114 a .
- Ub interface 160 is “tunneled” to the DM client 116 via Ua 150 , or via a different interface Ua′ that is distinct from Ua 150 (wherein Ua′ may be established to confirm or not to conform to any standards and may be terminated by the DM client 116 or the interface application 114 a ).
- the security module 114 b described above may be configured to receive the material it requires to derive the shared secret (for example, the NAF_Id and RAND) from one or more applications on the UE 110 .
- the one or more applications on the UE 110 may be implemented on the applications processor of the UE 110 (for example, from the interface application 114 a and/or the DM client 116 ), or within the wireless communications module 118 (as explained above in respect of FIG. 13 ).
- the security module 114 b may receive the material it requires from a connection that is terminated at the security module 114 b /GAA server 114 ′.
- FIGS. 11 and 14 both show the DM client 116 terminating the Upa 155 interface.
- any application on the UE 110 may terminate the Upa interface 155 .
- the configurations shown in FIGS. 11 and 14 may further comprise the interface application 114 a , or any other application, which may terminate Upa and write the GPI to a location on the UICC 112 so that the security module 114 b may obtain the shared secret.
- the interface application 114 a may then read the shared secret from a location on the UICC 112 and pass it on to the DM client 116 , or the DM client 116 may itself read the shared secret from a location on the UICC 112 .
- the interface application 114 a may be implemented on the application processor, or on a wireless communication module 118 . Furthermore, rather than terminating Upa 115 , the interface application 114 a , or any other application, may terminate an interface through which Upa is “tunneled”, for example Ua′.
- the wireless communication module 118 may be, for example, a modem or a baseband processor.
- M2M devices have chips that include the functionality of a baseband processor (or modem) and the UICC directly wired onto a printed circuit board (PCB).
- PCB printed circuit board
- An applications processor, antenna, peripherals etc. may also be wired directly onto the PCB. Therefore, the term “wireless communication module” is intended to encompass not only standalone wireless communication modules (for example, a standalone modem, or a standalone baseband processor), but any component or group of components that are configured to execute the functionality of a wireless communication module.
- the interfaces between the NAF 122 and the UE 110 , between the BSF 130 and the NAF 122 and between the BSF 130 and the HLR/HSS 140 are represented as direct interfaces.
- any one or more of those interfaces may take any suitable form, whereby one or more intermediate devices or elements, for example communication routing devices, may be implemented as part of the interfaces.
- the interfaces between the elements within the UE 110 are represented as direct interfaces.
- any one or more of those interfaces may take any suitable form, whereby one or more intermediate elements, for example communication routing devices, may be implemented as part of the interfaces.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Mathematical Physics (AREA)
- Bioethics (AREA)
- Power Engineering (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephonic Communication Services (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
The present disclosure provides a wireless communication module for use in a machine to machine, M2M, the M2M device also comprising an integrated circuit card. In an alternative aspect, present disclosure also provides an integrated circuit card for use in a machine to machine device. The wireless communication module of the first aspect and the integrated circuit card of the alternative aspect are each configured for using at least part of a first data object to obtain a second data object from the integrated circuit card. The second data object is derived from the existing shared secret, is suitable for deriving security information and is suitable for use in establishing secure communication between the M2M device and a network application function, NAF.
Description
- The present invention relates to an integrated circuit card and wireless communications module that are each suitable for use in a machine to machine device.
- Machine to Machine (M2M) devices are often numerous, hard-to-reach, and have constrained capabilities (owing to low cost, small size, low processing power or limited battery life). All of this makes their management, often remote, very complicated. Moreover, M2M devices often need to be managed in a secure manner. For example, they may contain information that is commercially sensitive and/or confidential for the one or more entities that manage and/or own said devices. There is a need to remotely manage them in a secure way, while respecting these constraints.
- The M2M device needs to be able to contact a device management (DM) server in a secure manner. Whilst at the time of manufacture the device may be pre-provisioned with the necessary addresses and URLs to locate this DM server, this requires device suppliers to have knowledge about the device's end users. Furthermore, should the addresses or locations of the DM server change then the M2M devices will require updating to prevent communications from becoming lost or misdirected.
- Therefore, there is required a system and method that allows the M2M devices to communicate more reliably and more securely.
- In the 3GPP generic bootstrapping architecture (GBA), the M2M device may obtain data from a bootstrapping server function (BSF) so that a shared secret can be established between the M2M device and a network application function (NAF) with which the M2M device is in communication. The shared secret may then be used by the M2M device and the NAF to establish secure communication.
- However, in order to establish the shared secret, sensitive functions on the Universal Integrated Circuit Card (UICC) must be accessed (for example, the USIM or SIM application must be accessed). It can be very difficult to access sensitive functions on the UICC as it is important that security of the UICC is maintained in order to prevent fraudulent parties from impersonating the M2M device. Therefore, there is a need to identify a configuration of components on the M2M device that enables the necessary access to the UICC functions whilst still maintaining the security of the UICC.
- One of these architectures of 3GPP is a Generic Authentication Architecture (GAA), which is a complex of standards which is described, for example, in 3GPP TS 33.919 (entitled “3G Security; Generic Authentication Architecture (GAA); System description”, currently it may be retrieved at http://www.3gpp.org/ftp/Specs/html-info/33919.htm).
- Generic Bootstrapping Architecture (GBA) is a 3GPP standard defined in 3GPP TS 33.220 (entitled “Generic Authentication Architecture (GAA); Generic Bootstrapping Architecture (GBA)”, it could be currently retrieved at http://www.3gpp.org/ftp/specs/html-info/33220.htm). GBA is part of the complex of standards called GAA (see above).
- GBA is a standard which enables a shared secret to be derived (bootstrapped) from the existing security association between a mobile network and a SIM card. This involves a network element called a Bootstrapping Server Function (BSF). In other words, GBA leverages the security of a SIM card (UICC) to authenticate mobile equipment, and then derive key material for general-purpose applications.
- GBA may be advantageously used to provide high-security to the communication between a client and the server, thus allowing remotely managing, controlling and, in general, communicating with a device in a high security manner. In particular, GBA (or a GBA-like architecture) is used for enabling a secure communication with the device (which, according to an aspect of the present disclosure, may be an M2M device), said communication being between a server and a client, the client being associated with the device, and wherein this communication is done for managing the device and/or services provided by (or via) the device, thus enabling a secure management of that device and/or the services provided by (or via) the device. In this way, the device and/or the services provided by (or via) the device can be safely, securely and efficiently managed in a remote manner via a remote server.
- GBA has been developed mainly for securing mobile broadcast (e.g. pay TV and equivalents). Indeed, standards for Multimedia Broadcast Multicast Service (MBMS) rely on GBA. Similarly, Open Mobile Alliance (OMA) Mobile Broadcast Services Enabler Suite (BOAST) smartcard profile relies on GBA. To date, most of the limited number of deployments of GBA in the world has been for mobile broadcast. GBA has also been standardised as an optional feature in conjunction with presence services, and within miscellaneous “federated identity” services (e.g. Liberty Alliance, OpenID). In general, it is understood that GBA has been designed for use with mobile devices, such as mobile phones, laptop, computers, and many of the designed features have been provisioned with this in mind.
- A variant of GBA, called “GBA Push”, has been proposed for securing a message between a client and a DM server in the context of OMA Device Management Security. The OMA Device Management is specifically designed for management of mobile devices such as mobile phones, tablet, computers, etc.
- A different recent standard document (TS 102 690) merely mentions, in the context of M2M communications, the use of a standard GBA to secure communications between a device/gateway service layer and a network service layer.
- There are some alternatives for identifying/authenticating a mobile user/device to a service. All of these alternatives are simpler than using GBA. For example, mobile operators and service providers can use WAP header enrichment.
- Alternatively, the service provider can request the user to enter their phone number, send an SMS one-time password to that phone number, and ask the user to read the SMS and enter the password. These alternatives all work well with mobile devices and operators already, so service providers use them, although they are not as secure as GBA.
- Additionally, many service providers prefer to offer services to a huge range of mobile devices, many of which do not contain a SIM card (e.g. PCs, laptops, Wi-fi-only tablets etc.). Since GBA relies on a SIM card/UICC in order to work, there has been no interest in using it.
- Strong security is not possible with current alternatives such as a user-entered PIN or a bootstrapping message delivered by an SMS. These alternatives would either not be feasible or they would not provide the required level of security. First, there might not be a user around to enter a PIN (as most M2M devices operate independently from human intervention). Second, the service provider may be likely to want strong security (e.g. because M2M devices may include critical infrastructure), whereas PIN-based bootstrapping has weaker security. Third, if a PIN or SMS-based bootstrapping goes wrong (server connects to wrong client, client connects to wrong server, or there is a Man-In-The-Middle), then the user is likely to notice, complain and get it fixed, whereas an M2M device is unlikely to notice and complain, so may be permanently compromised. Neither is particularly practical by way of existing methods. For example, the OMA Device Management uses GBA Push for securing a message between a client and a DM server, and there is no explanation of how a similar architecture could be used or even modified for managing the device. Moreover, as mentioned above, the OMA Device Management is not compatible for use with an M2M device, as discussed above. This is particularly true for low cost, simple M2M devices, such as simple sensors, switches, low cost trackers etc. Further, the standard document mentioned above uses a standard GBA to secure communications between a device/gateway service layer and a network service layer. Thus, the communication is not used for device/service management-related communications, and it is not clear, based on the observations made above, how a similar architecture could be used or even modified for managing the device from the server. Moreover, for the reasons mentioned above, the OMA Device Management and the standard document are incompatible, and a combination of the GBA Push for OMA Device Management with the standard document is not feasible, as it would result in the wrong device management protocol (i.e. one that is not suitable for M2M devices, particularly simple M2M devices), and some very laborious effort to make the two compatible and delete the elements which are redundant.
- The OMA has defined a lightweight protocol for managing (as well as interacting with) M2M devices and managing services provided by M2M devices (e.g. remote control of attached sensors or machines). This protocol is called LWM2M, which is described in detail at http://technical.openmobilealliance.org/Technical/release_program/lightweightM2M_v1_0.a spx
- This protocol runs over the CoAP protocol (analogous to http)—more specifically CoAP over DTLS (coaps) which is analogous to http over TLS (https). However, coaps requires a secure association to be provisioned between a device and a network server (DM Server) while providing no strong means to provision such an association from scratch.
- A security aspect of OMA LWM2M is defined in Lightweight Machine to Machine Technical Specification Candidate Version 1.0-10 Dec. 2013 (OMA-TS-LightweightM2M-V1_0-20131210-C).
- In addition, there exists two protocols, the first one called DTLS defined in RFC 6347 (entitled “Datagram Transport Layer Security Version 1.2”; it could be currently retrieved at http://tools.ietf.org/html/rfc6347); the second one called CoAP defined in draft-ietf-core-coap-18 (entitled “Constrained Application Protocol (CoAP)”; it could be currently retrieved at http://datatracker.ietf.org/doc/draft-ietf-core-coap/). Both protocols are currently used in LWM2M. CoAP is still only an IETF draft (not a full RFC), and DTLS version 1.2 is also comparatively new (January 2012): versions of TLS have often existed as RFCs for several years before receiving widespread adoption.
- The User Datagram Protocol (UDP) channel security for [COAP] is defined by the Datagram Transport Layer Security (DTLS) [RFC6347], which is the equivalent of TLS v1.2 [RFC5246] for HTTP and utilizes a subset of the Cipher Suites defined in TLS. (Refers to TLS Cipher Suite registry http://www.iana.org/assignments/tls-parameters/tls-parameters.xml) The DTLS binding for CoAP is defined in Section 9 of [CoAP]. DTLS is a long-lived session based security solution for UDP. It provides a secure handshake with session key generation, mutual authentication, data integrity and confidentiality.
- The keying material used to secure the exchange of information within a DTLS session may be obtained using one of the bootstrap modes defined in Section 5.1.2 Bootstrap Modes of OMA LWM2M. The formats of the keying material carried in the LWM2M Security Object Instances are defined in Appendix E.1.1.
- There also exists an authentication protocol HTTP Digest authentication, which is defined in RFC 3310 (entitled “Hypertext Transfer protocol (HTTP) Digest Authentication using Authentication and Key Agreement (AKA)”, it can currently be retrieved at http://www.ietf.org/rfc/rfc3310.txt).
- The GAA cluster of specifications TS 33.222 (entitled “Generic Authentication Architecture (GAA); Access to network application functions using Hypertext Transfer Protocol over Transport Layer Security (HTTPS)”) defines a general approach for pre-shared key TLS (TLS-PSK, RFC 4279). This can currently be retrieved at http://www.3gpp.org/ftp/Specs/html-info/33222.htm). For example, see especially Section 5.4.
- In particular, with reference to GBA, 3GPP Specification TS 33.220 defines the components and interfaces that are shown in
FIG. 1 . These are further described as: -
NAF 122, the “Network Application Function” is a server-side component of an application that will be secured using GBA. - BSF, “Bootstrapping Server Function”, 130 is a server-side component, which obtains authentication vectors from the HLR/
HSS 140, and sends a challenge to the mobile device, “UE”, 110 during the GBA protocol. On successful authentication, it derives the shared secret. - HLR/
HSS 140, the “Home Location Register” or “Home Subscriber System”, is the existing 3GPP system which stores subscription details and credentials (the K and IMSI) for each SIM card (UICC) issued by a mobile operator. It may be “GBA-aware” (so that it stores details for a GBA user subscription) or may be a legacy component. - UE, the “User Equipment”, 110 is a mobile device containing a SIM card (UICC). The
UE 110 supports a client application which communicates with theNAF 122, as well as a service which interfaces to the UICC, communicates with theBSF 130, and derives the shared secret before passing it to the client application. This service is (somewhat confusingly) called a “GAA Server” in TR 33.905 (entitled “Recommendations for Trusted Open Platforms”, it can currently be retrieved at http://www.3gpp.org/ftp/specs/htmlinfo/33905.htm). -
Ua 150 is the interface between the Mobile Device (UE) 110 and the Network Application Function (NAF) 120. -
Ub 160 is the interface between the Mobile Device (UE) 110 and the Bootstrapping Server Function (BSF) 130. This is specified in detail in TS 24.109 (entitled “Bootstrapping interface (Ub) 160 and network application function interface (Ua) 150; Protocol details”, it can currently be retrieved at http://www.3gpp.org/ftp/Specs/html-info/24109.htm). - Zh/Zh′ 180 is the interface between the
BSF 130 and the HSS orHLR 140. TheZh 180 interface is used with anHSS 140 that is “GBA Aware”. The Zh′ 180 interface is used with a legacy HLR orHSS 140. The Zh and Zh′ 180 interfaces are specified in detail in TS 29.109 (entitled “Generic Authentication Architecture (GAA); Zh and Zn Interfaces based on Diameter protocol;Stage 3”, it can currently be retrieved at http://www.3gpp.org/ftp/Specs/html-info/29109.htm) and TS 29.229 (entitled “Cx and Dx interfaces based on the Diameter protocol; protocol details”, it can currently be retrieved at http://www.3gpp.org/ftp/Specs/html-info/29229.htm). -
Zn 170 is the interface between theNAF 122 and the BSF 130: this can use either a Web Services protocol (SOAP over http) or the Diameter protocol (RFC 3588). This is specified in detail in TS 29.109 (see above). - There are a few other components and interfaces defined within the GAA standards, but these are not described in detail here.
- There are several different versions of GBA defined in the standards. The flavours of GBA may include GBA-ME, GBA-U, GBA-SIM etc. The version called “GBA-ME” may require no special customizations of the UICC, except that the UICC does contain a 3G SIM (a USIM). However, other versions may be used. There may be a need to use the 2G variant of GBA (using a SIM rather than a USIM).
- The present disclosure provides a wireless communication module for use in a machine to machine, M2M, device (for example, a UE) comprising an integrated circuit card (for example, a UICC, smartcard etc.) comprising an existing shared secret that is shared between a network data store and the M2M device, wherein the wireless communication module is suitable for coupling to the integrated circuit card and wherein the wireless communication module comprises: a security module implemented in the wireless communication module, the security module being configured to: receive a first data object; and use at least part of the first data object to obtain a second data object from the integrated circuit card; wherein the second data object is derived from the existing shared secret; and wherein the second data object is suitable for deriving security information; and wherein the security information is suitable for use in establishing secure communication between the M2M device and a network application function, NAF.
- The first data object may comprise, for example, data that would enable the M2M device (for example, a user equipment, UE) to derive a shared secret (the security information) that is shared with the NAF. This data may comprise a RAND (and optionally also an AUTN), which the M2M device can use to obtain the second data object in order to derive the security information, which may be a new shared secret, such as a Ks_NAF.
- The first data object may additionally also comprise, for example, data that would enable the M2M device to authenticate a bootstrapping server BSF. For example, it may comprise an AUTN.
- The first data object is not limited to comprising only such material and may comprise one or more additional items, for example Ks-input, which is identified in Annex I of TS 33.220 for 2G GBA (with SIM).
- The second data object is derived from an existing shared secret, wherein the existing shared secret may be shared between a network data store and the M2M device. For example, the existing shared secret may be a K that is securely stored on a UICC of the M2M device and on a network data store in an HLR/HSS, and the second data object may comprise a CK and IK, or a Ks, that are derived from the K. Alternatively, the existing shared secret may be a Ki and the second data object may comprise Kc.
- The second data object may additionally also comprise, for example, a verification data object that may enable a bootstrapping server (BSF) to authenticate the M2M device. For example, it may comprise a RES or SRES.
- The second data object is not limited to comprising only such material and may comprise one or more additional items.
- The security module may be any part of the wireless communication module that can interface with the integrated circuit card and perform the functionality described above. For example, the security module may be a GAA server, or it may be only the part of the GAA server that securely interfaces with the integrated circuit card. It may also terminate one or more communications interfaces, for example Ub, and/or it may be configured to receive data from one or more applications implemented on the M2M device.
- By implementing the security module on the wireless communication module, secure, sensitive parts of the integrated circuit card may be accessed without exposing those parts to other parts of the M2M device, for example the application logic. Therefore, the security of the integrated circuit card can be maintained and the security information that is suitable for use in establishing secure communication between the M2M device and the NAF may still be derived (for example, by carrying out a generic bootstrapping architecture, GBA, process in order to obtain a new shared secret). Consequently, fraudulent parties may be prevented from impersonating the M2M device, which can protect the cellular network from fraudulent activities.
- The wireless communication module may be configured to receive from an application on the M2M device an identifier of the NAF (for example, NAF_Id). The application may be, for example, a DM client on the M2M device, or any other application/module/software on the M2M device.
- The identifier of the NAF may be received from the application on the M2M device as a parameter to a command. The command may be any suitable form of command for passing data to the security module, for example it may be an AT command. Using an AT command may be particularly advantageous since the wireless communications module may already have functionality to support AT commands and therefore require minimal modification in order to implement the security module on the wireless communication module.
- The security module may be configured to use at least the identifier of the NAF and at least part of the second data object (for example, CK and IK, or Ks, or Kc) to derive the security information (for example, Ks_NAF) and return the security information to the application. Optionally, the security module may further use at least part of the first data object (for example, RAND) to derive the security information.
- Optionally, the security information may be returned to the application as an output to the AT command that passed the identifier of the NAF to the security module.
- The security module may be configured to receive the first data object via an interface (for example, Ub) with a bootstrapping server function, BSF. The interface may be a direct interface between the security module and the BSF, or it may be tunneled via a different interface to the M2M device, or there may be one or more intermediate elements between the security module and the BSF. The wireless communication module may therefore be configured to terminate at least one interface, for example Ub, which may utilise any suitable protocol, for example http. In this instance, the security module may be configured to use at least part of the second data object (for example RES or SRES) to protect communication with the BSF via the interface.
- The security module may alternatively be configured to receive the first data object from the application on the M2M device. For example, the application may terminate the Ub interface, or an interface over which Ub is tunneled, or a GBA push interface Upa, or an interface over which Upa is tunneled. The application may therefore be configured to terminate the at least one interface, ensuring that such interface functionality, such as IP and http communications functionally, may be kept away from the security module and wireless communication module. Thus, insecure interface termination elements may be kept away from the integrated circuit card, thereby even further improving security and further simplifying the configuration of the wireless communication module.
- The wireless communication module may be configured to receive the first data object from a further application on the M2M device. The further application may be any application/module/software on the M2M device. For example ‘the application’ may be a device management (DM) client and the ‘further application’ may be an interface application implemented on the application processor of the M2M device.
- The first data object may be at least part of a push information object (for example, a GPI). Thus, the wireless communication module may be used to implement a GBA-push process.
- The wireless communication module may comprise a modem or a baseband processor.
- The present disclosure also provides a machine to machine, M2M, device (for example, a UE) for secure communication with a network application function, NAF, the M2M device comprising: an integrated circuit card (for example, a UICC) comprising an existing shared secret that is shared between a network data store and the M2M device; and the wireless communication module described above, wherein the wireless communication module is coupled to the integrated circuit card.
- Thus, the security module on the wireless communication module may interface with the secure parts of the integrated circuit card, thereby enabling the integrated circuit card to be used in the derivation of security information whilst still maintaining the security of the integrated circuit card.
- The M2M device may further comprise an application coupled to the security module, wherein the application is configured to provide an identifier of the NAF (for example, NAF_Id) to the security module. The application may be, for example, a device management (DM) client, or any other application/software/module on the M2M device. The identifier of the NAF may be provided by the application to the security module by any suitable means, for example using a command such as an AT command.
- The security module may be further configured to use at least the identifier of the NAF and at least part of the second data object (for example, the CK and IK, or the Ks, or the Kc) to derive the security information and return the security information to the application. The security module may additionally use at least part of the first data object, for example the RAND, to derive the security information.
- The application may be further configured to provide the first data object to the security module. For example, the application may use any suitable command, such as an AT command, in order to provide the first data object.
- Alternatively, the M2M device may comprise a further application coupled to the security module, wherein the further application is configured to provide the first data object to the security module. The further application may be any application/module/software on the M2M device. For example ‘the application’ may be a device management (DM) client and the ‘further application’ may be an interface application implemented on the application processor of the M2M device.
- The security module may also be configured to obtain a verification data object (for example, RES or SRES) and the application and/or further application (or any other application on the M2M device) may be configured to receive the verification data object, wherein the verification data object may be used for verification of the M2M device (for example, by being used to protect communication between the application or further application and a BSF). Alternatively, the security module may use the verification data object via an interface that it terminates, for example to protect communication with a BSF.
- The first data object may be at least part of a push information object, for example a GPI response. Thus, the M2M device may be used as part of a GBA-push process.
- The present disclosure also provides an integrated circuit card (for example, a UICC, smart card, chip card, subscriber identity module, SIM, IP multimedia services identity module, ISIM, etc.) for use in a machine to machine, M2M, device (for example, a UE), wherein the integrated circuit card comprises: an integrated circuit card application; an existing shared secret that is shared between a network data store and the M2M device, wherein the existing shared secret is accessible by the integrated circuit card application; and a security module coupled to the integrated circuit card application, the security module being configured to: use at least part of a first data object to obtain a second data object from the integrated circuit card application; wherein the second data object is derived from the existing shared secret; and wherein the second data object is suitable for deriving security information; and wherein the security information is suitable for use in establishing secure communication between the M2M device and a network application function, NAF.
- The integrated circuit card application may be any functionality on the integrated circuit card that has access to the existing shared secret and which may be used to obtain the second data object. The integrated circuit card application may be, for example, a USIM application that is configured to run an Authentication and Key Agreement (AKA) algorithm, as explained in 3GPP TS33.102, or a SIM application.
- The first data object may comprise, for example, data that would enable the M2M device (for example, a user equipment, UE) to derive a shared secret (the security information) that can be used to establish secure communication with the NAF. This data may comprise a RAND (and optionally also an AUTN), which the M2M device can use to obtain the second data object in order to derive the security information, which may be a new shared secret, such as a Ks_NAF.
- The first data object may additionally also comprise, for example, data that would enable the M2M device to authenticate a bootstrapping server BSF. For example, it may comprise an AUTN.
- The first data object is not limited to comprising only such material and may comprise one or more additional items.
- The second data object is derived from an existing shared secret, wherein the existing shared secret may be shared between a network data store and the M2M device. For example, the existing shared secret may be a K that is securely stored on a UICC of the M2M device and on a network data store in an HLR/HSS, and the second data object may comprise a CK and IK, or a Ks, that are derived from the K. Alternatively, the existing shared secret may be a Ki and the second data object may comprise Kc.
- The second data object may additionally also comprise, for example, a verification data object that may enable a bootstrapping server (BSF) to authenticate the M2M device. For example, it may comprise a RES or SRES.
- The second data object is not limited to comprising only such material and may comprise one or more additional items.
- The security module may be any part of the integrated circuit card that can interface with the integrated circuit card application and perform the functionality described above. For example, the security module may be an applet on the integrated circuit card, the applet functioning as a GAA server, or the part of the GAA server that interfaces with the secure parts of the integrated circuit card. It may additionally terminate one or more communications interfaces, for example Ub, Ua, Upa, and/or it may be configured to receive data from one or more applications implemented on the M2M device.
- By implementing the security module on the integrated circuit card, secure, sensitive parts of the integrated circuit card may be accessed without exposing those parts of the integrated circuit card to other parts of the M2M device, for example the application logic. Therefore, the security of the integrated circuit card can be maintained and the security information that is suitable for use in establishing secure communication between the M2M device and the NAF still be derived (for example, by carrying out a generic bootstrapping architecture, GBA, process in order to obtain a new shared secret). Consequently, fraudulent parties may be prevented from impersonating the M2M device, which can protect the cellular network from fraudulent activities.
- The security module may be configured to: obtain an identifier of the NAF (for example, a NAF_Id); and use at least the identifier of the NAF and the second data object (for example, the CK and IK) to derive the security information (for example, a Ks_NAF).
- Optionally, the security module may additionally use at least part of the first data object (for example, the RAND) to derive the security information.
- The security module may be configured to obtain the identifier of the NAF by obtaining it from a first location on the integrated circuit card. For example, the identifier of the NAF may have been written to a location, such as an input/output buffer or file etc, on the integrated circuit card and the security module may read the identifier from that location.
- The security module may be configured to: monitor the first location on the integrated circuit card; and obtain the identifier of the NAF when a change to the first location is identified.
- Alternatively, rather than ‘obtaining’ the identifier of the NAF, the security module may simply receive the identifier of the NAF. For example, an application on the M2M device may pass the identifier of the NAF to the security module using, for example, GBA-U commands (but directed towards the security module, rather than towards the integrated circuit application which generates the second data object) or any other suitable commands/protocols/procedure etc. This may be done without any action previously having been performed by the security module (i.e. the security module need not previously have requested the identifier of the NAF).
- The security module may be configured to obtain the first data object from the first location on the integrated circuit card. For example, the first data object may have been written to the same location on the integrated circuit card as the identifier of the NAF (either at the same time or at a different time to when the identifier of the NAF is written to the location) and the security module may read the first data object from that location.
- The security module may be configured to: monitor the first location on the integrated circuit card; and obtain the first data object when a change to the first location is identified.
- Alternatively, rather than ‘obtaining’ the first data object, the security module may simply receive the first data object. For example, an application on the M2M device may pass the first data object to the security module using, for example, GBA-U commands or any other suitable commands/protocols/procedure etc. Both the identifier of the NAF and the first data object may be ‘received’ by the security module in this way, or just one of the identifier of the NAF and the first data object may be received in this way with the other being ‘obtained’ in the way described above, or they may both be ‘obtained’ in the way described above. This may be done without any action previously having been performed by the security module (i.e. the security module need not previously have requested either the identifier of the NAF or the first data object).
- The security module may be configured to obtain the first data object from a second location on the integrated circuit card. For example, the identifier of the NAF may be obtained from a first location on the integrated circuit card, where it has been written, and the first data object may be obtained from a different, second location on the integrated circuit card, where it has been written.
- The security module may be configured to: monitor the second location on the integrated circuit card; and obtain the first data object when a change to the second location is identified.
- The security module may be configured to write the security information to a third location on the integrated circuit card. In this way, it may be possible for an application on the M2M device subsequently to read the security information from the third location, such that the application may use the security information to establish secure communication with the NAF.
- The security module may be further configured to: use at least part of the first data object (for example, RAND and/or AUTN) to obtain a verification data object (for example, RES or SRES) from the integrated circuit card application; and write the verification data object to the third location on the integrated circuit card. The verification data object may be written to the third location either at the same time or at a different time to when the security information is written to the third location.
- Alternatively, the security module may be further configured to: use at least part of the first data object (for example, the RAND and/or AUTN) to obtain a verification data object (for example, RES or SRES) from the integrated circuit card application; and write the verification data object to a fourth location on the integrated circuit card. For example, the security information may be written to a third location on the integrated circuit card and the verification data object may be written to a different, fourth location on the integrated circuit card.
- In this way, it may be possible for the verification data object to be used to verify the M2M device e.g. verify the identity of the device or an application on the device. For example, a bootstrapping server (BSF) may read the verification data object from the third or fourth location and use it to verify the M2M device, or an application (for example an interface application, or a DM client or any other application) on the M2M device may read the verification data object from the third or fourth location, such that it can be used to protect communication with a device that can perform verification (for example, a BSF or any other suitable server/component/function).
- Alternatively, rather than writing the security information and/or verification data object to a location(s) on the integrated circuit card, the security module may output the security information and/or verification data to an application on the M2M device (or to a device, for example a BSF). For example, GBA-U commands or any other suitable command/protocol/procedure may be used to output one or both of the security information and verification data object from the security module.
- The first location may be part of a phone book or part of a store of SMS messages or part of a file buffer; the second location is part of the phone book or part of the store of SMS messages or part of a file buffer; the third location is part of the phone book or part of the store of SMS messages or part of a file buffer; and the fourth location is part of the phone book or part of the store of SMS messages or part of a file buffer.
- Whilst the possibility of four different locations on the integrated circuit card has been described, it will be appreciated that only a single location may be used. For example, the first data object and/or the identifier of the NAF may be written to a first location and the security information and/or verification data object may also be written to the first location. Two or more locations may alternatively be used in a similar way, wherein one location may be read by the security module to receive input data and the same location may be used by the security module to write output data. Furthermore, three or five or more different locations on the integrated circuit card may be used to carry out the process(es) of the present disclosure (for example, where multiple different locations may be available for the first data object etc).
- The present disclosure also provides a machine to machine, M2M, device (for example, a UE) for secure communication with a network application function, NAF, the M2M device comprising the above disclosed integrated circuit card.
- As explained earlier, the security module may be configured to terminate one or more interfaces (for example Ub, Upa, Ua etc.) and/or to interface with one or more applications on the M2M device.
- The M2M device may further comprise: an application (for example, a device management client, or any other application) that is coupled to the integrated circuit card and is configured to: write an identifier of the NAF to a first location on the integrated circuit card.
- The application may be configured to write the identifier of the NAF to the first location on the integrated circuit card using a command. The command may be any suitable form of command for passing data to the security module, for example it may be an AT command.
- Using an AT command may be particularly advantageous since the M2M device may already have functionality to support AT commands to communicate with the integrated circuit card (for example to write data to the phone book or SMS store etc.) and therefore require minimal modification in order to implement the security module on the wireless communication module. Existing AT commands may be repurposed to write the NAF to the first location, or custom AT commands may be used.
- Alternatively, as explained earlier, the application may be configured to pass the identifier of the NAF to the security module by means of any other suitable commands/protocols/procedures, for example GBA-U commands.
- The application may be configured to obtain the security information from a third location on the integrated circuit card.
- The application may be further configured to obtain the security information from the third location using a command. The command may be any suitable form of command for passing data to the security module, for example it may be an AT command.
- The application may be configured to: monitor the third location on the integrated circuit card; and obtain the security information when a change to the third location is identified.
- The application may be further configured to write the first data object to the first location on the integrated circuit card (i.e. to the same location as the identifier of the NAF). Any suitable commands/protocols/procedures may be used, for example AT commands or GBA-U commands etc.
- The application may be further configured to obtain a verification data object (for example RES or SRES) from the third location on the integrated circuit card (i.e. the same location as the security information), or from a fourth location on the integrated circuit card. Again, any suitable commands/protocols/procedures may be used, for example AT commands or GBA-U commands etc.
- The M2M device may further comprise a further application configured to write the first data object to a second location on the integrated circuit card. For example, the further application may be an interface application that is configured to terminate an interface over which the first data object is transmitted.
- The further application may be further configured to obtain a verification data object (for example RES or SRES) from the third location on the integrated circuit card, or from a fourth location on the integrated circuit card.
- The application disclosed above may be a device management client, or a plug-in to a device management client, or a proxy to a device management client. Additionally, or alternatively, the further application may be a device management client, or a plug-in to a device management client, or a proxy to a device management client.
- For example, any of the M2M devices disclosed above may further comprise a device management client, wherein the device management client comprises the application (for example, as a plug-in component) and additionally, or alternatively, the further application (for example, as a plug-in component). The device management client may, for example, be implemented on the application processor of the M2M device, or in any other suitable location on the M2M device, for example on a wireless communications module.
- Alternatively, any of the M2M devices disclosed above may further comprise a device management client, wherein the application is configured to operate as a proxy to the device management client. Additionally, or alternatively, the further application may operate as a proxy to the device management client.
- The application and/or further application may, for example, be implemented on the application processor of the M2M device, or in any other suitable location on the M2M device, for example on a wireless communications module
- The application and/or further application may, in addition or as an alternative to any of the above possibilities, be configured to operate as a proxy to the security module. It may be configured to terminate one or more interfaces (for example a Ub interface, Upa interface, Ua interface etc.) and function as an interface application, or it may be configured to sit between the security module and an application/module that terminates one or more interfaces.
- For example, the application may be a DM client or a plug-in to the DM client, and the further application may be separately implemented on the application processor as a proxy to the DM client and/or security module. Or, the application may be a proxy to the DM client and the further application may be a proxy to the security module. Or both the application and the further application may be plug-ins implemented in a DM client. Or, the further application may not be implemented at all, and the application may be the DM client, or a plug-in to the DM client, or a proxy to the DM client and/or a proxy to the security module.
- The methods described above may be implemented as a computer program comprising program instructions to operate a computer. The computer program may be stored on a computer-readable medium.
- The computer system may include a processor such as a central processing unit (CPU). The processor may execute logic in the form of a software program. The computer system may include a memory including volatile and non-volatile storage medium. A computer-readable medium may be included to store the logic or program instructions. The different parts of the system may be connected using a network (e.g. wireless networks and wired networks). The computer system may include one or more interfaces. The computer system may contain a suitable operation system such as UNIX, Windows® or Linux, for example.
- It should be noted that any feature described above may be used with any particular aspect or embodiment of the invention.
- The present invention may be put into practice in a number of ways and embodiments will now be described by way of example only and with reference to the accompanying drawings, in which:
-
FIG. 1 shows a schematic diagram of components and interfaces with which GBA may be used; -
FIG. 2 shows a schematic diagram of an example of an architecture that can be used in accordance with the present invention, in particular when GBA is used; -
FIG. 3 shows an exemplary flow diagram of communications exchanged within the exemplary architecture ofFIG. 2 ; -
FIG. 4 shows a schematic diagram of an example of an alternative architecture that can be used in accordance with the present invention, in particular when generic bootstrapping architecture (GBA) is used; -
FIG. 5 shows a schematic diagram of an example of an architecture with example communication exchange steps that can be used, in particular, with GBA; -
FIG. 6 shows an exemplary flow diagram of communications exchanged within the exemplary architecture ofFIG. 5 ; -
FIG. 7 shows a schematic diagram of an example alternative architecture utilising push messages; -
FIG. 8 shows an exemplary flow diagram of communication exchanged within the exemplary architecture ofFIG. 7 ; -
FIG. 9 shows a schematic diagram of an example architecture that can be used in accordance with the present invention, wherein aGAA server 114′ is implemented within awireless communications module 118 on aUE 110; -
FIG. 10 shows a schematic diagram of an example architecture that can be used in accordance with the present invention, wherein asecurity module 114 b is implemented within awireless communications module 118 on aUE 110; -
FIG. 11 shows a schematic diagram of a further example architecture that can be used in accordance with the present invention, wherein asecurity module 114 b is implemented within awireless communications module 118 on aUE 110; -
FIG. 12 shows a schematic diagram of an example architecture that can be used in accordance with the present invention, wherein aGAA server 114′ is implemented within aUICC 112 on aUE 110; -
FIG. 13 shows a schematic diagram of an example architecture that can be used in accordance with the present invention, wherein asecurity module 114 b is implemented within aUICC 112 on aUE 110; and -
FIG. 14 shows a further schematic diagram of an example architecture that can be used in accordance with the present invention, wherein asecurity module 114 b is implemented within aUICC 112 on aUE 110. - It should be noted that the figures are illustrated for simplicity and are not necessarily drawn to scale. Like features are provided with the same reference numerals.
- A device may communicate securely with a server. The device may be a Machine to Machine (M2M) device, or an equivalent device (e.g. a device, a generic or specific communication device, including one or more modules capable of providing M2M capabilities).
- Aspects of the Generic Authentication Architecture (GAA) and Generic Bootstrapping Architecture (GBA) are identified in “Details of 3GPP standards and technologies used to implement aspects of the method and system” above. In particular, the specific architecture on which the method and system may be based is GBA.
- Generic Bootstrapping Architecture (GBA) uses existing security associations between a network (e.g. a mobile network) and a card (e.g. a SIM card or UICC) to derive a key that can be used for the secure communication between the client and the server. Accordingly, if the device is associated with such a card, as well as with the client, the method can advantageously use the GBA to derive the security elements (e.g. a shared secret) to enable the client associated with the device to securely communicate with the server. Accordingly, the device could be advantageously adapted so that it is associated with the card and the client and uses GBA to derive the security elements for secure communication with the server. Moreover, as GBA is standards-based, the impact of the required modifications may be relatively limited and the overall solution would be very attractive (in particular, to M2M users/owners as well as to network operators and/or service providers).
- M2M devices are different from the mobile devices that OMA Device Management was originally designed for (such as mobile phones, laptops, computers, as explained in “Details of 3GPP standards and technologies used to implement aspects of the method and system” above), and use of GBA (in any of its versions) with M2M is not a straightforward implementation.
- A variant of GBA, called “GBA Push” has been proposed for securing a message between a client and a DM server in the context of OMA Device Management Security, and is identified in “Details of 3GPP standards and technologies used to implement aspects of the method and system” above. It is noted that, although GBA Push and GBA are related, it is not trivial to use GBA in place of GBA Push (and vice versa). This is because these two architectures have some important differences. First, in GBA the device has to contact the BSF in order to request a RAND and AUTN (and use this to derive a Ks_local). To the contrary, in GBA Push, the client does not have to talk to the BSF—it just receives a message prepared by the BSF. Furthermore, in GBA, there is no need to modify the Ua interface. In GBA Push, either the Ua interface has to be modified in some way to carry the push message or a new interface must be added. Accordingly, GBA Push cannot be used with an arbitrary application protocol. For GBA Push, the application protocol has to be “GBA aware” in some sense (e.g. so it can carry the GBA Push Info (GPI) messages). In GBA, the Ks_local can be used to derive several different Ks_NAFs (e.g. for different application servers). In GBA Push, only one NAF can use/rely on the Ks_local. Accordingly, GBA Push is slightly less efficient than GBA.
- The GBA Push Info is described in 3GPP TS 33.223, Section 5.2.1. The encoding is defined in Section 5.3.5. See in particular table 5.2.1.1 and FIG. 5.3.5.1 in 3GPP TS 33.223 V12.0.0 (2013-12) that may be found:
- http://www.3gpp.org/ftp/Specs/archive/33_series/33.223/33223-c00.zip
- Moreover, as discussed above, M2M devices are very constrained in their capabilities (e.g. computation, communication, life, etc.) and these constraints make their management more complex and harder to implement in a simple manner. GBA requires a number of interfaces and components which are hard to implement with M2M (for examples and description of these interfaces and components, please refer to the sections below).
- In order to more efficiently and securely manage the device and/or services provided by (or via) the device, these interfaces and components need to be modified or otherwise adapted so they can properly and effectively work with M2M devices.
- For example, carrying the Ub interface (and associated protocol) over constrained M2M devices is very difficult. For example, the standard Ub interface uses HTTP and HTTP digest. The likely rationale for this is that, as mentioned above, GBA was designed having mobile devices, such as mobile phones, in mind. So, since all phones use HTTP, and therefore all have an HTTP stack, then HTTP was the easiest protocol to be used for the Ub interface. However, this is not true for M2M devices. For example, according to the Lightweight M2M (LWM2M) protocol (see below for more details), a protocol called CoAP is used in M2M devices, precisely because it is a simpler/more efficient alternative to HTTP. Alternatively, this Ub interface could be tunneled, for example via another interface (e.g. the Ua), so that the system may be simplified.
- Additionally, building all the necessary components (e.g. GAA server, interfaces) into a capacity-constrained M2M device appears to be very difficult. For example, physical and virtual space constraints, as well as computational constraints, create considerable problems for building the necessary components. Moreover, having one or more interfaces between M2M application(s) and a card on the device, such as a UICC, is very difficult. This is due, for example, to the fact that most M2M modems do not support the required low level interface(s). In general, the overall integration of the GBA required interfaces and components with an M2M device appear very difficult. A possible, but not optimal solution, could be to pre-provision the M2M devices (e.g. having the M2M devices already designed and/or manufactured with the required components and interfaces) and the associated elements required for use of GBA (e.g. the card being capable of interfacing with the M2M device) so that the GBA could be used. To date, no M2M device is pre-provisioned with these characteristics.
- In addition, as noted above, GBA is not widely used. There are other reasons why GBA is not widely used. For example, use of GBA requires support in the device, in the network (e.g. BSF—see below) and by individual services (which may be deployed, for example, by a mobile operator or by other parties). In the preferred use-case (mobile broadcast) support is also required in the SIM card (as it uses GBA-U). Accordingly, a lack of coordination and willingness to act/cooperate between the various parties involved in this deployment (e.g. device manufacturers, mobile operators, service providers) has so far blocked implementation of GBA.
- For all the above reasons, GBA (or a GBA-like architecture, for example a variant and/or a suitably modified version) may be used for enabling a secure communication with a device (in particular, an M2M device). The communication may be between a server and a client, the client being associated with the device, and wherein this communication may be done for managing the device and/or services provided by (or via) the device. This enables a secure management of that device and/or the services provided by (or via) the device and creates a new and innovative combination which produces a synergistic effect and provides many technical advantages.
- For instance, as already mentioned above, the GBA will provide a higher and very strong level of security to the device/service management-related communications with M2M devices, which is a very critical and important point.
- Another advantage, in addition or combined with the strong security described above, is in terms of full automation. Moreover, an M2M service provider does not have the cost/complexity of setting up their own security solutions, as the solution can be provided directly by the mobile operator implementing the solution described in this application. In particular, a service provider does not have to set up a PKI, issue certificates, pre-load keys to devices and so on.
- Accordingly, the method may further comprise that the provision of the secure communication is based on a security association between a network and a card, the card being associated with the device. For example, the card may be embedded within the device (e.g. soldered in the device) or provided to the device by way of a suitable connection. In general, the card may be associated in any suitable manner so that there is an association between the card and the device. The network can be a mobile network, or any equivalent network, while the card can be a SIM card, a UICC, or any card associated with the network. The method may further comprise deriving a shared secret based on the security association. The method may further comprise providing the client and the server with the shared secret so as to enable the secure communication. The server may be a server adapted to manage the device (e.g. remotely manage the device, send updates, transfer information to and from the device, control device parameters, etc.) and to manage services provided by the device (e.g. device is used to switch on/off and/or dim streetlights). The shared secret may be a key and/or a similar security arrangement.
- The method may further comprise authentication between the client and the server. The authentication may be based on the shared secret. The authentication may be performed via an authentication component. The authentication may be performed by means of a first authentication between the client and an authentication component and of a second authentication between the server and the authentication component. The client and the server may be independently authenticated by an authentication component. As a result of the client and the server being authenticated by the authentication component, both the client and the server may share the shared secret. The authentication may be performed by means of the shared secret. The shared secret may be shared between the client and the server. Alternatively, the shared secret may be shared between the client, the server and the authentication component. The authentication may implicitly result from the client, the server and the authentication component sharing the shared secret. The method may further comprise deriving a second shared secret based on the shared secret, the second shared secret being shared between the client and the server. This second shared secret may then be used for the authentication as discussed above.
- The obtainment of the shared secret at the client may be based on an identifier associated with a server authentication component. The shared secret may be obtained at the server from the authentication component. The obtainment of the shared secret at the server is obtained based on an identifier associated with the shared secret. The identifier is generated by the authentication component. The identifier may be provided to the server by the client.
- The OMA LWM2M protocol for managing (as well as interacting with) M2M devices and managing services provided by M2M devices (as described in “Details of 3GPP standards and technologies used to implement aspects of the method and system”) may be used. However, other device management protocols may be used or the method and system may be extended to other M2M services (for example, securing the delivery of binary SMS).
- GBA could be advantageously used in conjunction with LWM2M in order, for example, to establish keys for LWM2M, whilst at the same time LWM2M and the procedures specified therein could be used to transport and/or carry any message and/or communication which relates to GBA. For example, this can be done by using specific tunnels (e.g. Ub) or GBA
- Push Info (GPI) messages. The use of GBA together with LWM2M creates a new and innovative combination which produces a synergistic effect and provides many technical advantages. For example, it allows addressing many more low-end devices, such as M2M devices. This is due, for example, to the use of a device management protocol which is properly optimized for M2M, rather than one repurposed from the consumer space (e.g. OMA DM v1, TR-069). This optimised protocol can be used to transport GBA messages—avoiding the need for a separate HTTP stack—and to manage GBA parameters (identifiers for device and application, lifetimes, key derivation methods, etc.). Further, when accompanied by appropriate network systems to provide automated routing and discovery (e.g. of LWM2M server and BSF), GBA and LWM2M advantageously combine to eliminate the cost of pre-loading settings and credentials, so facilitating low cost devices. GBA with LWM2M securely supports low-cost devices which are unattended or have no UI, where there is no option for user interaction (such as entry of PIN), and where there is no user who is able to notice and recover from authentication failures (spoof server, spoof client or Man In The Middle), Moreover, GBA works without requiring any public key or certificate processing on the device. This is particularly advantageous on simpler devices, as these devices may have minimal public key support or implementation errors when handling certificates.
- Accordingly, the shared secret may be used as a key in the LWM2M standard. Also, the LWM2M standard procedures may be used for transmission and/or reception of any communication used within the GBA.
- The shared secret may be used as a key or shared secret within the DTLS protocol (identified in “Details of 3GPP standards and technologies used to implement aspects of the method and system” above), either when the LWM2M is used in conjunction with a DTLS protocol or when the DTLS is used alone or in conjunction with one or more other protocols.
- The secure communication may further be a data communication. The data communication may be an SMS-based communication. An SMS binding may be used. The data communication may be a UDP-based communication.
- The method may further comprise encrypting a communication over the secure data communication. The encryption may be performed using an Advanced Encryption Standard. The SMS-based communication may be further secured by use of an Over-The-Air (OTA) protocol, e.g. a Secured Packet Structure for UICC Applications. This protocol is defined in ETSI standard 102.225. The OTA protocol may be arranged to secure the communication with the identification card associated with the device.
- It has also been noted that the OTA protocol can be used advantageously in conjunction with the LWM2M standard, in which the LWM2M can be used to manage parameters, keys and similar elements for the OTA protocol.
- The use of OTA with LWM2M is not a straightforward implementation. OTA is a solution designed for SIM card security, as it has some real technical challenges if used for LWM2M. In particular, while there is software written for SIM cards and SIM OTA servers to support ETSI standard 102.225, a similar software does not exist in the device management space for devices (and, in particular, not for OMA DM clients and servers). Thus, M2M device manufacturers do not have a code-base that they can easily adapt for use with these devices.
- Further, the ETSI standard 102.225 does not explain how to set up the keys and parameters for use with the standard. It simply assumes the keys and parameters are all pre-loaded and known to both SIM card and OTA server. Although this assumption is acceptable in the SIM space—because SIM cards can be securely provisioned with the necessary keys at the manufacturing stage, and SIM manufacturers have interfaces with operators for communicating the necessary keys and parameters—the same cannot be said about LWM2M, where that infrastructure does not exist.
- Thus, the use of OTA together with LWM2M creates a new and innovative combination which produces a synergistic effect and provides many technical advantages. For example, the SMS bearer needs to be secured, and so far no solution has been found. Use of OTA enables the SMS bearer to be used in LWM2M. Without it, it would not be possible to use SMS-based communications in LWM2M, and that would limit the applicability of the overall LWM2M standard.
- Accordingly, the LWM2M standard procedures may be used to manage parameters and/or keys used in the OTA protocol. The method may further be used in conjunction with LWM2M, as described above.
- It has also been noted that the method described above, implemented using the GBA (or a similar architecture), can be used in conjunction with SMS so that the GBA can be employed to establish keys for secure SMS-based communications (e.g. SMS), while at the same time SMS-based communications can be used to transport or carry messages associated with GBA—for example, carry GBA Push Info (GPI) messages. The use of SMS-based communications together with GBA creates a new and innovative combination which produces a synergistic effect and provides many technical advantages. For example, GBA can be used to establish the shared keys that are needed to protect SMS, while using SMS as a transport to deliver the necessary GBA messages. Further the SMS used to deliver the GBA messages can themselves be integrity protected (and partly encrypted) using the keys that will be established by GBA, so at no point is there a reliance on not secure SMS. This synergistic combination allow use of SMS as the sole bearer for M2M traffic, something which would not otherwise be possible, except by preloading the keys needed to secure SMS traffic, or switching to a different protocol to negotiate these keys: both of these alternatives would add complexity and cost. Thus, it would provide a very high security solution for obtaining shared keys so that the security of the keys is not compromised, and at the same time an-SMS-based communication is enabled by virtue of the provisioning of the keys.
- Accordingly, when the method is implemented using GBA, the GBA may be used to establish keys for secure transmission and/or delivery of SMS. SMS-based communications may be used for transmission and/or reception of any communication used within the GBA, noting that these communications may themselves be protected using the keys that will be derived in GBA.
- In addition to the above, the server may further comprise a server authentication component. Also, the client may further comprise a client authentication component. The server authentication component may perform authentication of the server with the authentication component. The client authentication component may perform authentication of the client with the authentication component.
- Further, the authentication component may be a Bootstrapping Server Function (BSF), the server authentication component may be a Network Application Function (NAF) and the client authentication component may be a GAA Server.
- The method may further comprise communicating between the server and the client for determining security parameters to be used for the secure communication, wherein the communicating is performed by using a device management protocol (for example, the GBA). The secure communication may be for use in the device management protocol.
- In a further embodiment, there is provided a method of enabling secure communication for use in a device and/or service/application management protocol, the secure communication being between a server and a client, the client being associated with a device, the secure communication requiring security parameters to be agreed between the client and server, the method comprising communicating between the server and client to agree the security parameters, wherein the communicating is performed by using the device management protocol. The device can be an M2M device.
- In a further embodiment, there is provided an apparatus, system, module or network for enabling secure communication with a device, said communication being between a server and a client, the client being associated with the device. In addition, the apparatus, system, module or network may further include means for performing any one of the steps or features of the methods described above. The device can be an M2M device.
- In a further embodiment, there is provided an apparatus, system, module or network for enabling secure communication for use in a device and/or service/application management protocol, the secure communication being between a server and a client, the client being associated with a device, the secure communication requiring security parameters to be agreed between the client and server, the method comprising communicating between the server and client to agree the security parameters, wherein the communicating is performed by using the device management protocol. In addition, the apparatus, system, module or network may further include means for performing any one of the steps or features of the methods described above. The device can be an M2M device.
- In a further embodiment, there is provided a client including any means, features or functionalities corresponding to the means, features or functionalities relative to the client as recited by any one of the methods described above.
- In a further embodiment, there is provided a server including any means, features or functionalities corresponding to the means, features or functionalities relative to the server as recited by any one of the methods described above.
- In a further embodiment, there is provided a device comprising a card and a client, wherein the device is arranged for enablement of secure communication, the secure communication being between a server and the client, wherein the provision of the secure communication is based on a security association between a network and the card. The client may comprise any means, features or functionalities corresponding to the means, features or functionalities relative to the client as recited by any one of the methods described above. The device can be an M2M device.
- In a further embodiment, there is provided a server arranged for enablement of secure communication with a device, the secure communication being between the server and a client associated with the device, wherein the provision of the secure communication is based on a security association between a network and a card, the card being associated with the device. The server may comprise any means, features or functionalities corresponding to the means, features or functionalities relative to the server as recited by any one of the methods described above. The device can be an M2M device.
- In a further embodiment, there is provided a system for enabling secure communication with a device, said communication being between a server and a client, the client being associated with the device, wherein the provision of the secure communication is based on a security association between a network and a card, the card being associated with the device. The device can be an M2M device.
- In a further embodiment, there is provided a method of enabling secure data communication with a device, the communication being between a server and a client associated with the device, wherein the security of the communication is enabled by a bootstrapped secret. The device can be an M2M device. The security protocol may be used to secure the data communication. The bootstrapped secret may be used to obtain the security elements used for the secure protocol. The bootstrapped secret may be a pre-shared secret, said secret being directly provided to the server and the client. The pre-shared secret may be permanently provided to the server and the client (e.g. by pre-provisioning the client and/or the server with said pre-shared secret, e.g. at manufacturing stage or before the client and/or server are used in a system). The pre-shared secret may be a strong, high entropy or a temporary, low-entropy pre-shared secret. The bootstrapped secret may be based on a public key or a certificate-based method. The bootstrapped secret may be provided via a bootstrap server. The security elements can be keys and/or similar arrangements well known in the art.
- The communication may be an SMS-based communication. The security protocol is defined by ETSI TS 102.225. The method may use SMS binding. The device may be further associated with a card, and the security of the data communication may be controlled by means of the card. Any incoming SMS-based communication may be decrypted and/or checked by means of the card, and/or any outgoing SMS-based communication may be encrypted and/or checked by means of the card.
- The communication may be a UDP-based communication. The security protocol may be a DTLS protocol.
- The secure data communication may be provided over a communication interface. The communication interface may be used for managing the device of for managing the bootstrapping operations.
- The data communication may be performed according to the LWM2M protocol.
- In a further embodiment, there is provided an apparatus, system, module or network for enabling secure data communication with a device, the communication being between a server and a client associated with the device, wherein the security of the communication is enabled by a bootstrapped secret. The device can be an M2M device.
- In a further embodiment, there is provided a method of retrieving security elements required for enabling secure data communication with a device, the communication being between a server and a client associated with the device, wherein the security elements are retrieved using a bootstrapping protocol. The device can be an M2M device. The bootstrapping protocol may retrieve the security elements in a secure session. The session may be secured based on a security protocol. The security protocol may be a DTLS protocol. The bootstrapping protocol may be based on GBA. The data communication may be an SMS-based communication. The bootstrapping protocol may be a LWM2M bootstrap protocol. The security elements can be keys and/or similar arrangements well known in the art.
- In a further embodiment, there is provided an apparatus, system, module or network for enabling secure data communication with a device, the communication being between a server and a client associated with the device, wherein the security elements are retrieved using a bootstrapping protocol. The device can be an M2M device.
- The secure communication may be for the purpose of managing the device and/or the client and/or services (e.g. provided by the device) by the server. Both the device and the server may be machines (i.e. not requiring any human intervention to work). When the device is a machine, the server may be used to manage it. Again, the management may be done without any human intervention (e.g. automatically).
- As discussed above, the solution could be used in conjunction with the LWM2M protocol, but the solution could be extended to other Device Management protocols, or to other M2M services (e.g. securing delivery of binary SMS). In particular, and as discussed above, the use of the solution in conjunction with an M2M-specific protocol, such as LWM2M, allows the solution to be very efficient when used with M2M devices, and in particular, when used to manage the device and/or services provided by (or via) the device. In other words, all the advantages mentioned above are further enhanced and optimised when the solution is used in conjunction with an M2M-specific protocol.
- In addition, there is also provided any aspects or combination of aspects according to any one of the claims.
- Any combination of the features described in connection with any of the aspects is also provided, even if not explicitly disclosed.
- With reference to
FIG. 2 , an exemplary architecture (100) is shown that may be implemented, in particular when GBA is used. A device 110 (in the example, an M2M Device and/or a User Equipment) is associated with a card 112 (in the example, a UICC) and a Client 116 (in the example, a Device Management (DM) client. Note that this client could also be an LWM2M Client, namely a client that can manage the device itself and service/applications provided by the device e.g. asset control). Thedevice 110 is also associated with a device authentication component 114 (in the example, a GAA server). Further, aserver 120 is provided (in the example, a DM server), the server associated with a server authentication component 122 (in the example, a Network Application Function (NAF)). Further, anauthentication component 130 is provided (in the example, a Bootstrapping Server Function (BSF)) and a register 140 (in the example, an HLR or HSS). Also, four different interfaces are provided for communication between the various components, inparticular interface Ua 150 betweendevice 110 andserver 120,interface Ub 160 betweendevice 110 andauthentication component 130,interface Zn 170 betweenauthentication component 130 andserver 120, and interface Zh/Zh′ betweenauthentication component 130 and register 140. - In particular, with reference to GBA, document TS 33.220 defines the following components and interfaces, which are shown on
FIG. 2 . NAF, the “Network Application Function”, is a server-side component of an application that may be secured using GBA. In a preferred embodiment, the NAF may be a software component within a Device Management (DM) Server. - Some aspects of a BSF, HLR/HSS, UE, Ua, Ub, Zh/Zh′ and Zn are provided in “Details of 3GPP standards and technologies used to implement aspects of the method and system” above.
- On successful authentication of the
device 110, theBSF 130 derives the shared secret Ks_NAF, which is retrieved by the NAF. In a preferred embodiment, theBSF 130 would most likely be on a separate server from the HLR/HSS 140, but within an M2M platform cluster. - The HLR/HSS may be “GBA-aware” (so that it stores details for a GBA user subscription) or may be a legacy component. In a preferred embodiment, the HLR/HSS would be the HLR or HSS of an M2M mobile operator (i.e. one dedicated specifically to serving M2M connections).
- The
UE 110 is, in the proposed solution, an M2M device. - In a preferred embodiment, the Ua is the interface between a
Device Management client 116 andDevice Management server 120. - In a preferred embodiment, the Ub would be the interface between the “GAA Server”
component 114 of the device and theBSF 130. - In a preferred embodiment, the Zn interface is used.
- In the proposed solution, this interface is between the
Device Management Server 120 and theBSF 130. The WS version of the interface would allow placement of a DM Server in multiple locations (not just in the M2M operator/platform cluster), and allow future NAFs in multiple locations. - With reference to
FIG. 3 , the procedure for setting up the secure communication in accordance with the present invention is now described, in particular when GBA is used. - At 205, the
UE 110 contacts over interface Ua the NAF 122 (in the described embodiment, theDevice Management client 116 contacts the Device Management server 122) and discovers that the NAF requires it to acquire a shared secret using GBA. This could be because there is no existing secret, or the existing secret has expired, or is otherwise considered invalid by the NAF. - The exact interface and communication method may be specific to the application concerned. One possible interface and communication method for OMA Lightweight M2M is discussed below.
- Over the internal UE interface from DM client to GAA server: at 210, the
DM client 116 requests theGAA server 114 to obtain a shared secret. It presents an identifier for the corresponding NAF (NAF_Id). - Over the Ub Interface: at 215, The
UE 110 contacts the BSF (GAA Server 114 contacts the BSF 130). This may be a basic http GET request. The UE presents an “IMPI” (equivalent of an IMSI) or a “TMPI” (equivalent of a TMSI) for anonymity reasons, if one is available. - Over the Zh or Zh′ Interface: at 220, the
BSF 130 requests an authentication vector from the HLR/HSS 140. At 225, the HLR/HSS 140 returns a fresh vector, consisting of a RAND, AUTN, XRES, CK, and IK, for example. - The
BSF 130 generates a transaction identifier (B-TID) and passes (230) the B-TID together with the RAND and AUTN back to theUE 110. It may also indicate the lifetime of the B-TID, and the associated key. - Over the internal UE interface from the GAA Server to the UICC: at 235, the
GAA Server 114 forwards the RAND and AUTN to theUICC 112 which validates the AUTN. If the AUTN is valid, then theBSF 130 is authenticated. At 240, theUICC 112 returns a RES, CK and IK to theGAA Server 114. - At 245, the UE 110 (GAA Server 114) contacts the
BSF 130 again, using the resulting RES for HTTP Digest authentication (which is identified in “Details of 3GPP standards and technologies used to implement aspects of the method and system” above). - The
BSF 130 verifies the HTTP Digest using the XRES. If it matches, then theUE 110 has been successfully authenticated. TheBSF 130 stores the tuple <IMPI, B-TID, RAND, CK, IK> and tells at 250 theUE 110 that the authentication was successful. TheUE 110 stores <B-TID, RAND, CK, IK>. - Over the
internal UE 110 interface fromDM client 116 to GAA server 114: the UE 110 (GAA Server 114) derives a secret Ks_NAF using the CK, IK, RAND, IMPI and NAF_Id. At 255, it passes Ks_NAF and the B-TID back to theDM client 116. - Over the Ua interface again: at 260, the UE 110 (DM Client 116) contacts the NAF (DM Server 122) and presents the B-TID as retrieved above.
- Over the Zn Interface: at 265, the
NAF 122 contacts theBSF 130, and presents the BTID. TheBSF 130 authenticates the NAF, derives the corresponding Ks_NAF, and at 270 returns it to the NAF, together with an indicator of key lifetime. - The UE 110 (DM Client 116) and NAF (DM Server 122) now both share Ks_NAF. They can use it directly, or to derive their own session keys for further communication.
- Again, the exact interface and communication method may be specific to the application concerned. One possible interface and communication method for OMA Lightweight M2M is discussed below.
- As discussed above, the solution could be used in conjunction with the LWM2M standard. This standard can be viewed as a successor to existing OMA Device management standards (OMA DM 1.0 to 1.3), but heavily optimized for low end machine-type devices, and with an extended management scope beyond the device itself including the management of services provided by the M2M device such as asset control. This contrasts for instance with OMA DM 2.0 which is the successor for consumer devices like smart-phones, tablets etc. Other widely-used Device Management standards include TR-069, which was developed by the Broadband Forum for managing Customer Premises Equipment (in particular DSL modems).
- The exemplary flow described with reference to
FIG. 3 is very generic, and can be used with many different sorts of device management protocols (or other application protocols). As can be seen, many details of the Ua interface are outside the scope of 3GPP and are left to other standards to complete (or left to proprietary implementations). However, integration with the LWM2M standard is possible, as described in these examples. - Under the specification (see above), the security for OMA LWM2M is based on DTLS v1.2 (see above) and CoAP (see above). Both the client and server must support pre-shared key DTLS (e.g. see section 7.1.1, page 41), whereas support for certificate-based authentication is only optional. This means that a key derived by GBA (Ks_NAF) could be used as a DTLS pre-shared key and it would work with any DM client/DM server pair.
- The general approach for pre-shared key TLS is referenced in “Details of 3GPP standards and technologies used to implement aspects of the method and system” above. The GBA and TLS-PSK protocols work well together. In 205 described above, the “Server Hello” message contains a field where the server can indicate that it supports GBA-bootstrapping, and in response, the client can then provide an identifier (B-TID) for an already bootstrapped key (260). Or if the client doesn't already have a bootstrapped key, it asks the GAA server to get one, before resuming the “Client Hello” and “Server Hello” at 260. The use of the Ks_NAF to derive session keys is then specified entirely within the TLS-PSK protocol. The 3GPP spec assumes HTTP/TLS, but the basic approach looks the same for CoAP/DTLS.
- To improve consistency with the OMA profile of GBA, the LWM2M spec may need to define a “protocol identifier” for DTLS pre-shared key and have it registered by OMNA (see section 5.2.1 of OMA GBA Profile, Approved Version 1.1-31 Jul. 2012 found at http://technical.openmobilealliance.org/Techncal/release program/sec cf archive.aspx).
- Aside from GBA aspects, the M2M device may be configured to support the security of OMA LWM2M, which is referenced in “Details of 3GPP standards and technologies used to implement aspects of the method and system” above.
- As can be seen from
FIG. 2 andFIG. 3 , the M2M device may contain several internal components. It should support a DM client which is “GBA aware”, as well as a “GAA Server” component. - The GAA Server component should support internal interfaces to the DM client and to the SIM card (UICC) as well as the external Ub interface to the BSF. The interface to the UICC may be particularly challenging, as the M2M device may not expose an existing API to allow device software to send commands to the UICC. One possibility (that may be used) is for the modem to expose AT commands. However, this may not be at a sufficiently low level (AT+CSIM allows raw APDUs to be communicated to the UICC) in every case. Further, there may be security issues: while the GAA Server must be able to interface to the UICC, general applications installed on the device should not be able to use this interface, as that could allow external parties to impersonate the device (and engender fraud on the cellular network). So the API to the SIM Card should be privileged, as well as being sufficiently low level to be usable.
- The interface to the BSF is based on http and HTTP Digest authentication. One alternative may be “tunneling” the Ub interface within the Ua interface, so that the device only needs to support the CoAP protocol (not HTTP as well).
- A related alternative is using the GBA “Push” variant, and carrying push messages (Upa interface) within the Ua interface. Both of these would require identifying suitable commands and parameters in the Ua interface (i.e. the relevant Device Management protocol) to carry the tunnel or push messages. The interfaces and message flow for GBA push are outlined below (see also 3GPP TS 33.223, entitled “3G Security; Generic Authentication Architecture (GAA); Generic Bootstrapping Architecture (GBA) Push function”, it can currently be retrieved by http://www.3gpp.org/ftp/Specs/html-info/33223.htm).
- With reference to
FIG. 4 , an example Processing and message flow for GBA Push follows: -
- 1. A NAF establishes a shared NAF SA with a UE which is registered for Push services. It knows the identity of the subscriber.
- 2. The Push-NAF generates the GPI (GBA Push info) Request and sends the GPI Request to the BSF.
- 3. Upon receiving the request from the NAF, the BSF checks that the NAF is authorized, and resolves the requested subscriber identifier to a private identifier (e.g. IMSI).
- 4. The BSF fetches a new AV (authentication vector) and subscriber's GUSS (GBA User Security Settings) from the HSS.
- 5. The HSS sends the AV and the GUSS to the BSF.
- 6. When the BSF receives the AV Response from the HSS, it generates the NAF keys based on the requested NAF_Id and creates the relevant GPI Response.
- 7. The BSF sends the GPI Response to the NAF.
- 8. The NAF stores the received information together with other user information in a NAF SA.
- 9. The NAF then forwards the GPI to the UE over Upa using the selected transport mechanism and the given transport address.
- 10. When the UE receives the message containing the GPI, it processes the GPI as for regular GBA, and stores the corresponding NAF SA(s)
- The UE and NAF are now ready to use the established NAF SA.
- TR33.223 specifies that Upa is a new interface that is separate from Ua—“a new reference point Upa is introduced between the NAF and the UE” (Section 4.2.1). As such, the Ua interface should be unaware of whether GBA or GBA-push is being used.
- The address of the BSF (http URL) may be pre-loaded when the device is manufactured. It could be device managed itself, which would seem to create a “chicken-and-egg” problem, but the DM Server could, for instance, provide an address for an acceptable BSF in the ServerHello. Or http traffic might be routed by the M2M mobile operator to a default BSF address. Similarly, the location of the preferred DM Server might need to be pre-loaded, or the M2M mobile operator could route CoAP traffic to a default DM Server address.
- Several different versions of GBA are referenced in “Details of 3GPP standards and technologies used to implement aspects of the method and system”. GBA-U has security advantages, but also logistic advantages: it permits a longer lifetime for the B-TID as the derived key is stored more securely. It allows safe retention of Ks during power-off cycles for instance. GBA-U requires specific support from the UICC, so would have a (modest) increment to the cost. Since M2M devices are typically provided with a new UICC anyway at manufacture, it is a software/development cost rather than a hardware cost. Also, in a model with a customised UICC, this may allow for a solution using restricted AT commands to the modem, rather than full AT+CSIM.
- The architecture example allows for there to be several DM Servers in different locations: it could be part of an M2M platform (e.g. M2M mobile operator) cluster, or hosted elsewhere by a network operator/service provider, or perhaps by a customer of said operator/provider. The BSF may need to be located within a firewalled Demilitarized Zone (DMZ), or perhaps connected via an http proxy in the DMZ (so allowing external http Web Service access from NAFs), and then would execute the Diameter interface to the HLR/HSS. It may be undesirable to expose an http interface directly onto the server supporting the HLR, or to tunnel Diameter through firewalls. However, if the DM Server is itself part of the M2M platform cluster then this may be over-engineering. Possibly, a Diameter solution for the Zn interface then becomes acceptable.
- Ideally, the HLR may be upgraded to a full HSS with support for the Zh reference point. However, if the HLR/HSS only supports Zh′ then the BSF will need to be more complicated, and take on some of the subscription management functions (profiling, lifetime, security policies) typically associated with the HSS.
- While the NAF functionality looks fairly straightforward, it will need to be developed for each DM Server used, and for each additional application which uses GBA.
- GBA keys could be used to protect SMS (e.g. encrypt/integrity protect SMS using a secure packet interface e.g. like ETSI TS 102.225 which is used for SIM OTA). This SMS channel is likely to be more efficient than DTLS.
- In addition, regardless of GBA, a secure SMS protocol could be linked to a Device and/or Service management protocol, namely: using a secure SMS protocol (e.g. originally designed for SIM OTA (102 225)), but now adapted for LWM2M communications, combined with using the LWM2M protocol to define (and manage) the necessary parameters for the secure SMS protocol (i.e. the relevant KIc, KID, SPI, TAR, and keys).
- GBA could be used to securely derive the keys.
- Further aspects and advantageous or preferable features are described in the following paragraphs.
- LWM2M needs a security solution for the SMS bearer. Without a solution, SMS will not be usable as a bearer, severely limiting scope of LWM2M. A solution to this problem is to use SIM OTA security (e.g. see TS 102 225).
- TS 102.225 relies on the keys and parameters being already agreed between client and server. However, it is difficult to pre-load these into LWM2M client devices, and ensure that they are sent to servers, because there is no present infrastructure for doing so. It would be pointless to deliver the keys and parameters over unsecured SMS.
- There are various proposed solutions for delivering these keys and parameters in a secure way.
- In a first solution, there is provided switching bearer to UDP/Coap and running DTLS. The DTLS session can be used to secure the LWM2M Bootstrap protocol. The LWM2M Bootstrap can be used to set the TS 102.225 keys and parameters securely. Note that managed resources/objects need to be defined to allow the Bootstrap server to update them; the format of these resources is specified in the numbered paragraphs below.
- In a second solution, there is provided relying on a SIM card (UICC) which has already having been provisioned with keys and parameters, and using this card to terminate TS 102 225 security. Please note that, because this solution provides a secure channel, the same channel can be used to deliver other keys and parameters.
- In a third solution, there is provided use of GBA to set up the keys and parameters. This works because the GPI (GBA Push Info) can be delivered over unsecured SMS. So, there is no requirement to have an initial key to protect the SMS. (Note that the delivery of the parameters like Kic, KID, SPI and TAR is not obvious, but these are only 6 bytes, and there are fields in the GPI e.g. App_Lbl, NAF_Id, P-TID which could be used to carry this info.)
- Further details are provided in the numbered paragraphs below.
- UDP channel security for [COAP] is referenced in “Details of 3GPP standards and technologies used to implement aspects of the method and system” above.
- Since the LWM2M protocol utilizes DTLS for authentication, data integrity and confidentiality purposes, the LWM2M Client and LWM2M Server SHOULD keep a DTLS session in use for as long a period as can be safely achieved without risking compromise to the session keys and counters. If a session persists across sleep cycles, encrypted and integrity-protected storage SHOULD be used for the session keys and counters.
- Note that the Client-Server relationship of DTLS (i.e. who initiated the handshake) is separate from the Client-Server relationship of LWM2M.
- Considering that any device with a LWM2M Client can be managed by any LWM2M Server and LWM2M Bootstrap Server the choice of Cipher Suites is not limited to the list defined in Section 9 of [CoAP]. Due to the sensitive nature of Bootstrap Information, particular care has to be taken to ensure protection of that data including constraints and dependencies within a LWM2M Client/Bootstrap Server relationship according to the adopted security mode.
- Concerning Bootstrap from a Smartcard, the same care has to be taken and a secure channel between the Smartcard and the LWM2M Device SHOULD be established as described in Appendix H of OMA LWM2M in reference to GlobalPlatform Secure Channel Protocol 03 (SCP 03) Amendment D v1.1 September 2009.
- The keying material used to secure the exchange of information using a DTLS session may be obtained using one of the bootstrap modes referenced in “Details of 3GPP standards and technologies used to implement aspects of the method and system” above.
- The Resources (i.e. “Security Mode”, “Public Key or Identity”, “Server Public Key or Identity” and “Secret Key”) in the LWM2M Security Object that are associated with the keying material are used either
-
- 1) for providing UDP channel security in “Device Registration”, “Device Management & Service Enablement”, and “Information Reporting” Interfaces if the LWM2M Security Object Instance relates to a LWM2M Server, or,
- 2) for providing channel security in the Bootstrap Interface if the LWM2M Security Object instance relates to a LWM2M Bootstrap Server.
- LWM2M Clients MUST either be directly provisioned for use with a target LWM2M Server (Manufacturer Pre-configuration bootstrap mode) or else be provisioned for secure bootstrapping with an LWM2M Bootstrap Server. Any LWM2M Client which supports Client or Server initiated bootstrap mode MUST support at least one of the following secure methods:
-
- 1) Bootstrapping with a strong (high-entropy) pre-shared secret, as described in section 7.1 of OMA LWM2M. The cipher-suites defined in this section MUST NOT be used with only a low-entropy pre-shared secret.
- 2) Bootstrapping with a temporary, low-entropy pre-shared secret (such as a PIN, password and private serial number) using the cipher-suite TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256, as defined in RFC5489.
- 3) Bootstrapping with a public key or certificate-based method (as described in sections 7.1.2 and 7.1.3 of OMA LWM2M). The LWM2M client MUST use a unique key-pair, one which is unique to each LWM2M client.
- For full interoperability, a LWM2M Bootstrap Server SHALL support all of these methods.
- NOTE: The above security methods can also be used by the LWM2M Bootstrap Server to provision KIc and KID for SMS channel security (see below for SMS channel security).
- The Secured Packet Structure is based on [3GPP TS 31 115]/[ETSI TS 102 225]] which is defining secured packets for different transport mechanisms. The solution was originally designed for securing packet structures for UICC based applications, however, for LWM2M it is suitable for securing the SMS payload exchanged between client and server.
- The SMS Secured Packet Structure mode specified in this section MUST be supported when the SMS binding is used.
- A LWM2M Client which uses the SMS binding MUST either be directly provisioned for use with a target LWM2M Server (Manufacturer Pre-configuration bootstrap mode or Smart Card Provisioning) or else be able to bootstrap via the UDP binding.
- The end-point for the SMS channel (delivery of mobile terminated SMS, and sending of mobile originated SMS) SHALL be either on the smartcard or on the device. When the LWM2M Client device doesn't support a smartcard, the end-point is on the LWM2M Client device.
- A LWM2M Client, Server or Bootstrap Server supporting SMS binding SHALL discard SMS messages which are not correctly protected using the expected parameters stored in the “SMS Binding Key Parameters” Resource and the expected keys stored in the “SMS Binding Secret Keys” Resource, and SHALL NOT respond with an error message secured using the correct parameters and keys.
- If the SMS channel end-point is on the device the following settings SHALL be applied:
-
Class 1 SMS as specified in [3GPP TS 23.038] - TP-PID of 111101 (ME Data Download) as specified in [3GPP TS 23.040]
- TP-OA: the TP-OA (originating address as defined in [3GPP 23.040] of an incoming command packet (e.g. CoAP request) MUST be re-used as the TP-DA of the outgoing packet (e.g. CoAP response)
- If the SMS channel end-point is on the smart card the following settings SHALL be applied:
- Class 2 SMS as specified in [3GPP TS 23.038]. The [3GPP TS 23.040] SMS header MUST be defined as below:
-
- TP-PID: 111111 (USIM Data Download) as specified in [3GPP TS 23.040]
- TP-OA: the TP-OA (originating address as defined in [3GPP 23.040] of an incoming command packet (e.g. CoAP request) MUST be re-used as the TP-DA of the outgoing packet (e.g. CoAP response)
- A SMS Secured Packet encapsulating a CoAP request received by the LWM2M device, MUST be—according to [ETSI TS 102 225]/[3GPP TS 31.115]—addressed to the LWM2M UICC Application in the Smartcard where it will be decrypted, aggregated if needed, and checked for integrity.
- If decryption and integrity verification succeed, the message contained in the SMS MUST be provided to the LWM2M Client.
- If decryption or integrity verification failed, SMS MUST be discarded.
- The mechanism for providing the decrypted CoAP Request to the LWM2M Client relies on basic GET DATA commands of [GP SCP03]. This data MUST follow the format as below
- data_rcv_::=<address><coap_msg>
address::=TP_OA; originated address
coap_msg::=COAP_TAG<coap_request_length><coap_request>
coap_request_length::=16BITS_VALUE
coap_request::=CoAP message payload - NOTE: In current LWM2M release, the way the LWM2M Client Application is triggered for retrieving the available message from the Smartcard is at the discretion of the device: i.e. a middle class LWM2M Device implementing [ETSI TS 102 223] ToolKit with class “e” and “k” support could be automatically triggered by Toolkit mechanisms, whereas a simpler LWM2M device could rely on a polling mechanisms on Smartcard for fetching data when available.
- For sending a CoAP message to the LWM2M Server, the LWM2M Client prepares a data containing the right TP-DA to use, concatenated with the CoAP message and MUST provide that data to the LWM2M UICC Application in using the [GP SCP03] STORE-DATA command.
- According to [ETSI TS 102 225]/[3GPP TS 31.115] the Smartcard will be in charge to prepare (encryption/concatenation) the CoAP message before sending it as a SMS Secure Packet ([ETSI TS 102 223] SEND_SMS command).
- The SMS Secured Packet MUST be formatted as Secured Data specified in section 7.3.1.2.
- The Secure Channel as specified in Annex H SHOULD be used to provide the prepared data to the Smartcard.
- The SMS channel security is provided by the Secured Packet Structure [ETSI TS 102 225] and [SCP080] which is defining secured packets for different transport mechanisms.
- The solution was originally designed for securing packet structures for UICC based applications, however, for LWM2M it is suitable for securing the SMS channel between client and server.
- The SMS channel security specified in this section MUST be applied when the SMS binding is used.
- When the LWM2M device supports a smartcard, the security SHOULD be terminated on the smartcard. The LWM2M client SHOULD pass SMS messages to the smartcard for encryption and integrity protection before sending, and SHOULD pass encrypted SMS messages received from the LWM2M server to the smartcard for decryption and integrity checking.
- A LWM2M Client which supports the SMS binding SHALL support the Secured Packet Structure as defined in [ETSI TS 102 225] and [SCP080]. The LWM2M Client SHALL share the relevant keys—identified by KIc and KID—with a LWM2M Bootstrap Server during bootstrapping, or with a LWM2M Server otherwise.
- A LWM2M Bootstrap Server which supports the SMS binding SHALL support the Secured Packet Structure as defined in [ETSI TS 102 225] and [SCP080].
- A LWM2M Server which supports the SMS binding SHALL support Secured Packet Structure as defined in [ETSI TS 102 225] and [SCP080].
- In SMS Secured Packet Structure mode, a CoAP message as defined in [CoAP] MUST be encapsulated in [3GPP 31.115] Secured Packets, in implementing—for SMS Point to Point (SMS_PP)—the general [ETSI 102 225] specification for UICC based applications.
- The following applies to LWM2M Client and LWM2M Bootstrap Server and LWM2M Server:
-
- The “Command Packet” command specified in [3GPP 31.115]/[ETSI TS 102 225] MUST be used for both CoAP Request and Response message.
- The Structure of the Command Packet contained in the Short Message MUST follow [3GPP 31.115] specification.
- Single DES SHALL NOT be relied on.
- AES or Triple DES with three different keys MUST be used.
- Preferably, AES should be used. Where AES is used it should be used with CBC mode for encryption (see coding of KIc in [ETSI TS 102 225] section 5.1.2) and in CMAC mode for integrity (see coding of KID in [ETSI TS 102 225] section 5.1.3).
- SPI SHALL be set as follows (see coding of SPI in [ETSI TS 102 225] section 5.1.1).:
- cryptographic checksum
- ciphering
- The ciphering and crypto graphic checksum MUST use either AES or Triple DES
- Single DES SHALL NOT be used
- AES SHOULD be used
- When Triple DES is used, then it MUST be used in outer CBC mode and 3 different keys MUST be used
- When AES is used it MUST be used with CBC mode for ciphering (see coding of KIc in [ETSI TS 102 225] section 5.1.2) and in CMAC mode for integrity (see coding of KID in [ETSI TS 102 225] section 5.1.3
- process if and only if counter value is higher than the value in the RE
- Preferably, TAR (see coding of TAR in [ETSI TS 101 220], section 6) SHALL be set to a value in the range BF FF 00-BF FF FF.
- NOTE: A TAR for LWM2M SMS security will be requested from ETSI SCP and the range above applies only until the TAR has been assigned.
-
- Secured Data: contains the Secured Application Message which MUST be coded as a BER-TLV, the Tag (TBD: e.g. 0x05) will indicate the type (e.g. CoAP type) of that message.
- There will be two different TARs for terminating the security on the smartcard or on the device.
- The ciphering and integrity keys and associated counter values SHOULD be held in a smart card or other tamper-resistant secure storage environment (e.g. embedded secure element). The client SHOULD pass MT SMS to the smart card/SE for decryption and integrity checking, and SHOULD pass MO SMS to the smart card/SE for encryption and integrity protection before sending.
- If the keys and associated counter values are not stored in the above recommended way, they SHALL be treated as session keys with a lifetime no greater than the duration of the Registration Lifetime. The LWM2M Client SHALL acquire fresh discard the key material on each “Register” or “Update” operation, load fresh key material using one of the mechanisms described below, and reset the counters.
-
- Re-bootstrapping via the GBA Push mechanism, as described in [OMA DM v2.0] section 9.3.1.3. GBA Push uses a UICC to generate a so called Ks_(ext/int)_NAF shared secret both in the network and in the device. From this master key Ks_(ext/int)_NAF, two session secrets are then generated: the DMBEK and the DMBIK. The value of the KIc (ciphering key for SMS) SHALL be set by truncating DMBEK to the relevant key length (taking bits 0 to 127 for AES-128, or bits 0 to 167 bits for 3DES), and the value of the KID (integrity key for SMS) SHALL similarly be set by truncating DMBIK to the relevant key length (bits 0 to 127 for AES-128, or bits 0 to 167 for 3DES). The GBA Push Info SHALL be delivered to the LWM2M Client using a
Class 1 SMS as specified in [3GPP TS 23.038] with a TP-PID of 111101 (ME Data Download) as specified in [3GPP TS 23.040]. - Re-bootstrapping from the Smart Card by one of the following methods:
- Using the above-described GBA Push mechanism, specifically with GBA-U, and with the Smart Card generating the DMBIK and DMBEK from Ks_int_NAF.
- Using Remote File Management (RFM) or Remote Application Management (RAM) as specified in [ETSI TS 102.226]. The LWM2M Server SHALL generate random new key data of appropriate length for KIc and KID and ensure these are delivered to the Smart Card by a Class 2 SMS as specified in [3GPP TS 23.038] with a TP-PID of 111111 (USIM Data Download) as specified in [3GPP TS 23.040], protected using the relevant OTA security keys for RFM or RAM.
- Re-bootstrapping via the GBA Push mechanism, as described in [OMA DM v2.0] section 9.3.1.3. GBA Push uses a UICC to generate a so called Ks_(ext/int)_NAF shared secret both in the network and in the device. From this master key Ks_(ext/int)_NAF, two session secrets are then generated: the DMBEK and the DMBIK. The value of the KIc (ciphering key for SMS) SHALL be set by truncating DMBEK to the relevant key length (taking bits 0 to 127 for AES-128, or bits 0 to 167 bits for 3DES), and the value of the KID (integrity key for SMS) SHALL similarly be set by truncating DMBIK to the relevant key length (bits 0 to 127 for AES-128, or bits 0 to 167 for 3DES). The GBA Push Info SHALL be delivered to the LWM2M Client using a
- The Smart Card SHALL place the updated session keys in the provisioning file EF_LWM2M_Bootstrap.
-
- Re-bootstrapping via the UDP binding, secured as described in Section 7.1 (UDP Security).
- Where the UDP binding is unavailable, the LWM2M Server (or Bootstrapping Server) SHOULD send SMS to the LWM2M Client to refresh the session keys before the next attempted “Register” or “Update” operation. If the LWM2M Client attempts to contact the LWM2M Server using an expired registration, or attempts to “Register” or “Update” using a stale key, the LWM2M Server SHALL respond with an error (4.00 Bad Request) and SHALL send SMS to refresh the session keys. However, the LWM2M Server SHOULD send such SMS prior to the expiry of the current Registration, if the LWM2M Client is awake; or if the LWM2M Client is in a sleep cycle, the LWM2M Server (or Bootstrapping Server) SHOULD send such SMS on the next wake up. These measures will avoid a failed “Register” or “Update” operation.
- As for Section 7.1 (UDP Security), where a session persists across sleep cycles, encrypted and integrity-protected storage SHOULD be used for the session keys and counters. Alternatively, new session keys SHALL be established by one of the above mechanisms on wake up from a sleep cycle.
- Preferably, KIc, KID, SPI and TAR SHALL be stored in the “SMS Binding Key Parameters” Resource.
- Preferably, the corresponding key values should be stored in the “SMS Binding Secret Keys” Resource.
- A LWM2M Client which uses the SMS binding may either be directly provisioned for use with a target LWM2M Server (Manufacturer Pre-configuration bootstrap mode) or else be able to bootstrap via the UDP binding.
- A LWM2M Client, Server or Bootstrap Server supporting SMS binding SHALL discard SMS messages which are not correctly protected using the expected parameters stored in the “SMS Binding Key Parameters” Resource and the expected keys stored in the “SMS Binding Secret Keys” Resource, and SHALL NOT respond with an error message secured using the correct parameters and keys.
- Description: This LWM2M object provides the keying material of a LWM2M Client appropriate to access a specified LWM2M Server. One Object Instance SHOULD address a LWM2M Bootstrap Server
- These LWM2M object resources MUST only be changed by a LWM2M Bootstrap Server or SmartCard provisioning and MUST NOT be accessible by any other LWM2M Server.
- Example Object Info:
-
Object Multiple Object ID Object URN Instances? Mandatory? LWM2M 0 Yes Yes Security - Resource Info:
-
Resource Name Type Range or Enumeration Units Descriptions LWM2M String 0-255 bytes — Uniquely identifies the Server URI LWM2M Server or LWM2M Bootstrap Server, and is in the form: “coaps://host:port”, where host is an IP address or FQDN, and port is the UDP port of the Server. Bootstrap Boolean — Determines if the current Server instance concerns a LWM2M Bootstrap Server (true) or a standard LWM2M Server (false) Security Integer 0-3 — Determines which UDP Mode channel security mode is used 0: Pre-Shared Key mode 1: Raw Public Key mode 2: Certificate mode 3: NoSec mode Public Key Opaque — Stores the LWM2M Client's or Identity Certificate (Certificate mode), public key (RPK mode) or PSK Identity (PSK mode). The format is defined in Section E.1.1. Server Opaque — Stores the LWM2M Server's or Public Key LWM2M Bootstrap Server's or Identity Certificate (Certificate mode), public key (RPK mode) or PSK Identity (PSK mode). The format is defined in Section E.1.1. Secret Key Opaque — Stores the secret key or private key of the security mode. The format of the keying material is defined by the security mode in Section E.1.1. This resource MUST only be changed by a bootstrap server and MUST NOT be readable by any server. SMS Integer 0-255 Determines which SMS Security payload security mode is used Mode (see section 7.2) 0: Reserved for future use 1: Secure Packet Structure mode device terminated 2: Secure Packet Structure mode smartcard terminated 3: NoSec mode 255: Proprietary modes SMS Binding Opaque 6 bytes — Stores the KIc, KID, SPI and Key TAR. The format is defined in Parameters Section D.1.2. SMS Binding Opaque 32-48 bytes — Stores the values of the keys Secret Keys for the SMS binding. This resource MUST only be changed by a bootstrap server and MUST NOT be readable by any server. LWM2M Integer MSISDN used by the LWM2M Server SMS Client to send messages to the Number LWM2M Server via the SMS binding. The LWM2M Client SHALL silently ignore any SMS not originated from unknown MSISDN Short Server Integer 1-65535 — This identifier uniquely ID identifies each LWM2M Server configured for the LWM2M Client. This resource MUST be set when the Bootstrap Server resource has false value. Default Short Server ID (i.e. 0) MUST NOT be used for identifying the LWM2M Server. Client Hold Integer s Relevant information for a Off Time Bootstrap Server only. The number of seconds to wait before initiating a Client Initiated Bootstrap once the LWM2M Client has determined it should initiate this bootstrap mode - This section defines the format of the Secret Key and Public Key and Identity resources of the LWM2M Server and LWM2M Bootstrap Objects when using UDP Channel security. These resources are used to configure the security mode and keying material that a Client uses with a particular Server. The Objects are configured on the Client using one of the Bootstrap mechanisms described in Section 5.1 of OMA LWM2M. The use of this keying material for each security mode is defined in Section 7.1 of OMA LWM2M.
- The PSK is a binary shared secret key between the Client and Server of the appropriate length for the Cipher Suite used [RFC4279]. This key is composed of a sequence of binary bytes in the Secret Key resource. The default PSK Cipher Suites defined in this specification use a 128-bit AES key. Thus this key would be represented in 16 bytes in the Secret Key Resource.
- The corresponding PSK Identity for this PSK is stored in the Public Key or Identity resource. The PSK Identity is simply stored as a UTF-8 String as per [RFC4279]. Clients and Servers MUST support a PSK Identity of at least 128 bytes in length as required by [RFC4279].
- The raw-public key mode requires a public key and a private key of the appropriate type and length for the Cipher Suite used. These keys are carried as a sequence of binary bytes with the public key stored in the Public Key or Identity Resource, and the private key stored in the Secret Key Resource. The default RPK Cipher Suites defines in this specification use a 256-bit ECC key. Thus the Certificate Resource would contain a 32 byte public key and the Secret Key Resource a 32 byte private key.
- The Certificate mode requires an X.509v3 Certificate along with a matching private key. The private key is stored in the Secret Key Resource as in RPK mode. The Certificate is simply represented as binary X.509v3 in the value of the Public Key or Identity Resource.
- This section defines the format of the Secret Key and Public Key and Identity resources of the LWM2M Server and LWM2M Bootstrap Objects when using SMS Payload security. These resources are used to configure keying material that a Client uses with a particular Server. The Objects are configured on the Client using one of the Bootstrap mechanisms described in Section 5.1. The use of this keying material is defined in Section 7.2.
- The SMS key parameters are stored in the order KIc, KID, SPI, TAR (KIc is byte 0).
- Ordering of bits within bytes SHALL follow ETSI TS 102 221 “Coding Conventions” (b8 MSB, b1 LSB).
- If a Security Object Instance is to be deleted, some related resources and configurations need to be deleted or modified. Therefore when Delete operation is sent via Bootstrap Interface, the Client MUST proceed following procedure.
-
- 1. If there is an Object Instance that can be accessed only by a Server of the Server Object Instance (i.e. the Server is Access Control Owner and the LWM2M Server can access the Object Instance only in an Access Control Object Instance), the Object Instance and the corresponding the Access Control Object Instance MUST be deleted
- 2. If an Object Instance can be accessed by multiple Servers including the Server, which Security Object Instance is to be deleted, then:
- An ACL Resource Instance for the Server in Access Control Object Instance for the Object Instance MUST be deleted
- If the Server is Access Control Owner of the Access Control Object Instance, then the Access Control Owner MUST be changed to another Server according to the rules below: The Client MUST choose the Server who has highest sum of each number assigned to an access right (Write: 1, Delete: 1) for the Access Control Owner. If two or more Servers have the same sum, the Client MUST choose one of them as the Access Control Owner.
- 3. Observation from the Server MUST be deleted
- 4. The Server Object Instance MUST be deleted
- 5. Client MAY send “De-register” operation to the Server
- Note: To monitor the change of Access Control Owner, the Server MAY observe Access Control Owner Resource.
-
FIG. 5 shows asystem 100 for establishing a secure connection with a machine to machine (M2M) device using the generic bootstrapping architecture (GBA) standard (defined in TS 33.220), which is part of a complex of standards called Generic Authentication Architecture, a guide to which is provided in TR 33.919. Thesystem 100 comprises a network application function (NAF) 122, which may be a software component within adevice management server 120, a user equipment (UE) 110, which is an M2M device, a bootstrapping server function (BSF) 130 and a home location register (HLR)/home subscriber system (HSS) 140. - The
NAF 122 is configured to provide any sort of application or service to theUE 110 viacommunications channel Ua 150. It may be any server or network component which terminates the Ua interface (described below) from theUE 110. - The
UE 110 comprises a device management (DM)client 116 that is configured to communicate with theNAF 122 viacommunications channel Ua 150. The interface and communication methods between theDM client 116 andNAF 122 viaUa 150 may be of any suitable type. For example, any suitable device management protocol may be utilised, such as OMA DM 2.0, OMA lightweight M2M, constrained application protocol (CoAP), CoAP over datagram transport layer security (DTLS) (CoAPs), TR-069 etc, and/or any suitable M2M services may be executed viaUa 150, such as binary short messaging services (SMS), reporting an M2M sensor reading; M2M location reporting etc. - The
UE 110 also comprises a generic authentication architecture (GAA)server 114 that is configured to communicate with theBSF 130 viacommunications channel Ub 160. The interface and communication methods between theGAA server 114 and theBSF 130 viaUb 160 may be of any suitable type. For example hypertext transfer protocol (http), http over transport layer security (TLS) (https) etc. - The
UE 110 also comprises a universal integrated circuit card (UICC) 112, for example a subscriber identity module (SIM) card or embedded SIM, which may securely hold data relating to theUE 110. - The
BSF 130 is configured to utilise the GBA standard (defined in TS 33.220) to enable a shared secret to be derived (bootstrapped) using the existing security association between a mobile network and theUICC 112 so that theNAF 122 andUE 110 are able to establish a secure association for secure communications viaUa 150. - To that end, the
BSF 130 is configured to communicate with theNAF 122 viaZn 170 so that theNAF 122 is able to request and/or obtain a shared secret that theNAF 122 may use to establish secure communication with theUE 110. - Furthermore, the
BSF 130 is also configured to communicate with the HLR/HSS 140 viaZh 180 so that it may utilise the mobile network data contained in the HLR/HSS 140 as part of the GBA process. The interface and communication methods between theBSF 130 and the HLR/HSS 140 viaZh 180 may be of any suitable type. The HLR/HSS 140 may be any server side element that stores subscription details and credentials for each UICC issued by an operator. It may be “GBA-aware” (so that it stores details for a GBA user subscription), for example an HSS, or it may be a legacy component that is not “GBA-aware”, for example an HLR. -
FIG. 5 also identifies communication steps (a) to (o) between the elements ofsystem 100, wherein those steps are used to carry out the GBA process of establishing a shared secret between theNAF 122 and theUE 110. -
FIG. 6 shows an example sequence diagram that includes the communication steps (a) to (o) that are used for establishing a shared secret between theNAF 122 and theUE 110. The shared secret enables keys to be established at theNAF 122 and theUE 110 so that secure communication can take place between theNAF 122 and theUE 110. For example, the shared secret may itself be a key for establishing secure communication, and/or a session key(s) may be derived from the shared secret in order to establish secure communication. - In step (a), the
DM client 116 contacts theNAF 122 viaUa 150, for example to request a service and/or application from theNAF 122. In step (b), theNAF 122 responds by indicating that it supports GBA-bootstrapping and that a shared secret is required in order to establish secure communication for theNAF 122 to provide the requested service and/or application to theUE 110. The communication in step (b) may, for example, be a “server hello” message. Alternatively, theNAF 122 may contact theDM client 116 viaUa 150 in step (b) without step (a) having been carried out (for example, if theNAF 122 wishes to establish secure communication with theUE 110 in order to provide a service and/or application to the UE 110). - If the
DM client 116 already has a bootstrapped key, it may proceed to step (m) and provide theNAF 122 with an identifier for the bootstrapped key, for example a transaction identifier such as a B-TID (Bootstrap Transaction Identifier). This is described in more detail below and may enable the subsequent steps (n) and (o) to be carried out and a secure connection to be established between theNAF 122 andUE 110. - If the
DM client 116 does not already have a bootstrapped key, for example because no shared secret has yet been derived, or the existing shared secret has expired, or is otherwise considered to be invalid by the NAF 122 (for example, if theDM client 116 has provided a B-TID in step (m) and theNAF 122 has responded that it considers the corresponding shared secret to be invalid), theDM client 116 may set about acquiring a new shared secret using GBA. - In step (c), the
DM client 116 requests that theGAA server 114 obtain a shared secret. In step (c), theDM client 116 will also pass to theGAA server 114 an identifier of theNAF 122, for example NAF_Id (which may be a concatenation of NAF FQDN and Ua security protocol Id), which it has obtained in step (b). Alternatively, rather than step (c) being carried out after steps (a) and (b), or step (b), theUE 110 may itself identify that it requires a bootstrapped key in order to establish secure communication with theNAF 122 and therefore carry out step (c) without either of steps (a) or (b) taking place first. In this case, the identifier of the NAF_Id may be stored in memory on theUE 110, or obtained by theUE 110 by any other means. - In step (d), the
GAA server 114 contacts theBSF 130 to request that a shared secret be derived. The request may be a basic http GET request, or any other suitable request. TheGAA server 114 may also present to theBSF 130 in step (d) an identifier of theUE 110, for example an international mobile subscriber identity (IMSI) or a temporary mobile subscriber identity (TMSI), or an IP multimedia private identity (IMPI) or temporary mobile private identity (TMPI) if anonymity is required. - In step (e), the
BSF 130 requests an authentication vector from theHLR 140. In step (f), the HLR/HSS 140 returns a new authentication vector to theBSF 130. The authentication vector may comprise a random or pseudorandom number (RAND), an authentication token (AUTN), an expected response (XRES), a cipher key (CK) and an integrity key (IK). The CK and the IK are derived from an existing shared secret, K, (for example using the RAND and AUTN) that is shared between the network provider and theUE 110, wherein the network stores their value of K and theUE 110 stores its value of K in theUICC 112. The contents of the authentication vector are described in more detail in the 3GPP “Security Architecture” specification TS 33.102, which may be found at http://www.3gpp.org/ftp/specs/html-info/33102.htm. - The existing shared secret may alternatively be the Ki, for example in 2G/GSM, which is explained in more detail in the 3GPP specification TS 11.11 “Specification of the Subscriber Identity Module-Mobile Equipment (SIM-ME) Interface” (originally GSM 11.11), in particular in sections 8.16 and 9.2.16, which may be found at http://www.3gpp.org/DynaReport/1111.htm.
- Having received the authentication vector, the
BSF 130 generates a transaction identifier (B-TID) and transmits the B-TID along with part of the authentication vector, for example the RAND and AUTN, back to theGAA server 114 in step (g). TheBSF 130 may also indicate to theGAA server 114 in step (g) the lifetime of the B-TID and an associated key(s). The associated key may be, for example, a Ks, which is a concatenation of CK and IK. For example, as explained in 3GPP specification TS 33.220, theBSF 130 may generate key material Ks by concatenating CK and IK and generate the B-TID by taking the base 64 encoded RAND value and the BSF server name i.e. base64encode(RAND)@BSF_servers_domain_name. - The
GAA server 114 may then attempt to authenticate theBSF 130 by forwarding the RAND and AUTN to theUICC 112 in step (h). The RAND and AUTN may be used as inputs to the USIM application on theUICC 112 to run an Authentication and Key Agreement (AKA) algorithm, as explained in 3GPP TS33.102. If the UICC 126 validates the AUTN, theBSF 130 will be authenticated and the UICC returns a RES (which may be generated as part of the AKA algorithm), a CK and an IK to theGAA server 114 in step (i). - In step (j), the
GAA server 114 uses the RES to protect communication with theBSF 130 so that theBSF 130 can authenticate theUE 110. The communication in step (j) may be an http digest message so that http digest authentication may be executed. However, the communication in step (j) may take any other suitable form for theBSF 130 to authenticate theUE 110. - The
BSF 130 may then authenticate theUE 110, for example using XRES to verify an http digest. If there is a match, theUE 110 is successfully authenticated and theBSF 130 may store a tuple comprising, for example, the identifier of theUE 110, such as the IMPI, IMSI, TMPI or TMSI, (which theBSF 130 received from theUE 110 in step (d)), the B-TID (which theBSF 130 generated after step (f)), the RAND, the CK and the IK (all of which the BSF received in the authentication vector in step (f)) and notifies theGAA Server 114 in step (k) that authentication was successful. - On receipt of the indication in step (k) that authentication was successful, the
GAA Server 114 may store in memory on theUE 110 the B-TID and RAND (which theGAA Server 114 received from theBSF 130 in step (g)) and the CK and IK (which theGAA Server 114 received from theUICC 112 in step (i)). TheGAA Server 114 may then generate key material Ks by concatenating CK and IK and derive a shared secret, Ks_NAF, using Ks, RAND, the identifier of the UE 110 (such as the IMPI, IMSI, TMPI or TMSI) and the NAF_Id (which it received in step (c)). In step (I) the B-TID and derived Ks_NAF are then passed to theDM client 116. - The Key Derivation Function is described in Annex B of TS 33.220. In particular, section B.3 indicates that:
- Ks_NAF=KDF (Ks, “gba-me”, RAND, IMPI, NAF_Id),
Ks_ext_NAF=KDF (Ks, “gba-me”, RAND, IMPI, NAF_Id), and
Ks_int_NAF=KDF (Ks, “gba-u”, RAND, IMPI, NAF_Id). - All of these derivations involve RAND as an input parameter.
- However, all of these also involve Ks as an input parameter, where Ks=CK∥IK is constructed from the output returned by the USIM, and of course RAND was an input parameter to the USIM. So the “RAND” has already been used. It may be possible to simply modify the derivation functions so they omit the RAND, or substitute a known fixed value (all zeroes, say) for the RAND. Therefore, Ks_NAF may alternatively be derived using Ks, the identifier of the
UE 110 and the NAF_Id, without using RAND. - The
DM client 116 now has the secret Ks_NAF and session identifier B-TID. However, theNAF 122 does not yet have the secret so it is not yet possible for a secure connection overUa 150 to be established. - In step (m), the
DM client 116 contacts theNAF 122 and presents the B-TID to theNAF 122. TheNAF 122 is then able in step (n) to contact theBSF 130 and present it with the B-TID that theDM client 116 had passed to theNAF 122. - Having received the B-TID from the
NAF 122, theBSF 130 can authenticate theNAF 122, derive the Ks_NAF from the Ks that is associated with the B-TID (for example by generating key material Ks by concatenating CK and IK and then deriving Ks_NAF using Ks, RAND, the identifier of theUE 110 and the NAF_Id) and return the Ks_NAF to theNAF 110 together with an indicator of the lifetime of the key associated with the B-TID (for example, the Ks). - Thus, if Ks has expired, the
NAF 122 is able to contact theUE 110 and notify it of the expiry, in which case steps (c) to (I) may be undertaken again by theUE 110 to obtain a new Ks and therefore a new Ks_NAF. If the Ks is still valid, theNAF 122 and theUE 110 will now both have a valid Ks_NAF, which may be used directly as a key to establish secure communication onUa 150, or may be used by theNAF 122 and theUE 110 to derive their own session keys for further secure communication onUa 150. - The interface between the
UE 110 and theBSF 130 overUb 160 is based on http and HTTP Digest authentication. Whilst it may be possible to implement communications using http and HTTP Digest authentication overUb 160 without requiring a full browser implementation, carrying out communications using http and HTTP Digest onUb 160 and CoAP communications onUa 150 may cause additional complexities when theUE 110 is an M2M device. - In the above process, the
UICC 112 utilises the USIM application to run an Authentication and Key Agreement (AKA) algorithm, as explained in 3GPP TS33.102, in order to obtain the CK and IK (or Ks) and RES. - However, in an alternative, the
UICC 112 may utilise the SIM application on theUICC 112. In this instance, the command “RUN GSM” could be utilised on theUICC 112, as defined in section 8.16 and 9.2.16 of 3GPP TS 11.11 (originally GSM 11.11). The input to the command may be a 16 byte (128 bit) “RAND” and the output may be a 4 byte (32 bit) “SRES” (abbreviation for signed response) together with an 8 byte (64 bit) cipher key “Kc”. The SIM card implements two algorithms at once: A3 (the “authentication” algorithm) combines the RAND with the 128 bit secret Ki (stored on the UICC 112) and returns SRES; A8 (the “key agreement” algorithm) combines RAND with Ki and returns Kc. - In normal GSM communication the SRES is passed to mobile terminal to be sent to the GSM base-station (where the base station compares it against an expected SRES which it has obtained from the Authentication Centre AuC, along with the RAND and the Kc). After successful authentication, the cipher key Kc is used to encrypt traffic between the mobile terminal and the GSM base station. However, 2G GBA performs some additional operations (that are described TS 33.220) with the SRES and Kc in order to bring the overall security level closer to that achieved using a USIM with GBA.
- Operators may be free to implement their own versions of A3 and A8, but various industry example algorithms have existed since the 1990s (COMP128, COMP128v2, COMP128v3). The most secure example algorithm is based on the Advanced Encryption Standard (AES) and is called “GSM MILENAGE”: http://www.3gpp.org/DynaReport/55205.htm.
- The major differences between SIM and USIM are: there is no AUTN (i.e. no way for the SIM to authenticate the source of the RAND) when using SIM; there is no integrity key (“IK”), only a ciphering key when using SIM; the cipher key-length is shorter (64 bits instead of 128 bits). Further, the crypto-algorithms which use Kc for ciphering (A5/1, A5/2, A5/3) are much weaker than the cipher algorithms used in 3G and LTE.
- In an alternative implementation, a GBA “push” variant may be utilised and push messages may be carried to the
UE 110 within theUa 150 interface. -
FIG. 7 shows asystem 600 for establishing a secure connection with a machine to machine (M2M) device using the generic bootstrapping architecture (GBA) standard and the GBA “push variant”. - The system is similar to that shown in
FIG. 5 , but comprises aUpa interface 155 between theUE 110 andNAF 122 for carrying push messages within theUa interface 150. Thesystem 600 also comprises aZpn interface 175 between theNAF 122 and theBSF 130 for carrying push related information. -
FIG. 7 also identifies communication steps (v) to (z) between the elements ofsystem 600, wherein those steps are used to carry out a GBA push process of establishing a shared secret between theNAF 122 and theUE 110. -
FIG. 8 shows an example sequence diagram that includes the communication steps (v) to (z) that are used for establishing a shared secret between theNAF 122 and theUE 110 so that secure communication between theNAF 122 and theUE 110 can be established. - When the
NAF 122 determines that a shared secret needs to be established between theNAF 122 and the UE 110 (for example, when theUE 110 notifies theNAF 122 that it does not have a shared secret, which may take place in response to a request by theNAF 122 to establish secure communication, or at any other time) and that theUE 110 is registered for push services (for example, because theUE 110 notifies theNAF 122 to that effect) theNAF 122 will generate a GBA push information (GPI) request and transmit it to theBSF 130 in step (v). The GPI request may comprise an identifier of theUE 110, for example the IMPI, IMSI, TMPI or TMSI of theUE 110, and/or an identifier of theNAF 122, for example a NAF_Id. - The NAF may determine that
UE 110 is registered for push services because theUE 110 notifies theNAF 122 to that effect. Alternatively, theNAF 122 may have a pre-established table that is based onUE 110 identifier range and indicates if theUE 110 is registered for push services or not. TheNAF 122 may look up an identifier presented to it by theUE 110 and check it against theUE 110 identifier range table in order to determine if theUE 110 is registered for push services. Alternatively, theNAF 122 may transmit the request in step (v) before checking that theUE 110 is registered for push services, and rely on the BSF to advise it if the UE is registered and authorised. - On receiving the GPI request from the
NAF 122, theBSF 130 may check that theUE 110 and theNAF 122 are authorized for establishing secure communication using a push implementation. TheBSF 130 may itself have authorisation data for UEs and NAFs, or it may obtain an indication of whether or not theUE 110 andNAF 122 is authorised from the HLR/HSS 140 as part of step (w) described below. For example, UE and NAF authorisation data may be part of the GUSS described below, or may be retrieved from the NLR/HSS 140 separately from the GUSS. - If the identifier of the
UE 110 is a public identifier, for example an IMPI or TMPI, theBSF 130 may optionally resolve the identifier to a private identifier, for example an IMSI or TMSI. - If the
UE 110 andNAF 122 is authorised, in step (w) theBSF 130 transmits to the HLR/HSS 140 a request for a new authentication vector (AV) and the subscriber's GBA User Security Settings (GUSS). Alternatively, theBSF 130 may transmit the request in step (w) before checking that theUE 110 andNAF 122 is authorised for push services, and rely on the HLR/HSS to advise it if theUE 110 andNAF 122 is authorized, for example if an indication of authorization forms part of the GUSS. The GUSS are settings per user, containing BSF specific information and the set of all application-specific user security settings, USS (i.e. settings particular to eachUE 110 andNAF 122 pairing). - In step (x), the HLR/
HSS 140 returns the AV and the GUSS to theBSF 130. As explained earlier in respect ofFIGS. 4 and 5 , the AV may comprise a RAND, an AUTN, an XRES, a CK and an IK. - The
BSF 130 may then check the GUSS, for example to determine if the user/subscription of theUE 110 is authorised to access the service and/or what type of keys should be used for the establishment of secure communication etc. TheBSF 130 may generate and store any keys that are required, and these keys may be based on the identity of the NAF 122 (for example based on the NAF_Id). For example, if the shared secret, Ks_NAF (described above) is to be used directly as a key for establishing secure communications, theBSF 130 may generate the Ks_NAF in the manner identified above. If another derived key is to be used as a key for establishing secure communications, for example Ks_ext_NAF or Ks_int_NAF, theBSF 130 may generate Ks and then derive the necessary key(s). - The
BSF 130 will also generate a GPI Response comprising information that enables theNAF 122 and theUE 110 to set up a secure association (SA) (described in more detail below). After generating the GPI Response, theBSF 130 sends the GPI Response to theNAF 122 in step (y). For example, the GPI Response may comprise at least part of the authentication vector, for example the RAND and AUTN. The GPI Response may also comprise an identifier, a P-TID (push transaction identifier), that may be used to identify key material to be used to establish secure communication (for example the Ks). In this way, the P-TID may be considered to be a push implementation version of the B-TID identified above. The GPI response may also comprise information indicating what key(s) should be used to establish secure communication and/or how those keys may be derived and/or how the key(s) should be used to establish secure communication. The GPI response may also comprise an indication of the life-time of the key(s), which indicates for how long the key(s) may be used before they need to be refreshed. - If the
BSF 130 has determined that theUE 110 is not authorised or registered for push services, theBSF 130 may transmit to theNAF 122 in step (y) a “not authorized” message. If theNAF 122 is maintaining a local database of UEs which are authorized or registered for push services, for example the pre-established table described above, theNAF 122 may then update its local database to record if the UE is authorised for push services. - Having received the GPI response, the
NAF 122 may set up and store a security association (NAF_SA) comprising at least some of the GPI response information and any other suitable user information, for example an identifier of theUE 110 etc. - In step (z), the
NAF 122 forwards the GPI response to theDM client 116 in a push message using theUPa 155, which in turn forwards the GPI response to theGAA server 114. When theGAA server 114 receives the GPI response, it may process the contents of the GPI response to set up and store on the UE 110 a corresponding NAF_SA. For example, theUE 110 may pass the AUTN and RAND that was part of the GPI response to theUICC 112 in order to authenticate the BSF and obtain the CK and IK from theUICC 112, for example by running an authentication challenge AUTHENTICATE on the USIM application of the UICC as explained above. If the AUTN is accepted by theUICC 112, theBSF 130 can be considered by theUE 110 to have been authenticated. TheUICC 112 may then return a CK and IK to theGAA server 114, using which theGAA server 114 can derive a Ks and subsequently a shared secret, Ks_NAF (as explained earlier). - Having received the GPI response and generated the Ks_NAF, the
GAA server 114 is able to set up and store its NAF_SA. The NAF_SA may comprise a key(s) for establishing secure communication. The GPI response can inform theUE 110 what the key(s) should be, for example if the Ks_NAF may be used directly as the key, or if another key(s) should be derived and stored as part of the NAF_SA. If a new key(s) should be derived, theUE 110 may follow the derivation process indicated in the GPI response. - Having established the NAF_SA at the
UE 110, both theNAF 122 and theUE 110 will have the NAF_SA, thereby enabling secure communication to be established between the two. As part of establishing secure communication, theNAF 122 may effectively validate theUE 110 through successful use of the Ks_NAF (since only alegitimate UE 110 could derive the correct Ks_NAF and use them with the NAF 122). -
FIG. 9 shows an alternative implementation wherein aGAA server 114′ is implemented within awireless communication module 118 in theUE 110. Thewireless communication module 118 may be, for example, a modem or a baseband processor. - The
GAA server 114′ may be the same as the GAA server defined in 3GPP standards specifications, for example TR 33.905, or it may include only the parts of the standard GAA server that are required to carry out the below described processes. - The
wireless communication module 118 may be accessed from application logic within the UE 110 (for example, theDM client 116, or any other application within the UE 110) using AT commands. For example, theDM client 116 may use a custom AT command with an identifier of the NAF, for example NAF_Id, as a parameter of the AT command in order to pass the identifier of the NAF to theGAA server 114′ in step (c) described above. TheDM client 116 may then expect a shared secret, for example Ks_NAF, and a transaction identifier, for example B-TID, to be returned as an output to the AT command in step (I) described above. - When the
GAA server 114′ has the identifier of the NAF, steps (d) to (k) explained above may be carried out so that theGAA server 114 can return a shared secret, for example Ks_NAF, and a transaction identifier, for example B-TID, to theDM client 116 in step (I) as an output to the AT command. In particular, because thewireless communication module 118 supports a low-level interface with theUICC 112, theGAA server 114′ will be able to obtain the material that it requires to derive the shared secret (for example, CK, IK) and/or enable theBSF 130 to authenticate the UE 110 (for example, RES). - For example, in step (h) the
GAA server 114′ may use ETSI TS 102 221 (UICC-Terminal interface; Physical and logical characteristics), which allows raw Application Protocol Data Units (APDUs) to be communicated to theUICC 112 in order to pass the RAND and AUTN to theUICC 112. RAND and AUTN will be parameters of the AUTHENTICATE command issued to the USIM application so that the USIM application can run the AKA algorithm. CK, IK and RES may then be returned as an output to the AUTHENTICATE command in step (i). In an alternative, only RAND may be passed as an input to the SIM application on the UICC 112 (or the USIM application running in a GSM Security Context) and Kc and SRES returned in step (i) (as explained in more detail in 3GPP TS 11.11). - By implementing the
GAA server 114′ on thewireless communication module 118, it is possible to access low level, secure parts of theUICC 112 in order to carry out the GBA process described above, without exposinglow level UICC 112 commands or other direct access to theUICC 112 up to the application logic, for example via AT+CSIM to theDM client 116 or any other general applications. Thus, security of theUICC 112 can be maintained to prevent fraudulent parties from impersonating theUE 110 in order to engender fraud on the cellular network. -
FIG. 10 shows an alternative implementation wherein aninterface application 114 a is implemented as an application on an application processor of theUE 110 and asecurity module 114 b is implemented within awireless communication module 118 in theUE 110. Thewireless communication module 118 may be, for example, a modem or a baseband processor. - The
interface application 114 a is configured to perform part of the functionality of theGAA server 114 described above, for example interfacing withUb 160. Theinterface application 114 a may terminate theinterface Ub 160 at theUE 110. Theinterface application 114 a may thus include, for example, a TCP/IP stack and/or http interface functionality. - The
security module 114 b is configured to perform the secure functionality of theGAA server 114′, for example interfacing with theUICC 112, in particular interfacing with the USIM (or SIM) application on theUICC 112. - The
interface application 114 a may therefore terminate theUb 160 interface and handle communication between theUE 110 and theBSF 130 in steps (d), (g), (j) and (k) described above. For example, theinterface application 114 a may receive the B-TID, RAND and AUTN in step (g) and forward these on to thesecurity module 114 b for use in obtaining the CK and IK from theUICC 112. The RAND and AUTN (and optionally also the NAF_Id) may be forwarded by theinterface application 114 a to thesecurity module 114 b using a custom AT command, and theinterface application 114 a may receive the RES, or the CK, IK and RES, as an output parameter to the AT command. In an alternative, where the SIM application is being used on theUICC 112, the RAND (and optionally also the NAF_Id) may be forwarded to thesecurity module 114 b using a custom AT command and the Kc and SRES returned as an output parameter to the AT command. Theinterface application 114 a may then use the RES or SRES to protect communication with theBSF 130 in step (j). - As well as passing the RAND (and optionally also the AUTN and/or the NAF_Id) to the
security module 114 b as an input to the AT command, the AT command may also include some flag that indicates the variety of GBA that is required, for example GBA-ME, GBA-U, GBA-SIM, GBA with ISIM etc. - Likewise, the
interface application 114 a may receive the notification of successful authentication in step (k) and derive the shared secret, Ks_NAF. Furthermore, theinterface application 114 a may be instructed by thesecurity module 114 b to contact theBSF 130 with a request for a shared secret in step (d). - The
interface application 114 a may thus operate as a proxy to thesecurity module 114 b. - Because the
security module 114 b is implemented on thewireless module 118, theDM client 116 may still interface with it using AT commands in order to obtain a shared secret (for example, Ks_NAF), in the same way as described in respect ofFIG. 9 . Alternatively, theDM client 116 may use an application programming interface (API) to communicate with theinterface application 114 a, while theinterface application 114 a in turn uses AT commands to interface with thesecurity module 114 b (which is an alternative not represented in the Figures). - Furthermore, the
security module 114 b is also able to interface with the USIM (or SIM) application on theUICC 112 in order to obtain the material required to derive the shared secret, in the same way as described in respect ofFIG. 9 . For example, theDM client 116 may use an API to pass an identifier of the NAF (for example, NAF_Id) to theinterface application 114 a. Theinterface application 114 a may then use AT commands to interface with thesecurity module 114 b to obtain the shared secret (and optionally also the RES or SRES), and return the shared secret to theDM client 116. - The
interface application 114 a may thus operate as a proxy to thesecurity module 114 b for communication viaUb interface 160 and/or for communication with theDM client 116. - In this way, IP and http communications functionality may be kept in the applications processor, away from the
wireless module 118. Security functionality may be kept on thewireless module 118, where it may interface as necessary with theUICC 112 and where it is away from the applications processor. Thus, insecure elements of theGAA server 114′ may be kept in theinterface application 114 a, away from theUICC 112, thereby improving security of theUICC 112. Furthermore, thewireless module 118 will not have to terminate theUb 160 interface, thereby simplifying the configuration of thewireless module 118. - As will be appreciated, in both of the implementations shown in
FIGS. 9 and 10 , the secure functionality of theGAA server 114′ (i.e. the parts of theGAA server 114′ that interface with the UICC 112) are implemented on thewireless module 118. Therefore, in both implementations, asecurity module 114 b is implemented on thewireless module 118. However, in the implementation shown inFIG. 9 , the functionality of theinterface application 114 a is also implemented on thewireless module 118, wherein the functionality of theinterface application 114 a and thesecurity module 114 b together make up theGAA server 114′. As such, the implementation shown inFIG. 9 may be considered to implement both theinterface application 114 a and thesecurity module 114 b on thewireless module 118. - The
interface application 114 a may be implemented as a ‘stand alone’ application on the application processor of theUE 110. In an alternative, it may be implemented as a ‘plug-in’ to theDM client 116, or the functionality of theinterface application 114 a may be incorporated into theDM client 116 such that theinterface application 114 a is theDM client 116. - Whilst in the above implementations, communications between the
interface application 114 a and thesecurity module 114 b (and optionally also between theDM client 116 and thesecurity module 114 b) are described as taking place using custom AT commands, it will be appreciated that any suitable commands or protocols may be utilised. For example, a customised Radio Interface Layer (RIL) may be used to communicate with the wireless communication module 118 (more information may be found at http://en.wikipedia.org/wiki/Radio Interface Layer), or where thewireless communication module 118 is an external wireless communication module, a USB or Ethernet interface may be used. -
FIG. 11 shows an alternative implementation wherein thesecurity module 114 b is implemented within awireless communication module 118 in theUE 110. Thewireless communication module 118 may be, for example, a modem or a baseband processor. - This implementation is similar to that shown in
FIGS. 9 and 10 , but utilises the GBA “push variant” for establishing a secure connection with theUE 110, which is described in more detail above in respect ofFIGS. 7 and 8 . - As described in respect of the implementations shown in
FIGS. 9 and 10 , thewireless communication module 118 may be accessed from the application logic within the UE 110 (for example, theDM client 116, or any other application within the UE 110) using AT commands. Thus, theDM client 116 may use a custom AT command with the GPI as a parameter in order to pass the GPI to thesecurity module 114 b. TheDM client 116 may then expect a shared secret, for example Ks_NAF, to be returned as an output to the AT command. - When the
security module 114 b has the GPI, it will have the material that it requires to derive the shared secret, for example it may have the identifier of the NAF, the RAND and the AUTN. Thesecurity module 114 b is able to use the RAND and AUTN to obtain the RES, CK and IK from theUICC 112 using the USIM application on the UICC 112 (or use just the RAND to obtain the SRES and Kc from theUICC 112 using the SIM application on the UICC 12) and derive the shared secret, for example Ks_NAF, in the same way as described in respect ofFIG. 9 above. Thesecurity module 114 b may then return the shared secret, for example Ks_NAF, to theDM client 116 as an output to the AT command. - Alternatively, rather any using AT commands, the
DM client 116 may use any other suitable commands. For example, theDM client 116 may use an API, or a customised Radio Interface Layer (RIL), or where thewireless communication module 118 is an external wireless communication module, a USB or Ethernet interface, to communicate with thesecurity module 114 b in order to pass the GPI to thesecurity module 114 b and receive the shared secret in return. - Again, by implementing the
security module 114 b on thewireless communication module 118, it is possible to access low level, secure parts of theUICC 112 in order to carry out the GBA process described above, without exposinglow level UICC 112 commands, or other direct access to theUICC 112 up to the application logic, for example via AT+CSIM to theDM client 116 or any other general applications. Thus, security of theUICC 112 can be maintained to prevent fraudulent parties from impersonating theUE 110 in order to engender fraud on the cellular network. - Furthermore, because in the push variant there is no
Ub interface 160, an http client is not required on theUE 110, and thus it is possible to implement only the secure functionality of theGAA server 114′ (i.e. the parts of theGAA server 114′ that interface with the UICC 112) as thesecurity module 114 b on thewireless module 118. -
FIG. 12 shows an alternative implementation wherein theGAA server 114′ is implemented within theUICC 112 in theUE 110. TheGAA server 114′ may be implemented as an applet within theUICC 112. - The
GAA server 114′ will interface with theUb 160 interface so as to carry out steps (d), (g), (j) and (k), which are described above. TheGAA server 114′ may be accessed from application logic within the UE 110 (for example, theDM client 116, or any other application within the UE 110) using AT commands. For example, theDM client 116 may use a commonly supported AT command with an identifier of the NAF, for example NAF_Id, as a parameter of the AT command in order to pass the identifier of the NAF to the GAA server in step (c) described above. In particular, theDM client 116 may re-purpose commonly supported commands such as AT+CPBW (write to the UICC's phone book), or AT+CMGS (send an SMS), or AT+CRSM (which is a flexible command allowing data to be communicated to and from theUICC 112 whilst still shielding the SIM or USIM application from being called directly). Such commands may be used to write the identifier of the NAF to the UICC's phone book or the UICC's store of SMS messages or any other location in the UICC's memory. Alternatively, any other suitable UICC location for writing the identifier of the NAF may be utilised, for example any one or more of the ad hoc files available on theUICC 112 to store data from theUE 110, such as a standard folder which is used for device management provisioning in OMA. These locations may therefore be used as a “read/write buffer” to pass input and output parameters to and from theGAA server 114′ running on theUICC 112. For this, existing, commonly supported AT commands may be re-purposed, or custom AT commands may be utilised. - The
GAA server 114 may then be configured to run periodically, or on an event-triggered basis, and monitor the buffer for recent “writes”. When a “write” is identified, it may retrieve the data written to the file and treat this as an input. - For example, if the
DM client 110 writes an identifier of theNAF 122 to a location on theUICC 112 in step (c), steps (d) to (i) as described above may be carried out so that theGAA server 114′ can obtain the material it requires in order to derive the shared secret, for example Ks_NAF. In particular, after theGAA server 114 has obtained RAND and AUTN in step (g), it may interface with the USIM application on theUICC 112 in step (h) and obtain the CK, IK and RES in step (i) (or it may use RAND and interface with the SIM application on theUICC 112 in step (h) and obtain the Kc and SRES in step (i)). - After the
GAA server 114′ has derived the shared secret, for example Ks_NAF, it may write the shared secret to a location on theUICC 112 as an “output”. TheGAA server 114′ may also write a transaction identifier, for example B-TID, to the same location, or to a different location. - The
DM client 116 may be configured to monitor the location(s) on theUICC 112 periodically and read the shared secret and/or transaction identifier from the location(s). For example, theDM client 116 may re-purpose commonly supported commands, for example AT+CPBR (read from the UICC's phonebook) or AT+CMGR (read from the UICC's SMS message store), or any other commands suitable for reading the output stored on a file of the UICC 112 (for example, AT+CRSM). Thus, theDM client 116 may obtain the shared secret and/or transaction identifier in step (I). - By implementing the
GAA server 114′ on theUICC 112, it is possible to carry out the GBA process described earlier in order to establish secure communication between theNAF 122 and theUE 110 without exposing sensitive parts of theUICC 112 to applications on theUE 110. In particular, the USIM (or SIM) on theUICC 112 may be kept inaccessible to the application logic, thus maintaining the security of theUICC 112. - Furthermore, the
DM client 116, or any other application on the application logic, may interface with theGAA server 114′ to provide inputs and obtain outputs by re-purposing commonly supported AT commands, or by utilising custom AT commands. This may simplify the implementation of theUICC 112 containing theGAA server 114′ as an applet. Alternatively, any other suitable commands may be used to enable theDM client 116 to interface with theGAA server 114′, for example a custom Radio Interface Layer (RIL), or PC/SC (more information can be found at http://en.wikipedia.org/wiki/PC/SC), or SATSA (JSR 177) for J2ME (more information can be found at http://en.wikipedia.org/wiki/Security and Trust Services API for J2ME), or interchip USB (where one of the chips is in the UICC 112) (more information can be found at http://en.wikipedia.org/wiki/InterChip USB), or http to a webserver on the UICC 112 (more information can be found at http://technical.openmobilealliance.org/Technica/release program/scws vf 2.aspx). -
FIG. 13 shows an alternative implementation wherein aninterface application 114 a is implemented as an application on an application processor of theUE 110 and asecurity module 114 b is implemented within theUICC 112 on theUE 110. Thesecurity module 114 b may be implemented as an applet within theUICC 112. - This implementation is similar to that shown in
FIG. 10 in that it separates out the interface functionality and the security functionality of theGAA server 114′. Therefore, theinterface application 114 a may terminate theUb 160 interface at theUE 110 and thesecurity module 114 b may interface with the USIM (or SIM) application on theUICC 112 in order to obtain the material it requires to derive the shared secret. In a similar way to that described in respect ofFIG. 10 above, thesecurity module 114 b andinterface application 114 a may interface with each other in order to pass any necessary data between the two. For example, theinterface application 114 a may re-purpose common AT commands (such as AT+CPBW or AT+CMGS or AT+CRSM) to write the AUTN and RAND to a location(s) on theUICC 112. Thesecurity module 114 b may then write to the same location(s) or a different location(s) any material that theinterface application 114 a may require, for example the RES or SRES, so that theinterface application 114 a may read the material off theUICC 112 and utilise it further as part of the GBA process (for example by using RES or SRES to protect communication with the BSF via the Ub interface). - The
DM client 116 may interface with thesecurity module 114 b in the same way as described in respect ofFIG. 12 (i.e. theDM client 116 may use AT commands, or any other suitable commands, to write an identifier of the NAF to a location(s) on theUICC 112, which thesecurity module 114 b may then read as an input. Thesecurity module 114 b may write the shared secret, for example Ks_NAF, and/or an identifier of the transaction, for example B-TID, to theUICC 112 buffer and the DM client may read the shared secret and/or transaction identifier from the buffer using AT commands, or any other suitable commands). - Alternatively, the
DM client 116 may use an application programming interface (API) to communicate with theinterface application 114 a, for example to pass an identifier of the NAF (NAF_Id) to theinterface application 114 a. Theinterface application 114 a in turn can use AT commands to interface with thesecurity module 114 b in order to write the NAF_Id to the UICC 112 (either to the same location as the AUTN and RAND, or to a different location) so that thesecurity module 114 b can obtain the shared secret and write it to a location on theUICC 112 so that theinterface application 114 a can read the shared secret and return it to theDM client 116. Alternatively, thesecurity module 114 b may write to a location(s) on theUICC 112 material using which the shared secret can be derived, for example CK and IK, or Kc, such that theinterface application 114 a may derive the shared secret and pass it on to theDM client 116. - The
interface application 114 a may thus operate as a proxy to thesecurity module 114 b for communication viaUb interface 160 and/or for communication with theDM client 116. In one example, the functionality of theinterface application 114 a may be performed by the DM client 116 (i.e. theinterface application 114 a and theDM client 116 may be considered to be the same entity), or theinterface application 114 a may be a plug-in component within theDM client 116. - In this implementation, not only is the security of the
UICC 112 maintained by implementing thesecurity module 114 b on theUICC 112, communications functionality may also be kept in the application processor, away from theUICC 112. Thus, insecure elements of theGAA server 114′ may be kept in theinterface application 114 a, away from theUICC 112, thereby improving the security of theUICC 112. Furthermore, thesecurity module 114 b will not have to terminate theUb 160 interface, thereby simplifying the configuration of theUICC 112. - As explained earlier, it will be appreciated that in both of the implementations shown in
FIGS. 12 and 13 , the secure functionality of theGAA server 114′ (i.e. the parts of theGAA server 114′ that interface with the UICC 112) are implemented on theUICC 112. Therefore, in both implementations, asecurity module 114 b is implemented on theUICC 112. However, in the implementation shown inFIG. 12 , the functionality of theinterface application 114 a is also implemented on theUICC 112, wherein the functionality of theinterface application 114 a and thesecurity module 114 b together make up theGAA server 114′. As such, the implementation shown inFIG. 12 may be considered to implement both theinterface application 114 a and thesecurity module 114 b on thewireless module 118. - The
interface application 114 a may be implemented as a ‘stand alone’ application on the application processor of theUE 110. In an alternative, it may be implemented as a ‘plug-in’ to theDM client 116, or the functionality of theinterface application 114 a may be incorporated into theDM client 116 such that theinterface application 114 a is theDM client 116. In another alternative, theinterface application 114 a may be implemented on awireless communication module 118. - Whilst in the above implementations, communications between the
interface application 114 a and thesecurity module 114 b (and optionally also between theDM client 116 and thesecurity module 114 b) are described as taking place using custom AT commands, it will be appreciated that any suitable commands or protocols may be utilised. For example, GBA-U commands may be used if thesecurity module 114 b on theUICC 112 supports them (thesecurity module 114 b may be configured on theUICC 112 to receive and respond to GBA-U commands), or PC/SC (more information can be found at http://en.wikipedia.org/wiki/PC/SC), or SATSA (JSR 177) for J2ME (more information can be found at http://en.wikipedia.org/wiki/Security and Trust Services API for J2ME), or interchip USB (where one of the chips is in the UICC 112) (more information can be found at http://en.wikipedia.org/wiki/InterChip USB), or http to a webserver on the UICC 112 (more information can be found at http://technical.openmobilealliance.org/Technical/release program/scws v1 2.aspx), etc. may be used. -
FIG. 14 shows an alternative implementation wherein thesecurity module 114 b is implemented within theUICC 112. Thesecurity module 114 b may be implemented as an applet within theUICC 112. - This implementation is similar to that shown in
FIGS. 12 and 13 , but utilises the GBA “push variant” for establishing a secure connection between theNAF 122 and theUE 110, which is described in more detail above in respect ofFIGS. 7 and 8 . - As described above in respect of the implementations shown in
FIGS. 12 and 13 , thesecurity module 114 b may be accessed by theDM client 116 using AT commands (either custom or re-purposed). Thus, theDM client 116 can write the GPI to a location on theUICC 112 using an AT command (for example, AT+CPBW or AT+CMGS or AT+CRSM). Thesecurity module 114 b may then read this and utilise the information within the GPI (for example, the RAND and AUTN) to obtain the material it requires (for example, CK and IK) to derive the shared secret, for example Ks_NAF. TheGAA server 114′ can then write this to a location on theUICC 112 and theDM client 116 can read the shared secret from theUICC 112 using an AT command (for example, AT+CPBR or AT+CMGR or AT+CRSM) in order to obtain the shared secret. - Whilst in the above implementations, communications between the
DM client 116 and thesecurity module 114 b are described as taking place using AT commands, it will be appreciated that any suitable commands or protocols may be utilised. For example, GBA-U commands may be used if thesecurity module 114 b on theUICC 112 supports them, (thesecurity module 114 b may be configured on theUICC 112 to receive and respond to GBA-U commands), or PC/SC (more information can be found at http://en.wikipedia.org/wiki/PC/SC), or SATSA (JSR 177) for J2ME (more information can be found at http://en.wikipedia.org/wiki/Security and Trust Services API for J2ME), or interchip USB (where one of the chips is in the UICC 112) (more information can be found at http://en.wikipedia.org/wiki/InterChip USB), or http to a webserver on the UICC 112 (more information can be found at http://technical.openmobilealliance.org/Technical/release program/scws v1 2.aspx), etc. may be used. - As explained in respect of
FIGS. 12 and 13 , the security of theUICC 112 maintained by implementing thesecurity module 114 b on theUICC 112. Furthermore, because in the push variant there is no Ub interface, an http client is not required on theUE 110, and thus it is possible to implement only the secure functionality of theGAA server 114′ (i.e. the parts of theGAA server 114 that interface with USIM or SIM) on theUICC 112, thereby simplifying the configuration of theUICC 112. - It is to be understood that the above description is given by way of example and only for the benefit of understanding the solution, and it must include also any combination of the above features, as well as any alterations, modifications or otherwise addition which could be done by a skilled person by use of his/her skills and/or general knowledge in the relevant and/or neighbouring art.
- Many combinations, modifications, or alterations to the features of the above embodiments will be readily apparent to the skilled person and are intended to form part of the invention. Any of the features described specifically relating to one embodiment or example may be used in any other embodiment by making the appropriate changes.
- For example, the
UICC 112 described above may be any sort of integrated circuit card (ICC) (also known as a smart card, or chip card), for example a subscriber identity module (SIM) card or IP Multimedia Services Identity Module (ISIM) card. - Whilst
FIGS. 10 and 13 show theinterface application 114 a as a separate application to theDM client 116, it will be appreciated that theinterface application 114 a may be implemented as a plug-in component to theDM client 116. Alternatively, the functionality of theinterface application 114 a may form part of the functionality of theDM client 116 such that theDM client 116 performs the operations of theinterface application 114 a. These alternatives may be used in particular if theUb interface 160 is “tunneled” to theDM client 116 viaUa 150, or via a different interface Ua′ that is distinct from Ua 150 (wherein Ua′ may be established to confirm or not to conform to any standards and may be terminated by theDM client 116 or theinterface application 114 a). - In any event, regardless of how data is transmitted to and from the
UE 110, thesecurity module 114 b described above may be configured to receive the material it requires to derive the shared secret (for example, the NAF_Id and RAND) from one or more applications on theUE 110. The one or more applications on theUE 110 may be implemented on the applications processor of the UE 110 (for example, from theinterface application 114 a and/or the DM client 116), or within the wireless communications module 118 (as explained above in respect ofFIG. 13 ). Alternatively, where thesecurity module 114 b is implemented as part of theGAA server 114′ on either theUICC 112 or thewireless communication module 118, thesecurity module 114 b may receive the material it requires from a connection that is terminated at thesecurity module 114 b/GAA server 114′. -
FIGS. 11 and 14 both show theDM client 116 terminating theUpa 155 interface. However, it will be appreciated that any application on theUE 110 may terminate theUpa interface 155. For example, the configurations shown inFIGS. 11 and 14 may further comprise theinterface application 114 a, or any other application, which may terminate Upa and write the GPI to a location on theUICC 112 so that thesecurity module 114 b may obtain the shared secret. Theinterface application 114 a, or any other application, may then read the shared secret from a location on theUICC 112 and pass it on to theDM client 116, or theDM client 116 may itself read the shared secret from a location on theUICC 112. Theinterface application 114 a, or any other application, may be implemented on the application processor, or on awireless communication module 118. Furthermore, rather than terminating Upa 115, theinterface application 114 a, or any other application, may terminate an interface through which Upa is “tunneled”, for example Ua′. - The
wireless communication module 118 may be, for example, a modem or a baseband processor. In some implementations, M2M devices have chips that include the functionality of a baseband processor (or modem) and the UICC directly wired onto a printed circuit board (PCB). An applications processor, antenna, peripherals etc. may also be wired directly onto the PCB. Therefore, the term “wireless communication module” is intended to encompass not only standalone wireless communication modules (for example, a standalone modem, or a standalone baseband processor), but any component or group of components that are configured to execute the functionality of a wireless communication module. - Furthermore, in the above described embodiments and the representations shown in the Figures, the interfaces between the
NAF 122 and theUE 110, between theBSF 130 and theNAF 122 and between theBSF 130 and the HLR/HSS 140 are represented as direct interfaces. However, it will be appreciated that any one or more of those interfaces may take any suitable form, whereby one or more intermediate devices or elements, for example communication routing devices, may be implemented as part of the interfaces. Likewise, the interfaces between the elements within the UE 110 (for example, between theUICC 112,GAA server 114′,security module 114 b,interface application 114 a,DM client 116 etc.) are represented as direct interfaces. However it will be appreciated that any one or more of those interfaces may take any suitable form, whereby one or more intermediate elements, for example communication routing devices, may be implemented as part of the interfaces.
Claims (43)
1. A wireless communication module for use in a machine to machine, M2M, device comprising an integrated circuit card comprising an existing shared secret that is shared between a network data store and the M2M device, wherein the wireless communication module is suitable for coupling to the integrated circuit card and wherein the wireless communication module comprises:
a security module implemented in the wireless communication module, the security module being configured to:
receive a first data object; and
use at least part of the first data object to obtain a second data object from the integrated circuit card; wherein
the second data object is derived from the existing shared secret; and wherein
the second data object is suitable for deriving security information; and wherein
the security information is suitable for use in establishing secure communication between the M2M device and a network application function, NAF.
2. The wireless communication module of claim 1 , wherein the security module is configured to receive from an application on the M2M device an identifier of the NAF.
3. The wireless communication module of claim 2 , wherein the security module is configured to receive from the application on the M2M device the identifier of the NAF as a parameter to a command.
4. The wireless communication module of claim 3 , wherein the command is an AT command.
5. The wireless communication module of any of claims 2 to 4 , wherein the security module is configured to use at least the identifier of the NAF and at least part of the second data object to derive the security information and return the security information to the application.
6. The wireless communication module of any preceding claim, wherein the security module is configured to receive the first data object via an interface with a bootstrapping server function, BSF.
7. The wireless communication module of any one of claims 2 to 5 , wherein the security module is configured to receive the first data object from the application on the M2M device.
8. The wireless communication module of any one of claims 1 to 5 , wherein the security module is configured to receive the first data object from a further application on the M2M device.
9. The wireless communication module of either claim 7 or claim 8 , wherein the first data object is at least part of a push information object.
10. The wireless communication module of any preceding claim, wherein the wireless communication module comprises a modem or a baseband processor.
11. A machine to machine, M2M, device for secure communication with a network application function, NAF, the M2M device comprising:
an integrated circuit card comprising an existing shared secret that is shared between a network data store and the M2M device; and
the wireless communication module of any preceding claim, wherein the wireless communication module is coupled to the integrated circuit card.
12. The M2M device of claim 11 , further comprising an application coupled to the security module, wherein the application is configured to provide an identifier of the NAF to the security module.
13. The M2M device of claim 12 , wherein the security module is further configured to use at least the identifier of the NAF and at least part of the second data object to derive the security information and return the security information to the application.
14. The M2M device of either claim 12 or claim 13 , wherein the application is further configured to provide the first data object to the security module.
15. The M2M device of either claim 12 or claim 13 , further comprising a further application coupled to the security module, wherein the further application is configured to provide the first data object to the security module.
16. The M2M device of either claim 14 or claim 15 , wherein the first data object is at least part of a push information object.
17. An integrated circuit card for use in a machine to machine, M2M, device, wherein the integrated circuit card comprises:
an integrated circuit card application;
an existing shared secret that is shared between a network data store and the M2M device, wherein the existing shared secret is accessible by the integrated circuit card application; and
a security module coupled to the integrated circuit card application, the security module being configured to:
use at least part of a first data object to obtain a second data object from the integrated circuit card application; wherein
the second data object is derived from the existing shared secret; and wherein
the second data object is suitable for deriving security information; and wherein
the security information is suitable for use in establishing secure communication between the M2M device and a network application function, NAF.
18. The integrated circuit card of claim 17 , wherein the security module is configured to:
obtain an identifier of the NAF; and
use at least the identifier of the NAF and the second data object to derive the security information.
19. The integrated circuit card of claim 18 , wherein the security module is configured to obtain the identifier of the NAF from a first location on the integrated circuit card.
20. The integrated circuit card of claim 19 , wherein the security module is configured to:
monitor the first location on the integrated circuit card; and
obtain the identifier of the NAF when a change to the first location is identified.
21. The integrated circuit card of any one of claims 17 to 20 , wherein the security module is configured to obtain the first data object from the first location on the integrated circuit card.
22. The integrated circuit card of claim 21 , wherein the security module is configured to:
monitor the first location on the integrated circuit card; and
obtain the first data object when a change to the first location is identified.
23. The integrated circuit card of any one of claims 17 to 20 , wherein the security module is configured to obtain the first data object from a second location on the integrated circuit card.
24. The integrated circuit card of claim 23 , wherein the security module is configured to:
monitor the second location on the integrated circuit card; and
obtain the first data object when a change to the second location is identified.
25. The integrated circuit card of any one of claims 17 to 24 , wherein the security module is configured to:
write the security information to a third location on the integrated circuit card.
26. The integrated circuit card of claim 25 , wherein the security module is configured to:
use at least part of the first data object to obtain a verification data object from the integrated circuit card application; and
write the verification data object to the third location on the integrated circuit card.
27. The integrated circuit card of any one of claims 17 to 25 , wherein the security module is further configured to:
use at least part of the first data object to obtain a verification data object from the integrated circuit card application; and
write the verification data object to a fourth location on the integrated circuit card.
28. The integrated circuit card of any one of claims 19 to 27 , wherein:
the first location is part of a phone book or part of a store of SMS messages or part of a file buffer;
the second location is part of the phone book or part of the store of SMS messages or part of a file buffer;
the third location is part of the phone book or part of the store of SMS messages or part of a file buffer; and
the fourth location is part of the phone book or part of the store of SMS messages or part of a file buffer.
29. A machine to machine, M2M, device for secure communication with a network application function, NAF, the M2M device comprising:
the integrated circuit card of any one of claims 17 to 28 .
30. The M2M device of claim 29 further comprising:
an application that is coupled to the integrated circuit card and is configured to:
write an identifier of the NAF to a first location on the integrated circuit card.
31. The M2M device of claim 30 , wherein the application is configured to write the identifier of the NAF to the first location on the integrated circuit card using a command.
32. The M2M device of claim 31 , wherein the command is an AT command.
33. The M2M device of any of claims 30 to 32 , wherein the application is configured to obtain the security information from a third location on the integrated circuit card.
34. The M2M device of claim 33 , wherein the application is configured to obtain the security information from the third location using a command.
35. The M2M device of either claim 33 or claim 34 , wherein the application is configured to:
monitor the third location on the integrated circuit card; and
obtain the security information when a change to the third location is identified.
36. The M2M device any one claims 30 to 35 , wherein the application is further configured to write the first data object to the first location on the integrated circuit card.
37. The M2M device of any of claims 30 to 36 , wherein the application is further configured to obtain a verification data object from the third location on the integrated circuit card, or from a fourth location on the integrated circuit card.
38. The M2M device of any one of claims 30 to 35 , further comprising a further application configured to write the first data object to a second location on the integrated circuit card.
39. The M2M device of claim 38 , wherein the further application is further configured to obtain a verification data object from the third location on the integrated circuit card, or from a fourth location on the integrated circuit card.
40. The M2M device of any one of claims 11 to 16 or 30 to 39 , wherein the application and/or the further application is a device management client.
41. The M2M device of any one of claims 11 to 16 or 30 to 39 , further comprising a device management client, wherein the device management client comprises the application and/or the further application.
42. The M2M device of any one of claims 11 to 16 or 30 to 39 , further comprising a device management client, wherein the application and/or the further application is configured to operate as a proxy to the device management client.
43. The M2M device of any one of claims 11 to 16 or 30 to 42 , wherein the application and/or the further application is configured to operate as a proxy to the security module.
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB201316370A GB201316370D0 (en) | 2013-09-13 | 2013-09-13 | Secure device management |
GB1316370.4 | 2013-09-13 | ||
GB1318339.7 | 2013-10-16 | ||
GB201318339A GB201318339D0 (en) | 2013-10-16 | 2013-10-16 | Machine to machine architecture |
GB1409643.2A GB2518255A (en) | 2013-09-13 | 2014-05-30 | Communicating with a machine to machine device |
GB1409643.2 | 2014-05-30 | ||
PCT/GB2014/052772 WO2015036777A1 (en) | 2013-09-13 | 2014-09-12 | Communicating with a machine to machine device |
Publications (1)
Publication Number | Publication Date |
---|---|
US20160226828A1 true US20160226828A1 (en) | 2016-08-04 |
Family
ID=51214488
Family Applications (14)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/021,913 Active 2034-09-18 US10313308B2 (en) | 2013-09-13 | 2014-09-12 | Communicating with a device |
US15/021,873 Active 2035-01-30 US10439991B2 (en) | 2013-09-13 | 2014-09-12 | Communicating with a machine to machine device |
US15/021,876 Abandoned US20160226828A1 (en) | 2013-09-13 | 2014-09-12 | Communicating with a machine to machine device |
US15/021,910 Active US9635057B2 (en) | 2013-09-13 | 2014-09-12 | Communicating with machine to machine devices |
US15/021,871 Active US10673820B2 (en) | 2013-09-13 | 2014-09-12 | Communicating with a machine to machine device |
US15/021,900 Abandoned US20160234183A1 (en) | 2013-09-13 | 2014-09-12 | Communicating with a machine to machine device |
US15/021,881 Abandoned US20160234683A1 (en) | 2013-09-13 | 2014-09-12 | Methods and systems for operating a secure mobile device |
US15/021,885 Active US10630646B2 (en) | 2013-09-13 | 2014-09-12 | Methods and systems for communicating with an M2M device |
US15/021,888 Active 2035-09-05 US10412052B2 (en) | 2013-09-13 | 2014-09-12 | Managing machine to machine devices |
US15/021,912 Active 2035-03-03 US10305862B2 (en) | 2013-09-13 | 2014-09-12 | Secure communication with a mobile device |
US15/021,879 Active 2034-11-25 US10313307B2 (en) | 2013-09-13 | 2014-09-12 | Communicating with a machine to machine device |
US15/496,860 Active US10764252B2 (en) | 2013-09-13 | 2017-04-25 | Communicating with machine to machine devices |
US16/357,727 Active US11044234B2 (en) | 2013-09-13 | 2019-03-19 | Communicating with a device |
US16/821,378 Active US11063912B2 (en) | 2013-09-13 | 2020-03-17 | Methods and systems for communicating with an M2M device |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/021,913 Active 2034-09-18 US10313308B2 (en) | 2013-09-13 | 2014-09-12 | Communicating with a device |
US15/021,873 Active 2035-01-30 US10439991B2 (en) | 2013-09-13 | 2014-09-12 | Communicating with a machine to machine device |
Family Applications After (11)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/021,910 Active US9635057B2 (en) | 2013-09-13 | 2014-09-12 | Communicating with machine to machine devices |
US15/021,871 Active US10673820B2 (en) | 2013-09-13 | 2014-09-12 | Communicating with a machine to machine device |
US15/021,900 Abandoned US20160234183A1 (en) | 2013-09-13 | 2014-09-12 | Communicating with a machine to machine device |
US15/021,881 Abandoned US20160234683A1 (en) | 2013-09-13 | 2014-09-12 | Methods and systems for operating a secure mobile device |
US15/021,885 Active US10630646B2 (en) | 2013-09-13 | 2014-09-12 | Methods and systems for communicating with an M2M device |
US15/021,888 Active 2035-09-05 US10412052B2 (en) | 2013-09-13 | 2014-09-12 | Managing machine to machine devices |
US15/021,912 Active 2035-03-03 US10305862B2 (en) | 2013-09-13 | 2014-09-12 | Secure communication with a mobile device |
US15/021,879 Active 2034-11-25 US10313307B2 (en) | 2013-09-13 | 2014-09-12 | Communicating with a machine to machine device |
US15/496,860 Active US10764252B2 (en) | 2013-09-13 | 2017-04-25 | Communicating with machine to machine devices |
US16/357,727 Active US11044234B2 (en) | 2013-09-13 | 2019-03-19 | Communicating with a device |
US16/821,378 Active US11063912B2 (en) | 2013-09-13 | 2020-03-17 | Methods and systems for communicating with an M2M device |
Country Status (6)
Country | Link |
---|---|
US (14) | US10313308B2 (en) |
EP (15) | EP3800862B1 (en) |
CN (1) | CN105706469B (en) |
ES (4) | ES2933426T3 (en) |
GB (15) | GB2586549B (en) |
WO (12) | WO2015036777A1 (en) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140330952A1 (en) * | 2013-05-06 | 2014-11-06 | Convida Wireless LLC | Device Triggering |
US20160226847A1 (en) * | 2013-09-13 | 2016-08-04 | Vodafone Ip Licensing Limited | Methods and systems for communicating with an m2m device |
US9847875B1 (en) * | 2016-06-20 | 2017-12-19 | Verizon Patent And Licensing Inc. | Methods and systems for bootstrapping an end-to-end application layer session security keyset based on a subscriber identity master security credential |
US20190222653A1 (en) * | 2015-10-23 | 2019-07-18 | Telefonaktiebolaget Lm Ericsson (Publ) | Establishment of operational status of a machine-to-machine device |
US10455057B2 (en) * | 2016-11-29 | 2019-10-22 | Verizon Patent And Licensing Inc. | System and method for Lightweight-Machine-to-Machine device registration and assignment |
US10469600B2 (en) * | 2017-11-14 | 2019-11-05 | Dell Products, L.P. | Local Proxy for service discovery |
US20200021445A1 (en) * | 2018-07-11 | 2020-01-16 | Verizon Patent And Licensing Inc. | Devices and methods for application attestation |
US20220174046A1 (en) * | 2016-02-01 | 2022-06-02 | Airwatch Llc | Configuring network security based on device management characteristics |
US11438447B2 (en) * | 2018-07-03 | 2022-09-06 | Telefonaktiebolaget Lm Ericsson (Publ) | First node, communication device, and methods performed thereby for handling positioning information |
US20220345307A1 (en) * | 2020-01-16 | 2022-10-27 | Zte Corporation | Method, Device, and System for Updating Anchor Key in a Communication Network for Encrypted Communication with Service Applications |
US11522840B2 (en) * | 2018-06-26 | 2022-12-06 | Arm Limited | Automatic client device registration |
US11552781B2 (en) | 2019-04-05 | 2023-01-10 | Honeywell International Inc. | Using error detection bits for cryptographic integrity and authentication |
Families Citing this family (184)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
USRE48631E1 (en) * | 2012-06-08 | 2021-07-06 | Samsung Electronics Co., Ltd. | Method and system for selective protection of data exchanged between user equipment and network |
EP2946287B1 (en) * | 2013-01-15 | 2021-03-03 | Hewlett-Packard Enterprise Development LP | Dynamic firmware updating |
US9350550B2 (en) * | 2013-09-10 | 2016-05-24 | M2M And Iot Technologies, Llc | Power management and security for wireless modules in “machine-to-machine” communications |
US9100175B2 (en) | 2013-11-19 | 2015-08-04 | M2M And Iot Technologies, Llc | Embedded universal integrated circuit card supporting two-factor authentication |
US10700856B2 (en) | 2013-11-19 | 2020-06-30 | Network-1 Technologies, Inc. | Key derivation for a module using an embedded universal integrated circuit card |
US9871889B1 (en) * | 2014-03-18 | 2018-01-16 | EMC IP Holing Company LLC | Techniques for automated capture of configuration data for simulation |
CN104954399B (en) * | 2014-03-27 | 2018-06-19 | 正文科技股份有限公司 | Bind the method and its binding system of mobile carrier and intelligent apparatus |
KR20180043385A (en) * | 2014-04-09 | 2018-04-27 | 콘비다 와이어리스, 엘엘씨 | Service enabler function |
EP3148418B1 (en) | 2014-05-27 | 2021-01-06 | ResMed Inc. | Remote diagnostics of respiratory therapy devices |
JP6434611B2 (en) * | 2014-07-22 | 2018-12-05 | コンヴィーダ ワイヤレス, エルエルシー | Interworking lightweight machine-to-machine protocol using device management protocol |
GB2529838B (en) | 2014-09-03 | 2021-06-30 | Advanced Risc Mach Ltd | Bootstrap Mechanism For Endpoint Devices |
US11051149B2 (en) * | 2014-09-25 | 2021-06-29 | Telefonaktiebolaget Lm Ericsson (Publ) | Device mobility with CoAP |
US9763063B2 (en) * | 2014-10-06 | 2017-09-12 | Derek D. Kumar | Secure broadcast beacon communications |
US9807079B2 (en) * | 2014-10-23 | 2017-10-31 | Palo Alto Network, Inc. | Single sign on proxy for regulating access to a cloud service |
CN107113333B (en) * | 2014-12-11 | 2021-06-08 | 英国电讯有限公司 | Method for installing software on server computer and communication interface device |
US20160344744A1 (en) * | 2015-01-13 | 2016-11-24 | Gustavo Tanoni | Application protocol query for securing gba usage |
US9591027B2 (en) * | 2015-02-17 | 2017-03-07 | Qualys, Inc. | Advanced asset tracking and correlation |
US10200486B2 (en) * | 2015-02-26 | 2019-02-05 | Urban Airship, Inc. | Mobile event notifications for network enabled objects |
US10084865B2 (en) | 2015-02-26 | 2018-09-25 | Urban Airship, Inc. | Mobile event notifications |
MX367997B (en) | 2015-02-27 | 2019-09-13 | Ericsson Telefon Ab L M | Security arrangements in communication between a communication device and a network device. |
GB2536698A (en) * | 2015-03-26 | 2016-09-28 | Eoghan Hynes | Secure communications between a beacon and a handset |
WO2016160626A1 (en) | 2015-03-27 | 2016-10-06 | Globallogic, Inc. | Determining actions based on imputing meaning to sensed information in a distributed computing environment |
WO2016162382A1 (en) * | 2015-04-07 | 2016-10-13 | Tyco Fire & Security Gmbh | Machine-to-machine and machine to cloud end-to-end authentication and security |
US10701111B2 (en) * | 2015-04-10 | 2020-06-30 | Nokia Of America Corporation | Method and apparatus for device management |
KR102423885B1 (en) * | 2015-05-08 | 2022-07-21 | 한국전자통신연구원 | Method and system for additive homomorphic encryption scheme with error detection functionality |
CA3018526C (en) | 2015-05-22 | 2023-06-20 | John A. Nix | Cryptographic unit for public key infrastructure (pki) operations |
GB2538773A (en) | 2015-05-28 | 2016-11-30 | Vodafone Ip Licensing Ltd | Device key security |
CN105045114B (en) * | 2015-05-29 | 2019-11-19 | 四川长虹电器股份有限公司 | A kind of information processing method, cloud service platform and information processing system |
US10135871B2 (en) * | 2015-06-12 | 2018-11-20 | Accenture Global Solutions Limited | Service oriented software-defined security framework |
WO2016202375A1 (en) | 2015-06-17 | 2016-12-22 | Telefonaktiebolaget Lm Ericsson (Publ) | Method for enabling a secure provisioning of a credential, and related wireless devices and servers |
CN108028829A (en) | 2015-07-02 | 2018-05-11 | 瑞典爱立信有限公司 | For obtaining the method being initially accessed and relevant wireless device and network node to network |
EP3320708B1 (en) * | 2015-07-06 | 2022-03-09 | Telefonaktiebolaget LM Ericsson (publ) | Facilitating secure communcation between a client device and an application server |
GB2540354A (en) * | 2015-07-13 | 2017-01-18 | Vodafone Ip Licensing Ltd | Generci bootstrapping architecture protocol |
CN106487501B (en) * | 2015-08-27 | 2020-12-08 | 华为技术有限公司 | Key distribution and reception method, key management center, first network element and second network element |
US10057382B2 (en) * | 2015-09-24 | 2018-08-21 | Amrita Vishwa Vidyapeetham | Intelligent “IoT gateway” |
KR101707602B1 (en) * | 2015-09-25 | 2017-02-17 | 상명대학교 천안산학협력단 | Method for authenticating secure message based on hash tree and apparatus therefor |
WO2017061815A1 (en) * | 2015-10-07 | 2017-04-13 | Samsung Electronics Co., Ltd. | Method for resource mapping between restful server and onem2m system |
KR102391218B1 (en) * | 2015-11-24 | 2022-04-26 | 텔레폰악티에볼라겟엘엠에릭슨(펍) | Charging record authentication for use of anonymized network services |
US11044593B2 (en) * | 2015-12-03 | 2021-06-22 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and devices for managing constrained devices |
BR112018014982A8 (en) | 2016-01-25 | 2023-04-11 | Apple Inc | CONDUCTING TRANSACTIONS USING ELECTRONIC DEVICES WITH NON-NATIVE CREDENTIALS |
US10708781B2 (en) | 2016-01-27 | 2020-07-07 | Telefonaktiebolaget Lm Ericsson (Publ) | Method for setting up a secure connection between LWM2M devices |
WO2017139046A1 (en) * | 2016-02-09 | 2017-08-17 | Presenso, Ltd. | System and method for unsupervised root cause analysis of machine failures |
US10268495B2 (en) * | 2016-02-18 | 2019-04-23 | Verizon Patent And Licensing Inc. | Virtual device model system |
US10172000B2 (en) * | 2016-03-17 | 2019-01-01 | M2MD Technologies, Inc. | Method and system for managing security keys for user and M2M devices in a wireless communication network environment |
US10158991B2 (en) * | 2016-03-17 | 2018-12-18 | M2MD Technologies, Inc. | Method and system for managing security keys for user and M2M devices in a wireless communication network environment |
US10135946B2 (en) | 2016-04-11 | 2018-11-20 | Verizon Patent And Licensing Inc. | Sending messages to mobile devices |
US10484363B2 (en) * | 2016-05-23 | 2019-11-19 | Lg Electronics Inc. | Method and apparatus for authenticating a device using Bluetooth technology |
EP3465000A1 (en) | 2016-05-23 | 2019-04-10 | HSL Energy Holding APS | An apparatus for production of steam from an aqueous liquid |
EP3466012B1 (en) | 2016-05-26 | 2024-04-10 | Telefonaktiebolaget LM Ericsson (PUBL) | Network application function registration |
US11075806B1 (en) | 2016-06-30 | 2021-07-27 | Juniper Networks, Inc. | Hierarchical naming scheme for state propagation within network devices |
EP3270620A1 (en) * | 2016-07-13 | 2018-01-17 | Gemalto Sa | Method and devices for managing a secure element |
EP3270321B1 (en) * | 2016-07-14 | 2020-02-19 | Kontron Modular Computers SAS | Technique for securely performing an operation in an iot environment |
US10298996B2 (en) | 2016-08-18 | 2019-05-21 | At&T Intellectual Property I, L.P. | Satellite TV user community smart device monitoring and management |
US10650621B1 (en) | 2016-09-13 | 2020-05-12 | Iocurrents, Inc. | Interfacing with a vehicular controller area network |
US10791108B2 (en) * | 2016-10-04 | 2020-09-29 | Joseph Jay Austin | Apparatuses, systems and methods for tracking network connected devices |
KR102224379B1 (en) * | 2016-10-07 | 2021-03-08 | 콘비다 와이어리스, 엘엘씨 | Service layer resource management for general interoperability and scalability |
CN107995673A (en) * | 2016-10-27 | 2018-05-04 | 中兴通讯股份有限公司 | A kind of voice data processing apparatus, method and terminal |
US20180139090A1 (en) * | 2016-11-15 | 2018-05-17 | John Geiger | Method for secure enrollment of devices in the industrial internet of things |
GB2558205B (en) * | 2016-12-15 | 2019-07-03 | Arm Ip Ltd | Enabling communications between devices |
JP2018101724A (en) * | 2016-12-21 | 2018-06-28 | 株式会社村田製作所 | Multilayer ceramic capacitor |
US10887173B2 (en) | 2016-12-21 | 2021-01-05 | Juniper Networks, Inc. | Communicating state information in distributed operating systems |
US11316744B2 (en) | 2016-12-21 | 2022-04-26 | Juniper Networks, Inc. | Organizing execution of distributed operating systems for network devices |
US11316775B2 (en) | 2016-12-21 | 2022-04-26 | Juniper Networks, Inc. | Maintaining coherency in distributed operating systems for network devices |
US20180184290A1 (en) * | 2016-12-22 | 2018-06-28 | Cypress Semiconductor Corporation | Embedded Certificate Method for Strong Authentication and Ease of Use for Wireless IoT Systems |
US10430566B2 (en) * | 2016-12-27 | 2019-10-01 | Paypal, Inc. | Vehicle based electronic authentication and device management |
CN108306911B (en) * | 2017-01-12 | 2020-12-29 | 中移物联网有限公司 | Internet of things event monitoring method and equipment |
US10439895B2 (en) * | 2017-01-31 | 2019-10-08 | Salesforce.Com, Inc. | Dynamic selection of channels for incoming communication |
US10389593B2 (en) * | 2017-02-06 | 2019-08-20 | International Business Machines Corporation | Refining of applicability rules of management activities according to missing fulfilments thereof |
ES2742128T3 (en) * | 2017-03-03 | 2020-02-13 | Boeing Co | System and method implemented by computer for the authentication between machines of an apparatus |
US10929573B2 (en) * | 2017-03-21 | 2021-02-23 | The Boeing Company | Systems and methods for designing and modeling products in a cloud environment |
US10992711B2 (en) | 2017-04-13 | 2021-04-27 | At&T Intellectual Property I, L.P. | Network aware data driven internet of things service engine |
US10972453B1 (en) * | 2017-05-03 | 2021-04-06 | F5 Networks, Inc. | Methods for token refreshment based on single sign-on (SSO) for federated identity environments and devices thereof |
CN107231275B (en) * | 2017-05-31 | 2021-07-30 | 普天智能照明研究院有限公司 | Method for connection configuration of user equipment and household equipment |
US10548185B2 (en) * | 2017-06-23 | 2020-01-28 | At&T Mobility Ii Llc | Facilitating integrated management of connected assets that utilize different technologies and that are located across disparate wireless communications networks |
US10528293B2 (en) | 2017-06-26 | 2020-01-07 | International Business Machines Corporation | Grouping devices as a virtual device for providing better quality of device data |
WO2019007476A1 (en) * | 2017-07-03 | 2019-01-10 | Telefonaktiebolaget Lm Ericsson (Publ) | Secure communications using network access identity |
JP6934762B2 (en) * | 2017-07-04 | 2021-09-15 | 株式会社ソラコム | Devices, methods and programs for remote management of equipment |
CN107493571B (en) * | 2017-07-20 | 2020-04-14 | 深圳市盛路物联通讯技术有限公司 | Type-based uplink data encryption control method and device for Internet of things repeater |
US20190036896A1 (en) * | 2017-07-27 | 2019-01-31 | Cisco Technology, Inc. | Generic Bootstrapping Architecture (GBA) Based Security Over Constrained Application Protocol (CoAP) for IoT Devices |
US10628151B2 (en) * | 2017-08-10 | 2020-04-21 | Dell Products L.P. | Systems and methods for usage driven determination of update criticality |
US10944753B2 (en) * | 2017-08-17 | 2021-03-09 | Verizon Patent And Licensing Inc. | IoT devices wireless network connectivity policy management |
TWI685227B (en) * | 2017-08-28 | 2020-02-11 | 大同股份有限公司 | Gateway, internet of things device control system and method thereof |
US11096058B2 (en) | 2017-08-30 | 2021-08-17 | Telefonaktiebolaget Lm Ericsson (Publ) | Reconfiguration of communications devices |
US10901812B2 (en) * | 2017-09-18 | 2021-01-26 | Rapyuta Robotics Co., Ltd. | Managing communication between cloud and heterogeneous devices across networks |
US10560326B2 (en) * | 2017-09-22 | 2020-02-11 | Webroot Inc. | State-based entity behavior analysis |
CN107749878B (en) * | 2017-10-16 | 2021-05-14 | 新华三信息安全技术有限公司 | Method and device for synchronizing files |
WO2019075608A1 (en) * | 2017-10-16 | 2019-04-25 | Oppo广东移动通信有限公司 | Method and device for identifying encrypted data stream, storage medium, and system |
US10833923B2 (en) | 2017-10-26 | 2020-11-10 | Skylo Technologies Inc. | Dynamic multiple access for distributed device communication networks with scheduled and unscheduled transmissions |
KR102005361B1 (en) * | 2017-10-31 | 2019-07-30 | 주식회사 디케이아이테크놀로지 | Cloud-Based Terminal Integrating Management System Using OTA Technique of IoT Terminal Over LPWA Network |
US10833926B2 (en) * | 2017-11-17 | 2020-11-10 | T-Mobile Usa, Inc. | Touchless secure bootstrapping of IoT devices |
WO2019104336A1 (en) * | 2017-11-27 | 2019-05-31 | Realnetworks, Inc. | Messaging platform communication processing using message cluster detection and categorization |
WO2019106451A1 (en) * | 2017-11-30 | 2019-06-06 | Telefonaktiebolaget Lm Ericsson (Publ) | Serving-network based perfect forward security for authentication |
US10306442B1 (en) | 2018-01-16 | 2019-05-28 | Skylo Technologies Inc. | Devices and methods for specialized machine-to-machine communication transmission network modes via edge node capabilities |
CN108337308B (en) * | 2018-01-31 | 2021-08-10 | 高新兴物联科技有限公司 | Data communication method, device and system for LWM2M client and upper computer |
WO2019152666A1 (en) * | 2018-02-02 | 2019-08-08 | Atc Technologies, Llc | Network device date exchange coordination |
US11729612B2 (en) * | 2018-03-08 | 2023-08-15 | Cypress Semiconductor Corporation | Secure BLE just works pairing method against man-in-the-middle attack |
US10747290B1 (en) * | 2018-03-30 | 2020-08-18 | Shopkick, Inc. | Varying application strategy based on device state |
KR20190118862A (en) * | 2018-04-11 | 2019-10-21 | 에스케이하이닉스 주식회사 | Memory system and operating method of memory controller |
US11269701B2 (en) * | 2018-04-17 | 2022-03-08 | Nippon Telegraph And Telephone Corporation | Device control apparatus, device control method, and device control system |
US20190332814A1 (en) * | 2018-04-27 | 2019-10-31 | Nxp B.V. | High-throughput privacy-friendly hardware assisted machine learning on edge nodes |
US10990593B2 (en) * | 2018-05-04 | 2021-04-27 | Saleforce.com, inc. | Providing matching security between data stores in a database system |
US10594549B2 (en) * | 2018-05-18 | 2020-03-17 | Nant Holdings Ip, Llc | Fine grained network management to edge device features |
EP3804233B1 (en) * | 2018-06-01 | 2023-11-29 | Telefonaktiebolaget LM Ericsson (publ.) | Method and apparatus for performing communication in internet of things |
EP3811592A1 (en) * | 2018-06-25 | 2021-04-28 | Telefonaktiebolaget LM Ericsson (publ) | Communication protocol discover method in constrained application protocol (coap) |
WO2020001728A1 (en) | 2018-06-25 | 2020-01-02 | Telefonaktiebolaget Lm Ericsson (Publ) | Bootstrapping devices on a network |
WO2020001749A1 (en) * | 2018-06-26 | 2020-01-02 | Telefonaktiebolaget Lm Ericsson (Publ) | Automated constrained datamodel provisioning procedure |
FR3084181A1 (en) * | 2018-07-20 | 2020-01-24 | Orange | METHOD FOR COORDINATING A PLURALITY OF EQUIPMENT MANAGEMENT SERVERS |
CN114363890A (en) * | 2018-08-10 | 2022-04-15 | 华为技术有限公司 | Extended universal boot architecture authentication method, device and storage medium |
US10868876B2 (en) * | 2018-08-10 | 2020-12-15 | Cisco Technology, Inc. | Authenticated service discovery using a secure ledger |
US11100228B2 (en) * | 2018-10-25 | 2021-08-24 | Dell Products, L.P. | System and method to recover FPGA firmware over a sideband interface |
CN111147421B (en) * | 2018-11-02 | 2023-06-16 | 中兴通讯股份有限公司 | Authentication method based on general guide architecture GBA and related equipment |
US20210400574A1 (en) * | 2018-11-16 | 2021-12-23 | Convida Wireless, Llc | Control plane and user plane selection for small data |
GB2579571B (en) * | 2018-12-03 | 2021-05-12 | Advanced Risc Mach Ltd | Device bootstrapping |
EP3892021A1 (en) * | 2018-12-06 | 2021-10-13 | Convida Wireless, Llc | Security lifecycle management of devices in a communications network |
US11144045B2 (en) * | 2018-12-18 | 2021-10-12 | General Electric Company | Apparatus and method for repair of edge devices |
US11516263B2 (en) * | 2019-03-14 | 2022-11-29 | T-Mobile Usa, Inc. | Secure and transparent transport of application level protocols to non-IP data delivery communication channels |
US11095742B2 (en) | 2019-03-27 | 2021-08-17 | Juniper Networks, Inc. | Query proxy for delivery of dynamic system state |
WO2020199827A1 (en) * | 2019-04-04 | 2020-10-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and apparatuses for communication between lwm2m client and server |
GB2582947B (en) * | 2019-04-10 | 2021-10-13 | Advanced Risc Mach Ltd | Provisioning data on a device |
JP7528061B2 (en) * | 2019-04-12 | 2024-08-05 | フェリカネットワークス株式会社 | Information processing terminal, information processing device, information processing method, program, and information processing system |
US11175899B2 (en) * | 2019-04-17 | 2021-11-16 | Vmware, Inc. | Service upgrade integration for virtualized computing environments |
GB2584527B (en) * | 2019-05-10 | 2021-12-08 | Advanced Risc Mach Ltd | Machine to machine communications |
WO2020231060A1 (en) * | 2019-05-13 | 2020-11-19 | 현대자동차주식회사 | Method and device for deleting resource in m2m system |
CN110213744A (en) * | 2019-05-31 | 2019-09-06 | 恒宝股份有限公司 | A kind of smart card realizes the method, apparatus and smart card of M2M business |
JP6856090B2 (en) * | 2019-06-07 | 2021-04-07 | ダイキン工業株式会社 | Equipment management system |
CN112087753B (en) * | 2019-06-14 | 2021-12-03 | 华为技术有限公司 | Authentication method, device and system |
JP7315825B2 (en) * | 2019-06-14 | 2023-07-27 | ダイキン工業株式会社 | Device management system and authentication method |
EP3767909A1 (en) * | 2019-07-17 | 2021-01-20 | Siemens Mobility GmbH | Method and communication unit for cryptographically protected unidirectional data transmission of useful data between two networks |
EP4011043A4 (en) | 2019-08-06 | 2023-08-02 | Airship Group, Inc. | Cross-channel orchestration of messages |
CN110533128B (en) * | 2019-08-21 | 2023-08-04 | 上海唯链信息科技有限公司 | Encryption-based anti-counterfeiting traceability data processing method, device, system and medium |
US11089062B2 (en) * | 2019-08-29 | 2021-08-10 | International Business Machines Corporation | Automated security architecture formulation and deployment |
CN110505307B (en) * | 2019-08-30 | 2022-04-26 | 公安部交通管理科学研究所 | Method and system for exchanging traffic flow data between networks |
WO2021055883A2 (en) * | 2019-09-18 | 2021-03-25 | GPSip, Inc. | Wireless location assisted zone guidance system incorporating secure transmission of location |
JP7395716B2 (en) | 2019-09-19 | 2023-12-11 | グーグル エルエルシー | Network filtering using resolvable private addresses |
CN112654013B (en) * | 2019-09-25 | 2022-06-14 | 华为技术有限公司 | Certificate issuing method and device |
US11429457B2 (en) | 2019-09-26 | 2022-08-30 | Dell Products L.P. | System and method to securely exchange system diagnostics information between firmware, operating system and payload |
US11023220B2 (en) | 2019-09-26 | 2021-06-01 | Dell Products L.P. | Firmware update with integrated smart sequence and action engine |
EP3809259B1 (en) * | 2019-10-16 | 2023-08-16 | NXP USA, Inc. | Network node firmware update |
CN112714421B (en) * | 2019-10-24 | 2023-03-17 | 华为云计算技术有限公司 | Communication method, network device and terminal device |
US11109343B2 (en) | 2019-10-30 | 2021-08-31 | Qualcomm Incorporated | Transport protocol usage of confirmable versus non-confirmable notifications based on criticality of the observation |
JP7092843B2 (en) * | 2019-10-31 | 2022-06-28 | アシュラント,インコーポレーテッド | Systems, methods, equipment, and computer program products for managing and synchronizing independent computing resources. |
US11206135B2 (en) * | 2019-11-11 | 2021-12-21 | International Business Machines Corporation | Forward secrecy in Transport Layer Security (TLS) using ephemeral keys |
FR3103586B1 (en) * | 2019-11-22 | 2023-04-14 | St Microelectronics Alps Sas | Method for managing the operation of a system on chip forming for example a microcontroller, and corresponding system on chip |
US20220156217A1 (en) * | 2019-11-22 | 2022-05-19 | Stmicroelectronics (Rousset) Sas | Method for managing the operation of a system on chip, and corresponding system on chip |
US11658963B2 (en) | 2019-12-04 | 2023-05-23 | International Business Machines Corporation | Cooperative communication validation |
CN111181970B (en) * | 2019-12-31 | 2022-03-11 | 广州邦讯信息系统有限公司 | Method and system for applying national cryptographic algorithm to localization FSU |
US12099997B1 (en) | 2020-01-31 | 2024-09-24 | Steven Mark Hoffberg | Tokenized fungible liabilities |
US10827329B1 (en) | 2020-02-26 | 2020-11-03 | At&T Mobility Ii Llc | Facilitation of dynamic edge computations for 6G or other next generation network |
US11418933B2 (en) | 2020-03-19 | 2022-08-16 | At&T Mobility Ii Llc | Facilitation of container management for internet of things devices for 5G or other next generation network |
US11627464B2 (en) | 2020-05-14 | 2023-04-11 | Cisco Technology, Inc. | Grouping users by pre-shared key (PSK) in hospitality |
US11275576B2 (en) | 2020-06-19 | 2022-03-15 | Apple Inc. | Techniques for firmware updates with accessories |
US12032951B2 (en) | 2020-06-19 | 2024-07-09 | Apple Inc. | Techniques for firmware updates with accessories |
CN111769940B (en) * | 2020-07-09 | 2023-02-03 | 天翼物联科技有限公司 | Online key distribution method, system and medium |
CN111556487B (en) * | 2020-07-13 | 2020-11-06 | 深圳杰睿联科技有限公司 | SIM card air transmission system based on hybrid protocol and working method thereof |
US11337096B2 (en) * | 2020-07-17 | 2022-05-17 | T-Mobile Usa, Inc. | Predicting whether a user of a wireless telecommunication network will report a problem |
CN111741128B (en) * | 2020-07-24 | 2024-08-23 | 上海城建职业学院 | Super high-rise building monitoring method based on Internet of things technology |
CN111935697B (en) * | 2020-08-06 | 2022-08-19 | 中国联合网络通信集团有限公司 | eSIM discovery service method, discovery server and eSIM terminal |
CN114143016B (en) * | 2020-08-14 | 2024-09-24 | 中兴通讯股份有限公司 | Authentication method based on general guide architecture GBA and corresponding device |
US11811932B2 (en) * | 2020-10-26 | 2023-11-07 | Proofpoint, Inc. | Using signed tokens to verify short message service (SMS) message bodies |
CN114765550B (en) * | 2020-12-31 | 2023-11-21 | 网联清算有限公司 | Business security processing method and system |
CN112911728B (en) * | 2021-01-29 | 2023-05-02 | 极米科技股份有限公司 | Method for searching peer-to-peer terminal in tunnel direct link establishment, terminal and medium |
CN112862994A (en) * | 2021-02-07 | 2021-05-28 | 中国第一汽车股份有限公司 | ETC anti-disassembly authentication method, ETC, vehicle-mounted equipment terminal and system |
US11689896B2 (en) * | 2021-02-26 | 2023-06-27 | EMC IP Holding Company LLC | Secure remote access to private networks without internet connectivity |
JP2022130947A (en) * | 2021-02-26 | 2022-09-07 | 株式会社日立製作所 | Encryption communication system and communication terminal |
US11895133B2 (en) | 2021-04-05 | 2024-02-06 | Bank Of America Corporation | Systems and methods for automated device activity analysis |
US11558850B2 (en) * | 2021-04-13 | 2023-01-17 | Qualcomm Incorporated | Methods for handling anomaly notification messages |
CN113065830B (en) * | 2021-04-19 | 2022-01-18 | 深圳市库宝软件有限公司 | Storage system attribute pre-modification method and device, electronic equipment and storage medium |
US11792165B2 (en) | 2021-06-04 | 2023-10-17 | Bank Of America Corporation | Supporting data processing transactions using machine to machine (M2M) data transfer |
US11784981B2 (en) | 2021-06-04 | 2023-10-10 | Bank Of America Corporation | Data processing transactions using machine to machine (M2M) data transfer |
US11831688B2 (en) * | 2021-06-18 | 2023-11-28 | Capital One Services, Llc | Systems and methods for network security |
GB2608634B (en) | 2021-07-08 | 2024-09-18 | Vodafone Group Services Ltd | Device data validity |
GB2609242B (en) * | 2021-07-26 | 2024-07-17 | Dabco Ltd | Waking up a device |
US11956199B2 (en) | 2021-07-26 | 2024-04-09 | Airship Group, Inc. | Software development kit enabled cross-channel two-way software application messaging |
US11265370B1 (en) * | 2021-07-27 | 2022-03-01 | Bank Of America Corporation | Machine to machine (M2M) data transfer between data servers |
US11785018B2 (en) | 2021-07-29 | 2023-10-10 | Bank Of America Corporation | Mobile device management system for securely managing device communication |
US12095744B2 (en) | 2021-10-01 | 2024-09-17 | TrustFour Technologies, Inc. | Mutual key management service system and method |
US11941266B2 (en) | 2021-10-20 | 2024-03-26 | Samsung Electronics Co., Ltd. | Resource isolation in computational storage devices |
EP4187845A1 (en) * | 2021-11-25 | 2023-05-31 | Sandvik Mining and Construction Oy | User authentication in an industrial system |
CN114490075B (en) * | 2022-02-07 | 2024-09-10 | Oppo广东移动通信有限公司 | Method and device for obtaining virtual resources, electronic equipment, storage medium and product |
US12124833B2 (en) * | 2022-05-13 | 2024-10-22 | Micron Technology, Inc. | Techniques for managing offline identity upgrades |
US11968093B1 (en) * | 2022-09-20 | 2024-04-23 | Gen Digital Inc. | Efficient scaling of a domain name system service architecture |
CN115694891B (en) * | 2022-09-23 | 2024-05-14 | 智己汽车科技有限公司 | Road side equipment communication system and method based on central computing platform |
US11709660B1 (en) | 2022-10-12 | 2023-07-25 | Stodge Inc. | Integrated third-party application builder trigger for message flow |
KR102522910B1 (en) * | 2022-12-29 | 2023-04-18 | 주식회사 에스티씨랩 | System and method for ensuring service continuity of proxy |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060196931A1 (en) * | 2005-03-07 | 2006-09-07 | Nokia Corporation | Methods, system and mobile device capable of enabling credit card personalization using a wireless network |
US20070234041A1 (en) * | 2006-03-28 | 2007-10-04 | Nokia Corporation | Authenticating an application |
US20110126017A1 (en) * | 2008-07-31 | 2011-05-26 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods, Nodes, System, Computer Programs and Computer Program Products for Secure User Subscription or Registration |
US20110320802A1 (en) * | 2010-06-23 | 2011-12-29 | Industrial Technology Research Institute | Authentication method, key distribution method and authentication and key distribution method |
Family Cites Families (143)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US102690A (en) * | 1870-05-03 | Improvement in pipe-tongs | ||
US6185678B1 (en) * | 1997-10-02 | 2001-02-06 | Trustees Of The University Of Pennsylvania | Secure and reliable bootstrap architecture |
US6578066B1 (en) * | 1999-09-17 | 2003-06-10 | Alteon Websystems | Distributed load-balancing internet servers |
AU4839300A (en) * | 1999-05-11 | 2000-11-21 | Webvan Group, Inc. | Electronic commerce enabled delivery system and method |
US7069452B1 (en) | 2000-07-12 | 2006-06-27 | International Business Machines Corporation | Methods, systems and computer program products for secure firmware updates |
US7774231B2 (en) * | 2000-09-29 | 2010-08-10 | Nokia Corporation | Electronic payment methods for a mobile device |
US7184984B2 (en) | 2000-11-17 | 2007-02-27 | Valaquenta Intellectual Properties Limited | Global electronic trading system |
US20020136410A1 (en) * | 2001-03-26 | 2002-09-26 | Sun Microsystems, Inc. | Method and apparatus for extinguishing ephemeral keys |
US20020157002A1 (en) * | 2001-04-18 | 2002-10-24 | Messerges Thomas S. | System and method for secure and convenient management of digital electronic content |
EP1271875A1 (en) * | 2001-06-21 | 2003-01-02 | Koninklijke Philips Electronics N.V. | Device arranged for exchanging data, and method of manufacturing |
US7058926B2 (en) | 2001-08-13 | 2006-06-06 | International Business Machines Corporation | Tool for implementing Floating-Point related applications using customized language |
US8140845B2 (en) * | 2001-09-13 | 2012-03-20 | Alcatel Lucent | Scheme for authentication and dynamic key exchange |
US7076657B2 (en) * | 2001-12-28 | 2006-07-11 | Siemens Communications, Inc. | Use of short message service (SMS) for secure transactions |
US6804777B2 (en) * | 2002-05-15 | 2004-10-12 | Threatguard, Inc. | System and method for application-level virtual private network |
US20030229686A1 (en) * | 2002-06-07 | 2003-12-11 | Kris Kortright | System and method for synchronizing the configuration of distributed network management applications |
US7296156B2 (en) * | 2002-06-20 | 2007-11-13 | International Business Machines Corporation | System and method for SMS authentication |
FI20030943A (en) * | 2003-06-25 | 2004-12-26 | Nokia Corp | Procedure for configuring parameters for a machine-to-machine module and a machine-to-machine module |
JP4617763B2 (en) * | 2003-09-03 | 2011-01-26 | ソニー株式会社 | Device authentication system, device authentication server, terminal device, device authentication method, and device authentication program |
KR20050049222A (en) * | 2003-11-21 | 2005-05-25 | 에스케이텔레텍주식회사 | Method for exchanging short messages securely |
US20050120106A1 (en) | 2003-12-02 | 2005-06-02 | Nokia, Inc. | System and method for distributing software updates to a network appliance |
US7360129B2 (en) | 2003-12-30 | 2008-04-15 | Broadcom Corporation | Simultaneous switch test mode |
FR2867652B1 (en) * | 2004-03-15 | 2006-05-26 | Wavecom | SYSTEM AND METHOD FOR CONTROLLING REMOTE EQUIPMENT USING AT CONTROLS, DEVICE, RADIO COMMUNICATION MODULE AND PROGRAM THEREOF |
KR20070100932A (en) | 2005-02-11 | 2007-10-12 | 노키아 코포레이션 | Method and apparatus for providing bootstrapping procedures in a communication network |
FI20050384A0 (en) | 2005-04-14 | 2005-04-14 | Nokia Corp | Use of generic authentication architecture for distribution of Internet protocol keys in mobile terminals |
US9226151B2 (en) | 2006-04-04 | 2015-12-29 | Jasper Wireless, Inc. | System and method for enabling a wireless device with customer-specific services |
US9167471B2 (en) | 2009-05-07 | 2015-10-20 | Jasper Technologies, Inc. | System and method for responding to aggressive behavior associated with wireless devices |
US8122240B2 (en) | 2005-10-13 | 2012-02-21 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for establishing a security association |
US8005879B2 (en) * | 2005-11-21 | 2011-08-23 | Sap Ag | Service-to-device re-mapping for smart items |
WO2007063420A2 (en) * | 2005-12-01 | 2007-06-07 | Nokia Corporation | Authentication in communications networks |
US8037522B2 (en) | 2006-03-30 | 2011-10-11 | Nokia Corporation | Security level establishment under generic bootstrapping architecture |
US20070248232A1 (en) | 2006-04-10 | 2007-10-25 | Honeywell International Inc. | Cryptographic key sharing method |
US20070254711A1 (en) * | 2006-04-26 | 2007-11-01 | Young David C | Accessing a SIM card to obtain configuration information by a remote embedded communication module |
DE102006054091B4 (en) * | 2006-11-16 | 2008-09-11 | Siemens Ag | Bootstrapping procedure |
US20080120705A1 (en) * | 2006-11-17 | 2008-05-22 | Bellsouth Intellectual Property Corporation | Systems, Methods and Computer Program Products Supporting Provision of Web Services Using IMS |
US7774008B2 (en) * | 2006-12-22 | 2010-08-10 | Cellco Partnership | MDN-less SMS messaging (network solution) for wireless M2M application |
US7992198B2 (en) * | 2007-04-13 | 2011-08-02 | Microsoft Corporation | Unified authentication for web method platforms |
US9332575B2 (en) | 2007-06-27 | 2016-05-03 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for enabling connectivity in a communication network |
WO2009004590A2 (en) | 2007-07-03 | 2009-01-08 | Nokia Siemens Networks Oy | Method, apparatus, system and computer program for key parameter provisioning |
US8201219B2 (en) * | 2007-09-24 | 2012-06-12 | Bridgewater Systems Corp. | Systems and methods for server load balancing using authentication, authorization, and accounting protocols |
CN101822082B (en) * | 2007-10-05 | 2013-06-12 | 交互数字技术公司 | Techniques for secure channelization between UICC and terminal |
US7984486B2 (en) | 2007-11-28 | 2011-07-19 | Nokia Corporation | Using GAA to derive and distribute proxy mobile node home agent keys |
EP2223500B1 (en) * | 2007-12-19 | 2012-12-12 | Telefonaktiebolaget LM Ericsson (publ) | Method and apparatus for use in a communications network |
KR101611649B1 (en) * | 2008-01-18 | 2016-04-26 | 인터디지탈 패튼 홀딩스, 인크 | Method and apparatus for enabling machine to machine communication |
US8090963B2 (en) * | 2008-02-19 | 2012-01-03 | Research In Motion Limited | Automated power management of a peripheral device |
WO2009128791A1 (en) * | 2008-04-15 | 2009-10-22 | Vinko Kunc | Method for reducing a noise in a signal received in a contactless-card interrogator and a circuit to perform said method |
CA2722186C (en) * | 2008-06-06 | 2015-09-15 | Telefonaktiebolaget L M Ericsson (Publ) | Cryptographic key generation |
US8386767B2 (en) * | 2008-08-15 | 2013-02-26 | Telefonaktiebolaget L M Ericsson (Publ) | Methods and systems for bootstrapping security key information using session initiation protocol |
US8472388B2 (en) * | 2008-10-10 | 2013-06-25 | Telefonaktiebolaget Lm Ericsson (Publ) | Gateway apparatus, authentication server, control method thereof and computer program |
US8578153B2 (en) | 2008-10-28 | 2013-11-05 | Telefonaktiebolaget L M Ericsson (Publ) | Method and arrangement for provisioning and managing a device |
EP2187592A1 (en) * | 2008-11-13 | 2010-05-19 | Vodafone Holding GmbH | Machine-to machine device and smartcard for use in the device |
US20100199095A1 (en) * | 2009-01-30 | 2010-08-05 | Texas Instruments Inc. | Password-Authenticated Association Based on Public Key Scrambling |
KR20160138587A (en) * | 2009-03-06 | 2016-12-05 | 인터디지탈 패튼 홀딩스, 인크 | Platform validation and management of wireless devices |
US8213971B2 (en) * | 2009-04-27 | 2012-07-03 | Qualcomm Incorporated | Apparatus and method for activating computer applications with SMS messaging |
EP2264642B1 (en) | 2009-06-02 | 2014-02-26 | Vodafone Holding GmbH | Data exchange with a man-machine-device using short range radio communication |
ES2391603T3 (en) | 2009-06-02 | 2012-11-28 | Vodafone Holding Gmbh | Registering a mobile device in a mobile communications network |
US8682903B2 (en) * | 2009-06-30 | 2014-03-25 | International Business Machines Corporation | System and method for synchronized content directories on cluster devices |
US9590961B2 (en) * | 2009-07-14 | 2017-03-07 | Alcatel Lucent | Automated security provisioning protocol for wide area network communication devices in open device environment |
US8613073B2 (en) * | 2009-10-16 | 2013-12-17 | Tekelec, Inc. | Methods, systems, and computer readable media for providing diameter signaling router with firewall functionality |
US8782743B2 (en) * | 2009-11-24 | 2014-07-15 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and apparatus for use in a generic bootstrapping architecture |
EP2336986A1 (en) * | 2009-12-17 | 2011-06-22 | Gemalto SA | Method of personalizing an application embedded in a secured electronic token |
WO2011084117A1 (en) * | 2009-12-18 | 2011-07-14 | Nokia Corporation | Credential transfer |
EP2343916B1 (en) | 2010-01-12 | 2018-05-09 | Koninklijke KPN N.V. | Secure coupling of hardware components |
EP2524532B1 (en) | 2010-01-14 | 2016-09-21 | Nokia Solutions and Networks Oy | Method and device for data processing in a wireless network |
DE102010001076A1 (en) | 2010-01-21 | 2011-07-28 | PMDTechnologies GmbH, 57076 | Inductive proximity sensor and proximity measurement method |
US8954739B2 (en) | 2010-01-28 | 2015-02-10 | Koninklijke Kpn N.V. | Efficient terminal authentication in telecommunication networks |
US8447970B2 (en) * | 2010-02-09 | 2013-05-21 | Microsoft Corporation | Securing out-of-band messages |
JP5540119B2 (en) | 2010-02-09 | 2014-07-02 | インターデイジタル パテント ホールディングス インコーポレイテッド | Method and apparatus for trusted federated identity |
DE102010010760B4 (en) | 2010-03-09 | 2012-02-02 | Siemens Aktiengesellschaft | A method of assigning a key to a subscriber device to be newly added to a wireless sensor-actuator network |
CN102196436B (en) * | 2010-03-11 | 2014-12-17 | 华为技术有限公司 | Security authentication method, device and system |
WO2011115407A2 (en) * | 2010-03-15 | 2011-09-22 | Samsung Electronics Co., Ltd. | Method and system for secured remote provisioning of a universal integrated circuit card of a user equipment |
US8432871B1 (en) | 2010-03-26 | 2013-04-30 | Juniper Networks, Inc. | Offloading mobile traffic from a mobile core network |
US9729516B2 (en) * | 2010-04-09 | 2017-08-08 | Gemalto Sa | Method of machine-to-machine communication |
WO2011131220A1 (en) * | 2010-04-19 | 2011-10-27 | Nokia Siemens Networks Oy | Gba and ims authentication procedures |
US8661257B2 (en) | 2010-05-18 | 2014-02-25 | Nokia Corporation | Generic bootstrapping architecture usage with Web applications and Web pages |
US9602277B2 (en) * | 2010-06-07 | 2017-03-21 | Protected Mobilty, Llc | User interface systems and methods for secure message oriented communications |
US9143324B2 (en) * | 2010-06-07 | 2015-09-22 | Protected Mobility, Llc | Secure messaging |
WO2011163561A1 (en) * | 2010-06-25 | 2011-12-29 | Interdigital Patend Holdings, Inc. | Interface of an m2m server with the 3gpp core network |
US8464061B2 (en) * | 2010-08-30 | 2013-06-11 | Apple Inc. | Secure wireless link between two devices using probes |
GB201015324D0 (en) | 2010-09-14 | 2010-10-27 | Vodafone Ip Licensing Ltd | Secure association |
US9185054B2 (en) * | 2010-09-15 | 2015-11-10 | Oracle International Corporation | System and method for providing zero buffer copying in a middleware machine environment |
CN102136934B (en) * | 2010-10-21 | 2015-01-21 | 华为技术有限公司 | Method, device and network system for realizing remote upgrading of Zigbee equipment |
CN102469455B (en) * | 2010-11-08 | 2016-04-13 | 中兴通讯股份有限公司 | Based on equipment for machine type communication group management method and the system of universal guiding structure |
EP2461613A1 (en) * | 2010-12-06 | 2012-06-06 | Gemalto SA | Methods and system for handling UICC data |
KR20120067459A (en) * | 2010-12-16 | 2012-06-26 | 삼성전자주식회사 | Method and apparatus for authenticating per m2m device between service provider and mobile network operator |
CN102595389B (en) * | 2011-01-14 | 2017-11-03 | 中兴通讯股份有限公司 | A kind of method and system of MTC server shared key |
WO2012113136A1 (en) * | 2011-02-22 | 2012-08-30 | Renesas Mobile Corporation | Method and apparatus for establishing a device-to-device connection |
EP2679073A4 (en) | 2011-02-25 | 2016-10-19 | Ericsson Telefon Ab L M | Enabling ip-communication with a machine to machine unit |
TR201103175A2 (en) * | 2011-04-01 | 2012-10-22 | Turkcell �Let���M H�Zmetler� Anon�M ��Rket� | A system and method for secure message transmission |
DE102011007534A1 (en) | 2011-04-15 | 2012-10-18 | Vodafone Holding Gmbh | Data transmission to an identification module in a mobile radio terminal |
WO2011157115A2 (en) * | 2011-05-30 | 2011-12-22 | 华为技术有限公司 | Method, apparatus and system for informing network capabilities |
JP2013005430A (en) * | 2011-06-15 | 2013-01-07 | Lg Electronics Inc | Data transmission method and device in radio communication system |
CN102869015B (en) * | 2011-07-04 | 2017-12-15 | 中兴通讯股份有限公司 | A kind of method and system of MTC device triggering |
GB2492750A (en) | 2011-07-04 | 2013-01-16 | Sony Corp | Communications system with reconfigurable user identification module |
US8989091B2 (en) * | 2011-07-15 | 2015-03-24 | Telefonaktiebolaget L M Ericsson (Publ) | Dynamic enablement of M2M services over 3GPP access networks |
KR101295580B1 (en) * | 2011-07-15 | 2013-08-09 | 엘지전자 주식회사 | Method and Apparatus for supporting an HARQ operation using an HARQ channel identifier in a Wireless Access System |
US9185080B2 (en) | 2011-08-12 | 2015-11-10 | Intel Deutschland Gmbh | Data transmitting devices, data receiving devices, methods for controlling a data transmitting device, and methods for controlling a data receiving device |
US9432822B2 (en) | 2011-10-03 | 2016-08-30 | Lg Electronics Inc. | Mobility management entity handling SMS-related signal |
CN105577364B (en) | 2011-10-27 | 2019-11-05 | 华为技术有限公司 | A kind of encryption method, decryption method and relevant apparatus |
BR112014010428B1 (en) * | 2011-10-31 | 2022-04-05 | Telefonaktiebolaget Lm Ericsson (Publ) | Method for securing data communication, apparatus for use in a method for securing data communication, communication node, and storage medium |
CN103108311B (en) * | 2011-11-11 | 2017-11-28 | 中兴通讯股份有限公司 | A kind of MTC device and the method, apparatus and system of UICC bindings |
CN102497630B (en) * | 2011-11-25 | 2015-07-01 | 北京握奇数据系统有限公司 | Machine to machine (M2M) equipment, method for realizing service, intelligent card and communication module |
CN104145465B (en) * | 2012-02-02 | 2017-08-29 | 诺基亚通信公司 | The method and apparatus of bootstrapping based on group in machine type communication |
WO2013121362A2 (en) * | 2012-02-13 | 2013-08-22 | Telefonaktiebolaget Lm Ericsson (Publ) | M2m service enablement over access networks |
CN104205898A (en) | 2012-02-16 | 2014-12-10 | 诺基亚通信公司 | Method and system for group based service bootstrap in M2M environment |
US8577337B2 (en) * | 2012-03-05 | 2013-11-05 | Rogers Communications Inc. | Radio management method and system using embedded universal integrated circuit card |
US9380038B2 (en) * | 2012-03-09 | 2016-06-28 | T-Mobile Usa, Inc. | Bootstrap authentication framework |
GB2501724A (en) | 2012-05-02 | 2013-11-06 | Vodafone Ip Licensing Ltd | Routing messages in a telecommunications network to machine-to-machine devices |
KR20130127826A (en) * | 2012-05-15 | 2013-11-25 | 엠디에스테크놀로지 주식회사 | System for managing applications of m2m device using ota |
CN103428666A (en) * | 2012-05-24 | 2013-12-04 | 华为技术有限公司 | Charging method and device |
WO2013191515A1 (en) * | 2012-06-22 | 2013-12-27 | 엘지전자 주식회사 | Method and device for enabling or disabling server in wireless communication system |
JP5946968B2 (en) * | 2012-09-03 | 2016-07-06 | テレフオンアクチーボラゲット エルエム エリクソン(パブル) | Method and apparatus for automatically providing an external identifier for use in a machine type device of a 3GPP network |
US20140067902A1 (en) * | 2012-09-04 | 2014-03-06 | Interdigital Patent Holdings, Inc. | Method and apparatus for using multiple universal resource identifiers in m2m communications |
US9167042B1 (en) * | 2012-09-10 | 2015-10-20 | Amazon Technologies, Inc. | Maintaining communication channel for device notifications |
IN2015DN01110A (en) * | 2012-09-13 | 2015-06-26 | Nec Corp | |
WO2014040638A1 (en) * | 2012-09-14 | 2014-03-20 | Telefonaktiebolaget L M Ericsson | Operating a data back end node in a data layered architecture network |
CN104685825B (en) | 2012-09-26 | 2018-07-06 | 英派尔科技开发有限公司 | A kind of method of secure communication, computing device and non-transient computer readable storage medium storing program for executing |
EP3185469B1 (en) * | 2012-10-30 | 2018-10-17 | LG Electronics Inc. | Method and apparatus for authenticating access authority for specific resource in wireless communication system |
KR101538424B1 (en) * | 2012-10-30 | 2015-07-22 | 주식회사 케이티 | Terminal for payment and local network monitoring |
US20140126548A1 (en) * | 2012-11-05 | 2014-05-08 | Qualcomm Incorporated | Dynamic paging channel selection in a machine-to-machine wireless wide area network |
KR20150088787A (en) * | 2012-11-05 | 2015-08-03 | 엘지전자 주식회사 | Method and apparatus for updating information regarding specific resource in wireless communication system |
CN103812644B (en) * | 2012-11-09 | 2017-04-26 | 华为终端有限公司 | Information configuration method, device and system |
EP2741465B1 (en) * | 2012-12-04 | 2021-03-17 | Orange | Method and device for managing secure communications in dynamic network environments |
JP5981662B2 (en) * | 2012-12-05 | 2016-08-31 | エルジー エレクトロニクス インコーポレイティド | Method and apparatus for access authorization authentication in a wireless communication system |
US20150319156A1 (en) | 2012-12-12 | 2015-11-05 | Interdigital Patent Holdings Inc. | Independent identity management systems |
US9277378B2 (en) * | 2012-12-21 | 2016-03-01 | Verizon Patent And Licensing Inc. | Short message service validation engine |
US9262242B2 (en) * | 2012-12-31 | 2016-02-16 | Verizon Patent And Licensing Inc. | Machine-to-machine (“M2M”) device client systems, methods, and interfaces |
US9232524B2 (en) * | 2013-01-05 | 2016-01-05 | Qualcomm Incorporated | Multiple access scheme for multi-channels of a network with a limited link budget |
US8781104B1 (en) * | 2013-01-11 | 2014-07-15 | American Express Travel Related Services Company, Inc. | System and method for enabling tracking of contract provisions in a service message switching marketplace |
CN104937895B (en) * | 2013-01-18 | 2018-04-24 | Lg电子株式会社 | The method and apparatus for controlling access in a wireless communication system |
US9002997B2 (en) | 2013-01-22 | 2015-04-07 | Amazon Technologies, Inc. | Instance host configuration |
US8782774B1 (en) * | 2013-03-07 | 2014-07-15 | Cloudflare, Inc. | Secure session capability using public-key cryptography without access to the private key |
US9603189B2 (en) | 2013-03-08 | 2017-03-21 | Nokia Technologies Oy | Method and apparatus for multisim devices with embedded SIM functionality |
EP2982148A1 (en) | 2013-04-05 | 2016-02-10 | Interdigital Patent Holdings, Inc. | Securing peer-to-peer and group communications |
US9124403B2 (en) * | 2013-04-30 | 2015-09-01 | Qualcomm Incorporated | Puncturing scheme based decoder optimizations |
KR101999039B1 (en) * | 2013-05-06 | 2019-07-10 | 콘비다 와이어리스, 엘엘씨 | Device triggering |
US9444752B2 (en) * | 2013-07-12 | 2016-09-13 | Seven Networks, Llc | Distributed caching systems with configurable extended caching optimization |
WO2015013685A1 (en) * | 2013-07-25 | 2015-01-29 | Convida Wireless, Llc | End-to-end m2m service layer sessions |
US9189930B2 (en) * | 2013-08-20 | 2015-11-17 | Verizon Patent And Licensing Inc. | Customizing alerts on an alerting device |
US9350550B2 (en) * | 2013-09-10 | 2016-05-24 | M2M And Iot Technologies, Llc | Power management and security for wireless modules in “machine-to-machine” communications |
US9100175B2 (en) | 2013-11-19 | 2015-08-04 | M2M And Iot Technologies, Llc | Embedded universal integrated circuit card supporting two-factor authentication |
GB2586549B (en) | 2013-09-13 | 2021-05-26 | Vodafone Ip Licensing Ltd | Communicating with a machine to machine device |
US9426729B2 (en) * | 2013-10-22 | 2016-08-23 | Cisco Technology, Inc. | Network selection for mobile client devices in integrated cellular and Wi-Fi networks |
WO2015072899A1 (en) * | 2013-11-15 | 2015-05-21 | Telefonaktiebolaget L M Ericsson (Publ) | Methods and devices for bootstrapping of resource constrained devices |
-
2014
- 2014-05-30 GB GB2016853.0A patent/GB2586549B/en active Active
- 2014-05-30 GB GB1409652.3A patent/GB2518256A/en not_active Withdrawn
- 2014-05-30 GB GB1409643.2A patent/GB2518255A/en not_active Withdrawn
- 2014-05-30 GB GB1409641.6A patent/GB2518254B/en active Active
- 2014-05-30 GB GB1409663.0A patent/GB2518257A/en not_active Withdrawn
- 2014-08-22 GB GB1414997.5A patent/GB2518521A/en not_active Withdrawn
- 2014-08-22 GB GB1415003.1A patent/GB2518296B/en active Active
- 2014-08-22 GB GB1414999.1A patent/GB2518522B/en active Active
- 2014-09-09 GB GB2012324.6A patent/GB2583432B/en active Active
- 2014-09-09 GB GB1415925.5A patent/GB2519429B/en active Active
- 2014-09-09 GB GB1415918.0A patent/GB2518975B/en active Active
- 2014-09-09 GB GB1415931.3A patent/GB2520591B/en active Active
- 2014-09-09 GB GB1415927.1A patent/GB2518976B/en active Active
- 2014-09-09 GB GB2012632.2A patent/GB2584371B/en active Active
- 2014-09-09 GB GB1415921.4A patent/GB2518301B/en active Active
- 2014-09-12 WO PCT/GB2014/052772 patent/WO2015036777A1/en active Application Filing
- 2014-09-12 US US15/021,913 patent/US10313308B2/en active Active
- 2014-09-12 US US15/021,873 patent/US10439991B2/en active Active
- 2014-09-12 CN CN201480062205.0A patent/CN105706469B/en active Active
- 2014-09-12 EP EP20209753.1A patent/EP3800862B1/en active Active
- 2014-09-12 EP EP14777374.1A patent/EP3044976B1/en active Active
- 2014-09-12 ES ES20209753T patent/ES2933426T3/en active Active
- 2014-09-12 WO PCT/GB2014/052784 patent/WO2015036789A2/en active Application Filing
- 2014-09-12 EP EP14777370.9A patent/EP3044928B1/en active Active
- 2014-09-12 EP EP14776681.0A patent/EP3044983B1/en active Active
- 2014-09-12 WO PCT/GB2014/052767 patent/WO2015036772A1/en active Application Filing
- 2014-09-12 WO PCT/GB2014/052788 patent/WO2015036793A1/en active Application Filing
- 2014-09-12 EP EP14771950.4A patent/EP3044934A2/en not_active Withdrawn
- 2014-09-12 WO PCT/GB2014/052768 patent/WO2015036773A2/en active Application Filing
- 2014-09-12 EP EP14776683.6A patent/EP3044984B1/en active Active
- 2014-09-12 EP EP14777372.5A patent/EP3044974A1/en not_active Withdrawn
- 2014-09-12 EP EP21163810.1A patent/EP3855701A1/en active Pending
- 2014-09-12 US US15/021,876 patent/US20160226828A1/en not_active Abandoned
- 2014-09-12 WO PCT/GB2014/052766 patent/WO2015036771A1/en active Application Filing
- 2014-09-12 EP EP14772418.1A patent/EP3044927A1/en not_active Withdrawn
- 2014-09-12 US US15/021,910 patent/US9635057B2/en active Active
- 2014-09-12 EP EP21154414.3A patent/EP3832982B1/en active Active
- 2014-09-12 US US15/021,871 patent/US10673820B2/en active Active
- 2014-09-12 US US15/021,900 patent/US20160234183A1/en not_active Abandoned
- 2014-09-12 EP EP14777373.3A patent/EP3044975B8/en active Active
- 2014-09-12 US US15/021,881 patent/US20160234683A1/en not_active Abandoned
- 2014-09-12 ES ES20195438T patent/ES2973643T3/en active Active
- 2014-09-12 EP EP14777371.7A patent/EP3044985A1/en not_active Withdrawn
- 2014-09-12 WO PCT/GB2014/052786 patent/WO2015036791A1/en active Application Filing
- 2014-09-12 EP EP14776682.8A patent/EP3044973B1/en active Active
- 2014-09-12 US US15/021,885 patent/US10630646B2/en active Active
- 2014-09-12 WO PCT/GB2014/052771 patent/WO2015036776A1/en active Application Filing
- 2014-09-12 ES ES14776684T patent/ES2893353T3/en active Active
- 2014-09-12 US US15/021,888 patent/US10412052B2/en active Active
- 2014-09-12 WO PCT/GB2014/052777 patent/WO2015036782A1/en active Application Filing
- 2014-09-12 EP EP14776684.4A patent/EP3044982B1/en active Active
- 2014-09-12 US US15/021,912 patent/US10305862B2/en active Active
- 2014-09-12 WO PCT/GB2014/052778 patent/WO2015036783A1/en active Application Filing
- 2014-09-12 WO PCT/GB2014/052780 patent/WO2015036785A1/en active Application Filing
- 2014-09-12 WO PCT/GB2014/052773 patent/WO2015036778A1/en active Application Filing
- 2014-09-12 ES ES21154414T patent/ES2979346T3/en active Active
- 2014-09-12 US US15/021,879 patent/US10313307B2/en active Active
- 2014-09-12 EP EP20195438.5A patent/EP3767984B1/en active Active
-
2017
- 2017-04-25 US US15/496,860 patent/US10764252B2/en active Active
-
2019
- 2019-03-19 US US16/357,727 patent/US11044234B2/en active Active
-
2020
- 2020-03-17 US US16/821,378 patent/US11063912B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060196931A1 (en) * | 2005-03-07 | 2006-09-07 | Nokia Corporation | Methods, system and mobile device capable of enabling credit card personalization using a wireless network |
US20070234041A1 (en) * | 2006-03-28 | 2007-10-04 | Nokia Corporation | Authenticating an application |
US20110126017A1 (en) * | 2008-07-31 | 2011-05-26 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods, Nodes, System, Computer Programs and Computer Program Products for Secure User Subscription or Registration |
US20110320802A1 (en) * | 2010-06-23 | 2011-12-29 | Industrial Technology Research Institute | Authentication method, key distribution method and authentication and key distribution method |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9800621B2 (en) * | 2013-05-06 | 2017-10-24 | Convida Wireless, Llc | Registration for device triggering |
US11444986B2 (en) | 2013-05-06 | 2022-09-13 | Convida Wireless, Llc | Device triggering |
US10250647B2 (en) * | 2013-05-06 | 2019-04-02 | Convida Wireless, Llc | Device triggering |
US20140330952A1 (en) * | 2013-05-06 | 2014-11-06 | Convida Wireless LLC | Device Triggering |
US10848526B2 (en) | 2013-05-06 | 2020-11-24 | Convida Wireless, Llc | Device triggering |
US10630646B2 (en) * | 2013-09-13 | 2020-04-21 | Vodafone Ip Licensing Limited | Methods and systems for communicating with an M2M device |
US20160226847A1 (en) * | 2013-09-13 | 2016-08-04 | Vodafone Ip Licensing Limited | Methods and systems for communicating with an m2m device |
US11063912B2 (en) * | 2013-09-13 | 2021-07-13 | Vodafone Ip Licensing Limited | Methods and systems for communicating with an M2M device |
US10313307B2 (en) | 2013-09-13 | 2019-06-04 | Vodafone Ip Licensing Limited | Communicating with a machine to machine device |
US10412052B2 (en) | 2013-09-13 | 2019-09-10 | Vodafone Ip Licensing Limited | Managing machine to machine devices |
US10439991B2 (en) | 2013-09-13 | 2019-10-08 | Vodafone Ip Licensing Limited | Communicating with a machine to machine device |
US10673820B2 (en) | 2013-09-13 | 2020-06-02 | Vodafone Ip Licensing Limited | Communicating with a machine to machine device |
US20190222653A1 (en) * | 2015-10-23 | 2019-07-18 | Telefonaktiebolaget Lm Ericsson (Publ) | Establishment of operational status of a machine-to-machine device |
US20220174046A1 (en) * | 2016-02-01 | 2022-06-02 | Airwatch Llc | Configuring network security based on device management characteristics |
US12126596B2 (en) * | 2016-02-01 | 2024-10-22 | Omnissa, Llc | Configuring network security based on device management characteristics |
US9847875B1 (en) * | 2016-06-20 | 2017-12-19 | Verizon Patent And Licensing Inc. | Methods and systems for bootstrapping an end-to-end application layer session security keyset based on a subscriber identity master security credential |
US20170366344A1 (en) * | 2016-06-20 | 2017-12-21 | Verizon Patent And Licensing Inc. | Methods and Systems for Bootstrapping an End-to-End Application Layer Session Security Keyset Based on a Subscriber Identity Master Security Credential |
US10455057B2 (en) * | 2016-11-29 | 2019-10-22 | Verizon Patent And Licensing Inc. | System and method for Lightweight-Machine-to-Machine device registration and assignment |
US10938955B2 (en) * | 2016-11-29 | 2021-03-02 | Verizon Patent And Licensing Inc. | System and method for lightweight-machine-to-machine device registration and assignment |
US20190327341A1 (en) * | 2016-11-29 | 2019-10-24 | Verizon Patent And Licensing Inc. | System and method for lightweight-machine-to-machine device registration and assignment |
US10469600B2 (en) * | 2017-11-14 | 2019-11-05 | Dell Products, L.P. | Local Proxy for service discovery |
US11522840B2 (en) * | 2018-06-26 | 2022-12-06 | Arm Limited | Automatic client device registration |
US11438447B2 (en) * | 2018-07-03 | 2022-09-06 | Telefonaktiebolaget Lm Ericsson (Publ) | First node, communication device, and methods performed thereby for handling positioning information |
US10778444B2 (en) * | 2018-07-11 | 2020-09-15 | Verizon Patent And Licensing Inc. | Devices and methods for application attestation |
US20200021445A1 (en) * | 2018-07-11 | 2020-01-16 | Verizon Patent And Licensing Inc. | Devices and methods for application attestation |
US11477036B2 (en) | 2018-07-11 | 2022-10-18 | Verizon Patent And Licensing Inc. | Devices and methods for application attestation |
US11552781B2 (en) | 2019-04-05 | 2023-01-10 | Honeywell International Inc. | Using error detection bits for cryptographic integrity and authentication |
US20220345307A1 (en) * | 2020-01-16 | 2022-10-27 | Zte Corporation | Method, Device, and System for Updating Anchor Key in a Communication Network for Encrypted Communication with Service Applications |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11044234B2 (en) | Communicating with a device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: VODAFONE IP LICENSING LIMITED, UNITED KINGDOM Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BONE, NICK;REEL/FRAME:039879/0197 Effective date: 20160819 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |