Investigating the OpenPGP Web of Trust Alexander Ulrich, Ralph Holz , - - PowerPoint PPT Presentation

investigating the openpgp web of trust
SMART_READER_LITE
LIVE PREVIEW

Investigating the OpenPGP Web of Trust Alexander Ulrich, Ralph Holz , - - PowerPoint PPT Presentation

Investigating the OpenPGP Web of Trust Alexander Ulrich, Ralph Holz , Peter Hauck, Georg Carle Diskrete Mathematik Universit at T ubingen Netzarchitekturen und Netzdienste Technische Universit at M unchen ESORICS 2011 Alexander


slide-1
SLIDE 1

Investigating the OpenPGP Web of Trust

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle

Diskrete Mathematik Universit¨ at T¨ ubingen Netzarchitekturen und Netzdienste Technische Universit¨ at M¨ unchen

ESORICS 2011

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 1

slide-2
SLIDE 2

Introducing the Web of Trust

PGP/GnuPG (GPG)

Widely used implementations of OpenPGP (authentication & encryption) Often used for e-mail

Web of Trust (WoT)

PKI: everyone can certify anyone else Decentralized Certification Authorities (CAs) allowed: just very active users

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 2

slide-3
SLIDE 3

Web of Trust (WoT): Directed Graph

Alice Bob Charlie Daniel Emile Frank George Henry Ivan Jane Karla Laura Oliver Nate Paul Quentin "signs"

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 3

slide-4
SLIDE 4

Web of Trust (WoT): Directed Graph

Alice Bob Charlie Daniel Emile Frank George Henry Ivan Jane Karla Laura Oliver Nate Paul Quentin

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 3

slide-5
SLIDE 5

Web of Trust (WoT): Directed Graph

Alice Bob Charlie Daniel Emile Frank George Henry Ivan Jane Karla Laura Oliver Nate Paul Quentin

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 3

slide-6
SLIDE 6

Our Questions (Problem Statement)

Analyze the Web of Trust’s graph w.r.t.

Macro structure

How can users profit from the WoT?

Usefulness to users

How effectively can the WoT used?

Robustness

How does the WoT react to changes?

Further Aspects

Social structures? Crypto algorithms?

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 4

slide-7
SLIDE 7

Our Questions (Problem Statement)

Analyze the Web of Trust’s graph w.r.t.

Macro structure

How can users profit from the WoT?

Usefulness to users

How effectively can the WoT used?

Robustness

How does the WoT react to changes?

Further Aspects

Social structures? Crypto algorithms?

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 4

slide-8
SLIDE 8

Our Questions (Problem Statement)

Analyze the Web of Trust’s graph w.r.t.

Macro structure

How can users profit from the WoT?

Usefulness to users

How effectively can the WoT used?

Robustness

How does the WoT react to changes?

Further Aspects

Social structures? Crypto algorithms?

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 4

slide-9
SLIDE 9

Our Questions (Problem Statement)

Analyze the Web of Trust’s graph w.r.t.

Macro structure

How can users profit from the WoT?

Usefulness to users

How effectively can the WoT used?

Robustness

How does the WoT react to changes?

Further Aspects

Social structures? Crypto algorithms?

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 4

slide-10
SLIDE 10

Our Questions (Problem Statement)

Analyze the Web of Trust’s graph w.r.t.

Macro structure

How can users profit from the WoT?

Usefulness to users

How effectively can the WoT used?

Robustness

How does the WoT react to changes?

Further Aspects

Social structures? Crypto algorithms?

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 4

slide-11
SLIDE 11

Background: OpenPGP

Certification

Public/private key pair: pub 2048R/69B003EF User ID: [Ralph Holz, <holz@net.in.tum.de>] Issue a certificate = sign(User ID, public key)

Web of Trust (WoT)

Network of key servers to upload keys Synchronizing Keyservers (SKS) protocol Complete history of the network (SKS knows no ‘delete’ operation!)

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 5

slide-12
SLIDE 12

Trust in OpenPGP

Owner Trust

Alice: “I trust Bob [very much/somewhat/not] to properly identify a person before signing.” Private assessment – stored locally

Valid keys in GnuPG default settings

Path length ≤ 5 Either ‘full’ trust in all owners on path Or ≥ 3 distinct paths with ‘marginal’ trust in owners

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 6

slide-13
SLIDE 13

Deriving Requirements

A good WoT should...

