pgp for smarties

89
PGP for Smarties PGP for Smarties Jan Schaumann <[email protected]> http://etsy.me/TF8k2c B60D A9F7 0D89 544A 7995 7D25 5A5B 4375 275F 0BB5 @jschauma Wednesday, September 5, 12

Upload: jan-schaumann

Post on 29-Nov-2014

2.796 views

Category:

Technology


0 download

DESCRIPTION

An introduction to PGP, public-key cryptography and the web of trust. Also, there's Bacon.

TRANSCRIPT

Page 1: PGP for Smarties

PGP for Smarties

PGP for SmartiesJan Schaumann <[email protected]>

http://etsy.me/TF8k2c

B60D A9F7 0D89 544A 7995 7D25 5A5B 4375 275F 0BB5

@jschauma

Wednesday, September 5, 12

Page 2: PGP for Smarties

PGP for Smarties

08/28/122

http://etsy.me/N1UIjg

Wednesday, September 5, 12

Page 3: PGP for Smarties

PGP for Smarties

08/28/123

http://etsy.me/Tkbefn

Wednesday, September 5, 12

Page 4: PGP for Smarties

PGP for Smarties

08/28/124

Common threats to security:

Wednesday, September 5, 12

Page 5: PGP for Smarties

PGP for Smarties

08/28/125

PGP stands for…

http://etsy.me/SYTYfA

Wednesday, September 5, 12

Page 6: PGP for Smarties

PGP for Smarties

ThePacificGoldenPlover

(Pluvialis fulva) is a

medium-sized plover.

08/28/125

PGP stands for…

http://etsy.me/SYTYfA

Wednesday, September 5, 12

Page 7: PGP for Smarties

PGP for Smarties

08/28/126

Pretty Good Privacy

http://etsy.me/SYVdeP

Wednesday, September 5, 12

Page 8: PGP for Smarties

PGP for Smarties

08/28/127

Pretty Bad Privacy

http://etsy.me/hHFUdi

Wednesday, September 5, 12

Page 9: PGP for Smarties

PGP for Smarties

Definitions

“PGP” == “Pretty Good Privacy”

08/28/128

Wednesday, September 5, 12

Page 10: PGP for Smarties

PGP for Smarties

Definitions

“PGP” == “Pretty Good Privacy”

“OpenPGP” is a standard to provide encryption, decryption, signing, and key management functions.(RFC4880)

08/28/128

Wednesday, September 5, 12

Page 11: PGP for Smarties

PGP for Smarties

Definitions

“PGP” == “Pretty Good Privacy”

“OpenPGP” is a standard to provide encryption, decryption, signing, and key management functions.(RFC4880)

“GnuPG” == “GNU Privacy Guard” aka “gpg”

08/28/128

Wednesday, September 5, 12

Page 12: PGP for Smarties

PGP for Smarties

OpenPGP

• uses a combination of strong public-key and symmetric cryptography

• provides security services for electronic communications and data storage– authentication (via digital signatures)– confidentiality (via encryption)– integrity (via digital signatures)

– key management– expiration

08/28/129

Wednesday, September 5, 12

Page 13: PGP for Smarties

PGP for Smarties

Buzzword Bingo

08/28/1210

Wednesday, September 5, 12

Page 14: PGP for Smarties

PGP for Smarties

Buzzword Bingo

08/28/1210

http://etsy.me/iFfqUa

Wednesday, September 5, 12

Page 15: PGP for Smarties

PGP for Smarties

Buzzword Bingo

08/28/1210

http://etsy.me/iFfqUa

http://etsy.me/SZ1G9q

Wednesday, September 5, 12

Page 16: PGP for Smarties

PGP for Smarties

Buzzword Bingo

08/28/1210

http://etsy.me/iFfqUa

http://etsy.me/SZ1G9q

http://etsy.me/N20IIG

Wednesday, September 5, 12

Page 17: PGP for Smarties

PGP for Smarties

Buzzword Bingo

08/28/1210http://etsy.me/TAHXKG

http://etsy.me/iFfqUa

http://etsy.me/SZ1G9q

http://etsy.me/N20IIG

Wednesday, September 5, 12

Page 18: PGP for Smarties

PGP for Smarties

Buzzword Bingo

08/28/1210http://etsy.me/TAHXKG

http://etsy.me/TAIEUh

http://etsy.me/iFfqUa

http://etsy.me/SZ1G9q

http://etsy.me/N20IIG

Wednesday, September 5, 12

Page 19: PGP for Smarties

PGP for Smarties

Buzzword Bingo

08/28/1210http://etsy.me/TAHXKG

http://etsy.me/TAIEUhhttp://etsy.me/MHNUDQ

http://etsy.me/iFfqUa

http://etsy.me/SZ1G9q

http://etsy.me/N20IIG

Wednesday, September 5, 12

Page 20: PGP for Smarties

PGP for Smarties

08/28/1211

http://etsy.me/uLLUaI

Wednesday, September 5, 12

Page 21: PGP for Smarties

PGP for Smarties

What's this, then?

B60D A9F7 0D89 544A 79957D25 5A5B 4375 275F 0BB5

08/28/1212

Wednesday, September 5, 12

Page 22: PGP for Smarties

PGP for Smarties

What's this, then?

B60D A9F7 0D89 544A 79957D25 5A5B 4375 275F 0BB5

08/28/1212

http://etsy.me/iFfqUa

Wednesday, September 5, 12

Page 23: PGP for Smarties

PGP for Smarties

08/28/1213

In general:

• people who work together need to occasionally share secrets

Wednesday, September 5, 12

Page 24: PGP for Smarties

PGP for Smarties

• people who work together need to occasionally share secrets across physical distances

08/28/1213

In general:

• people who work together need to occasionally share secrets

Wednesday, September 5, 12

Page 25: PGP for Smarties

PGP for Smarties

• people who work together need to occasionally share secrets across physical distances

• people who work together need to occasionally share secrets across physical distances and timezones

08/28/1213

In general:

• people who work together need to occasionally share secrets

Wednesday, September 5, 12

Page 26: PGP for Smarties

PGP for Smarties

• people who work together need to occasionally share secrets across physical distances

• people who work together need to occasionally share secrets across physical distances and timezones

• people who work together don't always work together

08/28/1213

In general:

• people who work together need to occasionally share secrets

Wednesday, September 5, 12

Page 27: PGP for Smarties

PGP for Smarties

• people who work together need to occasionally share secrets across physical distances

• people who work together need to occasionally share secrets across physical distances and timezones

• people who work together don't always work together

• people need to store secrets:• store it on a computer system owned by your company

=> multiple users besides you have full access• store it on a computer system owned by yourself =>

company-related information leaked

08/28/1213

In general:

• people who work together need to occasionally share secrets

Wednesday, September 5, 12

Page 28: PGP for Smarties

PGP for Smarties

§ people need to communicate securely

08/28/1214

In general:

http://etsy.me/TAORQb

Wednesday, September 5, 12

Page 29: PGP for Smarties

PGP for Smarties

§ people need to communicate securely

08/28/1214

In general:

http://etsy.me/TAORQb

• people need to store date securely

http://etsy.me/SZ4Qdd

Wednesday, September 5, 12

Page 30: PGP for Smarties

PGP for Smarties

08/28/1216

Common threats to security:

Wednesday, September 5, 12

Page 31: PGP for Smarties

PGP for Smarties

§ secrecy or confidentiality

§accuracy or integrity

§authenticity

08/28/1217

Cryptography may provide:

Wednesday, September 5, 12

Page 32: PGP for Smarties

PGP for Smarties

08/28/1218

Why we want secrecy:

Wednesday, September 5, 12

Page 33: PGP for Smarties

PGP for Smarties

08/28/1219

Why we want integrity:

Date: Sat, 23 Jun 2012 11:59:40 -0400 From: Chad Dickerson <[email protected]> To: Jan Schaumann <[email protected]> Subject: Important X-Mailer: iPad Mail (9B206) Jan, Can you disable Allspaw’s VPN access? We’ll have to let him go. Also, party at my place, byob. Chad Sent from my iPad

Wednesday, September 5, 12

Page 34: PGP for Smarties

PGP for Smarties

08/28/1219

Why we want integrity:

