6 ms·
Followed the links to here: https://github.com/bluenumberfoundation/humanid-documentation/blob/bd46a938068a80716c5208af4c3005c2ab5a4ad6/humanIDWhitePaper.pdf ht
by minitech 5y ago
Followed the links to here: https://github.com/bluenumberfoundation/humanid-documentation/blob/bd46a938068a80716c5208af4c3005c2ab5a4ad6/humanIDWhitePaper.pdf https://github.com/bluenumberfoundation/humanid-documentatio...
> To make it more difficult to brute force, when generating the humanID Account ID, we will concatenate the phone number with a Salt Key (another string that will be appended before the hash).
> sha512hash ( Salt_Key + Phone Number ) = Hash Result
This is a complete joke (a SHA-512 of a phone number can be brute-forced on a typical computer in a fraction of a second). I doubt the rest of the protocols and cryptography are any better.
Also, phone numbers are not unique identifiers for people. Real people, malicious or not, have multiple or no phone numbers (or phone numbers that can’t receive SMS). I haven’t found a clear answer yet as to whether SMS verification is the only proof step but it seems like that’s the case.
- TylerE 5y agoThat's why there is a salt?
- tyingq 5y ago"The Salt Key is the combination of lowercase letters, uppercase letters and numbers. For SHA512 hash which is 64-bits, the recommended salt key is 64-bits." And the salt itself appears to be private, and I assume, unique per user. So, I'm in no position to say whether that's "good enough", but it's at least not something you're going to brute force in a few seconds.
- dheera 5y agoWell if you have 100K users you can still break through it in a day.
- kevincox 5y agoHow can it be unique per-user if it is used to calculate the account ID? There is a circular dependency here.
- tyingq 5y agoI thought it was used to generate a unique account ID, that could be verified later given a phone number. Assuming phone numbers aren't duplicated often, that's doable.
- extrapickles 5y agoIf the database leaked, the salt would become known. A truly anonymous system should still be just as effective if the entire DB is known to an attacker. Assuming there are on the order of 10 billion valid phone-numbers (there could be on the order of 100 billion depending on how far down the rabbit hole of international numbers you go). A GTX 1080 can do SHA512 @ ~1 billion/sec[0]. This means it will take 10 seconds (longer if you have a >11 digit number) to recover each phone number. This is fast enough that you don't need to bother hashing the phone book, you just brute force every possible number. I would expect the napkin math to come out to years of compute to unmask someone in the face of a DB leak, not seconds or minutes. [0]: https://gist.github.com/epixoip/a83d38f412b4737e99bbef804a270c40 https://gist.github.com/epixoip/a83d38f412b4737e99bbef804a27...
- bagels 5y agoWhy would the salt become known if it's also discarded? Do they need to re-hash the phone number a second time?
- extrapickles 5y agoAs far as I can tell they cannot discard the salt if they want to be able to tell if you already have a 'humanID'. Without the salt, you cannot tell if the phone number already has an account without having to brute force the salt. If they were serious about this, they should at least use scrypt or some other modern password hashing technique as salted sha512 can be computed too quickly on modern hardware.
- hinkley 5y agosha512 isn't 64 bits. It's 512 bits. That's why it's called sha512. But then the example salt they give is neither 64 bits nor 64 bytes. More like 26 bytes. I don't know who is more confused. Me, or them.
- bastianpurrer 5y agothis is an example for simplification & explanation reasons, as most of the people who see this website barely know what a bit is. we'll try to address this better, thanks for the feedback
- alisonkisk 5y agoSalt is not per user, nor is it a cryptographic secret. Salt is only used to make rainbow tables not scale across multiple databases, so each database needs its own rainbow table calculation. "Pepper" is per user, but widely regarded as unhelpful because, again, it's not cryptographically secure if the database is hacked.
- ShakataGaNai 5y agoI was curious about this exact thing when I saw they hashed a phone number (of all the easy to guess things). Yes a Salt makes it improbably to rainbow table... but if their database ever gets leaked then everyone is toast. It'll only take, as you said, seconds per account to brute force once the salt is exposed.
- dheera 5y agoAlso, goddamn, please stop using phone numbers as ID numbers. No, I don't want to give every service my phone number. > humanID blocks automated accounts, cyber-bullies, trolls, and freeloaders Yeah, stop right there. Please don't block automation. That blocks innovation in accessibility. Go after the bullies and trolls but please don't try to differentiate a human and robot user of your UI, because some humans need a robot to help them.
- floatingatoll 5y agoWhat externally-verifiable ID verification mechanism are you willing to participate, in order to demonstrate that you are not a sockpuppet? Phone numbers are crossed off the list, so at least we don't have to debate whether they're acceptable or not, and email addresses obviously aren't useful for preventing sockpuppets either. What else is left that is acceptable to you?
- matheusmoreira 5y ago> demonstrate that you are not a sockpuppet Why is this necessary in the first place?
- floatingatoll 5y agoI do encourage you to post your comment further upthread with more details about your view, but I won’t be participating in that thread. My focus here is solely on the question of which ID verification mechanisms are acceptable, as the parent comment only rejects one method without completing the thought by specifying the acceptable alternatives.
- alisonkisk 5y agoBecause spammers spams spam that ruins everything.
- dheera 5y ago> preventing sockpuppets Focus on preventing abusive usage patterns, not sockpuppets or robots. Sometimes I do want a sockpuppet to help me access information and reformat or deliver it to me in an alternative form that is better accessible to me.
- 1vuio0pswjnm7 5y ago"Anonymous Login" Is that some sort of oxymoron.
- userbinator 5y agoThat was my first thought upon seeing the title too. The whole idea of logging in is to show proof of your identity, which is exactly the opposite of being anonymous.
- pharmakom 5y agoI think they meant pseudo-nonymous
- davidmurdoch 5y agoYup. I didn't log in to a Google account for a while (like a year or two, maybe?). So Google just gave my old Google Voice number to someone else.
- inter_netuser 5y agoTelegram requires verification by phone. Despite that measure, spam from thousands of bots is not uncommon. Phone numbers barely help. What really works though, is microtransactions. I have not seen any spam in chats where you are required to pay even a tiny fraction of a cent to join (1/64000th of a cent).
- Sleepytime 5y agoThis is the idea behind hashcash[1], but instead of currency it's just a small proof of work. Some nominal PoW (a few seconds?) to bypass the spam filter smells like it would be remarkably effective at cutting down spam. [1] https://en.m.wikipedia.org/wiki/Hashcash https://en.m.wikipedia.org/wiki/Hashcash
- harwoodleon 5y agohttps://play.google.com/store/apps/details?id=com.fyncom.robocash https://play.google.com/store/apps/details?id=com.fyncom.rob... Nano currency (nano.org) makes this possible and has some working implementations.
- jaytaph2 5y agoThis is also what we do with bitmaelum[1]. Each message needs a proof of work for deliverance. Large (authentic) mailinglists can use an opt-in by a reader which allows the sender to bypass the pow restriction. [1] https://github.com/bitmaelum https://github.com/bitmaelum
- alisonkisk 5y agoHow is that better than any simple captcha?
- inter_netuser 5y agoI've had 5-6 different captcha bots, and they were routinely defeated. I've used this bot for microtransactions: https://twitter.com/lntxbot https://twitter.com/lntxbot
- rkagerer 5y agoSome of the language on their landing page is awkward or incorrect, eg: This, user data can never be leaked, stolen, or sold. humanID’s login is frictionless done in seconds – try yourself! If they can't even proofread their homepage content, it doesn't surprise me there are holes in their code.
- kgeist 5y agoPhone numbers are also recycled.