智能卡安全技術課件_第1頁
智能卡安全技術課件_第2頁
智能卡安全技術課件_第3頁
智能卡安全技術課件_第4頁
智能卡安全技術課件_第5頁
已閱讀5頁,還剩291頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1第七章智能卡安全技術1第七章智能卡安全技術關鍵技術身份鑒別報文鑒別數據加密數字簽名關鍵技術身份鑒別主要內容7.1密鑰管理系統7.2智能卡的安全訪問機制7.3智能卡防拔插處理

7.4智能卡的安全使用7.5安全操作相關的基本命令主要內容7.1密鑰管理系統7.1密鑰管理系統1.何為密鑰管理?

密鑰管理是一門綜合性的技術,它涉及密鑰的產生、檢驗、分配、傳遞、保管和使用。7.1密鑰管理系統1.何為密鑰管理?2.密鑰管理系統——層次結構

基本思想:用密鑰保護密鑰用第i層的密鑰Ki來保護第i+1層密鑰Ki+1Ki本身也受到第i-1層密鑰Ki-1的保護下層的密鑰可按某種協議不斷變化;密鑰管理系統是動態變化的2.密鑰管理系統——層次結構(1)三層密鑰管理系統的結構(2)三層密鑰管理系統的舉例設采用對稱密碼體制主密鑰在智能卡和讀寫器中存放相同的主密鑰子密鑰主密鑰對某些指定的數據加密后生成子密鑰主密鑰子密鑰會話密鑰①②③(1)三層密鑰管理系統的結構(2)三層密鑰管理系統的舉例主密如:每張卡的芯片制造商的標識碼的序列號或應用序列號是不相同的,且都設置在IC卡內,因此可利用序列號進行加密生成子密鑰;

會話密鑰用子密鑰對可變數據進行加密,加密的結果即為會話密鑰(或過程密鑰)。一個會話密鑰僅使用一次。如:用子密鑰對交易時間或命令計數器進行加密生成會話密鑰,這樣即使是同一張卡,每次使用時的會話密鑰就不同,或做不同的操作,會話密鑰也不同。如:每張卡的芯片制造商的標識碼的序列號或應用序列號是不相同的3.主密鑰的生成主密鑰可由幾個可信任的人彼此獨立提出的數據組合成一個密鑰,然后對隨機數進行加密運算而獲得,這樣主密鑰的生成和變化規律就很難估計。3.主密鑰的生成4.主密鑰的下載IC卡中主密鑰的下載主密鑰下載是在專門設備上進行的,下載的環境是安全的;但要保證IC卡上的觸點的信息不能被竊取,主密鑰下載后,不能再讀出,這由硬件(熔絲)和軟件(COS卡內操作系統)來保證4.主密鑰的下載讀寫器中主密鑰的下載讀寫器內部沒有COS,不能保證主密鑰不被讀出,常采用安全存取模塊SAM,密鑰下載到SAM模塊中,加密/解密算法也在SAM中進行。讀寫器中主密鑰的下載7.2

