幫助中心 | 我的帳號 | 關於我們

API安全實戰/網路空間安全技術叢書

  • 作者:(美)尼爾·馬登|責編:趙亮宇|譯者:只瑩瑩//繆綸//郝斯佳
  • 出版社:機械工業
  • ISBN:9787111707745
  • 出版日期:2022/07/01
  • 裝幀:平裝
  • 頁數:475
人民幣:RMB 149 元      售價:
放入購物車
加入收藏夾

內容大鋼
    本書旨在引導讀者掌握在不同環境下確保API安全所需的技術。首先介紹基本的安全編碼技術,之後深入研究身份認證和授權技術。全書共5部分,13章,其中:第1部分介紹了API安全的基本原理,是本書其餘內容的基礎;第2部分更詳細地介紹RESTful API的身份驗證機制;第3部分介紹了授權(authorization)相關的內容;第4部分深入探討了如何確保運行在Kubernetes環境下的微服務API的安全性;第5部分介紹物聯網(IoT)中的API。這類API的安全尤其有挑戰性,因為物聯網設備的能力往往很有限,並且會遭遇到各種各樣的威脅。對於構建Web程序有一定經驗的開發人員來講,本書可以提高他們對API安全技術和最佳實踐的了解,也有助於技術架構師緊跟最新API安全方法技術更新的步伐。

作者介紹
(美)尼爾·馬登|責編:趙亮宇|譯者:只瑩瑩//繆綸//郝斯佳
    尼爾·馬登,ForgeRock的安全總監,他對應用密碼學、應用程序安全和最新的API安全技術有深入的了解。他有20年的軟體開發經驗,擁有電腦科學博士學位。

目錄
譯者序
前言
致謝
關於本書
關於作者
第一部分  基礎
  第1章  什麼是API安全
    1.1  打個比方:參加駕照考試
    1.2  什麼是API
    1.3  API安全上下文
    1.4  API安全要素
    1.4.1  資產
    1.4.2  安全目標
    1.4.3  環境與威脅模型
    1.5  安全機制
    1.5.1  加密
    1.5.2  身份識別和身份驗證
    1.5.3  訪問控制和授權
    1.5.4  審計日誌
    1.5.5  速率限制
    小測驗答案
    小結
  第2章  安全API開發
    2.1  Natter API
    2.1.1  Natter API概覽
    2.1.2  功能實現概覽
    2.1.3  設置項目
    2.1.4  初始化資料庫
    2.2  開發REST API
    2.3  連接REST終端
    2.4  注入攻擊
    2.4.1  防禦注入攻擊
    2.4.2  使用許可權緩解SQL注入攻擊
    2.5  輸入驗證
    2.6  生成安全的輸出
    2.6.1  利用XSS攻擊
    2.6.2  防禦XSS攻擊
    2.6.3  實施防護
    小測驗答案
    小結
  第3章  加固Natter API
    3.1  使用安全控制來處置威脅
    3.2  速率限制解決可用性
    3.3  使用身份驗證抵禦欺騙
    3.3.1  HTTP基本身份驗證
    3.3.2  使用Scrypt確保密碼安全存儲
    3.3.3  創建密碼資料庫
    3.3.4  在Natter API中註冊用戶
    3.3.5  驗證用戶
    3.4  使用加密確保數據不公開

    3.4.1  啟用HTTPS
    3.4.2  加強數據傳輸安全
    3.5  使用審計日誌問責
    3.6  訪問控制
    3.6.1  強制身份驗證
    3.6.2  訪問控制列表
    3.6.3  Natter的強制訪問控制
    3.6.4  Natter空間增加新成員
    3.6.5  避免提權攻擊
    小測驗答案
    小結
第二部分  基於令牌的身份驗證
  第4章  會話Cookie驗證
    4.1  Web瀏覽器的身份驗證
    4.1.1  在JavaScript中調用Natter API
    4.1.2  表單提交攔截
    4.1.3  提供同源HTML服務
    4.1.4  HTTP認證的缺點
    4.2  基於令牌的身份驗證
    4.2.1  令牌存儲抽象
    4.2.2  基於令牌登錄的實現
    4.3  Session Cookie
    4.3.1  防範會話固定攻擊
    4.3.2  Cookie安全屬性
    4.3.3  驗證會話Cookie
    4.4  防範跨站請求偽造攻擊
    4.4.1  SameSite Cookie
    4.4.2  基於哈希計算的雙重提交Cookie
    4.4.3  在Natter API中應用雙重提交Cookie
    4.5  構建Natter登錄UI
    4.6  實現註銷
    小測驗答案
    小結
  第5章  最新的基於令牌的身份驗證
    5.1  使用CORS允許跨域請求
    5.1.1  預檢請求
    5.1.2  CORS頭
    5.1.3  在Natter API中添加CORS頭部
    5.2  不使用Cookie的令牌
    5.2.1  在資料庫中保存令牌的狀態
    5.2.2  Bearer身份驗證方案
    5.2.3  刪除過期令牌
    5.2.4  在Web存儲中存儲令牌
    5.2.5  修改CORS過濾器
    5.2.6  對Web存儲的XSS攻擊
    5.3  加固資料庫令牌存儲
    5.3.1  對資料庫令牌進行哈希計算
    5.3.2  使用HMAC驗證令牌
    5.3.3  保護敏感屬性
    小測驗答案

    小結
  第6章  自包含令牌和JWT
    6.1  在客戶端存儲令牌狀態
    6.2  JSON Web令牌
    6.2.1  標準JWT聲明
    6.2.2  JOSE頭部
    6.2.3  生成標準的JWT
    6.2.4  驗證簽名JWT
    6.3  加密敏感屬性
    6.3.1  認證加密
    6.3.2  NaCl認證加密
    6.3.3  加密JWT
    6.3.4  使用JWT庫
    6.4  使用安全類型來加固API設計
    6.5  處理令牌撤銷
    小測驗答案
    小結
