專利名稱:非接觸式智能卡數(shù)據(jù)加密方法
技術領域:
本發(fā)明涉及一種非接觸式智能卡數(shù)據(jù)加密方法,特別是涉及一種對加密認證功能較弱的非接觸式智能卡中數(shù)據(jù)進行加密的方法。
背景技術:
隨著智能卡技術的不斷推廣,為了滿足不同的使用需求,非接觸式智能卡的種類也越來越豐富。
在各類實際應用,有一類目前方興未艾的應用,例如倉儲和物流管理、商品標簽等,其特點是整體需要存儲的數(shù)據(jù)量較少,應用過程中可能會有多個不同的操作環(huán)節(jié)需要寫入不同的數(shù)據(jù)。為了控制其他操作環(huán)節(jié)對本操作環(huán)節(jié)寫入數(shù)據(jù)的讀取和改寫權限,希望各個操作環(huán)節(jié)寫入的數(shù)據(jù)都必須是該操作環(huán)節(jié)自身所能識別的加密數(shù)據(jù)。同時由于這類應用中使用的非接觸式智能卡往往都屬于一次性使用,例如用作損耗商品的標簽,因此對應用成本又有著極高的要求。
在目前所能見到的各種非接觸式智能卡產(chǎn)品中,具有對卡內(nèi)各個數(shù)據(jù)區(qū)分別進行加密認證功能的非接觸式智能卡可以滿足前面所述的應用場合要求。例如具有三重認證功能的非接觸式智能卡,但是這類卡普遍容量較大、價格較高,在現(xiàn)實中是倉儲和物流管理、商品標簽等應用所無法承受的。
在非接觸式智能卡中,還有一類容量較小,結(jié)構較為簡單,同時加密認證功能也較弱,但價格最為低廉的非接觸式智能卡。這類卡的特點是其部分或全部數(shù)據(jù)區(qū)可以不經(jīng)認證直接讀取,而且僅有一個或根本沒有認證密鑰,使用該密鑰或者無需密鑰就可以認證整張卡,并對各個數(shù)據(jù)區(qū)進行讀取或改寫。如果把這類卡用在上述的倉儲和物流管理、商品標簽等應用中,雖然能很好地匹配容量和結(jié)構要求,達到低成本的目的,但由于卡內(nèi)的部分或全部數(shù)據(jù)可以任意讀取,只要讀出原始卡內(nèi)的所有數(shù)據(jù)并復制到已知密鑰或無需密鑰的同類卡中就可以很容易的造假。而且由于只有唯一一個或根本沒有認證密鑰,使用過程中的各操作環(huán)節(jié)在通過認證后,除了可以改寫允許本環(huán)節(jié)改寫的數(shù)據(jù)區(qū)外,還可以任意讀取和改寫其他環(huán)節(jié)寫入在其它區(qū)域的數(shù)據(jù),必然會帶來的極大的不安全性,并最終導致應用的混亂和造假情況的出現(xiàn)。
因此,需要提出一種適于倉儲和物流管理、商品標簽等場合應用的需要非接觸式智能卡數(shù)據(jù)加密的方法。
發(fā)明內(nèi)容
本發(fā)明要解決的技術問題是提供一種非接觸式智能卡數(shù)據(jù)加密方法,它具有一定的數(shù)據(jù)加密功能,保證數(shù)據(jù)的安全,防止偽造,而且成本低。
為解決上述技術問題,本發(fā)明非接觸式智能卡數(shù)據(jù)加密方法包括如下步驟,首先讀取并保存所述非接觸式智能卡的序列號,然后判斷該卡片是否有認證密鑰,如果有認證密鑰,則將該認證密鑰僅向參與操作的所有環(huán)節(jié)公開,否則直接進行下面的操作;使用所述序列號和各控制環(huán)節(jié)獨立控制的加密方法,對要寫入的數(shù)據(jù)進行加密,最后再把加密后的數(shù)據(jù)存放到該卡中指定的數(shù)據(jù)區(qū)中。
當需要讀取非接觸式智能卡中各環(huán)節(jié)可以操作的數(shù)據(jù)區(qū)數(shù)據(jù)時,首先讀取并保存所述非接觸式智能卡的序列號,然后讀取各相應操作環(huán)節(jié)的數(shù)據(jù);使用與各相應操作環(huán)節(jié)加密方法相對應的解密方法,解出原始數(shù)據(jù);如果無法解密數(shù)據(jù),則數(shù)據(jù)區(qū)已被非法改寫,停止操作;如果可以解密數(shù)據(jù),則判斷數(shù)據(jù)中所包含的序列號,是否與所述的保存的序列號相匹配,如果不匹配,則該卡為復制卡,停止操作;如果匹配,則保存解出的數(shù)據(jù)。
由于采用上述方法,可使價格低廉,但加密功能較弱的非接觸式智能卡具有一定的數(shù)據(jù)加密功能,卡中分配給各個環(huán)節(jié)的數(shù)據(jù)區(qū)內(nèi)的數(shù)據(jù)都與卡片有一一對應的關系,即與非接觸式智能卡的序列號相對應。而且數(shù)據(jù)僅能被各相應操作環(huán)節(jié)識別,使其既可以發(fā)揮結(jié)構簡單、容量小,價格低廉的優(yōu)勢,又可以保證卡內(nèi)數(shù)據(jù)的安全性、防止偽造,滿足倉儲和物流管理、商品標簽等場合的應用,有利于非接觸式智能卡在各種領域中得到更為廣泛的應用。
下面結(jié)合附圖和具體實施方式
對本發(fā)明作進一步詳細的說明圖1是非接觸式智能卡卡內(nèi)數(shù)據(jù)區(qū)分配示意圖;圖2是本發(fā)明非接觸式智能卡數(shù)據(jù)加密方法中加密并寫入數(shù)據(jù)操作流程圖;圖3是本發(fā)明非接觸式智能卡數(shù)據(jù)加密方法中讀出并解密數(shù)據(jù)操作流程圖。
具體實施例方式
本發(fā)明所述的數(shù)據(jù)加密方法適用于容量較小、結(jié)構簡單、價格低廉、加密功能較弱的非接觸式智能卡。使存放在卡內(nèi)各個數(shù)據(jù)區(qū)中的數(shù)據(jù)具有相互獨立且與卡序列號唯一關聯(lián)的加密特性。以便于這類非接觸式智能卡能夠使用具有在整體需要存儲的數(shù)據(jù)量較少,應用成本要求高,使用過程中有多個不同的環(huán)節(jié)需要在各自分配到的數(shù)據(jù)區(qū)寫入數(shù)據(jù),但不允許各環(huán)節(jié)識別或改寫屬于其他環(huán)節(jié)的數(shù)據(jù)區(qū)中的數(shù)據(jù)等特點的應用中。同時,無法通過讀出并完全復制卡內(nèi)數(shù)據(jù)的方法來制造假卡。
如圖1所示,非接觸式智能卡內(nèi)對應各個不同的操作環(huán)節(jié)設有多個不同的數(shù)據(jù)區(qū),用于存儲各環(huán)節(jié)進行操作的相應數(shù)據(jù)。其中,UID Data為卡序列號數(shù)據(jù)區(qū),Data 1為分配給環(huán)節(jié)1使用的數(shù)據(jù)區(qū),Data 2為分配給環(huán)節(jié)2使用的數(shù)據(jù)區(qū),Data 3為分配給環(huán)節(jié)3使用的數(shù)據(jù)區(qū),Data n為分配給環(huán)節(jié)n使用的數(shù)據(jù)區(qū)。序列號數(shù)據(jù)區(qū)包含了制造商代碼、批號、序號等信息,該數(shù)據(jù)具有唯一性,在卡片出廠時已經(jīng)固化,無法修改,且無需權限可以直接讀取。
如圖2所示,在加密存儲數(shù)據(jù)過程中,首先讀取并保存所述非接觸式智能卡的序列號,然后判斷該卡片是否有認證密鑰,如果有認證密鑰,則將該認證密鑰僅向參與操作的所有環(huán)節(jié)公開,獲得寫的權限,這樣可以使不被允許操作卡片的環(huán)節(jié)或其他人無法對該卡進行改寫操作;如果沒有認證密鑰則直接進行下面的操作;使用所述序列號和僅有本環(huán)節(jié)知道的加密方法對需要寫入的數(shù)據(jù)進行加密并存入數(shù)據(jù)區(qū)。這樣,加密后的數(shù)據(jù)與卡有唯一的對應關系,且僅有本環(huán)節(jié)知道如何解密識別數(shù)據(jù)。
本發(fā)明將卡片的序列號放入數(shù)據(jù)加密過程,使得加密后存放在卡內(nèi)的數(shù)據(jù)與該卡有唯一的對應關系。這樣,即使有人把該卡內(nèi)的數(shù)據(jù)完全復制到另一張同類卡中,由于復制卡的序列號與原始卡不可能相同,卡內(nèi)被復制的數(shù)據(jù)在復制卡中也將是無效數(shù)據(jù)。使用卡序列號和僅有本環(huán)節(jié)知道的某種加密方法對需要寫入的數(shù)據(jù)進行加密,可以保證僅有本環(huán)節(jié)可以識別存放的數(shù)據(jù)內(nèi)容,即使其他環(huán)節(jié)或有人想識別或改寫本環(huán)節(jié)數(shù)據(jù)區(qū)的內(nèi)容,雖然可以獲得序列號,但也會由于不知道本環(huán)節(jié)所采用的加密方法,而無法識別數(shù)據(jù)或改寫成非法的數(shù)據(jù)。
參見圖3,在解密識別數(shù)據(jù)過程中,首先讀取并保存所述非接觸式智能卡的序列號,然后讀取各相應操作環(huán)節(jié)的數(shù)據(jù);使用與各相應操作環(huán)節(jié)加密方法相對應的解密方法,解出原始數(shù)據(jù);如果無法解密識別數(shù)據(jù),則可以判斷數(shù)據(jù)區(qū)已被非法改寫,停止操作;如果可以解密數(shù)據(jù),則判斷數(shù)據(jù)中所包含的序列號是否與所述保存的序列號相匹配,如果不匹配,則可以判斷該卡為無效的復制卡,停止操作;如果匹配,則保存解出的數(shù)據(jù)。
采用本發(fā)明的方法,由于卡的序列號具有唯一性和不可修改性,且所使用的加/解密方法僅有本環(huán)節(jié)知道,可以很容易的發(fā)現(xiàn)復制卡中與序列號不匹配的無效數(shù)據(jù)和被其他環(huán)節(jié)改寫的非法數(shù)據(jù)。
權利要求
1.一種非接觸式智能卡數(shù)據(jù)加密方法,其特征在于包括如下步驟,首先讀取并保存所述非接觸式智能卡的序列號,然后判斷該卡片是否有認證密鑰,如果有認證密鑰,則將該認證密鑰僅向參與操作的所有環(huán)節(jié)公開,否則直接進行下面的操作;使用所述序列號和各控制環(huán)節(jié)獨立控制的加密方法,對要寫入的數(shù)據(jù)進行加密,最后再把加密后的數(shù)據(jù)存放到該卡中指定的數(shù)據(jù)區(qū)中。
2.如權利要求1所述的非接觸式智能卡數(shù)據(jù)加密方法,其特征在于在數(shù)據(jù)解密讀取過程中,根據(jù)讀出的數(shù)據(jù)是否能正常解密判斷數(shù)據(jù)區(qū)是否被非法改寫。
3.如權利要求1或2所述的非接觸式智能卡數(shù)據(jù)加密方法,其特征在于在數(shù)據(jù)解密讀取過程中,根據(jù)解密后數(shù)據(jù)中的序列號是否與卡匹配判斷該卡是否為非法的復制卡。
4.如權利要求3所述的非接觸式智能卡數(shù)據(jù)加密方法,其特征在于所述非接觸式智能卡的序列號包含制造商代碼、批號、序號。
5.如權利要求3所述的非接觸式智能卡數(shù)據(jù)加密方法,其特征在于各操作環(huán)節(jié)所使用的數(shù)據(jù)加/解密方法只有本環(huán)節(jié)知道,不對其他環(huán)節(jié)開放。
6.如權利要求1或2所述的非接觸式智能卡數(shù)據(jù)加密方法,其特征在于所述非接觸式智能卡的序列號包含制造商代碼、批號、序號。
7.如權利要求1或2所述的非接觸式智能卡數(shù)據(jù)加密方法,其特征在于各操作環(huán)節(jié)所使用的數(shù)據(jù)加/解密方法只有本環(huán)節(jié)知道,不對其他環(huán)節(jié)開放。
全文摘要
本發(fā)明公開了一種非接觸式智能卡數(shù)據(jù)加密方法,如果卡有寫認證密鑰,則只對將參與操作的所有操作環(huán)節(jié)公開。在存儲數(shù)據(jù)時,使用各卡的序列號和各環(huán)節(jié)獨立控制的加密方法對數(shù)據(jù)進行加密后再存儲;在讀取數(shù)據(jù)時,根據(jù)數(shù)據(jù)是否能正常解密和解密出的序列號是否與卡匹配來判斷數(shù)據(jù)是否被非法改寫和是否是復制卡。本發(fā)明具有一定的數(shù)據(jù)加密功能,保證數(shù)據(jù)的安全,防止偽造,而且成本低。適用于倉儲和物流管理、商品標簽等場合應用。
文檔編號G06F12/14GK1971472SQ200510110700
公開日2007年5月30日 申請日期2005年11月24日 優(yōu)先權日2005年11月24日
發(fā)明者許國泰 申請人:上海華虹集成電路有限責任公司