web-dev-qa-db-ja.com

FIDO U2Fデバイスを対称暗号化に使用できますか?

私が理解しているように、U2Fは主に認証に使用されます。チャレンジ/レスポンス方式を使用して、ログインに使用されたデバイスが、共有シークレットに基づく登録時に使用されたデバイスと同じかどうかを確認します。したがって、プロセスの結果は、はい/いいえの答えです。

ローカルパスワードマネージャーのように、対称的な方法でデータを暗号化するためにU2Fデバイスを使用する方法はありますか?

7
atok

いいえ、U2Fで指定されたキーは対称暗号化操作を実行できません。これらは、内部秘密鍵を使用した公開鍵、認証証明書、およびチャレンジ/レスポンスプロセスの署名データを提供するためにのみ設計されています。仕様は https://fidoalliance.org/specifications/overview/ で読むことができます

5
Jeff Ferland

いいえ、主にFIDOプライバシーの懸念から、特定のデバイスに固有で、後で暗号化キーとして使用できるU2Fデバイスから一定の値/バイトを取得することはできません。「デバイスを識別すると、ユーザーのプライバシーを侵害する、無関係なオリジンのデバイス。」 (c)FIDO仕様。

一方、これは、U2F署名機能を使用して、後で暗号化キーとして使用できる定数値を取得できない理由です。

  1. U2Fデバイスは、クライアントとデバイスによって作成されたダイジェストに署名します(U2Fは署名カウンターをダイジェストに追加します)。したがって、クライアントが同じデータを2回提供しても、新しい署名はすべて一意になります。
  2. U2Fデバイスが新しいKeyHandle(ECDSAペア)を生成するとき、独自のランダム値を使用します。したがって、2番目のリクエストに同じデータを提供しても、同じKeyHandleは生成されません。

FIDOの哲学により、U2Fキーは主に認証サービスとリモートクライアント間の信頼を確保するために設計されました。他の認証/セキュリティシナリオにU2Fキーを採用する場合は、適用できる数十の攻撃に注意してください。

1
AleSil