TCNCoalition / TCN

Specification and reference implementation of the TCN Protocol for decentralized, privacy-preserving contact tracing.
MIT License
263 stars 33 forks source link

Logical issue #78

Open seriyvolk83 opened 4 years ago

seriyvolk83 commented 4 years ago

There is a logical issue in the protocol.

Consider the following use case:

Solution 1: Once infected and generated a report, A must periodically generate new reports (or for every new generated TCN), until he will be clear.

Solution 2: Change TCN or report generation logic. It should be possible to obtain all new TCNs generated from the same device AFTER report is generated, not just from j1 > 0 to j2, but from j1 to current time.

scottleibrand commented 4 years ago

We are aware of this issue (though likely haven't documented it well enough) and currently intend to implement Solution 1. We don't intend to use solution 2 because it would allow an attacker to generate TCNs matching any already-public report.

ruseinov commented 4 years ago

@scottleibrand Curious if this has been addressed or if there are plans to do it. I'd be happy to help if needed.

scottleibrand commented 4 years ago

We haven't yet implemented automatic new-report generation. Our current plans for the CoEpi app are to allow users to choose to be periodically prompted to enter their symptoms, at which point a new report would be generated. If you'd like to assist with that, LMK your email address and I can add you to the CoEpi Slack.

ruseinov commented 4 years ago

@scottleibrand Gotcha! I'm currently looking into sample implementation of BlueTrace protocol in Rust, but will definitely help out when I come back to TCN.