Bitcoin Forum
May 26, 2024, 06:34:20 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: [1]
1  Bitcoin / Project Development / Re: [ANN] Clef is secure two-factor authentication with no passwords or tokens on: April 10, 2015, 12:31:18 AM

This is very good question that I am also having. Your online documentation only talks about public key cryptography and says nothing about where the private keys are stored and their security. I guess the phone is generating a signature using the private key.

Can you put more detail on how this is secure:
  • How is the private key sandboxed? Since the phone is connected to internet , this is a concern for me. Other hardware devices like trezor or bank 2fa h/w devices  are not connected to internet , so it feels safer to me
  • Also I want to know, how are you getting enough entropy for the private key, is the implementation safe( We had same problem with other websites ). Can you open source this part

Good questions Smiley

The private keys are generated and stored on the phone -- on iOS we get to use hardware encryption and on Android we use PIN-based encryption (though we're considering using something like Rivetz here).

We use the standard system libraries for both platforms to generate the keys which offer plenty of entropy for this kind of usage (http://android-developers.blogspot.de/2013/08/some-securerandom-thoughts.html -- the SecureRandom patch of course happening after August 2013).

As for being Internet connected -- when we talk about theoretical security, an Internet-connected phone will never provide the same level of protection as a dedicated offline device. That said, dedicated devices as they exist today are all seed-based (and so must have a server counterpart that stores the exact same seed and which IS Internet connected as well as centralized). A key based, dedicated offline device is definitely possible, but the infeasibility of distributing them along with the increased burden of training people how to use them make them pretty farfetched for a broad audience.
2  Bitcoin / Project Development / Re: [ANN] Clef is secure two-factor authentication with no passwords or tokens on: March 27, 2015, 02:39:14 AM

There are two problems with losing your phone:

1) the finder can get into your account
2) the loser can no longer access their account

It's 2) that concerns me. How do I get back into my accounts once I lose the only copy of the required private keys? With google-auth I simply go to the paper backup of the 16 letter secret I made when I set up 2FA.

Yeah, the tradeoff for all of this is how much Clef manages vs. how much users manage their own security process. Tools like Google Authenticator give you more control over the technical process, but that's a lot of rope to let users hang themselves with. The result is that most sites see <1% of users opt-in to using two-factor, and even in Bitcoin that number is less than 15%. For the few users who are technical enough, that helps protect their accounts (unless there is a server breach, phishing, or bucket brigade attack).

Clef sees more than 50% of users opt-in because they don't need to manage any of the process. At the site level, that means a whole lot more users are actually safe and we can reduce fraud by a much more significant factor (as well as protect from more common attacks).

For account reactivation, that focus on usability means we never ask users to write down their key (of the few people who use token-based two-factor, less than 1% write down their backup codes). Instead, we set them up with a new key pair once we confirm their identity with the process I described before.

A little while ago, I had a conversation with 5 ex-DOD white hats about Clef's architecture. At the end of my overview, one of them asked "How do you handle nation-state attacks when they're willing to used advanced interrogation to compromise an account." I told him we weren't solving for that yet Smiley

There are a lot of ways to make theoretical security gains, but the only security that matters is the security you use.  Wink
3  Bitcoin / Project Development / Re: [ANN] Clef is secure two-factor authentication with no passwords or tokens on: March 25, 2015, 01:29:16 AM
tl;dr - to use Clef, you have to trust us, but public key auth is much harder to hack, so the overall security is way stronger

Do you offer a bare-bones open source client? I currently have no way of telling whether the private keys are being shared with your servers or whether they are only stored locally on my phone.

I'd be interested in knowing this too

I also don't see any options to back up my private keys.

What happens if I lose my phone?

Thanks for the questions! These are both really interesting things that we think a lot about.

We don't have a bare-bones open source client, but we are working on open sourcing all of Clef. While a bare-bones client might be appealing to some really technical users, it could lead to some really confusing (and malicious) options for non-technical users. If there are a plethora of apps that "work" with Clef, how is the average user supposed to know which ones are generating and protecting their keys correctly?

Even open source, we could be compiling something extra into the app, but you can always look at the outgoing traffic from Clef on your phone to see that we're not sending the private keys.

As for lost phones -- right now you can deactivate a phone by confirming an email and the four digit PIN used to set up the Clef account (this is heavily rate-limited and zero PIN attempts can be made until after the email has been confirmed). In the next few months we'll be rolling out some additional layers of proof to give users more options for resetting their account -- this'll include letting users download their private key and disable all other forms of deactivation/reactivation.
4  Bitcoin / Project Development / Re: [ANN] Clef is secure two-factor authentication with no passwords or tokens on: March 24, 2015, 01:12:22 AM

I'll repeat my question in case you missed it.

Is Clef really enhancing security, or is it adding a new possible exploit vector? It seems that sites using Clef now have to trust Clef not to compromise their users' accounts (deliberately or otherwise). Is that correct? If so, that seems like it weakens security rather than strengthening it.

Before Clef: I use MtGox. I have to trust MtGox not to steal my coins or get hacked.
After Clef: I use MtGox and Clef. I have to trust both MtGox AND Clef not to steal my coins or get hacked.

With Clef, I've doubled the number of institutions who I need to trust.

Or do I have it wrong? I'd be interested in integrating Clef into Just-Dice if it really does strengthen security.


Hey dooglas, using Clef definitely strengthens your overall security!

Instead of using passwords and seeds (which need to be stored centrally and can be stolen), Clef uses public-key crypto to log users in. That means that most hacks against a Clef-protected account are completely impossible (you can see more at getclef.com/security). If Clef is hacked, we only have the public keys and so there’s nothing for an attacker to steal or use against the user. 

You do need to trust Clef for us to provide that protection. In the pre-Clef model, every developer is asked to stay informed about and re-implement best security practices on their own and we know that many developers are making mistakes or falling out of date. At Clef, we’re focused on doing one thing well and we’re much more likely to get it right.

As for whether you can trust that we’re not a malicious company — there are a couple of useful pieces of information:
    * We’re a venture-backed company, so we’ve passed background checks and the company is well documented
    * Our address and the names of our team are all listed on our about page (getclef.com/about)
    * Clef has been around for more than 2 years and protects nearly 50,000 sites

Early on, we experimented with sharing public keys with sites that implemented Clef so that they could verify signatures (so they could trust us even less). We found that most sites preferred a simpler integration and that the sites that did the extra work frequently messed up some of the crypto because they didn’t understand it. That lowered the security and the usability of the system, so we stopped sharing them, but it’s something we still think about. I’d be happy to hear your thoughts about this.



tl;dr - to use Clef, you have to trust us, but public key auth is much harder to hack, so the overall security is way stronger
Pages: [1]
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!