Thinktecture ID サーバー 3 を Microsoft ASP.NET Identity 2.1 と統合する際に、クライアントの 2FA (Tow Factor Authentication) を構成して有効にすることができました。問題は、MS のデフォルトの実装が TOTP を使用し、その有効時間がデフォルトで 180 秒であることです。他のいくつかのアプリケーションでは許容されるかもしれませんが、これらの TOTP コードが有効な最大時間は 30 秒以内です。このプロパティを ASP.NET Identity 用に構成する方法が見つかりませんでした。デフォルト値を180秒から30秒に変更するのを手伝ってくれる人はいますか?
1 に答える
0
悲しいことに、Asp.Net ID のRFC6238 実装は内部的なものであり、タイムスパムがハードコーディングされています。(L.15)。しかし、RFC6238 とTotpSecurityStampBasedTokenProviderのソースコードがあれば、カスタム TOTP を 30 秒で簡単に実装できるはずです。窓。
とにかく、RFC6238 セクション 6には、外部アプリまたはサーバー (Google Authenticator など) の場合にトークン ジェネレーターの「非同期」が発生する可能性があるため、後方および/または前方トークンの検証に関する推奨事項があります。
これは、バリデーターが
現在の時刻に対して検証を実行し、その後、各後方ステップに対してさらに 2 つの検証を実行できることを意味します
(合計 3 つの検証)。検証が成功すると、
検証サーバーは、検出されたトークンのクロック ドリフトを
タイム ステップ数で記録できます。このステップの後に新しい OTP が受信されると、バリデーターは 、記録されたトークンの時間ステップ クロック ドリフト数で調整され
た現在のタイムスタンプで OTP を検証できます。
だから30秒。ウィンドウは約 90 秒の検証に変わります。
于 2016-03-11T10:20:41.590 に答える