@Anders(thx!)からのコメントのおかげで、パスワードジェネレータが共有サービスなのか、 digipass や SecureID のような個人認証トークンなのかわかりません。
パスワードジェネレータは共有サービスです
この状況では、アリスは、PINを提示して、自分がアリスであることをパスワードジェネレータに証明することによってのみ、署名された応答H(R,K)
を取得できます。アリスがK
を知っていれば、彼女は自分でH(R,K)
を計算できます。これにより、アリスはボブに対して任意のユーザーを装うことができます。コミュニケーションは次のようになります。
I'm Joe User
_R
H(R,K)
アリスが自分で計算したアリスはジョーユーザーのなりすましに成功しました。
パスワードジェネレータは個人認証トークンです
この状況では、トークンは 2FA を実装するために使用されています。 あなたが知っている何か要素はアリスのPINであり、あなたが持っている何か要素は認証トークンです。アリスがトークンに保存されているK
を知っている場合、彼女は自分でH(R,K)
を計算できます。これにより、彼女は1つの要素、つまり彼女が知っていることだけを使用してシステムにログインできるようになります。彼女のPINとK
)には2つのものがありますが、それでもあなたが知っているものだけです。全体としてトークンのポイントは2FAを実装することであり、K
はアリスから秘密にしておく必要があります。