智能卡的安全訪問機制1.鑒別與核實2.安全報文傳送3.文件訪問的安全控制4.數字簽名/認證7.2智能卡的安全訪問機制1.鑒別與核實1.鑒別與核實鑒別(Authentication)指的是對智能卡(或者是讀寫設備)的合法性的驗證,即是如何判定一張智能卡(或讀寫設備)不是偽造的卡(或讀寫設備)的問題;核實(verify)是指對智能卡的持有者的合法性的驗證,也就是如何判定一個持卡人是否經過了合法的授權的問題。1.鑒別與核實鑒別(Authentication)指的是對讀寫器鑒別IC卡的真偽(內部認證)讀寫器生成隨機數N,并向卡發內部認證指令(InternalAuthentication),將隨機數送卡;卡對隨機數N加密成密文M(密鑰已存在卡和讀寫器中),并將M送讀寫器;讀寫器將M解密成明文N1;讀寫器將明文N1和原隨機數N比較,相同則讀寫器認為卡是真的。讀寫器鑒別IC卡的真偽(內部認證)讀寫器生成隨機數N,并向卡IC卡鑒別讀寫器的真偽(外部認證)讀寫器向卡發生成隨機數命令卡產生隨機數N,并送讀寫器;讀寫器對隨機數加密成密文M(密鑰已存在卡和讀寫器中);讀寫器向卡發外部認證命令(ExternalAuthentication),并將密文M送卡;卡將密文M解密成明文N1,并將明文N1和原隨機數N比較,相同則卡認為讀寫器是真的。IC卡鑒別讀寫器的真偽(外部認證)讀寫器向卡發生成隨機數命令鑒別鑒別核實方法驗證個人識別號PIN(personalidentificationnumber);生物特征;下意識特征;核實方法PINPIN(PersonalIdentificationNumber)個人識別號是IC卡中的保密數據。功能:保證只有合法持卡人才能使用該卡或卡中的某一項或幾項功能,以防止拾到該卡的人惡意使用或非法偽造。錯誤計數器:用以記錄、限制PIN輸入錯誤的次數PINPIN(PersonalIdentificationPIN的類型全局PIN(GlobalPIN)處于系統的較高層次(如主文件)中,一旦因錯誤計數溢出等原因自鎖,也同時鎖住使用該PIN的其他應用層次。局部PIN(LocalPIN)處于某一具體應用層次中,一旦因錯誤計數溢出等原因自鎖,則僅鎖住該應用層次。PIN的類型全局PIN(GlobalPIN)PIN功能簡單匯總表功能簡單IC卡復雜IC卡(如CPU卡)PIN無或有有PIN數量一個若干個PIN位數較短較長/可自定義(如1~8位十進制數)PIN輸入錯誤限制次數較少(如3次)較長/可自定義(如1~15次)全局/局部PIN否是可修改性等其他屬性否是個人解鎖碼(PUC)否是PUC:PersonalUnblockingCodePIN功能簡單匯總表功能簡單IC卡復雜IC卡(如CPUPIN明碼識別讀卡器與卡間以明碼傳輸,在IC卡內部完成PIN的鑒別PIN明碼識別讀卡器與卡間以明碼傳輸,在IC卡內部完成PINPIN密碼識別PIN密碼識別生物識別生物識別技術就是依靠人體的身體特征來進行身份驗證的技術,例如語音、掌紋、面孔、虹膜、視網膜、骨架和指紋上述人體特征都具有終生不變的穩定性和人人不同的特定性,這決定了它們可以作為個人身份鑒定的可靠依據。其中指紋識別是最流行、最方便以及最可靠的個人身份認證方法之一。GO生物識別生物識別技術就是依靠人體的身體特征來進行身份驗證的技指紋識別的特點具有唯一性和穩定性避免記憶眾多而又復雜的口令便于獲取指紋樣本,實用性強一個人的十指指紋皆不相同,可以方便地利用多個指紋構成多重口令,提高系統的安全性,同時并不增加設計負擔指紋識別中使用的模板并非最初的指紋圖,而是由圖中提取的關鍵特征,這樣減少了模板庫的存儲量,便于網絡傳輸指紋識別的特點具有唯一性和穩定性指紋在IC卡中的身份識別指紋智能卡讀卡器指紋在IC卡中的身份識別指紋智能卡讀卡器生物識別的缺點需要較大的存儲容量技術實現比較復雜費用較高生物識別的缺點需要較大的存儲容量7.2

智能卡的安全訪問機制1.鑒別與核實2.安全報文傳送3.文件訪問的安全控制4.數字簽名/認證7.2智能卡的安全訪問機制1.鑒別與核實2.安全報文傳送在信息交換過程中保證信息的完整性和保密性完整性:保證所交換的內容不被非法修改。(利用MAC)保密性:防止非授權者竊取所交換的信息。(利用密碼技術對信息加密處理)2.安全報文傳送在信息交換過程中保證信息的完整性和保密性2.1完整性的保證-采用報文鑒別為鑒別所交換的信息內容未被非法修改,在信息報文中加入報頭/尾(即鑒別碼)。由讀卡器對報文內容進行某種運算得出鑒別碼1。將鑒別碼1和報文一起傳輸到智能卡,智能卡再用約定算法對報文進行運算得出鑒別碼2,將兩個鑒別碼比較。相等,接受不相等,拒收并報警2.1完整性的保證-采用報文鑒別為鑒別所交換的信息內容未被鑒別碼通常被簡寫為MAC(MessageAuthenticationCode,報文鑒別碼)鑒別算法DSA算法DES算法(目前常用)3DES算法(目前常用)鑒別碼通常被簡寫為MAC(MessageAuthentic1、鑒別算法-DSA算法DSA(decimalshiftandadd)算法由Sievi1980年提出(1)DSA算法在收發雙方同時利用兩個十位長的任選的十進制數b1和b2,作為密鑰。將被鑒別的信息看成十進制數串,然后分組,十位一組。每次運算(加法)取一組,兩個運算流并行進行,直到所有信息組運算完畢。1、鑒別算法-DSA算法DSA(decimalshift(2)DSA算法舉例用R(X)D表示對D循環右移X位,如D=1234567890,則R(3)D=8901234567。用S(X)D表示相加之和:

S(3)D=R(3)D+D(mod1010)。其中:R(3)D=8901234567+D=1234567890S(3)D=0135802457(2)DSA算法舉例其中:R(3)D=8901234567+假設信息M=158349263752835869,鑒別碼的計算如下:先將信息分成十位一組,最后一組不足十位時補0;即:m1=1583492637,m2=5283586900;2.

任選密鑰:b1=5236179902,b2=4893524771;3.

兩個運算流同時運算。假設信息M=158349263752835869,運算流1運算流2m11583492637m11583492637+b24893524771+R(4)p=2539681967p=6819672539q=6477017408+R(5)q=1740864770

S(4)p=9359354506

S(5)q=8217882178+m25283586900+m25283586900+R(8)u=4294140646u=4642941406v=3501469078+R(2)v=7835014690

S(8)p=8937082052

S(2)q=1336483768+m3…+m3………………..運算流1運算流2m11583492637m1158至此,兩組信息組運算完畢,得到兩個十位長的十進制數,再組合一下,將它們按模1010相加。

S(8)p=8937082052+S(2)q=13364837680273565820鑒別碼至此,兩組信息組運算完畢,得到兩個十位長的十進制數,2、鑒別算法-DES算法以TimeCOS/PK為例(規定MAC的長度為4個字節),介紹MAC的生成方法:第一步:終端向智能卡發出一個GetChallenge命令,從智能卡回送的4字節隨機數后綴以‘00000000’,所得到的結果作為初始值。第二步:按照順序將以下數據連接在一起形成數據塊:CLA,INS,P1,P2,Lc+4,Data(注①必須置CLA的后半字節為‘4’;②在命令的數據域中(如果存在)包含明文或加密的數據)2、鑒別算法-DES算法以TimeCOS/PK為例(規定M第三步:將該數據塊分成8字節為單位的數據塊,標號為D1,D2,D3等,最后的數據塊有可能是1-8個字節。第四步:如果最后的數據塊長度是8字節的話,則在其后加上16進制數字‘8000000000000000’,轉到第五步。如果最后的數據塊長度不足8字節的話,則在其后加上16進制數字‘80’,如果達到8字節長度,則轉入第五步;否則在其后加入16進制數字‘0’直到長度達到8字節。第三步:將該數據塊分成8字節為單位的數據塊,標號為D1,D2第五步:對這些數據塊使用相應的密鑰進行加密。根據密鑰的長度采用SingleDES或TripleDES。第六步:最終得到是從計算結果左側取得的4字節長度的MAC。第五步:對這些數據塊使用相應的密鑰進行加密。根據密鑰的長度采SingleDES密鑰產生MACSingleDES密鑰產生MACTripleDES密鑰產生MACTripleDES密鑰產生MAC2.2保密性保證-加密/解密利用密碼技術對信息進行加密處理,以掩蓋真實信息,到達保密的目的。一般采用傳統的DES算法或3DES算法DES算法加密過程:C=EK(DK(EK(M)))解密過程:M=DK(EK(DK(C)))3DES算法加密過程:C=EKL(DKR(EKL(M)))解密過程:M=DKL(EKR(DKL(C)))2.2保密性保證-加密/解密利用密碼技術對信息進行加密處理以TimeCOS/PK為例,介紹數據加密/解密計算當傳輸報文中的某一部分重要的明文數據需要加密時,它將要被格式化成為以下形式的數據塊:明文數據的長度(LD),不包括填充字符明文數據填充字符以TimeCOS/PK為例,介紹數據加密/解密計算數據加密計算第一步:用LD表示明文數據的長度,在明文數據前加上LD產生的新數據塊。第二步:將第一步中生成的數據塊分解成8字節數據塊,標號為D1,D2,D3等等。最后一個數據塊的長度有可能不足8位。第三步:如果最后(或唯一)的數據塊長度等于8字節,轉入第四步;如果不足8字節,在右邊添加16進制數字‘80’。如果長度已達8字節,轉入第四步;否則,在其右邊添加1字節16進制數字‘0’直到長度達到8字節。數據加密計算第四步:對每個數據塊用相應的密鑰進行加密。第五步:計算結束后,所有加密后的數據塊依照原順序連接在一起(加密后的D1,加密后的D2,等等)。并將結果數據塊插入到命令數據域中。第四步:對每個數據塊用相應的密鑰進行加密。用SingleDES密鑰進行數據加密的算法用SingleDES密鑰進行數據加密的算法用TripleDES密鑰進行數據加密的算法用TripleDES密鑰進行數據加密的算法數據解密計算第一步:將命令數據域中的數據塊分解成8字節長的數據塊,標號為D1,D2,D3,D4等等。第二步:對每個數據塊使用與數據加密相同的密鑰進行解密。第三步:計算結束后,所有解密后的數據塊依照順序(解密后的D1,解密后的D2,等等)鏈接在一起。數據塊由LD,明文數據,填充字符組成。第四步:因為LD表示明文數據的長度,因此,它被用來恢復明文數據。數據解密計算用SingleDES密鑰進行數據解密的算法用SingleDES密鑰進行數據解密的算法用TripleDES密鑰進行數據解密的算法用TripleDES密鑰進行數據解密的算法2.3TimeCOS/PK中的安全報文傳送1、實現理念2、實現方式3、安全報文傳送的命令情況4、應用舉例2.3TimeCOS/PK中的安全報文傳送1、實現理念1、實現理念完整性保護對傳輸的數據附加4字節MAC碼,接收方收到后首先進行校驗,只有校驗正確的數據才予以接受機密性保護對傳輸的數據進行DES加密,這樣傳輸的就是密文,攻擊者即使獲得數據也沒有意義機密性和完整性保護此種方式最安全,對傳輸的數據進行DES加密,后對傳輸的數據附加4字節MAC碼,接收方收到后首先進行校驗,只有校驗正確的數據才予以接受1、實現理念完整性保護2、實現方式如對文件進行安全報文傳送,只需在建立文件時改變文件類型字節高兩位即可。b7b6b5b4b3b2b1b0線路保護方式00文件類型無10文件類型MAC(線路保護)11文件類型DES&MAC(線路加密保護)例如:某二進制文件(文件類型為28),若希望對該文件進行線路保護,則在建立文件時將文件類型更改為:A8(0010100010101000)舉例2、實現方式如對文件進行安全報文傳送,只需在建立文件時改變文如對密鑰進行安全報文傳送(使用WriteKey,Verify等),只需在安裝密鑰時改變密鑰類型字節高兩位即可。b7b6b5b4b3b2b1b0線路保護方式00密鑰類型無01密鑰類型DES(加密保護)11密鑰類型DES&MAC(線路加密保護)例如:某密鑰(密鑰類型為39),若希望對該密鑰進行線路加密保護,則在安裝該密鑰時將密鑰類型更改為:F9(0011100111111001)如對密鑰進行安全報文傳送(使用WriteKey,Verif3、安全報文傳送的命令情況情形1沒有數據送到卡中,也沒有數據從卡中返回不含安全報文的命令含安全報文的命令注:CLA字節的低4字節必須是04Lc=4(MAC的長度)3、安全報文傳送的命令情況情形1注:CLA字節的低4字節必須情形2沒有數據送到卡中,但有數據從卡中返回不含安全報文的命令含安全報文的命令注:CLA字節的低4字節必須是04;Lc=4(MAC的長度)情形2注:CLA字節的低4字節必須是04;情形3有數據送到卡中,但沒有數據從卡中返回不含安全報文的命令含安全報文的命令注:CLA字節的低4字節必須是04情形3注:CLA字節的低4字節必須是04情形4有數據送到卡中,也有數據從卡中返回不含安全報文的命令含安全報文的命令注:CLA字節的低4字節必須是04情形4注:CLA字節的低4字節必須是044、應用舉例命令:寫二進制文件(UpdateBinary)維護密鑰值:57415443484441544154696D65434F53條件:文件標識符=0003;文件主體空間=8字節建立時采用線路加密保護(DES&MAC)操作:寫二進制文件,寫入數據:11223344556677884、應用舉例命令:寫二進制文件(UpdateBinary)[步驟1]取4字節隨機數,計算MAC用命令:0084000004響應:464E84AF9000[步驟2]寫二進制文件,寫入數據1122334455667788命令:04D6830014687E0F83F6A98580C4015CEB8D00F38B

1CABE2B9說明:687E0F83F6A98580C4015CEB8D00F38B為使用維護密鑰對數據08112233445566778880000000000000加密后的結果;1CABE2B9為使用維護密鑰生成的4字節MAC碼。響應:9000[步驟1]取4字節隨機數,計算MAC用7.2

智能卡的安全訪問機制1.鑒別與核實2.安全報文傳送3.文件訪問的安全控制4.數字簽名/認證7.2智能卡的安全訪問機制1.鑒別與核實3.文件訪問的安全控制1、安全狀態2、安全屬性3、應用實例3.文件訪問的安全控制1、安全狀態1、安全狀態是指卡當前所處的一種安全級別卡的主控目錄或者當前應用目錄分別有16種不同的安全狀態,對應0~F的16個值下列情況可能影響到相應的安全狀態卡片上電復位后卡片中所記錄的所有安全狀態都被清除,這時卡片處于最低級別的安全狀態1、安全狀態是指卡當前所處的一種安全級別外部認證命令ExternalAuthenticationPIN校驗命令VerifyPin在卡內,PIN和外部認證密鑰都有自己的后續狀態,一旦個人身份鑒別和外部認證通過,當前目錄的安全狀態便被設定為該PIN或者密鑰的后續狀態正確選擇DF后執行SelectFile指令,正確選擇MF或DF后,相應的安全寄存器被復位為0外部認證命令ExternalAuthentication2、安全屬性是指對某個文件或者文件的一部分進行某種操作時必須達到的狀態有時稱訪問權限,是在文件創立時指定的。由一個狀態區間來描述每種文件的訪問權限在建立文件(CreateFile)時用一個字節指定;每種密鑰的訪問權限在增加密鑰(WriteKey)時用一個字節指定2、安全屬性是指對某個文件或者文件的一部分進行某種操作時必須文件類型訪問權限MF/DF建立/擦除KEY文件增加——KEY文件中的密鑰使用/更改公鑰/私鑰文件使用/更改/讀二進制文件讀/寫記錄文件讀/寫普通錢包文件讀&扣款/存款電子存折/電子錢包文件使用以TimeCOS/PK為例,文件和密鑰主要存在如下訪問權限文件類型訪問權限MF/DF建立/擦除KEY文件增加——KEY假設當前安全狀態寄存器的值用V來表示訪問權限為‘0Y’時,表示需滿足V≥Y方可進行訪問[例]如某文件讀的權限為05表示在對該文件進行讀之前必須使MF的安全狀態寄存器的值大于等于5訪問權限為XY時(X不為0)表示需滿足X≥V≥Y方可進行訪問(注:當X<Y時表示禁止相應的操作)[例1]如某文件寫的權限為53表示對該文件進行寫之前必須使當前目錄的安全狀態寄存器的值為3、4或5[例2]某文件讀權限為F0,寫權限為F1代表可任意讀取,寫時必須滿足當前目錄的安全狀態寄存器的值大于等于1。假設當前安全狀態寄存器的值用V來表示假設在對某文件進行讀操作之前,要求必須先通過個人身份鑒別。一種可行的辦法是:將PIN的使用權限設為10,后續狀態定為2,而文件的讀權限定為22執行步驟卡上電復位,安全狀態被清除滿足PIN密鑰的使用權限10,執行VerifyPin指令,至此,安全狀態V=2V=2滿足文件的讀權限22H,允許對文件進行讀操作假設在對某文件進行讀操作之前,要求必須先通過個人身份3、應用實例預設環境MF下有4個二進制文件,其訪問權限分別為F0、94、23和52MF下的KEY文件中有一個PIN密鑰,其值為1122334455667788,后續狀態為77操作在驗證PIN前后分別對4個文件進行讀操作3、應用實例預設環境安全屬性(訪問權限)分析EF1:F0EF2:94EF3:23EF4:52預期結果(PIN驗證后,安全狀態變為7)EF1:EF2:EF3:EF4:永遠都滿足,可任意讀寫不可讀寫安全屬性需屬于[2,5]才可讀寫永遠都不滿足,禁止讀寫安全屬性需屬于[4,9]才可讀寫不可讀寫可讀寫可讀寫安全屬性(訪問權限)分析永遠都滿足,可任意讀寫不可讀寫安全屬實現步驟插卡,卡片上電(無安全狀態)在MF下的KEYEF中添加PIN密鑰建立4個EF文件讀取4個EF文件的內容選擇MF文件(安全狀態變為0)讀取4個EF文件的內容驗證PIN(安全狀態變為7)讀取4個EF文件的內容實現步驟7.2

智能卡的安全訪問機制1.鑒別與核實2.安全報文傳送3.文件訪問的安全控制4.數字簽名/認證7.2智能卡的安全訪問機制1.鑒別與核實4.

數字簽名/認證基本概念數字簽名/認證的過程如何在智能卡中實現數字簽名4.數字簽名/認證基本概念1、數字簽名數字簽名是建立在公鑰體制基礎上的一種服務數字簽名必須保證以下3點:接收者能夠對報文發送者的簽名進行認證發送者事后不能抵賴對報文的簽名任何人都不能偽造其他人的簽名數字簽名的一般過程“私鑰加密(簽名),公鑰解密(驗證)”1、數字簽名數字簽名是建立在公鑰體制基礎上的一種服務數字簽名過程原文原文簽名簽名存在的問題要簽名數據的大小是任意的,最終簽名的大小也是任意的。解決辦法引入單向散列算法(HASH)數字簽名過程原文原文簽名簽名存在的問題2、HASH算法單向散列函數也稱HASH函數,作用在一任意長度的消息M上,返回一個固定長度的散列值hh=H(M)(設h的長度為m)HASH函數具有如下的特性:給定M,很容易計算出h;給定h,根據h=H(M),計算M很難;給定M,要找到另一消息M’并滿足H(M)=H(M’)很難2、HASH算法單向散列函數也稱HASH函數,作用在一任意長兩種典型的HASH算法MD5算法可以產生128位的散列結果SHA算法也叫做安全散列算法,可以產生160位的散列結果。兩種典型的HASH算法3、數字簽名/驗證過程數字簽名過程簽名者通過HASH函數把原文變成固定大小簽名者用私鑰對散列結果加密,生成數字簽名簽名驗證過程驗證者獲得原文和簽名驗證者通過HASH函數把原文變成固定大小驗證者將簽名解密,并用解密結果和計算出的散列結果進行比較,如果相同,簽名有效,否則,驗證失敗,簽名無效3、數字簽名/驗證過程數字簽名過程SKA是指發送方A的私鑰,PKA是指與SKA相對應的A的公鑰。SKA是指發送方A的私鑰,PKA是指與SKA相對應的A的公鑰提出問題如何得到簽名者的公鑰?提出問題4、數字/簽名/公鑰證書公鑰證書:認證機構CA通過對一個包含身份信息和相應公鑰的數據結構進行數字簽名來捆綁用戶的公鑰和身份。這個數據結構被稱為公鑰證書證書驗證包括如下內容:驗證CA在證書上的簽名證書有良好的完整性,即:證書上的數字簽名證書在有效期內4、數字/簽名/公鑰證書公鑰證書:認證機構CA通過對一個包含簽名證書通常遵照X.509標準制成,必須含有下列信息:版本號:表示證書的版本序列號:由證書頒發者分配的證書的唯一標識符簽名密鑰持有人的名字簽名算法標識符:用于說明本證書所用的數字簽名算法主體公鑰信息證書的開始有效和終止日期簽名證書通常遵照X.509標準制成,必須含有下列信息:提出問題如何將智能卡與數字簽名聯系起來?解決問題實現數字簽名卡提出問題如何將智能卡與數字簽名解決問題實現數字簽名卡5、數字簽名卡的優點CPU卡特有的硬件制造工藝可以抵御物理、電子、化學方法的攻擊體積小,便于攜帶COS可以防止攻擊者利用軟件方式竊取卡內的機密信息存儲在卡中的私鑰絕對安全。自動鎖定保護總之,CPU卡是存儲私鑰和數字證書的理想介質。5、數字簽名卡的優點CPU卡特有的硬件制造工藝可以抵御物理、6、數字簽名卡的實現實現條件及要求智能卡支持某非對稱密碼算法(RSA、ECC等)智能卡文件系統中需有公鑰文件和私鑰文件以TimeCOS/PK為例說明數字簽名卡的實現過程TimeCOS/PK支持SHA-1算法和RSA算法可在卡內生成1024位RSA密鑰對6、數字簽名卡的實現實現條件及要求命令操作一般流程相關指令命令操作一般流程相關指令7.3智能卡防拔插處理若智能卡正在對卡片的用戶數據進行修改(如執行創建文件指令,更新EF文件的內容等)時,持卡人突然將卡從讀寫器中拔出或移開,或者讀寫器由于某種原因突然掉電,都有可能造成數據更新操作中斷,從而造成卡內用戶數據出錯。為了保證數據的完整性,COS本身應該具備處理這種突發事件的能力,也就是具有防拔插處理的能力。7.3智能卡防拔插處理若智能卡正在對卡片的用戶數據進行修改

掉電保護機制在COS主程序中,首先要判斷掉電標志位,如果標志位為‘0x01’,說明上一條命令沒有執行成功,程序將首先恢復備份數據。掉電保護機制在COS主程序中,首先要判斷掉電標志位,如果將備份區清空,將掉電標識復位①③②④⑤3種意外狀況:1)在步驟3之前發生斷電無影響2)在步驟3-5之間發生斷電進入數據安全寫恢復流程3)在步驟5之后發生斷電無影響數據備份舉例將備份區清空,①③②④⑤3種意外狀況:數據備份舉例數據備份格式示例在創建文件的時候留出一定大小的區域,用來備份數據。備份項數數據地址數據長度數據內容數據地址數據長度數據內容…1字節2字節1字節…2字節1字節……數據備份格式示例在創建文件的時候留出一定大小的區域,用來備份數據安全寫恢復流程數據安全寫恢復流程7.4智能卡的安全使用

IC卡使用時,要與讀寫器相互確認,以防止偽卡或插錯卡。使用過程:1.插卡:讀寫器向卡加電,并發復位信號,令卡初始化,做好交易準備,卡發出應答信號ATR;2.讀寫器鑒別卡的真偽;3.卡鑒別讀寫器的真偽;4.檢查卡是否列入黑名單;7.4智能卡的安全使用IC卡使用時,要與讀寫器相互確認,5.鑒別持卡人的身份:通常采用密碼比較的方法,即由持卡人輸入密碼,與卡內密碼比較;6.檢查上次交易是否完成,未完成,卡應有自動恢復數據的功能;7.根據應用需求進行交易;8.拔卡。5.鑒別持卡人的身份:通常采用密碼比較的方法,即由持卡人輸7.5安全操作相關的基本命令基本安全命令6.5.1VerifyPIN(驗證口令)6.5.2Unblock(解鎖口令)6.5.3GetChallenge(取隨機數)6.5.4ExternalAuthentication(外部認證)6.5.5InternalAuthentication(內部認證)7.5安全操作相關的基本命令基本安全命令7.5安全操作相關的基本命令RSA算法相關命令6.5.6GenerateRSAKey(生成公私鑰對)6.5.7DataCompress(數據壓縮)6.6.5DataEncrypt(數據加密)6.5.9DataDecrypt(數據解密)6.5.10DigitalSignatures(數字簽名)6.5.11SignaturesVerify(簽名驗證)7.5安全操作相關的基本命令RSA算法相關命令7.5.1VerifyPIN(驗證口令)1、命令功能描述用于校驗命令數據域的口令密鑰正確性。在滿足口令密鑰的使用權限時才可執行該命令。若口令驗證成功,則系統安全狀態寄存器的值被置成該密鑰的后續狀態,同時口令錯誤計數器被置成初始值若驗證錯誤,則口令可試次數減1,若口令已被鎖死,則不能再執行該命令。當口令長度為8字節時,可用Unblock命令對其進行解鎖。7.5.1VerifyPIN(驗證口令)1、命令功能描述2、命令報文格式代碼長度(byte)值(Hex)描述CLA100/04-INS120-P1100-P21XX口令密鑰標識號Lc102-08-DATA02-08XX…XX外部輸入的口令密鑰Le--不存在說明:密鑰標識在WriteKey時給出3、響應報文數據不存在2、命令報文格式代碼長度(byte)值(Hex)描述CLA14、響應報文狀態碼900063CX還剩X次可試機會當卡片回送63C0時,表示不能重試口令密鑰,此時再使用VerifyPIN命令時,將回送失敗狀態碼6983(認證方法鎖死)5、命令使用示例1預設環境正確的PIN值為11223344,設其密鑰標識號為01,錯誤計數器值為334、響應報文狀態碼命令報文1:APDU:002000010411223344響應報文1:9000錯誤計數器值:33命令報文2APDU:002000010411223333響應報文2:63C2錯誤計數器值:32命令報文3APDU:002000010411223344響應報文3:9000錯誤計數器值:335、命令使用示例2預設環境正確的PIN值為11223344,設其密鑰標識號為01,錯誤計數器值為33命令報文1:APDU:002000010411命令報文1APDU:002000010411223344響應報文1:9000錯誤計數器值:33命令報文2APDU:002000010411223333響應報文2:63C2錯誤計數器值:32命令報文3APDU:002000010411222222響應報文3:63C1錯誤計數器值:31命令報文4APDU:002000010411111111響應報文4:63C0錯誤計數器值:30命令報文5APDU:002000010444332211響應報文5:6983錯誤計數器值:30命令報文1APDU:002000010417.5.2Unblock(解鎖口令)1、命令功能描述用于解鎖被鎖定的8字節的口令只有滿足該解鎖口令使用條件且該解鎖口令未被鎖死時才能執行此命令,該命令不改變安全狀態若解鎖口令核對成功,則新口令取代原有口令,且將口令錯誤計數器和解鎖口令錯誤計數器恢復成原始值若解鎖口令失敗,則解鎖口令可再試次數減1,如果解鎖口令鎖死,解鎖口令無法再被解鎖。7.5.2Unblock(解鎖口令)1、命令功能描述2、命令報文格式3、響應報文數據不存在4、響應報文狀態碼略代碼長度(byte)值(Hex)描述CLA180-INS12C-P1100-P21XX解鎖口令密鑰標識Lc110-DATA16XX…XX8字節解鎖口令+8字節新口令Le--不存在2、命令報文格式3、響應報文數據代碼長度(byte)值(He5、命令使用示例預設環境某PIN密鑰被鎖,要求用密鑰標識號為06的口令解鎖密鑰進行解鎖(新口令為0102030405060708),解鎖密鑰使用權=0xF0、更改權=0xEF、錯誤計數器=0x33、8字節解鎖口令=’1122334455667788’命令報文APDU:802C00061011223344556677880102030405060708響應報文

90005、命令使用示例7.5.3GetChallenge(取隨機數)1、命令功能描述請求一個用于安全相關過程(如安全報文)的隨機數2、命令報文格式代碼長度(byte)值(Hex)描述CLA100-INS184-P1100-P2100-Lc1-不存在DATA16-不存在Le104-10要求卡片返回的隨機數長度7.5.3GetChallenge(取隨機數)1、命令功3、響應報文數據隨機數,長度為Le個字節4、響應報文狀態碼略5、命令使用示例略3、響應報文數據7.5.4InternalAuthentication(內部認證)1、命令功能描述提供了利用接口設備發來的隨機數和自身存儲的相關密鑰進行數據認證的功能。在滿足該密鑰的使用條件時才能執行此命令

參看流程圖7.5.4InternalAuthentication(2、內部認證過程內部認證是讀卡器對卡片的認證,認證過程如下圖所示:終端方向卡片產生1個8字節隨機數RNDIFD送RNDIFD作內部認證用指定的DES加密密鑰對隨機數RNDIFD進行DES加密運算,產生鑒別數據D1。即:D1=DES(K,RNDIFD)送D1用與卡片DES加密密鑰相同密鑰對RNDIFD進行DES解密運算,產生D2,后比較D1和D2。即:1)D2=DES-1(K,RNDIFD)2)D1?=D22、內部認證過程終端方向卡片產生1個8字節隨機數RNDIFD3、命令報文格式代碼長度(byte)值(Hex)描述CLA100-INS188-P1100加密01解密02計算MACP21XXDES密鑰標識號Lc1XX-DATAXXXX..XX認證數據Le100-說明:P1=00表示進行加密運算,密鑰類型是DES加密密鑰P1=01表示進行解密運算,密鑰類型是DES解密密鑰P1=02表示進行MAC運算,密鑰類型是DES&MAC密鑰3、命令報文格式代碼長度(byte)值(Hex)描述CLA14、響應報文數據相關認證數據,即DES運算的結果。5、響應報文狀態碼略6、命令使用示例1預設環境密鑰標識號=01;密鑰類型是DES加密密鑰;使用權限=0xF0;更改權限=0xEF,16字節密鑰為“57415443484441544154696D65434F53”;讀卡器產生的隨機數為“1122334455667788”命令報文APDU:00880001081122334455667788響應報文

07CBF615E7D72F969000DES加密結果BACKTO鑒別4、響應報文數據DES加密結果BACKTO鑒別7、命令使用示例2預設環境密鑰標識號=01;密鑰類型為DES解密密鑰;使用權限=0xF0;更改權限=0xEF,16字節密鑰為“57415443484441544154696D65434F53”;待解密數據為“07CBF615E7D72F96”命令報文APDU:008801010807CBF615E7D72F96響應報文112233445566778890007、命令使用示例28、命令使用示例3預設環境密鑰標識號=01;密鑰類型為DES&MAC解密密鑰;使用權限=0xF0;更改權限=0xEF,16字節密鑰為“57415443484441544154696D65434F53”;待計算MAC數據=“1122334455667788”

命令報文APDU:00880201081122334455667788響應報文8756E2859000

說明:“8756E285”是MAC計算結果,計算MAC的8字節初始值是“0000000000000000”8、命令使用示例37.5.5ExternalAuthentication(外部認證)1、命令功能描述IC卡驗證讀卡器的真偽在滿足該外部認證密鑰的使用權限且該密鑰未被鎖死時才可執行該命令將命令中的數據用指定外部認證密鑰解密,然后與先前產生的隨機數進行比較若一致則表示認證通過若不一致則認證失敗

參看流程圖7.5.5ExternalAuthentication(2、外部認證過程外部認證是卡片對讀卡器的認證,認證過程如下:終端方向卡片取8字節隨機數產生1個8字節隨機數RNDICC送隨機數RNDICC用與卡片認證密鑰相同密鑰對RNDICC進行DES加密運算,產生D1,即:D1=DES(K,RNDIFD)送D1作外部認證用指定的外部認證密鑰對D1進行DES解密運算,產生鑒別數據D2。,后比較D2和RNDICC。即:1)D2=DES-1(K,RNDIFD)2)D2?=RNDICC送比較結果(SW1SW2),若為9000,則置安全狀態寄存器值為該密鑰后續狀態2、外部認證過程終端方向卡片取8字節隨機數產生1個8字節隨機3、命令報文格式代碼長度(byte)值(Hex)描述CLA100-INS182-P1100-P21XX外部認證密鑰標識號Lc18-DATA8XX…XX8字節加密后的隨機數Le---說明:若認證通過,置安全狀態寄存器為該密鑰規定的后續狀態值,錯誤計數器恢復成初始值;若認證失敗,可再試錯誤數減1,且不改變安全狀態寄存器的值3、命令報文格式代碼長度(byte)值(Hex)描述CLA14、響應報文數據不存在5、響應報文狀態碼略6、命令使用示例預設環境外部認證密鑰標識號=01;使用權限=0xF0;更改權限=0xEF;錯誤計數器=0x33;后續狀態=11;16字節密鑰為“57415443484441544154696D65434F53”;BACKTO鑒別4、響應報文數據BACKTO鑒別命令報文

[步驟1]取8字節隨機數。APDU:0084000008響應:D389BF6745B935509000[步驟2]讀卡器用與外部認證密鑰相同的密鑰“57415443484441544154696D65434F53”對隨機數進行加密,加密后的結果為C2A85B4B13402521[步驟3]讀卡器將加密后的隨機數送到卡中作外部認證

APDU:0082000008C2A85B4B13402521

響應:9000

說明:成功執行后置安全狀態寄存器值為該外部認證密鑰的后續狀態1命令報文7.5.6GenerateRSAKey(生成公私鑰對)1、命令功能描述該命令用于卡片自動生成模長為1024位的RSA密鑰對,根據P1、P2參數的不同,決定私鑰是回送出來還是存于由P2指定的私鑰文件中7.5.6GenerateRSAKey(生成公私鑰對)2、命令報文格式代碼長度(byte)值(Hex)描述CLA180-INS1CE-P1100-P21XX私鑰文件標識符Lc--不存在DATA--不存在Le100-說明:P2=00時,私鑰回送給終端,否則,私鑰存于由P1、P2指定的文件標識的私鑰文件中。2、命令報文格式代碼長度(byte)值(Hex)描述CLA3、響應報文數據公鑰(包括模數n和公開指數e)若P2=00時,響應報文還包括私鑰(包括q,dmod(q-1)、p、dmod(p-1)、q-1modp)響應報文將以TLV格式送出,T定義如下:T(Hex)含義6E模數n65公開指數e70素數p71素數q50私鑰指數dmod(q-1)51私鑰指數dmod(p-1)49q-1modp3、響應報文數據T(Hex)含義6E模數n65公開指數e704、響應報文狀態碼略5、命令使用示例略4、響應報文狀態碼7.5.7DataCompress(數據壓縮)1、命令功能描述用安全散列算法SHA-1將數據壓縮為20個字節,用RSA簽名或驗證時使用2、命令報文格式代碼長度(byte)值(Hex)描述CLA180-INS1CC-P1P22XXXX見說明Lc1XX-DATAXXXX…XX待壓縮數據Le114-7.5.7DataCompress(數據壓縮)1、命令功說明:若數據總長度小于138字節,直接對該數據進行壓縮;否則以64字節為一塊重復執行此命令進行分塊壓縮,壓縮結果由最后一塊數據產生。說明:若數據總長度小于138字節,直接對該數據進行壓縮;否則3、響應報文數據當進行單塊數據壓縮時,響應報文是20字節HASH結果當進行分塊數據壓縮時,除對最后一塊數據壓縮,卡片只回送9000,并不返回壓縮結果,只有對最后一塊數據進行壓縮時,卡片才返回壓縮結果。4、響應報文狀態碼略5、命令使用示例1預設環境對長度為64字節的數據(’0’串)進行壓縮,輸入數據不需保留3、響應報文數據命令報文APDU:80CC404040DATA(DATA表示64個字節的0)響應報文

C8D7D0EF0EEDFA82D2EA1AA592845B9A6D4B02B790006、命令使用示例2預設環境:對長度為160(64+64+32)字節的數據(’0’串)進行壓縮,將輸入數據保留在卡內命令報文命令報文1APDU:80CC3FFF40DATA1(64個字節的0)響應報文1:9000命令報文2APDU:80CCBFFF40DATA2(64個字節的0)響應報文2:9000命令報文3APDU:80CC80A020DATA3(32個字節的0)響應報文3:9797EDF8D0EED36B1CF92547816051C8AF4E45EE9000命令報文1APDU:80CC3FFF40DAT7.5.8DataEncrypt(數據加密)1、命令功能描述用非對稱密碼算法RSA的公鑰對數據進行加密在滿足該公鑰文件的使用權限時才能執行此命令7.5.8DataEncrypt(數據加密)1、命令功能2、命令報文格式代碼長度(byte)值(Hex)描述CLA180-INS1C6-P1P22XXXX公鑰文件標識符Lc1XX-DATAXXXX…XX需要加密的數據Le180說明:1)P1P2=0000時,表示用卡內臨時公鑰對數據進行加密。該臨時公鑰由DataCompress命令分批送入。2)在進行數據加密之前,COS會對加密數據進行編碼,后對編碼數據進行加密運算。2、命令報文格式代碼長度(byte)值(Hex)描述CLA1編碼數據EM=00||BT||PS||00||DBT=02,表示為數據加密。PS為不小于8字節的隨機數D:待加密數據(加密數據最大長度為117字節)3、響應報文數據由加密后的密文組成4、響應報文狀態碼略5、命令使用示例略編碼數據EM=00||BT||PS||00||D7.5.9DataDecrypt(數據解密)1、命令功能描述用非對稱密碼算法RSA的私鑰對加密數據進行解密在滿足該私鑰文件的使用權限時才能執行此命令。7.5.9DataDecrypt(數據解密)1、命令功能2、命令報文格式代碼長度(byte)值(Hex)描述CLA180-INS1C8-P1P22XXXX私鑰文件標識符Lc180-DATA128XX…XX需解密的密文Le100-3、響應報文數據由解密后的明文組成2、命令報文格式代碼長度(byte)值(Hex)描述CLA14、響應報文狀態碼略5、命令使用示例略4、響應報文狀態碼7.5.10DigitalSignatures(數字簽名)1、命令功能描述用非對稱密碼算法RSA的私鑰對數據進行簽字在滿足該私鑰文件的使用權限時才能執行此命令7.5.10DigitalSignatures(數字簽名2、命令報文格式代碼長度(byte)值(Hex)描述CLA180-INS1C2-P1P22XXXX私鑰文件標識符Lc1XX-DATAXXXX…XX需要簽字的數據Le180-說明:Lc=00時,表示用卡中壓縮好的數據進行簽名(即先將須簽字的數據用DataCompress命令進行壓縮)3、響應報文數據略2、命令報文格式代碼長度(byte)值(Hex)描述CLA14、響應報文狀態碼略5、命令使用示例略4、響應報文狀態碼7.5.11SignaturesVerify(簽名驗證)1、命令功能描述用非對稱密碼算法RSA的公鑰對簽名數據進行認證在滿足該公鑰文件的使用權限時才能執行此命令7.5.11SignaturesVerify(簽名驗證)2、命令報文格式代碼長度(byte)值(Hex)描述CLA180-INS1C4-P1P22XXXX公鑰文件標識符Lc180-DATA128XX…XX本公鑰對應的私鑰所產生的數字簽名Le180-說明:P1P2=0000時,表示用卡內臨時公鑰對數據進行驗證。該臨時公鑰由DataCompress命令分批送入。2、命令報文格式代碼長度(byte)值(Hex)描述CLA13、響應報文數據由認證后的數據組成(128字節),認證后的數據EM=00||BT||PS||00||D1)BT=01,表示為數字簽名2)PS=‘FF…FF’,表示填充數據PS由‘FF’數據塊組成。PS的長度=LEN(EM)-3-LEN(D)。PS至少為1個字節的‘FF’3)D=30||XX(LEN(M)+0D)||30||09||06||05||2B||0E||03||02||1A||05||00||04||LEN(M)||M(M的長度最大為108字節)3、響應報文數據4、響應報文狀態碼略5、命令使用示例略4、響應報文狀態碼本章小結1、密鑰管理三層密鑰管理系統(主密鑰、子密鑰、會話密鑰)2、智能卡的安全訪問機制鑒別與核實內/外部認證PIN驗證(明碼驗證、密碼驗證)生物識別本章小結1、密鑰管理安全報文傳送保證完整性(MAC)保證機密性(對稱加密算法)保證完整性和機密性文件訪問的安全控制安全狀態安全屬性(或訪問權限)數字簽名/認證安全報文傳送3、智能卡的防插拔處理待修改數據備份掉電標識置位更新數據掉電標識復位4、智能卡的安全使用卡和讀卡器相互驗證檢查黑名單驗證持卡人身份5、安全操作相關的基本指令3、智能卡的防插拔處理思考題:1、為驗證持卡人是否是假冒的而經常采取的驗證方法是什么?2、如果持卡人多次輸入PIN,但都不正確,將發生什么情況?3、說明智能卡和讀寫設備之間相互認證的方法,即如何確定對方是真實的而不是偽造的。4、系統中交換信息報文時在報尾增加鑒別碼的作用及產生方法。思考題:141TheEnd141TheEnd命令報文格式(不帶線路保護)代碼長度(byte)值(Hex)描述CLA100-INS1D6-P11XXP21XXLc1XX-DATAXXXX…XX寫入文件的數據Le--不存在1)2)前提:所寫文件為當前文件命令報文格式(不帶線路保護)代碼長度(byte)值(Hex)CreateFile1、命令報文格式代碼長度(byte)值(Hex)描述CLA180INS1E0P1P22XXXX文件標識符FIDLc1XXDATALcXX…XX文件控制信息Le不存在CreateFile1、命令報文格式代碼長度(byte)值建立MF文件時P1P2=‘3F00’DATA域文件控制信息為DATA文件類型文件空間建立權限擦除權限8字節傳輸代碼長度(byte)12118值(HEX)38FFFFXXXXXX…XX建立DF文件時DATA域文件控制信息為DATA文件類型文件空間建立權限擦除權限保留字DF名稱(可選)長度(byte)121135-16值(HEX)38XXXXXXXXFFFFFFDF名稱建立MF文件時DATA文件類型文件空間建立權限擦除權限8字節建立EF文件時Lc=’07’DATA域文件控制信息為(不帶線路保護時)‘FF’‘FF’存款權限讀/扣款權限記錄長度記錄數‘2F’普通錢包文件‘FF’‘FF’寫權限讀權限記錄長度記錄數‘2A’定長記錄文件‘FF’‘FF’寫權限讀權限記錄長度記錄數‘2E’循環文件‘FF’‘FF’寫權限讀權限文件空間‘2C’變長記錄文件‘FF’讀權限更改權限使用權限文件空間≥330‘3D’私鑰文件‘FF’讀權限更改權限使用權限文件空間≥135‘3E’公鑰文件當前DF文件SFI讀權限Byte4文件空間文件空間Byte2‘FF’‘FF’增加權限‘3F’密鑰文件‘FF’‘FF’寫權限‘28’二進制文件Byte7Byte6Byte5Byte3Byte1數據域文件類型建立EF文件時‘FF’‘FF’存款權限讀/扣款權限記錄長度記ReadBinary(不帶線路保護)代碼長度(byte)值(Hex)描述CLA100-INS1B0-P11XXP21XXLc--不存在DATA--不存在Le1XX要讀取的數據長度注:ReadBinary(不帶線路保護)代碼長度(byte)值ReadBinary代碼長度(byte)值(Hex)描述CLA100/04-INS1B0-P11XXP21XXLc--不存在(CLA=04時除外)DATA--不存在(CLA=04時,應包括MAC)Le1XX要讀取的數據長度注:ReadBinary代碼長度(byte)值(Hex)描述C代碼長度(byte)值(Hex)描述CLA100/04-INS1D6-P11XXP21XXLc1XX-DATAXXXX…XX寫入文件的數據Le--不存在UpdateBinary代碼長度(byte)值(Hex)描述CLA100/04-IN149第七章智能卡安全技術1第七章智能卡安全技術關鍵技術身份鑒別報文鑒別數據加密數字簽名關鍵技術身份鑒別主要內容7.1密鑰管理系統7.2智能卡的安全訪問機制7.3智能卡防拔插處理

