• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      混合型數(shù)字簽名技術(shù)在Java中的實現(xiàn)

      2020-07-04 18:24:19曹虎山劉國彥曾小舟
      科學(xué)與財富 2020年14期
      關(guān)鍵詞:數(shù)字簽名面向?qū)ο?/a>網(wǎng)絡(luò)安全

      曹虎山 劉國彥 曾小舟

      摘 要:數(shù)字簽名技術(shù)建立在數(shù)據(jù)加密的基礎(chǔ)上,目前常用的加密方式有對稱加密和非對稱加密,對稱加密使用同一把密鑰加解密,而非對稱加密技術(shù)使用私鑰和公鑰實現(xiàn)加密過程,兩種加密技術(shù)各有優(yōu)缺點。在互聯(lián)網(wǎng)應(yīng)用中,信息的完整性和傳遞的時效性同等重要,在保證數(shù)據(jù)可靠性的同時兼顧好用戶體驗,提出混合型數(shù)字簽名技術(shù),并簡單介紹其實現(xiàn)原理,并且通過面向?qū)ο缶幊陶Z言Java來實現(xiàn)。

      關(guān)鍵詞:混合型;數(shù)字簽名;網(wǎng)絡(luò)安全;面向?qū)ο?/p>

      隨著信息技術(shù)的飛速發(fā)展,互聯(lián)網(wǎng)技術(shù)滲透到當(dāng)今社會的每個角落,“互聯(lián)網(wǎng)+”概念的推廣,傳統(tǒng)產(chǎn)業(yè)加快了信息化建設(shè)的腳步,網(wǎng)絡(luò)作為信息傳遞的途徑,信息的安全和保密越發(fā)變得重要。目前,為了保證數(shù)據(jù)在互聯(lián)網(wǎng)傳遞時的保密性,常用的技術(shù)手段有訪問控制、身份認(rèn)證及安全審計等。但是這些手段主要是從外部保護(hù)數(shù)據(jù)在傳遞過程中的安全性,一旦數(shù)據(jù)在發(fā)送前或接收后遭到攻擊,則不能驗證信息的完整性。因此,數(shù)字簽名技術(shù)因此誕生,數(shù)字簽名技術(shù)是在數(shù)據(jù)加密的基礎(chǔ)上演化而來,目前加密的方式主要有兩種:一種是對稱加密,另一種是非對稱加密。對稱加密指的是加密和解密使用的是同一把密鑰,它的優(yōu)點是加密速度快,效率高,缺點是密鑰分發(fā)及管理比較困難;而非對稱加密分為公鑰和私鑰,公鑰解決了密鑰分發(fā)的問題,但是公鑰的加解密操作速度較慢。因此,結(jié)合兩種加密方式的優(yōu)缺點,提出混合數(shù)字簽名技術(shù),在保證信息完整性的同時,提高數(shù)據(jù)加密的效率,對當(dāng)前各類互聯(lián)網(wǎng)應(yīng)用有積極的促進(jìn)作用。

      1.加密技術(shù)

      1.1對稱加密技術(shù)

      對稱加密也稱單密鑰加密,指的是通信雙方使用的同一個密鑰,既可以加密又可以解密。對稱加密通常在消息發(fā)送方需要加密大量數(shù)據(jù)時使用,具有加密速度快、計算量小、加密效率高、算法公開等特點。但是在數(shù)據(jù)傳送前,發(fā)送方和接收方必須約定好密鑰,且雙方都能保管好密鑰,否則只要一方的密鑰泄露,那么信息也就不安全了。此外,每次通信雙方都需要使用其他人不知道的唯一密鑰,多次通信則意味收、發(fā)雙方所擁有的密鑰變得越來越多,密鑰的管理成為雙方的負(fù)擔(dān)。常用的對稱加密算法有DES、AES等。

      1.2非對稱加密技術(shù)

      非對稱加密的密鑰由公鑰和私鑰組成,并且可以使用多對密鑰。通常有以下幾種加解密方式:私鑰解密公鑰加密,公鑰解密私鑰加密數(shù)據(jù),私鑰公鑰可以互相加密解密。私鑰只能由一方保管,公鑰交給請求方。非對稱加密速度較慢,但密鑰的管理較方便,也更安全。常見的非對稱加密算法有RSA等。

      1.3混合型加密技術(shù)

      在實際的網(wǎng)絡(luò)環(huán)境中,通常是將兩者混合使用,這樣即解決了密鑰管理的問題,也保證了在非安全信道中密鑰交換的安全性,同時大大提高了加解密的速度。尤其是在安全性與用戶體驗同等重要的互聯(lián)網(wǎng)應(yīng)用中,混合型加密技術(shù)是一種非常有效的數(shù)字簽名技術(shù)。

      1.4數(shù)字簽名

      不管是對稱加密還是非對稱加密,都只能保證數(shù)據(jù)的完整性,在網(wǎng)絡(luò)通信中,數(shù)據(jù)的不可抵賴性則要借助證書中心(Certificate Authority,簡稱CA)來實現(xiàn),證書中心的作用是為公鑰作認(rèn)證,CA通過自己的私鑰,對通信雙方的公鑰和一些相關(guān)信息一起加密,生成“數(shù)字證書”。該證書能使通信接收方確認(rèn)數(shù)據(jù)的來源和數(shù)據(jù)完整性,防止被他人偽造。當(dāng)通信雙方發(fā)生爭議時,CA根據(jù)消息上的簽名來判定這條消息是否確實由發(fā)送方發(fā)出,因為數(shù)字簽名的本質(zhì)是簽名只能通過簽名者的私鑰才能產(chǎn)生,從而保證數(shù)據(jù)在傳輸過程中的不可抵賴性。

      2.混合型數(shù)字簽名技術(shù)在Java中的實現(xiàn)

      Java作為最熱門的Web應(yīng)用開發(fā)語言,在網(wǎng)絡(luò)安全編程中實現(xiàn)數(shù)字簽名具有很大的優(yōu)勢,它提供了兩種API實現(xiàn)數(shù)據(jù)的加密與解密,即JCA和JCE。在此我們采用混合密鑰算法實現(xiàn)數(shù)字簽名,不僅可以提高信息在傳輸過程中的保密性,也使服務(wù)器端的工作效率大大提高。例如針對客戶機(jī)/服務(wù)器模型(C/S架構(gòu)),實現(xiàn)過程如下:

      (1)服務(wù)器Server使用 Hash 算法對所發(fā)送的數(shù)據(jù)內(nèi)容進(jìn)行計算得到信息摘要,用自己的私鑰ServerPrivateKey對其加密形成數(shù)字簽名;

      (2)服務(wù)器Server生成對稱密鑰 ServerSingleKey,使用客戶端Client的公鑰ClientPublicKey對其加密;

      (3)服務(wù)器Server使用對稱密鑰ServerSingleKey對信息內(nèi)容進(jìn)行加密;

      (4)服務(wù)器Server將加密后的對稱密鑰和加密后的密文打包;

      (5)服務(wù)器Server將打包后的數(shù)據(jù)和數(shù)字簽名發(fā)送至客戶端Client;

      (6)客戶端Client收到加密的數(shù)據(jù)包后,用客戶端的私鑰ClientPrivateKey解密得到ServerSingleKey;

      (7)客戶端Client使用解密后的對稱密鑰ServerSingleKey對密文數(shù)據(jù)包解密,得到明文內(nèi)容;

      驗證數(shù)字簽名過程:

      (1)客戶端Client獲取數(shù)字簽名;

      (2)客戶端Client采用相同的Hash算法對解密后的數(shù)據(jù)內(nèi)容進(jìn)行計算得到信息摘要,并使用服務(wù)器Server的公鑰ServerPublicKey檢驗數(shù)字簽名;

      (3)如果數(shù)字簽名相同,那么就可以確認(rèn)該數(shù)字簽名是來自服務(wù)器Server,并且數(shù)據(jù)在傳輸過程中沒有遭到破壞或篡改。

      服務(wù)器Server實現(xiàn)密鑰生成和簽名的部分代碼:

      KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");//初始化參數(shù)

      keyPairGenerator.initialize(512);

      KeyPair keyPair = keyPairGenerator.generateKeyPair();

      RSAPublicKey ServerPublicKey = (RSAPublicKey)keyPair.getPublic();//服務(wù)器公鑰

      RSAPrivateKey ServerPrivateKey = (RSAPrivateKey)keyPair.getPrivate();//服務(wù)器私鑰

      //執(zhí)行簽名

      PKCS8EncodedKeySpec pkcs8EncodedKeySpec = new PKCS8EncodedKeySpec(ServerPrivateKey.getEncoded());

      KeyFactory keyFactory = KeyFactory.getInstance("RSA");

      PrivateKey privateKey = keyFactory.generatePrivate(pkcs8EncodedKeySpec);

      Signature signature = Signature.getInstance("MD5withRSA");

      signature.initSign(privateKey);

      signature.update(src.getBytes());

      byte[] result = signature.sign();

      客戶端Client驗證簽名的部分代碼:

      X509EncodedKeySpec x509EncodedKeySpec = new X509EncodedKeySpec(ServerPublicKey.getEncoded());

      keyFactory = KeyFactory.getInstance("RSA");

      PublicKey publicKey = keyFactory.generatePublic(x509EncodedKeySpec);

      signature = Signature.getInstance("MD5withRSA");

      signature.initVerify(publicKey);

      signature.update(src.getBytes());

      boolean bool = signature.verify(result);//驗證簽名

      3.結(jié)束語

      在網(wǎng)絡(luò)通信過程中,數(shù)字簽名技術(shù)是保障信息安全的重要手段。混合型加密算法不僅實現(xiàn)了數(shù)字簽名,而且保證了數(shù)據(jù)在傳輸過程中的保密性與可靠性,以及通信雙方的不可抵賴,同時提高了加解密過程的效率,在保證信息安全的基礎(chǔ)上對用戶體驗的影響也降到最小,是一項值得推廣的互聯(lián)網(wǎng)安全應(yīng)用技術(shù)。

      參考文獻(xiàn):

      [1]王方鑫.基于RSA簽名方案的研究[J].電腦知識與技術(shù),2018,14(36):28-29.

      [2]段鎮(zhèn)源.探究網(wǎng)絡(luò)安全技術(shù)中數(shù)字簽名的基本原理[J].通訊世界,2019,26(04):31-32.

      [3]趙悅. 基于RSA加密解密的即時通訊系統(tǒng)的設(shè)計與實現(xiàn)[D].吉林大學(xué),2016.

      [4]鄭鴻雁. 移動數(shù)字簽名關(guān)鍵技術(shù)研究[D].北京郵電大學(xué),2014.

      [5]李瑞俊.基于混合密碼體制的數(shù)據(jù)加密模型的研究[J].赤峰學(xué)院學(xué)報(自然科學(xué)版),2014,30(18):10-11.

      作者簡介:

      曹虎山(1967—),男,漢族,湖南益陽,教授,湖南生物機(jī)電職業(yè)技術(shù)學(xué)院,研究方向:信息技術(shù)。

      劉國彥(1978—),男,漢族,湖南益陽,副教授,湖南生物機(jī)電職業(yè)技術(shù)學(xué)院,研究方向:軟件測試。

      曾小舟(1986—),男,漢族,湖南常德,講師,湖南生物機(jī)電職業(yè)技術(shù)學(xué)院,研究方向:軟件工程。

      基金項目:

      湖南省教育廳科學(xué)研究項目《混合型數(shù)字簽名技術(shù)在O2O電子商務(wù)網(wǎng)絡(luò)安全中的應(yīng)用研究》(項目編號:15C0810)階段性成果。

      猜你喜歡
      數(shù)字簽名面向?qū)ο?/a>網(wǎng)絡(luò)安全
      淺析計算機(jī)安全防護(hù)中數(shù)字簽名技術(shù)的應(yīng)用
      網(wǎng)絡(luò)安全
      網(wǎng)絡(luò)安全人才培養(yǎng)應(yīng)“實戰(zhàn)化”
      面向?qū)ο蟮挠嬎銠C(jī)網(wǎng)絡(luò)設(shè)計軟件系統(tǒng)的開發(fā)
      電子測試(2018年15期)2018-09-26 06:01:34
      上網(wǎng)時如何注意網(wǎng)絡(luò)安全?
      面向?qū)ο蟮臄?shù)據(jù)交換協(xié)議研究與應(yīng)用
      基于數(shù)字簽名的QR碼水印認(rèn)證系統(tǒng)
      面向?qū)ο骔eb開發(fā)編程語言的的評估方法
      我國擬制定網(wǎng)絡(luò)安全法
      聲屏世界(2015年7期)2015-02-28 15:20:13
      面向?qū)ο笮畔⑻崛≈杏跋穹指顓?shù)的選擇
      河南科技(2014年10期)2014-02-27 14:09:03
      池州市| 富民县| 安泽县| 南皮县| 招远市| 安庆市| 河北区| 垫江县| 东台市| 桃源县| 玛沁县| 修武县| 革吉县| 东兴市| 浦县| 吉安县| 晋城| 汶川县| 义马市| 游戏| 延边| 广德县| 鹤壁市| 庄河市| 四会市| 时尚| 施秉县| 藁城市| 辛集市| 调兵山市| 阳谷县| 疏附县| 南江县| 夏津县| 高阳县| 且末县| 南丹县| 绥阳县| 双峰县| 长丰县| 财经|