通信時暗号化とは
この記事は約 2 分で読めます
通信時暗号化 (Encryption in Transit) とは、ネットワーク上を流れるデータを暗号化して盗聴や改ざんを防ぐ技術です。TLS (Transport Layer Security) が代表的なプロトコルで、 HTTPS 通信、メール送受信、 VPN トンネルなどあらゆるネットワーク通信の保護に使われています。最新版の TLS 1.3 は 2018 年 8 月に RFC 8446 として標準化され、ハンドシェイクの往復回数の削減と旧式の暗号方式の廃止が図られています。
現場での使用例
例えば、外部との通信は HTTPS で保護していても、マイクロサービス間の内部通信は平文のままという構成が考えられます。この状態では同じネットワークに侵入された時点で内部の通信内容がそのまま読めてしまうため、サービスメッシュ (Istio など) を用いて mTLS をサービス間通信にも適用し、認証と暗号化を個々のアプリケーションの実装に任せず基盤側で自動化する、という対策が取られます。
通信暗号化フロー
保存時暗号化との違い
保存時暗号化がディスクやデータベースに格納されたデータを保護するのに対し、通信時暗号化はデータが送信元から送信先に移動する間を保護します。両者は補完関係にあり、どちらか一方だけでは不十分です。たとえば、データベースを暗号化していても、アプリケーションサーバーとの通信が平文であれば、中間者攻撃でデータを傍受される可能性があります。
主要プロトコルと実装
TLS 1.3 は RFC 8446 で定義された最新版で、ハンドシェイクの往復回数を削減し、安全性と速度を両立しています。 SSH はサーバー管理の通信を暗号化し、 IPsec は VPN トンネルでネットワーク層の暗号化を提供します。クラウド環境では、サービス間通信にも mTLS (相互 TLS 認証) を適用する設計が推奨されています。公共 Wi-Fi では通信時暗号化が特に重要で、 VPN を併用することで暗号化されていない通信も保護できます。
運用のポイント
TLS 証明書には有効期限があり、更新を忘れるとブラウザが警告を表示してサービスが実質的に使えなくなります。 Let's Encrypt の自動更新や証明書管理ツールを活用し、期限切れを防止しましょう。また、 TLS 1.0/1.1 は既知の脆弱性があり、 IETF も 2021 年 3 月の RFC 8996 で正式に非推奨としているため無効化が必要です。強力なランダムパスワードと通信時暗号化を組み合わせれば、認証情報が通信経路を平文で流れる事態を避けられます。
この記事は役に立ちましたか?