-
Notifications
You must be signed in to change notification settings - Fork 8
Leaked Data & the trust issue #16
Comments
As we state in our security objectives (particularly O2 and O3), Check-Ins cannot be associated to the user. Neither can any two Check-Ins be associated to each other to form a movement profile of a user. Obviously, this doesn't apply to users that shared their Check-In history with the health authority. You are right, that the phone number is sent in the clear to the Luca Server for SMS verification. That phone number isn't stored. However, there's no technical way for clients to make sure of that. After successful verification, the guest registration process posts the user's encrypted personal contact data, creating a server-side user object. This object is not associated with the plaintext phone number. When performing a Check-In the Would you mind explaining how the endpoint you refer to as "location history" leaks a reference to the user's phone number or said user object? PS: We're happy to engage with anybody and are grateful for input, suggestions and constructive criticism. In all of our conversation we treat people with respect. We kindly ask you to keep it professional next time. |
No, I don't treat people who want free audits for their crappy closed source, patented bs project 🤷♀️
Yes so let's just assume that you store it in your logs (together with all the request metadata). After the registration, I check in to the place you get the same request metadata (e.g. ipv6 address or an HTTP caching header). I as a user can't make sure in the app that you don't submit any metadata that makes me trackable over multiple requests. And so it's super super easy to use the request for location details together with the verification request to build user profiles. (and don't get me started on all the "comfort features" you are planning…) |
We are aware of this and state it in our document. We're also not satisfied with that situation and are thinking about other solutions. Fact remains, that we cannot get rid of the direct communication between Luca Server and mobile apps. |
Why do you think that you can't get rid of the centralized part of your architecture? The simplest solution I could think about just right now would be: |
Thanks for the input, that's indeed an interesting suggestion. Am I right, though, that we're talking about two different aspects here?
Both points are worth discussing, in my opinion, but we shouldn't mix them up. Central StorageGiven that the data is encrypted with distributed keys (owned by the venue owner), we don't see a striking benefit in storing the data in a distributed fashion. It complicates the system, however, because it'd require some sort of database under each venue owner's discretion. Note that venues might have multiple QR code scanners (think of a large shop with multiple entrances) or guests might do self-check-ins via a printed QR code. What do you think would be the benefit of storing the data in a distributed fashion? Information Leakage due to Direct CommunicationWe did think of using a Tor service to obfuscate such meta-data leakage when communicating with the Luca Server. Admittedly, this idea was not developed further simply because of time limitations. It would definitely be worthwhile to reconsider. |
But by removing the central storage (so centralized infrastructure) the issue of "Information Leakage due to Direct Communication" is basically fixed too. The benefit of removing centralized storage would be, that even if your servers/webapps get compromised (and attackers can access the private keys - what would be easy because you manage them in a browser 🤯). They still would not have access to venues' guest data, because it's stored decentralized. |
Let’s try some threat and risk assessment. This discussion seems to be about a worst-case scenario in which an adversary observes all data exchanged between client instances and the application back-end. The concern seems to be that such an adversary could analyze traffic data and unencrypted metadata to infer traces of guests across multiple locations and to identify the persons corresponding with those traces through their phone numbers. Is this correct? If so:
|
Yup a bit work needs to be done to practically do that (you already know :D) But if you think about it: which is easier to attack? Lets say 1k Devices vs one up to ten centralized Servers, which may have the same setup (depending on the deployments) therefore the same vulnerabilities... they needing constant Administration and one flaw bugs them all, compared to the decentralized devices, which having different OS (Versions) and a lot of different flaws. Hacking decentralized Environments sounds a lot harder. (Which is in case not the truth, but it's harder than hacking centralized Services, depending on the Setup). I don't think intercepting the traffic (once you get it) is a big deal. Every Skid does it in the Labz. About the "who would / could do that"... well a lot of people can do it, it's not "that hard". Cost-Benefit. Well you would invest a big sum, that's true. But if you compare it to the improvements in privacy and security, I don't know. It seems to lower the risk and bring a lot of trust in, which results in more customers and at the end users, which should be the primary goal, if I'm not fully on the wrong path. :-) I know a lot of people who step far away from Luca, because the Infrastructure is centralized and the Code is to a point a bit messy... |
I would like to see some respect for the Developers, even if their last actions weren't very honorable ... (Lic File issues, Messy Code, Flaws).... Having a respectful conversation improves the App more than making it more and more worse (and even the situation for the Developers and Investors). Besides that your point is very very valid and I see that issue too. I know a lot of people who are concerned in that matter. And a decentralized infastructure also resulted in hate like with the actual Corona App by Telekom and SAP... (Which I still don't really get, since the App was "ok" - Bugs are always the case - compared to the dev time) So when both ways results in hate, because on side wants the privacy and security and the other side doesn't wants it (for other reasons?) and we have to solve that Corona issue... what do we try next? To sum up, yes it's serious. Tracking is not funny and can end up with horrible consequences. Greetz |
@Kilode where did the Corona Warn App by Telekom get bashed for using a decentralized infrastructure? I did not read any of that. |
The client leaks the following information via the API to the luca servers:
That means that there is all information provided to the server that would be needed to build movement profiles around a phone number.
The luca app maintainers mentioned multiple times that the app is built based on trust to them, so this is not an issue from their perspective.
But as I see no reason why I should trust a few incompetent venture-funded 🤡 with influencer friends, I don't see why the entire security concept should work out.
From an architectural perspective, it would be totally possible (e.g. by utilizing the signal protocol and decentralized storage of the personal/tracking data) to work without a trusted central platform to tackle the same issues. But as the luca team didn't come up with these ideas themselves, I don't think it makes sense to discuss them here 🤷♀️.
The text was updated successfully, but these errors were encountered: