Abstract:
There is described a device for communicating with a network. The device receives 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 device verifies the protected part of the information using a cryptographic function and knowledge of the sequence and identifies whether the information indicates that message is an authentic message intended for that device. The device may act in response to the received paging message.

Description:
TECHNICAL FIELD 
       [0001]    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. 
       BACKGROUND 
       [0002]    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. 
         [0003]    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. 
         [0004]    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. 
         [0005]    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. 
         [0006]    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. 
         [0007]    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&#39;s cellular networks, paging is essentially insecure due to a number of factors:
       Paging messages are broadcast or multicast to a large number of mobile terminals, and currently no group keys exist for securing these messages.   Even if such group keys did exist, the use of shared group keys with a large number of group participants is insecure.   3GPP has, in general, not adopted asymmetric cryptographic mechanisms, at least not at the lower layers of the protocol stack. Public key techniques are therefore unlikely to be desirable.   Even if public key technology was used, the necessary signatures are expensive to make and long to transmit, leading to unacceptable overheads in network usage.       
 
         [0012]    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. 
         [0013]    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:
       Shared secrets distributed to a large number of devices cannot be assumed to be secure. A compromised device could pretend to be a base station and send a “secure” paging message, as it has access to the shared key.   It is not easy to use per-device keys in the traditional manner with a shared secret and MAC, as adding MACs for every different device would significantly increase the size of the paging messages and processing required.   Public key signatures require the addition of trust anchors and adopting asymmetric cryptography. These have not traditionally been used at this layer of 3GPP network access technology.   The computation and verification of public key signatures in real time, and the number of bits necessary to transmit a signature, would add to the cost of paging.       
 
       SUMMARY 
       [0018]    It is an object of the present invention to address, or at least alleviate, the problems described above. 
         [0019]    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. 
         [0020]    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. 
         [0021]    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. 
         [0022]    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. 
         [0023]    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. 
         [0024]    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. 
         [0025]    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. 
         [0026]    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. 
         [0027]    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. 
         [0028]    The message identifier may be a sequence number, and may be explicitly carried separately in the paging message. 
         [0029]    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. 
         [0030]    The encrypted device identifier in each message may be encrypted using a HMAC function based on the shared key. 
         [0031]    The encrypted device identifier may contain more bits than the device identifier. 
         [0032]    The shared key may be calculated from a cipher key and/or integrity key. 
         [0033]    The device may be a M2M device. 
         [0034]    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. 
         [0035]    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. 
         [0036]    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. 
         [0037]    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. 
         [0038]    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. 
         [0039]    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. 
         [0040]    The first encrypted device identifier in the sequence may be calculated from a secret shared between the device and the serving node. 
         [0041]    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. 
         [0042]    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 
         [0043]    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. 
         [0044]    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. 
         [0045]    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. 
         [0046]    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. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0047]    Some preferred embodiments of the invention will now be described by way of example only and with reference to the accompanying drawings, in which: 
           [0048]      FIG. 1  is a schematic diagram of elements of a network configured to page client devices; 
           [0049]      FIG. 2  is a schematic diagram of the network of  FIG. 1  illustrating one approach to securing paging messages; 
           [0050]      FIG. 3  is a schematic diagram of the network of  FIG. 1  illustrating another approach to securing paging messages; 
           [0051]      FIG. 4  is a schematic diagram of the network of  FIG. 1  illustrating a further approach to securing paging messages; 
           [0052]      FIG. 5  is a flow diagram illustrating the implementation of the approach to securing paging messages shown in  FIG. 2 ; 
           [0053]      FIG. 6  is a flow diagram illustrating the implementation of the approach to securing paging messages shown in  FIG. 3 ; 
           [0054]      FIG. 7  is a flow diagram illustrating the implementation of the approach to securing paging messages shown in  FIG. 3 ; 
           [0055]      FIG. 8  is a schematic diagram of an alternative architecture of a serving node; and 
           [0056]      FIG. 9  is a schematic diagram of an alternative architecture of a client device. 
       
    
    
     DETAILED DESCRIPTION 
       [0057]    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. 
         [0058]    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. 
         [0059]      FIG. 1  is a schematic illustration of elements of a network  100  configured to page network nodes. The network  100  includes a serving node (e.g. a base station)  110  and two exemplary client devices  120 ,  130 . The client devices  120 ,  130  may be M2M devices or user-operated mobile devices, such as e.g. mobile phones, or any other type of manually controlled device capable of being paged. 
         [0060]    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. 
         [0061]    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. 
         [0062]    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. 
         [0063]    1. Hash Chains 
         [0064]    Using the first approach, the serving node  110 , or the network, calculates a sequence of values, such that 
         [0000]      h 0 =a random value 
         [0000]        h   1   =h ( h   0 ),  h   2   =h ( h   1 ), . . . ,  h   i   =h ( h   i−1 ), . . . ,  h   n   =h ( h   n−1 ). 
         [0000]    where h is a one-way hash function. 
         [0065]    The serving node  110  sets a current index, i, to n: 
         [0000]      i=n 
         [0066]    When client devices join the network the serving node sends them the current index i and the current hash value h i . Paging messages are sent at regular intervals, and after each transmission the current index is decremented by one. Each message contains h i−1 . 
         [0067]    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 h i−1  by confirming that h i =h(h i−1 ). 
         [0068]    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. 
         [0069]    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 h i−1  so that it would hash to  4 , except by exhaustive search. 
         [0070]    This can be understood with reference to  FIGS. 2 and 5 . The control unit  113  of the serving node  110  generates a hash sequence (e.g. 1, 17, 66, 2, 80) and stores this in its storage device  112  (step S 51  in  FIG. 5 ). It also sends an initialisation message  240  to the client devices  120 ,  130  in the network (step S 52 ). The initialisation message includes the starting index (i=5) for the hash chain, and the first value (h 5 =1). The initialisation message  240  may be protected using a suitable system to ensure that it cannot be intercepted and read by a third party. Because it is not a paging message the additional overhead required for more secure encryption is acceptable for this message type. 
         [0071]    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 S 53 ). 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: h 4 =17. The control unit  123  of the client device  120  confirms in step S 54  that 1=h(17) and that the message has therefore really come from the serving node  110 . It therefore carries out in step S 55  the instructions contained in the paging message (e.g. wake up, prepare to receive additional message, carry out measurement and report, etc.) 
         [0072]    The other client device  130  does not act on the paging message  242  since it does not contain a device identifier for that device. 
         [0073]    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:
       The attacker must be able to receive the message from the serving node  110  while at the same time blocking the message from going through to other devices. If the devices receive the message they will consider the hash value already used, and the attack no longer works.   The attack must get the timing exactly right, because the devices will be listening on a given timeslot, and sending the paging message later will either miss the timeslot or the devices believe they should see a newer hash value.       
 
         [0076]    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. 
         [0077]    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:
       [a, device identifier list, h i ]
 
