TLSハンドシェイク
安全なデータのやり取りをする前に、clientとserver間で行うやりとり
TLSハンドシェイクはそのための準備をしている
図示しようと思ったがめんどくさくなったmrsekut.icon
手順
1 clientが送信
clientが利用可能な暗号方式を伝える
e.g.
SSL/TLSのversion
圧縮アルゴリズム
鍵交換アルゴリズム
client random
2 serverが送信
使用するアルゴリズムを送信
cleintが、「serverが正しいもの」であることを確認するために使う
clientで生成したランダムな文字列を公開鍵で暗号化する
serverはその暗号化された文字列を覆道して、元の文字列を取得する
どうやって?clientは秘密鍵を持ってるの #?? だとしたら、この鍵のペアってどの時点で作ってるの?
TLSハンドシェイクの中のどの部分で検証しているの #?? サーバーからの送信終了を示す
3 clientが送信
鍵交換メッセージ
無暗号通信の終了を示す
これ以降の通信は全て暗号化される
ハンドウェイクの終了
4 serverが送信
無暗号通信の終了を示す
これ以降の通信は全て暗号化される
ハンドウェイクの終了
図示して、順番ごとに説明しつつ
どれとどれが対応している操作7日、を示せばわかりやすい気がする
どのへんが、ハイブリッド暗号方式なのか
単純化
ざっくりどういうフェーズがアアル化
どの順序に対応しているか