系統(tǒng)為經(jīng)由本地或擴展網(wǎng)絡(luò)進行通信的主機(H)與客戶端(Cl)設(shè)備之間交換數(shù)據(jù)建立安全信道。
[0089]為了允許所述安全信道的打開,在實施方案中,主機(H)和客戶端(Cl)設(shè)備包括至少一個數(shù)據(jù)加密/解密算法及記錄于所述設(shè)備的秘密區(qū)中的至少一組加密的密鑰,所述區(qū)不可從外部訪問。例如且不限于,每組的密鑰為對稱的。例如,所利用的加密/解密算法為稱為三重DES(3-DES,“數(shù)據(jù)加密標(biāo)準(zhǔn)”)的算法。每組密鑰包括例如三個密鑰3-DES,即,ENC,MAC和DEK。密鑰ENC為用于數(shù)據(jù)加密的密鑰,確保所交換數(shù)據(jù)的機密性。密鑰MAC為完整性密鑰。對資料利用密鑰MAC的算法3-DES生成數(shù)字簽名,伴隨每個資料通過所述算法及密鑰MAC進行加密。所述數(shù)字簽名確保從一個設(shè)備傳送到另一個設(shè)備的數(shù)據(jù)不會損壞。最后,密鑰DEK為機密數(shù)據(jù)的秘密加密的密鑰,且對敏感數(shù)據(jù)給予額外保護,例如且不限于包括關(guān)于用戶數(shù)據(jù)的信息。
[0090]在實施方案中,主機(H)和客戶端(Cl)設(shè)備包括由處理構(gòu)件運行的操作系統(tǒng),所述操作系統(tǒng)包括打開具有GlobalPlatform規(guī)范的安全信道所必需的算法和命令,允許客戶端(例如便攜式用戶對象Cl)與主機(H)(例如,服務(wù)器)之間的安全數(shù)據(jù)交換。
[0091]在實施方案中,且參考圖3,現(xiàn)將說明在數(shù)據(jù)交換的安全系統(tǒng)的客戶端設(shè)備(Cl)和主機設(shè)備(H)之間具有GlobalPlatform規(guī)范的安全信道的打開方法。所述信道的打開經(jīng)由記錄于主機設(shè)備和客戶端設(shè)備的安全非易失性存儲區(qū)中的算法3-DES及記錄于不可從外部訪問的每個設(shè)備(H,Cl)的秘密區(qū)中的一組三個密鑰ENC、MAC和DEK實現(xiàn)。
[0092]在第一步驟期間,主機設(shè)備(H)的處理構(gòu)件控制新會話的打開。指示所述會話的打開的信息通過主機設(shè)備(H)的處理構(gòu)件發(fā)送至客戶端設(shè)備(Cl)。一收到所述信息,客戶端設(shè)備的處理構(gòu)件就生成¢0)在新會話的每次打開時遞增的會話計數(shù)器(SC)。所述會話計數(shù)器存儲于客戶端設(shè)備(Cl)的存儲區(qū)中。
[0093]在第二步驟期間,客戶端設(shè)備(Cl)的處理構(gòu)件經(jīng)由算法3-DES利用會話計數(shù)器(SC)及由主機設(shè)備(H)的處理構(gòu)件生成的隨機主機號(HC)來執(zhí)行三個密鑰ENC、MAC和DEK的導(dǎo)出操作(501),所述隨機主機號(HC)發(fā)送(61)至客戶端設(shè)備(Cl)且記錄于客戶端設(shè)備的存儲器中。
[0094]在所述導(dǎo)出步驟之后,五個導(dǎo)出的秘密密鑰通過客戶端設(shè)備(Cl)的處理構(gòu)件生成(90)并記錄于所述設(shè)備(Cl)的存儲區(qū)中。稱為S-ENC的第一密鑰允許通過一個設(shè)備(H,Cl)發(fā)送至另一個設(shè)備(H,Cl)的命令的加密。稱為R-ENC的第二密鑰允許通過一個設(shè)備發(fā)送至另一個設(shè)備的響應(yīng)的加密。稱為C-MAC和R-MAC的兩個密鑰分別允許為所發(fā)送的每個命令和每個響應(yīng)生成簽名,確保所傳送數(shù)據(jù)的完整性。最后,不管命令或響應(yīng),稱為S-DEK的第五密鑰允許機密數(shù)據(jù)的加密。
[0095]在第四步驟期間,客戶端設(shè)備(Cl)的處理構(gòu)件經(jīng)由算法3-DES利用導(dǎo)出的密鑰S-ENC以及隨機主機號(HC)及由客戶端設(shè)備(Cl)的處理構(gòu)件生成的隨機客戶端號(CC)來生成(504)客戶端密碼(Ccryptoc)。
[0096]在第五步驟期間,所述客戶端密碼(Ccrypto。)、會話計數(shù)器(SC)及隨機客戶端號(CC)通過客戶端設(shè)備(Cl)的處理構(gòu)件發(fā)送至主機設(shè)備(H)??蛻舳嗣艽a(Ccrypto。)、會話計數(shù)器(SC)及隨機客戶端號(CC)記錄于主機設(shè)備(H)的存儲區(qū)中。同時,主機設(shè)備(H)的處理構(gòu)件經(jīng)由三重DES算法利用會話計數(shù)器(SC)和隨機主機號(HC)來計算(500,80)五個導(dǎo)出的密鑰 S - ENC、R - ENC、C - MAC、R - MAK 和 S - DEK0
[0097]對于在第五步驟處接收的數(shù)據(jù),主機設(shè)備(H)的處理構(gòu)件經(jīng)由三重DES算法利用導(dǎo)出的密鑰S-ENC、隨機主機號(HC)及隨機客戶端號(CC)來計算(503)客戶端密碼(Ccryptoa)。
[0098]在第七步驟期間,主機設(shè)備⑶的處理構(gòu)件比較分別由客戶端設(shè)備(Cl)和主機設(shè)備(H)計算的客戶端密碼(Ccrypto。,Ccryptoa)。如果兩個客戶端密碼(Ccrypto。,Ccryptoa)相同,那么客戶端設(shè)備(Cl)通過主機設(shè)備(H)的處理構(gòu)件進行驗證。
[0099]在第八步驟期間,主機設(shè)備⑶的處理構(gòu)件經(jīng)由算法3-DES利用導(dǎo)出的密鑰S-ENC、隨機主機號(HC)及隨機客戶端號(CC)來計算(502)主機密碼(Hcrypto11)。所述主機密碼(HcryptoH)記錄于主機設(shè)備(H)的存儲區(qū)中。
[0100]在第九步驟期間,所述主機密碼(Hcrypt0ll)通過主機設(shè)備(H)的處理構(gòu)件發(fā)送
(62)至客戶端設(shè)備(Cl)。主機密碼(Hcrypt0ll)記錄于客戶端設(shè)備(Cl)的存儲區(qū)中。
[0101]對于在第九步驟處接收的數(shù)據(jù),客戶端設(shè)備(Cl)的處理構(gòu)件經(jīng)由算法3-DES利用導(dǎo)出的密鑰S-ENC、隨機主機號(HC)及隨機客戶端號(CC)來計算(505)主機密碼(Hcryptoc)。
[0102]在第十一步驟期間,客戶端設(shè)備(Cl)的處理構(gòu)件比較分別由客戶端設(shè)備(Cl)和主機設(shè)備⑶計算的主機密碼(HcryptoH, Hcrypto。)。如果兩個主機密碼(Hcryptoa, Hcryptoc)相同,那么主機設(shè)備(H)通過客戶端設(shè)備(Cl)的處理構(gòu)件進行驗證。
[0103]所述方法通過藉由數(shù)據(jù)交換的安全系統(tǒng)確認(rèn)安全信道的打開(OSCS)來結(jié)束,經(jīng)由所述安全信道將執(zhí)行由主機(H)和客戶端(Cl)設(shè)備生成的下一個命令和/或響應(yīng)。
[0104]在實施方案中,在具有GlobalPlatform規(guī)范的安全信道的打開方法的第三步驟處所獲得的導(dǎo)出密鑰的變化步驟經(jīng)由存儲于主機(H)和客戶端(Cl)設(shè)備的存儲區(qū)中的變化算法完成。例如且不限于,所述變化算法也為算法3-DES。因此,只有變化且記錄于主機設(shè)備(H)和客戶端設(shè)備(Cl)的存儲區(qū)中的導(dǎo)出密鑰由主機設(shè)備(H)與客戶端設(shè)備(Cl)之間數(shù)據(jù)交換的安全系統(tǒng)使用,使得萬一受到攻擊或試圖攻擊,初始密鑰(ENC,MAC, DEK)從不可訪問。倘若受到攻擊或涉嫌攻擊,在打開安全信道之前,安全系統(tǒng)將只需重新發(fā)送不同變化密鑰。
[0105]在實施方案中,數(shù)據(jù)交換的安全系統(tǒng)的設(shè)備之一(例如且不限于主機設(shè)備(H))包括記錄于所述設(shè)備(H)的可編程且永久非易失性存儲區(qū)中的一組附加密鑰(ENCcl, MACcl, DEKcl)。例如且不限于,該第二組密鑰包括三個密鑰3-DES:密鑰ENCcl、密鑰MACjP密鑰DEK &。在實施方案中,數(shù)據(jù)交換的安全系統(tǒng)利用該第二組密鑰(ENCcl, MACcl, DEKcl)取代由該組密鑰(ENC,MAC, DEK)導(dǎo)出的第一組使用密鑰(S - ENC,R-ENC, C-MAC, R-MAC, S - DEK),如果所述系統(tǒng)的設(shè)備(H,Cl)之一(主機或客戶端)的處理構(gòu)件涉嫌攻擊或違反由所述安全信道所規(guī)定的機密性和/或完整性規(guī)則,那么該組密鑰(ENC,MAC,DEK)用來打開第一安全信道。
[0106]參考圖5,所述方法說明了第一組密鑰3-DES(ENC,MAC, DEK)由第二組密鑰3-DES (ENCcl, MACcl, DEKcl)取代,隨后,現(xiàn)將說明新安全信道的打開。
[0107]在第一步驟期間,例如,萬一違反安全系統(tǒng)的至少一個設(shè)備(H,Cl)的處理構(gòu)件涉嫌的安全信道的機密性和/或完整性規(guī)則,所述設(shè)備(H,C1)的處理構(gòu)件控制正在進行的安全信道的關(guān)閉。
[0108]在第二步驟期間,所述系統(tǒng)的設(shè)備(H,Cl)的處理構(gòu)件選擇第二組秘密密鑰(ENCel,MACel, DEKJ,該第二組秘密密鑰(ENCel,MACel, DEKj存儲于所述設(shè)備(H,Cl)中,例如且不限于主機設(shè)備(H)。
[0109]在第三步驟期間,主機設(shè)備(H)的處理構(gòu)件經(jīng)由加密/解密算法3-DES通過利用第一組密鑰(ENC,MAC,DEK)中的至少一個秘密密鑰對第二組密鑰(ENCel,MACel,DEKel)的第一秘密密鑰(ENC*J進行加密(510)。例如,記錄(92)于主機設(shè)備⑶的存儲區(qū)中的變化密鑰(S - ENC, R - ENC, C - MAC, R - MAC, S - DEK)用來對第二組密鑰(ENCcl,MACcl,DEKcl)的第一秘密密鑰(ENOca)進行加密。
[0110]在第四步驟期間,主機設(shè)備(H)的處理構(gòu)件將在前述步驟加密的密鑰(ENC*J以及將加密的密鑰(ENC*J寫入到客戶端設(shè)備(Cl)的存儲器中的指令發(fā)送至例如且不限于客戶端設(shè)備(Cl)的第二設(shè)備(Cl)。在替代性實施方案中,將加密的密鑰(ENOcl)寫入到客戶端設(shè)備(Cl)的存儲器中的指令形成客戶端設(shè)備(Cl)的操作系統(tǒng)的一部分。
[0111]在第五步驟期間,記錄于客戶端設(shè)備(Cl)的存儲區(qū)中的算法3-DES,利用第一組密鑰(ENC,MAC,DEK)中的至少一個秘密密鑰,對在前述步驟中由主機設(shè)備(H)加密且發(fā)送至客戶端設(shè)備(Cl)的密鑰(ENC*cl)進行解密(511) ?例如,記錄(22)于客戶端設(shè)備(Cl)的存儲區(qū)中的變化密鑰(S-ENC,R - ENC, C-MAC, R - MAC, S - DEK)用來對第二組密鑰(ENCcl, MACcl, DEKcl)的第一密鑰(ENOel)進