I feel a little bit of gut inertia that this is not good enough for 2017
L'inerzia dell'intestino di solito non è il miglior barometro della sicurezza reale. :-) Ma capisco cosa stai ricevendo. Ti stai chiedendo se qualcosa che è stato in circolazione per un po 'è abbastanza strong da essere sicuro e protetto nell'attuale era di attacchi, attacchi e violazioni costanti. È una domanda ragionevole e chiedere chiarimenti non fa mai male.
Le alternative
Innanzitutto, il DNS non è crittografato per impostazione predefinita. Quindi, se non stai eseguendo DNS Crypt o instradi il tuo DNS su una VPN, sei praticamente nuda, il che (secondo lo "standard gut" e lo standard reale non è abbastanza buono) per il 2017.
Sì ... anche su una VPN. Tale richiesta viene crittografata solo fino all'uscita dall'endpoint VPN. Quindi, è di nuovo nudo.
DNSCrypt Security
Il protocollo DNSCrypt è abbastanza buono e utilizza la crittografia moderna. Una sessione inizia con un pacchetto non criptato, che codifica le informazioni sulla cripta che ha a sua disposizione (certificati, ecc ...)
Il server risponde con certificati firmati per il client da utilizzare. Il client verifica quindi che i certificati utilizzino chiavi pubbliche precedentemente distribuite (note / buone / attendibili) per quel provider.
Insieme alla scelta della chiave pubblica, il cliente sceglierà anche quale chiave utilizzerà in base alle proprie capacità, e quindi (in base a tale certificato e alle proprie capacità) eseguirà uno scambio di chiavi con il provider (server DNS ).
Quando viene effettuata la richiesta crittografata al provider (server DNS), la chiave pubblica del client e un numero magico (che corrisponde al certificato scelto dal cliente) viene trasmesso insieme alla risposta del cliente.
... e ci fu molta gioia criptata ...
Questo è un modello molto simile a come altre forme di crittografia stabiliscono la comunicazione (come SSL / TLS).
Autenticati
Il protocollo DNSCrypt non si limita a crittografare, ma autentica anche. Richiede l'autenticazione prima della decodifica, che è l'ordine corretto delle cose.
Se una richiesta è crittografata, ma non può essere autenticata (la firma non viene visualizzata) la richiesta viene ignorata quietamente.
Ti consente di randomizzare le tue chiavi
Il protocollo supporta chiavi a breve termine e genera una nuova chiave per ogni richiesta, il che rende molto difficile per qualsiasi richiesta o attività da tracciare e registrare in termini di richieste.
È moderno
Il protocollo DNS Crypt utilizza Curve25119 ellittico nel modulo Montgomery e hash hsalsa20 per lo scambio delle chiavi. Questa è la stessa roba creata da Dan Berstein nella sua libreria di sodio .
Dov'è il punto debole?
Come per la maggior parte della crittografia, la debolezza è nell'implementazione. OpenDNS, Google e alcuni altri che sanno veramente cosa stanno facendo possono essere considerati affidabili per farlo bene.
Configurare il tuo, o usarne uno a caso potrebbe non essere una buona idea.
Un altro punto debole è la registrazione (il provider registra ciò che sta facendo? Protegge i log). Inoltre, se l'impiantista utilizzava chiavi compromesse, anche questo sarebbe un problema.
Riferimento