ブロックチェーン社会実装のための基礎知識概論〜P2Pネットワークと電子署名(電子署名)〜

# 第２章　P2Pネットワークと電子署名

この章では、ブロックチェーンを構成するもっとも基本的な部分となるP2Pネットワークと電子署名について解説します。前章で説明した既存システムの制約を念頭に置きながら読むことで、ブロックチェーンの使い所についての理解がさらに深まります。

#### 第１章 既存システムの仕組みと制約
https://qiita.com/kicnft/items/6badc48ca775d9d2e8c3


#### 2-1.P2Pネットワーク
https://qiita.com/kicnft/items/23c4cc4372ba93a9c7a2

## 2-2.電子署名

「電子署名を実現する公開鍵暗号」は、現代のデジタル社会における信頼性とセキュリティを支える重要な技術です。電子署名は、オンラインで行われる取引やコミュニケーションにおいて、データの真正性と完全性を保証するために広く使用されています。この技術は公開鍵暗号（Public Key Cryptography）を基盤としており、データの改ざん防止、認証、否認防止など、セキュリティ上のさまざまな課題を解決します。ここでは、電子署名の仕組み、公開鍵暗号との関連性、そしてその利点や課題について論じます。

### 電子署名とは

電子署名は、デジタル文書やメッセージに対して「署名者がその文書を作成したこと」「文書が改ざんされていないこと」を証明するための技術です。従来の手書きの署名や印鑑のデジタル版と考えることができますが、電子署名はより高度なセキュリティを提供します。具体的には、次のような3つの要素を持ちます：

1. **認証（Authentication）**：電子署名によって、特定の人物や団体がデータを作成したことを証明します。
2. **完全性（Integrity）**：データが改ざんされていないことを保証します。署名が有効である限り、送信後のデータが変更されていないことが確認できます。
3. **否認防止（Non-repudiation）**：署名者は後から署名を否定することができません。電子署名がその本人によって行われたことが証明されるため、後で「自分は署名していない」と主張することが難しくなります。

### 公開鍵暗号の基礎

電子署名の基盤となる公開鍵暗号は、暗号理論の一つで、暗号化と復号に異なる鍵（公開鍵と秘密鍵）を使用します。この鍵ペアは次のように使われます。

- **公開鍵**：誰でも知ることができる鍵で、データを暗号化するために使用されます。
- **秘密鍵**：署名者本人だけが保持する鍵で、データを復号したり、署名を生成するために使用されます。

公開鍵暗号の重要な特性は、公開鍵で暗号化されたデータは対応する秘密鍵でしか復号できない点です。逆に、秘密鍵で署名されたデータは対応する公開鍵を使って誰でもその署名を検証することができます。この仕組みが電子署名に応用されています。

### 電子署名と公開鍵暗号の仕組み

電子署名は、公開鍵暗号の非対称性を利用してデータに署名し、その署名を検証する技術です。具体的には、次の手順で行われます。

1. **署名の生成**：署名者は、自身の秘密鍵を使ってデータのハッシュ値を暗号化します。この暗号化されたハッシュ値が「電子署名」となります。ハッシュ値とは、元のデータを短い固定長の値に変換したもので、元のデータが少しでも変更されると全く異なるハッシュ値が生成されます。
   
2. **署名の送信**：署名者は、元のデータと電子署名を受信者に送信します。

3. **署名の検証**：受信者は、署名者の公開鍵を使って電子署名を復号します。復号された値がデータのハッシュ値と一致するかどうかを確認し、一致すればデータが改ざんされていないことが保証されます。

これにより、受信者は署名が正当なものであり、データが送信中に改ざんされていないことを確認できます。

### 公開鍵インフラストラクチャ（PKI）の役割

公開鍵暗号を利用した電子署名を実現するためには、署名者の公開鍵が正当なものであることを保証する仕組みが必要です。ここで登場するのが「公開鍵インフラストラクチャ（Public Key Infrastructure, PKI）」です。PKIは、公開鍵が正当な所有者に属していることを保証するためのシステムです。

PKIの中心には「認証局（Certificate Authority, CA）」があります。認証局は、公開鍵とその所有者の情報を結びつけるデジタル証明書を発行します。デジタル証明書には、署名者の公開鍵とともに、認証局自身の電子署名が含まれており、信頼できる第三者が公開鍵の正当性を保証します。

