- ベストアンサー
ワンタイムパスワードの予測について
ジャパンネット銀行などから提供されるトークンで、 1分ごとに変化する6桁のワンタイムパスワードを 予測しようと考えたとき、 ニューラルネットワークを使って、 時刻を入力変数として、 教師信号をトークンから表示されたパスワードとして 1分ごとに学習させていけば、 いずれ高い精度で予測できるのでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
予測できるようなら、ワンタイムパスワードの発生に使っている乱数が悪いことになります。ニュラルネットぐらいで予測できるようではよい乱数とはいえません。Cのライブラリのrand()ぐらいなら予測できるかもしれませんが、乱数の発生アルゴリズムは用途に応じていろんなレベルがあり、銀行で使うようなものなら、かなりのレベルの乱数アルゴリズムを使うとおもいます。真の乱数を発生するには、放射性元素の崩壊のような、科学的にも予想不可能な現象を利用しなくてはなりませんが、実際には人間にとって予測不可能ならいいのです。コンピュータの乱数は実際には決められた計算でつくられますから真の乱数ではありませんが、優れた乱数なら規則性を見つけることは事実上不可能です。
その他の回答 (2)
- seven-ster_2006
- ベストアンサー率28% (29/102)
残念ながら予測できません。 仕様です。
お礼
やはり予測できないように、 何層も考慮して設計されているようですね。 仕様では仕方がないですね。
- okg00
- ベストアンサー率39% (1322/3338)
>時刻を入力変数として これは確定条件なのでしょうか?時刻以外を種とした乱数はいくらでも発生できますので。 で、ワンタイムパスワードは文字通り使い捨てのパスワードなので予測した所で無意味だと思いますが。
お礼
回答ありがとうございます。 時刻+トークンのシリアル番号の組み合わせで、 パスワードを生成して、サーバ側も同様に パスワードを同期していると思うのです。 (登録時にシリアル登録と時刻合わせをしましたので) 確かに使い捨てのパスワードを予測しても無意味ですが、 時刻を与えればパスワードが分かるとなると、 使い捨てではなくなってしまう気がしてます。
お礼
回答ありがとうございます。 メーカのHPを確認したところ言われるように堅固な作りに なっているようです。 ワンタイムという期限がある分、 パスワードの生成自体はシンプルな規則だと思っていましたが、 そう単純じゃないんですね。