本發(fā)明涉及數(shù)據(jù)加密和解密領(lǐng)域,特別是涉及存儲器卡的動態(tài)加密和解密方法及其裝置。
背景技術(shù):
IC卡(Integrated Circuit Card,集成電路卡),也稱智能卡、智慧卡、微電路卡或微芯片卡等。IC卡由于其固有的信息安全、便于攜帶、比較完善的標準化等優(yōu)點,在身份認證、銀行、電信、公共交通、車場管理等領(lǐng)域得到月越來越多的應(yīng)用。
IC卡可分為存儲器卡和CPU卡,非CPU卡的存儲器卡主要采用靜態(tài)密鑰的加密方式,一旦密鑰被攻破后整個系統(tǒng)的安全性將無法保證,安全性較差。但是CPU卡又價格昂貴,系統(tǒng)復(fù)雜,且CPU卡廠商相互不兼容,發(fā)卡系統(tǒng)復(fù)雜。
技術(shù)實現(xiàn)要素:
基于此,有必要針對上述存儲器卡的安全性問題,提供一種存儲器卡的動態(tài)加密和解密方法及其裝置。
一種存儲器卡的動態(tài)加密方法,包括:
讀取存儲器卡的初始數(shù)據(jù),并發(fā)送認證請求至服務(wù)器;
獲取所述服務(wù)器返回的偽隨機數(shù);
根據(jù)所述初始數(shù)據(jù)、所述偽隨機數(shù)和預(yù)設(shè)的密鑰計算得到密文;
將所述密文發(fā)送至所述服務(wù)器。
上述存儲器卡的動態(tài)加密方法,通過服務(wù)器返回的偽隨機數(shù)對初始數(shù)據(jù)進行加密后進行傳輸,從而能夠?qū)崿F(xiàn)對初始數(shù)據(jù)的動態(tài)加密,大大提高了對存儲器卡數(shù)據(jù)讀取的安全性。
在其中一個實施例中,還包括步驟通過標準DES加密算法加密所述偽隨機數(shù),生成偽隨機序列;
所述步驟根據(jù)所述初始數(shù)據(jù)、所述偽隨機數(shù)和預(yù)設(shè)的密鑰計算得到密文為根據(jù)所述初始數(shù)據(jù)、所述偽隨機序列和預(yù)設(shè)的密鑰計算得到密文。
在其中一個實施例中,所述步驟獲取所述服務(wù)器返回的偽隨機數(shù)中,所述偽隨機數(shù)為所述服務(wù)器根據(jù)獲取到的所述認證請求的時間隨機生成的。
一種存儲器卡的動態(tài)解密方法,包括:
獲取讀卡器發(fā)送的認證請求,并發(fā)送偽隨機數(shù);
獲取所述讀卡器根據(jù)初始數(shù)據(jù)、偽隨機數(shù)和預(yù)設(shè)的密鑰計算得到的密文;
根據(jù)所述偽隨機數(shù)和所述預(yù)設(shè)的密鑰解密所述密文得到所述初始數(shù)據(jù)。
上述存儲器卡的動態(tài)解密方法,通過根據(jù)接收到的認證請求發(fā)送偽隨機數(shù)A后再獲取根據(jù)該偽隨機數(shù)加密得到的密文,進而再通過預(yù)設(shè)的密鑰以及存儲的偽隨機數(shù)解密該接收到的密文得到初始數(shù)據(jù),實現(xiàn)了對存儲器卡動態(tài)加密的數(shù)據(jù)的解密,可靠性強。
在其中一個實施例中,所述密文為根據(jù)所述初始數(shù)據(jù)、偽隨機序列和所述預(yù)設(shè)的密鑰計算得到,其中,所述偽隨機序列為通過標準DES加密算法加密所述偽隨機數(shù)生成;
所述根據(jù)所述偽隨機數(shù)和所述預(yù)設(shè)的密鑰解密所述密文得到所述初始數(shù)據(jù)的步驟還包括步驟根據(jù)所述偽隨機數(shù)通過標準DES加密算法推導(dǎo)出所述偽隨機序列,根據(jù)所述偽隨機序列和所述預(yù)設(shè)的密鑰解密所述密文得到所述初始數(shù)據(jù)。
一種存儲器卡的動態(tài)加解密裝置,包括讀卡器端加密模塊和服務(wù)器端解密模塊,所述讀卡器端加密模塊和所述服務(wù)器端解密模塊通信連接;
所述讀卡器端加密模塊用于讀取所述存儲器卡的初始數(shù)據(jù),并發(fā)送認證請求至所述服務(wù)器端解密模塊;獲取所述讀卡器端加密模塊返回的偽隨機數(shù);根據(jù)所述初始數(shù)據(jù)、所述偽隨機數(shù)和預(yù)設(shè)的密鑰計算得到密文;將所述密文發(fā)送至所述服務(wù)器端解密模塊;
所述服務(wù)器端解密模塊用于獲取所述讀卡器端加密模塊發(fā)送的認證請求,并發(fā)送所述偽隨機數(shù);獲取所述讀卡器端加密模塊根據(jù)所述初始數(shù)據(jù)、所述偽隨機數(shù)和所述預(yù)設(shè)的密鑰計算得到的密文;根據(jù)所述偽隨機數(shù)和所述預(yù)設(shè)的密鑰解密所述密文得到所述初始數(shù)據(jù)。
上述存儲器卡的動態(tài)加解密裝置,通過服務(wù)器端解密模塊根據(jù)認證請求生成的偽隨機數(shù)和讀卡器端加密模塊預(yù)設(shè)的密鑰對存儲器卡的初始數(shù)據(jù)進行加密得到密文,之后再通過偽隨機數(shù)和服務(wù)器端存儲的預(yù)設(shè)的密鑰對密文進行解密得到初始數(shù)據(jù),能夠?qū)崿F(xiàn)對存儲器卡的數(shù)據(jù)的動態(tài)加密,大大提高了存儲器卡數(shù)據(jù)讀取的安全性和可靠性。
在其中一個實施例中,所述讀卡器端加密模塊包括第一讀取單元、第一通信單元、第一存儲單元以及混合器,所述第一讀取單元用于讀取存儲器卡的初始數(shù)據(jù),以及獲取所述服務(wù)器端解密模塊根據(jù)所述認證請求返回的偽隨機數(shù);所述第一通信單元用于發(fā)送所述認證請求至所述服務(wù)器端解密模塊以及將所述密文發(fā)送至所述服務(wù)器端解密模塊;所述第一存儲單元用于存儲所述預(yù)設(shè)的密鑰;所述混合器,用于根據(jù)所述初始數(shù)據(jù)、所述偽隨機數(shù)和所述預(yù)設(shè)的密鑰計算得到密文。
在其中一個實施例中,所述服務(wù)器端解密模塊包括第二讀取單元、第二通信單元、第二存儲單元以及解混合器,所述第二讀取單元用于獲取讀卡器端加密模塊發(fā)送的認證請求以及讀卡器端加密模塊根據(jù)初始數(shù)據(jù)、所述偽隨機數(shù)和預(yù)設(shè)的密鑰計算得到的密文;所述第二通信單元用于發(fā)送所述偽隨機數(shù);所述第二存儲單元用于存儲所述預(yù)設(shè)的密鑰;所述解混合器用于根據(jù)所述偽隨機數(shù)和所述預(yù)設(shè)的密鑰解密所述密文得到所述初始數(shù)據(jù)。
在其中一個實施例中,所述服務(wù)器端解密模塊還包括偽隨機數(shù)發(fā)生器,所述偽隨機數(shù)發(fā)生器用于根據(jù)獲取到所述認證請求的時間生成所述偽隨機數(shù)。
在其中一個實施例中,所述讀卡器端加密模塊設(shè)置在讀卡器上,所述服務(wù)器端解密模塊設(shè)置在服務(wù)器上或云平臺上。
在其中一個實施例中,包括多個所述讀卡器端加密模塊,多個所述讀卡器端加密模塊和所述服務(wù)器端解密模塊通信連接,所述服務(wù)器端解密模塊存儲有多個所述讀卡器端加密模塊的預(yù)設(shè)的密鑰。
附圖說明
圖1為本發(fā)明一實施例的存儲器卡的動態(tài)加密方法和解密方法的示意圖;
圖2為圖1所述實施例的存儲器卡的動態(tài)加密方法的步驟流程圖;
圖3為另一實施例的存儲器卡的動態(tài)加密方法的子步驟流程圖;
圖4為圖1所述實施例的存儲器卡的動態(tài)解密方法的步驟流程圖;
圖5為本發(fā)明一實施例的存儲器卡的動態(tài)加解密裝置的結(jié)構(gòu)示意圖;
圖6為本發(fā)明另一實施例的存儲器卡的動態(tài)加解密裝置的結(jié)構(gòu)示意圖。
具體實施方式
為使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖對本發(fā)明的具體實施方式做詳細的說明。在下面的描述中闡述了很多具體細節(jié)以便于充分理解本發(fā)明。但是本發(fā)明能夠以很多不同于在此描述的其它方式來實施,本領(lǐng)域技術(shù)人員可以在不違背本發(fā)明內(nèi)涵的情況下做類似改進,因此本發(fā)明不受下面公開的具體實施的限制。
請參見圖1和圖2,分別為本發(fā)明一實施例的存儲器卡的動態(tài)加密方法和解密方法的示意圖和存儲器卡的動態(tài)加密方法的步驟流程圖。如圖2所示,該存儲器卡的動態(tài)加密方法包括步驟S110:讀取存儲器卡的初始數(shù)據(jù)M,并發(fā)送認證請求R至服務(wù)器。在本實施例中,可以是讀卡器在讀取存儲器卡的初始數(shù)據(jù)M的同時發(fā)送認證請求R,這樣可以使得認證請求R和初始數(shù)據(jù)M的讀取幾乎同時的,能夠使得認證請求R和初始數(shù)據(jù)M有一定的對應(yīng)性。
步驟S130:獲取服務(wù)器返回的偽隨機數(shù)A。進一步地,獲取的是偽隨機數(shù)A是根據(jù)認證請求R而產(chǎn)生的,因而是相對于讀取初始數(shù)據(jù)M動態(tài)產(chǎn)生的,具有隨機性,不易被監(jiān)聽。優(yōu)選地,該偽隨機數(shù)A可以是根據(jù)獲取認證請求R的時間生成的。從而進一步建立偽隨機數(shù)A和獲取的認證請求R之間的對應(yīng)關(guān)系。
步驟S150:根據(jù)初始數(shù)據(jù)M、偽隨機數(shù)A和預(yù)設(shè)的密鑰N計算得到密文Mn。
步驟S170:將該密文Mn發(fā)送至服務(wù)器。
這樣的存儲器卡的動態(tài)加密方法,通過服務(wù)器返回的偽隨機數(shù)A對初始數(shù)據(jù)M進行加密后再進行傳輸,從而能夠?qū)崿F(xiàn)對初始數(shù)據(jù)M的動態(tài)加密,大大提高了對存儲器卡數(shù)據(jù)讀取的安全性。
請參見圖3,為本發(fā)明另一實施例的存儲器卡動態(tài)加密方法的子步驟流程圖。如圖所示,在本實施例中,在步驟獲S130獲取服務(wù)器返回的偽隨機數(shù)A后,還包括步驟S140通過標準DES加密算法加密偽隨機數(shù)A,生成偽隨機序列An。步驟S150根據(jù)初始數(shù)據(jù)M、偽隨機數(shù)A和預(yù)設(shè)的密鑰N計算得到密文Mn為根據(jù)初始數(shù)據(jù)M、偽隨機序列An和預(yù)設(shè)的密鑰N計算得到密文Mn。這樣通過對偽隨機數(shù)A進一步加密得到偽隨機序列An后,再結(jié)合預(yù)設(shè)的密鑰N對初始數(shù)據(jù)M進行加密,能夠進一步提高對存儲器卡讀取的安全性。
請參見圖4,為存儲器卡的動態(tài)解密方法的步驟流程圖。請結(jié)合圖1,如圖所示,該存儲器卡的動態(tài)解密方法,包括步驟S210獲取讀卡器發(fā)送的認證請求R,并發(fā)送偽隨機數(shù)A。進一步地,該偽隨機數(shù)A是根據(jù)認證請求R而產(chǎn)生的,因而是相對于讀取初始數(shù)據(jù)M動態(tài)產(chǎn)生的,具有隨機性,不易被監(jiān)聽。優(yōu)選地,該偽隨機數(shù)A可以是根據(jù)獲取認證請求R的時間生成的。從而進一步建立偽隨機數(shù)A和獲取的認證請求R之間的對應(yīng)關(guān)系。
步驟S230獲取讀卡器根據(jù)初始數(shù)據(jù)M、偽隨機數(shù)A和預(yù)設(shè)的密鑰N計算得到的密文Mn。
步驟S250根據(jù)偽隨機數(shù)A和預(yù)設(shè)的密鑰N解密密文Mn得到初始數(shù)據(jù)M。由于服務(wù)器存儲有偽隨機數(shù)A,并且也預(yù)存有和讀卡器端加密模塊預(yù)設(shè)的密鑰N,因此能夠根據(jù)偽隨機數(shù)A和預(yù)設(shè)的密鑰N解密密文Mn得到初始數(shù)據(jù)M。這樣的存儲器卡的動態(tài)解密方法,通過根據(jù)接收到的認證請求R發(fā)送偽隨機數(shù)A后再獲取根據(jù)該偽隨機數(shù)A加密得到的密文Mn,進而再通過預(yù)設(shè)的密鑰N以及存儲的偽隨機數(shù)A解密該接收到的密文Mn得到初始數(shù)據(jù)M,實現(xiàn)了對存儲器卡動態(tài)加密的數(shù)據(jù)的解密,可靠性強。
在其中一個實施例中,在步驟S230獲取讀卡器根據(jù)初始數(shù)據(jù)M、偽隨機數(shù)A和預(yù)設(shè)的密鑰N計算得到的密文Mn中,該偽隨機數(shù)A通過標準DES加密算法生成偽隨機序列An,密文Mn為根據(jù)初始數(shù)據(jù)M、偽隨機序列An和預(yù)設(shè)的密鑰N計算得到。步驟S250根據(jù)偽隨機數(shù)A和預(yù)設(shè)的密鑰N解密密文Mn得到初始數(shù)據(jù)M中,還包括根據(jù)偽隨機數(shù)A通過標準DES加密算法推導(dǎo)出偽隨機序列An,再根據(jù)偽隨機序列An和預(yù)設(shè)的密鑰N解密密文Mn得到初始數(shù)據(jù)M。這樣存儲器卡動態(tài)解密方法,能夠進一步對根據(jù)偽隨機序列An加密的密文Mn進行解密,從而進一步提高了數(shù)據(jù)的安全性和可靠性。
在本實施中,在步驟S210獲取讀卡器發(fā)送的認證請求R,并發(fā)送偽隨機數(shù)A中,該偽隨機數(shù)A為服務(wù)器根據(jù)獲取到認證請求R的時間生成的。而進一步建立偽隨機數(shù)A和獲取的認證請求R之間的對應(yīng)關(guān)系。
請參見圖5,為本發(fā)明一實施例的存儲器卡的動態(tài)加解密裝置的結(jié)構(gòu)示意圖。并請結(jié)合圖1,如圖所示,該存儲器卡的動態(tài)加解密裝置100,包括讀卡器端加密模塊110和服務(wù)器端解密模塊120,讀卡器端加密模塊110和服務(wù)器端解密模塊120通信連接。
讀卡器端加密模塊110用于讀取存儲器卡300的初始數(shù)據(jù)M,并發(fā)送認證請求R至服務(wù)器端解密模塊120;獲取服務(wù)器端解密模塊120根據(jù)認證請求R返回的偽隨機數(shù)A;根據(jù)初始數(shù)據(jù)M、偽隨機數(shù)和預(yù)設(shè)的密鑰N計算得到密文Mn;將密文Mn發(fā)送至服務(wù)器端解密模塊120。
服務(wù)器端解密模塊120用于獲取讀卡器端加密模塊110發(fā)送的認證請求R,并發(fā)送偽隨機數(shù)A;獲取讀卡器端加密模塊110根據(jù)初始數(shù)據(jù)M、偽隨機數(shù)和預(yù)設(shè)的密鑰N計算得到的密文Mn;根據(jù)偽隨機數(shù)A和預(yù)設(shè)的密鑰N解密密文Mn得到初始數(shù)據(jù)M。
這樣的存儲器卡的動態(tài)加解密裝置,通過服務(wù)器端解密模塊120根據(jù)認證請求R生成的偽隨機數(shù)A和讀卡器端加密模塊110預(yù)設(shè)的密鑰N對存儲器卡的初始數(shù)據(jù)M進行加密得到密文Mn,之后再通過偽隨機數(shù)A和服務(wù)器端解密模塊120存儲的預(yù)設(shè)的密鑰N對密文Mn進行解密得到初始數(shù)據(jù)M,能夠?qū)崿F(xiàn)對存儲器卡的數(shù)據(jù)的動態(tài)加密,大大提高了存儲器卡數(shù)據(jù)讀取的安全性和可靠性。
在本實施例中,讀卡器端加密模塊110還可以包括第一讀取單元111、第一通信單元112、第一存儲單元113以及混合器114。該第一讀取單元111用于讀取存儲器卡200的初始數(shù)據(jù)M,以及獲取服務(wù)器端解密模塊120返回的偽隨機數(shù)A。
第一通信單元112用于發(fā)送認證請求R至服務(wù)器端解密模塊120以及將密文Mn發(fā)送至服務(wù)器端解密模塊120。
第一存儲單元113用于存儲預(yù)設(shè)的密鑰N。混合器114,用于根據(jù)初始數(shù)據(jù)M、偽隨機數(shù)A和預(yù)設(shè)的密鑰N計算得到密文Mn。進一步地,在其中一個實施例中,該混合器還可以進一步用于通過標準DES加密算法對偽隨機數(shù)A進行加密得到偽隨機序列An,然后根據(jù)初始數(shù)據(jù)M、偽隨機序列An和預(yù)設(shè)的密鑰N計算得到密文Mn。
在本實施例中,該服務(wù)器端解密模塊120包括第二讀取單元121、第二通信單元122、第二存儲單元123以及解混合器124。該第二讀取單元121用于獲取讀卡器端加密模塊110發(fā)送的認證請求R以及讀卡器端加密模塊110根據(jù)初始數(shù)據(jù)M、偽隨機數(shù)A和預(yù)設(shè)的密鑰N計算得到的密文Mn。第二通信單元122用于發(fā)送偽隨機數(shù)A。第二存儲單元123用于存儲預(yù)設(shè)的密鑰N。解混合器124用于根據(jù)偽隨機數(shù)A和預(yù)設(shè)的密鑰N解密密文Mn得到初始數(shù)據(jù)M。進一步的,解混合器124還能夠用于根據(jù)偽隨機數(shù)A通過標準DES加密算法推導(dǎo)出偽隨機序列An,再根據(jù)偽隨機序列An和預(yù)設(shè)的密鑰N解密密文Mn得到初始數(shù)據(jù)M。
優(yōu)選地,在本實施中,服務(wù)器端解密模塊120還包括偽隨機數(shù)發(fā)生器125,該偽隨機數(shù)發(fā)生器125用于根據(jù)獲取到認證請求R的時間生成偽隨機數(shù)A。
請參見圖6,為本發(fā)明另一實施例的存儲器卡的動態(tài)加解密裝置的結(jié)構(gòu)示意圖。如圖所示,存儲器卡的動態(tài)加解密裝置200,包括多個讀卡器端加密模塊210a、210b、210c。該多個讀卡器端加密模塊210a、210b、210c和服務(wù)器端解密模塊220通信連接。在其中一個實施例中,多個讀卡器端加密模塊210a、210b、210c共享同一個預(yù)設(shè)的密鑰N,服務(wù)器端解密模塊220存儲有預(yù)設(shè)的密鑰N,從而能夠?qū)崿F(xiàn)服務(wù)器端解密模塊220對多個讀卡器端加密模塊210a、210b、210c進行解密,提高了裝置的可拓展性,節(jié)約部署成本。
在其他的一些實施例中,該多個讀卡器端加密模塊210a、210b、210c可以預(yù)設(shè)有不同的預(yù)設(shè)的密鑰N1、N2、N3,這樣服務(wù)器端解密模塊220也相應(yīng)的存儲有預(yù)設(shè)的密鑰N1、N2、N3,服務(wù)器端解密模塊220能夠根據(jù)獲取的來自不同讀卡器端加密模塊的密文調(diào)用不同的預(yù)設(shè)的預(yù)設(shè)的密鑰進行解密。這樣的存儲器卡的動態(tài)加解密裝置,對不同的讀卡器端加密模塊有著不同的密鑰管理,使得多個讀卡器端加密模塊之相互隔離,進一步提高了裝置的安全性。
在其中的一個實施例中,讀卡器端加密模塊210設(shè)置在讀卡器上,服務(wù)器端解密模塊220設(shè)置在服務(wù)器上或云平臺上。這樣的存儲器卡的動態(tài)加解密裝置配置靈活,既可以適用于本地的服務(wù)器系統(tǒng),也能夠適用于遠程、云端的系統(tǒng)。
以上所述實施例的各技術(shù)特征可以進行任意的組合,為使描述簡潔,未對上述實施例中的各個技術(shù)特征所有可能的組合都進行描述,然而,只要這些技術(shù)特征的組合不存在矛盾,都應(yīng)當認為是本說明書記載的范圍。
以上所述實施例僅表達了本發(fā)明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對發(fā)明專利范圍的限制。應(yīng)當指出的是,對于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應(yīng)以所附權(quán)利要求為準。