Web アプリケーション用の 2 要素認証プロセスを構築しました。毎分 8 桁のセキュリティ コードを生成する小さなスタンドアロン アプリを作成しました。ユーザーがログインすると、セキュリティ コードの入力を求められます。Web アプリを送信すると、その側でセキュリティ コードが生成され、入力されたセキュリティ コードと比較されます。2 つが等しい場合、ユーザーはアプリケーションへのアクセスを許可されます。これは RSA トークンのように使用されます。
ただし、原子時計サーバーを使用して、タイム ゾーンと時計の同期が問題を引き起こすため、USB アプリと Web アプリの両方でセキュリティ コードの生成が同じであることを確認しています。サーバーが信頼できない場合があるだけでなく、特定の原子時計に到達できるようにファイアウォール ルールを追加する必要があるため、これは苦痛です。リモート原子時計を使用せずにこれを行う安全な方法はありますか?