999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于橢圓曲線密碼體制的對稱存儲加密密鑰保護方案

2017-04-13 01:34:44朱小松
軟件導刊 2017年3期
關鍵詞:安全性

朱小松

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

基于橢圓曲線密碼體制的對稱存儲加密密鑰保護方案

朱小松

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

存儲重要數據的硬盤通常都會提供加密保護,為了防止加密硬盤數據的對稱卷密鑰丟失或泄露,必須對其采取安全保護措施。針對卷密鑰的安全性管理問題,提出一種基于標準ECDH密鑰交換協議改進協議的密鑰保護方案。該協議可以確保客戶端無需將其生成的公鑰以及直接相關的密鑰信息傳輸到網絡中,因此客戶端與服務器之間的通信傳輸網絡無需采用加密隧道。

對稱密鑰;密鑰管理;ECDH;橢圓曲線

0 引言

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

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

1 預備知識

1.1 橢圓曲線公鑰密碼體制

橢圓曲線密碼學(ECC)是一種基于橢圓曲線數學的非對稱加密方法,它是由Neal Koblitz和Victor Miller于1985年提出的。在數學上,橢圓曲線(EC)是一類代數曲線,其中,基于有限域Zp的橢圓曲線方程[3]定義為:

(1)

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

(2)

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

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

1.2 橢圓曲線離散對數問題

將ECC中的加法運算與RSA中的模乘運算相對應,將ECC中的乘法運算與RSA中的模冪運算相對應。要建立基于橢圓曲線的密碼體制,需要類似因子分解兩個素數之積或者求離散對數這樣的“難題”[5]。

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

2 改進算法描述

客戶端與服務器共同商議一組共享參數:橢圓曲線Eq(a,b)、橢圓曲線的基點G以及點G的大素數階n。系統加/解密流程如圖1所示。

圖1 加/解密流程

2.1 加密過程

(1)服務器生成一個隨機數s作為私鑰,0≤s≤n-1,并計算其公鑰S=s×G,然后服務器將自己的公鑰S通過網絡發送給客戶端,自己保存私鑰s。

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

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

2.2 解密過程

(1)客戶端生成一個隨機數e作為臨時密鑰,0≤e≤n-1,并計算E=e×G以及X=C+E。客戶端將X通過網絡發送給服務器。

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

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

2.3 Java實現協議過程

使用Java語言模擬協議加/解密過程的代碼如下:

publicstaticvoidmain(String[]args)throwsInsecureCurveException,

NotOnMotherException,NoCommonMotherException{

/**

* 加密過程

*/

Randomr1 =newRandom(500);

BigIntegerc=newBigInteger(300,r1); /* 客戶端生成一個隨機數作為私鑰 */

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

Randomr2 =newRandom(100);

BigIntegers=newBigInteger(250,r2); /* 服務器生成一個隨機數作為私鑰 */

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

/* 分別給定3個參數:a,b和p,確定橢圓曲線Ep(a,b),其中,a和b是橢圓曲線方程y^2=x^3+a*x+b的系數,p是一個大素數 */

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

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

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

/* 生成橢圓曲線的基點G*/

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

ECPointC,S;

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

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

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

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

ECPointK1;

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

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

/**

* 解密過程

(2)沉箱碼頭段沉箱頂標高+1米,當地設計最高水位+3.24米,沉箱處水深較淺,施工船舶難以進入沉箱路側區域施工;且沉箱陸側水域面積較小,抓斗船無法布置船位;

*/

Randomr3 =newRandom(500);

BigIntegere=newBigInteger(300,r3); /* 客戶端生成一個臨時密鑰 */

ECPointE;

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

ECPointX;

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

ECPointY;

ECPointZ;

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

ECPointK2;

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

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

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

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

}

編譯所得結果如下所示:

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 性能分析

從網絡傳輸與密鑰大小兩方面來分析算法的性能。

(1)網絡傳輸。客戶端與服務器通過網絡傳輸進行數據通信。假設在解密過程中,客戶端并沒有生成臨時密鑰。在加密過程相同的前提下,如果想要客戶端恢復秘密鑰,則客戶端需要將自己的公鑰通過網絡發送給解密服務器,服務器計算。顯然,這需要采用安全隧道傳輸,例如SSL/TLS協議。在本算法中,客戶端通過生成一個臨時密鑰來約束這兩個值,只有客戶端自己才能解綁,而攻擊者則不行,因此無需采用加密隧道。

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

3.2 安全性分析

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

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

(2)客戶端的公鑰的安全性保護。客戶端需要對自己的公鑰提供安全性保護,以防止泄露。可以采取設置設備權限和文件系統權限,配置安全性架構(如SELinux)或者使用硬件加密(如TPM),這些都是客戶端可以實現的。

(3)服務器的私鑰的安全性保護。解密服務器必須保護它的私鑰。為了實現這個目的,服務器可以對文件系統的權限設置訪問控制,并實施服務策略。此外,服務器還可以使用硬件加密(如HSM)來保護自己的私鑰。

4 系統設計方案

4.1 安全系統模型

該系統設計方案的安全系統模型如圖2所示,主要包括3個模塊:客戶端、服務器和傳輸網絡。

圖2 安全系統模型

