<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    David.Turing's blog

     

    Java安全概述

    -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1

    Java安全體系,博大精深,這個體系按照SunJava安全白皮書,基本上可以分為5個部分:

    1. Java平臺

    Java語言本身嵌入了安全特性,其中包括編譯器/JVM對強數據類型的支持,自動的內存管理,字節代碼的驗證機制以及獨特的安全類加載方式,這些特性都是SPAN lang=EN-US>Java語言本身所賦有的,本文不打算作深入的探討這些基礎概念,建議閱讀。

    2. Java 密碼體系

    Java密碼[1](Cryptography)體系依賴于JCAJCEJ ava Cryptography Architecture (JCA) Java Cryptography Extension (JCE)是兩個非常重要的框架,他們提供了非常簡潔通用的API接口,接口跟實現是完全分離的,即Java開發者可以采用Sun的接口+Sun的實現的方式,也可以接受Sun接口+BouncyCastle實現的方式。換言之,這是一種Provider方式的體系,如何替換Provider可以參考java.security文件的配置,非常簡單。

    JCA包括了數字簽名和消息摘要的APIJCE擴展了JCA,提供了更多的安全APIJava針對下面一些常用的算法提供了接口和實現:

    l?????? 對稱的分組加密算法,如DES, RC2IDEA

    l?????? 對稱的流加密算法,如RC4

    l?????? 非對稱流加密算法,如RSA

    l?????? 基于密碼的加密(PBE)

    l?????? 密鑰交換協議,如Diffie-Hellman

    l?????? 信息認證碼 (MAC)

    上面的算法僅僅是密碼學領域的冰山一角,但已經能夠滿足普通應用的安全需求,在算法的層次之上,往往是密碼學協議,使用Java簡單的Diffie-Hellman雖然能夠滿足簡單的密鑰交換,但是如果節點多于SPAN lang=EN-US style="mso-font-kerning: 0pt">2個,這個時候,Diffie-Hellman便不再適用,此時我們必須使用更復雜/更高級的密碼協議,成為Group Diffie-Hellman(GDH)。因此,初學者不要誤認為憑借現有的Java密碼實現,我們可以做任何事情,在安全領域,事情遠遠不是我們所想象的那么簡單。

    3. Java認證與授權

    Java認證與存取控制模型長成現在這個模樣跟Sun的宮力有很大關系,這部分涵蓋了一個非常重要的部分JAASJAAS是第一個出色地將認證實接口和實現分離的思想,另外,Java的存取模型也是一個非常重要的部分,但從JDK1.2以來并沒有什么太大的變化,在AOP降臨到這個世界之后, Spring的攔截方式已經逐漸被人們接受,現在已經很少再看到如何應用JavaAccess Manager的文章了,或者人們已經厭倦了“獨”模式,他們似乎更喜歡Acegi的方法攔截來控制存取,以致Charles.gay經常說要將JGuard AOP化,可見,Java的存取控制模型已經有點過時了。

    4. 安全通信

    該部分主要規范了標準安全通訊協議(SSLTLSKerberosSASL等)的API和實現。這一節難度比較大,涉獵面廣,同時也最能體現了Java Security的優勢——易用性,擴展性和可移植性,大部分用的最多的是SSL(IETF標準化SSL 3.0TLS 1.0),其次是Kerberos

    因為微軟將Kerberos作為整個Windows的首個重要的認證協議(NTLM已經過時)Kerberos至今依然健壯,MIT的大師真實卓越非凡,讓一個如此簡單的協議依然能夠獨領風騷30年而沒有做過大的改動,Kerberos的思想對我們的影響很大,我覺得現有的很多SSO協議都能夠看到Kerberos思想的影子,尤其是CAS協議。

    5. PKIPublic Key Infrastructure)體系

    Java PKI規范提供了管理Key和證書的API,它很好地實現的協議:

    l???? X.509規范

    l???? CRL(證書撤消列表)

    l???? PKCS#11, PKCS#12

    l???? PKIX (RFC 3280),

    l???? 在線證書狀態協議(OCSP)

    PKI的核心是數字證書,Java提供了友好的數字證書對象(CertificateFactoryCertificateX509CertificateX509Extension),通過這些對象,我們可以毫不費力地處理各種類型的數字證書,包括cer, pem等。Java提供了很多有用的管理證書工具,包括日常中必不可少的Keytool, JarSigner等,而某些開源的圖形化界面也封裝了KeytoolJarSigner,包括KeytoolGUI(基于Swing,已經停止開發,商業版本是KeyStore Explorer)SecureX(基于SWTShell,以Eclipse Plugin發布)

    其他協議如CRLPKCS#11, PKIXOCSP,在Java中都在不斷地增強JDK 1.5的重要改造之一就是體現在對這些協議的增強上。< /SPAN>

    Java.Net的一個最大的不同是,在證書處理上,.Net使用了Windows本地證書庫而Java使用了它自己的證書庫格式(JKS)來保證移植性。Windows本地證書庫是通過Windows CryptoAPI接口去提取的,CryptoAPI是無法跨平臺的,因此,Java沒有使用CryptoAPI

    Java證書庫是一個獨立的本地文件,它是通過密碼保護來保證其中的私鑰/證書在未經授權的情況下不能被其他人提取,私鑰本身也有密碼保護,因此安全性是可以相信的。



    [1]密碼學的門理論門檻與實踐門檻都非常高,雖然我們在應用密碼、摘要、數字簽名等算法的時候,得益于SPAN lang=EN-US style="FONT-SIZE: 9pt">JCA/JCE模型的簡易性和可擴展性,但是,密碼學涉獵面非常廣,它遠遠不止JCA/JCE框架所描寫的那么簡單。

    ?

    -----BEGIN PGP SIGNATURE-----
    Version: PGP Desktop 9.0.5 - Enterprise license
    Comment:
    http://security.blogjava.net
    iQA/AwUBRRFuXE2j31FcBpdPEQJeUgCg8yeWvTWV43aHliN5X2+mIsQS000AoJj6 to/nxmwV688WafhnXdrt8CZ8 =P2yf
    -----END PGP SIGNATURE-----

    posted on 2006-09-21 00:39 david.turing 閱讀(7088) 評論(2)  編輯  收藏 所屬分類: Security領域

    評論

    # re: Java安全概述 2006-09-21 08:30 Anubis

    學習~~~~  回復  更多評論   

    # re: Java安全概述 2006-10-02 20:26 yufeng0681

    不錯。 不過上次用java的 AES算法,感覺不可用。
    無法和C的算法對接。  回復  更多評論   

    導航

    統計

    常用鏈接

    留言簿(110)

    我參與的團隊

    隨筆分類(126)

    隨筆檔案(155)

    文章分類(9)

    文章檔案(19)

    相冊

    搜索

    積分與排名

    最新隨筆

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲色欲色欲www在线丝| 久久久无码精品亚洲日韩蜜臀浪潮| 亚洲天堂免费在线视频| 久久久亚洲欧洲日产国码aⅴ| 成人人观看的免费毛片| 国产免费一级高清淫曰本片| 亚洲精品国产啊女成拍色拍| 免费人成视频x8x8入口| 91老湿机福利免费体验| 亚洲AV综合色区无码一二三区| 亚洲中文字幕日产乱码高清app| 日韩国产免费一区二区三区| 永久免费精品影视网站| 亚洲图片中文字幕| 亚洲无av在线中文字幕| 在线免费观看一级毛片| 国产精品免费AV片在线观看| 九九精品国产亚洲AV日韩| 亚洲国产成人久久综合一| 亚洲Av无码国产情品久久| 亚洲一级免费毛片| 中文字幕免费在线视频| 亚洲精品无码永久在线观看男男| 亚洲国产精品无码AAA片| 国产hs免费高清在线观看| 9420免费高清在线视频| 夜夜爽妓女8888视频免费观看| 亚洲精品中文字幕无码AV| ZZIJZZIJ亚洲日本少妇JIZJIZ| 日韩精品无码区免费专区| 日韩视频在线观看免费| h视频免费高清在线观看| 亚洲人成网站999久久久综合| 亚洲AV日韩AV天堂久久| 亚洲精品亚洲人成在线观看下载| 成人看的午夜免费毛片| 久久久精品2019免费观看| 韩国免费A级毛片久久| 免费的黄色网页在线免费观看| 亚洲国产成a人v在线观看| 噜噜噜亚洲色成人网站∨|