L'infrastruttura di base, che lo renderebbe possibile, esiste ed è chiamata autenticazione basata su DNS di entità denominate (DANE) e specificata in RFC6698 . Funziona tramite un TLSA
record di risorse, che specifica il certificato o la sua chiave pubblica dell'entità finale o una delle sue CA nella catena (in realtà ci sono quattro tipi diversi, vedi RFC per i dettagli).
Adozione
DANE non ha ancora visto un'adozione diffusa. VeriSign monitora l' adozione di DNSSEC e DANE e ne traccia la crescita nel tempo :
Per fare un confronto, secondo VeriSign, esistono circa 2,7 milioni di zone DNS, quindi un po 'più dell'1% di tutte le zone ha almeno un record TLSA.
Non posso dare alcuna risposta autorevole, perché DANE, ma ecco le mie speculazioni:
DANE soffre dello stesso problema degli elenchi di revoche di certificati (CRL) e del protocollo di stato del certificato online (OCSP). Per verificare la validità di un certificato presentato, è necessario contattare una terza parte. Hanno Böck offre una buona panoramica , perché questo è un grosso problema in pratica. Si riduce al problema di cosa fare, quando non è possibile raggiungere la terza parte. I produttori di browser hanno optato per il soft-fail (noto anche come permesso) in questo caso, il che ha reso il tutto piuttosto inutile e Chrome alla fine ha deciso di disabilitare OCSP nel 2012.
DNSSEC
Probabilmente il DNS offre una disponibilità molto migliore rispetto ai server CRL e OCSP delle CA, ma rende comunque impossibile la verifica offline. Inoltre DANE, deve essere usato solo in combinazione con DNSSEC. Poiché il DNS normale opera su UDP non autenticato, è abbastanza soggetto a contraffazione, attacchi MITM, ecc. L'adozione di DNSSEC è molto meglio dell'adozione di DANE, ma è tutt'altro che onnipresente.
E con DNSSEC ci imbattiamo di nuovo nel problema del soft-fail. Per quanto ne so, nessun sistema operativo server / client principale fornisce un resolver DNSSEC di default.
Poi c'è anche il problema della revoca. DNSSEC non ha alcun meccanismo di revoca e si affida invece a chiavi di breve durata.
Supporto software
Tutti i software partecipanti devono implementare il supporto DANE.
In teoria, potresti pensare che questo sarebbe il lavoro delle librerie di crittografia e gli sviluppatori di applicazioni non dovrebbero fare molto, ma il fatto è che le librerie di crittografia in genere forniscono solo primitive e le applicazioni devono fare molta configurazione e installarsi (e sfortunatamente ci sono molti modi per sbagliare).
Non sono a conoscenza del fatto che qualsiasi server Web importante (ad esempio Apache o nginx), ad esempio, abbia implementato DANE o abbia in programma di farlo. I server Web sono di particolare importanza qui, perché sempre più elementi si basano su tecnologie Web e quindi sono spesso i primi, in cui le cose vengono implementate.
Quando guardiamo CRL, OCSP e pinzatura OCSP come confronto, potremmo essere in grado di dedurre come andrà la storia dell'adozione DANE. Solo alcune delle applicazioni che utilizzano OpenSSL, libnss, GnuTLS, ecc. Supportano queste funzionalità. Ci sono voluti un po 'di tempo per supportarlo da importanti software come Apache o nginx e riferendosi nuovamente all'articolo di Hanno Böck, hanno sbagliato e la loro implementazione è difettosa. Altri importanti progetti software, come Postfix o Dovecot , non supportano OCSPe hanno funzionalità CRL molto limitate, che in sostanza indicano un file nel file system (che non è necessariamente rileggere regolarmente, quindi è necessario ricaricare il server manualmente ecc.). Tieni presente che si tratta di progetti che utilizzano frequentemente TLS. Quindi puoi iniziare a guardare cose in cui TLS è molto meno comune, come PostgreSQL / MySQL per esempio e forse offrono i CRL al meglio.
Quindi non ho nemmeno implementato i moderni server Web e la maggior parte degli altri software non ha nemmeno implementato OCSP e CRL, buona fortuna con l'applicazione o l'appliance aziendale di 5 anni.
Potenziali applicazioni
Quindi dove potresti effettivamente usare DANE? A partire da ora, non su Internet in generale. Se controlli il server e il client, forse è un'opzione, ma in questo caso puoi spesso ricorrere al blocco delle chiavi pubbliche.
Nello spazio di posta, DANE sta ottenendo una certa trazione, poiché SMTP non ha avuto alcun tipo di crittografia di trasporto autenticata per il tempo più lungo. I server SMTP a volte hanno utilizzato TLS tra loro, ma non hanno verificato che i nomi nei certificati corrispondessero effettivamente, ora stanno iniziando a verificarlo tramite DANE.