Authenticating Remote Automotive Peripherals using GMSL Tunneling
With the increasing complexity of cars, new ways to communicate between an electronic control unit (ECU) and the remote peripherals within the vehicle are constantly being developed. In cases where these remote peripherals are responsible for mission-critical decisions, such as sensors or cameras that make up the advanced driver assistance systems (ADAS), it is important to ensure these peripherals are authorized, high-quality components. The marrying of a gigabit multimedia serial link (GMSL) serializer-deserializer (SerDes) pair and the DS28C40 is one of Maxim's solutions for linking communication between a secure authenticator embedded in a peripheral, such as an ADAS camera or sensor, and the ECU which needs to validate the authenticity of the peripheral.
GMSL Design and Technology
GMSL is Maxim's unique automotive SerDes implementation that has entered the automotive communication market. The GMSL technology is a low-power, high-bandwidth serializer and deserializer pair that has high data integrity and reliability performance.
GMSL uses power over coax (PoC) to send power, as well as data, over a single coaxial cable. This means that power on the ECU-side can be transferred across the coaxial cable to also supply power to the remote camera or sensor and, additionally, the authenticator. Figure 1 illustrates how PoC fits into the GMSL design.
Figure 1. Communication to the secure authenticator using the GMSL channel's standard I2C bus.
The DS28C40 is a sensible and straightforward solution to add security and authentication functions to any applications in which GMSL communication is being used between an ECU and a remote device such as a camera or sensor. In these applications, authentication may be desired because a low-grade counterfeit could be added into the vehicle without the driver even knowing during a routine repair shop visit. For example, a counterfeit ADAS camera may not have the correct range of field, resolution, or calibration information to give the ECU accurate data, and thus could pose a significant safety risk and even result in an accident. On power-up, the ECU can authenticate multiple cameras and/or sensors in parallel to make sure that all mission-critical peripherals are authorized components. The DS28C40 can be easily added without much effort because GMSL devices search for any actively listening devices on the I2C bus automatically once they are properly connected and configured. These I2C devices automatically appear in the GMSL GUI during use with the evaluation kit.
GMSL devices have a main control channel and two pass-through channels that tunnel I2C or universal asynchronous receiver-transmitter (UART) signals across the GMSL link. The main control channel can access the registers of either the serializer or deserializer, but the passthrough channels are pure tunneling and cannot control the SerDes I2C registers. In this case, the DS28C40 does not use the UART but can use either the main control or pass-through channels. To configure the pass-through channel and enable I2C signals to use the tunneling feature, the serializer and deserializer must have the IIC_1_EN or IIC_2_EN bits set to 1, based on which of the two channels are being used. Even for the pass-through mode, pullup resistors are required to implement I2C communication. The pins that are used for tunneling are SDA1_RX1 and SCL1_TX1 for Channel 1, and SDA2_RX2 and SCL2_TX2 for Channel 2. If multiple sensors are used with one deserializer, the GMSL SerDes chipset offers a feature for I2C address reassignment and translation to avoid I2C address conflicts.
The simplest way to add authentication to a peripheral, such as an ADAS camera or sensor, is to embed the DS28C40 in the peripheral and use the I2C tunneling to communicate with the ECU through the GMSL channel. This reduces the complexity because no programming of registers is required, but instead it enables the user to easily utilize the GMSL system's hardware to get communication quickly up and running through I2C. This implementation is showcased in Figure 2 which shows a camera module's authentication by the ECU. Note that the DS28C40 authenticator is only required on the peripheral side because it is a public-key device using an asymmetric algorithm, which is explained in greater depth in this document. Thus, security may be added with just one device since the host ECU can authenticate the camera using only public keys. Meanwhile, data communication through the GMSL pass-through channel is completely transparent to the I2C host and DS28C40.
Figure 2. Communication between the ECU and camera using the GMSL I2C tunneling capability.
The DS28C40 uses an asymmetric algorithm elliptic curve digital signature algorithm (ECDSA) cryptography to authenticate each peripheral component. ECDSA is a public-key algorithm, which means each authenticator has a unique public-private key pair. The private key is embedded within the authenticator and never leaves the device. Its corresponding public key is stored in the device's one-time programmable (OTP) memory and may be freely read by the ECU. This public key is used to complete the ECDSA computations to ensure that the authenticator gives the correct data to prove that it, and therefore the device in which it is embedded, are valid parts of the system. Additional checks on the device's validity are done because each authenticator contains a unique certificate, which ensures that it is a recognized part of the system and has been programmed by the correct certificate authority. Additionally, each time the DS28C40 generates a signature, it incorporates a unique challenge that has been sent by the ECU to fight against replay attacks where a static value could otherwise be uncovered and reused.
As described earlier, there are two major steps for authentication. First, the host verifies that the DS28C40 certificate is a valid part of the system. Second, the DS28C40 is asked to sign a random challenge. A certificate authority creates and installs a unique certificate in each device by signing the DS28C40's unique public key using a systemwide private key that is not present on the DS28C40. Thus, a counterfeit could directly copy the certificate but cannot sign a random challenge from the host using the correct private key. On the other hand, a counterfeit could implement the ECDSA algorithm with a unique key pair and respond to random challenges from the host. But this type of counterfeit cannot produce a valid certificate signed by the system-wide private key. This results in a very robust authentication process where the ECU uses a system-wide public key and the DS28C40's unique public key without the need for a secure host. Maxim's Tutorial 5767, Elliptic Curve Digital Signature Algorithm Explained, gives a more detailed description of how ECDSA may be used for authentication.
In addition to adding security to an automotive peripheral with just one IC, the ECU host command sequence is also relatively simple for implementing the two authentication steps. The DS28C40 EV Kit and free software are available to allow customers to more quickly become familiar with device operation. Since the GMSL pass-through mode is transparent to the I2C host and DS28C40, the corresponding GMSL EV kit is not required for authentication command sequence development.
As more original equipment manufacturers (OEMs) move forward in selecting the method of communication and security to be embedded within their ADAS peripherals, it is important to know that the various devices are compatible with each other. Fortunately, the DS28C40 secure authenticator and the GMSL SerDes pair are a tried-and-true combination of strong security and reliable data communication.
This application note provides information on adding authentication in automotive settings with GMSL. It explains the importance of securing peripherals from counterfeits and the details on how to implement this security.