IT

ネット上で安全なお金の決済や個人情報が守られている仕組みを簡単に説明

みなさんこんにちは。
内山です。

現在はネット上での
取引やクレジットカードでの支払い
当たり前になっています。
そして、個人情報のやりとり
ネット上でされています。
ではどのようなしくみで
第3者にもれずに情報のやり取りが
できているのでしょうか。

ネット上で情報を守る仕組みとしては
とても安全にできている

情報が漏洩してニュースになることもありますが、
実は、

「仕組みとしては大切な情報が漏れることはまずない」

といってよい方式でデータのやり取りはされています。
情報が漏洩してしまう理由のほとんどは、
人為的なミスか作為的なもの(つまり詐欺)
人間が引っかかってしまうからです。

情報には鍵をかければよいが…

第3者に知られては困る情報
(個人情報やクレジットカード情報等)をネット上で
行き来させるわけですから、
当然裸のまま流すわけにはいきません。
そのため情報に鍵をかけて(暗号化させて)、
流すことになります。

わかりやすく金庫の受け渡しを例にして説明します。

Aさんが現金をBさんから受け取るときに、
数値を入力して鍵をかける金庫に入れて、
送ってもらうことにしました。

その際、AさんとBさんで打ち合わせをして
鍵となる番号を共有して送れば一般的には
暗号が成立することになります。
たとえばBさんが「98765」という番号で
金庫を閉めて送り、金庫を受け取ったAさんが
「98765」で解錠するということですね。

この暗号方式のことを
「共通鍵方式」といいます。
古くから用いられていますし、
日常的にも使われていますよね。

ただ、この方式ですと、何らかの方法で
同じ鍵(数字)をふたりで
共有しなければなりません。
金庫を盗もうと悪意のある人がいた場合、
電話で話せば盗聴されるかもしれませんし、
アナログの手紙だって盗み見られる
かもしれません。
あるいはBさんが番号を漏らしてしまう
危険な事態に陥ることも否定できません。

そこで編み出されたのが
「公開鍵方式」です。

ネット上のデータは公開鍵方式で守られている

公開鍵方式とは、
「閉める鍵と開ける鍵を別々のものにする」
という方式です。

上の例でいうと、
Bさんが「98765」という数字で閉めた金庫は、
その数字では開くことができません。
Aさんしかしらない数字でしか開かないのです。
この方法ならば、「98765」という数字は、
Bさんに限らず誰が知っていても、
Aさんしか開けることができないので、
この暗号のことを「公開鍵」と呼ぶのです。

この鍵は、素数(その数値と1でしか割り切れない数字)を
使って作ります。

ある素数☓ある素数=公開鍵

となります。

実際の仕組みは、相当複雑ですが、
簡単にいうと以下のようになります。

AさんはBさんに
15という数値でセットして」と頼みます。
15で施錠された金庫は15では開きません。
それがAさんのもとへ届いたら
Aさんは3と5を別々に入力して解錠する、
という方式です。
ここでいう3と5を「秘密鍵」といいます。

「そんなの仕組みがわかっていたら
バレちゃうじゃないか」

…ごもっともです。
さすがに公開鍵が15では、
小学生でも秘密鍵は解けてしまいます。

それでは221ではいかがですか。
943では?
6887では?

もとの2つを導き出すのは
相当時間がかかるはずです。
もちろん、この程度であればコンピュータを使えば、
瞬時に破られてしまいます。

しかし、この公開鍵が200桁の数値だった場合、
もとの素数を導き出すためには
最高速のスーパーコンピューターを使っても
10億年かかるといわれてい
るのです。

とすれば、Bさんに200桁の公開鍵で
金庫を閉めてもらえば、
事実上、この金庫を開けられるのは
世界でもとの素数(秘密鍵)を知っている
Aさんだけということになります。

(例)
データの受信側(例えばクレジットカード情報をうけとる売り主)が秘密鍵と公開鍵を作成、公開鍵を買い主に送付して暗号化されたクレカの番号を受け取り、秘密鍵で解錠する。

インターネットでは、これを人が行うのではなく、
自動的に行われるようなしくみができています。

データのすべてを暗号化すると処理に時間が
かかるため、最近では
共通鍵を公開鍵方式で暗号化して送付しておいて
共通鍵でやりとりをするという
方式が使われています。

公開鍵と秘密鍵を逆に使うとデジタル署名ができる

データを第3者に見せないのではなく、
逆に
第3者に送信者が本物であることを証明するための「デジタル署名」
も使われ始めています。

この場合は、送信者側で秘密鍵と公開鍵を
作成しておいて、秘密鍵で暗号化した署名を
文書につけて送ります

同時に公開鍵を受信者に送ります。
署名は公開鍵がないと開かなくしておきます。
(厳密にはもっと複雑ですが、
わかりやすくするため省きます。)

受信者が公開鍵で解錠できれば
送信者が秘密鍵を持っている本人であるという
証明になる、また、データが改竄されていないことが
わかる
という仕組みです。

このように、
「文書の中身は知られて良いが、
出どころを証明するため」
にも
公開鍵方式は使われています。

まとめ

いかがだったでしょうか。
ネット上では自分でも知らないところで、
暗号は使われています。

ただし、いくらデータが守られていても、
人間が騙されて、自分から情報を
漏らしてしまっては元も子もありません

詐欺メールやフィッシングサイトなどが
その例ですが、くれぐれも気をつけましょう。

まとめ
  • 日常的な暗号は「共通鍵方式」が使われている。
  • ネット上での暗号は「公開鍵方式」が使われている。これは、閉める鍵と開ける鍵を別のものにするという方式で、信頼性が高い。
  • システム的には信頼性が高くても人間が騙されては意味がない。