Path-Check / safeplaces-dct-app

COVID Safe Paths (based on Private Kit) is an open and privacy preserving system to use personal information to battle COVID
https://covidsafepaths.org
MIT License
466 stars 283 forks source link

[FEATURE-REQ]: geo-hashing of GPS data #806

Open tremblerz opened 4 years ago

tremblerz commented 4 years ago

Right now we obtain GPS data in raw (latitude, longitude) and store it in the encrypted format (Not sure if PR is merged). Another thing we want to add in this storage is the storage of Geohash of the raw data in 7 bit precision (which is equivalent of the 76m accuracy). For the first pass let's only store one geohash and in subsequent PR we will be storing geohash of the corners or edges of the squares.

See this old PR on how to add geohashes - relevant file diff from the pr

Issue type

Feature request for relatively tighter security.

diarmidmackenzie commented 4 years ago

I am now quite strongly against 7 char precision, and think it needs to be 8 char (even though 8 char precision depends on GPS accuracy in Safe Paths that we have not achieved yet - see SAF-175).

A 7 char geohash in an urban center will cover a dozen or more businesses. See illustrations in here: https://pathcheck.atlassian.net/wiki/spaces/TEST/pages/61145553/Moving+Safe+Paths+Safe+Places+to+use+geohashes+natively

Even moving to a 30 min detection window won't prevent false positives from people who spent 30 mins in the other 11 or so uninfected businesses.

Also, 7 char geohashes reduce entropy by 32x and hence make the hashed data 32x easier to crack - so actually makes privacy worse than the more specific 8 char geohashes.

diarmidmackenzie commented 4 years ago

For anyone who wants to work on tis please see Jira SAF-268 for a proposed alternate plan of attack.

Same basic outcome, but proposing different sequencing to ensure Safe Paths & Safe Places retain compatibility as much as possible during this change.

tstirrat commented 4 years ago

https://pathcheck.atlassian.net/browse/SAF-268 https://pathcheck.atlassian.net/browse/SAF-269