專利名稱:一種采用智能卡設(shè)備保護(hù)軟件的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及軟件保護(hù)領(lǐng)域,特別涉及一種采用智能卡設(shè)備保護(hù)軟件的方法及系統(tǒng)。
背景技術(shù):
軟件作為一種特殊的產(chǎn)品,由于其數(shù)字化的特征,從問世起就一直遭受盜版的困擾。目前采用智能卡設(shè)備對軟件進(jìn)行保護(hù)的方式一般為向智能卡設(shè)備內(nèi)移植一段算法,在軟件內(nèi)通過調(diào)用智能卡設(shè)備內(nèi)的算法,智能卡設(shè)備內(nèi)的算法返回軟件需要的數(shù)據(jù)。軟件和智能卡設(shè)備的通信數(shù)據(jù)很容易被監(jiān)聽,如通過BusHound等軟件。如果傳輸數(shù)據(jù)為明文的話直接通過監(jiān)聽獲取輸入數(shù)據(jù)的規(guī)律后,可以采用盜版的智能卡設(shè)備進(jìn)行模擬。對于采用固定密鑰對通信數(shù)據(jù)進(jìn)行加解密的方法很容易通過簡單的調(diào)試手段獲取密鑰。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種采用智能卡設(shè)備保護(hù)軟件的方法及系統(tǒng),以解決現(xiàn)有技術(shù)中軟件和智能卡設(shè)備的通信數(shù)據(jù)很容易被監(jiān)聽的問題。為了實現(xiàn)上述目的,本發(fā)明提供了一種采用智能卡設(shè)備保護(hù)軟件的方法,所述軟件運行在終端設(shè)備中,所述終端設(shè)備與智能卡設(shè)備相互通信連接,所述方法通過第一模塊和第二模塊執(zhí)行,所述第一模塊內(nèi)置在終端設(shè)備中,所述第二模塊內(nèi)置在智能卡設(shè)備中,所述方法包括以下步驟:SI:由所述第一模塊采用第一隨機(jī)密鑰對終端設(shè)備側(cè)待發(fā)送給智能卡設(shè)備側(cè)的數(shù)據(jù)進(jìn)行加密,并將經(jīng)加密的數(shù)據(jù)發(fā)送給所述第二模塊;
S2:所述第二模塊采用所述第一隨機(jī)密鑰對所述經(jīng)加密的數(shù)據(jù)進(jìn)行解密,并對解密的數(shù)據(jù)進(jìn)行處理生成響應(yīng)數(shù)據(jù);S3:所述第二模塊采用第二隨機(jī)密鑰對所述響應(yīng)數(shù)據(jù)進(jìn)行加密,并將經(jīng)加密的響應(yīng)數(shù)據(jù)發(fā)送給所述第一模塊;S4:所述第一模塊采用所述第二隨機(jī)密鑰對所述經(jīng)加密的響應(yīng)數(shù)據(jù)進(jìn)行解密得到響應(yīng)數(shù)據(jù)。作為優(yōu)選,所述步驟SI中還包括:SlOl:所述第一模塊向所述第二模塊發(fā)送獲取所述第一隨機(jī)密鑰的命令;S102:所述第二模塊生成隨機(jī)數(shù)作為所述第一隨機(jī)密鑰,并發(fā)送給所述第一模塊。作為優(yōu)選,所述步驟SI中:所述第一模塊采用所述第一隨機(jī)密鑰對終端設(shè)備待發(fā)送給智能卡設(shè)備的數(shù)據(jù)進(jìn)行加密后,銷毀所述第一隨機(jī)密鑰。作為優(yōu)選,所述步驟S2中:所述第二模塊采用所述第一隨機(jī)密鑰對所述經(jīng)加密的數(shù)據(jù)進(jìn)行解密后,銷毀所述第一隨機(jī)密鑰。
作為優(yōu)選,所述步驟S3中:所述第二模塊生成隨機(jī)數(shù)作為所述第二隨機(jī)密鑰。作為優(yōu)選,所述步驟S4中還包括:S401:所述第一模塊收到加密的響應(yīng)數(shù)據(jù)后,向所述第二模塊發(fā)送獲取所述第二隨機(jī)密鑰的命令;
S402:所述第二模塊將所述第二隨機(jī)密鑰發(fā)送給所述第一模塊,并銷毀所述第二隨機(jī)密鑰。作為優(yōu)選,所述步驟S4中:所述第一模塊采用所述第二隨機(jī)密鑰對所述經(jīng)加密的響應(yīng)數(shù)據(jù)進(jìn)行解密后,銷毀所述第二隨機(jī)密鑰。為了實現(xiàn)上述目的,本發(fā)明還提供了一種采用智能卡設(shè)備保護(hù)軟件的系統(tǒng),所述軟件運行在終端設(shè)備中,所述終端設(shè)備與智能卡設(shè)備相互通信連接,所述系統(tǒng)包括第一模塊和第二模塊,所述第一模塊內(nèi)置在終端設(shè)備中,所述第二模塊內(nèi)置在智能卡設(shè)備中,其中,所述第一模塊用于采用第一隨機(jī)密鑰對終端設(shè)備側(cè)待發(fā)送給智能卡設(shè)備側(cè)的數(shù)據(jù)進(jìn)行加密,將經(jīng)加密的數(shù)據(jù)發(fā)送給所述第二模塊;所述第二模塊用于采用所述第一隨機(jī)密鑰對所述經(jīng)加密的數(shù)據(jù)進(jìn)行解密,并對解密的數(shù)據(jù)進(jìn)行處理生成響應(yīng)數(shù)據(jù);所述第二模塊還用于采用第二隨機(jī)密鑰對所述響應(yīng)數(shù)據(jù)進(jìn)行加密,并將經(jīng)加密的響應(yīng)數(shù)據(jù)發(fā)送給所述第一模塊;所述第一模塊還用于采用所述第二隨機(jī)密鑰對所述經(jīng)加密的響應(yīng)數(shù)據(jù)進(jìn)行解密得到響應(yīng)數(shù)據(jù)。作為優(yōu)選,所述第一模塊包括第一加密模塊、第一收發(fā)模塊和第一解密模塊,所述第二模塊包括第二加密模塊、第二收發(fā)模塊、第二解密模塊和數(shù)據(jù)處理模塊,其中,所述第一加密模塊用于采用所述第一隨機(jī)密鑰對終端設(shè)備側(cè)待發(fā)送給智能卡設(shè)備側(cè)的數(shù)據(jù)進(jìn)行加密;所述第一收發(fā)模塊用于將所述經(jīng)加密的數(shù)據(jù)發(fā)送給所述第二模塊或者接收所述第二模塊發(fā)送的所述經(jīng)加密的響應(yīng)數(shù)據(jù);所述第一解密模塊用于采用所述第二隨機(jī)密鑰對所述經(jīng)加密的響應(yīng)數(shù)據(jù)進(jìn)行解密得到響應(yīng)數(shù)據(jù);所述第二加密模塊用于采用所述第二隨機(jī)密鑰對所述數(shù)據(jù)處理模塊生成的響應(yīng)數(shù)據(jù)進(jìn)行加密;所述第二收發(fā)模塊用于將所述經(jīng)加密的響應(yīng)數(shù)據(jù)發(fā)送給所述第一模塊或者接收所述第一模塊發(fā)送的所述經(jīng)加密的數(shù)據(jù);所述第二解密模塊用于采用所述第一隨機(jī)密鑰對所述經(jīng)加密的數(shù)據(jù)進(jìn)行解密;所述數(shù)據(jù)處理模塊用于對所述第二解密模塊解密的數(shù)據(jù)進(jìn)行處理生成響應(yīng)數(shù)據(jù)。作為優(yōu)選,所述第一模塊還包括:密鑰獲取模塊,用于向所述第二模塊發(fā)送獲取所述第一隨機(jī)密鑰或者第二隨機(jī)密鑰的命令 '及
第一密鑰銷毀模塊,用于銷毀所述第一隨機(jī)密鑰或者第二隨機(jī)密鑰;所述第二模塊還包括:密鑰生成模塊,用于生成隨機(jī)數(shù)作為所述第一隨機(jī)密鑰或者第二隨機(jī)密鑰;及第二密鑰銷毀模塊,用于銷毀所述第一隨機(jī)密鑰或者第二隨機(jī)密鑰;其中,所述第一收發(fā)模塊還用于接收所述第二模塊發(fā)送的第一隨機(jī)密鑰或者第二隨機(jī)密鑰;所述第二收發(fā)模塊還用于向所述第一模塊發(fā)送所述密鑰生成模塊生成的第一隨機(jī)密鑰或者第二隨機(jī)密鑰。與現(xiàn)有技術(shù)相比,本發(fā)明的采用智能卡設(shè)備保護(hù)軟件的方法及系統(tǒng)具有以下有益效果:采用本發(fā)明的方法及系統(tǒng),軟件和智能卡設(shè)備進(jìn)行通信時,軟件向智能卡設(shè)備輸入數(shù)據(jù)時采用第一隨機(jī)密鑰對數(shù)據(jù)進(jìn)行加密,智能卡設(shè)備向軟件輸出數(shù)據(jù)時采用第二隨機(jī)密鑰對數(shù)據(jù)進(jìn)行加密,保證了數(shù)據(jù)傳輸?shù)臒o規(guī)律性,從根本上防止通過監(jiān)聽模擬智能卡設(shè)備輸入輸出的可能性;另外隨機(jī)密鑰的生成完全在智能卡設(shè)備中進(jìn)行,防止生成的隨機(jī)密鑰被篡改,大大提高了軟件的安全性。
圖1為本發(fā)明的采用智能卡設(shè)備保護(hù)軟件的方法的流程示意圖;圖2為圖1所示的方法中步驟SI的具體流程示意圖;圖3為圖1所示的方法中步驟S2的具體流程示意圖;圖4為圖1所示的方法中步驟S3的具體流程示意圖;圖5為圖1所示的方法中步驟S4的具體流程示意圖;圖6為本發(fā)明的采用智能卡設(shè)備保護(hù)軟件的系統(tǒng)的結(jié)構(gòu)框圖;圖7為本發(fā)明的采用智能卡設(shè)備保護(hù)軟件的方法的一個實施例的流程示意圖。
具體實施例方式下面結(jié)合附圖對本發(fā)明的具體實施例進(jìn)行詳細(xì)說明。如圖1至圖5所示,本發(fā)明的采用智能卡設(shè)備保護(hù)軟件的方法通過第一模塊和第二模塊執(zhí)行,所述軟件運行在終端設(shè)備中,所述終端設(shè)備與智能卡設(shè)備相互通信連接,所述第一模塊內(nèi)置在終端設(shè)備中,所述第二模塊內(nèi)置在智能卡設(shè)備中,所述第一模塊用于調(diào)用所述第二模塊,包括以下步驟:S1:所述第一模塊采用第一隨機(jī)密鑰對軟件向智能卡設(shè)備發(fā)送的數(shù)據(jù)進(jìn)行加密,并將加密的數(shù)據(jù)發(fā)送給所述第二模塊;S2:所述第二模塊采用所述第一隨機(jī)密鑰對加密的數(shù)據(jù)進(jìn)行解密,并對解密的數(shù)據(jù)進(jìn)行處理生成響應(yīng)數(shù)據(jù);S3:所述第二模塊采用第二隨機(jī)密鑰對所述響應(yīng)數(shù)據(jù)進(jìn)行加密,并將加密的響應(yīng)數(shù)據(jù)發(fā)送給所述第一模塊;S4:所述第一模塊采用所述第二隨機(jī)密鑰對加密的響應(yīng)數(shù)據(jù)進(jìn)行解密得到響應(yīng)數(shù)據(jù)。
其中,所述步驟SI可以具體包括:SlOl:所述第一模塊向所述第二模塊發(fā)送獲取所述第一隨機(jī)密鑰的命令;
S102:所述第二模塊生成隨機(jī)數(shù)作為所述第一隨機(jī)密鑰,并發(fā)送給所述第一模塊;S103:所述第一模塊采用所述第一隨機(jī)密鑰對數(shù)據(jù)進(jìn)行加密后發(fā)送給所述第二模塊,并銷毀所述第一隨機(jī)密鑰。所述步驟S2可以具體包括:S201:所述第二模塊采用所述第一隨機(jī)密鑰對加密的數(shù)據(jù)進(jìn)行解密,并銷毀所述第一隨機(jī)密鑰;S202:所述第二模塊對解密后的數(shù)據(jù)進(jìn)行處理生成響應(yīng)數(shù)據(jù)。所述步驟S3可以具體包括:S301:所述第二模塊生成隨機(jī)數(shù)作為第二隨機(jī)密鑰;S302:所述第二模塊采用所述第二隨機(jī)密鑰對所述響應(yīng)數(shù)據(jù)進(jìn)行加密,并將加密的響應(yīng)數(shù)據(jù)發(fā)送給所述第一模塊。所述步驟S4可以具體包括:S401:所述第一模塊收到加密的響應(yīng)數(shù)據(jù)后,向所述第二模塊發(fā)送獲取所述第二隨機(jī)密鑰的命令;S402:所述第二模塊將所述第二隨機(jī)密鑰發(fā)送給所述第一模塊,并銷毀所述第二隨機(jī)密鑰;S403:所述第一模塊采用所述第二隨機(jī)密鑰對加密的響應(yīng)數(shù)據(jù)進(jìn)行解密得到所述響應(yīng)數(shù)據(jù),然后銷毀所述第二隨機(jī)密鑰。如圖6所示,本發(fā)明的采用智能卡設(shè)備保護(hù)軟件的系統(tǒng)包括第一模塊I和第二模塊2,所述軟件運行在終端設(shè)備中,所述終端設(shè)備與智能卡設(shè)備相互通信連接,第二模塊2內(nèi)置在智能卡設(shè)備中,所示第一模塊I內(nèi)置在終端設(shè)備中,第一模塊I用于調(diào)用第二模塊2,第一模塊I包括密鑰獲取模塊11、第一密鑰銷毀模塊15、第一加密模塊13、第一收發(fā)模塊12和第一解密模塊14,第二模塊2包括密鑰生成模塊21、第二密鑰銷毀模塊25、第二加密模塊23、第二收發(fā)模塊22、第二解密模塊24和數(shù)據(jù)處理模塊26 ;其中,第一收發(fā)模塊12與第二收發(fā)模塊22相互通信;密鑰獲取模塊11用于向第二模塊2發(fā)送獲取第一隨機(jī)密鑰或者第二隨機(jī)密鑰的命令;密鑰生成模塊21用于生成隨機(jī)數(shù)作為第一隨機(jī)密鑰或者第二隨機(jī)密鑰;第一加密模塊13用于采用第一隨機(jī)密鑰對軟件向智能卡設(shè)備發(fā)送的數(shù)據(jù)進(jìn)行加密;第二解密模塊24用于采用第一隨機(jī)密鑰對第二收發(fā)模塊22接收到的加密的數(shù)據(jù)進(jìn)行解密;數(shù)據(jù)處理模塊26用于對第二解密模塊24解密的數(shù)據(jù)進(jìn)行處理生成響應(yīng)數(shù)據(jù);第二加密模塊23用于采用第二隨機(jī)密鑰對數(shù)據(jù)處理模塊26生成的響應(yīng)數(shù)據(jù)進(jìn)行加密;第一解密模塊14用于采用第二隨機(jī)密鑰對第一收發(fā)模塊12接收到的加密的響應(yīng)數(shù)據(jù)進(jìn)行解密得到響應(yīng)數(shù)據(jù);
第一密鑰銷毀模塊15用于銷毀第一隨機(jī)密鑰或者第二隨機(jī)密鑰;
第二密鑰銷毀模塊25用于銷毀第一隨機(jī)密鑰或者第二隨機(jī)密鑰。結(jié)合圖6所示的采用智能卡設(shè)備保護(hù)軟件的系統(tǒng),軟件與智能卡設(shè)備的通信過程如下:(I)軟件中的密鑰獲取模塊11向智能卡設(shè)備發(fā)送獲取密鑰的命令;(2)智能卡設(shè)備中的密鑰生成模塊21生成第一隨機(jī)密鑰;(3)智能卡設(shè)備中的第二收發(fā)模塊22將第一隨機(jī)密鑰發(fā)送給軟件;(4)軟件中的第一收發(fā)模塊12接收智能卡設(shè)備發(fā)送的第一隨機(jī)密鑰;(5)軟件中的第一加密模塊13利用第一隨機(jī)密鑰對數(shù)據(jù)進(jìn)行加密;(6)軟件中的第一密鑰銷毀模塊15銷毀第一隨機(jī)密鑰;(7)軟件中的第一收發(fā)模塊12將加密后的數(shù)據(jù)發(fā)送給智能卡設(shè)備;(8)智能卡設(shè)備中的第二收發(fā)模塊22收取軟件中發(fā)送的數(shù)據(jù);(9)智能卡設(shè)備中第二解密模塊24利用第一隨機(jī)密鑰對數(shù)據(jù)進(jìn)行解密;(10)智能卡設(shè)備中的第二密鑰銷毀模塊25將第一隨機(jī)密鑰銷毀;(11)智能卡設(shè)備中的數(shù)據(jù)處理模塊26處理解密后的數(shù)據(jù),構(gòu)造響應(yīng)數(shù)據(jù);(12)智能卡設(shè)備中的密鑰生成模塊21生成第二隨機(jī)密鑰;
(13)智能卡設(shè)備中的第二加密模塊23利用第二隨機(jī)密鑰對響應(yīng)數(shù)據(jù)進(jìn)行加密;(14)智能卡設(shè)備中第二收發(fā)模塊22將加密后的響應(yīng)數(shù)據(jù)發(fā)送給軟件;(15)軟件中的第一收發(fā)模塊12接收加密后的響應(yīng)數(shù)據(jù);(16)軟件中密鑰獲取模塊11向智能卡設(shè)備發(fā)送獲取第二隨機(jī)密鑰的命令;(17)智能卡設(shè)備的第二收發(fā)模塊22向軟件發(fā)送第二隨機(jī)密鑰;(18)智能卡設(shè)備中的第二密鑰銷毀模塊25銷毀第二隨機(jī)密鑰;(19)軟件中的第一收發(fā)模塊12收取第二隨機(jī)密鑰;(20)軟件中第一解密模塊14利用第二隨機(jī)密鑰對加密后的響應(yīng)數(shù)據(jù)進(jìn)行解密得到響應(yīng)數(shù)據(jù)的明文;(21)軟件中的第一密鑰銷毀模塊15銷毀第二隨機(jī)密鑰。圖7為本發(fā)明的采用智能卡設(shè)備保護(hù)軟件的方法的一個實施例的流程示意圖。如圖7所示,該方法的步驟為:1.軟件調(diào)用SoftGetKeyCmdO函數(shù),向智能卡設(shè)備發(fā)送獲取第一隨機(jī)密鑰的命令;2.智能卡設(shè)備內(nèi)部通過SCardGenKeyO函數(shù),函數(shù)內(nèi)部通過調(diào)用智能卡支持的系統(tǒng)函數(shù)_rand(),生成128位的隨機(jī)密鑰作為第一隨機(jī)密鑰firstKey ;3.智能卡設(shè)備內(nèi)部通過SCardDataTransmitO函數(shù),將第一隨機(jī)密鑰firstKey發(fā)送給軟件;4.軟件通過 SoftDataTransmit O 函數(shù)獲取密鑰 firstKey ;5.軟件通過SoftEncryptData O函數(shù),利用第一隨機(jī)密鑰firstKey對需要傳輸?shù)臄?shù)據(jù)進(jìn)行加密,加密算法采用TDES;6.軟件通過SoftDestroyKey O函數(shù),銷毀軟件中的firstKey,將存儲firstKey的內(nèi)存清空即可;7.軟件通過SoftDataTransmit O函數(shù)將加密后的數(shù)據(jù)發(fā)送給智能卡;
8.智能卡設(shè)備通過SCardDataTransmit O函數(shù)獲取軟件傳入的加密后的數(shù)據(jù);9.智能卡設(shè)備通過系統(tǒng)函數(shù)SCardDecrypt函數(shù)O ,利用firstKey進(jìn)行解密,ScardDecrypt函數(shù)O主要采用智能卡系統(tǒng)函數(shù)_tdes_dec O來實現(xiàn);10.智能卡設(shè)備通過SCardDestroyKeyO,銷毀第一隨機(jī)密鑰firstKey ;11.智能卡設(shè)備通過SCardProcessDataO函數(shù),處理解密后的數(shù)據(jù)作為響應(yīng)數(shù)據(jù);12.智能卡設(shè)備通過SCardGenKey O函數(shù)產(chǎn)生第二隨機(jī)密鑰secondKey ;13.智能卡設(shè)備通過SCardEncrypt O函數(shù)對響應(yīng)數(shù)據(jù)進(jìn)行利用secondKey進(jìn)行加密,SCardEncrypt函數(shù)主要調(diào)用智能卡系統(tǒng)函數(shù)_tdes_enc O來實現(xiàn);14.智能卡設(shè)備通過SCardDataTransmit O函數(shù)將加密后的響應(yīng)數(shù)據(jù)發(fā)送給軟件;15.軟件通過SoftDataTransmit O函數(shù)收取加密后的響應(yīng)數(shù)據(jù);16.軟件通·過SoftGetKeyCmdO向智能卡設(shè)備發(fā)送獲取第二隨機(jī)密鑰secondKey的命令;17.智能卡設(shè)備通過SCardDataTransmitO函數(shù)向軟件發(fā)送第二隨機(jī)密鑰SecondKey;18.智能卡設(shè)備通過SCardDestroyKey O函數(shù),銷毀密鑰;19.軟件通過SoftDataTransmit O函數(shù)獲取第二隨機(jī)密鑰secondKey;20.軟件通過SoftDecrypt O函數(shù)對加密后的響應(yīng)數(shù)據(jù)進(jìn)行解密;21.軟件通過SoftDestroyKey O函數(shù)銷毀軟件內(nèi)的第二隨機(jī)密鑰secondKey。以上實施例僅為本發(fā)明的示例性實施例,不用于限制本發(fā)明,本發(fā)明的保護(hù)范圍由權(quán)利要求書限定。本領(lǐng)域技術(shù)人員可以在本發(fā)明的實質(zhì)和保護(hù)范圍內(nèi),對本發(fā)明做出各種修改或等同替換,這種修改或等同替換也應(yīng)視為落在本發(fā)明的保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種采用智能卡設(shè)備保護(hù)軟件的方法,所述軟件運行在終端設(shè)備中,所述終端設(shè)備與智能卡設(shè)備相互通信連接,其特征在于,所述方法通過第一模塊和第二模塊執(zhí)行,所述第一模塊內(nèi)置在終端設(shè)備中,所述第二模塊內(nèi)置在智能卡設(shè)備中,所述方法包括以下步驟: 51:由所述第一模塊采用第一隨機(jī)密鑰對終端設(shè)備側(cè)待發(fā)送給智能卡設(shè)備側(cè)的數(shù)據(jù)進(jìn)行加密,并將經(jīng)加密的數(shù)據(jù)發(fā)送給所述第二模塊; 52:所述第二模塊采用所述第一隨機(jī)密鑰對所述經(jīng)加密的數(shù)據(jù)進(jìn)行解密,并對解密的數(shù)據(jù)進(jìn)行處理生成響應(yīng)數(shù)據(jù); 53:所述第二模塊采用第二隨機(jī)密鑰對所述響應(yīng)數(shù)據(jù)進(jìn)行加密,并將經(jīng)加密的響應(yīng)數(shù)據(jù)發(fā)送給所述第一模塊; S4:所述第一模塊采用所述第二隨機(jī)密鑰對所述經(jīng)加密的響應(yīng)數(shù)據(jù)進(jìn)行解密得到響應(yīng)數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的采用智能卡設(shè)備保護(hù)軟件的方法,其特征在于,所述步驟SI中還包括: 5101:所述第一模塊向所述第二模塊發(fā)送獲取所述第一隨機(jī)密鑰的命令; 5102:所述第二模塊生成隨機(jī)數(shù)作為所述第一隨機(jī)密鑰,并發(fā)送給所述第一模塊。
3.根據(jù)權(quán)利要求1或2所述的采用智能卡設(shè)備保護(hù)軟件的方法,其特征在于,所述步驟Si中:所述第一模塊采用所述第一隨機(jī)密鑰對終端設(shè)備待發(fā)送給智能卡設(shè)備的數(shù)據(jù)進(jìn)行加密后,銷毀所述第一隨機(jī)密鑰。
4.根據(jù)權(quán)利要求1所述的采用智能卡設(shè)備保護(hù)軟件的方法,其特征在于,所述步驟S2`中: 所述第二模塊采用所述第一隨機(jī)密鑰對所述經(jīng)加密的數(shù)據(jù)進(jìn)行解密后,銷毀所述第一隨機(jī)密鑰。
5.根據(jù)權(quán)利要求1所述的采用智能卡設(shè)備保護(hù)軟件的方法,其特征在于,所述步驟S3中: 所述第二模塊生成隨機(jī)數(shù)作為所述第二隨機(jī)密鑰。
6.根據(jù)權(quán)利要求1所述的采用智能卡設(shè)備保護(hù)軟件的方法,其特征在于,所述步驟S4中還包括: 5401:所述第一模塊收到加密的響應(yīng)數(shù)據(jù)后,向所述第二模塊發(fā)送獲取所述第二隨機(jī)密鑰的命令; 5402:所述第二模塊將所述第二隨機(jī)密鑰發(fā)送給所述第一模塊,并銷毀所述第二隨機(jī)密鑰。
7.根據(jù)權(quán)利要求1或6所述的采用智能卡設(shè)備保護(hù)軟件的方法,其特征在于,所述步驟S4中: 所述第一模塊采用所述第二隨機(jī)密鑰對所述經(jīng)加密的響應(yīng)數(shù)據(jù)進(jìn)行解密后,銷毀所述第二隨機(jī)密鑰。
8.一種采用智能卡設(shè)備保護(hù)軟件的系統(tǒng),所述軟件運行在終端設(shè)備中,所述終端設(shè)備與智能卡設(shè)備相互通信連接,其特征在于,所述系統(tǒng)包括第一模塊和第二模塊,所述第一模塊內(nèi)置在終端設(shè)備中,所述第二模塊內(nèi)置在智能卡設(shè)備中,其中, 所述第一模塊用于采用第一隨機(jī)密鑰對終端設(shè)備側(cè)待發(fā)送給智能卡設(shè)備側(cè)的數(shù)據(jù)進(jìn)行加密,將經(jīng)加密的數(shù)據(jù)發(fā)送給所述第二模塊; 所述第二模塊用于采用所述第一隨機(jī)密鑰對所述經(jīng)加密的數(shù)據(jù)進(jìn)行解密,并對解密的數(shù)據(jù)進(jìn)行處理生成響應(yīng)數(shù)據(jù); 所述第二模塊還用于采用第二隨機(jī)密鑰對所述響應(yīng)數(shù)據(jù)進(jìn)行加密,并將經(jīng)加密的響應(yīng)數(shù)據(jù)發(fā)送給所述第一模塊; 所述第一模塊還用于采用所述第二隨機(jī)密鑰對所述經(jīng)加密的響應(yīng)數(shù)據(jù)進(jìn)行解密得到響應(yīng)數(shù)據(jù)。
9.根據(jù)權(quán)利要求8所述的采用智能卡設(shè)備保護(hù)軟件的系統(tǒng),其特征在于, 所述第一模塊包括第一加密模塊、第一收發(fā)模塊和第一解密模塊,所述第二模塊包括第二加密模塊、第二收發(fā)模塊、第二解密模塊和數(shù)據(jù)處理模塊,其中, 所述第一加密模塊用于采用所述第一隨機(jī)密鑰對終端設(shè)備側(cè)待發(fā)送給智能卡設(shè)備側(cè)的數(shù)據(jù)進(jìn)行加密; 所述第一收發(fā)模塊用于將所述經(jīng)加密的數(shù)據(jù)發(fā)送給所述第二模塊或者接收所述第二模塊發(fā)送的所述經(jīng)加密的響應(yīng)數(shù)據(jù); 所述第一解密模塊用于采用所述第二隨機(jī)密鑰對所述經(jīng)加密的響應(yīng)數(shù)據(jù)進(jìn)行解密得到響應(yīng)數(shù)據(jù); 所述第二加密模塊用于采用所述第二隨機(jī)密鑰對所述數(shù)據(jù)處理模塊生成的響應(yīng)數(shù)據(jù)進(jìn)行加密; 所述第二收發(fā)模塊用于將所述經(jīng)加密的響應(yīng)數(shù)據(jù)發(fā)送給所述第一模塊或者接收所述第一模塊發(fā)送的所述經(jīng)加密的數(shù)據(jù); 所述第二解密模塊用 于采用所述第一隨機(jī)密鑰對所述經(jīng)加密的數(shù)據(jù)進(jìn)行解密; 所述數(shù)據(jù)處理模塊用于對所述第二解密模塊解密的數(shù)據(jù)進(jìn)行處理生成響應(yīng)數(shù)據(jù)。
10.根據(jù)權(quán)利要求9所述的采用智能卡設(shè)備保護(hù)軟件的系統(tǒng),其特征在于, 所述第一模塊還包括: 密鑰獲取模塊,用于向所述第二模塊發(fā)送獲取所述第一隨機(jī)密鑰或者第二隨機(jī)密鑰的命令;及 第一密鑰銷毀模塊,用于銷毀所述第一隨機(jī)密鑰或者第二隨機(jī)密鑰; 所述第二模塊還包括: 密鑰生成模塊,用于生成隨機(jī)數(shù)作為所述第一隨機(jī)密鑰或者第二隨機(jī)密鑰;及 第二密鑰銷毀模塊,用于銷毀所述第一隨機(jī)密鑰或者第二隨機(jī)密鑰; 其中,所述第一收發(fā)模塊還用于接收所述第二模塊發(fā)送的第一隨機(jī)密鑰或者第二隨機(jī)密鑰;所述第二收發(fā)模塊還用于向所述第一模塊發(fā)送所述密鑰生成模塊生成的第一隨機(jī)密鑰或者第二隨機(jī)密鑰。
全文摘要
本發(fā)明公開了一種采用智能卡設(shè)備保護(hù)軟件的方法及系統(tǒng),該方法包括以下步驟由第一模塊采用第一隨機(jī)密鑰對終端設(shè)備側(cè)待發(fā)送給智能卡設(shè)備側(cè)的數(shù)據(jù)進(jìn)行加密,并將經(jīng)加密的數(shù)據(jù)發(fā)送給第二模塊;第二模塊采用第一隨機(jī)密鑰對經(jīng)加密的數(shù)據(jù)進(jìn)行解密,并對解密后的數(shù)據(jù)進(jìn)行處理生成響應(yīng)數(shù)據(jù);第二模塊采用第二隨機(jī)密鑰對響應(yīng)數(shù)據(jù)進(jìn)行加密,并將經(jīng)加密的響應(yīng)數(shù)據(jù)發(fā)送給第一模塊;第一模塊采用第二隨機(jī)密鑰對經(jīng)加密的響應(yīng)數(shù)據(jù)進(jìn)行解密得到響應(yīng)數(shù)據(jù)。采用本發(fā)明的方法及系統(tǒng),軟件和智能卡設(shè)備進(jìn)行通信時,通過采用隨機(jī)密鑰對數(shù)據(jù)進(jìn)行加密,保證了數(shù)據(jù)傳輸?shù)臒o規(guī)律性,從根本上防止通過監(jiān)聽模擬智能卡設(shè)備輸入輸出的可能性。
文檔編號G06F21/62GK103235907SQ20131010010
公開日2013年8月7日 申請日期2013年3月26日 優(yōu)先權(quán)日2013年3月26日
發(fā)明者孫吉平, 韓勇 申請人:北京深思數(shù)盾科技有限公司