はじめに
サーバでTLS通信するための簡単なメモ
安全な通信とは
以下の3要件を満たした通信のこと
- 盗聴されないこと(暗号化)
- 改ざんされないこと(改ざん検知・ハッシュ)
- 通信相手が偽物でないこと(認証)
- サーバ証明書によるサーバ認証
安全な通信を実現するためには
TLSプロトコルを用いる。TLSを用いれば上記3要件を満たした安全な通信を実現できる。
TLSとは
TLS対応環境
TLS1.3
最新バージョンのTLS1.3で全ての通信が行われるのが望ましい。ただし、上記TLS対応環境にあるように、未対応の環境も多く、接続できないクライアントが一定数存在してしまう
暗号スイートとは
- 安全な通信を実現する暗号(鍵交換、署名、暗号化、ハッシュ関数)の組み合わせ。TLS通信をする場合、この暗号スイートを決定する必要がある
- 鍵交換アルゴリズム・鍵認証方式・認証符号の組み合わせ
- TLSにおいてハンドシェイク時に暗号スイートが選択され、その選択された暗号スイートに記載の鍵交換、署名、暗号化、ハッシュ関数によりTLSにおける各種処理が行われる。
TLSは多くの暗号技術を組み合わせて実現している。ただし組み合わせが多く、よくわからない。そこで**「TLS暗号設定ガイドライン」**を参考にして設定する
サーバの暗号通信に関わる設定
SSL/TLS暗号設定ガイドライン
「TLS暗号設定ガイドライン」は、TLSサーバの構築者や運営者が適切なセキュリティを考慮した暗号設定ができるようにするためのガイドライン
結局どれを設定すればよいのか
-
安全性もしくは相互接続性についての特段の要求がなければ**「推奨セキュリティ型」**の採用を推奨している
-
暗号スイート、サーバー設定
- SSL/TLS暗号設定ガイドラインに暗号スイートの設定、各種サーバ設定が記載されているので参考にする