專利名稱:一種適用于多種加密標(biāo)準(zhǔn)的智能卡及其認(rèn)證方法
技術(shù)領(lǐng)域:
本發(fā)明涉及智能卡技術(shù)領(lǐng)域,尤其涉及一種適用于多種加密標(biāo)準(zhǔn)的智能卡及其認(rèn)證方法。
背景技術(shù):
七十年代微電子技術(shù)的發(fā)展使制造信用卡格式的無(wú)用戶接口的集成電路成為可能,這種帶集成電路的信用卡成為智能卡。在智能卡中,可將數(shù)據(jù)存儲(chǔ)器和邏輯單元集成在一個(gè)芯片中,該芯片的尺寸為幾平方毫米。智能卡按照使用方式可以分為接觸和非接觸兩大類。無(wú)論接觸或非接觸都需要具有很高的安全性和可靠性。
現(xiàn)今,智能卡主要被認(rèn)為是保存機(jī)密數(shù)據(jù)的安全之處和運(yùn)行加密算法的安全保密平臺(tái)。智能卡中的數(shù)據(jù)和算法被認(rèn)為擁有較高安全性的原因就是卡的硬件結(jié)構(gòu)和延伸到智能卡外部的接口。從外面來(lái)看,智能卡的功能只能通過(guò)定義明確的軟硬件接口被訪問(wèn),這樣智能卡就必須遵守某一安全策略。一方面,數(shù)據(jù)的訪問(wèn)可被設(shè)定在某種權(quán)限,從外部對(duì)機(jī)密數(shù)據(jù)的訪問(wèn),如安全密鑰等,可能被完全禁止。另一方面,智能卡不需要從外部進(jìn)行個(gè)人操作就能執(zhí)行算法。而智能卡中的算法自身也會(huì)得到保護(hù),以防被修改或被讀取。除了這些,智能卡還能夠通過(guò)引入隨機(jī)數(shù)和設(shè)定多個(gè)分級(jí)密鑰來(lái)加強(qiáng)安全性。
在智能卡中,特別是非接觸智能卡中,通常通過(guò)認(rèn)證的方法,即通過(guò)對(duì)一個(gè)安全密鑰作加密運(yùn)算,并通過(guò)比較結(jié)果來(lái)保證訪問(wèn)的合法性,然后通過(guò)對(duì)智能卡和讀卡機(jī)的通訊加密來(lái)保證數(shù)據(jù)的安全。其中,每次交易都會(huì)引入隨機(jī)數(shù)而使加密過(guò)程不重復(fù),并且通常對(duì)存儲(chǔ)器的不同區(qū)域,智能卡會(huì)設(shè)定多套密鑰。在同一個(gè)區(qū)域,智能卡也支持不同權(quán)限的兩種密鑰。
圖1顯示的是現(xiàn)有的支持一種加密標(biāo)準(zhǔn)的非接觸智能卡的電路結(jié)構(gòu)框圖。如圖1所示,非接觸智能卡1通常由模擬接口模塊11、邏輯控制模塊12、加密模塊13以及存儲(chǔ)器14四個(gè)主要模塊組成,其中邏輯控制模塊12分別與模擬接口模塊11、加密模塊13以及存儲(chǔ)器14連接在一起。加密模塊13又進(jìn)一步包含隨機(jī)數(shù)產(chǎn)生模塊131、加密算法模塊132和判斷電路模塊133這三個(gè)子模塊。
圖2顯示的是現(xiàn)有的支持一種加密標(biāo)準(zhǔn)的非接觸智能卡的加密模塊的電路結(jié)構(gòu)框圖。如圖2所示,隨機(jī)數(shù)產(chǎn)生模塊131隨機(jī)產(chǎn)生一個(gè)隨機(jī)數(shù)并將該隨機(jī)數(shù)傳送到加密算法模塊132中,由加密算法模塊132按照加密算法對(duì)輸入的隨機(jī)數(shù)、非接觸智能卡本身所具有的識(shí)別碼和密鑰、以及讀卡機(jī)產(chǎn)生的隨機(jī)數(shù)進(jìn)行加密,得到智能卡1的加密流。接著,將得到的智能卡1的加密流與讀卡機(jī)的加密流同時(shí)輸入到判斷電路模塊133中,由判斷電路模塊133將兩者進(jìn)行比較,獲得一個(gè)判斷標(biāo)志,根據(jù)判斷標(biāo)志判斷讀卡機(jī)與智能卡1之間是否匹配合法。
因此,一般來(lái)說(shuō),每種智能卡的加密算法是不同的,因此就會(huì)出現(xiàn)不同的加密標(biāo)準(zhǔn)。通常,一種智能卡僅支持一種加密算法,不同的加密算法標(biāo)準(zhǔn)下的讀卡機(jī)和智能卡不能通用。
另外,為了生產(chǎn)和維護(hù)多種加密標(biāo)準(zhǔn)的智能卡和讀卡機(jī)也是一件非常困難的事。因此,追求一種通用的支持多加密標(biāo)準(zhǔn)的電子設(shè)備系統(tǒng)一直是電子業(yè)界追求的目標(biāo)。
為此,本發(fā)明提供了一種適用于多種加密標(biāo)準(zhǔn)的智能卡及其認(rèn)證方法。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種適用于多種加密標(biāo)準(zhǔn)的智能卡及其認(rèn)證方法,該智能卡及其認(rèn)證方法能夠在保證安全性的前提下,提高智能卡在多種加密標(biāo)準(zhǔn)下的通用性。
本發(fā)明的一種適用于多種加密標(biāo)準(zhǔn)的智能卡的認(rèn)證方法包含以下步驟a、智能卡產(chǎn)生一個(gè)隨機(jī)數(shù),所述隨機(jī)數(shù)與智能卡本身所具有的識(shí)別碼(UID)、密鑰,以及讀卡機(jī)產(chǎn)生的隨機(jī)數(shù)按照n種不同的加密算法進(jìn)行加密,分別獲得n個(gè)具有不同加密標(biāo)準(zhǔn)的加密流,其中n是大于1的正整數(shù);b、智能卡將步驟a中所獲得的n個(gè)具有不同加密標(biāo)準(zhǔn)的加密流分別與讀卡機(jī)的加密流進(jìn)行比較,獲得n個(gè)判斷標(biāo)志;c、根據(jù)步驟b中獲得的n個(gè)判斷標(biāo)志,智能卡判斷認(rèn)證是否成功,若成功,則智能卡從步驟a獲得的n個(gè)具有不同加密標(biāo)準(zhǔn)的加密流中選擇與所述讀卡機(jī)的加密標(biāo)準(zhǔn)對(duì)應(yīng)的加密流作為本次操作過(guò)程中的加密流,若失敗,智能卡結(jié)束操作。
其中,步驟a中的密鑰指的是智能卡本身所具有的針對(duì)需要訪問(wèn)的存儲(chǔ)器的特定密鑰。步驟b中的讀卡機(jī)的加密流是由讀卡機(jī)按照相應(yīng)加密算法對(duì)其自身產(chǎn)生的隨機(jī)數(shù),智能卡產(chǎn)生的隨機(jī)數(shù),以及智能卡本身所具有的識(shí)別碼和密鑰進(jìn)行加密后獲得的。
步驟b進(jìn)一步包含以下步驟b1、當(dāng)智能卡獲得的加密流與讀卡機(jī)的加密流相同時(shí),智能卡獲得的判斷標(biāo)志為“成功”;b2、當(dāng)智能卡獲得的加密流與讀卡機(jī)的加密流不相同時(shí),智能卡獲得的判斷標(biāo)志為“失敗”。
步驟c進(jìn)一步包含以下步驟c1、當(dāng)判斷標(biāo)志中有“成功”標(biāo)志時(shí),智能卡認(rèn)證成功,智能卡選擇具有所述“成功”判斷標(biāo)志的加密流作為本次操作過(guò)程中的加密流;c2、當(dāng)判斷標(biāo)志中全為“失敗”標(biāo)志時(shí),智能卡認(rèn)證失敗。
本發(fā)明的一種適用于多種加密標(biāo)準(zhǔn)的智能卡包含模擬接口模塊、邏輯控制模塊,加密模塊以及存儲(chǔ)器,邏輯控制單模塊分別與模擬接口模塊、加密模塊以及存儲(chǔ)器連接在一起,其中加密模塊進(jìn)一步包含隨機(jī)數(shù)產(chǎn)生模塊,用于隨機(jī)產(chǎn)生一個(gè)隨機(jī)數(shù);n個(gè)加密算法模塊,分別與隨機(jī)數(shù)產(chǎn)生模塊連接在一起,且每個(gè)加密算法模塊中都含有一種不同的加密算法,用于將隨機(jī)數(shù)產(chǎn)生模塊產(chǎn)生的隨機(jī)數(shù)與智能卡本身所具有的識(shí)別碼(UID)、密鑰,以及讀卡機(jī)產(chǎn)生的隨機(jī)數(shù)按照n種不同的加密算法進(jìn)行加密,獲得n個(gè)具有不同加密標(biāo)準(zhǔn)的加密流,其中n是大于1的正整數(shù);n個(gè)判斷電路模塊,分別與n個(gè)加密算法模塊對(duì)應(yīng),并連接在一起,用于將由n個(gè)加密算法模塊獲得的n個(gè)具有不同加密標(biāo)準(zhǔn)的加密流分別與讀卡機(jī)的加密流進(jìn)行比較,獲得n個(gè)判斷標(biāo)志;一個(gè)認(rèn)證判斷和加密流選擇模塊,與n個(gè)判斷電路模塊分別連接在一起,用于根據(jù)n個(gè)判斷電路模塊中分別獲得的n個(gè)判斷標(biāo)志,判斷認(rèn)證是否成功,并在認(rèn)證成功的情況下,選擇與讀卡機(jī)的加密標(biāo)準(zhǔn)對(duì)應(yīng)的加密流作為本次操作過(guò)程中的加密流。
本發(fā)明的一種適用于多種加密標(biāo)準(zhǔn)的智能卡及其認(rèn)證方法,使得同一個(gè)非接觸或接觸式智能卡可以和使用不同加密標(biāo)準(zhǔn)的電子設(shè)備之間進(jìn)行識(shí)別和數(shù)據(jù)交換,而不必針對(duì)每個(gè)標(biāo)準(zhǔn)使用不同標(biāo)準(zhǔn)的非接觸或接觸式智能卡,而且本發(fā)明同時(shí)可以大大降低生產(chǎn)和維護(hù)多個(gè)不同標(biāo)準(zhǔn)的電子設(shè)備的工作和成本。
圖1是現(xiàn)有的支持一種加密標(biāo)準(zhǔn)的非接觸智能卡的電路結(jié)構(gòu)框圖;圖2是圖1所示的非接觸智能卡的加密模塊的電路結(jié)構(gòu)框圖;圖3是本發(fā)明的適用于多種加密標(biāo)準(zhǔn)的非接觸智能卡的電路結(jié)構(gòu)框圖;圖4是圖3所示的非接觸智能卡的加密模塊的電路結(jié)構(gòu)框圖;
圖5是圖3所示的非接觸智能卡的認(rèn)證判斷和加密流選擇模塊的電路結(jié)構(gòu)圖。
具體實(shí)施例方式
下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步的說(shuō)明。
圖3顯示的是本發(fā)明的適用于多種加密標(biāo)準(zhǔn)的非接觸智能卡的電路結(jié)構(gòu)框圖。圖4顯示的是圖3所示的非接觸智能卡的加密模塊的電路結(jié)構(gòu)框圖。如圖3所示,本發(fā)明的適用于多種加密標(biāo)準(zhǔn)的非接觸智能卡3包含一個(gè)模擬接口模塊31,一個(gè)邏輯控制模塊32,一個(gè)加密模塊33以及一個(gè)存儲(chǔ)器34,邏輯控制模塊32分別與模擬接口模塊31、加密模塊33以及存儲(chǔ)器34連接在一起。
其中,模擬接口模塊31在整個(gè)非接觸智能卡3中主要用于實(shí)現(xiàn)非接觸智能卡3與讀卡機(jī)之間的信息交換,并從讀卡機(jī)中獲取運(yùn)行該非接觸智能卡3所需的電源能量,它是非接觸智能卡3與讀卡機(jī)進(jìn)行通信的主要接口設(shè)備;邏輯控制模塊32主要用于根據(jù)實(shí)際需要執(zhí)行各種操作指令,使非接觸智能卡3能夠在指令控制下實(shí)現(xiàn)各種操作,這些操作指令是讀卡機(jī)與非接觸智能卡3之間預(yù)先就約定好的;存儲(chǔ)器34主要用于存儲(chǔ)非接觸智能卡3在操作的過(guò)程中產(chǎn)生的各種信息和數(shù)據(jù);加密模塊33是本發(fā)明的核心,它主要用于實(shí)現(xiàn)非接觸智能卡3與讀卡機(jī)之間的認(rèn)證過(guò)程,判斷非接觸智能卡3與讀卡機(jī)之間是否合法,并產(chǎn)生一個(gè)保證讀卡機(jī)與非接觸智能卡3之間通信安全的加密流。
現(xiàn)以兩種加密標(biāo)準(zhǔn)為例進(jìn)行說(shuō)明,如圖3所示,加密模塊33進(jìn)一步包含一個(gè)隨機(jī)數(shù)產(chǎn)生模塊331,兩個(gè)加密算法模塊332、333,即加密算法1模塊332和加密算法2模塊333,兩個(gè)判斷電路模塊334、335,即判斷電路1模塊334和判斷電路2模塊335,以及一個(gè)認(rèn)證判斷和加密流選擇模塊336。
其中,隨機(jī)數(shù)產(chǎn)生模塊331主要用于產(chǎn)生一個(gè)隨機(jī)數(shù),并將產(chǎn)生的隨機(jī)數(shù)同時(shí)傳送給加密算法1模塊332和加密算法2模塊333;兩個(gè)加密算法模塊332、333,即加密算法1模塊332和加密算法2模塊333,分別與隨機(jī)數(shù)產(chǎn)生模塊331連接在一起,其中加密算法1模塊332中具有加密算法1,而加密算法2模塊333中具有加密算法2,加密算法1和加密算法2是兩種不同的加密算法。結(jié)合圖4所示,加密算法1模塊332用于按照加密算法1對(duì)輸入的由隨機(jī)數(shù)產(chǎn)生模塊331產(chǎn)生的隨機(jī)數(shù),智能卡本身所具有的識(shí)別碼(UID)、密鑰,以及讀卡機(jī)產(chǎn)生的隨機(jī)數(shù)進(jìn)行加密,獲得具有加密標(biāo)準(zhǔn)1的加密流,并將該加密流傳送給判斷電路1模塊334和認(rèn)證判斷和加密流選擇模塊336;同理,加密算法2模塊333用于按照加密算法2對(duì)輸入的由隨機(jī)數(shù)產(chǎn)生模塊331產(chǎn)生的隨機(jī)數(shù),智能卡本身所具有的識(shí)別碼(UID)、密鑰,以及讀卡機(jī)產(chǎn)生的隨機(jī)數(shù)進(jìn)行加密,獲得具有加密標(biāo)準(zhǔn)2的加密流,并將該加密流傳送給判斷電路2模塊335和認(rèn)證判斷和加密流選擇模塊336。
兩個(gè)判斷電路模塊334、335,即判斷電路1模塊334和判斷電路2模塊335,由于判斷電路模塊中的比較電路與加密算法模塊中的加密算法是相互對(duì)應(yīng)并相互匹配的,因此兩個(gè)判斷電路模塊334、335分別與兩個(gè)加密算法模塊332、333對(duì)應(yīng)連接在一起,即判斷電路1模塊334與加密算法1模塊332連接,而判斷電路2模塊335與加密算法2模塊333連接。判斷電路1模塊334用于將輸入的由加密算法1模塊332獲得的具有加密標(biāo)準(zhǔn)1的加密流與讀卡機(jī)的加密流進(jìn)行比較,獲得判斷標(biāo)志1,并將該判斷標(biāo)志1傳送給認(rèn)證判斷和加密流選擇模塊336;同理,判斷電路2模塊335用于將輸入的由加密算法2模塊333獲得的具有加密標(biāo)準(zhǔn)2的加密流與讀卡機(jī)的加密流進(jìn)行比較,獲得判斷標(biāo)志2,并將該判斷標(biāo)志2傳送給認(rèn)證判斷和加密流選擇模塊336認(rèn)證判斷和加密流選擇模塊336,與判斷電路1模塊334和判斷電路2模塊335分別連接在一起。用于根據(jù)判斷電路1模塊334中獲得的判斷標(biāo)志1和判斷電路2模塊335中獲得的判斷標(biāo)志2,判斷認(rèn)證是否成功,并在認(rèn)證成功的情況下,從輸入的具有加密標(biāo)準(zhǔn)1的加密流和具有加密標(biāo)準(zhǔn)2的加密流中,選擇與讀卡機(jī)的加密標(biāo)準(zhǔn)對(duì)應(yīng)的加密流作為本次操作中的加密流。
在對(duì)智能卡進(jìn)行合法操作之前,特別是對(duì)非接觸智能卡3進(jìn)行合法操作之前,出于安全上的考慮,必須通過(guò)認(rèn)證的方式來(lái)確保非接觸智能卡3與讀卡機(jī)之間的合法性。
圖4顯示的是圖3所示的非接觸智能卡3中的加密模塊33的電路結(jié)構(gòu)框圖。如圖4所示,在認(rèn)證的過(guò)程中,加密模塊33會(huì)把(UID,Unique Identification)和針對(duì)需要訪問(wèn)的存儲(chǔ)器34的特定的密鑰來(lái)作為認(rèn)證過(guò)程的起始數(shù)據(jù)。通常對(duì)存儲(chǔ)器34的不同區(qū)域,非接觸智能卡3可設(shè)定多套密鑰,而且,在存儲(chǔ)器34的同一個(gè)區(qū)域內(nèi),非接觸智能卡3也可以支持不同權(quán)限的兩種密鑰。同時(shí),如圖4所示,在認(rèn)證的過(guò)程中,還需要兩個(gè)隨機(jī)數(shù)作為認(rèn)證過(guò)程的起始數(shù)據(jù),其中一個(gè)隨機(jī)數(shù)是由非接觸智能卡3自身所產(chǎn)生,即由加密模塊33的隨機(jī)數(shù)產(chǎn)生模塊331產(chǎn)生,而另一個(gè)隨機(jī)數(shù)則是由讀卡機(jī)產(chǎn)生。加入這兩個(gè)隨機(jī)數(shù)的主要目的是為了使讀卡機(jī)與非接觸智能卡3之間的每次認(rèn)證過(guò)程都不一樣。
如圖4所示,加密算法1模塊332對(duì)輸入的隨機(jī)數(shù)產(chǎn)生模塊331產(chǎn)生的隨機(jī)數(shù)、非接觸智能卡3本身所具有的識(shí)別碼(UID)和密鑰,以及讀卡機(jī)產(chǎn)生的隨機(jī)數(shù)按照加密算法1進(jìn)行加密,獲得具有加密標(biāo)準(zhǔn)1的加密流,并將得到的具有加密標(biāo)準(zhǔn)1的加密流輸入到判斷電路1模塊334和認(rèn)證判斷和加密流選擇模塊336中。判斷電路1模塊334將輸入的具有加密標(biāo)準(zhǔn)1的加密流與讀卡機(jī)的加密流進(jìn)行比較,當(dāng)具有加密標(biāo)準(zhǔn)1的加密流與讀卡機(jī)的加密流相同時(shí),非接觸智能卡3獲得的判斷標(biāo)志1為“成功”;當(dāng)具有加密標(biāo)準(zhǔn)1的加密流與讀卡機(jī)的加密流不相同時(shí),非接觸智能卡3獲得的判斷標(biāo)志1為“失敗”。接著,判斷電路1模塊334將得到的判斷標(biāo)志1輸入到認(rèn)證判斷和加密流選擇模塊336中。其中讀卡機(jī)的加密流是讀卡機(jī)按照其與非接觸智能卡3都遵循但保密的加密算法,對(duì)讀卡機(jī)自身產(chǎn)生的隨機(jī)數(shù)與非接觸智能卡3產(chǎn)生的隨機(jī)數(shù),以及非接觸智能卡3具有的識(shí)別碼(UID)和密鑰進(jìn)行加密后產(chǎn)生的加密流。非接觸智能卡3產(chǎn)生的隨機(jī)數(shù)是加密模塊33經(jīng)由邏輯控制模塊32傳送到模擬接口模塊31中,由模擬接口模塊31傳送給讀卡機(jī)的。
同理,加密算法2模塊333對(duì)輸入的隨機(jī)數(shù)產(chǎn)生模塊331產(chǎn)生的隨機(jī)數(shù),與非接觸智能卡3本身所具有的識(shí)別碼(UID)和密鑰,以及讀卡機(jī)產(chǎn)生的隨機(jī)數(shù)按照加密算法2進(jìn)行加密,獲得具有加密標(biāo)準(zhǔn)2的加密流,并將得到的具有加密標(biāo)準(zhǔn)2的加密流輸入到判斷電路2模塊335和認(rèn)證判斷和加密流選擇模塊336中。判斷電路2模塊335將輸入的具有加密標(biāo)準(zhǔn)2的加密流與讀卡機(jī)的加密流進(jìn)行比較,當(dāng)具有加密標(biāo)準(zhǔn)2的加密流與讀卡機(jī)的加密流相同時(shí),非接觸智能卡3獲得的判斷標(biāo)志2為“成功”;當(dāng)具有加密標(biāo)準(zhǔn)2的加密流與讀卡機(jī)的加密流不相同時(shí),非接觸智能卡3獲得的判斷標(biāo)志2為“失敗”。接著,判斷電路2模塊335將得到的判斷標(biāo)志1輸入到認(rèn)證判斷和加密流選擇模塊336中。
圖5顯示的是圖3所示的非接觸智能卡3的認(rèn)證判斷和加密流選擇模塊336的電路結(jié)構(gòu)圖。如圖5所示,認(rèn)證判斷和加密流選擇模塊336根據(jù)由判斷電路1模塊334和判斷電路2模塊335分別輸入的判斷標(biāo)志1和判斷標(biāo)志2,由或門3361判斷認(rèn)證是否成功,若認(rèn)證成功,則認(rèn)證判斷和加密流選擇模塊336中的選擇器3362從輸入的具有加密標(biāo)準(zhǔn)1的加密流和具有加密標(biāo)準(zhǔn)2的加密流中,選擇與讀卡機(jī)的對(duì)應(yīng)的加密流作為非接觸智能卡3在本次操作過(guò)程中保證與讀卡機(jī)之間安全通信的加密流;若認(rèn)證失敗,則非接觸智能卡3結(jié)束操作。即,當(dāng)判斷標(biāo)志中有“成功”標(biāo)志時(shí),則表示認(rèn)證成功,非接觸智能卡3選擇具有該“成功”判斷標(biāo)志的加密流作為本次操作過(guò)程中的加密流;當(dāng)判斷標(biāo)志中全為“失敗”標(biāo)志時(shí),則表示認(rèn)證失敗,非接觸智能卡3結(jié)束操作。因此我們可以用下表來(lái)表示
能夠?qū)崿F(xiàn)認(rèn)證判斷和加密流選擇模塊336的功能的電路結(jié)構(gòu)有很多,在本實(shí)施例中,圖5顯示的僅是實(shí)現(xiàn)本發(fā)明的認(rèn)證判斷和加密流選擇模塊336的功能的其中一個(gè)具體實(shí)例,因此本發(fā)明并不局限于該實(shí)例。
綜上所述,本發(fā)明的一種適用于多種加密標(biāo)準(zhǔn)的智能卡的認(rèn)證方法包含以下步驟a、智能卡產(chǎn)生一個(gè)隨機(jī)數(shù),該隨機(jī)數(shù)與智能卡本身所具有的識(shí)別碼(UID)、密鑰,以及讀卡機(jī)產(chǎn)生的隨機(jī)數(shù)按照n種不同的加密算法進(jìn)行加密,分別獲得n個(gè)具有不同加密標(biāo)準(zhǔn)的加密流,其中n是大于1的正整數(shù);b、智能卡將步驟a中所獲得的n個(gè)具有不同加密標(biāo)準(zhǔn)的加密流分別與讀卡機(jī)的加密流進(jìn)行比較,獲得n個(gè)判斷標(biāo)志;c、根據(jù)步驟b中獲得的n個(gè)判斷標(biāo)志,智能卡判斷認(rèn)證是否成功,若成功,則智能卡從步驟a獲得的n個(gè)具有不同加密標(biāo)準(zhǔn)的加密流中選擇與讀卡機(jī)的加密標(biāo)準(zhǔn)對(duì)應(yīng)的加密流作為本次操作過(guò)程中的加密流,若失敗,智能卡結(jié)束操作。
其中,步驟b進(jìn)一步包含以下步驟b1、當(dāng)智能卡獲得的加密流與讀卡機(jī)的加密流相同時(shí),智能卡獲得的判斷標(biāo)志為“成功”;b2、當(dāng)智能卡獲得的加密流與讀卡機(jī)的加密流不相同時(shí),智能卡獲得的判斷標(biāo)志為“失敗”。
步驟c進(jìn)一步包含以下步驟c1、當(dāng)判斷標(biāo)志中有“成功”標(biāo)志時(shí),智能卡認(rèn)證成功,智能卡選擇具有所述“成功”判斷標(biāo)志的加密流作為本次操作過(guò)程中的加密流;c2、當(dāng)判斷標(biāo)志中全為“失敗”標(biāo)志時(shí),智能卡認(rèn)證失敗。
本發(fā)明的一種適用于多種加密標(biāo)準(zhǔn)的智能卡包含模擬接口模塊31、邏輯控制模塊32,加密模塊33以及存儲(chǔ)器34,邏輯控制單模塊32分別與模擬接口模塊31、加密模塊33以及存儲(chǔ)器34連接在一起,其中加密模塊33進(jìn)一步包含隨機(jī)數(shù)產(chǎn)生模塊331,用于產(chǎn)生一個(gè)隨機(jī)數(shù);
n個(gè)加密算法模塊,分別與所述隨機(jī)數(shù)產(chǎn)生模塊331連接在一起,且每個(gè)加密算法模塊中都含有一種不同的加密算法,分別用于將隨機(jī)數(shù)產(chǎn)生模塊331產(chǎn)生的隨機(jī)數(shù)與智能卡本身所具有的識(shí)別碼(UID)、密鑰,以及讀卡機(jī)產(chǎn)生的隨機(jī)數(shù)按照n種不同的加密算法進(jìn)行加密,獲得n個(gè)具有不同加密標(biāo)準(zhǔn)的加密流,其中n是大于1的正整數(shù);n個(gè)判斷電路模塊,分別與n個(gè)加密算法模塊對(duì)應(yīng)并連接在一起,用于將由n個(gè)加密算法模塊獲得的n個(gè)具有不同加密標(biāo)準(zhǔn)的加密流分別與讀卡機(jī)的加密流進(jìn)行比較,獲得n個(gè)判斷標(biāo)志;認(rèn)證判斷和加密流選擇模塊,與n個(gè)判斷電路模塊分別連接在一起,用于根據(jù)n個(gè)判斷電路模塊獲得的n個(gè)判斷標(biāo)志,判斷認(rèn)證是否成功,并在認(rèn)證成功的情況下,選擇與讀卡機(jī)的加密標(biāo)準(zhǔn)對(duì)應(yīng)的加密流作為本次操作過(guò)程中的加密流。
本發(fā)明在0.6um CMOS的工藝上采用如圖3所示的本發(fā)明的適用于多種加密標(biāo)準(zhǔn)的非接觸智能卡的電路結(jié)構(gòu)框圖,實(shí)現(xiàn)了自適應(yīng)支持兩種或兩種以上的加密標(biāo)準(zhǔn)的非接觸智能卡芯片,得到了很好的效果。
在本實(shí)施例中,本發(fā)明以非接觸智能卡為例,但本發(fā)明并不局限于非接觸智能卡,也可使用到接觸智能卡上,同樣,在實(shí)施例中,本發(fā)明僅以兩種加密算法為例,但本發(fā)明并不局限于兩種加密算法,可以是三種、四種或更多。
雖然經(jīng)過(guò)對(duì)本發(fā)明結(jié)合具體實(shí)施例進(jìn)行描述,對(duì)于在本技術(shù)領(lǐng)域熟練的人士,根據(jù)上文的敘述作出的許多替代、修改與變化將是顯而易見的。因此,當(dāng)這樣的替代、修改和變化落入附后的權(quán)利要求的精神和范圍之內(nèi)時(shí),應(yīng)該被包括在本發(fā)明中。
權(quán)利要求
1.一種適用于多種加密標(biāo)準(zhǔn)的智能卡的認(rèn)證方法,其特征在于,所述方法包含以下步驟a、智能卡產(chǎn)生一個(gè)隨機(jī)數(shù),所述隨機(jī)數(shù)與智能卡本身所具有的識(shí)別碼(UID)、密鑰,以及讀卡機(jī)產(chǎn)生的隨機(jī)數(shù)按照n種不同的加密算法進(jìn)行加密,分別獲得n個(gè)具有不同加密標(biāo)準(zhǔn)的加密流,其中n是大于1的正整數(shù);b、智能卡將步驟a中所獲得的n個(gè)具有不同加密標(biāo)準(zhǔn)的加密流分別與所述讀卡機(jī)的加密流進(jìn)行比較,獲得n個(gè)判斷標(biāo)志;c、根據(jù)步驟b中獲得的n個(gè)判斷標(biāo)志,智能卡判斷認(rèn)證是否成功,若成功,則智能卡從步驟a獲得的n個(gè)具有不同加密標(biāo)準(zhǔn)的加密流中選擇與所述讀卡機(jī)的加密標(biāo)準(zhǔn)對(duì)應(yīng)的加密流作為本次操作過(guò)程中的加密流,若失敗,智能卡結(jié)束操作。
2.如權(quán)利要求1所述的方法,其進(jìn)一步特征在于,所述步驟a中的密鑰指的是智能卡本身所具有的針對(duì)需要訪問(wèn)的存儲(chǔ)器的特定密鑰。
3.如權(quán)利要求1所述的方法,其進(jìn)一步特征在于,所述步驟b中的讀卡機(jī)的加密流是由讀卡機(jī)按照相應(yīng)加密算法對(duì)其自身產(chǎn)生的隨機(jī)數(shù)、智能卡產(chǎn)生的隨機(jī)數(shù),以及智能卡本身所具有的識(shí)別碼和密鑰進(jìn)行加密后獲得的。
4.如權(quán)利要求1所述的方法,其進(jìn)一步特征在于,所述步驟b進(jìn)一步包含以下步驟b1、當(dāng)智能卡獲得的加密流與讀卡機(jī)的加密流相同時(shí),智能卡獲得的判斷標(biāo)志為“成功”;b2、當(dāng)智能卡獲得的加密流與讀卡機(jī)的加密流不相同時(shí),智能卡獲得的判斷標(biāo)志為“失敗”。
5.如權(quán)利要求4所述的方法,其進(jìn)一步特征在于,所述步驟c進(jìn)一步包含以下步驟c1、當(dāng)判斷標(biāo)志中有“成功”標(biāo)志時(shí),智能卡認(rèn)證成功,智能卡選擇具有所述“成功”判斷標(biāo)志的加密流作為本次操作過(guò)程中的加密流;c2、當(dāng)判斷標(biāo)志中全為“失敗”標(biāo)志時(shí),智能卡認(rèn)證失敗。
6.如權(quán)利要求1~5中任一權(quán)利要求所述的方法,其進(jìn)一步特征在于,所述智能卡是非接觸智能卡。
7.一種適用于多種加密標(biāo)準(zhǔn)的智能卡,所述智能卡包含模擬接口模塊、邏輯控制模塊,加密模塊以及存儲(chǔ)器,所述邏輯控制單模塊分別與所述模擬接口模塊、加密模塊以及存儲(chǔ)器連接在一起,其特征在于,所述加密模塊進(jìn)一步包含隨機(jī)數(shù)產(chǎn)生模塊,用于產(chǎn)生一個(gè)隨機(jī)數(shù);n個(gè)加密算法模塊,分別與所述隨機(jī)數(shù)產(chǎn)生模塊連接在一起,且每個(gè)加密算法模塊中都含有一種不同的加密算法,用于將所述隨機(jī)數(shù)產(chǎn)生模塊產(chǎn)生的隨機(jī)數(shù)與智能卡本身所具有的識(shí)別碼(UID)、密鑰,以及讀卡機(jī)產(chǎn)生的隨機(jī)數(shù)按照n種不同的加密算法進(jìn)行加密,獲得n個(gè)具有不同加密標(biāo)準(zhǔn)的加密流,其中n是大于1的正整數(shù);n個(gè)判斷電路模塊,分別與所述n個(gè)加密算法模塊對(duì)應(yīng),并連接在一起,用于將由所述n個(gè)加密算法模塊獲得的n個(gè)具有不同加密標(biāo)準(zhǔn)的加密流分別與所述讀卡機(jī)的加密流進(jìn)行比較,獲得n個(gè)判斷標(biāo)志;認(rèn)證判斷和加密流選擇模塊,與所述n個(gè)判斷電路模塊分別連接在一起,用于根據(jù)所述n個(gè)判斷電路模塊獲得的n個(gè)判斷標(biāo)志,判斷認(rèn)證是否成功,并在認(rèn)證成功的情況下,選擇與所述讀卡機(jī)的加密標(biāo)準(zhǔn)對(duì)應(yīng)的加密流作為本次操作過(guò)程中的加密流。
8.如權(quán)利要求7所述的智能卡,其進(jìn)一步特征在于,所述密鑰指的是智能卡本身所具有的針對(duì)需要訪問(wèn)的存儲(chǔ)器的特定密鑰。
9.如權(quán)利要求7~8中任一權(quán)利要求所述的智能卡,其進(jìn)一步特征在于,所述智能卡是非接觸智能卡。
全文摘要
本發(fā)明提供了一種適用于多種加密標(biāo)準(zhǔn)的智能卡及其認(rèn)證方法,該智能卡及其認(rèn)證方法能夠在保證安全性的前提下,使得同一個(gè)非接觸或接觸式智能卡可以和使用不同加密標(biāo)準(zhǔn)的電子設(shè)備之間進(jìn)行識(shí)別和數(shù)據(jù)交換,而不必針對(duì)每個(gè)標(biāo)準(zhǔn)使用不同標(biāo)準(zhǔn)的非接觸或接觸式智能卡,提高智能卡在多種加密標(biāo)準(zhǔn)下的通用性,而且本發(fā)明可以同時(shí)大大降低生產(chǎn)和維護(hù)多個(gè)不同標(biāo)準(zhǔn)的電子設(shè)備的工作和成本。
文檔編號(hào)H04L9/14GK1625099SQ20031010908
公開日2005年6月8日 申請(qǐng)日期2003年12月4日 優(yōu)先權(quán)日2003年12月4日
發(fā)明者張綱 申請(qǐng)人:上海復(fù)旦微電子股份有限公司