API安全進(jìn)階:基于OAuth 2.0框架(原書第2版)
定 價:129 元
叢書名:網(wǎng)絡(luò)空間安全技術(shù)叢書
- 作者:[美]普拉巴斯·西里瓦德納(Prabath Siriwardena)
- 出版時間:2023/2/1
- ISBN:9787111718215
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:TP393.08
- 頁碼:322
- 紙張:
- 版次:
- 開本:16
在過去幾年中,API安全取得長足發(fā)展,API安全標(biāo)準(zhǔn)的數(shù)量呈指數(shù)級增長,企業(yè)API已經(jīng)成為向外界開放業(yè)務(wù)功能的常見方式。開放功能當(dāng)然很方便,但隨之而來的是被攻擊的風(fēng)險。本書將帶你學(xué)習(xí)如何更好地保護(hù)、監(jiān)控和管理你的公共與私有API。
具體來說,本書將講解如何利用OAuth 2.0協(xié)議及其相關(guān)配置,通過網(wǎng)絡(luò)應(yīng)用、單頁面應(yīng)用、本地移動應(yīng)用和無瀏覽器應(yīng)用來對API進(jìn)行安全訪問,并通過分析多個攻擊案例使讀者吸取經(jīng)驗(yàn)教訓(xùn),探究問題根源,并嘗試改進(jìn)安全實(shí)踐,以減少未來發(fā)生類似攻擊的概率。
前言
致謝
作者簡介
第1章 API就是一切1
1.1 API經(jīng)濟(jì)1
1.1.1 實(shí)例2
1.1.2 商業(yè)模式8
1.2 API發(fā)展歷程9
1.3 API管理14
1.4 API在微服務(wù)中的作用18
1.5 總結(jié)23
第2章 API設(shè)計安全24
2.1 三重困境25
2.2 設(shè)計挑戰(zhàn)27
2.3 設(shè)計原則32
2.4 安全三要素39
2.5 安全控制43
2.6 總結(jié)47
第3章 利用TLS協(xié)議保護(hù)API49
3.1 搭建環(huán)境49
3.2 部署訂單API51
3.3 利用TLS協(xié)議保護(hù)訂單API53
3.4 利用相互TLS協(xié)議保護(hù)
訂單API55
3.5 在Docker容器中運(yùn)行
OpenSSL56
3.6 總結(jié)57
第4章 OAuth 2.0協(xié)議基礎(chǔ)58
4.1 OAuth 2.0協(xié)議簡介58
4.2 OAuth 2.0協(xié)議參與者60
4.3 授權(quán)模式60
4.4 OAuth 2.0協(xié)議令牌類型68
4.5 OAuth 2.0協(xié)議客戶類型69
4.6 JWT保護(hù)的授權(quán)請求70
4.7 推送授權(quán)請求72
4.8 總結(jié)73
第5章 API網(wǎng)關(guān)邊際安全75
5.1 建立Zuul API網(wǎng)關(guān)75
5.2 為Zuul API網(wǎng)關(guān)啟用TLS協(xié)議78
5.3 在Zuul API網(wǎng)關(guān)處進(jìn)行
OAuth 2.0令牌驗(yàn)證80
5.3.1 建立OAuth 2.0安全
令牌服務(wù)80
5.3.2 測試OAuth 2.0安全
令牌服務(wù)82
5.3.3 創(chuàng)建具備OAuth 2.0令牌
驗(yàn)證功能的Zuul API網(wǎng)關(guān)84
5.4 在Zuul API網(wǎng)關(guān)和訂單服務(wù)之間
啟用相互TLS協(xié)議86
5.5 利用自包含訪問令牌保護(hù)
訂單API90
5.5.1 建立授權(quán)服務(wù)器來發(fā)布JWT90
5.5.2 利用JWT保護(hù)Zuul API網(wǎng)關(guān)92
5.6 網(wǎng)絡(luò)應(yīng)用防火墻的作用93
5.7 總結(jié)94
第6章 OpenID Connect協(xié)議95
6.1 從OpenID協(xié)議到OIDC協(xié)議95
6.2 亞馬遜公司仍在使用
OpenID 2.0協(xié)議98
6.3 OpenID Connect協(xié)議簡介98
6.4 ID令牌剖析99
6.5 OpenID Connect協(xié)議請求103
6.6 請求用戶屬性105
6.7 OpenID Connect協(xié)議流程107
6.8 請求定制用戶屬性108
6.9 OpenID Connect協(xié)議發(fā)現(xiàn)108
6.10 OpenID Connect協(xié)議身份
提供方元數(shù)據(jù)111
6.11 動態(tài)客戶注冊112
6.12 用于保護(hù)API的OpenID Connect
協(xié)議114
6.13 總結(jié)115
第7章 利用JSON Web簽名實(shí)現(xiàn)
消息級安全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 總結(jié)136
第8章 利用JSON Web加密實(shí)現(xiàn)
消息級安全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認(rèn)證標(biāo)簽143
8.1.6 加密過程(緊湊序列)144
8.2 JWE JSON序列145
8.2.1 JWE受保護(hù)頭部145
8.2.2 JWE共享未保護(hù)頭部145
8.2.3 JWE各接收方未保護(hù)頭部146
8.2.4 JWE初始向量146
8.2.5 JWE密文146
8.2.6 JWE認(rèn)證標(biāo)簽146
8.2.7 加密過程(JSON序列)146
8.3 嵌套JWT148
8.4 總結(jié)154
第9章 OAuth 2.0協(xié)議配置155
9.1 令牌自省155
9.2 鏈?zhǔn)绞跈?quán)方式158
9.3 令牌交換160
9.4 動態(tài)客戶注冊配置162
9.5 令牌廢棄配置165
9.6 總結(jié)166
第10章 通過本地移動應(yīng)用
訪問API167
10.1 移動單點(diǎn)登錄167
10.2 在本地移動應(yīng)用中使用
OAuth 2.0協(xié)議170
10.2.1 應(yīng)用間通信171
10.2.2 代碼交換證明密鑰172
10.3 無瀏覽器應(yīng)用174
10.4 總結(jié)177
第11章 OAuth 2.0協(xié)議
令牌綁定178
11.1 令牌綁定簡介179
11.2 令牌綁定協(xié)議協(xié)商相關(guān)的TLS
協(xié)議擴(kuò)展180
11.3 密鑰生成181
11.4 所有權(quán)證明181
11.5 針對OAuth 2.0協(xié)議更新令牌的
令牌綁定183
11.6 針對OAuth 2.0協(xié)議授權(quán)碼/
訪問令牌的令牌綁定184
11.7 TLS協(xié)議終止186
11.8 總結(jié)186
第12章 API聯(lián)合訪問188
12.1 啟用聯(lián)合功能188
12.2 代理認(rèn)證189
12.3 安全斷言標(biāo)記語言191
12.4 SAML 2.0客戶認(rèn)證191
12.5 OAuth 2.0協(xié)議SAML
授權(quán)模式194
12.6 OAuth 2.0協(xié)議JWT授權(quán)模式196
12.7 JWT授權(quán)模式應(yīng)用197
12.8 JWT客戶認(rèn)證198
12.9 JWT客戶認(rèn)證應(yīng)用199
12.10 JWT解析驗(yàn)證201
12.11 總結(jié)202
第13章 用戶管理訪問203
13.1 應(yīng)用示例203
13.2 UMA 2.0協(xié)議角色205
13.3 UMA協(xié)議206
13.4 交互聲明收集209
13.5 總結(jié)210
第14章 OAuth 2.0協(xié)議安全211
14.1 身份提供方混淆211
14.2 跨站請求偽造214
14.3 令牌重用215
14.4 令牌泄露/導(dǎo)出217
14.5 開放重定向器218
14.6 代碼攔截攻擊220
14.7 簡化授權(quán)模式中的安全
缺陷220
14.8 谷歌文檔網(wǎng)絡(luò)釣魚攻擊221
14.9 總結(jié)223
第15章 模式與實(shí)踐224
15.1 利用可信子系統(tǒng)進(jìn)行直接
認(rèn)證224
15.2 利用代理訪問控制實(shí)現(xiàn)單點(diǎn)
登錄225
15.3 利用集成Windows身份認(rèn)證實(shí)現(xiàn)
單點(diǎn)登錄226
15.4 利用代理訪問控制實(shí)現(xiàn)
身份代理227
15.5 利用JSON Web令牌實(shí)現(xiàn)代理
訪問控制228
15.6 利用JSON Web簽名實(shí)現(xiàn)
不可否認(rèn)性229
15.7 鏈?zhǔn)皆L問代理230
15.8 可信主訪問代理232
15.9 利用代理訪問控制實(shí)現(xiàn)資源
安全令牌服務(wù)233
15.10 以線上無憑據(jù)的方式實(shí)現(xiàn)
代理訪問控制235
15.11 總結(jié)235
附錄236
附錄A 身份委托技術(shù)的發(fā)展歷程236
附錄B OAuth 1.0協(xié)議243
附錄C 傳輸層安全協(xié)議工作原理261
附錄D UMA協(xié)議發(fā)展歷程278
附錄E Base64 URL編碼292
附錄F 基本/摘要認(rèn)證294
附錄G OAuth 2.0協(xié)議MAC令牌
配置311