第8章IC卡及其芯片_第1頁
第8章IC卡及其芯片_第2頁
第8章IC卡及其芯片_第3頁
第8章IC卡及其芯片_第4頁
第8章IC卡及其芯片_第5頁
已閱讀5頁,還剩132頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

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

文檔簡介

第8章IC卡及其芯片存儲器芯片邏輯加密芯片CPU芯片(內(nèi)含COS)本章主要內(nèi)容第一頁,共一百三十七頁。第8章IC卡及其芯片8.1IC卡的存儲器芯片

8.2接觸式IC卡的邏輯加密卡

8.3非接觸式IC卡(Mifare卡)

8.4COS(ChipOperatingSystem)第二頁,共一百三十七頁。引言IC卡按使用芯片不同,可分成存儲卡、邏輯加密卡和智能卡。第三頁,共一百三十七頁。IC卡家族圖第四頁,共一百三十七頁。RFID家族成員示意圖第五頁,共一百三十七頁。8.1IC卡的存儲器芯片存儲固定信息和消費信息(可修改);只有與讀寫器接觸時才取得能量;存儲器的性能:存儲器的類型:EEPROM;有8個引出端、其中一個為數(shù)據(jù)I/O端;信息傳送以串行方式進行;第六頁,共一百三十七頁。美國ATMEL公司的AT24C01A/02/04/08/16為例:1.芯片特點低電壓內(nèi)部組成AT24C01A(1K:128*8)雙線串行接口(時鐘SCL,串行數(shù)據(jù)SDA)支持ISO/IEC7816-10同步協(xié)議高可靠性:10萬次、100年第七頁,共一百三十七頁。2.芯片封裝C1C5C2C6C3C7VCCNCSCLGNDNCSDA芯片的觸點引出端名功能C1C2C3C5C6C7VCCNCSCL(CLK)GNDNCSDA/(I/O)工作電壓未連接串行時鐘地未連接串行數(shù)據(jù)(I/O)第八頁,共一百三十七頁。3.EEPROM邏輯圖Q:EEPROM如何讀寫?器件地址輸入端(標準封裝)第九頁,共一百三十七頁。SCL(串行時鐘):SCL上升沿將數(shù)據(jù)輸入到EEPROM芯片,下降沿將EEPROM中的數(shù)據(jù)讀出。SDA(串行數(shù)據(jù)):雙向串行數(shù)據(jù)傳送端,采用漏極開路驅(qū)動,可以進行?串行控制邏輯:用于區(qū)分SCL和SDA。地址/計數(shù)器:形成訪問EEPROM的地址,分別送X譯碼器進行字選,送Y譯碼器進行位選。升壓/定時線路:為EEPROM的寫入操作提供高電壓(12V~20V)第十頁,共一百三十七頁。4.器件操作數(shù)據(jù)和時鐘傳送:SCL和SDA通常各自通過一個電阻上拉到高電平。SDA上的數(shù)據(jù)僅在和SCL為高電平時有效,低電平時允許數(shù)據(jù)變化。第十一頁,共一百三十七頁。當數(shù)據(jù)(包括地址、數(shù)據(jù))由接口設備送往AT24Cxx時,稱為輸出數(shù)據(jù)(寫數(shù)據(jù))。數(shù)據(jù)總是按字節(jié)(8位)逐位串行輸出,每個時鐘脈沖輸出一位。SDA總線上的數(shù)據(jù)應在SCL低電平期間改變(輸出),在SCL高電平期間穩(wěn)定?;贛CS-51單片機的接口設備可利用如下串行輸出字節(jié)子程序WRITE來實現(xiàn)輸出(寫)一個字節(jié)數(shù)據(jù)的操作。(1)輸出數(shù)據(jù)第十二頁,共一百三十七頁。WRITE:;串行輸出一個字節(jié)到AT24Cxx,高位在前。調(diào)用前,SCL、SDA為低。返回時,SCL為低。調(diào)用時數(shù)據(jù)置入A中。返回CY為1表明應答失敗。占用A累加器 PUSH B MOV B,#8 ;設置位計數(shù)器L1: RLC A ;移一位到CY中 MOV SDA,C ;輸出位 NOP ;保持SCL為低且使數(shù)據(jù)穩(wěn)定 SETB SCL ;升高時鐘 ACALL DELAY_4μs;保持SCL為高第十三頁,共一百三十七頁。 CLR SCL ;降低時鐘 DJNZ B,L1 ;傳送下一位 SETB SDA ;釋放SDA等待應答 NOP ;保持SCL為低,保持時間tAA NOP SETB SCL ;升高ACK時鐘脈沖 ACALL DELAY_4μs;保持SCL為高 MOV C,SDA ;讀入ACK位 CLR SCL ;降低ACK時鐘脈沖 POP B RET第十四頁,共一百三十七頁。當接口設備從AT24Cxx的數(shù)據(jù)線上讀取數(shù)據(jù)時,稱為輸入數(shù)據(jù)(讀數(shù)據(jù))。數(shù)據(jù)總是按字節(jié)(8位)逐位串行輸入,每個時鐘脈沖輸入一位。AT24Cxx的EEPROM在SCL低電平期間將數(shù)據(jù)送往SDA總線,在SCL高電平期間,SDA總線上的數(shù)據(jù)穩(wěn)定,可供接口設備讀取?;贛CS-51單片機的接口設備可利用如下串行輸入字節(jié)子程序READ來實現(xiàn)輸入(讀)一個字節(jié)數(shù)據(jù)的操作。(2)輸入數(shù)據(jù)第十五頁,共一百三十七頁。READ:;從AT24Cxx串行輸入一個字節(jié),高位在前。調(diào)用前,SCL為低。返回時,SCL為低。返回時接收到的數(shù)據(jù)置于A中 SETB SDA ;使SDA為高,準備讀 PUSH B MOV B,#8 ;設置位計數(shù)器L2: NOP ;保持SCL為低且使數(shù)據(jù)穩(wěn)定 NOP SETB SCL ;升高時鐘第十六頁,共一百三十七頁。 NOP ;保持SCL為高 NOP MOV C, SDA ;輸入位 RLC A ;將位移入A CLR SCL ;降低時鐘 DJNZ B,L2 ;傳送下一位 POP B RET第十七頁,共一百三十七頁。當SCL高電平時,如數(shù)據(jù)變化,則將形成“開始”或“停止”兩種狀態(tài)。SCL處于高電平時,SDA從高電平轉(zhuǎn)向低電平表示一個“開始”狀態(tài),該狀態(tài)表示一種操作的開始,因此必須在任何其他命令之前執(zhí)行。AT24Cxx開始/停止定義時序圖見圖。

