8 ms·
Ephemeral usernames safeguard privacy and make Signal harder to subpoena
- deleted 3y ago[deleted]
- dang 3y agoRecent and related: Keep your phone number private with Signal usernames - https://news.ycombinator.com/item?id=39444500 https://news.ycombinator.com/item?id=39444500 - Feb 2024 (872 comments)
- johndough 3y agoAll this would not be necessary if Signal did not collect phone numbers at all. The usual excuse is that they need phone numbers to combat spam, but that is only because they allow arbitrary contact requests form random people. It would be easy to imagine accounts without arbitrary contact permission. Contact requests could still be exchanged by e.g. meeting offline in person or with time-limited friend request codes.
- deleted 3y ago[deleted]
- contact9879 3y agoThe article included comments from Signal devs and Whittaker about this exact issue. There are valid reasons that Signal does not want to stop using phone numbers.
- lxgr 3y ago> “You reach a threshold where you’re actually reducing privacy,” Whittaker said. She gave an example of a person who faces severe threats and normally maintains vigilance but whose mother is only on WhatsApp because she can’t figure out the numberless Signal. The high-threat person would be stuck using the less secure option more often. How does that make sense? Signal just made phone numbers for contact discovery optional, in which case this person still couldn't find their mother, even though Signal has their number on file. What people are asking for is for phone numbers to be optional for account creation and identification. Everybody that wants to could still provide (and verify) their phone number for contact discovery, and this could even remain the default for non-sophisticated users as the one described above. So that seems more like a retroactive justification for an early design choice (Signal was originally TextSecure and used SMS as a transport layer, so making numbers the primary key made total sense back then). The only thing that still makes sense to me today is spam prevention: > Requiring phone numbers also makes it considerably harder for spammers to abuse Signal. “The existence of a handful of small apps that don’t really have a large scale of users, that don’t require phone numbers, I don’t think is proof that it’s actually workable for a large-scale app,” Whittaker said. One possible solution could be to tie numberless account creation to a nominal donation payment: Still not great, but spam prevention is unfortunately not free to Signal either.
- noirscape 3y agoIt's probably also related to them not wanting to make Signal selfhostable. The server (and client) code is open source[0] but is reliant on an external SMS service to be self-deployed (as well as AWS for file storage, GCM and APN for push notifs but those aren't nearly as much of a barrier; AWS has numerous FOSS reimplementations while for GCM you can use ntfy), something which Signal devs have stated they don't want to happen (since providing libsignal implementations is, as far as I understand, part of how Signal makes money). SMS is afaik the only real barrier they have to preventing that. [0]: As in, AGPL and effectively a source dump with no instructions.
- evbogue 3y agoI'm trying to imagine the code behind this ephemeral username strategy. I imagine a kv store under Signal's control where you are allowed to set a key "username23" and a value "773-510-8601" and the cool thing is I can make a lot of keys that point at my phone number. Maybe it's more complicated than that?
- hnbear 3y agoIt says the username values are hashed, so they can't actually see them. It just stores the hash. So, you tell someone my username is "ABC", their Signal client hashes it and looks up the account and messages you. Signal can keep the mapping of hash to number, but doesn't care about the plaintext value of the username. After the person has messaged you/added you, then you can delete the mapping, at that point they're connected to you, even if they don't see your metadata like phone number. Then, from the article, others can reuse the username too.
- evbogue 3y agoThis is smarter than what I was imagining. So I come up with a username, on my client side it is hashed and Signal's kv store is checked to make sure no one claimed the hash yet. Next I tell the username to my peer via some other secure channel or IRL and their client sends the hashed username to this kv store to do the usual things. I guess the hash still points at the phone number behind the scenes though?
- hnbear 3y ago> I guess the hash still points at the phone number behind the scenes though? AFAIK, from the article, yes. But, you can create/delete that hash->phone mapping at will. Hence the recommendation to just create when required, or frequently change them if you're concerned. Or, use the QR code/link generation too. Those work the same way.
- Jabbles 3y ago> Then, from the article, others can reuse the username too. This sounds like a potential security hole. You have to be sure that your contact hasn't reset their username as you add them. Or maybe that's what the username registration timestamp is for? To show that this username has been in use by the same person for a while?
- andrewjl 3y agoI might be missing some background on the topic but is this a real-world example of a differential privacy[1] technique? [1]: https://privacytools.seas.harvard.edu/courses-educational-materials https://privacytools.seas.harvard.edu/courses-educational-ma...
- waterheater 3y agoNo, ephemeral usernames are not differential privacy. Differential privacy is repeatedly sampling a database through a differentially-private interface which returns data samples which are either real or fake. The mean and variance of the sampled data match the true mean and variance of the dataset according to a system-defined epsilon value. The end user isn't able to know if any given piece of data is real or fake. I really don't like differential privacy.
- AndrewKemendo 3y agoThank you for that explanation I actually haven’t really read up on it enough and this gives new a good starting point
- mr_spothawk 3y agoI remain unconvinced that phone manufacturers are unable to read the screen. Username obscurity is neat for p2p privacy, but does nothing against "the cops" if you're doing something they don't want you to.
- dotty- 3y agoWhat convinced you that they are able to read the screen?
- deleted 3y ago[deleted]
- bordercases 3y agoSomeone should write a Wikipedia article on a glibly labeled law to the effect of, "any opportunity for forensic information to be exploited, will be done so."
- gryn 3y agoyou need to write it elsewhere so that can be used as a source for the wikipedia article.
- DaiPlusPlus 3y agoBaseband chipsets. * For example, see https://news.ycombinator.com/item?id=10905937 https://news.ycombinator.com/item?id=10905937 * Mobile-phone baseband chipsets are proprietary and secret a.f. and part of that is down to the carrier's insistence. * Baseband chipsets run software that the carrier ships OTA to the phone. * While baseband chipsets are ostensibly part of the wireless modem and meant to simply provide a service to the rest of the phone it looks like they generally have some form of access to the phone's main memory bus (just like any other PCIe device in a PC) and so could read the framebuffer (assuming it's backed in RAM at all) - or at least the back-buffers of the screens of running applications. * Even 6-7 years ago, there existed definite causes for concern in (at least) the 32-bit version of iOS - but I can't find any hard evidence that the baseband chip in Apple Silicon-era phones wouldn't have at least some access. See https://github.com/userlandkernel/baseband-research https://github.com/userlandkernel/baseband-research
- johnnyo 3y agoIt’s not clear to me, but can usernames be reused? Let’s say I create a username and then later delete it as they suggest. Can someone else then create the username and continue the conversation? Is there a means to know if I’m talking to the same “Bob.smith.123” I was a few weeks back?
- woofcat 3y agoNo, username is only for discovery. So while reuse is allowed. Your contacts would stay connected with you.
- handsclean 3y agoMy understanding: 1. You use the username to connect to Bob.smith.123. This creates a conversation with the user who currently has that username. 2. You can’t see that user’s username, just “Bob Smith” or their name in your contacts, so them changing or deleting their username isn’t even visible to you. Your conversation is unaffected. 3. If, in the future, you add username Bob.smith.123 again, it may be a different person. I think the name is a mistake, I’d have called it an “add code” or something. Clearer to explain a new thing than to say a word that means a dozen wrong things and always be correcting everybody.
- crossroadsguy 3y agoI agreed with your suggestion. Username is a poor choice. I’ll go ahead and repeat that I have said in previous comments: > or their name in your contacts This is a huge mistake on Signal’s part — even if both have saved each other’s numbers the username-to-username connection should not mix with any other “normal conversation” ever!! They should also not try to show the ser “name” either - some other name or a named conversation.
- pests 3y agoIt's literally an invite code like discord has. Weird naming.
- TwoNineFive 3y agoNo, because it's not a username. I don't know why they are calling them that. It's just weird.
- wolverine876 3y agoIt sounds great and well thought through, as always for Signal. I wonder how they handle two potential security holes: 1. Imagine a journalist publicizes a username for a long time, then changes it. The old username would persist in data stores online and in address books, and would be used in error. An attacker could acquire the old username and impersonate the journalist. Perhaps a solution is to make at least some usernames, possibly at the user's option, non-reusable. 2. One strength of Signal is not only do they not collect much user data, they can't. Under some court order, they could retain the hashed usernames.
- TwoNineFive 3y agoIt really bothers me that they are calling these "usernames" at all when they are clearly not.
- _8j50 3y agoWon't be going back to Signal anytime soon, too secure (lost important stuff due to their poorly designed backup system) for me. But this has always been why I claimed Signal can't be trusted and I'm glad I can't say that anymore. Assuming of course that you can use Signal on the desktop with usernames without ever involving a mobile app. If they haven't fixed that then I'm leaving them in the untrusted bin.
- ranguna 3y ago> too secure > (...) Signal can't be trusted Can't be trusted for what? Keeping your data safe from yourself?
- Moldoteck 3y agoI think they mean the public phone number. For some people only this thing was enough to not trust signal
- _8j50 3y agoI did. I can't secure mobile phones due to their design and available OS. And the whole phone number thing is too similar to how the NSA encouraged PGP email encryption because of the metadata. Phone numbers identify you even better than your finger print, gps and ip combined in some situations. You start sharing sensitive stuff more because everyone telld you how great Signal is despite that.
- ranguna 3y agoYeah, beats any of the other options atm. But I do hope they remove the phone number requirement.
- kaanyalova 3y agoWhat are you using instead?
- 3y ago