目次

Authen Duplicaはどうして安全性が高いのか。

Authen Duplica ではカードに開いた穴の位置が、認証のための秘密情報となります。 本人になりすまそうとする攻撃者はこの穴の位置を知る必要があります。 以下にあげるように、この穴の位置を知ることが非常に困難であるため、 Authen Duplicaは安全性が高くなっています。

毎回応答が異なる。
表示される画像が毎回変わるので、利用者の回答も毎回変わります。従って一回の応答を傍受しても次回の回答はわかりません。
組み合わせの数が多い。
穴のあく場所は1000あり、そのうち10箇所が実際の穴とすると、1000C10の組み合わせがあることになります。この組み合わせの中のひとつを攻撃者は決定しなければなりません。
入力が複数からの選択である。
二箇所の穴から見える色は、複数のこともあります。利用者はその中から任意の色を選択して入力します。攻撃者は利用者の選択を知ることができないので、攻撃に利用できる情報が減少します。
サーバーを認証することが出来る。
サーバーの生成するランダム画像は、完全にランダムなのではなく、利用者のカードの穴に合わせて、二箇所からみえる色があるように生成されます。二箇所の穴から見える色がなければ、利用者は回答することができません。このときは、サーバーが偽物であることがわかります。また、ランダム画像の生成条件として、三箇所の穴から見える色は存在しないようにします。偽のサーバーはカードの穴の位置を知らないので、ある程度の確率で三箇所の穴から見える色ができてしまいます。
偽のサーバーは色数を増やすことによって、三箇所からみえる色ができる確率を下げることができます。しかし、このときは二箇所から見える色がなくなる確率が高くなります。偽のサーバーが色数を減らすと、二箇所から見える色ができる確率が高くなりますが、三箇所から見える色ができる確率も高くなってしまいます。
応答から秘密情報を推測するプログラムの実行に時間がかかる。
攻撃者が、表示される画像と利用者の回答を何度も傍受すると、穴の位置を推測することが理論的に可能になります。 しかし、その場合でも、計算機を用いて穴の位置を推測する ことは非常に困難となります。 なぜなら、この問題はNP完全問題に属することが証明されているからです。 (NP完全問題とは計算機で解を求めるのが最も困難な問題の一群で、 これらには現実的な時間で解ける解法アルゴリズムが存在しないと考えられています)