(1)開始狀態(tài)(START)第十八頁,共一百三十七頁。START:;發(fā)送START狀態(tài),定義當SCL為高時,SDA從高到低。返回時,SCL、SDA為低。當總線無效時,返回CY位為高 SETB SDA ;升高SDA SETB SCL ;校驗總線有效 JNB SDA,ERROR1;若SDA不為高則跳轉(zhuǎn)到ERROR1 JNB SCL,BACK1 ;若SCL不為高則跳轉(zhuǎn)到BACK1 NOP ;保持數(shù)據(jù)建立延遲及周期延遲基于MCS-51單片機的接口設備可利用如下開始子程序START來實現(xiàn)一個開始操作。第十九頁,共一百三十七頁。 CLR SDA ;降低SDA ACALL DELAY_4μs;保持SDA為低,保持時間4μs CLR SCL ;降低SCL CLR C ;清零錯誤標志 AJMP BACK1ERROR1:SETB C ;置位錯誤標志BACK1: RET第二十頁,共一百三十七頁。SCL處于高電平時,SDA由低電平轉(zhuǎn)向高電平表示一個“停止”狀態(tài)。該狀態(tài)表示一種操作的結(jié)束并將終止所有通信。在一個讀序列之后,停止命令置EEPROM于待機模式。(2)停止狀態(tài)(STOP)第二十一頁,共一百三十七頁。基于MCS-51單片機的接口設備可利用如下停止子程序STOP來實現(xiàn)一個停止操作。STOP:;發(fā)送STOP狀態(tài),定義當SCL為高時,SDA從低變高。調(diào)用前,SCL為低。返回時,SCL、SDA為高 CLR SDA NOP ;保持SCL為低及數(shù)據(jù)穩(wěn)定 NOP SETB SCL ACALL DELAY_4μs;保持建立延遲 SETB SDA RET第二十二頁,共一百三十七頁。5.器件尋址1K、2K、4K、8K和16KEEPROM在開始狀態(tài)之后緊跟8位器件地址,使芯片能執(zhí)行讀/寫操作。1010A2A1A0R/W1K/2KMSBLSBA2、A1、A0為器件地址,與硬布線輸入端相對應。R/W是讀/寫操作選擇位,高電平為讀,低電平為寫。第二十三頁,共一百三十七頁。1010A2A1P0R/W4KMSBLSB1010A2P1P0R/W8K1010P2P1P0R/W16K4KEEPROM:A2、A1為地址位,另一位為頁面地址位P0。A2A1必須與硬件布線端相對應。頁面地址位也就是隨后的數(shù)據(jù)字地址的最高位。第二十四頁,共一百三十七頁。6.寫操作(1)寫字節(jié)(BYTEWRITE

)寫字節(jié)時序見圖8.1。寫字節(jié)時序要求在給出“開始”狀態(tài)、器件地址碼和收到卡的確認應答ACK后,緊跟著給出一個8位地址碼(32KB芯片是2個8位地址碼)??ㄊ盏降刂反a后發(fā)出確認應答ACK。第二十五頁,共一百三十七頁。圖8.1AT24Cxx寫字節(jié)時序圖然后送8位數(shù)據(jù)到SDA線上,并進入EEPROM單元,每個時鐘節(jié)拍送入1位。EEPROM單元收到數(shù)據(jù)后,通過SDA線發(fā)出確認應答ACK。數(shù)據(jù)傳送設備必須用“停止”狀態(tài)來結(jié)束寫操作。這時EEPROM進入內(nèi)部定時的寫周期,如圖中的tWR,在寫周期期間,將數(shù)據(jù)寫入非易失性存儲器,并禁止所有其他操作直到寫完成。第二十六頁,共一百三十七頁。圖8.2AT24Cxx寫周期時序圖第二十七頁,共一百三十七頁。基于MCS-51單片機的接口設備可利用如下寫字節(jié)子程序WRITE_BYTE來實現(xiàn)寫字節(jié)操作。WRITE_BYTE:;AT24Cxx寫字節(jié)功能。調(diào)用前可編程的器件地址programmableaddress置于A中,字節(jié)地址置于寄存器ADDR_H和ADDR_L中,數(shù)據(jù)置于寄存器XDATA中。未等待寫周期完成。返回CY為1表明總線無效或該器件無應答。占用A累加器 ACALL START;開始子程序 JC BACK2 ;若總線無效則中斷 OR A,#FADDR ;加入固定器件地址 CLR ACC.0 ;設置寫,建立器件地址第二十八頁,共一百三十七頁。ACALL WRITE ;發(fā)送器件地址JC ERROR2 ;若無應答則中斷MOV A,ADDR_H ;發(fā)送字節(jié)地址的高8位ACALL WRITE JC ERROR2 ;若無應答則中斷MOV A,ADDR_L ;發(fā)送字節(jié)地址的低8位ACALL WRITE JC ERROR2 ;若無應答則中斷MOV A,ADATA ;取數(shù)據(jù)ACALL WRITE ;發(fā)送數(shù)據(jù)JC ERROR2 ;若無應答則中斷CLR C ;清零錯誤標志ERROR2:ACALL STOPBACK2:RET第二十九頁,共一百三十七頁。(2)寫頁面(輸出數(shù)據(jù))1K/2KEEPROM能進行8字節(jié)頁面寫入,4K/8K/16K設備能進行16字節(jié)頁面寫入。寫頁面操作與寫字節(jié)操作類似,但數(shù)據(jù)傳送設備不需要在第一個字節(jié)輸入后發(fā)停止狀態(tài)。在EEPROM確認收到第一個數(shù)據(jù)后,數(shù)據(jù)傳送設備再傳送7個(1K/2K)或15個(4K/8K/16K)字節(jié)數(shù)據(jù),在每一個數(shù)據(jù)收到后,EEPROM都要通過SDA送回確認信號,最后數(shù)據(jù)傳送設備通過停止狀態(tài)終止寫頁面。第三十頁,共一百三十七頁。圖8.3寫頁面時序圖第三十一頁,共一百三十七頁。數(shù)據(jù)地址的低3位(對于AT24C01/02)或4位(對于AT24C04/08/16)在收到每個數(shù)據(jù)字后,在芯片內(nèi)部自動加1。數(shù)據(jù)字地址的高位字節(jié)保持不變,以保持存儲器頁地址不變。如果傳送到EEPROM中的數(shù)據(jù)字超過8(對于AT24C01/02)或16(對于AT24C04/08/16),數(shù)據(jù)字地址將“滾動覆蓋”,以前寫入的數(shù)據(jù)將被覆蓋?;贛CS-51單片機的接口設備可利用如下寫塊子程序WRITE_BLOCK來實現(xiàn)寫頁面操作。第三十二頁,共一百三十七頁。WRITE_BLOCK:;向AT24Cxx寫入一頁數(shù)據(jù)。調(diào)用時器件地址的可編程地址置于A中,第一個字節(jié)地址置于寄存器ADDR_H和ADDR_L中,數(shù)據(jù)置于BUFFER中,字節(jié)計數(shù)器置于寄存器COUNT中。未等待寫周期完成。返回時CY位為1表明總線無效或器件無應答。占用A,COUNT,INDEX(注:INDEX為數(shù)據(jù)緩沖區(qū)指針,可使用工作寄存器R0)ACALL STARTJC BACK3 ;總線無效則中斷OR A,#FADDR ;生成器件地址第三十三頁,共一百三十七頁。CLR ACC.0 ;定義寫操作ACALL WRITE ;發(fā)送器件地址JC ERROR3 ;無應答則中斷MOV A,ADDR_H ;發(fā)送字節(jié)地址高8位ACALL WRITE JC ERROR3 ;無應答則中斷MOV A,ADDR_L ;發(fā)送字節(jié)地址低8位ACALL WRITE JC ERROR3 ;無應答則中斷MOV INDEX,#BUFFER ;指向數(shù)據(jù)緩沖區(qū)首地址第三十四頁,共一百三十七頁。L3: MOV A,@INDEX ;取數(shù)據(jù) ACALL WRITE ;發(fā)送數(shù)據(jù) JC ERROR3 ;無應答則中斷 INC INDEX ;地址指針加1 DJNZ COUNT,L3 ;下一個字節(jié) CLR C ;清零錯誤標志ERROR3:ACALL STOPBZCK3:RET第三十五頁,共一百三十七頁。復習IC卡的詳細分類(家族圖)存儲卡的芯片特點存儲卡的器件操作方式器件尋址方式(按字節(jié)尋址和頁面尋址)如何實現(xiàn)存儲卡芯片的寫操作(結(jié)合時序)第三十六頁,共一百三十七頁。8.2接觸式IC卡的邏輯加密卡邏輯加密卡主要由EEPROM單元陣列和密碼控制邏輯電路構(gòu)成;功能介于存儲卡和CPU卡之間;適用于需要保密,但對保密功能要求不高的場合;第三十七頁,共一百三十七頁。邏輯加密卡的邏輯結(jié)構(gòu)圖第三十八頁,共一百三十七頁。1)寫入:向EEPROM寫入“0”2)擦除:向EEPROM寫入“1”3)熔斷:對EEPROM單元進行一次性的寫入操作4)個人化:發(fā)行商將IC卡發(fā)行給個人時,寫入發(fā)行商代碼、用戶密碼、用戶身份標識,并擦除其余應用區(qū)EEPROM的過程。5)密碼錯誤計數(shù):密碼錯誤輸入的次數(shù),超過該次數(shù),IC卡將自鎖。8.2.1名詞定義第三十九頁,共一百三十七頁。邏輯加密卡的主要內(nèi)容邏輯加密卡的功能框圖邏輯加密卡的存儲區(qū)的分類典型芯片案例(1)ATMEL公司的芯片案例(2)Siemens公司的芯片案例第四十頁,共一百三十七頁。8.2.2邏輯加密卡的功能框圖邏輯加密卡芯片從功能上分兩個部分:EEPROM單元陣列保密邏輯部分地址計數(shù)器地址譯碼器密碼比較電路內(nèi)部寄存器第四十一頁,共一百三十七頁。邏輯加密卡的功能框圖第四十二頁,共一百三十七頁。RST信號將地址計數(shù)器置全0;行/字驅(qū)動器與列/位選擇器為EEPROM單元提供選擇信號;由列選擇器選擇其中的某位進行讀/寫。第四十三頁,共一百三十七頁。地址計數(shù)器:僅是計數(shù)器,EEPROM的訪問按地址順序逐一進行。地址譯碼器密碼比較器第四十四頁,共一百三十七頁。內(nèi)部寄存器:鎖存密碼比較器的結(jié)果和應用區(qū)的讀/寫屬性,供邏輯控制陣列。邏輯控制陣列:控制EEPROM的讀/寫。第四十五頁,共一百三十七頁。制造代號區(qū)發(fā)行代號區(qū)用戶密碼區(qū)密碼比較計數(shù)區(qū)用戶個人區(qū)應用區(qū)擦除密碼區(qū)擦除計數(shù)區(qū)8.2.3芯片內(nèi)部存儲區(qū)域采用分區(qū)結(jié)構(gòu)第四十六頁,共一百三十七頁。記錄卡芯片生產(chǎn)商的特定信息(例如:生產(chǎn)批號、日期及特別制定的特征代碼)。該區(qū)域里的單元信息一般由制造商在芯片出廠前寫入。當控制本區(qū)的熔絲(FUSE1)沒有熔斷時,該區(qū)的存儲單元可像普通的EEPROM存儲單元一樣擦除和改寫。一旦熔絲熔斷,所寫入的“制造商代碼”就不可再更改。芯片出廠時,廠商一般將此代碼注入,并熔斷保護熔絲(FUSE1),從而使寫入該區(qū)的標識信息不可更改,只能以讀出。1.制造商代碼區(qū)(FZ,FabricationZone)第四十七頁,共一百三十七頁。標識代號由生產(chǎn)商事先選定,代碼注入后將保護熔絲熔斷,以確保日后不可更改。特征:因此在卡片發(fā)行應用中,將這一標識作為系統(tǒng)中驗證卡片真?zhèn)蔚闹匾獦俗R。第四十八頁,共一百三十七頁。用于記錄卡片發(fā)行商的特定信息(例如:發(fā)行批號、日期、地區(qū)編號及特定用戶編號等特征代碼)。該區(qū)域的單元信息是在卡片進行個人化處理的過程中寫入。當控制本區(qū)的熔絲(FUSE2)沒有熔斷時,該區(qū)的存儲單元內(nèi)容可以自由地擦除或改寫。個人化處理完成之后,控制該區(qū)的熔絲(FUSE2)熔斷,即可將注入的“發(fā)行商代碼”完全固化。2.發(fā)行商代碼區(qū)(IZ,IssuerZone)第四十九頁,共一百三十七頁。在隨后的卡片應用中,該區(qū)的內(nèi)容不可更改,但可以任意讀出。該代碼也是識別卡片的真?zhèn)?,區(qū)分卡片應用類別的重要標識。第五十頁,共一百三十七頁。個人代碼區(qū)用于存放個人身份標識數(shù)據(jù)。該區(qū)使用時受芯片的“用戶密碼”的保護。當“用戶密碼”比較成功時,該區(qū)可讀/寫/擦除?!坝脩裘艽a”比較不成功,該區(qū)只能讀而不能寫入和擦除。3.個人代碼區(qū)(CPZ,CodeProtectedZone)第五十一頁,共一百三十七頁。整個存儲器的“總控制開關(guān)”。使用前,由授權(quán)持卡人預先輸入的一個安全代碼作為“參照字”儲存在這個存儲區(qū)里。使用時,必須輸入一個“校驗密碼”。芯片將輸入的“校驗密碼”與內(nèi)部存儲器的“參照字”一一比較。4.用戶密碼區(qū)(SC,SecurityCode)第五十二頁,共一百三十七頁。如果比較結(jié)果一致,密碼比較有效標志SV設為“1”,并開放整個芯片儲存器(包括各分區(qū)的控制密碼和各應用數(shù)據(jù)區(qū))。如果比較結(jié)果不一致,芯片內(nèi)部保持SV為“0”,并禁止外部對各分區(qū)的控制密碼區(qū)和應用數(shù)據(jù)區(qū)進行擦除和寫入操作。除FZ、IZ、CPZ等區(qū)域可讀出外,其他應用區(qū)能否讀出需由各分區(qū)“讀控制標志”的狀態(tài)來控制。第五十三頁,共一百三十七頁。為防止“用戶密碼”被非授權(quán)持卡人惡意跟蹤猜測,最簡單的方法是對輸入的“校驗密碼”的比較操作次數(shù)進行限制。該區(qū)用于對連續(xù)輸入的錯誤密碼的次數(shù)進行累計。當連續(xù)4次不正確的比較操作之后,芯片將被鎖死。芯片被鎖死之后,將拒絕任何的寫入、擦除和比較的操作命令。5.密碼比較計數(shù)區(qū)(SCAC,SecurityCodeAttemptsCounter)第五十四頁,共一百三十七頁。擦除密碼區(qū)用于存儲擦除應用區(qū)操作的控制密碼。該密碼一般由發(fā)行商使用。在芯片個人化處理之前,該區(qū)可以像普通EEPROM存儲單元一樣進行讀/寫/擦除操作。在個人化處理時輸入最后一組“擦除密碼”,在芯片熔絲FUSE2熔斷之后將使“擦除密碼”保存在該區(qū)內(nèi)。該區(qū)不再能進行讀/寫/擦除操作,只能進行比較操作。6.擦除密碼區(qū)(EZn(n=1,2,3,4),EraseKey)第五十五頁,共一百三十七頁。在使用過程中如需對應用區(qū)進行擦除操作,則必須首先對相應的EZ區(qū)輸送一個“擦除密碼”與之比較,在“擦除密碼比較計數(shù)器”不為“00H”的情況下,如果相比較的兩代碼完全一致,則相應的應用區(qū)的單元允許擦除,否則將禁止執(zhí)行擦除操作。如消費卡的充值操作。第五十六頁,共一百三十七頁。擦除密碼比較計數(shù)區(qū)(EnAC)的作用與SCAC的作用相類似。它對各應用區(qū)擦除密碼連續(xù)輸入錯誤的次數(shù)進行累計。擦除密碼比較計數(shù)器的計數(shù)方式與SCAC的方式完全一樣。如果需要提高保密強度,也可以置一個“初始值”來減少芯片允許“比較操作”的次數(shù)。7.擦除密碼比較計數(shù)區(qū)(EnAC(n=1,2,3,4),EraseKeyAttemptsCounter)第五十七頁,共一百三十七頁。應用數(shù)據(jù)區(qū)主要給用戶使用,用于存儲系統(tǒng)的有關(guān)數(shù)據(jù)和卡片標識等信息。應用數(shù)據(jù)區(qū)的寫入與讀出分別由該區(qū)的前兩位Pn(寫操作標志,各應用分區(qū)的第1位)和Rn(讀操作標志,各應用分區(qū)的第2位)以及SV(標志的狀態(tài))控制,擦除操作則由該區(qū)的擦除密碼控制。AT88SC1604設計了四個完全隔離的分區(qū),其中1~3分區(qū)的單元容量分別是4Kb、第4分區(qū)的單元容量為36Kb。8.應用數(shù)據(jù)區(qū)(AZn(n=1,2,3,4),ApplicationZone)第五十八頁,共一百三十七頁。存儲測試區(qū)主要用于芯片生產(chǎn)后對EEPROM單元陣列進行各項性能測試。該區(qū)不受任何控制區(qū)狀態(tài)和標志狀態(tài)的保護,允許對這個區(qū)進行讀/寫/擦除操作,但不能進行比較操作。9.存儲測試區(qū)(MTZ,MemoryTestZone)第五十九頁,共一百三十七頁。

