【技術(shù)領(lǐng)域】
本發(fā)明涉及計(jì)算機(jī)應(yīng)用技術(shù)領(lǐng)域,特別涉及一種建立設(shè)備間通信的方法、裝置和系統(tǒng)。
背景技術(shù):
為了增強(qiáng)設(shè)備間通信的安全性,目前市面上存在一些加密通信,例如https(hypertexttransferprotocoloversecuresocketlayer,基于安全的超文本傳輸協(xié)議)。https中,服務(wù)端與客戶端之間通過預(yù)先約定的加密算法傳遞會(huì)話密鑰,但由于客戶端對(duì)會(huì)話密鑰的處理過程均在通常的os(operatingsystem,操作系統(tǒng))中進(jìn)行,所以會(huì)話密鑰極易被截取,因此其安全等級(jí)會(huì)隨著os漏洞爆出而大打折扣,無法滿足諸如金融等背景應(yīng)用的安全需求。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明提供了一種建立設(shè)備間通信的方法、裝置和設(shè)備,以便于提高設(shè)備間通信的安全性。
具體技術(shù)方案如下:
本發(fā)明提供了一種建立設(shè)備間通信的方法,該方法包括:
第一設(shè)備接收第二設(shè)備發(fā)送的加密后的會(huì)話密鑰;
在可信環(huán)境中利用第一設(shè)備私鑰解密所述加密后的會(huì)話密鑰,并利用解密得到的會(huì)話密鑰與所述第二設(shè)備進(jìn)行數(shù)據(jù)通信。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,在所述第一設(shè)備接收第二設(shè)備發(fā)送的加密后的會(huì)話密鑰之前,還包括:
所述第一設(shè)備將第一設(shè)備的標(biāo)識(shí)信息發(fā)送給第二設(shè)備,以便所述第二設(shè)備 確定與所述第一設(shè)備的標(biāo)識(shí)信息對(duì)應(yīng)的第一設(shè)備公鑰,并向所述第一設(shè)備發(fā)送利用所述第一設(shè)備公鑰加密后的會(huì)話密鑰。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述第一設(shè)備的標(biāo)識(shí)信息在所述可信環(huán)境中存儲(chǔ)。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述第一設(shè)備的標(biāo)識(shí)信息預(yù)先由標(biāo)識(shí)服務(wù)設(shè)備分配和維護(hù);
所述第一設(shè)備的標(biāo)識(shí)信息對(duì)應(yīng)的第一設(shè)備公鑰預(yù)先由標(biāo)識(shí)服務(wù)設(shè)備分配和維護(hù),并供所述第二設(shè)備獲取,且所述第一設(shè)備私鑰預(yù)先寫入所述第一設(shè)備的可信環(huán)境中。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述第一設(shè)備為客戶端設(shè)備,所述第二設(shè)備為服務(wù)端設(shè)備。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,在所述第一設(shè)備接收第二設(shè)備發(fā)送的加密后的會(huì)話密鑰之前,還包括:
所述第一設(shè)備發(fā)送第一設(shè)備公鑰給所述第二設(shè)備,以便所述第二設(shè)備利用所述第一設(shè)備公鑰加密會(huì)話密鑰后返回給所述第一設(shè)備。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述第一設(shè)備公鑰和第一設(shè)備私鑰由標(biāo)識(shí)服務(wù)設(shè)備生成并提供給所述第一設(shè)備,且所述第一設(shè)備私鑰預(yù)先寫入所述第一設(shè)備的可信環(huán)境中。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述第一設(shè)備和所述第二設(shè)備均為客戶端設(shè)備。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述可信環(huán)境包括:
可信芯片,或者,
利用虛擬化機(jī)制隔離出的安全環(huán)境。
本發(fā)明還提供了一種建立設(shè)備間通信的方法,該方法包括:
第二設(shè)備獲取第一設(shè)備公鑰;
利用第一設(shè)備公鑰對(duì)會(huì)話密鑰進(jìn)行加密后發(fā)送給第一設(shè)備;
利用所述會(huì)話密鑰與所述第一設(shè)備進(jìn)行數(shù)據(jù)通信。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述第二設(shè)備獲取第一設(shè)備公鑰包括:
所述第二設(shè)備接收所述第一設(shè)備的標(biāo)識(shí)信息;
從標(biāo)識(shí)服務(wù)設(shè)備獲取所述第一設(shè)備的標(biāo)識(shí)信息對(duì)應(yīng)的第一設(shè)備公鑰。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,該方法還包括:
若所述第二設(shè)備接收到所述標(biāo)識(shí)服務(wù)設(shè)備發(fā)送的所述第一設(shè)備的標(biāo)識(shí)信息不合法的響應(yīng),或者不存在所述第一設(shè)備的標(biāo)識(shí)信息對(duì)應(yīng)的第一設(shè)備公鑰的響應(yīng),則向所述第一設(shè)備返回通信建立失敗的響應(yīng)。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述第一設(shè)備為客戶端設(shè)備,所述第二設(shè)備為服務(wù)端設(shè)備。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述第二設(shè)備獲取第一設(shè)備公鑰包括:
所述第二設(shè)備接收所述第一設(shè)備發(fā)送的第一設(shè)備公鑰。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,在所述利用第一設(shè)備公鑰對(duì)會(huì)話密鑰進(jìn)行加密后發(fā)送給第一設(shè)備之前,還包括:
所述第二設(shè)備分配隨機(jī)的會(huì)話密鑰。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述第二設(shè)備在可信環(huán)境中執(zhí)行所述分配隨機(jī)的會(huì)話密鑰以及對(duì)會(huì)話密鑰進(jìn)行加密的步驟。
本發(fā)明還提供了一種建立設(shè)備間通信的方法,該方法包括:
標(biāo)識(shí)服務(wù)設(shè)備接收第二設(shè)備發(fā)送的第一設(shè)備的標(biāo)識(shí)信息;
向所述第二設(shè)備返回所述第一設(shè)備的標(biāo)識(shí)信息對(duì)應(yīng)的第一設(shè)備公鑰,以便所述第二設(shè)備利用第一設(shè)備公鑰對(duì)會(huì)話密鑰進(jìn)行加密后發(fā)送給第一設(shè)備,所述會(huì)話密鑰用于第一設(shè)備與第二設(shè)備之間的數(shù)據(jù)通信。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,該方法還包括:
所述標(biāo)識(shí)服務(wù)設(shè)備維護(hù)預(yù)先為所述第一設(shè)備分配的標(biāo)識(shí)信息,并維護(hù)預(yù)先針對(duì)所述第一設(shè)備生成的第一設(shè)備公鑰和第一設(shè)備私鑰。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,該方法還包括:
所述第一設(shè)備私鑰預(yù)先寫入所述第一設(shè)備的可信環(huán)境。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,該方法還包括:
若所述標(biāo)識(shí)服務(wù)設(shè)備確定所述第一設(shè)備的標(biāo)識(shí)信息不合法,則向所述第二設(shè)備返回所述第一設(shè)備的標(biāo)識(shí)信息不合法的響應(yīng);或者,
若所述標(biāo)識(shí)服務(wù)設(shè)備確定不存在所述第一設(shè)備的標(biāo)識(shí)信息對(duì)應(yīng)的第一設(shè)備公鑰,則向所述第二設(shè)備返回不存在所述第一設(shè)備的標(biāo)識(shí)信息的響應(yīng)。
本發(fā)明還提供了一種建立設(shè)備間通信的裝置,設(shè)置于第一設(shè)備,該裝置包括:
密鑰接收單元,用于接收第二設(shè)備發(fā)送的加密后的會(huì)話密鑰;
可信執(zhí)行單元,用于在可信環(huán)境中利用第一設(shè)備私鑰解密所述加密后的會(huì)話密鑰,并利用解密得到的會(huì)話密鑰,進(jìn)行所述第一設(shè)備與所述第二設(shè)備之間的數(shù)據(jù)通信。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,該裝置還包括:
標(biāo)識(shí)發(fā)送單元,用于將所述第一設(shè)備的標(biāo)識(shí)信息發(fā)送給第二設(shè)備,以便所述第二設(shè)備確定與所述第一設(shè)備的標(biāo)識(shí)信息對(duì)應(yīng)的第一設(shè)備公鑰,并向所述第一設(shè)備發(fā)送利用所述第一設(shè)備公鑰加密后的會(huì)話密鑰。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,可信執(zhí)行單元請(qǐng)求并獲取所述第一設(shè)備的標(biāo)識(shí)信息;
所述可信執(zhí)行單元,還用于應(yīng)所述標(biāo)識(shí)發(fā)送單元的請(qǐng)求,從安全存儲(chǔ)區(qū)域獲取所述第一設(shè)備的標(biāo)識(shí)信息并返回給所述標(biāo)識(shí)發(fā)送單元。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述第一設(shè)備的標(biāo)識(shí)信息預(yù)先由標(biāo)識(shí)服務(wù)設(shè)備分配和維護(hù);
所述第一設(shè)備的標(biāo)識(shí)信息對(duì)應(yīng)的第一設(shè)備公鑰預(yù)先由標(biāo)識(shí)服務(wù)設(shè)備生成和維護(hù),并供所述第二設(shè)備獲取,且所述第一設(shè)備私鑰預(yù)先寫入所述第一設(shè)備的安全存儲(chǔ)區(qū)域。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述第一設(shè)備為客戶端設(shè)備,所述第二設(shè)備為服務(wù)端設(shè)備。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,該裝置還包括:
公鑰發(fā)送單元,用于發(fā)送第一設(shè)備公鑰給所述第二設(shè)備,以便所述第二設(shè) 備利用所述第一設(shè)備公鑰加密會(huì)話密鑰后返回給所述第一設(shè)備。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述第一設(shè)備公鑰和第一設(shè)備私鑰由標(biāo)識(shí)服務(wù)設(shè)備生成并提供給所述第一設(shè)備,且所述第一設(shè)備私鑰預(yù)先寫入所述第一設(shè)備的安全存儲(chǔ)區(qū)域中。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述第一設(shè)備和所述第二設(shè)備均為客戶端設(shè)備。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述可信執(zhí)行單元包括:
可信芯片,或者,
利用虛擬化機(jī)制隔離出的安全模塊。
本發(fā)明還提供了一種建立設(shè)備間通信的裝置,設(shè)置于第二設(shè)備,該裝置包括:
公鑰獲取單元,用于獲取第一設(shè)備公鑰;
密鑰處理單元,用于利用第一設(shè)備公鑰對(duì)會(huì)話密鑰進(jìn)行加密后發(fā)送給第一設(shè)備;
數(shù)據(jù)通信單元,用于利用所述會(huì)話密鑰,進(jìn)行所述第二設(shè)備與所述第一設(shè)備之間的數(shù)據(jù)通信。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述公鑰獲取單元,具體用于:
接收所述第一設(shè)備的標(biāo)識(shí)信息;
從標(biāo)識(shí)服務(wù)設(shè)備獲取所述第一設(shè)備的標(biāo)識(shí)信息對(duì)應(yīng)的第一設(shè)備公鑰。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,該裝置還包括:
響應(yīng)發(fā)送單元,用于若所述公鑰獲取單元接收到所述標(biāo)識(shí)服務(wù)設(shè)備發(fā)送的所述第一設(shè)備的標(biāo)識(shí)信息不合法的響應(yīng),或者不存在所述第一設(shè)備的標(biāo)識(shí)信息對(duì)應(yīng)的第一設(shè)備公鑰的響應(yīng),則向所述第一設(shè)備返回通信建立失敗的響應(yīng)。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述第一設(shè)備為客戶端設(shè)備,所述第二設(shè)備為服務(wù)端設(shè)備。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述公鑰獲取單元,具體用于接收所述第一設(shè)備發(fā)送的第一設(shè)備公鑰。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,該裝置還包括:
密鑰生成單元,用于分配隨機(jī)的會(huì)話密鑰。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述密鑰生成單元和所述密鑰處理單元設(shè)置于可信環(huán)境中。
本發(fā)明還提供了一種建立設(shè)備間通信的裝置,設(shè)置于標(biāo)識(shí)服務(wù)設(shè)備,該裝置包括:
接收單元,用于接收第二設(shè)備發(fā)送的第一設(shè)備的標(biāo)識(shí)信息;
確定單元,用于確定所述第一設(shè)備的標(biāo)識(shí)信息對(duì)應(yīng)的第一設(shè)備公鑰;
發(fā)送單元,用于向所述第二設(shè)備返回所述第一設(shè)備公鑰,以便所述第二設(shè)備利用第一設(shè)備公鑰對(duì)會(huì)話密鑰進(jìn)行加密后發(fā)送給第一設(shè)備,所述會(huì)話密鑰用于第一設(shè)備與第二設(shè)備之間的數(shù)據(jù)通信。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,該裝置還包括:
信息維護(hù)單元,用于維護(hù)預(yù)先為所述第一設(shè)備分配的標(biāo)識(shí)信息,并維護(hù)預(yù)先針對(duì)所述第一設(shè)備生成的第一設(shè)備公鑰和第一設(shè)備私鑰。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述發(fā)送單元,還用于若所述確定單元確定所述第一設(shè)備的標(biāo)識(shí)信息不合法,則向所述第二設(shè)備返回所述第一設(shè)備的標(biāo)識(shí)信息不合法的響應(yīng);或者,
若所述確定單元確定不存在所述第一設(shè)備的標(biāo)識(shí)信息對(duì)應(yīng)的第一設(shè)備公鑰,則向所述第二設(shè)備返回不存在所述第一設(shè)備的標(biāo)識(shí)信息的響應(yīng)。
本發(fā)明還提供了一種建立設(shè)備間通信的系統(tǒng),該系統(tǒng)包括第一設(shè)備和第二設(shè)備。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,該系統(tǒng)還包括標(biāo)識(shí)服務(wù)設(shè)備。
由以上技術(shù)方案可以看出,在本發(fā)明中,設(shè)備的私鑰和對(duì)會(huì)話密鑰的解密都在可信環(huán)境中執(zhí)行,從而避免了因os漏洞而引起密鑰和會(huì)話密鑰被截取,提高了設(shè)備間通信的安全性。
【附圖說明】
圖1為本發(fā)明所基于的系統(tǒng)架構(gòu)圖;
圖2為本發(fā)明實(shí)施例提供的主要方法流程圖;
圖3為本發(fā)明實(shí)施例提供的客戶端設(shè)備與服務(wù)端設(shè)備建立通信的方法流程圖;
圖4為本發(fā)明實(shí)施例提供的客戶端設(shè)備之間建立通信的方法流程圖;
圖5為本發(fā)明實(shí)施例提供的與圖3對(duì)應(yīng)的具體實(shí)現(xiàn)方法流程圖;
圖6為本發(fā)明實(shí)施例提供的與圖4對(duì)應(yīng)的具體實(shí)現(xiàn)方法流程圖;
圖7為本發(fā)明實(shí)施例提供的第一種裝置結(jié)構(gòu)圖;
圖8為本發(fā)明實(shí)施例提供的第二種裝置結(jié)構(gòu)圖;
圖9為本發(fā)明實(shí)施例提供的第三種裝置結(jié)構(gòu)圖;
圖10為本發(fā)明實(shí)施例提供的一種應(yīng)用場(chǎng)景示意圖;
圖11為本發(fā)明實(shí)施例提供的另一種應(yīng)用場(chǎng)景示意圖。
【具體實(shí)施方式】
為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)描述。
在本發(fā)明實(shí)施例中使用的術(shù)語是僅僅出于描述特定實(shí)施例的目的,而非旨在限制本發(fā)明。在本發(fā)明實(shí)施例和所附權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。
應(yīng)當(dāng)理解,本文中使用的術(shù)語“和/或”僅僅是一種描述關(guān)聯(lián)對(duì)象的關(guān)聯(lián)關(guān)系,表示可以存在三種關(guān)系,例如,a和/或b,可以表示:?jiǎn)为?dú)存在a,同時(shí)存在a和b,單獨(dú)存在b這三種情況。另外,本文中字符“/”,一般表示前后關(guān)聯(lián)對(duì)象是一種“或”的關(guān)系。
取決于語境,如在此所使用的詞語“如果”可以被解釋成為“在……時(shí)”或“當(dāng)……時(shí)”或“響應(yīng)于確定”或“響應(yīng)于檢測(cè)”。類似地,取決于語境, 短語“如果確定”或“如果檢測(cè)(陳述的條件或事件)”可以被解釋成為“當(dāng)確定時(shí)”或“響應(yīng)于確定”或“當(dāng)檢測(cè)(陳述的條件或事件)時(shí)”或“響應(yīng)于檢測(cè)(陳述的條件或事件)”。
本發(fā)明所基于的系統(tǒng)架構(gòu)如圖1中所示,包括第一設(shè)備和第二設(shè)備。其中,第一設(shè)備可以為客戶端設(shè)備,第二設(shè)備可以為服務(wù)端設(shè)備,即建立客戶端設(shè)備和服務(wù)端設(shè)備之間的安全通信?;蛘?,第一設(shè)備和第二設(shè)備均為客戶端設(shè)備,即建立客戶端設(shè)備之間的安全通信。
客戶端設(shè)備可以包括但不限于:智能移動(dòng)終端、智能家電設(shè)備、網(wǎng)絡(luò)設(shè)備、可穿戴式設(shè)備、智能醫(yī)療設(shè)備、pc(個(gè)人計(jì)算機(jī))等。其中智能移動(dòng)設(shè)備可以包括諸如手機(jī)、平板電腦、筆記本電腦、pda(個(gè)人數(shù)字助理)等。智能家電設(shè)備可以包括諸如智能電視、智能空調(diào)、智能熱水器、智能冰箱、智能空氣凈化器等等。網(wǎng)絡(luò)設(shè)備可以包括諸如交換機(jī)、無線ap、服務(wù)器等??纱┐魇皆O(shè)備可以包括諸如智能手表、智能眼鏡、智能手環(huán)等等。智能醫(yī)療設(shè)備可以包括諸如智能體溫計(jì)、智能血壓儀、智能血糖儀等等。服務(wù)端設(shè)備可以為服務(wù)器、交換機(jī)、路由器等。
這些客戶端設(shè)備和服務(wù)端設(shè)備在架構(gòu)上都可以包含一些基本組件,如總線、處理系統(tǒng)、存儲(chǔ)系統(tǒng)、一個(gè)或多個(gè)輸入/輸出系統(tǒng)、和通信接口等??偩€可以包括一個(gè)或多個(gè)導(dǎo)線,用來實(shí)現(xiàn)服務(wù)器或終端設(shè)備各組件之間的通信。處理系統(tǒng)包括各類型的用來執(zhí)行指令、處理進(jìn)程或線程的處理器或微處理器。存儲(chǔ)系統(tǒng)可以包括存儲(chǔ)動(dòng)態(tài)信息的隨機(jī)訪問存儲(chǔ)器(ram)等動(dòng)態(tài)存儲(chǔ)器,和存儲(chǔ)靜態(tài)信息的只讀存儲(chǔ)器(rom)等靜態(tài)存儲(chǔ)器,以及包括磁或光學(xué)記錄介質(zhì)與相應(yīng)驅(qū)動(dòng)的大容量存儲(chǔ)器。輸入系統(tǒng)供用戶輸入信息到服務(wù)端設(shè)備或客戶端設(shè)備,如按鍵、鍵盤、鼠標(biāo)、觸摸式屏幕、手寫筆、聲音識(shí)別系統(tǒng)、或生物測(cè)定系統(tǒng)等。輸出系統(tǒng)包括用來輸出信息的顯示器、打印機(jī)、揚(yáng)聲器等。通信接口用來使服務(wù)端設(shè)備或客戶端設(shè)備與其它系統(tǒng)或系統(tǒng)進(jìn)行通信。通信接口之間可通過有線連接、無線連接、或光連接連接到網(wǎng)絡(luò)中。
圖2為本發(fā)明實(shí)施例提供的主要方法流程圖,如圖2中所示,該方法可以 主要包括以下步驟:
在201中,第二設(shè)備獲取第一設(shè)備公鑰,并利用第一設(shè)備公鑰對(duì)會(huì)話密鑰進(jìn)行加密。
第二設(shè)備可以從服務(wù)器端獲取第一設(shè)備公鑰,例如第二設(shè)備可以利用第一設(shè)備的標(biāo)識(shí)信息從標(biāo)識(shí)服務(wù)設(shè)備獲取第一設(shè)備公鑰,這種情況可以適用于第二設(shè)備為服務(wù)端設(shè)備時(shí)。第二設(shè)備也可以從第一設(shè)備獲取第一設(shè)備公鑰,這種情況可以適用于第一設(shè)備為客戶端設(shè)備時(shí)。具體將在后續(xù)實(shí)施例中詳細(xì)描述。
其中會(huì)話密鑰可以由第二設(shè)備生成或分配,但為了保證安全性,需要會(huì)話密鑰具有一定的隨機(jī)性,該會(huì)話密鑰用于后續(xù)第一設(shè)備和第二設(shè)備之間的數(shù)據(jù)通信。
在202中,第二設(shè)備將加密后的會(huì)話密鑰發(fā)送給第一設(shè)備。
在203中,第一設(shè)備在可信環(huán)境中利用第一設(shè)備私鑰解密接收到的會(huì)話密鑰。
第一設(shè)備私鑰預(yù)先存儲(chǔ)于第一設(shè)備的可信環(huán)境中,并在可信環(huán)境中執(zhí)行對(duì)會(huì)話密鑰的解密,從而保證會(huì)話密鑰的安全性。在本發(fā)明實(shí)施例中,該可信環(huán)境可以是利用諸如armtrustzone或secureelement或tim-shield等機(jī)制在硬件上隔離出的安全區(qū)域,也可以是利用虛擬化機(jī)制隔離出一個(gè)獨(dú)立的安全環(huán)境??尚怒h(huán)境保證了存入的第一設(shè)備私鑰不可篡改和擦除,以及會(huì)話密鑰解密的私密性。
在204中,第一設(shè)備利用解密得到的會(huì)話密鑰與第二設(shè)備之間進(jìn)行數(shù)據(jù)通信。
后續(xù)第一設(shè)備與第二設(shè)備之間進(jìn)行數(shù)據(jù)通信時(shí),均采用該會(huì)話密鑰進(jìn)行數(shù)據(jù)的加解密。例如第一設(shè)備發(fā)送數(shù)據(jù)給第二設(shè)備時(shí),采用該會(huì)話密鑰對(duì)數(shù)據(jù)進(jìn)行加密后發(fā)送給第二設(shè)備,第二設(shè)備利用該會(huì)話密鑰對(duì)第一設(shè)備發(fā)送的數(shù)據(jù)進(jìn)行解密。第二設(shè)備發(fā)送數(shù)據(jù)給第一設(shè)備時(shí),也采用該會(huì)話密鑰對(duì)數(shù)據(jù)進(jìn)行加密后發(fā)送給第一設(shè)備,第一設(shè)備利用該會(huì)話密鑰對(duì)第二設(shè)備發(fā)送的數(shù)據(jù)進(jìn)行解密。
下面分別以客戶端設(shè)備與服務(wù)端設(shè)備建立安全通信、客戶端設(shè)備設(shè)備與客 戶端設(shè)備建立安全通信為例,對(duì)本發(fā)明提供的方法進(jìn)行詳細(xì)描述。
圖3為本發(fā)明實(shí)施例提供的客戶端設(shè)備與服務(wù)端設(shè)備建立通信的方法流程圖,如圖3中所示,該方法可以具體包括以下步驟:
在301中,客戶端設(shè)備獲取自身的id信息。
在本發(fā)明實(shí)施例中,客戶端設(shè)備的id信息用于唯一標(biāo)識(shí)客戶端設(shè)備,可以采用但不限于:imei、mac地址等等。作為一種優(yōu)選的實(shí)施方式,客戶端設(shè)備的身份標(biāo)識(shí)可以由標(biāo)識(shí)服務(wù)設(shè)備分配,并提供給客戶端設(shè)備,例如在客戶端設(shè)備的出廠階段提供給標(biāo)識(shí)寫入設(shè)備,由標(biāo)識(shí)寫入設(shè)備將客戶端設(shè)備的id寫入客戶端設(shè)備。
出于客戶端設(shè)備id信息安全性的考慮,客戶端設(shè)備的id信息可以存儲(chǔ)于安全環(huán)境,例如安全存儲(chǔ)區(qū)域,從而保證id信息不被篡改。
本步驟可以在客戶端設(shè)備需要與服務(wù)端設(shè)備建立通信連接時(shí)觸發(fā)執(zhí)行,可以由客戶端設(shè)備觸發(fā)執(zhí)行。也可以由服務(wù)端設(shè)備觸發(fā)執(zhí)行,例如客戶端設(shè)備接收到服務(wù)端設(shè)備的連接請(qǐng)求時(shí),執(zhí)行本步驟。
在302中,客戶端設(shè)備將自身的id信息發(fā)送給服務(wù)端設(shè)備。
在303中,服務(wù)端設(shè)備將客戶端設(shè)備的id信息發(fā)送給標(biāo)識(shí)服務(wù)設(shè)備,以向標(biāo)識(shí)服務(wù)設(shè)備請(qǐng)求客戶端設(shè)備公鑰。
在本實(shí)施例中,服務(wù)端設(shè)備利用客戶端設(shè)備的id信息,從標(biāo)識(shí)服務(wù)設(shè)備獲取客戶端設(shè)備公鑰。
在304中,標(biāo)識(shí)服務(wù)設(shè)備確定客戶端設(shè)備的id信息對(duì)應(yīng)的客戶端設(shè)備公鑰。
在本發(fā)明實(shí)施例中,標(biāo)識(shí)服務(wù)設(shè)備可以負(fù)責(zé)統(tǒng)一維護(hù)客戶端設(shè)備的id信息與客戶端設(shè)備公鑰之間的對(duì)應(yīng)關(guān)系,該對(duì)應(yīng)關(guān)系可以預(yù)先保存至標(biāo)識(shí)服務(wù)設(shè)備。
作為一種優(yōu)選的實(shí)施方式,合法客戶端設(shè)備的id信息可以由標(biāo)識(shí)服務(wù)設(shè)備分配和維護(hù),并在合法客戶端設(shè)備的出廠階段提供給標(biāo)識(shí)寫入設(shè)備,由標(biāo)識(shí)寫入設(shè)備寫入合法客戶端設(shè)備的可信環(huán)境中。
在本步驟中,標(biāo)識(shí)服務(wù)設(shè)備可以首先對(duì)接收到的客戶端設(shè)備的id信息進(jìn)行合法性判斷,即判斷接收到的客戶端設(shè)備的id信息是否為本地維護(hù)的id信息, 如果是,則確定該客戶端設(shè)備的id信息合法,可以繼續(xù)確定該id信息對(duì)應(yīng)的客戶端設(shè)備公鑰;否則,確定該客戶端設(shè)備的id信息不合法,可以向服務(wù)端設(shè)備返回該客戶端設(shè)備的id信息不合法的響應(yīng),服務(wù)端設(shè)備確定通信建立失敗,并可以向客戶端設(shè)備返回通信建立失敗的響應(yīng)。
客戶端設(shè)備公鑰和客戶端設(shè)備私鑰是成對(duì)的密鑰,可以由標(biāo)識(shí)服務(wù)設(shè)備生成,并將客戶端私鑰提供給客戶端設(shè)備維護(hù),即寫入客戶端設(shè)備的可信環(huán)境(可以在客戶端設(shè)備的出廠階段執(zhí)行,也可以在其他能夠保證信息安全的階段執(zhí)行),標(biāo)識(shí)服務(wù)設(shè)備在本地維護(hù)客戶端設(shè)備的id信息與客戶端公鑰之間的對(duì)應(yīng)關(guān)系。
如果標(biāo)識(shí)服務(wù)設(shè)備能夠確定出客戶端設(shè)備的id信息對(duì)應(yīng)的客戶端設(shè)備公鑰,則執(zhí)行305;如果本地沒有維護(hù)該客戶端設(shè)備的id信息對(duì)應(yīng)的客戶端設(shè)備公鑰,則可以向服務(wù)端設(shè)備返回不存在客戶端設(shè)備公鑰的響應(yīng),由服務(wù)端設(shè)備確定通信建立失敗,并可以向客戶端設(shè)備返回通信建立失敗的響應(yīng)。
在305中,標(biāo)識(shí)服務(wù)設(shè)備將客戶端設(shè)備公鑰返回給服務(wù)端設(shè)備。
在306中,服務(wù)端設(shè)備生成會(huì)話密鑰,并利用客戶端設(shè)備公鑰加密會(huì)話密鑰。
會(huì)話密鑰可以是依據(jù)一定算法產(chǎn)生的隨機(jī)密鑰,可以是對(duì)稱式的密鑰,也可以是非對(duì)稱式的密鑰。鑒于會(huì)話密鑰的產(chǎn)生和利用已經(jīng)是較為成熟的技術(shù),在此不做詳述,本步驟的重點(diǎn)在于利用客戶端設(shè)備公鑰加密會(huì)話密鑰,以保證會(huì)話密鑰能夠安全私密地傳遞給客戶端設(shè)備。
除了實(shí)時(shí)生成會(huì)話密鑰的方式之外,也可以預(yù)先生成并維護(hù)一個(gè)會(huì)話密鑰池,在本步驟中服務(wù)端設(shè)備從會(huì)話密鑰池中隨機(jī)分配一個(gè)會(huì)話密鑰。通常會(huì)話密鑰具有一定的有效期,當(dāng)超過有效期之后,會(huì)話密鑰失效,失效的會(huì)話密鑰可以重新被分配給一個(gè)新的通信連接。后續(xù)實(shí)施例中會(huì)話密鑰的分配方式也可以采用以上兩種中的一種,后續(xù)不再贅述。
在307中,服務(wù)端設(shè)備將加密后的會(huì)話密鑰發(fā)送給客戶端設(shè)備。
由于服務(wù)端設(shè)備通常是單一業(yè)務(wù)類型的服務(wù)器,并不具備其他應(yīng)用,因此 服務(wù)端設(shè)備本身具有一定的安全級(jí)別,也可以看做服務(wù)端設(shè)備本身就是一個(gè)可信環(huán)境。
在308中,客戶端設(shè)備在可信環(huán)境中獲取客戶端設(shè)備私鑰,并利用客戶端設(shè)備私鑰解密會(huì)話密鑰。
由于會(huì)話密鑰是利用客戶端設(shè)備公鑰加密的,因此只有客戶端私鑰才能夠?qū)ζ浣饷?,在本發(fā)明實(shí)施例中,客戶端設(shè)備私鑰只能從可信環(huán)境中獲取,因此保證了該會(huì)話密鑰僅能夠由客戶端設(shè)備解密得到,并且由于對(duì)會(huì)話密鑰的解密也在可信環(huán)境中執(zhí)行,因此保證了會(huì)話密鑰不被其他設(shè)備獲取和篡改。
在309中,客戶端設(shè)備利用解密得到的會(huì)話密鑰與服務(wù)端設(shè)備之間進(jìn)行數(shù)據(jù)通信。
后續(xù)客戶端設(shè)備與服務(wù)端設(shè)備之間的數(shù)據(jù)通信都采用會(huì)話密鑰進(jìn)行加密和解密。如果會(huì)話密鑰是對(duì)稱式密鑰,那么客戶端設(shè)備和服務(wù)端設(shè)備采用相同的密鑰進(jìn)行數(shù)據(jù)的加密和解密。如果會(huì)話密鑰是非對(duì)稱密鑰,那么客戶端設(shè)備和服務(wù)端設(shè)備采用密鑰對(duì)中的一個(gè)進(jìn)行數(shù)據(jù)的加密和解密。
客戶端設(shè)備在利用會(huì)話密鑰與服務(wù)端設(shè)備之間進(jìn)行數(shù)據(jù)通信時(shí),在可信環(huán)境下對(duì)數(shù)據(jù)進(jìn)行加密和解密。
圖4為本發(fā)明實(shí)施例提供的客戶端設(shè)備之間建立通信的方法流程圖,在本實(shí)施例中以設(shè)備a和設(shè)備b為例進(jìn)行描述,如圖4中所示,該方法可以具體包括以下步驟:
在401中,設(shè)備a發(fā)送設(shè)備a的公鑰信息給設(shè)備b。
本步驟可以在設(shè)備a需要與設(shè)備b建立通信連接時(shí)觸發(fā)執(zhí)行,即可以由設(shè)備a觸發(fā)執(zhí)行。也可以由設(shè)備b觸發(fā)執(zhí)行,例如設(shè)備a接收到設(shè)備b的連接請(qǐng)求時(shí),執(zhí)行本步驟。
與圖3所示實(shí)施例類似地,本實(shí)施例中,設(shè)備a的公鑰和私鑰可以由標(biāo)識(shí)服務(wù)設(shè)備預(yù)先生成并提供給設(shè)備a,其中設(shè)備a的私鑰預(yù)先寫入設(shè)備a的可信環(huán)境中。
在402中,設(shè)備b在可信環(huán)境中生成會(huì)話密鑰,并利用設(shè)備a的公鑰信 息對(duì)會(huì)話密鑰進(jìn)行加密。
同樣,會(huì)話密鑰可以是依據(jù)一定算法產(chǎn)生的隨機(jī)密鑰,可以是對(duì)稱式的密鑰,也可以是非對(duì)稱式的密鑰。
在403中,設(shè)備b將加密后的會(huì)話密鑰發(fā)送給設(shè)備a。
在404中,設(shè)備a在可信環(huán)境中利用設(shè)備a的私鑰對(duì)會(huì)話密鑰進(jìn)行解密。
由于會(huì)話密鑰是利用設(shè)備a公鑰加密的,因此只有設(shè)備a的私鑰才能夠?qū)ζ浣饷?,在本發(fā)明實(shí)施例中,設(shè)備a的私鑰只能從可信環(huán)境中獲取,因此保證了該會(huì)話密鑰僅能夠由設(shè)備a解密得到,并且由于對(duì)會(huì)話密鑰的解密也在可信環(huán)境中執(zhí)行,因此保證了會(huì)話密鑰不被其他設(shè)備獲取和篡改。
在405中,設(shè)備a利用解密得到的會(huì)話密鑰與設(shè)備b之間進(jìn)行數(shù)據(jù)通信。
后續(xù)設(shè)備a與設(shè)備b之間的數(shù)據(jù)通信都采用會(huì)話密鑰進(jìn)行加密和解密。如果會(huì)話密鑰是對(duì)稱式密鑰,那么設(shè)備a和設(shè)備b采用相同的密鑰進(jìn)行數(shù)據(jù)的加密和解密。如果會(huì)話密鑰是非對(duì)稱密鑰,那么設(shè)備a和設(shè)備b采用密鑰對(duì)中的一個(gè)進(jìn)行數(shù)據(jù)的加密和解密。
設(shè)備a在利用會(huì)話密鑰與設(shè)備b之間進(jìn)行數(shù)據(jù)通信時(shí),在可信環(huán)境下對(duì)數(shù)據(jù)進(jìn)行加密和解密。
下面通過兩個(gè)實(shí)施例對(duì)圖3和圖4中客戶端設(shè)備的具體實(shí)現(xiàn)方式進(jìn)行描述。
圖5為本發(fā)明實(shí)施例提供的與圖3對(duì)應(yīng)的具體實(shí)現(xiàn)方法流程圖,客戶端設(shè)備被細(xì)化為客戶端、安全服務(wù)模塊和可信環(huán)境模塊。如圖5中所示,該方法可以具體包括以下步驟:
在501a中,客戶端向安全服務(wù)模塊請(qǐng)求客戶端設(shè)備的id信息。
在501b中,安全服務(wù)模塊解析該請(qǐng)求后,向可信環(huán)境模塊請(qǐng)求客戶端設(shè)備的id信息。
在501c中,可信環(huán)境模塊獲取并向安全服務(wù)模塊返回存儲(chǔ)的客戶端設(shè)備的id信息。
客戶端設(shè)備的id信息預(yù)先存儲(chǔ)于安全環(huán)境,由可信環(huán)境模塊負(fù)責(zé)維護(hù) 和處理。
在501d中,安全服務(wù)模塊將客戶端設(shè)備的id信息返回給客戶端。
上述步驟501a~501d對(duì)應(yīng)于圖3中的步驟301。
在502中,由客戶端將客戶端設(shè)備的id信息發(fā)送給服務(wù)端設(shè)備。
步驟503~507同圖3中的303~307。
在508a中,客戶端接收服務(wù)端設(shè)備發(fā)送的加密后的會(huì)話密鑰,并提供給安全服務(wù)模塊。
在508b中,安全服務(wù)模塊請(qǐng)求可信環(huán)境模塊解密會(huì)話密鑰。
在508c中,可信環(huán)境模塊獲取客戶端設(shè)備私鑰,并利用客戶端設(shè)備私鑰解密會(huì)話密鑰。
上述步驟508a~508c對(duì)應(yīng)于圖3中的步驟308。
在509a中,可信環(huán)境模塊利用會(huì)話密鑰加密數(shù)據(jù)。
在509b中,可信環(huán)境模塊將加密后的數(shù)據(jù)發(fā)送給安全服務(wù)模塊。
在509c中,安全服務(wù)模塊將加密后的數(shù)據(jù)提供給客戶端。
在509d中,由客戶端將加密后的數(shù)據(jù)發(fā)送給服務(wù)端設(shè)備。
在509e中,服務(wù)端設(shè)備用會(huì)話密鑰解密數(shù)據(jù)。
對(duì)于服務(wù)端設(shè)備利用會(huì)話密鑰加密后的數(shù)據(jù)發(fā)送給客戶端后,由客戶端經(jīng)由安全服務(wù)模塊發(fā)送給可信環(huán)境模塊,由可信環(huán)境模塊利用會(huì)話密鑰進(jìn)行解密。該過程在圖5中未示出。509a~509e的過程對(duì)應(yīng)于圖3中的步驟309。
圖6為本發(fā)明實(shí)施例提供的與圖4對(duì)應(yīng)的具體實(shí)現(xiàn)方法流程圖,客戶端設(shè)備被細(xì)化為藍(lán)牙應(yīng)用和可信環(huán)境模塊。如圖6中所示,該方法可以具體包括以下步驟:
在601中,設(shè)備a的藍(lán)牙應(yīng)用向設(shè)備b的藍(lán)牙應(yīng)用發(fā)送設(shè)備a的公鑰信息。
在602a中,設(shè)備b的藍(lán)牙應(yīng)用將設(shè)備a的公鑰發(fā)送給設(shè)備b的可信環(huán)境模塊。
在602b中,設(shè)備b的可信環(huán)境模塊生成并存儲(chǔ)會(huì)話密鑰。
在602c中,設(shè)備b的可信環(huán)境模塊利用設(shè)備a的公鑰加密會(huì)話密鑰。
602a~602c的過程對(duì)應(yīng)于圖4中的步驟402。
在603a中,設(shè)備b的可信環(huán)境模塊將加密后的會(huì)話密鑰發(fā)送給設(shè)備b的藍(lán)牙應(yīng)用。
在603b中,設(shè)備b的藍(lán)牙應(yīng)用將加密后的會(huì)話密鑰發(fā)送給設(shè)備a的藍(lán)牙應(yīng)用。
在603c中,設(shè)備a的藍(lán)牙應(yīng)用將加密后的會(huì)話密鑰發(fā)送給設(shè)備a的可信環(huán)境模塊。
603a~603c的過程對(duì)應(yīng)于圖4中的步驟403。
在604中,設(shè)備a的可信環(huán)境模塊利用設(shè)備a的私鑰解密會(huì)話密鑰。
在605a中,設(shè)備a的可信環(huán)境模塊利用會(huì)話密鑰加密數(shù)據(jù)。
在605b中,設(shè)備a的可信環(huán)境模塊將加密后的數(shù)據(jù)發(fā)送給設(shè)備a的藍(lán)牙應(yīng)用。
在605c中,設(shè)備a的藍(lán)牙應(yīng)用將加密后的數(shù)據(jù)通過藍(lán)牙發(fā)送給設(shè)備b的藍(lán)牙應(yīng)用。
在605d中,設(shè)備b的藍(lán)牙應(yīng)用將加密后的數(shù)據(jù)發(fā)送給設(shè)備b的可信環(huán)境模塊。
在605e中,設(shè)備b的可信環(huán)境模塊利用會(huì)話密鑰解密加密后的數(shù)據(jù)。
后續(xù)設(shè)備b的可信環(huán)境模塊利用會(huì)話密鑰將發(fā)送給設(shè)備a的數(shù)據(jù)進(jìn)行加密,將加密后的數(shù)據(jù)通過藍(lán)牙應(yīng)用發(fā)送給設(shè)備a的藍(lán)牙應(yīng)用,由設(shè)備a的藍(lán)牙應(yīng)用將機(jī)密后的數(shù)據(jù)提供給設(shè)備a的可信環(huán)境模塊,設(shè)備a的可信環(huán)境模塊利用會(huì)話密鑰解密數(shù)據(jù)。該過程在圖6中未示出。605a~605e的過程對(duì)應(yīng)于圖4中的步驟405。
以上是對(duì)本發(fā)明所提供方法進(jìn)行的描述,下面結(jié)合實(shí)施例對(duì)本發(fā)明所提供的裝置進(jìn)行詳細(xì)描述。
圖7為本發(fā)明實(shí)施例提供的第一種裝置結(jié)構(gòu)圖,該裝置可以設(shè)置于上述實(shí)施例中的第一設(shè)備中,如圖7中所示,該裝置可以包括:密鑰接收單元01 和可信執(zhí)行單元02,還可以包括:標(biāo)識(shí)發(fā)送單元03。各組成單元的主要功能如下:
密鑰接收單元01負(fù)責(zé)接收第二設(shè)備發(fā)送的加密后的會(huì)話密鑰。具體可以包括但不限于以下兩種方式:
第一種方式:由標(biāo)識(shí)發(fā)送單元03將第一設(shè)備的標(biāo)識(shí)信息發(fā)送給第二設(shè)備,以便第二設(shè)備確定與第一設(shè)備的標(biāo)識(shí)信息對(duì)應(yīng)的第一設(shè)備公鑰,并向第一設(shè)備發(fā)送利用第一設(shè)備公鑰加密后的會(huì)話密鑰。
其中,標(biāo)識(shí)發(fā)送單元03可以向可信執(zhí)行單元02請(qǐng)求并獲取第一設(shè)備的標(biāo)識(shí)信息;可信執(zhí)行單元02應(yīng)標(biāo)識(shí)發(fā)送單元03的請(qǐng)求,從安全存儲(chǔ)區(qū)域獲取第一設(shè)備的標(biāo)識(shí)信息并返回給標(biāo)識(shí)發(fā)送單元03。
第一設(shè)備的標(biāo)識(shí)信息可以預(yù)先由標(biāo)識(shí)服務(wù)設(shè)備分配和維護(hù)。例如在客戶端設(shè)備的出廠階段提供給標(biāo)識(shí)寫入設(shè)備,由標(biāo)識(shí)寫入設(shè)備將客戶端設(shè)備的id寫入客戶端設(shè)備。出于客戶端設(shè)備id信息安全性的考慮,客戶端設(shè)備的id信息可以存儲(chǔ)于安全環(huán)境,例如安全存儲(chǔ)區(qū)域,從而保證id信息不被篡改。
第一設(shè)備的標(biāo)識(shí)信息對(duì)應(yīng)的第一設(shè)備公鑰也可以預(yù)先由標(biāo)識(shí)服務(wù)設(shè)備生成和維護(hù),并供第二設(shè)備獲取,且第一設(shè)備私鑰預(yù)先寫入第一設(shè)備的安全存儲(chǔ)區(qū)域。
這種實(shí)現(xiàn)方式,可以應(yīng)用于第一設(shè)備為客戶端設(shè)備,第二設(shè)備為服務(wù)端設(shè)備的場(chǎng)景。
第二種方式:由公鑰發(fā)送單元發(fā)送第一設(shè)備公鑰給第二設(shè)備,以便第二設(shè)備利用第一設(shè)備公鑰加密會(huì)話密鑰后返回給第一設(shè)備,這種方式圖中未示出。
同樣,上述的第一設(shè)備公鑰和第一設(shè)備私鑰可以由標(biāo)識(shí)服務(wù)設(shè)備生成并提供給第一設(shè)備,且第一設(shè)備私鑰預(yù)先寫入第一設(shè)備的安全存儲(chǔ)區(qū)域中。
這種實(shí)現(xiàn)方式,可以應(yīng)用于第一設(shè)備和第二設(shè)備均為客戶端設(shè)備的場(chǎng)景。
可信執(zhí)行單元02負(fù)責(zé)在可信環(huán)境中利用第一設(shè)備私鑰解密加密后的會(huì)話密鑰,并利用解密得到的會(huì)話密鑰,進(jìn)行第一設(shè)備與第二設(shè)備之間的數(shù)據(jù)通信。
其中可信執(zhí)行單元02可以是利用諸如armtrustzone或secureelement或 tim-shield等機(jī)制在硬件上隔離出的安全區(qū)域,例如采用可信芯片的形式。也可以是利用虛擬化機(jī)制隔離出的安全模塊。
圖8為本發(fā)明實(shí)施例提供的第二種裝置結(jié)構(gòu)圖,該裝置可以設(shè)置于上述的第二設(shè)備,如圖8中所示,該裝置可以包括:公鑰獲取單元11、密鑰處理單元12和數(shù)據(jù)通信單元13,還可以包括響應(yīng)發(fā)送單元14和密鑰生成單元15。各組成單元的主要功能如下:
公鑰獲取單元11負(fù)責(zé)獲取第一設(shè)備公鑰。具體地,可以采用但不限于以下兩種方式:
第一種方式:公鑰獲取單元11接收第一設(shè)備的標(biāo)識(shí)信息,從標(biāo)識(shí)服務(wù)設(shè)備獲取第一設(shè)備的標(biāo)識(shí)信息對(duì)應(yīng)的第一設(shè)備公鑰。
若公鑰獲取單元11接收到標(biāo)識(shí)服務(wù)設(shè)備發(fā)送的第一設(shè)備的標(biāo)識(shí)信息不合法的響應(yīng),或者不存在第一設(shè)備的標(biāo)識(shí)信息對(duì)應(yīng)的第一設(shè)備公鑰的響應(yīng),則響應(yīng)發(fā)送單元14可以向第一設(shè)備返回通信建立失敗的響應(yīng)。
這種情況可以適用于第一設(shè)備為客戶端設(shè)備,第二設(shè)備為服務(wù)端設(shè)備的場(chǎng)景。
第二種方式,公鑰獲取單元11接收第一設(shè)備發(fā)送的第一設(shè)備公鑰。
這種情況可以適用于第一設(shè)備和第二設(shè)備均為客戶端設(shè)備的場(chǎng)景。
密鑰處理單元12負(fù)責(zé)利用第一設(shè)備公鑰對(duì)會(huì)話密鑰進(jìn)行加密后發(fā)送給第一設(shè)備。
數(shù)據(jù)通信單元13負(fù)責(zé)利用會(huì)話密鑰,進(jìn)行第二設(shè)備與第一設(shè)備之間的數(shù)據(jù)通信。
上述的會(huì)話密鑰可以由密鑰生成單元15負(fù)責(zé)生成,會(huì)話密鑰可以是依據(jù)一定算法產(chǎn)生的隨機(jī)密鑰,可以是對(duì)稱式的密鑰,也可以是非對(duì)稱式的密鑰。
為了保證會(huì)話密鑰的安全性,作為一種優(yōu)選的實(shí)施方式,密鑰生成單元15和密鑰處理單元12可以設(shè)置于可信環(huán)境中。
圖9為本發(fā)明實(shí)施例提供的第三種裝置結(jié)構(gòu)圖,該裝置可以設(shè)置于上述方法實(shí)施例中的標(biāo)識(shí)服務(wù)設(shè)備,如圖9中所示,該裝置可以包括:接收單元21、 確定單元22和發(fā)送單元23,還包括信息維護(hù)單元24。各組成單元的主要功能如下:
接收單元21負(fù)責(zé)接收第二設(shè)備發(fā)送的第一設(shè)備的標(biāo)識(shí)信息。
確定單元22負(fù)責(zé)確定第一設(shè)備的標(biāo)識(shí)信息對(duì)應(yīng)的第一設(shè)備公鑰。
發(fā)送單元23負(fù)責(zé)向第二設(shè)備返回第一設(shè)備公鑰,以便第二設(shè)備利用第一設(shè)備公鑰對(duì)會(huì)話密鑰進(jìn)行加密后發(fā)送給第一設(shè)備,會(huì)話密鑰用于第一設(shè)備與第二設(shè)備之間的數(shù)據(jù)通信。
信息維護(hù)單元24負(fù)責(zé)維護(hù)預(yù)先為第一設(shè)備分配的標(biāo)識(shí)信息,并維護(hù)預(yù)先針對(duì)第一設(shè)備生成的第一設(shè)備公鑰和第一設(shè)備私鑰。其中第一設(shè)備的標(biāo)識(shí)信息可以由該標(biāo)識(shí)服務(wù)設(shè)備分配,并在第一設(shè)備的出廠階段提供給標(biāo)識(shí)寫入設(shè)備,寫入第一設(shè)備。第一設(shè)備公鑰和第一設(shè)備私鑰也可以由該標(biāo)識(shí)服務(wù)設(shè)備生成,并在第一設(shè)備的出廠階段提供給標(biāo)識(shí)寫入設(shè)備,寫入第一設(shè)備的安全存儲(chǔ)區(qū)域。
另外,若確定單元22確定第一設(shè)備的標(biāo)識(shí)信息不合法,則發(fā)送單元23向第二設(shè)備返回第一設(shè)備的標(biāo)識(shí)信息不合法的響應(yīng)。若確定單元22確定不存在第一設(shè)備的標(biāo)識(shí)信息對(duì)應(yīng)的第一設(shè)備公鑰,則發(fā)送單元23可以向第二設(shè)備返回不存在第一設(shè)備的標(biāo)識(shí)信息的響應(yīng)。
下面列舉幾個(gè)具體的應(yīng)用場(chǎng)景:
第一種應(yīng)用場(chǎng)景:如圖10所示,標(biāo)識(shí)服務(wù)設(shè)備預(yù)先針對(duì)智能汽車生成智能汽車的id信息,并針對(duì)智能汽車生成公鑰-私鑰對(duì),將智能汽車的id信息和私鑰下發(fā)給標(biāo)識(shí)寫入設(shè)備,以便在該智能汽車出廠階段,由標(biāo)識(shí)寫入設(shè)備將智能汽車的id信息和私鑰寫入智能汽車的可信芯片中。
當(dāng)智能汽車希望通過諸如物聯(lián)網(wǎng)等與服務(wù)器端建立連接,從而享受業(yè)務(wù)服務(wù)器的服務(wù)時(shí),諸如從業(yè)務(wù)服務(wù)器獲取導(dǎo)航信息、路況信息、控制信息等等時(shí),將該智能汽車的id信息發(fā)送給業(yè)務(wù)服務(wù)器,業(yè)務(wù)服務(wù)器將該id信息發(fā)送給標(biāo)識(shí)服務(wù)設(shè)備,由標(biāo)識(shí)服務(wù)設(shè)備將該智能汽車的id信息對(duì)應(yīng)的公鑰發(fā)送給業(yè)務(wù)服務(wù)器。業(yè)務(wù)服務(wù)器利用智能汽車的公鑰對(duì)生成的隨機(jī)的會(huì)話密鑰進(jìn)行加密,將加密后的會(huì)話密鑰發(fā)送給智能汽車。智能汽車接收到該會(huì)話 密鑰后提供給可信芯片,由可信芯片獲取智能汽車的私鑰后,利用私鑰對(duì)接收到的加密后的會(huì)話密鑰進(jìn)行解密,后續(xù)就利用解密后得到的會(huì)話密鑰與業(yè)務(wù)服務(wù)器進(jìn)行數(shù)據(jù)通信。從而保證了智能汽車與業(yè)務(wù)服務(wù)器之間的數(shù)據(jù)通信安全。
第二種應(yīng)用場(chǎng)景:如圖11所示,標(biāo)識(shí)服務(wù)設(shè)備預(yù)先針對(duì)智能手表生成智能手表的id信息,并針對(duì)智能手表生成公鑰-私鑰對(duì),將智能手表的id信息和私鑰下發(fā)給標(biāo)識(shí)寫入設(shè)備,以便在該智能手表出廠階段,由標(biāo)識(shí)寫入設(shè)備將智能手表的id信息和私鑰寫入智能手表的可信芯片中。
當(dāng)智能手表要與手機(jī)建立連接從而進(jìn)行數(shù)據(jù)交互時(shí),將智能手表的公鑰發(fā)送給手機(jī),手機(jī)中的可信芯片利用該智能手表的公鑰對(duì)生成的會(huì)話密鑰進(jìn)行加密后,發(fā)送給智能手表。
智能手表接收到加密后的會(huì)話密鑰后,由可信芯片獲取智能手表的私鑰,并利用私鑰對(duì)加密后的會(huì)話密鑰進(jìn)行解密。后續(xù)利用解密后得到的會(huì)話密鑰與手機(jī)之間進(jìn)行數(shù)據(jù)通信,從而保證智能手表與手機(jī)之間的數(shù)據(jù)通信安全。
除了上述應(yīng)用場(chǎng)景之外,本發(fā)明還可以應(yīng)用于其他應(yīng)用場(chǎng)景,諸如智能電視與視頻服務(wù)器之間的安全通信、智能手機(jī)與智能家電設(shè)備之間的安全通信,等等,在此不再一一窮舉。
由以上描述可以看出,本發(fā)明提供的方法、裝置和系統(tǒng)可以具備以下優(yōu)點(diǎn):
1)在本發(fā)明中,設(shè)備的私鑰和對(duì)會(huì)話密鑰的解密都在可信環(huán)境中執(zhí)行,從而避免了因os漏洞而引起密鑰和會(huì)話密鑰被截取,提高了設(shè)備間通信的安全性。
2)能夠適用于客戶端設(shè)備之間以及客戶端與服務(wù)端設(shè)備之間等多種應(yīng)用場(chǎng)景,靈活滿足多種應(yīng)用需求。
3)當(dāng)進(jìn)行客戶端設(shè)備與服務(wù)端設(shè)備之間的安全通信時(shí),通過標(biāo)識(shí)服務(wù)設(shè)備對(duì)設(shè)備標(biāo)識(shí)的合法性以及設(shè)備標(biāo)識(shí)與設(shè)備公鑰之間對(duì)應(yīng)關(guān)系的合法性進(jìn) 行把控,更進(jìn)一步增加了客戶端設(shè)備與服務(wù)端設(shè)備之間通信的安全性。
在本發(fā)明所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng),裝置和方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用硬件加軟件功能單元的形式實(shí)現(xiàn)。
上述以軟件功能單元的形式實(shí)現(xiàn)的集成的單元,可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。上述軟件功能單元存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)或處理器(processor)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的部分步驟。而前述的存儲(chǔ)介質(zhì)包括:u盤、移動(dòng)硬盤、只讀存儲(chǔ)器(read-onlymemory,rom)、隨機(jī)存取存儲(chǔ)器(randomaccessmemory,ram)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。