暗号化通信に不可欠な電子署名の仕組みについて考えてみましょう。
電子証明書を使い電子署名をすることで、誰が作成したデータであるかを確認できます。
これは暗号化と逆の原理を利用したもので、本人が持つ「特別な鍵」は、電子証明書に含まれる「鍵」で開けられるという仕組みを利用します。
このように本人しかもっていない「特別な鍵」であることを確認することで、電子署名を行った相手を特定することができます。
この特別な鍵のことを「秘密鍵」といいます。
電子署名とは、電子証明書を使用した署名のことで、実社会でのサインや印鑑に相当します。
信頼できる認証局の審査を経て発行された証明書を用いることで署名者を明らかにすることができます。
また、改ざんの検知をおこなうこともできます。
電子署名では公開鍵暗号基盤(PKI)を利用して、署名者の特定と上記にもありましたように「改ざん検知」を行うことができます。
改ざん検地の仕組みとしては、まず電子文書を「特別な関数」で圧縮します。
それをさらに秘密鍵で暗号化して、作成されたデータを電子書名といいます。
たとえばBさんがAさんの証明書から取得した公開鍵を用いて電子署名を復号化できた場合は、Aさんの公開鍵で復号化できるのは、Aさんの秘密鍵で暗号化されたデータだけだということになります。
これでこの電子署名がAさんのものだと特定することができるわけです。
このように情報データの改ざんを防ぐわけです。
Aさんが署名の際に使う特別な関数(ハッシュ関数と言います)は、同じデータからは常に同じ圧縮データ(ハッシュ値)を生成します。
しかし1箇所でもデータが異なるとまったく違うハッシュ値が生成されてしまいます。
またもしBさんの手元に届くまでに電子文書に改ざんが行われていれば、BさんがAさんから受け取った電子文書から自分で生成したハッシュ値は、Aさんの電子署名から復号化されたハッシュ値と大きく異なってきます。
つまりこの特性を利用することで、ハッシュ値が一致しているかどうかを比較することが可能となりますから、情報データの改ざんの検知を行うことができるわけです。