專利名稱:用于智能水表的ic卡模塊的安全認證方法
技術領域:
本發明涉及一種安全認證方法,尤其涉及用于智能水表的安全認證方法,屬于水表信息安全領域。
背景技術:
IC卡是集成電路卡(Integrated Circuit Card)的簡稱,是鑲嵌集成電路芯片的塑料卡片,其外形和尺寸都遵循國際標準(IS0),一般采用不易揮發性的存儲器(ROM、EEPR0M、FLASH)、保護邏輯電路、部分帶有微處理器CPU。這種卡片通常分為下述幾種1.非加密存儲器卡卡內的集成電路芯片主要是EEPR0M,具有數據存儲功能,不具有數據處理功能和硬件加密功能;2.邏輯加密存儲器卡在非加密存儲器卡的基礎上增加 了加密邏輯電路,加密邏輯電路通過校驗密碼方式來保護卡內的數據對于外部訪問是否開放,但只是低層次的安全保護,無法防范惡意性的攻擊。近年來興起的帶有CPU的IC卡稱為智能卡或CPU卡,CPU卡內的集成電路中帶有微處理器CPU、存儲單元(包括隨機存儲器RAM、程序存儲器ROM (FLASH)、用戶數據存儲器EEPR0M)以及芯片操作系統C0S,裝有COS的CPU卡相當于微型計算機,不僅具有數據存儲功能,同時具有命令處理和數據安全保護等功能,因此可適用于金融、保險、交警、政府行業等多個領域,具有用戶空間大、讀取速度快、支持一卡多用等特點,其可用性已經通過中國人民銀行和國家商秘委的認證。針對計量水表行業,在水表及系統中,IC卡是數據存儲和傳遞的載體,因此IC卡的數據存儲安全性是需要著重予以考慮的。現有的卡表按照使用卡的不同,主要分兩種類型1.普通IC卡智能水表采用普通的IC卡(存儲卡、邏輯加密卡)作為水表與管理系統數據的存儲和傳輸載體的智能水表稱之為普通IC卡智能水表;2. CPU卡智能水表采用CPU卡作為水表與管理系統數據的存儲和傳輸載體的智能水表稱之為CPU卡智能水表。二者的區別在于1.使用方面CPU卡是一種具有微處理芯片的IC卡,可執行加密運算和其它操作,存儲容量較大,能應用于不同的系統;存儲卡或者邏輯加密卡是一種單一的存儲卡,內部有只讀存儲器,存儲容量比CPU卡小,在用途方面沒有擴展性;2.安全方面邏輯加密卡具有防止對卡中信息隨意改寫功能的存儲IC卡,當對加密卡進行操作時必須首先核對卡中密碼,只有核對正確,卡中送出一串正確的應答信號時,才能對卡進行正確的操作,但由于只進行一次認證,且無其它的安全保護措施,容易導致密碼的泄露和偽卡的產生,安全性能很低。CPU卡中由于具有微處理機和IC卡操作系統(C0S),當CPU卡進行操作時,可進行加密和解密算法(算法和密碼都不易破解),用戶和IC卡系統之間需要進行多次的相互密碼認證(且速度極快),提高了系統的安全性能,對于防止偽卡的產生有很好的效果;3.成本方面CPU卡的成本高,存儲卡或者邏輯加密卡成本低。目前已有的CPU卡智能水表都采用了在表具端安裝安全芯片(ESAM),來和CPU卡進行交互認證,保證信息安全,但是這樣帶來的結果是成本增加很多,不易推廣應用。
發明內容
針對現有技術的缺陷,本發明公開了一種用于智能水表的IC卡模塊的安全認證方法,通過充分利用CPU卡本身的運算能力和認證方法的改進,保證了滿足信息安全的要求;同時避免了使用ESAM安全芯片,有效降低了生產成本。為了更清楚的說明本發明的技術方案,本發明首先對技術方案中涉及到的名詞進行初步的解釋在本發明中涉及到的各種卡片都是由發卡系統發行的,即用于制造卡片、賦予卡片各種信息的卡片管理系統,類似于公交卡、銀行卡等發卡系統,不僅需要制造卡片還會在卡片生成時通過寫卡器向卡片中寫入需要的數據,在本發明中,通過發卡系統發行母卡、PSAM卡、密鑰卡、用戶卡,其中母卡由系統管理者輸入密碼生成相關密鑰作為第一級密鑰,其他的卡則由母卡中的密鑰來生成下一級密鑰,例如PSAM卡應用主控、密鑰卡應用主控、用戶卡應用主控上所用的用戶卡外部認證密鑰、用戶卡 內部認證密鑰、應用信息保護寫密鑰、返寫信息保護寫密鑰等,盡管這些密鑰對本發明中卡片的管理具有重要作用,但是制備卡片、賦予密鑰的技術是在多種專用卡片中所常見的,本發明并不具體限定采用特定的方案。具體到本發明中,各種卡片的發行可以采用下述過程實現母卡發行根據發卡系統管理者輸入的密碼,經過一系列運算產生母卡中的各種密鑰;其他卡片發行在讀卡器中插入母卡發行各種卡片,其中PSAM卡中保存著用戶卡和密鑰卡的各種密鑰,在系統管理軟件中,做購水和修改密鑰操作時必須用PSAM卡;密鑰卡(密鑰修改卡和密鑰恢復卡)、PSAM卡用母卡來發行,用戶卡用普通卡來發行,其他管理卡可以用用戶卡來發行。所有卡都有自己獨立的卡號,卡號一次性寫入不可以更改,方便管理和統計卡片的流向。在本發明中,PSAM卡是指這樣一種IC卡,由發卡系統的母卡發行,并且存儲除母卡外的其他卡片的各種密鑰,與已有的應用于智能水表中的IC卡相比,其要實現的功能是類似的,但是不使用專門的ESAM卡,而是采用本發明所限定的安全認證方法保證信息的安全。在本發明中,用戶卡是指這樣一種IC卡,由水表銷售時提供給終端用戶,可以用來購水、存儲購水量、購稅次數等數據。本發明實現發明目的是通過如下技術方案實現的用于智能水表的IC卡的安全認證方法,包括水表表具、用戶卡、PSAM卡,用戶卡、PSAM卡均由發卡系統制成,所述認證方法包括兩種認證流程用戶卡和PSAM卡之間的認證流程和用戶卡和水表表具之間的認證流程,其中所述用戶卡和PSAM卡之間的認證流程包括如下步驟(I)用戶卡和PSAM卡之間的外部認證使用戶卡獲得相應的操作;(2)水表表具對用戶卡購水信息文件的校驗;(3)水表表具對用戶卡返寫信息文件操作,該操作過程在用戶卡和水表表具之間的認證流程成功后進行。為了保證信息的安全性,用戶卡和PSAM卡之間的認證流程是采用3DES算法加密的,即二者之間的卡片信息交換通訊都是經過3DES算法加密的,這種加密是由IC卡上的微處理器完成的,而不需要使用單獨的ESAM芯片,充分利用了現代微處理器具有的強大數據運算能力。
其中步驟(I)的用戶卡和PSAM卡之間的外部認證通過下述過程完成1)用戶卡片讀取隨機數;2)PSAM卡根據用戶卡片卡號產生過程密鑰;3)PSAM卡利用過程密鑰加密隨機數獲得密文;4)用戶卡片利用以上密文完成外部認證過程,獲得相應的操作權限。其中步驟(2)水表表具對用戶卡購水信息文件的校驗通過下述過程完成1)水表表具讀取用戶卡的購水信息文件,通過起始碼,結束碼判斷數據的完整性;2)水表表具檢查用戶卡上的戶號、表號的匹配性;3)從用戶卡的購水信息文件讀取信息,用戶卡同時為該信息提供MAC碼;4) PSAM卡在內部用指定的密鑰對傳入的MAC進行校驗,如果MAC校驗成功,ESAM再在內部檢驗購水次數,如果購水次數檢驗成功,ESAM將購水信息寫入相應的文件中,任意一個檢驗不成功,提示錯誤信息。其中,用戶卡和水表表具之間的認證流程包括下述過程 1)表具向卡發送取隨機數命令并取出隨機數;2)表具根據存儲的密鑰種子和取出的隨機數進行加密運算,得出密文密鑰;3)將密文密鑰給用戶卡進行PIN碼認證,用戶卡得到密文后解密與用戶卡存儲的密鑰相比對,相同則進行下一步操作。其中,步驟(3)通過下述過程完成1)水表表具從用戶卡中獲取隨機數;2)由水表表具內部存儲的密鑰產PIN碼,對用戶卡發送返寫認證指令;3)用戶卡認證通過后,將信息寫入指定文件供系統分析管理,否則提示錯誤。為了便于實現卡片中數據的規范化,在本發明中卡片中數據的存儲采用下述方式采用不定長格式存放在存儲芯片中,卡片進行數據交換時采用數據串的形式進行
起始命令I長度I數據校驗結束起始為數據串的開始標識。命令不同的命令標示與IC卡水表進行數據交換的流程不同,決定了數據串中數據的長度長度為數據串中數據區的長度數據字節數不定,為數據項的組合,組合方式與命令有關。校驗為命令、長度、數據三部分的累加和去除高字節自然溢出后得到,為HEX碼。結束代表數據串結束。對數據串是否有效的判別依據為起始、結束字節必須正確;長度與數據區字節數必須相等;校驗必須正確。卡片中存放的數據項則包括表號水表唯一性的編號,在發卡系統中表號與終端用戶的戶號存在對應關系。區域號設于表具中,插表必須先核對區域號。可以采用母卡發行的區域號相同的清零卡清除區域號,發行的特定的區域號為“BDFE”的清零卡作為總清零卡可以對所有區域
號清零。顯示報警量提醒用戶及時購水的標志,當水表中剩余水量小于等于報警水量時,水表給予用戶液晶顯示提示。關閥報警量提醒用戶及時購水的標志,當水表中剩余水量小于等于報警水量時,水表給予用戶關閥報警提示,需要用戶插卡開閥。
限購量允許水表存儲水量的最大值。購買次數記錄自開戶之日起用戶在系統中完成購買交易的總次數。購買水量用戶預先購買的水量。密鑰應用區數據加密的結果。累計購量記錄自開戶之日起用戶在系統中完成購買交易的總量。剩余量用戶表內的寫卡時的剩余量。累計用量用戶表內的累計用水量。過零量剩余量到零后閥門未關閉,用戶透支的量。水表狀態字對水表運行狀態的描述標志。7位閘的好壞,I —壞;0 —好5位表是否設置過,I 一未設置;0 —已設置4位表是否開戶,I 一未開戶;0 -已開戶在特定情況下還可以存放子表設置字出廠前由設置卡設入表中,規定該表的子表號,可設置8種表,相應的可以設置子表識別字供開戶卡、用戶卡和退購卡指明該表號針對的子表號。具體到具體的卡的類別,用戶卡內存儲的數據的格式為數據串起始碼命令碼-長度-卡號-校驗碼-結束碼;存儲的密匙包括主控密鑰、購買外部認證密鑰、系統內部認證密鑰、購水信息文件保護寫密鑰、購水信息文件保護讀密鑰、返寫信息文件保護寫密鑰;其中所述主控密鑰用于修改其他密鑰和實現與PSAM卡的外部認證,所述購水外部認證密鑰用于系統對用戶卡進行認證,獲得更改購水信息文件的權限;所述系統內部認證密鑰用于系統及水表對用戶卡進行認證,確定其身份;購水信息文件保護寫密鑰用于校驗寫購水信息文件的MAC ;購水信息文件保護讀密鑰為讀購水信息提供MAC ;返寫信息文件保護寫密鑰用于對用戶卡進行認證,獲得更改返寫信息文件的權限。進一步的,還包括密鑰修改卡、密鑰恢復卡(統稱為密鑰卡),用于對用戶卡存儲的密鑰進行修改,通過下述過程進行1)密鑰修改卡與密鑰恢復卡在使用時先經過返寫信息PIN碼認證,判斷用戶卡是否為系統內發行的卡片;2)水表表具讀取密鑰信息文件,通過起始碼、結束碼和密鑰來判斷數據的完整性;3)逐條將要修改的密鑰寫入用戶卡中。如上所述,PASM卡中存儲用戶卡和密鑰修改卡、密鑰恢復卡的所有密鑰。在下述表格中,申請人提供了用于本發明方案的其他卡片,及其作用用于本發明的常見CPU卡類型
權利要求
1.用于智能水表的IC卡的安全認證方法,包括水表表具、用戶卡、PSAM卡,用戶卡、PSAM卡均由發卡系統制成,其特征在于所述認證方法包括兩種認證流程用戶卡和PSAM卡之間的認證流程和用戶卡和水表表具之間的認證流程,其中所述用戶卡和PSAM卡之間的認證流程包括如下步驟(I)用戶卡和PSAM卡之間的外部認證使用戶卡獲得相應的操作;(2)水表表具對用戶卡購水信息文件的校驗;(3)水表表具對用戶卡返寫信息文件操作,該操作過程在用戶卡和水表表具之間的認證流程成功后進行。
2.根據權利要求I所述的安全認證方法,其特征在于用戶卡和PSAM卡之間的認證流程是采用3DES算法加密的。
3.根據權利要求I所述的安全認證方法,其特征在于步驟(I)的用戶卡和PSAM卡之間的外部認證通過下述過程完成1)用戶卡片讀取隨機數;2)PSAM卡根據用戶卡片卡號產生過程密鑰;3)PSAM卡利用過程密鑰加密隨機數獲得密文;4)用戶卡片利用以上密文完成外部認證過程,獲得相應的操作權限。
4.根據權利要求I所述的安全認證方法,其特征在于步驟(2)水表表具對用戶卡購水信息文件的校驗通過下述過程完成1)水表表具讀取用戶卡的購水信息文件,通過起始碼,結束碼判斷數據的完整性;2)水表表具檢查用戶卡上的戶號、表號的匹配性;3)從用戶卡的購水信息文件讀取信息,用戶卡同時為該信息提供MAC碼;4) PSAM卡在內部用指定的密鑰對傳入的MAC進行校驗,如果MAC校驗成功,ESAM再在內部檢驗購水次數,如果購水次數檢驗成功,ESAM將購水信息寫入相應的文件中,任意一個檢驗不成功,提示錯誤信息。
5.根據權利要求I所述的安全認證方法,其特征在于用戶卡和水表表具之間的認證流程包括下述過程1)表具向卡發送取隨機數命令并取出隨機數;2)表具根據存儲的密鑰種子和取出的隨機數進行加密運算,得出密文密鑰;3)將密文密鑰給用戶卡進行PIN碼認證,用戶卡得到密文后解密與用戶卡存儲的密鑰相比對,相同則進行下一步操作。
6.根據權利要求I所述的安全認證方法,其特征在于步驟(3)通過下述過程完成1)水表表具從用戶卡中獲取隨機數;2)由水表表具內部存儲的密鑰產PIN碼,對用戶卡發送返寫認證指令;3)用戶卡認證通過后,將信息寫入指定文件供系統分析管理,否則提示錯誤。
7.根據權利要求I所述的安全認證方法,其特征在于用戶卡內存儲的數據的格式為數據串起始碼-命令碼-長度-卡號-校驗碼-結束碼;存儲的密匙包括主控密鑰、購買外部認證密鑰、系統內部認證密鑰、購水信息文件保護寫密鑰、購水信息文件保護讀密鑰、返寫信息文件保護寫密鑰;其中所述主控密鑰用于表具修改其他密鑰,所述購水外部認證密鑰用于系統對用戶卡進行認證,獲得更改購水信息文件的權限;所述系統內部認證密鑰用于系統及水表對用戶卡進行認證,確定其身份;購水信息文件保護寫密鑰用于校驗寫購水信息文件的MAC ;購水信息文件保護讀密鑰為讀購水信息提供MAC ;返寫信息文件保護寫密鑰用于對用戶卡進行認證,獲得更改返寫信息文件的權限。
8.根據權利要求I所述的安全認證方法,其特征在于還包括密鑰修改卡、密鑰恢復卡,用于對用戶卡存儲的密鑰進行修改,通過下述過程進行1)密鑰修改卡與密鑰恢復卡在使用時先經過返寫信息PIN碼認證,判斷用戶卡是否為系統內發行的卡片;2)水表表具讀取密鑰信息文件,通過起始碼、結束碼和密鑰來判斷數據的完整性;3)逐條將要修改的密鑰寫入用戶卡中。
9.根據權利要求7或8所述的安全認證方法,其特征在于PASM卡中存儲用戶卡和密鑰修改卡、密鑰恢復卡的 所有密鑰。
全文摘要
本發明公開了一種用于智能水表的IC卡的安全認證方法,包括水表表具、用戶卡、PSAM卡,所述認證方法包括兩種認證用戶卡和PSAM卡之間的認證流程和用戶卡和水表表具之間的認證流程,其中所述用戶卡和PSAM卡之間的認證流程包括如下步驟(1)用戶卡和PSAM卡之間的外部認證使用戶卡獲得相應的操作;(2)水表表具對用戶卡購水信息文件的校驗;(3)水表表具對用戶卡返寫信息文件操作,該操作過程在用戶卡和水表表具之間的認證流程成功后進行。本發明公開的安全認證方法可以在使得智能水表在不使用ESAM安全芯片的前提下滿足信息安全的要求同時降低了智能水表的應用成本。
文檔編號G07F15/06GK102881085SQ20121030323
公開日2013年1月16日 申請日期2012年8月23日 優先權日2012年8月23日
發明者王文進, 常海利 申請人:北京京源水儀器儀表有限公司