智能ic卡及嵌入式sam安全模塊接口功能的改進結構的製作方法
2023-05-21 04:16:01 2
專利名稱:智能ic卡及嵌入式sam安全模塊接口功能的改進結構的製作方法
技術領域:
本發明涉及一種IC卡接口功能改進的結構,尤其是一種智能IC卡及嵌入式SAM安全模塊接口功能的改進結構。
所謂IC卡,即將集成電路(IC)晶片嵌裝在符合ISO標準尺寸的塑料基片表面而成的卡片。智能IC卡是指IC晶片具有CPU微處理器功能的IC,也稱智慧卡或CPU卡。IC卡應用產品,不管是通用讀寫設備,例如IC卡讀寫器,還是IC卡專用設備,例如各種IC卡收費終端、預付費IC卡水、電、氣表等應用產品,從產品和應用安全的角度來講,需要在設備中嵌入SAM(Secure Access Module)安全模塊,實現數據的加、解密以及與用戶IC卡之間的雙向安全認證等功能。SAM安全模塊可以是ISO7816標準的IC卡封裝形式,也可以是嵌入式的小卡的形式(例如在GSM行動電話中常見的SIM卡)或塑封集成電路晶片的形式。根據封裝形式和具體功能的不同有時也稱之為SAM卡,PSAM卡等。為方便起見,這裡統稱為SAM安全模塊。一般來說,SAM安全模塊的硬體和帶微處理器的CPU卡一樣,其中的軟體作業系統可能相同,也可能不同。例如針對CPU卡在銀行中的應用,中國人民銀行制訂了中國金融IC卡規範,同時針對POS終端中嵌入的SAM安全模塊,制訂了相應的PSAM卡應用規範。目前,不論是用戶CPU卡還是SAM安全模塊,都採用符合ISO7816-3標準的半雙工的T=0(字符傳輸)或T=1(塊傳輸)的通訊協議。這種接口形式只需要一個雙向I/O口及相應的時鐘信號輸入和復位控制信號輸入(針對卡或SAM安全模塊)。單從I/O口來看,在IC卡設備中,設備單片機(MCU)和IC卡及SAM安全模塊的連接方式如
圖1所示。從圖1中可以看出,MCU是用戶IC卡和SAM安全模塊之間的信息傳輸通道,MCU作為主機(地址定義為0)通過應用程式控制完成SAM安全模塊(地址定義為1)和用戶IC卡(地址定義為2)之間的加密或明文數據傳輸和安全認證。
下面舉例說明SAM安全模塊對用戶IC的外部認證流程,該認證分三個步驟(六個過程)完成。其中數據傳輸方向用地址表示,20表示數據是由地址0發向地址2;02表示數據是由地址2發向地址0;其他類推。
步驟一、20 MCU向用戶IC卡發送取隨機數命令;02 用戶卡響應MCU發出的命令,回送隨機數RND;步驟二、10 MCU向SAM安全模塊發送內部認證命令(包含RND);01 SAM安全模塊響應MCU發出的命令,回送時RND的加密結果。
步驟三、20 MCU向用戶IC卡發送外部認證命令包含對RND的加密結果;02 用戶IC卡響應外部認證命令,回送認證通過或錯誤信息。
通過以上過程,可臺看到在MCU參與全部認證過程的命令和響應數據的傳輸的情況下,由用戶IC卡和SAM安全模塊中相應的算法和密鑰完成了對用戶IC卡的外部認識過程。根據文件結構、密鑰和訪問權限的設計要求,通過了SAM安全模塊用用戶IC卡的外部認證,才有可能允許MCU完成對用戶IC卡的特定的訪問操作。
以上是目前具有SAM安全模塊的IC卡應用產品中最常用的應用模式,只要服務供應商控制住用戶IC卡和SAM安全模塊的發行和密鑰管理,由眾多設計和生產單位提供的應用產品中的MCU不涉及密鑰和算法的敏感部分,這樣就在很大程度上保證了整個應用系統的安全性。這種應用模式儘管基本解決了安全問題,但卻存在著佔用MCU資源過多,要求MCU的編程者準確地了解用戶IC卡和SAM安全模塊之間的數據交換流程,對於新產品的開發,不利於減少開發成本,縮短開發周期。當然如前所述,目前用戶IC卡(CPU卡)和SAM安全模塊一般採用相同的IC卡專用的微處理器硬體。由於目前符合ISO7816標準的IC卡採用半雙工的通訊協議,所以一般的IC卡晶片只提供一個I/O接口,例如西門子公司的SLE44CXXS系列。也有一些半導體廠家提供的IC卡晶片提供I/O1和I/O2兩個接口,以便於兼容將來可能出現的全雙工的IC卡通訊協議。例如飛利浦公司的P83W862和STM公司提供的ST1660I等IC卡晶片,其中的I/O2目前處於閒置和不連接狀態。如果通過作業系統軟體的改進,把目前空閒的I/O2口加以利用,使SAM安全模塊甚至用戶IC卡具有兩個支持當前ISO/7816通訊協議標準的半雙工I/O接口。這樣一來,假設用戶IC卡和SAM安全模塊之一或兩者都具有I/O2,那麼MCU、用戶IC卡和SAM安全模塊之間的接口關係就增加了如圖2(a)、(b)、(c)所示的三種組合方式。
從目前的實際應用情況來看「新組合一圖2(a)是比較理想的解決方案。由於SAM安全模塊是嵌入在設備中的,而用戶IC卡是針對持卡人的,所以根據「新組合一」設計生產的新的設備,在簡化MCU的同時,可以兼容已發或新發的用戶IC卡;由於一般的用戶IC卡沒有附加的I/O2接口,所以「新組合二」圖2(b)儘管可以實現與「新組合一」相同的技術效果,但不兼容單一接口的用戶IC卡;「新組合三」圖2(c)從靈活性方面來看是最理想的方案,但同樣存在與用戶IC卡的兼容性的問題。
本發明的目的在於建立用戶IC卡和SAM安全模塊之間的直接的信息交換關係,且節省MCU的資源、簡化MCU編程的複雜程度、使產品開發和生產商在更大程度上擺脫具體的卡片應用規範,特別是能滿足安全認證和數據加解密相關的應用需求。
本發明的目的是這樣實現的一種智能IC卡及嵌入式SAM安全模塊接口功能的改進結構,具有SAM安全模塊、用戶IC卡、帶有執行由單片機MCU向SAM安全模塊發送用戶IC卡外部認證組合宏命令接口的單片機,其中,所述的SAM安全模塊嵌入所述的單片機MCU和所述的用戶IC卡之間,且所述的SAM安全模塊與所述的用戶IC卡之間至少有兩個直接信息交換的I/O接口。所述本發明目的的實現是要求SAM安全模塊除了要擴展I/O2接口連接用戶IC卡之外,還必須通過改進晶片內部作業系統,由常規的I/O1接口接收來自MCU的標準命令或組合宏命令,區分是發向本身,還是通過本身發向用戶IC卡,同時能夠自動處理和執行需要在SAM安全模塊和用戶IC卡之間完成的組合宏命令,並把執行結果回送給MCU。
較之現有技術,本發明產生的顯著進步歸納如下(1)通過SAM和用戶IC卡之間的宏命令,簡化了MCU的應用軟體編程;(2)減少了程序空間,縮短了產品開發周期;(3)在一定程度上簡化了設備的硬體設計;(4)少佔用MCU一個I/O接口;(5)有利於選擇最佳性能價格比的MCU產品類型。
下面結合附圖和實施例再詳述本發明涉及的智能IC卡及嵌入式SAM安全模塊接口功能的改進結構圖1是現有技術中單片機(MCU)、IC卡及SAM安全模塊的連接方式框圖;圖2是關於圖1的三種連接方式(a)、(b)、(c)新組合方式框圖;圖3是本發明針對現有技術圖1、2中單片機(MCU)、IC卡、SAM安全模塊的連接方式所提出的IC卡接觸點定義的示意圖;圖4是本發明針對現有技術圖1、2中單片機(MCU)、IC卡、安全模塊的連接方式所提出的SAM安全模塊管腳位置定義的示意圖;圖5是本發明提出的具有兩個I/O接口的SAM安全模塊與MCU利用用戶IC卡的連接方式示意圖;圖6是本發明針對圖2(a)的「新組合一」所設計的連接結構示意圖。
由以上諸圖,本發明涉及一種智能IC卡及嵌入式SAM安全模塊接口功能的改進結構,具有SAM安全模塊、用戶IC卡、帶有執行由單片機MCU向SAM安全模塊發送用戶IC卡外部認證組合宏命令接口的單片機,其中,所述的SAM安全模塊嵌入所述的單片機MCU和所述的用戶IC卡之間,且所述的SAM安全模塊與所述的用戶IC卡之間至少有兩個直接信息交換的I/O接口。並且,上述的SAM安全模塊具有一向所述用戶IC卡發送取隨機數和利用內部認證命令對隨機數加密後將加密結果用外部認證命令發送給用戶IC卡的I/O接口;上述的用戶IC卡具有一向所述的SAM安全模塊回送隨機數和回送外部認證正確與否信息給所述SAM安全模塊的I/O接口;上述的I/O接口可以是由SAM安全模塊向所述用戶IC卡發送取隨機數的I/O接口;上述的I/O接口可以是SAM安全模塊向所述的用戶IC卡以其內部認證命令對隨機數進行加密且將加容結果用外部命令發送給所述用戶IC卡的I/O接口;上述的I/O接口可以是所述用戶IC卡向所述SAM安全模塊回送隨機數的I/O接口;上述的I/O接口可以是所述用戶IC卡向所述SAM安全模塊回送外部認證正確與否信息給所述SAM安全模塊的I/O接口;上述的I/O接口可以是所述SAM安全模塊向所述用戶IC卡發送取隨機數和所述用戶IC卡向所述SAM安全模塊回送隨機數的I/O接口;上述的I/O接口可以是所述的SAM安全模塊向所述用戶IC卡用內部認證命令對隨機數加密後將加密結果回外部命令發送給用戶IC卡和所述用戶IC卡向所述SAM安全模塊回送外部認證正確與否信息的I/O接口;上述的I/O接口可以是包括所述SAM安全模塊向所述用戶IC卡發送取隨機數、且用其內部認證命令對隨機數加密後將加密結果用外部認證命令發送給所述用戶IC卡以及所述用戶IC卡向所述SAM安全模塊回送隨機數、並將回送外部認識正確與否信息給所述SAM安全模塊的I/O接口。
從圖3、圖4中可以看出由於IC晶片放置的方向不同,IC卡封裝的觸點和DIP8封裝管腳功能正好左右相反。其功能描述分別如下標準或嵌入式IC卡封裝形式C1(VCC)-電源C2(RST)-復位C3(CLK)-時鐘C4(NC)-不連接C5(GND)-接地C6(NC)-不連接C7(I/O1)-輸入/輸出接口1C8(I/O2)-輸入/輸出接口2DIP8封裝形式管腳1(VSS)-接地管腳2(NC)-不連接管腳3(I/O1)-輸入/輸出接口1管腳4(I/O2)-輸入/輸出接口2管腳5(NC)-不連接管腳6(CLK)-時鐘管腳7(RST)-復位管腳8(VDD)-電源對於具有I/O1和I/O2兩個接口的SAM安全模塊,如果封裝成標準IC卡或嵌入式IC卡的形式,I/O2接口可以連接到原本閒置的C8和C4接觸點上,(NC的含義是不連接);如果封裝成8腳的晶片,例如DIP8或SO8等形式,I/O2接口要以連接到空閒的第4或第5管腳,圖3、圖4作為示例給出了IC卡封裝形式和DIP8封裝形式的I/O2接口的連接方式。對於具有兩個相同功能的I/O接口的SAM安全模塊,圖5給出了SAM安全模塊與MCU以及用戶IC卡的連接方式。一般來說SAM安全模塊的I/O1連接MCU,I/O2連接用戶IC卡。
針對圖2(a),圖6是本發明新細化連接關係的「新組合一」應用原理圖,並給出由「新組合一」完成的用戶IC卡外部認證流程實例。根據上面給出的目前常見的應用模式不煩做一比較這裡仍定義MCU為地址0,SAM安全模塊為地址1,用戶IC卡為地址2,同樣分成三個步驟(六個過程)。
步驟一、10 MCU向SAM安全模塊發送用戶IC卡外部認證組合宏命令;步驟二、21 SAM安全模塊向用戶IC卡發送取隨機數命令;12 用戶IC卡回送隨機數RND給SAM安全模塊。
步驟三、21 SAM安全模塊用內部認證命令對RND加密後,將加密結果用外部認證命令發送給用戶IC卡;12用戶IC卡回送外部認證正確或不正確信息給SAM
安全模塊;01 SAM安全模塊作為對步驟一命令的響應,回送認證正確或錯誤信息給MCU。
從以上步驟可以看出,MCU只涉及六個過程中的兩部分,不同於前面給出的目前常用的認證流程;「MCU要參與全部六個過程的工作。」由此得出的結論是本發明很大程度上簡化了MCU的編程工作,實現了本發明所要實現的技術效果。
權利要求
1.一種智能IC卡及嵌入式SAM安全模塊接口功能的改進結構,具有SAM安全模塊、用戶IC卡、帶有執行由單片機MCU向SAM安全模塊發送用戶IC卡外部認證組合宏命令接口的單片機,其特徵在於所述的SAM安全模塊嵌入所述的單片機MCU和所述的用戶IC卡之間,且所述的SAM安全模塊與所述的用戶IC卡之間至少有兩個直接信息交換的I/O接口。
2.根據權利要求1所述的智能IC卡及嵌入式SAM安全模塊接口功能的改進結構,其特徵是上述的SAM安全模塊具有一向所述用戶IC卡發送取隨機數和用內部認證命令對隨機數加密後將加密結果用外部認證命令發送給用戶IC卡的I/O接口。
3.根據權利要求1所述的智能IC卡及嵌入式SAM安全模塊接口功能的改進結構,其特徵是上述的用戶IC卡具有一向所述的SAM安全模塊回送隨機數和回送外部認證正確與否信息給所述SAM安全模塊的I/O接口。
4.根據權利要求2所述的智能IC卡及嵌入式SAM安全模塊接口功能的改進結構,其特徵是上述的I/O接口可以是由SAM安全模塊向所述用戶IC卡發送取隨機數的I/O接口。
5.根據權利要求2所述的智能IC卡及嵌入式SAM安全模塊接口功能的改進結構,其特徵是上述的I/O接口可以是SAM安全模塊向所述的用戶IC卡以其內部認證命令對隨機數進行加密且將加容結果用外部命令發送給所述用戶IC卡的I/O接口。
6.根據權利要求3所述的智能IC卡及嵌入式SAM安全模塊接口功能的改進結構,其特徵是上述的I/O接口可以是所述用戶IC卡向所述SAM安全模塊回送隨機數的I/O接口。
7.根據權利要求3所述的智能IC卡及嵌入式SAM安全模塊接口功能的改進結構,其特徵是上述的I/O接口可以是所述用戶IC卡向所述SAM安全模塊回送外部認證正確與否信息給所述SAM安全模塊的I/O接口。
8.根據權利要求2或3所述的智能IC卡及嵌入式SAM安全模塊接口功能的改進結構,其特徵是上述的I/O接口可以是所述SAM安全模塊向所述用戶IC卡發送取隨機數和所述用戶IC卡向所述SAM安全模塊回送隨機數的I/O接口。
9.根據權利要求2或3所述的智能IC卡及嵌入式SAM安全模塊接口功能的改進結構,其特徵是上述的I/O接口可以是所述的SAM安全模塊向所述用戶IC卡用內部認證命令對隨機數加密後將加密結果用外部命令發送給用戶IC卡和所述用戶IC卡向所述SAM安全模塊回送外部認證正確與否信息的I/O接口。
10.根據權利要求2或3所述的智能IC卡及嵌入式SAM安全模塊接口功能的改進結構,其特徵是上述的I/O接口可以是包括所述SAM安全模塊向所述用戶IC卡發送取隨機數、且用其內部認證命令對隨機數加密後將加密結果用外部認證前命令發送給所述用戶IC卡以及所述用戶IC卡向所述SAM安全模塊回送隨機數、並將回送外部認識正確與否信息給所述SAM安全模塊的I/O接口。
全文摘要
本發明涉及一種IC卡及嵌入式SAM安全模塊接口功能的改進結構,該結構體系中包括單片機。其中,在單片機MCU與用戶IC卡之間嵌入SAM安全模塊,而在SAM安全模塊與用戶IC卡之間至少有兩個能直接進行信息交換的I/O接口。該裝置解決了減少MCU的I/O接口數量、簡化MCU的應用軟體編程等問題。
文檔編號G06F3/00GK1316720SQ0010544
公開日2001年10月10日 申請日期2000年4月4日 優先權日2000年4月4日
發明者王耀, 陳大才 申請人:王耀, 陳大才