デジタル署名

読み:でじたるしょめい / 英語表記:digital signature

暗号技術を用いて電子データに付ける署名。署名者の秘密鍵で作成し、対応する公開鍵で検証することで、データの改ざんの検出や署名者の確認に用いる。

イマシルちゃんの解説

デジタル署名は、暗号技術を使って電子データに付ける署名だよ。
署名する人は、自分だけが保管する秘密鍵でデータに対応した署名を作るんだ。
受け取った人は、ほかの人に渡せる公開鍵でその署名を確かめるよ。
データが書き換えられていると元の署名では検証に失敗するから、途中の変更を見つけられるんだ。
ただし、確かめる鍵が本当に署名した人のものかも重要だよ。
鍵と持ち主の結び付きを確かめておくことで、本人の署名かどうかも判断できるんだ。

より深い解説

定義

デジタル署名は、公開鍵暗号の仕組みを使って、データに付ける署名である。署名には作成者の秘密鍵を使い、検証には作成者の公開鍵を使う。暗号化(受信者の公開鍵で暗号化し、受信者の秘密鍵で復号する)とは、鍵の使い方が逆になる。

署名と検証の手順

手順送信者(署名する側)受信者(検証する側)
1データのハッシュ値を計算する受け取ったデータのハッシュ値を計算する
2ハッシュ値を自分の秘密鍵で処理し、署名を作る署名を送信者の公開鍵で検証する
3データと署名を送る1のハッシュ値と、署名から得られる値が一致すれば、検証に成功

データそのものではなくハッシュ値に署名するのは、データが大きくても署名の計算を短く済ませるためである。

デジタル署名でわかること

わかること理由
改ざんされていないこと(完全性)データが1ビットでも変わると、ハッシュ値が変わって検証に失敗する
作成者が本人であること(認証)対応する秘密鍵を持つ本人にしか、正しい署名は作れない
作成者が後で否定できないこと(否認防止)秘密鍵は本人しか持たないので、「自分は署名していない」と言い逃れできない

一方、デジタル署名だけでは、データの中身を秘密にする(機密性)ことはできない。中身を隠すには、別に暗号化を行う。

公開鍵が本物であることの確認

検証に使う公開鍵が、確かに作成者のものでなければ意味がない。そのため、公開鍵が本人のものであることを、認証局がデジタル証明書で保証する。

主な方式と利用場面

方式には、RSA署名、ECDSA(楕円曲線を使う方式)、EdDSAなどがある。

実際の試験ではここに出る!全8問

ネットワークスペシャリスト

午前Ⅱ
午後Ⅱ

テクニカルエンジニア(ネットワーク)

午前

この用語が出てくる記事

↑