For anyone not following this discussion on github, here’s the latest post:
https://github.com/eclipse-kanto/kanto/discussions/277
As I think more about the capabilities that must be addressed to achieve industry adoption, I believe one of the current gaps is CAN Datalink Abstraction
and Standardization. We need a component that enables secure access to embedded controllers, across the numerous different CAN protocols that are present on a single vehicle and across industries. The problem is that these CAN protocols, such as SAEj J1939,
have proprietary licenses that cannot be implemented in Open Source. Instead, proprietary commercial libraries must be employed, and these numerous commercial offerings all have different interfaces and no standardized security and access control components.
This current state drives a high amount of variation and customization into the applications running on a Edge device, despite the standardizing on an OCI-based environment.
Our proposed addition to Kanto is a Datalink Abstraction and Standardization component along with complimentary CAN Datalink Access Security capabilities.
This framework would be extensible across all CAN protocols as well as DOIP, allowing portability of containerized software across different hardware/provider implementations. This component would provide interface specifications for Commercial CAN Libraries
to implement, as well as an SDK for implementing this agnostic interface within containerized applications. The open source component would handle the linking of these two components across an MQTT broker or other similar technology, which would be transparent
for both the Commercial Library and Containerized Application.
In addition, the open source component would provide Security and Access Control for the CAN/IP datalink, including certificate-based authentication
of approved applications and throttling/prioritization of traffic in order to prevent CAN datalink over-saturation.
Use cases for this functionality include being able to run the Kuksa Val data broker. This would enable creation of VSS data elements without having
to customize the implementation for each specific CAN Library Implementation. The Data Broker could even be implemented without needing to specify the exact CAN protocol being used in the vehicle, enabling the Commercial CAN Library to negotiate the CAN interface.
Another use case is a Tier 1 ECU software update container, working within the Kanto Software Update Manager framework, being able to establish a
secure UDS session with a powertrain ECU to perform a software update. This application would not need to be tailored for the numerous different telematics and OEM configurations. The Security and Access Control component would authenticate the Tier 1 Software
Update Container, provide access to only the target CAN device, and make sure that the application does not consume too much CAN bandwidth.
-Carlton
Carlton Bale
Director – Digital Strategy and Product Planning
Cummins Digital Organization