以前にHDDが破損してえらく復旧にコストがかかったお話をしました。
でバックアップやクローンをとることの重要性を認識したのですが、それとは逆に現在のデータ復旧技術の高さには恐れすら感じました。
前回は今後の実施事項として決めた「データ復旧が不可能な形にデータは完全消去する」ことについてお話しました。
今回はその続きとして「見られたくないファイルはパス付きで暗号化する」ことについてお話しさせていただきます。
機密性の高い「いろいろエロエロな(ブワハハ!)」重要データはパスを付けて暗号化したいと思っています。
一口にパスと言っても、ネットでいろいろ調べますと目にすることですが「12桁以上で数字、アルファベット大文字小文字と記号を混在させた意味の無いもの」をつける必要があるそうです。
今、申し上げた考えでつけたパスがどれぐらい強力かをエクセルを使って計算してみますと、すごいことになりました。
・数字→0、1、2・・・9の全部で10個
・アルファベット大文字→A、B、C・・・Zの全部で26個
・アルファベット小文字→a、b、c・・・zの全部で26個
・記号→使用できるものに制限あるのでだいたい全部で10個くらいとする
☆使用する文字数字記号の合計→72個
以上で12桁のパスを作るとすると総当りで「72の12乗=19,408,409,961,765,300,000,000(万進法で表現すると百九十四垓八百四十京九千九百六十一兆七千六百五十三億)」通りの組み合わせがあります。
解読はコストを無視して例えば試行を1兆回/秒できるコンピュータを使い総当りで行うとすると。
「19,408,409,961,765,300,000,000通り÷1,000,000,000,000回(約百九十四億八百四十万九千九百六十一)」秒が必要となります。
これを年に換算すると約615年になります。ちなみに閏年は無視して簡略化し1年を365日で計算しました。
こりゃ実質解読不可能ですねぇ・・・。
ところが桁数を例えば11桁にしたとします。そうすると「72の11乗=269,561,249,468,963,000,000通り」の組み合わせになるので、同様の能力のコンピュータで総当り解読をすると約9年で可能になります。まぁもちろん9年もコンピュータを動かし続けることはメンテナンスなど考慮すると不可能ですし、そもそもパスワードを構成する桁数が事前にわかっていればいいのですが、そこがわからなければ累計的に時間が必要になります。しかし桁が一つ減るとセキュリティーはぐっと下がってしまうことがわかります。
更に10桁だと一気に時間は短縮されて43日。9桁なら1日。8桁になると12分。7桁ですと10秒ですからほとんど暗号になっていません。
パスはファイルの暗号化だけで無くネット銀行などのログインにも必要です。その場合は結構桁数に制限があり10桁までしか使用できない。記号も使えない。なんていうものもあります。
例えば記号が使えなくて10桁のパスではこの能力で解読すると10日で可能です。この場合は定期的に見直す対応で強化することになるでしょう。
また12桁でも面倒がって数字だけで組んだりしていたら1秒で解読可能です。これはもう問題外ですね。
もちろん1兆回/秒の処理能力のコンピュータを使ってたかだか個人のプライベートなデータの解読を試みるケースは少ないでしょう。いいとこ200万回/秒くらいの試行ができる能力のコンピュータを使うことになるだろうと思います。もし200万回/秒くらいの処理速度のコンピュータであれば8桁で構成しても11年、12桁なんて「307,718,321(三億七百七十一万八千三百二十一)」年も必要ですから解読不可能と考えて問題無いでしょう。
しかしパスワードはやはり「12桁以上で数字、アルファベット大文字小文字と記号を混在させた意味の無いもの」であるべきだと認識をしました。