public notary transparency : des journaux publics en ajout seul et … · 2016-07-11 ·...

51
Public Notary Transparency : des journaux publics en ajout seul et leurs usages avec TLS Florian Maury (ANSSI) 11 juillet 2016 Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 1/36

Upload: others

Post on 07-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

Public Notary Transparency :des journaux publics en ajout seul et

leurs usages avec TLS

Florian Maury (ANSSI)

11 juillet 2016

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 1/36

Page 2: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

Rappel du contexte

600+ autorites de certification :

I nombreux rapports d’incident (emissions non-sollicitees oucertificats invalides)

Solutions possibles :

I changer de systeme de confiance ?

I reduire le nombre d’autorites de certification ?

I renforcer les exigences ?

I detecter les anomalies ?

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 2/36

Page 3: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

Journaliser les certificats emis

Journalisation publique des certificats emis :

I base de donnees classique inadaptee

I proprietes d’integrite trop faibles

Proprietes attendues :

I publique

I en ajout seul

I verifications efficaces

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 3/36

Page 4: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

Structure d’un journal en ajout seul

Repose sur les fonctions de hachage cryptographiques(e.g. SHA-2) :

I arbre de Merkle (1979)

P

EO

NM

DCBA

Exemples d’usage : Git, Bitcoin, Bitorrent

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 4/36

Page 5: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

Certificate Transparency

Des journaux de certificats pour TLS

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 5/36

Page 6: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

Principe general de Certificate Transparency (CT)

IETF :

I RFC 6962 (experimental status)

I WG trans : draft rfc-6962-bis-16

Objectifs :

I journaliser les certificats emis par les autorites decertification (AC) publiques

I permettre la detection des emissions defectueuses,frauduleuses ou indesirables

I prevenir les interceptions TLS

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 6/36

Page 7: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

Certificate Transparency (CT) :

le synoptique theorique

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 7/36

Page 8: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

De nouveaux acteurs

Acteurs existants :

I client TLS (navigateur)

I serveur TLS (serveur web)

I autorite de certification (emetrice de certificats)

CT introduit de nouveaux acteurs :

I mainteneur de journaux (log)

I moniteurs (monitor)

I auditeurs (auditor)

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 8/36

Page 9: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

Phase 1 : soumission des certificats aux journaux

En theorie, tout le monde peut soumettre un certificatvalide

Etape generalement faite par l’autorite de certification dans leworkflow d’emission de certificats

Soumission a plusieurs journaux souhaitables

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 9/36

Page 10: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

Phase 1 (bis) :engagement de journalisation du certificat

Journalisation du certificat effective apres un delai :

I engagement de journalisation (objet cryptographique)remis immediatement au soumissionnaire

I cet engagement peut constituer une preuve dedysfonctionnement du journal

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 10/36

Page 11: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

Phase 2 :distribution des engagements de journalisation

Engagements de journalisation distribues aux navigateurs :

I verification qu’il y a eu soumission du certificat observependant une transaction HTTPS

Ces engagements sont appeles des Signed CertificateTimestamp (SCT).

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 11/36

Page 12: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

Phase 3 : verification synchrone par le client TLS

Si les engagements sont :

I absentsou

I emis dans le futurou

I avec des signatures invalides

Alors :

I erreur (nature non specifiee dans la RFC)

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 12/36

Page 13: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

Phase 4 : verification asynchrone par le client TLS

Verification de l’honnetete du journal :

I le navigateur ⇒ role d’auditeur

I demande aux journaux de preuve de la journalisationeffective du certificat dont il detient un engagement dejournalisation

I partage de la preuve de journalisation par rumeur

I participation a la protection contre les attaques parpartionnement de vue

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 13/36

Page 14: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

Phase X : surveillance des journaux

Phase continue, en parallele des autres ou a posteriori :

I role de moniteurs

I effectue par les titulaires de noms de domaine

I recherchent dans les journaux de certificats invalides,frauduleux, ou emis par erreur

Necessite le telechargement des archives completes desjournaux !

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 14/36

Page 15: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

Certificate Transparency (CT)

en pratique

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 15/36

Page 16: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

Implementation(s) cliente(s)

Seul client TLS compatible a ce jour : Chrom(e|ium)

Implementation partielle :

I pas de verification asynchrone

I pas de mecanisme de rumeur (mais des remontees UMA)

