Webサービスを利用していると、パスワードを忘れてしまった時や、重要な取引をする時などに求められる、「秘密の質問」ってありますよね。
秘密の質問、秘密になってない問題
例えばこんな質問
- 母親の旧姓は?
- こどもの頃のニックネームは?
- あなたの両親が出会った街は?
これ、家族や親戚はもちろん、仲の良い友達、ちょっとした知り合いですら、分かってしまう可能性のある質問ですよね。この質問に対して、マジメに本当の答えを設定するのは危険。
母親の旧姓は? → ハリネズミ
これくらいぶっ飛んでいる方が誰にも分からなくて安全なのです。
暗号化してしまえばいい
前回の記事で紹介した「Webに溢れるパスワードをメモ無しで覚える方法」と同様に暗号化によって答えを決めてしまいましょう。(理系的に言うと、質問という変数を受けて答えを返す関数を作ってしまえばいいわけですね。)
やり方は何通りもありますが、例えばこうします。
暗号:「質問の文をローマ字にしたときの最初の文字によって答えが決まる」
- 母親の… → hahaoyano → h
- こどもの… → kodomono → k
- あなたの… → anatano → a
このアルファベットに対応した答えを用意しておきます。(適当であれば適当であるほど安全。)
- h → ハリネズミ
- k → 海水浴
- a → アイスクリーム
この暗号をさっきの質問に適用すればこうなります。
- 母親の旧姓は?
→ h → ハリネズミ - こどもの頃のニックネームは?
→ k → 海水浴 - あなたの両親が出会った街は?
→ a → アイスクリーム
ぶっ飛びすぎた答え。まず推測されることはないでしょう。マジメに答えるよりはるかにセキュリティが向上しました。もう少し例を上げてみます。
- はじめて買ったCDは?
→ h → ハリネズミ - 高校生の頃に好きだったひとの名前は?
→ k → 海水浴 - 明日今日よりも好きになれる?溢れる思いが止まらない?
→ a → アイスクリーム
日本語の文章ならたった14通り
日本語の文章であれば、母音5つ(a i u e o)と、子音9つ(k s t n h m y r w)合わせて、14通りの答えを用意しておけば、あらゆる質問に対応できます。これくらいなら紙にもペンにも携帯にも頼らず暗記できますよね。14という数字は、暗号の作り方次第でコントロール可能です。母音なら5通り、50音で分類すれば50通り、といった具合です。
いかがでしょうか??
前回の記事と合わせてぜひ試してみて下さい!