-
Notifications
You must be signed in to change notification settings - Fork 308
implement multi-factor auth #638
Comments
Security setup has to be carefully balanced. If you make things very secure, it makes both legitimate and malicious users have to jump through more hoops to make changes. This is good because it gives the users a peace of mind, but it's bad because it makes using the product harder (more passwords to enter, etc.). On the other hand, if you make security more lightweight (probably closer to what it is now), it has the advantage that for legitimate users the user experience is very pleasant. Just click on one link and you're in - no need to get your phone to run an app and copy down a single-use token. But it has the potential disadvantage if you feel the security level is not adequate, so you'll be concerned it's equally easier for an attacker to compromise your account. |
Now, how much security Gittip needs depends on its attack vectors. It's probably helpful to decrease those as much as possible. Since it's not possible to directly charge the credit card you have on file, that attack falls out. Here's one I can think of off the top of my head. If an attacker knows your Twitter or GitHub login, they can wait until a minute before the transactions occur, login and set your tipping amounts for a X of its receiving accounts at maximum ($24). That way, even if you verify that your Gittip account hasn't been compromised daily, you will be helpless to prevent this attack. You will end up unintentionally giving away $24 * X to your attacker. There are some steps that can be taken to prevent that kind of attack, even if an account is compromised. These may be worth considering. For instance, if the exact time of day when the transactions take place is not known, the attacker cannot perform the switcheroo a minute before. They'd have to do it a day in advance, and you have a better chance of noticing an attack in progress. This is just to get a discussion started. I don't yet have much experience with how Gittip works, so I could be wrong about some things. I'm not an expert at security either, but I do enjoy the subject. |
Having something like #90 implemented might be helpful here, by making changes to tipping more visible. |
Perhaps this could be done in opt-in manner? Similar to what many sites do. Google Authenticator is something that other sites have used to do this for free (for example, Stripe does this), but that would mean requiring everyone to have either an iOS or Android device, which is far from ideal imo. The other possible solution I could think of is providing one-time passwords/links via e-mail, but that's also bit of a hassle. |
Whatever the extra security protocol (secondary Gittip-specific password, or Google Authenticator codes, or something else), it can be invoked at different times. You can choose when to incur those prompts:
To be honest, right now I don't like any of those because they would all compromise the (currently) elegant user experience at Gittip.com. I don't want to see it ridden with password/code entries at every step. Need to think more. |
Perhaps a pin system to protect the bank information? Protecting the ability to tip with it would be nice too but probably a pain to implement. And by pin, I don't necessarily think it should only be numbers. |
Copying my proposal here since #1430 was closed as a dupe...
|
In view of #756 (comment) I'd be willing to consider this to be more important than ★☆☆. |
Closing in light of our decision to shut down Gratipay. Thank you all for a great run, and I'm sorry it didn't work out! 😞 💃 |
From @shurcooL in private email:
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
The text was updated successfully, but these errors were encountered: