Embodiments presented herein relate to a method, a trusted component node, a computer program, and a computer program product for self-revocation. Embodiments presented herein further relate to a method, a revocation authority node, a computer program, and a computer program product for sending a heartbeat message for self-revocation.
In general terms, Vehicle-to-everything (V2X) refers to communication between a vehicle and any entity that may affect, or may be affected by, the vehicle. It is a vehicular communication system that incorporates other more specific types of communication as V2I (vehicle-to-infrastructure), V2N (vehicle-to-network), V2V (vehicle-to-vehicle), V2P (vehicle-to-pedestrian), V2D (vehicle-to-device).
V2X applications have stringent performance, security, and privacy requirements. As an example, to fulfil some of these requirements, the vehicles involved in V2X communication exchange authenticated (such as cryptographically signed) messages with each other. In some scenarios each vehicle should be able to verify hundreds to thousands of such messages per second. As a further example, to fulfil some of these requirements, the vehicles can use pseudonyms to hide their real identity and thereby avoid being tracked by other vehicles, or even malicious entities.
Several protocols exist for the attestation and authentication of vehicles in V2X applications. Some of them rely on the classic Public-Key Infrastructure (PKI), which is also the standardized architecture. However, these protocols have some drawbacks, as they were not specifically designed for V2X applications. As a consequence, new protocols have been proposed to provide a more efficient and privacy-preserving authentication/attestation scheme, such as Direct Anonymous Attestation (DAA). DAA relies on a Trusted Component (TC) that leverages technologies such as the Trusted Platform Module (TPM) to provide secure storage of credentials and cryptographic functions. The TC is also used for authenticating the vehicle and retrieving fresh DAA credentials, which are then used to generate pseudonyms and sign/verify messages that are communicated to other vehicles.
Besides verifying signatures of messages between vehicles, protocols used for V2X applications should also enable the participating vehicles to verify that received messages from other participating vehicles are recent and fresh. One purpose of this is to guard against replay attacks as well as other types of attacks. This could be achieved by timestamps being added to messages sent between the vehicles. The time reflected by a timestamp could be represented either by the actual synchronized time between all participating vehicles, or by some unforgeable epoch marker that is distributed regularly by a central entity to all participating vehicles. The latter may be used by the infrastructure to announce a common time period, or epoch, to all participating vehicles, when synchronized real-time time indications are not available. In any case, when a message is created by the TC with a timestamp or epoch marker, the message should be rejected by all other TCs that are correctly synchronized after some time determined by the infrastructure, or configuration, of the TCs.
Another aspect of V2X protocols is revocation, i.e., the possibility to remove compromised, or malicious, vehicles from the network to prevent them from spreading false information. In PKI-based protocols, this is usually achieved by means of certificate revocation lists (CRLs). Another revocation strategy is to use short-lived pseudonyms, so that any attacker would not be able to sign new messages after a pseudonym's life expires. Some DAA protocols, instead, propose a “self-revocation” technique, which leverages the TC to automatically delete DAA credentials and/or pseudonyms upon reception of a request from a revocation authority.
Each of the aforementioned revocation techniques has its own drawbacks.
Revocation lists get bigger and bigger over time, and this is a problem in V2X scenarios since each vehicle can have many pseudonyms. Furthermore, these lists need to be downloaded by each vehicle and used to ensure that a certain pseudonym has not been revoked. For each message to be sent that is signed by the certificate of a certain pseudonym, a verification must be made by checking the downloaded lists to ensure that this certain pseudonym has not been revoked. This slows down the verification process, especially as the lists grow. Besides, updates need to be downloaded periodically to ensure that up-to-date information is used.
Short-lived pseudonyms require vehicles to periodically fetch new pseudonyms from edge servers, or other network-based entities. In case of a compromised vehicle, the vehicle is not automatically removed from the network. Rather, such a vehicle is able to continue sending (malicious) information until the pseudonym expires. Hence, there must be a trade-off between usability and security; the shorter the lifetime is, the lesser the damage an attacker can do, but this requires vehicles to fetch new pseudonyms with higher frequency of occurrence.
Self-revocation is triggered when a revocation request is received by a TC inside a vehicle. However, if this request is dropped (e.g., due to network disruptions and/or attacks) the TC would never receive it, and hence revocation would not be triggered. To deal with this issue, a heartbeat technique has been proposed. Accordingly, keep-alive messages are periodically broadcast to vehicles from a network node; a TC can automatically revoke itself if it does not receive any keep-alive message for some time. This is since the absence of a keep-alive message may be interpreted as a possible ongoing attack. However, although some academic research has been published, see for example Förster, David, et al. “Rewire—revocation without resolution: A privacy-friendly revocation mechanism for vehicular ad-hoc networks,” International Conference on Trust and Trustworthy Computing. Springer, Cham, 2015., and Whitefield, Jorden, et al. “Privacy-enhanced capabilities for VANETs using direct anonymous attestation,” 2017 IEEE Vehicular Networking Conference (VNC), IEEE, 2017, such techniques are yet to be explained in detail and some security concerns arise. In a scenario where a vehicle is fully compromised (except for the TC, which is assumed to be tamper-resistant), targeted attacks might delay or even bypass revocation, which could cause safety damage to other vehicles, pedestrians, or the physical infrastructure.
Since revocation lists for pseudonyms can become infeasible, a combination of short-lived pseudonym certificates and CRLs has been proposed to revoke long-term identities. The CRLs would be used by the different authorities of the system to prevent issuing new pseudonyms to revoked vehicles. Pseudonyms, instead, cannot be revoked: a revoked (and possibly malicious) vehicle could continue its operation until all its pseudonyms expire.
An object of embodiments herein is to address at least one of the drawbacks and issues disclosed above in order to enable secures and more timely self-revocation.
According to a first aspect there is presented a method for self-revocation. The method is performed by a TC node. The TC node is provided with an identifier and DAA credentials. The TC node is to receive a heartbeat message from an RA node. The heartbeat message comprises a freshness parameter and a revocation request with a list of identifiers for which revocation is pending. The method comprises revoking the DAA credentials when either: the heartbeat message is received from the RA node whilst a counter condition is satisfied, correctness of the freshness parameter is verified by the TC node, and the identifier is present in the list of identifiers; or failing to receive the heartbeat message from the RA node whilst the counter condition is satisfied.
According to a second aspect there is presented a TC node for self-revocation. The TC node is provided with an identifier and DAA credentials. The TC node is configured to receive a heartbeat message from an RA node. The heartbeat message comprises a freshness parameter and a revocation request with a list of identifiers for which revocation is pending, the TC node comprises processing circuitry. The processing circuitry is configured to cause the TC node to revoke the DAA credentials when either: the heartbeat message is received from the RA node whilst a counter condition is satisfied, when correctness of the freshness parameter is verified by the TC node, and the identifier is present in the list of identifiers; or failing to receive the heartbeat message from the RA node whilst the counter condition is satisfied.
According to a third aspect there is presented a TC node for self-revocation. The TC node is provided with an identifier and DAA credentials. The TC node is configured to receive a heartbeat message from an RA node. The heartbeat message comprises a freshness parameter and a revocation request with a list of identifiers for which revocation is pending. The TC node comprises a revoke module configured to revoke the DAA credentials when either: the heartbeat message is received from the RA node whilst a counter condition is satisfied, when correctness of the freshness parameter is verified by the TC node, and the identifier is present in the list of identifiers; or failing to receive the heartbeat message from the RA node whilst the counter condition is satisfied.
According to a fourth aspect there is presented a computer program for self-revocation, the computer program comprises computer code which is run on processing circuitry of a TC node. The TC node is provided with an identifier and DAA credentials. The TC node is to receive a heartbeat message from an RA node. The heartbeat message comprises a freshness parameter and a revocation request with a list of identifiers for which revocation is pending. The computer program is configured to causes the TC node to revoke the DAA credentials when either: the heartbeat message is received from the RA node whilst a counter condition is satisfied, when correctness of the freshness parameter is verified by the TC node, and the identifier is present in the list of identifiers; or failing to receive the heartbeat message from the RA node whilst the counter condition is satisfied.
According to a fifth aspect there is presented a method for sending a heartbeat message for self-revocation, the method is performed by an RA node. The method comprises sending a heartbeat message towards TC nodes. The heartbeat message comprises a freshness parameter and a revocation request with a list of identifiers of TC nodes for which revocation is pending. The revocation pertains to revocation of identifiers for which the revocation is pending.
According to a sixth aspect there is presented an RA node for sending a heartbeat message for self-revocation. The RA node comprises processing circuitry. The processing circuitry is configured to cause the RA node to send a heartbeat message towards TC nodes. The heartbeat message comprises a freshness parameter and a revocation request with a list of identifiers of TC nodes for which revocation is pending. The revocation pertains to revocation of identifiers for which the revocation is pending.
According to a seventh aspect there is presented an RA node for sending a heartbeat message for self-revocation. The RA node comprises a send module configured to send a heartbeat message towards TC nodes. The heartbeat message comprises a freshness parameter and a revocation request with a list of identifiers of TC nodes for which revocation is pending. The revocation pertains to revocation of identifiers for which the revocation is pending.
According to an eighth aspect there is presented a computer program for sending a heartbeat message for self-revocation. The computer program comprises computer code which, when run on processing circuitry of an RA node, causes the RA node to send a heartbeat message towards TC nodes. The heartbeat message comprises a freshness parameter and a revocation request with a list of identifiers of TC nodes for which revocation is pending. The revocation pertains to revocation of identifiers for which the revocation is pending.
According to a ninth aspect there is presented a computer program product comprising a computer program according to at least one of the fourth aspect and the eighth aspect and a computer readable storage medium on which the computer program is stored. The computer readable storage medium could be a non-transitory computer readable storage medium.
Advantageously, these aspects ensure that self-revocation will always be performed within a fixed time T, or a fixed number of operations N, as given by the counter condition. Attackers can neither delay nor bypass revocation, even considering a powerful attacker that has complete control over a vehicle (except for the TC node).
Advantageously, these aspects do not rely on other revocation techniques such as classic CRLs or short-lived pseudonyms. This brings several advantages in terms of usability, performance and network traffic.
Different advantageous variants are disclosed with respect to how to realize the counter condition, thus enabling adaptability to the scenario and system requirements at hand. For some variants the need for time synchronization is removed. This is advantageous, as it is a very hard requirement to satisfy on compromised vehicles. Furthermore, not all TC nodes can leverage a trusted time source.
Advantageously, parameters based on which the self-revocation is performed are selected by the TC node and the RA node and therefore cannot be controlled by any attacker. The parameters can be tuned according to the system requirements. For example, the higher the worst-case revocation time is selected, the more resilient the system would be to network disruptions, or limited connectivity, but the higher is also the damage an attacker could accomplish in case of compromise.
Advantageously, since classic CRLs lists are not needed, the network traffic would be lower. This reduces the risk of network congestion and also lowers the energy consumption. Further in this respect, unlike classic CRLs, the identifiers provided in the list of identifiers of TC nodes for which revocation is pending do not have to stay inside the list indefinitely but can be removed after the revocation is completed. Hence, although the size of the heartbeat messages might grow large for short periods of time, the size will generally remain rather small.
Other objectives, features and advantages of the enclosed embodiments will be apparent from the following detailed disclosure, from the attached dependent claims as well as from the drawings.
Generally, all terms used in the claims are to be interpreted according to their ordinary meaning in the technical field, unless explicitly defined otherwise herein. All references to “a/an/the element, apparatus, component, means, module, step, etc.” are to be interpreted openly as referring to at least one instance of the element, apparatus, component, means, module, step, etc., unless explicitly stated otherwise. The steps of any method disclosed herein do not have to be performed in the exact order disclosed, unless explicitly stated.
The inventive concept is now described, by way of example, with reference to the accompanying drawings, in which:
The inventive concept will now be described more fully hereinafter with reference to the accompanying drawings, in which certain embodiments of the inventive concept are shown. This inventive concept may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided by way of example so that this disclosure will be thorough and complete, and will fully convey the scope of the inventive concept to those skilled in the art. Like numbers refer to like elements throughout the description. Any step or feature illustrated by dashed lines should be regarded as optional.
The first phase for the vehicle 110:110d before being able to communicate with each other is to authenticate themselves to a remote server called an issuer node 120. When using DAA, this step is referred to as executing a JOIN protocol. During this step, the issuer node 120 attests the TC nodes 200a:200d, verifying their authenticity. At the end of this phase, the issuer node 120 generates new DAA credentials that can be used later by a TC nodes 200a:200d to create new pseudonyms and sign/verify messages. The DAA credentials are securely stored and used inside the TC nodes 200a:200d, so that attackers would not be able to directly access them, even in case of vehicle compromise. In general terms, the DAA credentials of a given TC node 200 are credentials that establish the identity of this given TC node 200a when communicating with other TC nodes 200b:200d. The DAA credentials are also used to verify incoming messages from other TC nodes 200b:200d. In some examples, the DAA credentials are machine-readable cryptographic keys and/or passwords. The DAA might be regarded as being part of a group signature scheme, where there are many private keys (one for each TC node 200a:200d) but one single public key that can be used to verify all messages. Hence, the DAA credentials might include both a private key used to sign messages and a group public key used to verify other messages. An X.509 public key certificate is an example of a cryptographic credential.
After authentication, a vehicle 110:110d becomes able to broadcast authenticated messages to other vehicles 110:110d in the same area using pseudonyms. Such pseudonyms can be created using the CREATE protocol. Different designs propose different approaches for the CREATE. For example, vehicles 110a:110d might be allowed to generate new pseudonyms independently, using a sort of derivation function taking as input the DAA credential obtained during the JOIN phase. In other examples, a centralized node is involved in the process of generating new pseudonyms for the vehicles 110a:110d.
Upon reception of a message, a TC node 200a:200d can use its DAA credentials to verify that the message is authentic, i.e., that has been produced by a valid (non-revoked) TC node 200a:200d. DAA uses a group signature scheme where a signature made by any of the participants in the group can be verified by everyone using the same public key.
For illustrative purposes it is assumed that at some point in time, a vehicle 110b might start sending false information to other vehicles, e.g., due to a compromise or a defect. An RA node 300 is responsible for revoking that particular vehicle or pseudonym, for example after a certain number of reports have been received. The revocation can either be “soft” (where the RA node 300 revokes a pseudonym) or “hard” (where the RA node 300 removes an entire vehicle from the network by revoking its DAA credentials and all its pseudonyms). A revocation request is therefore issued by the RA node 300 and received by the involved vehicle 110b, which forwards the information to the TC node 200b inside the vehicle 110b. Then, the TC node 200b proceeds with the deletion of the involved credentials. Only soft revocation is considered in the remainder of this disclosure. To also support hard revocation, it would be sufficient to add information to the revocation request. How the RA node 300 decides whether to perform hard or soft revocation is out of scope for the present disclosure.
The embodiments disclosed herein relate to techniques for self-revocation and sending a heartbeat message for self-revocation that address these issues. In order to obtain such techniques there is provided a TC node 200a, a method performed by the TC node 200a, a computer program product comprising code, for example in the form of a computer program, that when run on processing circuitry of the TC node 200a, causes the TC node 200a to perform the method. In order to obtain such techniques there is further provided an RA node 300, a method performed by the RA node 300, and a computer program product comprising code, for example in the form of a computer program, that when run on processing circuitry of the RA node 300, causes the RA node 300 to perform the method.
Reference is now made to
S106a, S106b: The TC node 200a revokes the DAA credentials when either Condition 1 or Condition 2 is fulfilled.
Condition 1 comprises three sub-conditions; (i) the heartbeat message is by the TC node 200a received from the RA node 300 whilst a counter condition is satisfied, (ii) correctness of the freshness parameter can be verified by the TC node 200a, and (iii) the identifier of the TC node 200a is present in the list of identifiers in the received heartbeat message.
Condition 2: The TC node 200a fails to receive the heartbeat message from the RA node 300 whilst the counter condition is satisfied.
Examples of different counter conditions will be disclosed below.
In some aspects, an explicit check is made whether any of condition 1 or condition 2 is fulfilled. Hence, in some embodiments, the TC node 200a is configured to perform (optional) steps S104a and S104b.
S104a: The TC node 200a checks if condition 1 is fulfilled. If so, step S106a is entered. Else step S104b is entered.
S104b: The TC node 200a checks if instead condition 2 is fulfilled. If so, step S106b is entered. Else no self-revocation is performed and the TC node 200a can wait for reception of a next heartbeat message, possibly first entering (optional) step S102 which will be disclosed below.
Hence, the TC node 200a performs self-revocation when either its identifier is included in the list received from the RA node 300, or if the heartbeat message is not received whilst the counter condition is still satisfied.
Embodiments relating to further details of self-revocation as performed by the TC node 200a will now be disclosed.
In general terms, the DAA credentials enable the TC node 200a to send authenticated messages towards other TC nodes 200b.
In some examples, the identifier is a pseudonym.
Parallel reference is next made to
It is further assumed that TC node 200a and TC node 200b each is provided with a trusted clock that is, up to a time difference TDiff, synchronized with a clock of the RA node 300. A positive value of TDiff means that the clock of the TC node in question is behind the clock of the RA node 300. This notation will be used later when discussing the value of T (defined as the worst-case revocation time).
The RA node 300 broadcasts the same heartbeat message to both vehicles 110a, 110b. Hence, in some embodiments, the heartbeat message is a periodically broadcast heartbeat message. The heartbeat message comprises a digitally signed revocation request (PRL; pending revocation list) with a list of identifiers for which revocation is pending and a digitally signed timestamp. Hence, in some embodiments, the freshness parameter is a timestamp. In this example, the list contains identifiers PS #1 and PS #4, which means that these two identifiers are about to be revoked.
In normal operation (as represented by vehicle 110a), the vehicle 110a forwards the heartbeat to its TC node (as represented by TC node 200a), which first verifies the signature of the heartbeat message, and then checks its freshness using the timestamp and its internal clock. In related embodiments, correctness of the freshness parameter is verified by the TC node 200a comparing the timestamp to an internal clock source in the TC node 200a and verifying that the timestamp is not older than a threshold time duration value. If the timestamp in the heartbeat message is older than a value TV (representing the validity period of a heartbeat message) since the current time, the heartbeat message is not accepted and therefore discarded. Hence, in some embodiments, the counter condition is specified by a fixed amount of time, and the counter condition is satisfied as long as the fixed amount of time since receiving a most recent heartbeat message from the RA node 300 has not elapsed.
After ensuring that the heartbeat message is fresh, TC node 200a inspects the list; if it contains one of the vehicle's pseudonyms (PS #1 in the present case), the TC node 200a proceeds with the deletion of all the data related to it. Finally, the TC node 200a updates its “auto-revocation” timeout, which is a security technique where the TC node automatically unsubscribes from the network if heartbeats are not received for a time TR (as described below).
In case of compromise (as represented by vehicle 110b), the malicious vehicle wants to avoid revocation of PS #4, and hence the vehicle 110b drops the heartbeat message before it reaches its TC node (as represented by TC node 200b). According to normal self-revocation operation, TC node 200b would thus never receive the heartbeat message and therefore PS #4 would not be revoked. However, absence of reception of any heartbeat message implies that the auto-revocation timeout will not be reset. Therefore, after some time TR since the last valid heartbeat message was processed by TC node 200b, auto-revocation logic is executed and TC node 200b removes itself from the DAA network by deleting all pseudonyms and credentials. In other words, TC node 200b fails to receive the heartbeat message from the RA node 300 whilst the counter condition is satisfied.
Therefore, even in case of compromise, the revocation would still occur within a fixed time T, which is a parameter that depends on TR, TV, and TDiff. An approximation of the value of T in the worst-case scenario will be disclosed below.
A revocation confirmation message may be sent from each TC node 200a, 200b to the RA node 300 to conform that the revocation has succeeded. However, such a revocation confirmation message is optional. In this respect, to ensure that the list of identifiers for which revocation is pending does not continuously grow longer and longer over time, an identifier can be removed from the list if any of the following conditions is met: (i) the TC node 200a sends a revocation confirmation, or (ii) a time period T has passed, after which the self-revocation process should have completed.
Reference is next made to the sequence diagram of
Reference is next made to the sequence diagram of
Parallel reference is next made to
Common for the examples in
S102: The TC node 200a sends a request message towards the RA node 300 for the list of identifiers for which revocation is pending. The request message comprises the freshness parameter. The heartbeat message is by the TC node 200a then expected to be received from the RA node 300 in response thereto, i.e., in response to the TC node 200a having sent the request message.
Essentially, the TC node 200a generates a fresh nonce that is attached (and, optionally, also digitally signed) to the request sent to the RA node 300. The same nonce, as signed by the RA node 300 is then included in the heartbeat message together with the signed list of identifiers for which revocation is pending. Hence, in some embodiments, the freshness parameter is a nonce. Additionally, since synchronized time information in real-time might not be available for all TC nodes in this scenario, the validity time of messages sent between the TC nodes 200a:200d might be controlled by unforgeable epoch markers distributed to the TC nodes 200a:200d in the heartbeat messages sent from the RA node 300.
After that, the TC node receives the response (i.e., the revocation request PRL and the nonce), checks that the attached nonce is the same used in the request, and then inspects the list in the same manner as disclosed above. Hence, in some embodiments, the correctness of the freshness parameter is verified by the TC node 200a comparing the nonce received in the heartbeat message to the nonce sent in the request message and verifying that the nonce received in the heartbeat message corresponds to the nonce sent in the request message. Moreover, the TC node 200a might store the unforgeable epoch marker for use in sending and receiving messages to/from other TC nodes 200b:200d. When the TC node 200a receives a message from another TC node 200b:200d, the TC node 200a can use the epoch marker to check that the message was generated recently. Conversely, when sending a message towards another TC node 200b:200d, the TC node 200a might attach the epoch marker to prove the same to the receiving TC node 200b:200d. It is here emphasized that, as disclosed above, the epoch markers are distributed to the TC nodes 200a:200d in heartbeat messages sent from the RA node 300. Hence, an epoch marker received from another entity (such as from another TC node 200a:200d) will not be stored (or attached to a message sent by the TC node 200a). However, an epoch marker received in a message received from another TC node might by the receiving TC node trigger auto-revocation in the same manner as epoch markers received from the RA node 300.
In case of compromise, either a request message may never reach the RA node (as for the request message sent by TC node 200b) or the response may be dropped by the vehicle before reaching the TC node. The two examples illustrated in
In the example of
When the auto-revocation timeout expires (after a time TR), the revocation process is triggered automatically as in the example illustrated in
The example illustrated in
Moreover, the revocation process might be triggered if a heartbeat message, or a message sent by another TC node, is received that contains an epoch marker that reveals that the TC node 200a have missed reception of too many heartbeat messages, as indicated by the last epoch marker received. That is, in some embodiments, the heartbeat messages comprise epoch markers, the counter condition is specified in terms of epochs, and the counter condition is satisfied as long as a difference between the epoch markers in two adjacently received heartbeat messages is less than a predetermined amount of epochs. In particular, this can be determined when more than a predetermined number of ET epochs have passed since the last received epoch marker, judging by the most recently received epoch marker. For such use the epoch markers should contain information, such as sequence numbers, that allow the TC node 200a to infer how many epoch changes the TC node 200a might have missed.
For the example in
Further in this respect, the parameter ET might be regarded as providing a tolerance value, measured in epochs. Thus, ET=0 implies no tolerance. For messages sent between the TC nodes 200a:200d, having ET=0 implies that a TC node only will process messages produced during the current epoch. Likewise, for the heartbeat messages sent by the RA node 300, having ET=0 implies that the TC nodes would only allow an incremental epoch change, i.e., that the TC nodes would not be allowed to miss any change of epoch. For example, the counter condition would be considered fulfilled if the most recently received epoch marker from the RA node 300 as sent in a heartbeat message was for epoch “k” and the next received epoch marker from the RA node 300 as sent in a heartbeat message was for epoch “k+1” (assuming that epoch “k+1” follows immediately after epoch “k”). But if instead the next received epoch marker from the RA node 300 as sent in a heartbeat message was for epoch “k+2” the counter condition would no longer be considered fulfilled. On the other hand, ET>0 allows for some tolerance. For example, ET=1 implies that a TC node would accept as valid any messages received from another TC node produced during the current epoch or the previous epoch. Hence, the TC node would trigger auto-revocation if, when receiving a heartbeat message, the difference between the epoch marker included in the heartbeat message and the current epoch marker stored in the TC node is greater than ET+1.
Considering the definitions above, the following worst-case scenario apply for the example in
An identifier could also be removed from the list of identifiers for which revocation is pending after the maximum validity time of the identifiers have expired. The latter thus requires that the identifiers as such have a limited time span and that the RA node is aware of the point in time when the identifiers were generated.
The examples in
Reference is next made to the sequence diagram of
Reference is next made to the sequence diagram of
Reference is now made to
S204: The RA node 300 sends a heartbeat message towards TC nodes 200a, 200b. The heartbeat message comprises a freshness parameter and a revocation request with a list of identifiers of TC nodes 200a, 200b for which revocation is pending. The revocation pertains to revocation of identifiers for which the revocation is pending.
Hence, the heartbeat message comprises both a freshness parameter and revocation request.
Embodiments relating to further details of sending a heartbeat message for self-revocation as performed by the RA node 300 will now be disclosed.
In general terms, the same aspects, embodiments, and examples as disclosed above with reference to the methods performed by the TC node 200a apply equally to the methods performed by the RA node 300.
In particular, as disclosed above, in some embodiments, the identifiers are pseudonyms.
In particular, as disclosed above, in some embodiments, the heartbeat message is sent before a timer expires.
In particular, as disclosed above, in some embodiments, the heartbeat message is a periodically broadcast heartbeat message.
In particular, as disclosed above, in some embodiments, the duration of the timer corresponds to periodicity of the periodically broadcast heartbeat message.
In particular, as disclosed above, in some embodiments the freshness parameter is a timestamp and in other embodiments the freshness parameter is a nonce.
In particular, as disclosed above, in some embodiments the heartbeat message is (expected to be) received in response to one of the TC nodes 200a:200d having sent a request message. Hence, in some embodiments, the RA node 300 is configured to perform (optional) step S202.
S202: The RA node 300 receives a request message from one of the TC nodes 200a, 200b for the list of identifiers for which revocation is pending. The request message comprises the freshness parameter. The heartbeat message is sent from the RA node 300 in response thereto. That is, the reception of the request message in step S202 triggers the RA node 300 to send the heartbeat message in step S204.
In particular, as disclosed above, in some embodiments the duration of the timer corresponds to a maximum allowed time duration between receiving the request message and sending the heartbeat message.
As disclosed above, the value of T is defined as the worst-case revocation time. Further aspects of how the value of T can be estimated for the different examples disclosed above will be given next in conjunction with reference to
Revoking an identifier (as indicated by REVOKE in
Recall that, after processing a heartbeat message each TC node 200a, 200b updates its auto-revocation timeout (as indicated by UPDATE in
For ease of description, but without loss of generality, transmission and processing times are not included in the calculations, as the transmission and processing times are unpredictable and highly variable. However, this is not a security concern, as the value of T would be overapproximated, which only means that an identifier would remain in the list of identifiers for which revocation is pending a bit longer than needed.
It is noted that it cannot be guaranteed that a TC node would revoke itself within the time T. For example, if the execution of a TC node was suspended at some point in time, the revocation procedure would not be executed until the TC node is re-scheduled again. However, this is not an issue as the TC node would revoke itself as soon as its execution resumes (due to the expiration of the auto-revocation timeout). The value of T only indicates the minimum amount of time an identifier must remain in the list of identifiers for which revocation is pending to ensure that revocation cannot be bypassed.
With reference now to
The worst-case situation corresponds to that a heartbeat message (denoted HB1 in
An attacker would delay the heartbeat message HB1 for as long as possible before reaching the TC node. In the worst case, the heartbeat message HB1 is delayed by a time TV (after which it would not be processed by the TC node, and self-revocation would occur eventually). It is here noted that since the timestamp included in HB1 is relative to the internal clock of the RA node 300, but the freshness check is performed by the TC node, the value of TDiff must be considered. If the internal clock of the TC node is behind the internal clock of the RA node, i.e., TDiff>0, the heartbeat message would remain valid for longer time, and the opposite would occur otherwise.
After processing the heartbeat message HB1, each TC node updates its auto-revocation timeout (as indicated by UPDATE in
To summarize, the worst-case revocation time for the example in
With reference now to
Again, the worst-case scenario is when a heartbeat message (as represented by HB1 in
The heartbeat message HB1 can be delayed up until the self-revocation timeout of the TC node expires. This depends on when the previous heartbeat message was processed (as illustrated by the first UPDATE in
As a consequence, the heartbeat message HB1 would be processed at most after the time TR has elapsed since the first REVOKE. The second UPDATE would occur, and the self-revocation timeout would be updated to the current time plus the value TR. After that time, the identifier could be safely removed from the list of identifiers for which revocation is pending.
To summarize, the worst-case revocation time for the example in
With reference now to
The different types of worst cases are summarized in Table 1.
With further reference to Table 1, the worst-case self-revocation time T describes the (maximum length) of the period of self-revocation, during which the identifier of a TC node has to stay on the list (i.e., the PRL) of identifiers for which revocation is pending for self-revocation of that identifier to be triggered upon the TC node receiving a heartbeat message from the RA node 300. After that period an indefinite auto-revocation period begins during which certain operations performed by TC node may result in auto-revocation. The minimal requirements for this to occur are in Table 1 listed as worst case auto-revocation causes. As described above, a given TC node may still send messages signed with an identifier to other TC nodes after an identifier of the given TC node has been entered into the PRL. The worst-case freshness parameter (WVF) for messages sent between the vehicles describes the latest possible freshness parameter that could be used by the given TC node after the time of revocation, without risking self- or auto-revocation. A message sent by one TC node may be accepted as valid by correctly synchronized TC nodes for the maximum message validity time (mVT). However, some TC nodes might not be perfectly synchronized. The worst-case message validity time after revocation (WVT) gives a limit for how much time after revocation (i.e., when an identifier is entered into the PRL), any message generated based the thus revoked credentials may still be accepted by another TC node that is still synchronized with the RA node and the rest of the TC nodes and within some tolerances. After this time the identifier can be regarded as effectively revoked as the identifier will not be accepted by the other TC nodes. With reference to the Worst case Auto-Revocation cause for the example in
In
In
Reference is next made to the flowchart of
After computing the timeout, the TC node checks whether self-revocation is needed or not (step Sx02). Depending on the variant used, this check involves checking if the internal timer has reached the timeout or if the internal counter has reached a threshold value M. If so, the self-revocation process is triggered (step Sx03), and all the credentials are deleted (step Sx04). This would put the TC node in a clean state where the vehicle would need to re-join the communication network to obtain new credentials (if allowed by the issuer node).
Next, the validity of the received heartbeat message is checked (step Sx05). First, the TC node verifies the authenticity of the heartbeat message, as provided by the digital signature. Second, the TC node verifies the freshness of the heartbeat message, i.e., ensuring that the heartbeat message is not too old (e.g., because of replay or delay attacks). Depending on the variant, the freshness is either checked by checking the timestamp in the heartbeat message against the internal time source, or by checking the nonce in the message to the one attached to the request as sent by the TC node. The TC node checks (step Sx06) if any of its identifiers are included in the list of identifiers for which revocation is pending as received in the heartbeat message, and if so executes the auto-revocation for each of them (step Sx07).
Depending on the variant used, either the revocation timeout is updated using the value computed in step Sx01 or the counter is reset (step Sx08) and the execution ends.
Reference is next made to the flowchart of
Particularly, the processing circuitry 210 is configured to cause the TC node 200a to perform a set of operations, or steps, as disclosed above. For example, the storage medium 230 may store the set of operations, and the processing circuitry 210 may be configured to retrieve the set of operations from the storage medium 230 to cause the TC node 200a to perform the set of operations. The set of operations may be provided as a set of executable instructions. Thus the processing circuitry 210 is thereby arranged to execute methods as herein disclosed.
The storage medium 230 may also comprise persistent storage, which, for example, can be any single one or combination of magnetic memory, optical memory, solid state memory or even remotely mounted memory.
The TC node 200a may further comprise a communications interface 220 for communications with other entities, functions, nodes, and devices, such as another TC node 200b, and the RA node 300. As such the communications interface 220 may comprise one or more transmitters and receivers, comprising analogue and digital components.
The processing circuitry 210 controls the general operation of the TC node 200a e.g. by sending data and control signals to the communications interface 220 and the storage medium 230, by receiving data and reports from the communications interface 220, and by retrieving data and instructions from the storage medium 230. Other components, as well as the related functionality, of the TC node 200a are omitted in order not to obscure the concepts presented herein.
Particularly, the processing circuitry 310 is configured to cause the RA node 300 to perform a set of operations, or steps, as disclosed above. For example, the storage medium 330 may store the set of operations, and the processing circuitry 310 may be configured to retrieve the set of operations from the storage medium 330 to cause the RA node 300 to perform the set of operations. The set of operations may be provided as a set of executable instructions. Thus the processing circuitry 310 is thereby arranged to execute methods as herein disclosed.
The storage medium 330 may also comprise persistent storage, which, for example, can be any single one or combination of magnetic memory, optical memory, solid state memory or even remotely mounted memory.
The RA node 300 may further comprise a communications interface 320 for communications with other entities, functions, nodes, and devices, such as the TC nodes 200a, 200b. As such the communications interface 320 may comprise one or more transmitters and receivers, comprising analogue and digital components.
The processing circuitry 310 controls the general operation of the RA node 300 e.g. by sending data and control signals to the communications interface 320 and the storage medium 330, by receiving data and reports from the communications interface 320, and by retrieving data and instructions from the storage medium 330. Other components, as well as the related functionality, of the RA node 300 are omitted in order not to obscure the concepts presented herein.
In the example of
The inventive concept has mainly been described above with reference to a few embodiments. However, as is readily appreciated by a person skilled in the art, other embodiments than the ones disclosed above are equally possible within the scope of the inventive concept, as defined by the appended patent claims.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/SE2022/050624 | 6/22/2022 | WO |