have certification paths between many (all) keys

else it is not useful

have short certification paths

less entities to trust chances of accurately assessing key authenticity

have redundant paths between keys

beneficial for GnuPG trust metric

be robust

removal of a key must have little impact on reachability

capture social relations between users well

trust assessment is easier in communities

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 7

slide-14
SLIDE 14

Deriving Requirements

A good WoT should...

have certification paths between many (all) keys

else it is not useful

have short certification paths

less entities to trust chances of accurately assessing key authenticity

have redundant paths between keys

beneficial for GnuPG trust metric

be robust

removal of a key must have little impact on reachability

capture social relations between users well

trust assessment is easier in communities

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 7

slide-15
SLIDE 15

Deriving Requirements

A good WoT should...

have certification paths between many (all) keys

else it is not useful

have short certification paths

less entities to trust chances of accurately assessing key authenticity

have redundant paths between keys

beneficial for GnuPG trust metric

be robust

removal of a key must have little impact on reachability

capture social relations between users well

trust assessment is easier in communities

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 7

slide-16
SLIDE 16

Deriving Requirements

A good WoT should...

have certification paths between many (all) keys

else it is not useful

have short certification paths

less entities to trust chances of accurately assessing key authenticity

have redundant paths between keys

beneficial for GnuPG trust metric

be robust

removal of a key must have little impact on reachability

capture social relations between users well

trust assessment is easier in communities

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 7

slide-17
SLIDE 17

Deriving Requirements

A good WoT should...

have certification paths between many (all) keys

else it is not useful

have short certification paths

less entities to trust chances of accurately assessing key authenticity

have redundant paths between keys

beneficial for GnuPG trust metric

be robust

removal of a key must have little impact on reachability

capture social relations between users well

trust assessment is easier in communities

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 7

slide-18
SLIDE 18

Deriving Requirements

A good WoT should...

have certification paths between many (all) keys

else it is not useful

have short certification paths

less entities to trust chances of accurately assessing key authenticity

have redundant paths between keys

beneficial for GnuPG trust metric

be robust

removal of a key must have little impact on reachability

capture social relations between users well

trust assessment is easier in communities

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 7

slide-19
SLIDE 19

Let’s Start: Obtaining Our Dataset

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 8

slide-20
SLIDE 20

Used Dataset

Obtained full snapshot of SKS database

Stored relevant key properties in SQL DB Snapshot contains complete history of network Time stamps of key creation, signatures, expiry, revocations, . . .

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 9

slide-21
SLIDE 21

Resulting Key Set

Many keys available on the servers

All keys 2.7 millions Expired, revoked, broken keys 570,000

But not many used for signatures

Keys with incoming or outgoing signatures 325,000 Resulting signatures 817,000

Majority of available keys are not verifiable: no signature chains.

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 10

slide-22
SLIDE 22

Macro Structure

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 11

slide-23
SLIDE 23

Macro Structure

Strongly Connected Components (SCCs)

Alice Bob Charlie Daniel Frank Henry Jane Karla Laura Nate Paul

Within an SCC, there is ≥ 1 signature chain between any key pair.

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 12

slide-24
SLIDE 24

Macro Structure

SCCs are important: mutual authentication only within the same SCC SCCs in the Web of Trust

Largest SCC (LSCC) of just 45,000 keys (!) But there are 240,283 SCCs... ... > 100,000 are single nodes (trivial sub-graphs) ... ≈ 10,000 node pairs

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 13

slide-25
SLIDE 25

Macro Structure: SCC Sizes

1e+00 1e+01 1e+02 1e+03 1e+04 1e+05 component size quantity 1 2 4 8 16 40 117 44952

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 14

slide-26
SLIDE 26

Macro Structure: SCCs and LSCC

