@metacensus/api 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +93 -44
- package/dist/signing.d.ts +2 -1
- package/dist/signing.d.ts.map +1 -1
- package/dist/signing.js +1 -1
- package/dist/signing.js.map +1 -1
- package/dist/src/client.d.ts +14 -7
- package/dist/src/client.d.ts.map +1 -1
- package/dist/src/client.js +20 -12
- package/dist/src/client.js.map +1 -1
- package/dist/src/metacensus/v1/auth.d.ts +51 -7
- package/dist/src/metacensus/v1/auth.d.ts.map +1 -1
- package/dist/src/metacensus/v1/common.d.ts +68 -53
- package/dist/src/metacensus/v1/common.d.ts.map +1 -1
- package/dist/src/metacensus/v1/common.js +0 -10
- package/dist/src/metacensus/v1/common.js.map +1 -1
- package/dist/src/metacensus/v1/prop.d.ts +28 -25
- package/dist/src/metacensus/v1/prop.d.ts.map +1 -1
- package/dist/src/metacensus/v1/prop.js.map +1 -1
- package/dist/src/metacensus/v1/topic.d.ts +11 -13
- package/dist/src/metacensus/v1/topic.d.ts.map +1 -1
- package/dist/src/metacensus/v1/user.d.ts +12 -14
- package/dist/src/metacensus/v1/user.d.ts.map +1 -1
- package/dist/src/route-manifest.d.ts.map +1 -1
- package/dist/src/route-manifest.js +2 -1
- package/dist/src/route-manifest.js.map +1 -1
- package/dist/src/signing.d.ts +84 -17
- package/dist/src/signing.d.ts.map +1 -1
- package/dist/src/signing.js +251 -60
- package/dist/src/signing.js.map +1 -1
- package/package.json +1 -1
package/dist/src/signing.js
CHANGED
|
@@ -1,33 +1,53 @@
|
|
|
1
|
-
// The TypeScript half of the MetaCensus signing chain; go/signing is the
|
|
2
|
-
//
|
|
3
|
-
//
|
|
1
|
+
// The TypeScript half of the MetaCensus signing chain; go/signing is the other
|
|
2
|
+
// half, and ts/test/wire.test.mjs checks the two agree — neither may be edited
|
|
3
|
+
// alone. See README.md, "The signing chain".
|
|
4
4
|
//
|
|
5
|
-
//
|
|
5
|
+
// One format serves both layers. A participant signs with a passkey (WebAuthn);
|
|
6
|
+
// an institution countersigns headless. Both produce the same object — a
|
|
7
|
+
// WebAuthn assertion whose challenge is the record's digest:
|
|
6
8
|
//
|
|
7
|
-
//
|
|
8
|
-
// Canonical JSON (RFC 8785) rather than the wire bytes: protojson isn't
|
|
9
|
-
// byte-stable, so only canonicalizing keeps a record verifiable after it's
|
|
10
|
-
// relayed, re-encoded and stored.
|
|
9
|
+
// challenge = SHA-256( JCS( D ) )
|
|
11
10
|
//
|
|
12
|
-
//
|
|
13
|
-
//
|
|
14
|
-
//
|
|
15
|
-
//
|
|
16
|
-
//
|
|
17
|
-
|
|
18
|
-
//
|
|
19
|
-
//
|
|
11
|
+
// D is {content, interpretation, keyId, time} for the participant and
|
|
12
|
+
// {signature, interpretation, keyId, time} for the institution. The assertion
|
|
13
|
+
// carries that challenge inside clientDataJSON and signs authenticatorData ‖
|
|
14
|
+
// SHA-256(clientDataJSON). Verification recomputes the challenge, confirms the
|
|
15
|
+
// binding, applies the layer's acceptance policy, then verifies the signature
|
|
16
|
+
// over the wrapper — it never re-serialises clientDataJSON, only hashes the
|
|
17
|
+
// stored bytes and parses them for `challenge`/`type`.
|
|
18
|
+
//
|
|
19
|
+
// This module holds the format primitives: the digest, a headless signer, and
|
|
20
|
+
// verification. The browser passkey ceremony — navigator.credentials.create /
|
|
21
|
+
// get — belongs to the consumer (metacensus/ui#55), which passes its assertion
|
|
22
|
+
// here to be verified. Canonical JSON (RFC 8785) rather than the wire bytes:
|
|
23
|
+
// protojson isn't byte-stable, so only canonicalizing keeps a record verifiable
|
|
24
|
+
// after it's relayed, re-encoded and stored.
|
|
25
|
+
// Versions the whole scheme (JCS + SHA-256 + P-256/ES256 + base64url) as one
|
|
26
|
+
// atom; a verifier that doesn't recognize it should refuse rather than guess.
|
|
27
|
+
export const SPEC = "metacensus.sig/2";
|
|
28
|
+
// clientDataJSON.type values: the participant's is WebAuthn's own, the
|
|
29
|
+
// institution's is honestly its own — never a forged "webauthn.get".
|
|
30
|
+
export const TYPE_GET = "webauthn.get";
|
|
31
|
+
export const TYPE_COUNTERSIGN = "metacensus.countersign";
|
|
32
|
+
// authenticatorData flag bits (WebAuthn §6.1). BE/BS record credential custody
|
|
33
|
+
// (synced vs device-bound) and are read, not set by policy.
|
|
34
|
+
export const FLAG_UP = 1 << 0; // user present
|
|
35
|
+
export const FLAG_UV = 1 << 2; // user verified (a gesture, not mere presence)
|
|
36
|
+
export const FLAG_BE = 1 << 3; // backup eligible (a syncable passkey)
|
|
37
|
+
export const FLAG_BS = 1 << 5; // backed up (currently synced)
|
|
38
|
+
// ES256: ECDSA on P-256 with SHA-256 — WebAuthn's default and this scheme's
|
|
39
|
+
// only algorithm. The enum is gone; a different curve is a different SPEC.
|
|
20
40
|
const ALG = {
|
|
21
41
|
name: "ECDSA",
|
|
22
|
-
namedCurve: "P-
|
|
23
|
-
hash: "SHA-
|
|
42
|
+
namedCurve: "P-256",
|
|
43
|
+
hash: "SHA-256",
|
|
24
44
|
};
|
|
25
45
|
// ---------------------------------------------------------------------------
|
|
26
46
|
// JCS (RFC 8785)
|
|
27
47
|
// ---------------------------------------------------------------------------
|
|
28
48
|
/**
|
|
29
|
-
*
|
|
30
|
-
*
|
|
49
|
+
* A value as RFC 8785 canonical JSON of a ts-proto message — shaped to match
|
|
50
|
+
* what protojson emits on the Go side (see buf.gen.yaml, wire.test.mjs).
|
|
31
51
|
*/
|
|
32
52
|
export function canonicalize(value) {
|
|
33
53
|
if (value === null)
|
|
@@ -99,56 +119,147 @@ function stringToJCS(s) {
|
|
|
99
119
|
return out + '"';
|
|
100
120
|
}
|
|
101
121
|
// ---------------------------------------------------------------------------
|
|
102
|
-
// The
|
|
122
|
+
// The digest
|
|
103
123
|
// ---------------------------------------------------------------------------
|
|
124
|
+
/** An Interpretation for content of the given full proto name, under this SPEC. */
|
|
125
|
+
export function interpretation(contentType) {
|
|
126
|
+
return { spec: SPEC, contentType };
|
|
127
|
+
}
|
|
104
128
|
/**
|
|
105
|
-
* The exact string the digest is taken over
|
|
106
|
-
*
|
|
129
|
+
* The exact string the participant digest is taken over: {content,
|
|
130
|
+
* interpretation, keyId, time}. Exported so a mismatch between implementations
|
|
131
|
+
* shows up as two strings, not two hashes.
|
|
107
132
|
*/
|
|
108
|
-
export function
|
|
109
|
-
|
|
133
|
+
export function userSigningInput(content, interp, keyId, time) {
|
|
134
|
+
return canonicalize(baseFields(interp, keyId, time, { content }));
|
|
135
|
+
}
|
|
136
|
+
/** The string the institutional digest is taken over: {signature, interpretation, keyId, time}. */
|
|
137
|
+
export function countersignInput(userSignature, interp, keyId, time) {
|
|
138
|
+
return canonicalize(baseFields(interp, keyId, time, { signature: userSignature }));
|
|
139
|
+
}
|
|
140
|
+
function baseFields(interp, keyId, time, extra) {
|
|
141
|
+
if (!time) {
|
|
110
142
|
// Message-typed, so canonicalization can't tell "absent" from a default;
|
|
111
143
|
// it must be set explicitly.
|
|
112
|
-
throw new Error("signing:
|
|
144
|
+
throw new Error("signing: time is unset; every signature carries the time its signer claims or observes");
|
|
113
145
|
}
|
|
114
|
-
|
|
146
|
+
if (!keyId)
|
|
147
|
+
throw new Error("signing: keyId is unset; the signer's enrolled key must be named");
|
|
148
|
+
return { interpretation: interp, keyId, time, ...extra };
|
|
149
|
+
}
|
|
150
|
+
/** SHA-256 over userSigningInput — the participant assertion's challenge. */
|
|
151
|
+
export async function userChallenge(content, interp, keyId, time) {
|
|
152
|
+
return challenge(userSigningInput(content, interp, keyId, time));
|
|
115
153
|
}
|
|
116
|
-
/** SHA-
|
|
117
|
-
export async function
|
|
118
|
-
|
|
119
|
-
|
|
154
|
+
/** SHA-256 over countersignInput — the institutional assertion's challenge. */
|
|
155
|
+
export async function countersignChallenge(userSignature, interp, keyId, time) {
|
|
156
|
+
return challenge(countersignInput(userSignature, interp, keyId, time));
|
|
157
|
+
}
|
|
158
|
+
async function challenge(input) {
|
|
159
|
+
return new Uint8Array(await sha256(new TextEncoder().encode(input)));
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* authenticatorData for a headless signer: SHA-256(rpId) ‖ flags ‖ signCount(0).
|
|
163
|
+
* A participant's comes from the authenticator with the real UV/BE/BS flags.
|
|
164
|
+
*/
|
|
165
|
+
export async function authenticatorData(rpId, flags) {
|
|
166
|
+
const hash = new Uint8Array(await sha256(new TextEncoder().encode(rpId)));
|
|
167
|
+
const out = new Uint8Array(37);
|
|
168
|
+
out.set(hash, 0);
|
|
169
|
+
out[32] = flags & 0xff;
|
|
170
|
+
return out;
|
|
120
171
|
}
|
|
121
172
|
/**
|
|
122
|
-
*
|
|
123
|
-
*
|
|
124
|
-
*
|
|
173
|
+
* Builds the assertion a headless signer emits: fills the challenge, serialises
|
|
174
|
+
* clientDataJSON, and signs authenticatorData ‖ SHA-256(clientDataJSON) with
|
|
175
|
+
* privateKey, DER-encoded as WebAuthn does. authData carries the honest flags
|
|
176
|
+
* (see authenticatorData). For a participant, the browser produces all of this
|
|
177
|
+
* and this module only verifies it.
|
|
125
178
|
*/
|
|
126
|
-
export async function
|
|
127
|
-
|
|
128
|
-
const raw = await crypto.subtle.sign(ALG, privateKey,
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
179
|
+
export async function assert(privateKey, challenge, authData, clientData) {
|
|
180
|
+
const cdj = new TextEncoder().encode(JSON.stringify({ ...clientData, challenge: toBase64Url(challenge) }));
|
|
181
|
+
const raw = new Uint8Array(await crypto.subtle.sign(ALG, privateKey, await signedMessage(authData, cdj)));
|
|
182
|
+
return {
|
|
183
|
+
authenticatorData: toBase64Url(authData),
|
|
184
|
+
clientDataJson: toBase64Url(cdj),
|
|
185
|
+
signature: toBase64Url(rawToDer(raw)),
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
/** authenticatorData ‖ SHA-256(clientDataJSON) — what ES256 then hashes and signs. */
|
|
189
|
+
async function signedMessage(authData, clientDataJSON) {
|
|
190
|
+
const cdh = new Uint8Array(await sha256(clientDataJSON));
|
|
191
|
+
const msg = new Uint8Array(authData.length + cdh.length);
|
|
192
|
+
msg.set(authData, 0);
|
|
193
|
+
msg.set(cdh, authData.length);
|
|
194
|
+
return msg;
|
|
195
|
+
}
|
|
196
|
+
/** Accepts a passkey assertion: webauthn.get from a known origin, user-verified. */
|
|
197
|
+
export function participantPolicy(...origins) {
|
|
198
|
+
return { type: TYPE_GET, origins, requireUV: true };
|
|
199
|
+
}
|
|
200
|
+
/** Accepts the headless countersignature: the institutional type, no origin. */
|
|
201
|
+
export function institutionPolicy() {
|
|
202
|
+
return { type: TYPE_COUNTERSIGN, origins: [], requireUV: false };
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Checks one assertion against a challenge under publicKey and policy: the
|
|
206
|
+
* challenge binding, then the assertion's own metadata, then the signature over
|
|
207
|
+
* the wrapper. clientDataJSON is hashed as stored and only parsed to read
|
|
208
|
+
* `challenge`/`type`; it is never re-serialised.
|
|
209
|
+
*/
|
|
210
|
+
export async function verifyAssertion(publicKey, assertion, challenge, policy) {
|
|
211
|
+
const authData = fromBase64Url(assertion.authenticatorData);
|
|
212
|
+
const cdj = fromBase64Url(assertion.clientDataJson);
|
|
213
|
+
const sig = fromBase64Url(assertion.signature);
|
|
214
|
+
if (authData.length < 37)
|
|
215
|
+
return false;
|
|
216
|
+
let cd;
|
|
217
|
+
try {
|
|
218
|
+
cd = JSON.parse(new TextDecoder().decode(cdj));
|
|
145
219
|
}
|
|
146
|
-
|
|
147
|
-
|
|
220
|
+
catch {
|
|
221
|
+
return false;
|
|
148
222
|
}
|
|
149
|
-
|
|
150
|
-
|
|
223
|
+
// Challenge binding: the assertion must commit to this record's digest.
|
|
224
|
+
if (cd.challenge !== toBase64Url(challenge))
|
|
225
|
+
return false;
|
|
226
|
+
// Acceptance policy — the honest per-layer difference.
|
|
227
|
+
if (cd.type !== policy.type)
|
|
228
|
+
return false;
|
|
229
|
+
if (policy.origins.length === 0) {
|
|
230
|
+
if (cd.origin)
|
|
231
|
+
return false;
|
|
151
232
|
}
|
|
233
|
+
else if (!policy.origins.includes(cd.origin ?? "")) {
|
|
234
|
+
return false;
|
|
235
|
+
}
|
|
236
|
+
if (policy.requireUV && (authData[32] & FLAG_UV) === 0)
|
|
237
|
+
return false;
|
|
238
|
+
return crypto.subtle.verify(ALG, publicKey, derToRaw(sig), await signedMessage(authData, cdj));
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Checks a participant signature over content: the interpretation is this
|
|
242
|
+
* scheme's and names content's type, the assertion binds to the record's
|
|
243
|
+
* digest, and it satisfies policy. Resolving publicKey — the enrolled key keyId
|
|
244
|
+
* names — is the caller's, except at sign-up (see enrolledKey).
|
|
245
|
+
*/
|
|
246
|
+
export async function verifyUser(publicKey, content, interp, signature, policy) {
|
|
247
|
+
if (interp.spec !== SPEC)
|
|
248
|
+
return false;
|
|
249
|
+
if (!signature.assertion)
|
|
250
|
+
return false;
|
|
251
|
+
const challenge = await userChallenge(content, interp, signature.keyId, signature.time ?? "");
|
|
252
|
+
return verifyAssertion(publicKey, signature.assertion, challenge, policy);
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Checks an institutional signature nesting over userSignature: it binds to
|
|
256
|
+
* userSignature (plus the record's interpretation) and satisfies policy.
|
|
257
|
+
*/
|
|
258
|
+
export async function verifyCountersign(publicKey, userSignature, interp, institutional, policy) {
|
|
259
|
+
if (!institutional.assertion)
|
|
260
|
+
return false;
|
|
261
|
+
const challenge = await countersignChallenge(userSignature, interp, institutional.keyId, institutional.time ?? "");
|
|
262
|
+
return verifyAssertion(publicKey, institutional.assertion, challenge, policy);
|
|
152
263
|
}
|
|
153
264
|
// ---------------------------------------------------------------------------
|
|
154
265
|
// Keys
|
|
@@ -169,12 +280,33 @@ export async function decodePublicKey(encoded) {
|
|
|
169
280
|
return crypto.subtle.importKey("spki", fromBase64Url(encoded), ALG, true, ["verify"]);
|
|
170
281
|
}
|
|
171
282
|
/**
|
|
172
|
-
* base64url of SHA-256 over the SPKI DER — `
|
|
173
|
-
*
|
|
283
|
+
* base64url of SHA-256 over the SPKI DER — `Signature.keyId`. Derived rather
|
|
284
|
+
* than minted, so a client can compute it before it has an account.
|
|
174
285
|
*/
|
|
175
286
|
export async function keyId(publicKey) {
|
|
176
287
|
const spki = await crypto.subtle.exportKey("spki", publicKey);
|
|
177
|
-
return toBase64Url(new Uint8Array(await
|
|
288
|
+
return toBase64Url(new Uint8Array(await sha256(new Uint8Array(spki))));
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* Resolves the key being enrolled at sign-up, the one write whose key is not
|
|
292
|
+
* yet in persistence: the key offered must thumbprint to the keyId claimed, or
|
|
293
|
+
* a key that is not the sender's could be enrolled under their account. Every
|
|
294
|
+
* other record resolves keyId against its owner's enrolled key.
|
|
295
|
+
*/
|
|
296
|
+
export async function enrolledKey(publicKey, claimedKeyId) {
|
|
297
|
+
if (!publicKey)
|
|
298
|
+
throw new Error("signing: sign-up carries no enrolling public key");
|
|
299
|
+
const key = await decodePublicKey(publicKey);
|
|
300
|
+
if ((await keyId(key)) !== claimedKeyId) {
|
|
301
|
+
throw new Error("signing: keyId does not thumbprint the key offered");
|
|
302
|
+
}
|
|
303
|
+
return key;
|
|
304
|
+
}
|
|
305
|
+
// ---------------------------------------------------------------------------
|
|
306
|
+
// Bytes
|
|
307
|
+
// ---------------------------------------------------------------------------
|
|
308
|
+
function sha256(bytes) {
|
|
309
|
+
return crypto.subtle.digest("SHA-256", bytes);
|
|
178
310
|
}
|
|
179
311
|
function toBase64Url(bytes) {
|
|
180
312
|
return bytes.toBase64({ alphabet: "base64url", omitPadding: true });
|
|
@@ -185,4 +317,63 @@ function toBase64Url(bytes) {
|
|
|
185
317
|
function fromBase64Url(s) {
|
|
186
318
|
return Uint8Array.fromBase64(s, { alphabet: "base64url" });
|
|
187
319
|
}
|
|
320
|
+
// WebCrypto signs and verifies fixed-width r‖s (IEEE P1363); WebAuthn stores an
|
|
321
|
+
// ASN.1 DER SEQUENCE. These two bridge the formats for P-256 (32-byte coords),
|
|
322
|
+
// so one stored format (DER) serves a passkey and a headless signer alike.
|
|
323
|
+
function rawToDer(raw) {
|
|
324
|
+
const r = derInt(raw.subarray(0, 32));
|
|
325
|
+
const s = derInt(raw.subarray(32, 64));
|
|
326
|
+
const body = new Uint8Array(r.length + s.length);
|
|
327
|
+
body.set(r, 0);
|
|
328
|
+
body.set(s, r.length);
|
|
329
|
+
const out = new Uint8Array(2 + body.length);
|
|
330
|
+
out[0] = 0x30; // SEQUENCE
|
|
331
|
+
out[1] = body.length;
|
|
332
|
+
out.set(body, 2);
|
|
333
|
+
return out;
|
|
334
|
+
}
|
|
335
|
+
// One ASN.1 INTEGER from a big-endian coordinate: strip leading zeros, prepend
|
|
336
|
+
// a 0x00 when the high bit is set so the value stays positive.
|
|
337
|
+
function derInt(coord) {
|
|
338
|
+
let i = 0;
|
|
339
|
+
while (i < coord.length - 1 && coord[i] === 0)
|
|
340
|
+
i++;
|
|
341
|
+
let v = coord.subarray(i);
|
|
342
|
+
if (v[0] & 0x80) {
|
|
343
|
+
const pad = new Uint8Array(v.length + 1);
|
|
344
|
+
pad.set(v, 1);
|
|
345
|
+
v = pad;
|
|
346
|
+
}
|
|
347
|
+
const out = new Uint8Array(2 + v.length);
|
|
348
|
+
out[0] = 0x02; // INTEGER
|
|
349
|
+
out[1] = v.length;
|
|
350
|
+
out.set(v, 2);
|
|
351
|
+
return out;
|
|
352
|
+
}
|
|
353
|
+
function derToRaw(der) {
|
|
354
|
+
// SEQUENCE header, then two INTEGERs; left-pad each coordinate to 32 bytes.
|
|
355
|
+
let p = 2; // skip 0x30, length
|
|
356
|
+
if (der[p] !== 0x02)
|
|
357
|
+
throw new Error("signing: malformed DER signature");
|
|
358
|
+
const rLen = der[p + 1];
|
|
359
|
+
const r = der.subarray(p + 2, p + 2 + rLen);
|
|
360
|
+
p = p + 2 + rLen;
|
|
361
|
+
if (der[p] !== 0x02)
|
|
362
|
+
throw new Error("signing: malformed DER signature");
|
|
363
|
+
const sLen = der[p + 1];
|
|
364
|
+
const s = der.subarray(p + 2, p + 2 + sLen);
|
|
365
|
+
const out = new Uint8Array(64);
|
|
366
|
+
coordInto(out, 0, r);
|
|
367
|
+
coordInto(out, 32, s);
|
|
368
|
+
return out;
|
|
369
|
+
}
|
|
370
|
+
// Right-align a DER INTEGER (which may carry a leading 0x00 or be short) into a
|
|
371
|
+
// 32-byte coordinate slot.
|
|
372
|
+
function coordInto(out, at, v) {
|
|
373
|
+
let i = 0;
|
|
374
|
+
while (i < v.length - 32)
|
|
375
|
+
i++; // drop a leading 0x00 pad if present
|
|
376
|
+
const src = v.subarray(i);
|
|
377
|
+
out.set(src, at + (32 - src.length));
|
|
378
|
+
}
|
|
188
379
|
//# sourceMappingURL=signing.js.map
|
package/dist/src/signing.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signing.js","sourceRoot":"","sources":["../../src/signing.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"signing.js","sourceRoot":"","sources":["../../src/signing.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@metacensus/api",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "TypeScript for the MetaCensus API contract (/metacensus/api/v1 and /metacensus/public): generated types, a route manifest, a typed transport-agnostic client per surface, and the signing chain.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|