OAuth 2实战

0
(0)

OAuth 2实战

作者:[美]贾斯廷·里彻/[瑞士]安东尼奥·桑索

出版社:人民邮电出版社

原作名:OAuth2inAction

译者:杨鹏

出版年:2019-4

页数:296

定价:89.00元

装帧:平装

丛书:图灵程序设计丛书·网络安全系列

ISBN:9787115509376

内容简介
······

本书深入探讨OAuth的运行机制,详细介绍如何在不安全的网络环境下正确使用、部署OAuth,确保安全认证,是目前关于OAuth最全面深入的参考资料。书中内容分为四大部分,分别概述OAuth 2.0协议,如何构建一个完整的OAuth 2.0生态系统,OAuth 2.0生态系统中各个部分可能出现的漏洞及其如何规避,以及更外围生态系统中的标准和规范。

作者简介
······

贾斯廷·里彻(Justin Richer),系统架构师、软件工程师,OAuth工作组重要成员,深度参与了OAuth 2核心规范的制定,任多个扩展规范的技术编辑,并领导开发了基于OAuth的服务端与客户端套件MITREid Connect。

安东尼奥·桑索(Antonio Sanso),就职于Adobe公司,长期从事安全研究工作。应用密码学博士,持有多项Web技术专利。

目录
······

第一部分 起  步

第1章 OAuth 2.0是什么,为什么要关心它  2

1.1 OAuth 2.0是什么  2

1.2 黑暗的旧时代:凭据共享与凭据盗用  5

1.3 授权访问  9

1.3.1 超越HTTP基本认证协议和密码共享反模式  10

1.3.2 授权委托:重要性及应用  11

1.3.3 用户主导的安全与用户的选择  12

1.4 OAuth 2.0:优点、缺点和丑陋的方面  13

1.5 OAuth 2.0不能做什么  15

1.6 小结  16

第2章 OAuth之舞  17

2.1 OAuth 2.0协议概览:获取和使用令牌  17

2.2 OAuth 2.0授权许可的完整过程  17

2.3 OAuth中的角色:客户端、授权服务器、资源拥有者、受保护资源  25

2.4 OAuth的组件:令牌、权限范围和授权许可  27

2.4.1 访问令牌  27

2.4.2 权限范围  27

2.4.3 刷新令牌  27

2.4.4 授权许可  28

2.5 OAuth的角色与组件间的交互:后端信道、前端信道和端点  29

2.5.1 后端信道通信  29

2.5.2 前端信道通信  30

2.6 小结  32

第二部分 构建OAuth环境

第3章 构建简单的OAuth客户端  34

3.1 向授权服务器注册OAuth客户端  34

3.2 使用授权码许可类型获取令牌  36

3.2.1 发送授权请求  37

3.2.2 处理授权响应  39

3.2.3 使用state参数添加跨站保护  40

3.3 使用令牌访问受保护资源  41

3.4 刷新访问令牌  43

3.5 小结  47

第4章 构建简单的OAuth受保护资源  48

4.1 解析HTTP请求中的OAuth令牌  49

4.2 根据数据存储验证令牌  50

4.3 根据令牌提供内容  53

4.3.1 不同的权限范围对应不同的操作  54

4.3.2 不同的权限范围对应不同的数据结果  56

4.3.3 不同的用户对应不同的数据结果  58

4.3.4 额外的访问控制  61

4.4 小结  61

第5章 构建简单的OAuth授权服务器  62

5.1 管理OAuth客户端注册  62

5.2 对客户端授权  64

5.2.1 授权端点  64

5.2.2 客户端授权  66

5.3 令牌颁发  68

5.3.1 对客户端进行身份认证  69

5.3.2 处理授权许可请求  70

5.4 支持刷新令牌  72

5.5 增加授权范围的支持  74

5.6 小结  77

第6章 现实世界中的OAuth 2.0  78

6.1 授权许可类型  78

6.1.1 隐式许可类型  79

6.1.2 客户端凭据许可类型  81

6.1.3 资源拥有者凭据许可类型  85

6.1.4 断言许可类型  89

6.1.5 选择合适的许可类型  91

6.2 客户端部署  92

6.2.1 Web应用  93

6.2.2 浏览器应用  93

6.2.3 原生应用  94

6.2.4 处理密钥  99

6.3 小结  100

第三部分 OAuth 2.0 的实现与漏洞

第7章 常见的客户端漏洞  102

7.1 常规客户端安全  102

7.2 针对客户端的CSRF攻击  103

7.3 客户端凭据失窃  105

7.4 客户端重定向URI注册  107

7.4.1 通过Referrer盗取授权码  108

7.4.2 通过开放重定向器盗取令牌  111

7.5 授权码失窃  113

7.6 令牌失窃  114

7.7 原生应用最佳实践  115

7.8 小结  116

第8章 常见的受保护资源漏洞  117

8.1 受保护资源会受到什么攻击  117

8.2 受保护资源端点设计  118

8.2.1 如何保护资源端点  118

8.2.2 支持隐式许可  126

8.3 令牌重放  128

8.4 小结  130

