The present invention relates to secure paging mechanisms for mobile terminals in a cellular network. In particular, although not exclusively, the invention relates to apparatus and methods for authenticating paging requests to terminals.
Current cellular communication networks offer a high degree of security to users. Security ensures both authentication of users to the network and vice versa, and protection against eavesdropping. Security may also provide integrity protection allowing a recipient of data (possibly within the network) to confirm the integrity of sent data. This may involve a sender adding an integrity checksum to a message and which is computed using a secret key. The receiver, knowing the secret key, can verify the integrity checksum and thereby ensure that the message has indeed been sent by the trusted sender and has not been tampered with while in transit.
Such security mechanisms have been developed to work efficiently with conventional cellular network use cases. These tend to be concerned with users possessing mobile devices such as mobile telephones, smart phones, and other wireless enabled devices, and who make use of voice and data services. Such services involve the transfer of significant amounts of data to and from the user devices. Volumes of signalling traffic associated with these scenarios are not great when compared to the transferred data volumes. As such, the signalling overheads associated with security mechanism such as client and network authentication are relatively small.
In the coming years it is expected that there will be a rapid growth in so-called machine-to-machine (M2M) applications that use cellular network infrastructure. Such applications involve devices such as sensors and actuators communicating with other devices or network servers, often without direct human operation. An example application might involve domestic water meters configured to transmit water consumption readings periodically to a server owned by the utility company supplying water. M2M applications are expected to increase dramatically the number of wirelessly connected devices in use with cellular networks. Ericsson™ has predicted 50 billion such devices by the year 2020.
A feature that distinguishes M2M applications from conventional cellular network services is the relatively small amounts of data traffic associated with the former. An electricity meter reading application might, for example, require only the sending of a few bytes of data each month. Nonetheless, given the huge number of devices that are expected to be in use, the total volume of traffic that will be added to networks will be very great. The existing signalling mechanisms, including those associated with security, are not necessarily well suited to M2M applications, and only add to the load on the network.
A signalling mechanism useful for M2M devices is paging. Cellular networks page individual devices on a common channel, when those devices have traffic that they should prepare to receive. For paging purposes, a certain period of time is divided into several timeslots, one for each paging group. Members of a paging group listen only during their scheduled timeslot. For the rest of the time the device may turn off its radio. A device is allocated into a paging group based on a function of its Temporary Mobile Subscriber Identity (TMSI), and some other operator controlled parameters.
In principle, a paging message could be secured by either a symmetric integrity and authentication mechanism such as Message Authentication Codes (MACs) or through asymmetric cryptography such as public key signatures. However, in today's cellular networks, paging is essentially insecure due to a number of factors:
In general, lack of security for paging has not so far been an insurmountable problem. This is partly because most devices in cellular networks to date have been mobile phones or other devices in direct human use. If a paging attack were to be mounted leading to the battery of such devices running down, the solution is to recharge the battery. However, the problem is likely to increase as a bigger fraction of devices are not in direct human use. If a million water meters or fifty thousand environmental measurement devices run out of battery because of a paging protocol attack, the consequences may be severe. Since these devices are not under individual human control, the cost to replace the batteries in each device can be prohibitive. In utility meters, for instance, the idea of the meters is that no one has to visit the meter even once in a year. Such meters are also often placed in inaccessible locations.
It would therefore be desirable to add security to paging messages to ensure that devices respond only to messages they can be sure are genuine. However, existing authentication and cryptographic approaches are not generally suitable for paging to a large number of devices for a number of reasons:
It is an object of the present invention to address, or at least alleviate, the problems described above.
In accordance with one aspect of the present invention there is provided a device for communicating with a network. The device comprises a communications unit for sending and receiving data, a storage unit for storing data, and a control unit for controlling operation of the communications unit and storage unit. The communications unit is configured to receive a series of paging messages from a serving node in the network, where each paging message includes identification and authentication information sufficient to identify at least one device and authenticate the message, at least some of the information having been protected according to a sequence such that it varies between successive paging messages. The control unit is configured to verify the protected part of the information using a cryptographic function and knowledge of the sequence and identify whether the information indicates that message is an authentic message intended for that device. The control unit may also be configured to determine whether the device should act in response to the received paging message.
It will be appreciated that the protected part of the information may include authenticated data and/or encrypted data, and that verifying the protected part of the information may include decrypting encrypted data where necessary.
The identification and authentication information in each paging message may include at least one device identifier and authentication data sent as a separate value from the device identifier. The control unit may be configured to confirm, when a new paging message is received, that the new paging message is secure by determining that the authentication data in the previous paging message is correctly derivable from the authentication data in the new paging message using a one-way hash function stored in the storage unit.
In order to protect the integrity of the paging messages, each paging message may contain an authentication code calculated as a function of all device identifiers included in the paging message and the authentication data in that message. The authentication code may be included in the paging message before the device identifiers and the authentication data. The control unit may be configured to confirm that the paging message is secure only if it determines that the authentication code is correct.
Each paging message may contain an authentication code calculated as a function of all device identifiers included in the paging message and the authentication data to be used in the subsequent paging message. The control unit may be configured to confirm that the authentication code is correct following receipt of the authentication data in the subsequent paging message.
As an alternative, the identification and authentication information in each paging message may include at least one encrypted device identifier. The control unit may be configured to identify whether any encrypted device identifier corresponds to the device and, if so, that the paging message is intended for that device.
For each device, the encrypted device identifiers for that device in the series of paging messages may follow a sequence for that device, where each encrypted device identifier for that device is derivable from the preceding member of the sequence. The control unit may be configured to calculate the encrypted device identifier for that device for each paging message in accordance with the sequence.
The first encrypted device identifier in the sequence for each device may be calculated from a secret shared between that device and the serving node.
In one embodiment, the device and the serving node share a key. The encrypted device identifier in each paging message may be encrypted using the shared key from a combination of a device identifier and a message identifier. The control unit may be configured to decrypt the at least one encrypted device identifier using the shared key and message identifier to identify whether any device identifier corresponds to that device.
The message identifier may be a sequence number, and may be explicitly carried separately in the paging message.
Alternatively, it may be that the message identifier is not explicitly carried in the paging message. The control unit may be configured to calculate the message identifier using a predetermined counter or a timestamp.
The encrypted device identifier in each message may be encrypted using a HMAC function based on the shared key.
The encrypted device identifier may contain more bits than the device identifier.
The shared key may be calculated from a cipher key and/or integrity key.
The device may be a M2M device.
In accordance with another aspect of the present invention there is provided a serving network node. The serving node comprises a communications unit for sending and receiving data, a storage unit for storing data, and a control unit for controlling operation of the communications unit and storage unit. The control unit is configured to generate a series of paging messages for client devices in the network, each paging message including identification and authentication information sufficient to identify at least one client device and authenticate the message to that device. At least some of the information is protected according to a sequence such that it varies between successive paging messages.
The control unit may be configured to write the identification and authentication information into each paging message as at least one device identifier and authentication data sent as a separate value from the device identifier, where the authentication data in each paging message is derived from the authentication data in the subsequent paging message using a one-way hash function stored in the storage unit.
The control unit may be configured to insert into each paging message an authentication code calculated as a function of all device identifiers included in the paging message and the authentication data in that message, the authentication code being included in the paging message before the device identifiers and the authentication data.
The control unit may be configured to insert into each paging message an authentication code calculated as a function of all device identifiers included in the paging message and the authentication data to be used in the subsequent paging message.
The control unit may be configured to generate at least one encrypted device identifier for insertion into each paging message as the identification and authentication information.
For each device, the control unit may be configured to generate a sequence of encrypted device identifiers for insertion into the series of paging messages, each encrypted device identifier for the device being derivable from the preceding member of the sequence.
The first encrypted device identifier in the sequence may be calculated from a secret shared between the device and the serving node.
The serving node and device may share a key. The control unit may be configured to generate the encrypted device identifier in each paging message using the shared key from a combination of a device identifier and a message identifier. The control unit may be configured to generate the encrypted device identifier in each message using a HMAC function based on the shared key.
In accordance with another aspect of the present invention there is provided a method of operating a device for communicating with a network. The method includes receiving a series of paging messages, each paging message including identification and authentication information sufficient to identify at least one device and authenticate the message, where at least some of the information has been protected according to a sequence such that it varies between successive paging messages. The method further includes deriving the protected part of the information using a cryptographic function and knowledge of the sequence, and identifying whether the information indicates that the device should act in response to the received paging message
In accordance with another aspect of the present invention there is provided a method of securing a sequence of paging messages sent from a serving node to a client node in a network. The method comprises including in each paging message identification and authentication information sufficient to identify at least one device and authenticate the message, at least some of the information being protected according to a sequence such that it varies between successive paging messages.
The invention also provides a computer program, comprising computer readable code which, when operated by a device, causes the device to operate as a device as described above.
The invention further provides a computer program, comprising computer readable code which, when operated by a serving network node, causes the serving network node to operate as a node as described above.
The invention also provides a computer program product comprising a computer readable medium and a computer program as described above, wherein the computer program is stored on the computer readable medium.
Some preferred embodiments of the invention will now be described by way of example only and with reference to the accompanying drawings, in which:
The approach adopted is to use cryptographically generated identifiers for paging so that outsiders or other devices in the same network cannot forge paging messages. A device that sees a paging message verifies that it has the right value, and only then proceeds to take action based on the paging message.
At least two methods can be used to implement this approach: hash chains and cryptographically generated identifier sequences (CGIS). In a CGIS, two peers in a communication share a secret, or secret key, K, and both sides generate a sequence of values by applying a stream cipher (or other cryptographic function such as a pseudo-random function) with K. The peers can then send messages to each other so that both sides know which value to expect in each new message. Every message consumes a value, and outsiders without access to K have no way of guessing what the next values in the sequence are.
The serving node 110 includes a communications unit 111 for sending and receiving data, a storage unit 112 for storing data, and a control unit 113 for controlling the operation of the communications unit 111 and storage unit 112. It will be appreciated that the control unit 113 can be operated by hardware or software. The control unit 113 enables the serving network node 110 to issue paging requests as described below. This may be achieved, for example, if the control unit 113 includes a processor having installed thereon a program to instruct the serving node to carry out these processes. The storage unit 112 may comprise suitable hardware such as ROM, RAM, flash memory, hard disks etc. in order to enable the necessary data to be stored and recovered.
Each client device 120, 130 includes a communications unit 121, 131 for sending and receiving data, a storage unit 122, 132 for storing data, and a control unit 123, 133 for controlling the operation of the communications unit 121, 131 and storage unit 122, 132. It will be appreciated that the control units 123, 133 can be operated by hardware or software. Each control unit 123, 133 enables the associated client device to authenticate and read paging requests as described below. This may be achieved, for example, if each control unit 123, 133 includes a processor having installed thereon a program to instruct the associated client device to carry out these processes. A storage unit as well as at least some of the security related processing may at least partially be implemented in a tamper resistant smart card module (e.g. SIM, ISIM, USIM) 124, 134 for each client device, holding secret keys associated with the user (and which are also shared with the serving node). This smart card module 124, 134 may be removably attached to the rest of the associated client node device 120, 130. Each storage unit 122, 132 may comprise suitable hardware such as ROM, RAM, flash memory, etc. in order to enable the necessary data to be stored and recovered.
In operation, the serving node 110 pages the client devices 120, 130 by sending paging messages from its communications unit 111 under the control of the control unit 113. The paging messages can be secured in a number of ways. Three approaches are described below. In the first approach, protected information in the form of a hash chain proves to every client device 120, 130 that a new paging message can only have come from the serving node 110. In the second approach, each client device 120, 130 calculates a secret sequence of values, and looks for the next identifier in this sequence when it examines the paging message list of nodes to be woken up. In the third approach, device identities are replaced by a MAC value that is calculated with a per-device key. Thus, in the second and third approaches, the protected information is an encrypted version of the device identifier.
1. Hash Chains
Using the first approach, the serving node 110, or the network, calculates a sequence of values, such that
h0=a random value
h
1
=h(h0), h2=h(h1), . . . , hi=h(hi−1), . . . , hn=h(hn−1).
where h is a one-way hash function.
The serving node 110 sets a current index, i, to n:
i=n
When client devices join the network the serving node sends them the current index i and the current hash value hi. Paging messages are sent at regular intervals, and after each transmission the current index is decremented by one. Each message contains hi−1.
Each client device 120, 130 can verify that the paging message is secure, by checking that the previously received value 4, matches the new value hi−1 by confirming that hi=h(hi−1).
If a client device 120, 130 has missed paging messages, it may need to calculate several steps towards the hash value that it has last received. When the hash chain runs to the end or devices forget their state, they have to re-attach to the network.
Any client devices that did not generate the hash chain are unable to construct the right new value, because the hash function, h, is a one-way function. That is, it is impossible to find hi−1 so that it would hash to 4, except by exhaustive search.
This can be understood with reference to
When the serving node 110 wishes to wake up one of the devices 120, it broadcasts a paging message 242 in the time slot watched by device 120 (step S53). The paging message 242 will be sent to all devices in the network, but includes a device identifier for device 120 and instructions to device 120 to wake up, together with the next hash value in the sequence: h4=17. The control unit 123 of the client device 120 confirms in step S54 that 1=h(17) and that the message has therefore really come from the serving node 110. It therefore carries out in step S55 the instructions contained in the paging message (e.g. wake up, prepare to receive additional message, carry out measurement and report, etc.)
The other client device 130 does not act on the paging message 242 since it does not contain a device identifier for that device.
It will be appreciated that the hash value does not by itself protect the integrity of the paging message. In theory, it would still be possible for a third party to carry out an attack by obtaining the correct hash value from a real message sent by the serving node, replace the list of devices to be waken up, and resend the message to the actual devices. However, this is difficult to carry out effectively. Particular difficulties include:
One possible way of launching this type of attack would be to carry out live editing of the message from the serving node 110, by allowing the parts of the message involving the hash chain to go through but modifying the parts that carry the device list. This can be countered by the following method.
It can be assumed that the bits in the paging message are transmitted in sequence, and that the nodes are sufficiently synchronized with each other that everyone is expecting the message to come at the same time. A message can therefore be constructed in which the fields appear in this sequence:
In other words, the beginning of the message contains a message authentication code that binds together the device identifiers and the hash chain value. Since the hash chain value is not known by anyone else apart from the serving node until it is actually transmitted, an attack cannot be mounted until the entire message has been read, and only then can a forged message be sent to the devices. This method is secure, as long as it can be assumed that there are no vulnerabilities in directing the devices to use another time slot for the paging message, or to misdirect time synchronization.
These assumptions may not hold in all cases. A stronger approach can be implemented at the cost of delaying paging wake-up by one paging interval. The idea is that the authenticator for one paging message is calculated based on the hash value from the next paging message:
The devices will not act on the paging message immediately but only after the next periodic paging message comes, as they can then verify the authenticator. The paging messages can even be arranged in pairs (paging message, paging confirmation message) so that their timing prevents synchronization-level attacks from deviating the clocks far enough to make it possible for attackers to learn information from the second message before the first one must be sent.
2. Per-Device Identifier Sequences
Using the second approach, upon joining the network, each device 120, 130 and the serving node 110 or network can agree to use this mechanism. The network (e.g. a Mobility Management Entity (MME) (not shown)) sends a paging key (Kp) to the serving node 110 (in this example an eNodeB) in an S1 PAGING message. The paging key Kp may be derived, for example, from a Cipher Key and/or Integrity Key (CK/IK) in the Universal Mobile Telecommunications System (UMTS) or the Key Access Security Management Entity (K_ASME) in the Long Term Evolution (LTE) system. The paging key can be made unique for each serving node by techniques similar to the creation of K_eNB in UMTS/LTE networks today. Since the paging key Kp is derived, for example, from CK/IK or K_ASME, it can also be computed at the client devices 120, 130. This eliminates the need to send any keys over the air. For example, it could simply be agreed that Kp is derived from the already generated CK and IK values that were needed for each client device 120, 130 to join the network and run its AKA procedure:
Kp=f(CK|IK)
Each paging message contains a list of identifiers for devices to be woken up. In the past, these identifiers have been static or some values specified by the network, such as International Mobile Subscriber Identities (IMSIs) or temporary IMSIs (TMSIs) used by the client devices. In accordance with the second approach, if the devices have paging keys, the identifiers can now be values from the cryptographic sequence. Every client device can watch the paging message and look for its own next identifier, and only take action if it sees its own identifier there.
ID0=f(Kp)
IDi=f(IDi−1)
The right value in the sequence can be either the next unused value, or both sides can assume that every period for transmitting a paging message advances to the next identifier no matter whether that identifier was actually listed in the message.
Other devices do not know Kp and cannot guess which identifiers should be used in the next paging message to wake up a particular device. Depending on the size of the identifier, space attackers may be able to randomly wake up devices (if the identifiers are short) or unable to even do so (if the identifiers are long enough that guessing any identifier is hard).
This approach can be understood with reference to
A particular advantage of this approach is that third parties do not even know who is being paged.
3. Per-Device Keyed MACs
The third approach is similar to the second. In this approach, the serving node 110 or network calculates a keyed hash value such as a Hash-based Message Authentication Code (HMAC) for each identifier to be advertised. Secret(s) can be transferred from the core network to the base station in the same way as described above for the second approach.
As with the second approach, the static device identifiers are replaced. In this approach the replacements are keyed hash values, using a key km specific to each client device. Such keys already exist in cellular networks for other reasons, and could be set, for example, as:
km=IK
This is illustrated in
A secure paging message 442 takes the form <seq#,m1,m2, . . . , mn> where seq# is a sequence number, n is the number of nodes to be awaken, and
m
i
=hmackm(seq#|iidi)
where idi is the identifier of client device i.
This paging message is broadcast to all devices (step S72). The values mi are hash-based, seemingly random values to outside observers. A client device that has the right key can go through the list of items and check if one matches its expected value (step S73). As with the previous approach, if one device recognises its expected value it wakes up (step S74) and carries out the instructions in the paging message (S75). The length of the values can be chosen independently from the length of the device identifiers, but need not be very large to provide a good level of security. For instance, if the identifier size is 16 bits and mi is 24 bits, any given paging message is 50% bigger than it would be with a simple identifier, but it becomes impossible for an outside attacker to attack a particular node, as sending one value has likelihood of only 2−24 to hit the right identifier. With a similar arrangement using a traditional HMAC usage with a 16-bit identifier followed by 8-bit HMAC, finding the right HMAC value would be much easier: the likelihood of hitting the right value is 2−8.
Returning to a system having 24-bit mi values, even if a third party blindly tries to wake up any node (rather than a specific node), if there are 65536 (216) active nodes any single value chosen would have a chance of finding one of these nodes with a likelihood of 2−8.
The fact that a time-varying sequence number is included in the calculation makes the mi values change from one message to another. This is different to paging mechanisms used up until now where identifiers remain constant. Even if the identifiers were kept secret, one could still eavesdrop an insecure paging message and repeat an identifier in the next message. This is not possible in the scheme proposed here. Ensuring that sequence numbers are monotonically increasing provides protection against replay attacks.
Even in the special case of where the identifier and mi have the same value size it becomes impossible to wake up either a particular node or the same node several times, as the values are based on secret material and are also unpredictable.
It will be noted that the mi values are different from the identifiers in the sense that collisions cannot be avoided. The network needs to be capable of withstanding a situation where a device wakes up unnecessarily. Proper choice of the identifier and mi value sizes should be used to make the likelihood of collisions small enough that they do not matter in practice for, say, battery consumption.
It will also be noted that this scheme can also be used to construct compressed paging messages when mi values are shorter than the identifiers, trading off false positive matches against shorter paging messages.
It will be appreciated that other variations to this approach are possible. For example, a key derivation function could be employed from the already existing CK and IK keys to get a cryptographically independent key
km=f(CK,IK)
In another variation, an encryption function could be employed instead of a hash, e.g.,
mi=enckm(idi|extrabits)
where the extra bits are used to create a longer result than the original identifier. (i.e. mi has more bits than idi). This is useful to make it harder to guess an encrypted value that decrypts to a real device ID.
In a further variation, a random nonce value may be employed instead of a sequence number. However, this may require a nonce to be sent from the network in the message, enabling an attacker can replay messages unless the terminals keep track of all nonces used. A sequence number is therefore more likely to be a useful mechanism.
A further variation involves employing an implicit sequence number or nonce which is not explicitly carried in the paging message, but can be calculated by both sides (i.e. the serving node 110 and client devices 120, 130). For instance, if paging messages are transmitted at regular intervals, it becomes easy to calculate how many messages have been sent by the passage of time. For example, in GSM the sequence number can be implicitly derived from the TDMA frame number, and this is similar to the manner in which ciphering synchronization is achieved in GSM. This number can be used as the sequence number.
It will be appreciated that the approaches described above allow paging messages to be secured either with an extension of a small number of bits or even, in some cases, no message size extension at all.
A particular benefit of the MAC-based method of the third approach described above is that it is more secure against attempts to wake up a particular node than in a straightforward application of MACs based on symmetric cryptography. The method is secure against all attacks, within limits of the chosen number of bits for the various values. In particular, the method is secure against replay attacks, attacks to attempt to wake up any random device, and particularly secure against attacks attempting to wake up a specific device. Message expansion or even shrinkage can be varied based the chosen number of bits. The only drawbacks of this method are that collisions cannot be avoided, and their effects need to be taken into account, and that if a very large number of nodes needs to be included in every paging message, message expansion can grow even beyond what a signed paging message would bring. Even so, the cryptography in the third approach is simple compared to public-key cryptography needed for signatures.
A small number of additional bits is needed when using the hash chains of the first approach: one hash chain value, shared for all receivers, is needed in each paging message. An identifier sequence with 128-bit identifiers would be quite sufficient, and an identifier sequence with just the number of bits to accommodate the maximum number of concurrently attached client devices (e.g., 16 bits) would be secure against waking up specific nodes and would not cause any message size extension.
It will be appreciated that variations from the above described embodiments may still fall within the scope of the invention.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/SE2012/050517 | 5/15/2012 | WO | 00 | 11/10/2014 |