この記事を読むのに必要な時間は約 4 分です。
あれ?猫のトイレ砂がない・・・
あ~困った・・・今日は買いに行く時間なんかないよ~
こんな時に便利なのがネットショッピングですね。
特に猫のトイレ砂のように重量のある商品は、玄関先まで配達までしてくれるネットショッピングに頼りたくなります。
リアル店舗とネットショップを比べた場合に、ネットショップが便利だなと思われる点の一つにクレジット決済の自動化があります。
買い物をするたびに財布からクレジットカードを取り出して、16桁の番号やら、年、月のデータを入れずに済むのはとても便利ですね。
プライバシーマークの顧問契約をしていただいている企業さんで先月年一回の教育を行いました。
旅行業を営んでいらっしゃる会社さんなので、若い社員さんが多く、質問もネット関係の安全性に関するものが多くなりました。
その中でも特に多かった質問がこちら。
クレジットカードの情報をウェブショップに預けて大丈夫?
そうですね。
先ほど書かせていただいたように、間違いなく便利は便利なのですが、一抹の不安が残ることも事実です。
クレジットカードの決済システムを勉強するのはむずかしいですが、今回はもう少し簡単な、サイト運営側のパスワード保存方法を勉強したいと思います。
■暗号化?ハッシュ化?
暗号化については皆さんよくご存じですね。
代表的なものとしては、意味のある文字列を一定の規則に従って変化させ、その内容を関係者以外に解読できないようにする仕組みです。
例えば、平仮名を一列ずらす方法で、「しずおか」を「ちづこさ」に変えたりするのが典型的なやり方です。
この暗号化の大きな特徴は、一度暗号化した情報を復元して利用することが目的になっていることです。
先ほどの例で言うと、「しずおか」を「「ちづこさ」に変化させただけではなく、「ちづこさ」を受け取った人が「しずおか」に復号してその意味を知ることが暗号化の最大の使命です。
対して、ハッシュ化とはなんでしょうか?
暗号化の場合、変換前のもとの情報に戻すことが前提でしたが、ハッシュ化は逆に復号されないことが目的です。
元の情報をぐちゃぐちゃにして終わり??
何のために?
ショッピングサイトなどにログインするとき、皆さんはパスワードを入力しますね。
例えば、私が「taka123」なんてパスワードを使用していたと考えます。
実際にはあり得ませんが、このパスワードをサイト運営者が「一文字づつずらすルール」で暗号化していたとしましょう。
すると、「taka123」は「ublb234」という暗号?で保管されることになります。
方法の稚拙さはともかく、パスワードは暗号化されて保管されていますから、一定の安心感はありますね。
しかし、もしもこの暗号化されたパスワードと暗号化ルールが盗み出されたら?
先ほどまでの安心感はどこへやら、あっという間に不正利用される可能性があります。
そこで考えられたのが、ハッシュ化というルール。
そもそも暗号化されたパスワードを復号化する必要はない、と考えたのです。
入力されたパスワードを一定のルールでグチャグチャにして、二度と元の情報が類推できない状態にする。
パスワードは情報の一致で本人を確認するためだけの道具ですから、その情報そのものを再利用する必要はありません。
ハッシュ化はデータをもとの状態に戻さないことが前提です。
それをわかりやすく説明すると・・・
先ほどの私のパスワード「taka123」で試してみましょう。
「taka123」→「tk13」
ハッシュ化されたデータ「tk13」からは、まず簡単には「taka123」には戻れませんね。
だって、元のパスワードの偶数番号の文字を削除しただけですからね。
でも「入力されたパスワードの偶数番目の文字を消す」というルールで「tk13」を保管しておけば、少なくとも入力されたパスワード「taka123」が「tk13」のハッシュ化される前の姿であることは確認できます。
万が一、「tk13」というハッシュ化されたパスワードが盗まれても、これを復号して「taka123」に戻すことはなかなか困難です。
一定のルールでハッシュ化された私たちのパスワードは、サイト運営側で保管され、私たちがパスワードを打ち込む度にそのパスワードを同じルールでハッシュ化して保存されたデータと照合して確認をしているわけですね。