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

        ?

        基于橢圓曲線(xiàn)密碼體制的對(duì)稱(chēng)存儲(chǔ)加密密鑰保護(hù)方案

        2017-04-13 01:34:44朱小松
        軟件導(dǎo)刊 2017年3期
        關(guān)鍵詞:公鑰解密硬盤(pán)

        朱小松

        (杭州電子科技大學(xué) 通信工程學(xué)院,浙江 杭州 310018)

        基于橢圓曲線(xiàn)密碼體制的對(duì)稱(chēng)存儲(chǔ)加密密鑰保護(hù)方案

        朱小松

        (杭州電子科技大學(xué) 通信工程學(xué)院,浙江 杭州 310018)

        存儲(chǔ)重要數(shù)據(jù)的硬盤(pán)通常都會(huì)提供加密保護(hù),為了防止加密硬盤(pán)數(shù)據(jù)的對(duì)稱(chēng)卷密鑰丟失或泄露,必須對(duì)其采取安全保護(hù)措施。針對(duì)卷密鑰的安全性管理問(wèn)題,提出一種基于標(biāo)準(zhǔn)ECDH密鑰交換協(xié)議改進(jìn)協(xié)議的密鑰保護(hù)方案。該協(xié)議可以確??蛻?hù)端無(wú)需將其生成的公鑰以及直接相關(guān)的密鑰信息傳輸?shù)骄W(wǎng)絡(luò)中,因此客戶(hù)端與服務(wù)器之間的通信傳輸網(wǎng)絡(luò)無(wú)需采用加密隧道。

        對(duì)稱(chēng)密鑰;密鑰管理;ECDH;橢圓曲線(xiàn)

        0 引言

        信息時(shí)代信息是一種資產(chǎn),同其它任何資產(chǎn)一樣,需要存儲(chǔ)和保護(hù)。隨著計(jì)算機(jī)的出現(xiàn),信息存儲(chǔ)被電子化,常見(jiàn)用于存儲(chǔ)信息的存儲(chǔ)設(shè)備包括硬盤(pán)、磁帶、U盤(pán)等。由于硬盤(pán)具有容量大、數(shù)據(jù)傳輸速率快、壽命長(zhǎng)等優(yōu)點(diǎn),因此硬盤(pán)已成為主要的外圍存儲(chǔ)設(shè)備,使用越來(lái)越廣泛,特別是在企業(yè)存儲(chǔ)體系架構(gòu)中扮演著及其重要的角色。與內(nèi)存不一樣,存儲(chǔ)在硬盤(pán)中的信息是非易失的。作為信息的直接載體,硬盤(pán)所面臨的安全威脅更為嚴(yán)峻。現(xiàn)今比較流行的企業(yè)存儲(chǔ)體系架構(gòu)有DAS、NAS和SAN三類(lèi),硬盤(pán)在物理上是與主機(jī)分離的,不同的主機(jī)都需要利用光纖通道FC或SCSI協(xié)議通過(guò)路由器或交換機(jī)訪(fǎng)問(wèn)存儲(chǔ)設(shè)備。在這種環(huán)境下,無(wú)可避免地會(huì)遭受信息竊取、篡改、監(jiān)聽(tīng)等物理攻擊。

        為了解決存儲(chǔ)于硬盤(pán)中的信息安全性問(wèn)題,必須采取有效安全保護(hù)措施。加密技術(shù)是保護(hù)信息安全最有效的方式。加密技術(shù)又分為對(duì)稱(chēng)加密和非對(duì)稱(chēng)加密兩類(lèi)。在對(duì)稱(chēng)加密中,發(fā)送者和接收者雙方必須使用相同的私有密鑰;而在非對(duì)稱(chēng)加密中,發(fā)送者和接收者雙方擁有自己的私鑰,并且共享雙方的公鑰。由于對(duì)稱(chēng)加密算法具有加密速度快、效率高、計(jì)算量小等優(yōu)點(diǎn),因此直接用于加密信息。然而,由于加密和解密使用同樣的密鑰,這就使得密鑰的安全性無(wú)法得到保障。在對(duì)稱(chēng)加密中,加密的安全性不僅取決于加密算法,密鑰的安全性管理尤為重要。只要密鑰沒(méi)有泄露,那么加密的信息就是安全的,因此密鑰管理就成為了信息安全系統(tǒng)中的一個(gè)關(guān)鍵性問(wèn)題。本文對(duì)此提出一種新的密鑰管理方案,它是在標(biāo)準(zhǔn)ECDH密鑰交換協(xié)議的基礎(chǔ)上改進(jìn)來(lái)實(shí)現(xiàn)的,算法的安全性建立在橢圓曲線(xiàn)離散對(duì)數(shù)問(wèn)題的基礎(chǔ)之上。本文詳細(xì)描述了算法的加密和解密過(guò)程,使用Java語(yǔ)言模擬了協(xié)議的加/解密過(guò)程,并對(duì)協(xié)議的性能和安全性進(jìn)行了分析。最后,設(shè)計(jì)了一種安全性系統(tǒng)模型,并詳細(xì)描述了解密過(guò)程中客戶(hù)端的密鑰獲取過(guò)程。

        1 預(yù)備知識(shí)

        1.1 橢圓曲線(xiàn)公鑰密碼體制

        橢圓曲線(xiàn)密碼學(xué)(ECC)是一種基于橢圓曲線(xiàn)數(shù)學(xué)的非對(duì)稱(chēng)加密方法,它是由Neal Koblitz和Victor Miller于1985年提出的。在數(shù)學(xué)上,橢圓曲線(xiàn)(EC)是一類(lèi)代數(shù)曲線(xiàn),其中,基于有限域Zp的橢圓曲線(xiàn)方程[3]定義為:

        (1)

        基于有限域GF(2m)的橢圓曲線(xiàn)方程[6]定義為:

        (2)

        橢圓曲線(xiàn)公鑰密碼體制的域參數(shù)為(q,a,b,G,n,h)[4]。

        q為素?cái)?shù)p或者q=2m。a和b是式(1)和式(2)中橢圓曲線(xiàn)方程的系數(shù),常用的橢圓曲線(xiàn)是非奇異性的,即:4a3+27b2≠0。G是橢圓曲線(xiàn)上的基點(diǎn),n是點(diǎn)G的大素?cái)?shù)階,且n是使得n×G=O成立的最小正整數(shù)。h是一個(gè)由橢圓曲線(xiàn)的階除以n產(chǎn)生的余因子,并且h≤4。

        1.2 橢圓曲線(xiàn)離散對(duì)數(shù)問(wèn)題

        將ECC中的加法運(yùn)算與RSA中的模乘運(yùn)算相對(duì)應(yīng),將ECC中的乘法運(yùn)算與RSA中的模冪運(yùn)算相對(duì)應(yīng)。要建立基于橢圓曲線(xiàn)的密碼體制,需要類(lèi)似因子分解兩個(gè)素?cái)?shù)之積或者求離散對(duì)數(shù)這樣的“難題”[5]。

        考慮方程Q=k×P,其中Q,P∈Eq(a,b),且k

        2 改進(jìn)算法描述

        客戶(hù)端與服務(wù)器共同商議一組共享參數(shù):橢圓曲線(xiàn)Eq(a,b)、橢圓曲線(xiàn)的基點(diǎn)G以及點(diǎn)G的大素?cái)?shù)階n。系統(tǒng)加/解密流程如圖1所示。

        圖1 加/解密流程

        2.1 加密過(guò)程

        (1)服務(wù)器生成一個(gè)隨機(jī)數(shù)s作為私鑰,0≤s≤n-1,并計(jì)算其公鑰S=s×G,然后服務(wù)器將自己的公鑰S通過(guò)網(wǎng)絡(luò)發(fā)送給客戶(hù)端,自己保存私鑰s。

        (2)客戶(hù)端生成一個(gè)隨機(jī)數(shù)c作為其私鑰,0≤c≤n-1,并計(jì)算其公鑰C=c×G。

        (3)客戶(hù)端計(jì)算出K=c×S,這個(gè)K就是用來(lái)加密硬盤(pán)卷密鑰P的秘密鑰。加密完成后,客戶(hù)端立即丟棄自己的私鑰c和秘密鑰K,并在客戶(hù)端磁盤(pán)合適的位置保存自己的公鑰C以及服務(wù)器的公鑰S。

        2.2 解密過(guò)程

        (1)客戶(hù)端生成一個(gè)隨機(jī)數(shù)e作為臨時(shí)密鑰,0≤e≤n-1,并計(jì)算E=e×G以及X=C+E。客戶(hù)端將X通過(guò)網(wǎng)絡(luò)發(fā)送給服務(wù)器。

        (2)服務(wù)器接收到X后,計(jì)算Y=s×X,并將Y返回給客戶(hù)端。

        (3)客戶(hù)端先計(jì)算出Z=e×S,然后計(jì)算出K=Y-Z。于是,客戶(hù)端就恢復(fù)出秘密鑰K。

        2.3 Java實(shí)現(xiàn)協(xié)議過(guò)程

        使用Java語(yǔ)言模擬協(xié)議加/解密過(guò)程的代碼如下:

        publicstaticvoidmain(String[]args)throwsInsecureCurveException,

        NotOnMotherException,NoCommonMotherException{

        /**

        * 加密過(guò)程

        */

        Randomr1 =newRandom(500);

        BigIntegerc=newBigInteger(300,r1); /* 客戶(hù)端生成一個(gè)隨機(jī)數(shù)作為私鑰 */

        System.out.println("client: " +c);

        Randomr2 =newRandom(100);

        BigIntegers=newBigInteger(250,r2); /* 服務(wù)器生成一個(gè)隨機(jī)數(shù)作為私鑰 */

        System.out.println("server: " +s);

        /* 分別給定3個(gè)參數(shù):a,b和p,確定橢圓曲線(xiàn)Ep(a,b),其中,a和b是橢圓曲線(xiàn)方程y^2=x^3+a*x+b的系數(shù),p是一個(gè)大素?cái)?shù) */

        EllipticCurveec=newEllipticCurve(newBigInteger("-485640"),

        newBigInteger("1456878"),newBigInteger("78596435759"));

        System.out.println("EllipticCurve: " +ec+ "createdsuccessfully!");

        /* 生成橢圓曲線(xiàn)的基點(diǎn)G*/

        ECPointG=newECPoint(ec,newBigInteger("1494207"),newBigInteger("122304"));

        ECPointC,S;

        C=G.multiply(c); /* 計(jì)算出客戶(hù)端的公鑰C=c*G*/

        System.out.println("C=c*G: " +c+ " * " +G+ " = " +C);

        S=G.multiply(s); /* 計(jì)算出服務(wù)器的公鑰S=s*G*/

        System.out.println("S=s*G: "+s+ " * " +G+ " = " +S);

        ECPointK1;

        K1 =C.multiply(s); /* 計(jì)算出加密秘密鑰K1=s*C*/

        System.out.println("K1: " +K1);

        /**

        * 解密過(guò)程

        (2)沉箱碼頭段沉箱頂標(biāo)高+1米,當(dāng)?shù)卦O(shè)計(jì)最高水位+3.24米,沉箱處水深較淺,施工船舶難以進(jìn)入沉箱路側(cè)區(qū)域施工;且沉箱陸側(cè)水域面積較小,抓斗船無(wú)法布置船位;

        */

        Randomr3 =newRandom(500);

        BigIntegere=newBigInteger(300,r3); /* 客戶(hù)端生成一個(gè)臨時(shí)密鑰 */

        ECPointE;

        E=G.multiply(e); /* 客戶(hù)端計(jì)算E=e*G*/

        ECPointX;

        X=C.add(E); /* 客戶(hù)端計(jì)算X=C-E*/

        ECPointY;

        ECPointZ;

        Z=S.multiply(e); /* 客戶(hù)端計(jì)算Z=e*S*/

        ECPointK2;

        K2 =Y.subtract(Z); /* 客戶(hù)端計(jì)算解密秘密鑰K2=Y-Z*/

        System.out.println("K2: " +K2);

        /* 判斷加密秘密鑰K1與解密秘密鑰K2是否相等 */

        System.out.println(K2.equals(K1));

        }

        編譯所得結(jié)果如下所示:

        client:190226479994559504786272223906036427100364197 0776253246225407203279979900505454350489415681

        server:11870294321146830125036280966927097374490375 11491420923142353313157808297293

        EllipticCurve:y^2 =x^3 + -485640x+ 1456878 (mod78596435759 )createdsuccessfully!

        C=c*G:19022647999455950478627222390603642710 03641970776253246225407203279979900505454350489415681 * (1494207, 122304) = (57479944285, 9576960236)

        S=s*G:11870294321146830125036280966927097374 49037511491420923142353313157808297293 * (1494207, 122304) = (25405216404, 36628324820)

        K1: (68016581895, 19353883045)

        K2: (68016581895, 19353883045)

        true

        3 算法分析

        3.1 性能分析

        從網(wǎng)絡(luò)傳輸與密鑰大小兩方面來(lái)分析算法的性能。

        (1)網(wǎng)絡(luò)傳輸??蛻?hù)端與服務(wù)器通過(guò)網(wǎng)絡(luò)傳輸進(jìn)行數(shù)據(jù)通信。假設(shè)在解密過(guò)程中,客戶(hù)端并沒(méi)有生成臨時(shí)密鑰。在加密過(guò)程相同的前提下,如果想要客戶(hù)端恢復(fù)秘密鑰,則客戶(hù)端需要將自己的公鑰通過(guò)網(wǎng)絡(luò)發(fā)送給解密服務(wù)器,服務(wù)器計(jì)算。顯然,這需要采用安全隧道傳輸,例如SSL/TLS協(xié)議。在本算法中,客戶(hù)端通過(guò)生成一個(gè)臨時(shí)密鑰來(lái)約束這兩個(gè)值,只有客戶(hù)端自己才能解綁,而攻擊者則不行,因此無(wú)需采用加密隧道。

        (2)密鑰大小。這與標(biāo)準(zhǔn)的ECDH算法相當(dāng)。與其它傳統(tǒng)的算法相比,160位的ECC密鑰安全性等價(jià)于1 024位的DSA/RSA密鑰,224位的ECC密鑰安全性等價(jià)于2 048位額DSA/RSA密鑰[9]。顯然,不僅這縮小了算法的計(jì)算量,而且密鑰所需的存儲(chǔ)空間更小。

        3.2 安全性分析

        如果客戶(hù)端丟棄了自身的私鑰,沒(méi)有連接到解密服務(wù)器,則無(wú)法恢復(fù)秘密鑰。所需要考慮的安全性問(wèn)題主要有以下三種情況:

        (1)中間人攻擊[7]。竊聽(tīng)者截獲到客戶(hù)端發(fā)送的以及接收到的數(shù)據(jù)。由于這些元數(shù)據(jù)都被客戶(hù)端所提供的臨時(shí)密鑰約束,只有客戶(hù)端自身可以對(duì)這些值進(jìn)行解綁,因此可以抵御中間人攻擊。

        (2)客戶(hù)端的公鑰的安全性保護(hù)??蛻?hù)端需要對(duì)自己的公鑰提供安全性保護(hù),以防止泄露??梢圆扇≡O(shè)置設(shè)備權(quán)限和文件系統(tǒng)權(quán)限,配置安全性架構(gòu)(如SELinux)或者使用硬件加密(如TPM),這些都是客戶(hù)端可以實(shí)現(xiàn)的。

        (3)服務(wù)器的私鑰的安全性保護(hù)。解密服務(wù)器必須保護(hù)它的私鑰。為了實(shí)現(xiàn)這個(gè)目的,服務(wù)器可以對(duì)文件系統(tǒng)的權(quán)限設(shè)置訪(fǎng)問(wèn)控制,并實(shí)施服務(wù)策略。此外,服務(wù)器還可以使用硬件加密(如HSM)來(lái)保護(hù)自己的私鑰。

        4 系統(tǒng)設(shè)計(jì)方案

        4.1 安全系統(tǒng)模型

        該系統(tǒng)設(shè)計(jì)方案的安全系統(tǒng)模型如圖2所示,主要包括3個(gè)模塊:客戶(hù)端、服務(wù)器和傳輸網(wǎng)絡(luò)。

        圖2 安全系統(tǒng)模型

        實(shí)施該方案的前提條件是客戶(hù)端硬盤(pán)中的數(shù)據(jù)已經(jīng)采用對(duì)稱(chēng)加密方式進(jìn)行加密,如采用LUKS/cryptsetup加密,因此需要對(duì)加密數(shù)據(jù)的卷密鑰采取安全性保護(hù)。在客戶(hù)端中輸入加密命令,客戶(hù)端通過(guò)使用改進(jìn)協(xié)議所生成的秘密鑰對(duì)其進(jìn)行加密保護(hù)。當(dāng)用戶(hù)需要訪(fǎng)問(wèn)硬盤(pán)數(shù)據(jù)時(shí),客戶(hù)端首先要通過(guò)網(wǎng)絡(luò)連接到解密服務(wù)器,然后在客戶(hù)端中輸入相應(yīng)的解密命令,使客戶(hù)端與服務(wù)器各自執(zhí)行相應(yīng)的操作,從而客戶(hù)端可以恢復(fù)解密卷密鑰的密鑰。

        4.2 密鑰獲取

        圖3描述了解密過(guò)程中客戶(hù)端獲取密鑰的過(guò)程:

        (1)客戶(hù)端從硬盤(pán)中加載相關(guān)元數(shù)據(jù),包括客戶(hù)端自己的公鑰以及服務(wù)器的公鑰等。

        (2)客戶(hù)端與服務(wù)器通過(guò)改進(jìn)協(xié)議進(jìn)行數(shù)據(jù)交換,由于客戶(hù)端采用臨時(shí)密鑰對(duì)指定元數(shù)據(jù)進(jìn)行了處理,客戶(hù)端并沒(méi)有將自己的密鑰和身份信息傳輸?shù)骄W(wǎng)絡(luò)中,因此無(wú)需采用加密隧道傳輸。

        (3)客戶(hù)端接收到服務(wù)器返回的數(shù)據(jù)后進(jìn)行處理,恢復(fù)秘密鑰,進(jìn)而恢復(fù)硬盤(pán)卷密鑰。最后,客戶(hù)端利用卷密鑰解密硬盤(pán)。

        圖3 密鑰獲取

        5 結(jié)語(yǔ)

        本文針對(duì)ECDH改進(jìn)協(xié)議提出了一種基于橢圓曲線(xiàn)公鑰密碼體制的對(duì)稱(chēng)存儲(chǔ)加密密鑰保護(hù)方案。針對(duì)協(xié)議的性能和安全性分析,提出了一種實(shí)現(xiàn)方案的系統(tǒng)模型以及解密過(guò)程中的密鑰獲取過(guò)程。但是,對(duì)于方案具體的實(shí)現(xiàn)過(guò)程還不夠完善,這正是后續(xù)研究的方向。

        [1] 高偉, 谷大武,侯方勇,等.磁盤(pán)數(shù)據(jù)安全保護(hù)技術(shù)綜述[J].計(jì)算機(jī)應(yīng)用研究,2008,25(5):1 288-1 291.

        [2] NATHANIEL MCCALLUM.Tang binding daemon [EB/OL]. https://github.com/latchset/tang.

        [3] BEHROUZ A.FOROUZAN.密碼學(xué)與網(wǎng)絡(luò)安全學(xué)[M].北京:清華大學(xué)出版社,2009:298-306.

        [4] 李勝金, 張昌宏,周大偉.一種基于ECDH的可認(rèn)證密鑰協(xié)商協(xié)議[J].信息安全與通信保密,2011,6(3):70-72.

        [5] PAUL GARRETT.密碼學(xué)導(dǎo)引[M].北京:機(jī)械工業(yè)出版社,2003:337-345.

        [6] TURKI F,ALSOMANI,M K IBRAHIM,et al.High performance elliptic curve GF(2m) crypto-processor[J].Asian Network for Scientific Information,2006, 5(4): 742-748.

        [7] DAHAI DU,HUAGANG XIONG.A Dynamic key management scheme for MANETs[C].2011 Cross Strait Quad-Regional Radio Science and Wireless Technology Conference,2011: 779-783.

        [8] AKSHAY DESAI,KRISHNA ANKALGI,HARISH YAMANUR,et al.Parallelization of AES algorithm for disk encryption using CBC and ICBC modes[C]. 4th ICCCNT 2013,2013:647-650.

        [9] HUA YILIN.Hypercube routing protocol with secure data transmission mechanisms in sensor networks using elliptic curve diffie-hellman key agreements[C].2009 International Conference on New Trends in Information and Service Science,2009:1 303-1 308.

        (責(zé)任編輯:陳福時(shí))

        朱小松(1989-),男,湖北松滋人,杭州電子科技大學(xué)通信工程學(xué)院碩士研究生,研究方向?yàn)閿?shù)據(jù)安全算法、云存儲(chǔ)技術(shù)。

        10.11907/rjdk.162659

        TP309.7

        A

        1672-7800(2017)003-0153-03

        猜你喜歡
        公鑰解密硬盤(pán)
        解密“熱脹冷縮”
        解密“一包三改”
        HiFi級(jí)4K硬盤(pán)播放機(jī) 億格瑞A15
        Egreat(億格瑞)A10二代 4K硬盤(pán)播放機(jī)
        炫詞解密
        一種基于混沌的公鑰加密方案
        HES:一種更小公鑰的同態(tài)加密算法
        SM2橢圓曲線(xiàn)公鑰密碼算法綜述
        我區(qū)電視臺(tái)對(duì)硬盤(pán)播出系統(tǒng)的應(yīng)用
        解密“大調(diào)解”
        少妇特殊按摩高潮对白| 又黄又爽的成人免费视频| 亚洲男女免费视频| 自拍视频在线观看成人| 亚洲精品久久区二区三区蜜桃臀 | 亚洲h视频| 久久熟女乱一区二区三区四区| 成人大片免费在线观看视频| 国产亚洲精品久久久闺蜜| 丰满少妇愉情中文字幕18禁片| 98精品国产高清在线xxxx| 一区二区高清免费日本| 三年的高清电影免费看| 久久久久无码精品亚洲日韩| 日本亚洲一级中文字幕| 精品在线视频在线视频在线视频| 精品久久久久久无码人妻热| 在线视频 亚洲精品| 午夜一区二区在线视频| 亚洲精品国产精品乱码视色| 日韩精品无码免费专区网站| 在线成人tv天堂中文字幕| 日本精品一区二区三区试看 | 午夜视频在线观看国产| 欧洲熟妇色xxxx欧美老妇软件| 少妇白浆高潮无码免费区| 特级毛片a级毛片免费播放| 国产精品成人观看视频| 在线一区不卡网址观看| 成人免费毛片在线播放| 色偷偷亚洲第一综合网| 99久久国内精品成人免费| 无码国产福利av私拍| 无码日日模日日碰夜夜爽| 国产精品人成在线观看不卡| 极品少妇hdxx麻豆hdxx| 亚洲国产精品久久久久久久| 亚洲av第一区综合激情久久久| 国产亚洲视频在线播放| 国产三级在线观看播放视频| 国产成人AV乱码免费观看|