From 24b6ad8e41e336b4b6554b6e8e171c929952bf73 Mon Sep 17 00:00:00 2001 From: William Brown Date: Fri, 26 Apr 2024 12:03:53 +1000 Subject: [PATCH 1/5] Add support for Webauthn L3 options --- .../webauthn-rs-demo-shared/Cargo.toml | 1 + .../webauthn-rs-demo-shared/src/lib.rs | 4 +- .../pkg/webauthn_rs_demo_wasm.d.ts | 6 +- .../pkg/webauthn_rs_demo_wasm.js | 18 ++--- .../pkg/webauthn_rs_demo_wasm_bg.wasm | Bin 992555 -> 1003449 bytes .../pkg/webauthn_rs_demo_wasm_bg.wasm.d.ts | 6 +- compat_tester/webauthn-rs-demo/src/actors.rs | 4 +- sshkey-attest/src/lib.rs | 9 ++- sshkey-attest/src/proto.rs | 3 +- .../examples/authenticate.rs | 1 + .../src/authenticator_hashed.rs | 3 + webauthn-rs-core/src/attestation.rs | 48 +------------ webauthn-rs-core/src/core.rs | 44 +++++++++--- webauthn-rs-core/src/interface.rs | 2 +- webauthn-rs-core/src/internals.rs | 5 +- webauthn-rs-proto/src/attest.rs | 16 +++-- webauthn-rs-proto/src/auth.rs | 5 ++ webauthn-rs-proto/src/options.rs | 65 ++++++++++++++++++ webauthn-rs/src/lib.rs | 48 ++++++++++++- 19 files changed, 200 insertions(+), 88 deletions(-) diff --git a/compat_tester/webauthn-rs-demo-shared/Cargo.toml b/compat_tester/webauthn-rs-demo-shared/Cargo.toml index 8cefbbcf..831e845e 100644 --- a/compat_tester/webauthn-rs-demo-shared/Cargo.toml +++ b/compat_tester/webauthn-rs-demo-shared/Cargo.toml @@ -8,6 +8,7 @@ rust-version = "1.70.0" core = ["webauthn-rs-core"] [dependencies] +base64urlsafedata.workspace = true serde.workspace = true webauthn-rs-core = { workspace = true, optional = true } diff --git a/compat_tester/webauthn-rs-demo-shared/src/lib.rs b/compat_tester/webauthn-rs-demo-shared/src/lib.rs index 2949d4a6..2a5b307d 100644 --- a/compat_tester/webauthn-rs-demo-shared/src/lib.rs +++ b/compat_tester/webauthn-rs-demo-shared/src/lib.rs @@ -1,11 +1,11 @@ #![deny(warnings)] #![warn(unused_extern_crates)] +use base64urlsafedata::HumanBinaryData; use serde::{Deserialize, Serialize}; #[cfg(feature = "core")] use webauthn_rs_core::error::WebauthnError; -pub use webauthn_rs_core::proto::CredentialID; pub use webauthn_rs_proto::{ AttestationConveyancePreference, AuthenticationExtensions, AuthenticatorAttachment, COSEAlgorithm, CreationChallengeResponse, CredProtect, CredentialProtectionPolicy, ExtnState, @@ -14,6 +14,8 @@ pub use webauthn_rs_proto::{ UserVerificationPolicy, }; +pub type CredentialID = HumanBinaryData; + #[derive(Serialize, Deserialize, Debug, Clone, Copy)] pub enum AttestationLevel { None, diff --git a/compat_tester/webauthn-rs-demo/pkg/webauthn_rs_demo_wasm.d.ts b/compat_tester/webauthn-rs-demo/pkg/webauthn_rs_demo_wasm.d.ts index 00c9d87d..ac219efa 100644 --- a/compat_tester/webauthn-rs-demo/pkg/webauthn_rs_demo_wasm.d.ts +++ b/compat_tester/webauthn-rs-demo/pkg/webauthn_rs_demo_wasm.d.ts @@ -12,9 +12,9 @@ export interface InitOutput { readonly __wbindgen_malloc: (a: number, b: number) => number; readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number; readonly __wbindgen_export_2: WebAssembly.Table; - readonly wasm_bindgen__convert__closures__invoke1_mut_ref__h015a6d4beac911b9: (a: number, b: number, c: number) => void; - readonly wasm_bindgen__convert__closures__invoke1__h9385f9b96e74d99b: (a: number, b: number, c: number) => void; - readonly _dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hcb3dcc208685cd98: (a: number, b: number, c: number) => void; + readonly wasm_bindgen__convert__closures__invoke1_mut_ref__h0f42758389f9ef59: (a: number, b: number, c: number) => void; + readonly wasm_bindgen__convert__closures__invoke1__h3626c9e41e52d750: (a: number, b: number, c: number) => void; + readonly _dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h458d161319ed8eb6: (a: number, b: number, c: number) => void; readonly __wbindgen_add_to_stack_pointer: (a: number) => number; readonly __wbindgen_exn_store: (a: number) => void; readonly __wbindgen_free: (a: number, b: number, c: number) => void; diff --git a/compat_tester/webauthn-rs-demo/pkg/webauthn_rs_demo_wasm.js b/compat_tester/webauthn-rs-demo/pkg/webauthn_rs_demo_wasm.js index ac22140b..2fa04732 100644 --- a/compat_tester/webauthn-rs-demo/pkg/webauthn_rs_demo_wasm.js +++ b/compat_tester/webauthn-rs-demo/pkg/webauthn_rs_demo_wasm.js @@ -232,7 +232,7 @@ function addBorrowedObject(obj) { } function __wbg_adapter_48(arg0, arg1, arg2) { try { - wasm.wasm_bindgen__convert__closures__invoke1_mut_ref__h015a6d4beac911b9(arg0, arg1, addBorrowedObject(arg2)); + wasm.wasm_bindgen__convert__closures__invoke1_mut_ref__h0f42758389f9ef59(arg0, arg1, addBorrowedObject(arg2)); } finally { heap[stack_pointer++] = undefined; } @@ -260,11 +260,11 @@ function makeClosure(arg0, arg1, dtor, f) { return real; } function __wbg_adapter_51(arg0, arg1, arg2) { - wasm.wasm_bindgen__convert__closures__invoke1__h9385f9b96e74d99b(arg0, arg1, addHeapObject(arg2)); + wasm.wasm_bindgen__convert__closures__invoke1__h3626c9e41e52d750(arg0, arg1, addHeapObject(arg2)); } function __wbg_adapter_54(arg0, arg1, arg2) { - wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hcb3dcc208685cd98(arg0, arg1, addHeapObject(arg2)); + wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h458d161319ed8eb6(arg0, arg1, addHeapObject(arg2)); } /** @@ -944,16 +944,16 @@ function __wbg_get_imports() { const ret = wasm.memory; return addHeapObject(ret); }; - imports.wbg.__wbindgen_closure_wrapper1109 = function(arg0, arg1, arg2) { - const ret = makeMutClosure(arg0, arg1, 529, __wbg_adapter_48); + imports.wbg.__wbindgen_closure_wrapper1147 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 541, __wbg_adapter_48); return addHeapObject(ret); }; - imports.wbg.__wbindgen_closure_wrapper1612 = function(arg0, arg1, arg2) { - const ret = makeClosure(arg0, arg1, 644, __wbg_adapter_51); + imports.wbg.__wbindgen_closure_wrapper1653 = function(arg0, arg1, arg2) { + const ret = makeClosure(arg0, arg1, 654, __wbg_adapter_51); return addHeapObject(ret); }; - imports.wbg.__wbindgen_closure_wrapper1703 = function(arg0, arg1, arg2) { - const ret = makeMutClosure(arg0, arg1, 659, __wbg_adapter_54); + imports.wbg.__wbindgen_closure_wrapper1743 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 669, __wbg_adapter_54); return addHeapObject(ret); }; diff --git a/compat_tester/webauthn-rs-demo/pkg/webauthn_rs_demo_wasm_bg.wasm b/compat_tester/webauthn-rs-demo/pkg/webauthn_rs_demo_wasm_bg.wasm index b713c91a3e2567e21635398417e4c750cbf533f1..0b490add39e741cf89253fa606c7a8d8393293bf 100644 GIT binary patch delta 284041 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