Date: Sat, 23 Jun 2012 11:59:40 -0400 From: Chad Dickerson <[email protected]> To: Jan Schaumann <[email protected]> Subject: Important X-Mailer: iPad Mail (9B206) Jan, Can you get Allspaw’s jacket size? We’re planning a surprise gift. Also, party at my place, byob. Chad Sent from my iPad

Wednesday, September 5, 12

Page 35: PGP for Smarties

PGP for Smarties

08/28/1219

Why we want authenticity:

Date: Sat, 23 Jun 2012 11:59:40 -0400 From: Chad Dickerson <[email protected]> To: Jan Schaumann <[email protected]> Subject: Important X-Mailer: iPad Mail (9B206) Jan, Can you disable Allspaw’s VPN access? We’ll have to let him go. Also, party at my place, byob. Chad Sent from my iPad

Wednesday, September 5, 12

Page 36: PGP for Smarties

PGP for Smarties

08/28/1221

Symmetric- or private-key cryptography

http://etsy.me/TASe9N

Wednesday, September 5, 12

Page 37: PGP for Smarties

PGP for Smarties

$ cat secretOehpr Fpuarvre rkcrpgf gur Fcnavfu Vadhvfvgvba.$

08/28/1222

Symmetric- or private-key

Wednesday, September 5, 12

Page 38: PGP for Smarties

PGP for Smarties

$ cat secretOehpr Fpuarvre rkcrpgf gur Fcnavfu Vadhvfvgvba.$

08/28/1222

Symmetric- or private-key

rot13 <secretBruce Schneier expects the Spanish Inquisition.$

Wednesday, September 5, 12

Page 39: PGP for Smarties

PGP for Smarties

$ cat secretOehpr Fpuarvre rkcrpgf gur Fcnavfu Vadhvfvgvba.$

08/28/1222

Symmetric- or private-key

rot13 <secretBruce Schneier expects the Spanish Inquisition.$

http://etsy.me/SZ1G9q

Wednesday, September 5, 12

Page 40: PGP for Smarties

PGP for Smarties

08/28/1223

Asymmetric- or public-key

Wednesday, September 5, 12

Page 41: PGP for Smarties

PGP for Smarties

Public-key cryptography in a nutshell

08/28/1224

http://etsy.me/TAHXKG

http://etsy.me/TAIEUh

http://etsy.me/SZ63kK

http://etsy.me/TARe5w

Wednesday, September 5, 12

Page 42: PGP for Smarties

PGP for Smarties

Public-key cryptography in a nutshell

08/28/1225

Wednesday, September 5, 12

Page 43: PGP for Smarties

PGP for Smarties

Public-key cryptography in a nutshell

08/28/1226

Wednesday, September 5, 12

Page 44: PGP for Smarties

PGP for Smarties

• provide secrecy or confidentiality (encryption)

• provide accuracy or integrity (checksum)

• provide authenticity (signature + WoT)

08/28/1227

PGP can:

Wednesday, September 5, 12

Page 45: PGP for Smarties

PGP for Smarties

08/28/1228

PGP can NOT:

• magically imply "security"

• know by itself whom to trust (or not)

• figure out how or when to share secrets

• protect you from all threats

Wednesday, September 5, 12

Page 46: PGP for Smarties

PGP for Smarties

08/28/1229Yahoo! Presentation, Confidential

Wednesday, September 5, 12

Page 47: PGP for Smarties

PGP for Smarties

08/28/1230

Common threats to security:

https://xkcd.com/399/

Wednesday, September 5, 12

Page 48: PGP for Smarties

PGP for Smarties

$ man gpg | rman -t ascii | egrep -- "^[ ]*--[^ ]+$" | \ sort -u | wc –l 167$

08/28/1231

Common threats to security:

Wednesday, September 5, 12

Page 49: PGP for Smarties

PGP for Smarties

08/28/1232

Wednesday, September 5, 12

Page 50: PGP for Smarties

PGP for Smarties

08/28/1233

Keypair generation

$ gpg --gen-key[...]Real name: Jan SchaumannEmail address: [email protected][...]You need a Passphrase to protect your secret key.[...]pub 2048R/275F0BB5 2012-04-24 Key fingerprint = B60D A9F7 0D89 544A 7995 7D25 5A5B 4375 275F 0BB5uid Jan Schaumann <[email protected]>[...]$