I stockage des engagements de journalisation dans lecache, non exportable

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 16/36

Page 17: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

Politique CT appliquee par Chrom(e|ium)

Criteres :

I nombre d’engagements de journalisation fonction de laduree de validite du certificat

I 2 a 3 engagements minimum requis pour les EV

I engagements provenant de journaux de confiance

I au moins un engagement emis par Google et un autreemis par un tiers

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 17/36

Page 18: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

Politique CT appliquee par Chrom(e|ium)

Criteres :

I nombre d’engagements de journalisation fonction de laduree de validite du certificat

I 2 a 3 engagements minimum requis pour les EV

I engagements provenant de journaux de confiance

I au moins un engagement emis par Google et un autreemis par un tiers

Site EV :

Site DV/OV :

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 17/36

Page 19: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

Politique CT appliquee par Chrom(e|ium)

Criteres :

I nombre d’engagements de journalisation fonction de laduree de validite du certificat

I 2 a 3 engagements minimum requis pour les EV

I engagements provenant de journaux de confiance

I au moins un engagement emis par Google et un autreemis par un tiers

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 17/36

Page 20: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

Impact de la politique CT de Chrom(e|ium)

Impact d’un echec de la validation synchrone :

I perte du statut EV

I pas d’impact pour les certificats DV et OV

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 18/36

Page 21: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

Captures d’ecran de CT dans Chromium

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 19/36

Page 22: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

Captures d’ecran de CT dans Chromium

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 19/36

Page 23: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

Captures d’ecran de CT dans Chromium

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 19/36

Page 24: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

Les autorites de certification (AC)

Toutes les AC dont le statut EV est reconnu parChrom(e|ium) participent a Certificate Transparency (CT)

Symantec, CNNIC, Let’s Encrypt, StartCom/StartSSL etWoSign soumettent a des journaux tous leurs certificats(DV/OV/EV)

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 20/36

Page 25: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

Les journaux

Les journaux, en chiffres :

I 9 journaux utilises dont 3 administres par Google

Taille du plus gros journal (Google Pilot) :

I 22M de certificats

I ≈ 40GB compresses avec GZip

Deux autres journaux de taille comparable. Le 4ieme a <1Mde certificats

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 21/36

Page 26: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

Distribution des engagements

Distribution par le :

I le serveur web (extension TLS)

I le certificat (extension X.509)

I l’information de revocation du certificat (extension OCSP)

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 22/36

Page 27: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

Distribution des engagements

Distribution par le :

I le serveur web (extension TLS) :

I Nginx 1.9.0+, Apache et HaProxy (trunk)

I exemple : google.fr, ritter.vg

I Seul moyen ne requerant pas le concours de l’AC

I le certificat (extension X.509)

I l’information de revocation du certificat (extension OCSP)

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 22/36

Page 28: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

Distribution des engagements

Distribution par le :

I le serveur web (extension TLS)

I le certificat (extension X.509) :

I exemple : twitter.com, particuliers.societegenerale.fr

I l’information de revocation du certificat (extension OCSP)

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 22/36

Page 29: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

Distribution des engagements

Distribution par le :

I le serveur web (extension TLS)

I le certificat (extension X.509)

I l’information de revocation du certificat (extensionOCSP) :

I exemple : sslanalyzer.comodoca.com

I Let’s Encrypt, a terme

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 22/36

Page 30: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

Surveillance des journaux (� moniteurs �)

API en HTTP :

I permet l’interrogation par relais-proxy

I interface simple (GET/JSON)

Implementation de reference par Google (Github)

Peu d’implementations open source utilisables

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 23/36

Page 31: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

Application web de Digicert : Certificate Monitoring

https://www.digicert.com/certcentral/certificate-monitoring.htm

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 24/36

Page 32: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

https://crt.sh de Comodo

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 25/36

Page 33: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

Contremesures au partionnement de vue

This page left intentionally blank

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 26/36

Page 34: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

Contremesures au partionnement de vue

Protocole encore non specifie

I draft-ietf-trans-gossip-02

Creation de miroirs par Google

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 26/36

Page 35: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

Success stories :

Certificats detectes

avec Certificate Transparency

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 27/36

Page 36: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

Incident Symantec

Symantec a emis :

I depuis 1995, environ 100000 certificats non-sollicites� a des fins de test qualite �

I en 2015, un rapport initial sous-estimant le nombre decertificats emis en realite

