3.6.2. Security Plugin¶
The security plugin is the primary plugin implementation within the CDA, responsible for authentication, authorization, and access control.
The security plugin system is built around a set of interfaces that a vendor-specific implementation must provide:
A single vendor-provided implementation combines all of these interfaces and is configured once for the whole CDA instance. |
3.6.2.1. Plugin Lifecycle¶
The security plugin follows this lifecycle during request processing:
|
Before a diagnostic service is executed, the security plugin is given the resolved diagnostic service description and may reject it, preventing its execution. This validation happens once per requested diagnostic service, at the point where the service has been resolved from the SOVD-API request but before any UDS communication with the ECU has started. |
Software Architecture: Security Plugin - Request Send Authorization arch~plugin-security-validate-request-send
|
In addition to service validation, the security plugin provides a second, independent authorization checkpoint that runs immediately before a fully resolved UDS request is transmitted to the vehicle. Checkpoint location This checkpoint sits at the transport boundary, after the UDS request has been fully resolved (service, sub-function, payload, and any pending diagnostic session or security-level transition associated with sending it are known), and before it is handed to the physical transport. It applies uniformly to:
Information available to the plugin At this checkpoint, the plugin has access to:
Vendor customization The authorization decision is delegated entirely to the vendor-provided plugin implementation, since it commonly depends on proprietary state that is external to the CDA (e.g. state obtained from a vendor-specific API, safety system, or ownership/lock mechanism not standardized by the CDA). The CDA core does not interpret or store this state itself; it only invokes the plugin and acts on its decision. Outcome If the plugin denies the request:
This checkpoint reuses the same security plugin instance and lifecycle described in Security Plugin - Lifecycle (arch~plugin-security-lifecycle); it is not a separate plugin type. |