主題
- #TLS
作成: 2024-10-27
作成: 2024-10-27 21:31
2020年頃を境にTLS1.1のサポートが終了したことに伴い
古いサーバーの点検が必要になりました。
TLS1.1を維持した場合、AWS、Azureなどのクラウドサービス間の通信でエラーが発生したり、
決済などの外部API通信でエラーが発生したり、ブラウザのバージョンによっては問題が生じる可能性があります。
- 6.xバージョン以前はTLS1.2をサポートしていないようです。Java 7以上のJREを使用してTLS1.2に変更する必要があります。
- 1.1.13バージョンでTLS1.2をサポートしているようです。
Client Hello:クライアントがサーバーに接続要求を送信します。(サポートするTLSバージョンと暗号スイートを含む)
Server Hello:サーバーは使用するTLSバージョンと暗号スイート、SSL証明書を送信し、信頼性を証明します。
キー交換とセッションキーの生成:クライアントとサーバーはキー交換アルゴリズムを使用して共有セッションキーを生成します。
完了メッセージ:クライアントとサーバーはそれぞれキーで暗号化された完了メッセージを送信します。
データ転送:セッションキーを使用してデータを暗号化し、送受信します。
終了:データ転送が終了すると、セッション終了メッセージを交換し、セッションキー情報を削除します。
TLSは転送段階でのセキュリティプロトコルであり、HTTPSの基盤です。認証、完全性、暗号化を提供します。
1.2は1.1と比較して、セキュリティとパフォーマンスにおいて優れていると言われています。
- 1.1はMD5とSHA-1ハッシュアルゴリズムを使用します。
- 1.1はBEAST、Man-in-the-middle、Cipher Suite攻撃を受ける可能性があります。
* BEAST:攻撃者がHTTPS接続を傍受して悪意のある内容を挿入する
* Man-in-the-middle:攻撃者が通信を傍受してデータを盗む
- 1.2はSHA-256アルゴリズムを使用します。(より強力なセキュリティアルゴリズム)
- 1.2はGCM(Galois/Counter Mode)暗号スイートをサポートしており、暗号化と認証を同時に行うため、速度も速いです。
クライアントとサーバーがデータの送受信を行うために必要なすべての暗号化メカニズムで、4つの要素で構成されます。
1.キー交換アルゴリズム
- 共有秘密鍵を安全に交換する方法 例)RSA、Diffie-Hellman
2.認証アルゴリズム
- 証明書を使用してサーバーが信頼できるかどうかを検証する 例)RSAなどの公開鍵
3.対称暗号化アルゴリズム
- セッション中にデータを暗号化し、クライアントとサーバーが同じセッションキーで復号化する手法 例)AES
4.メッセージ認証コード
- データの完全性検証 例)HMAC-SHA256
暗号スイートは上記の4つの要素を組み合わせて表記されます。
コメント0