Google trouve, grace a CT, la preuve d’un certificat EVemis et non liste dans le rapport

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 28/36

Page 37: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

Incident Facebook (FB)

Deux certificats pour des sites satellites :

I emis par Let’s Encrypt a la demande d’un prestataire

I violant les politiques internes de FB

I non frauduleux, mais non sollicites par FB

I detectes grace a Certificate Transparency

I revoques, suite a l’incident

Facebook vise a proposer au public son outil de monitoring

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 29/36

Page 38: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

Conclusion

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 30/36

Page 39: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

Conclusion : point d’attention №1

Certificate Tranparency (CT) :

I est deja deploye

I contient plusieurs millions de chaines de certificats

I est applique par Chrom(e|ium)

Avec Chrom(e|ium) :

I un indicateur EV visible == Certificate Transparency OK

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 31/36

Page 40: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

Conclusion : point d’attention №2

Que retenir de cette presentation ?

I utilisateurs :

I les certificats EV apportent des assurancessupplementaires

I titulaires de noms de domaine :

I surveillez les registres CT !

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 32/36

Page 41: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

Conclusion : point d’attention №2

Que retenir de cette presentation ?

I developpeurs :

I il existe un besoin d’outils d’audit accessibles

I specificateurs :

I la version 2 du protocole est en cours de finalisationI le mecanisme de rumeur est necessaire et reste a affiner

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 33/36

Page 42: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

Perspectives : General Transparency

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 34/36

Page 43: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

Constructions avancees avec des arbres de Merkle

Utilisation de deux journaux et d’un arbre de Merkle creux 1

Exemples d’usage :

I CRL

I publication de politiques (e.g. MTA-STS)

I remplacement du DNS

1. Sparse Merkle TreeFlorian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 35/36

Page 44: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

Merci pour votre attention

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 36/36

Page 45: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

Bibliographie

I Implementation de reference de CT

I Rapport d’incident Symantec

I Rapport d’incident Facebook

I Site � Certificate Monitoring � de Digicert

I Site moniteur de Comodo

I Site implementant un debut de protocole de rumeur

I Liste des miroirs maintenus par Google

I General Transparency

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 36/36

Page 46: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

General Transparency

Constructions avancees avec des arbres de Merkle

Tables de hachage creuses et verifiables :

I utilisation de deux registres et d’un arbre de Merkle creux

I interrogation en temps constant

I reponse de taille constante

I probabilite de collision negligeable (2−256)

I integrite verifiable de maniere efficace

Cas d’usages : CRL, publication de politiques (MTA-STS),remplacement du DNS. . .

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 36/36

Page 47: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

Preuve d’insertion demandee par un auditeur

Preuve de presence de C. Les nœuds gris forment la preuve. Les nœuds

roses sont calcules. R’ doit etre egal au R du precedent schema.

R’

QO’

N’M

DC

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 36/36

Page 48: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

Proprietes des arbres de Merkle

Proprietes :

I croissance par supplantation de la racine

I integrite

I signature de la racine == signature de l’arbre complet

I verification efficace

I auditabilite

I preuves de coherence entre versions

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 36/36

Page 49: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

Proprietes des arbres de Merkle

Proprietes :

I croissance par supplantation de la racine

I integrite

I signature de la racine == signature de l’arbre complet

I verification efficace

I auditabilite

I preuves de coherence entre versions

P

EO

εNM

D

δ

C

γ

B

β

A

α

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 36/36

Page 50: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

Proprietes des arbres de Merkle

Proprietes :

I croissance par supplantation de la racine

I integrite

I signature de la racine == signature de l’arbre complet

I verification efficace

I auditabilite

I preuves de coherence entre versionsAjout de ζ a l’arbre. Entraine la creation de

Q, qui avec O forme une nouvelle racine R.

R

Q

E

ε

F

ζ

O

NM

D

δ

C

γ

B

β

A

α

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 36/36

Page 51: Public Notary Transparency : des journaux publics en ajout seul et … · 2016-07-11 · Journaliser les certi cats emis Journalisation publique des certi cats emis : I base de donn

Proprietes des arbres de Merkle

Proprietes :

I croissance par supplantation de la racine

I integrite

I signature de la racine == signature de l’arbre complet

I verification efficace

I auditabilite

I preuves de coherence entre versions

Florian Maury (ANSSI) Public Notary Transparency 11 juillet 2016 36/36