where a is an authenticator calculated as
   a=f(device identifier list, h i )       
 
         [0080]    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. 
         [0081]    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:
       a=f(device identifier list, h i−1 )       
 
         [0083]    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. 
         [0084]    2. Per-Device Identifier Sequences 
         [0085]    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: 
         [0000]    
       
      
       Kp=f(CK|IK)  
      
     
         [0086]    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. 
         [0000]      ID 0   =f (Kp) 
         [0000]      ID i   =f (ID i−1 ) 
         [0087]    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. 
         [0088]    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). 
         [0089]    This approach can be understood with reference to  FIGS. 3 and 6 . A shared key is agreed between the serving node  110  and each client device  120 ,  130  as described above (step S 61 ). When the serving node wishes to send a paging message to client device  120  (and other client devices (not shown) it sends a paging message  342  containing id 1 , id 2 , id 3  as device identifiers (step S 62 ). All of the client devices  120 ,  130  check the device identifiers id 1 , id 2 , id 3  to see if the message is intended for them (step S 63 ) One of the client devices  120  recognises id 1  as its ID for that stage in the sequence, wakes up (S 64 ) and carries out the instructions in that message (S 65 ). For the next paging message, if instructions are sent again to client device  120 , the device identifier would be id 7 . 
         [0090]    A particular advantage of this approach is that third parties do not even know who is being paged. 
         [0091]    3. Per-Device Keyed MACs 
         [0092]    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. 
         [0093]    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: 
         [0000]      km=IK 
         [0094]    This is illustrated in  FIGS. 4 and 7 , where one client device  120  has a shared secret km=01ffe2 . . . and the other has a shared secret km=760082a, stored in their respective storage devices  122 ,  132 . Both shared secrets are also stored in the storage device  112  of the serving node  110  (step S 71  of  FIG. 7 ). 
         [0095]    A secure paging message  442  takes the form &lt;seq#,m 1 ,m 2 , . . . , m n &gt; where seq# is a sequence number, n is the number of nodes to be awaken, and 
         [0000]        m   i   =h mac km (seq#| i id i ) 
         [0000]    where id i  is the identifier of client device i. 
         [0096]    This paging message is broadcast to all devices (step S 72 ). The values m i  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 S 73 ). As with the previous approach, if one device recognises its expected value it wakes up (step S 74 ) and carries out the instructions in the paging message (S 75 ). 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 m i  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 . 
         [0097]    Returning to a system having 24-bit m i  values, even if a third party blindly tries to wake up any node (rather than a specific node), if there are 65536 (2 16 ) active nodes any single value chosen would have a chance of finding one of these nodes with a likelihood of 2 −8 . 
         [0098]    The fact that a time-varying sequence number is included in the calculation makes the m i  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. 
         [0099]    Even in the special case of where the identifier and m i  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. 
         [0100]    It will be noted that the m i  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 m i  value sizes should be used to make the likelihood of collisions small enough that they do not matter in practice for, say, battery consumption. 
         [0101]    It will also be noted that this scheme can also be used to construct compressed paging messages when m i  values are shorter than the identifiers, trading off false positive matches against shorter paging messages. 
         [0102]    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 
         [0000]      km= f (CK,IK) 
         [0103]    In another variation, an encryption function could be employed instead of a hash, e.g., 
         [0000]      m i =enc km (id i |extrabits) 
         [0000]    where the extra bits are used to create a longer result than the original identifier. (i.e. m i  has more bits than id i ). This is useful to make it harder to guess an encrypted value that decrypts to a real device ID. 
         [0104]    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. 
         [0105]    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. 
         [0106]    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. 
         [0107]    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. 
         [0108]    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. 
         [0109]      FIG. 8  is a schematic diagram of an alternative architecture of a serving node  810 , similar to the serving node  110  shown in  FIGS. 1-4 , and including a communications unit  811  for sending and receiving data and a storage unit  812  for storing data. The serving node  810  also includes a processor  813  operatively connected to the communications unit  811  and storage unit  812 , and also to a carrier medium  814  in the form of a memory having stored thereon a server program  815  for causing the serving node to carry out the functions described above. It will be appreciated that the carrier medium  814  and storage unit  812  could be provided in a single storage medium and need not be separate entities. 
         [0110]      FIG. 9  is a schematic diagram of an alternative architecture of a client device  920 , similar to the client devices  120 ,  130  shown in  FIGS. 1-4 , and including a communications unit  921  for sending and receiving data and a storage unit  922  for storing data. The client device  920  also includes a processor  923  operatively connected to the communications unit  921  and storage unit  922 , and also to a carrier medium  924  in the form of a memory having stored thereon a client program  925  for causing the client device to carry out the functions described above. It will be appreciated that the carrier medium  924  and storage unit  922  could be provided in a single storage medium and need not be separate entities. The storage unit  922 , carrier medium  924  and at least some of the security related processing may be implemented in a tamper resistant smart card module (e.g. SIM, ISIM, USIM)  926 , holding secret keys associated with the user (and which are also shared with the serving node). This smart card module  926  may be removably attached to the rest of the associated client node device  920 . 
         [0111]    It will be appreciated that variations from the above described embodiments may still fall within the scope of the invention.