ATMEL公司AT88SC102芯片特征:具有1K位的EEPRON低功耗CMOS技術(shù)2個512位可用存儲分區(qū)5伏工作電壓、自升壓電路允許擦除次數(shù)10萬以上數(shù)據(jù)保存年限100年8.2.4ATMEL公司邏輯加密卡芯片ATMEL公司邏輯加密卡芯片有:AT88SC06、AT88SC101/102、AT88SC200等。第六十頁,共一百三十七頁。本小節(jié)主要內(nèi)容芯片觸點存儲區(qū)的分配問題訪問控制操作模式第六十一頁,共一百三十七頁。1.觸點(芯片/卡片)(1)VCC、RST、CLK、GND、I/O遵從ISO/IEC7816-10的同步協(xié)議;(2)FUS熔斷信號:進行熔斷操作;(3)PGM編程信號:通知芯片進行寫入/擦除操作,無需讀寫器提供高電壓信號VPP,采用芯片內(nèi)置電路。第六十二頁,共一百三十七頁。地址計數(shù)器為11位(211K),計數(shù)范圍:(0~2047);實際使用區(qū)間:0~1567用戶使用區(qū)間:0~14232.存儲區(qū)域分配第六十三頁,共一百三十七頁。表8.5AT88SC102存儲分區(qū)結(jié)構(gòu)表存儲測試區(qū)不受保護,可進行讀/寫,用來測試EEPROM的性能。第六十四頁,共一百三十七頁。(1)三個內(nèi)部使用的EEPROM單元:FUSE1、FUSE2和EZ1的控制位;另外,芯片存儲器還有一些特殊單元:FUSE1:制造商用;FUSE2:發(fā)行商用;EZ1的控制位:“0”表示卡內(nèi)不設置EZ1區(qū),EZ1的地址被跳過?!?”時對APP1擦除時需要核對EZ1密碼,且要求SC比較結(jié)果正確。第六十五頁,共一百三十七頁。(2)兩個供特殊控制用的地址其一:獲取物理熔絲的狀態(tài)(斷或未斷);其二:可對全片進行擦除操作;(留給制造商和發(fā)行商)第六十六頁,共一百三十七頁。3.訪問控制由C4電壓和熔絲FUSE1和FUSE2共同控制。FUS觸點電壓FUS1FUS2訪問控制條件0V任意任意見表8.85V熔斷未熔斷見表8.75V未熔斷熔斷表8.8第六十七頁,共一百三十七頁。表8.7個人化時的訪問控制條件區(qū)域名SC1PR1RD2PR2RDEZ1EZ2EC讀擦除寫入比較FZ××××××××可不可不可不可IZ0×××××××可不可不可不可

