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

        ?

        一種實現(xiàn)COS數(shù)據(jù)安全的SM2算法

        2013-10-23 12:37:58娟,伍
        武漢輕工大學(xué)學(xué)報 2013年2期
        關(guān)鍵詞:智能卡公鑰解密

        肖 娟,伍 娟

        (1.武漢工業(yè)學(xué)院電氣與電子工程學(xué)院,湖北武漢 430023;2.武漢天喻信息產(chǎn)業(yè)股份有限公司研發(fā)中心,湖北武漢 430223)

        隨著智能卡技術(shù)的發(fā)展,智能卡目前已在通信、交通管理、企事業(yè)內(nèi)部管理、稅務(wù)、公用事業(yè)收費、金融領(lǐng)域等方面得到了廣泛的應(yīng)用。為了防止數(shù)據(jù)在傳輸?shù)倪^程中被非法竊聽、截取、篡改或破壞,智能卡操作系統(tǒng)使用密碼算法來保證數(shù)據(jù)的安全[1]。目前密碼算法主要分為兩類:對稱密鑰算法(DES、AES等),非對稱密鑰算法(RSA、ECC等)。對稱密鑰算法的計算過程非常簡單,并且密鑰的長度不夠長,很容易被攻破[2]。為了數(shù)據(jù)安全的需要,智能卡操作系統(tǒng)需要支持功能更強(qiáng)大的非對稱密鑰算法。RSA算法數(shù)學(xué)原理簡單、在工程應(yīng)用中比較易于實現(xiàn),但它的單位安全強(qiáng)度相對較低。橢圓曲線加密(ECC)算法的數(shù)學(xué)理論非常深奧和復(fù)雜,在工程應(yīng)用中比較難于實現(xiàn),但它的單位安全強(qiáng)度相對較高。ECC算法的單位安全強(qiáng)度高于RSA算法,也就是說,要達(dá)到同樣的安全強(qiáng)度,ECC算法所需的密鑰長度遠(yuǎn)比RSA算法低[2]。這就有效地解決了為了提高安全強(qiáng)度必須增加密鑰長度所帶來的工程實現(xiàn)難度的問題。我國基于國家商業(yè)密碼安全等原因,國家密碼管理局于2010年12月17日發(fā)布了SM2橢圓曲線公鑰密碼算法(屬于ECC算法的一種),并下達(dá)通知:自2011年7月1日起,投入運(yùn)行并使用公鑰密碼的信息系統(tǒng),應(yīng)使用SM2橢圓曲線密碼算法。本文以同方THD86芯片為硬件平臺,實現(xiàn)了支持SM2算法的智能卡系統(tǒng)以滿足商用的需要,并對SM2算法和RSA算法在智能卡系統(tǒng)上的性能進(jìn)行了比較和分析。

        1 SM2算法和COS簡介

        SM2算法是一種新的國產(chǎn)非對稱算法,全稱為SM2橢圓曲線公鑰密碼算法。SM2算法采用的橢圓曲線方程為:y2=x3+ax+b,在SM2算法標(biāo)準(zhǔn)中,通過指定a、b系數(shù),確定了唯一的標(biāo)準(zhǔn)曲線[3]。

        SM2算法作為公鑰算法,可以完成簽名、密鑰交換以及加密應(yīng)用。SM2算法標(biāo)準(zhǔn)確定了標(biāo)準(zhǔn)過程:簽名、驗簽計算過程;加密、解密計算過程;密鑰協(xié)商計算過程。

        相對于RSA算法,SM2算法具有以下優(yōu)點:①安全性高,192位的SM2密碼強(qiáng)度已經(jīng)比RSA 2048位密碼強(qiáng)度要高。②存儲空間小,SM2算法的密碼一般使用192-256位,RSA算法密碼一般需要使用1024-4096位。③簽名速度快,SM2在私鑰運(yùn)算上,速度遠(yuǎn)比RSA快得多。④國產(chǎn)算法,無國外可利用的后門[4]。

        COS的全稱是Chip Operating System(片內(nèi)操作系統(tǒng)),通常指帶有CPU智能卡的操作系統(tǒng)[5]。安全機(jī)制的實現(xiàn)是COS安全體系中極為重要的一個方面。沒有安全機(jī)制,COS就無法進(jìn)行任何操作。COS的安全機(jī)制實現(xiàn)如下三個功能:簽名與驗證,數(shù)據(jù)加密與解密,文件訪問的安全控制[6]。SM2算法既可以對數(shù)據(jù)進(jìn)行簽名和驗證,又可以對數(shù)據(jù)進(jìn)行加密解密,其不易攻破的特點更好的保證了COS的安全性[7]。

        2 COS的系統(tǒng)設(shè)計

        2.1 COS的運(yùn)行平臺

        本次設(shè)計的COS所運(yùn)行的硬件平臺為同方THD86芯片,THD86芯片是一種帶有CPU的智能卡芯片,該芯片是國內(nèi)首款32位雙界面CPU卡芯片,具有獨立運(yùn)算、加解密和存儲能力,其安全性較磁條卡有相當(dāng)大的提高,具備防護(hù)各種芯片攻擊的能力,以防止個人或機(jī)構(gòu)對金融IC智能卡的攻擊和破解[8]。

        THD86芯片與一般的CPU智能卡不同的是,該芯片具有豐富的密碼學(xué)算法資源,通過COS對這些資源的合理調(diào)用,可以實現(xiàn)對外來數(shù)據(jù)的安全性處理,THD86芯片是COS的硬件載體,COS是THD86芯片的軟件基礎(chǔ)。

        2.2 COS運(yùn)行平臺的構(gòu)成

        同方THD86芯片為COS的硬件平臺,芯片的結(jié)構(gòu)框圖如圖1所示。

        圖1 同方THD86芯片功能框圖

        2.2.1 CPU

        為系統(tǒng)提供運(yùn)行、計算以及和各個模塊進(jìn)行通信,型號為32位ARM Coretex-M0。

        CPU工作時鐘頻率可配置為1—16 MHz。

        2.2.2 存儲器

        ROM:存儲卡片操作系統(tǒng),56 kB。

        FLASH:提供boot啟動程序、內(nèi)核映像、文件系統(tǒng),256-400 kB。

        EEPROM:用戶存儲器,16 -32 kB。

        RAM:CPU數(shù)據(jù)區(qū)10 kB,加密緩沖區(qū)(加密協(xié)處理器數(shù)據(jù),也作CPU數(shù)據(jù)區(qū))24 kB,RF通信區(qū)256 B。

        2.2.3 通用加密協(xié)處理器CCP

        支持RSA/ECC/SM2等非對稱算法。

        2.2.4 通信接口

        非接觸界面,兼容IOS/IEC 14443 Type-A和Type-B。

        接觸界面,兼容IOS/IEC 7815-3協(xié)議。

        2.3 同方THD86協(xié)處理器CCP提供的SM2算法的接口函數(shù)

        THD86的協(xié)處理器CCP提供了SM2接口API函數(shù),包括 SM2密鑰對的生成、SM2加/解密、SM2簽名/驗證和SM2密鑰協(xié)商。API函數(shù)的功能如下:

        ccpSM2KeyPairGen:生成密鑰對。

        ccpSM2Encrypt:SM2加密函數(shù),加密后密文長度=明文長度+96字節(jié)。

        ccpSM2Decrypt:SM2解密函數(shù),解密后明文長度=密文長度-96字節(jié)。

        ccpSetUserMessageData:根據(jù)用戶的ID和待簽名的message數(shù)據(jù)計算簽名的摘要E,長度為32字節(jié)。

        ccpSM2Sign:根據(jù)摘要E和私鑰產(chǎn)生message數(shù)據(jù)的64字節(jié)簽名,成功返回0,不成功返回1。

        ccpSM2Verify:根據(jù)摘要 E和公鑰來驗證message數(shù)據(jù)的簽名是否正確,正確返回0,不正確返回1。

        3 COS實現(xiàn)SM2算法的軟件設(shè)計

        COS直接運(yùn)行于THD86芯片平臺上,是智能卡內(nèi)軟件的核心部分,也是卡片所支持全部應(yīng)用的基礎(chǔ)。COS的主要任務(wù)是從智能卡傳出和傳入數(shù)據(jù)、控制命令的執(zhí)行、管理文件、維護(hù)內(nèi)存空間、管理和執(zhí)行加密算法、執(zhí)行應(yīng)用代碼[6]。因此可以將COS系統(tǒng)的軟件設(shè)計由上而下可以分為3個部分:應(yīng)用層(API)、內(nèi)核層(kernel)和硬件抽象層(HAL),系統(tǒng)的結(jié)構(gòu)圖如圖2所示。

        圖2 COS軟件設(shè)計框圖

        應(yīng)用層是應(yīng)用程序(如Applet應(yīng)用,web應(yīng)用等)與COS的接口,是COS軟件設(shè)計的關(guān)鍵部分,該層提供了PKI應(yīng)用的API接口函數(shù),部分函數(shù)原型及功能如表1所示。當(dāng)上層的應(yīng)用程序調(diào)用API接口函數(shù)時,API函數(shù)通過內(nèi)核層調(diào)用HAL層的CCP的庫函數(shù)實現(xiàn)加/解密和簽名等運(yùn)算。圖3和圖4為函數(shù)SM2Calc和SM2Sign的流程圖。

        表1 COS提供的SM2算法API接口函數(shù)

        圖3 應(yīng)用層SM2Calc加解密函數(shù)流程

        內(nèi)核層kernel負(fù)責(zé)組織、管理和維護(hù)智能卡內(nèi)存儲的所有的數(shù)據(jù),同時對智能卡內(nèi)數(shù)據(jù)提供安全保障,內(nèi)核層負(fù)責(zé)解析API應(yīng)用層與硬件抽象層之間交互的信息指令,并作相應(yīng)的處理。

        硬件抽象層HAL是THD86的協(xié)處理器CCP的算法接口的庫函數(shù)定義(2.3函數(shù)的庫文件),供kernel層調(diào)用,例如SM2公私密鑰對的產(chǎn)生、SM2簽名功能、SM2驗證功能、SM2加密功能、SM2解密功能、SM2密鑰交換功能等。

        4 實驗結(jié)果與分析

        通過通信接口在COS中下載了一個Applet應(yīng)用并安裝成功,用來測試SM2算法的加密、解密、簽名和驗簽,分為以下幾個步驟。

        圖4 應(yīng)用層SM2Sign簽名函數(shù)流程圖

        步驟一:生成 SM2密鑰對,64字節(jié)公鑰sm2pubkey,32 字節(jié)私鑰 sm2prikey。

        步驟二:用公鑰對明文Message進(jìn)行了SM2加密,得到長度為128字節(jié)密文Crypto。

        步驟三:用私鑰對密文Crypto進(jìn)行解密,得到長度為32字節(jié)明文 MessageAfter Decrypt,與明文Message相同。

        步驟四:用公鑰和用戶ID(usID)將Message轉(zhuǎn)換為長度為32字節(jié)的數(shù)據(jù)E。

        步驟五:用私鑰對 E進(jìn)行簽名運(yùn)算,得到Message的簽名。

        步驟六:用公鑰對Message的簽名的簽名進(jìn)行驗證,返回簽名正確。

        實驗數(shù)據(jù)表明,該COS系統(tǒng)支持的SM2算法在加密、解密、簽名、驗簽的計算結(jié)果正確,符合商用的標(biāo)準(zhǔn),以上步驟的具體數(shù)據(jù)如表2所示。

        表2 SM2算法加/解密和簽名結(jié)果

        本文還在THD86芯片上對SM2算法和RSA算法的性能進(jìn)行了測試,測試的通信模式采用接觸式,工作頻率為系統(tǒng)時鐘16 M、協(xié)處理器32 M,實驗結(jié)果見表3。

        表3 SM2和RSA算法的性能比較

        運(yùn)行的數(shù)據(jù)表明SM2算法在存儲空間和簽名加密上較RSA算法有很大的優(yōu)勢。SM2算法比RSA算法簽名速度快,驗簽速度比RSA算法慢,SM2算法加密速度比RSA算法快,但解密速度比RSA算法慢。表3中可以看出:SM2算法的密鑰長度為256位,遠(yuǎn)遠(yuǎn)小于RSA算法的1024位,說明SM2算法需要的存儲空間遠(yuǎn)遠(yuǎn)小于RSA算法。

        5 結(jié)束語

        本文以同方THD86為硬件平臺,在COS中實現(xiàn)了SM2算法,并對SM2算法相對與RSA的優(yōu)勢進(jìn)行了證明。通過多個APPLET應(yīng)用的測試,COS系統(tǒng)能正確對輸入數(shù)據(jù)進(jìn)行SM2加密和解密,以及簽名和驗簽,能滿足商用的要求。SM2算法效率高、破解難度大,隨著信息安全發(fā)展,國家密碼管理局已經(jīng)指定SM2算法取代RSA算法,在今后的應(yīng)用中會有更大的發(fā)展空間。

        [1]王振.用SM2算法芯片實現(xiàn)嵌入式系統(tǒng)的安全設(shè)計[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2012(4):75-76.

        [2]胡振宇,蔣建春.密碼學(xué)基礎(chǔ)與安全應(yīng)用[M].北京:北京郵電大學(xué)出版社,2008:33-36.

        [3]國家密碼管理局.SM2橢圓曲線公鑰密碼算法[EB/OL].(2010 -12 -22).http://www.oscca.gov.cn/UpFile/2010122214822692.pdf.

        [4]天卓軟件.關(guān)于SM2橢圓曲線密碼算法[EB/OL].(2012 - 08 - 17).http://www.gztzsoft.com/fangan.asp?id=14.

        [5]韋小剛,黃宜彬,楊維永.一種基于ISO/IEC7816的COS的設(shè)計與實現(xiàn)[J].計算機(jī)技術(shù)與發(fā)展,2012,22(3):230 -231.

        [6]郭鴻志,李代平.智能卡芯片操作系統(tǒng)的研究與實現(xiàn)[J].計算機(jī)工程與設(shè)計,2010,31(19):4186-4189.

        [7]LaiJyu-Yuan, Huang Chih-Tsun. A highly efficient cipher processor for dual-field elliptic curve cryptography[J].IEEE Trans.on Circuits and Systems-Ⅱ:Express Briefs,2009,56(5):394 -398.

        [8]同方微電子.同方微電子3S理念護(hù)航金融IC卡[EB/OL].(2011 - 11 - 09).http://www.tsinghuaic. com/article/article. asp? id =483177&bid=8572.

        猜你喜歡
        智能卡公鑰解密
        解密“熱脹冷縮”
        解密“一包三改”
        少先隊活動(2020年9期)2020-12-17 06:17:31
        炫詞解密
        東方磁卡李曉東:進(jìn)擊的智能卡研發(fā)巨子
        時代人物(2019年27期)2019-10-23 06:11:58
        一種基于混沌的公鑰加密方案
        基于STC89 單片機(jī)的非接觸智能卡讀寫機(jī)設(shè)計
        電子制作(2017年17期)2017-12-18 06:40:36
        HES:一種更小公鑰的同態(tài)加密算法
        SM2橢圓曲線公鑰密碼算法綜述
        臨沂機(jī)頂盒智能卡升級方案介紹
        解密“大調(diào)解”
        99久久婷婷国产综合亚洲| 亚洲国产字幕| 亚洲一区极品美女写真在线看 | 亚洲第一区无码专区| 日本一本二本三本道久久久| 色yeye在线观看| 国产真实乱XXXⅩ视频| 国产一区二区三区经典| 国产伦一区二区三区久久| 24小时在线免费av| 在线播放真实国产乱子伦| 少妇性l交大片| 亚洲欧洲精品成人久久曰影片| 亚洲av色无码乱码在线观看| 中文字幕亚洲无线码a| 麻豆成人久久精品二区三区91| 国产精品亚洲二区在线看| 中文字幕久久波多野结衣av不卡| 免费人成在线观看视频高潮| 漂亮人妻被中出中文字幕久久| 欧产日产国产精品精品| 一卡二卡三卡视频| 日本一区二区国产高清在线播放| 日本二区三区在线免费| 影音先锋久久久久av综合网成人| 无遮挡h肉动漫在线观看| 亚洲av成人无码网站…| 亚洲欧美日韩中文字幕网址| 日韩中文字幕网站| 在线看高清中文字幕一区| 久久精品国产免费一区二区三区| 国产麻豆久久av入口| 97人伦色伦成人免费视频| 国产免费午夜a无码v视频| 久久无码高潮喷水抽搐| 熟女人妻一区二区三区| 成 人片 黄 色 大 片| 亚洲五月天综合| 亚洲中文字幕女同一区二区三区| 亚洲美女主播一区二区| 9久久婷婷国产综合精品性色|