DNSSEC Purqui et détails du prtcle Alain Patrick AINA aalain@trstech.net AFNOG 2014, Djibuti, Djibuti
Architecture Registrars/ Registrants DNS As friend secndary As ISP Cache server Registry DB primary As DNS prvider Prvisining client secndary DNS Prtcl
DNS Muvement des dnnées Fichier de zne Mise à jur dynamiques maître Cache/frwarder Esclaves Reslver
Réslutin DNS Questin: www.ripe.net A Reslve r www.ripe.net A? 192.168.5.10 www.ripe.net A? Serveurs racine Demande aux serveurs net @ X.gtld-servers.net (+ glue) Cache frwarder (récursif) www.ripe.net A? Serveurs-gtld Demande aux serveurs ripe @ ns.ripe.net (+ glue) Ajut au cache www.ripe.net A? 192.168.5.10 Serveurs-ripe
Registrars Registrants DNS Pints de vulnérabilité Inter-server cmmunicatin Server cmprmise Cache Pisning Registry DB Prvisining DNS Prtcl Cache-Stub reslver cmmunicatin
Subject: tenure autrisé Astrphysics Astrphysics MailServer Server Mail Where? There! DNS DNS Exemple: Scan de mail nn CentralAdmin Admin Central MailServer Server Mail
Subject: tenure autrisé Exemple: Scan de mail nn Astrphysics Astrphysics MailServer Server Mail Where? CentralAdmin Admin Central MailServer Server Mail Elsewhere DNS DNS Bad BadGuy Guy
Kaminsky Attaques de
Attaques de Kaminsky (suite)
Où intervient DNSSEC? DNSSEC sécurise le mappage des nms en adresses IP, etc... La sécurité au niveau transprt et applicatif est du ressrt d autres cuches.
Prpriétés de DNSSEC DNSSEC furnit l authentificatin de message et la vérificatin d intégrité à travers des signatures cryptgraphiques Surce DNS Authentique Pas de mdificatins entre signature et validatin Il ne furnit pas d autrisatin Il ne prévit pas la cnfidentialité
Registrars Registrants Prtectin de DNSSEC Server cmprmise Inter-server cmmunicatin Cache Pisning Registry DB Prvisining DNS Prtcl Cache-Stub reslver cmmunicatin
Registrars Registrants Prtectin de DNSSEC envelppe scellée vérificatin du scellé Registry DB Prvisining DNS Prtcl vérificatin du scellé
Bienfaits secndaires du DNSSEC DNSSEC Furnit un chemin de cnfiance indépendante La persnne qui administre https est certainement différente de la persnne qui fait DNSSEC Les chaînes de cnfiance snt prbablement différentes
Bienfaits secndaires du DNSSEC (suite) Avec une plus grande cnfiance dans le DNS On peut assurer des négciatins et échanges de clés Enregistrements SSHFP, IPSECKEY, X509 CERTS Grupe de travail IETF DANE
Attaques cntre les PKI
PKI(suite) Attaques cntre les
Autre mécanismes de sécurité DNS Nus avns parle de la prtectin des dnnées La technlgie de l'envelppe scellée Il y a aussi la cmpsante de sécurité du transprt Utile pur les cmmunicatins bilatérales entre machines TSIG u SIG0
Registrars Registrants Prtectin de TSIG/SIG0 Server cmprmise Inter-server cmmunicatin Cache Pisning Registry DB Prvisining DNS Prtcl Cache-Stub reslver cmmunicatin
DNSSEC en une page L authenticité et l intégrité de dnnées par la signature des ensembles de «ressurce Recrd» avec la clé privée La clé publique est utilisée pur vérifier les RRSIGs L enfant signe sa zne avec sa clé privée L authenticité de cette clé est déterminée par la signature de cntrôle du parent (DS) Cas idéal: une clé publique distribuée
Authenticité et Intégrité Nus vulns vérifier l authenticité et l'intégrité des dnnées DNS Authenticité: Est ce la dnnée publiée par l entité suppsée autritaire? Intégrité: Est ce la dnnée reçue cnfrme à celle publiée? La cryptgraphie à clé publique aide à répndre à ces questins On peut utiliser les signatures pur vérifier l intégrité et l authenticité de dnnée On peut vérifier l authenticité des signatures
Cryptgraphie à clé publique Utilise deux clés : une privée et une publique Bref: Si tu cnnais la clé publique, tu peux déchiffrer une dnnée chiffrée avec la clé privée Si tu cnnais la clé privée, tu peux déchiffrer une dnnée chiffrée avec la clé publique. Signature et vérificatin de signature Cnfidentialité DNSSEC utilise seulement les signatures PGP utilise les deux techniques
Cryptgraphie à clé publique (suite) La sécurité du système de cryptgraphie est basée sur un tas d équatins mathématiques dnt la réslutin demande le parcurs d'un grand espace de slutin (ex. factrisatin) Algrithmes : DSA, RSA, elliptic curve, etc.. Les clés publiques nt besin d être distribuées. Les clés privées nt besin d être gardées secrètes Pas évident La cryptgraphie à clé publique est lente
Nuveaux ER pur DNSSEC 3 Enregistrements de Ressurce à base de clé publique 1 ER pur la cnsistance interne RRSIG: Signature d'un jeu de ER faite avec la clé privée DNSKEY: Clé publique, nécessaire pur la vérificatin d'un RRSIG DS: Delegatin Signer: Pinteur de cnstructin de chaîne de cnfiance NSEC: ER pur indiquer le nm suivant dans la zne et quel type de ER snt dispnibles pur le nm actuel Authentifie la nn existence de dnnées Pur des clés publiques nn DNSSEC : CERT/IPSECKEY(?)
ERs et jeu de ERs Enregistrement de ressurce: 혼 label class ttl type rdata www.ripe.net IN 7200 A 192.168.10.3 Tut les ERs d un label dnné, class, type frment un jeu de ER: www.ripe.net IN 7200 A 192.168.10.3 A 10.0.0.3 Dans DNSSEC, ce snt les jeux de ER qui snt signés et nn les ERs individuels
RDATA de DNSKEY 16 bits FLAGS (0,256,257) 8 bits prtcle (3: DNSSEC) 8 bits algrithme (1: RSA/MD5, 2: DH, 3: DSA, 4: Elliptic curve, 5: RSA/SHA1, etc...) Clé publique à N*32 bits Exemples: ripe.net. 3600 IN DNSKEY 256 3 5 ( AQOvhvXXU61Pr8sCwELcqqq1g4JJ CALG4C9EtraBKVd+vGIF/unwigfLOA O3nHp/cgGrG6gJYe8OWKYNgq3kDChN) RSA/SHA-256 est recmmandé cmme remplacant de RSA/SHA1
RDATA de RRSIG 16 bits type cuvert 8 bits algrithme 8 bits labels cuvert 32 bit TTL riginel 32 bit expiratin de signature 32 bit début de validité de signature 16 bit ID de clé Nm du signataire www.ripe.net. 3600 IN RRSIG A 1 3 3600 20010504144523 ( 20010404144523 3112 ripe.net. VJ+8ijXvbrTLeAiEk/qMrdudRnYZM1VlqhN vhyuacyke2x/jqyfmfjfsurmhp+0/gozjw
RDATA de NSEC Nm suivant dans la zne Liste également les types de ER existants pur un nm L'enregistrement NSEC du dernier nm pinte vers le premier nm dans la zne Exemple: www.ripe.net. 3600 IN NSEC ripe.net. A RRSIG NSEC
Enregistrement NSEC Authentificatin de la nn-existence de type et de labels Exemple de la zne ripe.net (Sans les RRSIG): ripe.net. SOA.. NS NS.ripe.net. mailbx www A DNSKEY... NSEC mailbx DNSKEY NS NSEC RRSIG SOA A 192.168.10.2 NSEC www A NSEC RRSIG 192.168.10.3 NSEC ripe.net A NSEC RRSIG dig smtp.ripe.net dnnerait: aa RCODE=NXDOMAIN autrité: mailbx.ripe.net. NSEC www.ripe.net. A NSEC RRSIG dig www.ripe.net MX dnnerait: aa RCODE=NO ERROR autrité: www.ripe.net. NSEC ripe.net. A NSEC RRSIG
Delegatin Signer: DS Indique que la zne déléguée est digitalement signée Essentiellement un pinteur vers la clé suivante dans la chaîne de cnfiance Le Parent est autritaire pur le DS des znes enfant Le DS ne dit pas être publié dans la zne enfant. Règle beaucup de prblèmes Renuvellement de clés
(suite) Delegatin Signer: DS DS : Le parent dnne l autrité de signer les ERs de la zne enfant en utilisant le DS Est un pinteur vers la prchaine clé dans la chaîne de cnfiance Tu fais cnfiance à une dnnée qui est signée en utilisant une clé vers laquelle pinte le DS
RDATA du DS 16 bits ID de la clé de l'enfant Ce champ indique la clé 8 bits algrithme suivante dans la chaîne de 8 bits type de digest cnfiance XX ctets de digest $ORIGIN ripe.net. disi.ripe.net 3600 IN NS ns.disi.ripe.net disi.ripe.net. 3600 IN DS 3112 5 1 ( 239af98b923c023371b521g23b92da1 2f42162b1a9 )
Signature de zne La signature accmplit les taches suivantes Trier la zne Insérer les enregistrement NSEC Insérer RRSIG cntenant une signature pur chaque jeu d enregistrement de ressurce. La signature est faite avec la clé privée
Délégatin de zne signée Le Parent signe l enregistrement DS pintant vers un ensemble de clés de signature de clés Clé de signature de clé $ORIGIN net. $ORIGIN kids.net. @ NS ns1.kids RRSIG NS ( ) kids.net. DNSKEY ( ) (1234) DNSKEY ( ) (3456) RRSIG DNSKEY 1234 kids.net RRSIG DNSKEY 3456 kids.net kids NS ns1.kids DS ( ) 1234 RRSIG DS ( )net. mney NS ns1.mney DS ( ) Clé de signature de zne RRSIG DS ( )net. beth ns1 A 127.0.10.1 RRSIG A ( ) 3456 kids.net. A 127.0.10.3 RRSIG A ( ) 3456 kids.net.
KSK/ZSK Deux différentes clés snt utilisées DS pinte vers la clé de signature de clé(ksk) Le KSK signe les clés La zne est signée avec la clé de signature de zne(zsk) KSK peut être plus grande avec une grande durée de vie ZSK peut avir une durée de vie curte Peut être petit = rapidité
KSK/ZSK draft-ietf-dnsp-rfc4641bis-01.txt suggère 1024 bits par défaut 2048 pur les niveaux Trust Anchr u clés difficiles à changer RSA/SHA-256 dès que pssible Utiliser Une bnne surce de nmbre aléatire RFC4086 NIST SP 800-90 Renuvellement des KSK chaque 12 mis, même si elles snt valides pur 2 décennies Renuvellement de ZSK chaque mis
Chaîne de cnfiance Les dnnées dans les znes peuvent être valides si elles snt signées par une ZSK La ZSK ne peut être valide que si elle est signée par une KSK La KSK ne peut digne de cnfiance que si elle référencée par un enregistrement DS de cnfiance Un enregistrement DS ne peut être valide que s'il est signé par la ZSK du parent u Une KSK peut être valide si elle est échangée hrs bande (Trusted key)
Chaîne de cnfiance Cnfiguratin lcale Trusted key:. 8907 $ORIGIN.. DNSKEY ( ) lase5 (2983) DNSKEY ( ) 5TQ3s (8907) RRSIG KEY ( ) 8907. 69Hw9.. Clé de signature de zne Clé de signature de clé $ORIGIN net. net. DS 7834 3 1ab15 RRSIG DS ( ). 2983 $ORIGIN ripe.net. ripe.net. DNSKEY ( ) svp242 (1234) DNSKEY ( ) rwx002 (4252) RRSIG KEY ( ) 4252 ripe.net. 5tUcwU... www.ripe.net. A 193.0.0.202 RRSIG A ( ) 1234 ripe.net. a3ud... net. DNSKEY ( ) q3dew (7834) DNSKEY ( ) 5TQ3s (5612) RRSIG KEY ( ) 7834 net. cmas3ud... ripe.net. DS 4252 3 1ab15 RRSIG DS ( ) net. 5612
Sécurisatin de l'arbrescence du DNS Prblème de distributin de clés. cm. net. mney.net. kids.net. crp dev dp market dilbert marnick s.net. mac unix nt Échange de clés hrs bande.
Des znes nn sécurisées L évidence cryptgraphique de l état nn sécurisé d une zne est furnie par le parent S'il n y a pas d enregistrement DS, cmme pruvé par un enregistrement NSEC avec une signature valide, l enfant n est pas sécurisé. Un enfant peut cntenir des signatures,mais cellesci ne sernt pas utilisées pur cnstruire une chaîne de cnfiance
Bit AD Un bit d'état dans la sectin «header» des paquets DNS Nn utilisé avant DNSSEC(devrait être à zér) Utilisé uniquement dans les répnses d'un serveur de validatin Le bit AD n'est pas psitinner par un serveur autritaire sauf pur des dnnées qu'il cntrôle et s'il est cnfiguré pur.. AD = Authenticated data(dnnée authentique)
Bit CD Un bit d'état dans la sectin «header» des paquets DNS Nn utilisé avant DNSSEC(devrait être à zér) CD = Checking Disable (validatin désactivée) 1= validatin désactivée Le reslver accepte des répnses nn vérifiées 0= validatin activée Le reslver veut des répnses vérifiées pur les dnnées signées,mais accepte les répnses nn vérifiées pur les dnnées nn signées
Bit D0 Un bit d'état dans la sectin «header» des paquets DNS Nn utilisé avant DNSSEC (devrait être à zér) 1= le reslver veut les enregistrements DNSSEC 0= le reslver ne veut pas les enregistrements DNSSEC
Utilisatin du DNS pur distribuer les clés Les îles sécurisées rendent prblématique la distributin de clés Distributin de clés par le biais du DNS: Utiliser une clé de cnfiance pur établir l authenticité des autres clés Cnstruire des chaînes de cnfiance de la racine vers le bas Les parents nt besin de signer les clés de leurs enfants Seul la clé racine est nécessaire dans un mnde idéal Les parents délèguent tujurs la sécurité à l enfant... Mais il n'est pas intéressant de signer vtre zne si le parent ne signe pas u n'est pas signé...
Utilisatin du DNS pur distribuer les clés Cnstructin des chaînes de cnfiance de la racine vers le bas de l arbrescence DNS Outils: ERs: DSNKEY, RRSSIG, DS, NSEC Cnfiguratin manuelle des clés de la racine
Adptin DNSSEC cctlds and gtlds http://www.hm.t/dnssec/maps/ 28/05/2014
Tâches de dépliement de DNSSEC Plitiques et utils de gestin des clés Utilisatin et prtectin de la clé privée Distributin de la clé publique Signature et Intégratin de zne dans la chaîne d apprvisinnement Infrastructure de serveurs DNS Délégatin sécurisée des mdificatins du registre Interfaçage avec les clients
Mdificatin de l Architecture DNSSEC
RENOUVELLEMENT DE CLES
CLES PRIVEES Vus devez garder vtre clé privée secrète La clé privée peut être cmprmise Mettre la clé sur une machine islée derrière pare-feu et un cntrôle d'accès slide Recnstructin de clé privée (Analyse de cryptgraphie) Nmbre aléatire pas vraiment aléatire Défaillance du matériel de clé Attaques brutales
RENOUVELLEMENT DE CLES Minimiser l'impact Curte validité des signatures Renuvellement régulier des clés NB: Les clés n'nt pas de tampns hraires en elles; Les RRSIG sur les clés nt des tampns hraires La renuvellement de clés implique d autres parties L état dit être maintenu pendant le renuvellement pas tujurs flexible
RENOUVELLEMENT DE CLES (suite) Avec la distinctin de ZSK du KSK, il est maintenant pssible de remplacer le ZSK sans affecter le parent Ceci est une frme de renuvellement de clé Il suffit seulement de re-signer le «jeu» ER du DNSKEY avec le KSK inchangé. On peut aussi remplacer le KSK Il est nécessaire d'avir temprairement les deux clés (ancienne et nuvelle) présentes dans la zne Assurer la transitin Jusqu'à expiratin des RRSIG générées par l'ancienne clé
CHANGEMENT DE CLES NON PROGRAMME A besin de cmmunicatin hrs-canal Avec le parent et les reslvers précnfigurés Le parent a besin de vérifier de nuveau vtre identité Cmment prtéger les délégatins des enfants Nn sécurisées? Il y aura une péride ù la clé vlée peut être utilisée pur générer des dnnées sécurisées Il n'y a pas de mécanisme de révcatin de clé Une prcédure d'urgence dit être en place
DNSSEC Quelques Hics avec Ne prtége pas cntre les attaques de déni de service; mais en augmente les risques Charge de travail cryptgraphique Lngeur des message DNS RFC5358 Ne prtège pas les ERs nn signés(dnnées nn autritaires aux pints de délégatin) NS et glue dans la zne parent Il faut prtéger les transferts de zne par autres techniques Ajute de la cmplexité au DNS, augmentant ainsi les risques de mauvaises cnfiguratins Cmment se fera la distributin et le renuvellement du Trust Anchr(KSK de la racine)? RFC5011??
DNSSEC DNSSEC intrduit un mécanisme qui permet de lister tus les nms d'une zne en suivant la chaîne NSEC Quelques Hics avec NSEC3 si le znewalk est un prblème pur vus Certains firewalls/middle bx ne supprtent pas des paquets DNS > 512 Octets(edns0) Beaucup snt recnfigurables Certains Firewalls/middle bx nt des sucis avec les bits AD,CD,DO Certains vieux reslvers peuvent avir des sucis avec le bit AD Faire mettre le bit AD dans les requêtes pur signaler l'état des reslvers?
Lectures http://www.bind9.net/manuals http://www.dnssec.net RFC (http://www.rfc-editr.rg) RFC 3833 (Vulnérabilités du DNS) RFC 4033 RFC 4034 RFC4035 RFC4641 http://tls.ietf.rg/id/draft-ietf-dnsp-rfc4641bis-01.txt
Questins?