【SC*勉強】公開鍵暗号方式とディジタル署名

IT

今回は、公開鍵暗号方式とディジタル署名について勉強していきたいと思います。

この二つは、安全確保支援士だけではなく基本情報技術者や応用情報技術者の試験にもよくでてきて、紛らわしかったので比較しながら勉強していきたいと思います。

1. 公開鍵暗号方式とは?  

概要   


公開鍵暗号方式とは、公開鍵と秘密鍵を用いた暗号方式のことです。よく比較されるのは共通鍵を用いた共通鍵暗号方式です。データを安全に送受信するために使用します。

流れ


流れを確認します。

1. 前提としてBさんは自分の公開鍵をAさんに配布しておきます。
2. Aさんは送信したいデータをBさんの公開鍵で暗号化し、Bさんへ送信します。
3. Bさんは持っていた自分の秘密鍵を使って受信したデータを復号化して元データを取得します。

流れから分かりますが、Bさんは自分の秘密鍵で暗号化されたデータを複合します。ここで複合化できるのはBさんの公開鍵で暗号化されたものです。自分の公開鍵で暗号化されたものは自分の秘密鍵でしか複合化できないので、データを盗聴されても中身までは見られることがなく、安全に受け取ることができます

一方で、Bさんの公開鍵を配布した人はだれでもデータを暗号化して、Bさんに送ることができるので、なりすましは防ぐことができません

これを踏まえてディジタル署名も見ていきます。

2. ディジタル署名とは?   

概要   


ディジタル署名とは、公開鍵暗号方式を用いて、データの改ざんやなりすましを検知できる技術のことです。つまり、公開鍵暗号方式を使ってディジタル署名を実現します。

流れ

流れを確認します。

1. 前提としてAさんは自分の公開鍵をBさんに配布しておきます。
2. Aさんは送信したいデータをハッシュ化したものと、自分の秘密鍵で暗号化したもの(ディジタル署名)をBさんへ送信します。
3. BさんはAさんの公開鍵を使って受信したデータを復号化し、元データを取得します。

公開鍵暗号方式の流れと異なる点として、2でAさんは自分の秘密鍵を使って暗号化しています。
3でBさんが、Aさんの公開鍵でデータを複合化して元データ(ハッシュ化されたもの)と一致することを確認します。ここで上記のデータが一致する(Aさんの公開鍵でデータが複合化できる)ということはデータがAさんの秘密鍵で暗号化されたものであることが分かりますが、秘密鍵は本人のみが持っているものなので、Aさんによって送られてきたデータであることが確認できます。

つまり、ディジタル署名を使うことで改ざんやなりすましを検知することができます。


まとめ


私は最初ディジタル署名を勉強したので、過去問で公開鍵暗号方式が問われていたのに、秘密鍵と公開鍵をすべて逆に答えてしまい、しばらくは解説を見ても納得がいきませんでした。

これら二つの違いは、そもそも、
公開鍵暗号方式:方式
ディジタル署名:↑を用いた技術
であり、ディジタル署名は公開鍵暗号方式を活用して、なりすましや改ざんを検知できる技術ということを認識したら、納得できました。

冒頭でも述べましたが、この二つはどちらも資格試験はもちろん、セキュリティ系の話にはよく登場するので、しっかり理解しようと思います。

ここまでお読みいただきありがとうございました!

コメント