Nラボ備忘録

TAKE IT EASY

MENU

データ改ざんを防ぐ必須技術、ディジタル署名をイメージで覚えよう!【備忘録-基本情報技術者試験対策 #12】

※ 本記事では、基本情報技術者試験の対策として私が勉強したことを備忘録的にまとめておきたいと思います。
少しでも参考になれば嬉しいです。




はじめに

今回は、ディジタル署名についてまとめます。

ネットワーク上でデータをやり取りする以上、そのデータが改ざんされていないかどうかを確認することはとても大切です。

そのために使われている技術がディジタル署名と呼ばれるものです。

基本情報の試験対策では、どのようにしてディジタル署名を作成し、どのようにしてデータ改ざんをチェックするのかを理解しておくことが大切です。

図を入れてイメージしやすくしているので、これを機会に覚えましょう。



ちなみに私はこの参考書を使って勉強してました。

漫画形式で読みやすく、分かりやすい内容になっているため、無理なく学習を進められると思います。

過去問を解きまくり、不明点があれば参考書で知識を補う、このサイクルで試験対策するのが私のオススメです!

ディジタル署名とデータ改ざんチェック

ディジタル署名とは??

最初にもお話しましたが、ディジタル署名とはデータが改ざんされていないかどうかを確認するために用いられるものです。

データに署名を付与して相手に送り、相手はその署名を確認することで、データが改ざんされていないかどうかを確かめます。

このディジタル署名は「公開鍵暗号方式」を応用した技術です。

そのため、「秘密鍵」「公開鍵」の違いをキチンと理解することがとても大切です。

図を添付しているので、照らし合わせながら手順をイメージしましょう。

データ改ざんチェックの流れ

  1. 「送信者」は、データをハッシュ関数にかけることで、メッセージダイジェスト(ハッシュ値)を得る
  2. 「送信者」は、メッセージダイジェストを「送信者」の「秘密鍵」で暗号化することでディジタル署名を生成する。
  3. 「送信者」は作成したディジタル署名をデータに付与し、送信する。

  1. 「受信者」は、ディジタル署名を「送信者」の「公開鍵」で復号することで、メッセージダイジェストを得る
  2. 「受信者」は、受信したデータを送信者と同じハッシュ関数でハッシュ化し、メッセージダイジェスト(ハッシュ値)を得る
  3. 「送信者」から送られてきたデータに付与されているメッセージダイジェストと、「受信者」が手順5. で作成したメッセージダイジェストを比較する。
  4. 1つのデータからハッシュ関数によって生成されるメッセージダイジェストは常に同じになるので、手順6. でメッセージダイジェストを比較した結果が同じなら、通信内容が改ざんされていないことが証明される。
    (データが改ざんされていたらメッセージダイジェストが変わってしまいますからね。)

これだけは覚えよう!

さて、今回はディジタル署名を付与してデータの改ざんをチェックする手法についてまとめました。

大切なポイントは2つですかね。

Point

  • 「秘密鍵」「公開鍵」がペア
  • 「秘密鍵」は絶対に秘密



「公開鍵」で暗号化したものは、ペアとなる「秘密鍵」でしか復号できないですし、その逆もまたしかりというわけです。

ですので、相手にデータを送る際は、相手側でデータを復号できるよう、相手が公開している「公開鍵」で暗号化し、それを相手側の「秘密鍵」で復号してもらうというわけです。

しっかりと流れをイメージして、試験合格を目指しましょう!

前回まとめた記事も読んでもらえると嬉しいです!

nlab-notebook.com