Re: Yubikeys are now supported

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Friday, October 08, 2010 12:06:58 am Paul Wouters wrote:
> On Thu, 7 Oct 2010, Mike McGrath wrote:
> > My understanding on this is, and I reserve the right to misunderstand
> > this, is that once the AES key is on the yubikey, there is no way to get
> > it off of there.  That key is just used to generate OTP's.  So if an
> > attacker were to get an OTP they could use it to access fedora resources.
> > But only once (which is kind of the point of the otp).  And they'd only
> > be able to use it once if the real user hadn't used it again making the
> > attack window smaller.
> 
> That's right. And since fedora is not using the yubikey as an audit trail,
> this is fine - anyone with root could obtain anyone AES key and "clone"
> a yubikey and login as someone else.
> 
> You might only see some people who know how yubikeys work decide on
> sticking to one device for multiple services which are not aware they
> are sharing the same AES key.
> 
> But it is a clear distinction from say ssh public keys, where I can give
> everyone my public ssh key without needing to trust the remote party at
> all (provided I don't use ssh -A to their servers)
> 
> Paul

Even if you use your yubikey with yubicos servers. and auth against multiple 
different providers your AES key is never exposed to to any of the places that 
you auth to.  you send them only the otp  it has a prefix of your AES key in it 
but not the whole key.  once written to the yubikey your AES key is not 
readable. all you can do is replace the AES key.

The plaintext token is 16 bytes long (the same size as one AES block) and
consists of the following fields, in C form.
#define UID_SIZE 6
typedef struct {
uint8_t userId[UID_SIZE];  /* Unique (secret) ID */
uint16_t sessionCtr;     /* Session counter (incremented by 1 at startup */
uint24_t timestamp;  /* Timestamp incremented by approx 8Hz */
uint8_t sessionUse;    /* Times used within session */
uint16_t rnd;               /* Pseudo-random value */
uint16_t crc;               /* CRC16 value of all fields */
} TICKET;


to actually duplicate someones key you need to not only get the AES key.  you 
also need to know the session counter and keep yours higher than the real 
user.  which would make the real users key no longer work. and trigger warning 
bells.

So yes someone if they had access to by AES key could duplicate my key  but i 
would know quickly.

It sounds like you do not fully understand how the yubikeys work. either that 
or i dont understand the attack you are describing?

Dennis

Attachment: signature.asc
Description: This is a digitally signed message part.

-- 
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/devel

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux