HSM Paper
HSM Paper
IT systems were never designed with security in mind. But with the increasing
application of digital software and various radio interfaces to the outside world
(including the Internet), modern vehicles are becoming even more vulnerable to
all kinds of malicious encroachments like hackers or malware [2]. This is especially
noteworthy, since in contrast to most other IT systems, a successful malicious
encroachment on a vehicle will not only endanger critical services or business
models, but can also endanger human lives [26]. Thus strong security measures
should be mandatory when developing vehicular IT systems. Today most vehicle
manufacturer (hopefully) incorporate security as a design requirement. However,
realizing dependable IT security solutions in a vehicular environment consider-
ably differs from realizing IT security for typical desktop or server environments.
In a typical vehicular attack scenario an attacker, for instance, has extended at-
tack possibilities (i.e., insider attacks, offline attacks, physical attacks) and could
have many different attack incentives and attack points (e.g., tachometer manip-
ulations by the vehicle owner vs. theft of the vehicle components vs. industrial
espionage). Thus, just porting “standard” security solutions to the, moreover,
very heterogeneous IT environment usually will not work. However, there al-
ready exist some first automotive-capable (software) security solutions [29,32].
But, especially with regard to potential internal and physical attackers, these
software solutions have to be protected against manipulations as well. In order
to reliably enforce the security of software security mechanisms, the application
of hardware security modules (HSM) is one effective countermeasure as HSMs:
private HSMs and hence cannot be reused by other vehicular security solutions.
On the other hand, general-purpose HSMs that are currently available, for in-
stance, the IBM 4758 cryptographic co-processor [4], the TCG Mobile/Trusted
Platform Module [35], or typical cryptographic smartcards are not applicable
for use within an automotive security context. They, for instance, lack of cost
efficiency, performance, physical robustness, or security functionality. Solely, the
secure hardware extension (SHE) as proposed by the HIS consortium [21] takes
an exceptional position as it was explicitly designed for application in a auto-
motive security context. However, the SHE module is mainly built for securing
cryptographic key material against software attacks, but cannot be used, for in-
stance, to protect V2X communications. An overview comparison of the HSM
proposed in this work with the general-purpose HSMs is given later in Table 5.
3 Design
This section describes the hardware architecture and security functionality of
our HSM. The corresponding full detailed HSM specification can be found in [9].
different security use cases with different cost, functional and security require-
ments. However, these variants are no isolated developments, in fact, the light
and medium module are proper subsets of the full module. The full module
focuses on securing V2X communications and securely connecting the external
vehicle interface(s) with the in-vehicle IT infrastructure. Due to its central im-
portance and due to the strong V2X requirements, the full HSM provides the
maximum level of functionality, security, and performance applying amongst
others a very powerful hardware-accelerated asymmetric cryptographic building
block, as shown in Figure 1. The medium module focuses on securing the in-
vehicle communication. Hence the medium module has no dedicated hardware-
accelerated asymmetric cryptographic building block, no dedicated hardware-
accelerated hashing function, and a somewhat less performing internal processor.
Even though, the medium HSM has no asymmetric cryptography in hardware,
it is nonetheless able to perform some non-time-critical asymmetric cryptogra-
phy operations (e.g., key exchange protocols) using the internal processor and
firmware. As for efficiency and cost reasons virtually all internal communication
protection is based on symmetric cryptographic algorithms, omitting the asym-
metric cryptography and hashing hardware blocks is reasonable to save costs,
size and power consumption. The light module focuses on securing the interac-
tion of ECUs with sensors and actuators and is able to fulfill the strict cost and
efficiency requirements typical there. In comparison with the medium module,
the light module is again minimized and contains only a hardware-accelerated
symmetric cryptography engine, a hardware random number generator, a UTC
clock together with some very small optional volatile and non-volatile memories.
using different hashing functions, different padding schemes and optional time-
stamping. The full and medium prototype modules provide an ECC-256 (i.e.,
NIST P-256 [16] based) signature function that is hardware-accelerated at the
full module. Full and medium prototype modules also provide the elliptic curve
integrated asymmetric encryption scheme (ECIES) [1].
Symmetric crypto engine enables symmetric encryption and decryption with
the cipher specified on invocation including different modes of operation (e.g.,
ECB, CBC, GCM) and different padding schemes (e.g., bit padding, PKCSx) – if
available. As shown in Figure 1, all prototype modules provide at least the AES-
128 block cipher [17].The symmetric crypto engine further enables generation
and verification of message authentication codes (MACs) that optionally can
get time-stamped using the internal tick or UTC clock (if synchronized). Thus,
all prototype modules provide at least AES-128 CMAC [33] functionality.
Cryptographic hash function enables generation and verification of plain
hash fingerprints and additionally HMACs (hash-based message authentication
code) calculated with a secret key with the hashing algorithm specified on in-
vocation. This SBB also provides optional time-stamping of the hashes/HMACs
generated using the internal UTC clock (if synchronized). The full and medium
prototype modules provide an ISO 10118 Whirlpool [23] hashing function that
is hardware-accelerated at the full module.
Pseudo random number generator (PRNG) creates pseudo random num-
bers with a PRNG algorithm specified on invocation that can be seeded in-
ternally from a physical true random number generator (TRNG) or from an
external TRNG during production in a controlled environment of the chip man-
ufacturer. The latter case additionally requires a proper seed update protocol.
All prototype modules provide at least an officially evaluated PRNG according
to E.4 [31] (e.g., AES- or hash-based).
Internal clock serves as hardware-protected time reference that can be syn-
chronized with UTC time. For further details see Section 3.4.
Monotonic counters servs as a simple secure clock alternative while providing
at least 16 monotonically increasing 64-bit counters together with corresponding
access control similar to TCG’s monotonic counters [35].
A distinctive feature of the HSM is the possibility for very fine-grained appli-
cation specific authorizations for the processing and the migration of internal
security assets. Concretely, a key can have several individual authorizations that
allow or forbid processing it in different SBBs specified by so-called use flags.
As shown in the example in Table 1, a symmetric key, for instance, can have
a use flag for using it for MAC verifications but has a different use flag (or
even no use flag) for using it for the creation of MACs. Our HSM prototype
supports key use flags each with individual authorizations for processing and
migration at least for signing, signature/MAC verification, data encryption and
decryption, time stamping, secure boot, secure storage, clock synchronization,
key creations and key transports. Moreover, these use flags can have individ-
ual migration authorizations that specify their transport restrictions to locations
308 M. Wolf and T. Gendrullis
outside the respective HSM (cf. Section 3.4). Thus, a use flag can be restricted
to be moved (i) to no other location (internal ), (ii) only between HSMs identical
in construction (migratable), (iii) only between HSMs and trusted OEM locations
(oem), or freely to any other location (external ). For example, the use flag ver-
ify for signature verification of a certain key can be allowed to become migrated
to another HSM (migratable), while the use flag sign for signature creation of
the same key cannot be moved to a location outside its local HSM (internal ).
Lastly, each use flags can have also its individual authorizations required for
each invocation that can be simple passwords, can be based on the individual
ECU platform configuration as measured at ECU bootstrap (cf. Section 3.4), or
could be even a combination of both (i.e., configuration and password).
This section gives a short description of some central HSM keys and the underly-
ing key hierarchy used by our HSMs. The manufacturer verification key (MVK)
is a key from the module manufacturer to verify the authenticity of other HSMs
or to authenticate HSM firmware updates. The device identity key (IDK) enables
global HSM identification and authentication. The IDK is unique per module,
fixed for HSM lifetime, and signed by MVK. The OEM verification key (OVK)
is a key from an OEM to have an additional OEM managed trust domain similar
to the manufacturer trust domain controlled via MVK. The OVK is unique per
OEM and is also fixed for HSM lifetime. The clock synchronization key(s) (CSK)
are a verification keys from a trusted time reference (e.g., a certain GPS module
trusted by the HSM manufacturer) accepted for synchronizing the internal tick
counter to absolute UTC time. The CSK is signed by MVK. The storage root
key (SRK) is the (symmetric) master parent key for securely swapping inter-
nally created keys to external storages similar to the SRK as introduced by the
TCG [35]. The stakeholder key(s) (SxK) finally are all externally created sym-
metric (SSK) or asymmetric (SAK) keys for stakeholder individual usage such
as authentication, secure feature activation, or content protection. To increase
(external) trust into SxK and OVK, they can be signed by MVK as well.
Key management provides functionalities for internal key creation (using the
internal RNG), key import and export. The HSM further provides hardware-
protected functionality for Diffie-Hellman key agreements [3] and for symmetric
key derivations, for instance, according to ISO 18033 [25]. The creator of a
Design, Implementation, and Evaluation of a Vehicular HSM 309
key has the possibility to set individual usage authorizations (use flags) and
transport authorizations (trnsp flags) for each key usage as introduced in Sec-
tion 3.3 and Table 1. Note that some key flags cannot always be set freely but
are inherently set by the HSM (e.g., the internal transport flag). For moving
keys between different HSMs, between HSMs and external (trusted) locations (if
permitted), the HSM provides key import and export functionality that ensures
confidentiality of private key internals via (symmetric or asymmetric) transport
encryption as well as authenticity of all key data structures via (symmetric or
asymmetric) so-called transport authenticity codes (i.e., a digital signature or a
MAC). Strictly speaking, not the whole key itself is moved, but only individual
key use flags if they have proper transport authorizations (trnsp flags). The
trnsp flags inherently define also the keys that can be used for transport en-
cryption and authenticity enforcement. Hence, use flags of keys marked internal
are only permitted to become swapped out to offline storage and imported again
to the same HSM via the SRK. Use flags of keys marked migratable are addition-
ally permitted to become moved between HSMs identical in construction. This is
enforced by accepting only target IDKs for transport encryption that are signed
by a trusted MVK (e.g., MVKs from the same manufacturer used for HSMs of
at least equal physical security). A similar approach is foreseen for use flags of
keys marked oem that accept for transport encryption only keys that are signed
by a trusted OVK. This was introduced to support an OEM managed trusted
domain that can be differentiated (but not enforced!) by the HSM in contrast
to use flags of keys marked external that are fully out of the control of the HSM
for enforcing any trust assumptions.
Secure boot and authenticated boot is realized using HSM-internal so-
called ECU configuration registers (ECR) that are similar to TCG’s platform
configuration registers (PCR) [35]. In contrast to the TCG approach, our HSM
is also acting as the – by all involved parties a priori trusted3 – core root of trust
(CRT) that initializes the chain of trust for ECU integrity and authenticity ver-
ification. Assuming a multi-stage bootstrap with the CRT executed first, the
trust chain is built by a hierarchical step by step measuring of the program code
of all upper layers i such as the boot ROM, the boot routine, the boot loader,
and all consecutive layers that are part of the Trusted Computing Base(TCB)4 .
For the HSM, the corresponding measurement routine m() that creates a small
unique fingerprint fi for each program code measured, is the Whirlpool one-
way hash function for full and medium modules and the AES-MAC for light
modules5 . The fingerprint fi in turn is saved to an individual ECRn protected
against manipulations inside the HSM before the next stage becomes executed.
In order to prevent the overwriting of a previously saved ECR by layers executed
later, ECRs in fact can only become extended via ECRn [t] = m(ECRn [t-1], fi )
that connects the new fingerprint fi cryptographically with the old ECRn [t-1]
value and hence prevents overwriting. To detect and counteract possible vali-
3
It is per definition impossible to self-verify the integrity of the core root of trust.
4
The TCB means all code of the ECU that can be critical for ECU security.
5
The bootstrap security functionality is optional for light HSMs.
310 M. Wolf and T. Gendrullis
dation failures, there exist at least two different approaches, usually known as
secure boot and authenticated boot. In case the HSM can be deployed as active
module (e.g., as ECU master) and hence having autonomous control to the cor-
responding ECU or an alarm function, the HSM can realize the active secure
boot approach. Then the procedure executed at each step of the bootstrap uses
the HSM to compare the actual value of an ECRn [t] with the corresponding
reference value ECRn,ref that can securely preset for each ECR (cf. [9] for fur-
ther details). In case of a mismatch between ECRn [t] and ECRn,ref , secure boot
automatically yields to an immediate response (e.g., ECU halt or alarm). Au-
thenticated boot, in contrast, remains rather passive while only measuring the
bootstrap without any direct interventions. It can be used if the HSM can be de-
ployed as passive add-on module only having no autonomous control to the ECU
or no alarm function. By using the authenticated boot approach, some essential
key use flags) (e.g., decryption) can become inaccessible afterwards in case
the actual bootstrap measurements do not match the ECR reference individu-
ally linked for this particular use flag) by the key owner. Our HSM therefore
can enforce individual ECR references ECRn,ref as additional use flag invoca-
tion authorization (cf. Section 3.3) that makes the corresponding key use flag
inaccessible (and only this) in case of an ECR mismatch.
Secure clock is realized by a so-called tick counter tc that is monotonically
increasing during HSM runtime using a fixed tick() interval of at least 1 Hz.
As shown in Table 2, the initial value of tc on HSM’s first initialization in life is
tc = 0 or tc = UTC(t0 ) that represents a UNIX/POSIX encoded default time
value, for instance, the HSM release date. After any reset, the HSM continues
increasing tc unsynchronized (i.e., tc < UTC(t)), but starting with the last inter-
nally saved6 value of tc . This provides a simple relative secure clock that – even
if seldom or never synchronized – never “runs slow”. However, optionally tc can
be synchronized to absolute UTC time received from an external UTC source
(e.g., in-vehicle GPS sensor) trusted by the HSM manufacturer (e.g., in-vehicle
GPS sensor). Therefore, the HSM can be invoked with the actual UTC time and
the HSM synchronization challenge (as requested from the HSM before) both
signed with a trusted CSK (cf. Section 3.4).
Table 2. HSM clock with relative tick time optionally synchronized to absolute UTC
6
The internal saving interval for tc depends on the rewrite capabilities of the HSM
internal non-volatile memory and can vary from seconds up to hours or even days,
but is always inherently invoked after a successful UTC synchronization.
Design, Implementation, and Evaluation of a Vehicular HSM 311
4 Implementation
The HSM architecture has been prototypically implemented [11] on a Xilinx
Virtex-5 FPGA (XC5VFX70T-1FF1136C ). This FPGA has a total amount of
11,200 slices (i.e., 44,800 both flip-flops (FF) and 6-input look-up tables (LUT)),
128 dedicated digital signal processing (DSP) blocks, and 148 Block-RAMs
(BRAMs) with 36 Kb of memory each. Additionally, the FPGA comprises an em-
bedded hard-coded microprocessor block, that is, a PowerPC 440 (PPC440) with
a maximum frequency of 550MHz. The FPGA comes on the Virtex-5 FXT FPGA
ML507 Evaluation Platform with all necessary peripherals such as various inter-
faces, both volatile memory and non-volatile memory (NVM), and power sup-
ply. The application processor was implemented on an Infineon TriCore TC1797
with all necessary peripherals and resources (i.e., application NVM, applica-
tion RAM, communication interfaces) available on a corresponding development
board. Both development boards are mechanically and electrically attached to
each other via a custom-made connection board that provides access from the
application core to the HSM. For this purpose the connection board wires the
TC1797’s external SPI bus with general purpose in-/output pins (GPIOs) of the
FPGA. Figure 2 gives an overview of the layered approach of the HSM imple-
mentation. In the prototypical design, the HSM’s secure processor is mapped
to the embedded PPC440 of the FPGA that runs at 400 MHz with a standard
Linux 2.6.34 kernel as operating system. This is the basis to host software im-
plementations of the HSM firmware, the cryptographic library, and the Linux
kernel drivers to access the hardware cores. The hardware cores implemented in
the configurable logic of the FPGA are connected to the PPC440 via the 32 bit
wide Xilinx specific processor local bus (PLB). Thus, the interface between soft-
ware and hardware implementation has a theoretical throughput of 3 Gbit/s at
the given PLB bus speed of 100 MHz.
First, all SBBs of Section 3.3 (also cf. Figure 1) and all HSM security func-
tionalities of Section 3.4 were implemented in software (i.e., HSM library) as
a reference for verification and performance analysis. The underlying crypto-
graphic primitives of the SBBs were made available in a cryptographic software
312 M. Wolf and T. Gendrullis
AES-128 was implemented in ECB mode with a focus on a very low area,
still providing a reasonable performance. To keep the design small, the imple-
mentation is comprised of four 8 bit S-boxes that are shared between all round
functions and the key scheduling. With this architecture, encrypting one 128 bit
block in ECB mode takes 53 clock-cycles. As the AES operates with a clock of
100 MHz, it has a theoretical throughput of 242 Mbit/s. For decryption, the AES
needs another 53 clock-cycles to perform the key scheduling each time a new de-
cryption key is used. Thus, in the worst case, the decryption data rate decreases
to 50% compared to encryption. Due to the small hardware footprint, several
instances could be mapped to the design in parallel to increase the performance.
Since all remaining operation modes of AES (e.g., CBC) share the ECB mode
as their common atomic operation, they are realized in software finally using
hardware calls of the AES core in ECB mode.
WHIRLPOOL was implemented with a moderate time-area trade off. Both,
the underlying 512 bit block cipher W (which is very similar to AES) and the en-
closing Miyaguchi-Preneel compression function were implemented in hardware.
In our implementation, the 512 bit state of W consists of eight 8 Byte blocks
operating on eight 8 bit S-boxes. Both the round function and the key schedul-
ing share all computational modules (i.e., S-boxes, ShiftColumns, MixRows).
With this architecture, one 512 bit block operation takes 308 clock-cycles. To
keep the number of different clock domains in the HSM design at a minimum,
Whirlpool operates at the same clock of 100 MHz as the AES-128 resulting in
a theoretical throughput of 166 Mbit/s.
ECC-256 was implemented based on the work of Güneysu and Paar [20] with
a strong emphasis on performance optimization. Only the point multiplication
of the NIST P-256 [16] ECC operation is implemented in hardware while all re-
maining parts of the algorithm are still performed in software. Even though this
is only a small portion of the algorithm it covers over 90% of the entire ECC
computation time. The design is highly optimized for the Xilinx DSP architec-
ture and uses a pipelined architecture with input and output queues. Operated
at a clock of 200 MHz, one ECC point multiplication (for signature generation)
with 303,450 clocks takes 1.52 ms on average (i.e., 659 OP/s) and two point mul-
tiplications plus one addition with 366,905 clocks takes 1.83 ms (i.e., 545 OP/s).
Table 3. Synthesis results for the prototypical HSM implementation
5 Evaluation
Throughput
SBB Mode SW (measured) HW (measured) HW (theoretical)
AES-128, ECB encrypt 53 Mbit/s 76 Mbit/s 242 Mbit/s
AES-128, ECB decrypt 53 Mbit/s 58 Mbit/s 121 Mbit/s
AES-128, CBC encrypt 46 Mbit/s 68 Mbit/s 242 Mbit/s
AES-128, CBC decrypt 44 Mbit/s 46 Mbit/s 242 Mbit/s
AES-128, CMAC generate 44 Mbit/s 60 Mbit/s 242 Mbit/s
Whirlpool, hash generate 5 Mbit/s 128 Mbit/s 166 Mbit/s
ECC-256, ECDSA generate 30 sig/s 480 sig/s 659 OP/s
ECC-256, ECDSA verify 15 sig/s 436 sig/s 545 OP/s
symmetric encryption, the NIST digital signature standard [16] for asymmetric
encryption, the ISO hash function standard [23] for cryptographic hashing, a
BSI evaluated PRNG according to E.4 [31] for random number generation, and
the ISO standardized ECDH [25] for key agreements.
This section provides an overview comparison of our HSM with other hardware
security modules currently available. Table 5 compares our three different HSM
variants – full, medium, and light – with the Secure Hardware Extension (SHE)
as proposed by HIS [21], with the Trusted Platform Module (TPM) as proposed
by the TCG [35], and with a typical cryptographic smartcard (SmC). While
the TPM and the smartcard were neither designed nor applicable for use within
an automotive security context (as they lack, for instance, in cost efficiency,
performance, physical robustness, or security functionality), SHE was explicitly
designed for application in an automotive security context. It can be seen that
the HSM is quite successful in merging the relevant security functionalities from
SHE, from the TPM and from a typical smartcard while transferring them into
the automotive domain with its strict cost efficiency and performance require-
ments. Beyond this, Table 5 clearly indicates the distinctive security features, for
instance, the possibility for very fine-grained application-specific authorizations
for the processing and the migration of internal security assets or the possibility
for a secure (UTC) time reference, that are exclusively available with this HSM.
References
1. Abdalla, M., Bellare, M., Rogaway, P.: DHAES: An encryption scheme based on
the Diffie-Hellman problem. Submission to P1363a: Standard Specifications for
Public-Key Cryptography, Additional Techniques 5 (2000)
2. Checkoway, S., et al.: Comprehensive Experimental Analyses of Automotive Attack
Surfaces. National Academy of Sciences Committee on Electronic Vehicle Controls
and Unintended Acceleration (2011)
3. Diffie, W., Hellman, M.: New Directions in Cryptography. IEEE Transactions on
Information Theory 22(6) (1976)
4. Dyer, J., Lindemann, M., Perez, R., Sailer, R., Van Doorn, L., Smith, S., Weingart,
S.: Building the IBM 4758 Secure Coprocessor. IEEE Computer 34(10) (2001)
5. escrypt GmbH – Embedded Security: CycurLIB - Cryptographic Software Library
(2011), http://www.escrypt.com/products/cycurlib/overview/
6. EVITA: Deliverable 2.1: Specification and Evaluation of E-Security Relevant Use
Cases (2008)
7. EVITA: Deliverable 2.3: Security Requirements for Automotive On-Board Net-
works Based on Dark-Side Scenarios (2009)
8. EVITA: Deliverable 3.1.2: Security and Trust Model (2009)
9. EVITA: Deliverable 3.2: Secure On-board Architecture Specification (2010)
10. EVITA: Deliverable 3.3: Secure On-Board Protocols Specification (2010)
11. EVITA: Deliverable 4.1.3: Security Hardware FPGA Prototype (2011)
12. EVITA: Deliverable 4.2.2: Basic Software (2011)
13. EVITA: Deliverable 4.3.2: Implementation of Software Framework (2011)
14. EVITA: Deliverable 5.1.2: On-board Communication Demonstrator (2011)
15. EVITA Project: E-safety Vehicle Intrusion proTected Applications, European
Commission research grant FP7-ICT-224275 (2008),
http://www.evita-project.org
16. FIPS-186-3: Digital Signature Standard (DSS). NIST (1994, 2006)
17. FIPS-197: Advanced Encryption Standard (AES). NIST (2001)
318 M. Wolf and T. Gendrullis
18. Frischkorn, H.G.: Automotive Software – The Silent Revolution. In: Workshop on
Future Generation Software Architectures in the Automotive Domain, San Diego,
CA, USA, January 10- 12 (2004)
19. Furgel, I., Lemke, K.: A Review of the Digital Tachograph System. In: Embed-
ded Security in Cars: Securing Current and Future Automotive IT Applications.
Springer (2006)
20. Güneysu, T., Paar, C.: Ultra High Performance ECC over NIST Primes on Com-
mercial FPGAs. In: Oswald, E., Rohatgi, P. (eds.) CHES 2008. LNCS, vol. 5154,
pp. 62–78. Springer, Heidelberg (2008)
21. Herstellerinitiative Software (HIS): SHE Secure Hardware Extension Version 1.1
(2009), http://portal.automotive-his.de
22. International Telecommunication Union – ITU-T Study Group 7: Abstract Syntax
Notation number One – ASN.1 (1995), http://www.itu.int/ITU-T/asn1/
23. ISO/IEC 10118-3:2004: Information technology – Security techniques – Hash-
functions – Part 3: Dedicated hash-functions. ISO/IEC (2004)
24. ISO/IEC 11898:2003-2007: Information technology – Road vehicles Controller area
network. ISO/IEC (2007)
25. ISO/IEC 18033-2:2006: Information technology - Security techniques - Encryption
algorithms - Part 2: Asymmetric ciphers. ISO/IEC (2006)
26. Koscher, K., et al.: Experimental Security Analysis of a Modern Automobile. In:
IEEE Symposium on Security and Privacy (2010)
27. Lemke, K.: Physical Protection against Tampering Attacks. In: Embedded Security
in Cars: Securing Current and Future Automotive IT Applications. Springer (2006)
28. Luo, J., Hubaux, J.: A Survey of Inter-Vehicle Communication. EPFL, Lausanne,
Switzerland, Tech. Rep (2004)
29. PRECIOSA Project: Privacy Enabled Capability in Co-operative Systems and
Safety Applications (2008), http://www.preciosa-project.org
30. PRESERVE Project: Preparing Secure Vehicle-to-X Communication Systems
(2011), http://www.preserve-project.eu
31. Schindler, W.: AIS 20 – Functionality classes and evaluation methodology for de-
terministic random number generators. German Federal Office for Information Se-
curity (BSI) (1999)
32. SeVeCom Project: Secure Vehicular Communication (2006),
http://www.sevecom.org
33. Song, J., Poovendran, R., Lee, J., Iwata, T.: The AES-CMAC Algorithm. RFC4493,
IETF (June 2006)
34. Toll Collect GmbH (2011), http://www.toll-collect.com
35. Trusted Computing Group (TCG): TPM Specification 1.2 Revision 116 (2011),
http://www.trustedcomputinggroup.org