• No se han encontrado resultados

Certificate poisoning Onwards..?

N/A
N/A
Protected

Academic year: 2023

Share "Certificate poisoning Onwards..?"

Copied!
40
0
0

Texto completo

(1)

Current challenges

for the OpenPGP

keyserver network Gunnar Wolf

Internet and cryptography Cryptography and Identity Key servers

Certificate poisoning Onwards..?

Current challenges for the OpenPGP keyserver network

Is there a way forward?

Gunnar Wolf

DebConf 2022 • Prizren, Kosovo • 2022.07.19

https://people.debian.org/~gwolf/dc22/openpgp.pdf

(2)

Current challenges

for the OpenPGP

keyserver network Gunnar Wolf

Internet and cryptography Cryptography and Identity Key servers

Certificate poisoning Onwards..?

Warning — What to expect from this talk

Research project

You see, this guy is trying to do a PhD. . . And you are the (indirect) study subjects Related to my Debian task as keyring-maint

But will not be applied to Debian At least not in a forseeable future

Related to the wider OpenPGP ecosystem and community So, relevant to the Free Software world

In the hopes it will be interesting / entertaining!

Most of the introduction will be old news for most of you

(3)

Current challenges

for the OpenPGP

keyserver network Gunnar Wolf

Internet and cryptography Cryptography and Identity Key servers

Certificate poisoning Onwards..?

Once upon a time, there was a happy and naïve network. . .

freepngimg.com (Attribution)

) Happy Computer, archive.org (CC BY-NC-ND)

(4)

Current challenges

for the OpenPGP

keyserver network Gunnar Wolf

Internet and cryptography Cryptography and Identity Key servers

Certificate poisoning Onwards..?

But the world is full of evil. . .

positek.net / shutterstock (CC BY-SA)

(5)

Current challenges

for the OpenPGP

keyserver network Gunnar Wolf

Internet and cryptography Cryptography and Identity Key servers

Certificate poisoning Onwards..?

Fortunately, Internet has evolved: We now have cryptography everywhere!

But. . . What does this cryptography really give us? Privacy News Online (CC BY-SA)

(6)

Current challenges

for the OpenPGP

keyserver network Gunnar Wolf

Internet and cryptography Cryptography and Identity Key servers

Certificate poisoning Onwards..?

Protection against eavesdropping

Alex Briseño, Flickr (CC BY-SA-NC)

(7)

Current challenges

for the OpenPGP

keyserver network Gunnar Wolf

Internet and cryptography Cryptography and Identity Key servers

Certificate poisoning Onwards..?

What do we get from the simple use of public-key cryptography?

And what is still not covered?

We get Strong cryptography

Impossible to break in a reasonable time, even with current Nation-State resources Uses algorithms that have received public, expert scrutiny

ElGamal, DSA, RSA, EC Works over preexisting protocols

E-mail, local storage

We do not get Hiding the fact there is

communication ocurring between two participants

Metadata analysis

Verification of correct identity

Equivocation attacks

Man in the Middle (MITM)

(8)

Current challenges

for the OpenPGP

keyserver network Gunnar Wolf

Internet and cryptography Cryptography and Identity Key servers

Certificate poisoning Onwards..?

PGP: Pretty Good Privacy

> 30 years flying high Errol Cavit, Flickr (CC BY-NC-ND)

(9)

Current challenges

for the OpenPGP

keyserver network Gunnar Wolf

Internet and cryptography Cryptography and Identity Key servers

Certificate poisoning Onwards..?

Construction blocks for identity verification

Andy Hay (CC-BY)

(10)

Current challenges

for the OpenPGP

keyserver network Gunnar Wolf

Internet and cryptography Cryptography and Identity Key servers

Certificate poisoning Onwards..?

What does it mean to verify an identity?

Aldon Hynes (CC-BY-SA)

(11)

Current challenges

for the OpenPGP

keyserver network Gunnar Wolf

Internet and cryptography Cryptography and Identity Key servers

Certificate poisoning Onwards..?

Internet is too big to know everybody I interact with!

Bob Doyle (CC BY)

(12)

Current challenges

