21.03.2013 Views

Problem - Kevin Tafuro

Problem - Kevin Tafuro

Problem - Kevin Tafuro

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

mount an offline dictionary attack on the server side, but the cost of such an<br />

attack can be made prohibitive.<br />

If an attacker somehow gets the secret database (e.g., if he manages to dumpster-dive<br />

for an old backup disk), he can masquerade as the client. PAX is a similar protocol<br />

that fixes this problem.<br />

PAX<br />

PAX (Public key Authenticated eXchange) is a basic two-way authenticating key<br />

exchange using public key encryption that uses passwords to generate the keys. The<br />

server needs to know the password once at initialization time, and never again.<br />

This protocol is similar to SAX, but has some minor advantages because it uses public<br />

key cryptography. For example, you can back away from using passwords (for<br />

example, you might take the key and put the client’s private key onto a smart card,<br />

obviating the need to type in a password on the client end). Additionally, if an<br />

attacker does get the authentication database, he nonetheless cannot masquerade as<br />

the client.<br />

PAX can be used in one of two modes:<br />

• You can get all the advantages of a full public-key based system 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,<br />

though).<br />

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

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

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

As with SRP, you can easily layer forward secrecy on top of PAX (by adding another<br />

layer of cryptography; see Recipe 8.21).<br />

Unlike SRP, PAX is not believed to be covered by patents.<br />

Kerberos<br />

Kerberos is a password-based authentication mechanism that requires a central<br />

authentication server. It does not use any public key cryptography whatsoever,<br />

instead relying on symmetric cryptography for encryption and authentication (typically<br />

DES or Triple-DES in CBC mode with MD5 or SHA1 for authentication).<br />

Although Kerberos never transmits passwords in the clear, it does make the assumption<br />

that users will not use weak passwords, which is a poor assumption to make,<br />

because users will invariably use passwords that they find easy to remember. That<br />

typically also makes these passwords easy for an attacker to guess or to discover by<br />

way of a dictionary attack.<br />

370 | Chapter 8: Authentication and Key Exchange<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!