国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種改進(jìn)的智能卡認(rèn)證方法的實(shí)現(xiàn)*

2014-03-23 06:02:56付青琴昂正全徐平江
關(guān)鍵詞:智能卡字節(jié)密鑰

付青琴,昂正全,徐平江

(1.國(guó)網(wǎng)電力科學(xué)研究院,江蘇南京210003;2.北京航天飛行控制中心,北京100094)

1 引言

智能卡之所以能夠迅速地發(fā)展并且流行起來,其中一個(gè)重要的原因就在于它能夠通過算法環(huán)境的安全體系給用戶提供—個(gè)較高的安全性保證。而對(duì)智能卡進(jìn)行認(rèn)證,則能夠獲得智能卡的安全狀態(tài),獲得一定的使用權(quán)限,從而進(jìn)行一些與安全有關(guān)的操作。

傳統(tǒng)的智能卡認(rèn)證是通過智能卡和讀寫設(shè)備雙方同時(shí)對(duì)相同的隨機(jī)數(shù)進(jìn)行某種相同的加密運(yùn)算,然后判斷雙方運(yùn)算結(jié)果的一致性來對(duì)智能卡的合法性進(jìn)行驗(yàn)證,這樣也就判定了一張智能卡是不是偽造卡。根據(jù)所認(rèn)證的對(duì)象不同,智能卡認(rèn)證又分為內(nèi)部認(rèn)證和外部認(rèn)證兩種。內(nèi)部認(rèn)證就是讀寫設(shè)備對(duì)智能卡的合法性進(jìn)行的驗(yàn)證;外部認(rèn)證就是智能卡對(duì)讀寫設(shè)備的合法性進(jìn)行的驗(yàn)證[1,2]。

目前常用的認(rèn)證算法是3DES算法。但是,隨著3DES算法的被破解,芯片的安全性受到了威脅。如果有非法用戶進(jìn)行惡意的攻擊,安全問題就岌岌可危。因?yàn)檎J(rèn)證中采用的加密算法是固定的,非法用戶就能夠采用固定的算法進(jìn)行攻擊。另外,傳統(tǒng)認(rèn)證方法不能適應(yīng)電流、功耗等攻擊手段[3~13]。

針對(duì)此問題,本文設(shè)計(jì)了一個(gè)可以自定義算法環(huán)境的防攻擊認(rèn)證方法。此認(rèn)證方法允許用戶根據(jù)自己的應(yīng)用要求設(shè)置算法環(huán)境,當(dāng)算法環(huán)境變化時(shí),認(rèn)證采用的加密算法也是可變的。與此同時(shí),還提供了一種防攻擊的手段,此手段能夠有效減少非法用戶的攻擊嘗試次數(shù),從而提高非法用戶破解的難度。

2 傳統(tǒng)智能卡認(rèn)證方法

傳統(tǒng)智能卡的認(rèn)證方法如圖1所示,該方法先進(jìn)行隨機(jī)數(shù)的有效性驗(yàn)證,如果通過驗(yàn)證,則采用3DES算法對(duì)隨機(jī)數(shù)進(jìn)行加密,得到認(rèn)證結(jié)果。將加密得到的認(rèn)證結(jié)果與接受到的認(rèn)證結(jié)果進(jìn)行比較,如果一致,則認(rèn)證成功;如果不一致,則認(rèn)證失敗,此時(shí)需要將認(rèn)證對(duì)應(yīng)的密鑰嘗試次數(shù)減1。

Figure 1 Traditional IC card external authentication method圖1 傳統(tǒng)智能卡外部認(rèn)證方法

此種認(rèn)證方法有自身的缺點(diǎn),主要如下:

(1)傳統(tǒng)認(rèn)證方法固定采用3DES算法,攻擊對(duì)象可以根據(jù)3DES算法的特點(diǎn),專門針對(duì)3DES算法的破解來進(jìn)行惡意攻擊。如:常采用SPA、DPA攻擊手段。

(2)傳統(tǒng)認(rèn)證方法先進(jìn)行認(rèn)證結(jié)果的比較,再扣減密鑰的可嘗試次數(shù)。但是,當(dāng)攻擊對(duì)象使用的認(rèn)證結(jié)果與實(shí)際的認(rèn)證結(jié)果不一致時(shí),自動(dòng)將智能卡進(jìn)行斷電操作,這時(shí)認(rèn)證流程無法正常繼續(xù),那么相應(yīng)認(rèn)證密鑰的可嘗試計(jì)數(shù)器也就不會(huì)減1,這樣攻擊對(duì)象可以無限次地重復(fù)發(fā)送認(rèn)證數(shù)據(jù),直到嘗試到正確的密鑰。

