先日、SSL/TLS の署名アルゴリズム(ハッシュアルゴリズム)について話が挙がった時、「あれ?署名アルゴリズムって SSL/TLS通信のどこで使用されるんだっけ・・?」となってしまったので、また忘れないようにここに簡単に纏めておく。
署名アルゴリズムは、SHA-1/2やDES などがあり、クライアントがサーバからサーバ証明書を受け取った時にそれが信頼できるものかどうかを確認するために使用される。つまり、SSL/TLS通信の前段階の証明書チェックで使用される。
この辺のメカニズムについてより詳しく説明すると、クライアントがサーバからサーバ証明書を受け取った時に、サーバ証明書にハッシュアルゴリズムを適用し、メッセージダイジェスト(Aとする)を生成する。また、証明書についている電子署名から(CAの公開鍵を使って)メッセージダイジェスト(Bとする)を復元し、AとBが一致するか確認して、一致すればその証明書は信頼できるものとする。
以下も参考にさせて頂きました。