新書推薦:
《
甲骨文丛书·古代中国的军事文化
》
售價:NT$
454.0
《
中国王朝内争实录(套装全4册):从未见过的王朝内争编著史
》
售價:NT$
1112.0
《
半导体纳米器件:物理、技术和应用
》
售價:NT$
806.0
《
创客精选项目设计与制作 第2版 刘笑笑 颜志勇 严国陶
》
售價:NT$
281.0
《
佛山华家班粤菜传承 华家班59位大厨 102道粤菜 图文并茂 菜式制作视频 粤菜故事技法 佛山传统文化 广东科技
》
售價:NT$
1010.0
《
武人琴音(十周年纪念版 逝去的武林系列收官之作 形意拳一门三代:尚云祥、韩伯言、韩瑜的人生故事 凸显百年武人命运)
》
售價:NT$
199.0
《
剑桥斯堪的纳维亚戏剧史(剑桥世界戏剧史译丛)
》
售價:NT$
704.0
《
禅心与箭术:过松弛而有力的生活(乔布斯精神导师、世界禅者——铃木大拙荐)
》
售價:NT$
301.0
|
內容簡介: |
在过去几年中,API安全取得长足发展,API安全标准的数量呈指数级增长,企业API已经成为向外界开放业务功能的常见方式。开放功能当然很方便,但随之而来的是被攻击的风险。本书将带你学习如何更好地保护、监控和管理你的公共与私有API。
具体来说,本书将讲解如何利用OAuth 2.0协议及其相关配置,通过网络应用、单页面应用、本地移动应用和无浏览器应用来对API进行安全访问,并通过分析多个攻击案例使读者吸取经验教训,探究问题根源,并尝试改进安全实践,以减少未来发生类似攻击的概率。
|
目錄:
|
前言
致谢
作者简介
第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 身份委托技术的发展
|
內容試閱:
|
企业API已经成为一种向外界开放业务功能的常见方式。开放功能确实很方便,但随之而来的是被攻击的风险。本书主要介绍的就是如何保护企业最重要的商业资产,或者说如何保护API。与其他软件系统设计所面临的情况一样,人们在API的设计阶段往往也会忽视安全因素,直到部署或整合阶段,才开始考虑安全问题。安全绝不是一个可以延后的问题—它在任何软件系统设计阶段都是不可或缺的组成部分,并且应该在设计伊始就对其进行慎重考虑。本书的目标之一就是为读者介绍安全的必要性,以及可用于保护API的手段。
本书将进行全流程的讲解和指导,同时分享对API进行更安全设计的最佳实践。在过去几年中,API安全已经有了长足的发展。API安全标准的数量呈指数级增长。其中,OAuth 2.0标准应用最为广泛,它不仅是一套标准,还是一个允许人们在其上构建解决方案的系统框架。本书内容涵盖从传统的HTTP基本认证到OAuth 2.0协议,据此深入讲解了用于保护API的多种技术,以及基于OAuth协议功能构建的上层协议,比如OpenID Connect协议、用户管理访问(User-Managed Access,UMA)协议等。
JSON格式在API通信中发挥了重要作用。目前开发的大部分API仅支持JSON格式,而不支持XML格式。在本书中,我们将重点关注JSON安全。基于JSON格式的Web加密(JSON Web Encryption,JWE)和基于JSON格式的Web签名(JSON Web Signature,JWS)是两种日益流行的JSON格式消息保护标准,本书的后半部分将详细介绍JWE和JWS这两种技术。
本书的另一个主要目标是,在介绍概念和理论的基础上,进一步通过具体实例对其加以阐释。本书将提供一系列全面的示例来展示理论如何结合实际。在本书中,读者将学会利用OAuth 2.0协议和相关的上层协议,通过Web应用、单页面应用、本地移动应用和非浏览器应用来对API进行安全访问。
我衷心希望本书能够真正涵盖API开发人员急需的主题内容,祝你阅读愉快。
|
|