未分類

ブロックチェーン:電子署名の基礎

f:id:kojitakahashi6:20171104062249j:plain

 

電子署名とは

 

 電子署名とは、すでに述べた「ハッシュ関数」及び「公開鍵、秘密鍵」を応用したもので、この電子署名を行うことによって、そのデータや文書が本人によって作られたことを証明することができます。

 

この電子署名という技術は、少々難解なので、順を追って図で説明していきたいと思います。

 

まずこれは、木村さんから吉田さんへの文章の送付です。

木村さんは、その文章に信用性を持たせるため、電子署名を原文に添付し、公開鍵とともに送付します。

吉田さんは、この木村さんから送られてくるデータに信用性があるかどうかを確かめるため、電子署名で検証します。

ハッシュ関数公開鍵、秘密鍵がまだよくわからない方は前回の記事参照)

 

f:id:kojitakahashi6:20171104060422p:plain

 

 

手順

1. 木村さんは、まず送りたい文章(原文A)をHASH関数を使用し、ハッシュ値Aを作成します。

2. 次に作成されたハッシュ値Aを木村さん自身の秘密鍵で暗号化し、電子署名を作成します。

3. 作成された電子署名を原文Aに添付します。

4. 木村さんは、その原文Aと電子署名、そして、自身の公開鍵の3点を受け取り側である吉田さんに送信します。

5. 吉田さんは、まずその受け取った原文Aから電子署名を取り出します。

6. そして、木村さん同様、原文AをHASH関数を使用し、ハッシュ値 Bを作成します。

7. 最後に、木村さんの公開鍵を使用して、電子署名を復号化し、木村さんが求めたハッシュ A を求めます。

 

HASH関数は、同じデータに対して、同じハッシュ値を返すという性質を持っているので、もしこの ハッシュ値 A と ハッシュ値 B が一致すれば、木村さんがこの文章を作成したことが証明できます。

 

逆に、もしハッシュ値 A と ハッシュ値 B の値が違っていたり、木村さんから送られてきた公開鍵で電子署名を復号化できない場合は、文章が改ざんされているか、別人が作ったものである可能性が高いということになります。

 

 

電子署名の問題点

 

しかし、電子署名には、最大の欠点があります。

それは、例えば、木村さんから電子署名付きの原文A 及び 公開鍵を受け取った吉田さんが、そのままその2つを誰か他の人に転送した場合、それが吉田さんのものとして証明されてしまうのです。

 

例えば、木村さんと第三者の間に、吉田さんが仲介として入れば、その文章はあたかも吉田さんが作成したかのように見えてしまいます。

 

f:id:kojitakahashi6:20171104081245p:plain

 

 

それを防ぐには、施された電子署名が本人が施したものであり、公開鍵が本人のものだと証明する必要があります。

 

しかし、毎度取引を行うたびに、公開鍵の本人確認証明を確認しあったりするのは、非効率的です。よって、この仲介を”電子認証局” (Certification Authority)が担うことで、効率的に本人認証を行うことができるようになっています。

電子認証局は、当人から本人確認を行い、その人の公開鍵とその個人情報を結びつける役割を果たし、”電子証明書” (Electronic Certificate) を発行し、電子署名の信用性を高めることができます。

 

そして、仲介機関が間に入って、電子証明書の発行を行い、電子署名の信用性を高めるこのシステムを “PKI” (Public Key Infrastructure) と呼びます。

 

以上で、電子署名の基礎については終わりになります。

ここまで、読んでいただき、ありがとうございました!

 

 

 

僕自身も使用しているオススメの仮想通貨取引所です!

ビットコイン取引高日本一の仮想通貨取引所 coincheck bitcoin