Cloud native EDA tools & pre-optimized hardware platforms
The automotive industry is undergoing a significant transformation to address rising requirements encompassing bit rates, frame resolutions, as well as functional safety and security. In response to the imperative to safeguard image sensor data from security threats, MIPI Alliance has introduced a security framework designed for camera connectivity known as MIPI Camera Service Extension v2.0 (MIPI CSE 2.0). This new framework successfully aligns with specific automotive standards including ISO26262 for safety and ISO21434 for security compliance.
The MIPI CSE v2.0 standard is a complex specification that facilitates multi-configurable camera support for diverse security configurations. Addressing the breadth of these configurations is challenging, yet essential to guarantee seamless interoperability among different devices.
The automotive industry has traditionally relied on the camera application and/or SerDes protocols to implement its own security measures for facilitating secure communication between camera sensors and controllers. In response to the escalating risks and threats associated with data manipulation and privacy concerns, the MIPI Alliance has introduced a novel Security framework known as MIPI CSE v2.0, integrated within the MIPI Automotive SerDes 91³Ô¹ÏÍø (MASS). This innovative framework introduces additional CSE Security Service Extensions atop the existing Camera Serial Interface 2 (CSI-2) protocol.
The latest CSE v2.0 specification includes security features, which supports the following cryptographic authentication and encryption algorithms for processing the SEP and FSED camera frame packets. In this blog, we will focus on the algorithms supported and the need for validating these algorithms using test vectors.
The algorithms include:
¡ñ NIST SP800-38D AES-GMAC Authentication Algorithms
¡ñ NIST SP800-38B AES-CMAC Authentication Algorithm
¡ñ NIST SP800-38A AES-CTR Encryption Algorithm
Since CSE v2.0 specification is a complex, multi-configurable specification covering a variety of security configurations, it becomes a challenge ensuring interoperability with different devices.
To address this challenge, together NVIDIA and Synopsys generated a set of test vectors that is intended to be used by both Controllers and Camera sensors to help accelerate the development of the CSE v2.0 devices by providing higher confidence in the implementation. These vectors provide a range of security variance configurations supported by CSE v2.0.
Both 128 bit and 256-bit key sizes are supported for these algorithms. The combination includes using either AES-GMAC or AES-CMAC with optional AES-CTR encryption. These combinations are extended into full frame protection versus line pattern protection, and pixel pattern protection and these are known as the Security Variants (SV).
The authentication algorithms protect both the header and payload information in the SEP and FSED packets, whereas the encryption data only protects the payload information.
Additionally, the IV used for AES-GMAC and AES-CTR is constructed with header information.
Two sets of validation vectors include SEP Tag Mode, and FSED Tag mode, both are in the appendix of the CSE v2.0 specification. Each set represents a security configuration for SEP and FSED and both are part of the minimum-security profile identified in Table 9 of the CSE v2.0 specification.
SEP Tag Mode 1a uses Security Variant 1 (SV-1), which includes full AES-128-GMAC integrity and AES-128-CTR encryption whereas FSED Tag Mode 2a uses AES-128-GMAC for authentication of the FSED_CTRL_SYNC.
Using Synopsys VIP to Generate the Nvidia/Synopsys Vectors for AES Processing
The Synopsys VIP tool can be used to generate the AES-GMAC and AES-CTR vectors used in both SEP and FSED test vectors. Each test requires:
¡ñ Input configuration data
¡ñ Input data
¡ñ Expected output data (golden reference)
For AES-GMAC, the expected output data is the MAC tag whereas for AES-CTR it is the encrypted data. In both cases, the tool provides the correctness of the output for each test.
The last vector included in this section is AES-CMAC. Although it is not part of the vectors provided in the CSE v2.0 specification, it is supported as one of the authentication algorithms that camera vendors can choose to use. Note that AES-CMAC is not included as one of the primary security profiles.
AES GMAC AUTHENTICATION:
The AES-GMAC authentication algorithm is used to authenticate the payload data. AES-GMAC algorithm authenticates the data message by generating an authentication tag using the Initial Value (IV), a 128-bit or 256-bit Key and Additional Authenticated Data (AAD). Note the AAD includes SEP and FSED header data and payload.
The Synopsys VIP tool uses the configuration to tell which key size to use with the AES-GMAC algorithm. With test vectors shared by NVIDIA, the Synopsys VIP generates an output that is compared with the expected result generated by NVIDIA. In this way, the test vectors are verified.
AES CTR ENCRYPTION:
AES CTR encryption requires configuring the IV, a 128 bit or 256 bit key and the input data. The input data is plain-text on the camera sensor and cipher-text on the controller.
The Synopsys VIP tool uses the configuration to program the key size for the AES-CTR. With test vectors shared by NVIDIA, the Synopsys VIP generates an output that is compared with the expected result generated by NVIDIA. In this way, the test vectors are verified.
AES CMAC AUTHENTICATION:
The AES-CMAC authentication algorithm is used to verify the integrity of the frame data by generating an authentication tag using a 128 bit or 256 bit Key and passing in the input data (message). Unlike the AES-GMAC configuration, which requires an IV input, the AES-CMAC VIP configuration only includes the key and input data.
The advancements in the automotive industry have paved the way for shaping the future of transportation incorporating functional safety features ensuring safety and security of the systems. CSE v2.0 in MIPI enables the automotive players to integrate new and advancing safety measures, which include sign detection sensors, backup cameras (rear-view cameras) and surround view cameras that help in creating a more comprehensive safety system. Validation of the features with test vectors provides confirmation of the packet correctness.
The use of Synopsys MIPI CSI VIP proves instrumental in streamlining the validation process of test vectors, with results showcased at the MIPI Working Group meeting. The Synopsys VIP Support team's timely assistance in verifying these test vectors played a crucial role, allowing the presentation of results before the MIPI Org meeting. Leveraging Synopsys MIPI CSI2 v4.0 VIP emerged as an asset in the validation process. This success facilitated the proposal to include the test vectors as part of the annexure in the specification during the Working Group meeting.
For more information, Synopsys users can access the Nvidia presentation at SNUG Silicon Valley 2024