第三部分  授權
  第7章  OAuth2和OpenID Connect
    7.1  作用域令牌
    7.1.1  在Natter中添加作用域令牌
    7.1.2  作用域和許可權之間的區別
    7.2  OAuth2簡介
    7.2.1  客戶端類型
    7.2.2  授權許可
    7.2.3  發現OAuth2終端
    7.3  授權碼許可
    7.3.1  重定向不同類型客戶端的URI
    7.3.2  使用PKCE增強授權碼交換安全性
    7.3.3  刷新令牌
    7.4  驗證訪問令牌
    7.4.1  令牌自省
    7.4.2  確保HTTPS客戶端配置安全
    7.4.3  令牌撤銷
    7.4.4  JWT訪問令牌
    7.4.5  加密JWT訪問令牌
    7.4.6  讓AS解密令牌
    7.5  單點登錄
    7.6  OpenID Connect
    7.6.1  ID令牌
    7.6.2  加固OIDC
    7.6.3  向API傳遞ID令牌
    小測驗答案
    小結
  第8章  基於身份的訪問控制
    8.1  用戶和組
    8.2  基於角色的訪問控制
    8.2.1  角色映射許可權
    8.2.2  靜態角色
    8.2.3  確定用戶角色

    8.2.4  動態角色
    8.3  基於屬性的訪問控制
    8.3.1  組合決策
    8.3.2  實現ABAC策略
    8.3.3  策略代理和API網關
    8.3.4  分散式策略實施和XACML
    8.3.5  ABAC最佳實踐
    小測驗答案
    小結
  第9章  基於能力的安全和Macaroon
    9.1  基於能力的安全
    9.2  能力和REST API
    9.2.1  能力URI
    9.2.2  在Natter API中使用能力URI
    9.2.3  HATEOAS
    9.2.4  基於瀏覽器客戶端的能力URI
    9.2.5  能力與身份相結合
    9.2.6  加固能力URI
    9.3  Macaroon:含有caveat的令牌
    9.3.1  上下文caveat
    9.3.2  Macaroon令牌存儲
    9.3.3  第一方caveat
    9.3.4  第三方caveat
    小測驗答案
    小結
第四部分  Kubernetes中的微服務API及服務到服務API的安全
  第10章  Kubernetes中的微服務API
    10.1  Kubernetes上的微服務API
    10.2  在Kubernetes上部署Natter API
    10.2.1  將H2資料庫構建為Docker容器
    10.2.2  將資料庫部署到Kubernetes
    10.2.3  將Natter API構建為Docker容器
    10.2.4  鏈接預覽微服務
    10.2.5  部署新的微服務
    10.2.6  調用鏈接預覽微服務
    10.2.7  防範SSRF攻擊
    10.2.8  DNS重綁定攻擊
    10.3  確保微服務通信安全
    10.3.1  使用TLS來保證通信安全
    10.3.2  使用TLS服務網格
    10.3.3  鎖定網路連接
    10.4  確保輸入請求的安全性
    小測驗答案
    小結
  第11章  服務到服務API的安全
    11.1  API密鑰和JWT Bearer身份驗證
    11.2  OAuth2客戶端憑證許可
    11.3  OAuth2的JWT Bearer許可
    11.3.1  客戶端驗證
    11.3.2  生成JWT

    11.3.3  服務賬戶身份驗證
    11.4  Mutual TLS驗證
    11.4.1  TLS證書認證的工作原理
    11.4.2  客戶端證書驗證
    11.4.3  驗證客戶端標識
    11.4.4  使用服務網格
    11.4.5  基於OAuth2的mTLS
    11.4.6  證書綁定訪問令牌
    11.5  管理服務憑證
    11.5.1  Kubernets secret
    11.5.2  密鑰和secret管理服務
    11.5.3  避免在磁碟上保存長生命周期的secret
    11.5.4  派生密鑰
    11.6  響應用戶請求的服務API調用
    11.6.1  phantom憑證模式
    11.6.2  OAuth2令牌交換
    小測驗答案
    小結
第五部分  用於物聯網的API
  第12章  物聯網通信安全
    12.1  傳輸層安全
    12.1.1  數據報TLS
    12.1.2  受限設備的密碼套件
    12.2  預共享密鑰
    12.2.1  實現一個PSK伺服器
    12.2.2  PSK客戶端
    12.2.3  支持原始PSK密碼套件
    12.2.4  具有前向保密性的PSK
    12.3  端到端安全
    12.3.1  COSE
    12.3.2  COSE的替代方案
    12.3.3  防濫用認證加密
    12.4  密鑰分發與管理
    12.4.1  一次性密鑰配置
    12.4.2  密鑰分發伺服器
    12.4.3  前向保密Ratcheting技術
    12.4.4  後向安全
    小測驗答案
    小結
  第13章  物聯網API安全
    13.1  設備驗證
    13.1.1  識別設備
    13.1.2  設備證書
    13.1.3  傳輸層驗證
    13.2  端到端驗證
    13.2.1  OSCORE
    13.2.2  REST API中避免消息重放
    13.3  受限環境下的OAuth
    13.3.1  設備授權許可
    13.3.2  ACE-OAuth

    13.4  離線訪問控制
    13.4.1  離線用戶身份驗證
    13.4.2  離線授權
    小測驗答案
    小結
附錄A  配置Java和Maven
附錄B  配置Kubernets

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032