Open4
nest: WebAuthn/Passkeyは暗号化に使えるのか問題
使えるけど、広くサポートされていないようだ。
物理的なセキュリティトークンは必要なCTAP2拡張である hmac-secret
をサポートしていることが多いので問題なく使える。
ソフトウェアで実現されるPasskeyは、少くとも1Passwordはダメだった。Googleのpasskey同期はサポートしている "らしい" が手元ではまだ確認していない。
実例
systemd-cryptenroll
はPKCS#11などに加えて、 CTAP2 の hmac-secret
サポートしている。
また、WebAuthnの prf
拡張を使ってブラウザ上で暗号化を行うサイトもある。PRFはPseudo Random Functionの略。
何故1PasswordはPRF拡張をPasskey Unlockに使わないのか
*I'm hoping that the PRF extension for webauthn will be widely adopted and make this all a lot simpler!
ォゥまず自分のとこのWeb extensionでサポートしろや !
現状はSSOと同じ方法にしている。個々のデバイスにデバイス固有鍵を作ってデバイスのkey vaultで保護し、そのアンロックができるということをデバイスのtrustとしている。PRF拡張はこの固有鍵をPasskey側に付けることができる。
Prf拡張
手元で https://demo.yubico.com/webauthn-developers を使って試してみた限り、
- Google ChromeのCTAP2クライアントはmacOSでも prf 拡張をサポートしている
- FirefoxやChromeからAppleのCTAP2クライアントを使うと prf 拡張は無視される
という結果になった。これ結構危いんじゃないか。。?