
No.1ベストアンサー
- 回答日時:
デジタル署名の仕組みについて、疑問点と誤解があるようなので、順を追って説明します。
デジタル署名の目的と基本的な流れ
デジタル署名の目的は、主に以下の3つです。
送信者認証: 文書が確かに送信者本人が作成・送信したものであることを証明する
文書の完全性: 文書が改ざんされていないことを証明する
否認防止: 送信者が後から「送っていない」と否認することを防ぐ
デジタル署名の基本的な流れは、概ねご認識の通りです。
文書の作成: 送信者は文書を作成します。
ハッシュ値の生成 (要約文の作成): 送信者は、作成した文書からハッシュ関数という特殊な関数を使って、文書の要約である「ハッシュ値」(またはメッセージダイジェスト)を計算します。ハッシュ関数は、元の文書が少しでも変わると、ハッシュ値が全く別の値になるという特徴を持ちます。
署名の作成 (ハッシュ値の暗号化): 送信者は、自分の秘密鍵を使って、先ほど計算したハッシュ値を暗号化します。これがデジタル署名となります。正確には「暗号化」というより「署名」という行為に近いのですが、技術的には秘密鍵を使った暗号化処理を行います。
文書と署名の送信: 送信者は、作成した文書と、作成したデジタル署名(暗号化されたハッシュ値)を一緒に受信者に送ります。
署名の検証: 受信者は、以下の手順で署名を検証します。
署名の復号: 送信者の公開鍵を使って、受け取ったデジタル署名(暗号化されたハッシュ値)を復号します。これにより、元のハッシュ値が得られます。
文書のハッシュ値再計算: 受信者は、受け取った文書からハッシュ関数を使って、ハッシュ値を再度計算します。
ハッシュ値の比較: 復号して得られたハッシュ値と、再計算したハッシュ値を比較します。
疑問点1: 文書と要約文(ハッシュ値)が両方改ざんされたら気づかないのではないか?
これは、デジタル署名の仕組みに対する誤解です。
ハッシュ関数の性質: ハッシュ関数は、入力データ(文書)が少しでも変わると、出力されるハッシュ値が大きく変わるように設計されています。そのため、文書が改ざんされた場合、ハッシュ値を再計算すると、元のハッシュ値とは異なる値になります。
署名の検証: 受信者は、受け取った文書から再計算したハッシュ値と、署名を復号して得られたハッシュ値を比較します。もし文書が改ざんされていれば、この2つのハッシュ値は一致しません。したがって、改ざんを検知できます。
攻撃者が文書とハッシュ値を両方改ざんしようとしても、以下の点で非常に困難です。
ハッシュ値の一方向性: ハッシュ関数は一方向性関数であり、ハッシュ値から元の文書を復元することは非常に困難です(事実上不可能)。
署名の偽造の困難性: 攻撃者が有効なデジタル署名を偽造するには、送信者の秘密鍵を入手する必要があります。秘密鍵は送信者だけが厳重に管理するものであり、通常は外部から入手することは非常に困難です。
つまり、攻撃者が文書を改ざんした場合、正しい署名(元の文書から生成されたハッシュ値を秘密鍵で暗号化したもの)を同時に偽造することは、秘密鍵を入手しない限り極めて難しいのです。
疑問点2: 要約文(ハッシュ値)を秘密鍵で暗号化する理由がわからない。公開鍵で復号できるなら暗号化する必要がないのでは?
これは、デジタル署名の「署名」という行為の目的を理解することが重要です。
暗号化の目的の違い:
通常の暗号化 (共通鍵暗号、公開鍵暗号): メッセージの内容を第三者に秘匿することが目的です。
デジタル署名 (秘密鍵による「暗号化」): 送信者を認証し、文書の完全性を保証し、否認防止を実現することが目的です。
秘密鍵で署名する理由:
送信者認証: 秘密鍵は送信者本人だけが持っているものです。秘密鍵で暗号化(署名)されたハッシュ値を、対応する公開鍵で正しく復号できるということは、「この署名は、確かにこの公開鍵に対応する秘密鍵の所有者によって作成されたものである」ということを証明できます。つまり、送信者本人が署名したことを保証できるのです。
否認防止: 送信者本人の秘密鍵で署名されたという事実は、後から送信者が「署名していない」「送っていない」と否認することを防ぐ証拠となります。
公開鍵で復号できることの重要性:
誰でも検証可能: 公開鍵は誰でも入手できます。そのため、受信者だけでなく、第三者も公開鍵を使って署名を検証できます。これにより、広く信頼性を確保できます。
秘匿性との区別: 署名されたハッシュ値を公開鍵で復号できることは、メッセージの秘匿性とは関係ありません。署名の目的は認証と完全性保証であり、メッセージ自体を秘密にするわけではありません。(メッセージ自体を秘密にしたい場合は、別途暗号化が必要です。)
補足コメントについて: 「送信者本人が送ったか確認するためですか?それなら暗号化せずにおくる文書が本人からおくられたかわからないということですか?」
はい、おっしゃる通り、デジタル署名の大きな目的の一つは「送信者本人が送ったか確認するため」です。
もしハッシュ値を暗号化せずにそのまま送った場合、確かに文書の改ざん検知はできます。なぜなら、受信者は自分で文書からハッシュ値を計算し、送られてきたハッシュ値と比較すれば、文書が改ざんされたかどうかはわかります。
しかし、ハッシュ値を暗号化せずに送るだけでは、なりすましを防ぐことができません。悪意のある第三者が、文書とハッシュ値を両方とも偽造して送信した場合、受信者はそれが本物かどうか区別できません。
秘密鍵でハッシュ値を暗号化する(署名する)ことで、初めて「これは確かに送信者本人が作成し、送信した文書である」という強い保証が得られます。 公開鍵で署名を検証できるということは、秘密鍵の所有者(つまり送信者本人)によって署名されたことを証明する強力な根拠となるのです。
まとめ
デジタル署名は、単なる暗号化技術ではなく、認証、完全性保証、否認防止という重要な機能を提供するセキュリティ技術です。秘密鍵でハッシュ値を「暗号化」(署名)することで、送信者本人による署名であることを証明し、文書の信頼性を高めることができます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- セキュリティホール・脆弱性 電子署名について教えてください 電子署名は公開鍵暗号方式ですが公開鍵で最初に暗号化してから秘密鍵で相 3 2023/05/03 14:50
- 面接・履歴書・職務経歴書 パート応募先から 書類受領の連絡に返信は必要? 1 2023/09/11 21:39
- その他(データベース) AWSのcloud9で「 ls -l ~/.ssh/」のコマンドで公開鍵、 秘密鍵を知ろうとすると「 1 2023/07/09 02:10
- ビジネスマナー・ビジネス文書 個人情報取扱いについて 4 2024/06/06 16:51
- 計算機科学 現代暗号は通信に使われるため大容量の情報を高速に暗号化する必要が有るというのが主流ですが、 大量に暗 5 2024/07/06 17:26
- SSL・HTTPS デジタル証明書の仕組みについて 3 2024/02/13 19:43
- オープンソース 特許公報のPDFから項目毎にExcelシートの列に転記したい 1 2024/11/27 10:56
- 郵便・宅配 NHK受信料を4月から払ったつもりでいましたが、5月に宛名名の書かれていない封筒、特別あて所配達郵便 5 2024/06/07 10:28
- その他(SNS・コミュニケーションサービス) LINEとかTwitterのDMで長文を改行して送信するとおかしなとこで改行されるんですが改行は不要 2 2023/08/16 10:00
- その他(メールソフト・メールサービス) Gメールについて質問 6 2023/06/14 18:02
このQ&Aを見た人はこんなQ&Aも見ています
-
Excelの計算が合いません。 諸事情で会計の簡素な購入・販売諸元表を作っているのですが、一つの項目
Excel(エクセル)
-
繰り返す 私のパソコンではなく父親のパソコン
その他(セキュリティ)
-
zipって何
その他(コンピューター・テクノロジー)
-
-
4
Yahoo知恵袋を利用停止になり1年は経ちました。まだ利用できません。 電話番号変えるしかないのでし
ファイアウォール
-
5
自分のGmailアドレスを使って買い物をしている人がいる。Gmailをどうしたら良いですか?
ハッキング・フィッシング詐欺
-
6
人んちのWiFi妨害する方法ありますか?
Android
-
7
ネットバンクの暗証番号
その他(セキュリティ)
-
8
ウインドウズ11
Windows 8
-
9
リモートデスクトップ画面を翻訳できるソフト
フリーソフト
-
10
菅田将暉やきゃりーぱみゅぱみゅが物心がついたころには、パソコンや携帯が身近にあるのが常識だったですか
Windows Me・NT・2000
-
11
会社のMicrosoft365のライセンスが分かりません
PowerPoint(パワーポイント)
-
12
この従量制のネットワークを利用してバックアップってのを押したらお金を払わないといけないんですか?
バックアップ
-
13
これのどこが削除対象になるのでしょうか。
SSL・HTTPS
-
14
同じドメイン内の詐欺メールの危険度について
ハッキング・フィッシング詐欺
-
15
私のパソコンでVirtualBoxは使えないのでしょうか
UNIX・Linux
-
16
ここから、先が分からないんですが、分かる方いらっしゃいますか?
Mac OS
-
17
メールで返信お願いしますと記載して送ったのに メールで返信もせず頑なに電話してくるのは何なんですか?
迷惑メール・スパム
-
18
証券会社からSMSが届きます
その他(セキュリティ)
-
19
Cのプログラムからアクセスできないファイル名の一括変更方法
C言語・C++・C#
-
20
Visualbasicの現状について教えてください
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
不正ログインされました。対応...
-
「フォーム再送信の確認」中の...
-
ウイルス感染の表示
-
yahoo知恵袋にあったミラーサイ...
-
windows11 サービスにSecurity ...
-
office 365
-
インターネット接続で お聞きし...
-
Windows System32 Security Hea...
-
NX-200にログインしようとしてI...
-
自宅ネットワークにおける端末...
-
【中国による海底ケーブル切断...
-
デジタル署名について 文書を送...
-
【世界のメールを使用したサイ...
-
アクセス解析とか言うので私の...
-
中国AIのDeepSeek ヤバくないで...
-
個人情報が企業で抜かれる中、...
-
ネット接続の設定変更
-
添付ファイル付きメールの安全...
-
北朝鮮ハッカーが480億盗ん...
-
【OpenID Connect / OAth 2.0】...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
不正ログインされました。対応...
-
「フォーム再送信の確認」中の...
-
Windows System32 Security Hea...
-
windows11 サービスにSecurity ...
-
自宅ネットワークにおける端末...
-
Microsoft Formsのセキュリティ...
-
VLAN で分けましたが・・。
-
Windowsでimebroker hidden win...
-
【中国による海底ケーブル切断...
-
ウイルス感染の表示
-
winndws セキュリティ
-
タブが削除できない
-
IPアドレスによる住所特定につ...
-
テレワークで会社支給パソコン...
-
5ch BBSでIPアドレスが出るが、...
-
中国AIのDeepSeek ヤバくないで...
-
インターネット接続で お聞きし...
-
yahoo知恵袋にあったミラーサイ...
-
SIPサーバで200OKってなんでし...
-
書き込みしようとすると「不正...
おすすめ情報
暗号化する理由を自分なりに考えましたが、送信者本人がおくったか確認するためですか?それなら暗号化せずにおくる文書が本人からおくられたかわからないということですか?