1×××××××可可可不可SCSCACCPZAPP1EZ1APP2EZ2第六十八頁,共一百三十七頁。表8.8個人化后用戶使用時的訪問控制條件區(qū)域名SC1PR1RD2PR2RDEZ1EZ2EC讀擦除寫入比較FZ××××××××可不可不可不可IZ×

×××××××可不可不可不可SCSCACCPZAPP1EZ1APP2EZ2第六十九頁,共一百三十七頁。4.操作模式由PGM、RST、CLK信號和內(nèi)部地址計數(shù)器決定四種操作模式(內(nèi)部)。圖8.17所示*RESET*INC(INC/READ)*CMP(INC/CMP)*WRITE,VERIFY第七十頁,共一百三十七頁。*RESET卡內(nèi)地址計數(shù)器清零。當RST和CLK信號都為’0’時,存儲器內(nèi)的數(shù)據(jù)開始出現(xiàn)在I/O線上。當RST為高時,禁止地址計數(shù)器計數(shù);計數(shù)器在RST的下降沿清零。第七十一頁,共一百三十七頁。*INC(INC/READ)卡內(nèi)地址計數(shù)器加1。存儲器內(nèi)的數(shù)據(jù)輸出在I/O線上。以上操作在時鐘下降沿進行。*CMP(INC/CMP)外部輸入數(shù)據(jù)與卡內(nèi)密碼進行比較。當CLK信號為’0’時,輸入數(shù)據(jù)在I/O線上必須穩(wěn)定。地址計數(shù)器在時鐘下降沿加1。第七十二頁,共一百三十七頁。*WRITE,VERIFY在時鐘上升沿前,I/O數(shù)據(jù)必須準備好,然后CLK必須保持為高至少5ms,等待寫入操作完成。隨后,在CLK下降沿,剛寫入的數(shù)據(jù)出現(xiàn)在I/O線上,以被驗證。地址計數(shù)器在時鐘下降沿加1。第七十三頁,共一百三十七頁。8.2.5Siemens公司的邏輯加密卡芯片德國Siemens公司的邏輯加密卡芯片有:SLE4404、SLE4406、SLE4412、SLE4418/4428和SLE4432/4442。這些卡常用于具有定額定價的消費系統(tǒng)中,如公用電話卡、預付費加油卡、停車計費卡、游樂園消費卡等。SLE4432/4442是面向字節(jié)操作的。SLE4404、SLE4406、SLE4412、SLE4418/4428是面向位操作方式的。第七十四頁,共一百三十七頁。(1)104位存儲容量;(2)最大可提供20480個計數(shù)單位;(3)3個字節(jié)傳輸密碼,1位發(fā)行標志保護;(4)溫度范圍:-35~80℃;(5)至少10000次循環(huán)擦寫次數(shù);(6)至少10年數(shù)據(jù)保存期。1.主要指標Siemens公司SLE4406芯片案例:第七十五頁,共一百三十七頁。2.存儲結(jié)構(gòu)(13×8=104位)SLE4406的存儲分布圖第七十六頁,共一百三十七頁。3.保密特性SLE4406保密特性表第七十七頁,共一百三十七頁。發(fā)行后,用戶區(qū)進入計數(shù)狀態(tài),計數(shù)區(qū)按位寫0,按字節(jié)借位擦除。假設偏移地址為12的字節(jié)的8位已被寫為0,則可將偏移地址為11的字節(jié)的其中1位寫為“0”,而偏移地址為12的字節(jié)其8位可以全擦除成“1”,然后再逐位寫0直至再次全寫為0后再借位擦除。例如,1111111100000000→1111111011111111。注意:寫表示寫“0”,擦除表示寫“1”。按照上述計數(shù)規(guī)則,用戶區(qū)的5個字節(jié)最大可提供20480個計數(shù)單位(第5位計數(shù)器只有4位可用)。

4.用戶區(qū)計數(shù)規(guī)則第七十八頁,共一百三十七頁。它具有2Kb的存儲容量;完全獨立的可編程加密代碼(PSC,ProgrammableSecurityCode)存儲器;內(nèi)部電壓提升電路保證了芯片能夠以單+5V電壓供電;較大的存儲容量能夠滿足通常應用領域的各種要求。西門子(Siemens)公司的SLE4442案例--面向字節(jié)操作的多存儲器結(jié)構(gòu)邏輯加密卡是目前國內(nèi)應用較多的一種IC卡芯片。第七十九頁,共一百三十七頁。(1)采用多存儲器結(jié)構(gòu)。(2)2線連接協(xié)議,復位響應滿足ISO/IEC7816-3標準。(3)觸點配置及串行接口滿足ISO/IEC7816(同步傳輸協(xié)議)。(4)僅當正確輸入3個字節(jié)的可編程加密代碼(PSC)后方可修改數(shù)據(jù)。(5)芯片采用NMOS工藝技術(shù),每個字節(jié)的寫入/擦除編程時間為2.5ms。(6)存儲器具有至少104次的寫入/擦除周期,數(shù)據(jù)保持時間至少10年。1.總體描述第八十頁,共一百三十七頁。SLE4442的觸點配置圖第八十一頁,共一百三十七頁。SLE4442引腳定義和功能說明第八十二頁,共一百三十七頁。256×8b的EEPROM型主存儲器;32×1b的PROM型保護存儲器;4×8b的EEPROM型加密存儲器。2.存儲器結(jié)構(gòu)SLE4442卡芯片采用了多存儲器結(jié)構(gòu),主要包括三個存儲器:第八十三頁,共一百三十七頁。SLE4442的存儲器結(jié)構(gòu)主存儲器保護存儲器加密存儲器第八十四頁,共一百三十七頁。主存儲器(MainMemory)主存儲器的地址從0(00H)~255(FFH),共256B(2Kb)。主存儲器可分為兩個數(shù)據(jù)區(qū)保護數(shù)據(jù)區(qū)應用數(shù)據(jù)區(qū)主存儲器是可重復擦除使用的EEPROM型存儲器,按字節(jié)尋址、擦除和寫入。第八十五頁,共一百三十七頁。主存儲器前32B為保護數(shù)據(jù)區(qū),地址從0(00H)到31(1FH)。這部分的數(shù)據(jù)讀出不受限制,但擦除和寫入操作均受到保護存儲器內(nèi)部數(shù)據(jù)狀態(tài)的限制。(1)保護數(shù)據(jù)區(qū)第八十六頁,共一百三十七頁。根據(jù)這一特性,主存儲器的保護數(shù)據(jù)區(qū)一般均作為IC卡的標識數(shù)據(jù)區(qū),存放一些固定不變的標識參數(shù),如廠商代碼、發(fā)行商代碼等。保護存儲器(n=0~31)主存儲器第n位=1第n個字節(jié)允許擦除和寫入操作;第n位=0第n個字節(jié)不允許擦除和寫入操作;第八十七頁,共一百三十七頁。主存儲器后224B為應用數(shù)據(jù)區(qū),地址從32(20H)到255(FFH)。這部分數(shù)據(jù)讀出不受限制,但擦除和寫入均受控于加密存儲器數(shù)據(jù)校驗比較結(jié)果的影響。(2)應用數(shù)據(jù)區(qū)第八十八頁,共一百三十七頁。保護存儲器是一個32×1b的一次性可編程只讀存儲器(PROM);是按位尋址和寫入;保護存儲器(0~31)位每一位對應著主存儲器地址為0~31的每一個字節(jié),可以看成每個字節(jié)單元的控制熔絲。保護存儲器(ProtectionMemory)第八十九頁,共一百三十七頁。從出廠到初始化前,保護存儲器的狀態(tài)為全“1”。從控制方面來說,保護存儲器的內(nèi)容只能從“1”寫成“0”(即熔斷熔絲),而不能從“0”擦除成“1”。保護存儲器被寫“0”的單元所對應被控制的主存儲器的字節(jié)單元將不再接受任何擦除和寫入操作命令,從而使得該字節(jié)單元內(nèi)的數(shù)據(jù)不可再改變。因此,對保護存儲器單元的寫入一定要特別小心。第九十頁,共一百三十七頁。如果需要防止一些固定的標識參數(shù)(例如,生產(chǎn)廠家代碼、發(fā)行商代碼、卡片編號等)被改動,可以將這類參數(shù)先寫入主存儲器的保護數(shù)據(jù)區(qū),然后將對應單元的保護存儲器的字位寫0,從而使這部分數(shù)據(jù)單元的參數(shù)永遠不可更改。保護存儲器本身的讀出操作不受限制。但對其寫入操作仍然受到加密存儲器比較校驗操作結(jié)果的控制。當輸入的“校驗字”與芯片內(nèi)原來存有的“參照字”一致時,則可以執(zhí)行后續(xù)的寫入操作。如果比較不成功,則控制邏輯將鎖住保護存儲器。第九十一頁,共一百三十七頁。加密存儲器(SecurityMemory)加密存儲器是一個4×8b的EEPROM型存儲器。第0個字節(jié)為“密碼輸入錯誤計數(shù)器”(EC,ErrorCounter)。密碼輸入錯誤計數(shù)器的有效位是低3位。在芯片初始化時,計數(shù)器設置成“111”。該字節(jié)是可讀的,每次比較密碼時,先要判定計數(shù)器中是否還有“1”。如果還有“1”,則將一個“1”寫成“0”。然后進行比較“校驗字”操作。PSC3PSC2PSC1EC3210第九十二頁,共一百三十七頁。如果比較結(jié)果一致,則密碼錯誤計數(shù)器將允許進行擦除操作(注意,芯片不能自動進行擦除操作),同時打開主存儲器、保護存儲器和加密存儲器,并允許進行擦除和寫入操作。如果比較結(jié)果不一致,則EC中為“1”的個數(shù)減少1位。只要(EC)≠0,則芯片的比較“校驗字”操作還允許再次進行。當連續(xù)三次輸入錯誤密碼后(即密碼計數(shù)器減少為0),則芯片的存儲單元將全部被鎖死。由此可見,加密存儲器可以理解為進入整個芯片的“關(guān)卡”。第九十三頁,共一百三十七頁。加密存儲器的第1、2、3個字節(jié)為“參照字”存儲區(qū)。這3個字節(jié)的內(nèi)容作為一個整體被稱為可編程加密代碼(PSC)。注意:這3個字節(jié)的內(nèi)容在PSC比較成功前是不可讀的,只能進行比較操作。而寫入和擦除操作也受自身比較操作結(jié)果的控制。只有當比較操作成功時,加密存儲器各字節(jié)的內(nèi)容才可以進行讀出、寫入和擦除。第九十四頁,共一百三十七頁。1.上電復位:芯片內(nèi)部寄存器復位8.2.6典型電路分析2.密碼比較:形成SC與EZ其作用是驗證持卡人和發(fā)行商的身份,是整個電路的核心。刪除密碼比較電路用戶密碼比較電路第九十五頁,共一百三十七頁。I/OCOMPTDATATIN(1)刪除密碼比較電路外部數(shù)據(jù)由EEPROM讀出數(shù)據(jù)011原態(tài)‘1’00圖8.32刪除密碼比較電路第九十六頁,共一百三十七頁。COMP為密碼比較結(jié)果觸發(fā)器,取EZ=Q。當EZ=1,表示密碼比較正確。電路設計原則:初態(tài)EZ=1,如密碼比較相等,EZ仍然為1;如密碼比較不正確,則EZ=0,即COMP=1,然后COMP保持1,EZ保持0。第九十七頁,共一百三十七頁。電路工作原理:當?shù)刂窞椤?’時,ADR=0有效,觸發(fā)器清零,COMP=0,EZ=1;當?shù)刂肺吹矫艽a區(qū)時,COMP的D端為’0’,因此COMP保持’0’,EZ=1;當?shù)刂吩诿艽a區(qū)時,由EEPROM讀出的數(shù)據(jù)DATA經(jīng)鎖存為TDATA;外部數(shù)據(jù)I/O輸入觸發(fā)器后為TIN。二者經(jīng)異或門進行比較:第九十八頁,共一百三十七頁。如比較結(jié)果相等,則D端為’0’,COMP保持’0’,即EZ保持1;如比較結(jié)果不等,則D端為’1’,COMP跳變?yōu)椤?’,然后依靠Q輸出到D端的連線,使它保持’1’,因此EZ保持為’0’。TIN在CLK的上升沿時形成,TDATA在TCLK為’1’時鎖存,而比較結(jié)果在CLK的下降沿時形成。即時鐘上升沿保存要比較的數(shù)據(jù),在時鐘下降沿進行比較。第九十九頁,共一百三十七頁。(2)用戶密碼比較電路對于SC來說,由于有比較次數(shù)的限制,因此即使比較結(jié)果正確,但超過了四次的限制,仍然無效。因此在圖8.32的基礎上,需增加圖8.33鎖存電路。其中ESC=1,才表示用戶密碼正確。第一百頁,共一百三十七頁。圖8.32密碼比較結(jié)果鎖存電路111011該電路保證比較結(jié)果正確,且密碼比較次數(shù)在規(guī)定的范圍內(nèi)。此時,ESC=1。第一百零一頁,共一百三十七頁。COMP=1A3A2=00,即密碼比較次數(shù)≤4,A3~A0=0000~0011;SCAC=1,即比較次數(shù)有效;ESC=1表示:第一百零二頁,共一百三十七頁。3.熔絲電路FUSE1生產(chǎn)商掌控FUSE2發(fā)行商掌控熔絲的作用是控制特殊的讀寫操作,但熔絲熔斷后,讀寫操作就無法進行,從而達到保密的目的。第一百零三頁,共一百三十七頁。FUSE1和FUSE2的實現(xiàn)有三種方式:(1)采用2個物理熔絲分別代表FUSI和FUS2,都采用外加電流的方式熔斷。圖8.34(2)采用一個物理熔絲,而用2個EEPROM單元代表FUSE1和FUSE2,用物理熔絲來控制FUSE1和FUSE2的讀寫操作。(3)利用芯片出廠的切片操作來代替熔斷物理熔絲,圖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ù)傳輸率?交易時間?防沖突功能?

8.3.1MifareStandard1.概述第一百零七頁,共一百三十七頁。2.MifareStandard邏輯圖調(diào)制/解調(diào)器電壓調(diào)節(jié)器RF接口鑒別和訪問控制ATR防沖突選擇應用密碼計算單元控制和算術(shù)運算單元數(shù)字部分EEPROM接口EEPROM第一百零八頁,共一百三十七頁。3.IFD與ICC的交易流程IFD發(fā)Request給所有在場的IC卡,通過防沖突循環(huán),得到一張卡的序列號,選擇此卡進行鑒別,通過后對存儲器進行操作。第一百零九頁,共一百三十七頁。防沖突循環(huán)得到序列號選擇卡鑒別TransferHaltReadWriteDecrementIncreRstorHaltRequest第一百一十頁,共一百三十七頁。4.Mifare卡的訪問存儲器命令Read讀存儲器的一個分組2.5msWrite寫存儲器的一個分組6.0msDecrement減少分組內(nèi)容,將結(jié)果存入數(shù)據(jù)寄存器Increment增加分組內(nèi)容,將結(jié)果存入數(shù)據(jù)寄存器Transfer將數(shù)據(jù)寄存器內(nèi)容寫入EEPROM一個分組Restore將分組內(nèi)容存入數(shù)據(jù)寄存器第一百一十一頁,共一百三十七頁。5.存儲器組織與訪問條件16區(qū)*4分組*16字節(jié)Block0制造商代碼(0區(qū))/數(shù)據(jù)Block3本區(qū)密鑰/訪問條件Block0~2數(shù)據(jù)分組數(shù)據(jù)分組讀寫分組價值分組整個存儲器分成16個扇區(qū),每個分區(qū)有4個分組構(gòu)成,每個分組占16個字節(jié)。第一百一十二頁,共一百三十七頁。﹕0123012301230123Block0制造商代碼(0區(qū))數(shù)據(jù)分組區(qū)尾部Block301215存儲器的結(jié)構(gòu)示意圖第一百一十三頁,共一百三十七頁。KeyA訪問條件KeyB區(qū)尾部Block3的組成012345678910111213141576543210訪問條件的每一位用原碼和反碼存儲;訪問條件的最后一個字節(jié)(BX0~BX7)用來存放特定的應用數(shù)據(jù)。16個字節(jié)第一百一十四頁,共一百三十七頁。塊3的訪問條件的存放情況C2X3-bC2X2-bC2X1-bC2X0-bC1X3-bC1X2-bC1X1-bC1X0-bC1X3C1X2C1X1C1X0C3X3-bC3X2-bC3X1-bC3X0-bC3X3C3X2C3X1C3X0C2X3C2X2C2X1C2X0BX7BX6BX5BX4BX3BX2BX1BX0說明:-b表示取反,如C2X3-b為C2X3取反;X表示扇區(qū);Y表示塊;C表示控制位;B表示備用位:用來存放特定的應用數(shù)據(jù)。C1X3、C2X3、C3X3表示控制塊3的訪問條件。6789第一百一十五頁,共一百三十七頁。Mifare1卡存取控制對塊3的控制配置C1X3C2X3C3X3KeyA訪問條件KeyB讀寫讀寫讀寫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是永遠不能執(zhí)行的;第一百一十六頁,共一百三十七頁。Mifare1卡存取控制對塊3的控制配置C1X3C2X3C3X3KeyA訪問條件KeyB讀寫讀寫讀寫000不能KeyAKeyA不能KeyAKeyA010不能不能KeyA不能KeyA不能100不能KeyBKeyA︱B不能不能KeyB110不能不能KeyA︱B不能不能不能001不能KeyAKeyAKeyAKeyAKeyA011不能KeyBKeyA︱BKeyB不能KeyB101不能不能KeyA︱BKeyB不能不能111不能不能KeyA︱B不能不能不能KeyA是不能讀出的;但在滿足一定條件下,可以改寫;KeyB作為密鑰使用,也是不能讀出的;第一百一十七頁,共一百三十七頁。在某種條件下,能讀出時,其內(nèi)容不是密鑰,而是數(shù)據(jù)。C1X3C2X3C3X3KeyA訪問條件KeyB讀寫讀寫讀寫000不能KeyAKeyA不能KeyAKeyA010不能不能KeyA不能KeyA不能100不能KeyBKeyA︱B不能不能KeyB110不能不能KeyA︱B不能不能不能001不能KeyAKeyAKeyAKeyAKeyA011不能KeyBKeyA︱BKeyB不能KeyB101不能不能KeyA︱BKeyB不能不能111不能不能KeyA︱B不能不能不能Mifare1卡存取控制對塊3的控制配置第一百一十八頁,共一百三十七頁。Mifare1卡存取控制對塊0~塊2的控制配置C1XYC2XYC3XY讀寫增值減值、重儲、傳送000KeyA︱BKeyA︱BKeyA︱BKeyA︱B010KeyA︱B不能不能不能100KeyA︱BKeyB不能不能110KeyA︱BKeyBKeyBKeyA︱B001KeyA︱B不能不能KeyA︱B011KeyBKeyB不能不能101KeyB不能不能不能111不能不能不能不能根據(jù)各區(qū)塊3提供的訪問條件,可以對相應的區(qū)進行數(shù)據(jù)分組操作,實現(xiàn)讀/寫分組、價值分組。第一百一十九頁,共一百三十七頁。在MF1IC卡中,有兩類數(shù)據(jù)分組:(1)讀/寫分組用于讀/寫(Read/Write)一般的16字節(jié)數(shù)據(jù)。(2)價值分組(Valueblock)用于電子錢包功能(Read、Increment、Decrement、Transfer和Restore)。第一百二十頁,共一百三十七頁。Value的長度為4個字節(jié),每個Value存入3次,以提高錯誤檢測和糾錯能力。AAAAValueValueValueA和A為地址字節(jié),同一地址存入4次。Valueblock中的內(nèi)容第一次由Write命令寫入到所要求的地址中,以后用Decrement/Increment/Restore命令修改內(nèi)容。計算結(jié)果暫存入DATA寄存器,再用Transfer命令寫入存儲器。第一百二十一頁,共一百三十七頁。

IFD用隨機數(shù)、卡的序列號和密鑰進行加密。采用3pass鑒別法。6.安全密鑰在卡內(nèi)是受保護的,但可修改,因此知道了運輸密鑰后,可以寫入自己的秘密密鑰;每個區(qū)有兩個密鑰,可進行不同的目的;在通過3pass鑒別后,發(fā)送器自動加密,接收器自動解密。第一百二十二頁,共一百三十七頁。RB--IC卡產(chǎn)生的隨機數(shù)TokenAB=EKAB(RA‖RB‖B‖Text2)TokenBA

溫馨提示

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

評論

0/150

提交評論