專利名稱:一種實現(xiàn)智能卡高速安全通訊的方法
技術領域:
本發(fā)明涉及一種實現(xiàn)智能卡高速、安全通訊的方法,屬于數(shù)字信息傳輸技術領域。
背景技術:
隨著計算機技術和互聯(lián)網技術的迅猛發(fā)展,我國的信息網絡建設進入了快速發(fā)展的黃金時期,從“政府上網辦公-電子政務”到“網上電子交易-電子商務”,信息網絡已經滲透到人們生活的各個角落,并正逐步改變著人們的生產和生活方式。與此同時,伴隨著信息網絡建設的高潮而來的計算機和網絡犯罪也不斷出現(xiàn),并日益猖獗。在網上銀行多次發(fā)生假網站騙取用戶密碼的瘋狂斂財事件。由此,人們針對在信息網絡內的數(shù)據采用身份識別和加密技術的保護達成了共識,并在電子政務及電子商務系統(tǒng)中開始廣泛使用智能卡產品,作為用戶身份識別的唯一標識工具,為用戶的敏感數(shù)據加上一把電子鎖。但是,如何提高智能卡的數(shù)據處理速度,擴大智能卡的應用范圍;如何更加安全、有效地利用智能卡對網絡中傳輸?shù)臄?shù)據實現(xiàn)實時加、解密處理,從而保證用戶在安全、快捷、方便的前提下享受信息網絡提供的服務。以上這些就成為信息網絡的建設者們需要盡快解決的問題,也是現(xiàn)在信息安全領域普遍關注的熱點話題。
當前,全球智能卡相關技術正在快速發(fā)展,很多芯片廠家已經推出了具有USB接口的32位或更高速的智能卡芯片。如圖1所示,其為一種現(xiàn)有的智能卡芯片的內部組成模塊示意圖。該智能卡芯片包括微處理器、閃存FLASH、電可擦出只讀存儲器EEPROM、靜態(tài)存儲器SRAM塊、乘法協(xié)處理器模塊、存儲管理保護模塊、安全檢測與保護模塊、非對稱算法協(xié)處理器、對稱算法協(xié)處理器、隨機數(shù)函數(shù)發(fā)生器、時鐘處理模塊、電源管理模塊、中斷控制器、定時器,此智能設備中的微處理器、FLASH、EEPROM、SRAM、乘法協(xié)處理器、存儲管理保護模塊與數(shù)據總線相連,并通過橋連接器與連接到數(shù)據總線的安全檢測與保護模塊、非對稱算法協(xié)處理器、對稱算法協(xié)處理器、隨機數(shù)函數(shù)發(fā)生器、時鐘處理模塊、電源管理模塊、中斷控制器、定時器相連接,它還包括外部通訊接口模塊,通訊接口模塊都可分別通過數(shù)據總線與微處理器、FLASH、EEPROM、SRAM4、乘法協(xié)處理器、存儲管理保護模塊、安全檢測與保護模塊、非對稱算法協(xié)處理器、對稱算法協(xié)處理器相連,用于在加/解密設備與外部終端之間傳遞數(shù)據。外部通訊接口模塊包括通用串行總線架構接口模塊、ISO7816接口模塊。
采用上述芯片開發(fā)的智能卡和USBKEY產品確實加快了數(shù)據的處理速度。但在使用中,人們發(fā)現(xiàn)由于符合ISO7816-3/4標準的智能卡的通訊協(xié)議和命令部分中并沒有規(guī)定如何利用智能卡內部的CPU完成對大數(shù)據量進行加/解密處理的協(xié)議及命令,從而導致無法充分地發(fā)揮具有USB接口的32位或更高速的智能卡芯片處理數(shù)據的真實能力,并限制了根據此芯片開發(fā)的智能卡或USBKEY直接在卡內進行數(shù)據處理的速度。
發(fā)明內容
本發(fā)明的目的是提供一種實現(xiàn)智能卡高速、安全通訊的方法。該方法通過特定的數(shù)據傳輸模式,可以實現(xiàn)在智能卡內部對離散化的大數(shù)據量進行高速、安全的加/解密處理操作。
為實現(xiàn)上述的發(fā)明目的,本發(fā)明采用下述的技術方案一種實現(xiàn)智能卡高速安全通訊的方法,用在智能卡與終端之間,其特征在于在所述智能卡內的通訊協(xié)議中增加數(shù)據處理控制字;在所述智能卡初始化時,根據所述初始化命令中包含的數(shù)據處理控制字內容判斷是否由所述智能卡本身執(zhí)行數(shù)據加/解密處理;如果是,則所述智能卡通過自身的微處理器執(zhí)行數(shù)據的加/解密處理,并將處理后的數(shù)據傳送給所述終端。
其中,初始化時,初始化命令中的數(shù)據存儲到智能卡的存儲器中,并反饋數(shù)據通知終端;完成數(shù)據處理后,終端向智能卡再次發(fā)送初始化命令,釋放原存儲在智能卡存儲器中的數(shù)據。
初始化時,首先提取通道的工作方式,然后再提取通道的算法標識,從而取出通道的密鑰。
所述智能卡根據初始化時提取的通道密鑰,調用與之相關的加/解密算法進行數(shù)據的加/解密處理。
所述加/解密算法包括但不限于DES、3DES、RSA和SSF33。
所述智能卡初始化和加/解密運算的過程中,通過響應報文數(shù)據域回送的狀態(tài)碼判斷有關進程是否順利完成。
所述數(shù)據處理控制字包括但不限于CLA和INS。
由通訊協(xié)議中的P2代碼控制所述智能卡的數(shù)據通道的開閉。
所述智能卡與所述終端通過通用串行總線進行通訊。
或者,所述智能卡通過ISO7816方式與所述終端進行通訊。
本發(fā)明所述的實現(xiàn)智能卡高速、安全通訊的方法采用智能卡為加密載體,利用智能卡上自帶的微處理器完成對需要加/解密的數(shù)據的加/解密計算,有效地提高了智能卡對大數(shù)據量的處理能力,同時本發(fā)明提供了靈活、快捷的通信方法,大大方便了用戶的使用。本發(fā)明可廣泛應用于智能卡與終端設備的通訊上,特別是在網絡上信息傳遞和終端硬盤數(shù)據的加密存儲或移動保護,如銀行、證券、保險、公安、國防等對數(shù)據安全性要求較高的應用系統(tǒng)中。
下面結合附圖和具體實施方式
對本發(fā)明作進一步的說明。
圖1是一種現(xiàn)有的智能卡的構成模塊圖;圖2是本發(fā)明中,智能卡與終端之間進行通訊的原理示意圖;圖3是本發(fā)明中,智能卡通訊協(xié)議與其它部分關系示意圖;圖4是本發(fā)明中,智能卡初始化命令的處理方法流程圖;圖5是本發(fā)明中,智能卡加/解密命令的處理方法流程圖;圖6是本發(fā)明中,智能卡支持高速通訊命令的主流程圖。
具體實施例方式
本發(fā)明所述的實現(xiàn)智能卡高速、安全通訊的方法主要適用于如圖1所示的具有USB接口的智能卡芯片。作為一個優(yōu)選的實施例,智能卡芯片最好是一個基于32位或以上的精簡指令及計算機(RISC)處理器的高安全芯上系統(tǒng)(SOC)芯片,具備高處理能力、高安全性、低功耗、低成本等特點。該芯片的關鍵特性如下所示一、處理器性能微處理器為專門定制的高安全CPU核,它是32位或以上的RISC,采用5級流水線,頻率可變,主頻可工作在100MHz以上,硬件有乘法協(xié)處理器;微處理器采用整體安全概念,具有優(yōu)異的安全性能和處理能力;它采用高性能的高速緩沖存儲器(CACHE),包括1K字節(jié)指令CACHE和1K字節(jié)數(shù)據CACHE;存儲管理和保護單元(MMU)可以配置關閉,關閉后支持段管理模式,最大支持空間為128MB,面向應用的存儲分區(qū),支持可變頁長,采用多級查找結構,支持虛擬存儲空間管理,支持硬件安全訪問控制,外圍組件訪問受控。
二、芯上存儲單元電可擦出只讀存儲器(EEROM)為32KB,用于數(shù)據和程序的存儲空間,可進行單字節(jié)的讀、擦除、寫,可進行單字節(jié)或多字節(jié)最大為64字節(jié)的擦除、寫,最少擦寫次數(shù)30萬次,室溫下數(shù)據保持時間最少10年,在擦寫性能方面,單字節(jié)寫時間為20微秒(us),頁擦除時間為4毫秒(ms),EEPROM的編程電壓在芯片內產生。FLASH為128KB,用于存儲、函數(shù)庫以及設備驅動存儲空間,128字節(jié)頁的擦除、寫,最少檫寫次數(shù)2萬次,室溫下數(shù)據保持時間最少10年,擦寫性能為單字節(jié)寫時間20us,頁擦除時間4ms,其靜態(tài)存儲器大小為8KB。
三、外圍組件外圍組件包括1、硬件糾錯碼(ECC)協(xié)處理器。2、硬件數(shù)據加密標準(DES)協(xié)處理器。硬件數(shù)據加密標準(DES)協(xié)處理器支持DES、包括2KEY和3KEY的3DES算法的加密解密,支持電子密本方式(EBC)和鏈式塊處理方式(CBC)的加密和解密,優(yōu)化的數(shù)據傳送通道,端口數(shù)據加/解密速度雙向達到3Mbps。3、高速真隨機數(shù)發(fā)生器。其隨機數(shù)發(fā)生碼率為2Mbps。4、USB接口。它支持USB1.1協(xié)議全速率或更高,支持三端點,每一個端點支持雙緩沖器(Buffer),端口利用率高,有1個串行接口,符合ISO7816-3標準,時鐘最大支持5MHz,速率最高支持310Kbps,1個GPIO接口,2個32位定時器,內置振蕩控制器和相同步邏輯(PLL),可外部接4MHz晶體,支持上電復位。
四、安全特性具有硬件存儲管理和保護、高低電壓檢測、高低頻率檢測、防止差分能量分析/靜態(tài)能量分析(DPA/SPA)攻擊、存儲區(qū)域加密、總線加擾、時鐘和復位信號脈沖過濾、安全優(yōu)化布線功能,每一個芯片唯一序列號。
五、電氣特性整個芯片的功耗小于200mw(5V情況下),3級低功耗模式控制,即維持模式、休眠模式、掉電模式。電源有ISO模式2.7-5.5V和USB模式3.6V-5.5V。防靜電技術指標(ESD)保護在4000V以上。芯片管腳導線接出(Bond)位置符合ISO7816-2規(guī)范。
下面,詳細介紹本發(fā)明所提供的實現(xiàn)智能卡高速、安全通訊方法的實現(xiàn)過程。
圖2所示為本實施例中的智能卡與終端之間進行通訊的原理示意圖。這里所說的終端包括但不限于有線終端、無線終端,手持終端、手機等。在圖2所示的實施例中,智能卡通過USB接口與終端進行數(shù)據信息的交互。但需強調的是,本發(fā)明所述的方法并不只限于采用USB接口進行通訊一種情況,采用ISO7816方式進行通訊也是適用的。
本發(fā)明所述方法的核心就在于通過新設的數(shù)據處理控制字,擴展了原有的智能卡通訊協(xié)議。這一新的智能卡通訊協(xié)議如圖3所示,位于終端驅動層,即嵌入智能卡的驅動程序中。這樣,智能卡就可以按照新的控制字提供的內容,充分發(fā)揮自身數(shù)據處理的能力,實現(xiàn)數(shù)據的高速、安全傳輸。
作為本發(fā)明所述方法的第一步,首先要在對上述的智能卡進行初始化操作。這里的初始化操作的目的是在智能卡開辟對應的空間,保存用戶需要的各項設置,并利用這些設置進行以后的數(shù)據處理操作。需要進行的設置包括加/解密模式的設置、加/解密算法的選擇、密鑰保護信息、密鑰值的確定等。
初始化操作是通過如表1所示的初始化數(shù)據流加/解密通道(Initialstream channel)命令來實現(xiàn)的。表1為該初始化數(shù)據流加/解密通道命令的報文編碼及功能說明。
表1表2所示為表1中的文件控制信息的說明。
表2密鑰控制信息的說明參見表3所示
表3在智能卡每次上電復位后,準備進行大數(shù)據量加/解密處理之前,用戶都應該對智能卡進行初始化操作。在初始化操作命令中,本發(fā)明新增加定義了智能卡操作所需要的數(shù)據處理控制字CLA和INS。這兩個控制字的作用是區(qū)分用戶是在使用符合現(xiàn)有的ISO7816規(guī)范的基本智能卡命令操作設備還是使用本發(fā)明新增加的數(shù)據流加/解密命令對智能卡進行操作。
參見圖4所示,智能卡初始化工作的基本流程包括如下的步驟首先是確認是否需要打開通訊通道,如果需要則進一步判斷是否有空閑通道,如果存在空閑通道的話,則進一步取得該通道的初始化信息,并從初始化信息中提取通道的工作方式信息和有關的算法標識,這樣,智能卡內的微處理器就可以根據與該算法配套的密鑰進行加/解密運算。獲得密鑰之后,保存該通道的信息。如果沒有需要打開的通道或者不存在空閑通道的情況下,直接結束初始化流程。
在表1中,標識位P2表示需要設置或關閉的加/解密通道數(shù)量。在本實施例中,P2為8位,因此該實施例中可支持邏輯通道最多可以是256個。通過P2的設置,可以對256個通道分別進行初始化,智能卡會獨立保存256個通道的信息。這樣,用戶的應用程序可以分時使用256個通道處理數(shù)據流。
通道的工作狀態(tài)可以通過響應報文數(shù)據來顯示。表4為響應報文數(shù)據域的示例。其可能回送的代碼及其含義如下所示
表4響應報文數(shù)據域顯示的是當前設備中所分配的可用的通道,這些可用的通道按照用戶的要求(是使用基本智能卡命令操作設備還是使用數(shù)據流加/解密命令對智能卡進行操作)進行初始化設置。
智能卡初始化工作完成后,就可以通過數(shù)據流加/解密命令對智能卡進行操作,進而可以利用智能卡內部的數(shù)據處理能力,在智能卡內部對以數(shù)據包形式出現(xiàn)的大數(shù)據量的數(shù)據進行高速、安全的加/解密處理。具體而言,終端將所需要處理的數(shù)據送入智能卡中進行數(shù)據處理。智能卡根據已保存在智能卡存儲器中的初始化信息選擇對應的通道、工作模式。智能卡中的微處理器判斷數(shù)據包中是否包含加/解密命令控制字,不是則按照ISO7816的基本處理方式處理數(shù)據,是則根據加解密設備存儲器中的密鑰調用對稱或非對稱算法加/解密函數(shù)對數(shù)據進行加/解密處理,完成后將數(shù)據回送終端。
下面,結合圖5對智能卡執(zhí)行加/解密處理的過程作一說明。如圖4所示,智能卡在通過圖4所示的步驟提取通道信息之后,進一步調用有關的加/解密算法,如DES、3DES、RSA、SSF33等進行加密/解密運算,完成后通過該通道向終端回送加/解密運算結果。
前面已經提到,本發(fā)明在智能卡數(shù)據流加/解密命令中定義了智能卡操作所需要的數(shù)據處理控制字(CLA和INS),此控制字的作用是區(qū)分用戶是在使用基本的智能卡命令操作設備還是在使用數(shù)據流加/解密命令對智能卡進行操作,基本智能卡命令是ISO7816規(guī)范已經規(guī)定的,而數(shù)據流加/解密命令在現(xiàn)有的ISO7816規(guī)范中沒有規(guī)定。
在智能卡進行數(shù)據加/解密處理的過程中,有關的數(shù)據流加/解密命令的報文編碼與前述的初始化過程有所不同。其具體的內容參見表5所示。
表5而在數(shù)據加/解密處理的過程中,響應報文數(shù)據域也與初始化過程時有所不同,其可能回送的狀態(tài)碼如表6所示
表6如圖6所示,基于本發(fā)明所示方法實現(xiàn)的智能卡高速、安全通訊的過程包括如下的步驟首先由主機準備需要智能卡進行處理的數(shù)據流數(shù)據,然后,主機通過獲取設備handle(句柄)的方式,并經過密鑰認證取得對智能卡的控制權。一旦取得了智能卡的控制權,就向其發(fā)送初始化數(shù)據流加/解密通道命令,如果智能卡返回的狀態(tài)碼是9000(含義是“命令成功執(zhí)行”),則進一步向其發(fā)送加/解密數(shù)據流命令,如果智能卡返回數(shù)據,并且返回的狀態(tài)碼是9000的話,表示數(shù)據已經在智能卡中處理完畢,接下來就是主機向智能卡發(fā)送關閉加/解密數(shù)據流命令,并將有關數(shù)據處理的情況通知有關應用程序。
以上對本發(fā)明的具體實施方式
進行了詳細的解說。對于本技術領域的一般技術人員來說,在不背離本發(fā)明所述方法的精神和權利要求范圍的情況下對它進行的各種顯而易見的改變都在本發(fā)明的保護范圍之內。
權利要求
1.一種實現(xiàn)智能卡高速安全通訊的方法,用在智能卡與終端之間,其特征在于在所述智能卡內的通訊協(xié)議中增加數(shù)據處理控制字;在所述智能卡初始化時,根據所述初始化命令中包含的數(shù)據處理控制字內容判斷是否由所述智能卡本身執(zhí)行數(shù)據加/解密處理;如果是,則所述智能卡通過自身的微處理器執(zhí)行數(shù)據的加/解密處理,并將處理后的數(shù)據傳送給所述終端。
2.如權利要求1所述的實現(xiàn)智能卡高速安全通訊的方法,其特征在于所述初始化時,初始化命令中的數(shù)據存儲到智能卡的存儲器中,并反饋數(shù)據通知終端;完成數(shù)據處理后,終端向智能卡再次發(fā)送初始化命令,釋放原存儲在智能卡存儲器中的數(shù)據。
3.如權利要求1所述的實現(xiàn)智能卡高速安全通訊的方法,其特征在于所述初始化時,首先提取通道的工作方式,然后再提取通道的算法標識,從而取出通道的密鑰。
4.如權利要求3所述的實現(xiàn)智能卡高速安全通訊的方法,其特征在于所述智能卡根據初始化時提取的通道密鑰,調用與之相關的加/解密算法進行數(shù)據的加/解密處理。
5.如權利要求4所述的實現(xiàn)智能卡高速安全通訊的方法,其特征在于所述加/解密算法包括但不限于DES、3DES、RSA和SSF33。
6.如權利要求1至5中任意一項所述的實現(xiàn)智能卡高速安全通訊的方法,其特征在于所述智能卡初始化和加/解密運算的過程中,通過響應報文數(shù)據域回送的狀態(tài)碼判斷有關進程是否順利完成。
7.如權利要求1所述的實現(xiàn)智能卡高速安全通訊的方法,其特征在于所述數(shù)據處理控制字包括但不限于CLA和INS。
8.如權利要求1所述的實現(xiàn)智能卡高速安全通訊的方法,其特征在于由通訊協(xié)議中的P2代碼控制所述智能卡的數(shù)據通道的開閉。
9.如權利要求1所述的實現(xiàn)智能卡高速安全通訊的方法,其特征在于所述智能卡與所述終端通過通用串行總線進行通訊。
10.如權利要求1所述的實現(xiàn)智能卡高速安全通訊的方法,其特征在于所述智能卡通過ISO7816方式與所述終端進行通訊。
全文摘要
本發(fā)明公開了一種實現(xiàn)智能卡高速安全通訊的方法,用在智能卡與終端之間,包括如下步驟在智能卡內的通訊協(xié)議中增加數(shù)據處理控制字;在智能卡初始化時,根據初始化命令中包含的控制字內容判斷是否由智能卡本身執(zhí)行數(shù)據加/解密處理;如果是,則智能卡通過自身的微處理器執(zhí)行數(shù)據的加/解密處理,并將處理后的數(shù)據傳送給終端。本發(fā)明利用智能卡上自帶的微處理器完成對需要加/解密的數(shù)據的加/解密計算,有效地提高了智能卡對大數(shù)據量的處理能力。本發(fā)明可廣泛應用于智能卡與終端設備的通訊上,特別是在銀行、證券、保險、公安、國防等對數(shù)據安全性要求較高的應用系統(tǒng)中。
文檔編號H04L9/32GK1968085SQ20051011488
公開日2007年5月23日 申請日期2005年11月17日 優(yōu)先權日2005年11月17日
發(fā)明者胡鵬 申請人:北京握奇數(shù)據系統(tǒng)有限公司