針對(duì)常用認(rèn)證方法存在的上述兩個(gè)缺點(diǎn),本文對(duì)認(rèn)證命令及認(rèn)證流程進(jìn)行了重新設(shè)計(jì),提出了一種自定義算法環(huán)境的防攻擊認(rèn)證方法。

3 自定義算法環(huán)境的防攻擊認(rèn)證方法

自定義算法環(huán)境的防攻擊認(rèn)證方法流程如圖2所示。

Figure 2 IC card external authentication method for avoiding attack圖2 防攻擊智能卡外部認(rèn)證方法

從圖2可以看出,改進(jìn)的地方有兩處:一是將嘗試計(jì)數(shù)器減1操作提前到隨機(jī)數(shù)驗(yàn)證之后;二是提供了一種自定義算法環(huán)境的加密方法,允許用戶選擇加密算法,從而提供多種認(rèn)證算法,分別為:3DES算法(即8字節(jié)分組長(zhǎng)度算法)、16字節(jié)分組長(zhǎng)度算法。其中,3DES算法是目前流行的算法,16字節(jié)分組長(zhǎng)度算法可以是任何算法,只要其分組長(zhǎng)度為16字節(jié)即可。具體采用哪種算法進(jìn)行認(rèn)證,由應(yīng)用者根據(jù)自己的需求決定。這就增加了應(yīng)用的隨機(jī)性和不確定性,提高了攻擊的難度。

本文對(duì)現(xiàn)有的認(rèn)證方法(包括內(nèi)部認(rèn)證和外部認(rèn)證)分別進(jìn)行了改進(jìn),可以認(rèn)證MF、DDF、ADF等目錄下的密鑰,或者是主控(MK)密鑰,從而達(dá)到一定的權(quán)限。

3.1 自定義算法命令設(shè)計(jì)

認(rèn)證雙方采用P1字節(jié)所指定的算法進(jìn)行認(rèn)證。認(rèn)證分為內(nèi)部認(rèn)證與外部認(rèn)證兩種[14],格式分別如表1和表2所示。

表1中,(1)P1表示用戶采用何種自定義的算法環(huán)境,比如:‘00’代表SM1算法,‘01’代表AES算法,‘02’代表3DES算法。

(2)P2的b1~b7為內(nèi)部認(rèn)證密鑰的密鑰標(biāo)識(shí)。

(3)不管采用的認(rèn)證算法分組長(zhǎng)度是8或者16,其后跟隨的認(rèn)證數(shù)據(jù)長(zhǎng)度Lc都是8。

(4)不管采用的認(rèn)證算法分組長(zhǎng)度是8或者16,其返回的加密認(rèn)證數(shù)據(jù)長(zhǎng)度Le都是8。

表2中,(1)P1表示用戶采用何種自定義的算法環(huán)境,比如:‘00’代表SM1算法,‘01’代表AES算法,‘02’代表3DES算法。

(2)P2的b1~b7為外部認(rèn)證密鑰的密鑰標(biāo)識(shí)。

(3)不管采用的認(rèn)證算法分組長(zhǎng)度是8或者16,其后跟隨的認(rèn)證數(shù)據(jù)長(zhǎng)度Lc都是8。

3.2 認(rèn)證步驟

改進(jìn)的基于用戶自定義算法環(huán)境的防攻擊智能卡認(rèn)證方法包括以下步驟:

步驟1 智能卡產(chǎn)生一個(gè)隨機(jī)數(shù),隨機(jī)數(shù)與智能卡本身所具有的識(shí)別碼、密鑰以及讀卡機(jī)產(chǎn)生的隨機(jī)數(shù)依據(jù)用戶的指定,按照3DES算法或基于16字節(jié)分組長(zhǎng)度算法進(jìn)行加密,從而獲得加密流。

步驟2 當(dāng)采用基于16字節(jié)分組長(zhǎng)度算法進(jìn)行內(nèi)部認(rèn)證時(shí),由于算法的分組長(zhǎng)度為16字節(jié),而輸入的認(rèn)證數(shù)據(jù)卻只是8字節(jié),需要將輸入增加為16字節(jié),則將8字節(jié)認(rèn)證數(shù)據(jù)加上8字節(jié)認(rèn)證數(shù)據(jù)的取反后得到的8字節(jié)一起構(gòu)成16字節(jié),qdrg進(jìn)行加密,加密后的密文長(zhǎng)度為16字節(jié);由于傳輸?shù)膬?nèi)部認(rèn)證命令的輸出認(rèn)證數(shù)據(jù)長(zhǎng)度為8字節(jié),也需要將得到的16字節(jié)的結(jié)果中的前8個(gè)字節(jié)與后8個(gè)字節(jié)進(jìn)行異或運(yùn)算,得到最終的8個(gè)字節(jié)的認(rèn)證數(shù)據(jù),然后再傳送出去。

