一種增強卡安全的方法
2023-05-29 13:25:56 2
專利名稱:一種增強卡安全的方法
技術領域:
本發明屬於信息安全領域。本發明涉及的是一種增強卡安全的方法。具體地說, 涉及一種在卡中用公開密碼的方法提高安全性的方法。
背景技術:
校園卡及電子錢包卡的應用越來越普及,一般電子錢包使用IS014443無線射頻的標準和協議。射頻只不過是射頻卡與讀卡終端之間的通訊接口。在校園卡的電子錢包的應用方案中,核心的問題是採用對稱密碼進行卡與讀卡終端的相互認證,即對稱密碼三次認證。認證的目的是認證雙方確認擁有相同的密鑰,如果密鑰相同或認證通過後,就可以使用該雙方共有的密鑰進行秘密通訊。目前一般校園卡的電子錢包的實現方式是,根據不同卡的全球唯一 ID號,發卡機構選擇加密散列函數HX及HZ作為發卡機構的電子錢包的減值(消費)函數及電子錢包的增值函數。在新的CPU卡中,一般選擇DES (或3DES)作為HX及HZ,當然還是需要減值(消費)密鑰SX及增值密鑰SZ才能把DES變成加密散列函數HX及HZ。例如,發卡機構對一張新發行的卡,首先讀取卡的ID,然後計算DE^(ID)作為減值(消費)密鑰,計算DE^(ID)作為增值密鑰。消費使用時,讀卡器讀取卡的ID號,然後用發卡時相同的函數計算出DESsx (ID),並與卡中的減值(消費)密鑰進行對稱密碼認證,相同表明該卡是發卡機構所發行。密碼認證後,可以進行電子錢包的支付,然後相應減少電子錢包中的儲值。充值時,讀卡器讀取卡的ID號,然後用與發卡時相同的函數計算出DE^(ID), 並與卡中的增值密鑰進行對稱密碼認證,相同表明該卡是發卡機構所發行。密碼認證後,可以增加電子錢包中的儲值。這樣每張卡,由於卡號(ID)的不同,密鑰也不同。就是業內稱為的一卡一密。從以上的說明中,可以看出對加密散列函數HX及HZ(或密鑰SX及SZ)的保密是系統安全的關鍵。Mifare加密算法的破解,使大家對加密系統只依賴密鑰的保護有了更深刻的認識。但是在上面電子錢包的應用方法中,可以看出減值(消費)函數HX必須出現在消費終端中(或終端的PSAM卡上),但是該函數的洩密不會造成電子錢包系統的崩潰,原因是知道消費密鑰只能進行卡的扣款。對用戶而言得到商品和服務才會進行相應的扣款。不會發生沒有提供商品或服務就進行用戶扣款的操作,如果使用新ID偽造卡進行扣值,不會從發卡機構得到真實的資金並被發現;如果用已發行卡ID進行偽造,將通過交易記錄能夠發現非法獲得交易記錄的終端,這同樣容易被追蹤發現,造假者得不到經濟上的利益。黑名單也是防止完全複製卡攻擊的有效手段。但是增值密鑰HZ(ID)的丟失,特別是增值函數HZ的洩露,將引發嚴重的安全問題,這使得可以偽造電子錢包的金額,並在得到商品和服務後,並沒有真實的資金支付。雖然可以採用黑名單的方法阻止偽造卡的繼續使用,但是偽造卡的行為可以不斷進行,必將造成商家與發卡機構的矛盾。解決的方法只能是實時在線進行支付,這又把電子錢包最主要的快速使用和脫機使用的好處給廢棄了。i不有一個辦法是, 用另夕卜的力D密算法及密鑰X寸好_〖Φ__1ρΜ傭·。隨龍械雜·胃絲,·雕成卡_ 規痛ail^m稍,傾臓碗■伺·Φ。目前的電子錢包,包括CPU卡電子錢包及IS014443協議,沒有使用公開密碼學的思想來提高系統的安全性。沒有提供當PSAM卡及SAM卡被完全破解後,即減值函數HX及增值函數HZ洩密後,整個系統面臨崩潰的問題。
發明內容
現在,電子錢包的安全性受到攻擊,Mifare卡被破解更是在全世界引起很大的重視。攻擊者可以讀取卡片中的所有信息,複製進行偽造,這可以用黑名單解決。但是,並且如果發卡的密碼函數HX及HZ被洩露,那攻擊者就可以偽造卡,黑名單方法將無能為力。而存放HZ函數的SAM模塊的充值終端,特別是存放HX函數的SAM(PSAM)模塊的消費終端的普及,增加了 HZ及HX的洩露風險。就是在目前認為安全的CPU卡的密鑰管理方案中,同樣有發卡的密碼函數HX及HZ洩密後系統崩潰的風險。所以必須解決這個問題。我們可以用公開密碼學的思想來增強現有系統的安全性。所以,一種增強卡安全性的方法,它包括發卡階段,將卡標識數據進行數字籤名,並存儲於卡的數據區中;使用階段,讀取卡標識數據及卡標識數據的數字籤名;比較他們的一致性,相同時確認為系統內的卡,繼續進行工作;否則不是系統內的卡,停止工作。更好地,卡的識別數據包括卡的ID號或(和)卡的用戶信息或(和)發卡機構信肩、^^ ο進一步,籤名算法具有加密功能。還可以,籤名數據中還包括其他區域或/和文件的密鑰數據。以上的卡標識數據,就是不同卡之間相區別的數據,如卡的序列號(卡號)、發卡人、持卡人。總之,就是任意兩個不同的卡,相同數據區域組成的不同數據。顯然,該卡還可以應用於電子存摺的安全。即可以用這種辦法保護系統發行存摺卡。更方便地,卡位於其他手持設備中,即卡可以放到手機、IPAD等行動裝置中。
下面參照附圖描繪本發明,其中圖1表示優選實施例3的示意具體實施例方式[實施例1]卡籤名本發明第一種實施方式中,一個應用系統為了識別卡,一般在卡中都會利用一個標識,例如Mifare S50卡有一個全球唯一的序列號。當然應用系統的發卡,還需要寫入個人信息、發卡單位信息、發卡時間等信息。這些信息也都可以作為標識數據,稱為ID,即區別該卡與其他卡的數據。系統選用非對稱加密算法RSA及密鑰對(Si,S2);將ID進行籤名RSAsi(ID),並存儲於卡的數據區域中。終端使用時,首先讀出該卡的標識ID及存儲在卡中的ID籤名 RSAsi(ID),終端計算RSAs2(RSAsi (ID))得到ID,並與讀到的標識數據ID進行比較。一致時終端就可以確認該卡的有效性。經過這樣的處理,當攻擊者攻擊消費終端或充值終端,得到電子錢包或一卡通系統的消費函數HX或增值函數HZ後,也不可能偽造卡。因為籤名數據RSAsi(ID)被私鑰Sl 所保護。由公開密鑰的思想,攻擊者就是徹底破解終端及SAM模塊可以得到的是消費函數 HX、增值函數HZ、RSA及S2,也不能偽造其他ID的卡,因為攻擊者還是不能計算RSAsi (ID)。 需要說明的是RSA及S2也不公開,只不過出與保存在發卡公司中的Sl相比,S2保存在安全性相對低的PSAM及SAM卡中。這樣可以提高黑名單保護機制的安全性和有效性。下面,結合電子錢包,進一步敘述這種技術方案。[實施例2]本發明的核心是採用將減值密鑰(消費密鑰)存儲到電子錢包中,進一步再提供對減值(消費密鑰)的保護得方法。在使用電子錢包時根據信用收款和非信用收款分別進行不同操作。根據本發明第二種實施方式,一種增強電子錢包安全的方法,我們可以使用 Mifare S50卡來進行說明。每張Mifare S50卡有一個全球唯一的ID號及16個存儲區,編號為0 15。每個存儲區有兩個密碼增值密碼和減值密碼。當減值密碼認證通過後可以對存儲區的數據進行減值操作,當增值密碼驗證通過後可以對存儲區的數據進行增值操作。使用Mifare卡的電子錢包系統,這裡有增值函數HX、減值函數HZ、增強函數ZQ、電子錢包標識ID、非對稱加密算法RSA及密鑰對(Si,S2)、用戶PIN碼。我們選擇卡的區域1 作為電子錢包中餘額的存儲區域。卡的區域2為存儲減值密鑰的區域。這樣,增值密碼為HZ(ID);消費密碼為HX(ID);增強密碼為ZQ(ID);計算 RSAsi (ID, HX(ID))並與PIN碼一起存儲於由增強密碼ZQ(ID)保護的區域中。終端上有非對稱加密算法RSA、密鑰S2及增強密碼函數ZQ。使用時,用戶輸入PIN 碼;終端讀出電子錢包的標識ID號,並計算出ZQ(ID);用ZQ(ID)與區域2進行認證,通過後讀取 RSAsi (ID,HX(ID))及 PIN 碼,計算 RSAs2 (RSAsi (ID,HX (ID)))得到 ID 及 HX (ID)和 PIN 碼,PIN碼驗證通過,並且該ID與卡的ID—致後,使用HX(ID)與區域1進行認證,通過後進行相應的扣款工作。RSA算法、密鑰S2及ZQ可以存儲在終端上的PSAM卡上。該實施例中的ID,也可以是卡標識數據,而不僅僅是序列號。以下實施例中的ID 不加說明,也是如此。對於CPU卡,它管理數據的方式是文件。文件也可以設置密鑰保護,也可以是增值密碼和減值密碼。總之,把實施例中的區域換成文件,基本就可以用於CPU卡的描述。核心問題或安全模型就是,對於卡中的一組數據(稱為區域或文件),可以用增值碼、 減值密碼及讀寫密碼加以保護,該實施例的核心就是把這些密碼及PIN碼存儲在卡的其他數據區並用另外的密碼加以保護。另外,存儲的PIN碼應該是散列後的數據,以增加PIN碼的安全,術語是「加鹽」。為了敘述方便,對PIN碼的保護就不詳細描述了。[實施例3]籤名+PSAM根據本發明第三種實施方式,一種增強卡安全的方法所關聯的系統如圖1所示。 這是一種發明者認為比較好的實施例。卡片系統的發行者確定增值函數HX、減值函數HZ、增強函數ZQ142、非對稱加密算法RSA141及密鑰對(Si,S2)、用戶PIN碼。選擇區域31作為電子錢包中餘額的存儲區域。區域32為存儲減值密鑰的區域。發卡階段,根據消費者的申請進行卡片的個人化,在卡上存儲必要的其他信息;並確定區域31為電子錢包的餘額存放區域。讀取卡片的標識ID,計算增值密碼HZ(ID)、減值密碼HX(ID)為區域的31的保護密鑰,存放於錢包區域密鑰區311 ;增強密碼ZQ(ID)為存儲區域32的保護密鑰,存放於存儲區域32密鑰區321 ;計算RSAsi (ID,HX(ID))並與PIN碼一起存儲於由增強密碼ZQ(ID)保護的存儲區域32中。終端1上的SAM卡中,儲存有RSA算法及S2即RSA引擎141、ZQ函數142。終端1上的SAM模塊14中,有非對稱加密算法RSA及密鑰S2及增強密碼函數ZQ。 使用時,終端1獲得金額及用戶輸入PIN碼後,終端1讀出電子錢包3的標識ID號,傳送到終端1並傳送到SAM模塊14 ;SAM模塊14計算出ZQ(ID) ;SAM模塊14用ZQ(ID)與存儲區域32通過終端1及連接2根據存儲在存儲區域32密鑰區321存儲的密鑰進行認證,通過後讀取存儲在存儲區域32中的RSAsi (ID,HX(ID)),然後用SAM模塊14中的RSA引擎141 計算RSAs2 (RSAsi (ID,HX(ID)))得到ID及HX(ID)和PIN碼,PIN碼驗證通過,比較該ID與卡的ID —致後,使用HX(ID)與錢包區域31通過終端1及連接2根據錢包區域密鑰區311 存儲的密鑰進行認證,通過後進行相應的扣款工作。顯然所有出現在終端1及連接2上的數據可以都經過加密處理。特別聲明在實施例中使用的是RSA來代表非對稱加密算法,並不代表只能使用 RSA算法。只是要求該非對稱加密算法有兩個不同的密鑰,即加密密鑰Sl與解密密鑰S2 ; 知道解密密鑰很難獲得加密密鑰。解密密鑰一般把加密密鑰Sl稱成為秘密密鑰,解密密鑰 S2稱為公開密鑰,或者相反稱Sl為公開密鑰,S2為秘密密鑰。但是在本發明中,我們使用 Sl做籤名之用,同時還可以利用它的加密功能。S2存儲於消費終端中,它的作用就是驗證該卡的ID是否被Sl籤名,這樣可以防止偽造卡重複使用已經籤過名的ID卡,對於出了問題的ID卡可以通過黑名單解決。同時利用Sl的加密功能,還可以保證ID號和對應於該ID 號的消費密鑰的安全。S2 一般稱為公開密鑰,但在本發明中並不是要公開該密鑰;甚至應該把算法RSA 及解密密鑰S2都放置在讀寫終端的PSAM卡中,以保證安全。以上用實施例來說明本發明的方法和系統。但是本發明並不完全限定用於電子錢包,特別是不限制於射頻卡介質的電子錢包。也可以不是電子錢包,而是是電子存摺。儘管在以上的實施例中對本發明進行了描述,但可以理解,以上實施例的描述是說明性和描述性的,而非限制性的。本領域的熟練技術人員可以理解,在不脫離由權利要求書定義的本發明的精神和範圍的前提下,可做出各種變形、改進、修改和替換。權利要求書說明了本發明的保護範圍。
權利要求
1.一種增強卡安全性的方法,它包括發卡階段,將卡標識數據進行數字籤名,並存儲於卡的數據區中; 使用階段,讀取卡識別數據及卡識別數據的數字籤名;比較數據的一致性,相同時確認為系統內的卡,繼續進行工作,否則不是系統內的卡,停止工作。
2.根據權利要求1的方法,其特徵在於卡的識別數據包括卡的ID號或(和)卡的用戶信息或(和)發卡機構信息。
3.根據權利要求1的方法,其特徵在於籤名算法具有加密功能。
4.根據權利要求1或(和)2的方法,其特徵在於籤名數據中還包括其他區域(或/ 和)文件的密鑰數據。
5.根據權利要求4的方法,其特徵在於卡可以用於電子存摺。
6.根據權利要求4的方法,其特徵在於位於其他手持設備中。
全文摘要
本發明的目的是提出在電子錢包中增強安全性技術方案,它採用在電子錢包中存儲卡標識數據的數字籤名來實現,這樣攻擊者即使獲得系統關鍵函數HX及HZ,也不能偽造卡。
文檔編號H04L9/32GK102546163SQ20101057856
公開日2012年7月4日 申請日期2010年12月8日 優先權日2010年12月8日
發明者邵通 申請人:邵通