国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

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

曹虎山 劉國(guó)彥 曾小舟

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

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

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

1.加密技術(shù)

1.1對(duì)稱加密技術(shù)

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

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

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

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

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

1.4數(shù)字簽名

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

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

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

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

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

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

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

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

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

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

驗(yàn)證數(shù)字簽名過(guò)程:

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

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

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

服務(wù)器Server實(shí)現(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驗(yàn)證簽名的部分代碼:

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);//驗(yàn)證簽名

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

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

參考文獻(xiàn):

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

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

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

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

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

作者簡(jiǎn)介:

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

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

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

基金項(xiàng)目:

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

猜你喜歡
數(shù)字簽名面向?qū)ο?/a>網(wǎng)絡(luò)安全
淺析計(jì)算機(jī)安全防護(hù)中數(shù)字簽名技術(shù)的應(yīng)用
網(wǎng)絡(luò)安全
網(wǎng)絡(luò)安全人才培養(yǎng)應(yīng)“實(shí)戰(zhàn)化”
面向?qū)ο蟮挠?jì)算機(jī)網(wǎng)絡(luò)設(shè)計(jì)軟件系統(tǒng)的開(kāi)發(fā)
上網(wǎng)時(shí)如何注意網(wǎng)絡(luò)安全?
面向?qū)ο蟮臄?shù)據(jù)交換協(xié)議研究與應(yīng)用
基于數(shù)字簽名的QR碼水印認(rèn)證系統(tǒng)
面向?qū)ο骔eb開(kāi)發(fā)編程語(yǔ)言的的評(píng)估方法
我國(guó)擬制定網(wǎng)絡(luò)安全法
聲屏世界(2015年7期)2015-02-28 15:20:13
面向?qū)ο笮畔⑻崛≈杏跋穹指顓?shù)的選擇
河南科技(2014年10期)2014-02-27 14:09:03
沅陵县| 昭苏县| 桓台县| 南部县| 蓝山县| 大田县| 双江| 始兴县| 昌邑市| 三江| 吉水县| 五家渠市| 封开县| 建水县| 定州市| 卓资县| 明光市| 宁陵县| 水城县| 丁青县| 德昌县| 弥勒县| 民县| 阿尔山市| 墨竹工卡县| 碌曲县| 聂荣县| 乐昌市| 金门县| 成武县| 麻阳| 黄山市| 大埔区| 芦溪县| 滦南县| 孝感市| 绥江县| 永嘉县| 福清市| 农安县| 南汇区|