书籍详情
API安全进阶:基于OAuth 2.0框架(原书第2版)
作者:[美]普拉巴斯·西里瓦德纳(Prabath Siriwardena)
出版社:机械工业出版社
出版时间:2023-02-01
ISBN:9787111718215
定价:¥129.00
购买这本书可以去
内容简介
在过去几年中,API安全取得长足发展,API安全标准的数量呈指数级增长,企业API已经成为向外界开放业务功能的常见方式。开放功能当然很方便,但随之而来的是被攻击的风险。本书将带你学习如何更好地保护、监控和管理你的公共与私有API。 具体来说,本书将讲解如何利用OAuth 2.0协议及其相关配置,通过网络应用、单页面应用、本地移动应用和无浏览器应用来对API进行安全访问,并通过分析多个攻击案例使读者吸取经验教训,探究问题根源,并尝试改进安全实践,以减少未来发生类似攻击的概率。
作者简介
暂缺《API安全进阶:基于OAuth 2.0框架(原书第2版)》作者简介
目录
前言
致谢
作者简介
第1章 API就是一切1
1.1 API经济1
1.1.1 实例2
1.1.2 商业模式8
1.2 API发展历程9
1.3 API管理14
1.4 API在微服务中的作用18
1.5 总结23
第2章 API设计安全24
2.1 三重困境25
2.2 设计挑战27
2.3 设计原则32
2.4 安全三要素39
2.5 安全控制43
2.6 总结47
第3章 利用TLS协议保护API49
3.1 搭建环境49
3.2 部署订单API51
3.3 利用TLS协议保护订单API53
3.4 利用相互TLS协议保护
订单API55
3.5 在Docker容器中运行
OpenSSL56
3.6 总结57
第4章 OAuth 2.0协议基础58
4.1 OAuth 2.0协议简介58
4.2 OAuth 2.0协议参与者60
4.3 授权模式60
4.4 OAuth 2.0协议令牌类型68
4.5 OAuth 2.0协议客户类型69
4.6 JWT保护的授权请求70
4.7 推送授权请求72
4.8 总结73
第5章 API网关边际安全75
5.1 建立Zuul API网关75
5.2 为Zuul API网关启用TLS协议78
5.3 在Zuul API网关处进行
OAuth 2.0令牌验证80
5.3.1 建立OAuth 2.0安全
令牌服务80
5.3.2 测试OAuth 2.0安全
令牌服务82
5.3.3 创建具备OAuth 2.0令牌
验证功能的Zuul API网关84
5.4 在Zuul API网关和订单服务之间
启用相互TLS协议86
5.5 利用自包含访问令牌保护
订单API90
5.5.1 建立授权服务器来发布JWT90
5.5.2 利用JWT保护Zuul API网关92
5.6 网络应用防火墙的作用93
5.7 总结94
第6章 OpenID Connect协议95
6.1 从OpenID协议到OIDC协议95
6.2 亚马逊公司仍在使用
OpenID 2.0协议98
6.3 OpenID Connect协议简介98
6.4 ID令牌剖析99
6.5 OpenID Connect协议请求103
6.6 请求用户属性105
6.7 OpenID Connect协议流程107
6.8 请求定制用户属性108
6.9 OpenID Connect协议发现108
6.10 OpenID Connect协议身份
提供方元数据111
6.11 动态客户注册112
6.12 用于保护API的OpenID Connect
协议114
6.13 总结115
第7章 利用JSON Web签名实现
消息级安全116
7.1 JSON Web令牌简介116
7.1.1 JOSE头部117
7.1.2 JWT声明集合118
7.1.3 JWT签名121
7.2 JSON Web签名123
7.2.1 JWS紧凑序列124
7.2.2 签名过程(紧凑序列)127
7.2.3 JWS JSON序列128
7.2.4 签名过程(JSON序列)130
7.3 总结136
第8章 利用JSON Web加密实现
消息级安全137
8.1 JWE紧凑序列137
8.1.1 JOSE头部138
8.1.2 JWE加密密钥141
8.1.3 JWE初始向量143
8.1.4 JWE密文143
8.1.5 JWE认证标签143
8.1.6 加密过程(紧凑序列)144
8.2 JWE JSON序列145
8.2.1 JWE受保护头部145
8.2.2 JWE共享未保护头部145
8.2.3 JWE各接收方未保护头部146
8.2.4 JWE初始向量146
8.2.5 JWE密文146
8.2.6 JWE认证标签146
8.2.7 加密过程(JSON序列)146
8.3 嵌套JWT148
8.4 总结154
第9章 OAuth 2.0协议配置155
9.1 令牌自省155
9.2 链式授权方式158
9.3 令牌交换160
9.4 动态客户注册配置162
9.5 令牌废弃配置165
9.6 总结166
第10章 通过本地移动应用
访问API167
10.1 移动单点登录167
10.2 在本地移动应用中使用
OAuth 2.0协议170
10.2.1 应用间通信171
10.2.2 代码交换证明密钥172
10.3 无浏览器应用174
10.4 总结177
第11章 OAuth 2.0协议
令牌绑定178
11.1 令牌绑定简介179
11.2 令牌绑定协议协商相关的TLS
协议扩展180
11.3 密钥生成181
11.4 所有权证明181
11.5 针对OAuth 2.0协议更新令牌的
令牌绑定183
11.6 针对OAuth 2.0协议授权码/
访问令牌的令牌绑定184
11.7 TLS协议终止186
11.8 总结186
第12章 API联合访问188
12.1 启用联合功能188
12.2 代理认证189
12.3 安全断言标记语言191
12.4 SAML 2.0客户认证191
12.5 OAuth 2.0协议SAML
授权模式194
12.6 OAuth 2.0协议JWT授权模式196
12.7 JWT授权模式应用197
12.8 JWT客户认证198
12.9 JWT客户认证应用199
12.10 JWT解析验证201
12.11 总结202
第13章 用户管理访问203
13.1 应用示例203
13.2 UMA 2.0协议角色205
13.3 UMA协议206
13.4 交互声明收集209
13.5 总结210
第14章 OAuth 2.0协议安全211
14.1 身份提供方混淆211
14.2 跨站请求伪造214
14.3 令牌重用215
14.4 令牌泄露/导出217
14.5 开放重定向器218
14.6 代码拦截攻击220
14.7 简化授权模式中的安全
缺陷220
14.8 谷歌文档网络钓鱼攻击221
14.9 总结223
第15章 模式与实践224
15.1 利用可信子系统进行直接
认证224
15.2 利用代理访问控制实现单点
登录225
15.3 利用集成Windows身份认证实现
单点登录226
15.4 利用代理访问控制实现
身份代理227
15.5 利用JSON Web令牌实现代理
访问控制228
15.6 利用JSON Web签名实现
不可否认性229
15.7 链式访问代理230
15.8 可信主访问代理232
15.9 利用代理访问控制实现资源
安全令牌服务233
15.10 以线上无凭据的方式实现
代理访问控制235
15.11 总结235
附录236
附录A 身份委托技术的发展
致谢
作者简介
第1章 API就是一切1
1.1 API经济1
1.1.1 实例2
1.1.2 商业模式8
1.2 API发展历程9
1.3 API管理14
1.4 API在微服务中的作用18
1.5 总结23
第2章 API设计安全24
2.1 三重困境25
2.2 设计挑战27
2.3 设计原则32
2.4 安全三要素39
2.5 安全控制43
2.6 总结47
第3章 利用TLS协议保护API49
3.1 搭建环境49
3.2 部署订单API51
3.3 利用TLS协议保护订单API53
3.4 利用相互TLS协议保护
订单API55
3.5 在Docker容器中运行
OpenSSL56
3.6 总结57
第4章 OAuth 2.0协议基础58
4.1 OAuth 2.0协议简介58
4.2 OAuth 2.0协议参与者60
4.3 授权模式60
4.4 OAuth 2.0协议令牌类型68
4.5 OAuth 2.0协议客户类型69
4.6 JWT保护的授权请求70
4.7 推送授权请求72
4.8 总结73
第5章 API网关边际安全75
5.1 建立Zuul API网关75
5.2 为Zuul API网关启用TLS协议78
5.3 在Zuul API网关处进行
OAuth 2.0令牌验证80
5.3.1 建立OAuth 2.0安全
令牌服务80
5.3.2 测试OAuth 2.0安全
令牌服务82
5.3.3 创建具备OAuth 2.0令牌
验证功能的Zuul API网关84
5.4 在Zuul API网关和订单服务之间
启用相互TLS协议86
5.5 利用自包含访问令牌保护
订单API90
5.5.1 建立授权服务器来发布JWT90
5.5.2 利用JWT保护Zuul API网关92
5.6 网络应用防火墙的作用93
5.7 总结94
第6章 OpenID Connect协议95
6.1 从OpenID协议到OIDC协议95
6.2 亚马逊公司仍在使用
OpenID 2.0协议98
6.3 OpenID Connect协议简介98
6.4 ID令牌剖析99
6.5 OpenID Connect协议请求103
6.6 请求用户属性105
6.7 OpenID Connect协议流程107
6.8 请求定制用户属性108
6.9 OpenID Connect协议发现108
6.10 OpenID Connect协议身份
提供方元数据111
6.11 动态客户注册112
6.12 用于保护API的OpenID Connect
协议114
6.13 总结115
第7章 利用JSON Web签名实现
消息级安全116
7.1 JSON Web令牌简介116
7.1.1 JOSE头部117
7.1.2 JWT声明集合118
7.1.3 JWT签名121
7.2 JSON Web签名123
7.2.1 JWS紧凑序列124
7.2.2 签名过程(紧凑序列)127
7.2.3 JWS JSON序列128
7.2.4 签名过程(JSON序列)130
7.3 总结136
第8章 利用JSON Web加密实现
消息级安全137
8.1 JWE紧凑序列137
8.1.1 JOSE头部138
8.1.2 JWE加密密钥141
8.1.3 JWE初始向量143
8.1.4 JWE密文143
8.1.5 JWE认证标签143
8.1.6 加密过程(紧凑序列)144
8.2 JWE JSON序列145
8.2.1 JWE受保护头部145
8.2.2 JWE共享未保护头部145
8.2.3 JWE各接收方未保护头部146
8.2.4 JWE初始向量146
8.2.5 JWE密文146
8.2.6 JWE认证标签146
8.2.7 加密过程(JSON序列)146
8.3 嵌套JWT148
8.4 总结154
第9章 OAuth 2.0协议配置155
9.1 令牌自省155
9.2 链式授权方式158
9.3 令牌交换160
9.4 动态客户注册配置162
9.5 令牌废弃配置165
9.6 总结166
第10章 通过本地移动应用
访问API167
10.1 移动单点登录167
10.2 在本地移动应用中使用
OAuth 2.0协议170
10.2.1 应用间通信171
10.2.2 代码交换证明密钥172
10.3 无浏览器应用174
10.4 总结177
第11章 OAuth 2.0协议
令牌绑定178
11.1 令牌绑定简介179
11.2 令牌绑定协议协商相关的TLS
协议扩展180
11.3 密钥生成181
11.4 所有权证明181
11.5 针对OAuth 2.0协议更新令牌的
令牌绑定183
11.6 针对OAuth 2.0协议授权码/
访问令牌的令牌绑定184
11.7 TLS协议终止186
11.8 总结186
第12章 API联合访问188
12.1 启用联合功能188
12.2 代理认证189
12.3 安全断言标记语言191
12.4 SAML 2.0客户认证191
12.5 OAuth 2.0协议SAML
授权模式194
12.6 OAuth 2.0协议JWT授权模式196
12.7 JWT授权模式应用197
12.8 JWT客户认证198
12.9 JWT客户认证应用199
12.10 JWT解析验证201
12.11 总结202
第13章 用户管理访问203
13.1 应用示例203
13.2 UMA 2.0协议角色205
13.3 UMA协议206
13.4 交互声明收集209
13.5 总结210
第14章 OAuth 2.0协议安全211
14.1 身份提供方混淆211
14.2 跨站请求伪造214
14.3 令牌重用215
14.4 令牌泄露/导出217
14.5 开放重定向器218
14.6 代码拦截攻击220
14.7 简化授权模式中的安全
缺陷220
14.8 谷歌文档网络钓鱼攻击221
14.9 总结223
第15章 模式与实践224
15.1 利用可信子系统进行直接
认证224
15.2 利用代理访问控制实现单点
登录225
15.3 利用集成Windows身份认证实现
单点登录226
15.4 利用代理访问控制实现
身份代理227
15.5 利用JSON Web令牌实现代理
访问控制228
15.6 利用JSON Web签名实现
不可否认性229
15.7 链式访问代理230
15.8 可信主访问代理232
15.9 利用代理访问控制实现资源
安全令牌服务233
15.10 以线上无凭据的方式实现
代理访问控制235
15.11 总结235
附录236
附录A 身份委托技术的发展
猜您喜欢