デジタル署名 の変更点


#author("2023-02-23T12:11:02+09:00","default:k1rou","k1rou")
#author("2023-11-25T18:44:01+09:00","default:k1rou","k1rou")
*デジタル署名 [#wc867124]
**名称 [#beff45d8]
-Digital Signature

**概要 [#vab1fffe]
-[[ハッシュ]]と[[公開鍵暗号方式]]([[PKI]])を使った[[電子署名]]を実現する仕組み。
-データの正当性を保証するために付与される[[暗号化]]した情報。
-データの送信者を証明し、データが[[改ざん]]されていないことを保証する。
-電子署名法

*デジタル署名 でできること [#ice53ea3]
**データの[[完全性]]の検証 [#x121ed4c]
-通信経路上でデータが[[改ざん]]されていないことや、データが欠落していないことを保証

**[[なりすまし]]防止 [#bff95498]
-署名者が作成したデータであることを証明
-データの送信者が本人であることを証明
-[[否認防止]]
--本人がデータを送信したということを否定できなくなる

*デジタル署名の手順(例) [#r06717d8]
**送信者 [#nadbc045]
+[[ハッシュ]]関数を使って送信するデータ(平文)のハッシュ値(メッセージダイジェスト)を作成する
+秘密鍵を使ってメッセージダイジェストを暗号化してデジタル署名を作成する
+データ(平文)、デジタル署名、デジタル証明書(公開鍵が格納)を送信する

**受信者 [#m4f74f4f]
+[[ハッシュ]]関数を使って受信したデータ(平文)のハッシュ値(メッセージダイジェスト)を作成する
+デジタル証明書の公開鍵を使ってデジタル署名を復号してメッセージダイジェストを作成する
+メッセージダイジェストを比較して一致していれば、データ(平文)の完全性と正当性が証明される

*デジタル署名のフォーマット [#xe6eaf5a]
**CMS [#i5cda4cc]
-「[[CMS(Cryptographic Message Syntax)]]」参照
-[[PKCS]]#7 を拡張したフォーマット

**XMLデジタル署名 [#wd426a36]
-「[[XMLデジタル署名]]」参照

*デジタル署名に使用するアルゴリズム [#j0e5ffeb]
-[[公開鍵暗号方式]]と[[ハッシュ]]関数との組み合わせ。
-MD5
|~                         |~公開鍵暗号方式 |~ハッシュ関数 |h
| HMAC-MD5 (MD5MAC) | [[HMAC]] | MD5 |

-SHA-1
|~                         |~公開鍵暗号方式 |~ハッシュ関数 |h
| Sha-1 with RSA encryption | [[RSA]]        | SHA-1        |
| id-dsa-with-sha1         | [[DSA]]        | SHA-1        |
| ecdsa-with-SHA1          | [[ECDSA]]      | SHA-1        |

-SHA-256
|~                         |~公開鍵暗号方式 |~ハッシュ関数 |h
|[[RS256]] | [[RSA]]     | SHA-256      |
|[[HS256]] | [[HMAC]] | SHA-256 |
|[[ES256]] | [[ECDSA]] | SHA-256 |
|[[PS256]] | RSASSA-[[PSS]] | SHA-256 |

**[[公開鍵暗号方式]]([[PKC]]) [#e5e24288]
**暗号化([[PKE]]) [#r4a7c32b]
-[[RSA]]
-[[ElGamal]]
-[[Rabin]]

**署名(暗号化ではない) [#ba67c532]
-[[DSA]]
-[[ECDSA]]
-[[EdDSA]]

*デジタル署名の方法 [#d36dca72]
-データに直接署名する
-データのハッシュ値に署名する

*デジタル署名の用途 [#mf01cc0f]
-HTTP通信
--[[SSL/TLS]]
--公開鍵の証明書

-[[電子メール]]
--[[DomainKeys]]
--[[DKIM]]
--[[S/MIME]]

-コードサイン
--[[コードサイニング証明書]]
--ソースコードの保護対策
--発行元の真正性、ソフトウェアが改ざんされていないことの証明。

-[[時刻認証]]

-[[DNS]]
--[[DNSSEC]]

*セキュリティの脅威 [#g996ec2b]
-Adaptively Chosen Message 攻撃
--適応的選択文書攻撃

*関連用語(デジタル署名) [#se3b77ff]
-デタッチ署名
--署名の対象と署名自体が分離した形式の署名のこと

*関連用語 [#l1a0d211]
-[[PKI]]
-[[PKCS]]
-[[暗号化]]
-[[公開鍵暗号方式]]
-[[セキュリティ]]
-[[時刻認証]](タイムスタンプ)
-[[ダイジェスト]]
-[[認証]]
-[[長期署名技術]]
-[[長期保存]]
-[[ハッシュ]]
-[[ヒステリシス署名]]
-[[マルウェア]]
-[[メッセージ認証コード]]