Bitcoin Forum
June 16, 2024, 09:43:36 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Yubikey or Google Authenticator? - What's safest for 2-factor authentication?  (Read 10966 times)
Kato (OP)
Newbie
*
Offline Offline

Activity: 41
Merit: 0


View Profile
March 27, 2013, 10:43:28 AM
 #1


It seems very wise to have 2 factor authentication, especially on a platform like Mt Gox which has had some history of bitcoin hacks. What's people's thoughts on which is safest and/or more convenient?
Un zafado cualquiera
Full Member
***
Offline Offline

Activity: 158
Merit: 100


aquí dice algo personal.


View Profile
March 27, 2013, 04:38:37 PM
 #2

Google authenticator...changes the key after a while and is free.
sebastian
Full Member
***
Offline Offline

Activity: 129
Merit: 118


View Profile
March 28, 2013, 06:59:30 PM
 #3

Would say Yubikey.

Reason: Google Authenticator is a softtoken. This means that it can easy be duplicated with anyone that has physical access to the token. With that, I say that screen lock on the phone is NOT enough, since content is not encrypted. Encrypting the phone and TURNING OFF the phone EVERYTIME you leave it behind will work. However, if someone was to sniff or figure out the encryption password will still be able to duplicate token without you noticing.
Note that copyng the token means copying the secret HMAC key stored in the android files, NOT simply copying token codes.

A problem is also that its a time-based token and not a event-based token. This means you will not notice if someone has unauthorizely used codes from a copied token, since both tokens will be roughtly in sync.

A event-based token will however desync if a code from a copied token is used, so your own codes will struggle. Also, its easy to detect unauthorized usage and infer a action, like locking the account until the key in the token has been refreshed via a secure means of authentication.

In other ways, as soon as you leave the phone in a unsupervised space for even a couple of minutes - you need to regard the phone as "compromised".

-------------------------------------------------

A yubikey however, is a hardtoken which is event-based. This gives both singularity and security against copied codes. Also theres additional security in Yubikey: A clock that is started on powerup and stopped at powerdown, which pretty presicely measures the time lapsed between 2 generated codes. This means the server can verify that the codes was presented with roughtly same interval as they was generated, which means its almost impossible to use codes copied into a notepad document and then used later.

The good with singularity is short of this: You can put the token on a bench on Metro Station, then wait a couple of months, and then come back and take the token, and still be secure. (Of course, somebody could have used token while it was lost, but once you have it again, you can be sure its secure since the token is UNCOPIABLE)
Its like car keys: You lend out the car and give the car keys to the lender.
Once you take back car keys you can be sure nobody else than you can open your car.

This also means a great possibility to give out temporarly access without risking somebody copying that access and storing it indefinitely.
Eg: You lend out a account with 1BTC on. You can later be sure that when you have got back the YubiKey and then fill the account with
10 000 BTC, you can be sure that the person that lended your youbikey CANNOT technically hold a copy of it.

So basically, once you program Yubikey with a AES key, it can never be retrieved, only overwritten.


-------------------------------------------------

A google authenticator token can be made secure by using a secure mobile micro-SD card with a built-in smartcard chip, that
can used to protect the HMAC secret. Then you get both the simplicity in having the token in a device you always have with you, and
the security in that the token is uncopyable since the secure smart-card microSD will not allow the HMAC key leave the card, only
give a access code that match a time.
If the microSD card also contains a secure clock, it can prevent codes from generated to the future.
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
March 28, 2013, 07:07:21 PM
Last edit: March 28, 2013, 07:41:58 PM by DeathAndTaxes
 #4

google authenticator does support "event based" codes (HOTP) although most site use the time based (TOTP) codes.  bitfloor for example uses HOTP.

https://tools.ietf.org/html/rfc4226

Android phones since version 3.0? have supported real-time full file system encryption and the decryption key is scrubbed from memory when the phone locks.  It is not enabled by default you will need to enable it in phone settings.  Lastly yubikeys are difficulty to copy but not impossible.  Researchers have removed private keys from FIPS certified HSM (the kind used by ATMs to authenticate messages from bank network).

If you are hyper paranoid setup MtGox to use a google authenticator code for login and a yubikey code for withdrawals. Smiley
sebastian
Full Member
***
Offline Offline

Activity: 129
Merit: 118


View Profile
March 30, 2013, 04:45:44 AM
 #5

Once its manufactred, its loaded keys are uncopiable.

Note that you can load any keys in Yubikey, so the things are essentially manufactred empty - and then loaded with keys at Yubikey manufacturer plant.
They can be reloaded as said with any keys, making the manufacturer plant IMPOSSIBLY know any keys. Also they contain no backdoors.

So essentially, its impossible to extract the AES key out of the device. This means that you cannot manufacture a new device that exhibits same behaviour as the old, since you need to know the AES key for that.
Kato (OP)
Newbie
*
Offline Offline

Activity: 41
Merit: 0


View Profile
March 31, 2013, 09:26:53 AM
 #6

Hey thanks everyone, already you've lifted my understanding of this 3 notches! I trust others will find this thread useful also.
msc_de
Hero Member
*****
Offline Offline

Activity: 770
Merit: 500



View Profile
March 29, 2014, 06:00:29 PM
 #7

thanks a lot
Bitalo_Maciej
Member
**
Offline Offline

Activity: 80
Merit: 10


Lead developer


View Profile WWW
March 30, 2014, 09:14:39 PM
 #8

At Bitalo, we use MePIN. It's like Google Authenticator on steroids. First, its safer than Google's solution, because the secret key never travels through user's computer, so the process is safe even if the computer is compromised during 2FA setup. Second, it's even more convenient, because you receive a push notification to your mobile and only need to press "OK" to accept the request, instead of typing digits into a form.

Web wallets get hacked all the time. Computer wallets get hacked all the time as well.
Solution? Hybrid P2SH wallets - safer than your online and offline wallets combined. Check it out, store and trade your Bitcoins with ease of mind!
escrow.ms
Legendary
*
Offline Offline

Activity: 1274
Merit: 1004


View Profile
March 30, 2014, 09:17:45 PM
 #9

At Bitalo, we use MePIN. It's like Google Authenticator on steroids. First, its safer than Google's solution, because the secret key never travels through user's computer, so the process is safe even if the computer is compromised during 2FA setup. Second, it's even more convenient, because you receive a push notification to your mobile and only need to press "OK" to accept the request, instead of typing digits into a form.

Nice it's same as enum app in webmoney.
elebit
Sr. Member
****
Offline Offline

Activity: 441
Merit: 250


View Profile
March 30, 2014, 09:33:21 PM
 #10

They use related standards and the underlying mathematics is sound. It is even possible to generate Google Auth-compatible tokens with a Yubikey and the other way around (with a few caveats, google it).

Yubikey is however a hard token and Google Auth is software, so the Yubikey is inherently more secure. It is also not as flexible, as you can't copy the secrets off the device.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!