見出し画像

暗号化と署名

暗号化と署名。これらはデジタルの世界で必ず使われている手法ですね。

各々何を意図しているのかを整理してみます。


先ず各々の手法詳細に踏み込む前に、サイバーセキュリティの世界で利用されているCIANAというフレームワークに触れてみます。

C = Confidentiality
I = Integrity
A = Availability
N = Non-repudiation
A = Authenticity

Cは情報を必要な人ののみ開示して不要な人には開示しないことで、
Nは情報を送った人が後から"え、そんなの送っていないよ"としらばっくれることを防ぐことです。


暗号化はCを、署名はNを担保しています。


先ず暗号化のみのケースです。MikeからJohnに対してJohnにしか知られたくない気密情報を送るシーンです。

Mikeは事前にJohnからPublic keyを受け取ってそのPublic keyを使って気密情報を暗号化します。

暗号化された気密情報を受け取ったJohnはPublic keyと対になっているPrivate keyで複合化して気密情報を読めるようにします。

Public keyはJohn以外の誰でも受け取ることが可能です。

例えばMikeが後から"え、そんなの君に送っていないよ。他の誰かが送ったんじゃない?"と悪意を持ってしらばっくれることができてしまいます。


ここで出てくるのが署名です。

署名を付けることで後からしらばっくれられることを防ぐことができます。

同じくMikeからJohnに対してJohnにしか知られたくない気密情報を送るシーンです。

Tomという仲介役に入ってもらいJohnのPublic keyに署名してもらいMikeにその署名をチェックさせます。

これで気密情報を暗号化したのはMike本人と確証を取ることができます。

後からMikeが何らかの悪意を持って"オレじゃないよ"と言っても署名にチェックしているのでしらばっくれることはできません。


暗号化と署名は混同されやすいですね。

各々別のことを意図しているのでその意図を整理すれば何にでも応用できますね。

この記事が気に入ったらサポートをしてみませんか?