Wednesday, September 5, 12

Page 51: PGP for Smarties

PGP for Smarties

08/28/1233

Keypair generation

$ gpg --gen-key[...]Real name: Jan SchaumannEmail address: [email protected][...]You need a Passphrase to protect your secret key.[...]pub 2048R/275F0BB5 2012-04-24 Key fingerprint = B60D A9F7 0D89 544A 7995 7D25 5A5B 4375 275F 0BB5uid Jan Schaumann <[email protected]>[...]$

$ ls ~/.gnupg/*ring.gpg/Users/jschauma/.gnupg/pubring.gpg /Users/jschauma/.gnupg/secring.gpg

Wednesday, September 5, 12

Page 52: PGP for Smarties

PGP for Smarties

08/28/1234

Common threats to security:

https://xkcd.com/538/

Wednesday, September 5, 12

Page 53: PGP for Smarties

PGP for Smarties

08/28/1235

Revocation Certificate$ gpg --output 275F0BB5-revocation-cert --gen-revoke 275F0BB5

sec 2048R/275F0BB5 2012-04-24 Jan Schaumann <[email protected]>[...]

You need a passphrase to unlock the secret key foruser: "Jan Schaumann <[email protected]>"2048-bit RSA key, ID 275F0BB5, created 2012-04-24

ASCII armored output forced.Revocation certificate created.

Please move it to a medium which you can hide away; if Mallory getsaccess to this certificate he can use it to make your key unusable.It is smart to print this certificate and store it away, just in caseyour media become unreadable. But have some caution: The print system ofyour machine might store the data and make it available to others!

Wednesday, September 5, 12

Page 54: PGP for Smarties

PGP for Smarties

08/28/1236

$ gpg --fingerprint [email protected] 2048R/275F0BB5 2012-04-24 Key fingerprint = B60D A9F7 0D89 544A 7995 7D25 5A5B 4375 275F 0BB5uid Jan Schaumann <[email protected]>sub 2048R/FA19BA98 2012-04-24$

Let's have a look...

Wednesday, September 5, 12

Page 55: PGP for Smarties

PGP for Smarties

08/28/1236

$ gpg --fingerprint [email protected] 2048R/275F0BB5 2012-04-24 Key fingerprint = B60D A9F7 0D89 544A 7995 7D25 5A5B 4375 275F 0BB5uid Jan Schaumann <[email protected]>sub 2048R/FA19BA98 2012-04-24$

Let's have a look...

$ gpg --export -a 275F0BB5-----BEGIN PGP PUBLIC KEY BLOCK-----Version: GnuPG v2.0.18 (Darwin)

mQENBE+W6hcBCADcP2qrc4tjVjJxvyCNPJZSxDmDLqWzo9KDEer77WeAocYuXCmw[...]bWxBdIK299dw4wRJi1Z2Ocg/VlZtflDF54ts55EDsQ===QJlN-----END PGP PUBLIC KEY BLOCK-----

Wednesday, September 5, 12

Page 56: PGP for Smarties

PGP for Smarties

08/28/1237

Wot a lot I got!

Wednesday, September 5, 12

Page 57: PGP for Smarties

PGP for Smarties

08/28/1237

Wot a lot I got!

http://etsy.me/iFfqUa

Wednesday, September 5, 12

Page 58: PGP for Smarties

PGP for Smarties

08/28/1237

Wot a lot I got!

http://etsy.me/iFfqUa

http://etsy.me/TARe5w

Wednesday, September 5, 12

Page 59: PGP for Smarties

PGP for Smarties

08/28/1237

Wot a lot I got!

http://etsy.me/iFfqUa

http://etsy.me/TARe5w

http://etsy.me/TASWnp

Wednesday, September 5, 12

Page 60: PGP for Smarties

PGP for Smarties

$ gpg --encrypt -r [email protected] secretgpg: [email protected]: skipped: public key not foundgpg: secret: encryption failed: public key not found$

08/28/1238

Sharing secrets with Alice

Wednesday, September 5, 12

Page 61: PGP for Smarties

PGP for Smarties

Public-key cryptography in a nutshell

08/28/1225

Wednesday, September 5, 12

Page 62: PGP for Smarties

PGP for Smarties

$ gpg --encrypt -r [email protected] secretgpg: [email protected]: skipped: public key not foundgpg: secret: encryption failed: public key not found$

08/28/1240

Sharing secrets with Alice

$ gpg --list-keys alicegpg: error reading key: public key not found$

Wednesday, September 5, 12

Page 63: PGP for Smarties

PGP for Smarties

$ gpg --encrypt -r [email protected] secretgpg: [email protected]: skipped: public key not foundgpg: secret: encryption failed: public key not found$

08/28/1240

Sharing secrets with Alice

$ gpg --list-keys alicegpg: error reading key: public key not found$

$ gpg --search-keys [email protected]: searching for "[email protected]" from hkp server keys.gnupg.netgpg: key "[email protected]" not found on keyserver$

Wednesday, September 5, 12

Page 64: PGP for Smarties

PGP for Smarties

$ gpg --search-keys alicegpg: searching for "alice" from hkp server keys.gnupg.net(1) Alice Cooper <[email protected]> 2048 bit RSA key AB123456, created: 2009-11-25Keys 1-1 of 1 for "alice". Enter number(s), N)ext, or Q)uit > 1gpg: requesting key AB123456 from hkp server keys.gnupg.netgpg: key AB123456: public key ”Alice Cooper” <[email protected]>" importedgpg: Total number processed: 1gpg: imported: 1$

08/28/1242

Sharing secrets with Alice

Wednesday, September 5, 12

Page 65: PGP for Smarties

PGP for Smarties

$ gpg --encrypt -r [email protected] secretgpg: AB123456: There is no assurance this key belongs to the named user

pub 2048g/AB123456 1969-08-01 Vincent Damon Furnier <[email protected]> Primary key fingerprint: 666C E666 CC66 6EB6 66DB B0B6 6678 6667 AB12 3456

It is NOT certain that the key belongs to the person namedin the user ID. If you *really* know what you are doing,you may answer the next question with yes.

Use this key anyway? (y/N)

08/28/1243

Sharing secrets with Alice

Wednesday, September 5, 12

Page 66: PGP for Smarties

PGP for Smarties

08/28/1244

Common threats to security:

Wednesday, September 5, 12

Page 67: PGP for Smarties

PGP for Smarties

08/28/1245

Keypair generation$ gpg --gen-key[...]Real name: Chad DickersonEmail address: [email protected]: CEOYou selected this USER-ID: ”Chad Dickerson (CEO) <[email protected]>"[...]You need a Passphrase to protect your secret key.[...]pub 2048R/E157FAB8 2006-09-01 Key fingerprint = E2A7 437A 7AB8 6EA1 7E1D F6DC BF09 CDC9 E157 FAB8uid Chad Dickerson (CEO) <[email protected]>[...]$ gpg --send-keys E157FAB8 gpg: sending key E157FAB8 to hkp server keys.gnupg.net$

Wednesday, September 5, 12

Page 68: PGP for Smarties

PGP for Smarties

• easily done in person• easiest done if both parties actually know each

other• reasonable authentication (for some

organizations, anyway – mix and match):• Staff Directory info• IRC handle• shared domain username• email

08/28/1246

Key Verification

Wednesday, September 5, 12

Page 69: PGP for Smarties

PGP for Smarties

08/28/1250

Key Verification

http://etsy.me/SZ9AQc

Wednesday, September 5, 12

Page 70: PGP for Smarties

PGP for Smarties

08/28/1252

Web of Trust

Wednesday, September 5, 12

Page 71: PGP for Smarties

PGP for Smarties

08/28/1253

Wednesday, September 5, 12

Page 72: PGP for Smarties

PGP for Smarties

John Belushi Kevin Bacon

08/28/1254

Wednesday, September 5, 12

Page 73: PGP for Smarties

PGP for Smarties

John Belushi(Animal House)

Kevin Bacon

Donald Sutherland (Animal House)

08/28/1255

Wednesday, September 5, 12

Page 74: PGP for Smarties

PGP for Smarties

John Belushi Kevin Bacon

Pauly Shore(Lost Angels)

08/28/1256

Donald Sutherland (Lost Angels)

Wednesday, September 5, 12

Page 75: PGP for Smarties

PGP for Smarties

John Belushi

Donald Sutherland

Kevin Bacon

Andy Dick(In the Army now)

08/28/1257

Pauly Shore(In the Army now)

Wednesday, September 5, 12

Page 76: PGP for Smarties

PGP for Smarties

John Belushi

Donald Sutherland

Kevin Bacon

Pauly Shore

Claudia Schiffer(Zoolander)

08/28/1258

Andy Dick(Zoolander)

Wednesday, September 5, 12

Page 77: PGP for Smarties

PGP for Smarties

John Belushi

Donald Sutherland

Kevin Bacon

Claudia Schiffer(Life without Dick)

Sarah Jessica Parker

(Life without Dick)

08/28/1259

Pauly Shore

Andy Dick

Wednesday, September 5, 12

Page 78: PGP for Smarties

PGP for Smarties

John Belushi

Donald Sutherland

Kevin Bacon(Footlose)

Claudia Schiffer

Sarah Jessica Parker

(Footlose)

08/28/1260

Andy Dick

Pauly Shore

Wednesday, September 5, 12

Page 79: PGP for Smarties

PGP for Smarties

John Belushi

Donald Sutherland

Kevin Bacon

Claudia Schiffer

Sarah Jessica Parker

08/28/1261

Andy Dick

Pauly Shore

Wednesday, September 5, 12

Page 80: PGP for Smarties

PGP for Smarties

08/28/1262

Problems with the Web of Trust

Wednesday, September 5, 12

Page 81: PGP for Smarties

PGP for Smarties

08/28/1263

Better:

Wednesday, September 5, 12

Page 82: PGP for Smarties

PGP for Smarties

• you have to trust every signing entity in your trustpath

• the shorter the trustpath, the better• the more nodes in your WoT, the better• the more edges in your WoT, the better• the fewer leaves, the better• the more signatures a key has, the better

08/28/1264

Web of Trust

Wednesday, September 5, 12

Page 83: PGP for Smarties

PGP for Smarties

• becomes “Key Signing”

• makes no assertion of quality of character, coding skills, weight-lifting abilities, taste in movies, etc

• only asserts “I have verified that the key with the fingerprint X belongs to person Y”

• nothing else

08/28/1265

Key Verification

Wednesday, September 5, 12

Page 84: PGP for Smarties

PGP for Smarties

• retrieve signee’s key• identify signee• signee presents or confirms his/her key’s

fingerprint• signer sends encrypted content to email on key• signee decrypts, responds• signer signs and uploads signee’s key

08/28/1266

Key Signing

Wednesday, September 5, 12

Page 85: PGP for Smarties

PGP for Smarties

§ same as before modulo:§ identify signee› by trusted proxy (ie via WoT)› call phone-# (desk + cell) listed in Staff

Directory› multi-channel challenge response (Skype+IRC

+Email)› control of uid on shared host

08/28/1267

Long-Distance Key Signing

Wednesday, September 5, 12

Page 86: PGP for Smarties

PGP for Smarties

08/28/1268

Please sign responsibly!

https://www.xkcd.com/364/

Wednesday, September 5, 12

Page 87: PGP for Smarties

PGP for Smarties

• key generation part of new-hire orientation• manager signs new-hire key on first day• team signs new-hire key on first team meeting

• regular keysigning events• sensitive/important data is actually signed• encrypted backups (+ self-restore)• signed packages• …

08/28/1269

Wishlist

Wednesday, September 5, 12

Page 88: PGP for Smarties

PGP for Smarties

08/28/1270

Be paranoid!

Wednesday, September 5, 12

Page 89: PGP for Smarties

PGP for Smarties

• http://www.mycrypto.net/encryption/encryption_public.html• http://en.wikipedia.org/wiki/Public-key_cryptography• http://en.wikipedia.org/wiki/Pretty_Good_Privacy• http://www.lysator.liu.se/~jc/wotsap/search.html• http://www.usenix.org/publications/library/proceedings/sec99/

whitten.html

• http://oracleofbacon.org/

08/28/1271

Links

Wednesday, September 5, 12