こんにちは。株式会社フィックスポイントのよしだです。
今回は、先の記事で紹介した公開鍵暗号の応用編を勉強会で扱いましたので、ご紹介します。(前回の記事はこちら)
応用編では、電子署名の説明を題材にしていました。
前回同様、一般の方に向けた簡単な説明方法ですので、ぜひご参考いただければ幸いです。
電子署名のイメージ
署名というとサインのイメージを持つ方が多いかと思いますが、ここでは契約書などに押すハンコをイメージしていただきます。
ここでポイントとなるのは、「ハンコが押してある=ハンコの所有者が同意や証明(署名)をしている」という意味を示すということです。
詳しく説明していきます。
まず、ハンコは何らかの同意 や証明(署名)をした時に押すものと定義します。
そして、当たり前ですが印影(ハンコを押した跡)は押印しなければ作ることができません。つまり、ハンコがないと作れないということになります。
さらに、ハンコを押せるのはもちろんハンコの所有者のみです。
このように考えていくと、「ハンコが押してある=ハンコの所有者が同意や証明(署名)をしている」ということになる、と説明できます。
電子署名とは
電子署名のイメージを持ってもらったところで、具体的な説明をします。
今一度、前回の公開鍵暗号の仕組みについて思い出してみましょう。
接着剤A(秘密鍵)によって封をされたデータは、薬品B(公開鍵)によってのみ開けることができました。
公開鍵を用いた文書の暗号化ではありませんが、電子署名も、この秘密鍵と公開鍵を使用する機能です。
実際の使用に基づき、下のイラストを使って解説します。
まずは、電子署名を作成する方から見ていきます。
ここで大事なのが、電子署名は秘密鍵からのみ作ることができる、という点です。
そのため、秘密鍵を所有していなければ電子署名の作成はできません。
最初に、元の文書をハッシュ関数という関数に当てはめ、別の短い値(ハッシュ)にします。
※ハッシュ関数は、入力されたデータをもとに、特定のルールに従って適当な値を返してくれる関数です。
出力されたハッシュを、秘密鍵を使って暗号化すると、電子署名となります。
電子署名の作成者は、元の文書と共に電子署名を送り先へ送信します。
次に、受け取る側の手順を見ていきましょう。
受取手は、電子署名を受け取ったら、公開鍵を使用して復号(暗号化の解除)を行います。
すると、最初に出力されたハッシュが出てきます。
次に、元の文書を作成者と同じようにハッシュ関数にかけます。
同じ文書をハッシュ関数にかけているため、同じハッシュが出力されます。
以上の流れで共通のハッシュが出てきたことにより、秘密鍵の所有者である作成者が作成したものと判断します。このことを、署名検証と言います。
簡単ではありますが、このような流れで運用されているのが、電子署名です。
参加者の反応
今回の発表を聞いた参加者の反応です。
ハンコを例に出したことでお気持ちが全面に溢れていますね。
こういった感じの軽い脱線もSlack上ではOKです😊
最後に
今回は、公開鍵暗号の応用編として、電子署名の説明についてご紹介しました。
詳しい部分は省略していますが、概念としてはかなりイメージしやすいものになっているのではないでしょうか。
今後もどんどん記事を投稿する予定ですので、引き続きよろしくお願いします!
株式会社フィックスポイントでは、一緒に働いてくれるメンバーを募集しています!
詳細は、こちらをご覧ください。