Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Started glossary #74

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 14 additions & 5 deletions building_blocks.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,22 +18,31 @@ PRs should be preferably one per (sub)block.

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

## Glossary

| General | A/G | DP-3T | PACT (MIT) | PACT (UW) | TCN |
|-------------------------------|-------------------------------------|---------------------------------|-----------------------|----------------------|--------------------------------|
| Pseudorandom Identifier (PID) | Rolling Proximity ID (RPI) | Ephemeral ID (EphID) | chirp (r<sub>t</sub>) | Pseudorandom ID (id) | Temporary Contact Number (tcn) |
| Interval Secret (IS) | Daily Tracing Key (dtk<sub>i</sub>) | Secret Day Key (SK<sub>t</sub>) | seed (s) | seed (S<sub>0</sub>) | Temporary Contact Key (tck) |
| Interval Secret rotation | daily | daily | hourly | variable | variable |


## Building Blocks

### Broadcast Pseudorandom IDs
### Broadcast PIDs

### Generate Pseudorandom IDs with Ratchet/KDF
### Generate PIDs 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
### Randomize Order of PIDs

### Spread Secret Shared Pseudorandom IDs
### Spread Secret Shared PIDs
Spread IDs to require multiple broadcasts for reconstruction of an ID. This should be compatible with [rotation synchronization](#synchronize-ble-mac-and-id-rotation), since a MAC and reconstructed ID could only be correlated if enough packets are received.

### Synchronize BLE MAC and ID Rotation
### Synchronize BLE MAC and PID Rotation
Sync rotation to mitigate [address-carryover attacks](https://petsymposium.org/2019/files/papers/issue3/popets-2019-0036.pdf).

### Sharding
Expand Down