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

基于iOS終端的SM2移動密碼系統

2018-03-23 08:23:44鄧高宇龍毅宏
軟件 2018年2期
關鍵詞:用戶

鄧高宇,龍毅宏

(武漢理工大學信息工程學院,湖北 武漢 430070)

0 引言

SM2橢圓曲線公鑰密碼算法于 2010年首次公開發布,2012年成為中國商用密碼標準,2016年成為中國國家密碼標準。迄今為止與SM2算法相關研究表明,SM2算法的可證安全性達到了公鑰密碼算法的最高安全級別[1],其實現效率相當于或略優于一些國際標準的同類橢圓曲線密碼算法[2-5]。2013年,孫榮燕,蔡昌曙,周洲[6]等人對SM2數字簽名算法與 ECDSA算法進行了對比與分析研究,對ECDSA-SM2算法的數字模型進行了正確性證明。2016年,陳澤凱[7]實現了一個基于身份的SM2橢圓曲線數字簽名方案SM2-IBS,具有效率高、簽名長度短、不依賴PKI等特點。

隨著4G、WLAN、傳感器等無線網絡的普及,使用移動終端逐漸成為用戶訪問網絡處理業務(包括網絡通信、電子支付、網上銀行等)的重要手段[8]。而在移動終端上使用公鑰密碼私鑰如SM2私鑰時,最重要的一點就是保障用戶私鑰存儲、使用的安全。目前在移動終端對用戶私鑰進行有效保護的手段主要有兩種:一種是采用USB密碼鑰匙(USB key)作為客戶端裝置來存儲私鑰[9],此種方式給用戶帶來了使用成本,而且使用也不方便;另一種方式是使用移動終端內置密碼芯片來存儲私鑰并進行密碼運算,然而內置密碼芯片的移動終端應用不廣,市面上絕大部分手機都不自帶密碼芯片,且目前不存在支持SM2密碼運算的手機密碼芯片。由于使用密碼硬件存在諸多問題,目前最常用的方法是使用純軟件的密碼模塊,將用戶私鑰保存在移動終端本地,并通過PIN(Personal Identification Number)碼對私鑰進行保護。這種采用純軟件密碼模塊、將用戶私鑰保存在移動終端本地的方式存在用戶私鑰泄露風險[10],如:攻擊者通過木馬竊取保存在移動終端中的用戶私鑰,破解用戶保護私鑰的PIN碼,從而獲得用戶私鑰;采用純軟件密碼模塊方式,用戶私鑰最終需以明文形式導入到內存中使用,攻擊者有可能竊取存放在內存中的用戶私鑰。

為了在移動終端中安全的使用 SM2私鑰進行數字簽名,本文提出并實現了一種基于iOS移動終端的SM2移動密碼系統方案,采用秘密共享的方式來保障用戶SM2私鑰使用的安全性。

1 基于iOS終端的SM2移動密碼系統整體方案設計

為滿足在iOS移動終端中安全使用SM2私鑰進行數字簽名的需求,本文提出的解決方案是將用戶私鑰通過一定的方式分割成多份,每份稱為秘密份額[11],然后將其中的一份秘密份額保存在iOS移動終端,其余的保存在密碼服務器中;當移動終端中的應用程序需要調用密碼模塊使用用戶 SM2私鑰進行數字簽名時,多個計算裝置分別使用自己的秘密份額進行密碼運算,最后將各裝置計算的結果合并形成最后的、使用用戶私鑰進行密碼運算的結果,而數字簽名驗證仍然采用通常的、標準的方式。

1.1 系統整體結構

基于iOS終端的SM2移動密碼系統結構如圖1所示,主要包括:

圖1 基于iOS端的SM2移動密碼系統結構圖Fig.1 Structure of SM2 mobile cryptosystem based on iOS terminal

(1)iOS移動終端:用戶進行操作的客戶端,其中有專門的SM2密碼模塊,用來進行SM2密碼運算,存儲分割后的部分秘密份額,與密碼服務器交互產生數字簽名,并提供驗證數字簽名的功能。

(2)密碼服務器:共有 m-1個密碼服務器(m≥2),與移動終端構成m個進行秘密共享的裝置;每個密碼服務器存儲有屬于自己的SM2私鑰秘密份額,當需要使用用戶的SM2私鑰進行數字簽名時,與 iOS移動終端交互,使用自己的私鑰秘密份額進行運算,并將密碼運算結果發送給 iOS移動終端。

1.2 基于密碼共享的SM2數字簽名方案

密碼共享是信息安全和數據保密中的一項重要技術,本文在對SM2私鑰進行普通秘密共享的基礎上,提出在 SM2私鑰產生后亦可采用門限秘密共享方法,可以把秘密份額分散在多個裝置中,使得合法子集可以聯合執行所需密碼服務[12],而非法子集不能完成這個密碼服務。被攻擊時,只要達到門限數目的部件正常,就可以采取措施恢復系統為最初的安全狀態[13]。在本論文實現的 SM2移動密碼系統中,門限秘密共享可用來增強系統的安全性和容錯性。

1.2.1 基于普通秘密共享的SM2數字簽名

基于普通秘密共享的SM2數字簽名,核心在于將用戶 SM2私鑰根據普通秘密共享算法分割成 m份私鑰秘密份額,一份保存在iOS移動終端,其余m-1份分發到 m-1個密碼服務器。當應用程序需要使用 SM2私鑰進行數字簽名時,移動終端中的密碼模塊和密碼服務器分別使用各自保存的 SM2私鑰秘密份額進行密碼運算,產生 m份密碼運算結果,最后將這m份密碼運算的結果組合實現SM2數字簽名。少了這 m份私鑰秘密份額密碼運算結果中的任意一份,密碼模塊都不能得到最終的數字簽名。

在生成數字簽名前,針對參與SM2數字簽名生成的iOS移動終端和m-1個密碼服務器進行如下初始化操作:

(1)iOS移動終端的密碼模塊產生m份秘密份額di,i=1,2,…,m,其中d1由移動終端保存,d2,…,dm由 m-1個密碼服務器保存使用。這 m份秘密份額與用戶的 SM2私鑰 dA滿足關系(1+dA)-1dAmod n=(d1+d2+…+dm) mod n,其中n是SM2密碼運算所使用的橢圓曲線點群的階(也即SM2密碼運算所使用的橢圓曲線點群的基點G的階),(1+dA)-1是(1+dA)的模n乘法逆(即(1+dA)-1與(1+dA)模n乘積為1);

(2)密碼模塊在區間[1,n-1]內隨機選擇一個整數b,計算c=(1+dA)-1b mod n(此處b不是橢圓曲線方程的參數b);

(3)計算Gb=[b]G,其中G是SM2橢圓曲線點群的基點;

(4)移動終端將 c、Gb保存一份,并分發給m-1個密碼服務器;

當需要使用用戶的SM2私鑰dA針對消息M進行數字簽名時,iOS移動終端、密碼服務器按如下方式進行數字簽名的生成:

(1)iOS移動終端和m-1個密碼服務器在區間[1,n-1]中隨機選擇一個整數ki,i=1,2,…,m。

(2)iOS移動終端通過與m-1個密碼服務器交互,計算得到 Q=[k1+k2+…+ km]Gb,r=(e+x1) mod n,且得到的Q、r滿足:r≠0且[r]G+Q不是SM2橢圓曲線點群的零元(無窮遠點),x1取自(x1,y1)=Q,e是從用戶標識和消息M導出的雜湊值(即散列值)(按SM2算法,e是從用戶標識IDA等參數導出的雜湊值ZA同消息M合并后的數據的雜湊值,參見SM2規范);

(3)移動終端的密碼模塊和 m-1個密碼服務器分別計算si=(cki-dir) mod n,其中i=1,2,…,m,si對應si裝置i所進行的計算;

(4)iOS移動終端的密碼模塊計算得到s=(s1+s2+…+sm) mod n;則(r,s)即為使用用戶的SM2私鑰dA對消息M的數字簽名。

在上述數字簽名生成過程中,r、e、si,i=1,2,…,m,根據計算的需要在m個裝置之間傳送。

1.2.2 基于門限秘密共享的SM2數字簽名

本文提出的基于門限秘密共享的SM2數字簽名方案,采用Shamir門限秘密共享方案。此方案中進行數字簽名操作處理的移動終端和 t-1個密碼服務器,僅是全部 m個裝置(移動終端和 m-1個密碼服務器)中的t個(m≥t),即采用(t,m)的門限方案。

方案核心在于將用戶SM2私鑰秘密(不是私鑰本身)根據門限秘密共享算法分割成m份私鑰秘密份額,一份保存在iOS移動終端,其余m-1份分發到 m-1個密碼服務器。當應用程序需要使用 SM2私鑰進行數字簽名時,移動終端中的密碼模塊和m-1個密碼服務器中的任意t-1個密碼服務器分別使用各自保存的SM2私鑰秘密份額進行密碼運算,產生t份密碼運算結果,最后將這t份密碼運算的結果組合實現 SM2數字簽名。基于門限秘密共享的SM2數字簽名方案概述如下。

(1)在有限域GF(n)上,將私鑰秘密(1+dA)-1dAmod n按(t, m)門限秘密共享分割成m份,并將分割得到的秘密分發給iOS移動終端和m-1個密碼服務器,這里n是SM2橢圓曲線點群的階;

(2)當iOS移動終端中的應用程序需要使用用戶的SM2私鑰對消息進行數字簽名時,iOS移動終端以及 t-1個密碼服務器根據自己的秘密份額以及當前組合分別計算得到d1, d2,…, dt,計算得到的d1,d2,…, dt滿足關系:(1+dA)-1dAmod n=(d1+d2+…+dt)mod n;

(3)之后,iOS移動終端以及t-1個密碼服務器依據d1, d2,…, dt按普通秘密共享一樣的方式通過協同計算得到針對消息的數字簽名。

依據以上門限秘密共享方案,其中任意不少于t份私鑰秘密份額均能完成密碼運算,而少于t份私鑰秘密份額則不能,且少于 t個秘密共享成員也無法重構私鑰秘密[14]。

2 系統功能實施及結果

2.1 iOS移動終端的SM2密碼功能實施

在iOS移動終端的SM2密碼功能的實施主要涉及SM2密碼模塊、以及秘密份額的存儲以及與密碼服務器的交互。SM2密碼模塊的主要功能是基于秘密共享方案(包括普通秘密共享和門限秘密共享)進行SM2數字簽名的生成以及SM2數字簽名驗證,相應的功能通過OpenSSL的ECC密碼庫實現。

秘密份額存儲在用戶計算裝置本地的永久存儲介質中(移動終端內的電子盤),并通過 PIN碼(Personal Identification Number)對秘密份額加以保護。在SM2數字簽名的協同計算過程中iOS移動終端與密碼服務器的交互采用自定義的協議,包括對移動終端用戶進行身份鑒別,并通過SSL對交互數據進行安全保護。

2.2 密碼服務器端功能實施

本系統中的密碼服務器運行在Windows平臺,用C/C++語言開發,其主要功能是使用用戶SM2的私鑰秘密份額、基于秘密共享方案(包括普通秘密共享和門限秘密共享)進行SM2數字簽名的生成,相應功能同樣是基于OpenSSL庫的ECC密碼功能實現;密碼服務器與iOS移動終端之間的交互通過自行定義的協議進行。

2.3 實施結果

測試結果表明當iOS移動終端中的應用程序需要使用用戶的SM2私鑰進行數字簽名時,基于前述移動密碼系統,iOS移動終端中的密碼模塊及相應的密碼服務器通過使用各自的用戶 SM2私鑰的秘密份額,能有效地生成SM2數字簽名。

3 結論

本文針對當前沒有密碼硬件情況下,安全使用用戶SM2私鑰進行數字簽名的需求,提出了一種基于iOS移動終端的SM2移動密碼系統方案。提出的方案具有以下優勢:

(1)適用性廣,不但適合于兩方共享秘密,而且適合于多方共享秘密,不但適合于普通的秘密共享(共享),而且適合于門限秘密共享(共享)。

(2)提高了在沒有密碼硬件的情況下,用戶SM2私鑰使用的安全性。除非攻擊者能同時獲得分布在不同裝置中的足夠數量的秘密份額,否則,攻擊者無法恢復用戶私鑰。而攻擊者要同時獲得分布在不同裝置中的、足夠數量的秘密份額的可能性非常低,幾乎不可能。

(3)采用門限秘密共享方案,在產生突發情況,如服務器崩潰或丟失部分秘密份額時依然可以使用密碼服務。在不增加風險的情況下,增加了系統的可靠性。

(4)采用純軟件方式,可用來取代專門的密碼硬件,如USB Key、SmartCard,攜帶方便且降低了成本。

[1] 汪朝暉, 張振峰. SM2橢圓曲線公鑰密碼算法綜述[J]. 信息安全研究, 2016, 2(11): 972-982.

[2] Idrees Z. Elliptic Curves Cryptography[J]. School of Computer Science Physics & Mathematics, 2012.

[3] 左石城, 向繼, 王平建, 等. 本地提供簽名服務系統的設計與實現[J]. 軟件, 2017, 38(2): 84-90.

[4] Wang Q. The Application of Elliptic Curves Cryptography in Embedded Systems[C]// International Conference on Embedded Software and Systems. IEEE Computer Society, 2005:527-530.

[5] Zhang B, Liu E, Ding J, et al. Novel Certificate for Authentication Based on Elliptic Curve Cryptography and Vector Space Secret Sharing[J]. Journal of Convergence Information Technology, 2012, 7(13): 420-426.

[6] 孫榮燕, 蔡昌曙, 周洲, 等. 國密SM2數字簽名算法與ECDSA算法對比分析研究[J]. 網絡安全技術與應用,2013(2): 60-62.