第9章 常见的授权服务器漏洞  131

9.1 常规安全  131

9.2 会话劫持  131

9.3 重定向URI篡改  134

9.4 客户端假冒  138

9.5 开放重定向器  140

9.6 小结  142

第10章 常见的OAuth令牌漏洞  143

10.1 什么是bearer令牌  143

10.2 使用bearer令牌的风险及注意事项  144

10.3 如何保护bearer令牌  145

10.3.1 在客户端上  145

10.3.2 在授权服务器上  146

10.3.3 在受保护资源上  146

10.4 授权码  147

10.5 小结  152

第四部分 更进一步

第11章 OAuth令牌  154

11.1 OAuth令牌是什么  154

11.2 结构化令牌:JWT  155

11.2.1 JWT的结构  156

11.2.2 JWT声明  157

11.2.3 在服务器上实现JWT  158

11.3 令牌的加密保护:JOSE  160

11.3.1 使用HS256的对称签名  161

11.3.2 使用RS256的非对称签名  162

11.3.3 其他令牌保护方法  165

11.4 在线获取令牌信息:令牌内省  166

11.4.1 内省协议  167

11.4.2 构建内省端点  168

11.4.3 发起令牌内省请求  170

11.4.4 将内省与JWT结合  171

11.5 支持令牌撤回的令牌生命周期管理  172

11.5.1 令牌撤回协议  172

11.5.2 实现令牌撤回端点  173

11.5.3 发起令牌撤回请求  174

11.6 OAuth令牌的生命周期  175

11.7 小结  177

第12章 动态客户端注册  178

12.1 服务器如何识别客户端  178

12.2 运行时的客户端注册  179

12.2.1 协议的工作原理  180

12.2.2 为什么要使用动态注册  181

12.2.3 实现注册端点  183

12.2.4 实现客户端自行注册  186

12.3 客户端元数据  188

12.3.1 核心客户端元数据字段名表  188

12.3.2 可读的客户端元数据国际化  190

12.3.3 软件声明  191

12.4 管理动态注册的客户端  192

12.4.1 管理协议的工作原理  193

12.4.2 实现动态客户端注册管理API  195

12.5 小结  202

第13章 将OAuth 2.0用于用户身份认证  203

13.1 为什么OAuth 2.0不是身份认证协议  203

13.2 OAuth到身份认证协议的映射  205

13.3 OAuth 2.0是如何使用身份认证的  207

13.4 使用OAuth 2.0进行身份认证的常见陷阱  208

13.4.1 将访问令牌作为身份认证的证明  208

13.4.2 将对受保护API的访问作为身份认证的证明  209

13.4.3 访问令牌注入  209

13.4.4 缺乏目标受众限制  210

13.4.5 无效用户信息注入  210

13.4.6 不同身份提供者的协议各不相同  210

13.5 OpenID Connect:一个基于OAuth 2.0的认证和身份标准  210

13.5.1 ID令牌  211

13.5.2 UserInfo端点  212

13.5.3 动态服务器发现与客户端注册  214

13.5.4 与OAuth 2.0的兼容性  216

13.5.5 高级功能  216

13.6 构建一个简单的OpenID Connect系统  217

13.6.1 生成ID令牌  217

13.6.2 创建UserInfo端点  219

13.6.3 解析ID令牌  221

13.6.4 获取UserInfo  222

13.7 小结  224

第14章 使用OAuth 2.0的协议和配置规范  225

14.1 UMA  225

14.1.1 UMA的重要性  226

14.1.2 UMA协议的工作原理  227

14.2 HEART  237

14.2.1 HEART的重要性  237

14.2.2 HEART规范  238

14.2.3 HEART机制维度的配置规范  238

14.2.4 HEART语义维度的配置规范  239

14.3 iGov  239

14.3.1 iGov的重要性  240

14.3.2 iGov展望  240

14.4 小结  240

第15章 bearer令牌以外的选择  241

15.1 为什么不能满足于bearer令牌  241

15.2 PoP令牌  242

15.2.1 PoP令牌的请求与颁发  245

15.2.2 在受保护资源上使用PoP令牌  246

15.2.3 验证PoP令牌请求  246

15.3 PoP令牌实现  247

15.3.1 颁发令牌和密钥  247

15.3.2 生成签名头部并发送给受保护资源  249

15.3.3 解析头部、内省令牌并验证签名  250

15.4 TLS令牌绑定  252

15.5 小结  254

第16章 归纳总结  255

16.1 正确的工具  255

16.2 做出关键决策  256

16.3 更大范围的生态系统  257

16.4 社区  257

16.5 未来  258

16.6 小结  259

附录A 代码框架介绍  260

附录B 补充代码清单  265

评论 ······

马马虎虎,至少让我深入了解了OAuth2.0

讲的不错 理论和现实实践都有

讲的太啰嗦了,或者说太细了

读完RFC6749再来翻这本,内容翔实,帮助很大~

点击星号评分!

平均分 0 / 5. 投票数: 0

还没有投票!请为他投一票。

推荐阅读

评论 抢沙发

评论前必须登录!

 

登录

找回密码

注册