これにより、受信者は署名者の公開鍵が確実にその本人のものであることを確認し、電子署名の信頼性を高めることができます。

### 電子署名の応用

電子署名は、さまざまな分野で利用されており、特に以下の領域で重要な役割を果たしています。

#### 1. 電子取引と契約
電子署名は、オンライン取引や契約書のデジタル化に不可欠です。紙の契約書に署名する代わりに、電子署名を利用することで、取引が効率化され、契約の真正性が保証されます。特に、不動産や金融業界では、契約の迅速な締結と記録の安全性を確保するために広く採用されています。

#### 2. 政府や公共サービス
政府機関でも、デジタルガバメントの一環として電子署名が活用されています。例えば、納税や申請書の提出など、政府と市民間のやり取りにおいて、電子署名を利用することで手続きを簡素化し、かつ信頼性を確保しています。

#### 3. 医療分野
医療分野では、患者の医療記録や処方箋に対する真正性の確認が重要です。電子署名を使うことで、医師や医療機関がデジタルで患者情報を安全に管理し、認証された形で共有することができます。

#### 4. ブロックチェーン技術
ブロックチェーン技術も電子署名に依存しています。ビットコインやイーサリアムといった暗号通貨の取引では、ユーザーが秘密鍵を使って取引を署名し、その署名をネットワーク内で検証します。ブロックチェーンの分散型台帳は、電子署名によって取引の改ざんを防止し、全体の整合性を維持しています。

### 電子署名の利点

電子署名には、従来の紙の署名に比べて多くの利点があります。

#### 1. セキュリティの向上
電子署名は、暗号技術に基づいているため、非常に高いセキュリティを提供します。秘密鍵が署名者自身しか持たないため、他人が不正に署名を生成することは困難です。また、署名されたデータが改ざんされていないことも容易に確認できます。

#### 2. 効率性の向上
電子署名は、オンライン環境で瞬時に署名を行うことができ、紙の署名に比べて大幅に手間が省けます。これにより、ビジネスプロセスが迅速化し、契約や取引のスピードが向上します。

#### 3. コスト削減
紙の契約書や署名を郵送する際のコストや、印刷、保管にかかるコストを削減できます。電子署名によってデジタルでの文書管理が可能になるため、コスト効率も高まります。

#### 4. 法的効力
多くの国や地域で、電子署名は法的に有効なものと認められており、紙の署名と同等の法的効力を持っています。例えば、EUでは「eIDAS規則」により、電子署名の法的効力が規定されています。これにより、国際的な取引や契約においても電子署名が活用されています。

### 電子署名の課題



電子署名は非常に便利で安全ですが、いくつかの課題も存在します。

#### 1. 鍵管理の難しさ
電子署名のセキュリティは、秘密鍵の管理に依存しています。もし秘密鍵が盗まれたり、不正アクセスを受けた場合、その鍵を使って不正な署名が行われるリスクがあります。そのため、鍵の安全な保管と管理が不可欠です。

#### 2. インフラストラクチャの整備
電子署名を普及させるためには、認証局（CA）やPKIなどのインフラストラクチャが必要です。特に、信頼できる認証局の設立や運営にはコストがかかり、国際的な標準に基づいた運用が求められます。

#### 3. 法的・規制の差異
国や地域によって、電子署名に関する法律や規制が異なるため、グローバルな取引においては、各国の法的要件に適合する必要があります。これは、国際的なビジネスにおける課題の一つです。

### 結論

「電子署名を実現する公開鍵暗号」は、デジタル社会において非常に重要な役割を果たしています。公開鍵暗号を利用することで、データの真正性、完全性、否認防止を高いレベルで実現し、ビジネス、政府、医療、ブロックチェーン技術など多様な分野で活用されています。

電子署名は、セキュリティの向上、コスト削減、効率性の向上といった多くの利点を提供しますが、一方で秘密鍵の管理やインフラ整備などの課題も存在します。これらの課題を克服することで、電子署名はさらに広範な分野で普及し、デジタル社会の信頼性を支える基盤となり続けるでしょう。

---
### バックナンバー

#### はじめに
https://qiita.com/kicnft/items/6036c9455a12e99ab5da

#### 第１章　既存システムの仕組みと制約

https://qiita.com/kicnft/items/6badc48ca775d9d2e8c3

https://qiita.com/kicnft/items/5b3cc592239e53710f35

https://qiita.com/kicnft/items/88f753e88266862dde8a