Table 1 Command of internal authentication表1 內(nèi)部認(rèn)證的命令格式

Table 2 Command of external authentication表2 外部認(rèn)證的命令格式

步驟3 當(dāng)采用基于16字節(jié)分組長(zhǎng)度算法進(jìn)行外部認(rèn)證時(shí),所接受的數(shù)據(jù)格式同上述內(nèi)部認(rèn)證,需要智能卡先將卡內(nèi)的“8字節(jié)隨機(jī)數(shù)+8字節(jié)隨機(jī)數(shù)的取反”用外部認(rèn)證密鑰加密后,前、后8字節(jié)異或,然后與輸入的8字節(jié)外部認(rèn)證數(shù)據(jù)比較,如果相同,則判定外部設(shè)備合法;否則,認(rèn)為外部設(shè)備非法,拒絕后續(xù)流程。

進(jìn)行外部認(rèn)證的時(shí)候,為了防止用戶的惡意攻擊,設(shè)定一個(gè)限制外部認(rèn)證密鑰的使用次數(shù)計(jì)數(shù)器,在使用指定的外部認(rèn)證密鑰進(jìn)行加密的時(shí)候,先判斷指定的外部認(rèn)證密鑰可使用次數(shù)是否大于0,如果大于0,說明此密鑰還可以用來做外部認(rèn)證;否則,說明此密鑰已經(jīng)鎖定,不能再用來做外部認(rèn)證;如果密鑰的使用次數(shù)大于0,將指定的外部認(rèn)證密鑰的可使用次數(shù)減1;如果最終外部認(rèn)證成功,則將指定外部認(rèn)證密鑰的使用次數(shù)恢復(fù)成最大,以便后續(xù)認(rèn)證繼續(xù)使用。

3.3 認(rèn)證方法的優(yōu)勢(shì)比較

與傳統(tǒng)認(rèn)證方法相比較,本文所提出的認(rèn)證方法的優(yōu)勢(shì)如表3所示。從表3可以看出,本文提出的認(rèn)證方案具有更高的安全性與適用性。

Table 3 Comparison of authentication methods表3 認(rèn)證方法比較

4 結(jié)束語

本文提出一種改進(jìn)的基于用戶自定義算法環(huán)境的智能卡認(rèn)證方法,使得智能卡可以根據(jù)用戶自定義的算法環(huán)境,按照不同的算法進(jìn)行認(rèn)證,從而來改變?nèi)职踩珷顟B(tài)寄存器或局部安全狀態(tài)寄存器的值,這樣既保證了認(rèn)證算法的多樣性,又提高了命令處理的復(fù)雜度。另外,本文還提出一種防攻擊的方法,此方法通過限制外部認(rèn)證密鑰的使用次數(shù),保證系統(tǒng)在被惡意攻擊的情況下數(shù)據(jù)傳輸?shù)陌踩浴?/p>

[1] Wang Ai-ying.Smart card technology[M].3rd Edition.Beijing:Tsinghua University Press,2009.(in Chinese)

[2] Mingwah Corporation.Smart Cos-PK-manual[Z].version 1.0.Shenzhen:Mingwah Ao han Science and Technology CO.,LTD.,2000.(in Chinese)

[3] Li Tao,Zeng Ying,Zhen Ji-na.A new remote double authentication scheme based on dynamic password[J].Microcomputer Information,2007,11(3):38-40.(in Chinese)

[4] Xue Feng,Wang Ding,Wang Li-ping,et al.Cryptanalysis of two smart card-based remote user password authentication protocol[J].Journal of Computer Applications,2012,32(7):2007-2009.(in Chinese)

[5] Wang Ya-fei.A smart card password authentication scheme study[J].Computer Applications and Software,2011,28(9):295-297.(in Chinese)

[6] Yang Li,Ma Jian-feng.Trusted mutual authentication scheme with smart cards and passwords[J].Journal of University of Electronic Science and Technology of China,2011,40(1):128-133.(in Chinese)

[7] Gao Liang,F(xiàn)ang Yong.A two-way user-identity authentication scheme based on smart card[J].Communications Technology,2011,44(2):85-86.(in Chinese)

