Security — 楽しく学ぶ情報セキュリティ

デジタル署名

公開鍵暗号方式に続いて、今回は「デジタル署名」について学習します。

デジタル署名は、送信者が誰であるかを確認し、データが改ざんされていないことを保証するための技術です。

この講座の学習ポイント

    • デジタル署名

デジタル署名

デジタルデータに対して「署名」を行い、そのデータが正しい送信者から送られ、改ざんされていないことを証明するための技術です。

デジタル署名は、以下のようにして行われます。

  1. ハッシュ生成
    • メッセージやファイルから「ハッシュ」と呼ばれる固定長のデータを生成します。これは、そのメッセージの「指紋」のようなものです
    1. 署名生成
      • 送信者は、ハッシュを秘密鍵で暗号化します。これが「デジタル署名」です
      1. 署名の添付
        • 生成されたデジタル署名を元のメッセージに添付して、受信者に送ります
        1. 署名の検証
          • 受信者は、送信者の公開鍵を使ってデジタル署名を検証し、メッセージが改ざんされていないかを確認します。また、公開鍵を使って復号できれば、送信者が誰であるかを確認できます

        それでは、また図で見ていきましょう。

        役割分担

          • 送信者:ゆみちゃん
          • 受信者:かよちゃん
          • 脅威アクター:ハッキングさえちゃん

        図① 平文のメッセージをハッシュ化
        図① 平文のメッセージをハッシュ化


        図② 秘密の鍵でハッシュ値を暗号化(デジタル署名)
        図② 秘密の鍵でハッシュ値を暗号化(デジタル署名)


        図③ 公開鍵とメッセージを送信
        図③ 公開鍵とメッセージを送信


        図④ 公開鍵で復号し、ハッシュ値を確認
        図④ 公開鍵で復号し、ハッシュ値を確認


        図⑤ ゆみちゃんのハッシュ値と一致していればOK
        図⑤ ゆみちゃんのハッシュ値と一致していればOK


        図⑥ ハッシュ値が異なっていれば、改ざんされていることがわかる
        図⑥ ハッシュ値が異なっていれば、改ざんされていることがわかる


        ゆみちゃんゆみちゃんハッシュについて忘れちゃった人は、第9講座をチェックしてね
        かよちゃんかよちゃんあれ、これってメッセージの内容自体は暗号化していませんよね? デジタル署名は、メッセージの送信者を確認して改ざんを防ぐものだと理解しましたが、内容の秘密は守れないんですか?
        ゆみちゃんゆみちゃんデジタル署名は、メッセージの暗号化については触れていないの。単純に、送信者の真正性のことだけ考えて。ハッシュ値に相違があれば、それは改ざんされている。そこだけでOKよ
        かよちゃんかよちゃんわかりました。改ざんされたら、ハッシュ値が変わってしまうわけだから、捨てるべきメッセージかどうかが判別できるってところまでの理解にしておきます
        ゆみちゃんゆみちゃんメッセージをハッシュ化して、それを秘密鍵でロックすることをデジタル署名という。この言葉をしっかり抑えてね。この技術があることで、共通鍵の出番が出てくるよ。話はまだ続きます

        代表的なデジタル署名アルゴリズム

        デジタル署名で使用されるアルゴリズムは、公開鍵暗号方式と同じです。

          • RSA
          • ECDSA (Elliptic Curve Digital Signature Algorithm)

        第22講のまとめ

        デジタル署名は、送信者の身元確認とメッセージの改ざん防止に役立つ重要な技術です。公開鍵暗号方式と組み合わせることで、高いセキュリティを実現します。

        ゆみちゃんゆみちゃんここまで学習できたら、第23講では、デジタル署名と共通鍵暗号方式を利用して、デジタルエンベロープを使った鍵交換という深い話に入っていきましょう!

        リストに戻る

        第23講座に進む

楽しく学ぶ情報セキュリティの一覧へ