署名と証明書の全体観
いろんなノートで前提を共有したいので、概念を一望したノートが欲しいmrsekut.icon
詳細に説明するのは目的ではないので、いくつかの具体例を選択する
他の分岐もあるので、常に適用できるわけではないことに注意
この辺が必要になるのかの流れ
ここではRSA署名を例に取る
RSA暗号の公開鍵/秘密鍵を逆に適用できる
認証局が発行するものを例に取る
自己証明書などは無視する
デジタル署名の1つであるRSA署名を例に取る
署名はそもそも、なりすましや否認を防ぐための仕組みである
つまり、そのメッセージが作者A本人によって作られたことを保証する
他の誰かが作ったのではなく、確実にその人が作ったものであることを保証する
そのために、秘密鍵/公開鍵Pを用意する
秘密鍵は本人Aのみが持っている
公開鍵Pは誰でもアクセスできる
本人Aが秘密鍵で暗号化する
秘密鍵は本人しか持っていないはずなので、これで署名されたことになる
メッセージを受け取った人は、公開鍵Pを使ってそれを開く
証明書は、この公開鍵Pが正しいことを証明するために使用する
なぜ証明書という概念が必要になるのか?
信頼できる認証局が正しいと認めることで、その公開鍵の正しさを保証する
これは鍵の作成者の努めである
手順
署名する人が以下を作成する
公開鍵、秘密鍵
認証局に以下を送る
公開鍵
CSR
認証局が証明書を作る
これは、認証局が署名することで作られる
認証局が証明書を返す
これで証明書が得られた
ここには公開鍵も含まれている