<- Back to the timetable

On the Security and Privacy of Modern Single Sign-On in the Web

Guido Schmitz (gtrs), dfett

Most ordinary web users have accounts at (at least) one of the big players in the web: Facebook, Google, Microsoft (Hotmail, Live), or even Yahoo. Also, many of these users are always logged in at some web sites of these companies. For web sites by other parties, it seems convenient to just re-use this already established authentication: They do not need to annoy the user with registration and login, and these web sites also do not need to maintain and protect an authentication database on their own. This is where SSO protocols come into play -- most times OAuth 2.0 or OpenID Connect. Both protocols have in common that they even require that the identity providers track where users log in. The only attempt so far, that tried to do better to protect the user's privacy, is Mozilla's BrowserID (a.k.a. Persona). We have analyzed these SSO protocols and discovered various critical attacks that break the security of all three protocols and also break the privacy promise of BrowserID. In our research, however, we aim to get positive security proofs for such SSO systems: We will discuss fixes and redesigns and whether it is possible to create a secure and privacy-respecting SSO. Contents of the talk: How do OAuth, OpenID Connect, and BrowserID protocols work? Attacks on these protocols! Can we make SSO great again?

Download Slides
PDF ZIP JSON
0:00:07 - 0:00:10
0:01:06 - 0:01:10
0:01:10 - 0:01:18
0:01:18 - 0:01:22
0:01:22 - 0:01:32
0:01:36 - 0:01:50
0:02:08 - 0:02:14
0:02:15 - 0:02:22
0:02:25 - 0:02:36
0:02:36 - 0:02:47
0:02:58 - 0:03:10
0:03:10 - 0:03:29
0:03:34 - 0:03:45
0:03:51 - 0:03:53
0:04:08 - 0:04:23
0:04:38 - 0:05:00
0:05:21 - 0:05:39
0:05:45 - 0:06:08
0:06:08 - 0:06:33
0:07:04 - 0:07:06
0:07:06 - 0:07:35
0:07:48 - 0:07:55
0:07:56 - 0:08:21
0:08:21 - 0:08:39
0:09:01 - 0:09:06
0:09:09 - 0:09:13
0:09:13 - 0:09:18
0:09:22 - 0:09:24
0:09:29 - 0:09:32
0:09:32 - 0:09:39
0:10:15 - 0:10:28
0:10:28 - 0:10:41
0:11:07 - 0:11:14
0:11:25 - 0:11:30
0:11:48 - 0:11:55
0:11:58 - 0:12:08
0:12:10 - 0:12:13
0:12:21 - 0:12:24
0:12:24 - 0:12:31
0:12:38 - 0:12:45
0:12:55 - 0:13:01
0:13:06 - 0:13:23
0:13:23 - 0:14:00
0:14:01 - 0:14:11
0:14:11 - 0:14:16
0:14:49 - 0:14:55
0:15:00 - 0:15:13
0:15:16 - 0:15:20
0:15:53 - 0:15:57
0:16:06 - 0:16:08
0:16:18 - 0:16:20
0:17:17 - 0:17:25
0:17:32 - 0:17:47
0:17:47 - 0:17:55
0:18:04 - 0:18:16
0:18:59 - 0:19:21
0:19:36 - 0:19:47
0:19:47 - 0:19:54
0:19:59 - 0:20:18
0:20:30 - 0:20:35
0:20:46 - 0:20:49
0:20:57 - 0:21:27
0:21:40 - 0:21:52
0:22:06 - 0:22:35
0:22:47 - 0:22:51
0:22:51 - 0:22:54
0:22:59 - 0:23:10
0:23:21 - 0:23:37
0:23:46 - 0:23:55
0:24:03 - 0:24:14
0:24:24 - 0:24:38
0:25:11 - 0:25:17
0:25:21 - 0:25:24
0:25:24 - 0:25:28
0:26:05 - 0:26:14
0:26:33 - 0:26:41
0:26:42 - 0:26:58
0:27:12 - 0:27:16
0:27:17 - 0:27:23
0:27:23 - 0:27:42
0:27:47 - 0:27:54
0:28:26 - 0:28:48
0:29:25 - 0:29:35
0:29:42 - 0:29:46
0:30:00 - 0:30:09
0:30:23 - 0:30:29
0:30:30 - 0:30:59
0:31:14 - 0:31:29
0:31:30 - 0:31:39
0:31:44 - 0:31:48
0:31:58 - 0:32:03
0:32:14 - 0:32:16
0:32:38 - 0:32:40
0:32:41 - 0:32:44
0:32:46 - 0:32:49
0:32:51 - 0:32:56
0:33:00 - 0:33:04
0:33:06 - 0:33:08
0:33:08 - 0:33:14
0:33:16 - 0:33:28
0:33:37 - 0:33:46
0:33:53 - 0:33:57
0:34:00 - 0:34:11
0:34:24 - 0:34:47
0:34:48 - 0:34:52
0:34:53 - 0:34:55
0:34:55 - 0:35:16
0:35:27 - 0:36:19
0:36:30 - 0:36:43
0:36:51 - 0:36:58
0:36:59 - 0:37:02
0:37:03 - 0:37:06
0:37:06 - 0:37:08
0:37:09 - 0:37:21
0:37:22 - 0:37:32
0:37:32 - 0:37:41
0:37:49 - 0:37:58
0:38:10 - 0:38:26
0:38:51 - 0:38:59
0:39:07 - 0:39:15
0:39:16 - 0:39:24
0:39:24 - 0:39:31
0:39:41 - 0:39:57
0:40:11 - 0:40:52
0:41:03 - 0:41:12
0:41:13 - 0:41:15
0:41:17 - 0:41:19
0:41:19 - 0:41:33
0:41:33 - 0:41:43
0:41:45 - 0:41:53
0:41:57 - 0:42:03
0:42:04 - 0:42:23
0:42:37 - 0:42:39
0:42:40 - 0:42:46
0:42:47 - 0:42:49
0:42:49 - 0:43:08
0:43:08 - 0:43:22
0:43:22 - 0:43:29
0:43:29 - 0:43:33
0:43:33 - 0:43:47
0:43:47 - 0:44:00
0:44:09 - 0:44:28
0:44:28 - 0:44:38
0:45:43 - 0:45:57
0:45:57 - 0:46:05
0:46:05 - 0:46:12
0:46:12 - 0:46:17
0:46:18 - 0:46:20
0:46:24 - 0:46:33
0:46:33 - 0:46:44
0:46:47 - 0:46:56
0:47:01 - 0:47:07
0:47:11 - 0:47:24
0:47:25 - 0:47:29
0:47:29 - 0:47:34
0:47:35 - 0:47:39
0:47:40 - 0:47:43
0:47:43 - 0:47:50
0:47:51 - 0:48:03
0:48:19 - 0:48:27
0:48:34 - 0:48:42
0:48:43 - 0:48:48
0:48:51 - 0:48:55
0:48:55 - 0:48:59
0:49:05 - 0:49:14
0:49:14 - 0:49:21
0:49:36 - 0:49:39
0:49:41 - 0:49:43
0:49:52 - 0:50:03
0:50:05 - 0:50:16
0:50:20 - 0:50:24
0:50:45 - 0:50:49
0:50:55 - 0:51:04
0:51:21 - 0:51:34
0:51:49 - 0:52:01
0:52:38 - 0:53:36
0:53:47 - 0:54:16
0:56:29 - 0:56:41
1:03:48 - 1:03:51
1:03:53 - 1:03:57
1:03:57 - 1:04:02