11.07.2015 Views

syssec_red_book

syssec_red_book

syssec_red_book

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

7. Authentication and Authorizationwords include public-key mechanisms, such as Microsoft’s CardSpace [122]and TLS client certificates [155], graphical passwords [103], and many more;unfortunately, none of the proposed alternatives has proven sufficiently enticing[108]. Two-factor authentication [77] is the most common way to complementpassword-based systems by requiring an additional password acqui<strong>red</strong>through a secondary independent channel. Currently, high-value services, suchas online banking services and e-mail providers, have deployed such solutionsin the form of either hardware tokens or smart-phone applications. Besides theobvious overhead of such a system in terms of both cost and effort, a surveyhas shown that it can push users to choose weaker passwords [399]. Moreover,it does not scale as the services increase. Single-sign-on services, such asOpenID and Face<strong>book</strong> Connect [277], offer the option of maintaining a singleonline identity protected by a single password, though which users may accessthird-party services. However, they present a single point of failure, do notchange the users’ habit of selecting weak passwords, may carry privacy-relatedrisks, and can also suffer vulnerabilities themselves [391].7.1 What Is the Problem?Password-based authentication has changed little in the many decades it hasbeen in use, and today it is more popular than ever, with countless webapplications using passwords to authenticate their users. In brief, on firstregistering with a service, a user selects the username and password thatwill be used for authentication. The application stores the username in plaintext, while it attaches a random prefix to the password, usually known as asalt, hashes the outcome using a cryptographic hash function such as SHA1or SHA2, stores the hash output along with the salt in the database, anddiscards the plain-text password. The salt is prefixed to ensure that, even if apassword is sha<strong>red</strong> by multiple users, a different hash will be generated andsto<strong>red</strong> in the database, and identical passwords cannot be identified. Most webservices require that authenticating users send their username and passwordin plain text to the service, and authentication is performed by using thesto<strong>red</strong> salt and transmitted password to reproduce a hash, and compare it withthe password in store. Users could also authenticate without sending theirplain-text password [248]; however, such mechanisms are less prevalent anda hash is still sto<strong>red</strong> on the server. We should also note that there are caseswhere passwords are simply sto<strong>red</strong> verbatim in the database [43].Passwords can be stolen, either in their plain-text form, or hashed. Assumingthat the device used to enter the password (e.g., a PC or smartphone) hasnot been compromised, and, thus, is not running malware than can captureuser input, passwords can be obtained by monitoring unencrypted communications[81], tricking users to divulge them voluntarily (e.g., through phishing or52

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!