-
Notifications
You must be signed in to change notification settings - Fork 343
Missing Documentation of Rapid Antigen Test Implementation - Questions regarding security #587
Comments
I think something like this is indeed planned, see corona-warn-app/cwa-app-ios#2422, which implemented the text: "Auf Wunsch können Sie über die App Ihren persönlichen Infektionsstatus nachweisen (z.B. negativer Schnelltest). Bitte beachten Sie, dass Sie grundsätzlich nicht zum Nachweis Ihres Infektionsstatus per App verpflichtet sind. Sie können Ihren Infektionsstatus im Rahmen der rechtlichen Bestimmungen an Ihrem Aufenthaltsort auch auf andere Weise nachweisen." Also, there is the PR corona-warn-app/cwa-app-ios#2437 which introduced a counter which counts how long the test result is already available. Also, it includes this text: "Sie können den hier angezeigten Befund auch als Nachweis für das Vorliegen eines negativen Schnelltest-Ergebnisses verwenden. Informieren Sie sich hierzu bitte auch über die Kriterien für die Anerkennung von Test-Nachweisen in Ihrem Bundesland. [...]" |
Related Issue:
|
Thanks, @Ein-Tim , you're like a walking library 😁 |
@dsarkar |
To add one thing here: Please clarify with Apple & Google if there is a problem with the non-anonymity of the RAT integration. |
@heinezen |
I guess we'll answer here finally, sorry for the delay
It is intended as a proof, but then it got superseded by the EU-wide implementation via DGC. There have been a lot of changes in the past 2 months, so the idea of how exactly it was intended to be used might have changed.
The personalized RAT result is a proof that you made a negative antigen test (legislation may vary between federal states). Unlike the non-personalized RAT and PCR-test results it is not only used for your own information. The personal information is supposed to be cross-checked by the verifier using your ID card.
Yes, we have seen quite a few examples of that with different QR code types (vaccination + rapid test) by now. However, all digital proofs are only valid in combination with an ID card (e.g. passport) that must be checked by the verifier. Therefore, even if an adversary can recover a certificate, they cannot use it effectively if all verifiers follow a standard process. Disclosure of personal data is a problem that we are trying to address. Unfortunately, a lot of people don't think about the consequences of sharing their certificates on social media. I don't think they are fully to blame here because not everyone knows how QR code encoding works or is aware that they are sharing not only their proof, but basically a universal proof with their data on it. With the EU certificates we are trying to mitigate this by including as little information as possible while also spreading some awareness about the secure handling of QR codes. Corona-Warn-App Open Source Team |
From a cryptographic perspective, keeping information confidential with one untrusted party (i.e. the verifier) is not as easy as you think. We have to assume that the verifier is untrusted because the RKI cannot authorize every restaurant owner or event organizer manually, and even if they could, the chance that the key gets leaked increases with every new person involved. Same with an authorized app where you can just extract the key. |
Well - unfortunately, the European solution was specified under much time pressure and did not address this well. They could have designed a solution with a trusted verifier instead. Some kind of cryptographic protocol, where the verifier proofs itself trusted towards the wallet, and only then the wallet discloses personal data. Question: How much are the cwa developers involved (and will be heard!) in this kind of discussion for the European specs? |
@vaubaehn Please decide how to proceed with this now one year old issue. |
Missing Documentation of Rapid Antigen Test (RAT) Implementation
Works on implementing Rapid Antigen Tests into CWA have begun: A RAT portal (for testing staff?), the connected RAT server backend have been published on GH, and app coding (at least for Android, didn't look up iOS) has started.
Unfortunately there is no documentation at all about this new feature yet.
When do you plan to publish such a documentation for assessing technical and security implications, similar to the Event Registration (=presence tracing) documentation?
Security Related Questions
For now I have only questions with regard to the data embedded into the generated QR code.
From a short code review, I assume following workflow with associated tech specs (which for sure can be far away from the actually planned implementation):
https://github.com/corona-warn-app/cwa-quick-test-frontend/blob/f95b94b1e1e852f29b2c7f9904fdf6a0b7d3258d/src/api.tsx#L75-L89
A current sampe URI can be found here: https://github.com/corona-warn-app/cwa-app-android/blob/feature/6031-extract-data/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/coronatest/qrcode/TestQrCodes.kt
QR code no. 3's URI is:
[...]s.coronawarn.app/?v=1#eyJ0aW1lc3RhbXAiOjE2MTg1NjM3ODIsInNhbHQiOiI1QTI3M0REREJCQTFEMkFDQUEzN0ExMDg4NjhGNkIwMjM3NjQzRjhBNjdCQTNENkQ3RUE3RkREQ0M0RDJGMjBEIiwidGVzdElkIjoiMGQ5ZTg0MzItZWI5MS00YzhmLTgyYWYtNWEwMWZiMWI2NzYwIiwiaGFzaCI6IjdiMWMwNjNlODgzMDYzZjhjMzNmZmFhMjU2YWRlZDUwNmFmZDkwN2Y3NDQ2MTQzYjNkYTBmOTM4YTIxOTY3YTkiLCJmbiI6IkFsbWEiLCJsbiI6IkhheWVzIiwiZG9iIjoiMTk2Mi0wMS0wOCJ9
whereas the payload would decode to
{"timestamp":1618563782,"
salt":"5A273DDDBBA1D2ACAA37A108868F6B0237643F8A67BA3D6D7EA7FDDCC4D2F20D",
"testId":"0d9e8432-eb91-4c8f-82af-5a01fb1b6760",
"hash":"7b1c063e883063f8c33ffaa256aded506afd907f7446143b3da0f938a21967a9",
"fn":"Alma",
"ln":"Hayes",
"dob":"1962-01-08"}
Questions:
If it is indeed intended that the QR code in its current implementation could be used as an entry pass, social engeneering attacks might be possible. A fake gate keeper could scan the QRs en masse with an arbitrary scanning app, extract names and birthdates, find people via telephone books, and use the personal data for better social engeneering attacks like Enkeltrick and alike.
If there is no way to skip or to encrypt the personal data embedded in the QR code for the planned implementation, people must be warned, that the QR code contains personal data and must not be presented publicly or to unauthorized persons (which is not trivial, if blinds, analphabetics or people with language barriers are supposed to be included).
The text was updated successfully, but these errors were encountered: