版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第8章IC卡及其芯片存儲(chǔ)器芯片邏輯加密芯片CPU芯片(內(nèi)含COS)本章主要內(nèi)容第8章IC卡及其芯片8.1IC卡的存儲(chǔ)器芯片
8.2接觸式IC卡的邏輯加密卡
8.3非接觸式IC卡(Mifare卡)
8.4COS(ChipOperatingSystem)引言IC卡按使用芯片不同,可分成存儲(chǔ)卡、邏輯加密卡和智能卡。IC卡家族圖RFID家族成員示意圖8.1IC卡的存儲(chǔ)器芯片存儲(chǔ)固定信息和消費(fèi)信息(可修改);只有與讀寫(xiě)器接觸時(shí)才取得能量;存儲(chǔ)器的性能:存儲(chǔ)器的類(lèi)型:EEPROM;有8個(gè)引出端、其中一個(gè)為數(shù)據(jù)I/O端;信息傳送以串行方式進(jìn)行;美國(guó)ATMEL公司的AT24C01A/02/04/08/16為例:1.芯片特點(diǎn)低電壓內(nèi)部組成AT24C01A(1K:128*8)雙線串行接口(時(shí)鐘SCL,串行數(shù)據(jù)SDA)支持ISO/IEC7816-10同步協(xié)議高可靠性:10萬(wàn)次、100年2.芯片封裝C1C5C2C6C3C7VCCNCSCLGNDNCSDA芯片的觸點(diǎn)引出端名功能C1C2C3C5C6C7VCCNCSCL(CLK)GNDNCSDA/(I/O)工作電壓未連接串行時(shí)鐘地未連接串行數(shù)據(jù)(I/O)3.EEPROM邏輯圖Q:EEPROM如何讀寫(xiě)?器件地址輸入端(標(biāo)準(zhǔn)封裝)SCL(串行時(shí)鐘):SCL上升沿將數(shù)據(jù)輸入到EEPROM芯片,下降沿將EEPROM中的數(shù)據(jù)讀出。SDA(串行數(shù)據(jù)):雙向串行數(shù)據(jù)傳送端,采用漏極開(kāi)路驅(qū)動(dòng),可以進(jìn)行?串行控制邏輯:用于區(qū)分SCL和SDA。地址/計(jì)數(shù)器:形成訪問(wèn)EEPROM的地址,分別送X譯碼器進(jìn)行字選,送Y譯碼器進(jìn)行位選。升壓/定時(shí)線路:為EEPROM的寫(xiě)入操作提供高電壓(12V~20V)4.器件操作數(shù)據(jù)和時(shí)鐘傳送:SCL和SDA通常各自通過(guò)一個(gè)電阻上拉到高電平。SDA上的數(shù)據(jù)僅在和SCL為高電平時(shí)有效,低電平時(shí)允許數(shù)據(jù)變化。當(dāng)數(shù)據(jù)(包括地址、數(shù)據(jù))由接口設(shè)備送往AT24Cxx時(shí),稱(chēng)為輸出數(shù)據(jù)(寫(xiě)數(shù)據(jù))。數(shù)據(jù)總是按字節(jié)(8位)逐位串行輸出,每個(gè)時(shí)鐘脈沖輸出一位。SDA總線上的數(shù)據(jù)應(yīng)在SCL低電平期間改變(輸出),在SCL高電平期間穩(wěn)定?;贛CS-51單片機(jī)的接口設(shè)備可利用如下串行輸出字節(jié)子程序WRITE來(lái)實(shí)現(xiàn)輸出(寫(xiě))一個(gè)字節(jié)數(shù)據(jù)的操作。(1)輸出數(shù)據(jù)WRITE:;串行輸出一個(gè)字節(jié)到AT24Cxx,高位在前。調(diào)用前,SCL、SDA為低。返回時(shí),SCL為低。調(diào)用時(shí)數(shù)據(jù)置入A中。返回CY為1表明應(yīng)答失敗。占用A累加器 PUSH B MOV B,#8 ;設(shè)置位計(jì)數(shù)器L1: RLC A ;移一位到CY中 MOV SDA,C ;輸出位 NOP ;保持SCL為低且使數(shù)據(jù)穩(wěn)定 SETB SCL ;升高時(shí)鐘 ACALL DELAY_4μs;保持SCL為高 CLR SCL ;降低時(shí)鐘 DJNZ B,L1 ;傳送下一位 SETB SDA ;釋放SDA等待應(yīng)答 NOP ;保持SCL為低,保持時(shí)間tAA NOP SETB SCL ;升高ACK時(shí)鐘脈沖 ACALL DELAY_4μs;保持SCL為高 MOV C,SDA ;讀入ACK位 CLR SCL ;降低ACK時(shí)鐘脈沖 POP B RET當(dāng)接口設(shè)備從AT24Cxx的數(shù)據(jù)線上讀取數(shù)據(jù)時(shí),稱(chēng)為輸入數(shù)據(jù)(讀數(shù)據(jù))。數(shù)據(jù)總是按字節(jié)(8位)逐位串行輸入,每個(gè)時(shí)鐘脈沖輸入一位。AT24Cxx的EEPROM在SCL低電平期間將數(shù)據(jù)送往SDA總線,在SCL高電平期間,SDA總線上的數(shù)據(jù)穩(wěn)定,可供接口設(shè)備讀取?;贛CS-51單片機(jī)的接口設(shè)備可利用如下串行輸入字節(jié)子程序READ來(lái)實(shí)現(xiàn)輸入(讀)一個(gè)字節(jié)數(shù)據(jù)的操作。(2)輸入數(shù)據(jù)READ:;從AT24Cxx串行輸入一個(gè)字節(jié),高位在前。調(diào)用前,SCL為低。返回時(shí),SCL為低。返回時(shí)接收到的數(shù)據(jù)置于A中 SETB SDA ;使SDA為高,準(zhǔn)備讀 PUSH B MOV B,#8 ;設(shè)置位計(jì)數(shù)器L2: NOP ;保持SCL為低且使數(shù)據(jù)穩(wěn)定 NOP SETB SCL ;升高時(shí)鐘 NOP ;保持SCL為高 NOP MOV C, SDA ;輸入位 RLC A ;將位移入A CLR SCL ;降低時(shí)鐘 DJNZ B,L2 ;傳送下一位 POP B RET當(dāng)SCL高電平時(shí),如數(shù)據(jù)變化,則將形成“開(kāi)始”或“停止”兩種狀態(tài)。SCL處于高電平時(shí),SDA從高電平轉(zhuǎn)向低電平表示一個(gè)“開(kāi)始”狀態(tài),該狀態(tài)表示一種操作的開(kāi)始,因此必須在任何其他命令之前執(zhí)行。AT24Cxx開(kāi)始/停止定義時(shí)序圖見(jiàn)圖。
(1)開(kāi)始狀態(tài)(START)START:;發(fā)送START狀態(tài),定義當(dāng)SCL為高時(shí),SDA從高到低。返回時(shí),SCL、SDA為低。當(dāng)總線無(wú)效時(shí),返回CY位為高 SETB SDA ;升高SDA SETB SCL ;校驗(yàn)總線有效 JNB SDA,ERROR1;若SDA不為高則跳轉(zhuǎn)到ERROR1 JNB SCL,BACK1 ;若SCL不為高則跳轉(zhuǎn)到BACK1 NOP ;保持?jǐn)?shù)據(jù)建立延遲及周期延遲基于MCS-51單片機(jī)的接口設(shè)備可利用如下開(kāi)始子程序START來(lái)實(shí)現(xiàn)一個(gè)開(kāi)始操作。 CLR SDA ;降低SDA ACALL DELAY_4μs;保持SDA為低,保持時(shí)間4μs CLR SCL ;降低SCL CLR C ;清零錯(cuò)誤標(biāo)志 AJMP BACK1ERROR1:SETB C ;置位錯(cuò)誤標(biāo)志BACK1: RETSCL處于高電平時(shí),SDA由低電平轉(zhuǎn)向高電平表示一個(gè)“停止”狀態(tài)。該狀態(tài)表示一種操作的結(jié)束并將終止所有通信。在一個(gè)讀序列之后,停止命令置EEPROM于待機(jī)模式。(2)停止?fàn)顟B(tài)(STOP)基于MCS-51單片機(jī)的接口設(shè)備可利用如下停止子程序STOP來(lái)實(shí)現(xiàn)一個(gè)停止操作。STOP:;發(fā)送STOP狀態(tài),定義當(dāng)SCL為高時(shí),SDA從低變高。調(diào)用前,SCL為低。返回時(shí),SCL、SDA為高 CLR SDA NOP ;保持SCL為低及數(shù)據(jù)穩(wěn)定 NOP SETB SCL ACALL DELAY_4μs;保持建立延遲 SETB SDA RET5.器件尋址1K、2K、4K、8K和16KEEPROM在開(kāi)始狀態(tài)之后緊跟8位器件地址,使芯片能執(zhí)行讀/寫(xiě)操作。1010A2A1A0R/W1K/2KMSBLSBA2、A1、A0為器件地址,與硬布線輸入端相對(duì)應(yīng)。R/W是讀/寫(xiě)操作選擇位,高電平為讀,低電平為寫(xiě)。1010A2A1P0R/W4KMSBLSB1010A2P1P0R/W8K1010P2P1P0R/W16K4KEEPROM:A2、A1為地址位,另一位為頁(yè)面地址位P0。A2A1必須與硬件布線端相對(duì)應(yīng)。頁(yè)面地址位也就是隨后的數(shù)據(jù)字地址的最高位。6.寫(xiě)操作(1)寫(xiě)字節(jié)(BYTEWRITE
)寫(xiě)字節(jié)時(shí)序見(jiàn)圖8.1。寫(xiě)字節(jié)時(shí)序要求在給出“開(kāi)始”狀態(tài)、器件地址碼和收到卡的確認(rèn)應(yīng)答ACK后,緊跟著給出一個(gè)8位地址碼(32KB芯片是2個(gè)8位地址碼)??ㄊ盏降刂反a后發(fā)出確認(rèn)應(yīng)答ACK。圖8.1AT24Cxx寫(xiě)字節(jié)時(shí)序圖然后送8位數(shù)據(jù)到SDA線上,并進(jìn)入EEPROM單元,每個(gè)時(shí)鐘節(jié)拍送入1位。EEPROM單元收到數(shù)據(jù)后,通過(guò)SDA線發(fā)出確認(rèn)應(yīng)答ACK。數(shù)據(jù)傳送設(shè)備必須用“停止”狀態(tài)來(lái)結(jié)束寫(xiě)操作。這時(shí)EEPROM進(jìn)入內(nèi)部定時(shí)的寫(xiě)周期,如圖中的tWR,在寫(xiě)周期期間,將數(shù)據(jù)寫(xiě)入非易失性存儲(chǔ)器,并禁止所有其他操作直到寫(xiě)完成。圖8.2AT24Cxx寫(xiě)周期時(shí)序圖基于MCS-51單片機(jī)的接口設(shè)備可利用如下寫(xiě)字節(jié)子程序WRITE_BYTE來(lái)實(shí)現(xiàn)寫(xiě)字節(jié)操作。WRITE_BYTE:;AT24Cxx寫(xiě)字節(jié)功能。調(diào)用前可編程的器件地址programmableaddress置于A中,字節(jié)地址置于寄存器ADDR_H和ADDR_L中,數(shù)據(jù)置于寄存器XDATA中。未等待寫(xiě)周期完成。返回CY為1表明總線無(wú)效或該器件無(wú)應(yīng)答。占用A累加器 ACALL START;開(kāi)始子程序 JC BACK2 ;若總線無(wú)效則中斷 OR A,#FADDR ;加入固定器件地址 CLR ACC.0 ;設(shè)置寫(xiě),建立器件地址ACALL WRITE ;發(fā)送器件地址JC ERROR2 ;若無(wú)應(yīng)答則中斷MOV A,ADDR_H ;發(fā)送字節(jié)地址的高8位ACALL WRITE JC ERROR2 ;若無(wú)應(yīng)答則中斷MOV A,ADDR_L ;發(fā)送字節(jié)地址的低8位ACALL WRITE JC ERROR2 ;若無(wú)應(yīng)答則中斷MOV A,ADATA ;取數(shù)據(jù)ACALL WRITE ;發(fā)送數(shù)據(jù)JC ERROR2 ;若無(wú)應(yīng)答則中斷CLR C ;清零錯(cuò)誤標(biāo)志ERROR2:ACALL STOPBACK2:RET(2)寫(xiě)頁(yè)面(輸出數(shù)據(jù))1K/2KEEPROM能進(jìn)行8字節(jié)頁(yè)面寫(xiě)入,4K/8K/16K設(shè)備能進(jìn)行16字節(jié)頁(yè)面寫(xiě)入。寫(xiě)頁(yè)面操作與寫(xiě)字節(jié)操作類(lèi)似,但數(shù)據(jù)傳送設(shè)備不需要在第一個(gè)字節(jié)輸入后發(fā)停止?fàn)顟B(tài)。在EEPROM確認(rèn)收到第一個(gè)數(shù)據(jù)后,數(shù)據(jù)傳送設(shè)備再傳送7個(gè)(1K/2K)或15個(gè)(4K/8K/16K)字節(jié)數(shù)據(jù),在每一個(gè)數(shù)據(jù)收到后,EEPROM都要通過(guò)SDA送回確認(rèn)信號(hào),最后數(shù)據(jù)傳送設(shè)備通過(guò)停止?fàn)顟B(tài)終止寫(xiě)頁(yè)面。圖8.3寫(xiě)頁(yè)面時(shí)序圖數(shù)據(jù)地址的低3位(對(duì)于AT24C01/02)或4位(對(duì)于AT24C04/08/16)在收到每個(gè)數(shù)據(jù)字后,在芯片內(nèi)部自動(dòng)加1。數(shù)據(jù)字地址的高位字節(jié)保持不變,以保持存儲(chǔ)器頁(yè)地址不變。如果傳送到EEPROM中的數(shù)據(jù)字超過(guò)8(對(duì)于AT24C01/02)或16(對(duì)于AT24C04/08/16),數(shù)據(jù)字地址將“滾動(dòng)覆蓋”,以前寫(xiě)入的數(shù)據(jù)將被覆蓋?;贛CS-51單片機(jī)的接口設(shè)備可利用如下寫(xiě)塊子程序WRITE_BLOCK來(lái)實(shí)現(xiàn)寫(xiě)頁(yè)面操作。WRITE_BLOCK:;向AT24Cxx寫(xiě)入一頁(yè)數(shù)據(jù)。調(diào)用時(shí)器件地址的可編程地址置于A中,第一個(gè)字節(jié)地址置于寄存器ADDR_H和ADDR_L中,數(shù)據(jù)置于BUFFER中,字節(jié)計(jì)數(shù)器置于寄存器COUNT中。未等待寫(xiě)周期完成。返回時(shí)CY位為1表明總線無(wú)效或器件無(wú)應(yīng)答。占用A,COUNT,INDEX(注:INDEX為數(shù)據(jù)緩沖區(qū)指針,可使用工作寄存器R0)ACALL STARTJC BACK3 ;總線無(wú)效則中斷OR A,#FADDR ;生成器件地址CLR ACC.0 ;定義寫(xiě)操作ACALL WRITE ;發(fā)送器件地址JC ERROR3 ;無(wú)應(yīng)答則中斷MOV A,ADDR_H ;發(fā)送字節(jié)地址高8位ACALL WRITE JC ERROR3 ;無(wú)應(yīng)答則中斷MOV A,ADDR_L ;發(fā)送字節(jié)地址低8位ACALL WRITE JC ERROR3 ;無(wú)應(yīng)答則中斷MOV INDEX,#BUFFER ;指向數(shù)據(jù)緩沖區(qū)首地址L3: MOV A,@INDEX ;取數(shù)據(jù) ACALL WRITE ;發(fā)送數(shù)據(jù) JC ERROR3 ;無(wú)應(yīng)答則中斷 INC INDEX ;地址指針加1 DJNZ COUNT,L3 ;下一個(gè)字節(jié) CLR C ;清零錯(cuò)誤標(biāo)志ERROR3:ACALL STOPBZCK3:RET復(fù)習(xí)IC卡的詳細(xì)分類(lèi)(家族圖)存儲(chǔ)卡的芯片特點(diǎn)存儲(chǔ)卡的器件操作方式器件尋址方式(按字節(jié)尋址和頁(yè)面尋址)如何實(shí)現(xiàn)存儲(chǔ)卡芯片的寫(xiě)操作(結(jié)合時(shí)序)8.2接觸式IC卡的邏輯加密卡邏輯加密卡主要由EEPROM單元陣列和密碼控制邏輯電路構(gòu)成;功能介于存儲(chǔ)卡和CPU卡之間;適用于需要保密,但對(duì)保密功能要求不高的場(chǎng)合;邏輯加密卡的邏輯結(jié)構(gòu)圖1)寫(xiě)入:向EEPROM寫(xiě)入“0”2)擦除:向EEPROM寫(xiě)入“1”3)熔斷:對(duì)EEPROM單元進(jìn)行一次性的寫(xiě)入操作4)個(gè)人化:發(fā)行商將IC卡發(fā)行給個(gè)人時(shí),寫(xiě)入發(fā)行商代碼、用戶(hù)密碼、用戶(hù)身份標(biāo)識(shí),并擦除其余應(yīng)用區(qū)EEPROM的過(guò)程。5)密碼錯(cuò)誤計(jì)數(shù):密碼錯(cuò)誤輸入的次數(shù),超過(guò)該次數(shù),IC卡將自鎖。8.2.1名詞定義邏輯加密卡的主要內(nèi)容邏輯加密卡的功能框圖邏輯加密卡的存儲(chǔ)區(qū)的分類(lèi)典型芯片案例(1)ATMEL公司的芯片案例(2)Siemens公司的芯片案例8.2.2邏輯加密卡的功能框圖邏輯加密卡芯片從功能上分兩個(gè)部分:EEPROM單元陣列保密邏輯部分地址計(jì)數(shù)器地址譯碼器密碼比較電路內(nèi)部寄存器邏輯加密卡的功能框圖RST信號(hào)將地址計(jì)數(shù)器置全0;行/字驅(qū)動(dòng)器與列/位選擇器為EEPROM單元提供選擇信號(hào);由列選擇器選擇其中的某位進(jìn)行讀/寫(xiě)。地址計(jì)數(shù)器:僅是計(jì)數(shù)器,EEPROM的訪問(wèn)按地址順序逐一進(jìn)行。地址譯碼器密碼比較器內(nèi)部寄存器:鎖存密碼比較器的結(jié)果和應(yīng)用區(qū)的讀/寫(xiě)屬性,供邏輯控制陣列。邏輯控制陣列:控制EEPROM的讀/寫(xiě)。制造代號(hào)區(qū)發(fā)行代號(hào)區(qū)用戶(hù)密碼區(qū)密碼比較計(jì)數(shù)區(qū)用戶(hù)個(gè)人區(qū)應(yīng)用區(qū)擦除密碼區(qū)擦除計(jì)數(shù)區(qū)8.2.3芯片內(nèi)部存儲(chǔ)區(qū)域采用分區(qū)結(jié)構(gòu)記錄卡芯片生產(chǎn)商的特定信息(例如:生產(chǎn)批號(hào)、日期及特別制定的特征代碼)。該區(qū)域里的單元信息一般由制造商在芯片出廠前寫(xiě)入。當(dāng)控制本區(qū)的熔絲(FUSE1)沒(méi)有熔斷時(shí),該區(qū)的存儲(chǔ)單元可像普通的EEPROM存儲(chǔ)單元一樣擦除和改寫(xiě)。一旦熔絲熔斷,所寫(xiě)入的“制造商代碼”就不可再更改。芯片出廠時(shí),廠商一般將此代碼注入,并熔斷保護(hù)熔絲(FUSE1),從而使寫(xiě)入該區(qū)的標(biāo)識(shí)信息不可更改,只能以讀出。1.制造商代碼區(qū)(FZ,FabricationZone)標(biāo)識(shí)代號(hào)由生產(chǎn)商事先選定,代碼注入后將保護(hù)熔絲熔斷,以確保日后不可更改。特征:因此在卡片發(fā)行應(yīng)用中,將這一標(biāo)識(shí)作為系統(tǒng)中驗(yàn)證卡片真?zhèn)蔚闹匾獦?biāo)識(shí)。用于記錄卡片發(fā)行商的特定信息(例如:發(fā)行批號(hào)、日期、地區(qū)編號(hào)及特定用戶(hù)編號(hào)等特征代碼)。該區(qū)域的單元信息是在卡片進(jìn)行個(gè)人化處理的過(guò)程中寫(xiě)入。當(dāng)控制本區(qū)的熔絲(FUSE2)沒(méi)有熔斷時(shí),該區(qū)的存儲(chǔ)單元內(nèi)容可以自由地擦除或改寫(xiě)。個(gè)人化處理完成之后,控制該區(qū)的熔絲(FUSE2)熔斷,即可將注入的“發(fā)行商代碼”完全固化。2.發(fā)行商代碼區(qū)(IZ,IssuerZone)在隨后的卡片應(yīng)用中,該區(qū)的內(nèi)容不可更改,但可以任意讀出。該代碼也是識(shí)別卡片的真?zhèn)危瑓^(qū)分卡片應(yīng)用類(lèi)別的重要標(biāo)識(shí)。個(gè)人代碼區(qū)用于存放個(gè)人身份標(biāo)識(shí)數(shù)據(jù)。該區(qū)使用時(shí)受芯片的“用戶(hù)密碼”的保護(hù)。當(dāng)“用戶(hù)密碼”比較成功時(shí),該區(qū)可讀/寫(xiě)/擦除?!坝脩?hù)密碼”比較不成功,該區(qū)只能讀而不能寫(xiě)入和擦除。3.個(gè)人代碼區(qū)(CPZ,CodeProtectedZone)整個(gè)存儲(chǔ)器的“總控制開(kāi)關(guān)”。使用前,由授權(quán)持卡人預(yù)先輸入的一個(gè)安全代碼作為“參照字”儲(chǔ)存在這個(gè)存儲(chǔ)區(qū)里。使用時(shí),必須輸入一個(gè)“校驗(yàn)密碼”。芯片將輸入的“校驗(yàn)密碼”與內(nèi)部存儲(chǔ)器的“參照字”一一比較。4.用戶(hù)密碼區(qū)(SC,SecurityCode)如果比較結(jié)果一致,密碼比較有效標(biāo)志SV設(shè)為“1”,并開(kāi)放整個(gè)芯片儲(chǔ)存器(包括各分區(qū)的控制密碼和各應(yīng)用數(shù)據(jù)區(qū))。如果比較結(jié)果不一致,芯片內(nèi)部保持SV為“0”,并禁止外部對(duì)各分區(qū)的控制密碼區(qū)和應(yīng)用數(shù)據(jù)區(qū)進(jìn)行擦除和寫(xiě)入操作。除FZ、IZ、CPZ等區(qū)域可讀出外,其他應(yīng)用區(qū)能否讀出需由各分區(qū)“讀控制標(biāo)志”的狀態(tài)來(lái)控制。為防止“用戶(hù)密碼”被非授權(quán)持卡人惡意跟蹤猜測(cè),最簡(jiǎn)單的方法是對(duì)輸入的“校驗(yàn)密碼”的比較操作次數(shù)進(jìn)行限制。該區(qū)用于對(duì)連續(xù)輸入的錯(cuò)誤密碼的次數(shù)進(jìn)行累計(jì)。當(dāng)連續(xù)4次不正確的比較操作之后,芯片將被鎖死。芯片被鎖死之后,將拒絕任何的寫(xiě)入、擦除和比較的操作命令。5.密碼比較計(jì)數(shù)區(qū)(SCAC,SecurityCodeAttemptsCounter)擦除密碼區(qū)用于存儲(chǔ)擦除應(yīng)用區(qū)操作的控制密碼。該密碼一般由發(fā)行商使用。在芯片個(gè)人化處理之前,該區(qū)可以像普通EEPROM存儲(chǔ)單元一樣進(jìn)行讀/寫(xiě)/擦除操作。在個(gè)人化處理時(shí)輸入最后一組“擦除密碼”,在芯片熔絲FUSE2熔斷之后將使“擦除密碼”保存在該區(qū)內(nèi)。該區(qū)不再能進(jìn)行讀/寫(xiě)/擦除操作,只能進(jìn)行比較操作。6.擦除密碼區(qū)(EZn(n=1,2,3,4),EraseKey)在使用過(guò)程中如需對(duì)應(yīng)用區(qū)進(jìn)行擦除操作,則必須首先對(duì)相應(yīng)的EZ區(qū)輸送一個(gè)“擦除密碼”與之比較,在“擦除密碼比較計(jì)數(shù)器”不為“00H”的情況下,如果相比較的兩代碼完全一致,則相應(yīng)的應(yīng)用區(qū)的單元允許擦除,否則將禁止執(zhí)行擦除操作。如消費(fèi)卡的充值操作。擦除密碼比較計(jì)數(shù)區(qū)(EnAC)的作用與SCAC的作用相類(lèi)似。它對(duì)各應(yīng)用區(qū)擦除密碼連續(xù)輸入錯(cuò)誤的次數(shù)進(jìn)行累計(jì)。擦除密碼比較計(jì)數(shù)器的計(jì)數(shù)方式與SCAC的方式完全一樣。如果需要提高保密強(qiáng)度,也可以置一個(gè)“初始值”來(lái)減少芯片允許“比較操作”的次數(shù)。7.擦除密碼比較計(jì)數(shù)區(qū)(EnAC(n=1,2,3,4),EraseKeyAttemptsCounter)應(yīng)用數(shù)據(jù)區(qū)主要給用戶(hù)使用,用于存儲(chǔ)系統(tǒng)的有關(guān)數(shù)據(jù)和卡片標(biāo)識(shí)等信息。應(yīng)用數(shù)據(jù)區(qū)的寫(xiě)入與讀出分別由該區(qū)的前兩位Pn(寫(xiě)操作標(biāo)志,各應(yīng)用分區(qū)的第1位)和Rn(讀操作標(biāo)志,各應(yīng)用分區(qū)的第2位)以及SV(標(biāo)志的狀態(tài))控制,擦除操作則由該區(qū)的擦除密碼控制。AT88SC1604設(shè)計(jì)了四個(gè)完全隔離的分區(qū),其中1~3分區(qū)的單元容量分別是4Kb、第4分區(qū)的單元容量為36Kb。8.應(yīng)用數(shù)據(jù)區(qū)(AZn(n=1,2,3,4),ApplicationZone)存儲(chǔ)測(cè)試區(qū)主要用于芯片生產(chǎn)后對(duì)EEPROM單元陣列進(jìn)行各項(xiàng)性能測(cè)試。該區(qū)不受任何控制區(qū)狀態(tài)和標(biāo)志狀態(tài)的保護(hù),允許對(duì)這個(gè)區(qū)進(jìn)行讀/寫(xiě)/擦除操作,但不能進(jìn)行比較操作。9.存儲(chǔ)測(cè)試區(qū)(MTZ,MemoryTestZone)
ATMEL公司AT88SC102芯片特征:具有1K位的EEPRON低功耗CMOS技術(shù)2個(gè)512位可用存儲(chǔ)分區(qū)5伏工作電壓、自升壓電路允許擦除次數(shù)10萬(wàn)以上數(shù)據(jù)保存年限100年8.2.4ATMEL公司邏輯加密卡芯片ATMEL公司邏輯加密卡芯片有:AT88SC06、AT88SC101/102、AT88SC200等。本小節(jié)主要內(nèi)容芯片觸點(diǎn)存儲(chǔ)區(qū)的分配問(wèn)題訪問(wèn)控制操作模式1.觸點(diǎn)(芯片/卡片)(1)VCC、RST、CLK、GND、I/O遵從ISO/IEC7816-10的同步協(xié)議;(2)FUS熔斷信號(hào):進(jìn)行熔斷操作;(3)PGM編程信號(hào):通知芯片進(jìn)行寫(xiě)入/擦除操作,無(wú)需讀寫(xiě)器提供高電壓信號(hào)VPP,采用芯片內(nèi)置電路。地址計(jì)數(shù)器為11位(211K),計(jì)數(shù)范圍:(0~2047);實(shí)際使用區(qū)間:0~1567用戶(hù)使用區(qū)間:0~14232.存儲(chǔ)區(qū)域分配表8.5AT88SC102存儲(chǔ)分區(qū)結(jié)構(gòu)表存儲(chǔ)測(cè)試區(qū)不受保護(hù),可進(jìn)行讀/寫(xiě),用來(lái)測(cè)試EEPROM的性能。(1)三個(gè)內(nèi)部使用的EEPROM單元:FUSE1、FUSE2和EZ1的控制位;另外,芯片存儲(chǔ)器還有一些特殊單元:FUSE1:制造商用;FUSE2:發(fā)行商用;EZ1的控制位:“0”表示卡內(nèi)不設(shè)置EZ1區(qū),EZ1的地址被跳過(guò)?!?”時(shí)對(duì)APP1擦除時(shí)需要核對(duì)EZ1密碼,且要求SC比較結(jié)果正確。(2)兩個(gè)供特殊控制用的地址其一:獲取物理熔絲的狀態(tài)(斷或未斷);其二:可對(duì)全片進(jìn)行擦除操作;(留給制造商和發(fā)行商)3.訪問(wèn)控制由C4電壓和熔絲FUSE1和FUSE2共同控制。FUS觸點(diǎn)電壓FUS1FUS2訪問(wèn)控制條件0V任意任意見(jiàn)表8.85V熔斷未熔斷見(jiàn)表8.75V未熔斷熔斷表8.8表8.7個(gè)人化時(shí)的訪問(wèn)控制條件區(qū)域名SC1PR1RD2PR2RDEZ1EZ2EC讀擦除寫(xiě)入比較FZ××××××××可不可不可不可IZ0×××××××可不可不可不可
1×××××××可可可不可SCSCACCPZAPP1EZ1APP2EZ2表8.8個(gè)人化后用戶(hù)使用時(shí)的訪問(wèn)控制條件區(qū)域名SC1PR1RD2PR2RDEZ1EZ2EC讀擦除寫(xiě)入比較FZ××××××××可不可不可不可IZ×
×××××××可不可不可不可SCSCACCPZAPP1EZ1APP2EZ24.操作模式由PGM、RST、CLK信號(hào)和內(nèi)部地址計(jì)數(shù)器決定四種操作模式(內(nèi)部)。圖8.17所示*RESET*INC(INC/READ)*CMP(INC/CMP)*WRITE,VERIFY*RESET卡內(nèi)地址計(jì)數(shù)器清零。當(dāng)RST和CLK信號(hào)都為’0’時(shí),存儲(chǔ)器內(nèi)的數(shù)據(jù)開(kāi)始出現(xiàn)在I/O線上。當(dāng)RST為高時(shí),禁止地址計(jì)數(shù)器計(jì)數(shù);計(jì)數(shù)器在RST的下降沿清零。*INC(INC/READ)卡內(nèi)地址計(jì)數(shù)器加1。存儲(chǔ)器內(nèi)的數(shù)據(jù)輸出在I/O線上。以上操作在時(shí)鐘下降沿進(jìn)行。*CMP(INC/CMP)外部輸入數(shù)據(jù)與卡內(nèi)密碼進(jìn)行比較。當(dāng)CLK信號(hào)為’0’時(shí),輸入數(shù)據(jù)在I/O線上必須穩(wěn)定。地址計(jì)數(shù)器在時(shí)鐘下降沿加1。*WRITE,VERIFY在時(shí)鐘上升沿前,I/O數(shù)據(jù)必須準(zhǔn)備好,然后CLK必須保持為高至少5ms,等待寫(xiě)入操作完成。隨后,在CLK下降沿,剛寫(xiě)入的數(shù)據(jù)出現(xiàn)在I/O線上,以被驗(yàn)證。地址計(jì)數(shù)器在時(shí)鐘下降沿加1。8.2.5Siemens公司的邏輯加密卡芯片德國(guó)Siemens公司的邏輯加密卡芯片有:SLE4404、SLE4406、SLE4412、SLE4418/4428和SLE4432/4442。這些卡常用于具有定額定價(jià)的消費(fèi)系統(tǒng)中,如公用電話卡、預(yù)付費(fèi)加油卡、停車(chē)計(jì)費(fèi)卡、游樂(lè)園消費(fèi)卡等。SLE4432/4442是面向字節(jié)操作的。SLE4404、SLE4406、SLE4412、SLE4418/4428是面向位操作方式的。(1)104位存儲(chǔ)容量;(2)最大可提供20480個(gè)計(jì)數(shù)單位;(3)3個(gè)字節(jié)傳輸密碼,1位發(fā)行標(biāo)志保護(hù);(4)溫度范圍:-35~80℃;(5)至少10000次循環(huán)擦寫(xiě)次數(shù);(6)至少10年數(shù)據(jù)保存期。1.主要指標(biāo)Siemens公司SLE4406芯片案例:2.存儲(chǔ)結(jié)構(gòu)(13×8=104位)SLE4406的存儲(chǔ)分布圖3.保密特性SLE4406保密特性表發(fā)行后,用戶(hù)區(qū)進(jìn)入計(jì)數(shù)狀態(tài),計(jì)數(shù)區(qū)按位寫(xiě)0,按字節(jié)借位擦除。假設(shè)偏移地址為12的字節(jié)的8位已被寫(xiě)為0,則可將偏移地址為11的字節(jié)的其中1位寫(xiě)為“0”,而偏移地址為12的字節(jié)其8位可以全擦除成“1”,然后再逐位寫(xiě)0直至再次全寫(xiě)為0后再借位擦除。例如,1111111100000000→1111111011111111。注意:寫(xiě)表示寫(xiě)“0”,擦除表示寫(xiě)“1”。按照上述計(jì)數(shù)規(guī)則,用戶(hù)區(qū)的5個(gè)字節(jié)最大可提供20480個(gè)計(jì)數(shù)單位(第5位計(jì)數(shù)器只有4位可用)。
4.用戶(hù)區(qū)計(jì)數(shù)規(guī)則它具有2Kb的存儲(chǔ)容量;完全獨(dú)立的可編程加密代碼(PSC,ProgrammableSecurityCode)存儲(chǔ)器;內(nèi)部電壓提升電路保證了芯片能夠以單+5V電壓供電;較大的存儲(chǔ)容量能夠滿足通常應(yīng)用領(lǐng)域的各種要求。西門(mén)子(Siemens)公司的SLE4442案例--面向字節(jié)操作的多存儲(chǔ)器結(jié)構(gòu)邏輯加密卡是目前國(guó)內(nèi)應(yīng)用較多的一種IC卡芯片。(1)采用多存儲(chǔ)器結(jié)構(gòu)。(2)2線連接協(xié)議,復(fù)位響應(yīng)滿足ISO/IEC7816-3標(biāo)準(zhǔn)。(3)觸點(diǎn)配置及串行接口滿足ISO/IEC7816(同步傳輸協(xié)議)。(4)僅當(dāng)正確輸入3個(gè)字節(jié)的可編程加密代碼(PSC)后方可修改數(shù)據(jù)。(5)芯片采用NMOS工藝技術(shù),每個(gè)字節(jié)的寫(xiě)入/擦除編程時(shí)間為2.5ms。(6)存儲(chǔ)器具有至少104次的寫(xiě)入/擦除周期,數(shù)據(jù)保持時(shí)間至少10年。1.總體描述SLE4442的觸點(diǎn)配置圖SLE4442引腳定義和功能說(shuō)明256×8b的EEPROM型主存儲(chǔ)器;32×1b的PROM型保護(hù)存儲(chǔ)器;4×8b的EEPROM型加密存儲(chǔ)器。2.存儲(chǔ)器結(jié)構(gòu)SLE4442卡芯片采用了多存儲(chǔ)器結(jié)構(gòu),主要包括三個(gè)存儲(chǔ)器:SLE4442的存儲(chǔ)器結(jié)構(gòu)主存儲(chǔ)器保護(hù)存儲(chǔ)器加密存儲(chǔ)器主存儲(chǔ)器(MainMemory)主存儲(chǔ)器的地址從0(00H)~255(FFH),共256B(2Kb)。主存儲(chǔ)器可分為兩個(gè)數(shù)據(jù)區(qū)保護(hù)數(shù)據(jù)區(qū)應(yīng)用數(shù)據(jù)區(qū)主存儲(chǔ)器是可重復(fù)擦除使用的EEPROM型存儲(chǔ)器,按字節(jié)尋址、擦除和寫(xiě)入。主存儲(chǔ)器前32B為保護(hù)數(shù)據(jù)區(qū),地址從0(00H)到31(1FH)。這部分的數(shù)據(jù)讀出不受限制,但擦除和寫(xiě)入操作均受到保護(hù)存儲(chǔ)器內(nèi)部數(shù)據(jù)狀態(tài)的限制。(1)保護(hù)數(shù)據(jù)區(qū)根據(jù)這一特性,主存儲(chǔ)器的保護(hù)數(shù)據(jù)區(qū)一般均作為IC卡的標(biāo)識(shí)數(shù)據(jù)區(qū),存放一些固定不變的標(biāo)識(shí)參數(shù),如廠商代碼、發(fā)行商代碼等。保護(hù)存儲(chǔ)器(n=0~31)主存儲(chǔ)器第n位=1第n個(gè)字節(jié)允許擦除和寫(xiě)入操作;第n位=0第n個(gè)字節(jié)不允許擦除和寫(xiě)入操作;主存儲(chǔ)器后224B為應(yīng)用數(shù)據(jù)區(qū),地址從32(20H)到255(FFH)。這部分?jǐn)?shù)據(jù)讀出不受限制,但擦除和寫(xiě)入均受控于加密存儲(chǔ)器數(shù)據(jù)校驗(yàn)比較結(jié)果的影響。(2)應(yīng)用數(shù)據(jù)區(qū)保護(hù)存儲(chǔ)器是一個(gè)32×1b的一次性可編程只讀存儲(chǔ)器(PROM);是按位尋址和寫(xiě)入;保護(hù)存儲(chǔ)器(0~31)位每一位對(duì)應(yīng)著主存儲(chǔ)器地址為0~31的每一個(gè)字節(jié),可以看成每個(gè)字節(jié)單元的控制熔絲。保護(hù)存儲(chǔ)器(ProtectionMemory)從出廠到初始化前,保護(hù)存儲(chǔ)器的狀態(tài)為全“1”。從控制方面來(lái)說(shuō),保護(hù)存儲(chǔ)器的內(nèi)容只能從“1”寫(xiě)成“0”(即熔斷熔絲),而不能從“0”擦除成“1”。保護(hù)存儲(chǔ)器被寫(xiě)“0”的單元所對(duì)應(yīng)被控制的主存儲(chǔ)器的字節(jié)單元將不再接受任何擦除和寫(xiě)入操作命令,從而使得該字節(jié)單元內(nèi)的數(shù)據(jù)不可再改變。因此,對(duì)保護(hù)存儲(chǔ)器單元的寫(xiě)入一定要特別小心。如果需要防止一些固定的標(biāo)識(shí)參數(shù)(例如,生產(chǎn)廠家代碼、發(fā)行商代碼、卡片編號(hào)等)被改動(dòng),可以將這類(lèi)參數(shù)先寫(xiě)入主存儲(chǔ)器的保護(hù)數(shù)據(jù)區(qū),然后將對(duì)應(yīng)單元的保護(hù)存儲(chǔ)器的字位寫(xiě)0,從而使這部分?jǐn)?shù)據(jù)單元的參數(shù)永遠(yuǎn)不可更改。保護(hù)存儲(chǔ)器本身的讀出操作不受限制。但對(duì)其寫(xiě)入操作仍然受到加密存儲(chǔ)器比較校驗(yàn)操作結(jié)果的控制。當(dāng)輸入的“校驗(yàn)字”與芯片內(nèi)原來(lái)存有的“參照字”一致時(shí),則可以執(zhí)行后續(xù)的寫(xiě)入操作。如果比較不成功,則控制邏輯將鎖住保護(hù)存儲(chǔ)器。加密存儲(chǔ)器(SecurityMemory)加密存儲(chǔ)器是一個(gè)4×8b的EEPROM型存儲(chǔ)器。第0個(gè)字節(jié)為“密碼輸入錯(cuò)誤計(jì)數(shù)器”(EC,ErrorCounter)。密碼輸入錯(cuò)誤計(jì)數(shù)器的有效位是低3位。在芯片初始化時(shí),計(jì)數(shù)器設(shè)置成“111”。該字節(jié)是可讀的,每次比較密碼時(shí),先要判定計(jì)數(shù)器中是否還有“1”。如果還有“1”,則將一個(gè)“1”寫(xiě)成“0”。然后進(jìn)行比較“校驗(yàn)字”操作。PSC3PSC2PSC1EC3210如果比較結(jié)果一致,則密碼錯(cuò)誤計(jì)數(shù)器將允許進(jìn)行擦除操作(注意,芯片不能自動(dòng)進(jìn)行擦除操作),同時(shí)打開(kāi)主存儲(chǔ)器、保護(hù)存儲(chǔ)器和加密存儲(chǔ)器,并允許進(jìn)行擦除和寫(xiě)入操作。如果比較結(jié)果不一致,則EC中為“1”的個(gè)數(shù)減少1位。只要(EC)≠0,則芯片的比較“校驗(yàn)字”操作還允許再次進(jìn)行。當(dāng)連續(xù)三次輸入錯(cuò)誤密碼后(即密碼計(jì)數(shù)器減少為0),則芯片的存儲(chǔ)單元將全部被鎖死。由此可見(jiàn),加密存儲(chǔ)器可以理解為進(jìn)入整個(gè)芯片的“關(guān)卡”。加密存儲(chǔ)器的第1、2、3個(gè)字節(jié)為“參照字”存儲(chǔ)區(qū)。這3個(gè)字節(jié)的內(nèi)容作為一個(gè)整體被稱(chēng)為可編程加密代碼(PSC)。注意:這3個(gè)字節(jié)的內(nèi)容在PSC比較成功前是不可讀的,只能進(jìn)行比較操作。而寫(xiě)入和擦除操作也受自身比較操作結(jié)果的控制。只有當(dāng)比較操作成功時(shí),加密存儲(chǔ)器各字節(jié)的內(nèi)容才可以進(jìn)行讀出、寫(xiě)入和擦除。1.上電復(fù)位:芯片內(nèi)部寄存器復(fù)位8.2.6典型電路分析2.密碼比較:形成SC與EZ其作用是驗(yàn)證持卡人和發(fā)行商的身份,是整個(gè)電路的核心。刪除密碼比較電路用戶(hù)密碼比較電路I/OCOMPTDATATIN(1)刪除密碼比較電路外部數(shù)據(jù)由EEPROM讀出數(shù)據(jù)011原態(tài)‘1’00圖8.32刪除密碼比較電路COMP為密碼比較結(jié)果觸發(fā)器,取EZ=Q。當(dāng)EZ=1,表示密碼比較正確。電路設(shè)計(jì)原則:初態(tài)EZ=1,如密碼比較相等,EZ仍然為1;如密碼比較不正確,則EZ=0,即COMP=1,然后COMP保持1,EZ保持0。電路工作原理:當(dāng)?shù)刂窞椤?’時(shí),ADR=0有效,觸發(fā)器清零,COMP=0,EZ=1;當(dāng)?shù)刂肺吹矫艽a區(qū)時(shí),COMP的D端為’0’,因此COMP保持’0’,EZ=1;當(dāng)?shù)刂吩诿艽a區(qū)時(shí),由EEPROM讀出的數(shù)據(jù)DATA經(jīng)鎖存為T(mén)DATA;外部數(shù)據(jù)I/O輸入觸發(fā)器后為T(mén)IN。二者經(jīng)異或門(mén)進(jìn)行比較:如比較結(jié)果相等,則D端為’0’,COMP保持’0’,即EZ保持1;如比較結(jié)果不等,則D端為’1’,COMP跳變?yōu)椤?’,然后依靠Q輸出到D端的連線,使它保持’1’,因此EZ保持為’0’。TIN在CLK的上升沿時(shí)形成,TDATA在TCLK為’1’時(shí)鎖存,而比較結(jié)果在CLK的下降沿時(shí)形成。即時(shí)鐘上升沿保存要比較的數(shù)據(jù),在時(shí)鐘下降沿進(jìn)行比較。(2)用戶(hù)密碼比較電路對(duì)于SC來(lái)說(shuō),由于有比較次數(shù)的限制,因此即使比較結(jié)果正確,但超過(guò)了四次的限制,仍然無(wú)效。因此在圖8.32的基礎(chǔ)上,需增加圖8.33鎖存電路。其中ESC=1,才表示用戶(hù)密碼正確。圖8.32密碼比較結(jié)果鎖存電路111011該電路保證比較結(jié)果正確,且密碼比較次數(shù)在規(guī)定的范圍內(nèi)。此時(shí),ESC=1。COMP=1A3A2=00,即密碼比較次數(shù)≤4,A3~A0=0000~0011;SCAC=1,即比較次數(shù)有效;ESC=1表示:3.熔絲電路FUSE1生產(chǎn)商掌控FUSE2發(fā)行商掌控熔絲的作用是控制特殊的讀寫(xiě)操作,但熔絲熔斷后,讀寫(xiě)操作就無(wú)法進(jìn)行,從而達(dá)到保密的目的。FUSE1和FUSE2的實(shí)現(xiàn)有三種方式:(1)采用2個(gè)物理熔絲分別代表FUSI和FUS2,都采用外加電流的方式熔斷。圖8.34(2)采用一個(gè)物理熔絲,而用2個(gè)EEPROM單元代表FUSE1和FUSE2,用物理熔絲來(lái)控制FUSE1和FUSE2的讀寫(xiě)操作。(3)利用芯片出廠的切片操作來(lái)代替熔斷物理熔絲,圖8.35。8.3非接觸式IC卡(Mifare卡)MifareStandard邏輯加密卡MifareLight邏輯加密卡MifarePLUS雙界面CPU卡MifarePRO雙界面CPU卡非接觸式接口硬布線邏輯EEPROM接觸式接口微處理器8051核心硬布線邏輯非接觸式接口共享EEPROM接觸式接口微處理器8051核心EEPROM非接觸式接口MifareStandardMifarePLUSMifarepro1994-1997-1998-邏輯加密卡雙界面CPU卡符合ISO/IEC14443讀卡距離?工作頻率?數(shù)據(jù)傳輸率?交易時(shí)間?防沖突功能?
8.3.1MifareStandard1.概述2.MifareStandard邏輯圖調(diào)制/解調(diào)器電壓調(diào)節(jié)器RF接口鑒別和訪問(wèn)控制ATR防沖突選擇應(yīng)用密碼計(jì)算單元控制和算術(shù)運(yùn)算單元數(shù)字部分EEPROM接口EEPROM3.IFD與ICC的交易流程IFD發(fā)Request給所有在場(chǎng)的IC卡,通過(guò)防沖突循環(huán),得到一張卡的序列號(hào),選擇此卡進(jìn)行鑒別,通過(guò)后對(duì)存儲(chǔ)器進(jìn)行操作。防沖突循環(huán)得到序列號(hào)選擇卡鑒別TransferHaltReadWriteDecrementIncreRstorHaltRequest4.Mifare卡的訪問(wèn)存儲(chǔ)器命令Read讀存儲(chǔ)器的一個(gè)分組2.5msWrite寫(xiě)存儲(chǔ)器的一個(gè)分組6.0msDecrement減少分組內(nèi)容,將結(jié)果存入數(shù)據(jù)寄存器Increment增加分組內(nèi)容,將結(jié)果存入數(shù)據(jù)寄存器Transfer將數(shù)據(jù)寄存器內(nèi)容寫(xiě)入EEPROM一個(gè)分組Restore將分組內(nèi)容存入數(shù)據(jù)寄存器5.存儲(chǔ)器組織與訪問(wèn)條件16區(qū)*4分組*16字節(jié)Block0制造商代碼(0區(qū))/數(shù)據(jù)Block3本區(qū)密鑰/訪問(wèn)條件Block0~2數(shù)據(jù)分組數(shù)據(jù)分組讀寫(xiě)分組價(jià)值分組整個(gè)存儲(chǔ)器分成16個(gè)扇區(qū),每個(gè)分區(qū)有4個(gè)分組構(gòu)成,每個(gè)分組占16個(gè)字節(jié)。﹕0123012301230123Block0制造商代碼(0區(qū))數(shù)據(jù)分組區(qū)尾部Block301215存儲(chǔ)器的結(jié)構(gòu)示意圖KeyA訪問(wèn)條件KeyB區(qū)尾部Block3的組成012345678910111213141576543210訪問(wèn)條件的每一位用原碼和反碼存儲(chǔ);訪問(wèn)條件的最后一個(gè)字節(jié)(BX0~BX7)用來(lái)存放特定的應(yīng)用數(shù)據(jù)。16個(gè)字節(jié)塊3的訪問(wèn)條件的存放情況C2X3-bC2X2-bC2X1-bC2X0-bC1X3-bC1X2-bC1X1-bC1X0-bC1X3C1X2C1X1C1X0C3X3-bC3X2-bC3X1-bC3X0-bC3X3C3X2C3X1C3X0C2X3C2X2C2X1C2X0BX7BX6BX5BX4BX3BX2BX1BX0說(shuō)明:-b表示取反,如C2X3-b為C2X3取反;X表示扇區(qū);Y表示塊;C表示控制位;B表示備用位:用來(lái)存放特定的應(yīng)用數(shù)據(jù)。C1X3、C2X3、C3X3表示控制塊3的訪問(wèn)條件。6789Mifare1卡存取控制對(duì)塊3的控制配置C1X3C2X3C3X3KeyA訪問(wèn)條件KeyB讀寫(xiě)讀寫(xiě)讀寫(xiě)000不能KeyAKeyA不能KeyAKeyA010不能不能KeyA不能KeyA不能100不能KeyBKeyA︱B不能不能KeyB110不能不能KeyA︱B不能不能不能001不能KeyAKeyAKeyAKeyAKeyA011不能KeyBKeyA︱BKeyB不能KeyB101不能不能KeyA︱BKeyB不能不能111不能不能KeyA︱B不能不能不能Decrement、Increment、Transfer和Restore是永遠(yuǎn)不能執(zhí)行的;Mifare1卡存取控制對(duì)塊3的控制配置C1X3C2X3C3X3KeyA訪問(wèn)條件KeyB讀寫(xiě)讀寫(xiě)讀寫(xiě)000不能KeyAKeyA不能KeyAKeyA010不能不能KeyA不能KeyA不能100不能KeyBKeyA︱B不能不能KeyB110不能不能KeyA︱B不能不能不能001不能KeyAKeyAKeyAKeyAKeyA011不能KeyBKeyA︱BKeyB不能KeyB101不能不能KeyA︱BKeyB不能不能111不能不能KeyA︱B不能不能不能KeyA是不能讀出的;但在滿足一定條件下,可以改寫(xiě);KeyB作為密鑰使用,也是不能讀出的;在某種條件下,能讀出時(shí),其內(nèi)容不是密鑰,而是數(shù)據(jù)。C1X3C2X3C3X3KeyA訪問(wèn)條件KeyB讀寫(xiě)讀寫(xiě)讀寫(xiě)000不能KeyAKeyA不能KeyAKeyA010不能不能KeyA不能KeyA不能100不能KeyBKeyA︱B不能不能KeyB110不能不能KeyA︱B不能不能不能001不能KeyAKeyAKeyAKeyAKeyA011不能KeyBKeyA︱BKeyB不能KeyB101不能不能KeyA︱BKeyB不能不能111不能不能KeyA︱B不能不能不能Mifare1卡存取控制對(duì)塊3的控制配置Mifare1卡存取控制對(duì)塊0~塊2的控制配置C1XYC2XYC3XY讀寫(xiě)增值減值、重儲(chǔ)、傳送000KeyA︱BKeyA︱BKeyA︱BKeyA︱B010KeyA︱B不能不能不能100KeyA︱BKeyB不能不能110KeyA︱BKeyBKeyBKeyA︱B001KeyA︱B不能不能KeyA︱B011KeyBKeyB不能不能101KeyB不能不能不能111不能不能不能不能根據(jù)各區(qū)塊3提供的訪問(wèn)條件,可以對(duì)相應(yīng)的區(qū)進(jìn)行數(shù)據(jù)分組操作,實(shí)現(xiàn)讀/寫(xiě)分組、價(jià)值分組。在MF1IC卡中,有兩類(lèi)數(shù)據(jù)分組:(1)讀/寫(xiě)分組用于讀/寫(xiě)(Read/Write)一般的16字節(jié)數(shù)據(jù)。(2)價(jià)值分組(Valueblock)用于電子錢(qián)包功能(Read、Increment、Decrement、Transfer和Restore)。Value的長(zhǎng)度為4個(gè)字節(jié),每個(gè)Value存入3次,以提高錯(cuò)誤檢測(cè)和糾錯(cuò)能力。AAAAValueValueValueA和A為地址字節(jié),同一地址存入4次。Valueblock中的內(nèi)容第一次由Write命令寫(xiě)入到所要求的地址中,以后用Decrement/Increment/Restore命令修改內(nèi)容。計(jì)算結(jié)果暫存入DATA寄存器,再用Transfer命令寫(xiě)入存儲(chǔ)器。
IFD用隨機(jī)數(shù)、卡的序列號(hào)和密鑰進(jìn)行加密。采用3pass鑒別法。6.安全密鑰在卡內(nèi)是受保護(hù)的,但可修改,因此知道了運(yùn)輸密鑰后,可以寫(xiě)入自己的秘密密鑰;每個(gè)區(qū)有兩個(gè)密鑰,可進(jìn)行不同的目的;在通過(guò)3pass鑒別后,發(fā)送器自動(dòng)加密,接收器自動(dòng)解密。RB--IC卡產(chǎn)生的隨機(jī)數(shù)TokenAB=EKAB(RA‖RB‖B‖Text2)TokenBA=EKAB(RB‖RA‖Text4)AB(A)RB(B)TokenAB(D)TokenBAIFDICC(C)對(duì)報(bào)文TokenAB解密,驗(yàn)證一致性(E)對(duì)報(bào)文TokenBA解密,驗(yàn)證一致性安全流程:B發(fā)送隨機(jī)數(shù)RB;A發(fā)送TokenAB到B;AB(A)RBIFDICC(B)TokenABB接收到報(bào)文TokenAB到B后,對(duì)加密部分進(jìn)行解密,并驗(yàn)證標(biāo)識(shí)符B和隨機(jī)數(shù)RB的正確性,驗(yàn)證在A發(fā)送到B的RB與包含在TokenAB中的隨機(jī)數(shù)是否一致;ABIFDICC(C)對(duì)報(bào)文TokenAB解密,驗(yàn)證一致性B發(fā)送TokenBA到A;A接收到報(bào)文TokenBA后,對(duì)加密部分進(jìn)行解密,并檢查隨機(jī)數(shù)的一致性。ABIFDICC(D)TokenBA(E)對(duì)報(bào)文TokenBA解密,驗(yàn)證一致性8位單片機(jī)片上操作系統(tǒng)COS存在ROM內(nèi)。RAM存放中間處理結(jié)果與作為中間緩存器。E2PRON供用戶(hù)訪問(wèn)的存儲(chǔ)區(qū):信息、密碼、密鑰、應(yīng)用文件。當(dāng)卡采用RSA加密算法時(shí),專(zhuān)門(mén)配置協(xié)處理器。8.4CPU卡的硬件環(huán)境與芯片法國(guó)GEMPLUS公司的產(chǎn)品PCOS(PaymentCOS)的EEPROM案例發(fā)行區(qū)ROM代碼控制區(qū)保密字區(qū)文件區(qū)FAT區(qū)字地址100000800C10002411002826006427006825603FC8.4COS(ChipOperatingSystem)IC卡的專(zhuān)用系統(tǒng):控制IC卡和外界的信息交換,管理IC卡內(nèi)的存儲(chǔ)器,完成各種命令的處理。符合ISO/IEC7816-4。COS所遵循的信息交換協(xié)議目前兩類(lèi):異步字符傳輸?shù)腡=0協(xié)議;異步分組傳輸?shù)腡=1協(xié)議。傳送管理安全體系應(yīng)用管理文件管理8.4.1COS的體系結(jié)構(gòu)傳送管理按照信息傳輸協(xié)議,接收IFD的命令,發(fā)送對(duì)命令的響應(yīng)。安全體系安全狀態(tài):IC卡當(dāng)前滿足規(guī)定的條件。安全屬性:定義執(zhí)行某條命令所需的條件,達(dá)到安全控制的目的。安全機(jī)制:安全狀態(tài)實(shí)現(xiàn)轉(zhuǎn)移的方法與手段。(密碼鑒別、數(shù)據(jù)鑒別、數(shù)據(jù)加密等)安全體系鑒別與核實(shí)的區(qū)別鑒別Authentication核實(shí)Verify
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 生藥學(xué)專(zhuān)科考試題及答案
- 實(shí)驗(yàn)類(lèi)飛行駕照考試題及答案
- 三人籃球理論試題題庫(kù)及答案
- 北京市東城區(qū)2024-2025學(xué)年八年級(jí)上學(xué)期期末地理試題(含答案)
- 輔警安全培訓(xùn)課件
- 2026年深圳中考語(yǔ)文病句辨析修改試卷(附答案可下載)
- 拆字聯(lián)題目及答案
- 2026年深圳中考物理磁生電專(zhuān)項(xiàng)試卷(附答案可下載)
- 2026年深圳中考生物素養(yǎng)培優(yōu)強(qiáng)化試卷(附答案可下載)
- 建筑識(shí)圖鋼筋題庫(kù)及答案
- 醫(yī)務(wù)科科長(zhǎng)年度述職報(bào)告課件
- 零缺陷培訓(xùn)教學(xué)課件
- 大仲馬課件教學(xué)課件
- 2026年餐飲企業(yè)稅務(wù)合規(guī)培訓(xùn)課件與發(fā)票管理風(fēng)控方案
- 2025至2030尿素硝酸銨(UAN)行業(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢(shì)及投資規(guī)劃深度研究報(bào)告
- 集團(tuán)公司年度經(jīng)營(yíng)狀況分析報(bào)告
- 2025蜀道集團(tuán)下屬四川金通工程試驗(yàn)檢測(cè)有限公司招聘18人考試參考題庫(kù)附答案解析(奪冠)
- 2025年及未來(lái)5年市場(chǎng)數(shù)據(jù)中國(guó)蓖麻油行業(yè)投資潛力分析及行業(yè)發(fā)展趨勢(shì)報(bào)告
- 浙江省臺(tái)金七校聯(lián)盟2025-2026學(xué)年高一上學(xué)期11月期中聯(lián)考語(yǔ)文試題含答案
- 兒科皮膚病科普
- 汽車(chē)網(wǎng)絡(luò)與新媒體營(yíng)銷(xiāo) 教案 項(xiàng)目5-8 汽車(chē)直播營(yíng)銷(xiāo)-汽車(chē)網(wǎng)絡(luò)與新媒體營(yíng)銷(xiāo)綜合技能
評(píng)論
0/150
提交評(píng)論