
iOS用のアプリケーションはまだありません。最新のiPhoneモデルにはNFCチップが物理的に存在するという事実にもかかわらず、Appleはそれらの使用のためのパブリックAPIをまだ提供していません。
これは何のためですか?
モバイルTOTPアプリケーションとは異なり、ハードウェアキーでは、NTPを介してセルラーネットワークまたは無線信号を介して時刻を同期する方法はありません。デバイスのハードウェアキーは完全に分離され、スタンドアロンで、ボード上のクロックを正確な時刻のソースとして使用します 1933〜1934年。 ベルリンの帝国物理技術研究所の物理学者ScheibeとAdelsbergerは、時間を測定するために圧電効果を使用する可能性を取り上げました。 ハードウェアキーのシステムクロックの根底にあるのは、この影響です。 このような時計の精度は、品質に応じて、±0.3〜±1.1 s /日の範囲です。 通常の腕時計でこの精度で十分な場合、ハードウェアキーでは、一定の制限を超える時間差があると、アクティブ化や認証が拒否される可能性があります。 この制限は、ハードウェアキーの最初の登録に関して、特定のシステムに依存します(たとえば、Microsoft Azure MFAは両方向に最大600秒のバイアスを許可します)。 さらに、入力するキーの使用中のオフセット同期プロセスは、 RFC 6238ですでに明確に説明されています。
RFC 6238 / 6.再同期
クライアントと検証の間でクロックがドリフトする可能性があるため
サーバーでは、バリデーターに特定の制限を設定することをお勧めします
証明者が前に「同期していない」ことがある時間ステップの数
拒否されます。
この制限は、計算された値から前方と後方の両方に設定できます
OTP値の受信時のタイムステップ。 タイムステップが
推奨される30秒で、バリデーターは受け入れるだけに設定されています
2時間後戻り、最大経過時間ドリフトは
約89秒、つまり、計算されたタイムステップで29秒
2つの後方タイムステップで60秒。
これは、バリデーターが検証を実行できることを意味します
現在の時刻と、各後方ステップの2つのさらなる検証
(合計3つの検証用)。 検証に成功すると、
検証サーバーは、検出されたトークンのクロックドリフトを記録できます。
時間ステップ数の観点から。 新しいOTPが受信されたとき
このステップの後、バリデーターはOTPを現在の
タイムステップクロックドリフトの記録数で調整されたタイムスタンプ
トークン用。
また、証明者が送信していない時間が長いことに注意することが重要です
検証システムへのOTP、より長い(潜在的に)
証明者と検証者間の累積クロックドリフト。 そのような
上記の自動再同期が機能しない場合があります
ドリフトが許容されるしきい値を超える場合。 追加
認証手段は、安全に認証するために使用する必要があります
証明者と明示的にクロックドリフトを再同期します
証明者と検証者。
サーバーでは、バリデーターに特定の制限を設定することをお勧めします
証明者が前に「同期していない」ことがある時間ステップの数
拒否されます。
この制限は、計算された値から前方と後方の両方に設定できます
OTP値の受信時のタイムステップ。 タイムステップが
推奨される30秒で、バリデーターは受け入れるだけに設定されています
2時間後戻り、最大経過時間ドリフトは
約89秒、つまり、計算されたタイムステップで29秒
2つの後方タイムステップで60秒。
これは、バリデーターが検証を実行できることを意味します
現在の時刻と、各後方ステップの2つのさらなる検証
(合計3つの検証用)。 検証に成功すると、
検証サーバーは、検出されたトークンのクロックドリフトを記録できます。
時間ステップ数の観点から。 新しいOTPが受信されたとき
このステップの後、バリデーターはOTPを現在の
タイムステップクロックドリフトの記録数で調整されたタイムスタンプ
トークン用。
また、証明者が送信していない時間が長いことに注意することが重要です
検証システムへのOTP、より長い(潜在的に)
証明者と検証者間の累積クロックドリフト。 そのような
上記の自動再同期が機能しない場合があります
ドリフトが許容されるしきい値を超える場合。 追加
認証手段は、安全に認証するために使用する必要があります
証明者と明示的にクロックドリフトを再同期します
証明者と検証者。
つまり、認証サーバーがRFCのすべての要件に準拠しており、キーが認証にあまり使用されない場合、たとえば、少なくとも年に数回(正確な数は、発振器の精度とサーバーで許可される時間オフセットを考慮して計算できます)、時間オフセットが考慮されますサーバー側で問題が発生することはありません。 このような状況でキーを使用する場合、原則として時刻同期機能は不要です。
ただし、時刻同期機能は次の場合に便利です。
- TOTPのサーバー実装がRFC6238勧告#6に従っていない場合。 そのような実装の1つの例はDUOです。
TOTPトークンのドリフトと再同期はサポートされていません。 その結果、インポートされたTOTPトークンはDuo Securityを使用した認証で機能しなかったり、可変期間後に認証で機能しなかったりする場合があります...
- ハードウェアキーのバッチを長期間購入したが、しばらくしてからアクティブ化する必要があった場合-多くのシステムには単に同期メカニズムがありません。
- ドングルが同期に必要な頻度よりも少ない頻度でログインに使用される場合。 たとえば、ユーザーが同じTOTPプロファイル(より正確には共有シークレット)を2つのデバイスに「コピー」したい場合:a)毎日使用する携帯電話のモバイルアプリケーションとb)雨の日のバックアップとしてプログラム可能なハードウェアキー。 したがって、この雨の日が3〜4年で来ると、時間差のためにハードウェアトークンを正確に使用できなくなります。 さらに、トークンのバッテリーは、長時間オンにならなかったため、容量をほとんど失うことはありません。 したがって、この場合、時計を「作動」させて稼働状態に戻すのは非常に簡単です。
安全性分析
いつものように、この種の革新は常に快適さと利便性のバランスとセキュリティのレベルに基づいています。 ネットワーク攻撃(フィッシング、中間者など)からの時間を同期する機能を備えたプログラム可能なキーも例外ではありません。ほとんどの場合、クライアントはTOTPトークンを使用してこのような攻撃から正確に保護しますが、完全に保護しますが、この可能性は、攻撃者が次の条件で実行できるリプレイ攻撃(リプレイ攻撃)による、攻撃の無視できる純粋に理論的な確率を意味します。
このリスクは、おわかりのように、デバイスへの物理的なアクセスの条件でのみ発生します。たとえば、近くに座っている同僚が何らかの理由でパスワードを知っている場合、攻撃が実行されます。 ただし、このような状況では、従来のTOTPトークンを使用しても同じリスクが生じます。 ところで、時間同期機能でトークンを危険にさらすリスクは、fido u2fデバイスのリスクに匹敵します-攻撃者がパスワードを持っている間に一時的かつ無意識のうちにu2fキーへのアクセスを取得した場合、彼はこのキーでシステムにログインして別の(彼の)キーを追加し、その後、静かに元のキーを所有者に返します-仕様によれば、1つのアカウントに複数のu2fキーを設定でき、どのアカウントでもパラレルログインに使用できます。 パーフェクトペーパーパスワードなどの要素も同じリスクにさらされます。
ご覧のとおり、攻撃は非常に複雑であり、ほとんどありません。一般に、このようなトークンを使用するリスクレベルは、PINコードなしで、ネットワークにアクセスせず、ユーザーが常に携帯するGoogle Authenticatorなどのアプリケーションの使用と比較できます。
それでもこのリスクが非常に大きいと考えているお客様の場合、このテーマに関する推奨事項は次のとおりです。
- 最初の要素(パスワード)を取得します。
- 所有者の知らない間にハードウェアキーに十分な時間物理的にアクセスできるようにします(手順3を参照)。
- アプリケーションを使用して、NFCを介して、キーの時刻を特定の日付に変換し、十分な数の生成されたコードを記録します。 コードを生成するには物理ボタンをクリックする必要があり、現在のコードは画面でしか見ることができないため(NFCを介して送信されないため)、スクリプトではうまくいきません。
- 時間を返します( 所有者が何も推測しないように )。
- 最後に、パスワード(ステップ1)とステップ3で受信したコードの1つを使用してログインします。
このリスクは、おわかりのように、デバイスへの物理的なアクセスの条件でのみ発生します。たとえば、近くに座っている同僚が何らかの理由でパスワードを知っている場合、攻撃が実行されます。 ただし、このような状況では、従来のTOTPトークンを使用しても同じリスクが生じます。 ところで、時間同期機能でトークンを危険にさらすリスクは、fido u2fデバイスのリスクに匹敵します-攻撃者がパスワードを持っている間に一時的かつ無意識のうちにu2fキーへのアクセスを取得した場合、彼はこのキーでシステムにログインして別の(彼の)キーを追加し、その後、静かに元のキーを所有者に返します-仕様によれば、1つのアカウントに複数のu2fキーを設定でき、どのアカウントでもパラレルログインに使用できます。 パーフェクトペーパーパスワードなどの要素も同じリスクにさらされます。
ご覧のとおり、攻撃は非常に複雑であり、ほとんどありません。一般に、このようなトークンを使用するリスクレベルは、PINコードなしで、ネットワークにアクセスせず、ユーザーが常に携帯するGoogle Authenticatorなどのアプリケーションの使用と比較できます。
それでもこのリスクが非常に大きいと考えているお客様の場合、このテーマに関する推奨事項は次のとおりです。
- このタイプのキーへの物理的アクセスの制限は、銀行カードとほぼ同じです(ちなみに、キーは銀行カードの形式です)。
- 時刻同期機能なしでプログラム可能なキーを使用する( miniOTP-1 )
- 秘密鍵の削除と組み合わせて、時刻同期機能を備えたプログラマブルキーを使用します。 つまり、トークン時間が変更されると、シードがリセットされ、シードを再入力する必要があります(miniOTP-3、モデルのリリース日が追加で発表されます)
どこで購入しますか?
事前注文は当社のウェブサイトで公開されています。 HABR2019プロモーションコードを使用して、10%の割引を適用します(クーポンの数に制限があります)。 普通郵便(SwissPostまたはLa Poste France)による配達。 CIS諸国への配送では、まだ問題はありません。