淺談一卡通的安全性_第1頁
淺談一卡通的安全性_第2頁
淺談一卡通的安全性_第3頁
淺談一卡通的安全性_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

淺談一卡通的安全性

這種分布式卡結(jié)算交通方便、安全,易于實(shí)現(xiàn)數(shù)字化信息管理。隨著計(jì)算機(jī)的普及和各行業(yè)信息管理的需要,卡結(jié)算應(yīng)用程序越來越受到重視。正是因?yàn)槠鋺?yīng)用的廣泛性,所以其安全性成為一個(gè)不可忽視的重要因素,其操作系統(tǒng)的安全性首當(dāng)其沖。智能卡的操作系統(tǒng)必須采取一系列的措施來保證卡內(nèi)密鑰的安全,保證對(duì)智能卡操作的合法性,保證數(shù)據(jù)交換的安全完整性。1金融ic卡的密鑰密鑰是保證智能卡安全的關(guān)鍵因素,因?yàn)槊荑€控制著卡內(nèi)所有文件的訪問。金融IC卡內(nèi)使用的密鑰有幾十個(gè),按功能分為應(yīng)用維護(hù)、鎖定控制、應(yīng)用數(shù)據(jù)更新、交易和應(yīng)用數(shù)據(jù)讀取等多個(gè)類型。對(duì)卡片的很多操作都需要對(duì)密鑰進(jìn)行認(rèn)證,取得相應(yīng)權(quán)限后才能進(jìn)行。正因?yàn)槊荑€是如此的重要,所以金融IC卡對(duì)密鑰的管理是非常嚴(yán)格的。每個(gè)卡片所使用的卡內(nèi)密鑰,都是通過三級(jí)分散來確定的,這樣可以保證密鑰的唯一性,為卡片的安全應(yīng)用提供強(qiáng)有力的保障。根據(jù)發(fā)卡過程的要求,卡片在發(fā)行中實(shí)行主管機(jī)構(gòu)與卡片發(fā)行中心兩級(jí)密鑰管理體制,對(duì)密鑰進(jìn)行三級(jí)分散。發(fā)卡單位(總行)作為金融IC卡的密鑰管理中心,它產(chǎn)生發(fā)行單位的根密鑰(包括發(fā)卡授權(quán)密鑰等),把根密鑰傳遞給二級(jí)密鑰管理中心,即金融IC卡發(fā)行中心,由發(fā)行中心進(jìn)行下一步的工作。卡發(fā)行中心從主管機(jī)構(gòu)得到密鑰后,進(jìn)行二次分散,得到各種密鑰的母密鑰,然后把相應(yīng)的母密鑰裝載到SAM(安全存取模塊SecureAccessModule)卡及發(fā)卡母卡上。在卡片發(fā)行時(shí),由發(fā)卡母卡上的各個(gè)母密鑰根據(jù)每個(gè)金融IC卡的應(yīng)用序列號(hào),分散出每個(gè)金融IC卡上所使用的子密鑰。每個(gè)金融IC卡的子密鑰是用卡片應(yīng)用序列號(hào)的最右16數(shù)字作為分散因子,由母密鑰分散得到的,其計(jì)算流程如圖1所示。金融IC卡為了增強(qiáng)與應(yīng)用終端的認(rèn)證程度和增加數(shù)據(jù)加密的安全性,卡片要求在報(bào)文的安全傳輸和交易的過程使用過程密鑰。過程密鑰是對(duì)應(yīng)使用的子密鑰進(jìn)行DES或3DES(原密鑰長度為16字節(jié)時(shí)使用)加密運(yùn)算產(chǎn)生的。在重要報(bào)文的安全傳送過程中需要產(chǎn)生過程密鑰,產(chǎn)生過程密鑰所使用的輸入數(shù)據(jù)基本相同,而使用的原始密鑰不同。8字節(jié)的輸入數(shù)據(jù)是:4字節(jié)的隨機(jī)數(shù),2字節(jié)的電子存折聯(lián)機(jī)交易序號(hào),2字節(jié)的十六進(jìn)制數(shù)“8000”。計(jì)算圈存交易的過程密鑰時(shí),輸入數(shù)據(jù)與圈存密鑰(DLK)運(yùn)算產(chǎn)生圈存交易使用的過程密鑰;而計(jì)算圈提交易的過程密鑰時(shí),使用的密鑰是圈提密鑰(DULK)。金融IC卡在產(chǎn)生過程密鑰過程中,必須保證每一次使用的隨機(jī)數(shù)都是新的,如果沒有產(chǎn)生新的隨機(jī)數(shù)就進(jìn)行相關(guān)操作,卡片會(huì)返回錯(cuò)誤信息。只有這樣才能真正的做到每操作一次都使用一個(gè)新的過程密鑰,這樣才能更好地保證數(shù)據(jù)的安全。此外,金融IC卡的密鑰管理還有一個(gè)類似于“防火墻”的功能,即除了PIN(個(gè)人密碼PersonalIdentificationCode)外的所有密鑰都不能跨應(yīng)用使用。當(dāng)終端選擇金融IC卡其中的一個(gè)應(yīng)用后,該應(yīng)用中的所有授權(quán)操作都是由此應(yīng)用中的密鑰進(jìn)行控制的。如果要對(duì)別的應(yīng)用進(jìn)行操作,則必須選擇相應(yīng)應(yīng)用后,對(duì)其中的密鑰進(jìn)行相關(guān)驗(yàn)證,獲得權(quán)限后才能進(jìn)行操作。也就是說,進(jìn)行跨應(yīng)用操作時(shí),原來的權(quán)限將會(huì)丟失。2金融ic卡的機(jī)制在對(duì)金融IC卡進(jìn)行操作之前,應(yīng)用終端必須對(duì)卡片進(jìn)行有效性檢查,檢查卡片是否有效或者說確認(rèn)卡片是否可以在金融環(huán)境中使用。這個(gè)檢測(cè)過程通過內(nèi)部認(rèn)證來實(shí)現(xiàn)。內(nèi)部認(rèn)證是金融IC卡COS系統(tǒng)的一個(gè)命令,其全體實(shí)現(xiàn)過程如下:(1)終端產(chǎn)生均為8字節(jié)的兩組隨機(jī)數(shù)。隨機(jī)數(shù)可以通過軟件生成,也可以通過SAM卡或金融IC卡的取隨機(jī)數(shù)功能獲得;(2)終端對(duì)卡片發(fā)出內(nèi)部認(rèn)證命令,兩組隨機(jī)數(shù)放在數(shù)據(jù)域中發(fā)給卡片;(3)卡片接到內(nèi)部認(rèn)證命令后,通過命令中的密鑰標(biāo)識(shí)符找到相應(yīng)的密鑰,與第一組隨機(jī)數(shù)產(chǎn)生過程密鑰,然后對(duì)第二組隨機(jī)數(shù)進(jìn)行加密運(yùn)算,把結(jié)果作為鑒別信息回送給終端;(4)終端在發(fā)出命令后,進(jìn)行與卡片相同的運(yùn)算過程,在接收到返回信息后,對(duì)鑒別信息進(jìn)行比較驗(yàn)證。只有在內(nèi)部認(rèn)證通過的情況下,終端才會(huì)對(duì)卡片進(jìn)行后續(xù)操作。驗(yàn)證通過后,終端可以讀取卡片的相關(guān)信息,檢查卡片的有效性。內(nèi)部認(rèn)證可以實(shí)現(xiàn)終端對(duì)金融IC卡的鑒別,而IC卡中的應(yīng)用驗(yàn)證終端的有效性以及讓終端獲得某種操作權(quán)限,則需要通過外部認(rèn)證來實(shí)現(xiàn)。外部認(rèn)證也是金融IC卡COS系統(tǒng)的一個(gè)命令,其具體實(shí)現(xiàn)過程如下:(5)終端通過取隨機(jī)數(shù)命令獲得金融IC卡產(chǎn)生的8字節(jié)隨機(jī)數(shù)Rc;(6)終端產(chǎn)生字節(jié)隨機(jī)數(shù)Rt(也可以從SAM獲得),然后用指定的密鑰與Rc產(chǎn)生過程密鑰,再用過程密鑰對(duì)Rt進(jìn)行加密,產(chǎn)生鑒別數(shù)據(jù);(7)終端對(duì)卡片發(fā)出外部命令,把鑒別數(shù)據(jù)和Rt發(fā)送給卡片;(8)卡片根據(jù)命令的參數(shù)找到相應(yīng)的密鑰,與保存的Rc產(chǎn)生過程密鑰,對(duì)接收到的Rt進(jìn)行加密運(yùn)算,再與接收到的鑒別數(shù)據(jù)進(jìn)行比較驗(yàn)證。當(dāng)驗(yàn)證通過后,卡片記住該密鑰成功鑒別的結(jié)果,直到斷電或者選擇別的應(yīng)用。終端則通過對(duì)密鑰的外部認(rèn)證獲得了該密鑰所控制的權(quán)限,可以進(jìn)行相應(yīng)的操作。金融IC卡對(duì)文件讀寫權(quán)限的控制也是非常嚴(yán)格的,每一個(gè)重要文件都對(duì)應(yīng)著一個(gè)密鑰來確定其讀寫操作的權(quán)限,只有相應(yīng)密鑰的外部認(rèn)證通過了,才能對(duì)文件進(jìn)行讀寫。另外,對(duì)持卡人PIN的驗(yàn)證也可以獲得相應(yīng)的權(quán)限。PIN的驗(yàn)證是通過COS的口令驗(yàn)證命令Verify進(jìn)行的,卡片通過比較命令數(shù)據(jù)域中的PIN與卡內(nèi)保存的PIN是否一致來決定是否授權(quán)。3mac的認(rèn)證碼在卡片與應(yīng)用終端進(jìn)行信息交換過程中,在持卡人的PIN、電子存折金額等重要信息。這些信息如果被竊取或篡改,后果非常嚴(yán)重。金融IC卡采取驗(yàn)證MAC來保證報(bào)文的完整性,通過對(duì)交換信息的加密來保證信息的保密安全性。當(dāng)命令數(shù)據(jù)采用安全報(bào)文傳送時(shí),要求對(duì)方進(jìn)行MAC認(rèn)證或加密傳送。MAC要進(jìn)行驗(yàn)證的數(shù)據(jù)是COS的命令頭和命令數(shù)據(jù)域中的數(shù)據(jù)元。MAC認(rèn)證碼是通過過程密鑰對(duì)數(shù)據(jù)進(jìn)行DES運(yùn)算得到的長度為4個(gè)字節(jié)的數(shù)據(jù)元,它在通信過程中附加在命令數(shù)據(jù)域的最后,發(fā)送到對(duì)方。當(dāng)接收方接收完命令的所有數(shù)據(jù)后,需要對(duì)數(shù)據(jù)進(jìn)行相應(yīng)的運(yùn)算,也計(jì)算出一個(gè)MAC,與發(fā)送方的MAC碼進(jìn)行比較,當(dāng)二者相同時(shí),才認(rèn)為接收的命令是完整的、正確的。計(jì)算MAC認(rèn)證碼的過程如下:(1)用COS命令頭及命令數(shù)據(jù)域中的明文或密文數(shù)據(jù)組合成要認(rèn)證的原始數(shù)據(jù)塊;(2)將原始認(rèn)證數(shù)據(jù)塊分為以8個(gè)字節(jié)為單位的數(shù)據(jù)塊,記作D1,D2,……,Di,最后的數(shù)據(jù)塊可能是1―8個(gè)字節(jié);(3)如果最后的數(shù)據(jù)塊長度不足8字節(jié),則在其后加上十六進(jìn)制數(shù)的“80”和若干個(gè)“00”,直到滿足長度為8字節(jié);如果最后的數(shù)據(jù)塊長度剛好8字節(jié),則在其后加上十六進(jìn)制數(shù)“8000000000000000”;(4)數(shù)據(jù)塊D1作為明文M1,與MAC過程密鑰KMA進(jìn)行DES加密運(yùn)算,得到官方C1;C1與D2異或后作為明文M2,再與KMA進(jìn)行DES加密運(yùn)算;重復(fù)以上步驟,直到對(duì)Ci-1與Di的異或結(jié)果加密完成,得到Ci;(5)在Ci中,左起取4個(gè)字節(jié)作為MAC認(rèn)證碼。當(dāng)需要保證命令中明文數(shù)據(jù)的保密性時(shí),則要求對(duì)數(shù)據(jù)進(jìn)行加密傳送。加密的數(shù)據(jù)包括明文的長度(不包含算法要求填充的數(shù)據(jù))、明文數(shù)據(jù)和算法要求填充的數(shù)據(jù)三大部分。金融IC卡中使用DES或3DES(當(dāng)加密密鑰長度為16字節(jié)時(shí))算法對(duì)數(shù)據(jù)進(jìn)行加密,加密后的數(shù)據(jù)作為COS命令的數(shù)據(jù)域的數(shù)據(jù)元進(jìn)行傳送。在某些信息交換過程中,有可能同時(shí)使用MAC認(rèn)證和數(shù)據(jù)加密手段來保證數(shù)據(jù)的安全完整性。4金融ic卡數(shù)據(jù)更新的過程保持所操作數(shù)據(jù)的完整性是金融IC卡安全的一個(gè)重要部分。在某個(gè)操作(特別是交易)過程中,可能會(huì)由于斷電等原因造成操作突然中斷,這時(shí),對(duì)卡片操作的結(jié)果是不可預(yù)料的,對(duì)卡內(nèi)數(shù)據(jù)的更改可能完成了,也可能只完成了一部分。如果只完成了一部分,就會(huì)造成卡內(nèi)數(shù)據(jù)不正確、不完整。金融IC卡通過對(duì)交易認(rèn)證碼的檢驗(yàn)來確定交易是否完成。金融IC卡在完成交易更新金額之前,必須計(jì)算與當(dāng)前交易數(shù)據(jù)密切相關(guān)的MAC和TAC(交易驗(yàn)證碼TransactionAuthorizationCode)碼(圈存交易只有TAC),并保存下來。當(dāng)金額更新成功后,必須保證通過取交易認(rèn)證碼命令可以獲得與交易相應(yīng)的MAC和TAC碼。如果在交易操作結(jié)束后未能收到響應(yīng),卡片就被拔出,終端可以通過取交易認(rèn)證碼來檢查卡內(nèi)數(shù)據(jù)是否已經(jīng)被更新。防拔機(jī)制的引入是為了防止在操作過程中只更新了卡內(nèi)數(shù)據(jù)的一部分。如果操作突然中斷了,卡片有可能正在執(zhí)行一個(gè)命令,這樣會(huì)導(dǎo)致命令沒有執(zhí)行完,而命令中需要更新的數(shù)據(jù)也只更新了一部分。要防止這種情況的出現(xiàn),就需要在每次更新數(shù)據(jù)前對(duì)原數(shù)據(jù)進(jìn)行備份。在確定命令處理過程正確完成后,把要寫入的數(shù)據(jù)寫到相應(yīng)的位置,卡片丟棄備份數(shù)據(jù)。如果出現(xiàn)異常情況,則在卡片重新上電后,卡片檢測(cè)更新的數(shù)據(jù)是否寫完,如果沒有,則需要把原來的舊數(shù)據(jù)恢復(fù)到相應(yīng)的位置

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論