《安全模式--J2EE,Web服務和身份管理最佳實踐與策略》是2006年機械工業出版社出版的圖書。
基本介紹
- 書名:安全模式--J2EE、Web服務和身份管理最佳實踐與策略
- ISBN:7111195035
- 頁數:571
- 出版社:機械工業出版社
- 出版時間:2006 年8月
- 開本:16開
內容簡介,目錄,譯者序,前言,序言,
內容簡介
本書匯集了作者在安全領域的豐富經驗,全面闡述java套用安全的基本知識和結構化安全設計方法。本書介紹如何使用模式驅動和最佳實踐構建可靠套用和服務。全書分為兩大部分,第一部分介紹用於j2ee套用、web服務、身份管理、服務供應和身份識別的安全架構、機制、標準、技術和實現原則,第二部分介紹23種全新的安全模式和101項最佳實踐,幫助開發人員構建端到端安全j2ee套用。.
本書可供從事計算機安全技術工作的開發人員、設計人員和管理人員參考。
本書是一本安全從業者實用指南,介紹在j2ee企業套用、web服務、身份管理、服務供應和身份識別解決方案中,如何建立健壯的端到端安全性。本書由三位傑出的java安全架構師編寫,其中的模式驅動方法全面反映了確保大型套用安全的最佳實踐。..
本書全面闡述java套用安全的基本知識並介紹一種強大的結構化安全設計方法;介紹獨立於廠商的安全架構;列出詳細的評估核對表以及23種經過實踐檢驗的安全架構模式。書中介紹多種實際場景,闡述架構和實現,並提供詳細的示例代碼。本書還討論如何使用加密技術、混淆代碼、建立安全通信、確保j2me套用的安全、對用戶進行認證和授權以及保護web服務——實現單點登錄、有效的身份管理和使用智慧卡和生物特徵的身份識別。
目錄
對本書的讚譽
譯者序
judy lin序
joe uniejewski序
前言
致謝
作者簡介
第一部分 引言
第1章 默認即安全
1.1 圍繞安全的業務挑戰
1.2 哪些環節是最薄弱的
1.3 套用安全的影響
1.4 安全四問
1.5 構建健壯安全的策略
1.6 主動安全措施和被動安全措施
1.7 遵守安全法規的重要性
1.8 身份管理的重要性
1.9 安全的身份識別
1.10 java技術的重要性
1.11 讓安全成為“業務助推器”
1.12 小結
參考文獻
第2章 安全基本知識
2.1 安全需求和目標
2.2 加密技術在安全中的作用
2.3 安全套接字層的作用
2.4 ldap在安全中的重要性和作用
2.5 加密算法的常見挑戰
2.6 威脅建模
2.7 身份管理
2.8 小結
參考文獻
第二部分 java安全架構與技術
第3章 java 2平台安全
3.1 java安全架構
3.2 java applet安全
3.3 java web start安全
3.4 java安全管理工具
3.5 j2me安全架構
3.6 java card安全架構
3.7 保護java代碼的安全
3.8 小結
參考文獻
第4章 java可擴展安全架構與api
4.1 java可擴展安全架構
4.2 java加密架構
4.3 java加密擴展
4.4 java證書路徑api
4.5 java安全套接字擴展
4.6 java認證和授權服務
4.7 java通用安全服務
4.8 簡單認證和安全層
4.9 小結
參考文獻
第5章 j2ee安全架構
5.1 j2ee架構及其邏輯層
5.2 j2ee安全定義
5.3 j2ee安全基礎設施
5.4 基於容器的j2ee安全
5.5 j2ee組件級/層級安全
5.6 j2ee客戶端安全
5.7 ejb層或業務組件安全
5.8 eis集成層概述
5.9 j2ee架構——網路拓撲
5.10 j2ee web服務安全概述
5.11 小結
參考文獻
第三部分 web服務安全與身份管理
第6章 web服務安全標準與技術
6.1 web服務架構及其構件
6.2 web服務安全的核心問題
6.3 web服務安全的需求
6.4 web服務安全標準
6.5 xml簽名
6.6 xml加密
6.7 xml密鑰管理系統
6.8 oasis web服務安全
6.9 ws-i基本安全概要
6.10 基於java的web服務安全提供者
6.11 支持xml的安全設備
6.12 小結
參考文獻
第7章 身份管理標準與技術
7.1 身份管理核心問題
7.2 理解網路身份和聯合身份
7.3 saml簡介
7.4 saml架構
7.5 saml套用場景
7.6 saml在基於j2ee的套用和web服務中的作用
7.7 liberty alliance簡介及其目標
7.8 liberty alliance架構
7.9 liberty套用場景..
7.10 訪問控制和策略管理規範簡介
7.11 xacml簡介
7.12 xacml流程與架構
7.13 xacml套用場景
7.14 小結
參考文獻
第四部分 安全設計方法、模式和可行性檢查
第8章 安全設計點金術:方法、模式和可行性檢查
8.1 基本原理
8.2 安全統一過程
8.3 安全模式
8.4 用於j2ee、web服務、身份管理和服務供應的安全模式
8.5 可行性檢查
8.6 安全測試
8.7 採用安全框架
8.8 重構安全設計
8.9 服務的持續性和恢復
8.10 小結
參考文獻
第五部分 設計策略與最佳實踐
第9章 確保web層安全:設計策略與最佳實踐
9.1 web層安全模式
9.2 最佳實踐與陷阱
參考文獻
第10章 確保業務層安全:設計策略與最佳實踐
10.1 業務層的安全考慮因素
10.2 業務層安全模式
10.3 最佳實踐與陷阱
參考文獻
第11章 確保web服務安全:設計策略與最佳實踐
11.1 web服務安全協定棧
11.2 web服務安全基礎設施
11.3 web服務安全模式
11.4 最佳實踐與陷阱
參考文獻
第12章 確保身份安全:設計策略與最佳實踐
12.1 身份管理安全模式
12.2 最佳實踐與陷阱
參考文獻
第13章 安全服務供應:設計策略與最佳實踐
13.1 業務挑戰
13.2 用戶賬號供應架構
13.3 spml簡介
13.4 服務供應安全模式
13.5 最佳實踐與陷阱
13.6 小結
參考文獻
第六部分 綜合套用
第14章 構建端到端安全架構:案例研究
14.1 概述
14.2 用例場景
14.3 套用架構
14.4 安全架構
14.5 設計
14.6 開發
14.7 測試
14,8 部署
14.9 小結
14.10 經驗教訓
14.11 陷阱
14.12 結論
參考文獻
第七部分 使用智慧卡和生物特徵的身份識別
第15章 使用智慧卡和生物特徵的安全身份識別策略
15.1 物理和邏輯訪問控制
15.2 支持技術
15.3 基於智慧卡的身份識別和認證
15.4 生物特徵身份識別和認證
15.5 使用智慧卡和生物特徵的多重認證
15.6 最佳實踐與陷阱
參考文獻
譯者序
在信息行業,安全從來沒有像今天這樣重要。為確保組織的信息安全,組織必須深刻理解與安全相關的業務挑戰、潛在威脅以及能夠降低風險的最佳實踐;更重要的是,組織必須採取可靠的主動安全方法,並在信息處理、傳輸和存儲各個層面實施它們。安全不再是出現問題或遭受攻擊後的亡羊補牢,而必須未雨綢繆。安全已日漸成為套用開發過程中不可分割的一部分。.
本書旨在為安全從業者提供實用指南。它包含大量使用模式驅動和最佳實踐構建可靠的IT套用和服務的經驗之談。本書介紹一種安全設計方法,該方法使用一組經過實踐檢驗的可重用模式、最佳實踐、可行性檢查、防範策略和評估核對表,以確保J2EE套用、Web服務、身份管理、服務供應和身份識別的安全。本書首先討論用於J2EE套用、Web服務、身份管理、服務供應和身份識別的安全架構、機制、標準、技術和實現原則;然後介紹23種全新的安全模式和101項最佳實踐。..
本書第1~7章由羅鄧組織翻譯,參加翻譯的人員包括喬紅宇、由宗銘、付靜波、王暉、郭亮、林愛生等;第8~15章由陳秋萍組織翻譯,參加翻譯的人員包括黃挺、王進征、鄧鄭祥、李佩乾、宮晉博、劉麗風、侯學民、蔣蓉芳等;最後,由袁國忠、張海燕負責全書的統稿和譯審工作。
衷心感謝機械工業出版社華章分社編輯所做的大量工作。沒有他們的辛勤勞動,本書不可能如此順利、快捷地出版。
前言
現有的思考水平無法解決它所提出的問題。
——阿爾伯特·愛因斯坦
在信息行業,安全從未像今天這樣重要,這促使所有企業和組織都採取主動或被動的措施,在整個信息生命周期內保護數據、流程、通信和資源。在不斷發展的信息行業,每天都有新的業務系統面世,對現有系統進行修改隨處可見。這些修改旨在提高組織效率和成本效率,以及消費者的滿意度。這些改進常常帶來新的安全風險,企業必須採取合適的安全策略和規程來應對安全風險。為確保組織的信息安全,必須深入了解與安全相關的業務挑戰和潛在威脅,廣泛認識為採取保護和應對措施降低風險的最佳實踐。更重要的是,組織必須採取可靠的主動安全方法,並在各個層面(信息處理、信息傳輸和信息存儲)實施它們。.
本書內容
本書旨在為安全從業者提供實用指南,提供大量使用模式驅動和基於最佳實踐的方法來構建可靠的汀套用和服務的經驗之談。本書重點介紹一種安全設計方法,它使用一組經過實踐檢驗的可重用模式、最佳實踐、可行性檢查、防範策略和評估核對表,確保J2EE套用、Web服務、身份管理、服務供應和身份識別的安全。本書介紹了23種全新的安全模式和101項最佳實踐,討論了用例場景、架構模型、設計策略、實用技術和驗證過程。最佳實踐和可行性檢查從實際部署和最終用戶體驗的角度出發,闡述了哪些方法奏效和哪些方法不可取。本書還討論了為J2EE套用、Web服務、身份管理、服務供應和身份識別提供安全的架構、機制、標準、技術和實現原則,並全面闡述子所需的基本知識。
本書首先概述當今的業務挑戰(包括安全威脅和攻擊),分析信息安全和遵守安全法規的重要性,討論基本安全的概念和技術。本書深入探討下述主題:
·J2SE、J2EE、J2ME和JavaCard平台中的安全機制
·Web服務安全標準和技術
·身份管理標準和技術
·安全設計方法、模式、最佳實踐和可行性檢查
·用於J2EE套用的安全模式和設計策略
·用於Web服務的安全模式和設計策略
·用於身份管理的安全模式和設計策略
·用於服務供應的安全模式和設計策略
·用實例介紹構建端到端安全架構
·使用智慧卡和生物特徵技術的安全身份識別策略
本書針對的是Java平台,並突出Java平台在開發和部署安全的套用和服務中的重要性。
本書不介紹的內容
雖然本書依賴於大量的Java技術,但並沒有介紹用於開發J2EE套用(如JSP、Servlet和EJB)的Java API。如果讀者要學習各種API技術,強烈推薦參考Java官方網站中的J2EE計畫、教程及推薦的圖書。
本書使用UML圖描述模式和實現策略。如果讀者要學習UML基本知識,請參閱Grady Booch、James Rumbaugh和Ivar Jacobson編寫的《UML用戶手冊》。
. 本書面向的讀者
本書可供負責確保信息系統和業務套用安全的架構師、Java開發人員和技術項目經理使用。對於想了解與Java套用、Web服務、身份管理、服務供應和使用智慧卡和生物特徵進行身份識別相關的安全概念和技術的讀者,本書也很有參考價值。
本書假設讀者具備使用Java開發和部署業務套用的基本知識。本書旨在介紹使用Java平台設計、構建和開發套用時用到的所有安全機制,闡述如何使用設計方法、模式和最佳實踐以及需要注意的陷阱,為軟體架構師和開發人員提供寶貴的參考資料,以解決每天面臨的實際汀安全問題。
大多數人都沒有時間完整地閱讀軟體開發書籍,因此本書分為幾個不同的技術部分,讓讀者能夠根據興趣以任意順序閱讀。
本書的組織結構
本書分為七部分。
第一部分:引言
介紹當前行業狀況、業務挑戰以及各種套用安全問題和應對策略,闡述有關安全的基本知識。
第1章:默認安全
描述當前業務挑戰、最薄弱的安全環節和嚴重的套用缺陷及漏洞。本章簡要介紹了安全設計策略、模式驅動的安全開發概念、最佳實踐和可行性檢查;闡述了遵守安全法規的重要性以及身份管理、Java平台和身份識別技術(如智慧卡和生物特徵);從業務的角度討論了安全,並展示安全技術可以推進業務,並能夠帶來收益。
第2章:安全基本知識
本章介紹有關安全的基本知識,其中包括各種安全技術的背景知識和指導原則;概述使用流行的加密技術確保套用的安全,還討論目錄服務和身份管理在安全中的作用。
第二部分:Java安全架構與技術
這部分深入介紹和演示了使用J2SE、J2EE、J2ME和JavaCard技術的安全實踐;深入研究Java平台安全架構中複雜的技術細節,及其在為基於Java的套用提供端到端安全解決方案中的作用。
第3章:Java2平台安全
本章討論了各種Java平台固有的安全特性,以及如何在獨立的Java套用、applet、Java Web start(JNLP)套用、J2ME MIDlet和Java Card applet中實現Java安全;闡述如何使用Java安全管理工具來管理密鑰和證書;還討論使用Java代碼混淆技術的重要性。
第4章:Java可擴展安全與API
本章深入討論Java可擴展安全架構及其API框架,以及如何使用這些API實現在基於Java的套用解決方案中構建端到端安全。具體地說,本章演示如何使用Java安全API來套用加密機制和公鑰基礎設施,如何確保套用通信的安全。
第5章:J2EE安全架構
本章解釋J2EE安全架構和機制以及如何將其套用於各種套用層和組件中;深入討論套用於Web組件(JSP、Servlet和JSF)、業務組件(EJB)和集成組件(JMS、JDBC和J2EE連線器)的J2EE安全機制;闡述基於J2EE的Web服務安全及相關技術;還闡述各種用於設計DMZ網路拓撲的架構方案,以便在產品環境中確保J2EE套用的安全。..
第三部分:Web服務安全和身份管理
這部分重點介紹支持Web服務安全和身份管理的行業標準計畫和技術。
第6章:Web服務安全標準與技術
本章解釋Web服務架構及其核心構件、常見的Web服務安全威脅和攻擊、Web服務安全需求以及Web服務安全標準和技術;深入介紹如何使用諸如XML簽名、XML加密、XKMS、WS-Security、SAML概要、REL概要和WS-I基本安全概要等行業標準計畫來表示基於XML的安全;還介紹基於Java的Web服務基礎設施提供者,以及有助於確保Web服務安全的支持XML的安全設備。
第7章:身份管理標準與技術
本章深入討論對管理身份信息來說不可或缺的標準和技術;介紹身份管理面臨的挑戰,以及實現基於標準的身份管理的架構模型;還演示如何使用SAML、XACML和Liberty Alliance規範等XML標準來實現聯合身份管理和支持身份的服務。
第四部分:安全設計方法、模式和可行性檢查
這部分描述一種安全設計方法並介紹一種模式驅動的安全設計方法,在軟體設計和開發過程中可以使用它們。
第8章:安全設計點金術:方法、模式和可行性檢查
本章首先簡要地討論使用安全設計方法的重要性,然後詳細地討論安全設計過程:在整個軟體生命周期內確定並套用安全模式,包括架構、設計、開發、部署、生產和廢棄。該章描述安全設計中的各種角色及其職責,解釋風險分析、權衡分析、效果分析、因素分析、層分析、威脅剖析和信任建模等核心安全分析過程。還介紹安全設計模式目錄和安全評估核對表;在套用開發過程中,可以使用它們來解決安全需求或提供解決方案。
第五部分:設計策略和最佳實踐
這部分介紹安全模式、策略和最佳實踐,並按J2EE套用層、Web服務、身份管理和服務供應將它們進行分類。
第9章:確保Web層安全:設計策略與最佳實踐
本章介紹7種安全模式,它們與設計和部署J2EEWeb層和表示層組件相關,如JSP、Servlet以及其他相關組件。每種模式都針對一種與Web層或表示層邏輯相關的常見問題,描述演示各種實現策略的設計解決方案;闡述使用模式的效果,強調使用模式時的安全因素和相關風險,並使用可行性檢查驗證模式的適用性。該章還列出了用於確保J2EE Web組件和基於Web的套用的最佳實踐。
第10章:確保業務層安全:設計策略與最佳實踐
本章介紹7種安全模式,它們與設計和部署J2EE業務層組件相關,如EJB、JMS以及其他相關組件。每種模式都針對一組與業務層相關的安全問題,描述演示各種實現策略的設計解決方案以及使用模式的效果;強調使用業務層安全模式的安全因素和相關風險,並使用可行性檢查驗證模式的適用性。該章還列出用於確保J2EE業務組件安全的最佳實踐和陷阱。
第11章:確保Web服務的安全:設計策略與最佳實踐
本章介紹3種安全模式,它們與設計和部署Web服務相關。首先討論Web服務安全基礎設施和有助於確保全全的重要組件。然後描述各種安全模式,每種模式都針對與業務層相關的安全問題,描述演示各種實現策略的設計解決方案以及使用Web服務模式的效果;強調使用安全模式的安全因素和相關風險,並使用可行性檢查驗證模式的適用性。最後,本章列出了用於確保Web服務安全的最佳實踐和陷阱。
第12章:確保身份安全:設計策略與最佳實踐
本章介紹3種與身份管理相關的安全模式。每種模式都針對一個身份管理問題,描述演示各種實現策略的設計解決方案以及使用模式的效果;強調使用業務層模式的安全因素和相關風險,並使用可行性檢查驗證模式的適用性。最後,列出用於身份管理的最佳實踐。
第13章:安全服務供應:設計策略與最佳實踐
本章首先簡要地討論業務挑戰、服務供應的範圍以及服務供應與身份管理的關係,然後詳細介紹用戶賬戶供應過程並討論各種架構和套用場景。該章介紹一種用戶賬戶供應的安全模式,並闡述實現策略和使用該模式的效果;然後指出使用該模式的安全因素和相關風險,並使用可行性檢查驗證該模式的適用性。還介紹SPML及其同服務供應的關係。最後,本章列出服務供應最佳實踐。
第六部分:綜合套用
這部分通過案例研究說明實際的安全實現情形,描述如何使用模式和最佳實踐完成安全設計過程。
第14章:構建端到端安全架構:案例研究
本章通過一個實際的Web門戶,說明如何使用本書介紹的安全設計方法、設計模式和最佳實踐來定義和實現端到端安全解決方案。本章通過完成整個安全設計過程,演示如何分析和識別風險,如何進行權衡,如何選擇並套用安全模式,以及如何執行因素分析、層分析、威脅剖析和可行性檢查。還詳細介紹如何採用模式驅動的設計過程和注意事項,並描述如何協調不同邏輯層的安全以提供端到端安全。
第七部分:使用智慧卡和生物特徵的身份識別
這部分深入討論使用智慧卡和生物特徵的身份識別,深入研究使用智慧卡、生物特徵和結合使用它們時的支持技術、架構和實現策略。
第15章:使用智慧卡和生物特徵的身份識別
本章探討使用智慧卡和生物特徵實現身份識別和認證的概念、技術、架構策略和最佳實踐。首先討論融合物理和邏輯訪問控制的重要性,以及智慧卡和生物特徵在身份識別中的作用;然後闡述在基於J2EE的企業套用、UNIX和Windows環境中支持基於智慧卡和生物特徵認證的架構和實現策略;最後,列出將智慧卡和生物特徵用於安全身份識別的最佳實踐。
序言
在過去的20年中,無論是在網路級還是套用級,計算架構和技術都發生了巨大變化。很多工作都是在網路基礎設施層完成的:入侵檢測、反病毒、防火牆、VPN、服務質量、策略管理和實施、拒絕訪問攻擊的檢測和防範以及端點安全。這些是必不可少的但還不夠,必須在設計套用安全和部署套用安全基礎設施方面做更大的努力。網路安全側重於檢測、防範和保護,而套用安全側重於支持(enablement)以及遵守法規(如Sarbanes-Oxley、HIPPA、GLB等法案)。.
無論是對於技術還是對於業務,都必須確保套用安全。安全程度高的公司將擁有競爭優勢,能夠降低成本並打人新市場,以及改善用戶體驗;無論是B2B套用(如供應鏈套用)還是B2C套用(如金融服務、電子零售)皆如此。隨著網路連線到全球的各個角落以及頻寬不斷增加,開展業務的方式發生了重大轉變,訪問信息和資源的方式前所未有,安全已成為用戶、企業、政府以及套用提供者和開發人員面臨的重要問題。..
基於J2EE和Web服務的鬆散耦合分散式套用已成為開發基於標準的多廠商套用的首選模型,而主要的套用開發和部署平台提供的安全水平越來越高。安全不再是出現問題或攻擊後添加的一層或多層,而必須納入設計的考慮之中,它是套用開發過程中不可分割的一部分。安全是事先需要考慮的因素,而不是事後的亡羊補牢。
本書全面介紹了開發套用安全策略和實現時需要考慮的各種要素和因素。作為網路計算、分散式套用和Java系統的先鋒和領先者,Sun Microsystems在這個領域處於獨一無二的地位。作為已有套用的開發者或推動下一代分散式套用的革新者,本書介紹的信息和最佳實踐將是你完成開發工作的重要資產。確保企業和最終用戶自信、安全地體驗Internet的重任將由你們承擔。
Joe Uniejewski
RSA Security公司CTO兼負責企業開發的高級副總裁