Table 3.
Requirements for contact tracing protocols.
| Requirements | Properties | Details | How achieved in DIMY |
|---|---|---|---|
| Security | Minimise false | A user not being warned | Use of Bloom filter that provides guarantees against |
| negatives. | despite being in close contact | false negatives during the matching process. | |
| (Completeness) |
of an infected person. |
||
| Minimise false | A user being warned | Use of Shamir secret sharing and Diffie–Hellman key | |
| positives. | without a valid close contact | exchange to mitigate false positives due to replay | |
| (Soundness) | with any infected person. | attacks. False positives are still possible with a low | |
| probability due to relay attacks and Bloom filter matching. |
|||
| Ensure system’s | Data maintained at the backend | Use of blockchain as the backend to provide integrity, | |
| integrity and | is trustworthy and the | availability, and trust. | |
| availability. | matching service accessible. | ||
| Privacy | Confidentiality | Only the health authorities | Health authorities are involved only in the authorisation |
| of health status. | can learn about the status | stage. Use of bloom filters and smart contracts ensures no | |
| (infected or warned) |
of an infected person. |
one learns about close-contacts of an infected person. |
|
| Privacy for meeting. | No entity can learn about | Use of Bloom filters to hide the time/date of contacts. | |
| /contact history. |
the contact history of a user. |
The back-end server cannot construct a social graph. |
|
| No one can link the anonymous | Use of Ephemeral identifiers and | ||
| Hide user’s | IDs with real identities. Health | storage of contact information in Bloom filters. | |
| identities. | authorities learn this when an | ||
| infected or at-risk user contacts them. |
|||
| Location privacy. | An adversary cannot track | No location information is captured by the system. | |
| movement of a device. | Limited local device tracking is possible. | ||
| Operational | Minimise | Reducing the amount of contact | Use of space efficient Bloom filters for storage at the |
| storage costs. | tracing data stored on mobile devices | client’s devices as well as the backend. | |
| as well as the backend. |
|||
| Minimise | Reducing bandwidth utilisation | Use of BLE advertisement messages reduces number of | |
| bandwidth usage. | directly helps in prolonging | messages exchanged between the devices. Uploads from | |
| the battery life of mobile devices. |
client’s devices consist of short, fixed-size Bloom filters. |
||
| Minimise | Computational cost directly affects | Contact matching and risk analysis process is only | |
| computational cost. | battery consumption for devices. | performed at the backend. The cryptographic operations | |
| such as DH key generation and exchange involves group | |||
| exponentiation which are not as computation intensive. | |||