7.4智能卡的安全使用7.5安全操作相關的基本命令主要內容7.1密鑰管理系統7.1密鑰管理系統1.何為密鑰管理?

密鑰管理是一門綜合性的技術,它涉及密鑰的產生、檢驗、分配、傳遞、保管和使用。7.1密鑰管理系統1.何為密鑰管理?2.密鑰管理系統——層次結構

基本思想:用密鑰保護密鑰用第i層的密鑰Ki來保護第i+1層密鑰Ki+1Ki本身也受到第i-1層密鑰Ki-1的保護下層的密鑰可按某種協議不斷變化;密鑰管理系統是動態變化的2.密鑰管理系統——層次結構(1)三層密鑰管理系統的結構(2)三層密鑰管理系統的舉例設采用對稱密碼體制主密鑰在智能卡和讀寫器中存放相同的主密鑰子密鑰主密鑰對某些指定的數據加密后生成子密鑰主密鑰子密鑰會話密鑰①②③(1)三層密鑰管理系統的結構(2)三層密鑰管理系統的舉例主密如:每張卡的芯片制造商的標識碼的序列號或應用序列號是不相同的,且都設置在IC卡內,因此可利用序列號進行加密生成子密鑰;

會話密鑰用子密鑰對可變數據進行加密,加密的結果即為會話密鑰(或過程密鑰)。一個會話密鑰僅使用一次。如:用子密鑰對交易時間或命令計數器進行加密生成會話密鑰,這樣即使是同一張卡,每次使用時的會話密鑰就不同,或做不同的操作,會話密鑰也不同。如:每張卡的芯片制造商的標識碼的序列號或應用序列號是不相同的3.主密鑰的生成主密鑰可由幾個可信任的人彼此獨立提出的數據組合成一個密鑰,然后對隨機數進行加密運算而獲得,這樣主密鑰的生成和變化規律就很難估計。3.主密鑰的生成4.主密鑰的下載IC卡中主密鑰的下載主密鑰下載是在專門設備上進行的,下載的環境是安全的;但要保證IC卡上的觸點的信息不能被竊取,主密鑰下載后,不能再讀出,這由硬件(熔絲)和軟件(COS卡內操作系統)來保證4.主密鑰的下載讀寫器中主密鑰的下載讀寫器內部沒有COS,不能保證主密鑰不被讀出,常采用安全存取模塊SAM,密鑰下載到SAM模塊中,加密/解密算法也在SAM中進行。讀寫器中主密鑰的下載7.2

