| Literature DB >> 35370392 |
Nadeem Ahmed1,2, Regio A Michelin1,2, Wanli Xue1,2, Guntur Dharma Putra1,2, Sushmita Ruj3, Salil S Kanhere1,2, Sanjay Jha1,2.
Abstract
The infection rate of COVID-19 and the rapid mutation ability of the virus has forced governments and health authorities to adopt lockdowns, increased testing, and contact tracing to reduce the virus's spread. Digital contact tracing has become a supplement to the traditional manual contact tracing process. However, although several digital contact tracing apps are proposed and deployed, these have not been widely adopted due to apprehensions surrounding privacy and security. In this paper, we present a blockchain-based privacy-preserving contact tracing protocol,"Did I Meet You" (DIMY). The protocol provides full-lifecycle data privacy protection on the devices as well as the back-end servers to address most of the privacy concerns associated with existing protocols. We have employed Bloom filters to provide efficient privacy-preserving storage and have used the Diffie-Hellman key exchange for secret sharing among the participants. We show that DIMY provides resilience against many well-known attacks while introducing negligible overheads. DIMY's footprint on the storage space of clients' devices and back-end servers is also significantly lower than other similar state-of-the-art apps.Entities:
Keywords: Blockchain; Bloom filter; COVID-19; Contact tracing; Privacy; Security
Year: 2022 PMID: 35370392 PMCID: PMC8957364 DOI: 10.1016/j.jnca.2022.103356
Source DB: PubMed Journal: J Netw Comput Appl ISSN: 1084-8045 Impact factor: 6.281
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. | |||
Comparison of key technologies (C Centralised D Decentralised H Hybrid). A denotes an extension to the base protocol.
| Protocols | Key technologies | ||||
|---|---|---|---|---|---|
| DH | Secret sharing | BF | BC | Architecture | |
| BlueTrace ( | × | × | × | × | C |
| CovidSafe ( | × | × | × | × | C |
| ROBERT ( | × | × | × | × | C |
| DP-3T ( | × | ✓ | × | D | |
| PACT-East coast ( | × | × | × | × | D |
| GAEN ( | × | × | × | × | D |
| Desire ( | ✓ | × | × | × | H |
| Contra corona ( | ✓ | × | × | H | |
| BeepTrace ( | × | × | × | ✓ | H |
| ByChain ( | × | × | × | ✓ | H |
| DIMY | ✓ | ✓ | ✓ | ✓ | H |
Fig. 1DIMY System Architecture.
Fig. 2Information flow in DIMY.
Fig. 3BLE advertisement message format.
Fig. 4BLE advertisements with random MACs and .
Fig. 5False positive rate vs number of encounters — DBF and CBF.
Comparison of DIMY with other protocols.
| Salient featuresf | DIMY | Centralised (BlueTrace) | Decentralised | Hybrid (Desire) |
|---|---|---|---|---|
| (PACT-East, DP-3T) | ||||
| ID generation | Client devices | Server | Client devices | Client devices |
| Storage on devices | Encounter encoded in | Received IDs from close contacts | Received IDs (chirps) | EphIDs and two PETs tables |
| Bloom filters | from close contacts | |||
| Storage on server/backend | Encounter encoded in | Mapping of IDs, Complete list | Hourly seeds and | PETs for positive cases |
| Bloom filters for positive cases | of contact IDs for positive cases | time for positive cases | ||
| Processing on devices | ID generation, Diffie–Hellman | Minimal processing | Hourly seed and chirp | ID generation Diffie–Hellman exchange |
| key generation, | generation, Chirp matching | |||
| sharing, Bloom filter encoding | and risk analysis | |||
| Processing on server/backend | Blockchain matching | Risk analysis and | Minimal processing | Risk analysis PETs matching |
| for at-risk users | ID matching | |||
| Data upload | Bloom filter for positive cases | All contact IDs captured | Seeds, timing information | PETs table for positive case |
| Query Bloom filter for other users | for a positive case | for a positive case | ||
| Data download | Result (matched/not matched) | Periodic download of new IDs | Seeds, timing information | Result of risk analysis |
| from blockchain | for all positive cases | |||
| Risk analysis & notification | Performed on Blockchain | Performed on server | Performed on devices | Performed on server |
Possible attacks on digital contact tracing (C Centralised, D Decentralised, H Hybrid).
| Attacks | DIMY | C (BlueTrace) | D (PACT-East, DP-3T) | H (Desire) |
|---|---|---|---|---|
| Replay | × | ✓ | ✓ | × |
| Relay | ✓ | ✓ | ✓ | ✓ |
| Device tracking | ✓ | ✓ | ✓ | ✓ |
| Carryover | ✓ | ✓ | ✓ | × |
| Location confirmation | × | ✓ | ✓ | × |
| Enumeration | × | ✓ | × | × |
| Denial of service | ✓ | ✓ | ✓ | ✓ |
| Linkage | × | ✓ | ✓ | × |
| Social graph | × | ✓ | ✓ | ✓ |
Fig. 6Comparison of the average latency and the throughput for blockchain operations in caliper, using a load of 50 transactions per second.
Fig. 7Comparison of CPU and memory consumption for the execution of querying QBF, issuing an access token and uploading CBF.
Fig. 8The maximum and average latency of querying QBF with differently sized Bloom filters.
Fig. 9Throughput and latency of querying QBF with the size of 100 kB in different transaction send rates and number of Hyperledger peer nodes.
Fig. 10DIMY iOS app user interface.
Fig. 11Average latency and the throughput for blockchain operations in caliper, AWS backend using a load of 50 transactions per second.
Fig. 12Throughput and latency for query QBF operations. AWS backend with varying number of transactions.