マイ備忘録

あくまで個人の意見、メモです。

SSLKEYLOGFILE

SSLKEYLOGFILEとは、TLS 通信時に使用した鍵情報のダンプ先となるファイルパスを指定するための環境変数

Wireshark で HTTP/2 over TLS の通信をダンプする方法 · GitHub

firefoxの65でこの環境変数を設定したけど全く出力されなかった。 どうもNSS_ALLOW_SSLKEYLOGFILEの設定がdisableになったっぽい。

1519209 - Disable NSS_ALLOW_SSLKEYLOGFILE

なのでfirefoxの62をダウンロードしたら動いた。

Wiresharkで覗いたらTLS1.2(TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256)だったので以下のフォーマット。

CLIENT_RANDOM <client hello random(32byte(=64byteの16進数))> <master secret(48byte(=96byteの16進数))>

client hello randomはSSL/TLSハンドシェイクのClientHelloで送信されるclient生成の乱数。

master secretはClientRandom、ServerRandom、PreMasterSecretによって生成されたセッションキー(共通鍵を生成する元データ)。 このセッションキーをサーバ/クライアント間で共有し、暗号化/復号に利用する。 クライアントがサーバに対して実際に送信するのはPreMasterSecret。PreMasterSecretと乱数情報からmaster secretが作られる。

TLS Security 5: Establishing a TLS Connection | Acunetix

DH鍵交換でもWiresharkでSSL/TLSを復号化したい - 逆さまにした

PFSなTLS通信を復号する