ディジタル署名
ファイルにくっつけるデータだよ
ファイルの正当性を証明するよ
誰が作ったかを示すよ
改ざんされていないことを示すよ
簡単に書くよ
ディジタル署名(読:ディジタルショメイ 英:digital signature)とは
コンピュータの世界のハンコ
であり
主に他の人に送るファイルにくっつけるデータで「そのファイルは○○さんが作ったやつですよ~」と「そのファイルは悪い人に改ざんされて いませんよ~」を証明するもの
です。
詳しく書くよ
大雑把に言えば
コンピュータの世界のハンコ(のひとつ)
が「ディジタル署名」です。
コンピュータの世界の書類(ファイル)にポンッ!と押すことで、その書類の正当性を示します。
ディジタル署名は
1.誰が作ったよ~
2.改ざんされてないよ~
を示すためにファイルにくっつけるデータです。
「公開鍵暗号方式」と呼ばれる仕組みとかを使って実現されます。
おっと、なんか難しそうな用語が出てきました。
簡単にですが、先に公開鍵暗号方式の説明をしておきましょう。
まず、自分だけが持つ鍵A(秘密鍵)と、みんなに ばらまく鍵B(公開鍵)を用意します。
鍵は「暗号化したり、元に戻したり(復号)するときに使うデータ」ね。
この鍵Aと鍵Bの関係ですが、鍵Aで暗号化したものは、鍵Bでしか元に戻せません。
鍵Bで暗号化したものは、鍵Aでしか元に戻せません。
※実際には「鍵A(秘密鍵)で暗号化したものを鍵B(公開鍵)で戻す」は(一部の例外を除いて)できません。ウソです。……が、そこら辺を気にすると ややこしくなるので、とりあえずスルーします。気になる人は他のところで勉強してください。
この鍵Aと鍵Bをピヨ太君が手に入れました。
ピヨ太君は、鍵Bを みんなに ばらまきます。
そうすると「鍵Aを持つピヨ太君」と「鍵Bを持つ たくさんの人」という状態になります。
この状態で、ピヨ子さんがピヨ太君に お手紙を出しました。
ピヨ子さんは鍵Bで暗号化して、お手紙を送ります。
鍵Bで暗号化したものを元に戻せるのは鍵Aだけです。
ピヨ太君が受け取れば、ピヨ太君が持っている鍵Aで元に戻せます。
仮に途中で、アクマ君がピヨ子さんのお手紙を盗み見たとしましょう。
でも、残念。
鍵Bで暗号化したものを元に戻せるのは鍵Aだけです。
鍵Bしか持っていないアクマ君では、暗号化された手紙を元に戻せません。
ピヨ子さんのお手紙は、中身を盗み見られることは ありませんでした。
めでたし、めでたし。
実際の仕組みは もう少し複雑だったりしますけどね。
このような暗号化のやり方が公開鍵暗号方式です。
ディジタル署名は、この公開鍵暗号方式を利用した仕組みです。
先ほど、鍵Aを持つピヨ太君と鍵Bを持つたくさんの人、という状態になりました。
まずは、この状況を再現します。
さて、この状態でピヨ太君がピヨ子さんにファイルを送るとします。
ピヨ太君は、まず、自分の持っている鍵Aを使って、ファイルを暗号化します。
この「ファイルを暗号化したもの」がディジタル署名です。
これを元のファイルにくっつけると、ディジタル署名付きのファイルが できあがります。
※実際には、ファイルそのものを暗号化するわけでは ありません。ファイルをハッシュ関数に通して得られるハッシュ値を暗号化します。話が複雑になるので、ここでは「ファイルを暗号化したもの」と表現しています。
次に、ピヨ太君は、ディジタル署名付きのファイルをピヨ子さんに送りました。
ファイルを受け取ったピヨ子さんは、自分の持っている鍵Bを使って、ディジタル署名(ファイルを暗号化したもの)を元に戻します。
次に、ピヨ子さんは、元に戻したディジタル署名と送られてきたファイルを比べます。
完全に一致しました。
このことから
1.ファイルを作ったのはピヨ太君
2.ファイルは改ざんされていない
の2つが分かります。
ピヨ子さんは自分の持っている鍵Bで、暗号化されたものを元に戻せました。
この事実から、暗号化は鍵Aでやったと分かります。
鍵Aを持っているのはピヨ太君だけです。
ファイルを作ったのはピヨ太君だと推測できます。
ピヨ子さんは元に戻したディジタル署名と送られてきたファイルを比べました。
完全に一致しました。
この事実から、ファイルは改ざんされていないと判断できます。
もし改ざんされていれば一致しないはずです。
このような
1.誰が作ったよ~
2.改ざんされてないよ~
を示すためにファイルにくっつけるデータがディジタル署名です。
一言でまとめるよ
まぁ「ディジタル署名」って単語が出てきたら「コンピュータの世界のハンコなんだな~」と お考えください。
おまけ
■検索してみる?






