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.

Kerberos does assume that the environment in which it operates is insecure. It can<br />

overcome a compromised system or network; however, if the system on which its<br />

central database resides is compromised, the security afforded by Kerberos is seriously<br />

compromised.<br />

We cover authentication with Kerberos in Recipe 8.13. Because of the complexity of<br />

the SSPI API in Windows, we do not cover Kerberos on Windows in this book.<br />

Instead, recipes are available on our web site.<br />

Windows NT LAN Manager (NTLM)<br />

Windows NT LAN Manager is a password-based protocol that avoids sending the<br />

password out over the wire by using a challenge-response protocol, meaning that the<br />

two ends each prove to the other that they have the secret, without someone actually<br />

sending the secret. Therefore, NTLM (which does not itself provide a secure<br />

channel) can be used over an insecure channel. However, it is still subject to a number<br />

of password attacks on the server, particularly because the server must store the<br />

actual password.<br />

Windows uses NTLM for network authentication and for interactive authentication<br />

on standalone systems. Beginning with Windows 2000, Kerberos is the preferred network<br />

authentication method on Windows, but NTLM can still be used in the<br />

absence of a Kerberos infrastructure.<br />

Because of the complexity of the SSPI API in Windows, we do not cover authentication<br />

with NTLM in this book. Instead, recipes are available on our web site.<br />

SSL certificate-based checking<br />

Secure Sockets Layer (SSL) and its successor, Transport Layer Security (TLS), use<br />

certificates to allow entities to identify entities in a system. Certificates are verified<br />

using a PKI where a mutually trusted third party vouches for the identity of a certificate<br />

holder. See Recipe 10.1 for an introduction to certificates and PKI.<br />

Certificates are obtained from a trusted third party known as a certification authority<br />

(CA), which digitally signs the certificate with its own private key. If the CA is<br />

trusted, and its signature on the certificate is valid, the certificate can be trusted. Certificates<br />

typically also contain other important pieces of information that must also<br />

be verified—for example, validity dates and the name of the entity that will present<br />

the certificate.<br />

To be effective, certificates require the mutually trusted third party. One of the primary<br />

problems with certificates and PKI is one of revocation. If the private key for a<br />

certificate is compromised, how is everyone supposed to know that the certificate<br />

should no longer be trusted? CAs periodically publish lists known as certificate revocation<br />

lists (CRLs) that identify all of the certificates that have been revoked and<br />

should no longer be trusted, but it is the responsibility of the party verifying a certificate<br />

to seek out these lists and use them properly. In addition, there is often a signifi-<br />

Choosing an Authentication Method | 371<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!