【電子署名】
”送り手が本当に送ったことを保証する”ことが目的となる。
いわゆる「なりすまし」を防ぐための機能である。
送り手 受け手
┌───┐ ┌───┐
│ ├────────────→│ │
└─┬─┘ └─┬─┘
署名文生成 | 署名文検査 |
・………………………………………・ ・………………………………………・
:┌───┐ ┌───┐: :┌───┐ ┌───┐:
:│平 文├────→│署名文│: :│署名文├────→│平 文│:
:└───┘ ↑ └───┘: :└───┘ ↑ └───┘:
: ┏━━━┷━━━━┓ : : ┏━━━┷━━━━┓ :
: ┃送り手の秘密かぎ┃ : : ┃送り手の公開かぎ┃ :
: ┗━━━━━━━━┛ : : ┗━━━━━━━━┛ :
: 生成かぎ : : 検査かぎ :
・………………………………………・ ・………………………………………・
まず、送り手の側は自分自身の秘密鍵によって「平文」(通常の文章)の暗号化を行い、
「署名文」(暗号化された文章)を作成する。
秘密鍵は本人以外は知らないので、他の者が同じ「署名文」を作成することはできない。
その「署名文」を受け手に送る。受け手は「署名文」を「受け手の公開鍵」を使って「平文」に
復号(暗号文を元の文章に直すこと。)する。
受け手の公開鍵は、文字通り公開されているので、誰でも復号することは可能である。
ただし、「署名文」が送り手の秘密鍵で暗号化されていないと正しく復号できない。
よって、「署名文」の作成者が送り手であることが保証されるわけである。
一般的な暗号化による文章の送受信とは「送り手/受け手」「秘密鍵/公開鍵」が逆転する
ことに注意する。
暗号化 復号
──────── ────────
通常の暗号化による送信 受け手の公開かぎ 受け手の秘密かぎ
電子署名 送り手の秘密かぎ 送り手の公開かぎ
この表を暗記しようとしてもすんなりとは記憶しにくいので、あくまで原理
的な考え方から入った方が良い。
例)
公開鍵暗号方式を用いて、図のようにMさんからNさんに他人に秘密にしておきたい文章を
送るとき、暗号化と復号に用いる鍵の組合せ。
┌──────────┐
Mさん│来月転居する予定です│→ 鍵Aによって暗号化
└──────────┘ ↓
┌───────────────┐
│nd359fxj47ac・・・│
└───────────────┘
↓
ネットワーク
↓
┌───────────────┐
│nd359fxj47ac・・・│
└───────────────┘
┌──────────┐ ↓
Nさん│来月転居する予定です│← 鍵Bによって復号
└──────────┘
鍵A 鍵B
Nさんの公開鍵 Nさんの秘密鍵
公開鍵暗号方式では、公開鍵と秘密鍵の組み合わせにより暗号化/復号
(暗号文を元の文章に直すこと。)を行う。
公開鍵:一般に公開している暗号化の鍵。
秘密鍵:自分だけが知っている復号化の鍵。
例の場合は、MさんはNさんに文章を送る際には、公開されているNさんの公開鍵を使って
暗号化する。
”nd359fxj47ac・・・”といった意味不明の暗号文が作成される。
この暗号文を受け取ったNさんは自分しか知らない秘密鍵を使って復号する。
他の人が暗号を解読(復号化)しようとしても、秘密鍵がわからない限り、復号化できない
のである。
例に合わせた形で表記すると下図のようになる。
送り手 受け手
┌───┐ ┌───┐
│ ├────────────→│ │
└─┬─┘ └─┬─┘
暗号文生成 | 暗号文の復号 |
・……………………………………・ ・………………………………………・
:┌───┐ ┌───┐: :┌───┐ ┌───┐:
:│平 文├────→│暗号文│: :│暗号文├────→│平 文│:
:└───┘ ↑ └───┘: :└───┘ ↑ └───┘:
: ┏━━━┷━━━━┓ : : ┏━━━┷━━━━┓ :
: ┃受け手の公開かぎ┃ : : ┃受け手の秘密かぎ┃ :
: ┗━━━━━━━━┛ : : ┗━━━━━━━━┛ :
・………………………………………・ ・………………………………………・