=Paper= {{Paper |id=Vol-3028/D2-02-ESAAMM_2021_paper_3 |storemode=property |title=Eclipse KUKSA.val for SCR Anti-Tampering Monitoring in Heavy Vehicles |pdfUrl=https://ceur-ws.org/Vol-3028/D2-02-ESAAMM_2021_paper_3.pdf |volume=Vol-3028 |authors=Junhyung Ki,Sebastian Schildt,Andreas Hastall,Sven Erik Jeroschewski,Robert Hottger }} ==Eclipse KUKSA.val for SCR Anti-Tampering Monitoring in Heavy Vehicles== https://ceur-ws.org/Vol-3028/D2-02-ESAAMM_2021_paper_3.pdf
        Eclipse KUKSA.val for SCR Anti-Tampering
                Monitoring in Heavy Vehicles
                                Junhyung Ki                                                    Sebastian Schildt
                         Dortmund University of                                               Robert Bosch GmbH
                         Applied Sciences and Arts                                             Corporate Research
              junhyung.ki001@stud.fh-dortmund.de                                  sebastian.schildt@de.bosch.com

           Andreas Hastall                          Sven Erik Jeroschewski                                    Robert Höttger
         Robert Bosch GmbH                              Bosch.IO GmbH                       Materna Information & Communications SE
         Powertrain Solutions                      Expert Squad - Open Source                       BL Digital Transformation
andreas.hastall@de.bosch.com svenerik.jeroschewski@bosch.io                                        robert.hoettger@materna.de



   Abstract—Modern internal combustion engines have several               trucks on the road, which is cost- and time consuming and does
advanced exhaust treatment systems to meet emission standards             not scale.
and legislation. In case of Selective Catalytic Reduction (SCR) for          DIAS1 , a joint European research and development project,
diesel engines, a catalyst (“AdBlue”) is used as consumable. This
incurs costs for the operator of diesel vehicles and provides an          has the goal to help prevent or uncover these manipulations.
incentive to unlawfully circumvent and shut down those systems.           The DIAS approach to detect tampering is two-fold: Inside a
   This case study presents how the Eclipse KUKSA stack has               vehicle, data from various sensors is gathered and a valida-
been used to realize an anti-tampering system for commercial              tion of the gathered data can be performed to detect values
heavy-duty trucks exhaust systems. We show, how the in-vehicle            inconsistent with current operating conditions. As computa-
KUKSA.val software and the KUKSA.cloud components can be
used to collect relevant data from a real heavy-duty truck and            tional power in a vehicle is limited and it is to be expected
send them to the cloud for further analysis.                              that tampering methods get more intricate (this has already
                                                                          happened in the past), the gathered data is transmitted to a
                       I. I NTRODUCTION                                   cloud backend, where a more complex analysis over longer
                                                                          time frames is possible.
   Modern vehicles with internal combustion engines are
equipped with exhaust treatment systems that drastically re-
duce the emission of harmful exhaust gases. Modern exhaust
treatment systems for diesel engines include an SCR (Selective
Catalytic Reduction) system to reduce emission of nitrogen
oxides (N Ox ). An SCR converts N Ox into harmless nitrogen
(N2 ) and water (H2 0) with the help of a catalyst fluid. The
catalyst, an urea (CO(N H2 )2 ) - water solution, is a fluid, also
called “Diesel exhaust fluid” (DEF) [1] or “AdBlue”
   Just like the fuel itself, the DEF is a consumable. Costs
for an operator can reach up to 1500 USD/year for a com-
mercially operated heavy truck. This provides the incentive to
maliciously interfere with the correct operation of the exhaust
treatment system. There are companies that offer facilities
and services to disable these systems. Common tampering
methods are small hardware modules connected to internal                                   Fig. 1: Typical AdBlue Emulator
busses or diagnostics interfaces of a vehicle injecting faulty
data regarding the level of the catalyst or measured N Ox                    Getting data from a vehicle in a safe and secure manner is a
values, combined with disabling components of the exhaust                 challenging and recurring task when developing applications
treatment. For common engines, tampering hardware (see                    for connected vehicles. Not only is this task very complex,
Figure 1 for an example) can be obtained for a one-time                   most of the time the solution is not portable due to the het-
investment of less than 30 USD. A vehicle modified in such                erogeneity and specifics of the underlying system architecture.
a way can still operate with its full performance but will emit           The KUKSA.val project aims to ease this task by abstracting
harmful substances significantly above the legal limit. Such
manipulation is difficult to detect, without randomly inspecting            1 https://www.dias-project.com/




       Copyright © 2021 for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).
                                                                    operation of a vehicle (e.g. Vehicle/Speed), and attributes
                                                                    that are expected to be static over the lifetime of a vehicle (e.g.
                                                                    Vehicle/VehicleIdentification/VIN).
                                                                    B. W3C VISS
                                                                       While VSS describes the structure of signals in a vehicle,
                                                                    the W3C Vehicle Information Service Specification (VISS) [3]
                                                                    defines a websocket-based protocol to access such signals
                                                                    using either a query response pattern or publish/subscribe
                                                                    mechanism. Currently, the second iteration of VISS, VISS2
                                                                    is under development2 . Being a network-based API VISS is
                                                                    a good fit for modern Vehicle Computer Architectures, where
                                                                    different safety and security zones are separated by hypervi-
                                                                    sors or container technologies. Instead of linking to software
                                                                    components, they can be accessed through the network by
                                                                    other (micro-)services running in other containers, hypervisor
                                                                    domains or computers. Basic encryption, authentication and
                                                                    integrity can be provided by using standard TLS mechanisms.
                 Fig. 2: Genivi VSS structure
                                                                    C. Eclipse KUKSA
                                                                       Eclipse KUKSA provides building blocks for the creation
the underlying systems through the provision of a server with
                                                                    of ecosystems around applications in connected vehicles. On
which other applications in the vehicle can interact based on
                                                                    a high-level Eclipse KUKSA differentiates between the in-
a standardized data model and API. By doing so applications
                                                                    vehicle side and the cloud backend. The in-vehicle platform
can collect vehicle data in a safe, secure and, most importantly,
                                                                    allows and simplifies the execution of applications in a ve-
portable manner.
                                                                    hicle. With the cloud backend it is possible to handle the
   In this case study we outline the system architecture and
                                                                    data originating from the in-vehicle applications. In addition,
data model for an integrated system to detect exhaust treatment
                                                                    KUKSA.cloud can manage the distribution and roll-out of
tampering and present a prototype that has been created using
                                                                    applications to the vehicle.
components from Eclipse KUKSA which is an open source
software stack for building connected vehicle ecosystems.           D. Eclipse KUKSA.val
We present how to access data in a heavy-duty truck and
                                                                      Eclipse KUKSA.val3 is an in-vehicle component from the
introduce the necessary extensions enable the KUKSA data
                                                                    Eclipse KUKSA stack. KUKSA.val is a server that man-
feeder component to work with heavy-duty vehicles. Finally,
                                                                    ages VSS data and provides them via the VISS protocol
a working prototype of the system has been tested in a real
                                                                    to other applications running in the vehicle in a safe and
heavy-duty truck.
                                                                    secure manner. Written in C++, KUKSA.val offers a small
                    II. B UILDING BLOCKS                            footprint making it suitable running in a vehicle computer.
   In our system we use various existing technologies and           KUKSA.val implements Version 1 of the VISS protocol with
standards, which we will explain in the following.                  some extensions, most notably a security mechanism based on
                                                                    JSON Web tokens [4] providing fine-grained access control to
A. Genivi VSS                                                       each element in the VSS tree. Additionally, it supports dy-
   The Genivi Vehicle Signal Specification (VSS) [2] intro-         namic extension/modification of the VSS tree during runtime
duces a domain taxonomy for vehicle signals. The goal is to         and provides a Python library wrapping the VISS websocket
create a common understanding of vehicle signals in order to        protocol to simplify application development. KUKSA.val is
reach a “common language” for vehicle data independent of           optimized to run in a light-weight container environment.
the protocol or serialization format. VSS can be used as stan-      E. Eclipse KUKSA.cloud
dard in automotive applications to communicate information
related to the vehicle, which is semantically well defined. It        The cloud backend of the Eclipse KUKSA ecosystem4 is
focuses on vehicle signals, in the sense of classical sensors and   a composition of multiple open source projects and KUKSA
actuators usually connected to the “deeply-embedded” ECUs           specific components. Many of the adopted technologies are
as well as data which is more commonly associated with the          coming from the community around the Eclipse IoT working
infotainment systems. A simplified structure of the VSS model       group. The current version of the KUKSA.cloud is tailored to
is shown in Picture 2.                                              run in a Kubernetes environment and can be deployed with a
   A VSS tree consists of three basic types of nodes: Branches        2 https://github.com/w3c/automotive
describe the hierarchy of signals (e.g. Vehicle.Cabin),               3 https://github.com/eclipse/kuksa.val

sensors describe values that are expected to change during the        4 https://github.com/eclipse/kuksa.cloud
KUKSA.cloud specific Helm Chart. Besides the management                       in the 29 bit CAN identifier, where data belonging to a PGN
of applications on a vehicle, the KUKSA.cloud allows the                      can span multiple CAN messages.
ingestion of data coming from the vehicles. In this case study
we are mainly dealing with the data aspect where the data                                     III. A NTI TAMPERING S YSTEM
ingestion is covered by running Eclipse Hono 5 within the                        As lined out in the introduction, a resilient anti-tampering
KUKSA.cloud.                                                                  system relies on in-vehicle components as well as a powerful
   Eclipse Hono is a communication hub that provides in-                      cloud backend. In the vehicle data needs to be collected and
terfaces and endpoints for connecting a large numbers of                      transmitted. As upcoming vehicle platforms include powerful
IoT devices to a backend and enables interaction with them                    computing units, data can be processed on-board to detect
in a uniform way regardless of the device communication                       many naive forms of tampering. However, compared to the
protocol. In that regard, Eclipse Hono has a “southbound”                     cloud, a vehicle’s computational resources are still limited.
API designated to be used by the IoT devices like in our case                 Sending gathered data to a cloud backend gives the chance
heavy-duty vehicles and a “northbound” API which allows                       to run more complex algorithms. For example more precise
other applications in a cloud backend to consume the data                     engine models and longer time frames can be taken into
coming from the devices. Similarly, it is also possible to send               account. Also, even with modern vehicle computers it is to
data through the northbound API from the cloud backend to                     be expected that cloud services can be updated faster.
devices connected at the “southbound” API. To support a wide
                                                                              A. Architecture
range of devices and implementations, Eclipse Hono offers
the “southbound” API for a number of protocols like HTTP,                        Figure 3 shows the overall system architecture and compo-
MQTT or CoAP through different protocol adapters which                        nents. The prototype is built around a Raspberry Pi 4 SBC
are implemented as individual micro-services. These protocol                  running Linux, allowing a desk setup as well as connecting
adapters internally convert the messages to the AMQP 1.0                      to a vehicle. Additionally, a Pi is roughly comparable to
protocol which is currently used for Hono’s “northbound” API.                 upcoming vehicle computers in terms of computing power
Since Eclipse Hono is designed to be highly scalable, it is a                 and memory. Data is received using the standard Linux socket
feasible option for ingesting data from a large fleet of vehicles.            CAN interface. This way either simulated CAN traces can be
   Furthermore, we are using a Hono-InfluxDB connector 6                      played or the Pi can be connected to an existing CAN network.
that is maintained within the KUKSA.cloud project . This                      Raw CAN/J1939 data is processed by the DBCFeeder (see
connector listens at the “northbound” API of Eclipse Hono                     Section III-C) and converted to valid VSS signals that are fed
for new data and then writes it into the time-series database,                into the KUKSA.val server.
InfluxDB 7 . Storing the data into a database makes it easily                    The cloudfeeder component connects to the KUKSA.val
accessible for further processing or visualization like in our                server and collects the required data in VSS format via VISS.
case using a Grafana8 dashboard.                                              It will then upload the collected data to the cloud. Optionally,
                                                                              (pre)processing on the vehicle is possible.
F. SAE J1939
                                                                              B. VSS Model
   While VSS, VISS and KUKSA.val offer useful abstrac-
tions dealing with vehicle data and enable rapid function                        Not all the signals required for monitoring the exhaust
development, the majority of data in a vehicle originates                     system are part of the VSS standard catalog. However, the
from deeply embedded ECUs connected to low bandwidth                          standard tree provided by VSS can be extended with custom
busses such as CAN [5]. Standard CAN is a simple two-wire                     signals. Figure 4 shows all signals collected for our exhaust
communication protocol where messages are identified by 11                    treatment monitoring. While algorithms for anti-tampering de-
or 29 bit identifiers including up to 8 bytes of payload.                     tection probably need to be parameterized differently depend-
   In addition to CAN, SAE J1939 [6] standard is a higher                     ing on each specific engine type, the input data required from
level protocol that uses the CAN Bus technology as a physical                 a vehicle will be similar. By mapping data to a common VSS
layer. It is used for communication and diagnostics among                     model, the software module for accessing data and transmitting
vehicle components. Originating in the car and heavy-duty                     it to a cloud backend can be reused across different vehicles.
truck industry in the United States, it is now widely deployed                C. Reading J1939 data
in heavy-duty vehicles around the world. In addition to the
standard CAN Bus capabilities, SAE J1939 supports node                           As mentioned in Section II-F, relevant data from heavy-
addresses, and it can deliver data frames longer than 8 bytes                 duty vehicles is available via the J1939 protocol based on
(up to 1785 bytes). Signals are not identified by the raw CAN                 CAN. To read data from a real truck we equipped the Pi with
ID, but by a Parameter Group Number (PGN), that is encoded                    a dual channel CAN shield9 . As most vehicles have several
                                                                              CAN buses and not all data is available on all of them, a dual
  5 https://www.eclipse.org/hono/                                             channel shield gives the opportunity to easily tap two busses
  6 https://github.com/eclipse/kuksa.cloud/tree/master/utils/hono-influxdb-
                                                                              at once.
connector
  7 https://github.com/influxdata/influxdb                                       9 https://wiki.seeedstudio.com/2-Channel-CAN-BUS-FD-Shield-for-Raspb
  8 https://grafana.com/oss/grafana/                                          erry-Pi/
                                                                                                               the retrieved data using a custom pre-processor script, and
                                                                                                               finally transmits the result data to the cloud via MQTT. The
                                                             Cloud                                             pre-processor script can be changed depending on the kind of
                                                                                Cloud
                                                                               Platform                        processing that is desired on-board the vehicle.
                                                                                                                  Figure 6 shows the sequence of how the CloudFeeder
                                                                                                               works. In our setup the CloudFeeder is set up to transmit
                                                                                                               data to an Eclipse Hono instance running in the cloud.

                                                            vss_rel_2.0.json                                   E. Cloud setup
                                                                        VSS
                                      In-vehicle                      Database
                                     (kuksa.val)                        Tree                                      The CloudFeeder uses MQTT to connect to an Eclipse
  dbcFile.dbc                                                                                                  Hono MQTT protocol adapter. We are using the KUKSA.cloud
   CAN frame
  Interpretation   dbcfeeder.py
                                                     kuksa-val-server                         cloudfeeder.py   InfluxDB Connector, which receives data from Hono and puts
                                                    (vehicle signal specification)

  mapping.yml                                                                                                  it into the time-series database InfluxDB.
    Mapping
                                                                                                                  A custom diagnostic routine 11 can access the data from
                                                                                                               the InfluxDB and perform analysis on historic data to detect
                                                                                                               anomalies that can not be detected in a vehicle. The cloud
                    CAN Interface
                   (can0 or vcan0)                                                                             analytics can be updated more frequently to keep up with
                                                            Raspberry Pi 4
                                                                                                               novel tampering methods, and it can perform more compute
                                                                                             In-vehicle
                                                                                                               intensive analytics, such as incorporating detailed models of
                                                                                              Platform
                                                                                                               a specific internal combustion engine. Having the data of a
                                                                          ECU
                                                                                                               larger number of vehicles at hand also offers the potential to
                                                       or
                                                                                                               apply more sophisticated algorithms for automated anomaly
                                Playing a logfile                  Connecting to CAN

                                                    Data Input
                                                                                          Truck
                                                                                                               detection.
                                                                                                                  The raw and processed data stored in InfluxDB can also be
       Fig. 3: Exhaust Anti-Tampering System Architecture                                                      monitored in custom Grafana Dashboards (see Figure 7c).

                                                                                                                                     IV. R EAL -W ORLD T EST
   KUKSA.val already offered a python-based DBCFeeder
component to read CAN data and map it to the VSS tree.                                                            To validate our setup we tested it in a real truck. The
A DBC file is an ASCII file describing which CAN frames                                                        test vehicle used by the DIAS project is a Ford Otosan F-
contains which signals and what conversions are required. This                                                 MAX heavy duty truck (Figure 7a. This truck is modified, so
is important, as most CAN data is not directly encoded in SI                                                   that the in-vehicle CAN busses and measurement equipment
units, but instead the range and resolution is space-optimized                                                 is available for easy access in the cabin (Figure 7b). It is
for a specific use case, so often an offset and scale factors                                                  important to note, the truck’s ECUs do not need to be modified.
need to be applied. However, we discovered the DBCFeeder                                                       The only component required to enable this use case is the
was only able to deal with raw CAN frames, and was not                                                         Raspberry connected to the vehicle’s busses providing a run-
J1939 aware.                                                                                                   time for the in-vehicle part of the software stack and Internet
   For this case study we extended the KUKSA DBCFeeder                                                         access. In a series production vehicle, it is expected, that
with J1939 support. As the DBCFeeder included in                                                               the software running on the Pi will be running on a Vehicle
KUKSA.val is Python-based, we leveraged support of an                                                          Computer inside the truck alongside other services. Figure 7c
existing Python J1939 implementation10 . When dealing with                                                     shows a Grafana dashboard that is updated live during the test
a J1939 system and an associated DBC file describing J1939                                                     drive.
PGN units, the DBCFeeder can be started with the “-j1939”                                                         During the test drives in the Stuttgart region the system
option. This will switch the Raw CAN reader normally used                                                      performs as expected. The major challenge is dealing with
by the DBCFeeder with the J1939 stack reassembling PGN                                                         intermittent Internet connectivity. While our simple prototype
data from the raw CAN frames, before decoding and mapping                                                      still has some potential for optimization in this regard, it is not
the data to VSS. As multiple DBCFeeder instances can run                                                       a blocker for the DIAS use case: Anti-tempering monitoring
in parallel, you can process raw CAN frames or J1939 PGN                                                       does not require real-time data. Real-time analysis is done
data at the same time (see Figure 5). The initial J1939 support                                                directly on the vehicle, and any errors are logged similar to
developed has also been merged upstream, so it is available                                                    other error conditions. In cases of no connectivity, data can
to all KUKSA.val users.                                                                                        be cached in the vehicle and transmitted once connectivity is
                                                                                                               available again.
D. Processing and Transmitting                                                                                    The availability of connectivity hardware can be expected
  CloudFeeder is a module that retrieves the observed signals’                                                 for all vehicles in the near future. In fact, many heavy-duty
values from the in-vehicle KUKSA.val-server, pre-processes                                                     trucks already contain some form of connectivity for fleet
 10 https://pypi.org/project/j1939/                                                                              11 https://github.com/junh-ki/dias kuksa/
                                                                                                                                               Vehicle       AmbientAirTemp


                                                                                     AfterTreatment                                                           OBD                     Drivetrain

                                NOxLevel               Aftrtrtmnt1SCRCtlystIntkGasTemp                               FaultDetectionSystem                BarometricPress      FeulSystem
                                                                                                                                                                              FuelSystem      InternalCombustionEngine

                   Aftertreatment1IntakeNOx
                                  NOxIntake                                       ExhaustMassFlow                      ProtectLampStatus                 EngCoolantTemp    TimeSinceEngineStart          Engine

                   Aftertreatment1OutletNOx                                                                           RedStopLampState         EngPercentLoadAtCurrentSpeed                         EngRefenceTorque

                                                                                                                   AmberWarningLampStatus                                                          EngSpeedAtIdlePoint1

                                                                                                                 MalfunctionIndicatorLampStatus                                                     EngSpeedAtPoint2

                                                                                                                   FlashAmberWarningLamp                                                                EngSpeed

                                                                                                                   FlashMalfuncIndicatorLamp                                                      ActualEngPercentTorque
                                    : Branch
                                                                                                                       FlashProtectLamp                                                     NominalFrictionPercentTorque
                                    : Attribute
                                    : Sensor                                                                          FlashRedStopLamp

                                                                                      Fig. 4: VSS signals used for exhaust treatment monitoring


                                                                                                                      CANbus                   tries to tackle this problem using a combination of on-board
                            Mapped signals                     Decoded signals                   Raw CAN frames
                                                                                                                                               and off-board diagnostic of vehicle data. In this case study, we
            KUKSA.val                          dbcfeeder.py                      dbcreader.py
                                                                                                                                               have presented a system for Exhaust System Anti-Tampering
Decoded Signals
              Mapped signals
                                                                    Direct CAN Messages                                                        monitoring using open source components from the Eclipse
                        dbcreader.py
             dbcfeeder.py
                            Decoded signals
                                              J1939reader.py
                                                                  PGN Messages
                                                                                   j1939.ElectronicControlUnit
                                                                                     (j1939 python package)
                                                                                                                                               KUKSA ecosystem.
                                                                                                                 CAN       Interface:
                                                                                                                  Raw CAN frames


                                                                                                                 CAN0 or VCAN0
                                                                                                                                                  We were able to collect the relevant data from heavy-duty
       Fig. 5: Two dbcfeeders feeding a single KUKSA.val instance                                                                              trucks, processing them on board the vehicle and transmitting
                                                                                                                                               them to the cloud for further analysis. The system has been
                                                                                                                                               tested extensively with simulated CAN traces and inside a real
                                                                                                                            Cloud
             CloudFeeder                           VSS Server                          Pre-processor
                                                                                                                           (Hono)              heavy-duty truck. To enable this we extended KUKSA.val with
                                                                                                                                               J1939 support and provided it upstream.
                               do_getValue
                                                                                                                                                  In the future, the system can be extended with more robust
                                                                                                                                               caching during times of no connectivity. Additionally, the
                               value returned
                                                                                                                                               data received from CAN busses can be authenticated. While
                                                 preprocessing                                                                                 most communication in contemporary vehicle is unencrypted
                                                                                                                                               and unauthenticated, there are upcoming standards providing
                               processed JSON telemetry data returned                                                                          security on the level of automotive field busses such as CAN.
                                                                                                                                               One example is AutoSar SecOC [10], that can provide authen-
                                       mosquitto_pub (transmits telemetry data via MQTT)
                                                                                                                                               tication of individual CAN messages. On vehicles supporting
                                                                                                                                               such standards, they are a good first line of defense.
                                                                                                                                                  This example showcases the applicability of open source
                              Fig. 6: Cloudfeeder sequence diagram                                                                             components in the automotive domain. While the technology
                                                                                                                                               behind exhaust treatment systems, and advanced tampering
                                                                                                                                               detection mechanisms are highly proprietary in nature, it is still
       management purposes. Additionally, existing or upcoming                                                                                 possible to leverage the power of open software and standards.
       legislation might require to provide connectivity hardware to                                                                           By using the open VSS standard and existing open source
       a vehicle: In the EU, the eCall regulation [7] already requires                                                                         components on modern vehicle computers, applications for
       cellular connectivity in every passenger vehicle type-approved                                                                          gathering, processing and transmitting data to a cloud backend
       after March 2018, China already requires telemetry for all                                                                              can be realized in a fast and cost-effective manner.
       EVs [8] and a legislative initiative by the German ministry
       of transport aims to require that all vehicles with autonomy                                                                                                        ACKNOWLEDGMENTS
       functions have to be connected “all the time” [9].                                                                                         This paper is supported by European Union’s Horizon 2020
                                                                                                                                               research and innovation programme under grant agreement No
                                       V. C ONCLUSION & O UTLOOK                                                                               814951, project DIAS (https://dias-project.com/).
         We have introduced the problem of exhaust treatment                                                                                                                    R EFERENCES
       system tampering. Potential cost savings incentivize actors
                                                                                                                                                [1] “ISO 22241-1:2019- Diesel engines — NOx reduction agent AUS
       to unlawfully interfere with the correct function of heavy                                                                                   32 — Part 1: Quality requirements,” International Organization for
       vehicle’s exhaust treatment system. The DIAS research project                                                                                Standardization, Standard, 2019.
           (a) F-MAX test vehicle                                 (b) Setup in cabin                               (c) Dashboard Overview
                                               Fig. 7: Testing System in a Heavy-Duty Truck


[2] Vehicle Signal Specification, GENIVI Alliance Std., 2020. [Online].        [7] “REGULATION (EU) 2015/758 concerning type-approval requirements
    Available: https://genivi.github.io/vehicle signal specification/              for the deployment of the eCall in-vehicle system based on the 112
[3] P. Kinney, A. Crofts, W. Lee, and K. Gavigan, “Vehicle information             service and amending Directive 2007/46/EC,” European parliament and
    service specification,” Candidate Recommendation, Feb. 2018,                   council, Tech. Rep., 2015.
    https://www.w3.org/TR/2018/CR-vehicle-information-service-                 [8] B. Martens and B. Zhao, “JRC Digital Economy Working Paper - Data
    20180213/.                                                                     access and regime competitionA case study of car data sharing in China,”
[4] M. Jones, J. Bradley, and N. Sakimura, “Json web token (jwt),”                 European Commision, Tech. Rep., Aug. 2020.
    Internet Requests for Comments, RFC 7519, May 2015, http:                  [9] German Ministry of Transport, “Entwurf eines Gesetzes zur AÄnderung
    //www.rfc- editor.org/rfc/rfc7519.txt. [Online]. Available: http:              des Straßenverkehrsgesetzes und des Pflichtver- sicherungsgesetzes –
    //www.rfc-editor.org/rfc/rfc7519.txt                                           Gesetz zum autonomen Fahren,” Feb. 2021. [Online]. Available:
[5] “ISO 11898-1:2015- Road vehicles — Controller area network (CAN)               https://www.bmvi.de/SharedDocs/DE/Anlage/Gesetze/Gesetze-19/gese
    — Part 1: Data link layer and physical signalling,” International Orga-        tz-aenderung-strassenverkehrsgesetz-pflichtversicherungsgesetz-auton
    nization for Standardization, Standard, 2015.                                  omes-fahren.pdf
[6] J1939 Standards Family, Society of Automotive Engineers SAE Std.,         [10] Specification of Secure Onboard Communication, AUTOSAR Std., 2017.
    2013. [Online]. Available: https://www.sae.org/standardsdev/groundveh          [Online]. Available: https://www.autosar.org/fileadmin/user upload/stan
    icle/j1939a.htm                                                                dards/classic/4-3/AUTOSAR SWS SecureOnboardCommunication.pdf