[7] 陳澤凱. 一種基于身份的SM2橢圓曲線數字簽名方案及其在離線文檔認證中的應用[D]. 廈門大學, 2016.

[8] 馬駿, 馬建峰, 郭淵博. 可證明安全的智能移動終端私鑰保護方案[J]. 通信學報, 2012(12): 108-115.

[9] 王蕓, 趙長江. 安全的移動終端數字簽名方案.中國科技信息, 2015, (22): 52-54.

[10] 陳小梅. 一種基于ECC的安全移動支付協議[J]. 軟件,2013(12): 202-204.

[11] Spaliaras I, Dokouzyannis S. Design and Evaluation of a New Scheme Based on Secret Sharing Mechanisms that Increases the Security of Conditional Access Systems in Satellite Pay-TV[J]. Wireless Personal Communications, 2015,82(3): 1-21.

[12] 榮輝桂, 莫進俠, 常炳國, 等. 基于Shamir秘密共享的密鑰分發與恢復算法[J]. 通信學報, 2015(3): 60-69.

[13] 張文娟, 張錦華. 基于ELGamal密碼體制的安全密鑰托管方案[J]. 軟件, 2012, 33(6): 20-22.

[14] Harn L, Hsu C F, Xia Z, et al. How to Share Secret Efficiently over Networks[J]. Security & Communication Networks, 2017, 2017(4): 1-6.

猜你喜歡
用戶
雅閣國內用戶交付突破300萬輛
車主之友(2022年4期)2022-08-27 00:58:26
您撥打的用戶已戀愛,請稍后再哭
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年5期)2016-11-28 09:55:15
兩新黨建新媒體用戶與全網新媒體用戶之間有何差別
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
挖掘用戶需求尖端科技應用
Camera360:拍出5億用戶
創業家(2015年10期)2015-02-27 07:55:08
100萬用戶
創業家(2015年10期)2015-02-27 07:54:39
主站蜘蛛池模板: 欧美 亚洲 日韩 国产| 亚洲无码日韩一区| 欧美日韩一区二区三区四区在线观看| 婷婷五月在线| 四虎影院国产| 久久婷婷综合色一区二区| 女同国产精品一区二区| 波多野结衣中文字幕一区二区| 久久五月天综合| 高清码无在线看| 欧美日韩国产高清一区二区三区| 精品五夜婷香蕉国产线看观看| 另类重口100页在线播放| 97成人在线视频| 久久精品中文字幕免费| 亚洲无码37.| 日本不卡免费高清视频| 午夜福利视频一区| 91精品久久久久久无码人妻| 国产欧美中文字幕| 97国产精品视频自在拍| 久久免费视频播放| 国产视频大全| 免费无码AV片在线观看国产| 亚洲第一色视频| 久久久国产精品无码专区| 狠狠色狠狠色综合久久第一次| 亚洲人成在线精品| 久操中文在线| 9966国产精品视频| 国产91视频观看| 久久精品人妻中文系列| 亚洲人成网站观看在线观看| 在线看片国产| 新SSS无码手机在线观看| 日本国产精品一区久久久| 亚洲伦理一区二区| 亚洲一区二区三区国产精华液| 无码日韩视频| 亚洲精品无码久久毛片波多野吉| 亚洲一级毛片| 毛片基地美国正在播放亚洲| 亚洲欧美日韩中文字幕在线| 欧美在线国产| 日韩精品一区二区三区大桥未久| 97精品伊人久久大香线蕉| 日韩午夜伦| 国内精品自在欧美一区| 无码网站免费观看| 人人91人人澡人人妻人人爽| 午夜欧美理论2019理论| 亚洲视频三级| 亚洲国产av无码综合原创国产| 自偷自拍三级全三级视频| 精品国产香蕉伊思人在线| 国产电话自拍伊人| 欧美日本视频在线观看| 天天色天天操综合网| 天堂成人av| 午夜老司机永久免费看片| 女人毛片a级大学毛片免费| 精品无码一区二区三区电影| 亚洲精品大秀视频| 色综合天天综合中文网| 九色91在线视频| 午夜精品久久久久久久99热下载| 成人在线观看一区| 精品国产乱码久久久久久一区二区| av天堂最新版在线| 日韩欧美国产区| 在线中文字幕网| 在线无码私拍| 国产在线拍偷自揄拍精品| 欧美中文字幕在线播放| 亚洲Va中文字幕久久一区| 国产一级在线观看www色| 国产欧美日韩免费| 福利国产微拍广场一区视频在线 | 又大又硬又爽免费视频| 精品久久国产综合精麻豆| 国产一级裸网站| 欧美亚洲日韩不卡在线在线观看|