21.03.2013 Views

Problem - Kevin Tafuro

Problem - Kevin Tafuro

Problem - Kevin Tafuro

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

consider slightly more sophisticated throttling, such as a limit of 12 times a day<br />

per IP address. (Of course, even that is not perfect). A far less restrictive method<br />

of throttling failed authentication attempts is discussed in Recipe 8.8.<br />

Protection against compromise<br />

SRP protects against most server-compromise attacks (but not a multiserver<br />

masquerading attack, which we do not think is worth worrying about anyway).<br />

It even prevents an attacker who compromises the server from logging into other<br />

machines using information in the database.<br />

Key exchange<br />

Another big benefit is that SRP exchanges a key as a side effect of authentication.<br />

SRP uses public key cryptography, which can be a denial-of-service issue.<br />

The big problem with SRP is that patents cover it. As a result, we do not explore SRP<br />

in depth. Another potential issue is that this algorithm does not provide forward<br />

secrecy, although you could easily introduce forward secrecy on top of it.<br />

Basic public key exchange<br />

There are plenty of strong authentication systems based on public key cryptography.<br />

These systems can meet most of the general requirements we’ve discussed, depending<br />

on how they’re implemented.<br />

Generally, the public key is protected by a password, but the password-protected key<br />

must be transported to any client machine the user might wish to use. This is a major<br />

reason why people often implement password-based protocols instead of using public<br />

key-based protocols. We discuss a basic protocol using public key cryptography<br />

in Recipe 8.16.<br />

SAX<br />

SAX (Symmetric Authenticated eXchange) is a protocol that offers most of the same<br />

benefits of SRP, but it is not covered by patents. Unlike SRP, it does not use public<br />

key encryption, which means that it minimizes computational overhead. There is a<br />

masquerading attack in the case of server compromise, but it effectively requires<br />

compromise of two servers and does not buy the attacker any new capabilities, so it<br />

is not very interesting in practice.<br />

SAX has two modes of use:<br />

• You can avoid leaking any information about the password if the user is willing<br />

to carry around or memorize a secret provided by the server at account creation<br />

time (that secret needs to be entered into any single client only once, though).<br />

• Otherwise, SAX can be used in an SRP-like manner, where the user need not<br />

carry around anything other than the password, but information about the password<br />

can be learned, but primarily through guessing attacks. Someone can<br />

Choosing an Authentication Method | 369<br />

This is the Title of the Book, eMatter Edition<br />

Copyright © 2007 O’Reilly & Associates, Inc. All rights reserved.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!