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

        ?

        基于iOS終端的SM2移動密碼系統(tǒng)

        2018-03-23 08:23:44鄧高宇龍毅宏
        軟件 2018年2期
        關(guān)鍵詞:數(shù)字簽名私鑰門限

        鄧高宇,龍毅宏

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

        0 引言

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

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

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

        1 基于iOS終端的SM2移動密碼系統(tǒng)整體方案設(shè)計

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

        1.1 系統(tǒng)整體結(jié)構(gòu)

        基于iOS終端的SM2移動密碼系統(tǒng)結(jié)構(gòu)如圖1所示,主要包括:

        圖1 基于iOS端的SM2移動密碼系統(tǒng)結(jié)構(gòu)圖Fig.1 Structure of SM2 mobile cryptosystem based on iOS terminal

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

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

        1.2 基于密碼共享的SM2數(shù)字簽名方案

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

        1.2.1 基于普通秘密共享的SM2數(shù)字簽名

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

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

        (1)iOS移動終端的密碼模塊產(chǎn)生m份秘密份額di,i=1,2,…,m,其中d1由移動終端保存,d2,…,dm由 m-1個密碼服務(wù)器保存使用。這 m份秘密份額與用戶的 SM2私鑰 dA滿足關(guān)系(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)密碼模塊在區(qū)間[1,n-1]內(nèi)隨機選擇一個整數(shù)b,計算c=(1+dA)-1b mod n(此處b不是橢圓曲線方程的參數(shù)b);

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

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

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

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

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

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

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

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

        1.2.2 基于門限秘密共享的SM2數(shù)字簽名

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

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

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

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

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

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

        2 系統(tǒng)功能實施及結(jié)果

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

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

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

        2.2 密碼服務(wù)器端功能實施

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

        2.3 實施結(jié)果

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

        3 結(jié)論

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

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

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

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

        (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] 左石城, 向繼, 王平建, 等. 本地提供簽名服務(wù)系統(tǒng)的設(shè)計與實現(xiàn)[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數(shù)字簽名算法與ECDSA算法對比分析研究[J]. 網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2013(2): 60-62.

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

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

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

        [10] 陳小梅. 一種基于ECC的安全移動支付協(xié)議[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秘密共享的密鑰分發(fā)與恢復(fù)算法[J]. 通信學(xué)報, 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.

        猜你喜歡
        數(shù)字簽名私鑰門限
        比特幣的安全性到底有多高
        基于規(guī)則的HEV邏輯門限控制策略
        地方債對經(jīng)濟增長的門限效應(yīng)及地區(qū)差異研究
        中國西部(2021年4期)2021-11-04 08:57:32
        基于改進ECC 算法的網(wǎng)絡(luò)信息私鑰變換優(yōu)化方法
        淺析計算機安全防護中數(shù)字簽名技術(shù)的應(yīng)用
        隨機失效門限下指數(shù)退化軌道模型的分析與應(yīng)用
        一種基于虛擬私鑰的OpenSSL與CSP交互方案
        基于數(shù)字簽名的QR碼水印認證系統(tǒng)
        生產(chǎn)性服務(wù)業(yè)集聚與工業(yè)集聚的非線性效應(yīng)——基于門限回歸模型的分析
        湖湘論壇(2015年3期)2015-12-01 04:20:17
        基于數(shù)字簽名和HSM的數(shù)據(jù)庫篡改檢測機制
        手机看片福利日韩| 亚洲一区毛片在线观看| 青娱乐极品视觉盛宴国产视频| 一本大道久久东京热无码av| 久99久精品视频免费观看v| 国产三级精品三级在专区中文| 国产丝袜美腿精品91在线看| 精品欧洲av无码一区二区| 高清国产日韩欧美| 日韩精品免费一区二区中文字幕| 国产精品主播在线一区二区| 帮老师解开蕾丝奶罩吸乳视频| 欧美午夜刺激影院| 白色月光在线观看免费高清| 一区二区黄色在线观看| 2018国产精华国产精品| 男女一级毛片免费视频看| 亚洲视频精品一区二区三区 | 国产高清乱码又大又圆| 国产成人久久精品激情| 啪啪视频一区二区三区入囗| 最新国内视频免费自拍一区| 偷拍综合在线视频二区| a级毛片无码免费真人| 亚洲精品美女自拍偷拍| 特级国产一区二区三区| 国产国产裸模裸模私拍视频| 日韩毛片在线| 亚洲中文字幕在线观看| 亚洲视频免费一区二区| 亚洲精品二区三区在线观看| 亚洲国产成人精品女人久久久 | 日韩精品一区二区三区中文9| 97久久香蕉国产线看观看| 久久精品国产亚洲av麻豆色欲| 九九久久精品一区二区三区av| 无码人妻AⅤ一区 二区 三区| 中国熟妇人妻xxxxx| 久久精品夜色噜噜亚洲a∨| 日本av一区二区在线| 黄色大片一区二区中文字幕|