1 0 459 413 4 7 8 5 287 233 147 318 153 120 237 151 149 324 236 301 173 167 360 392 430 1 2 1 6 195 2 1 1 9 268 1 4 261 210 160 431 3 3 130 135 190 141 144 133 138 2 3 434 297 9 1 9 0 191 230 312 293 295 437 117 415 111 401 102 381 150 8 7 9 6 484 154 152 3 6 423 8 8 441 366 336 179 300 338 364 429 362 148 139 146 110 203 143 136 433 246 290 258 317 248 410 276 370 358 397 6 9 483 473 399 368 488 334 123 330 255 332 170 479 418 451 223 469 427 254 493 240 242 159 6 4 244 8 1 292 238 414 353 486 487 186 496 299 467 333 331 6 462 337 178 335 386 9 5 245 243 239 241 247 263 369 137 7 7 367 340 365 411 400 8 2 1 8 402 5 3 398 371 417 234 461 294 221 373 249 291 346 447 298 7 3 296 2 4 155 382 396 482 472 428 426 351 322 4 0 166 452 314 464 438 416 443 262 468 132 129 361 205 134 379 377 7 9 2 8 3 4 284 1 2 446 444 432 408 394 6 1 260 100 498 1 3 458 229 1 1 445 306 315 1 7 470 2 2 1 5 2 0 494

SCCs of size > 8 – LSCC in the middle

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 15

slide-27
SLIDE 27

Macro Structure: Pecularities

Links in/out of LSCC (uni-directional!)

LSCC (45,000)

92,000 18,000

Certification Authorities

Prominent: Heise, CACert and DFN-Verein (4,200 keys signed in LSCC) Heise signed 21,000 keys outside LSCC, too

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 16

slide-28
SLIDE 28

Impact on Usability

2.7m keys – just 45,000 really profit from the WoT Significant user activity only in LSCC

Ratio edges/nodes in LSCC is 9.85, and in whole WoT 2.51 Recommendation to new users:

Get a signature from someone in the LSCC Get a signature from a CA

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 17

slide-29
SLIDE 29

Focusing on LSCC

The remainder of this talk will focus on the LSCC We investigate

Usefulness (distances, paths, clustering) Robustness

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 18

slide-30
SLIDE 30

Usefulness: Distances and Node Degrees

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 19

slide-31
SLIDE 31

Nodes reachable via 1,..., 5 hops

CDF for 1-, 2-, ..., 5-neighborhoods

5000 10000 15000 20000 25000 30000 35000 40000 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 number of keys in h-neighborhood Fn(x) h=2 h=3 h=4 h=5

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 20

slide-32
SLIDE 32

Nodes reachable via 1,..., 5 hops

The LSCC is well meshed

2-neighborhood (2 hops)

Mostly very small neighborhood Very few keys can reach a few hundred keys

5-neighborhood (5 hops)

50% chance that a key can reach ≤ 22,000 keys Some keys can reach up to almost 38,000 keys

Significance

Good finding: path lengths not a problem But recall: availability of paths is important, too

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 21

slide-33
SLIDE 33

Node Degrees

GnuPG views redundant paths as beneficial

High indegree: key more likely to be verifiable High outdegree: higher likeliness of redundant paths

Mutual signatures are also beneficial

Improves overall verifiability of keys Strengthens indegree and outdegree

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 22

slide-34
SLIDE 34

Node Indegrees

1 10 100 1000 10000 indegree quantity 1 2 4 7 12 22 41 75 149 332 884

Note: Outdegrees have practically the same distribution

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 23

slide-35
SLIDE 35

Majority of nodes: low in/outdegree

This is a bad finding

Almost half of keys have indegree 1 or 2 About 1/3 of nodes have outdegree 1 or 2 Mutual signatures: only in 50% of cases...

This means: redundant paths are too rare

Verify another key: needs direct signatures Be verifiable: only via very few other keys

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 24

slide-36
SLIDE 36

Robustness: Resilience Against Change

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 25

slide-37
SLIDE 37

Robustness

What happens when keys expire, are revoked, ...

Paths over these keys become invalid Simulated this by randomly removing nodes

Targeted attacks...

Difficult: either compromise the key... ... or delete it on all SKS servers Simulated this: remove nodes with high degree first

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 26

slide-38
SLIDE 38

Remove keys, recompute LSCC size

5000 15000 25000 35000 45000 5000 15000 25000 35000 45000 number of removed keys size LSCC random targeted Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 27

slide-39
SLIDE 39

Removing keys

Random removal (expiry, revocation, ...)

Very robust Need to remove 1/3 of keys to cut LSCC by half

Targeted removal (attack)

Quite robust – decay not too bad Remove all nodes of degree:

> 160 (≈ 0.5% of nodes) → LSCC shrinks to 88% > 18 (≈ 11% of nodes) → LSCC shrinks to 50%

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 28

slide-40
SLIDE 40

Removing keys

Assume CA keys are compromised/revoked

The LSCC does not care: new size at 94.4% Average distances stay the same Many paths around the CAs: they are not critical components

