From bed9c015da6fed8dee4e2e81048e9831d7ecaae8 Mon Sep 17 00:00:00 2001 From: Steve Brown Date: Sun, 25 Oct 2026 15:26:30 -0400 Subject: [PATCH] Add disabled public credential ceremony with local qualification --- docs/enrollment/ceremony.md | 43 ++++++++++++++++ docs/enrollment/ceremony.png | Bin 0 -> 73244 bytes docs/enrollment/ceremony.webm | Bin 0 -> 185042 bytes docs/enrollment/demo.md | 89 ++++++++++++++++++++++++++++++++++ scripts/build.mjs | 2 +- tests/build.test.mjs | 7 +++ tests/enrollment.test.mjs | 72 +++++++++++++++++++++++++++ web/enroll/app.mjs | 28 +++++++++++ web/enroll/config.mjs | 2 + web/enroll/cose.mjs | 39 +++++++++++++++ web/enroll/index.html | 8 +++ web/enroll/model.mjs | 52 ++++++++++++++++++++ web/enroll/style.css | 9 ++++ 13 files changed, 350 insertions(+), 1 deletion(-) create mode 100644 docs/enrollment/ceremony.md create mode 100644 docs/enrollment/ceremony.png create mode 100644 docs/enrollment/ceremony.webm create mode 100644 docs/enrollment/demo.md create mode 100644 tests/enrollment.test.mjs create mode 100644 web/enroll/app.mjs create mode 100644 web/enroll/config.mjs create mode 100644 web/enroll/cose.mjs create mode 100644 web/enroll/index.html create mode 100644 web/enroll/model.mjs create mode 100644 web/enroll/style.css diff --git a/docs/enrollment/ceremony.md b/docs/enrollment/ceremony.md new file mode 100644 index 0000000..9153ad6 --- /dev/null +++ b/docs/enrollment/ceremony.md @@ -0,0 +1,43 @@ +# Public credential ceremony + +The `/enroll/` source page creates a WebAuthn credential and exports only its +credential ID, COSE public key, scheme, origin/RP and fingerprint. It has no +registration transport, bearer, actor authority, graph allowlist or enable +operation. The fingerprint is the first eight SHA-256 bytes of the exact COSE +encoding, rendered as four groups of four hex digits. Compare it with the +operator's native signer status after registration. + +Source configuration ships disabled. An approved deployment must provide one +exact dedicated HTTPS origin and its identical RP hostname. URL parameters, +local storage and browser-entered values cannot enable or change that scope. +The default button is disabled and no credential is created on page load. A +configured supported browser asks only after an explicit click. Cancellation, +unsupported exports, mismatched context and malformed data produce no packet; +creation may still have left a credential on the authenticator. + +The page checks the returned RP hash, credential identifier, creation challenge, +origin, user presence/verification and COSE structure. It declines credentials +reporting backup eligibility or backup state, as required by the single-device +scope, and declines unrequested authenticator extensions. These checks interpret +returned authenticator metadata; they are not hardware attestation or proof of +the person's identity. WebAuthn binds credentials to an RP/origin, not a URL path. +The dedicated origin must remain isolated from unrelated applications. +See the [W3C authenticator-data definition](https://www.w3.org/TR/webauthn-3/#sctn-authenticator-data). + +The operator still establishes the human identity, chooses the approved graph +scope and expiry, enrolls through the generic local signer CLI, and compares the +fingerprint with the device. Enrollment does not enable writes or protect a +graph. Rotation enrolls a new ID; the native CLI revokes the old ID. The page +never performs those operations and does not claim a credential is enrolled. + +Before a real human ceremony, the generic signer CLI must be installed and +qualified, the dedicated TLS origin trusted on the device, and the existing +origin/CORS gate must show its live wrong-origin refusal. The decision path, +served-reader checks and signed-action activation remain separate acceptance. +Do not prompt the human or flip a production configuration on source delivery. + +Local source qualification uses unit negatives and Chromium's virtual +authenticator on intercepted synthetic HTTPS assets. Its public packet is +accepted by the candidate native signer CLI in a disposable store, with the +same fingerprint and the switch still off. This is not a real enrollment, +production-origin smoke, hardware test or proof of installed acceptance. diff --git a/docs/enrollment/ceremony.png b/docs/enrollment/ceremony.png new file mode 100644 index 0000000000000000000000000000000000000000..c9c2d1c7e58081b93f14458890b650e9d32fae48 GIT binary patch literal 73244 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 z zyJ4-Fk1y`-Tsk*Md}maJ9MKmlW+NK4RGJRPUW)D-l+(~~u3is&0D%e$7)uED$EEj} zyp^8*!end8b-wVIDp9;Meydtl;ClH6qXiScsa|5PF(BE#Hsob%+*jdpDN{3U=PYLQ zUgxPb1Wi^WlqC0C>!{lEPmVyCGj zN5=T}I)&3o3cK+grkLhHS@@D^=)ftdBf-$gg~hMp%!U`9XF4v!Cu5otI`oQ5@Lnp% zV5z57-Jp8O1kG81#+@{Up}zEGTO)gRLH_Ff&dwONBA4$83z43(FIHwt%0At&duUfz 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 M)78&qol`;+08uyImjD0& literal 0 HcmV?d00001 diff --git a/docs/enrollment/ceremony.webm b/docs/enrollment/ceremony.webm new file mode 100644 index 0000000000000000000000000000000000000000..c9fecb8f6d983885a1bed3962c582585e5c8baaa GIT binary patch literal 185042 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

  • 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
  • 9r3#0+$sZEwwvkHw%kiE*GQqzDNBqU~G2kO?| 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 + fs.mkdirSync(OUT,{recursive:true,mode:0o700}); + const browser=await chromium.launch({headless:false,executablePath:process.env.CHROME_BIN||'/usr/bin/google-chrome',args:['--no-sandbox','--disable-dev-shm-usage']}); + const results=[]; + try{ + for(const scenario of ['disabled','wrong-origin','enabled','backup-eligible','cancelled','unsupported']){ + const context=await browser.newContext({viewport:{width:980,height:900},...(scenario==='enabled'?{recordVideo:{dir:path.join(OUT,'video'),size:{width:980,height:900}}}:{})}),blocked=[],errors=[]; + try{ + const page=await context.newPage();page.on('pageerror',e=>errors.push(e.message)); + await context.route('**/*',async route=>{ + const url=new URL(route.request().url()); + if(url.origin!==ORIGIN){blocked.push(url.origin);await route.abort();return;} + let file=decodeURIComponent(url.pathname).replace(/^\/enroll\//,'');if(file===''||file==='index.html')file='index.html'; + if(!['index.html','app.mjs','model.mjs','cose.mjs','config.mjs','style.css'].includes(file)){blocked.push(url.pathname);await route.abort();return;} + let body=fs.readFileSync(path.join(ROOT,'web/enroll',file),'utf8'); + if(file==='config.mjs'&&scenario!=='disabled')body=`export const config=Object.freeze({enabled:true,origin:${JSON.stringify(scenario==='wrong-origin'?'https://other.example.test':ORIGIN)},rpId:'enroll.example.test'});`; + await route.fulfill({status:200,body,contentType:file.endsWith('.mjs')?'text/javascript':file.endsWith('.css')?'text/css':'text/html'}); + }); + const cdp=await context.newCDPSession(page);let creations=0;cdp.on('WebAuthn.credentialAdded',()=>{creations++;});await cdp.send('WebAuthn.enable'); + const {authenticatorId}=await cdp.send('WebAuthn.addVirtualAuthenticator',{options:{protocol:'ctap2',transport:'internal',hasResidentKey:true,hasUserVerification:true,isUserVerified:true,automaticPresenceSimulation:true,defaultBackupEligibility:scenario==='backup-eligible',defaultBackupState:false}}); + await page.addInitScript(()=>{if(navigator.credentials?.create){const original=navigator.credentials.create.bind(navigator.credentials);Object.defineProperty(navigator.credentials,'create',{value:async options=>{const credential=await original(options);globalThis.__fixtureAuthFlags=new Uint8Array(credential.response.getAuthenticatorData())[32];return credential;}});}}); + if(scenario==='unsupported')await page.addInitScript(()=>Object.defineProperty(navigator,'credentials',{value:{}})); + if(scenario==='cancelled')await page.addInitScript(()=>Object.defineProperty(navigator,'credentials',{value:{create:async()=>{throw new DOMException('cancelled','NotAllowedError');}}})); + await page.goto(ORIGIN+'/enroll/index.html');await page.waitForFunction(()=>document.querySelector('[role=status]').textContent.includes('origin')||document.querySelector('[role=status]').textContent.includes('unavailable')||!document.querySelector('button').disabled); + const button=page.getByRole('button',{name:'Create signing credential'}); + if(['disabled','wrong-origin','unsupported'].includes(scenario)){ + assert.equal(await button.isDisabled(),true);assert.equal(await page.locator('textarea').inputValue(),''); + }else{ + if(scenario==='enabled')await page.waitForTimeout(1000); + await button.click();await page.waitForFunction(()=>!document.querySelector('button').disabled,{timeout:10000}); + if(scenario==='enabled'){ + const packet=JSON.parse(await page.locator('textarea').inputValue());assert.equal(packet.backup_eligible,false);assert.equal(packet.scheme,'webauthn-es256');assert.match(await page.locator('[role=status]').innerText(),/Not enrolled/); + const fixture=fs.mkdtempSync(path.join(OUT,'native-'));const db=path.join(fixture,'fixture.db');const env={...process.env,HOME:fixture}; + const response=execFileSync(CLI,['signer','enroll','--credential-id',packet.credential_id,'--cose-key',packet.cose_key,'--scheme',packet.scheme,'--origin',packet.origin,'--rp-id',packet.rp_id,'--actor','fixture-operator','--graph','https://example.test/answers','--expires-at',String(Math.floor(Date.now()/1000)+86400),'--db',db],{encoding:'utf8',env}); + assert.ok(response.includes(packet.fingerprint));const status=JSON.parse(execFileSync(CLI,['signer','status','--db',db],{encoding:'utf8',env}));assert.equal(status.enabled,false);assert.equal(status.signers.length,1);assert.equal(status.signers[0].fingerprint,packet.fingerprint);assert.equal(status.signers[0].id,packet.credential_id); + fs.writeFileSync(path.join(OUT,'browser-public-fixture.json'),JSON.stringify(packet,null,2));await page.bringToFront();await page.evaluate(()=>new Promise(resolve=>requestAnimationFrame(()=>requestAnimationFrame(resolve))));await page.screenshot({path:path.join(OUT,'enabled.png'),fullPage:true});fs.rmSync(fixture,{recursive:true});await page.waitForTimeout(3000); + }else{ + assert.equal(await page.locator('textarea').inputValue(),'');assert.match(await page.locator('[role=status]').innerText(),/not registered/); + } + } + const flags=await page.evaluate(()=>globalThis.__fixtureAuthFlags??null);if(scenario==='enabled')assert.equal(flags&0x18,0);if(scenario==='backup-eligible')assert.equal(flags&0x08,0x08);assert.equal(creations,['enabled','backup-eligible'].includes(scenario)?1:0);assert.deepEqual(errors,[]);assert.deepEqual(blocked,[]);results.push({scenario,pass:true,credential_creations:creations,authenticator_flags:flags,nonlocal_network_requests:blocked.length,page_errors:errors}); + await cdp.send('WebAuthn.removeVirtualAuthenticator',{authenticatorId}); + }finally{await context.close();} + } + fs.writeFileSync(path.join(OUT,'browser-results.json'),JSON.stringify({source_kind:'uncommitted local source over de8c7fd; synthetic secure-origin routes; virtual authenticator, no human/private key export or production request',results},null,2));console.log(JSON.stringify(results)); + }finally{await browser.close();} +})().catch(e=>{console.error(e.stack);process.exitCode=1;}); +``` diff --git a/scripts/build.mjs b/scripts/build.mjs index 5aafb7a..fea6a55 100644 --- a/scripts/build.mjs +++ b/scripts/build.mjs @@ -5,7 +5,7 @@ const root=resolve(import.meta.dirname,'..'),out=resolve(root,'dist'); await rm(out,{recursive:true,force:true});await mkdir(out,{recursive:true}); const filter=p=>!p.endsWith('.test.mjs')&&!p.includes('/fixtures')&&!p.endsWith('/demo.mjs'); await cp(resolve(root,'web/legacy'),out,{recursive:true,filter}); -for(const name of ['knowledge','offline'])await cp(resolve(root,'web',name),resolve(out,name),{recursive:true,filter}); +for(const name of ['knowledge','offline','enroll'])await cp(resolve(root,'web',name),resolve(out,name),{recursive:true,filter}); const revision=execFileSync('git',['rev-parse','HEAD'],{cwd:root,encoding:'utf8'}).trim(); await writeFile(resolve(out,'source.json'),JSON.stringify({project:'rikuy',revision,activation:'deployment-owned; experimental readers OFF'},null,2)+'\n'); console.log('Built static Rikuy assets; experimental readers remain disabled.'); diff --git a/tests/build.test.mjs b/tests/build.test.mjs index cf04cdb..d3f88c1 100644 --- a/tests/build.test.mjs +++ b/tests/build.test.mjs @@ -10,3 +10,10 @@ test('deployment assets omit the synthetic demo entry point and fixture payload' await assert.rejects(access('dist/demo.mjs')); await assert.rejects(access('dist/demo-rows.json')); }); + + +test('enrollment assets are published together and retain the disabled configuration',async()=>{ + execFileSync(process.execPath,['scripts/build.mjs']); + for(const name of ['index.html','app.mjs','model.mjs','cose.mjs','config.mjs','style.css'])assert.equal(await readFile('dist/enroll/'+name,'utf8'),await readFile('web/enroll/'+name,'utf8')); + assert.match(await readFile('dist/enroll/config.mjs','utf8'),/enabled:\s*false/); +}); diff --git a/tests/enrollment.test.mjs b/tests/enrollment.test.mjs new file mode 100644 index 0000000..b2f21e0 --- /dev/null +++ b/tests/enrollment.test.mjs @@ -0,0 +1,72 @@ +import test from 'node:test'; +import assert from 'node:assert/strict'; +import {admitted, base64url, creationOptions, createPublicCredential, publicPacket, fingerprint} from '../web/enroll/model.mjs'; +import {config as shipped} from '../web/enroll/config.mjs'; +import {coseKey} from '../web/enroll/cose.mjs'; +const config = {enabled: true, origin: 'https://enroll.example.test', rpId: 'enroll.example.test'}; +const key = Uint8Array.from([0xa4,1,1,3,0x27,0x20,6,0x21,0x58,0x20,...Array.from({length: 32}, (_, i) => i + 1)]); +const buffer = bytes => Uint8Array.from(bytes).buffer; +async function fixture(challenge = new Uint8Array(32)) { + const id = Uint8Array.of(1,2,3,4); + const auth = new Uint8Array(55 + id.length + key.length); + auth.set(new Uint8Array(await crypto.subtle.digest('SHA-256', new TextEncoder().encode(config.rpId)))); + auth[32] = 0x45; auth[54] = id.length; auth.set(id,55); auth.set(key,55+id.length); + const client = {type:'webauthn.create', challenge:base64url(challenge), origin:config.origin, crossOrigin:false}; + const credential = {type:'public-key', id:base64url(id), rawId:id.buffer, response:{getAuthenticatorData:()=>auth.buffer, clientDataJSON:buffer(new TextEncoder().encode(JSON.stringify(client)))}}; + return {credential, auth, client, challenge}; +} +test('shipped ceremony disabled; origin gates refuse before creating a credential', async () => { + assert.equal(shipped.enabled, false); + let calls = 0; + for (const [cfg, origin, secure] of [[shipped,config.origin,true],[{...config,enabled:false},config.origin,true],[config,'https://other.example.test',true],[config,config.origin,false],[{...config,origin:'http://enroll.example.test'},'http://enroll.example.test',true],[{...config,rpId:'other.example.test'},config.origin,true]]) { + await assert.rejects(createPublicCredential(cfg,{origin,secure,credentials:{create(){calls++;}},crypto})); + } + assert.equal(calls,0); + assert.doesNotThrow(()=>admitted(config,config.origin,true)); +}); +test('actual creation options require verification and fresh unpredictable challenges', () => { + const a=creationOptions(config), b=creationOptions(config); + assert.equal(a.publicKey.authenticatorSelection.userVerification,'required'); + assert.equal(a.publicKey.challenge.length,32);assert.equal(a.publicKey.user.id.length,32); + assert.notDeepEqual(a.publicKey.challenge,b.publicKey.challenge); + assert.deepEqual(a.publicKey.pubKeyCredParams.map(p=>p.alg),[-7,-8]); +}); +test('public COSE bytes and independent native fingerprint golden are exact', async () => { + const f=await fixture();const packet=await publicPacket(f.credential,config,f.challenge); + assert.equal(packet.cose_key,base64url(key));assert.equal(packet.fingerprint,'9bb1-7e67-b268-ca8b'); + assert.equal(await fingerprint(key),'9bb1-7e67-b268-ca8b'); + assert.equal(packet.scheme,'webauthn-eddsa');assert.equal(packet.backup_eligible,false); + assert.deepEqual(Object.keys(packet).sort(),['backup_eligible','cose_key','credential_id','fingerprint','origin','rp_id','scheme']); +}); +test('user presence, verification, attested data, backup flags and unexpected extensions are required/refused', async () => { + for(const flag of [0x44,0x41,0x05,0x4d,0x55,0xc5]) { + const f=await fixture();f.auth[32]=flag; + await assert.rejects(publicPacket(f.credential,config,f.challenge),/single-device/); + } +}); +test('RP hash, credential ID, truncated key and trailing bytes fail closed', async () => { + for(const change of [f=>f.auth[0]^=1,f=>f.auth[55]^=1,f=>f.auth[54]=5,f=>f.credential.id='foreign',f=>f.credential.response.getAuthenticatorData=()=>f.auth.slice(0,-1).buffer,f=>f.credential.response.getAuthenticatorData=()=>buffer([...f.auth,0])]) { + const f=await fixture();change(f);await assert.rejects(publicPacket(f.credential,config,f.challenge)); + } +}); +test('creation origin, challenge, type, cross-origin and duplicate JSON fields refuse export', async () => { + for(const change of [c=>c.origin='https://other.example.test',c=>c.challenge='different',c=>c.type='webauthn.get',c=>c.crossOrigin=true]) { + const f=await fixture();change(f.client);f.credential.response.clientDataJSON=buffer(new TextEncoder().encode(JSON.stringify(f.client))); + await assert.rejects(publicPacket(f.credential,config,f.challenge),/context mismatch/); + } + const f=await fixture();f.credential.response.clientDataJSON=buffer(new TextEncoder().encode('{"origin":"wrong",'+JSON.stringify(f.client).slice(1))); + await assert.rejects(publicPacket(f.credential,config,f.challenge),/context mismatch/); +}); +test('bounded COSE parser rejects duplicate fields, wrong algorithms, indefinite lengths and oversize coordinates', () => { + for(const bytes of [Uint8Array.from([0xbf]),Uint8Array.from([0xa6]),Uint8Array.from([...key.slice(0,3),1,...key.slice(4)]),Uint8Array.from([...key.slice(0,4),0x26,...key.slice(5)]),key.slice(0,-1)]) assert.throws(()=>coseKey(bytes,0)); + const p256=Uint8Array.from([0xa5,1,2,3,0x26,0x20,1,0x21,0x58,0x20,...new Uint8Array(32),0x22,0x58,0x20,...new Uint8Array(32)]); + assert.equal(coseKey(p256,0).scheme,'webauthn-es256'); +}); +test('create uses the returned authenticator data and cancellation never produces a packet', async () => { + let calls=0; + const environment={origin:config.origin,secure:true,crypto,credentials:{async create(options){calls++;return (await fixture(options.publicKey.challenge)).credential;}}}; + assert.equal((await createPublicCredential(config,environment)).fingerprint,'9bb1-7e67-b268-ca8b');assert.equal(calls,1); + await assert.rejects(createPublicCredential(config,{...environment,credentials:{}}),/unavailable/); + environment.credentials.create=async()=>null; + await assert.rejects(createPublicCredential(config,environment),/cancelled/); +}); diff --git a/web/enroll/app.mjs b/web/enroll/app.mjs new file mode 100644 index 0000000..cdcc1b9 --- /dev/null +++ b/web/enroll/app.mjs @@ -0,0 +1,28 @@ +import {config} from './config.mjs'; +import {admitted, createPublicCredential} from './model.mjs'; +const button = document.querySelector('button'); +const status = document.querySelector('[role="status"]'); +const output = document.querySelector('textarea'); +const fingerprint = document.querySelector('#fingerprint'); +const environment = {origin: location.origin, secure: isSecureContext, credentials: navigator.credentials, crypto}; +let enabled = false; +try { + admitted(config, environment.origin, environment.secure); + if (typeof environment.credentials?.create === 'function' && typeof PublicKeyCredential !== 'undefined') enabled = true; + else status.textContent = 'WebAuthn is unavailable in this browser.'; +} +catch { status.textContent = 'Enrollment is not enabled for this origin.'; } +button.disabled = !enabled; +button.addEventListener('click', async () => { + if (!enabled) return; + button.disabled = true; output.value = ''; fingerprint.textContent = ''; + status.textContent = 'Waiting for your authenticator…'; + try { + const packet = await createPublicCredential(config, environment); + output.value = JSON.stringify(packet, null, 2); + fingerprint.textContent = packet.fingerprint; + status.textContent = 'Public credential ready for operator registration. Not enrolled. Compare this fingerprint after registration.'; + } catch { + status.textContent = 'No public export prepared. This page has not registered a signer. Your device may retain a credential from the creation attempt.'; + } finally { button.disabled = !enabled; } +}); diff --git a/web/enroll/config.mjs b/web/enroll/config.mjs new file mode 100644 index 0000000..9893216 --- /dev/null +++ b/web/enroll/config.mjs @@ -0,0 +1,2 @@ +// Source delivery does not admit an origin or begin a human ceremony. +export const config = Object.freeze({enabled: false, origin: null, rpId: null}); diff --git a/web/enroll/cose.mjs b/web/enroll/cose.mjs new file mode 100644 index 0000000..aee30b7 --- /dev/null +++ b/web/enroll/cose.mjs @@ -0,0 +1,39 @@ +// A bounded flat COSE public-key reader, not a general CBOR interpreter. +export function coseKey(bytes, offset) { + let at = offset; + const head = () => { + if (at >= bytes.length) throw new Error('Truncated public key'); + const tag = bytes[at++], major = tag >> 5, info = tag & 31; + let length = info; + if (info >= 24) { + const count = {24: 1, 25: 2, 26: 4}[info]; + if (!count || at + count > bytes.length) throw new Error('Unsupported public key encoding'); + length = 0; + for (let i = 0; i < count; i++) length = length * 256 + bytes[at++]; + } + return {major, length}; + }; + const integer = item => { + if (item.major !== 0 && item.major !== 1) throw new Error('Invalid public key integer'); + return item.major === 0 ? item.length : -1 - item.length; + }; + const map = head(); + if (map.major !== 5 || map.length < 4 || map.length > 5) throw new Error('Unsupported public key map'); + const fields = new Map(); + for (let i = 0; i < map.length; i++) { + const key = integer(head()), item = head(); + if (fields.has(key)) throw new Error('Duplicate public key field'); + let value; + if (item.major === 2) { + if (item.length !== 32 || at + item.length > bytes.length) throw new Error('Invalid key coordinate'); + value = bytes.slice(at, at + item.length); at += item.length; + } else value = integer(item); + fields.set(key, value); + } + const coordinate = key => fields.get(key) instanceof Uint8Array && fields.get(key).length === 32; + let scheme; + if (fields.size === 4 && fields.get(1) === 1 && fields.get(3) === -8 && fields.get(-1) === 6 && coordinate(-2)) scheme = 'webauthn-eddsa'; + else if (fields.size === 5 && fields.get(1) === 2 && fields.get(3) === -7 && fields.get(-1) === 1 && coordinate(-2) && coordinate(-3)) scheme = 'webauthn-es256'; + else throw new Error('Unsupported public key scheme'); + return {bytes: bytes.slice(offset, at), end: at, scheme}; +} diff --git a/web/enroll/index.html b/web/enroll/index.html new file mode 100644 index 0000000..b8cf7b8 --- /dev/null +++ b/web/enroll/index.html @@ -0,0 +1,8 @@ + + + +Signing credential +

    Create a signing credential

    This page prepares a public credential for an operator to register. Your authenticator keeps the signing key.

    +

    Enrollment is not enabled.

    +

    Fingerprint

    +

    Creating a credential does not register it or enable signed actions.

    diff --git a/web/enroll/model.mjs b/web/enroll/model.mjs new file mode 100644 index 0000000..13928a4 --- /dev/null +++ b/web/enroll/model.mjs @@ -0,0 +1,52 @@ +import {coseKey} from './cose.mjs'; + +const equal = (a, b) => a.length === b.length && a.every((v, i) => v === b[i]); +export const base64url = bytes => btoa(String.fromCharCode(...bytes)).replaceAll('+', '-').replaceAll('/', '_').replace(/=+$/, ''); +export async function fingerprint(bytes, crypto = globalThis.crypto) { + const hash = new Uint8Array(await crypto.subtle.digest('SHA-256', bytes)); + return Array.from(hash.slice(0, 8), b => b.toString(16).padStart(2, '0')).join('').match(/.{4}/g).join('-'); +} +export function admitted(config, origin, secure) { + if (config?.enabled !== true || !secure || typeof config.rpId !== 'string' || !config.rpId.includes('.')) throw new Error('Enrollment is not configured for this origin'); + if (!/^(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/.test(config.rpId) || config.origin !== `https://${config.rpId}` || origin !== config.origin) throw new Error('Enrollment is not configured for this origin'); +} +export function creationOptions(config, crypto = globalThis.crypto) { + return {publicKey: { + challenge: crypto.getRandomValues(new Uint8Array(32)), + rp: {id: config.rpId, name: 'Signing credential'}, + user: {id: crypto.getRandomValues(new Uint8Array(32)), name: 'signing-operator', displayName: 'Signing operator'}, + pubKeyCredParams: [{type: 'public-key', alg: -7}, {type: 'public-key', alg: -8}], + authenticatorSelection: {userVerification: 'required', residentKey: 'preferred'}, + attestation: 'none', timeout: 60000 + }}; +} +export async function publicPacket(credential, config, challenge, crypto = globalThis.crypto) { + if (credential?.type !== 'public-key' || !(credential.rawId instanceof ArrayBuffer) || typeof credential.response?.getAuthenticatorData !== 'function') throw new Error('Authenticator export is unsupported'); + const id = new Uint8Array(credential.rawId); + if (id.length < 1 || id.length > 1024 || credential.id !== base64url(id)) throw new Error('Invalid credential identifier'); + const raw = credential.response.getAuthenticatorData(); + if (!(raw instanceof ArrayBuffer)) throw new Error('Invalid authenticator data'); + const auth = new Uint8Array(raw); + if (auth.length < 55 || auth.length > 4096) throw new Error('Invalid authenticator data size'); + const flags = auth[32]; + if ((flags & 0x45) !== 0x45 || (flags & 0x18) !== 0 || (flags & 0x80) !== 0) throw new Error('A verified single-device credential without extensions is required'); + const rpHash = new Uint8Array(await crypto.subtle.digest('SHA-256', new TextEncoder().encode(config.rpId))); + if (!equal(auth.slice(0, 32), rpHash)) throw new Error('Relying party mismatch'); + const length = auth[53] * 256 + auth[54], end = 55 + length; + if (length !== id.length || end >= auth.length || !equal(auth.slice(55, end), id)) throw new Error('Authenticator credential mismatch'); + const key = coseKey(auth, end); + if (key.end !== auth.length) throw new Error('Trailing authenticator data'); + if (!(credential.response.clientDataJSON instanceof ArrayBuffer) || credential.response.clientDataJSON.byteLength > 4096) throw new Error('Invalid client data'); + const text = new TextDecoder('utf-8', {fatal: true}).decode(credential.response.clientDataJSON); + const client = JSON.parse(text); + if (JSON.stringify(client) !== text || client.type !== 'webauthn.create' || client.origin !== config.origin || client.challenge !== base64url(challenge) || client.crossOrigin !== false) throw new Error('Creation context mismatch'); + return Object.freeze({credential_id: base64url(id), cose_key: base64url(key.bytes), scheme: key.scheme, origin: config.origin, rp_id: config.rpId, fingerprint: await fingerprint(key.bytes, crypto), backup_eligible: false}); +} +export async function createPublicCredential(config, environment) { + admitted(config, environment.origin, environment.secure); + if (typeof environment.credentials?.create !== 'function') throw new Error('WebAuthn is unavailable'); + const options = creationOptions(config, environment.crypto); + const credential = await environment.credentials.create(options); + if (!credential) throw new Error('Credential creation was cancelled'); + return publicPacket(credential, config, options.publicKey.challenge, environment.crypto); +} diff --git a/web/enroll/style.css b/web/enroll/style.css new file mode 100644 index 0000000..4e73a05 --- /dev/null +++ b/web/enroll/style.css @@ -0,0 +1,9 @@ +:root { color-scheme: light dark; font-family: system-ui, sans-serif; } +body { margin: 0; padding: 2rem 1rem; } +main { max-width: 42rem; margin: auto; } +p { line-height: 1.6; } +button { font: inherit; padding: .7rem 1rem; cursor: pointer; } +button:disabled { cursor: default; } +output { display: block; font: 1.4rem ui-monospace, monospace; min-height: 2rem; } +label { display: block; margin: 1rem 0 .5rem; } +textarea { box-sizing: border-box; width: 100%; font: .9rem ui-monospace, monospace; }