Non-Repudiation and End-to-End Security for Electric-Vehicle Charging
Innovative Smart Grid Technologies Europe 2019 September 30th, 2019
1/40 Pol Van Aubel
Non-Repudiation and End-to-End Security for Electric-Vehicle - - PowerPoint PPT Presentation
Non-Repudiation and End-to-End Security for Electric-Vehicle Charging Innovative Smart Grid Technologies Europe 2019 September 30 th , 2019 1/40 Pol Van Aubel Authors Pol Van Aubel pol.vanaubel@cs.ru.nl Erik Poll erikpoll@cs.ru.nl This
Innovative Smart Grid Technologies Europe 2019 September 30th, 2019
1/40 Pol Van Aubel
Authors
Pol Van Aubel
pol.vanaubel@cs.ru.nl
Erik Poll
erikpoll@cs.ru.nl
Joost Rijneveld
joost@joostrijneveld.nl
This work is supported by the European Regional Development Fund (ERDF), Rijksoverheid, and Province of Gelderland, as part of the project Charge & Go.
2/40 Pol Van Aubel
Overview
The EV-charging infrastructure The need for security End-to-end security Conclusions
Where is the EV-charging infrastructure?
Source: openchargemap.io
3/40 Pol Van Aubel
Where is the EV-charging infrastructure?
Source: openchargemap.io
4/40 Pol Van Aubel
Where is the EV-charging infrastructure?
Source: openchargemap.io
5/40 Pol Van Aubel
Where is the EV-charging infrastructure?
Source: openchargemap.io
6/40 Pol Van Aubel
Where is the EV-charging infrastructure?
Source: openchargemap.io
7/40 Pol Van Aubel
What is the EV-charging infrastructure?
Source: EV Related Protocol Study – ElaadNL
8/40 Pol Van Aubel
Most important aspects
9/40 Pol Van Aubel
Most important aspects
9/40 Pol Van Aubel
Overview
The EV-charging infrastructure The need for security End-to-end security Conclusions
What could go wrong?
10/40 Pol Van Aubel
What could go wrong?
10/40 Pol Van Aubel
What could go wrong?
10/40 Pol Van Aubel
What could go wrong?
– “Chaos Computer Club hacks e-motor charging stations” https://www.ccc.de/en/updates/2017/e-motor
10/40 Pol Van Aubel
What could go wrong?
– “Chaos Computer Club hacks e-motor charging stations” https://www.ccc.de/en/updates/2017/e-motor
10/40 Pol Van Aubel
What could go wrong?
– “Chaos Computer Club hacks e-motor charging stations” https://www.ccc.de/en/updates/2017/e-motor
– Horus Scenario: hacking PV-installations https://horusscenario.com/
10/40 Pol Van Aubel
What could go wrong?
– “Chaos Computer Club hacks e-motor charging stations” https://www.ccc.de/en/updates/2017/e-motor
– Horus Scenario: hacking PV-installations https://horusscenario.com/ – “Public Plug-in Electric Vehicles + Grid Data: Is a New Cyberattack Vector Viable?” https://arxiv.org/abs/1907.08283
10/40 Pol Van Aubel
What could go wrong?
11/40 Pol Van Aubel
What could go wrong?
– Customer location is sensitive information!
11/40 Pol Van Aubel
What could go wrong?
– Customer location is sensitive information! – What other information should be secret?
11/40 Pol Van Aubel
What could go wrong?
– Customer location is sensitive information! – What other information should be secret? – GDPR compliance is not straightforward.
11/40 Pol Van Aubel
Current state of security
12/40 Pol Van Aubel
Current state of security
12/40 Pol Van Aubel
Envisioned state of security
13/40 Pol Van Aubel
Envisioned state of security
13/40 Pol Van Aubel
Envisioned state of security
13/40 Pol Van Aubel
Are we done then? CPO
I S O 1 5 1 1 8
eMSP
O C P I O C P P
EV Charge Point
14/40 Pol Van Aubel
Are we done then? CPO
I S O 1 5 1 1 8
eMSP
O C P I O C P P
EV Charge Point
TLS TLS TLS TLS TLS
15/40 Pol Van Aubel
We’re not done
16/40 Pol Van Aubel
We’re not done
16/40 Pol Van Aubel
Trust
We have to trust that every party
17/40 Pol Van Aubel
Trust
We have to trust that every party
17/40 Pol Van Aubel
Trust
We have to trust that every party
17/40 Pol Van Aubel
Trust
We have to trust that every party
17/40 Pol Van Aubel
Trust
We have to trust that every party
for whatever reason.
17/40 Pol Van Aubel
Overview
The EV-charging infrastructure The need for security End-to-end security Conclusions
What is end-to-end security?
Main aspects:
18/40 Pol Van Aubel
What is end-to-end security?
Main aspects:
18/40 Pol Van Aubel
What is end-to-end security?
Main aspects:
18/40 Pol Van Aubel
What is end-to-end security?
Main aspects:
18/40 Pol Van Aubel
What is end-to-end security?
Main aspects:
– from the initial sending party on one side,
18/40 Pol Van Aubel
What is end-to-end security?
Main aspects:
– from the initial sending party on one side, – to the eventual receiving party on the other side,
18/40 Pol Van Aubel
What is end-to-end security?
Main aspects:
– from the initial sending party on one side, – to the eventual receiving party on the other side, – regardless of how many parties are in between.
18/40 Pol Van Aubel
This is not end-to-end! CPO
I S O 1 5 1 1 8
eMSP
O C P I O C P P
EV Charge Point
TLS TLS TLS TLS TLS
19/40 Pol Van Aubel
And it doesn’t provide non-repudiation!
20/40 Pol Van Aubel
And it doesn’t provide non-repudiation!
20/40 Pol Van Aubel
And it doesn’t provide non-repudiation!
– (very useful in disputes!)
20/40 Pol Van Aubel
An example message
EV ID Time CP Location Contract ID €/kWh 101 2019-09-30 14:50 51°49'30.6"N 5°52'06.5"E 12501932 0.21 Charge Session Start sent from EV to CPO
21/40 Pol Van Aubel
An example message
EV ID Time CP Location Contract ID €/kWh 101 2019-09-30 14:50 51°49'30.6"N 5°52'06.5"E 12501932 0.21 Charge Session Start sent from EV to CPO EV ID Time Contract ID €/kWh 101 2019-09-30 14:50 12501932 0.21 Charge Session Start sent from CPO to eMSP
21/40 Pol Van Aubel
An example message
EV ID Time CP Location Contract ID €/kWh 101 2019-09-30 14:50 51°49'30.6"N 5°52'06.5"E 12501932 0.21 Charge Session Start sent from EV to CPO EV ID Time Contract ID €/kWh 101 2019-09-30 14:50 12501932 0.21 Charge Session Start sent from CPO to eMSP
CP Location is dropped because the eMSP doesn’t need it.
21/40 Pol Van Aubel
Adding authenticity & non-repudiation – naïvely
EV ID Time CP Location Contract ID €/kWh 101 2019-09-30 14:50 51°49'30.6"N 5°52'06.5"E 12501932 0.21 Charge Session Start sent from EV to CPO
22/40 Pol Van Aubel
Adding authenticity & non-repudiation – naïvely
EV ID Time CP Location Contract ID €/kWh 101 2019-09-30 14:50 51°49'30.6"N 5°52'06.5"E 12501932 0.21 Charge Session Start sent from EV to CPO EV ID Time Contract ID €/kWh 101 2019-09-30 14:50 12501932 0.21 Charge Session Start sent from CPO to eMSP
22/40 Pol Van Aubel
Adding authenticity & non-repudiation – naïvely
EV ID Time CP Location Contract ID €/kWh 101 2019-09-30 14:50 51°49'30.6"N 5°52'06.5"E 12501932 0.21 Charge Session Start sent from EV to CPO EV ID Time Contract ID €/kWh 101 2019-09-30 14:50 12501932 0.21 Charge Session Start sent from CPO to eMSP
CP Location cannot be dropped because that invalidates the signature!
22/40 Pol Van Aubel
Requirements:
23/40 Pol Van Aubel
Requirements:
23/40 Pol Van Aubel
Requirements:
23/40 Pol Van Aubel
Requirements:
– GDPR-compliance: data must be removed if no longer needed
23/40 Pol Van Aubel
Requirements:
– GDPR-compliance: data must be removed if no longer needed – Hard to achieve with normal signatures
23/40 Pol Van Aubel
Requirements:
– GDPR-compliance: data must be removed if no longer needed – Hard to achieve with normal signatures
23/40 Pol Van Aubel
Requirements:
– GDPR-compliance: data must be removed if no longer needed – Hard to achieve with normal signatures
sent)
23/40 Pol Van Aubel
How do we solve this? Two signatures?
EV ID Time Contract ID €/kWh 101 2019-09-30 14:50 12501932 0.21 Charge Session Start sent from EV to CPO EV ID Time CP Location 101 2019-09-30 14:50 51°49'30.6"N 5°52'06.5"E
24/40 Pol Van Aubel
How do we solve this? Two signatures?
EV ID Time Contract ID €/kWh 101 2019-09-30 14:50 12501932 0.21 Charge Session Start sent from EV to CPO EV ID Time CP Location 101 2019-09-30 14:50 51°49'30.6"N 5°52'06.5"E Contract ID €/kWh 12501932 0.21 Charge Session Start sent from EV to CPO EV ID Time CP Location 101 2019-09-30 14:50 51°49'30.6"N 5°52'06.5"E
24/40 Pol Van Aubel
How do we solve this? Two signatures?
EV ID Time Contract ID €/kWh 101 2019-09-30 14:50 12501932 0.21 Charge Session Start sent from EV to CPO EV ID Time CP Location 101 2019-09-30 14:50 51°49'30.6"N 5°52'06.5"E Contract ID €/kWh 12501932 0.21 Charge Session Start sent from EV to CPO EV ID Time CP Location 101 2019-09-30 14:50 51°49'30.6"N 5°52'06.5"E Contract ID €/kWh 12501932 0.21 Charge Session Start sent from CPO to eMSP EV ID Time 101 2019-09-30 14:50
24/40 Pol Van Aubel
This works, but. . .
25/40 Pol Van Aubel
This works, but. . .
25/40 Pol Van Aubel
One signature using a hash tree
Contract ID €/kWh 12501932 0.21 Signed Charge Session Start EV ID Time CP Location 101 2019-09-30 14:50 51°49'30.6"N 5°52'06.5"E
26/40 Pol Van Aubel
We take the hashes of individual data fields
Contract ID €/kWh 12501932 0.21 Signed Charge Session Start EV ID Time CP Location 101 2019-09-30 14:50 51°49'30.6"N 5°52'06.5"E a81f9da8
27/40 Pol Van Aubel
Build the collection of hashes. . .
Contract ID €/kWh 12501932 0.21 Signed Charge Session Start EV ID Time CP Location 101 2019-09-30 14:50 51°49'30.6"N 5°52'06.5"E a81f9da8 d32dd76 1338492f
28/40 Pol Van Aubel
For each party that needs a signature
Contract ID €/kWh 12501932 0.21 Signed Charge Session Start EV ID Time CP Location 101 2019-09-30 14:50 51°49'30.6"N 5°52'06.5"E a81f9da8 d32dd76 1338492f 31fa9918 13aabd8f 2aa81355 433fccd9
29/40 Pol Van Aubel
Then we hash those collections again. . .
Contract ID €/kWh 12501932 0.21 Signed Charge Session Start EV ID Time CP Location 101 2019-09-30 14:50 51°49'30.6"N 5°52'06.5"E a81f9da8 d32dd76 1338492f 31fa9918 13aabd8f a6189fee 2aa81355 433fccd9
30/40 Pol Van Aubel
Into a final couple of hashes
Contract ID €/kWh 12501932 0.21 Signed Charge Session Start EV ID Time CP Location 101 2019-09-30 14:50 51°49'30.6"N 5°52'06.5"E a81f9da8 d32dd76 1338492f 31fa9918 13aabd8f a6189fee 8aa19330 2aa81355 433fccd9
31/40 Pol Van Aubel
And sign those hashes
Contract ID €/kWh 12501932 0.21 Signed Charge Session Start EV ID Time CP Location 101 2019-09-30 14:50 51°49'30.6"N 5°52'06.5"E a81f9da8 d32dd76 1338492f 31fa9918 13aabd8f a6189fee 8aa19330 2aa81355 433fccd9
32/40 Pol Van Aubel
Overhead is minimized
Contract ID €/kWh Apf8da;w3 23gaw Signed Charge Session Start sent by EV to CPO EV ID Time 101 2019-09-30 14:50 CP Location 51°49'30.6"N 5°52'06.5"E 8aa19330 eMSP Hash
33/40 Pol Van Aubel
CPO verification
Contract ID €/kWh Apf8da;w3 23gaw Signed Charge Session Start verified by CPO EV ID Time 101 2019-09-30 14:50 CP Location 51°49'30.6"N 5°52'06.5"E 8aa19330 eMSP Hash a81f9da8 d32dd76 1338492f
34/40 Pol Van Aubel
CPO verification
Contract ID €/kWh Apf8da;w3 23gaw Signed Charge Session Start verified by CPO EV ID Time 101 2019-09-30 14:50 CP Location 51°49'30.6"N 5°52'06.5"E 8aa19330 eMSP Hash a81f9da8 d32dd76 1338492f a6189fee 8aa19330
35/40 Pol Van Aubel
Dropping & encrypting data now works
Contract ID €/kWh Apf8da;w3 23gaw Signed Charge Session Start sent by CPO to eMSP EV ID Time 101 2019-09-30 14:50 a6189fee CPO Hash
36/40 Pol Van Aubel
eMSP verification
Contract ID €/kWh 12501932 0.21 Signed Charge Session Start verified by eMSP EV ID Time 101 2019-09-30 14:50 31fa9918 13aabd8f 2aa81355 433fccd9 a6189fee CPO Hash
37/40 Pol Van Aubel
eMSP verification
Contract ID €/kWh 12501932 0.21 Signed Charge Session Start verified by eMSP EV ID Time 101 2019-09-30 14:50 31fa9918 13aabd8f a6189fee 8aa19330 2aa81355 433fccd9 a6189fee CPO Hash
38/40 Pol Van Aubel
Cryptographic details
– Cryptographic algorithms from TLS – Public key infrastructure – JSON message formatting
39/40 Pol Van Aubel
Overview
The EV-charging infrastructure The need for security End-to-end security Conclusions
Conclusions
40/40 Pol Van Aubel
Conclusions
40/40 Pol Van Aubel
Conclusions
40/40 Pol Van Aubel
Conclusions
40/40 Pol Van Aubel
Conclusions
40/40 Pol Van Aubel
Conclusions
40/40 Pol Van Aubel
Conclusions
40/40 Pol Van Aubel
Conclusions
40/40 Pol Van Aubel