暗号化はデータを隠し、認証は相手を特定する
暗号化は内容を守り、相手の認証はサーバーを特定し、認可はその身元が何を開けるかを決めます。VPN の設計では三つすべてを確認してください。
相手の確認を伴わない暗号化は、機密の会話を誤った相手に届けてしまいます。認可のない認証は、誰が接続したかを証明しますが、何を開けるかは証明しません。これらは三つの別個の制御であり、暗号方式だけを尋ねる VPN レビューはそのうち一つに答えるだけです。設定ページを開く前に、問いを整理してください。
安全と呼ぶ前に問うべき四つの問い
四つの問いがレビューの枠組みを作ります。監視者が何を読めるか、どのサーバーが応答するか、誰が接続するか、その身元が何を使えるかです。一つ目は暗号化、二つ目は相手の認証、三つ目は利用者または端末の認証、最後は認可が答えます。暗号方式の名前やログインの成功は部分的な答えにすぎません。
| Control | Question it answers | What a failure looks like |
|---|---|---|
| Encryption | Who can read the traffic | Readable content on the path |
| Peer authentication | Which server is answering | Certificate or key mismatch |
| Joining identity | Which user or device connected | Rejected credentials |
| Authorization | What that identity may use | Access denied inside a working tunnel |
一行を未処理のままにした設計は、別の行を強化しても安全にはなりません。制御は補完し合うものであり、置き換えはできません。
相手の認証はログインではない
クライアントは、設定された証明書、公開鍵、その他の対応する仕組みを使って、サーバーが意図した相手であることを検証します。信頼された認証局は、これまで発行したすべての証明書を正しいサーバーにするわけではないため、身元の確認は依然として重要です。未検証の接続先に有効なパスワードを入力しても、その接続先が信頼できるようにはなりません。パスワードが証明するのは、応答した相手に対して認証する用意があったということだけです。
WireGuard は同じ考えを別の道具で示します。設定された相手の鍵は、ブラウザ風の証明書ダイアログなしに身元の確認を行います。多くの利用者が知る共有秘密は、一人の人物よりも集団を特定するため、端末ごとの固有の資格情報のほうが強い身元を担うことがよくあります。
認証付き暗号化は暗号学の用語である
認証付き暗号化とは、暗号が機密性を守り、不正な変更を検出することを意味します。人がログインしたという意味ではなく、アカウントがどのファイルを開けるかも決めません。暗号スイートの名前は構成を表すもので、二者の関係を表すものではありません。パケットの完全性、相手の身元、アカウントの権限は関連する要件ですが、それぞれ証拠が別です。
RFC 5280 の信頼プロファイル は、展開が X.509 を使う場合の証明書パスと身元確認の参照資料です。これを読むほうが、認証済みという語を安全の同義語として扱うより役に立ちます。
制御を弱める前に障害を読む
期限切れの証明書、誤ったシステム時計、想定外のサーバー身元には、それぞれ固有の修正があります。拒否されたアカウントには別の修正があります。サーバーが正当に変わったのであれば、検証済みの運営者から更新された信頼情報を入手してください。接続させるために身元確認を外すことは、目に見える障害を目に見えない障害と引き換えることになります。
トンネルが依存する資格情報を守ってください。プロファイルには秘密鍵が入ることがあり、保存されたパスワードは遠隔アクセスを許すことがあります。漏えいした場合は、サービスのアカウント管理または鍵管理の手続きを使ってください。クライアントの一覧で別の国を選んでも、古い身元は失効しません。