Computer access control is an ongoing challenge. Left to themselves, computers tend to treat one user no differently than another. Computers use authentication to confidently associate an identity with a person. Authentication: From Passwords to Public Keys gives readers a clear understanding of what an organization needs to reliably identify its users and how different techniques for verifying identity are executed.
Authentication is one of the basic building blocks of security. To allow a computer system to distinguish between legitimate users and others, most sites give passwords to authorized users. Unfortunately, just as car thieves have found ways to defeat sophisticated locks and alarms, computer hackers are always finding new ways to circumvent password systems. The good news is that organizations now have available to them a broad range of alternatives to passwords, and a variety of ways to make passwords safer. A well-designed authentication system allows users to prove their identities conveniently and gain access to the network without threatening the safety of the organization.
The first of its kind, Authentication describes the entire range of authentication methods used today. It examines situations in which certain techniques fail and points out ways to strengthen them. Network professionals, designers, developers, administrators, planners, and managers will find in these pages the authentication strategy to protect their valuable systems. Through diagrams and examples, the author thoroughly explains the technical concepts behind authentication, focusing on existing, off-the-shelf solutions to security problems.
Authentication highlights real products and solutions. If you are a network professional searching for the how and why of computer authentication, this is the book that will help you prevent unauthorized access on your network.
Click below for Web Resources related to this title:
Author's Web Site
Click below for Sample Chapter related to this title:
What This Book Is About.
Who This Book Is For.
A Very Old Story.
Elements of an Authentication System.
Revised Attacks and Revised Defenses.
Authentication in Timesharing Systems.
Passwords Under Attack.
Attacking the Secret.
Sniffing in Software.
Van Eck Sniffing.
Judging Attack Prevalence.
Passwords: Something You Know.
Authentication and Base Secrets.
The Unix Password System.
Attacking the Unix Password File.
The M-209 Hash.
The DES Hash.
The Internet WorM.
Resisting Guessing Attacks.
Randomness and Bit Spaces.
Biases in Base Secrets.
Average Attack Space.
Roles People Play.
Insiders and Outsiders.
Users and Administrators.
Carriers and Crackers.
Enrollment in Person.
Assigning an Initial Secret.
Changing the Initial Password.
Entropy and User Password Selection.
Statistical Bias in Text.
Estimating Bias in Password Selection.
Restricting Password Selection.
Therapeutic Password Cracking.
Automatic Password Generation.
Proactive Password Checking.
Limitations on Password Strength.
Patterns in Authentication Systems.
The Role of Physical Security.
Protecting Software Authentication.
Hardware Protection of Authentication.
Ease of Authentication.
Indirect Authentication Protocols.
Applying the Patterns.
Laptops and Workstations.
Encryption for Data Protection.
Shortcut Attacks on Encryption.
Trial-and-Error Attacks on Encryption.
Theoretical Guess-Rate Limitations.
Key Escrow and Crypto Politics.
Passwords and Usability.
Forcing Functions and Mouse Pads.
Different Secrets for Different Uses.
Improving Internal Password Entry.
Operator-Controlled Password Display.
Report Incorrect User Names.
Allow Many Password Guesses.
Report Incorrect Password Attempts.
Avoid Periodic Password Changes.
External and Administrative Passwords.
Storing Written Passwords.
Sequences and Groups of Passwords.
Forward Secrecy With Theme Words.
Passwords From Songs and Poems.
Biometrics: Something You Are.
Promise and Reality.
Uses of Biometrics.
Measuring Physical Traits.
Measuring Behavioral Traits.
How Biometrics Work.
Taking a Biometric Reading.
Feedback During Biometric Input.
Forging a Physical Trait.
Building and Matching Patterns.
Example: A Trivial Hand Geometry Biometric.
Enrolling a User.
Trading Off Usability and Security.
Average Attack Space.
Authenticity of Biometric Data.
The Problem of Biometric Exploitation.
Who Versus Where.
Telephone Numbers as Addresses.
Identification via Dial-Back.
Dial-Up Identification: Caller ID.
Addressing on the ARPANET.
Internet Protocol Addresses.
Attacks on Internet Addresses.
IP Address Theft.
Denial of Service Attacks.
Effective Source Authentication.
Unix Local Network Authentication.
Remote Procedure Calls, NFS, and NIS.
Authenticating a Geographical Location.
Tokens: Something You Have.
Network Password Sniffing.
Counter-Based One-Time Passwords.
Clock-Based One-Time Passwords.
Attacks on One-Time Passwords.
Man in the Middle Attack.
Incorporating a PIN.
PIN Appended to an External Password.
PIN as an Internal Password.
PIN as Part of the Base Secret.
Challenge Response and X.
Challenge Response Issues.
Known Ciphertext Attack on ANSI X9.9.
Password Token Deployment.
Handling Multiple Servers.
Evolving Windows Authentication.
Attacking the LANMAN Hash.
Plaintext Passwords on Windows.
Windows Challenge Response.
Attacking Windows Challenge Response.
Windows NTLM Authentication.
Attacking the NT Password Database.
Attacking NTLM Challenge Response.
Network Boundary Control.
One-Time Password Products.
LAN Resource Control.
A RADIUS Logon.
Protecting RADIUS Messages.
RADIUS Challenge Response.
Encrypted Connections and Windows NT.
Politics, Encryption, and Technical Choices.
Windows NT Secure Channels.
Secure Channel Keying.
Attacks on Secure Channels.
Computers' Authentication Secrets.
The Key Distribution Center.
The Authentication Server.
Authenticating to a Server.
User and Workstation Authentication.
Realms and Referral Tickets.
Attacking a Kerberos Network.
Kerberos in Windows 2000.
Master Keys and Workstation Authentication.
Service and Proocol Support.
Public Key Cryptography.
The RSA Public Key Algorithm.
Attacking RSA Keys.
Attacking Digital Signatures.
The Digital Signature Standard.
Challenge Response Revisited.
LOCKOut Fortezza Authentication Protocol.
FIPS 196 Authentication.
Secure Sockets Layer.
Establishing Keys with SSL.
Authentication with Typical SSL.
SSL Client Authentication.
Public Keys and Biometrics.
Tying Names to Public Keys.
Using the Right Certificate.
Certificates and Access Control.
Proprietors as Certificate Authorities.
Commercial Certificate Authorities.
Public Key Infrastructure.
Certified by Reputation.
Certified by a Web of Trust.
Certificate Revocation List.
Certificates with Kerberos.
Generating Private Keys.
The Private Key Storage Problem.
Smart Cards and Private Keys.
Off-Card Key Generation.
On-Card Key Generation.
Smart Card Access Control.
Private Keys on Servers.
Novell NetWare: Key Downloading.
Safeword Virtual Smart Card: Data Uploading.
... upon receiving on her ninety-second birthday the first copy of Why Buildings Stand Up, my mother-in-law said matter-of-factly, "This is nice, but I'd be much more interested in reading why they fall down."
Mario G. Salvadori, Why Buildings Fall Down
Although we're all inspired by engineering triumphs, we often learn the most from engineering failures. This observation was behind the book Why Buildings Fall Down by Levy and Salvadori, and it's the driving force behind this book, too. Not only do failures have important lessons to teach, but they have a special power to capture one's interest unlike a dry recitation of technical criteria or even the breathless evocation of some techno-utopian ideal.
This book looks at the problem of authentication: how computers can confidently associate an identity with a person. Most computers use passwords to do this, but even password systems can pose subtle and difficult problems for users, administrators, and developers. Once we decide to use something fancier than a list of passwords stored in a server, we face a broad range of choices and their associated risks. In this book we explore those choices by looking at situations in which different techniques fail and by examining ways to strengthen them. Often it becomes a game of ping-pong in which the new defense falls to a new attack, which inspires an even newer defense, and so on.
Individual security measures don't work in a vacuum: they work in an interconnected web with other measures. This book takes a high-level, architectural view of that web instead of diving into the details. Discussions cover physical and procedural requirements for security as well as technical requirements. Moreover, our technical discussions will bring up only as much detail as needed to clarify the security issues. Readers can find the exact order of bits for a particular protocol elsewhere. Here we focus on why the bits need to be there and what they need to convey. We look at what could happen, or may have happened, if we omit that part of the protocol.
I've tried to include real world examples of every important concept and mechanism. Such examples take abstract concepts and make them concrete. Every example here has a published source or comes from my own experiences assisting others with computer security. In the latter case, names must often be changed to protect the privacy of people and enterprises. When not threatened with retribution, people can be quite honest about how they handle passwords and about unauthorized shortcuts they might employ. Names have been changed or omitted to protect both the innocent and the guilty.Who This Book Is For
This book is written for people who want to understand both the how and why of computer authentication. Such people may be designers, developers, administrators, planners, or managers. Authentication is often their first line of defense against attack. The book's principal focus is on existing, off-the-shelf solutions. But in order to understand what we can buy, we often need enough design detail to guide an independent developer to achieve the same security results.
The book assumes a general familiarity with computer systems and the Internet as people typically use them today. It does not require specific knowledge about operating systems, networking protocols, or computer security. The book explains new technical concepts before discussing their implications, and uses plain English, graphical diagrams, and examples to make the important points. Some people learn by reading, others by seeing, and still others by doing. The book tries to accommodate the first two groups directly and, at least, entertain the third with stories of disaster.
It isn't practical to purge mathematical notation entirely from a book like this, even though some readers confront it like a poorly understood second language. Since there are a few places where a little simple algebra goes a long way, the book doesn't try to avoid algebraic notation entirely, but strives to make it straightforward.
AAbstract Syntax Notation #1 (ASN.1), 410, 411
Access control, 3-6
authentication versus, 5, 412
design patterns and, 104
limitations of, 5-6, 135-136
mechanisms, 3, 4, 120
disabling through operating system substitution, 109, 130, 131
policies, 6, 76, 79
public key certificates and, 412
smart cards and, 438-442
using biometrics, 439-442
using PINs, 438-439, 442
ActivCard, 268-269, 271, 286, 288
Active Directory facility, 363
Active tokens, 256, 258-261. See also Tokens
Addresses. See also Authentication, by address; Telephone numbers
hard wired, 224-225
Internet protocol, 232-234
LAN, using 802 standard, 232
network enforced, 225, 230-234
Adelman, Len, 373. See also RSA public key algorithm
Administrative requirements. See Authentication systems, administrative requirements
Administrators, 74, 76-78, 80, 117
access to user encryption keys, 151
access to user passwords, 20
passwords for, guidelines, 167, 175-178
physical security systems, 106, 107
system abuse by, 77, 100, 101, 279-280, 283, 284, 310
Advanced Encryption Standard (AES), 131, 144, 146, 242, 293
AFIS (automated fingerprint identification system), 196, 197, 219
Air Force, 16, 230
Alexander, Christopher, 103
Blowfish, 144, 146
CAST, 144, 146
block, 143-144, 329, 330-331, 346
stream, 143, 144-145, 329, 334-335, 329-330, 345
Diffie-Hellman, 381, 427, 431, 438
homegrown encryption, vulnerability of, 145, 153, 154
International Data Encryption Algorithm (IDEA), 144, 146, 148
open review of encryption, 146, 154
RSA public key, 373-380. See also RSA public key algorithm
Secure Hash Algorithm (SHA), 241, 385
American Bankers Association, 288
of costs and benefits, 8-9, 31, 218
of risk, 8-9, 31
Andressen, Mark, 389
ANSI X9.9 standard, 242, 288-289, 292
trial-and-error attack on, 293, 311, 312
ANSI X9.17 standard, 341, 344
Arbitrary addresses, 224
Architecture, 103, 114. See also Authentication systems, design patterns in
ARPANET, 225, 231-232, 313-314
ASN.1 (Abstract Syntax Notation #1), 410, 411
Asynchronous tokens, 272, 286. See also Challenge response; Tokens
Asynchronous Transfer Mode (ATM), 232
AT&T, 48, 88
ATM (Asynchronous Transfer Mode), 232
ATMs. See Automated teller machines
Attack space, average. See Average attack space
Attack time, average. See Average attack time
and defenses, summaries of
on biometrics, 220-221
on encryption, 153-154
on networks, 251-253, 282-284, 311-312, 338-339, 367-368
on passwords, 35-37, 69-71, 100-101, 130-131, 192
on public/private key systems, 399, 428-429, 450
common (prevalence level), 32-33
connection hijacking, 238
dictionary. See Dictionary attacks
downgrade, 303, 311
evolution of, 7, 11-14
guessing. See Guessing attacks
innovative (prevalence level), 34
Internet worms, 58-63, 90-91
as prevalence level, 33
on hardware, 109-110, 118-119, 138, 166
on people, 21
on tokens, 111-113, 261
prevalence levels, 32-34
replay. See Replay attacks
shortcut, on encryption, 145-146
sniffing. See Sniffing attacks
social engineering, 19-23, 83, 151, 226
sophisticated (prevalence level), 33
specific types of
abuse by administrator, 77, 100, 101
abuse by insider, 75, 100, 101, 244, 258, 319, 338, 370
account abuse, 81, 100, 101
account theft, 81, 100, 101
back door, 59, 60-61, 70, 71, 332
biometric interception, 216, 220, 221
biometric signature replay, 195, 206-208, 218, 220, 221
bogus certificate authority, 418-419, 428, 429
bogus name on public key certificate, 403-404, 428, 429
bogus password change, 21, 35, 37
buffer overrun, 59, 61, 70, 71
chosen message attack, 379, 380, 399
convert reject into acceptance, 319, 338, 339
copy hashes from NT recovery files, 310, 312
crack passwords in sections, 301-302, 311, 312
default password, 82, 100, 101, 109, 130, 131
dial-back back door, 227-228, 251, 252
dictionary, 52, 56-58, 59-60, 62, 70, 71, 90-91, 92-94, 157, 162-163, 167-168, 303