Password Security: A Case History -- Morris and Thompson, 1979 -------------------------------------------------------------- Presents a history of the password mechanism in UNIX. Goal: high security with minimal burden to the users. Remote access systems are more vulnerable to attacks than local systems. The security of the password encryption algorithm is only a small part of the security problem. physical security of the system, communications security of the network, casual unauthorized access, and lack of security awareness among users are more serious issues in practice. Initial implementation: - cleartext password file with heavily restricted read/write access - problems include copies of the passwd file made by sysadms which can be used later, copies of the file on backup media, and dispersal of user information among many files which could actually go into the passwd file First approach: - encrypt passwd; used M-209 cipher machine in which given the plaintext and ciphertext, it was difficult to find the key; so passwd is used as a key to encrypt a constant - Attacks: attack on the algorithm (unsuccessful); key search (very successful, as many as 86% of the passwds could be found in the authors experience) solutions to this could be to force users to choose long passwds with special characters, or making the system generate good passwds Enhancements: - Slower encryption (DES), so that key search becomes slower - Less predictable passwds, enforced by the passwd entry system - Salted passwds: A random salt appended by the system to the passwd. This prevents attacks based on dictionaries of encrypted words. - Slight modification to DES to make fast DES chips unusable in passwd-cracking. - subtle point: perform encryption even in the case of invalid user name so that the 'bad guy' cannot guess valid user names Other: - 'external security code' for remote logins - logging all successful and unsuccessful accesses to the system * What is the meaning of the line "Salts make it nearly impossible to find out whether a person has used the same passwd on all the machines"? * Why haven't other mechanisms for authentication become more popular. For example, recognizing the speech of a person as he reads a random sentence, recognizing the pattern of inter-key-stroke delays as a person types out a sentence etc., Could these mechanisms augument the passwd mechanism to provide greater security ?