Skip to content

Latest commit

 

History

History
47 lines (29 loc) · 2.29 KB

building_blocks.md

File metadata and controls

47 lines (29 loc) · 2.29 KB

Objective

The goal of this file is to map out all the concepts from different proposals in a protocol agnostic way. The blocks should be described independently of their implementation. This is done to pave the way for a synthesized protocol containing the best high level ideas.

Then we can express each proposal in terms of composition of a common set of high level blocks.

We can also synthesize the proposals, by selecting one or more combinations of blocks, and then selecting the best specific implementation for each one.

PRs should be preferably one per (sub)block.

Proposals

Apple/Google, DP-3T, PACT (MIT), PACT (UW), TCN

Neither the list of proposals, nor of the building blocks claims to be complete. Contributions are very welcome, to enable convergence of protocols.

Building Blocks

Broadcast Pseudorandom IDs

Generate Pseudorandom IDs with Ratchet/KDF

Variable Key Duration

Distribute Bloom/Cuckoo Filters to Decorrelate IDs

Server aggregates IDs in a bloom or cuckoo filter. If IDs are derived from a secret, the server performs the derivation and adds the results to the filter. Then only the server know which IDs are correlated to a specific key, but the recepients of the filters do not.

Randomize Order of Pseudorandom IDs

Spread Secret Shared Pseudorandom IDs

Spread IDs to require multiple broadcasts for reconstruction of an ID. This should be compatible with rotation synchronization, since a MAC and reconstructed ID could only be correlated if enough packets are received.

Synchronize BLE MAC and ID Rotation

Sync rotation to mitigate address-carryover attacks.

Sharding

Users push/pull reports to/from a bucket correlated to e.g. coarse space-time location, to reduce bandwidth requirements.

Permissionless Self Reporting

Submission Signing by Health Authorities

Freeform Payload

Permits Self Reporting, but can also contain e.g. a signature by health authorities. Permits flexibility and makes few assumptions about the rest of the infrastructure.