デジタル署名

2023-11-25 (土) 18:44:01

デジタル署名

名称

  • Digital Signature

概要

デジタル署名 でできること

データの完全性の検証

  • 通信経路上でデータが改ざんされていないことや、データが欠落していないことを保証

なりすまし防止

  • 署名者が作成したデータであることを証明
  • データの送信者が本人であることを証明
  • 否認防止
    • 本人がデータを送信したということを否定できなくなる

デジタル署名の手順(例)

送信者

  1. ハッシュ関数を使って送信するデータ(平文)のハッシュ値(メッセージダイジェスト)を作成する
  2. 秘密鍵を使ってメッセージダイジェストを暗号化してデジタル署名を作成する
  3. データ(平文)、デジタル署名、デジタル証明書(公開鍵が格納)を送信する

受信者

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

デジタル署名のフォーマット

CMS

XMLデジタル署名

デジタル署名に使用するアルゴリズム

  • SHA-1
    公開鍵暗号方式ハッシュ関数
    Sha-1 with RSA encryptionRSASHA-1
    id-dsa-with-sha1DSASHA-1
    ecdsa-with-SHA1ECDSASHA-1

公開鍵暗号方式PKC

暗号化(PKE

署名(暗号化ではない)

デジタル署名の方法

  • データに直接署名する
  • データのハッシュ値に署名する

デジタル署名の用途

  • HTTP通信
  • コードサイン

セキュリティの脅威

  • Adaptively Chosen Message 攻撃
    • 適応的選択文書攻撃

関連用語(デジタル署名)

  • デタッチ署名
    • 署名の対象と署名自体が分離した形式の署名のこと

関連用語