一種防攻擊的pin碼保護(hù)方法
【專利摘要】本發(fā)明公開(kāi)了一種防攻擊的PIN碼保護(hù)方法,其通過(guò)對(duì)正常交易和異常交易的能量和時(shí)間差異進(jìn)行平衡,能夠完美解決對(duì)于PIN碼的窮舉攻擊,保證交易過(guò)程中PIN的安全性。
【專利說(shuō)明】一種防攻擊的PIN碼保護(hù)方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及智能卡的信息安全技術(shù),具體涉及PIN碼的保護(hù)技術(shù)。
【背景技術(shù)】
[0002] 芯片技術(shù)的發(fā)展日新月異,各種應(yīng)用層出不窮。U盾產(chǎn)品,動(dòng)態(tài)令牌產(chǎn)品,銀行卡產(chǎn) 品等等,都需要通過(guò)一個(gè)共同的屬性PIN碼來(lái)保證用戶對(duì)于產(chǎn)品的合法持有資格
[0003] PIN碼的中文全稱為個(gè)人身份識(shí)別碼,屬于智能卡行業(yè)安全的核心數(shù)據(jù)。PIN碼的 安全性直接關(guān)系到用戶身份的確認(rèn)以及相關(guān)賬戶和設(shè)備的安全性。
[0004] 目前市場(chǎng)上產(chǎn)品,往往因?yàn)闆](méi)有考慮到可能的攻擊和破解而存在巨大的安全隱 患。常規(guī)的攻擊破解PIN碼方式為借助特殊設(shè)備,針對(duì)產(chǎn)品(一般為智能芯片)交易過(guò)程 的能量和交易時(shí)間進(jìn)行分析,總結(jié)出正常交易和異常交易的差異,進(jìn)而想辦法進(jìn)行窮舉攻 擊以獲取設(shè)備的PIN碼,從而獲取對(duì)產(chǎn)品的非法持有資格,最終竊取用戶的合法利益。 [0005] 常規(guī)產(chǎn)品的PIN碼驗(yàn)證過(guò)程中的能量和交易時(shí)間流程分析如下,假設(shè)PIN碼最多 有三次可以嘗試的機(jī)會(huì)(參見(jiàn)圖1-圖3):
[0006] 圖中實(shí)箭頭表示實(shí)際存在的步驟,虛箭頭表示不存在的步驟,數(shù)字表示用時(shí)毫秒, 波形凸起表示能量升高。
[0007] 參見(jiàn)圖1,其所示為正常驗(yàn)證通過(guò)數(shù)據(jù)分析的波形圖。
[0008] 參見(jiàn)圖2,其所示為正常驗(yàn)證失敗數(shù)據(jù)分析的波形圖。
[0009] 案件圖3,其所示為拒絕驗(yàn)證數(shù)據(jù)分析的波形圖。
[0010] 通過(guò)對(duì)比分析發(fā)現(xiàn),正常驗(yàn)證通過(guò)(圖1)和正常驗(yàn)證失?。▓D2)波形和用時(shí)都 有較大差異,很容易受到差異化攻擊。在沒(méi)有特殊設(shè)備攻擊的條件下,正常驗(yàn)證失敗執(zhí)行完 畢后,可嘗試次數(shù)可以減1,機(jī)制正常。但是根據(jù)目前的分析結(jié)果,進(jìn)行差異化攻擊,很快可 以窮舉破解PIN碼。原因是,依據(jù)波形的能量差異很容易發(fā)現(xiàn),驗(yàn)證失敗的波形圖2有明顯 的能量凸起,通過(guò)驗(yàn)證的圖1則沒(méi)有能量凸起。由此可非常容易定位時(shí)間和能量差異的區(qū) 間為攻擊區(qū)間,故在攻擊區(qū)間斷電,PIN碼可嘗試此時(shí)就不會(huì)改變。如此,通過(guò)比對(duì)圖1、圖 2的能量差異,很容易進(jìn)行PIN碼的窮舉攻擊,即波形一致時(shí)則被破解。
【發(fā)明內(nèi)容】
[0011] 針對(duì)現(xiàn)有PIN碼通過(guò)進(jìn)行差異化攻擊,可以被窮舉破解的問(wèn)題,本發(fā)明的目的在 于提供一種防攻擊的PIN碼保護(hù)方法,以提高PIN碼的安全性。
[0012] 為了達(dá)到上述目的,本發(fā)明采用如下的技術(shù)方案:
[0013] 一種防攻擊的PIN碼保護(hù)方法,該方法通過(guò)平衡正常交易和異常交易的能量和時(shí) 間差異,保證PIN碼的安全性。
[0014] 在該保護(hù)方法的優(yōu)選方案中,所述保護(hù)方法首先把可嘗試次數(shù)減1,之后再備份嘗 試次數(shù),再進(jìn)行PIN碼內(nèi)容驗(yàn)證;在驗(yàn)證失敗時(shí),對(duì)正常交易和異常交易之間的能量和時(shí)間 差異進(jìn)行彌補(bǔ)平衡。
[0015] 進(jìn)一步的,所述保護(hù)方法的具體過(guò)程如下:
[0016] (1)查找PIN密鑰是否存在,若存在,則轉(zhuǎn)入步驟(2);若不存在,則轉(zhuǎn)入步驟 (10);
[0017] (2)檢查PIN是否可用;
[0018] (3)將驗(yàn)證PIN密鑰的可嘗試次數(shù)減1 ;
[0019] (4)備份當(dāng)前的驗(yàn)證PIN密鑰的可嘗試次數(shù);
[0020] (5)驗(yàn)證PIN的內(nèi)容是否一致,若驗(yàn)證結(jié)果通過(guò),轉(zhuǎn)入步驟(6);若驗(yàn)證結(jié)果不通 過(guò),轉(zhuǎn)入步驟(8);
[0021] (6)恢復(fù)驗(yàn)證PIN密鑰的最大可嘗試次數(shù);
[0022] (7)刪除舊的可嘗試次數(shù)備份,并轉(zhuǎn)入步驟(10);
[0023] (8)平衡芯片的能量功耗和執(zhí)行時(shí)間;
[0024] (9)刪除舊的可嘗試次數(shù)備份;
[0025] (10)返回驗(yàn)證結(jié)果,退出。
[0026] 再進(jìn)一步的,所述步驟(8)在平衡相應(yīng)能量功耗和執(zhí)行時(shí)間時(shí),通過(guò)對(duì)一處無(wú)用 的非易失性存儲(chǔ)介質(zhì)的修改操作,抬升芯片進(jìn)行該步驟的修改操作的能量功耗和執(zhí)行時(shí) 間,使其與芯片執(zhí)行步驟(6)的能量功耗和執(zhí)行時(shí)間一致。
[0027] 本發(fā)明提供的方法能夠完美解決對(duì)于PIN碼的窮舉攻擊,保證交易過(guò)程中PIN的 安全性。
【專利附圖】
【附圖說(shuō)明】
[0028] 以下結(jié)合附圖和【具體實(shí)施方式】來(lái)進(jìn)一步說(shuō)明本發(fā)明。
[0029] 圖1為常規(guī)產(chǎn)品的PIN碼驗(yàn)證過(guò)程中正常驗(yàn)證通過(guò)數(shù)據(jù)分析的波形圖;
[0030] 圖2為常規(guī)產(chǎn)品的PIN碼驗(yàn)證過(guò)程中正常驗(yàn)證失敗數(shù)據(jù)分析的波形圖;
[0031] 圖3為常規(guī)產(chǎn)品的PIN碼驗(yàn)證過(guò)程中拒絕驗(yàn)證數(shù)據(jù)分析的波形圖;
[0032] 圖4為本發(fā)明的PIN碼驗(yàn)證過(guò)程中正常驗(yàn)證通過(guò)數(shù)據(jù)分析的波形圖;
[0033] 圖5為本發(fā)明的PIN碼驗(yàn)證過(guò)程中正常驗(yàn)證失敗數(shù)據(jù)分析的波形圖;
[0034] 圖6為本發(fā)明的PIN碼驗(yàn)證過(guò)程中拒絕驗(yàn)證數(shù)據(jù)分析的波形圖。
【具體實(shí)施方式】
[0035] 為了使本發(fā)明實(shí)現(xiàn)的技術(shù)手段、創(chuàng)作特征、達(dá)成目的與功效易于明白了解,下面結(jié) 合具體圖示,進(jìn)一步闡述本發(fā)明。
[0036] 為了有效杜絕針對(duì)產(chǎn)品PIN碼的窮舉攻擊,本方案首先把可嘗試次數(shù)減1,之后再 備份嘗試次數(shù),再者進(jìn)行PIN碼內(nèi)容驗(yàn)證;在驗(yàn)證失敗時(shí),對(duì)正常交易和異常交易之間的能 量和時(shí)間差異進(jìn)行彌補(bǔ)平衡。其中彌補(bǔ)平衡能量和時(shí)間,主要對(duì)一處無(wú)用的非易失性存儲(chǔ) 介質(zhì)的修改操作,抬升芯片的能量功耗和執(zhí)行時(shí)間。
[0037] 基于上述原理,本方案針對(duì)PIN碼的驗(yàn)證交易過(guò)程如下(參見(jiàn)圖4至圖6):
[0038] (1)查找PIN密鑰是否存在,若存在,則轉(zhuǎn)入步驟(2);若不存在,則轉(zhuǎn)入步驟 (10);
[0039] (2)檢查PIN是否可用,即驗(yàn)證PIN剩余的可嘗試機(jī)會(huì),0表示PIN不可用;
[0040] (3)將驗(yàn)證PIN密鑰的可嘗試次數(shù)減1 ;
[0041] (4)備份當(dāng)前的驗(yàn)證PIN密鑰的可嘗試次數(shù),防止斷電破壞;
[0042] (5)驗(yàn)證PIN的內(nèi)容是否一致,若驗(yàn)證結(jié)果通過(guò),轉(zhuǎn)入步驟(6);若驗(yàn)證結(jié)果不通 過(guò),轉(zhuǎn)入步驟(8);
[0043] (6)恢復(fù)驗(yàn)證PIN密鑰的最大可嘗試次數(shù);
[0044] (7)刪除舊的可嘗試次數(shù)備份,避免上電恢復(fù)舊的可嘗試次數(shù),并轉(zhuǎn)入步驟(10);
[0045] (8)平衡芯片修改當(dāng)前驗(yàn)證PIN密鑰可嘗試次數(shù)的能量功耗和執(zhí)行時(shí)間;
[0046] (9)刪除舊的可嘗試次數(shù)備份,避免上電恢復(fù)舊的可嘗試次數(shù);
[0047] (10)返回驗(yàn)證結(jié)果,退出;
[0048] 其中,步驟(8)在平衡相應(yīng)能量功耗和執(zhí)行時(shí)間時(shí),通過(guò)對(duì)一處無(wú)用的非易失性 存儲(chǔ)介質(zhì)的修改操作,抬升芯片進(jìn)行該步驟的修改操作的能量功耗和執(zhí)行時(shí)間,使其與芯 片執(zhí)行步驟出)的能量功耗和執(zhí)行時(shí)間一致。
[0049] 本方案在PIN驗(yàn)證失敗時(shí),進(jìn)行能量彌補(bǔ),隱藏與正常驗(yàn)證通過(guò)時(shí)不同的差異化 區(qū)域,避免攻擊者定位攻擊區(qū)間;即使找到差異化區(qū)域,由于本方案已經(jīng)在備份嘗試次數(shù)之 前,將可嘗試次數(shù)減1,這樣若遭到斷電攻擊,恢復(fù)的嘗試次數(shù)已經(jīng)減1,如此,當(dāng)可嘗試次 數(shù)用完,PIN驗(yàn)證將無(wú)法繼續(xù),避免窮舉攻擊。
[0050] 以下通過(guò)具體實(shí)例來(lái)進(jìn)一步說(shuō)明本發(fā)明方案:
[0051] 假設(shè)PIN碼最多有三次可以嘗試的機(jī)會(huì),同時(shí)圖1至圖6中實(shí)箭頭表示實(shí)際存在 的步驟,虛箭頭表示不存在的步驟,數(shù)字表示用時(shí)毫秒,波形凸起表示能量升高。
[0052] 參見(jiàn)圖1至3,由圖可知,現(xiàn)有PIN驗(yàn)證交易的過(guò)程一般包括如下步驟:
[0053] (1)查找PIN密鑰是否存在;
[0054] (2)檢查PIN是否可用(即剩余的可嘗試機(jī)會(huì),0表示PIN不可用);
[0055] (3)驗(yàn)證PIN的內(nèi)容是否一致;
[0056] (4)備份舊的可嘗試次數(shù),防止斷電破壞;
[0057] (5)修改當(dāng)前可嘗試次數(shù),驗(yàn)證失敗需要減1 ;
[0058] (6)刪除舊的可嘗試次數(shù)備份,避免上電恢復(fù)舊的可嘗試次數(shù);
[0059] (7)返回驗(yàn)證結(jié)果,退出
[0060] 其中,芯片執(zhí)行步驟1、2、3、7的執(zhí)行時(shí)間0. 1ms,所需功耗忽略;
[0061] 芯片執(zhí)行步驟4、5、6的執(zhí)行時(shí)間5. 0ms,功耗大,凸起明顯。
[0062] 參見(jiàn)圖1,傳統(tǒng)正常交易時(shí):PIN驗(yàn)證通過(guò),步驟4、5、6從理論上可以省略;
[0063] 參見(jiàn)圖2,傳統(tǒng)異常交易時(shí):PIN驗(yàn)證失敗,步驟4、5、6必須要有。
[0064] 通過(guò)對(duì)比,可確定正常交易和異常交易在步驟4、5、6這個(gè)區(qū)間上的執(zhí)行時(shí)間和能 量上差異很大。由于步驟4、5、6需要修改芯片的非易失性存儲(chǔ)介質(zhì),需要芯片提供較高能 量,且操作時(shí)間較長(zhǎng),攻擊者很容易定位該區(qū)間為攻擊區(qū)間(如圖2所示),進(jìn)行斷電攻擊。 [0065] 在進(jìn)行斷電攻擊時(shí),攻擊者發(fā)現(xiàn)異常交易的步驟4能量凸起后,馬上給芯片斷電。 芯片重新上電后,首先進(jìn)行斷電恢復(fù),恢復(fù)后,PIN的可嘗試次數(shù)并沒(méi)有減少,從而進(jìn)行下一 輪的攻擊嘗試,直至窮舉破解。
[0066] 對(duì)此,參見(jiàn)圖4,其所示為本方案中正常驗(yàn)證通過(guò)數(shù)據(jù)分析的波形圖。
[0067] 本方案在PIN驗(yàn)證通過(guò),進(jìn)行正常交易時(shí),整個(gè)過(guò)程下:
[0068] (1)查找PIN密鑰是否存在,該步驟執(zhí)行時(shí)間0. 1ms,所需功耗忽略;
[0069] (2)檢查PIN是否可用,即剩余的可嘗試機(jī)會(huì),0表示PIN不可用,該步驟執(zhí)行時(shí)間 0. lms,所需功耗忽略;
[0070] (3)將驗(yàn)證PIN密鑰的可嘗試次數(shù)減1 ;該步驟執(zhí)行時(shí)間0. 1ms,所需功耗忽略;
[0071] (4)防斷電備份(即備份當(dāng)前的驗(yàn)證PIN密鑰的可嘗試次數(shù),防止斷電破壞);芯 片執(zhí)行該步驟的執(zhí)行時(shí)間5ms,且需要較高能量損耗;
[0072] (5)驗(yàn)證結(jié)果通過(guò),該步驟執(zhí)行時(shí)間0. 1ms,所需功耗忽略;
[0073] (6)恢復(fù)驗(yàn)證PIN密鑰的最大可嘗試次數(shù);芯片執(zhí)行該步驟的執(zhí)行時(shí)間5ms,且需 要較高能量損耗;
[0074] (7)廢除斷電備份;芯片執(zhí)行該步驟的執(zhí)行時(shí)間5ms,且需要較高能量損耗;
[0075] (8)返回驗(yàn)證結(jié)果,退出;該步驟執(zhí)行時(shí)間0. 1ms,所需功耗忽略。
[0076] 參見(jiàn)圖5,其所示為本方案中異常交易驗(yàn)證不通過(guò)數(shù)據(jù)分析的波形圖。
[0077] 本方案在PIN驗(yàn)證不過(guò),進(jìn)行異常交易時(shí),整個(gè)過(guò)程下:
[0078] (1)查找PIN密鑰是否存在,該步驟執(zhí)行時(shí)間0· 1ms,所需功耗忽略;
[0079] (2)檢查PIN是否可用,即剩余的可嘗試機(jī)會(huì),0表示PIN不可用,該步驟執(zhí)行時(shí)間 0. lms,所需功耗忽略;
[0080] (3)將驗(yàn)證PIN密鑰的可嘗試次數(shù)減1 ;該步驟執(zhí)行時(shí)間0. 1ms,所需功耗忽略;
[0081] (4)防斷電備份;芯片執(zhí)行該步驟的執(zhí)行時(shí)間5ms,且需要較高能量損耗;
[0082] (5)驗(yàn)證結(jié)果失敗,該步驟執(zhí)行時(shí)間0· 1ms,所需功耗忽略;
[0083] (6)進(jìn)行平衡功耗;芯片執(zhí)行該步驟的執(zhí)行時(shí)間5ms,且提供與正常交易中步驟 (6)相同的能量損耗;
[0084] (7)廢除斷電備份;芯片執(zhí)行該步驟的執(zhí)行時(shí)間5ms,且需要較高能量損耗;
[0085] (8)返回驗(yàn)證結(jié)果,退出;該步驟執(zhí)行時(shí)間0. 1ms,所需功耗忽略。
[0086] 參見(jiàn)圖6,其所示為本方案中拒絕驗(yàn)證數(shù)據(jù)分析的波形圖。
[0087] 本方案在拒絕驗(yàn)證時(shí)的整個(gè)過(guò)程下:
[0088] (1)查找PIN密鑰是否存在,該步驟執(zhí)行時(shí)間0· 1ms,所需功耗忽略;
[0089] (2)返回驗(yàn)證結(jié)果,退出;該步驟執(zhí)行時(shí)間0. 1ms,所需功耗忽略。
[0090] 由上可知,本方案在PIN驗(yàn)證通過(guò)進(jìn)行正常交易時(shí)(如圖3所示),通過(guò)對(duì)比圖1 可知,本方案首先把可嘗試次數(shù)減1,之后再備份嘗試次數(shù)。若遭到斷電攻擊,恢復(fù)的嘗試次 數(shù)已經(jīng)減1。如此,當(dāng)可嘗試次數(shù)用完,PIN驗(yàn)證將無(wú)法繼續(xù),避免窮舉攻擊。
[0091] 本方案在PIN驗(yàn)證失敗,進(jìn)行異常交易時(shí)(如圖4所示),通過(guò)對(duì)比圖2發(fā)現(xiàn),首先 把可嘗試次數(shù)減1,之后再備份嘗試次數(shù)。驗(yàn)證失敗,則對(duì)一處無(wú)用的非易失性存儲(chǔ)介質(zhì)的 修改操作,抬升芯片的能量功耗和執(zhí)行時(shí)間,實(shí)現(xiàn)能量和時(shí)間的平衡。從而使得PIN碼驗(yàn)證 失敗進(jìn)行異常交易的時(shí)間、能量損耗波形圖與PIN碼驗(yàn)證通過(guò)進(jìn)行正常交易的時(shí)間、能量 損耗波形圖完全相同,隱藏兩者之間的差異,使得攻擊者無(wú)法定位攻擊區(qū)間。
[0092] 由此,本方案能夠有效杜絕攻擊區(qū)間的定位和斷電保護(hù)引起的PIN的可嘗試次數(shù) 并沒(méi)有減少的漏洞,大大提高PIN碼的安全性。
[0093] 由上可知,本方案在正常驗(yàn)證通過(guò)(圖4)和正常驗(yàn)證失?。▓D5)波形和用時(shí)都 基本完全一致,很難找到差異化攻擊區(qū)間,有效避免攻擊區(qū)間的定位。另外,就算攻擊者找 到圖5所示的攻擊區(qū)間(時(shí)間5. lms),最多也就只能攻擊3次,因?yàn)樵隍?yàn)證PIN碼前,PIN 碼的可嘗試次數(shù)已經(jīng)被減1后備份,攻擊區(qū)間斷電時(shí),可以嘗試的機(jī)會(huì)已經(jīng)減1。如此就能 完美的解決對(duì)于PIN碼的窮舉攻擊,保證交易過(guò)程中PIN碼的安全性。
[0094] 以上顯示和描述了本發(fā)明的基本原理、主要特征和本發(fā)明的優(yōu)點(diǎn)。本行業(yè)的技術(shù) 人員應(yīng)該了解,本發(fā)明不受上述實(shí)施例的限制,上述實(shí)施例和說(shuō)明書(shū)中描述的只是說(shuō)明本 發(fā)明的原理,在不脫離本發(fā)明精神和范圍的前提下,本發(fā)明還會(huì)有各種變化和改進(jìn),這些變 化和改進(jìn)都落入要求保護(hù)的本發(fā)明范圍內(nèi)。本發(fā)明要求保護(hù)范圍由所附的權(quán)利要求書(shū)及其 等效物界定。
【權(quán)利要求】
1. 一種防攻擊的PIN碼保護(hù)方法,其特征在于,所述方法通過(guò)平衡正常交易和異常交 易的能量和時(shí)間差異,保證PIN碼的安全性。
2. 根據(jù)權(quán)利要求1所述的一種防攻擊的PIN碼保護(hù)方法,其特征在于,所述保護(hù)方法首 先把可嘗試次數(shù)減1,之后再備份嘗試次數(shù),再進(jìn)行PIN碼內(nèi)容驗(yàn)證;在驗(yàn)證失敗時(shí),對(duì)正常 交易和異常交易之間的能量和時(shí)間差異進(jìn)行彌補(bǔ)平衡。
3. 根據(jù)權(quán)利要求2所述的一種防攻擊的PIN碼保護(hù)方法,其特征在于,所述保護(hù)方法的 具體過(guò)程如下: (1) 查找PIN密鑰是否存在,若存在,則轉(zhuǎn)入步驟(2);若不存在,則轉(zhuǎn)入步驟(10); (2) 檢查PIN是否可用; (3) 將驗(yàn)證PIN密鑰的可嘗試次數(shù)減1 ; (4) 備份當(dāng)前的驗(yàn)證PIN密鑰的可嘗試次數(shù); (5) 驗(yàn)證PIN的內(nèi)容是否一致,若驗(yàn)證結(jié)果通過(guò),轉(zhuǎn)入步驟¢);若驗(yàn)證結(jié)果不通過(guò),轉(zhuǎn) 入步驟(8); (6) 恢復(fù)驗(yàn)證PIN密鑰的最大可嘗試次數(shù); (7) 刪除舊的可嘗試次數(shù)備份,并轉(zhuǎn)入步驟(10); (8) 平衡芯片的能量功耗和執(zhí)行時(shí)間; (9) 刪除舊的可嘗試次數(shù)備份; (10) 返回驗(yàn)證結(jié)果,退出。
4. 根據(jù)權(quán)利要求3所述的一種防攻擊的PIN碼保護(hù)方法,其特征在于,所述步驟(8)在 平衡相應(yīng)能量功耗和執(zhí)行時(shí)間時(shí),通過(guò)對(duì)一處無(wú)用的非易失性存儲(chǔ)介質(zhì)的修改操作,抬升 芯片進(jìn)行該步驟的修改操作的能量功耗和執(zhí)行時(shí)間,使其與芯片執(zhí)行步驟(6)的能量功耗 和執(zhí)行時(shí)間一致。
【文檔編號(hào)】G06Q20/40GK104217330SQ201410425706
【公開(kāi)日】2014年12月17日 申請(qǐng)日期:2014年8月26日 優(yōu)先權(quán)日:2014年8月26日
【發(fā)明者】胡永剛, 沈勇堅(jiān), 王翔平 申請(qǐng)人:上海動(dòng)聯(lián)信息技術(shù)股份有限公司