追記:2011-05-06T20:13:28+09:00
ついさっきだけど、計算式が間違ってる事に気が付きました><;
正しい計算式は、
11 ^ ( 10 + 26 )
じゃなくて、
( 10 + 26 ) ^ 11
だった><
で、この計算をすると、僕がLastPassの不正アクセス事件の前に使ってたパスワードの通りは、
( 10 + 26 ) ^ 11 = 1.31621704 * 10 ^ 17通り
で、命数法 - Wikipediaによれば、
10 ^ 17は十京通りらしいので、もし最初に書いたランクFのマシンでパスワード解析すると、
36 ^ 11 / 10 ^ 9 / ( 60 * 60 * 24 ) / 365 = 4.17369685 年
ぐらいで解析できちゃうっぽいです><
が、ランクFのマシンなんて研究機関ぐらいしか持っていないだろうと思われるので、
に書いてあるランクEかDだと、その十倍から百倍の時間がかかるっぽいです。まあ40年〜400年ぐらいですかね。
まあ正直計算しなおしたら不安になってきたので、
とりあえずお金が絡むところ辺のパスワードは、変更しておきたいと思います。
ということで、下記はおもいっくそ間違ってます><
僕はだいぶ前からLastpassを使ってたんだけど、
このたびなんかデータベースに不正アクセスされたかも
という事件が起きた。
で、色々情報収集していたときに、Lastpassの中の人が、
辞書ベースの弱いパスワード使ってた人は、
登録していたパスワードの内、致命的影響がある奴は変えておくべき
みたいな事を言ってて、こりゃ俺も全部のパスワード変更か?と思ったりしたんだけど、
そもそも俺のパスワードの強度はどれくらい?と思ったので、ちょっと計算してみた。
まず、俺はSonyの個人情報流出事件の時に、LastPassのパスワードを、
11桁の数字 + 小文字アルファベットで、辞書的部分を多少含むモノに変更していたんだけど、
これの組み合わせ数が、
11 ^ ( 10 + 26 ) = 3.09126805 * 10 ^ 37
というなんか途方もない組み合わせ数っぽい。
それで、パスワード 強度で検索して出てきた
というサイトで、パスワードを解析された場合の強度と、パスワード解析の速度について紹介されていたんだけど、
上記サイトにある、パスワード解析速度のランクがFのやつで、
F 10億パターン/秒 スーパーコンピューターで突破する場合
というのを基準に、パスワードの総当りでいったいどれくらい時間が掛かるのか算出してみる。
まず、このランクFのパスワード解析速度は、
10 ^ 9 / sec
というスピード。で、この数字でさっきの組み合わせ数を割ると、
( 3.09126805 * 10 ^ 37 ) / ( 10 ^ 9 ) = 3.09126805 * 10 ^ 28秒
という、ちょっとわけわからん数字が出てくる。で、これを日数で割ると、
( 3.09126805 *10 ^ 28 ) / ( 60 * 60 * 24 ) = 3.57785654 * 10 ^ 23日
という数字になる。それでさらにこれを年365日換算で割ると、
( 3.57785654 * 10 ^ 23 ) / 365 = 9.80234669 * 10 ^ 20
となる。
この9.80234669 * 10 ^ 20はどれくらいかを桁の単位で見てみると、
命数法 - Wikipediaに拠れば、
10 ^ 20は1垓(がい)という単位らしい。で、これは、1兆の1億倍という。
まあ、あれだ、1兆の1億倍の×9倍ぐらいの年数がかかるっぽい。
……ってことは、今の所、人間の技術じゃ解析できないってことでよろしいんだろうか?
まあこうやって計算してみると、とりあえず大丈夫そうな気がするけど、
やっぱりパスワードをWeb Serviceに預けて管理するってのはリスクがあるなあと思う次第。
Lastpassの場合、SHA-256で暗号化されてるらしいけど、それでもリスクはないわけじゃないなーと。
まあそれでも便利なんで、リスクと利便さ、どっちを取るかって問題っぽいですが。
まあとりあえず、僕の場合は、パスワードの強度を計算してとりあえず天文学的数字が出てきたので、
多分大丈夫だとは思いますが、ちょっと不安があるかなーって感じです。
まあ、とりあえず続報待ちです > Lastpassの不正アクセス事件