SSLの認証局について解説しています。
まずは一般的な電子署名の仕組みについてみてみましょう。電子署名には二つの目的があります。一つは誰が署名したかを特定することです。もう一つは、内容に改ざんがあったときにそれを検知することです。署名者を特定するには、公開鍵と秘密鍵を使います。暗号通信では、あらかじめ送信者に公開鍵を渡し、公開鍵で暗合した内容を秘密鍵で複合していました。電子署名ではこれを逆にりようします。まず文章を秘密鍵で暗号化し、それを相手に送信します。相手が公開鍵で複合できれば、送信者が正しいことになります。
改ざんを検知するには、ハッシュ関数という関数を用います。ハッシュ関数を使うと、ある文章からは常に同じハッシュ値が計算されます。元文章が1文字でも異なると、まったく違うハッシュ値が作成されます。この特性を利用し、文章が改ざんされたことを検知できるのです。具体的には、送信したい文章のハッシュ値を作成し、元文章と秘密鍵で暗号化したハッシュ値をペアにして送信します。受け取った側は、元文章からハッシュ値を再作成し、送られたハッシュ値と比べることで改ざんがないことを確認できます。
SSLの電子署名では、認証局が電子証明書を発行するときに用いられます。認証を受けたいサーバは、所有者の情報と公開鍵を認証局に提出します。認証局はハッシュ値を作成し、それを認証局の秘密鍵で暗号化します。この暗号化されたデータが電子署名となり、電子証明書についているものです。認証局の公開鍵は広く公開されているため、電子証明書が本当に認証局から発行されたものかどうか検証することができます。