11 User authentication

 

This chapter covers

  • The difference between authenticating people and data
  • User authentication to authenticate users based on passwords or keys
  • User-aided authentication to secure connections between a user’s devices

In the introduction of this book, I boiled cryptography down to two concepts: confidentiality and authentication. In real-world applications, confidentiality is (usually) the least of your problems; authentication is where most of the complexity arises. I know I’ve already talked a lot about authentication throughout this book, but it can be a confusing concept as it is used with different meanings in cryptography. For this reason, this chapter starts with an introduction of what authentication really is about. As usual with cryptography, no protocol is a panacea, and the rest of the chapter will teach you a large number of authentication protocols that are used in real-world applications.

11.1 A recap of authentication

By now, you have heard of authentication many times, so let’s recap. You learned about

  • Authentication in cryptographic primitives like message authentication codes (covered in chapter 3) and authenticated encryption (covered in chapter 4)
  • Authentication in cryptographic protocols like TLS (covered in chapter 9) and Signal (covered in chapter 10), where one or more participants of a protocol can be authenticated

11.2 User authentication, or the quest to get rid of passwords

11.2.1 One password to rule them all: Single sign-on (SSO) and password managers

11.2.2 Don’t want to see their passwords? Use an asymmetric password-authenticated key exchange

11.2.3 One-time passwords aren’t really passwords: Going passwordless with symmetric keys

11.2.4 Replacing passwords with asymmetric keys

11.3 User-aided authentication: Pairing devices using some human help

11.3.1 Pre-shared keys

11.3.2 Symmetric password-authenticated key exchanges with CPace

11.3.3 Was my key exchange MITM’d? Just check a short authenticated string (SAS)

Summary

sitemap