[8] Kong Meng-rong,Zhu Guo-h(huán)ua.Remote authentication scheme based on samrt card[J].Computer Engineering and Design,2008,29(3):606-608.(in Chinese)

[9] Wu Jian-wu.Novel remote password authentication scheme based on smart card[J].Computer Engineering &Applications,2007,43(33):158-160.(in Chinese)

[10] Zhang Xin,F(xiàn)eng Quan-yuan.Dynamic ID-based remote user authentication scheme[J].Computer Engineering and Design,2007,28(3):545-546.(in Chinese)

[11] Roweis S,Winfree E,Bvrgoyne R,et al.A sticker-based model for DNA computation[J].Journal of Computational Biology,1998,5(4):615-629.

[12] Adleman L.Molecular computation of solutions to combina

torial problems[J].Science,1994,266(5187):1021-1024.[13] ISO.ISO/IEC 7816-4,Identification cards-Integrated cir

cuit cards-part 4:organization,security and commands for interchange[S].Geneva:ISO,1996.

附中文參考文獻(xiàn):

[1] 王愛英.智能卡技術(shù)[M].第三版.北京:清華大學(xué)出版社,2009.

[2] 明華科技.SmartCos-PK-manual[M].Version 1.0.深圳:深圳市明華澳漢科技股份有限公司,2000.

[3] 李濤,曾英,甄姬娜.一種新的基于動(dòng)態(tài)口令的遠(yuǎn)程雙向認(rèn)證[J].微計(jì)算機(jī)信息,2007,23(11):38-40.

[4] 薛峰,汪定,王立萍,等.對(duì)兩個(gè)基于智能卡的口令認(rèn)證協(xié)議的安全性分析[J].計(jì)算機(jī)應(yīng)用,2012,32(7):2007-2009.

[5] 王亞飛.一種基于智能卡口令認(rèn)證方案的研究[J].計(jì)算機(jī)應(yīng)用與軟件,2011,28(9):295-297.

[6] 楊力,馬建峰.可信的智能卡口令雙向認(rèn)證方案[J].電子科技大學(xué)學(xué)報(bào),2011,40(1):128-133.

[7] 高亮,方勇.一種基于智能卡的雙向身份認(rèn)證方案[J].通信技術(shù),2011,44(2):85-86.

[8] 孔夢(mèng)榮,朱國(guó)華.基于智能卡的遠(yuǎn)程認(rèn)證體制[J].計(jì)算機(jī)工程與設(shè)計(jì),2008,29(3):606-608.

[9] 吳建武.一種基于智能卡的遠(yuǎn)程口令認(rèn)證方案[J].計(jì)算機(jī)工程與應(yīng)用,2007,43(33):158-160.

[10] 張馨,馮全源.基于動(dòng)態(tài)ID的遠(yuǎn)程用戶身份認(rèn)證方案[J].計(jì)算機(jī)工程與設(shè)計(jì),2007,28(3):545-546.

猜你喜歡
智能卡字節(jié)密鑰
探索企業(yè)創(chuàng)新密鑰
No.8 字節(jié)跳動(dòng)將推出獨(dú)立出口電商APP
密碼系統(tǒng)中密鑰的狀態(tài)與保護(hù)*
東方磁卡李曉東:進(jìn)擊的智能卡研發(fā)巨子
No.10 “字節(jié)跳動(dòng)手機(jī)”要來了?
一種對(duì)稱密鑰的密鑰管理方法及系統(tǒng)
基于STC89 單片機(jī)的非接觸智能卡讀寫機(jī)設(shè)計(jì)
電子制作(2017年17期)2017-12-18 06:40:36
簡(jiǎn)談MC7字節(jié)碼
基于ECC的智能家居密鑰管理機(jī)制的實(shí)現(xiàn)
臨沂機(jī)頂盒智能卡升級(jí)方案介紹
岫岩| 苏尼特右旗| 华坪县| 荣昌县| 密云县| 长宁区| 宝兴县| 色达县| 沁阳市| 泸西县| 金川县| 周宁县| 扎赉特旗| 阿图什市| 余庆县| 农安县| 太康县| 乐东| 屏东县| 武强县| 金湖县| 祁东县| 克拉玛依市| 景德镇市| 永州市| 弋阳县| 郧西县| 咸宁市| 合肥市| 徐汇区| 天镇县| 岑巩县| 郧西县| 互助| 鹿邑县| 平遥县| 叙永县| 大田县| 华蓥市| 德保县| 临清市|