KTH ROYAL INSTITUTE OF TECHNOLOGY
SECMACE: Scalable and Robust Identity and Credential Management Infrastructure in Vehicular Communication Systems
- M. Khodaei, H. Jin and P
SECMACE: Scalable and Robust Identity and Credential Management - - PowerPoint PPT Presentation
KTH ROYAL INSTITUTE OF TECHNOLOGY SECMACE: Scalable and Robust Identity and Credential Management Infrastructure in Vehicular Communication Systems M. Khodaei, H. Jin and P . Papadimitratos Networked Systems Security Group (NSS) In IEEE
KTH ROYAL INSTITUTE OF TECHNOLOGY
◮ Certification Authority (CA) ◮ Issues credentials & binds users to their pseudonyms 1P . Papadimitratos, et al. “Securing Vehicular Communications - Assumptions, Require- ments, and Principles,” in ESCAR, Berlin, Germany, pp. 5-14, Nov. 2006. P . Papadimitratos, et al. “Secure Vehicular Communication Systems: Design and Architec- ture,” in IEEE Communications Magazine, vol. 46, no. 11, pp. 100-109, Nov. 2008.
◮ User privacy protection against “honest-but-curious” entities ◮ User privacy enhancement and service unlinkability
◮ How should each vehicle interact with the VPKI, e.g., how
◮ Should each vehicle itself determine the pseudonym
◮ Anonymity (conditional) ◮ Unlinkability
Root Certification Authority (RCA)
Long Term CA (LTCA)
Pseudonym CA (PCA)
Resolution Authority (RA)
Lightweight Directory Access Protocol (LDAP)
Roadside Unit (RSU)
Trust established with RCA, or through cross certification
RSU 3/4/5G
PCA LTCA PCA LTCA RCA PCA LTCA B A A certifies B Cross-certification Communication link Domain A Domain B Domain C RA RA RA B
X-Cetify
LDAP LDAP Message dissemination {Msg}(Piv),{Pi
v}(PCA)
{Msg}(Piv),{Pi
v}(PCA)
F-LTCA PCA H-LTCA RCA B A A certifies B Communication link Home Domain (A) Foreign Domain (B) LDAP PCA RA RA
Trip Duration
τP
τP
τP
τP
τP
τP
τP
τP
τP
τP
τP
τP
τP
τP
τP
τP
τP
τP
τP
Unused Pseudonyms
tstart
Expired Pseudonym
tend
Protocol 1 Ticket Request (from the LTCA)
1: procedure REQTICKET(Px, ΓPx, ts, te, tdate) 2:
if Px = P1 then
3:
(ts, te) ← (ts, te)
4:
else if Px = P2 then
5:
(ts, te) ← (ts, ts + ΓP2)
6:
else if Px = P3 then
7:
(ts, te) ← (tdate + Γi
P3), tdate + Γi+1 P3 )
8:
end if
9:
ζ ← (Idtkt-req, H(IdPCARndtkt), ts, te)
10:
(ζ)σv ← Sign(Lkv, ζ)
11:
return ((ζ)σv , LTCv, N, tnow)
12: end procedure
Run over Transport Layer Security (TLS) with mutual authentication
Protocol 2 Issuing a Ticket (by the LTCA)
1: procedure ISSUETICKET((msg)σv , LTCv, N, tnow) 2:
Verify(LTCv, (msg)σv )
3:
IKtkt ← H(LTCv||ts||te||RndIKtkt)
4:
ζ ← (SN, H(IdPCARndtkt), IKtkt, RndIKtkt, ts, te, Exptkt)
5:
(tkt)σltca ← Sign(Lkltca, ζ)
6:
return ((tkt)σltca, N + 1, tnow)
7: end procedure
“ticket identifiable key” (IKtkt) binds a ticket to the corresponding LTC
Preventing a compromised LTCA from mapping a different LTC during resolution process
Protocol 3 Pseudonym Request (from the PCA)
1: procedure REQPSNYMS(ts, te, (tkt)σltca) 2:
for i:=1 to n do
3:
Begin
4:
Generate(K i
v, ki v)
5:
(K i
v)σki
v ← Sign(ki
v, K i v)
6:
End
7:
psnymReq ← (Idreq, Rndtkt, ts, te, (tkt)σltca, {(K 1
v )σk1
v , ..., (K n
v )σkn
v }, N, tnow)
8:
return psnymReq
9: end procedure
Run over TLS with unidirectional (server-only) authentication
Protocol 4 Issuing Pseudonyms (by the PCA)
1: procedure ISSUEPSNYMS(psnymReq) 2:
psnymReq → (Idreq, Rndtkt, ts, te, (tkt)σltca, {(K 1
v )σk1
v , ..., (K n
v )σkn
v }, N, tnow)
3:
Verify(LTCltca, (tkt)σltca)
4:
H(Idthis-PCARndtkt) ? = H(IdPCARndtkt)
5:
[ts, te] ? = ([ts, te])tkt
6:
for i:=1 to n do
7:
Begin
8:
Verify(K i
v, (K i v)σki
v )
9:
IKPi ← H(IKtkt||K i
v||ti s||ti e||RndIK i
v)
10:
ζ ← (SNi, K i
v, IKPi, RndIK i
v , ti
s, ti e)
11:
(Pi
v)σpca ← Sign(Lkpca, ζ)
12:
End
13:
return ({(P1
v )σpca, . . . , (Pn v )σpca}, N+1, tnow)
14: end procedure
“pseudonym identifiable key” (IKPi ) binds a pseudonym to the corresponding ticket
Preventing a compromised PCA from mapping a different ticket during resolution process
v)σk1
v , ..., (Kn
v )σkn
v }, N ′, t
v)
v , . . . , P n v }, N ′ + 1, t
256), Rnd256, N, t
256, ts′, te′, {(K1 v)σk1
v , ..., (Kn
v )σkn
v }, N ′, t
v)
v , . . . , P n v }, N ′ + 1, t
◮ Certificates, TLS and digital signatures
◮ LTCA is the policy decision and enforcement point ◮ PCA grants the service ◮ Security association discovery through LDAP
◮ Sending H(PCAid Rnd256), ts, te, LTCv to the H-LTCA ◮ PCA verifies if [t′ s, t′ e] ⊆ [ts, te]
◮ LTCA never issues valid tickets with overlapping lifetime (for a given
◮ A ticket is bound to a specific PCA ◮ PCA keeps records of ticket usage
5 10 15 20 25 30 35 40 45 50 55 60 System Time [min.] 1 2 3 4 5 6 7 8 9 10
τP= 5 min.
5 10 15 20 25 30 35 40 45 50 55 60 System Time [min.] 1 2 3 4 5 6 7 8 9 10
τP= 5 min., ΓP2= 15min.
5 10 15 20 25 30 35 40 45 50 55 60 System Time [min.] 1 2 3 4 5 6 7 8 9 10
τP= 5 min., ΓP3= 15min.
(a) P1: User-controlled policy (b) P2: Oblivious policy (c) P3: Universally fixed policy
◮ Implementation in C++ ◮ OpenSSL: TLS and Elliptic Curve Digital Signature Algorithm (ECDSA)-256 according to the standard [1]
◮ Varies depending on the actual OBU-VPKI connectivity ◮ Reliable connectivity to the VPKI (e.g., RSU, Cellular, opportunistic WiFi)
LTCA PCA RA Clients VM Number 2 5 1 25 Dual-core CPU (Ghz) 2.0 2.0 2.0 2.0 BogoMips 4000 4000 4000 4000 Memory 2GB 2GB 1GB 1GB Database MySQL MySQL MySQL MySQL Web Server Apache Apache Apache
Apache Apache
◮ Pseudonym provision ◮ Performing a DDoS attack
TAPASCologne LuST [5] Number of vehicles 75,576 138,259 Number of trips 75,576 287,939 Duration of snapshot (hour) 24 24 Available duration of snapshot (hour) 2 (6-8 AM) 24 Average trip duration (sec.) 590.49 692.81 Total trip duration (sec.) 44,655,579 102,766,924
◮ End-to-end pseudonym
LTCA PCA Client Number of entities 1 1 1 Dual-core CPU (Ghz) 2.0 2.0 2.0 BogoMips 4000 4000 4000 Memory 2GB 2GB 1GB Database MySQL MySQL MySQL
TAPASCologne dataset LuST dataset
20 40 60 80 100 120
System Time [min.]
20 40 60 80 100 120 140
End-to-End Latency [ms] User-controlled Policy (P1): 1 LTCA and 1 PCA
τP= 0.5 min. τP= 5 min.
200 400 600 800 1000 1200 1400
System Time [min.]
20 40 60 80 100 120 140
End-to-End Latency [ms] User-controlled Policy (P1): 1 LTCA and 1 PCA
τP= 0.5 min. τP= 5 min.
20 40 60 80 100 120
System Time [min.]
20 40 60 80 100 120 140
End-to-End Latency [ms] Oblivious Policy (P2): 1 LTCA and 1 PCA
τP= 0.5 min. τP= 5 min.
200 400 600 800 1000 1200 1400
System Time [min.]
20 40 60 80 100 120 140
End-to-End Latency [ms] Oblivious Policy (P2): 1 LTCA and 1 PCA
τP= 0.5 min. τP= 5 min.
20 40 60 80 100 120
System Time [min.]
20 40 60 80 100 120 140
End-to-End Latency [ms] Universally Fixed Policy (P3): 1 LTCA and 1 PCA
τP= 0.5 min. τP= 5 min.
200 400 600 800 1000 1200 1400
System Time [min.]
20 40 60 80 100 120 140
End-to-End Latency [ms] Universally Fixed Policy (P3): 1 LTCA and 1 PCA
τP= 0.5 min. τP= 5 min.
1 2 3 4 5 6 7 8 9 10
Pseudonym Lifetime [min.]
10 20 30 40 50 60 70 80
Average End-to-End Latency [ms]
Average End-to-End Latency Comparison of P1, P2 and P3
200 400 600 800 1000 1200
Pseudonym Lifetime [sec.]
5 10 15 20
Average Number of Unused Pseudonyms Pseudonym Utilization with Oblivious Policy (P2)
ΓP2= 5 min. ΓP2= 10 min. ΓP2= 15 min. ΓP2= 20 min.
200 400 600 800 1000 1200
Pseudonym Lifetime [sec.]
5 10 15 20
Average Number of Unused Pseudonyms Pseudonym Utilization with Universally Fixed Policy (P3)
ΓP3= 5 min. ΓP3= 10 min. ΓP3= 15 min. ΓP3= 20 min. P2: Oblivious Policy P3: Universally Fixed Policy
200 400 600 800 1000 Faked Requests [per sec.] 50 100 150 200 250 300 350 400 Overhead [ms]
The VPKI Servers under a DDoS Attack: 1 LTCA and 1 PCA
No countermeasure With countermeasure (L=5)
50 100 150 200 250 300
Processing Delay [ms]
0.00 0.20 0.40 0.60 0.80 0.95 1.00
Cumulative Probability LTCA Server Performance: LuST Dataset
1 2 3 4 0.00 0.20 0.40 0.60 0.80 0.95
50 100 150 200
Processing Delay [ms]
0.0 0.2 0.4 0.6 0.8 1.0
Cumulative Probability PCA Server Performance: LuST Dataset
τP= 1 min τP= 3 min τP= 5 min 10 20 30 40 50 0.00 0.20 0.40 0.60 0.80 0.95 Obtaining a Certificate Revocation List (CRL) Online Certificate Status Protocol (OCSP) validation
0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8
End-to-End Latency [sec.]
0.00 0.20 0.40 0.60 0.80 0.95 1.00
Cumulative Probability Obtaining CRL from a PCA: LuST dataset
10K revoked pseudonyms 25K revoked pseudonyms 50K revoked pseudonyms 100K revoked pseudonyms
200 400 600 800 1000 1200 1400
System Time [min.]
10 20 30 40 50 60 70 80
End-to-End Latency [ms] OCSP Validation with 1 PCA: LuST dataset
1 pseudonym per request 100 pseudonyms per request 500 pseudonyms per request Obtaining a CRL OCSP validation
0.01 0.05 0.1 0.5 1 5 Number of Pseudonyms in the PCA Database (×106)
50 100 150 200
End-to-End Latency [ms]
Resolution & Revocation in a Single Domain Client Side Operations All RA Operations All PCA Operations All LTCA Operations 0.01 0.05 0.1 0.5 1 5
Number of Pseudonyms in the PCA Database (×106)
50 100 150 200
End-to-End Latency [ms]
Resolution & Revocation Across Domains
Client Side Operations All RA Operations All PCA Operations All LTCA Operations All Cross Domain Operations
Single Domain Operation Across Domains Operation
◮ Honest-but-curious system entities ◮ Eliminating pseudonym linking based on timing information
◮ Efficiency, scalability, and robustness ◮ Achieving significant performance improvement ◮ Modest VMs can serve sizable areas or domain
[1] “IEEE Standard for Wireless Access in Vehicular Environments - Security Services for Applications and Management Messages,” IEEE Std 1609.2-2016 (Revision of IEEE Std 1609.2-2013), Mar. 2016. [2]
Certificate Formats, Standard, TC ITS,” Apr. 2013. [3] Car-to-Car Communication Consortium (C2C-CC), June 2013. [Online]. Available: http://www.car-2-car.org/ [4]
V2V Communications,” in IEEE VNC, Boston, MA, pp. 1–8, Dec. 2013. [5]
for Vehicular Networking Research,” in IEEE VNC, Kyoto, Japan, pp. 1–8, Dec. 2015.
[6]
. Papadimitratos, “VeSPA: Vehicular Security and Privacy-preserving Architecture,” in Proceedings of the 2nd ACM workshop on Hot topics on wireless network security and privacy, Budapest, Hungary, pp. 19–24, Apr. 2013. [7]
. Papadimitratos, “SEROSA: SERvice Oriented Security Architecture for Vehicular Communications,” in IEEE VNC, Boston, MA, USA, Dec. 2013. [8]
Vehicular Ad-Hoc Networks (VANET),” in IEEE VNC, Paderborn, Germany, Dec. 2014. [9] “Preparing Secure Vehicle-to-X Communication Systems - PRESERVE.” [Online]. Available: http://www.preserve-project.eu/ [10]
PKI (VPKI),” Master’s thesis, Lab of Communication Networks (LCN), KTH University, Oct. 2012.
[11]
. Papadimitratos, “Towards Deploying a Scalable & Robust Vehicular Identity and Credential Management Infrastructure,” in IEEE Vehicular Networking Conference (VNC), Paderborn, Germany, pp. 33–40, Dec. 2014. [12]
. Papadimitratos, “The Key to Intelligent Transportation: Identity and Credential Management in Vehicular Communication Systems,” IEEE VT Magazine, vol. 10, no. 4, pp. 63–69,
[13] ——, “Evaluating On-demand Pseudonym Acquisition Policies in Vehicular Communication Systems,” in Proceedings of the First International Workshop on Internet of Vehicles and Vehicles of Internet, Paderborn, Germany, pp. 7–12, July 2016.