for the OpenPGP

keyserver network Gunnar Wolf

Internet and cryptography Cryptography and Identity Key servers

Certificate poisoning Onwards..?

Transitive trust distribution mechanisms

. . . But we can trust somebody, right?

and we can trust on the truth of the identities they are willing to

back. . .

(13)

Current challenges

for the OpenPGP

keyserver network Gunnar Wolf

Internet and cryptography Cryptography and Identity Key servers

Certificate poisoning Onwards..?

1 Centralized trust

Robbie Sproule, Wikipedia (CC BY)

) everystockphoto.com, Wikipedia (DP)

Francis Sarahi Castro Ponce, Wikipedia (CC 0)

)

(14)

Current challenges

for the OpenPGP

keyserver network Gunnar Wolf

Internet and cryptography Cryptography and Identity Key servers

Certificate poisoning Onwards..?

2 Distributed trust

Miren Pardo, Juegos de asamblea: Conocemos a nuestros compañeros (CC BY-SA-NC)

(15)

Current challenges

for the OpenPGP

keyserver network Gunnar Wolf

Internet and cryptography Cryptography and Identity Key servers

Certificate poisoning Onwards..?

Formalizing a little bit. . .

Centralized mechanisms A set of ultimate roots of trust are centrally defined

Each Root of trust can delegate trust on several Ceritifation Authorities (CA)

Communication parties (i.e. servers) provide their public key and a CA-signed certificate

PKI-CA model

Distributed mechanisms Centered in each user

Every user can emit ceritifcations for whom they personally know

Signing policies?

What does it mean to know?

Can I trust your criteria?

A global Web of Trust global is woven

⇓ WoT model

Note, of course, there are other models...

(16)

Current challenges

for the OpenPGP

keyserver network Gunnar Wolf

Internet and cryptography Cryptography and Identity Key servers

Certificate poisoning Onwards..?

Transitive trust distribution models

Certification Authorities

Destinations Trust anchor

User

Centralized: Certification Authorities (PKI-CA)

b a c

g d

i

j k e

f

h l

Distributed: Web of Trust (WoT)

Focus of the work: Distributed model (WoT)

(17)

Current challenges

for the OpenPGP

keyserver network Gunnar Wolf

Internet and cryptography Cryptography and Identity Key servers

Certificate poisoning Onwards..?

. . . But that requires many people to know many people!

Steven Fruitsmaak, WikiNews (CC BY)

(18)

Current challenges

for the OpenPGP

keyserver network Gunnar Wolf

Internet and cryptography Cryptography and Identity Key servers

Certificate poisoning Onwards..?

So, we only need to grow the size of the WoT?

Everybody verifies each other’s documents (government-issued ID?) Certifies the keys of the rest of the group

Network tust strongly increases!

. . . In >300 people gatherings. . .

SRSLY?

\ ,

Steven Fruitsmaak, WikiNews (CC BY)

(19)

Current challenges

for the OpenPGP

keyserver network Gunnar Wolf

Internet and cryptography Cryptography and Identity Key servers

Certificate poisoning Onwards..?

So, we only need to grow the size of the WoT?

Everybody verifies each other’s documents (government-issued ID?) Certifies the keys of the rest of the group

Network tust strongly increases!

. . . In >300 people gatherings. . .

SRSLY?

\ ,

Steven Fruitsmaak, WikiNews (CC BY)

(20)

Current challenges

for the OpenPGP

keyserver network Gunnar Wolf

Internet and cryptography Cryptography and Identity Key servers

Certificate poisoning Onwards..?

The public key distribution problem

A key distribution infrastructure is now needed. . .

Under TLS (PKI-CA),

key+certificates are presented upon session establishment

Watch out for MitM and revocations!

Do you really trust the trusted introducers?

Under OpenPGP (WoT), the destination key must be obtained before sending a message

Asynchronous operation

⇒ PKS keyservers Connecticut District Telephone Company, 1878 (DP)

(21)

Current challenges

for the OpenPGP

keyserver network Gunnar Wolf

Internet and cryptography Cryptography and Identity Key servers

Certificate poisoning Onwards..?

