亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于JAVA的數(shù)字簽名設(shè)計(jì)與實(shí)現(xiàn)

        2011-08-08 12:48:22黃云
        電腦與電信 2011年12期
        關(guān)鍵詞:數(shù)字簽名報(bào)文密鑰

        黃云

        (渝中職業(yè)教育中心,重慶 400042)

        1.引言

        隨著計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展,計(jì)算機(jī)網(wǎng)絡(luò)在線(xiàn)教學(xué)、在線(xiàn)考試等信息系統(tǒng)作為一種新的應(yīng)用形式應(yīng)用越來(lái)越廣泛。與傳統(tǒng)的教學(xué)模式相比較,計(jì)算機(jī)網(wǎng)絡(luò)在線(xiàn)信息系統(tǒng)可以通過(guò)開(kāi)放的Internet突破傳統(tǒng)考試地域和空間的限制,可以組織大規(guī)模和跨地區(qū)的教育教學(xué),也可以為遠(yuǎn)程教育和終身教育提供一種便捷有效的教學(xué)方式。但在具體應(yīng)用實(shí)施過(guò)程中,計(jì)算機(jī)網(wǎng)絡(luò)在線(xiàn)信息系統(tǒng)也存在需要解決的技術(shù)難點(diǎn),主要體現(xiàn)在Internet的開(kāi)放性和無(wú)序性特別是信息安全傳輸問(wèn)題,計(jì)算機(jī)網(wǎng)絡(luò)在線(xiàn)信息系統(tǒng)在Internet上存在攻擊的可能。

        2.數(shù)字簽名機(jī)制

        在網(wǎng)絡(luò)信息傳輸中,對(duì)信息進(jìn)行加密可以保證信息的機(jī)密性。但互聯(lián)網(wǎng)是一個(gè)完全開(kāi)放的環(huán)境,在基于Internet的計(jì)算機(jī)網(wǎng)絡(luò)在線(xiàn)信息系統(tǒng),還需要用一種機(jī)制來(lái)對(duì)通信雙方的身份進(jìn)行認(rèn)證,以保證系統(tǒng)的安全。數(shù)字簽名是基于公開(kāi)密鑰加密體制的。在公開(kāi)密鑰加密體制下,加密密鑰是公開(kāi)的,保密性完全取決于解密密鑰,即私有密鑰的保密。從另一個(gè)角度講,私有密鑰代表信息傳輸者的身份特征。需要數(shù)字簽名時(shí),信息發(fā)送方首先通過(guò)既定的私有的加密密鑰實(shí)現(xiàn)信息加密,而在信息的接收方,則通過(guò)發(fā)送方的公開(kāi)密鑰實(shí)現(xiàn)信息的解密還原。以上的信息發(fā)送方加密、信息接收方解密的過(guò)程便是數(shù)字簽名的基本原理。此外,第三方也可以通過(guò)發(fā)送方的公鑰進(jìn)行信息解密,這時(shí),發(fā)送方可以用接收方的公鑰對(duì)信息加密,這樣只有接收方才能用自己的私鑰對(duì)信息進(jìn)行解密,從而保證信息的安全。數(shù)字簽名具備如下特點(diǎn):

        (1)數(shù)字簽名具有不可偽造性,用作用戶(hù)的唯一標(biāo)識(shí),并因此確定發(fā)送方的身份;

        (2)保證信息的完整性。數(shù)字簽名必須防止信息在傳輸過(guò)程中被篡改或替換;

        (3)具有不可抵賴(lài)性,發(fā)送者事后不抵賴(lài)對(duì)報(bào)文的簽名。

        經(jīng)過(guò)不斷的研究、發(fā)展,出現(xiàn)了多種數(shù)字簽名的加密算法,Hash簽名、RSA簽名、DSS簽名算法應(yīng)用較為廣泛。其中DSS是被建議的數(shù)字簽名標(biāo)準(zhǔn),主要包括以下步驟:

        (1)發(fā)送方用一個(gè)Hash函數(shù)對(duì)報(bào)文進(jìn)行處理,產(chǎn)生消息摘要,消息摘要MD是通過(guò)Hash函數(shù)產(chǎn)生,Hash函數(shù)為單向產(chǎn)生的Hash碼,Hash碼的作用在于將消息M映射為H(M),消息M為任意長(zhǎng)度,H(M)則長(zhǎng)度固定且長(zhǎng)度較短,H(M)即為消息摘要;

        (2)信息發(fā)送方將該信息的私人密鑰和報(bào)文摘要進(jìn)行DSA算法計(jì)算,產(chǎn)生數(shù)字簽名,并實(shí)現(xiàn)報(bào)文和數(shù)字簽名共同發(fā)送;

        (3)在信息接收方,通過(guò)采用相同的Hash函數(shù)實(shí)現(xiàn)對(duì)報(bào)文的加密,并生成加密消息摘要,在此基礎(chǔ)上,對(duì)信息發(fā)送方的公開(kāi)密鑰和消息摘要應(yīng)用DSA算法,進(jìn)而生成數(shù)字簽名S1;

        (4)將數(shù)字簽名S1和從接收到的消息中得到的數(shù)字簽名S2比較,若S1和S2相等,則數(shù)字簽名得到難,否則,數(shù)字簽名可能是篡改或偽造。

        美國(guó)國(guó)家標(biāo)準(zhǔn)技術(shù)研究所(NITS)于1991提出了數(shù)字簽名標(biāo)準(zhǔn)DDS,并在1993年和1996年進(jìn)行了修改。DSS是利用安全SHA算法的一種數(shù)字簽名技術(shù),即數(shù)字簽名算法DSA。H(x):Hash函數(shù)。DSS中選用SHA。算法中應(yīng)用了下述參數(shù):

        p:素?cái)?shù),其中2L-1

        q:p-1的160bits的素因子,其中2159

        g:g=h((p-1)/q)mod p,h 為一整數(shù),滿(mǎn)足 11;

        x:隨機(jī)或偽隨機(jī)整數(shù),x

        y:y=gx mod p ,(p,q,g,y)為公鑰;

        k:隨機(jī)或偽隨機(jī)整數(shù),其中0

        對(duì)于明文信息M,簽名及驗(yàn)證協(xié)議如下:

        (1)簽名。產(chǎn)生隨機(jī)數(shù) k,k

        其中k-1(H(M)q=1,0

        (2)驗(yàn)證。信息接收方收到M、r和s后,計(jì)算u1=(H(M)*w)mod q,u2=(r*w)mod q,

        其中,w=s-1mod q,v=((gu1*yu2)mod p)mod q,如果 v=r,則判斷數(shù)字簽名是有效的。

        3.基于JAVA的數(shù)字簽名設(shè)計(jì)

        在數(shù)據(jù)簽名的設(shè)計(jì)實(shí)現(xiàn)方面,C++、VB、Java均能有較好地實(shí)現(xiàn),作為應(yīng)用普遍的Java編程語(yǔ)言,通過(guò)其提供的密鑰管理、認(rèn)證、加密、數(shù)字簽名和存取控制功能,Java編程語(yǔ)言提供的簽名方法包括在Java.security軟件之中,在應(yīng)用過(guò)程中Java編程語(yǔ)言能夠較好地實(shí)現(xiàn)數(shù)字簽名,數(shù)字簽名實(shí)現(xiàn)過(guò)程如下:

        圖1 數(shù)字簽名實(shí)現(xiàn)過(guò)程

        基于Java的數(shù)字簽名密鑰生成、數(shù)字簽名和驗(yàn)證設(shè)計(jì)實(shí)現(xiàn)如下:

        (1)密鑰對(duì)的生成實(shí)現(xiàn)

        Java語(yǔ)言生成密鑰對(duì)主要是基于Key Pair Maker類(lèi)來(lái)實(shí)現(xiàn),密鑰對(duì)的生成實(shí)現(xiàn)過(guò)程如下:第一步是建立加密密鑰對(duì)的生成器,通過(guò)密鑰對(duì)生成器,生成密鑰對(duì)生成器對(duì)象;第二步實(shí)現(xiàn)對(duì)密鑰對(duì)生成器對(duì)象的初始化,在初始化過(guò)程中分別針對(duì)“隨機(jī)數(shù)源”和“強(qiáng)度”兩個(gè)變量進(jìn)行設(shè)置,隨機(jī)數(shù)源變量由Secure Random類(lèi)自動(dòng)生成,“強(qiáng)度”變量默認(rèn)設(shè)置為1024位;第三步是通過(guò)調(diào)用GenerateKeyPair函數(shù)返回密鑰(KeyPair)對(duì)象,并通過(guò)調(diào)用getPublic函數(shù)和getPrivate函數(shù)分別提取公開(kāi)密鑰和私人密鑰。實(shí)現(xiàn)代碼設(shè)計(jì)如下:

        Key Pair Maker Key Obj=Key pair Maker.getInstanc("DS A");//密鑰對(duì)生成器生成

        Key Obj.initalize(1024,new Secure Random());//密鑰對(duì)生成器初始化

        KeyPairDouble=KeyObj.GenerateKeyPair();//密鑰對(duì)生成

        Public Key Key Public=Key Double.getPublic();//公開(kāi)密鑰提取

        Private Key Key Private=dey Double.getPrivate();//私人密鑰提取

        (2)數(shù)字簽名的實(shí)現(xiàn)

        首先是生成和驗(yàn)證簽名對(duì)象,通過(guò)Signture簽名類(lèi)實(shí)現(xiàn)。然后是實(shí)現(xiàn)對(duì)私人密鑰的初始化,主要通過(guò)SHA-1算法和DSA算法實(shí)現(xiàn)。最后是生成數(shù)字簽名,通過(guò)調(diào)用Update方法,將簽名信息提供至簽名對(duì)象,在簽名對(duì)象獲取信息之后,數(shù)字簽名便生成了。

        Signture DisSign=Signture.get Instance("DSA or SHA");//數(shù)字簽名的生成

        Dis Sign.inisign(DeyPrivate);//私人密鑰的初始化

        Dis Sign.Update(Message);//簽名信息提供

        SignMessage=DisSign.sign();//簽名操作執(zhí)行

        (3)驗(yàn)證簽名

        第一是驗(yàn)證簽名對(duì)象的建立,在此基礎(chǔ)上,實(shí)現(xiàn)對(duì)公開(kāi)密鑰的初始化,主要通過(guò)調(diào)用Initverify實(shí)現(xiàn)。第二是向驗(yàn)證簽名對(duì)象提供驗(yàn)證簽名信息,主要通過(guò)Update方法實(shí)現(xiàn)。第三是驗(yàn)證簽名是否正確,主要通過(guò)調(diào)用verify函數(shù)實(shí)現(xiàn),根據(jù)函數(shù)返回的邏輯值進(jìn)行判斷。主要程序代碼如下:

        Signature DisSign=SignaturegetInstance("DSA or SHA");//驗(yàn)證簽名對(duì)象的建立

        DisSign.initVerify(KeyPublic);//公開(kāi)密鑰的初始化

        DisSign update(signMessage);//簽名驗(yàn)證信息提供

        Beelean Result=DisSign.verify(signMessage);//驗(yàn)證簽名

        4.結(jié)束語(yǔ)

        基于公開(kāi)密鑰加密體系的數(shù)字簽名,已經(jīng)成為網(wǎng)絡(luò)安全通信中的一項(xiàng)重要安全機(jī)制。對(duì)稱(chēng)密鑰加密可以保證信息的機(jī)密性,而數(shù)字簽名技術(shù)可以鑒別通信雙方的身份,并實(shí)現(xiàn)網(wǎng)絡(luò)信息傳輸?shù)耐暾裕呀?jīng)成為Internet環(huán)境下實(shí)現(xiàn)信息安全傳輸?shù)谋貍涫侄?,在電子商?wù)和電子政務(wù)等Web應(yīng)用中得到了廣泛應(yīng)用。對(duì)于計(jì)算機(jī)網(wǎng)絡(luò)在線(xiàn)信息系統(tǒng)來(lái)說(shuō),也可于使用數(shù)字簽名技術(shù)來(lái)認(rèn)證通信雙方的身份,實(shí)現(xiàn)信息的安全傳輸。

        [1]劉泉,吳濤.基于Java的數(shù)字簽名研究與實(shí)現(xiàn)[J].武漢理工大學(xué)學(xué)報(bào)(信息與管理工程版).2004(01):11-14.

        [2]鄭若鹢.用Java創(chuàng)建企業(yè)內(nèi)部CA[J].福建工程學(xué)院學(xué)報(bào).2006(01):123-128.

        [3]解亞龍,許巧祥.基于J2EE架構(gòu)的高可用性辦公自動(dòng)化系統(tǒng)[J].四川大學(xué)學(xué)報(bào)(工程科學(xué)版),2007(S1):24-26.

        [4]武艷麗,陶振凱.基于J2EE的Web客戶(hù)端安全驗(yàn)證[J].科技創(chuàng)新導(dǎo)報(bào),2008(02):27-29.

        [5]崔明磊.基于CA認(rèn)證系統(tǒng)的移動(dòng)代理安全系統(tǒng)的研究[J].福建電腦,2009(09):17-18.

        猜你喜歡
        數(shù)字簽名報(bào)文密鑰
        探索企業(yè)創(chuàng)新密鑰
        基于J1939 協(xié)議多包報(bào)文的時(shí)序研究及應(yīng)用
        密碼系統(tǒng)中密鑰的狀態(tài)與保護(hù)*
        CTCS-2級(jí)報(bào)文數(shù)據(jù)管理需求分析和實(shí)現(xiàn)
        淺析計(jì)算機(jī)安全防護(hù)中數(shù)字簽名技術(shù)的應(yīng)用
        淺析反駁類(lèi)報(bào)文要點(diǎn)
        一種對(duì)稱(chēng)密鑰的密鑰管理方法及系統(tǒng)
        基于ECC的智能家居密鑰管理機(jī)制的實(shí)現(xiàn)
        基于數(shù)字簽名的QR碼水印認(rèn)證系統(tǒng)
        ATS與列車(chē)通信報(bào)文分析
        亚洲日韩专区在线视频| 隔壁的日本人妻bd高清中字| 国产女主播大秀在线观看| 日本韩国三级在线观看| 黄色国产一区二区99| 日本一区二区三区视频网站| 无码av中文一区二区三区桃花岛| 国产成人乱色伦区| 国产精品18久久久久网站| 国产午夜精品久久久久九九| 少妇被搞高潮在线免费观看| 日韩国产一区二区三区在线观看| 亚州中文热码在线视频| 天堂资源中文网| 免费99精品国产自在在线| 老少交欧美另类| AV熟妇导航网| 日本高清免费播放一区二区| 日本高级黄色一区二区三区| 爱情岛论坛亚洲永久入口口| 国产98在线 | 日韩| 天堂sv在线最新版在线| 国产精品不卡无码AV在线播放| 日本伦理视频一区二区| 亚洲av人片在线观看| 被三个男人绑着躁我好爽视频| 亚洲熟少妇在线播放999| 91精品国产91| 亚洲成在人线天堂网站| 欧美性猛交xxxx免费看蜜桃 | 天天躁日日躁狠狠躁av麻豆| 中文字幕aⅴ人妻一区二区| 国产乱子伦视频大全| 99福利网| 亚洲日本国产一区二区三区| 熟女体下毛荫荫黑森林| 看黄a大片日本真人视频直播 | 国产精品久久久久免费a∨| 在线丝袜欧美日韩制服| 男人的天堂av你懂得| 国产乱码卡二卡三卡老狼|