Key removal is not an efficient attack

There are many hubs, and they are inter-connected Not a typical scale-free network

A very good finding for a WoT

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 29

slide-41
SLIDE 41

Further Aspects

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 30

slide-42
SLIDE 42

Communities

Analysis of community structure

The LSCC shows a clear Small World Effect Used two algorithms for community detection Findings:

Very strong community structure Communities often dominated by a top-level domain Second-level domains less clearly identifiable

Details in paper

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 31

slide-43
SLIDE 43

Crypto strength

Algorithms in LSCC

Hash Algorithm Occ. SHA1 89.36% MD5 9.34% SHA256 1.12% Key Algorithm Occ. DSA-1024 81.32% RSA-1024 8.68% RSA-2048 5.36%

Not too much to criticize here

Some RSA keys of ≤ 1,024 bit are well-connected Length of < 768 bit occurs ≈ 500 times (problematic) 1,024 bit not a problem today, but maybe tomorrow Thankfully, few MD5-based signatures

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 32

slide-44
SLIDE 44

Conclusions

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 33

slide-45
SLIDE 45

Conclusions

We have found light and dark

Macro structure

Only users in LSCC really profit from WoT CAs are useful, but not critical

Usefulness

Good reachability via ≤ 5 hops Redundant paths too rare!

Robustness

Very robust against expiration, revocation, ... Key removal is not an efficient attack

WoT works well in ‘close neighborhoods’ of active nodes – but not otherwise.

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 34

slide-46
SLIDE 46

Conclusions

We have found light and dark

Macro structure

Only users in LSCC really profit from WoT CAs are useful, but not critical

Usefulness

Good reachability via ≤ 5 hops Redundant paths too rare!

Robustness

Very robust against expiration, revocation, ... Key removal is not an efficient attack

WoT works well in ‘close neighborhoods’ of active nodes – but not otherwise.

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 34

slide-47
SLIDE 47

Conclusions

We have found light and dark

Macro structure

Only users in LSCC really profit from WoT CAs are useful, but not critical

Usefulness

Good reachability via ≤ 5 hops Redundant paths too rare!

Robustness

Very robust against expiration, revocation, ... Key removal is not an efficient attack

WoT works well in ‘close neighborhoods’ of active nodes – but not otherwise.

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 34

slide-48
SLIDE 48

Conclusions

We have found light and dark

Macro structure

Only users in LSCC really profit from WoT CAs are useful, but not critical

Usefulness

Good reachability via ≤ 5 hops Redundant paths too rare!

Robustness

Very robust against expiration, revocation, ... Key removal is not an efficient attack

WoT works well in ‘close neighborhoods’ of active nodes – but not otherwise.

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 34

slide-49
SLIDE 49

Conclusions

We have found light and dark

Macro structure

Only users in LSCC really profit from WoT CAs are useful, but not critical

Usefulness

Good reachability via ≤ 5 hops Redundant paths too rare!

Robustness

Very robust against expiration, revocation, ... Key removal is not an efficient attack

WoT works well in ‘close neighborhoods’ of active nodes – but not otherwise.

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 34

slide-50
SLIDE 50

Thank you!

Download dataset from pki.net.in.tum.de

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 35

slide-51
SLIDE 51

Backup

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 36

slide-52
SLIDE 52

Network History

Number of keys in WoT and LSCC

time number of keys 1992 1996 2000 2004 2008 500000 1500000 2500000

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 37

slide-53
SLIDE 53

Network History

RSA and DSA keys

1992 1996 2000 2004 2008 10000 20000 30000 40000 time number of new keys DSA RSA

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 38

slide-54
SLIDE 54

Communities Dissection

COPRA and BL: 94% vs. 99% of nodes in communities

  • f size > 3.

Figure: COPRA dissection for communities > 5.

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 39

slide-55
SLIDE 55

Related Work

Capkun et al., 2001

LSCC at 12,000 keys only; claims Small-World Effect and Power Law distribution

Arenas et al., 2004

Investigated network as undirected graph Degree distribution, clustering: Power Law Community Dissection: also claim Power Law

wotsap, Penning

Continous snapshots and some statistics of LSCC Distances, degree distribution, robustness Less in-depth; wotsap extraction algorithm is faulty

Alexander Ulrich, Ralph Holz, Peter Hauck, Georg Carle: Investigating the OpenPGP Web of Trust 40