智能卡的安全訪問機制1.鑒別與核實2.安全報文傳送3.文件訪問的安全控制4.數字簽名/認證7.2智能卡的安全訪問機制1.鑒別與核實1.鑒別與核實鑒別(Authentication)指的是對智能卡(或者是讀寫設備)的合法性的驗證,即是如何判定一張智能卡(或讀寫設備)不是偽造的卡(或讀寫設備)的問題;核實(verify)是指對智能卡的持有者的合法性的驗證,也就是如何判定一個持卡人是否經過了合法的授權的問題。1.鑒別與核實鑒別(Authentication)指的是對讀寫器鑒別IC卡的真偽(內部認證)讀寫器生成隨機數N,并向卡發內部認證指令(InternalAuthentication),將隨機數送卡;卡對隨機數N加密成密文M(密鑰已存在卡和讀寫器中),并將M送讀寫器;讀寫器將M解密成明文N1;讀寫器將明文N1和原隨機數N比較,相同則讀寫器認為卡是真的。讀寫器鑒別IC卡的真偽(內部認證)讀寫器生成隨機數N,并向卡IC卡鑒別讀寫器的真偽(外部認證)讀寫器向卡發生成隨機數命令卡產生隨機數N,并送讀寫器;讀寫器對隨機數加密成密文M(密鑰已存在卡和讀寫器中);讀寫器向卡發外部認證命令(ExternalAuthentication),并將密文M送卡;卡將密文M解密成明文N1,并將明文N1和原隨機數N比較,相同則卡認為讀寫器是真的。IC卡鑒別讀寫器的真偽(外部認證)讀寫器向卡發生成隨機數命令鑒別鑒別核實方法驗證個人識別號PIN(personalidentificationnumber);生物特征;下意識特征;核實方法PINPIN(PersonalIdentificationNumber)個人識別號是IC卡中的保密數據。功能:保證只有合法持卡人才能使用該卡或卡中的某一項或幾項功能,以防止拾到該卡的人惡意使用或非法偽造。錯誤計數器:用以記錄、限制PIN輸入錯誤的次數PINPIN(PersonalIdentificationPIN的類型全局PIN(GlobalPIN)處于系統的較高層次(如主文件)中,一旦因錯誤計數溢出等原因自鎖,也同時鎖住使用該PIN的其他應用層次。局部PIN(LocalPIN)處于某一具體應用層次中,一旦因錯誤計數溢出等原因自鎖,則僅鎖住該應用層次。PIN的類型全局PIN(GlobalPIN)PIN功能簡單匯總表功能簡單IC卡復雜IC卡(如CPU卡)PIN無或有有PIN數量一個若干個PIN位數較短較長/可自定義(如1~8位十進制數)PIN輸入錯誤限制次數較少(如3次)較長/可自定義(如1~15次)全局/局部PIN否是可修改性等其他屬性否是個人解鎖碼(PUC)否是PUC:PersonalUnblockingCodePIN功能簡單匯總表功能簡單IC卡復雜IC卡(如CPUPIN明碼識別讀卡器與卡間以明碼傳輸,在IC卡內部完成PIN的鑒別PIN明碼識別讀卡器與卡間以明碼傳輸,在IC卡內部完成PINPIN密碼識別PIN密碼識別生物識別生物識別技術就是依靠人體的身體特征來進行身份驗證的技術,例如語音、掌紋、面孔、虹膜、視網膜、骨

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論