But. . . how do we avoid centralization?

Javier Álvarez, Flickr (CC BY-ND)

(22)

Current challenges

for the OpenPGP

keyserver network Gunnar Wolf

Internet and cryptography Cryptography and Identity Key servers

Certificate poisoning Onwards..?

Set of keyservers running an epidemic or gossip protocol for large sets reconciliation. . .

pgp.gwolf.org sks.daylightpirates.org

keys.jhcloos.com keyserver.mattrude.com

keyserver.brian.minton.name keyserver.escomposlinux.org

keyserver.boquet.org

pgp.uplinklabs.net keyserver-02.2ndquadrant.com pgp.net.nz

keyserver.dobrev.eu

sks3.inx.net.za

sks.b4ckbone.de keyserver.durcheinandertal.ch

keyserver-01.2ndquadrant.com pgpkeys.urown.net

sks.srv.dumain.com keyserver.syseleven.de pgp.ocf.berkeley.edu pgp.lehigh.edu

sks.mirror.square-r00t.net

keyserver1.computer42.org

keyserver.sincer.us pgp.skewed.de

keys.stueve.us

pgp.rouing.me pgp.key-server.io

keys.sbell.io

keyserver.erat.systems keyserver.zap.org.au keys2.kfwebs.net

keyserver2.boquet.org

keys-02.licoho.de

keyserver.ispfontela.es keyserver.timlukas.de

pgpkeys.hu keyserver.swabian.net

keys.andreas-puls.de keyserver.vbrandl.net

cheipublice.md

keys.void.gr pgp.ext.selfnet.de

cheipublice.ro

keyserver.ispfontela.es

ice.mudshark.org

keyserver-02.2ndquadrant.com

keyserver-01.2ndquadrant.com sks.hnet.se

pgp.benny-baumann.de keyserver.oeg.com.au pgp.mit.edu

keys.communityrack.org keyserver.dobrev.it

keyserver.mesh.deuxpi.ca

schluesselkasten.wertarbyte.de pgpkeys.eu pgpkeys.co.uk

keyserver.nausch.org

keyserver.spline.inf.fu-berlin.de keyserver.computer42.org

key.bbs4.us keyserver.bazon.ru

pgpkeys.uk

fks.pgpkeys.eu

sks1.cryptokeys.org.za

keys.digitalis.org zimmermann.mayfirst.org

keyserver.cns.vt.edu keyserver1.canonical.com

keyserver2.canonical.com

pgp.circl.lu

pks.aaiedu.hr

key.adeti.org pgp.uni-mainz.de

keyserver.cais.rnp.br minsky.surfnet.nl

keyserver.uz.sns.it pgp.rediris.es

88.99.14.104

keys2.alderwick.co.uk keys.alderwick.co.uk

sks.pod02.fleetstreetops.com

sks.pod01.fleetstreetops.com

keyserver.kolosowscy.pl zuul.rediris.es

gozer.rediris.es pgp.surfnet.nl

pgp.neopost.com

keys.itunix.eu

keyserver.ubuntu.com keyserver.deuxpi.ca

jinterwas, Flickr (CC BY)

(23)

Current challenges

for the OpenPGP

keyserver network Gunnar Wolf

Internet and cryptography Cryptography and Identity Key servers

Certificate poisoning Onwards..?

Result 1 : Binary, non-modifiable, distributed, non-authenticated, eventually consistent storage

Mike Izbicki (CC BY-SA)

(24)

Current challenges

for the OpenPGP

keyserver network Gunnar Wolf

Internet and cryptography Cryptography and Identity Key servers

Certificate poisoning Onwards..?

Result 2 : Attacks on the model

Ben Simon (CC BY)

) jinterwas, Flickr (CC BY)

(25)

Current challenges

for the OpenPGP

keyserver network Gunnar Wolf

Internet and cryptography Cryptography and Identity Key servers

Certificate poisoning Onwards..?

What is certificate poisoning? 1

Normally, only my direct contacts will certify my key, allowing others to find me in the WoT

I might be little connected. . .

Somewhat more connected. . .

I can be strongly