實施該方案的前提條件是客戶端硬盤中的數據已經采用對稱加密方式進行加密,如采用LUKS/cryptsetup加密,因此需要對加密數據的卷密鑰采取安全性保護。在客戶端中輸入加密命令,客戶端通過使用改進協議所生成的秘密鑰對其進行加密保護。當用戶需要訪問硬盤數據時,客戶端首先要通過網絡連接到解密服務器,然后在客戶端中輸入相應的解密命令,使客戶端與服務器各自執行相應的操作,從而客戶端可以恢復解密卷密鑰的密鑰。

4.2 密鑰獲取

圖3描述了解密過程中客戶端獲取密鑰的過程:

(1)客戶端從硬盤中加載相關元數據,包括客戶端自己的公鑰以及服務器的公鑰等。

(2)客戶端與服務器通過改進協議進行數據交換,由于客戶端采用臨時密鑰對指定元數據進行了處理,客戶端并沒有將自己的密鑰和身份信息傳輸到網絡中,因此無需采用加密隧道傳輸。

(3)客戶端接收到服務器返回的數據后進行處理,恢復秘密鑰,進而恢復硬盤卷密鑰。最后,客戶端利用卷密鑰解密硬盤。

圖3 密鑰獲取

5 結語

本文針對ECDH改進協議提出了一種基于橢圓曲線公鑰密碼體制的對稱存儲加密密鑰保護方案。針對協議的性能和安全性分析,提出了一種實現方案的系統模型以及解密過程中的密鑰獲取過程。但是,對于方案具體的實現過程還不夠完善,這正是后續研究的方向。

[1] 高偉, 谷大武,侯方勇,等.磁盤數據安全保護技術綜述[J].計算機應用研究,2008,25(5):1 288-1 291.

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

[3] BEHROUZ A.FOROUZAN.密碼學與網絡安全學[M].北京:清華大學出版社,2009:298-306.

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

[5] PAUL GARRETT.密碼學導引[M].北京:機械工業出版社,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.

(責任編輯:陳福時)

朱小松(1989-),男,湖北松滋人,杭州電子科技大學通信工程學院碩士研究生,研究方向為數據安全算法、云存儲技術。

10.11907/rjdk.162659

TP309.7

A

1672-7800(2017)003-0153-03

猜你喜歡
安全性
兩款輸液泵的輸血安全性評估
新染料可提高電動汽車安全性
既有建筑工程質量安全性的思考
某既有隔震建筑檢測與安全性鑒定
基于安全性需求的高升力控制系統架構設計
加強廣播電視信息安全性的思考
科技傳播(2019年22期)2020-01-14 03:05:32
網約車安全性提高研究
活力(2019年17期)2019-11-26 00:42:18
注意藥酒服用的安全性
基層中醫藥(2018年6期)2018-08-29 01:20:20
田間施用滅幼脲在桃中的殘留安全性評估
ApplePay橫空出世 安全性遭受質疑 拿什么保護你,我的蘋果支付?
主站蜘蛛池模板: 91视频国产高清| 亚洲 欧美 日韩综合一区| 综合五月天网| 毛片视频网| 99热最新在线| 亚洲第一区在线| 国产成人综合在线视频| 精品自拍视频在线观看| 亚洲综合一区国产精品| 亚洲欧美一区二区三区图片| 国产成人精品视频一区视频二区| 国产成人高清在线精品| 亚洲妓女综合网995久久| 日本成人在线不卡视频| 国产在线专区| 亚洲中文久久精品无玛| 亚洲国产精品日韩av专区| а∨天堂一区中文字幕| 人妻丝袜无码视频| 在线国产你懂的| 日韩亚洲综合在线| 国产在线精品99一区不卡| 国产亚洲精品97在线观看| 欧洲成人免费视频| 天天摸天天操免费播放小视频| 国产国模一区二区三区四区| 精品国产网| 国产二级毛片| 国产免费怡红院视频| 欧美翘臀一区二区三区| 欧美成人免费| 亚洲国产无码有码| 国产成人禁片在线观看| 欧美精品v| 97国产精品视频自在拍| 国产精品va| 日韩精品少妇无码受不了| 亚洲中文精品久久久久久不卡| 国产高颜值露脸在线观看| 精品色综合| 欧美色综合网站| 91在线精品麻豆欧美在线| 国产成人精品18| 国产毛片不卡| 国产亚洲精品精品精品| 欧美日韩精品一区二区在线线| 啦啦啦网站在线观看a毛片 | 在线国产你懂的| 亚洲无码精品在线播放| AⅤ色综合久久天堂AV色综合| 精品伊人久久久香线蕉| 全部免费特黄特色大片视频| 香蕉精品在线| 人妻熟妇日韩AV在线播放| 亚洲日韩国产精品综合在线观看| 99久久成人国产精品免费| 国内老司机精品视频在线播出| 四虎国产在线观看| 91年精品国产福利线观看久久| 亚洲天堂视频网站| 国产又粗又猛又爽视频| 亚洲日本中文字幕乱码中文| 国产精品白浆在线播放| 网友自拍视频精品区| 四虎AV麻豆| 国产精品自在在线午夜区app| 片在线无码观看| 秋霞国产在线| 毛片一区二区在线看| 久久婷婷国产综合尤物精品| 成人国产小视频| 91视频区| 欧美一级爱操视频| 99在线视频免费观看| 欧美成人午夜视频| 日韩毛片基地| 日韩精品成人网页视频在线| 亚洲天堂2014| 91成人试看福利体验区| a级毛片免费网站| 婷婷亚洲视频| 无码中文字幕精品推荐|