API安全進階:基于OAuth 2.0框架(原書第2版)
定 價:129 元
叢書名:網(wǎng)絡空間安全技術叢書
當前圖書已被 56 所學校薦購過!
查看明細
- 作者:[美]普拉巴斯·西里瓦德納(Prabath Siriwardena)
- 出版時間:2023/2/1
- ISBN:9787111718215
- 出 版 社:機械工業(yè)出版社
- 中圖法分類:TP393.08
- 頁碼:322
- 紙張:
- 版次:
- 開本:16
在過去幾年中,API安全取得長足發(fā)展,API安全標準的數(shù)量呈指數(shù)級增長,企業(yè)API已經(jīng)成為向外界開放業(yè)務功能的常見方式。開放功能當然很方便,但隨之而來的是被攻擊的風險。本書將帶你學習如何更好地保護、監(jiān)控和管理你的公共與私有API。
具體來說,本書將講解如何利用OAuth 2.0協(xié)議及其相關配置,通過網(wǎng)絡應用、單頁面應用、本地移動應用和無瀏覽器應用來對API進行安全訪問,并通過分析多個攻擊案例使讀者吸取經(jīng)驗教訓,探究問題根源,并嘗試改進安全實踐,以減少未來發(fā)生類似攻擊的概率。
前言
致謝
作者簡介
第1章 API就是一切1
1.1 API經(jīng)濟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 總結(jié)23
第2章 API設計安全24
2.1 三重困境25
2.2 設計挑戰(zhàn)27
2.3 設計原則32
2.4 安全三要素39
2.5 安全控制43
2.6 總結(jié)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 總結(jié)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 總結(jié)73
第5章 API網(wǎng)關邊際安全75
5.1 建立Zuul API網(wǎng)關75
5.2 為Zuul API網(wǎng)關啟用TLS協(xié)議78
5.3 在Zuul API網(wǎng)關處進行
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網(wǎng)關84
5.4 在Zuul API網(wǎng)關和訂單服務之間
啟用相互TLS協(xié)議86
5.5 利用自包含訪問令牌保護
訂單API90
5.5.1 建立授權服務器來發(fā)布JWT90
5.5.2 利用JWT保護Zuul API網(wǎng)關92
5.6 網(wǎ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 用于保護API的OpenID Connect
協(xié)議114
6.13 總結(jié)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 總結(jié)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 總結(jié)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 總結(jié)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 總結(jié)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 總結(jié)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 總結(jié)202
第13章 用戶管理訪問203
13.1 應用示例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 令牌泄露/導出217
14.5 開放重定向器218
14.6 代碼攔截攻擊220
14.7 簡化授權模式中的安全
缺陷220
14.8 谷歌文檔網(wǎng)絡釣魚攻擊221
14.9 總結(jié)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 以線上無憑據(jù)的方式實現(xiàn)
代理訪問控制235
15.11 總結(jié)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