Issuing offline PKI certificates in distributed V2X network
11576037 · 2023-02-07
Assignee
Inventors
Cpc classification
H04L9/3268
ELECTRICITY
H04L9/006
ELECTRICITY
H04W4/70
ELECTRICITY
International classification
G06F21/00
PHYSICS
H04L9/32
ELECTRICITY
H04W4/70
ELECTRICITY
G06F21/56
PHYSICS
Abstract
Method and system for issuing public key infrastructure (PKI) certificates in a peer-to-peer wireless communication network, comprising generating, at a first certificate authority (CA) node in the peer-to-peer communication network, a PKI certificate based on public key information received from an applicant node in the peer-to-peer wireless communication network; and transmitting the PKI certificate generated by the first CA node to the applicant node using the peer-to-peer wireless communication network.
Claims
1. A method, comprising: receiving, by a first certificate authority (CA) node in a peer-to-peer wireless communication network, a first key and a second key from a registration authority (RA) node in the peer-to-peer wireless communication network; generating, the first CA node, a public key infrastructure (PKI) certificate based on public key information received from an applicant node in the peer-to-peer wireless communication network; and transmitting, by the first CA node to the applicant node, the PKI certificate using the peer-to-peer wireless communication network, wherein the applicant node and the first CA node are each pre-configured with a generator matrix, wherein the public key information includes a public signature key generated by the applicant node using the generator matrix, and wherein the generating the PKI certificate at the first CA node comprises: generating an intermediate certificate based on the first key that is based on: (i) the public signature key generated by the applicant node and (ii) a product of the generator matrix and a random value received from the applicant node; signing the intermediate certificate; and encrypting the signed intermediate certificate to produce the PKI certificate, and wherein the public key information includes a public encryption key calculated by the applicant node using the generator matrix, and wherein encrypting the signed intermediate certificate to produce the PKI certificate is performed using the second key that is based on: (i) the public encryption key and (ii) the product of the generator matrix and the random value received from the applicant node; receiving, by the first CA node, a first random value calculated at the RA node; calculating, by the first CA node, a first intermediate value based on the product of the generator matrix and the first random value; and receiving, by the first CA node, a second intermediate value from a second CA node within the peer-to-peer wireless communication network, the second intermediate value being calculated by the second CA node based on the product of the generator matrix and a second random value calculated at the RA node, wherein the intermediate certificate generated by the first CA node is also based on the first intermediate value and the second intermediate value.
2. The method of claim 1, wherein the first CA node is a mobile CA node.
3. The method of claim 1, wherein the first CA node calculates the first key and the second key.
4. The method of claim 1, wherein the peer-to-peer wireless communication network is a sidelink (SL) vehicle-to-anything (V2X) communication network, and wherein the applicant node and the first CA node are each implemented by processor enabled control units that are located onboard respective vehicles.
5. The method of claim 1, wherein the first CA node is one of a plurality of CA nodes in the peer-to-peer wireless communication network that collectively implement a distributed CA, the method further comprising: generating respective PKI certificates based on the public key information at the plurality of CA nodes; and transmitting the respective PKI certificates to the applicant node using the peer-to-peer wireless communication network.
6. A first certificate authority (CA) node comprising: a processor system; a wireless transceiver system coupled to the processor system; memory coupled to the processor system and storing executable instructions that, when executed by the processor system, cause the first CA node to: generate a public key infrastructure (PKI) certificate based on public key information received from an applicant node in a peer-to-peer wireless communication network; and transmit, to the applicant node, the PKI certificate using the peer-to-peer wireless communication network, wherein the public key information includes a public signature key calculated by the applicant node using a generator matrix, and wherein the executable instructions to cause the first CA node to generate the PKI certificate include instructions to cause the first CA node to: generate an intermediate certificate based on a first key that is based on: (i) the public signature key and (ii) a product of the generator matrix and a random value received from the applicant node; sign the intermediate certificate; and encrypt the signed intermediate certificate to produce the PKI certificate wherein the public key information includes a public encryption key calculated by the applicant node using the generator matrix, and the first CA node is configured to encrypt the signed intermediate certificate to produce the PKI certificate using a second key that is based on: (i) the public encryption key and (ii) the product of the generator matrix and the random value received from the applicant node; receive a first random value calculated at the RA node; calculate a first intermediate value based on the product of the generator matrix and the first random value; and receive a second intermediate value from a second first CA node within the peer-to-peer wireless communication network, the second intermediate value being calculated by a second CA node based on the product of the generator matrix and a second random value calculated at the RA node, wherein the intermediate certificate generated by the first CA node is also based on the first intermediate value and the second intermediate value.
7. The first CA node of claim 6, wherein the executable instructions further cause the first CA node to: receive the first key and the second key from a registration authority (RA) node in the peer-to-peer wireless communication network.
8. The first CA node of claim 6, wherein the executable instructions further cause the first CA node to: calculate the first key and the second key.
9. The first CA node of claim 6, wherein the peer-to-peer wireless communication network is a sidelink (SL) vehicle-to-anything (V2X) communication network and the first CA node is located on a vehicle.
10. The first CA node of claim 9, wherein the applicant node and the CA node are each implemented by processor enabled control units that are located onboard respective vehicles.
11. The first CA node of claim 6, wherein the first CA node is one of a plurality of CA nodes in the peer-to-peer wireless communication network that collectively implement a distributed CA.
12. The first CA node of claim 11, wherein the executable instructions further cause the first CA node to: generate respective PKI certificates based on the public key information at the plurality of CA nodes; and transmit the respective PKI certificates to the applicant node using the peer-to-peer wireless communication network.
13. The first CA node of claim 6, wherein the first CA node is a mobile CA node.
14. The first CA node of claim 6, wherein the first CA node calculates the first key and the second key.
15. A non-transitory computer readable storage medium having instructions stored thereon that, when executed by a first certificate authority (CA) node in a peer-to-peer wireless communication network, cause the first CA node to perform operations, the operations including: receiving a first key and a second key from a registration authority (RA) node in the peer-to-peer wireless communication network; generating a public key infrastructure (PKI) certificate based on public key information received from an applicant node in the peer-to-peer wireless communication network; transmitting, to the applicant node, the PKI certificate using the peer-to-peer wireless communication network, wherein the applicant node and the first CA node are each pre-configured with a generator matrix, wherein the public key information includes a public signature key generated by the applicant node using the generator matrix, and wherein the generating the PKI certificate at the first CA node comprises: generating an intermediate certificate based on the first key that is based on: (i) the public signature key generated by the applicant node and (ii) a product of the generator matrix and a random value received from the applicant node; signing the intermediate certificate; and encrypting the signed intermediate certificate to produce the PKI certificate, and wherein the public key information includes a public encryption key calculated by the applicant node using the generator matrix, and wherein encrypting the signed intermediate certificate to produce the PKI certificate is performed using the second key that is based on: (i) the public encryption key and (ii) the product of the generator matrix and the random value received from the applicant node; receiving a first random value calculated at the RA node; calculating a first intermediate value based on the product of the generator matrix and the first random value; and receiving a second intermediate value from a second CA node within the peer-to-peer wireless communication network, the second intermediate value being calculated by the second CA node based on the product of the generator matrix and a second random value calculated at the RA node, wherein the intermediate certificate generated by the first CA node is also based on the first intermediate value and the second intermediate value.
16. The non-transitory computer readable storage medium of claim 15, wherein the first CA node is a mobile CA node.
17. The non-transitory computer readable storage medium of claim 15, wherein the peer-to-peer wireless communication network is a sidelink (SL) vehicle-to-anything (V2X) communication network, and wherein the applicant node and the first CA node are each implemented by processor enabled control units that are located onboard respective vehicles.
18. The non-transitory computer readable storage medium of claim 15, wherein the first CA node is one of a plurality of CA nodes in the peer-to-peer wireless communication network that collectively implement a distributed CA, the operations further comprising: generating respective PKI certificates based on the public key information at the plurality of CA nodes; and transmitting the respective PKI certificates to the applicant node using the peer-to-peer wireless communication network.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
DESCRIPTION OF EXAMPLE EMBODIMENTS
(8) For convenience, the present disclosure describes example embodiments of methods and systems with reference to a motor vehicle, such as a car, truck, bus, boat or ship, submarine, aircraft, warehouse equipment, construction equipment, tractor or other farm equipment. The teachings of the present disclosure are not limited to any particular type of vehicle, and may be applied to vehicles that do not carry passengers as well as vehicles that do carry passengers. Among other things, the methods and systems described in the present disclosure may be implemented in non-autonomous, semi-autonomous and autonomous robotic vehicles.
(9)
(10) In example embodiments, in addition to processor enabled control unit 115, the subject vehicle 102 also includes a plurality of additional on-board processor enabled electronic devices 110(1) to 110(n). Among other things, electronic devices 110(1) to 110(n) may include devices or units that can sense, collect and process information about the environment of the subject vehicle 102. By way of example, on-board electronic devices 110(1) to 110(n) associated with subject vehicle 102 may include one or more devices that sense and process information about the physical environment surrounding the vehicle such as light detection and ranging (LIDAR) units, radio detecting and ranging (RADAR) units, and/or video camera units. Electronic devices 110(1) to 110(n) may also include devices that collect and process information about the kinodynamic operating environment of subject vehicle 102 such as inertial measurement units (IMUs), speedometer units and other vehicle kinodynamic measurement units. Electronic devices 110(1) to 110(n) may also include devices that collect and process information about the geographic location of subject vehicle 102 such as a global positioning satellite unit.
(11) In example embodiments, the control unit 115 of the subject vehicle 102 is configured to function as an applicant node 112 that can apply for PKI certificates. When the applicant node 112 is online, it can communicate through WAN 136 with one or more centralized remote systems, including a PKI system 130. In example embodiments, PKI system 130 includes one or more computer systems, such as servers, that are configured to implement a registration authority 132 and a PKI certificate authority 134. When the applicant node 112 is online it can communicate with registration authority 132 through WAN 136 to perform a registration procedure that verifies the identity of the applicant node 112. In example embodiments, conventional PKI registration procedures can be used for this purpose. Furthermore, in example embodiments, the applicant nodes 112 each may also perform respective registration procedures with the registration authority 132 through WAN 136 on behalf of the subject vehicle electronic devices 110(1) to 110(n).
(12) Similarly, when the applicant node 112 is online it can request the issuance of digital PKI certificates for both itself and the electronic devices 110(1) to 110(n) from the certificate authority 134. In example embodiments, conventional PKI certificate issuance procedures can be used for this purpose.
(13) However, when the applicant node 112 is offline with respect to PKI system 130 (for example, when the subject vehicle 102 is in a region that is not serviced by WAN 136, or applicant node 112 is otherwise denied access to WAN 136 or to PKI system 130), it cannot communicate through WAN 136 with PKI system 130. This situation can be problematic in the event that new PKI certificates are required when the applicant node 112 is offline. In such circumstances, it may be necessary for one or more of the control units 115 to ignore or suspend communications in order to avoid to man-in-the-middle (MITM) or imposter attacks.
(14) Accordingly, example embodiments are described that enable a group of control units 115 of other vehicles 104 and/or infrastructure elements 106 to collectively function as an offline certificate issue (OCI) system 150. In example embodiments, the control units 115 of the subject vehicle 102, the other vehicles 104 and the infrastructure elements 106 are configured by OCI software to implement respective nodes in the OCI system 150 as described below.
(15) As shown in
(16)
(17) The applicant node 112 then requests n+1 PKI certificates by transmitting its public key information (e.g., public encryption and signature keys U,V) and the random value array r={r.sub.0, r.sub.1, . . . , r.sub.i, . . . , r.sub.n} to the distributed RA 118 using SL V2X communication network 140. In particular, as indicated by block 314 in
(18) As explained in the following paragraphs, the distributed RA 118 is configured by its member RA nodes 114(0) to 114(n) to calculate a set of n+1 certificate encryption keys {E.sub.0, E.sub.1, . . . , E.sub.i, . . . , E.sub.n}, a set of n+1 public signature keys {S.sub.0, S.sub.1, . . . , S.sub.i, . . . , S.sub.n} and a set of n+1 random value pairs {(r.sub.00, r.sub.01), (r.sub.i0, r.sub.i1), . . . , (r.sub.n0, r.sub.n1)} that are then transmitted using SL V2X communication network 140 to the distributed CA 118.
(19) In this regard, as indicated by block 316, upon receipt of its respective tuple (U, V, r.sub.i) from the applicant node 112, each RA node 114(i) calculates first and second keys, namely public signature key S.sub.i=V+r.sub.i*G and public encryption key E.sub.i=U+r.sub.i*G. As will be explained below, the first key S.sub.i, which is the sum of the applicant node 112's public signature key V with the product of the generator matrix G and applicant node sourced random value r.sub.i, is provided to a CA node 114(k) for the purpose of signing an intermediate certificate C′.sub.i generated by the OCI system 150. The second key E.sub.i, which is the sum of the applicant node 112's public encryption key U with the product of the generator matrix G and applicant node sourced random value r.sub.i, is used by the CA node 114(k) for the purpose of encrypting the signed intermediate certificate C″.sub.i generated by the OCI system 150.
(20) As indicated by block 318, each RA node 114(i) also generates a respective pair of random values (r.sub.i0, r.sub.i1), and as indicated by block 320, each RA node 114(i) then sends a first tuple (E.sub.i, S.sub.i, r.sub.i0) to a first associated CA node 116(j) and a second tuple (E.sub.i, S.sub.i, r.sub.i1) to a second associated CA node 116(k), where j≠k, θ≤j≤m and 0≤k≤m. As will be explained in greater detail below, the first and second CA nodes 116(j), 116(k) that are associated with RA node 114(i) form a collaborating CA node pair for generating a unique PKI-based certificate C.sub.i. Thus, each RA node 114(i) transmits the first and second keys S.sub.i, E.sub.i, that it has generated to a respective collaborating pair of CA nodes 116(j), 116(k), along with a unique random value to each CA node 116(j), 116(k) of the pair (e.g., r.sub.i0 to CA node 116(j) and r.sub.i1 to CA node 116(k)). The random value pairs (r.sub.i0, r.sub.i1) are used to mitigate against fraud and mitigate against man-in-the-middle (MITM) attacks in the OCI system 150. As illustrated in
(21) As explained in the following paragraphs, the distributed CA 120 is configured by its member CA nodes 116(0) to 116(m) to generate a set of n+1 PKI certificates C={C.sub.0, C.sub.1, . . . , C.sub.i, . . . , C.sub.n} that are then transmitted using SL V2X communication network 140 to the applicant node 112.
(22) In this regard, as indicated by block 322, each CA node 116(j) is configured to calculate an intermediate value W.sub.ij=r.sub.ij*G for each random value that the CA node 116(j) receives from its associated RA node(s) 114(i). For illustration, in the example of
(23) As indicated by blocks 324, 326 and 328 of
(24) In this regard, as shown by block 324, each collaborating pair of CA nodes 116(j), 116(k) that are associated with a common RA node 114(i) is configured to collectively generate a respective intermediate certificate C′.sub.i=(S.sub.i+ΣW.sub.ij, Σmeta). As shown, the intermediate certificate C, includes two values, namely: (1) S.sub.i+ΣW.sub.ij, which is the sum of: (a) the public signature key S.sub.i calculated by the common associated RA node 114(i); and (b) the sum of the intermediate values W.sub.ij respectively calculated by the two CA nodes 116(j), 116(k) based on the random vales r.sub.i0 and r.sub.i1 received from the common RA node 114(i); and (2) Σmeta which is the sum of a predetermined set of metadata items. In example embodiments, the metadata items include unique identification values for each of the CA nodes 116(j), 116(k) for the CA node pair and a time stamp. By way illustration, in the example embodiment illustrated in
(25) As shown by block 326, the selected CA node 116(k) of each collaborating pair of CA nodes 116(j), 116(k) is configured to sign the intermediate certificate C′.sub.i with its own private key h.sub.i to generate signed intermediate certificate C″.sub.i=ECDSA (h.sub.i, C′.sub.i), where ECDSA refers to an Elliptical Curve Digital Signature Algorithm such as the ECDSA specified by National Institute of Standards and Technology (NIST) Federal Information Processing Standards (FIPS) publication FIPS PUB 186-4.
(26) As shown by block 328, the selected CA node 116(k) of each collaborating pair of CA nodes 116(j), 116(k) is configured to then encrypt the signed intermediate certificate C″.sub.i using the public encryption key E.sub.i to output encrypted PKI-based certificate C.sub.i=AES(E.sub.i, C″.sub.i), where AES refers to an Advanced Encryption Standard (AES) algorithm. In example embodiments the PKI-based certificate C.sub.i is a x.509 PKI certificate. The PKI-based certificate C.sub.i is then transmitted by CA Node 116(k) to the applicant node 112 via SL V2X communication network 140 (block 330). Thus, collectively, the n+1 selected CA nodes of CA 120 issue a set C of n+1 PKI-based certificates, C={C.sub.0, C.sub.1, . . . , C.sub.i, . . . , C.sub.n}, with each selected CA node transmitting a respective certificate to the applicant node 112 using SL V2X communication network 140. The applicant node 112 receives and stores the n+1 certificates C={C.sub.0, C.sub.1, . . . , C.sub.i, . . . , C.sub.n} (block 331).
(27) At the completion of the PKI certificate issuing process, n+1 certificates C={C.sub.0, C.sub.1, . . . , C.sub.i, . . . , C.sub.n} are provided for respective use by the applicant node 112 and n electronic devices 110(1) to 110(n) of subject vehicle 102. In example embodiments, the applicant node 112 can decrypt each issued certificate C using the corresponding private key (u+r.sub.i) to recover signed intermediate certificate C″.sub.I(block 332). The applicant node recovers intermediate certificate from signed intermediate certificate C″.sub.I using the public key H.sub.i that corresponds to the private key h.sub.i used at CA 120 to generate C′.sub.i. The applicant node 112 can determine the public signature key S.sub.i for each certificate by calculating S.sub.i=V+r.sub.i*G and then extract the summed intermediate value ΣW.sub.ij from intermediate certificate C′.sub.i The applicant node 112 can then compute the private signature key s.sub.i for each certificate C.sub.i as follows: s.sub.i=v+r.sub.i+ΣW.sub.ij (block 334).
(28) In the example OCI system 150 illustrated in
(29) In the example shown in
(30)
(31) The applicant node 112 then requests n+1 PKI certificates by transmitting its public encryption and signature keys U,V and the random value array r={r.sub.0, r.sub.1, . . . , r.sub.i, . . . , r.sub.n} to the distributed RA/CA 418 using SL V2X communication network 140. In particular, as indicated by block 614 in
(32) As indicated by block 616, upon receipt of its respective tuple (U, V, r.sub.i) from the applicant node 112, each RA/CA node 414(i) calculates first and second keys, namely public signature key S.sub.i=V+r.sub.i*G and encryption key E.sub.i=U+r.sub.i*G in the same manner as described above in respect of RA node 114(i).
(33) As indicated by blocks 624, 626 and 628 of
(34) Referring to block 624, each RA/CA nodes 414(i) is configured to generate intermediate certificate C′.sub.i=(S.sub.i, Σmeta). As shown, the intermediate certificate C′.sub.i includes two values, namely: (1) the public signature key S.sub.i calculated by the RA/CA node 414(i); and (2) Σmeta which is the sum of a predetermined set of metadata items. In example embodiments, the metadata items include a unique identification value for the RA/CA node 414(i) and a time stamp.
(35) As shown by block 626, each RA/CA node 414(i) is configured to sign the intermediate certificate C′.sub.i with its own private key h.sub.i to generate signed intermediate certificate C″.sub.i=ECDSA (h.sub.i, C′.sub.i), where as noted above ECDSA refers to an Elliptical Curve Digital Signature Algorithm such as the ECDSA specified by National Institute of Standards and Technology (NIST) Federal Information Processing Standards (FIPS) publication FIPS PUB 186-4.
(36) As shown by block 628, each RA/CA node 414(i) is configured to then encrypt the signed intermediate certificate C″.sub.i using the public encryption key E.sub.i to output encrypted PKI-based certificate C=AES(E.sub.i, C″.sub.i), where AES refers to an Advanced Encryption Standard (AES) algorithm. In example embodiments the PKI-based certificate C.sub.i is a x.509 PKI certificate. The PKI-based certificate C.sub.i is then transmitted by RA/CA node 414(i) to the applicant node 112 via SL V2X communication network 140 (block 628). Thus, collectively, the n+1 RA/CA nodes 414(0) to 414(n) of RA/CA 418 issue a set C of n+1 PKI-based certificates, C={C.sub.0, C.sub.1, . . . , C.sub.i, . . . , C.sub.n} with each RA/CA node 414(0) to 414(n) transmitting a respective certificate to the applicant node 112 using SL V2X communication network 140. The applicant node 112 receives and stores the n+1 certificates C={C.sub.0, C.sub.1, . . . , C.sub.i, . . . , C.sub.n} (block 631).
(37) At the completion of the PKI certificate issuing process illustrated by
(38)
(39) The control unit 115 includes a processor system 101 that is coupled to a plurality of components via a communication bus which provides a communication path between the components and the processor system 101. The processor system 102 is coupled to memory 126 that may include Random Access Memory (RAM), Read Only Memory (ROM), and persistent (non-volatile) memory such as flash erasable programmable read only memory (EPROM) (flash memory). The control unit 115 includes one or more wireless transceivers 131 that enable the control unit 115 to exchange data with WAN 136 and peer-to-peer SL V2X communication network. Control unit 115 may also include a satellite receiver for receiving satellite signals from a positioning satellite network. The control unit 115 may also include one or more I/O interfaces 136 such as a touchscreen and audio input/output interfaces. The processor system 101 may include one or more processing units, including, for example, one or more central processing units (CPUs), one or more graphical processing units (GPUs), and other processing units.
(40) The memory 126 of the control unit 115 has stored thereon sets of software instructions executable by the processor system 102 that configure the control unit 115 to implement a number of systems 161. The systems 161 includes an operating system 160, and an OCI communication system 172 that configures the control unit 115 to implement one or more of the applicant node 112, RA node 114(i), CA node 116(k) and RA/CA node 414(i) functions described above. Systems 161 may also include other modules 174, which may include, for example, mapping module, navigation module, autonomous and assisted driving modules, climate control module, media player module, telephone module and messaging module
(41) The memory 126 also stores a variety of data 180. For example, in the case of an applicant node 112 the data 180 may comprise key pairs U,u and V,v; certificates C; generator matrix G; and random value array r.
(42) In example embodiments, on-board electronic devices 110(1) to 110(n) may be implemented using an arrangement of electronic components similar to that of control unit 115.
(43) The present disclosure is made with reference to the accompanying drawings, in which embodiments are shown. However, many different embodiments may be used, and thus the description should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete. Separate boxes or illustrated separation of functional elements of illustrated systems, modules and devices does not necessarily require physical separation of such functions, as communication between such elements may occur by way of messaging, function calls, shared memory space, and so on, without any such physical separation. As such, functions need not be implemented in physically or logically separated platforms, although they are illustrated separately for ease of explanation herein. Different devices may have different designs, such that although some devices implement some functions in fixed function hardware, other devices may implement such functions in a programmable processor with code obtained from a machine readable medium.
(44) All values and sub-ranges within disclosed ranges are also disclosed. Also, although the systems, devices and processes disclosed and shown herein may comprise a specific number of elements/components, the systems, devices and assemblies may be modified to include additional or fewer of such elements/components. For example, although any of the elements/components disclosed may be referenced as being singular, the embodiments disclosed herein may be modified to include a plurality of such elements/components. The subject matter described herein intends to cover and embrace all suitable changes in technology.
(45) Although the present disclosure is described, at least in part, in terms of methods, a person of ordinary skill in the art will understand that the present disclosure is also directed to the various components for performing at least some of the aspects and features of the described methods, be it by way of hardware (DSPs, GPUs, ASIC, or FPGAs), software or a combination thereof. Accordingly, the technical solution of the present disclosure may be embodied in a non-volatile or non-transitory machine readable medium (e.g., optical disk, flash memory, etc.) having stored thereon executable instructions tangibly stored thereon that enable a processing device (e.g., a vehicle control system) to execute examples of the methods disclosed herein.
(46) The present disclosure may be embodied in other specific forms without departing from the subject matter of the claims. The described example embodiments are to be considered in all respects as being only illustrative and not restrictive. The present disclosure intends to cover and embrace all suitable changes in technology. The scope of the present disclosure is, therefore, described by the appended claims rather than by the subject description. The scope of the claims should not be limited by the embodiments set forth in the examples, but should be given the broadest interpretation consistent with the description as a whole.