connected. . .

Normal keys will have dozens, maybe up to hundreds of certifications.

(26)

Current challenges

for the OpenPGP

keyserver network Gunnar Wolf

Internet and cryptography Cryptography and Identity Key servers

Certificate poisoning Onwards..?

What is certificate poisoning? 2

Mallory

Mallory 0 Mallory 1 Mallory 2 Mallory 3 Mallory 4 Mallory 5 Mallory 6 Mallory 7 Mallory 8 Mallory 9 Mallory 10 Mallory 11 Mallory 12 ...

Mallory n-1 Mallory n

An attacker, Mallory (M), can generate many throwaway identities M 1 , M 2 , M 3 , ...M n

(n ≈ 100 000)

These identities are garbage keys, they don’t even

need to be linked to Mallory’s real identity.

(27)

Current challenges

for the OpenPGP

keyserver network Gunnar Wolf

Internet and cryptography Cryptography and Identity Key servers

Certificate poisoning Onwards..?

What is certificate poisoning? 3

Mallory

Mallory 0 Mallory 1 Mallory 2 Mallory 3 Mallory 4 Mallory 5 Mallory 6 Mallory 7 Mallory 8 Mallory 9 Mallory 10 Mallory 11 Mallory 12 ...

Mallory n-1 Mallory n

Vicky

Mallory certifies victim Vicky’s key with all their identities — and make Vicky’s public key V

useless.

Vicky sees herself forced to abandon her identity and generate a new pair of keys V , but. . .

Getting her new identity connected to the WoT has a high cost (time, effort)

Opens a time window for supplantation / ID

theft

(28)

Current challenges

for the OpenPGP

keyserver network Gunnar Wolf

Internet and cryptography Cryptography and Identity Key servers

Certificate poisoning Onwards..?

What is certificate poisoning? 4

Mallory

Mallory 0 Mallory 1 Mallory 2 Mallory 3 Mallory 4 Mallory 5 Mallory 6 Mallory 7 Mallory 8 Mallory 9 Mallory 10 Mallory 11 Mallory 12 ...

Mallory n-1 Mallory n

Vicky Alice

When Alice (A) searches for Vicky’s key, upon importing it, she suffers a denial of

service (and possibly an OpenPGP

database corruption)

(29)

Current challenges

for the OpenPGP

keyserver network Gunnar Wolf

Internet and cryptography Cryptography and Identity Key servers

Certificate poisoning Onwards..?

What is certificate poisoning? 5

Peter Krimbacher, Wikipedia (CC BY-SA)

(30)

Current challenges

for the OpenPGP

keyserver network Gunnar Wolf

Internet and cryptography Cryptography and Identity Key servers

Certificate poisoning Onwards..?

Why don’t we delete the spurious certificates?

Jumanji Solar, Flickr (CC BY-NC-SA)

)

(31)

Current challenges

for the OpenPGP

keyserver network Gunnar Wolf

Internet and cryptography Cryptography and Identity Key servers

Certificate poisoning Onwards..?

Why don’t we delete the spurious certificates?

Jumanji Solar, Flickr (CC BY-NC-SA)

) José-Manuel Benito, Wikimedia (DP)

(32)

Current challenges

for the OpenPGP

keyserver network Gunnar Wolf

Internet and cryptography Cryptography and Identity Key servers

Certificate poisoning Onwards..?

Why don’t we delete the spurious certificates?

And... What about the European GDPR?

Right to be forgotten, information deletion orders...

Jumanji Solar, Flickr (CC BY-NC-SA)

) José-Manuel Benito, Wikimedia (DP)

(33)

Current challenges

for the OpenPGP

keyserver network Gunnar Wolf

Internet and cryptography Cryptography and Identity Key servers

Certificate poisoning Onwards..?

Why don’t we delete the spurious certificates?

And... What about the European GDPR?

Right to be forgotten, information deletion orders...

GDPR imposes privacy conditions that are impossible to comply with for keyserver network operators

...All of this has caused the number of keyservers to decrease strongly... And the

outlook is quite bleak

(34)

Current challenges

for the OpenPGP

