-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PGP Key verification #18
Comments
This is a good question. Perhaps I should maintain a CHANGELOG in this git repo that has the same contents as the pgpsignedmsg.txt. That way the hash on bitaddress.org can be double checked on github. Would that be sufficient? It would also be nice if a "watch dog" ran a daemon to check the hash of the files on the site. |
Hm, given how big a target bitaddress.org is (or could easily become), I don't think that is sufficient. It's an improvement, but not by much. A watch dog could help some too, but if it always checked from the same IP at a regular interval, that would be easily defeated (by serving up the pristine site to the watchdog but the hacked version to everyone else). Honestly, I am having trouble coming up with a good scheme to protect users. Most users (even tech savvy ones) could be easily fooled if an attacker simply pointed the links somewhere else, changed the verification instructions etc. There has to be a verification scheme that users can perform without being told how by the page itself. Where would such instructions be hosted? There are probably lots of schemes that would work once they were put in place. People could sign your key, you could use timestamped messages (so people could verify the public key you say is yours, is the same one that was signed by a timestamping service at some 'known safe' time). |
I've been putting some thought into this question and I think it's a tricky one too. I think that posting any verification instructions on bitaddress.org doesn't help since that gives attackers a single target. (Hack the host and you can modify the JS and modify the instructions all at once.) The other thing I've been thinking about is how to make checksum verification fairly easy for ordinary folks. It's at least as hard to understand as Bitcoin itself. Here's my idea: What about posting the instructions as a youtube video uploaded using an extremely secure google account -- an account unassociated with any other emails, logins, services, etc. Features:
Like this: http://cl.ly/image/171m2P2D2L1J I know that google is evil etc. but Google is also huge and as far as I know YouTube has never been hacked before. In any case, it would bet a lot harder to hack than even above-average web hosting providers and domain name registrars.
|
@cantonbecker that doesn't solve the original problem. It does make an incremental improvement, where security rests on google who at least offers 2-factor auth. The root issue is pointbiz has no other public identity that his bitaddress.org users know about. I'm put in a pull request, and I don't even know his name or if he has accounts on reddit or bitcointalk or irc or a blog or what. I don't know what country he lives in. I can't call him up or talk to him on IRC and say, "Hey Joe. What's the fingerprint of your public key, just so I can be sure I have the right one"? I think without that, we're just going to be grasping at straws and not coming up with any good solution. The issue is "how do we know this wallet software came from the same guy that produced the original one"? Well, we don't even really know who that guy is sufficiently well. |
My bitcointalk username is pointbiz: My Public Key fingerprint is: In the bitcointalk thread about the site you can find all the checksums: Those checksums are: |
Remember it's not possible to tamper with git repositories because git uses the same hash chain technique of the blockchain. Any tampering would be self evident. If you clone the repo, then you can run the html file from your local computer. You would know if the repo had been tampered with simply by trying
If it didnt fast forward, the repo has been tampered with. Linux Torvalds already thought of this problem ;) |
@pointbiz I would suggest you PGP sign each commit message. If you merge work, then you should add a commit message PGP signed by you. This way, if someone got access to your github account, they cannot pretend to be you. |
Improved form labels to be clickable
If your bitaddress.org site was compromised, how would anyone know?
The signed message at https://www.bitaddress.org/pgpsignedmsg.txt is not worth anything unless we are sure it is signed with your public key and not the attacker's.
How do we verify this? I would imagine you would either have to prove your key pre-dates the site, or it has been signed by someone else in the bitcoin community that people are likely to trust?
The text was updated successfully, but these errors were encountered: