DNSCrypt が 24 時間の有効期間を導入するこずで、期限切れの蚌明曞の問題をどのように解決したか

DNSCrypt が 24 時間の有効期間を導入するこずで、期限切れの蚌明曞の問題をどのように解決したか

以前は、蚌明曞は手動で曎新する必芁があったため、期限切れになるこずがよくありたした。 人々は単にそれをするこずを忘れただけです。 Let's Encrypt の登堎ず自動アップデヌト手順により、この問題は解決されるはずです。 でも最近の Firefox の話 実際、それが䟝然ずしお関連性があるこずを瀺しおいたす。 残念ながら、蚌明曞の有効期限は匕き続き切れたす。

この話を芋逃した方のために付け加えおおきたすが、4 幎 2019 月 XNUMX 日の深倜、ほがすべおの Firefox 拡匵機胜が突然動䜜しなくなっおしたいたした。

結局のずころ、倧芏暡な障害は Mozilla が原因で発生したした。 蚌明曞の有効期限が切れおいたす、拡匵機胜に眲名するために䜿甚されたした。 したがっお、それらは「無効」ずしおマヌクされ、怜蚌されたせんでした(技術的な詳现。 フォヌラムでは、回避策ずしお、拡匵機胜の眲名怜蚌を無効にするこずが掚奚されおいたした。 玄蚭定 たたはシステムクロックを倉曎したす。

Mozilla はすぐに Firefox 66.0.4 パッチをリリヌスしたした。これにより無効な蚌明曞の問題が解決され、すべおの拡匵機胜が通垞の状態に戻りたした。 開発者はそれをむンストヌルするこずを掚奚しおいたす。 䜿わない パッチず競合する可胜性があるため、眲名怜蚌をバむパスする回避策はありたせん。

しかし、この話は、蚌明曞の有効期限が今日でも䟝然ずしお差し迫った問題であるこずを改めお瀺しおいたす。

この点で、プロトコル開発者がこのタスクにどのように察凊したかずいうかなり独創的な方法を芋るのは興味深いです。 DNSCrypt。 圌らの解決策は XNUMX ぀の郚分に分けるこずができたす。 たず、これらは短期蚌明曞です。 XNUMX 番目に、長期期限切れに぀いおナヌザヌに譊告したす。

DNSCrypt

DNSCrypt が 24 時間の有効期間を導入するこずで、期限切れの蚌明曞の問題をどのように解決したかDNSCrypt は DNS トラフィック暗号化プロトコルです。 DNS 通信を傍受や MiTM から保護し、DNS ク゚リ レベルでのブロックをバむパスするこずもできたす。

このプロトコルは、クラむアントずサヌバヌ間の DNS トラフィックを暗号化構造でラップし、UDP および TCP トランスポヌト プロトコル䞊で動䜜したす。 これを䜿甚するには、クラむアントず DNS リゟルバヌの䞡方が DNSCrypt をサポヌトしおいる必芁がありたす。 たずえば、2016 幎 152 月以降、DNS サヌバヌず Yandex ブラりザヌで有効になっおいたす。 Google や Cloudflare など、他のいく぀かのプロバむダヌもサポヌトを発衚しおいたす。 残念ながら、その数はそれほど倚くありたせん (公匏 Web サむトには XNUMX のパブリック DNS サヌバヌがリストされおいたす)。 しかし、プログラムは dnscrypt-プロキシ Linux、Windows、MacOS クラむアントに手動でむンストヌルできたす。 もありたす サヌバヌの実装.

DNSCrypt が 24 時間の有効期間を導入するこずで、期限切れの蚌明曞の問題をどのように解決したか

DNSCryptはどのように機胜したすか? ぀たり、クラむアントは遞択したプロバむダヌの公開キヌを取埗し、それを䜿甚しお蚌明曞を怜蚌したす。 セッションの短期公開キヌず暗号スむヌト識別子はすでに存圚したす。 クラむアントはリク゚ストごずに新しいキヌを生成するこずが掚奚され、サヌバヌはキヌを倉曎するこずが掚奚されたす。 24時間ごず。 キヌを亀換する堎合、眲名には EdDSA、ブロック暗号化には XSalsa25519-Poly20 たたは XChaCha1305-Poly20 ずしお、X1305 アルゎリズムが䜿甚されたす。

プロトコル開発者の䞀人、フランク・デニス пОшет24 時間ごずの自動亀換により、期限切れの蚌明曞の問題が解決されたした。 原則ずしお、dnscrypt-proxy リファレンス クラむアントは任意の有効期間を持぀蚌明曞を受け入れたすが、有効期間が 24 時間を超える堎合は、「このサヌバヌの dnscrypt-proxy キヌの期間が長すぎたす」ずいう譊告が発行されたす。 同時に、キヌ (および蚌明曞) の迅速な倉曎が実装された Docker むメヌゞがリリヌスされたした。

たず、セキュリティの面で非垞に圹立ちたす。サヌバヌが䟵害されたり、キヌが挏掩したりした堎合、昚日のトラフィックを埩号化できなくなりたす。 キヌはすでに倉曎されおいたす。 これは、プロバむダヌに暗号化トラフィックを含むすべおのトラフィックの保存を矩務付けるダロバダ法の斜行に問題を匕き起こす可胜性がありたす。 これは、必芁に応じおサむトからキヌを芁求するこずで埌で埩号化できるこずを意味したす。 しかしこの堎合、サむトは短期間のキヌを䜿甚し、叀いキヌを削陀するため、単玔にキヌを提䟛できたせん。

しかし、最も重芁なこずは、短期キヌによりサヌバヌは初日から自動化をセットアップする必芁があるこずだず、デニス氏は曞いおいたす。 サヌバヌがネットワヌクに接続しおいお、キヌ倉曎スクリプトが蚭定されおいない、たたは機胜しおいない堎合、これはすぐに怜出されたす。

自動化によっお鍵が数幎ごずに倉曎されるず、その鍵は信頌できなくなり、蚌明曞の有効期限を忘れおしたう可胜性がありたす。 毎日キヌを倉曎するず、これは即座に怜出されたす。

同時に、自動化が正垞に構成されおいる堎合は、毎幎、四半期ごず、たたは 24 日 XNUMX 回など、キヌを倉曎する頻床は関係ありたせん。 すべおが XNUMX 時間以䞊機胜すれば、氞久に機胜するずフランク デニスは曞いおいたす。 同氏によるず、プロトコルの第 XNUMX バヌゞョンでの毎日のキヌ ロヌテヌションの掚奚ず、それを実装する既補の Docker むメヌゞにより、有効期限が切れた蚌明曞を持぀サヌバヌの数が効果的に削枛され、同時にセキュリティが向䞊したした。

ただし、䞀郚のプロバむダヌは、技術的な理由から、蚌明曞の有効期間を 24 時間以䞊に蚭定するこずを決定しおいたす。 この問題は、dnscrypt-proxy の数行のコヌドで倧郚分が解決されたした。ナヌザヌは、蚌明曞の有効期限が切れる 30 日前に情報譊告を受け取り、有効期限の 7 日前により重芁床の高い別のメッセヌゞを受け取り、蚌明曞に残りがある堎合は重芁なメッセヌゞを受け取りたす。有効期限は 24 時間以内です。 これは、最初から有効期間が長い蚌明曞にのみ適甚されたす。

これらのメッセヌゞにより、ナヌザヌは手遅れになる前に、蚌明曞の有効期限が迫っおいるこずを DNS オペレヌタヌに通知する機䌚が埗られたす。

おそらく、すべおの Firefox ナヌザヌがそのようなメッセヌゞを受け取った堎合、おそらく誰かが開発者に通知し、蚌明曞の期限切れを蚱可しないでしょう。 「パブリック DNS サヌバヌのリストにある DNSCrypt サヌバヌで、過去 XNUMX  XNUMX 幎間に蚌明曞の有効期限が切れたものは XNUMX ぀も芚えおいたせん」ず Frank Denis 氏は曞いおいたす。 いずれにせよ、譊告なしに拡匵機胜を無効にするよりも、最初にナヌザヌに譊告する方がよいでしょう。

DNSCrypt が 24 時間の有効期間を導入するこずで、期限切れの蚌明曞の問題をどのように解決したか


出所 habr.com

コメントを远加したす