The present disclosure relates to a data processing system, to a method of initializing a data processing system, and to a computer program product.
Nowadays, security plays an important role in many technological applications. For example, in a so-called intelligent transportation system (ITS) a large amount of sensitive data may have to be exchanged. Some applications require dedicated hardware solutions for cryptographic operations, because the security of a generic processor with software implementing the cryptographic operations may be breached to easily. Therefore, so-called secure elements have been introduced. A “secure element” may be defined as a piece of hardware which enables secure storage of secrets (e.g. keys) as well as cryptographic operations (e.g. AES encryption) on externally supplied data using the securely stored secrets.
A secure element 100 typically includes a number of expensive counter-measures for tamper detection and tamper avoidance against a wide range of attacks. Secure elements may offer a very high level of protection against such attacks. For example, NXP Semiconductors has produced a secure element called “SmartMX2” which is Common Criteria EAL 6+ certified. An EAL6+ security evaluation against a certain (e.g. smart card) Protection Profile in accordance with the Common Criteria certification process requires a proof of the security policy. Secure elements are typically used in financial or governmental applications. For example, banking cards and electronic passports are normally implemented on secure elements.
As mentioned, the security level of secure elements is very high. However, their performance level is typically not so high. For example, the performance level may be as low as a few AES or RSA operations per second. In some application areas, for example banking and e-government, this lack of performance does not present a serious problem. Banking and governmental applications typically do not require a very high performance. However, other applications may require a higher performance level. If these performance requirements are hard, i.e. if no trade-off with the security level is possible, then there is no other solution than to create a secure element with higher performance or to use multiple secure elements in parallel. The complexity—and as a consequence the cost—of such high-performance, highly-secure solutions is rather high for several reasons. First, the silicon area for a security-hardened implementation of a crypto coprocessor can, for example, easily be four times higher than for a non-hardened solution. Furthermore, a redesign may require a lengthy and costly certification process, i.e. a security evaluation process. As a result, there is typically a design-time trade-off between performance and security.
There are also certain applications which only occasionally require a higher performance level, i.e. a higher throughput and/or a lower latency, and that could make dynamic, run-time trade-offs between the security level and the performance. For example, the latency requirements for a certain cryptographic operation may be low in most, non-critical cases, but they may have to be increased during some safety-critical situations. Simply creating a high-performance, highly-secure piece of hardware for such applications would be too complex and too costly. As an alternative, one could create a solution where performance vs. security trade-offs are made at design time. For example, a designer could decide to always perform a certain cryptographic function outside of the secure element, in order to increase the performance of this operation. However, that would mean that, among others, sensitive (secret) material—such as keys—which is needed for these operations, would reside outside the secure element. In such a solution, the security level is continuously lowered.
In view thereof, there is a need to find lower-complexity solutions that allow for making more flexible trade-offs between security and performance. More specifically, there is a need to find lower-complexity solutions that allow for deciding at run-time whether a cryptographic function should be performed inside a secure element, when the performance requirements are lower, or temporarily outside the secure element, when the performance requirements are higher. Also, such a temporary relaxation of the security level should be performed in such a way that it does not negatively impact the security level of the system after said relaxation has ended.
Accordingly, it is an object of the present disclosure to provide a low-complexity solution that allows for making more flexible trade-offs between security and performance This object is achieved by a data processing system as claimed in claim 1, by a method of initializing a data processing system as claimed in claim 10, and by a computer program product as claimed in claim 11.
First, a data processing system is conceived, which comprises at least two security levels and key material stored at a specific one of said security levels, wherein the key material is tagged with a minimum security level at which the key material may be stored.
According to an illustrative embodiment, the key material is tagged by means of an attribute attached to or comprised in said key material, and said attribute has a value that is indicative of the minimum security level at which the key material may be stored. According to a further illustrative embodiment, one of the security levels, in particular the highest security level, is implemented as a tamper-resistant secure element.
According to a further illustrative embodiment, one of the security levels, in particular a medium security level, is implemented as a high-performance crypto accelerator.
According to a further illustrative embodiment, the data processing system is arranged to move, at least temporarily, the key material to a security level that is lower than the security level at which the key material is stored, wherein the security level to which the key material is temporarily moved is equal to or higher than the minimum security level.
According to a further illustrative embodiment, the key material is further tagged with an internal security level, and said internal security level is indicative of the lowest security level at which the key material has resided.
According to a further illustrative embodiment, the key material is further tagged with a list that is indicative of a history of security levels at which the key material has resided.
According to a further illustrative embodiment, the data processing system is arranged to create temporary key material that may be exchanged and verified using key material as defined in any preceding claim.
According to a further illustrative embodiment, the data processing system is comprised in an intelligent transportation system.
Furthermore, a method of initializing a data processing system having at least two security levels is conceived, wherein key material is tagged with a minimum security level at which the key material may be stored, and wherein said key material is stored at a specific one of said security levels.
Furthermore, a computer program product is conceived that comprises instructions which, when being executed by a processing unit, carry out or control respective steps of a method of the kind set forth.
The embodiments will be described in more detail with reference to the appended drawings, in which:
In accordance with the present disclosure, a dynamic trade-off is enabled between security and performance in data processing systems in which sensitive data are processed, thereby reducing the complexity and cost of these systems. Said trade-off is enabled by tagging key material usable for cryptographic operations on said sensitive data with a required minimum security level. Optionally, the data processing system may create temporary key material that can be exchanged and verified using the long-term secure key material.
The use of multiple security levels enables making dynamic, run-time trade-offs between security and performance. In this example, the lowest security level 200 (SL 0) is of lower complexity than the other security levels. The lowest security level 200 is therefore cheaper, even at high performance. The highest security level 208 (SL N) is of higher complexity than the other security levels. Therefore, the highest security level 208 is more expensive, in particular if it still needs to have a reasonable level of performance.
The data processing system may be associated with one or more associated systems. In the present disclosure, the term “associated system” is defined as an external system that exchanges data, which has been protected using the same or corresponding key material, with the data processing system. For example, if the data processing system is a secure data processing system in a first vehicle, an associated system may for example be a similar secure data processing system in second vehicle, that communicates with the secure data processing system in the first vehicle via an ITS connection. Furthermore, the term “protected” as used herein means, for example, that the integrity of the data has been protected—using message authentication codes (MACs) or signatures—or that the confidentiality of the data has been protected—using encryption algorithms. The skilled person will appreciate that other techniques for protecting data may also be conceived.
As mentioned above, the key material 300 is tagged with a required minimum security level. In accordance with the present disclosure, a tag may consist of an attribute (minimum-SL attribute) which may be attached to the key material by the originator (generator) of the key material. For example, if the minimum-SL attribute for the key material 300 in
In the case of asymmetric or public-key cryptography, the key material 300 may for example consist of a secret (private) key plus a certificate containing the associated non-secret (public) key and a system identifier. The certificate may additionally contain the minimum-SL attribute, which prescribes the minimum service level at which the key may be used. When the key material 300 is used, associated systems can verify the certificate (and thus the minimum-SL attribute) using a so-called public-key infrastructure (PKI), provided that they have access to (at least) the root certificate of that chain. Thereby, associated systems know the security level (or trust level) of the key material 300.
In the case of symmetric cryptography, the key material 300 may for example consist of tuples containing a secret key and the corresponding minimum-SL attribute. In this case, it is assumed that associated systems already know the minimum-SL attribute for the key material 300, because they also need to have obtained a copy of the same key material.
In operation, a first dynamic trade-off may be realized by moving the key material 300 to a service level that is lower than the highest service level 208, but that is still equal to or higher than the service level corresponding to the value of the minimum-SL attribute of the key material 300. Thus, the system may decide at run-time to move, at least temporarily, some of the key material 300 to lower security levels, for example because that part of the system has a higher performance level. This move has no implication for the associated systems, because the requirement of the minimum service level for the key material 300 is still satisfied. It only has the implication that the additional protection level as offered by the higher security levels in the system is temporarily removed.
As an extension, the system may also maintain an additional attribute for the key material: the internal security level (ISL). Initially, the value of the ISL attribute is equal to the value of the minimum-SL attribute. If the key material 300 is moved to a security level which is lower than its current security level, then the value of the ISL attribute will be lowered to a value corresponding to said lower security level. If the key material 300 is moved back to a higher security level, then the value of the ISL attribute will not be changed. Thus, the value of the ISL attribute reflects the lowest security level at which the key material 300 has resided. Thereby, the system keeps track of which keys have the lowest chance of being compromised (by hackers) and which keys have a slightly higher chance of having been compromised. This knowledge may for example be used to shorten the lifetime of a key that has been used at a lower security level. This administration may also be extended further, for example by storing a list of security levels that are equal to or higher than the value of the minimum-SL attribute of the key material and—for each of these security levels—the period that the key material 300 has resided at the respective security level.
Furthermore, a second dynamic trade-off may be realized by creating temporary key material that can be used in service levels that are lower than the service level corresponding to the value of the minimum-SL attribute of the (original) key material 300.
In the case of asymmetric or public-key cryptography, the temporary key material may for example consist of a temporary secret (private) key and a certificate containing the associated temporary non-secret (public) key and a system identifier. Again, the certificate may additionally contain the minimum-SL attribute, which prescribes the minimum service level at which the temporary key may be used. The certificate itself may in this case be signed using a secret (private) key of the original key material 300, and associated systems can verify the integrity and authenticity of the certificate (and thereby of the temporary key material) using a certificate of the original key material 300. In fact, the system has then extended the certificate chain by one node; it has become both a certificate authority (CA) which uses the original key material 300 and an end node which uses the temporary key material. This is shown in
In the case of symmetric cryptography, the temporary key material may for example consist of tuples containing a secret key and the corresponding minimum-SL attribute. This temporary key material may for example be provided securely to associated systems by encrypting it—using the original key material 300—before exchanging it with the associated systems.
An example of a data processing system 502 of the kind set forth is a security subsystem for intelligent transportation systems, or more specifically 802.11p-based car-to-car communication systems for, among others, safety use cases. In particular, a hybrid security subsystem may be conceived which comprises both a secure element 510, that has a high security level, and a crypto accelerator 508, that has a lower security level but a relatively high performance level. The secure element 510 may, for example, be embodied as a SmartMX2-chip produced by NXP Semiconductors. The SmartMX2-chip 510, which is Common Criteria EAL6+ certified, may store key material which has high security level requirements and may use this key material to sign outgoing messages. In addition to the SmartMX2-chip 510, the system 502 comprises a high-performance crypto accelerator 508 with modest security level, which may be used to verify incoming safety messages at high rates.
Optionally, the same crypto accelerator 508 may be used for signature generation—using the secret key material stored in the SmartMX2-chip 510—in safety-critical cases, in order to decrease the system latency in said cases. Then, the secret key material may temporarily move from the SmartMX2-chip 510 to the crypto accelerator 508. This can either be done by generating an intermediate key, or by using one of the set of pseudo-identity keys which is then flagged as being potentially tainted, and thus as not to be used in future critical operations.
The skilled person will appreciate that the data processing system 502 may also be used to advantage in other applications and use cases. In other words, the application and use of the data processing system 502 are not limited to intelligent transportation systems.
Finally, it is noted that the drawings are schematic. In different drawings, similar or identical elements are provided with the same reference signs. Furthermore, it is noted that in an effort to provide a concise description of the illustrative embodiments, implementation details which fall into the customary practice of the skilled person may not have been described. It should be appreciated that in the development of any such implementation, as in any engineering or design project, numerous implementation-specific decisions must be made to achieve the developers' specific goals, such as compliance with system-related and business-related constraints, which may vary from one implementation to another. Moreover, it should be appreciated that such a development effort might be complex and time consuming, but would nevertheless be a routine undertaking of design, fabrication, and manufacture for those of ordinary skill.
The above-mentioned embodiments are merely illustrative and the skilled person will be able to design many alternative embodiments without departing from the scope of the appended claims. In the claims, any reference sign placed between parentheses shall not be construed as limiting the claim. The word “comprise(s)” or “comprising” does not exclude the presence of elements or steps other than those listed in a claim. The word “a” or “an” preceding an element does not exclude the presence of a plurality of such elements. The features in a claim may be implemented by means of hardware comprising several distinct elements and/or by means of a suitably programmed processor. In a device claim enumerating several means, several of these means may be embodied by one and the same item of hardware. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage.
Number | Date | Country | Kind |
---|---|---|---|
13173426.1 | Jun 2013 | EP | regional |