みなさんこんにちは。
内山です。
現在はネット上での
取引やクレジットカードでの支払いが
当たり前になっています。
そして、個人情報のやりとりも
ネット上でされています。
ではどのようなしくみで
第3者にもれずに情報のやり取りが
できているのでしょうか。
ネット上で情報を守る仕組みとしては
とても安全にできている
情報が漏洩してニュースになることもありますが、
実は、
「仕組みとしては大切な情報が漏れることはまずない」
といってよい方式でデータのやり取りはされています。
情報が漏洩してしまう理由のほとんどは、
人為的なミスか作為的なもの(つまり詐欺)に
人間が引っかかってしまうからです。
![](https://equal89.sakura.ne.jp/wp/wp-content/uploads/2021/01/card-player-5864212_1280-640x360.jpg)
情報には鍵をかければよいが…
第3者に知られては困る情報
(個人情報やクレジットカード情報等)をネット上で
行き来させるわけですから、
当然裸のまま流すわけにはいきません。
そのため情報に鍵をかけて(暗号化させて)、
流すことになります。
わかりやすく金庫の受け渡しを例にして説明します。
![](https://equal89.sakura.ne.jp/wp/wp-content/uploads/2021/01/safe-157952_1280-640x360.png)
Aさんが現金をBさんから受け取るときに、
数値を入力して鍵をかける金庫に入れて、
送ってもらうことにしました。
その際、AさんとBさんで打ち合わせをして
鍵となる番号を共有して送れば一般的には
暗号が成立することになります。
たとえばBさんが「98765」という番号で
金庫を閉めて送り、金庫を受け取ったAさんが
「98765」で解錠するということですね。
この暗号方式のことを
「共通鍵方式」といいます。
古くから用いられていますし、
日常的にも使われていますよね。
ただ、この方式ですと、何らかの方法で
同じ鍵(数字)をふたりで
共有しなければなりません。
金庫を盗もうと悪意のある人がいた場合、
電話で話せば盗聴されるかもしれませんし、
アナログの手紙だって盗み見られる
かもしれません。
あるいはBさんが番号を漏らしてしまう
危険な事態に陥ることも否定できません。
そこで編み出されたのが
「公開鍵方式」です。
ネット上のデータは公開鍵方式で守られている
![](https://equal89.sakura.ne.jp/wp/wp-content/uploads/2021/01/wooden-green-door-locked-with-padlock-640x360.jpg)
公開鍵方式とは、
「閉める鍵と開ける鍵を別々のものにする」
という方式です。
上の例でいうと、
Bさんが「98765」という数字で閉めた金庫は、
その数字では開くことができません。
Aさんしかしらない数字でしか開かないのです。
この方法ならば、「98765」という数字は、
Bさんに限らず誰が知っていても、
Aさんしか開けることができないので、
この暗号のことを「公開鍵」と呼ぶのです。
この鍵は、素数(その数値と1でしか割り切れない数字)を
使って作ります。
ある素数☓ある素数=公開鍵
となります。
![](https://equal89.sakura.ne.jp/wp/wp-content/uploads/2021/01/32967936095_739f8df924_c-640x360.jpg)
実際の仕組みは、相当複雑ですが、
簡単にいうと以下のようになります。
AさんはBさんに
「15という数値でセットして」と頼みます。
15で施錠された金庫は15では開きません。
それがAさんのもとへ届いたら
Aさんは3と5を別々に入力して解錠する、
という方式です。
ここでいう3と5を「秘密鍵」といいます。
「そんなの仕組みがわかっていたら
バレちゃうじゃないか」
…ごもっともです。
さすがに公開鍵が15では、
小学生でも秘密鍵は解けてしまいます。
それでは221ではいかがですか。
943では?
6887では?
もとの2つを導き出すのは
相当時間がかかるはずです。
もちろん、この程度であればコンピュータを使えば、
瞬時に破られてしまいます。
しかし、この公開鍵が200桁の数値だった場合、
もとの素数を導き出すためには
最高速のスーパーコンピューターを使っても
10億年かかるといわれているのです。
![](https://equal89.sakura.ne.jp/wp/wp-content/uploads/2021/01/titan-3-79578_1280-640x360.jpg)
とすれば、Bさんに200桁の公開鍵で
金庫を閉めてもらえば、
事実上、この金庫を開けられるのは
世界でもとの素数(秘密鍵)を知っている
Aさんだけということになります。
(例)
データの受信側(例えばクレジットカード情報をうけとる売り主)が秘密鍵と公開鍵を作成、公開鍵を買い主に送付して暗号化されたクレカの番号を受け取り、秘密鍵で解錠する。
インターネットでは、これを人が行うのではなく、
自動的に行われるようなしくみができています。
データのすべてを暗号化すると処理に時間が
かかるため、最近では
共通鍵を公開鍵方式で暗号化して送付しておいて
共通鍵でやりとりをするという
方式が使われています。
公開鍵と秘密鍵を逆に使うとデジタル署名ができる
データを第3者に見せないのではなく、
逆に
第3者に送信者が本物であることを証明するための「デジタル署名」
も使われ始めています。
![](https://equal89.sakura.ne.jp/wp/wp-content/uploads/2021/01/sale-3701777_1280-640x360.jpg)
この場合は、送信者側で秘密鍵と公開鍵を
作成しておいて、秘密鍵で暗号化した署名を
文書につけて送ります。
同時に公開鍵を受信者に送ります。
署名は公開鍵がないと開かなくしておきます。
(厳密にはもっと複雑ですが、
わかりやすくするため省きます。)
受信者が公開鍵で解錠できれば
送信者が秘密鍵を持っている本人であるという
証明になる、また、データが改竄されていないことが
わかるという仕組みです。
このように、
「文書の中身は知られて良いが、
出どころを証明するため」にも
公開鍵方式は使われています。
まとめ
いかがだったでしょうか。
ネット上では自分でも知らないところで、
暗号は使われています。
ただし、いくらデータが守られていても、
人間が騙されて、自分から情報を
漏らしてしまっては元も子もありません。
詐欺メールやフィッシングサイトなどが
その例ですが、くれぐれも気をつけましょう。
- 日常的な暗号は「共通鍵方式」が使われている。
- ネット上での暗号は「公開鍵方式」が使われている。これは、閉める鍵と開ける鍵を別のものにするという方式で、信頼性が高い。
- システム的には信頼性が高くても人間が騙されては意味がない。