 P57
 P57     RSA:這種算法1978年就出現了,它是第一個既能用于數據加密也能用于數字簽名的算法。它易于理解和操作,也很流行。算法的名字以發明者的名字命名:RonRivest,AdiShamir和LeonardAdleman.這種加密算法的特點主要是密鑰的變化,上文我們看到DES只有一個密鑰。相當于只有一把鑰匙,如果這把鑰匙丟了,數據也就不安全了。RSA同時有兩把鑰匙,公鑰與私鑰。同時支持數字簽名。數字簽名的意義在于,對傳輸過來的數據進行校驗。確保數據在傳輸工程中不被修改。
 P16
 P16     PGP工作原理PGP(pretty good privacy)是一個基于RSA公開密鑰加密體系和傳統加密體系雜合的郵件加密軟件包。可以用它對郵件加密以防止非授權者閱讀,它還能對郵件加上數字簽名從而使收信人可以確認郵件的發送者,并能確信郵件沒有被篡改。它可以提供一種安全的通信方式,而事先并不需要任何保密的渠道用來傳遞密匙。它采用了一RSA和傳統加密的雜合算法、用于數字簽名的郵件文摘算法和加密前壓縮等保密手段,還有一個良好的人機工程設計。它的功能強大,有很快的速度,而且它的源代碼是免費的,可以從Internet網上下載。
 P3
 P3     RSA加密算法是最常用的非對稱加密算法,CFCA在證書服務中離不了它。但是有不少新來的同事對它不太了解,恰好看到一本書中作者用實例對它進行了簡化而生動的描述,使得高深的數學理論能夠被容易地理解。我們經過整理和改寫特別推薦給大家閱讀,希望能夠對時間緊張但是又想了解它的同事有所幫助。
 P11
 P11     本文全面的介紹了RSA算法的概念、原理、證明和實現。我在寫作本文之前在網上查閱過相關資料,可這些資料不是含糊其辭就是滿篇謬誤。所以我力求用通俗易懂的文字將算法深入剖析,用最嚴謹的步驟進行論相關的各項算法,以降低文章的閱讀難度。讀者只要學過初中代數就可以理解全文,我衷心希望更多讀者能認識到加密算法其實并不難。
 P4
 P4      P
 P     Spring Security為基于J2EE企業應用軟件提供了全面安全服務。 特別是使用領先的J2EE解決方案-spring框架開發的企業軟件項目。 如果你沒有使用Spring開發企業軟件,我們熱情的推薦你仔細研究一下。 熟悉Spring-尤其是依賴注入原理-將幫助你更快的掌握Spring Security。<br> 人們使用Spring Security有很多種原因, 不過通常吸引他們的是在J2EE Servlet規范或EJB規范中找不到典型企業應用場景的解決方案。 提到這些規范,特別要指出的是它們不能在WAR或EAR級別進行移植。這樣,如果你更換服務器環境, 就要,在新的目標環境進行大量的工作,對你的應用系統進行重新配置安全。 使用Spring Security解決了這些問題,也為你提供了很多有用的,可定制的其他安全特性。
 P9
 P9     SSL(Secure Sockets Layer)協議最先是由著名的Netscape公司開發的,現在被廣泛用于Internet上的身份認證與Web服務器和用戶端瀏覽器之間的數據安全通信。制定SSL協議的宗旨是為通信雙方提供安全可靠的通信協議服務,在通信雙方間建立一個傳輸層安全通道。SSL使用對稱加密來保證通信保密性,使用消息認證碼(MAC)來保證數據完整性。SSL主要使用PKI在建立連接時對通信雙方進行身份認證。IETF的傳輸層安全(TLS)協議(RFC22461999)及無線訪問協議(WAP)論壇的無線傳輸層安全協議(WTIS)都是SSI的后續發展。協議包括兩個層次:其較低的SSL記錄層協議位于傳輸協議TCP/IP之上。SSL記錄協議用來對其上層的協議進行封裝。握手協議就在這些被封裝的上層協議之中,它允許客戶端與服務器彼此認證對方;并且在應用協議發出或收到第一個數據之前協商加密算法和加密密鑰。這樣做的原因就是保證應用協議的獨立性,使低級協議對高級協議是透明的。
 P39
 P39     開放式Web應用程序安全項目(OWASP,Open Web Application Security Project)是一個組織,它提供有關計算機和互聯網應用程序的公正、實際、有成本效益的信息。其目的是協助個人、企業和機構來發現和使用可信賴軟件。OWASP發布了最新的Web應用脆弱性的top 10,這是繼2007年OWASP對TOP10進行修訂后進行的又一次更改,該版本暫定為OWASP TOP 10 -?2010。新版本的OWASP TOP10中主要有以下變化:
 P
 P     本指南的后面部分提供對框架結構和實現類的深入討論,了解它們,對你進行復雜的定制是十分重要的。在這部分,我們將介紹Spring Security 3.0,簡要介紹該項目的歷史,然后看看如何開始在程序中使用框架。特別是,我們將看看命名控件配置提供了一個更加簡單的方式,在使用傳統的spring bean配置時,你不得不實現所有類。Spring Security為基于J2EE企業應用軟件提供了全面安全服務。 特別是使用領先的J2EE解決方案-spring框架開發的企業軟件項目。 如果你沒有使用Spring開發企業軟件,我們熱情的推薦你仔細研究一下。 熟悉Spring-尤其是依賴注入原理-將幫助你更快的掌握Spring Security。人們使用Spring Security有很多種原因, 不過通常吸引他們的是在J2EE Servlet規范或EJB規范中找不到典型企業應用場景的解決方案。 提到這些規范,特別要指出的是它們不能在WAR或EAR級別進行移植。這樣,如果你更換服務器環境, 就要,在新的目標環境進行大量的工作,對你的應用系統進行重新配置安全。 使用Spring Security解決了這些問題,也為你提供了很多有用的,可定制的其他安全特性。
 P20
 P20     該系統的安全管理方式是結合Spring Security 2.0實現的。
 P7
 P7     Spring框架和Acegi安全框架介紹:借助于Spring框架,開發者能夠快速構建結構良好的WEB應用,但現有的Spring框架本身沒有提供安全相關的解決方案。同樣來自于OpenSource社區的Acegi安全框架為實現基于Spring框架的WEB應用的安全控制提供了一個很好的解決方案。Acegi本身就是利用Spring提供的IoC和AOP機制實現的一個安全框架,它將安全性服務作為J2EE平臺中的系統級服務,以AOP Aspect形式發布。所以借助于Acegi安全框架,開發者能夠在Spring使能應用中采用聲明式方式實現安全控制。
 P9
 P9     簡介Jasypt是Sourceforge.net上的一個開源項目,一個Java庫,可以使開發者不需太多操作就可以給Java項目添加基本加密功能,而且不需要知道加密原理。
 P8
 P8     SELinux全稱是Security Enhanced Linux,由美國國家安全部(National Security Agency)領導開發的GPL項目,它擁有一個靈活而強制性的訪問控制結構,旨在提高Linux系統的安全性,提供強健的安全保證,可防御未知攻擊,據稱相當于B1級的軍事安全性能。比MS NT所謂的C2等高得多。 應用SELinux后,可以減輕惡意攻擊或惡意軟件帶來的災難,并提供對機密性和完整性有很高要求的信息很高的安全保障。 SELinux vs Linux 普通Linux安全和傳統Unix系統一樣,基于自主存取控制方法,即DAC,只要符合規定的權限,如規定的所有者和文件屬性等,就可存取資源。在傳統的安全機制下,一些通過setuid/setgid的程序就產生了嚴重安全隱患,甚至一些錯誤的配置就可引發巨大的漏洞,被輕易攻擊。
 P19
 P19     Spring Security11個步驟為應用程序添加安全防護歷史與現狀自2003年出現的Spring擴展插件AcegiSecurity發展而來。目前最新版本為3.x,已成為Spring的一部分。為J2EE企業應用程序提供可靠的安全性服務。Authenticationvs.Authorization區分概念驗證與授權驗證這個用戶是誰?用戶身份可靠嗎?授權某用戶A是否可以訪問資源R某用戶A是否可以執行M操作某用戶A是否可以對資源R執行M操作SS中的驗證特點支持多種驗證方式支持多種加密格式支持組件的擴展和替換可以本地化輸出信息SS中的授權特點支持多種仲裁方式支持組件的擴展和替換支持對頁面訪問、方法訪問、對象訪問的授權。
 P8
 P8     Keytool是一個Java數據證書的管理工具。Java 中的 keytool.exe (位于 JDK\Bin 目錄下)可以用來創建數字證書,所有的數字證書是以一條一條(采用別名區別)的形式存入證書庫的中,證書庫中的一條證書包含該條證書的私鑰,公鑰和對應的數字證書的信息。證書庫中的一條證書可以導出數字證書文件,數字證書文件只包括主體信息和對應的公鑰。
 P211
 P211     Spring Security中可以使用Acegi-1.x時代的普通配置方式,也可以使用從2.0時代才出現的命名空間配置方式,實際上這兩者實現的功能是完全一致的,只是新的命名空間配置方式可以把原來需要幾百行的配置壓縮成短短的幾十行。我們的教程中都會使用命名空間的方式進行配置,凡事務求最簡。
 P
 P     Spring Security為基于J2EE的企業應用軟件提供了一套全面的安全解決方案。正如你在本手冊中看到的那樣,我們嘗試為您提供一套好用,高可配置的安全系統。安全問題是一個不斷變化的目標,更重要的是尋求一種全面的,系統化的解決方案。 在安全領域我們建議你采取“分層安全”,這樣讓每一層確保本身盡可能的安全,并為其他層提供額外的安全保障。 每層自身越是“緊密”,你的程序就會越魯棒越安全。 在底層,你需要處理傳輸安全和系統認證,減少“中間人攻擊”(man-in-the-middle attacks)。 接下來,我們通常會使用防火墻,結合VPN或IP安全來確保只有獲得授權的系統才能嘗試連接。 在企業環境中,你可能會部署一個DMZ(demilitarized zone,隔離區),將面向公眾的服務器與后端數據庫,應用服務器隔離開。 在以非授權用戶運行進程和文件系統安全最大化上,你的操作系統也將扮演一個關鍵的角色。 操作系統通常配置了自己的防火墻。 然后你要防止針對系統的拒絕服務和暴力攻擊。 入侵檢測系統在檢測和應對攻擊的時候尤其有用。這些系統可以實時屏蔽惡意TCP/IP地址。 在更高層上,你需要配置Java虛擬機,將授予不同java類型權限最小化,然后,你的應用程序要添加針對自身特定問題域的安全配。Spring Security使后者 - 應用程序安全變得更容易。
 P2
 P2     使用Java keytool工具生成服務器配置SSL使用的密鑰存儲文件。