API安全進階:基于OAuth 2.0框架(原書第2版)
定 價:129 元
叢書名:網絡空間安全技術叢書
- 作者:[美]普拉巴斯·西里瓦德納(Prabath Siriwardena)
- 出版時間:2023/2/1
- ISBN:9787111718215
- 出 版 社:機械工業(yè)出版社
- 中圖法分類:TP393.08
- 頁碼:322
- 紙張:
- 版次:
- 開本:16
在過去幾年中,API安全取得長足發(fā)展,API安全標準的數量呈指數級增長,企業(yè)API已經成為向外界開放業(yè)務功能的常見方式。開放功能當然很方便,但隨之而來的是被攻擊的風險。本書將帶你學習如何更好地保護、監(jiān)控和管理你的公共與私有API。
具體來說,本書將講解如何利用OAuth 2.0協(xié)議及其相關配置,通過網絡應用、單頁面應用、本地移動應用和無瀏覽器應用來對API進行安全訪問,并通過分析多個攻擊案例使讀者吸取經驗教訓,探究問題根源,并嘗試改進安全實踐,以減少未來發(fā)生類似攻擊的概率。
前言
致謝
作者簡介
第1章 API就是一切1
1.1 API經濟1
1.1.1 實例2
1.1.2 商業(yè)模式8
1.2 API發(fā)展歷程9
1.3 API管理14
1.4 API在微服務中的作用18
1.5 總結23
第2章 API設計安全24
2.1 三重困境25
2.2 設計挑戰(zhàn)27
2.3 設計原則32
2.4 安全三要素39
2.5 安全控制43
2.6 總結47
第3章 利用TLS協(xié)議保護API49
3.1 搭建環(huán)境49
3.2 部署訂單API51
3.3 利用TLS協(xié)議保護訂單API53
3.4 利用相互TLS協(xié)議保護
訂單API55
3.5 在Docker容器中運行
OpenSSL56
3.6 總結57
第4章 OAuth 2.0協(xié)議基礎58
4.1 OAuth 2.0協(xié)議簡介58
4.2 OAuth 2.0協(xié)議參與者60
4.3 授權模式60
4.4 OAuth 2.0協(xié)議令牌類型68
4.5 OAuth 2.0協(xié)議客戶類型69
4.6 JWT保護的授權請求70
4.7 推送授權請求72
4.8 總結73
第5章 API網關邊際安全75
5.1 建立Zuul API網關75
5.2 為Zuul API網關啟用TLS協(xié)議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 創(chuàng)建具備OAuth 2.0令牌
驗證功能的Zuul API網關84
5.4 在Zuul API網關和訂單服務之間
啟用相互TLS協(xié)議86
5.5 利用自包含訪問令牌保護
訂單API90
5.5.1 建立授權服務器來發(fā)布JWT90
5.5.2 利用JWT保護Zuul API網關92
5.6 網絡應用防火墻的作用93
5.7 總結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é)議身份
提供方元數據111
6.11 動態(tài)客戶注冊112
6.12 用于保護API的OpenID Connect
協(xié)議114
6.13 總結115
第7章 利用JSON Web簽名實現(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 總結136
第8章 利用JSON Web加密實現(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認證標簽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協(xié)議配置155
9.1 令牌自省155
9.2 鏈式授權方式158
9.3 令牌交換160
9.4 動態(tài)客戶注冊配置162
9.5 令牌廢棄配置165
9.6 總結166
第10章 通過本地移動應用
訪問API167
10.1 移動單點登錄167
10.2 在本地移動應用中使用
OAuth 2.0協(xié)議170
10.2.1 應用間通信171
10.2.2 代碼交換證明密鑰172
10.3 無瀏覽器應用174
10.4 總結177
第11章 OAuth 2.0協(xié)議
令牌綁定178
11.1 令牌綁定簡介179
11.2 令牌綁定協(xié)議協(xié)商相關的TLS
協(xié)議擴展180
11.3 密鑰生成181
11.4 所有權證明181
11.5 針對OAuth 2.0協(xié)議更新令牌的
令牌綁定183
11.6 針對OAuth 2.0協(xié)議授權碼/
訪問令牌的令牌綁定184
11.7 TLS協(xié)議終止186
11.8 總結186
第12章 API聯(lián)合訪問188
12.1 啟用聯(lián)合功能188
12.2 代理認證189
12.3 安全斷言標記語言191
12.4 SAML 2.0客戶認證191
12.5 OAuth 2.0協(xié)議SAML
授權模式194
12.6 OAuth 2.0協(xié)議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協(xié)議角色205
13.3 UMA協(xié)議206
13.4 交互聲明收集209
13.5 總結210
第14章 OAuth 2.0協(xié)議安全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 利用可信子系統(tǒng)進行直接
認證224
15.2 利用代理訪問控制實現(xiàn)單點
登錄225
15.3 利用集成Windows身份認證實現(xiàn)
單點登錄226
15.4 利用代理訪問控制實現(xiàn)
身份代理227
15.5 利用JSON Web令牌實現(xiàn)代理
訪問控制228
15.6 利用JSON Web簽名實現(xiàn)
不可否認性229
15.7 鏈式訪問代理230
15.8 可信主訪問代理232
15.9 利用代理訪問控制實現(xiàn)資源
安全令牌服務233
15.10 以線上無憑據的方式實現(xiàn)
代理訪問控制235
15.11 總結235
附錄236
附錄A 身份委托技術的發(fā)展歷程236
附錄B OAuth 1.0協(xié)議243
附錄C 傳輸層安全協(xié)議工作原理261
附錄D UMA協(xié)議發(fā)展歷程278
附錄E Base64 URL編碼292
附錄F 基本/摘要認證294
附錄G OAuth 2.0協(xié)議MAC令牌
配置311