本發明專利技術實施例提供一種智能卡數據存、取過程中的校驗方法及智能卡,涉及智能卡領域,能夠防止非易失性存儲器中存、取數據過程中,數據失真或無效的問題。該方法包括:對要存儲到非易失性存儲器中的第一數據進行校驗計算,得到第一校驗值;將所述第一數據和第一校驗值存儲到所述非易失性存儲器中;從所述非易失性存儲器中讀取出所述第一數據和第一校驗值,根據所述校驗方法,以及所述第一數據、第一校驗值確定該第一數據是否合法。本發明專利技術實施例用于智能卡的應用。
【技術實現步驟摘要】
本專利技術涉及智能卡領域,尤其涉及一種智能卡數據存、取過程中的校驗方法及智能卡。
技術介紹
目前,對智能卡數據完整性的保護和驗證主要集中在卡外實體和卡片的數據通信過程中,即線路保護。在通信過程中,卡外實體用通信雙方事先協商好的密鑰對要傳輸的數據計算一個MAC (消息驗證碼)值,然后將數據本身和MAC值一起通過APDU (應用協議數據單元)的命令格式傳遞給卡片??ㄆ诮邮胀瓿芍?,用同一密鑰對數據進行MAC計算,之后和卡外實體計算的MAC值進行比較,如果一致,則證明數據在傳遞過程中沒有被篡改,否則認為數據已被篡改,返回數據錯誤狀態字給卡外實體。現有技術標準和規范保證了數據在傳輸過程中的完整性,能夠防止數據在線路上被篡改??ㄆ诮邮盏綌祿?,會首先將數據存儲在易失性存儲器(例如RAM)中,以便于運算和驗證,然后再將數據寫入非易失性存儲器Gf^BEEPROM)中;下次程序使用該數據時,會直接從非易失性存儲器中讀取該數據到易失性存儲器中,此處稱前述過程為非易失性存儲器中存、取數據的過程。專利技術人發現數據在向非易失性存儲器中寫入,或從非易失性存儲器中讀取的過程中,若因某種不可知因素導致數據被篡改或者失效,則無法保證數據的真實性和有效性, 這樣非易失性存儲器存、取過程中,數據就有可能失真或無效,讀取到的數據就可能是非法數據,使用非法數據將會給使用該數據的卡片使用者或發卡方帶來風險,造成使用上的損失。
技術實現思路
本專利技術實施例提供一種智能卡數據存、取過程中的校驗方法及智能卡,能夠防止非易失性存儲器中存、取數據過程中,數據失真或無效的問題。為達到上述目的,本專利技術的實施例采用如下技術方案—種智能卡數據存、取過程中的校驗方法,包括對要存儲到非易失性存儲器中的第一數據進行校驗計算,得到第一校驗值;將所述第一數據和第一校驗值存儲到所述非易失性存儲器中;從所述非易失性存儲器中讀取出所述第一數據和第一校驗值,根據所述校驗方法,以及所述第一數據、第一校驗值確定該第一數據是否合法。一種智能卡,包括校驗單元,用于對要存儲到非易失性存儲器中的第一數據進行校驗計算,得到第一校驗值;存儲單元,用于將所述第一數據和第一校驗值存儲到所述非易失性存儲器中;讀取單元,用于從所述非易失性存儲器中讀取出所述第一數據和第一校驗值;判斷單元,用于根據所述校驗方法,以及所述第一數據、第一校驗值確定該第一數據是否合法。本專利技術實施例提供的智能卡數據存、取過程中的校驗方法及智能卡,對要存儲到非易失性存儲器中的數據進行校驗計算,得到校驗值;將該數據和校驗值存儲到非易失性存儲器中;從非易失性存儲器中讀取出該數據和校驗值,根據上述校驗方法、數據、校驗值確定該數據是否合法。這樣,通過增加數據向非易失性存儲器的存、取過程中的校驗,有效降低了從非易失性存儲器中讀取到非法數據的可能,從而保證了讀取到的數據的有效性和真實性,防止了因數據非法所導致的用戶使用上的損失。 附圖說明為了更清楚地說明本專利技術實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本專利技術的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。圖1為本專利技術實施例提供的智能卡數據存、取過程中的校驗方法的流程框圖;圖2為本專利技術另一實施例提供的智能卡數據存、取過程中的校驗方法的流程框圖;圖3為本專利技術又一實施例提供的智能卡數據存、取過程中的校驗方法的流程框圖;圖4為本專利技術實施例提供的智能卡的結構框圖;圖5為本專利技術實施例提供的智能卡的另一結構框圖;圖6為本專利技術實施例提供的智能卡的又一結構框圖;圖7為本專利技術實施例提供的智能卡的再一結構框圖。具體實施例方式下面將結合本專利技術實施例中的附圖,對本專利技術實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本專利技術一部分實施例,而不是全部的實施例?;诒緦@夹g中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本專利技術保護的范圍。本專利技術實施例提供的智能卡數據存、取過程中的校驗方法,如圖1所示,該方法步驟包括S101、對要存儲到非易失性存儲器中的第一數據進行校驗計算,得到第一校驗值。具體的,本步驟可以由卡外實體進行,即卡外實體對要存儲到智能卡非易失性存儲器中的第一數據進行經校驗計算,得到第一校驗值,再將該第一數據和第一校驗值發送給智能卡。也可以由卡內的CPU進行,此時智能卡從卡外實體接收到要存儲到非易失性存儲器中的第一數據后,對該第一數據進行校驗計算,得到第一校驗值。具體的校驗方法,本專利技術實施例不做限制,任何現有的可用于智能卡的校驗方法均可,可以根據安全等級自由選擇。例如異或校驗、循環冗余檢驗等,或者是在卡內存儲一個密鑰(該密鑰可以和數據在卡內外傳輸時使用的密鑰相關,也可以不相關)對該數據進行MAC計算,得到校驗值等等。S102、將第一數據和第一校驗值存儲到非易失性存儲器中。S103、從非易失性存儲器中讀取出第一數據和第一校驗值,根據校驗方法,以及第一數據、第一校驗值確定該第一數據是否合法。具體的,對于確定從非易失性存儲器中讀取的第一數據書否合法,可以有兩種判斷方式一種是,利用上述步驟SlOl采用的校驗方法對從非易失性存儲器中讀取的第一數據進行檢驗計算,得到第二校驗值。若該第二校驗值與從非易失性存儲器中讀取的第一校驗值相等,則確定該第一數據合法。另一種是,利用上述步驟SlOl采用的校驗方法的反校驗方法對從非易失性存儲器中讀取的第一校驗值進行反校驗計算,得到第二數據。若該第二數據與從非易失性存儲器中讀取的第一數據相等,則確定該第一數據合法。當然,本專利技術實施例所用的上述判斷方法只是舉例,本專利技術實施例并不限于此,其他的利用數據和校驗值的判斷數據是否合法的方法也可以。本專利技術實施例提供的智能卡數據存、取過程中的校驗方法,對要存儲到非易失性存儲器中的數據進行校驗計算,得到校驗值;將該數據和校驗值存儲到非易失性存儲器中; 從非易失性存儲器中讀取出該數據和校驗值,根據上述校驗方法、數據、校驗值確定該數據是否合法。這樣,通過增加數據向非易失性存儲器的存、取過程中的校驗,有效降低了從非易失性存儲器中讀取到非法數據的可能,從而保證了讀取到的數據的有效性和真實性,防止了因數據非法所導致的用戶使用上的損失。本專利技術另一實施例提供的智能卡數據存、取過程中的校驗方法,非易失性存儲器以EEPR0M(電可擦可編程只讀存儲器)為例,進行校驗計算處理的主體假設是智能卡的 CPU,所采用的校驗方法為用密鑰進行MAC計算。其方法步驟如圖2所示,包括S201、智能卡接收卡外實體發送的要存儲到智能卡非易失性存儲器中的第一數據。S202、智能卡的CPU利用卡內存儲的密鑰,對該第一數據進行MAC計算,得到第一校驗值。S203、智能卡將該第一數據和第一校驗值存入EEPROM中。S204、智能卡從EEPROM中讀取該第一數據和第一校驗值。S205、智能卡的CPU利用上述卡內存儲的密鑰對該第一數據再次進行如步驟S202 的MAC計算,得到第二校驗值。S206、智能卡判斷第二校驗值和第一校驗值是否相等,若二者相等則執行步驟 S207,若二者不相等則執行步驟S208。S207、智能卡本文檔來自技高網...
【技術保護點】
1.一種智能卡數據存、取過程中的校驗方法,其特征在于,包括:對要存儲到非易失性存儲器中的第一數據進行校驗計算,得到第一校驗值;將所述第一數據和第一校驗值存儲到所述非易失性存儲器中;從所述非易失性存儲器中讀取出所述第一數據和第一校驗值,根據所述校驗方法,以及所述第一數據、第一校驗值確定該第一數據是否合法。
【技術特征摘要】
【專利技術屬性】
技術研發人員:虞濤,羅迎,
申請(專利權)人:北京握奇數據系統有限公司,
類型:發明
國別省市:11
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。