keyserver network Gunnar Wolf

Internet and cryptography Cryptography and Identity Key servers

Certificate poisoning Onwards..?

The keyserver network. . . shrinks

2019.01.23

pgp.gwolf.org sks.daylightpirates.org

keys.jhcloos.com keyserver.mattrude.com

keyserver.brian.minton.name keyserver.escomposlinux.org

keyserver.boquet.org

pgp.uplinklabs.net keyserver-02.2ndquadrant.com pgp.net.nz

keyserver.dobrev.eu

sks3.inx.net.za

sks.b4ckbone.de keyserver.durcheinandertal.ch

keyserver-01.2ndquadrant.com pgpkeys.urown.net

sks.srv.dumain.com keyserver.syseleven.de pgp.ocf.berkeley.edu pgp.lehigh.edu

sks.mirror.square-r00t.net keyserver1.computer42.org

keyserver.sincer.us pgp.skewed.de

keys.stueve.us

pgp.rouing.me pgp.key-server.io

keys.sbell.io

keyserver.erat.systems keyserver.zap.org.au keys2.kfwebs.net

keyserver2.boquet.org

keys-02.licoho.de keyserver.ispfontela.es keyserver.timlukas.de

pgpkeys.hu keyserver.swabian.net

keys.andreas-puls.de keyserver.vbrandl.net

cheipublice.md

keys.void.gr pgp.ext.selfnet.de

cheipublice.ro

keyserver.ispfontela.es

ice.mudshark.org

keyserver-02.2ndquadrant.com

keyserver-01.2ndquadrant.com sks.hnet.se

pgp.benny-baumann.de keyserver.oeg.com.au pgp.mit.edu

keys.communityrack.org keyserver.dobrev.it

keyserver.mesh.deuxpi.ca

schluesselkasten.wertarbyte.de pgpkeys.eu pgpkeys.co.uk

keyserver.nausch.org keyserver.spline.inf.fu-berlin.de

keyserver.computer42.org key.bbs4.us keyserver.bazon.ru

pgpkeys.uk

fks.pgpkeys.eu

sks1.cryptokeys.org.za

keys.digitalis.org zimmermann.mayfirst.org

keyserver.cns.vt.edu keyserver1.canonical.com keyserver2.canonical.com

pgp.circl.lu pks.aaiedu.hr

key.adeti.org pgp.uni-mainz.de

keyserver.cais.rnp.br minsky.surfnet.nl

keyserver.uz.sns.it pgp.rediris.es

88.99.14.104

keys2.alderwick.co.uk keys.alderwick.co.uk

sks.pod02.fleetstreetops.com

sks.pod01.fleetstreetops.com

keyserver.kolosowscy.pl zuul.rediris.es

gozer.rediris.es pgp.surfnet.nl

pgp.neopost.com

keys.itunix.eu

keyserver.ubuntu.com keyserver.deuxpi.ca

2022.07.16

keyserver.ubuntu.com

pgpkeys.eu

pgp.cyberbits.eu sks.pod02.fleetstreetops.com

sks.pod01.fleetstreetops.com

pgp.re de.pgpkeys.eu

pgp.gnd.pw keys.nicemail.eu

fi.pgpkeys.eu

openpgp.circl.lu keyserver1.computer42.org

pgp.cyberbits.eu pgpkeys.eu fr.pgpkeys.eu

pgp.flexyz.com sks.srv.dumain.com

gozer.rediris.es

data.pgp.gnd.pw pgp.circl.lu sks.pgpkeys.eu pgp.pm

sks.pod02.fleetstreetops.com sks.pod01.fleetstreetops.com

pgp.mit.edu

sks.pgpkeys.eu pgp.mit.edu

pgp.surfnet.nl cryptonomicon.mit.edu

pgpkeys.eu key-server.org

keyserver.spline.inf.fu-berlin.de

keyserver2.computer42.org keyserver.computer42.org

keyserver1.computer42.org

0 100 200 300 400 500 600 700 800

2019.01.23 2019.05.14 2019.08.29 2019.12.07 2020.03.16 2020.06.24 2020.10.02 2021.01.10 2021.04.20 2021.07.29 2021.1 1.06

