User Identity: Local Authentication
This sample chapter provides an overview of the basic components of successful local authentication. Topics covered include: protecting workstations, encryption of files and disks, a brief look at encryption and code-breaking in history, and the use and care of secret keys.
This sample chapter is excerpted from Authentication: From Passwords to Public Keys.
...acting on the principle that possession was nine tenths of the
Aaron Sokolski, Land Tenure and Land Taxation in America
In This Chapter
Workstation authentication and lock screens
File and disk encryption
Choosing and using effective encryption
Key handling issues
5.1 Laptops and Workstations
Patterns of sharing and access control also followed parallel evolutions. When desktop computers first appeared in offices, they were often shared. Anyone with physical access to a particular computer could do some work with it, just like researchers using the first computers in the 1950s. In the 1990s, the personal computer became an extension of the office worker's desk and file cabinet, and sharing became less common. People used the software equivalent of desk drawer locks to protect the privacy of their work in progress as well as sensitive company information.
Individual personal computers face two different threats: casual attackers and determined attackers. The casual attackers are like coworkers that might rifle through a colleague's desk uninvitedsomeone who takes advantage of easy access even if it violates social and ethical standards. Such people are usually deterred by relatively simple defenses. Casual attackers don't usually think of themselves as dishonest or unethical. Some people can twist the lack of defenses into an invitation: "If it was really meant to be kept secret they'd have a lock on the door, or password protect it, or something."
The earliest personal computer security mechanisms (beyond the lock on the office door) were designed to thwart casual attacks. The best known, the lock screen, grew out of a software fix for a hardware problem. Older computer screens suffered from a problem called "burn in," in which the screen's phosphor coating would wear out unevenly in response to the image it displayed. Macintosh displays that suffered from burn in, for example, would carry a faint image of the menu bar with the "apple" in the left hand corner, even if the computer and display were turned off. "Screen saver" software would detect when the computer had not been used for some period of time and then display changing patterns to prevent any single image from being burned in.
The lock screen was a security feature grafted onto the screen saver. As it was, the screen saver would essentially "take over" the computer's screen, keyboard, and mouse when it was unattended and retain control of it until the owner touched the keyboard or mouse. By adding a password, the screen saver could "lock out" anyone except the person knowing the password: this produced the lock screen mechanism.
Lock screens were soon caught up in the evolution of attacks and defenses. At first, screen savers with passwords often could be defeated by simply rebooting the computer. A few security-oriented screen savers tried to prevent this by tying themselves into the operating system so that they could retain control even if the computer was rebooted. Ultimately, the lock screen technology was built into desktop operating systems. While this prevented obvious attacks, even sophisticated lock screens remain vulnerable to fundamental attacks on personal computer hardware (see Attacks A-27, OS substitution, and A-30, I/O bus, in Section 4.2).
Determined attackers are rarely stopped by lock screens alone. A determined attacker has decided already to do something unethical or illegal, and has decided to expend personal effort on the attack. The only way to resist a determined attacker is with defenses that are too risky or costly to break down. In many cases, we can deter the attacker by making the attack visible or ensuring that it leaves a trail of evidence behind. In some cases it is enough just to detect and record the fact that the attack occurred, even if the attacker isn't identified.
More sophisticated desktop systems, notably Unix and Microsoft Windows NT or 2000, addressed the threat of more sophisticated attacks with more sophisticated access control. Unix originally had been designed as a multiuser operating system so it already incorporated the CPU-based protection mechanisms discussed in Section 4.2. Although Windows NT was designed at the outset as a personal computer operating system, the developers recognized that multiuser security features were essential to gain acceptance with major computer buyers, notably the U.S. government. These features were also incorporated into Windows 2000.
Even the Apple Macintosh system has incorporated access controls with Mac OS 9 and Mac OS X. Mac OS 9 incorporated user-based authentication and access control so that different users of a shared desktop computer could keep their files separate and, to some extent, confidential from one another. Mac OS X evolved from the Mach system, which had itself evolved from Unix and inherited Unix-like access controls.
User-based access controls, while important, are not perfect. A really motivated attacker can usually bypass these controls through a Trojan horse attack (Attack A-3 in Section 1.3). Moreover, user-based access controls on a single desktop workstation are vulnerable to the same physical attacks as lock screens.
Workstation security has achieved better results with network-based access control and with encryption. In network-based access control, the workstation's most important data resides on a server and the workstation's operator can use the data only after being authenticated. If the data resides on the workstation, then encryption is the only reliable technique to protect it, since the protection relies on knowledge of a base secret (the encryption key) and not on software defenses that attackers can bypass. The rest of this chapter examines cryptographic techniques, especially encryption and how it can provide a strong form of authentication and access control for workstation data.