Schematizing Trust in Named Data Networking
Yingdi Yu1, Alex Afanasyev1, David Clark2, kc claffy3, Van Jacobson1, Lixia Zhang1
- 1. UCLA 2. MIT 3. CAIDA
1
Schematizing Trust in Named Data Networking Yingdi Yu 1 , Alex - - PowerPoint PPT Presentation
Schematizing Trust in Named Data Networking Yingdi Yu 1 , Alex Afanasyev 1 , David Clark 2 , kc claffy 3 , Van Jacobson 1 , Lixia Zhang 1 1. UCLA 2. MIT 3. CAIDA 1 Motivation Usability is critical to security solutions
1
2
3
Name Content Signature KeyLocator Data packet
…
Name Content Signature KeyLocator Data packet (key) Name Content Signature KeyLocator Data packet (key)
retrieve data retrieve public key
4
5
/a/blog/KEY/1 / a / b l
/ a d m i n / C a r l / K E Y / 3 7
Content (public key) Signature
/ a / b l
/ K E Y / 1 /a/blog/admin/Bob/KEY/5
C
t e n t ( p u b l i c k e y ) S i g n a t u r e
/a/blog/admin/Carl/KEY/37 / a / b l
/ a u t h
/ A l i c e / K E Y / 2 2
C
t e n t ( p u b l i c k e y ) S i g n a t u r e
/ a / b l
/ a d m i n / B
/ K E Y / 5 / a / b l
/ a r t i c l e / f
/ 2 1 5 / 3
C
t e n t ( a r t i c l e ) S i g n a t u r e
/ a / b l
/ a u t h
/ A l i c e / K E Y / 2 2
6
7
Authors Admins Blog Website Articles
configured by authorize to publish enable other
8
/a/blog Articles /a/blog/article /a/blog/author Authors /a/blog/admin Admins
signs /a/blog/admin/Carl/KEY/37 /a/blog/admin/Bob/KEY/5 /a/blog/KEY/1 /a/blog/author/Alice/KEY/22 /a/blog/article/food/2015/1 signs signs signs
9
Articles /a/blog/article /a/blog/author /a/blog/admin /a/blog
signs signs signs
Admins Authors /a/blog/article/food/2015/1 /a/blog/admin/Carl/KEY/37 /a/blog/KEY/1 /a/blog/author/Alice/KEY/22 /a/blog/admin/Bob/KEY/5
signs
/a/blog/author/Alice/KEY/22 /a/blog/article/food/2015/3 /a/blog/author/Zach/KEY/5 /a/blog/article/drink/2014/9
10
/a/blog/author/Alice/KEY/22 /a/blog/article/food/2015/3 /a/blog/author/Zach/KEY/5 /a/blog/article/drink/2014/9 blog_prefix + "blog" + "author" + name + "KEY" + key_id blog_prefix + "blog" + "article" + category + misc_info \1<blog><author>[user]<KEY>[Id] (<>*)<blog><article>[category]<><>
Data Name Key Name article (<>*)<blog><article>[category]<><> author(\1) author (<>*)<blog><author>[user]<KEY>[id]
11
Articles /a/blog/article /a/blog/author /a/blog/admin /a/blog
signs signs signs
Admins Authors /a/blog/article/food/2015/1 /a/blog/admin/Carl/KEY/37 /a/blog/KEY/1 /a/blog/author/Alice/KEY/22 /a/blog/admin/Bob/KEY/5
signs
/ a / b l
/ a r t i c l e / f
/ 2 1 5 / 3
C
t e n t ( a r t i c l e ) S i g n a t u r e
/ a / b l
/ a u t h
/ A l i c e / K E Y / 2 2
<a><blog><author>[user]<KEY>[id]
Data Name Key Name article (<>*)<blog><article>[category]<><> author(\1) author (<>*)<blog><author>[user]<KEY>[id]
12
Articles /a/blog/article /a/blog/author /a/blog/admin /a/blog
signs signs signs
Admins Authors /a/blog/article/food/2015/1 /a/blog/admin/Carl/KEY/37 /a/blog/KEY/1 /a/blog/author/Alice/KEY/22 /a/blog/admin/Bob/KEY/5
signs
/ a / b l
/ a u t h
/ E v e / K E Y / 1 1
C
t e n t ( a r t i c l e ) S i g n a t u r e
/ a / b l
/ a u t h
/ A l i c e / K E Y / 2 2
Data Name Key Name article (<>*)<blog><article>[category]<><> author(\1) author (<>*)<blog><author>[user]<KEY>[id] admin(\1) admin (<>*)<blog><admin>[user]<KEY>[id]
13
Articles /a/blog/article /a/blog/author /a/blog/admin /a/blog
signs signs signs
Admins Authors /a/blog/article/food/2015/1 /a/blog/admin/Carl/KEY/37 /a/blog/KEY/1 /a/blog/author/Alice/KEY/22 /a/blog/admin/Bob/KEY/5
signs
/ a / b l
/ a u t h
/ A l i c e / K E Y / 2 2
Content (public key) Signature
/ a / b l
/ a d m i n / B
/ K E Y / 5
Data Name Key Name article (<>*)<blog><article>[category]<><> author(\1) author (<>*)<blog><author>[user]<KEY>[id] admin(\1) admin (<>*)<blog><admin>[user]<KEY>[id] admin(\1)
14
Articles /a/blog/article /a/blog/author /a/blog/admin /a/blog
signs signs signs
Admins Authors /a/blog/article/food/2015/1 /a/blog/admin/Carl/KEY/37 /a/blog/KEY/1 /a/blog/author/Alice/KEY/22 /a/blog/admin/Bob/KEY/5
signs
/a/blog/admin/Bob/KEY/5
Content (public key) Signature
/a/blog/admin/Carl/KEY/37
Data Name Key Name article (<>*)<blog><article>[category]<><> author(\1) author (<>*)<blog><author>[user]<KEY>[id] admin(\1) admin (<>*)<blog><admin>[user]<KEY>[id] admin(\1)
15
Articles /a/blog/article /a/blog/author /a/blog/admin /a/blog
signs signs signs
Admins Authors /a/blog/article/food/2015/1 /a/blog/admin/Carl/KEY/37 /a/blog/KEY/1 /a/blog/author/Alice/KEY/22 /a/blog/admin/Bob/KEY/5
signs
/ a / b l
/ a d m i n / C a r l / K E Y / 3 7
C
t e n t ( p u b l i c k e y ) S i g n a t u r e
/ a / b l
/ K E Y / 1
Data Name Key Name article (<>*)<blog><article>[category]<><> author(\1) author (<>*)<blog><author>[user]<KEY>[id] admin(\1) admin (<>*)<blog><admin>[user]<KEY>[id] admin(\1) root(\1)
16
Key Name Key root (<>*)<blog><KEY>[id] /a/blog/KEY/1 (0x30 0x82 ...)
Different trust anchor for different blog website
Data Name Key Name article (<>*)<blog><article>[category]<><> author(\1) author (<>*)<blog><author>[user]<KEY>[id] admin(\1) admin (<>*)<blog><admin>[user]<KEY>[id] admin(\1) root(\1)
17
Key Name Key root (<>*)<blog><KEY>[id] /another/blog/KEY/1 (0x43 0x5a ...)
/another/blog/article/drink/ 2014/3 /another/blog/author/Jason/ KEY/25 /another/blog/admin/Mark/ KEY/2 /another/blog/admin/Karl/ KEY/73
18
TPM Signing Interpreter unsigned data signed data private key
root
author article admin
Authenticating Interpreter signed data public keys ... requests for public keys root
author article admin
Authentication Signing
19
article author
/a/blog/article/snacks/2015/3 <a><blog><author>[user]<KEY>[id]
Derive key name for the article 1 Lookup key in TPM 2
<a><blog><admin>[user]<KEY>[id]
Derive key name for author’s key 3
/a/blog/admin/Alex/KEY/5
Lookup key in TPM 4
/a/blog/author/Alex/KEY/40
Expand author’s key name and generate key 5
/a/blog/article/snacks/2015/3
Sign data 6
20
21
22