Securing method for lawful interception
11032324 · 2021-06-08
Assignee
Inventors
- Michael Eoin Buckley (Grayslake, IL)
- Michael Charles HOLLATZ (Huntley, IL, US)
- Robert John Lambert (Cambridge, CA)
- Nevine Maurice Nassif Ebeid (Kitchener, CA)
Cpc classification
H04L63/0435
ELECTRICITY
H04L9/3297
ELECTRICITY
H04L63/306
ELECTRICITY
H04M3/2281
ELECTRICITY
H04L63/0876
ELECTRICITY
H04L9/3252
ELECTRICITY
H04W12/02
ELECTRICITY
H04L63/06
ELECTRICITY
H04L2101/654
ELECTRICITY
H04L9/3263
ELECTRICITY
International classification
H04L9/08
ELECTRICITY
H04L9/30
ELECTRICITY
H04L9/32
ELECTRICITY
H04W12/02
ELECTRICITY
Abstract
A method is presented for secure communication, the method including generating a signature using a private key, a nonce, and at least one of an identifier and a key component; and transmitting the signature, the nonce, a security parameter, and the at least one of the identifier and the key component, wherein the security parameter associates a user identity with a public key, the public key being associated with the private key.
Claims
1. A method, by an electronic device, for secure communication, comprising: generating, by a processor of the electronic device, a Message Authentication Code (MAC) tag using a MAC key, a nonce, and at least one of an identifier and a key component generated by the processor based on private key information associated with the electronic device and a publicly known elliptic curve point, wherein the identifier is one of an International Mobile Station Equipment Identity (IMEI), a Globally Routable User Agent URI (GURU), an International Mobile Subscriber Identity (IMSI), and a Temporary International Mobile Subscriber Identity (TIMSI); and establishing, by the processor, a secure communication session with at least one other electronic device based on generating the MAC tag and at least session security data associated with the at least one other electronic device.
2. The method of claim 1, wherein the nonce is one of a timestamp, a random number, and a sequence number.
3. The method of claim 1, further comprising: generating the key component using a master key, the nonce, and a known elliptic curve point.
4. The method of claim 1, further comprising: transmitting at least the MAC tag, the nonce, and the at least one of an identifier and a key component.
5. The method of claim 4, wherein the MAC tag is received and stored by a remote information processing system.
6. The method of claim 1, further comprising: receiving the session security data, wherein the session security data comprises a second nonce, at least one of a second identifier and a second key component.
7. A method, by an electronic device, for secure communication, comprising: establishing, by a processor of the electronic device, a secure communication session with at least one other electronic device based on session security data associated with the at least one other electronic device having been verified by at least one remote information processing system that is separate and distinct from the electronic device and the at least one other electronic device, the session security data comprising a nonce, at least one of an identifier and a key component, and a MAC tag that was generated using the nonce, the at least one of the identifier and the key component, and a MAC key associated with the at least one other electronic device, wherein the identifier is one of an International Mobile Station Equipment Identity (IMEI), a Globally Routable User Agent URI (GURU), an International Mobile Subscriber Identity (IMSI), and a Temporary International Mobile Subscriber Identity (TIMSI).
8. The method of claim 7, wherein establishing the secure communication session is further based on receiving, from the at least one remote information processing system, at least a key component and a nonce associated with the at least one information processing system.
9. The method of claim 7, wherein the nonce is one of a timestamp, a random number, and a sequence number.
10. The method of claim 7, wherein the key component was generated by the at least one other electronic device.
11. An apparatus for secure communication, comprising: a processing circuit configured to generate a MAC tag using a MAC key, a nonce, and at least one of an identifier and a key component generated by the processing circuit based on private key information associated with the apparatus and a publicly known elliptic curve point, wherein the identifier is one of an International Mobile Station Equipment Identity (IMEI), a Globally Routable User Agent URI (GURU), an International Mobile Subscriber Identity (IMSI), and a Temporary International Mobile Subscriber Identity (TIMSI); and establish, a secure communication session with at least one other electronic device based on generating the MAC tag and at least session security data associated with the at least one other electronic device.
12. The apparatus of claim 11, wherein the identifier is one of an International Mobile Station Equipment Identity (IMEI), a Globally Routable User Agent URI (GURU), an International Mobile Subscriber Identity (IMSI), and a Temporary International Mobile Subscriber Identity (TIMSI).
13. The apparatus of claim 11, wherein the nonce is one of a timestamp, a random number, and a sequence number.
14. The apparatus of claim 11, wherein the processor is further configured to generate the key component using a master key, the nonce, and a known elliptic curve point.
15. The apparatus of claim 11, wherein the processor is further configured to transmit at least the MAC tag, the nonce, and the at least one of an identifier and a key component.
16. The apparatus of claim 15, wherein the MAC tag is received and stored by a remote information processing system.
17. The apparatus of claim 11, wherein the processor is further configured to receive the session security data, wherein the session security data comprises a second nonce, at least one of a second identifier and a second key component.
18. An apparatus for secure communication, comprising: a processing circuit configured to establish a secure communication session with at least one electronic device based on session security data associated with the at least one electronic device having been verified by at least one remote information processing system that is separate and distinct from the apparatus and the at least one electronic device, the session security data comprising a nonce, at least one of an identifier and a key component, and a MAC tag that was generated using the nonce, the at least one of the identifier and the key component, and a MAC key associated with the at least one electronic device, wherein the key component was generated by the at least one electronic device based on private key information associated with the one electronic device and a publicly known elliptic curve point, wherein the identifier is one of an International Mobile Station Equipment Identity (IMEI), a Globally Routable User Agent URI (GURU), an International Mobile Subscriber Identity (IMSI), and a Temporary International Mobile Subscriber Identity (TIMSI).
19. The apparatus of claim 18, wherein the processing circuit is further configured to establish the secure communication session based on receiving, from the at least one remote information processing system, at least a key component and a nonce associated with the at least one information processing system.
20. The apparatus of claim 18, wherein the nonce is one of a timestamp, a random number, and a sequence number.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) A more complete appreciation of the embodiments described therein, and many of the attendant advantages thereof will be readily obtained as the same becomes better understood by reference to the following detailed description when considered in connection with the accompanying drawings, wherein:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
DETAILED DESCRIPTION
(10) Lawful interception for the MIKEY-IBAKE process relies on network knowledge of the timestamp Tα used to generate keying information. However, a subversive user could change the software running on a UE to avoid lawful interception by using a timestamp in generating key information that is different from the timestamp signaled in SIP, thus generating a different key component (K.sub.2βP), but transmitting a timestamp Tα that was not used to generate the key component K.sub.2βP.
(11) For example, as shown in
(12) In this example, the second network stores K.sub.2βP, and thus has the necessary information to determine that UE.sub.2 has not used Tα in generating K.sub.2β.
(13) If device CSCF.sub.2 in the second network detects the misuse at call set-up, the network could disallow the communication. However, to be effective, the network would be required to verify K.sub.2βP in at least some percentage of call set-ups, which is highly undesirable from an operator's point of view. Operators strongly prefer any such checking, if necessary, be done at the UE.
(14) Alternatively device CSCF.sub.2 in the second network could verify K.sub.2βP as a part of the lawful interception process. However, any action such as disabling the phone or simply cutting communication, would break an existing requirement that lawful interception be undetectable by any entity except the requesting law enforcement agency and the intercepting network.
(15) An additional consequence of this requirement is that the second network cannot work with the first network for lawful interception. For instance, in the above example, the first network has all the information necessary for lawful interception, i.e., K.sub.2βP, Tα, and KM.sub.1. However, because LEA.sub.2 may not necessarily wish to reveal that lawful interception is occurring, any final key exchange protocol must enable the second network to carry out lawful interception without the need for contacting any additional entity.
(16) Therefore, while the second network can detect malformed key information in the current MIKEY-IBAKE process, this process requires further modification in order to become a feasible solution meeting all current requirements.
(17) Further, it should be noted that if both UE.sub.1 and UE.sub.2 have the freedom to modify their kernels, they are also free to implement any key agreement scheme, potentially even one different from a standardized key agreement scheme, but with signaling that is compliant. With the arrival of open source operating systems, such as Android, the ability to modify a kernel is, unfortunately, an accepted fact today. In fact, that ability is often touted as being desirable. Since lawful interception becomes highly improbable in such a scenario, the problem addressed herein is that of protecting against one of two UEs maliciously modifying its kernel to prevent lawful interception.
(18) A related problem is SIP signaling of the International Mobile Station Equipment Identity (IMEI), which is an identifier of the mobile equipment (ME), i.e, of the UE not including the Subscriber Identity Module (SIM) card. The IMEI is used in some jurisdictions as the identifier under which lawful interception occurs. However, due to counterfeiting, more than one phone may share the same IMEI. While this is less of a problem in Western regions of the world, it is quite problematic in others. If multiple MEs share the same IMEI, then specifying the targeted ME becomes a more-involved process, making lawful interception more difficult. Additionally, if a UE modifies its kernel, there is a danger the UE may also signal a false IMEI, perhaps preventing lawful interception through IMEI targeting. Thus, a solution for the secure signaling of the IMEI is also needed.
(19) In conventional systems, the subversive user will often be successful since there is insufficient security protection of the timestamp Tα used by each KGU. What is needed is a method to guarantee that the timestamp used by the KGU is also signaled in SIP.
(20) Accordingly, there is provided a method for secure communication, comprising: (1) generating a signature using a private key, a nonce, and at least one of an identifier and a key component; and (2) transmitting the signature, the nonce, a security parameter, and the at least one of the identifier and the key component, wherein the security parameter associates a user identity with a public key, the public key being associated with the private key. The identifier is one of an International Mobile Station Equipment Identity (IMEI), a Globally Routable User Agent URI (GRUU), an International Mobile Subscriber Identity (IMSI), and a Temporary International Mobile Subscriber Identity (TIMSI). Further, the nonce is one of a timestamp, a random number, and a sequence number and the security parameter is a certificate.
(21) In another embodiment, there is provided a method for secure communication, the method comprising: (1) receiving a nonce, at least one of an identifier and a key component, a security parameter, and a signature that was generated using a private key, the nonce, and the at least one of the identifier and the key component; and (2) verifying the nonce and the at least one of the identifier and the key component using the received signature and the security parameter, wherein the security parameter associates a user identity with a public key, the public key being associated with the private key. When verification is successful in the verifying step, the method further includes (1) generating a session key using the at least one of the identifier and the key component; (2) generating a second signature using a second private key, a second nonce, and at least one of a second identifier and a second key component; and (3) transmitting the second signature, the second nonce, a second security parameter, and the at least one of the second identifier and the second key component, wherein the second security parameter associates a second user identity with a second public key, the second public key being associated with the second private key.
(22) In another embodiment, there is provided a method for secure communication, the method comprising: (1) generating a MAC tag using a MAC key, a nonce, and at least one of an identifier and a key component; and (2) transmitting the MAC tag, the nonce, and the at least one of the identifier and the key component.
(23) In another embodiment, there is provided a method for secure communication, the method comprising: (1) receiving a nonce, at least one of an identifier and a key component, and a MAC tag that was generated using the nonce, the at least one of the identifier and the key component, and a MAC key; (2) verifying the nonce and the at least one of the identifier and the key component using the received MAC tag.
(24) In particular, in one embodiment, the KGU of a UE.sub.j signs the timestamp Tα and the key component K.sub.jP using a private key PR.sub.j obtained at the time of manufacture. The public key Pu.sub.j associated with the private key PR.sub.j is certified by a certificate C.sub.j, which can also be provided to the KGU at the time of manufacture. Note that while the public key is described as being separate from the certificate, in general, the public key can form part of the certificate.
(25)
(26) As shown in
(27) While it is necessary that the key components and timestamps transmitted by UE.sub.1 and UE.sub.2 are verified during the key generation process, it is preferable that the verification entity be the KGU or some other entity of the UE. Additionally the network CSCF devices can also perform this verification. However, it is likely that operators would prefer not to verify every key exchange, and instead would push such checking to the UE rather than perform this task within the network, other than for lawful interception warrants, in order to lighten the network load. When verification of the timestamp fails, the connection attempt can be terminated by the verification entity in which the failure occurs. If a UE refuses a connection due to failed verification, an alert can be signaled to the network, e.g., as a first step in blacklisting the transgressing UE.
(28)
(29) In step 501, UE.sub.1's KGU generates the key component K.sub.1 and the signature S.sub.1.
(30) In step 502, UE.sub.1 transmits (K.sub.1P, Tα, [S.sub.1 Pu.sub.1 C.sub.1]).sub.SIP1) in the SIP header to device CSCF.sub.1.
(31) In step 503, device CSCF.sub.1 stores a copy of (K.sub.1P, Tα, [S.sub.1 Pu.sub.1 C.sub.1]).sub.SIP1) in addition to forwarding (K.sub.1P, Tα, [S.sub.1 Pu.sub.1 C.sub.1]).sub.SIP1) to device CSCF.sub.2.
(32) In step 504, device CSCF.sub.2 stores a copy of (K.sub.1P, Tα, [S.sub.1 Pu.sub.1 C.sub.1]).sub.SIP1) in case it is needed for lawful interception. Device CSCF.sub.2 also forwards (K.sub.1P, Tα, [S.sub.1 Pu.sub.1 C.sub.1]).sub.SIP1) to UE.sub.2.
(33) In step 505a, UE.sub.2 receives (K.sub.1P, Tα, [S.sub.1 Pu.sub.1 C.sub.1]).sub.SIP1) and checks the signature S.sub.1. If the signature is verified, UE.sub.2 computes the session key K.sub.sess=K.sub.1K.sub.2P in step 505b. then proceeds to step 506. Otherwise, the connection is refused and the key agreement protocol terminated.
(34) In step 506, UE.sub.2's KGU generates the key component K.sub.2 and the signature S.sub.2.
(35) In step 507, UE.sub.2 transmits (K.sub.2P, Tα, [S.sub.2 Pu.sub.2 C.sub.2]).sub.SIP2) in the SIP header to device CSCF.sub.2.
(36) In step 508, device CSCF.sub.2 stores a copy of (K.sub.2P, Tα, [S.sub.2 Pu.sub.2 C.sub.2]).sub.SIP2) in addition to forwarding (K.sub.2P, Tα, [S.sub.2 Pu.sub.2 C.sub.2]).sub.SIP2) to device CSCF.sub.1.
(37) In step 509, device CSCF.sub.1 stores a copy of (K.sub.2P, Tα, [S.sub.2 Pu.sub.2 C.sub.2]).sub.SIP2) in case it is needed for lawful interception. Device CSCF.sub.1 also forwards (K.sub.2P, Tα, [S.sub.2 Pu.sub.2 C.sub.2]).sub.SIP2) to UE.sub.1.
(38) In step 510a, UE.sub.1 receives (K.sub.2P, Tα, [S.sub.2 Pu.sub.2 C.sub.2]).sub.SIP2) and checks the signature S.sub.2. If the signature is verified, UE.sub.1 computes the session key K.sub.sess=K.sub.1K.sub.2P in step 510b and protected communication commences. Otherwise, the connection is refused and the key agreement protocol terminated.
(39) Note that this embodiment includes the signing of parameters used in key generation, and thus need not be limited to the example case of the MIKEY-IBAKE key agreement protocol discussed above. This embodiment can be extended to other key agreement protocols currently under consideration for IMS Media Security, such as MIKEY-TICKET and Session Description protocol security description (SDES).
(40) Similarly, the signed parameter need not be a timestamp and need not be the same in both UEs. For example, each UE could use its own specific nonce value in generating the keying information K.sub.j, which it signs and which is signaled in some fashion to the target UE through the network. A signature on the nonce value will enable it to be verified, similarly to the timestamp discussed above. The nonce can be, e.g., a timestamp, a random number, or a sequence number.
(41) In another embodiment, to protect the integrity of the IMEI, a hardware portion of the UE signs a nonce and the IMEI. The nonce N.sub.i can be, e.g., randomly generated or be the timestamp Tα signaled in SIP. As shown in
(42) Similar to the case in key generation, the integrity protection of IMEI.sub.1 can be verified by any one of several entities, such as LEA.sub.1, LEA.sub.2, UE.sub.2 or any network (including either CSCF device). As discussed above, it is preferable that such checking be done by UEs, and connections refused in the case of verification failure.
(43) If a UE refuses a connection due to a failed verification, an alert can be signaled to the network, e.g. as a first step in blacklisting a likely counterfeit UE. Since the verification information (IMEI.sub.i, N.sub.i, [S.sub.i, Pu.sub.i C.sub.i]) is stored in the CSCF device, the network also has the means to re-validate any such alert as a further step in determining a counterfeit UE.
(44) In another embodiment, instead of using a signature mechanism, each KGU computes a Message Authentication Code (MAC) tag from a MAC key. As shown in
(45) Note that since the use of a MAC tag amounts essentially to a symmetric key signature scheme, the interception device associated with a given UE network and the corresponding KGU of the UE must first agree on a MAC key (KMAC.sub.i) with which to compute the MAC tag, as shown in
(46) However, one disadvantage of this embodiment is that only the interception function in the UE's current network stores the MAC key KMAC.sub.i, which is needed to verify the MAC tag of UE.sub.i. Thus, storage of the MAC tag may only be needed in the CSCF device directly serving the UE. Further, UE.sub.2 can no longer verify the timestamp of UE.sub.1 (or visa versa). Stated differently, interception device of LEA.sub.1 is the only entity outside of UE.sub.1 that can verify MAC.sub.1 as the MAC tag computed for [K.sub.1P,Tα].
(47) The embodiment of
(48) For example, in a first alternative method, the session key can be derived using a key derivation function (KDF) that takes as input the ECDH-generated key as well as the two timestamps (nonces).
(49) In a second alternative method, both time stamps are multiplied as scalars by the ECDH-generated key. For example, UE.sub.2 calculates K.sub.sess=Tα.sub.1Tα.sub.2K.sub.2K.sub.1P after checking that Tα.sub.1Tα.sub.2K.sub.2 mod n≠1, where n is the group order, i.e., the order of P.
(50) A third alternative method is a slightly modified version of Elliptic Curve Menezes-Qu-Vanstone (ECMQV) that incorporates both time stamps, which are here called Tα.sub.1□ and Tα.sub.2, in the session key calculation. The timestamps are also treated as nonces. This approach is more bandwidth efficient since a signature is not signaled on SIP, and is more calculation efficient compared to the timestamp signature verification method.
(51) In this third alternative method, UE.sub.2 has a long term key (d.sub.2, Pu.sub.2), where Pu.sub.2 is in UE.sub.2's certificate C.sub.2. Here d.sub.2 can be derived from KM.sub.2 through a KDF, since LEA.sub.2 is able to calculate it. Alternatively, d.sub.2 can be another ephemeral derived through KDF along with k.sub.2.
(52) Then, the sequence of calculations in the KGU of UE.sub.2 is:
(53) TABLE-US-00001 (1) k.sub.2 = f(KM.sub.2, Tα.sub.2); (same as K.sub.2 as calculated in Fig. 2) (2) G.sub.2 = k.sub.2P; (as before, here ECMQV starts) (3) s.sub.2 = k.sub.2 + Tα.sub.2 x(G.sub.2) d.sub.2 (mod n); (ECMQV with the addition of Tα.sub.2) (4) UE.sub.2 sends [G.sub.2, Tα.sub.2, C.sub.2] to UE.sub.1 and UE.sub.2 receives [G.sub.1, Tα.sub.1, C.sub.1] from UE.sub.1; (5) K.sub.sess = hS.sub.2(G.sub.1 + [Tα.sub.1 x(G.sub.1)]Pu.sub.1); (ECMQV with the addition of Tα.sub.1)
(54) Note that while calculating s.sub.2, UE.sub.2 checks that Tα.sub.2 x(G.sub.2) mod n≠1, otherwise the process goes back to step 1. Further, while calculating K.sub.sess, UE.sub.2 checks that Tα.sub.1 x(G.sub.1) mod n≠1, otherwise the process aborts.
(55) If UE.sub.2 attempts to signal on SIP a Tα.sub.2′ that is different from Tα.sub.2, the session key will not be established correctly. This assures LEA.sub.2 that Tα.sub.2 is the one used in the calculation inside KGU.sub.2. An extra check can be performed by LEA.sub.2: (1) k.sub.2′=f(KM.sub.2, Tα.sub.2), and (2) check that G.sub.2′=k.sub.2′ P is equal to G.sub.2.
(56) Also note the second and third alternative methods described above both require some modification to the key protocol itself, and thus might entail greater changes to prior agreements within 3GPP.
(57) The embodiments described above have several advantages in that they (1) can secure integrity protection of keying information and UE-identifier information using a MAC tag or signature; (2) can be used to refuse connection and/or reporting of malicious UEs by other UEs; (3) can be used by the network as a means of blacklisting counterfeit or compromised UEs; and (4) if the target UE or KGU are verification entities, the embodiments place no significant load on the network, thus reducing network implementation concerns.
(58) Devices CSCF.sub.1 and CSCF.sub.2, as well as the intercepting devices of LEA.sub.1 and LEA.sub.2, can be implemented by one or more computers and/or one or more specialized circuits. A hardware description of such a computer is described with reference to
(59) As shown in
(60) Further, the claimed embodiments may be provided as a utility application, background daemon, or component of an operating system, or combination thereof, executing in conjunction with CPU 300 and an operating system such as Microsoft Windows 7, UNIX, Solaris, LINUX, Apple MAC-OS and other systems known to those skilled in the art.
(61) CPU 301 may be a Xenon or Core processor from Intel of America or an Opteron processor from AMD of America, or may be other processor types that would be recognized by one of ordinary skill in the art. Alternatively, the CPU 301 may be implemented on an FPGA, ASIC, PLD or using discrete logic circuits, as one of ordinary skill in the art would recognize. Further, CPU 301 may be implemented as multiple processors cooperatively working in parallel to perform the instructions of the inventive processes described above.
(62) The computer in
(63) The computer further includes a display controller 308, such as a NVIDIA GeForce GTX or Quadro graphics adaptor from NVIDIA Corporation of America for interfacing with display 310, such as a Hewlett Packard HPL2445w LCD monitor. A general purpose I/O interface 312 interfaces with a keyboard and/or mouse 514 as well as a touch screen panel 316 on or separate from display 310. General purpose I/O interface also connects to a variety of peripherals 318 including printers and scanners, such as an OfficeJet or DeskJet from Hewlett Packard.
(64) A sound controller 320 is also provided in the computer, such as Sound Blaster X-Fi Titanium from Creative, to interface with speakers/microphone 322 thereby providing sounds and/or music. The speakers/microphone 322 can also be used to accept dictated words as commands for controlling the computer or for providing location and/or property information with respect to the target property.
(65) The general purpose storage controller 324 connects the storage medium disk 304 with communication bus 326, which may be an ISA, EISA, VESA, PCI, or similar, for interconnecting all of the components of the computer. A description of the general features and functionality of the display 310, keyboard and/or mouse 314, as well as the display controller 308, storage controller 324, network controller 306, sound controller 320, and general purpose I/O interface 312 is omitted herein for brevity as these features are known.
(66) In the above description, any processes, descriptions or blocks in flowcharts should be understood to represent modules, segments, or portions of code that include one or more executable instructions for implementing specific logical functions or steps in the process, and alternate implementations are included within the scope of the exemplary embodiments of the present advancements in which functions may be executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending upon the functionality involved, as would be understood by those skilled in the art.
(67) While certain embodiments have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the inventions. Indeed, the novel methods, apparatuses and systems described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions and changes in the form of the methods, apparatuses and systems described herein may be made without departing from the spirit of the inventions. The accompanying claims and their equivalents are intended to cover such forms or modifications as would fall within the scope and spirit of the inventions.