SSL/TLS の暗号アルゴリズムの決定メカニズムをパケットレベルで追いかけてみる Sep 9th, 2013 楽しいことを見つけると寝食を忘れてのめり込んでしまう、プラットフォーム・グループの坂井です。 最近は SSL/TLS のプロトコルを調べるのが楽しくて、RFC のドキュメントや関連書籍を読み漁っています。 SSL/TLS で通信するためには、クライアントとサーバの両者でどの暗号アルゴリズムを使うか決めなくてはなりません。ブラウザの種類やバージョン、サーバの設定や実装など、様々な要素から暗号アルゴリズムは決定されます。 暗号化通信が開始されるまでにはハンドシェイクプロトコルに則った処理が行われますが、暗号アルゴリズムの決定は最初の 1 ターン目で決まります。 クライアントが利用可能な暗号アルゴリズムの一覧を送信 (Client Hello) サーバは送られてきた一覧から使用するアル