2022.02.14 2022.05.25

Number of responses

Sampling date

Exception No method Socket error Timeout Unreachable Success

Data available at https://sks-status.gwolf.org/

(35)

Current challenges

for the OpenPGP

keyserver network Gunnar Wolf

Internet and cryptography Cryptography and Identity Key servers

Certificate poisoning Onwards..?

Central idea

Present a solution that keeps the distributed model viable, without requiring centralizing entities.

My main goal is to present a protocol that prevents certificate poisoning without compromising WoT’s main positive characteristics.

First-party attested third party certification (1PA3PC) protocol → Require all OpenPGP packets modifying k to be accepted (signed) by k

Certificate poisoning no longer possible

Implementing a decades-long best-practices recommendation that has been unable to be mandated

Ever heard of. . . caff ?

But push a best practice to a requirement level

(36)

Current challenges

for the OpenPGP

keyserver network Gunnar Wolf

Internet and cryptography Cryptography and Identity Key servers

Certificate poisoning Onwards..?

1PA3PC: Key certification protocol

Alice

Alice

Bob

Bob

Keyserver

Keyserver Identity validation

(off-band)

Search for Alice's public key and current certifications

Public key Certifies Alice's key in local keystore;

generates

Certificated public key

Attest certification on public key

If Alice does not recognize as

legitimate, she will not attest it, and will not be distributed by the server

Attested certification on public key

Verifies attestation by

on

(37)

Current challenges

for the OpenPGP

keyserver network Gunnar Wolf

Internet and cryptography Cryptography and Identity Key servers

Certificate poisoning Onwards..?

Extending 1PA3PC to allow for UID verification

Alice

Alice

Keyserver

Keyserver Uploads via the

keyserver's Web interface

Generates and stores a key verification token ;

is marked as pending

Sends an e-mail challenge including

This requires to have a valid e-mail address. Keys without an e-mail address are dropped.

Attests control of for Keyserver using

Sends including

including

is accepted into the database

This is far from well thought-out

Affixing attestation information to k A

allows keys to be identified as having been uploaded to given a server Each keyserver operator maintains a list of locally trusted keyservers

Operators can report keyservers as rogue, but decisions are local Each keyserver can offer different views of the database

Based on each operator’s trust

(38)

Current challenges

for the OpenPGP

keyserver network Gunnar Wolf

Internet and cryptography Cryptography and Identity Key servers

Certificate poisoning Onwards..?

Extending 1PA3PC to allow for information removal?

This is even less thought out

And what if Alice attests a specific view of k A ? She can control the information on her key she accepts as valid

By hiding information on non-attested (or past-attested) signatures, users can control what the network says about their social connections

Of course, the old information is still there — although somewhat hidden

Key bloat is not solved (although should remain controllable due to the 1PA3PC

key certification protocol)

(39)

Current challenges

for the OpenPGP

keyserver network Gunnar Wolf

Internet and cryptography Cryptography and Identity Key servers

Certificate poisoning Onwards..?

Expected outcome

This seemingly simple modification to the keyserver network operation pursues to:

Allow a decentralized, public keyserver network to keep operating, mitigating the effect attacks have had on it, and allowing it to continue to exist with modern privacy expectations

Keep the WoT decentralized transitive trust model relevant and sustainable for OpenPGP communications

Fundamental component for several large-scale, geographically-distributed free software development projects

Allow for signatures’ information not to be presented to users if it’s no longer desired by key owner

(Would that satisfy GDPR? Am quite skeptical, and IANAL, but. . . ) What about death by kindness?

OpenPGP + WoT are hard enough to use as it is. Extra hurdles might actually

hurt rather than help it!

(40)

Current challenges

for the OpenPGP

keyserver network Gunnar Wolf

Internet and cryptography Cryptography and Identity Key servers

Certificate poisoning Onwards..?

Thank you very much for your attention.

... And for listening to my half-baked ideas ;-)

Gunnar Wolf

[email protected]

https://people.debian.org/~gwolf/dc22/openpgp.pdf

Referencias

Documento similar