뚠뚠멍의 생각들

TLS徹底解説

作成: 2024-10-27

作成: 2024-10-27 21:31

2020年頃を境にTLS1.1のサポートが終了したことに伴い

古いサーバーの点検が必要になりました。


TLS1.1を維持した場合、AWS、Azureなどのクラウドサービス間の通信でエラーが発生したり、

決済などの外部API通信でエラーが発生したり、ブラウザのバージョンによっては問題が生じる可能性があります。


Tomcat

- 6.xバージョン以前はTLS1.2をサポートしていないようです。Java 7以上のJREを使用してTLS1.2に変更する必要があります。

Nginx

- 1.1.13バージョンでTLS1.2をサポートしているようです。


TLSの原理

Client Hello:クライアントがサーバーに接続要求を送信します。(サポートするTLSバージョンと暗号スイートを含む)

Server Hello:サーバーは使用するTLSバージョンと暗号スイート、SSL証明書を送信し、信頼性を証明します。

キー交換とセッションキーの生成:クライアントとサーバーはキー交換アルゴリズムを使用して共有セッションキーを生成します。

完了メッセージ:クライアントとサーバーはそれぞれキーで暗号化された完了メッセージを送信します。

データ転送:セッションキーを使用してデータを暗号化し、送受信します。

終了:データ転送が終了すると、セッション終了メッセージを交換し、セッションキー情報を削除します。


TLS 1.2と1.1の違いは?

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)暗号スイートをサポートしており、暗号化と認証を同時に行うため、速度も速いです。


Cipher Suite(暗号スイート)

クライアントとサーバーがデータの送受信を行うために必要なすべての暗号化メカニズムで、4つの要素で構成されます。

1.キー交換アルゴリズム

- 共有秘密鍵を安全に交換する方法 例)RSA、Diffie-Hellman

2.認証アルゴリズム

- 証明書を使用してサーバーが信頼できるかどうかを検証する 例)RSAなどの公開鍵

3.対称暗号化アルゴリズム

- セッション中にデータを暗号化し、クライアントとサーバーが同じセッションキーで復号化する手法 例)AES

4.メッセージ認証コード

- データの完全性検証 例)HMAC-SHA256

暗号スイートは上記の4つの要素を組み合わせて表記されます。


コメント0