!mp6WsIw-&qyPYHb7S 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 WlTv$Jlep#$o8W&N{$sTD+5ZRCt{SHR delta 275973 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

yzYK!XLH0onBD3jq+*W@+3oF8bXroK7WM)JsUl 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 diff --git a/compat_tester/webauthn-rs-demo/pkg/webauthn_rs_demo_wasm_bg.wasm.d.ts b/compat_tester/webauthn-rs-demo/pkg/webauthn_rs_demo_wasm_bg.wasm.d.ts index 9d381aa5..06d0d10b 100644 --- a/compat_tester/webauthn-rs-demo/pkg/webauthn_rs_demo_wasm_bg.wasm.d.ts +++ b/compat_tester/webauthn-rs-demo/pkg/webauthn_rs_demo_wasm_bg.wasm.d.ts @@ -5,9 +5,9 @@ export function run_app(a: number): void; export function __wbindgen_malloc(a: number, b: number): number; export function __wbindgen_realloc(a: number, b: number, c: number, d: number): number; export const __wbindgen_export_2: WebAssembly.Table; -export function wasm_bindgen__convert__closures__invoke1_mut_ref__h015a6d4beac911b9(a: number, b: number, c: number): void; -export function wasm_bindgen__convert__closures__invoke1__h9385f9b96e74d99b(a: number, b: number, c: number): void; -export function _dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hcb3dcc208685cd98(a: number, b: number, c: number): void; +export function wasm_bindgen__convert__closures__invoke1_mut_ref__h0f42758389f9ef59(a: number, b: number, c: number): void; +export function wasm_bindgen__convert__closures__invoke1__h3626c9e41e52d750(a: number, b: number, c: number): void; +export function _dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h458d161319ed8eb6(a: number, b: number, c: number): void; export function __wbindgen_add_to_stack_pointer(a: number): number; export function __wbindgen_exn_store(a: number): void; export function __wbindgen_free(a: number, b: number, c: number): void; diff --git a/compat_tester/webauthn-rs-demo/src/actors.rs b/compat_tester/webauthn-rs-demo/src/actors.rs index 46a1e2d7..12513d6b 100644 --- a/compat_tester/webauthn-rs-demo/src/actors.rs +++ b/compat_tester/webauthn-rs-demo/src/actors.rs @@ -367,11 +367,11 @@ impl WebauthnActor { .ok_or(WebauthnError::CredentialNotFound)?; self.wan - .generate_challenge_authenticate(vec![cred], uv, extensions, None) + .generate_challenge_authenticate(vec![cred], uv, extensions, None, None) } None => self .wan - .generate_challenge_authenticate(creds, None, extensions, None), + .generate_challenge_authenticate(creds, None, extensions, None, None), }?; debug!("complete ChallengeAuthenticate -> {:?}", acr); diff --git a/sshkey-attest/src/lib.rs b/sshkey-attest/src/lib.rs index a4a27d3e..9ad21d90 100644 --- a/sshkey-attest/src/lib.rs +++ b/sshkey-attest/src/lib.rs @@ -25,15 +25,14 @@ use uuid::Uuid; pub use webauthn_rs_core::error::WebauthnError; use webauthn_rs_core::{ attestation::{ - assert_packed_attest_req, validate_extension, verify_attestation_ca_chain, - AttestationFormat, FidoGenCeAaguid, + assert_packed_attest_req, validate_extension, verify_attestation_ca_chain, FidoGenCeAaguid, }, crypto::{compute_sha256, verify_signature}, internals::AuthenticatorData, proto::{ - AttestationCaList, AttestationMetadata, COSEAlgorithm, COSEKey, COSEKeyType, - CredentialProtectionPolicy, ExtnState, ParsedAttestation, ParsedAttestationData, - RegisteredExtensions, Registration, + AttestationCaList, AttestationFormat, AttestationMetadata, COSEAlgorithm, COSEKey, + COSEKeyType, CredentialProtectionPolicy, ExtnState, ParsedAttestation, + ParsedAttestationData, RegisteredExtensions, Registration, }, }; diff --git a/sshkey-attest/src/proto.rs b/sshkey-attest/src/proto.rs index cf81c0a0..3927a8ab 100644 --- a/sshkey-attest/src/proto.rs +++ b/sshkey-attest/src/proto.rs @@ -1,8 +1,7 @@ //! Serialisable formats of attested ssh keys use serde::{Deserialize, Serialize}; -use webauthn_rs_core::attestation::AttestationFormat; -use webauthn_rs_core::proto::{ParsedAttestation, RegisteredExtensions}; +use webauthn_rs_core::proto::{AttestationFormat, ParsedAttestation, RegisteredExtensions}; pub use sshkeys::PublicKey; diff --git a/webauthn-authenticator-rs/examples/authenticate.rs b/webauthn-authenticator-rs/examples/authenticate.rs index efa9c89f..b3ce9e99 100644 --- a/webauthn-authenticator-rs/examples/authenticate.rs +++ b/webauthn-authenticator-rs/examples/authenticate.rs @@ -289,6 +289,7 @@ async fn main() { hmac_get_secret: None, }), None, + None, ) .unwrap(); diff --git a/webauthn-authenticator-rs/src/authenticator_hashed.rs b/webauthn-authenticator-rs/src/authenticator_hashed.rs index 600d595e..30fa05a3 100644 --- a/webauthn-authenticator-rs/src/authenticator_hashed.rs +++ b/webauthn-authenticator-rs/src/authenticator_hashed.rs @@ -151,7 +151,9 @@ pub fn perform_register_with_request( timeout: Some(timeout_ms), exclude_credentials: Some(request.exclude_list), // TODO + hints: None, attestation: None, + attestation_formats: None, authenticator_selection: None, extensions: None, }; @@ -192,6 +194,7 @@ pub fn perform_auth_with_request( rp_id: request.rp_id, allow_credentials: request.allow_list, // TODO + hints: None, user_verification: webauthn_rs_proto::UserVerificationPolicy::Preferred, extensions: None, }; diff --git a/webauthn-rs-core/src/attestation.rs b/webauthn-rs-core/src/attestation.rs index 66254737..35445700 100644 --- a/webauthn-rs-core/src/attestation.rs +++ b/webauthn-rs-core/src/attestation.rs @@ -341,52 +341,6 @@ where }) } -/// The type of attestation on the credential -#[derive(Debug, Clone, PartialEq, Eq, serde::Serialize, serde::Deserialize, Hash)] -pub enum AttestationFormat { - /// Packed attestation - Packed, - /// TPM attestation (like Micrsoft) - Tpm, - /// Android hardware attestation - AndroidKey, - /// Older Android Safety Net - AndroidSafetyNet, - /// Old U2F attestation type - FIDOU2F, - /// Apple touchID/faceID - AppleAnonymous, - /// No attestation - None, -} - -impl AttestationFormat { - /// Only a small number of devices correctly report their transports. These are - /// limited to attested devices, and exclusively packed (fido2) and tpms. Most - /// other devices/browsers will get this wrong, meaning that authentication will - /// fail or not offer the correct transports to the user. - pub(crate) fn transports_valid(&self) -> bool { - matches!(self, AttestationFormat::Packed | AttestationFormat::Tpm) - } -} - -impl TryFrom<&str> for AttestationFormat { - type Error = WebauthnError; - - fn try_from(a: &str) -> Result { - match a { - "packed" => Ok(AttestationFormat::Packed), - "tpm" => Ok(AttestationFormat::Tpm), - "android-key" => Ok(AttestationFormat::AndroidKey), - "android-safetynet" => Ok(AttestationFormat::AndroidSafetyNet), - "fido-u2f" => Ok(AttestationFormat::FIDOU2F), - "apple" => Ok(AttestationFormat::AppleAnonymous), - "none" => Ok(AttestationFormat::None), - _ => Err(WebauthnError::AttestationNotSupported), - } - } -} - // Perform the Verification procedure for 8.2. Packed Attestation Statement Format // https://w3c.github.io/webauthn/#sctn-packed-attestation pub(crate) fn verify_packed_attestation( @@ -1432,9 +1386,11 @@ pub fn verify_attestation_ca_chain<'a>( ParsedAttestationData::AnonCa(chain) => chain, ParsedAttestationData::Self_ | ParsedAttestationData::None => { // nothing to check + debug!("No attestation present"); return Ok(None); } ParsedAttestationData::ECDAA | ParsedAttestationData::Uncertain => { + debug!("attestation is an unsupported format"); return Err(WebauthnError::AttestationNotVerifiable); } }; diff --git a/webauthn-rs-core/src/core.rs b/webauthn-rs-core/src/core.rs index db7fa518..028c2585 100644 --- a/webauthn-rs-core/src/core.rs +++ b/webauthn-rs-core/src/core.rs @@ -22,7 +22,7 @@ use url::Url; use crate::attestation::{ verify_android_key_attestation, verify_android_safetynet_attestation, verify_apple_anonymous_attestation, verify_attestation_ca_chain, verify_fidou2f_attestation, - verify_packed_attestation, verify_tpm_attestation, AttestationFormat, + verify_packed_attestation, verify_tpm_attestation, }; use crate::constants::CHALLENGE_SIZE_BYTES; use crate::crypto::compute_sha256; @@ -74,7 +74,9 @@ pub struct ChallengeRegisterBuilder { credential_algorithms: Vec, require_resident_key: bool, authenticator_attachment: Option, + attestation_formats: Option>, reject_synchronised_authenticators: bool, + hints: Option>, } impl ChallengeRegisterBuilder { @@ -128,6 +130,21 @@ impl ChallengeRegisterBuilder { self.reject_synchronised_authenticators = value; self } + + /// Add the set of hints for which public keys may satisfy this request. + pub fn hints(mut self, hints: Option>) -> Self { + self.hints = hints; + self + } + + /// Add the set of attestation formats that will be accepted in this operation + pub fn attestation_formats( + mut self, + attestation_formats: Option>, + ) -> Self { + self.attestation_formats = attestation_formats; + self + } } impl WebauthnCore { @@ -205,6 +222,8 @@ impl WebauthnCore { require_resident_key: Default::default(), authenticator_attachment: Default::default(), reject_synchronised_authenticators: Default::default(), + hints: Default::default(), + attestation_formats: Default::default(), }) } @@ -236,7 +255,9 @@ impl WebauthnCore { credential_algorithms, require_resident_key, authenticator_attachment, + attestation_formats, reject_synchronised_authenticators, + hints, } = challenge_builder; let challenge = self.generate_challenge(); @@ -270,6 +291,7 @@ impl WebauthnCore { }) .collect(), timeout: Some(timeout_millis), + hints, attestation: Some(attestation), exclude_credentials: exclude_credentials.as_ref().map(|creds| { creds @@ -289,6 +311,7 @@ impl WebauthnCore { user_verification: policy, }), extensions: extensions.clone(), + attestation_formats, }, }; @@ -529,7 +552,8 @@ impl WebauthnCore { // https://w3c.github.io/webauthn-3/#none-attestation // https://www.w3.org/TR/webauthn-3/#sctn-apple-anonymous-attestation // - let attest_format = AttestationFormat::try_from(data.attestation_object.fmt.as_str())?; + let attest_format = AttestationFormat::try_from(data.attestation_object.fmt.as_str()) + .map_err(|()| WebauthnError::AttestationNotSupported)?; // Verify that attStmt is a correct attestation statement, conveying a valid attestation // signature, by using the attestation statement format fmt’s verification procedure given @@ -570,7 +594,7 @@ impl WebauthnCore { &data.attestation_object, &client_data_json_hash, )?, - AttestationFormat::AndroidSafetyNet => verify_android_safetynet_attestation( + AttestationFormat::AndroidSafetynet => verify_android_safetynet_attestation( acd, &data.attestation_object, &client_data_json_hash, @@ -626,7 +650,10 @@ impl WebauthnCore { // but in this case because we have the ca_list and none was the result (which happens) // in some cases, we need to map that through. But we need verify_attesation_ca_chain // to still return these option types due to re-attestation in the future. - let ca_crt = ca_crt.ok_or(WebauthnError::AttestationNotVerifiable)?; + let ca_crt = ca_crt.ok_or_else(|| { + warn!("device attested with a certificate not present in attestation ca chain"); + WebauthnError::AttestationNotVerifiable + })?; Some(ca_crt) } else { None @@ -892,6 +919,7 @@ impl WebauthnCore { policy: Option, extensions: Option, allow_backup_eligible_upgrade: Option, + hints: Option>, ) -> Result<(RequestChallengeResponse, AuthenticationState), WebauthnError> { let policy = if let Some(policy) = policy { policy @@ -941,6 +969,7 @@ impl WebauthnCore { allow_credentials: ac, user_verification: policy, extensions, + hints, }, mediation: None, }; @@ -1171,7 +1200,6 @@ impl WebauthnCore { mod tests { #![allow(clippy::panic)] - use crate::attestation::AttestationFormat; use crate::constants::CHALLENGE_SIZE_BYTES; use crate::core::{CreationChallengeResponse, RegistrationState, WebauthnError}; use crate::internals::*; @@ -2813,7 +2841,7 @@ mod tests { // Ensure we get a bad result. assert!( - wan.generate_challenge_authenticate(creds.clone(), None, None, None) + wan.generate_challenge_authenticate(creds.clone(), None, None, None, None) .unwrap_err() == WebauthnError::InconsistentUserVerificationPolicy ); @@ -2838,7 +2866,7 @@ mod tests { .unwrap(); } - let r = wan.generate_challenge_authenticate(creds.clone(), None, None, None); + let r = wan.generate_challenge_authenticate(creds.clone(), None, None, None, None); debug!("{:?}", r); assert!(r.is_ok()); @@ -2862,7 +2890,7 @@ mod tests { .unwrap(); } - let r = wan.generate_challenge_authenticate(creds.clone(), None, None, None); + let r = wan.generate_challenge_authenticate(creds.clone(), None, None, None, None); debug!("{:?}", r); assert!(r.is_ok()); } diff --git a/webauthn-rs-core/src/interface.rs b/webauthn-rs-core/src/interface.rs index 016c0071..e0b2aec5 100644 --- a/webauthn-rs-core/src/interface.rs +++ b/webauthn-rs-core/src/interface.rs @@ -1,7 +1,7 @@ //! Extended Structs and representations for Webauthn Operations. These types are designed //! to allow persistence and should not change. -use crate::attestation::{verify_attestation_ca_chain, AttestationFormat}; +use crate::attestation::verify_attestation_ca_chain; use crate::error::*; pub use crate::internals::AttestationObject; use std::fmt; diff --git a/webauthn-rs-core/src/internals.rs b/webauthn-rs-core/src/internals.rs index 1d210e4d..0bed2b39 100644 --- a/webauthn-rs-core/src/internals.rs +++ b/webauthn-rs-core/src/internals.rs @@ -1,7 +1,6 @@ //! Internal structures for parsing webauthn registrations and challenges. This *may* change //! at anytime and should not be relied on in your library. -use crate::attestation::AttestationFormat; use crate::error::WebauthnError; use crate::proto::*; use serde::Deserialize; @@ -188,7 +187,9 @@ impl Credential { let backup_eligible = auth_data.backup_eligible; let backup_state = auth_data.backup_state; - let transports = if attestation_format.transports_valid() { + let transports = if attestation_format == AttestationFormat::Packed + || attestation_format == AttestationFormat::Tpm + { transports.clone() } else { None diff --git a/webauthn-rs-proto/src/attest.rs b/webauthn-rs-proto/src/attest.rs index b112a971..bb015978 100644 --- a/webauthn-rs-proto/src/attest.rs +++ b/webauthn-rs-proto/src/attest.rs @@ -27,10 +27,6 @@ pub struct PublicKeyCredentialCreationOptions { #[serde(skip_serializing_if = "Option::is_none")] pub timeout: Option, - /// The requested attestation level from the device. - #[serde(skip_serializing_if = "Option::is_none")] - pub attestation: Option, - /// Credential ID's that are excluded from being able to be registered. #[serde(skip_serializing_if = "Option::is_none")] pub exclude_credentials: Option>, @@ -39,6 +35,18 @@ pub struct PublicKeyCredentialCreationOptions { #[serde(skip_serializing_if = "Option::is_none")] pub authenticator_selection: Option, + /// Hints defining which credentials may be used in this operation. + #[serde(skip_serializing_if = "Option::is_none")] + pub hints: Option>, + + /// The requested attestation level from the device. + #[serde(skip_serializing_if = "Option::is_none")] + pub attestation: Option, + + /// The list of attestation formats that the RP will accept. + #[serde(skip_serializing_if = "Option::is_none")] + pub attestation_formats: Option>, + /// Non-standard extensions that may be used by the browser/authenticator. #[serde(skip_serializing_if = "Option::is_none")] pub extensions: Option, diff --git a/webauthn-rs-proto/src/auth.rs b/webauthn-rs-proto/src/auth.rs index 309bb7fb..39a81a3e 100644 --- a/webauthn-rs-proto/src/auth.rs +++ b/webauthn-rs-proto/src/auth.rs @@ -25,6 +25,11 @@ pub struct PublicKeyCredentialRequestOptions { pub allow_credentials: Vec, /// The verification policy the browser will request. pub user_verification: UserVerificationPolicy, + + /// Hints defining which credentials may be used in this operation. + #[serde(skip_serializing_if = "Option::is_none")] + pub hints: Option>, + /// extensions. #[serde(skip_serializing_if = "Option::is_none")] pub extensions: Option, diff --git a/webauthn-rs-proto/src/options.rs b/webauthn-rs-proto/src/options.rs index 1cdeba34..9238ef95 100644 --- a/webauthn-rs-proto/src/options.rs +++ b/webauthn-rs-proto/src/options.rs @@ -179,6 +179,56 @@ impl ToString for AuthenticatorTransport { } } +/// The type of attestation on the credential +/// +/// +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, Hash)] +pub enum AttestationFormat { + /// Packed attestation + #[serde(rename = "packed", alias = "Packed")] + Packed, + /// TPM attestation (like Micrsoft) + #[serde(rename = "tpm", alias = "Tpm", alias = "TPM")] + Tpm, + /// Android hardware attestation + #[serde(rename = "android-key", alias = "AndroidKey")] + AndroidKey, + /// Older Android Safety Net + #[serde( + rename = "android-safetynet", + alias = "AndroidSafetyNet", + alias = "AndroidSafteynet" + )] + AndroidSafetynet, + /// Old U2F attestation type + #[serde(rename = "fido-u2f", alias = "FIDOU2F")] + FIDOU2F, + /// Apple touchID/faceID + #[serde(rename = "apple", alias = "AppleAnonymous")] + AppleAnonymous, + /// No attestation + #[serde(rename = "none", alias = "None")] + None, +} + +impl TryFrom<&str> for AttestationFormat { + type Error = (); + + fn try_from(a: &str) -> Result { + match a { + "packed" => Ok(AttestationFormat::Packed), + "tpm" => Ok(AttestationFormat::Tpm), + "android-key" => Ok(AttestationFormat::AndroidKey), + "android-safetynet" => Ok(AttestationFormat::AndroidSafetynet), + "fido-u2f" => Ok(AttestationFormat::FIDOU2F), + "apple" => Ok(AttestationFormat::AppleAnonymous), + "none" => Ok(AttestationFormat::None), + // _ => Err(WebauthnError::AttestationNotSupported), + _ => Err(()), + } + } +} + /// #[derive(Debug, Serialize, Clone, Deserialize, PartialEq, Eq)] pub struct PublicKeyCredentialDescriptor { @@ -209,6 +259,21 @@ pub enum AuthenticatorAttachment { CrossPlatform, } +/// A hint as to the class of device that is expected to fufil this operation. +/// +/// +#[derive(Debug, Serialize, Clone, Deserialize, PartialEq, Eq)] +#[serde(rename_all = "lowercase")] +#[allow(unused)] +pub enum PublicKeyCredentialHints { + /// The credential is a removable security key + SecurityKey, + /// The credential is a platform authenticator + ClientDevice, + /// The credential will come from an external device + Hybrid, +} + /// The Relying Party's requirements for client-side discoverable credentials. /// /// diff --git a/webauthn-rs/src/lib.rs b/webauthn-rs/src/lib.rs index 3347818c..7a5e47fd 100644 --- a/webauthn-rs/src/lib.rs +++ b/webauthn-rs/src/lib.rs @@ -211,12 +211,12 @@ pub mod prelude { pub use base64urlsafedata::Base64UrlSafeData; pub use url::Url; pub use uuid::Uuid; - pub use webauthn_rs_core::attestation::AttestationFormat; pub use webauthn_rs_core::error::{WebauthnError, WebauthnResult}; #[cfg(feature = "danger-credential-internals")] pub use webauthn_rs_core::proto::Credential; pub use webauthn_rs_core::proto::{ - AttestationCa, AttestationCaList, AttestationCaListBuilder, AuthenticatorAttachment, + AttestationCa, AttestationCaList, AttestationCaListBuilder, AttestationFormat, + AuthenticatorAttachment, }; pub use webauthn_rs_core::proto::{ AttestationMetadata, AuthenticationResult, AuthenticationState, CreationChallengeResponse, @@ -569,6 +569,7 @@ impl Webauthn { .user_verification_policy(UserVerificationPolicy::Required) .reject_synchronised_authenticators(false) .exclude_credentials(exclude_credentials) + .hints(None) .extensions(extensions); self.core @@ -627,6 +628,7 @@ impl Webauthn { .user_verification_policy(UserVerificationPolicy::Required) .reject_synchronised_authenticators(false) .exclude_credentials(exclude_credentials) + .hints(Some(vec![PublicKeyCredentialHints::ClientDevice])) .extensions(extensions); self.core @@ -678,6 +680,7 @@ impl Webauthn { let creds = creds.iter().map(|sk| sk.cred.clone()).collect(); let policy = Some(UserVerificationPolicy::Required); let allow_backup_eligible_upgrade = Some(true); + let hints = None; self.core .generate_challenge_authenticate( @@ -685,6 +688,7 @@ impl Webauthn { policy, extensions, allow_backup_eligible_upgrade, + hints, ) .map(|(rcr, ast)| (rcr, PasskeyAuthentication { ast })) } @@ -889,6 +893,7 @@ impl Webauthn { .user_verification_policy(policy) .reject_synchronised_authenticators(false) .exclude_credentials(exclude_credentials) + .hints(Some(vec![PublicKeyCredentialHints::SecurityKey])) .extensions(extensions); self.core @@ -960,12 +965,15 @@ impl Webauthn { UserVerificationPolicy::Preferred }; + let hints = Some(vec![PublicKeyCredentialHints::SecurityKey]); + self.core .generate_challenge_authenticate( creds, Some(policy), extensions, allow_backup_eligible_upgrade, + hints, ) .map(|(rcr, ast)| (rcr, SecurityKeyAuthentication { ast })) } @@ -1161,6 +1169,17 @@ impl Webauthn { .user_verification_policy(UserVerificationPolicy::Required) .reject_synchronised_authenticators(true) .exclude_credentials(exclude_credentials) + .hints(Some( + // hybrid can NOT perform attestation + vec![ + PublicKeyCredentialHints::ClientDevice, + PublicKeyCredentialHints::SecurityKey, + ], + )) + .attestation_formats(Some(vec![ + AttestationFormat::Packed, + AttestationFormat::Tpm, + ])) .extensions(extensions); self.core @@ -1229,12 +1248,18 @@ impl Webauthn { let policy = Some(UserVerificationPolicy::Required); let allow_backup_eligible_upgrade = Some(false); + let hints = Some(vec![ + PublicKeyCredentialHints::SecurityKey, + PublicKeyCredentialHints::ClientDevice, + ]); + self.core .generate_challenge_authenticate( creds, policy, extensions, allow_backup_eligible_upgrade, + hints, ) .map(|(rcr, ast)| (rcr, AttestedPasskeyAuthentication { ast })) } @@ -1286,6 +1311,7 @@ impl Webauthn { hmac_get_secret: None, }); let allow_backup_eligible_upgrade = Some(false); + let hints = None; self.core .generate_challenge_authenticate( @@ -1293,6 +1319,7 @@ impl Webauthn { policy, extensions, allow_backup_eligible_upgrade, + hints, ) .map(|(mut rcr, ast)| { // Force conditional ui - this is not a generic discoverable credential @@ -1400,6 +1427,17 @@ impl Webauthn { .user_verification_policy(UserVerificationPolicy::Required) .reject_synchronised_authenticators(true) .exclude_credentials(exclude_credentials) + .hints(Some( + // hybrid can NOT perform attestation + vec![ + PublicKeyCredentialHints::ClientDevice, + PublicKeyCredentialHints::SecurityKey, + ], + )) + .attestation_formats(Some(vec![ + AttestationFormat::Packed, + AttestationFormat::Tpm, + ])) .extensions(extensions); self.core @@ -1452,12 +1490,18 @@ impl Webauthn { let policy = Some(UserVerificationPolicy::Required); let allow_backup_eligible_upgrade = Some(false); + let hints = Some(vec![ + PublicKeyCredentialHints::SecurityKey, + PublicKeyCredentialHints::ClientDevice, + ]); + self.core .generate_challenge_authenticate( creds, policy, extensions, allow_backup_eligible_upgrade, + hints, ) .map(|(rcr, ast)| (rcr, AttestedResidentKeyAuthentication { ast })) } From 1ca95d14d89eef42f6a5c99aef9a2ffce0f489e7 Mon Sep 17 00:00:00 2001 From: William Brown Date: Sat, 27 Apr 2024 10:55:38 +1000 Subject: [PATCH 2/5] fix up --- webauthn-authenticator-rs/src/softpasskey.rs | 2 +- webauthn-authenticator-rs/src/softtoken.rs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/webauthn-authenticator-rs/src/softpasskey.rs b/webauthn-authenticator-rs/src/softpasskey.rs index 54d8c1f7..beb2c3bf 100644 --- a/webauthn-authenticator-rs/src/softpasskey.rs +++ b/webauthn-authenticator-rs/src/softpasskey.rs @@ -568,7 +568,7 @@ mod tests { let cred = wan.register_credential(&r, ®_state, None).unwrap(); let (chal, auth_state) = wan - .generate_challenge_authenticate(vec![cred], None, None, None) + .generate_challenge_authenticate(vec![cred], None, None, None, None) .unwrap(); let r = wa diff --git a/webauthn-authenticator-rs/src/softtoken.rs b/webauthn-authenticator-rs/src/softtoken.rs index 1262b4e4..220dc4ba 100644 --- a/webauthn-authenticator-rs/src/softtoken.rs +++ b/webauthn-authenticator-rs/src/softtoken.rs @@ -928,7 +928,7 @@ mod tests { info!("Credential -> {:?}", cred); let (chal, auth_state) = wan - .generate_challenge_authenticate(vec![cred], None, None, None) + .generate_challenge_authenticate(vec![cred], None, None, None, None) .unwrap(); let r = wa @@ -1014,7 +1014,7 @@ mod tests { let mut wa = WebauthnAuthenticator::new(soft_token); let (chal, auth_state) = wan - .generate_challenge_authenticate(vec![cred], None, None, None) + .generate_challenge_authenticate(vec![cred], None, None, None, None) .unwrap(); let r = wa From e4c43b9cd43da273b131ccf0ebed47ad6f66d42d Mon Sep 17 00:00:00 2001 From: William Brown Date: Sat, 27 Apr 2024 12:08:43 +1000 Subject: [PATCH 3/5] Apply feedback --- webauthn-rs-core/src/core.rs | 2 +- webauthn-rs-proto/src/options.rs | 8 ++++---- webauthn-rs/src/lib.rs | 27 +++++++++++++++++++-------- 3 files changed, 24 insertions(+), 13 deletions(-) diff --git a/webauthn-rs-core/src/core.rs b/webauthn-rs-core/src/core.rs index 028c2585..c14040d4 100644 --- a/webauthn-rs-core/src/core.rs +++ b/webauthn-rs-core/src/core.rs @@ -594,7 +594,7 @@ impl WebauthnCore { &data.attestation_object, &client_data_json_hash, )?, - AttestationFormat::AndroidSafetynet => verify_android_safetynet_attestation( + AttestationFormat::AndroidSafetyNet => verify_android_safetynet_attestation( acd, &data.attestation_object, &client_data_json_hash, diff --git a/webauthn-rs-proto/src/options.rs b/webauthn-rs-proto/src/options.rs index 9238ef95..c2801082 100644 --- a/webauthn-rs-proto/src/options.rs +++ b/webauthn-rs-proto/src/options.rs @@ -187,7 +187,7 @@ pub enum AttestationFormat { /// Packed attestation #[serde(rename = "packed", alias = "Packed")] Packed, - /// TPM attestation (like Micrsoft) + /// TPM attestation (like Microsoft) #[serde(rename = "tpm", alias = "Tpm", alias = "TPM")] Tpm, /// Android hardware attestation @@ -197,9 +197,9 @@ pub enum AttestationFormat { #[serde( rename = "android-safetynet", alias = "AndroidSafetyNet", - alias = "AndroidSafteynet" + alias = "AndroidSafetynet" )] - AndroidSafetynet, + AndroidSafetyNet, /// Old U2F attestation type #[serde(rename = "fido-u2f", alias = "FIDOU2F")] FIDOU2F, @@ -219,7 +219,7 @@ impl TryFrom<&str> for AttestationFormat { "packed" => Ok(AttestationFormat::Packed), "tpm" => Ok(AttestationFormat::Tpm), "android-key" => Ok(AttestationFormat::AndroidKey), - "android-safetynet" => Ok(AttestationFormat::AndroidSafetynet), + "android-safetynet" => Ok(AttestationFormat::AndroidSafetyNet), "fido-u2f" => Ok(AttestationFormat::FIDOU2F), "apple" => Ok(AttestationFormat::AppleAnonymous), "none" => Ok(AttestationFormat::None), diff --git a/webauthn-rs/src/lib.rs b/webauthn-rs/src/lib.rs index 7a5e47fd..57702170 100644 --- a/webauthn-rs/src/lib.rs +++ b/webauthn-rs/src/lib.rs @@ -1011,12 +1011,23 @@ impl Webauthn { /// and assert their identity. Because of this reliance on the authenticator, attestation of /// the authenticator and its properties is strongly recommended. /// - /// The primary difference to a passkey, is that these credentials *can not* 'roam' between multiple - /// devices, and must be bound to a single authenticator. This precludes the use of certain types - /// of authenticators (such as Apple's Passkeys as these are always synced). - /// - /// Additionally, these credentials must provide an attestation certificate of authenticity - /// which will be cryptographically validated to strictly enforce that only certain devices may be used. + /// The primary difference to a passkey, is that these credentials must provide an attestation + /// certificate which will be cryptographically validated to strictly enforce that only certain + /// devices may be registered. + /// + /// This attestation requires that private key material is bound to a single hardware + /// authenticator, and cannot be copied or moved out of it. At present, all widely deployed + /// Hybrid authenticators (Apple iCloud Keychain and Google Passkeys in Google Password + /// Manager) are synchronised authenticators which can roam between multiple devices, and so can + /// never be attested. + /// + /// As of webauthn-rs v0.5.0, this creates a registration challenge with + /// [credential selection hints](PublicKeyCredentialHints) that only use ClientDevice or + /// SecurityKey devices, so a user-agent supporting Webauthn L3 won't offer to use Hybrid + /// credentials. On user-agents not supporting Webauthn L3, and on older versions of + /// webauthn-rs, user-agents would show a QR code and a user could attempt to register a + /// Hybrid authenticator, but it would always fail at the end -- which is a frustrating user + /// experience! /// /// You *should* recommend to the user to register multiple attested_passkey keys to their account on /// separate devices so that they have fall back authentication in the case of device failure or loss. @@ -1170,7 +1181,7 @@ impl Webauthn { .reject_synchronised_authenticators(true) .exclude_credentials(exclude_credentials) .hints(Some( - // hybrid can NOT perform attestation + // hybrid does NOT perform attestation vec![ PublicKeyCredentialHints::ClientDevice, PublicKeyCredentialHints::SecurityKey, @@ -1428,7 +1439,7 @@ impl Webauthn { .reject_synchronised_authenticators(true) .exclude_credentials(exclude_credentials) .hints(Some( - // hybrid can NOT perform attestation + // hybrid does NOT perform attestation vec![ PublicKeyCredentialHints::ClientDevice, PublicKeyCredentialHints::SecurityKey, From 148db40ba9bae2830575fc60298922c4133ae94a Mon Sep 17 00:00:00 2001 From: William Brown Date: Sat, 27 Apr 2024 12:42:52 +1000 Subject: [PATCH 4/5] Authenticate is a builder --- compat_tester/webauthn-rs-demo/src/actors.rs | 8 +- .../examples/authenticate.rs | 14 ++- webauthn-authenticator-rs/src/softpasskey.rs | 3 +- webauthn-authenticator-rs/src/softtoken.rs | 6 +- webauthn-rs-core/src/core.rs | 100 ++++++++++++++---- webauthn-rs/src/lib.rs | 89 ++++++++-------- 6 files changed, 147 insertions(+), 73 deletions(-) diff --git a/compat_tester/webauthn-rs-demo/src/actors.rs b/compat_tester/webauthn-rs-demo/src/actors.rs index 12513d6b..e37b6157 100644 --- a/compat_tester/webauthn-rs-demo/src/actors.rs +++ b/compat_tester/webauthn-rs-demo/src/actors.rs @@ -367,11 +367,15 @@ impl WebauthnActor { .ok_or(WebauthnError::CredentialNotFound)?; self.wan - .generate_challenge_authenticate(vec![cred], uv, extensions, None, None) + .new_challenge_authenticate_builder(vec![cred], uv) + .map(|builder| builder.extensions(extensions)) + .and_then(|b| self.wan.generate_challenge_authenticate(b)) } None => self .wan - .generate_challenge_authenticate(creds, None, extensions, None, None), + .new_challenge_authenticate_builder(creds, None) + .map(|builder| builder.extensions(extensions)) + .and_then(|b| self.wan.generate_challenge_authenticate(b)), }?; debug!("complete ChallengeAuthenticate -> {:?}", acr); diff --git a/webauthn-authenticator-rs/examples/authenticate.rs b/webauthn-authenticator-rs/examples/authenticate.rs index b3ce9e99..05587a8a 100644 --- a/webauthn-authenticator-rs/examples/authenticate.rs +++ b/webauthn-authenticator-rs/examples/authenticate.rs @@ -280,17 +280,15 @@ async fn main() { .connect_provider(CableRequestType::GetAssertion, &ui) .await; let (chal, auth_state) = wan - .generate_challenge_authenticate( - vec![cred.clone()], - None, - Some(RequestAuthenticationExtensions { + .new_challenge_authenticate_builder(vec![cred.clone()], None) + .map(|builder| { + builder.extensions(Some(RequestAuthenticationExtensions { appid: Some("example.app.id".to_string()), uvm: None, hmac_get_secret: None, - }), - None, - None, - ) + })) + }) + .and_then(|b| wan.generate_challenge_authenticate(b)) .unwrap(); let r = u diff --git a/webauthn-authenticator-rs/src/softpasskey.rs b/webauthn-authenticator-rs/src/softpasskey.rs index beb2c3bf..e1cac89a 100644 --- a/webauthn-authenticator-rs/src/softpasskey.rs +++ b/webauthn-authenticator-rs/src/softpasskey.rs @@ -568,7 +568,8 @@ mod tests { let cred = wan.register_credential(&r, ®_state, None).unwrap(); let (chal, auth_state) = wan - .generate_challenge_authenticate(vec![cred], None, None, None, None) + .new_challenge_authenticate_builder(vec![cred], None) + .and_then(|b| wan.generate_challenge_authenticate(b)) .unwrap(); let r = wa diff --git a/webauthn-authenticator-rs/src/softtoken.rs b/webauthn-authenticator-rs/src/softtoken.rs index 220dc4ba..8ede1129 100644 --- a/webauthn-authenticator-rs/src/softtoken.rs +++ b/webauthn-authenticator-rs/src/softtoken.rs @@ -928,7 +928,8 @@ mod tests { info!("Credential -> {:?}", cred); let (chal, auth_state) = wan - .generate_challenge_authenticate(vec![cred], None, None, None, None) + .new_challenge_authenticate_builder(vec![cred], None) + .and_then(|b| wan.generate_challenge_authenticate(b)) .unwrap(); let r = wa @@ -1014,7 +1015,8 @@ mod tests { let mut wa = WebauthnAuthenticator::new(soft_token); let (chal, auth_state) = wan - .generate_challenge_authenticate(vec![cred], None, None, None, None) + .new_challenge_authenticate_builder(vec![cred], None) + .and_then(|b| wan.generate_challenge_authenticate(b)) .unwrap(); let r = wa diff --git a/webauthn-rs-core/src/core.rs b/webauthn-rs-core/src/core.rs index c14040d4..bf07b986 100644 --- a/webauthn-rs-core/src/core.rs +++ b/webauthn-rs-core/src/core.rs @@ -79,6 +79,16 @@ pub struct ChallengeRegisterBuilder { hints: Option>, } +/// A builder allowing customisation of a client authentication challenge. +#[derive(Debug)] +pub struct ChallengeAuthenticateBuilder { + creds: Vec, + policy: UserVerificationPolicy, + extensions: Option, + allow_backup_eligible_upgrade: bool, + hints: Option>, +} + impl ChallengeRegisterBuilder { /// Set the attestation conveyance preference. Defaults to None. pub fn attestation(mut self, value: AttestationConveyancePreference) -> Self { @@ -147,6 +157,29 @@ impl ChallengeRegisterBuilder { } } +impl ChallengeAuthenticateBuilder { + /// Define extensions to be requested in the request. Defaults to None. + pub fn extensions(mut self, value: Option) -> Self { + self.extensions = value; + self + } + + /// Allow authenticators to modify their backup eligibility. This can occur + /// where some formerly hardware bound devices become roaming ones. If in + /// double leave this value as default (false, rejects credentials that + /// post-create move from single device to roaming). + pub fn allow_backup_eligible_upgrade(mut self, value: bool) -> Self { + self.allow_backup_eligible_upgrade = value; + self + } + + /// Add the set of hints for which public keys may satisfy this request. + pub fn hints(mut self, hints: Option>) -> Self { + self.hints = hints; + self + } +} + impl WebauthnCore { /// ⚠️ ⚠️ ⚠️ THIS IS UNSAFE. AVOID USING THIS DIRECTLY ⚠️ ⚠️ ⚠️ /// @@ -905,22 +938,15 @@ impl WebauthnCore { Ok(data.authenticator_data) } - /// Authenticate a set of credentials allowing the user verification policy to be set. - /// If no credentials are provided, this will start a discoverable credential authentication. - /// - /// Policy defines the require UserVerification policy. This MUST be consistent with the - /// credentials being used in the authentication. - /// - /// `allow_backup_eligible_upgrade` allows rejecting credentials whos backup eligibility - /// has changed between registration and authentication. - pub fn generate_challenge_authenticate( + /// Generate a new challenge builder for client authentication. This is the first + /// step in authentication of a credential. This function will return an + /// authentication builder allowing you to customise the parameters that will be + /// sent to the client. + pub fn new_challenge_authenticate_builder( &self, creds: Vec, policy: Option, - extensions: Option, - allow_backup_eligible_upgrade: Option, - hints: Option>, - ) -> Result<(RequestChallengeResponse, AuthenticationState), WebauthnError> { + ) -> Result { let policy = if let Some(policy) = policy { policy } else { @@ -938,8 +964,37 @@ impl WebauthnCore { policy }; - // Defaults to false. - let allow_backup_eligible_upgrade = allow_backup_eligible_upgrade.unwrap_or_default(); + Ok(ChallengeAuthenticateBuilder { + creds, + policy, + extensions: Default::default(), + allow_backup_eligible_upgrade: Default::default(), + hints: Default::default(), + }) + } + + /// Generate a new challenge for client authentication from the parameters defined by the + /// [ChallengeAuthenticateBuilder]. + /// + /// This function will return the + /// [RequestChallengeResponse] which is suitable for serde json serialisation + /// to be sent to the client. The client (generally a web browser) will pass this JSON + /// structure to the `navigator.credentials.create()` javascript function for registration. + /// + /// It also returns an [AuthenticationState], that you *must* + /// persist. It is strongly advised you associate this AuthenticationState with a + /// private session ID that is unique to this request. + pub fn generate_challenge_authenticate( + &self, + challenge_builder: ChallengeAuthenticateBuilder, + ) -> Result<(RequestChallengeResponse, AuthenticationState), WebauthnError> { + let ChallengeAuthenticateBuilder { + creds, + policy, + extensions, + allow_backup_eligible_upgrade, + hints, + } = challenge_builder; let chal = self.generate_challenge(); @@ -2841,7 +2896,7 @@ mod tests { // Ensure we get a bad result. assert!( - wan.generate_challenge_authenticate(creds.clone(), None, None, None, None) + wan.new_challenge_authenticate_builder(creds.clone(), None) .unwrap_err() == WebauthnError::InconsistentUserVerificationPolicy ); @@ -2866,7 +2921,11 @@ mod tests { .unwrap(); } - let r = wan.generate_challenge_authenticate(creds.clone(), None, None, None, None); + let builder = wan + .new_challenge_authenticate_builder(creds.clone(), None) + .expect("Unable to create authenticate builder"); + + let r = wan.generate_challenge_authenticate(builder); debug!("{:?}", r); assert!(r.is_ok()); @@ -2890,7 +2949,12 @@ mod tests { .unwrap(); } - let r = wan.generate_challenge_authenticate(creds.clone(), None, None, None, None); + let builder = wan + .new_challenge_authenticate_builder(creds.clone(), None) + .expect("Unable to create authenticate builder"); + + let r = wan.generate_challenge_authenticate(builder); + debug!("{:?}", r); assert!(r.is_ok()); } diff --git a/webauthn-rs/src/lib.rs b/webauthn-rs/src/lib.rs index 57702170..3874429e 100644 --- a/webauthn-rs/src/lib.rs +++ b/webauthn-rs/src/lib.rs @@ -679,17 +679,18 @@ impl Webauthn { let extensions = None; let creds = creds.iter().map(|sk| sk.cred.clone()).collect(); let policy = Some(UserVerificationPolicy::Required); - let allow_backup_eligible_upgrade = Some(true); + let allow_backup_eligible_upgrade = true; let hints = None; self.core - .generate_challenge_authenticate( - creds, - policy, - extensions, - allow_backup_eligible_upgrade, - hints, - ) + .new_challenge_authenticate_builder(creds, policy) + .map(|builder| { + builder + .extensions(extensions) + .allow_backup_eligible_upgrade(allow_backup_eligible_upgrade) + .hints(hints) + }) + .and_then(|b| self.core.generate_challenge_authenticate(b)) .map(|(rcr, ast)| (rcr, PasskeyAuthentication { ast })) } @@ -957,24 +958,25 @@ impl Webauthn { ) -> WebauthnResult<(RequestChallengeResponse, SecurityKeyAuthentication)> { let extensions = None; let creds = creds.iter().map(|sk| sk.cred.clone()).collect(); - let allow_backup_eligible_upgrade = Some(false); + let allow_backup_eligible_upgrade = false; let policy = if self.user_presence_only_security_keys { - UserVerificationPolicy::Discouraged_DO_NOT_USE + Some(UserVerificationPolicy::Discouraged_DO_NOT_USE) } else { - UserVerificationPolicy::Preferred + Some(UserVerificationPolicy::Preferred) }; let hints = Some(vec![PublicKeyCredentialHints::SecurityKey]); self.core - .generate_challenge_authenticate( - creds, - Some(policy), - extensions, - allow_backup_eligible_upgrade, - hints, - ) + .new_challenge_authenticate_builder(creds, policy) + .map(|builder| { + builder + .extensions(extensions) + .allow_backup_eligible_upgrade(allow_backup_eligible_upgrade) + .hints(hints) + }) + .and_then(|b| self.core.generate_challenge_authenticate(b)) .map(|(rcr, ast)| (rcr, SecurityKeyAuthentication { ast })) } @@ -1257,7 +1259,7 @@ impl Webauthn { }); let policy = Some(UserVerificationPolicy::Required); - let allow_backup_eligible_upgrade = Some(false); + let allow_backup_eligible_upgrade = false; let hints = Some(vec![ PublicKeyCredentialHints::SecurityKey, @@ -1265,13 +1267,14 @@ impl Webauthn { ]); self.core - .generate_challenge_authenticate( - creds, - policy, - extensions, - allow_backup_eligible_upgrade, - hints, - ) + .new_challenge_authenticate_builder(creds, policy) + .map(|builder| { + builder + .extensions(extensions) + .allow_backup_eligible_upgrade(allow_backup_eligible_upgrade) + .hints(hints) + }) + .and_then(|b| self.core.generate_challenge_authenticate(b)) .map(|(rcr, ast)| (rcr, AttestedPasskeyAuthentication { ast })) } @@ -1321,17 +1324,18 @@ impl Webauthn { uvm: Some(true), hmac_get_secret: None, }); - let allow_backup_eligible_upgrade = Some(false); + let allow_backup_eligible_upgrade = false; let hints = None; self.core - .generate_challenge_authenticate( - vec![], - policy, - extensions, - allow_backup_eligible_upgrade, - hints, - ) + .new_challenge_authenticate_builder(Vec::with_capacity(0), policy) + .map(|builder| { + builder + .extensions(extensions) + .allow_backup_eligible_upgrade(allow_backup_eligible_upgrade) + .hints(hints) + }) + .and_then(|b| self.core.generate_challenge_authenticate(b)) .map(|(mut rcr, ast)| { // Force conditional ui - this is not a generic discoverable credential // workflow! @@ -1499,7 +1503,7 @@ impl Webauthn { }); let policy = Some(UserVerificationPolicy::Required); - let allow_backup_eligible_upgrade = Some(false); + let allow_backup_eligible_upgrade = false; let hints = Some(vec![ PublicKeyCredentialHints::SecurityKey, @@ -1507,13 +1511,14 @@ impl Webauthn { ]); self.core - .generate_challenge_authenticate( - creds, - policy, - extensions, - allow_backup_eligible_upgrade, - hints, - ) + .new_challenge_authenticate_builder(creds, policy) + .map(|builder| { + builder + .extensions(extensions) + .allow_backup_eligible_upgrade(allow_backup_eligible_upgrade) + .hints(hints) + }) + .and_then(|b| self.core.generate_challenge_authenticate(b)) .map(|(rcr, ast)| (rcr, AttestedResidentKeyAuthentication { ast })) } From 5299fd4460a64514c1c5e7e4c64f24b5be482504 Mon Sep 17 00:00:00 2001 From: William Brown Date: Sat, 27 Apr 2024 13:52:14 +1000 Subject: [PATCH 5/5] Feedback --- webauthn-rs-core/src/core.rs | 15 ++++++++------- webauthn-rs-proto/src/auth.rs | 2 +- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/webauthn-rs-core/src/core.rs b/webauthn-rs-core/src/core.rs index bf07b986..093c35b5 100644 --- a/webauthn-rs-core/src/core.rs +++ b/webauthn-rs-core/src/core.rs @@ -942,6 +942,8 @@ impl WebauthnCore { /// step in authentication of a credential. This function will return an /// authentication builder allowing you to customise the parameters that will be /// sent to the client. + /// + /// If creds is an empty `Vec` this implies a discoverable authentication attempt. pub fn new_challenge_authenticate_builder( &self, creds: Vec, @@ -976,14 +978,13 @@ impl WebauthnCore { /// Generate a new challenge for client authentication from the parameters defined by the /// [ChallengeAuthenticateBuilder]. /// - /// This function will return the - /// [RequestChallengeResponse] which is suitable for serde json serialisation - /// to be sent to the client. The client (generally a web browser) will pass this JSON - /// structure to the `navigator.credentials.create()` javascript function for registration. + /// This function will return: + /// + /// * a [RequestChallengeResponse], which is sent to the client (and can be serialised as JSON). + /// A web application would then pass the structure to the browser's navigator.credentials.create() API to trigger authentication. /// - /// It also returns an [AuthenticationState], that you *must* - /// persist. It is strongly advised you associate this AuthenticationState with a - /// private session ID that is unique to this request. + /// * an [AuthenticationState], which must be persisted on the server side. Your application + /// must associate the state with a private session ID, to prevent use in other sessions. pub fn generate_challenge_authenticate( &self, challenge_builder: ChallengeAuthenticateBuilder, diff --git a/webauthn-rs-proto/src/auth.rs b/webauthn-rs-proto/src/auth.rs index 39a81a3e..009d071f 100644 --- a/webauthn-rs-proto/src/auth.rs +++ b/webauthn-rs-proto/src/auth.rs @@ -26,7 +26,7 @@ pub struct PublicKeyCredentialRequestOptions { /// The verification policy the browser will request. pub user_verification: UserVerificationPolicy, - /// Hints defining which credentials may be used in this operation. + /// Hints defining which types credentials may be used in this operation. #[serde(skip_serializing_if = "Option::is_none")] pub hints: Option>,