DNSCrypt
。
DNSCryptプロトコルは、あらかじめ定義された公開鍵のセットのみを受け付けることで、アクセス制御やアカウンティングにも利用できる。これにより、商用DNSサービスでは、IPアドレスに依存せずに顧客を識別することができる。
クエリと応答は同じアルゴリズムを使用して暗号化され、パケットサイズのリークを回避するために64バイトの倍数にパディングされる。 UDPを介して、応答がそれにつながる質問よりも大きい場合、サーバはTC(切り捨て)ビットが設定されている短いパケットで応答できる。その後、クライアントはTCPをって再試行し、後続のクエリのパディングを増やす必要がある。
バージョン1および2のプロトコルでは、鍵交換にX25519アルゴリズム、署名にEdDSA、認証付き暗号化にXSalsa20-Poly1305またはXChaCha20-Poly1305を使用している。
2020年の時点で、DNSCryptプロトコルに既知の脆弱性はなく、基盤となる暗号構造に対する実際的な攻撃もない。