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

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

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

    love fish大鵬一曰同風(fēng)起,扶搖直上九萬(wàn)里

    常用鏈接

    統(tǒng)計(jì)

    積分與排名

    friends

    link

    最新評(píng)論

    Java安全概述

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

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

    1. Java平臺(tái)

    Java語(yǔ)言本身嵌入了安全特性,其中包括編譯器/JVM對(duì)強(qiáng)數(shù)據(jù)類(lèi)型的支持,自動(dòng)的內(nèi)存管理,字節(jié)代碼的驗(yàn)證機(jī)制以及獨(dú)特的安全類(lèi)加載方式,這些特性都是SPAN lang=EN-US>Java語(yǔ)言本身所賦有的,本文不打算作深入的探討這些基礎(chǔ)概念,建議閱讀。

    2. Java 密碼體系

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

    JCA包括了數(shù)字簽名和消息摘要的APIJCE擴(kuò)展了JCA,提供了更多的安全APIJava針對(duì)下面一些常用的算法提供了接口和實(shí)現(xiàn):

    l?????? 對(duì)稱(chēng)的分組加密算法,如DES, RC2IDEA

    l?????? 對(duì)稱(chēng)的流加密算法,如RC4

    l?????? 非對(duì)稱(chēng)流加密算法,如RSA

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

    l?????? 密鑰交換協(xié)議,如Diffie-Hellman

    l?????? 信息認(rèn)證碼 (MAC)

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

    3. Java認(rèn)證與授權(quán)

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

    4. 安全通信

    該部分主要規(guī)范了標(biāo)準(zhǔn)安全通訊協(xié)議(SSLTLSKerberosSASL等)的API和實(shí)現(xiàn)。這一節(jié)難度比較大,涉獵面廣,同時(shí)也最能體現(xiàn)了Java Security的優(yōu)勢(shì)——易用性,擴(kuò)展性和可移植性,大部分用的最多的是SSL(IETF標(biāo)準(zhǔn)化SSL 3.0TLS 1.0),其次是Kerberos

    因?yàn)槲④泴?/span>Kerberos作為整個(gè)Windows的首個(gè)重要的認(rèn)證協(xié)議(NTLM已經(jīng)過(guò)時(shí))Kerberos至今依然健壯,MIT的大師真實(shí)卓越非凡,讓一個(gè)如此簡(jiǎn)單的協(xié)議依然能夠獨(dú)領(lǐng)風(fēng)騷30年而沒(méi)有做過(guò)大的改動(dòng),Kerberos的思想對(duì)我們的影響很大,我覺(jué)得現(xiàn)有的很多SSO協(xié)議都能夠看到Kerberos思想的影子,尤其是CAS協(xié)議。

    5. PKIPublic Key Infrastructure)體系

    Java PKI規(guī)范提供了管理Key和證書(shū)的API,它很好地實(shí)現(xiàn)的協(xié)議:

    l???? X.509規(guī)范

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

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

    l???? PKIX (RFC 3280),

    l???? 在線證書(shū)狀態(tài)協(xié)議(OCSP)

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

    其他協(xié)議如CRLPKCS#11, PKIXOCSP,在Java中都在不斷地增強(qiáng)JDK 1.5的重要改造之一就是體現(xiàn)在對(duì)這些協(xié)議的增強(qiáng)上。< /SPAN>

    Java.Net的一個(gè)最大的不同是,在證書(shū)處理上,.Net使用了Windows本地證書(shū)庫(kù)而Java使用了它自己的證書(shū)庫(kù)格式(JKS)來(lái)保證移植性。Windows本地證書(shū)庫(kù)是通過(guò)Windows CryptoAPI接口去提取的,CryptoAPI是無(wú)法跨平臺(tái)的,因此,Java沒(méi)有使用CryptoAPI

    Java證書(shū)庫(kù)是一個(gè)獨(dú)立的本地文件,它是通過(guò)密碼保護(hù)來(lái)保證其中的私鑰/證書(shū)在未經(jīng)授權(quán)的情況下不能被其他人提取,私鑰本身也有密碼保護(hù),因此安全性是可以相信的。



    [1]密碼學(xué)的門(mén)理論門(mén)檻與實(shí)踐門(mén)檻都非常高,雖然我們?cè)趹?yīng)用密碼、摘要、數(shù)字簽名等算法的時(shí)候,得益于SPAN lang=EN-US style="FONT-SIZE: 9pt">JCA/JCE模型的簡(jiǎn)易性和可擴(kuò)展性,但是,密碼學(xué)涉獵面非常廣,它遠(yuǎn)遠(yuǎn)不止JCA/JCE框架所描寫(xiě)的那么簡(jiǎn)單。

    ?

    -----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 13:13 liaojiyong 閱讀(355) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): Java

    主站蜘蛛池模板: 午夜免费国产体验区免费的 | 一本到卡二卡三卡免费高| 亚洲影院天堂中文av色| 亚洲 日韩经典 中文字幕| 2020亚洲男人天堂精品| 久久夜色精品国产噜噜亚洲a| 亚洲色欲色欲www| 亚洲国产高清国产拍精品| 亚洲av无码成人精品区一本二本| 亚洲爆乳大丰满无码专区| 男女猛烈xx00免费视频试看| 黄色a级片免费看| 一级毛片免费在线观看网站| 中国性猛交xxxxx免费看| 精品免费tv久久久久久久| 美丽姑娘免费观看在线观看中文版 | 久久久久亚洲av成人无码电影| 亚洲色偷偷狠狠综合网| 国产成人综合亚洲亚洲国产第一页 | 男女午夜24式免费视频| 69国产精品视频免费| 女人18特级一级毛片免费视频| 国产成人精品免费视频大全五级| 亚洲AⅤ无码一区二区三区在线 | 成年女人看片免费视频播放器| 免费观看a级毛片| 亚洲成A∨人片天堂网无码| 亚洲人成网77777亚洲色| 91大神亚洲影视在线| 亚洲日韩中文字幕一区| 九九九国产精品成人免费视频| 三年片在线观看免费| 99久久精品日本一区二区免费 | 永久免费在线观看视频| 在线精品免费视频| 综合久久久久久中文字幕亚洲国产国产综合一区首 | 精品国产福利尤物免费| 精品无码人妻一区二区免费蜜桃| 成年人在线免费看视频| 亚洲国产91精品无码专区| 亚洲av福利无码无一区二区|