背景技術(shù):
通常,計算設(shè)備廣播靜態(tài)介質(zhì)訪問控制(mac)地址,該靜態(tài)mac地址允許其它設(shè)備發(fā)現(xiàn)該設(shè)備和經(jīng)由被廣播的靜態(tài)mac地址連接到該設(shè)備。mac地址包括被指派給網(wǎng)絡(luò)接口的唯一標識符,以用于在物理網(wǎng)段上通信。例如,mac地址被用作以太網(wǎng)和wi-fi的網(wǎng)絡(luò)地址。
然而,通過廣播其靜態(tài)mac地址,計算設(shè)備變得易受該計算設(shè)備不想與之連接的攻擊或者惡意實體(例如,設(shè)備)的傷害。攻擊或者惡意實體可以利用靜態(tài)mac地址來偽造連接、消費來自該設(shè)備的數(shù)據(jù)以及在各種實例中甚至掌控該設(shè)備。為了對抗這些攻擊或者惡意實體,可以將計算設(shè)備與隨機mac地址和/或靜態(tài)通用mac地址相關(guān)聯(lián)。例如,可以初始使用隨機mac地址實現(xiàn)對設(shè)備的配對和發(fā)現(xiàn),并且在連接被建立之后,可以通過靜態(tài)通用mac地址實現(xiàn)數(shù)據(jù)通信。盡管使用隨機mac地址幫助解決了攻擊或者惡意實體偽造與計算設(shè)備的連接的問題,但使用隨機mac地址也妨礙兩個計算設(shè)備之間的高效的(例如,自動的)發(fā)現(xiàn)。此外,在兩個設(shè)備之間建立連接之后,攻擊或者惡意實體可以暴露被用于通信的靜態(tài)通用mac地址。
技術(shù)實現(xiàn)要素:
本申請描述了使得相同的域的部分的兩個設(shè)備能夠安全和/或自動地建立與彼此的信任和與彼此連接。所述兩個設(shè)備通過與受信任實體交互利用該受信任實體來獲得用于安全和/或自動地建立與彼此的信任的信任信息。受信任實體可以擔當對所述域(例如,企業(yè)域)進行管理以及維護和共享信任信息的任務(wù)。例如,信任信息可以包括加密密鑰對的公鑰、已由受信任實體對其進行簽名的證明真實性的證書和/或用于計算形成散列鏈的一系列結(jié)果的散列函數(shù)和散列種子(hashseed)。設(shè)備可以使用信任信息來發(fā)現(xiàn)另一個設(shè)備、連接到該另一個設(shè)備和動態(tài)地變更用于與該另一個設(shè)備通信的mac地址。
提供本概要以便以簡化形式介紹下面在詳細說明中進一步描述的概念的選擇。本概要不旨在標識所要求保護的主題的關(guān)鍵特征或者必要特征,其也不旨在被用作在確定所要求保護的主題的范圍時的輔助。例如,術(shù)語“技術(shù)”可以指如被上面的上下文和貫穿本文檔所準許的(一個或者多個)系統(tǒng)、(一個或者多個)方法、計算機可讀指令、算法、部件、模塊和/或(一個或者多個)技術(shù)。
附圖說明
參考附圖呈現(xiàn)了詳細說明。在附圖中,標號的最左(一個或者多個)數(shù)字標識該標號在其中第一次出現(xiàn)的圖。在不同的圖中使用相同的標號指示相似或者相同的項。
圖1圖示了計算設(shè)備與受信任實體交互以建立與被加入相同的域或者是相同的域的部分的另一個計算設(shè)備的信任的示例環(huán)境。
圖2圖示了管理、存儲和提供可被設(shè)備用于建立與彼此的信任的信任信息的示例受信任實體設(shè)備的更詳細視圖。
圖3圖示了被受信任實體設(shè)備互相信任的兩個計算設(shè)備能夠加入域以使得它們可以使用公鑰密碼術(shù)建立與彼此的信任和連接的示例過程。
圖4圖示了被受信任實體設(shè)備相互信任的兩個計算設(shè)備能夠使用由受信任實體設(shè)備提前提供的公鑰建立與彼此的信任和連接的示例過程。圖4的示例過程是與圖3的示例過程不同的,這特別在于,受信任實體設(shè)備提前向設(shè)備提供公鑰的集合,以使得設(shè)備不必在每次該設(shè)備想要連接到另一個設(shè)備時聯(lián)系受信任實體設(shè)備以檢索另一個設(shè)備的公鑰。
圖5圖示了被受信任實體設(shè)備相互信任的兩個計算設(shè)備能夠使用證書建立與彼此的信任和連接的示例過程。
圖6圖示了被受信任實體設(shè)備相互信任的兩個計算設(shè)備能夠使用由受信任實體設(shè)備提前提供的證書建立與彼此的信任和連接的示例過程。圖6的示例過程是與圖5的示例過程不同的,這特別在于,受信任實體設(shè)備提前向設(shè)備提供證書的集合,以使得設(shè)備自身不必向另一個設(shè)備發(fā)送它自己的證書。
圖7圖示了使用散列函數(shù)來確定要用于通信的mac地址的示例過程。
圖8圖示了使用散列函數(shù)來動態(tài)地變更被設(shè)備用于通信的mac地址的示例過程。
具體實施方式
本文中描述的技術(shù)利用域內(nèi)的受信任實體來使得加入域的設(shè)備能夠建立與彼此的信任,因此它們可以安全地發(fā)現(xiàn)彼此和連接到彼此。如果設(shè)備已將彼此驗證為認證的設(shè)備,則可以在設(shè)備之間建立信任。在本文中討論的各種示例中,設(shè)備被配置為,向受信任實體提供信任信息和/或從受信任實體接收信任信息。信任信息可以例如包括加密密鑰對的公鑰、已由受信任實體對其進行簽名的證明真實性的證書和/或用于計算形成散列鏈的一系列結(jié)果的散列函數(shù)和散列種子。設(shè)備可以使用信任信息來安全和自動(例如,不具有任何用戶參與或者具有有限的用戶參與)地發(fā)現(xiàn)另一個設(shè)備和連接到另一個設(shè)備。此外,設(shè)備可以使用信任信息來動態(tài)地變更用于與另一個設(shè)備通信的mac地址。
在各種實現(xiàn)方式中,受信任實體可以是與域的操作相關(guān)聯(lián)的。相應(yīng)地,受信任實體可以維護和管理被批準加入域的設(shè)備(例如,已被注冊到諸如是操作在其中部署受信任實體的域的公司的雇員之類的用戶的設(shè)備)的列表。通過利用受信任實體,本文中描述的技術(shù)實現(xiàn)限制了向攻擊和惡意實體的暴露,并且抵御了利用對設(shè)備的被暴露或者易受傷害的mac地址的知識進行的攻擊(例如,分布式拒絕服務(wù)(ddos))的魯棒的模型。
圖1圖示了計算設(shè)備102與受信任實體104交互以建立與被加入相同的域或者是相同的域的部分的另一個計算設(shè)備106的信任的示例環(huán)境100。受信任實體102維護受信任設(shè)備列表108。受信任設(shè)備列表108中所列出的設(shè)備是在域內(nèi)被信任并且因此被準許使用本文中討論的安全和/或自動連接(例如,配對、綁定等)技術(shù)的設(shè)備。例如,域可以是包括(一個或者多個)網(wǎng)絡(luò)110(例如,安全網(wǎng)絡(luò))的企業(yè)域(例如,工作場所域),并且受信任實體104可以包括配置對于域來說是已知的并且因此在域內(nèi)被信任的受信任設(shè)備列表108的集中式服務(wù)器和集中式數(shù)據(jù)庫。術(shù)語“集中式”在本文中用于指受信任實體104的中介參與,其輔助被包括在受信任設(shè)備列表108中的兩個設(shè)備出于發(fā)現(xiàn)、連接和/或通信的目的而建立與彼此的連接。
例如,受信任設(shè)備列表108可以是被官方地分布和注冊到公司的單個雇員的設(shè)備(例如,膝上型計算機、臺式計算機、智能電話、智能手表等)和/或可能未被注冊到單個雇員但在物理上位于工作場所的各處以用于被雇員的組使用的設(shè)備(例如,會議室呈現(xiàn)設(shè)備、視頻遠程電信會議設(shè)備、網(wǎng)絡(luò)設(shè)備、恒溫控制設(shè)備、智能家用電器設(shè)備等)。受信任設(shè)備列表108可以由具有更新受信任設(shè)備列表108的官方能力的公司的行政雇員(例如,在新雇員被公司聘用時向列表添加新設(shè)備和/或在雇員離開公司時從列表移除設(shè)備的it協(xié)調(diào)員)配置。相應(yīng)地,受信任設(shè)備列表108包括被批準和準許加入由受信任實體104操作的域的設(shè)備。
受信任實體104被配置為管理和存儲信任信息112。如在本文中進一步討論的,信任信息112可以包括但不限于密碼術(shù)密鑰、證書、散列函數(shù)、散列種子、散列鏈版本號等。在一些示例中,受信任設(shè)備列表108中的計算設(shè)備102生成信任信息112(例如,加密密鑰對),并且將信任信息112的至少一部分(例如,公鑰)提供給受信任實體104。因此,受信任實體104從計算設(shè)備102接收信任信息112,存儲所接收的信任信息112,并且隨后將由計算設(shè)備102生成的所存儲的信任信息112提供給受信任設(shè)備列表108上的其它計算設(shè)備,因此可以在一對設(shè)備(例如,計算設(shè)備102和計算設(shè)備106)之間建立信任。在一些示例中,受信任實體104自身代表計算設(shè)備102生成信任信息(例如,證書、散列函數(shù)等),存儲所生成的信任信息112,并且隨后將所存儲的信任信息112提供給受信任設(shè)備列表108上的其它計算設(shè)備,因此可以在一對設(shè)備之間建立信任。因此,包括在域的受信任設(shè)備列表108中的設(shè)備可以與受信任實體104交互(例如,提供信任信息112、接收信任信息112等),以建立與其它設(shè)備的信任和連接到其它設(shè)備。
因此,圖1圖示了,基于計算設(shè)備102與受信任實體104之間的已知的信任(如由114引用的)并且基于計算設(shè)備106與受信任實體104之間的已知的信任(如由116引用的),計算設(shè)備102和計算設(shè)備106能夠通過利用與受信任實體104的相互信任(如由118引用的)并且在不必使用易受被攻擊和惡意實體利用的傷害的常規(guī)mac地址廣播方法(如由120引用的,“x”代表劃掉)的情況下安全地發(fā)現(xiàn)和連接到彼此。計算設(shè)備102和計算設(shè)備106可以使用(一個或者多個)網(wǎng)絡(luò)110或者其它連接(例如,藍牙連接)進行連接和通信。
盡管就企業(yè)域而言闡述了本文中提供的示例中的一些示例,但該技術(shù)也可以在非企業(yè)域中被實現(xiàn)。例如,該技術(shù)可以在任何具有被配置為具有受信任設(shè)備列表的受信任實體或者受信任第三方的域中被實現(xiàn),所述受信任實體或者受信任第三方是被受信任設(shè)備列表上嘗試連接到彼此的一對設(shè)備相互信任的。
被配置為加入與受信任實體104相關(guān)聯(lián)的域或者是該域的一部分的計算設(shè)備(例如,計算設(shè)備102)可以包括多種設(shè)備中的任一種設(shè)備,其包括便攜式設(shè)備或者固定式設(shè)備。例如,計算設(shè)備102可以包括智能電話、移動電話、個人數(shù)字助理(pda)、電子書設(shè)備、可穿戴設(shè)備(例如,智能手表、電子眼鏡等)、便攜式計算機、臺式計算機、平板型計算機、便攜式計算機、游戲控制臺、個人媒體播放器設(shè)備、工作場合設(shè)備(例如,會議室呈現(xiàn)設(shè)備、視頻遠程電信會議設(shè)備等)、恒溫控制設(shè)備、智能家用電器設(shè)備、圖像捕獲設(shè)備、服務(wù)器計算機設(shè)備或者任何其它設(shè)備。
因此,計算設(shè)備102可以包括一個或多個處理器122和存儲器124。(一個或多個)處理器122可以是單一的處理單元或者一些單元,所述一些單元中的每個單元可以包括多個不同的處理單元。(一個或多個)處理器122可以包括微處理器、微計算機、微控制器、數(shù)字信號處理器、中央處理單元(cpu)、圖形處理單元(gpu)等。替換地或者另外,本文中描述的技術(shù)中的一些技術(shù)或者全部技術(shù)可以至少部分上被一個或多個硬件邏輯部件執(zhí)行。例如而不限于,可以被使用的硬件邏輯部件的圖示性類型包括現(xiàn)場可編程門陣列(fpga)、專用集成電路(asic)、專用標準產(chǎn)品(assp)、狀態(tài)機、復(fù)雜可編程邏輯設(shè)備(cpld)、其它邏輯電路、芯片上系統(tǒng)(soc)和/或任何其它基于指令執(zhí)行操作的設(shè)備。除了其它能力之外,(一個或多個)處理器122可以被配置為取出并執(zhí)行存儲在存儲器124中的計算機可讀指令。
存儲器124可以包括計算機可讀介質(zhì)中的一項或者其組合。如本文中使用的,“計算機可讀介質(zhì)”包括計算機存儲介質(zhì)和通信介質(zhì)。
計算機存儲介質(zhì)包括用任何用于存儲諸如是計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或者其它數(shù)據(jù)之類的信息的方法或者技術(shù)實現(xiàn)的易失性和非易失性、可移除和非可移除介質(zhì)。計算機存儲介質(zhì)包括但不限于相變存儲器(pram)、靜態(tài)隨機存取存儲器(sram)、動態(tài)隨機存取存儲器(dram)、其它類型的隨機存取存儲器(ram)、只讀存儲器(rom)、電可擦除可編程rom(eeprom)、閃存或者其它存儲器技術(shù)、壓縮盤rom(cd-rom)、數(shù)字多功能光盤(dvd)或者其它光學存儲裝置、盒式磁帶、磁帶、磁盤存儲裝置或者其它磁性存儲設(shè)備、或者任何其它可以用于存儲信息以用于被計算設(shè)備訪問的介質(zhì)。
相反,通信介質(zhì)將計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或者其它數(shù)據(jù)包括在諸如是載波之類的經(jīng)調(diào)制數(shù)據(jù)信號中。如本文中定義的,計算機存儲介質(zhì)不包括通信介質(zhì)。
存儲器124可以包括操作系統(tǒng)126,操作系統(tǒng)126被配置為,為了其它部件和其它設(shè)備的利益,管理位于計算設(shè)備102內(nèi)和耦合到計算設(shè)備102的硬件和服務(wù)。例如,計算設(shè)備102的其它部件可以包括諸如是瀏覽器或者應(yīng)用(例如,被配置在計算設(shè)備102上的“應(yīng)用(app)”)的(一個或者多個)用戶模塊。如本文中使用的,術(shù)語“模塊”旨在出于討論的目的表示對可執(zhí)行指令的示例劃分,而不旨在表示任何類型的要求或者所要求的方法、方式或者組織。相應(yīng)地,盡管討論了各種“模塊”,但它們的功能和/或類似的功能可以被不同地安排(例如,被組合成更小數(shù)量的模塊、被拆分成更大數(shù)量的模塊等)。進一步地,盡管特定的功能和模塊在本文中可以被描述為被可在處理器上執(zhí)行的軟件和/或固件實現(xiàn),但在其它實施例中,所述模塊中的任一個模塊或者全部模塊可以整體上或者部分上被用于執(zhí)行所描述的功能的硬件(例如,專用處理單元等)實現(xiàn)。
計算設(shè)備102可以還包括網(wǎng)絡(luò)接口128(例如,網(wǎng)絡(luò)接口控制器或者nic)。在各種示例中,網(wǎng)絡(luò)接口128包括信任建立模塊130。信任建立模塊130被配置為,與受信任實體104通信和交換信息(例如,信任信息112),如在本文中進一步討論的。信任建立模塊130還被配置為,用信任信息112和mac地址132發(fā)現(xiàn)另一個計算設(shè)備(例如,計算設(shè)備106)和/或建立與該另一個計算設(shè)備的連接。mac地址132可以在開放系統(tǒng)互連(osi)模型的介質(zhì)訪問控制協(xié)議子層之中或者通過該子層使用??梢詫ac地址132存儲在網(wǎng)絡(luò)接口128的硬件(例如,只讀存儲器或者某個其它固件機制)中。在各種示例中,信任信息112將mac地址132表示為允許計算設(shè)備106與計算設(shè)備102通信的網(wǎng)絡(luò)點。換句話說,可以使用信任信息112來計算被計算設(shè)備102用于與計算設(shè)備106通信的mac地址132,并且因此,不需要任何易受被攻擊或者惡意實體利用的傷害的廣播查詢。
盡管就被包括在網(wǎng)絡(luò)接口128內(nèi)的信任建立模塊130而言闡述了本文中提供的示例中的一些示例,但信任建立模塊130還可以在計算設(shè)備的其它部件(例如,存儲器124上的模塊和/或操作系統(tǒng)126)中被實現(xiàn)。
圖2圖示了可以是受信任實體104的一部分或者被受信任實體104操作的示例受信任實體設(shè)備202的詳細視圖200。受信任實體設(shè)備202可以包括多種設(shè)備中的任一種設(shè)備,所述多種設(shè)備包括便攜式設(shè)備或者固定式設(shè)備。例如,受信任實體設(shè)備202可以包括在網(wǎng)絡(luò)服務(wù)(例如,云服務(wù)、內(nèi)容提供商、服務(wù)提供商、服務(wù)器群等)內(nèi)操作的服務(wù)器或者另一個計算設(shè)備。相應(yīng)地,受信任實體設(shè)備202被配置為,經(jīng)由諸如是互聯(lián)網(wǎng)(例如,wi-fi連接)或者其它各種通信技術(shù)之類的(一個或者多個)網(wǎng)絡(luò)110與受信任設(shè)備列表108上的設(shè)備(例如,計算設(shè)備102和計算設(shè)備106)通信。
受信任實體設(shè)備202包括一個或多個處理器204和存儲器206。在上面就圖1的(一個或多個)處理器122和存儲器124討論了(一個或多個)處理器204和存儲器206的示例類型。存儲器206包括信任管理模塊208。信任管理模塊208被配置為,與受信任設(shè)備列表108中的設(shè)備交互,以使得兩個設(shè)備可以建立與彼此的信任和連接。為此,信任管理模塊208被配置為,驗證設(shè)備被批準加入域(例如,設(shè)備是經(jīng)官方注冊的)。例如,信任管理模塊208可以訪問包括受信任設(shè)備的身份210的數(shù)據(jù)庫,以驗證設(shè)備被信任并且因此被批準加入域。信任管理模塊208還被配置為,從已加入域的設(shè)備接收信任信息112,并且在一些實例中,代表所述設(shè)備生成信任信息112,并且信任信息112是可被設(shè)備用于建立與彼此的信任的。此外,信任管理模塊208被配置為,存儲信任信息112,并且將信任信息112提供給已加入域的其它設(shè)備,以使得信任可以被建立。
在本文中進一步討論(例如,就圖3和圖4而言)的各種示例中,信任信息112包括受信任設(shè)備的公鑰。因此,信任管理模塊208可以從受信任設(shè)備接收公鑰,并且將公鑰存儲在公鑰數(shù)據(jù)庫212中。
在本文中進一步討論(例如,就圖5和圖6而言)的各種示例中,信任信息112包括將被生成并且發(fā)給受信任設(shè)備的證書。因此,信任管理模塊208可以生成證書,和/或?qū)⒆C書存儲在證書數(shù)據(jù)庫214中。
在本文中進一步討論(例如,就圖7和圖8而言)的各種示例中,信任信息112包括將被發(fā)給受信任設(shè)備和/或與受信任設(shè)備共享的散列函數(shù)、散列種子和散列鏈版本號。因此,信任管理模塊208可以生成散列函數(shù)和散列種子,和/或?qū)⑸⒘泻瘮?shù)、散列種子和散列鏈版本號存儲在散列函數(shù)數(shù)據(jù)庫216中。
在另外的示例中,信任管理模塊208可以還創(chuàng)建設(shè)備關(guān)聯(lián),并且將基于所述關(guān)聯(lián)的設(shè)備組存儲在設(shè)備組數(shù)據(jù)庫218中。例如,關(guān)聯(lián)和組可以被創(chuàng)建為使得更可能在定期基礎(chǔ)上連接和通信的域的設(shè)備可以是能夠自動和安全地完成這些操作的。
圖3-8單個地圖示了用于使用本文中描述的技術(shù)的示例過程。為易于圖示,將示例過程描述為在圖1和/或圖2的環(huán)境中執(zhí)行。例如,示例過程的翻個操作中的一個或多個操作可以被計算設(shè)備102、被受信任實體設(shè)備202或者被計算設(shè)備102正在與之建立連接的計算設(shè)備106執(zhí)行。在圖3-7的示例過程中,在執(zhí)行操作的相應(yīng)設(shè)備(例如,如在圖3-7的頂部所指示的)下面以列狀的形式圖示了被相應(yīng)設(shè)備執(zhí)行的相應(yīng)操作。然而,過程也可以在其它環(huán)境中和通過其它設(shè)備執(zhí)行。
作為邏輯流圖圖示了示例過程,所述邏輯流圖的每個操作表示可以用硬件、軟件或者其組合來實現(xiàn)的操作的序列。在軟件的上下文中,操作表示在被一個或多個處理器執(zhí)行時將設(shè)備配置為執(zhí)行所詳述的操作的、被存儲在一個或多個計算機可讀存儲介質(zhì)上的計算機可執(zhí)行指令。概括地說,計算機可執(zhí)行指令包括執(zhí)行特定的功能的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等。對操作進行描述的次序不旨在理解為限制,并且可以按照任何次序和/或并行地組合任何數(shù)量的所描述的操作以實現(xiàn)過程。進一步地,可以省略單個操作中的任一個操作。
圖3圖示了被受信任實體設(shè)備202相互信任的兩個計算設(shè)備(例如,計算設(shè)備102和計算設(shè)備106)能夠加入域以使得它們可以建立與彼此的信任和連接的示例過程300。示例過程300利用公鑰密碼術(shù)來建立信任和/或使設(shè)備能夠安全和自動地進行連接。兩個設(shè)備的“自動”連接可以在(i)不要求來自設(shè)備的用戶的輸入或者(ii)具有來自設(shè)備的用戶的有限的輸入(例如,“有限的”量的輸入可以指僅要求用戶選擇或者識別該用戶想要與之建立連接的設(shè)備)的情況下發(fā)生。
在操作302(a)處,第一計算設(shè)備102生成作為信任信息112的加密密鑰對。在各種示例中,加密密鑰對包括私鑰(例如,“e_1”)和公鑰(例如,“p_1”)。第一計算設(shè)備102保留私鑰,并且使用私鑰來對可以被具有公鑰的其它設(shè)備(例如,計算設(shè)備106)解密的信息進行簽名(例如,加密),因此向其它設(shè)備證明信息是由第一計算設(shè)備102提供的。相應(yīng)地,公鑰被配置為被提供給其它設(shè)備(例如,如在本文中進一步討論的,經(jīng)由受信任實體設(shè)備202被提供給計算設(shè)備106)。在對應(yīng)的操作302(b)中,第二計算設(shè)備106生成作為其自己的信任信息112的加密密鑰對(例如,“e_2”、“p_2”)。
在操作304(a)處,第一計算設(shè)備102向受信任實體設(shè)備202發(fā)送或者提供公鑰。例如,第一計算設(shè)備102可以與加入域和或?qū)τ蜻M行認證(例如,雇員到達工作場地)相關(guān)聯(lián)地生成加密密鑰對和/或向受信任實體設(shè)備202提供公鑰。在對應(yīng)的操作304(b)中,第二計算設(shè)備106向受信任實體設(shè)備202發(fā)送或者提供它自己的公鑰。
在操作306處,受信任實體設(shè)備202接收來自第一計算設(shè)備102的公鑰和接收來自第二計算設(shè)備106的公鑰,并且將公鑰存儲在例如公鑰數(shù)據(jù)庫212中。
在操作308處,第一計算設(shè)備102向受信任實體設(shè)備202發(fā)送對于連接到第二計算設(shè)備106的請求。例如,可以與第一計算設(shè)備102發(fā)現(xiàn)第二計算設(shè)備106并且想要例如在不必廣播它的mac地址的情況下連接到第二計算設(shè)備106相關(guān)聯(lián)地發(fā)送該請求。第一計算設(shè)備102可以發(fā)送該請求以確定是否受信任設(shè)備列表108包括第二計算設(shè)備106。如果是,則第一計算設(shè)備102可以變得知道第一計算設(shè)備102和第二計算設(shè)備106兩者都具有與受信任實體設(shè)備202的相互信任,并且因此,可以利用相互信任來建立兩個設(shè)備之間的信任,以使得兩個設(shè)備可以安全并且自動地發(fā)現(xiàn)彼此和進行連接。
在操作310處,受信任實體設(shè)備202接收來自第一計算設(shè)備102的請求,并且驗證第一計算設(shè)備102是受信任設(shè)備列表108上的受信任設(shè)備(例如,經(jīng)由身份數(shù)據(jù)庫210中所存儲的設(shè)備id)。
在操作312處,受信任實體設(shè)備202響應(yīng)于該請求向第一計算設(shè)備102返回第二計算設(shè)備106的公鑰(例如,“p_2”)。
在操作314處,第一計算設(shè)備102從受信任實體設(shè)備202接收第二計算設(shè)備106的公鑰。在一些實例中,第一計算設(shè)備102可以實現(xiàn)用于驗證公鑰是從受信任實體設(shè)備202而不是從另一個設(shè)備接收的過程。
在操作316處,受信任實體設(shè)備202基于識別第二計算設(shè)備106的請求向第二計算設(shè)備106提供第一計算設(shè)備102的公鑰(例如,“p_1”)。例如,對第一計算設(shè)備102的公鑰的提供可以充當或者伴隨對第一計算設(shè)備102想要建立與第二計算設(shè)備106的信任和連接到第二計算設(shè)備106的指示。
在操作318處,第二計算設(shè)備106從受信任實體設(shè)備202接收第一計算設(shè)備102的公鑰。在一些實例中,第二計算設(shè)備106可以實現(xiàn)用于驗證公鑰是從受信任實體設(shè)備202而非從另一個設(shè)備接收的過程。
在操作320處,第一計算設(shè)備102向第二計算設(shè)備106發(fā)送對于經(jīng)由mac地址132進行連接的請求??梢岳玫谝挥嬎阍O(shè)備102從受信任實體設(shè)備202接收(例如,操作314)的第二設(shè)備的公鑰(例如,“p_2”)對該請求和/或mac地址132進行加密。此外,可以使用第一計算設(shè)備102的、并且被計算設(shè)備102保留的私鑰(例如,“e_1”)對該請求和/或mac地址132進行簽名。相應(yīng)地,mac地址132不被廣播,并且因此不被暴露以用于被攻擊或者惡意實體利用。
在操作322處,第二計算設(shè)備106從第一計算設(shè)備102接收請求。
在操作324處,第二計算設(shè)備106可以使用從受信任實體設(shè)備202接收(例如,操作318)的第一計算設(shè)備102的公鑰(例如,“p_1”)驗證該請求和/或mac地址的簽名。此外,第二計算設(shè)備106可以使用它自己的私鑰(例如,“e_2”)對該請求和/或mac地址進行解密。相應(yīng)地,已使用經(jīng)由受信任實體設(shè)備202提供的信任信息(例如,公鑰)在兩個設(shè)備之間建立信任。
在對應(yīng)的操作326(a)和326(b)處,第一計算設(shè)備102和第二計算設(shè)備106經(jīng)由mac地址132進行連接。圖3中所圖示的操作的次序可以與所示的次序不同。例如,第二計算設(shè)備106可以在第一計算設(shè)備102接收第二計算設(shè)備106的公鑰(例如,操作314)之前接收第一計算設(shè)備102的公鑰(例如,操作318)。
可以每次計算設(shè)備102和計算設(shè)備106想要進行連接時執(zhí)行圖3的示例過程300。
圖4圖示了被受信任實體設(shè)備202相互信任的兩個計算設(shè)備(例如,計算設(shè)備102和計算設(shè)備106)能夠使用由受信任實體設(shè)備202提前提供的公鑰建立信任和連接到彼此的另一個示例過程400。如本文中討論的,示例過程400是與圖3的示例過程300不同的,這在于,受信任實體設(shè)備202提前向設(shè)備提供公鑰的集合,以使得設(shè)備不必在每次該設(shè)備想要連接到另一個設(shè)備時聯(lián)系受信任實體設(shè)備202以檢索另一個設(shè)備的公鑰。換句話說,設(shè)備可以能夠例如持久地存儲分別與其它設(shè)備的集合相關(guān)聯(lián)的公鑰的集合作為信任信息112,以使得設(shè)備不必在每次它想要進行連接時繼續(xù)回到受信任實體設(shè)備202以檢索公鑰。相反,在設(shè)備想要連接到另一個設(shè)備時,該另一個設(shè)備的公鑰是已在本地被存儲的并且是可容易地提供使用的。
在一些示例中,對公鑰的集合的提前提供可以是基于例如如被存儲在設(shè)備組數(shù)據(jù)庫218中的已定義的設(shè)備組的。組可以由有資格的人員(例如,it協(xié)調(diào)員、項目經(jīng)理等)和/或根據(jù)已定義的策略來定義和創(chuàng)建。在至少一個示例中,被提供或者推送給設(shè)備的公鑰的集合可以是分別與其它設(shè)備的集合相關(guān)聯(lián)的,所述其它設(shè)備的集合是被相同的用戶擁有或者控制或者與相同的用戶帳戶相關(guān)聯(lián)的。例如,公司的單個雇員可以具有他或者她用于工作相關(guān)的任務(wù)的多個設(shè)備(例如,智能電話、平板型設(shè)備、家庭辦公室處的膝上型計算機和臺式計算機),所述多個設(shè)備中的每個設(shè)備是能夠加入(例如,登錄到)由公司操作的企業(yè)域或者是該域的一部分的受信任設(shè)備列表108中的設(shè)備。在一些實例中,企業(yè)域可以由用于為公司提供服務(wù)(例如,被配置為用于被公司使用)的外部實體作宿主或者操作。在另一個示例中,被提供給設(shè)備的公鑰的集合可以是分別與屬于特定團隊的或者特定工作項目組的各種雇員的其它設(shè)備的集合相關(guān)聯(lián)的。在又另一個示例中,被提供給設(shè)備的公鑰的集合可以是分別與通常位于所述設(shè)備的預(yù)定鄰域內(nèi)的其它設(shè)備(例如,在雇員通常位于的特定樓層上或者特定工作建筑物內(nèi)建立的每個工作場所設(shè)備)的集合相關(guān)聯(lián)的。
在圖4中,操作302(a)、302(b)、304(a)、304(b)和306是與上面就圖3討論的那些操作相同或者相似的。
然而,在操作402處,在計算設(shè)備102和計算設(shè)備106已加入域、已向域進行認證和/或已提供它們的公鑰之后,受信任實體設(shè)備202標識要提供給第一計算設(shè)備102和第二計算設(shè)備106中的每個計算設(shè)備的公鑰的集合。在一些示例中,所標識的公鑰的集合可以對于第一計算設(shè)備102和第二計算設(shè)備106是相同的,而在其它示例中,所標識的公鑰的集合可以對于第一計算設(shè)備102和第二計算設(shè)備106是不同的。如本文中使用的,“集合”可以包括一個或多個(例如,一個公鑰、兩個公鑰、五個公鑰、十個公鑰等)。
在操作404處,受信任實體設(shè)備202向相應(yīng)設(shè)備(例如是第一計算設(shè)備102和第二計算設(shè)備106)發(fā)送公鑰的集合。如所討論的,在一個特定的示例中,被受信任實體設(shè)備202提供的公鑰包括與單個用戶相關(guān)聯(lián)的(被單個用戶擁有的、注冊到單個用戶的、被單個用戶控制的等)設(shè)備的集合的公鑰。由受信任實體設(shè)備202發(fā)送公鑰的集合可以被稱為“推送”信任信息112。換句話說,受信任實體設(shè)備202可以在接收對于公鑰的特定請求和/或?qū)τ谶B接到另一個特定設(shè)備的特定請求之前和/或獨立于接收對于公鑰的特定請求和/或?qū)τ谶B接到另一個特定設(shè)備的特定請求,自動地向計算設(shè)備推送公鑰的集合。
在操作406(a)處,第一計算設(shè)備102接收由受信任實體設(shè)備202提供的公鑰的集合。在對應(yīng)的操作406(b)處,第二計算設(shè)備106接收由受信任實體設(shè)備202提供的公鑰的集合。
既然第一計算設(shè)備102具有例如在本地被存儲的第二計算設(shè)備106的公鑰(例如,“p_2”),那么它可以以與在上面就圖3討論的方式相同或者相似的方式實現(xiàn)操作320。例如,第一計算設(shè)備102向第二計算設(shè)備106發(fā)送對于經(jīng)由mac地址132進行連接的請求??梢岳玫谝挥嬎阍O(shè)備102從受信任實體設(shè)備202接收(例如,操作406(a))的第二計算設(shè)備106的公鑰對該請求和/或mac地址132進行加密。此外,可以使用第一計算設(shè)備102的私鑰(例如,“e_1”)對該請求和/或mac地址進行簽名。相應(yīng)地,mac地址132不被廣播,并且因此不被暴露以用于被攻擊或者惡意實體利用。
此外,第二計算設(shè)備106可以以與在上面就圖3討論的方式相同或者相似的方式實現(xiàn)操作322和324。例如,第二計算設(shè)備106可以使用從受信任實體設(shè)備202接收(例如,操作406(b))的第一計算設(shè)備102的公鑰(例如,“p_1”)驗證該請求和/或mac地址的簽名。此外,第二計算設(shè)備106可以使用它自己的私鑰(例如,“e_2”)對該請求和/或mac地址進行解密。相應(yīng)地,已使用經(jīng)由受信任實體設(shè)備202提供的信任信息(例如,公鑰)在兩個設(shè)備之間建立信任。
因此,第一計算設(shè)備102和第二計算設(shè)備106可以分別實現(xiàn)對應(yīng)的操作326(a)和326(b)(例如,與在上面就圖3討論的那些操作相似或者相同的),并且經(jīng)由mac地址132進行連接。圖4中所圖示的操作的次序可以與所示的次序不同。
在一個示例實現(xiàn)方式中,之前已接收和存儲公鑰并且屬于一個用戶的兩個設(shè)備(例如,智能電話和膝上設(shè)備)可以經(jīng)由操作320、322、324、326(a)和326(b)使用短距連接(例如,當用戶正在從家里辦公時的藍牙連接)建立信任和/或可以經(jīng)由操作320、322、324、326(a)和326(b)使用短距連接進行連接,而不必連接到是域的部分的網(wǎng)絡(luò)和/或不必聯(lián)系受信任實體設(shè)備202以檢索公鑰。
在一些實例中,在新設(shè)備隨著時間加入域并且被注冊到受信任實體設(shè)備202(例如,被添加到受信任設(shè)備列表108)時,受信任實體設(shè)備202可以將新設(shè)備添加到合適的設(shè)備組,并且將它們的公鑰推送或者分布給相同組的部分的其它受信任設(shè)備,以使得該組中的其它受信任設(shè)備可以被更新為具有與加入域的新設(shè)備(例如,屬于相同用戶的設(shè)備)相關(guān)的公鑰信息。在一個示例中,設(shè)備的組可以包括域內(nèi)的被受信任實體設(shè)備202信任的全部設(shè)備。在另一個示例中,可以將組的大小限于閾值大小(例如,五個設(shè)備、十個設(shè)備、二十個設(shè)備、五十個設(shè)備等)以幫助確保假如設(shè)備被損害時的安全性。即,相比于如果被損害的設(shè)備包含五十個公鑰的情況,如果被損害的設(shè)備包含五個公鑰,則對于受信任實體設(shè)備202來說,解決域內(nèi)的問題(例如,撤銷/取消被損害的密鑰、接收和分布新的未被損害的密鑰等)可以是更高效的。在又另一個示例中,可以將組的大小限于基于對設(shè)備處的資源消耗(例如,與在本地存儲一百個公鑰相比的用于在本地存儲五個公鑰的存儲資源)的考慮的閾值大小。
圖5圖示了被受信任實體設(shè)備202相互信任的兩個計算設(shè)備(例如,計算設(shè)備102和計算設(shè)備106)能夠建立信任并且連接到彼此的又另一個示例過程500。示例過程500使用證書來建立信任。證書可以被稱為用于通過鏈對真實性進行驗證的信任的令牌。例如,證書可以由受信任實體設(shè)備202對其進行簽名并且向第一計算設(shè)備102發(fā)出,并且證書可以被第一計算設(shè)備102用于指示它是被受信任實體設(shè)備202信任的。因此,第二計算設(shè)備106可以基于證書確定第一計算設(shè)備102值得被信任。換句話說,間接通過證明設(shè)備的真實性的鏈建立信任。
在操作502(a)處,第一計算設(shè)備102加入與受信任實體設(shè)備202相關(guān)聯(lián)的(例如,被其操作的)域。在對應(yīng)的操作502(b)中,第二計算設(shè)備106也加入域。
在操作504處,受信任計算設(shè)備202例如經(jīng)由訪問設(shè)備身份數(shù)據(jù)庫210識別設(shè)備并且驗證它們是被包括在受信任設(shè)備列表108上的受信任設(shè)備。
在操作506處,受信任實體設(shè)備202向第一計算設(shè)備102發(fā)出第一證書。如上面討論的,受信任實體設(shè)備202可以對第一證書進行簽名,因此提供對第一計算設(shè)備102是被受信任實體設(shè)備202信任的指示。
在操作508處,第一計算設(shè)備102從受信任實體設(shè)備202接收第一證書。
在操作510處,受信任實體設(shè)備202向第二計算設(shè)備106發(fā)出第二證書。再次地,受信任實體設(shè)備202可以對第二證書進行簽名,因此提供對第二計算設(shè)備106是被受信任實體設(shè)備202信任的指示。
在操作512處,第二計算設(shè)備106從受信任實體設(shè)備202接收第二證書。
在操作514處,第一計算設(shè)備102向第二計算設(shè)備106發(fā)送對于建立信任的請求。對于建立信任的請求可以包括第一證書或者以某種方式與第一證書相關(guān)聯(lián)。
在操作516處,第二計算設(shè)備106從第一計算設(shè)備102接收對于建立信任的請求。
在操作518處,第二計算設(shè)備106使用第一證書驗證第一計算設(shè)備102是受信任計算設(shè)備。如上面討論的,第一證書由受信任實體設(shè)備202向第一計算設(shè)備102發(fā)出,并且在第二計算設(shè)備106處從第一計算設(shè)備102被接收。因此,第一證書用于經(jīng)由信任鏈證明第一計算設(shè)備102的真實性。
在操作520處,第二計算設(shè)備106向第一計算設(shè)備102發(fā)送第二證書。
在操作522處,第一計算設(shè)備102從第二計算設(shè)備106接收第二證書。
在操作524處,第一計算設(shè)備102使用被發(fā)出的第二證書驗證第二計算設(shè)備106是受信任計算設(shè)備。
在對應(yīng)的操作526(a)和526(b)處,第一計算設(shè)備102和第二計算設(shè)備106基于經(jīng)由被交換的證書建立的信任建立連接。
在各種示例中,證書可以取代例如如上面就圖3或者圖4討論的公鑰密碼術(shù)被用于建立信任。在其它示例中,可以除了就圖5描述的證書之外使用圖3或者圖4的公鑰密碼術(shù)。例如,可以利用第一計算設(shè)備102之前已從受信任實體設(shè)備202接收的第二計算設(shè)備106的公鑰(例如,“p_2”)對從第一計算設(shè)備102發(fā)送到第二計算設(shè)備106的對于建立信任的請求(例如,操作514)進行加密。此外,可以使用第一計算設(shè)備102的私鑰(例如,“e_1”)對該請求進行簽名。
圖5中所圖示的操作的次序可以與所示的次序不同。例如,第二計算設(shè)備106可以在第一計算設(shè)備102接收第一證書(例如,操作508)之前接收第二證書(例如,操作512)。
圖6圖示了被受信任實體設(shè)備202相互信任的兩個計算設(shè)備(例如,計算設(shè)備102和計算設(shè)備106)能夠使用由受信任實體設(shè)備102提前提供的證書建立信任和連接到彼此的另一個示例過程600。示例過程600是與圖5的示例過程500不同的,這在于,受信任實體設(shè)備202提前向設(shè)備提供證書的集合,以使得設(shè)備自身不必提供由受信任實體設(shè)備202發(fā)出的其證書。換句話說,設(shè)備可能能夠持久地存儲分別向其它設(shè)備的集合發(fā)出、或者是與其它設(shè)備的集合相關(guān)聯(lián)的證書的集合,例如作為信任信息112。
在一些示例中,對證書的集合的提前提供可以是基于例如如存儲在設(shè)備組數(shù)據(jù)庫218中和如在上面就圖4討論的已定義的設(shè)備組的。
在圖6中,操作502(a)、502(b)和504是與上面就圖5討論的那些操作相同或者相似的。
然而,在操作602處,在計算設(shè)備102和計算設(shè)備106已加入域之后,受信任實體設(shè)備202標識要向第一計算設(shè)備102和第二計算設(shè)備106中的每個計算設(shè)備提供的證書的集合。在一些示例中,所標識的證書的集合可以對于第一計算設(shè)備102和第二計算設(shè)備106是相同的,而在其它示例中,所標識的證書的集合可以對于第一計算設(shè)備102和第二計算設(shè)備106是不同的。
在操作604處,受信任實體設(shè)備202向相應(yīng)設(shè)備(例如是第一計算設(shè)備102和第二計算設(shè)備106)發(fā)送證書的集合。如已討論的,在一個特定的示例中,由受信任實體設(shè)備202提供的證書包括針對與單個用戶相關(guān)聯(lián)(例如,被單個用戶擁有、被注冊到單個用戶、被單個用戶控制等)的設(shè)備的集合的證書。
在操作606(a)處,第一計算設(shè)備102接收由受信任實體設(shè)備202提供的證書的集合。在對應(yīng)的操作606(b)中,第二計算設(shè)備106接收由受信任實體設(shè)備202提供的證書的集合。
既然第一計算設(shè)備102具有由受信任實體設(shè)備202向和/或代表第二計算設(shè)備106發(fā)出的證書,并且既然第二計算設(shè)備106具有由受信任實體設(shè)備202向和/或代表第一計算設(shè)備102發(fā)出的證書,則可以以與在上面就圖5討論的方式相同或者相似的方式實現(xiàn)操作526(a)和526(b)。例如,可以基于經(jīng)由從受信任實體設(shè)備202提前接收的證書建立的信任建立連接。因此,設(shè)備不需要向彼此發(fā)送它們的證書,而是,設(shè)備可以基于從受信任實體設(shè)備202提前接收的信息,安全并且自動地進行連接。圖6中所圖示的操作的次序可以與所示的次序不同。
在至少一個示例中,由受信任實體設(shè)備202發(fā)出的證書可以是用于證明公鑰的擁有權(quán)的公鑰證書(例如,也被稱為數(shù)字證書或者身份證書)。證書可以包括關(guān)于公鑰的信息、關(guān)于公鑰的擁有者的身份的信息和已驗證證書的內(nèi)容是正確的實體的數(shù)字簽名。如果簽名是有效的,并且對證書進行審查或者驗證的設(shè)備信任簽名者,則設(shè)備可以建立與公鑰的擁有者的信任,并且可以使用公鑰來與擁有者(例如,另一個設(shè)備)通信。
通過使用圖5和/或圖6中所描述的證書,可以在使用mac地址來進行連接之前(例如,在與對設(shè)備共享mac地址之前)在兩個設(shè)備之間建立信任。此外,受信任實體設(shè)備202可以在設(shè)備不再被包括在受信任設(shè)備列表108上時撤銷證書,并且因此,該設(shè)備將不再被其它設(shè)備信任??梢岳缭诠蛦T離開公司或者被公司解聘時從受信任設(shè)備列表移除設(shè)備。
如在上面討論的,可以初始使用隨機mac地址實現(xiàn)對設(shè)備的配對和發(fā)現(xiàn),并且在連接被建立之后,可以通過靜態(tài)通用mac地址實現(xiàn)數(shù)據(jù)通信。然而,攻擊和惡意實體可能仍然能夠首先攻擊并且損害一個設(shè)備以確定正被其所配對或者結(jié)伴的設(shè)備使用的靜態(tài)通用mac地址,并且因此攻擊和惡意實體可以在靜態(tài)通用mac地址經(jīng)由首先的攻擊被暴露之后啟動對所配對或者結(jié)伴的設(shè)備的第二攻擊。
圖7圖示了使用散列函數(shù)來確定或者計算要用于通信的mac地址的示例過程700??梢允褂蒙⒘泻瘮?shù)來連續(xù)地變更mac地址,因此允許兩個設(shè)備安全地進行連接和通信,而同時減少或者消除向攻擊或者惡意實體的暴露(例如,降低惡意攻擊的可能性)。換句話說,設(shè)備可以使用散列函數(shù)來動態(tài)地計算隨機mac地址。在各種示例中,可以根據(jù)如在上面就圖3-6中的任一項描述的在兩個設(shè)備之間建立信任來實現(xiàn)過程700。
在各種示例中,散列函數(shù)是輸入數(shù)據(jù)并且輸出結(jié)果(例如,輸出數(shù)據(jù)、輸出值等)的單向操作。然而,給定結(jié)果和散列函數(shù),則不可能知道或者計算被輸入到散列函數(shù)中的數(shù)據(jù)。相應(yīng)地,可以將數(shù)據(jù)輸入到散列函數(shù)中以輸出第一結(jié)果??梢匀缓髮⒌谝唤Y(jié)果輸入到散列函數(shù)以輸出第二結(jié)果??梢匀缓髮⒌诙Y(jié)果輸入到散列函數(shù)以輸出第三結(jié)果,等等。該過程可以被重復(fù)數(shù)百次、數(shù)千次或者甚至數(shù)百萬次以創(chuàng)建散列鏈或者所計算的結(jié)果的鏈。如在本文中就圖7描述的,可以使用散列鏈來動態(tài)地管理和變更正被設(shè)備使用的mac地址。
在圖7中,操作502(a)、502(b)和504是與在上面就圖5討論的那些操作相同或者相似的。
在702處,受信任實體設(shè)備202生成并向第一計算設(shè)備102發(fā)出第一散列函數(shù)和第一種子(例如,“h_1”)。第一種子可以是初始被輸入到第一散列函數(shù)用以生成散列鏈的數(shù)據(jù)。
在704處,第一計算設(shè)備102接收第一散列函數(shù)和針對第一散列函數(shù)的第一種子。隨后,第一計算設(shè)備102和/或受信任實體設(shè)備202可以使用第一散列函數(shù)和第一種子生成第一散列鏈和/或在彼此之間共享第一散列鏈。
在706處,受信任實體設(shè)備202生成并向第二計算設(shè)備106發(fā)出第二散列函數(shù)和第二種子(例如,“h_2”)。
在708處,第二計算設(shè)備106接收第二散列函數(shù)和針對第二散列函數(shù)的第二種子。隨后,第二計算設(shè)備106和/或受信任實體設(shè)備202可以使用第二散列函數(shù)和第二種子生成第二散列鏈和/或與彼此共享第二散列鏈。
在710處,第一計算設(shè)備102向受信任實體設(shè)備202發(fā)送對于連接到第二計算設(shè)備106的請求。
在712處,受信任實體設(shè)備202接收對于進行連接的請求。
在714(a)和/或714(b)處,受信任實體設(shè)備202和/或第二計算設(shè)備106確定可以用于共享正被第二計算設(shè)備106使用的當前的mac地址的第二散列鏈的版本號。版本號可以指散列鏈中的結(jié)果(例如,諸如是第一計算出的結(jié)果、第二計算出的結(jié)果、第三計算出的結(jié)果等的散列鏈內(nèi)的位置)。版本號或者結(jié)果可以表示正被第二計算設(shè)備106使用的mac地址或者與正被第二計算設(shè)備106使用的mac地址相關(guān)聯(lián)。
在716處,受信任實體設(shè)備202向第一計算設(shè)備102返回第二散列函數(shù)、第二種子和所確定的第二散列鏈的版本號。
在718處,第一計算設(shè)備102接收第二散列函數(shù)、第二種子和所確定的第二散列鏈的版本號。
在720處,第一計算設(shè)備102使用第二散列函數(shù)、第二種子和所確定的第二散列鏈的版本號,確定mac地址。例如,如果版本號指示第二計算設(shè)備106當前正在使用與第二散列鏈的第三版本(例如,第三計算出的結(jié)果)相關(guān)聯(lián)的mac地址,則第一計算設(shè)備102被配置為:將第二種子數(shù)據(jù)輸入到第二散列函數(shù)中以計算第一結(jié)果(例如,第一版本),將計算出的第一結(jié)果輸入到第二散列函數(shù)中以計算第二結(jié)果(例如,第二版本),并且將計算出的第二結(jié)果輸入到第二散列函數(shù)中以計算第三結(jié)果。計算出的第三結(jié)果與第三版本相對應(yīng),并且可以被用于確定正被第二計算設(shè)備106用于進行通信的mac地址。
在對應(yīng)的操作722(a)和722(b)處,第一計算設(shè)備102和第二計算設(shè)備106使用所確定的第二計算設(shè)備106的mac地址建立連接。額外地,可以執(zhí)行類似的操作以確定可以被提供給第二計算設(shè)備106并且被第二計算設(shè)備106用于確定被第一計算設(shè)備102使用的當前的mac地址的第一散列鏈的版本號。
因此,根據(jù)圖7,想要連接到另一個設(shè)備的設(shè)備可以從受信任實體設(shè)備202請求可用于計算正被另一個設(shè)備使用的動態(tài)地變更的和隨機化的mac地址的散列函數(shù)、散列種子和版本號。
在各種示例中,可以根據(jù)圖3-6中的任一項實現(xiàn)圖7的示例過程700。例如,設(shè)備可以使用公鑰密碼術(shù)和/或證書來驗證另一個設(shè)備和/或保護被發(fā)送給另一個設(shè)備的連接請求。相應(yīng)地,圖5的示例場景允許在域內(nèi)被信任的兩個設(shè)備通過隨機mac地址維持連接。此外,設(shè)備可以在任何時間從散列鏈的一個版本移動到散列鏈的另一個版本,因此防止或者停止可能已泄露當前的隨機mac地址的損害??梢栽谠O(shè)備不必再次完成發(fā)現(xiàn)和/或配對的情況下實現(xiàn)所述移動。此外,如果對設(shè)備的信任被受信任實體設(shè)備202撤銷,則散列種子可以被變更,并且該設(shè)備可能不再具有用于連接到其它受信任設(shè)備的必要信息。
圖8圖示了使用散列函數(shù)來動態(tài)地變更被設(shè)備使用的mac地址的示例過程800。例如,可以使用散列函數(shù)生成散列鏈,并且可以使用散列鏈內(nèi)的不同版本(例如,計算出的結(jié)果)來實現(xiàn)基于從散列鏈的一個版本向下一個版本的移動而動態(tài)地變更的“輪詢”mac地址,因此使受信任設(shè)備能夠與彼此通信,而同時保護設(shè)備免受不能訪問散列函數(shù)或者散列鏈的攻擊和惡意實體的傷害。
在802處,設(shè)備(例如,第一計算設(shè)備102)使用第一mac地址來連接到另一個設(shè)備(例如,第二計算設(shè)備106)。
在804處,設(shè)備確定是時候變更到與第一mac地址不同的新mac地址(例如,移動到散列鏈中的下一個版本)了。在一個示例中,可以由散列函數(shù)自動地確定用于確定要變更的時間的定時協(xié)議(例如,定期的定時、對于攻擊和惡意實體來說不可預(yù)測的可變定時等)。在另一個示例中,設(shè)備可以基于特定的事件或者觸發(fā)(例如,對當前被使用的mac地址已被損害的指示)確定是時候進行變更了。設(shè)備可以然后向受信任實體設(shè)備202報告其要變更mac地址的意圖,以使得受信任實體設(shè)備202可以向其它受信任設(shè)備傳播指令(例如,用于從一個版本號移動到下一個版本號)?;蛘?,設(shè)備可以直接向所配對的設(shè)備報告其要變更mac地址的意圖。
在806處,設(shè)備使用新的mac地址來連接到(一個或者多個)其它設(shè)備。
相應(yīng)地,通過實現(xiàn)圖7和圖8的示例過程,甚至被損害的設(shè)備也可以通過基于散列鏈動態(tài)地變更mac地址來限制攻擊的限度。因此,不知道用于計算新的或者經(jīng)更新的mac地址的散列函數(shù)和散列種子的設(shè)備不能連接到設(shè)備。
示例條款
示例a:一種設(shè)備,包括:處理系統(tǒng),其包括:一個或多個處理器;以及耦合到一個或多個處理器的存儲器,處理系統(tǒng)被配置為:向受信任實體設(shè)備發(fā)送與所述設(shè)備相關(guān)聯(lián)的第一公鑰,受信任實體設(shè)備維護在域內(nèi)被信任的設(shè)備列表,設(shè)備列表包括所述設(shè)備;從受信任實體設(shè)備接收第二公鑰,第二公鑰是與包括在設(shè)備列表中的另一個設(shè)備相關(guān)聯(lián)的;向所述另一個設(shè)備發(fā)送對經(jīng)由介質(zhì)訪問控制(mac)地址進行連接的請求,利用第二公鑰對對于進行連接的請求進行加密,并且利用與所述設(shè)備相關(guān)聯(lián)的私鑰對對于進行連接的請求進行簽名;以及,響應(yīng)于所述另一個設(shè)備使用第一公鑰來對對于經(jīng)由mac地址進行連接的請求進行驗證,建立與所述另一個設(shè)備的連接,第一公鑰已被受信任實體設(shè)備提供給所述另一個設(shè)備。
示例b,示例a的設(shè)備,其中,從受信任實體設(shè)備接收第二公鑰和使用第二公鑰對對于進行連接的請求進行加密使得所述設(shè)備和所述另一個設(shè)備能夠安全地經(jīng)由mac地址進行連接,而設(shè)備不必廣播mac地址。
示例c,示例a或者示例b的設(shè)備,其中,處理系統(tǒng)被進一步配置為,向受信任實體設(shè)備并且在接收第二公鑰之前發(fā)送對于連接到所述另一個設(shè)備的具體的請求。
示例d,示例a或者示例b的設(shè)備,其中,第二公鑰被接收作為分別與受信任的設(shè)備列表上的設(shè)備集合相關(guān)聯(lián)的公鑰的集合的部分,所述設(shè)備和所述設(shè)備集合被包括在針對自動配對已被批準的已定義的設(shè)備組中。
示例e,示例d的設(shè)備,其中,所述設(shè)備和所述設(shè)備集合是與相同的用戶帳戶相關(guān)聯(lián)的。
示例f,示例d或者示例e的設(shè)備,其中,響應(yīng)于所述設(shè)備加入域,并且獨立于所述設(shè)備向受信任實體設(shè)備發(fā)送對于連接到所述另一個設(shè)備的具體的請求,在所述設(shè)備處并且從受信任實體設(shè)備接收公鑰的集合。
示例g,示例a到示例f中的任一項的設(shè)備,其中,處理系統(tǒng)被進一步配置為,生成包括第一公鑰和私鑰的密鑰對。
示例h,示例a到示例g中的任一項的設(shè)備,其中,域包括企業(yè)域,并且所述設(shè)備列表包括已被注冊到由企業(yè)域提供服務(wù)的公司的雇員的設(shè)備。
盡管在上面就設(shè)備描述了示例a到示例h,但應(yīng)當理解,在本文檔的上下文中,也可以經(jīng)由系統(tǒng)、計算機存儲介質(zhì)和/或方法來實現(xiàn)示例a到示例h的內(nèi)容。
示例i,一種設(shè)備,包括:處理系統(tǒng),其包括:一個或多個處理器;以及耦合到一個或多個處理器的存儲器,處理系統(tǒng)被配置為:從受信任實體設(shè)備接收證書,受信任實體設(shè)備維護在域內(nèi)被信任的設(shè)備列表,并且設(shè)備列表包括所述設(shè)備;以及,至少部分上基于證書建立經(jīng)由介質(zhì)訪問控制(mac)地址的與另一個設(shè)備的連接。
示例j,示例i的設(shè)備,其中,從受信任實體設(shè)備接收證書使所述設(shè)備和所述另一個設(shè)備能夠安全地經(jīng)由mac地址進行連接,而所述設(shè)備不必廣播mac地址。
示例k,示例j或者示例i的設(shè)備,其中,證書指示所述設(shè)備被受信任實體設(shè)備信任,并且處理系統(tǒng)被進一步配置為,導(dǎo)致所述設(shè)備在建立連接之前向所述另一個設(shè)備發(fā)送證書,以使所述另一個設(shè)備能夠驗證所述設(shè)備被受信任實體設(shè)備信任。
示例l,示例k的設(shè)備,其中,響應(yīng)于所述設(shè)備加入域,并且獨立于所述設(shè)備向受信任實體設(shè)備發(fā)送對于連接到所述另一個設(shè)備的具體的請求,在所述設(shè)備處并且從受信任實體設(shè)備接收證書。
示例m,示例j或者示例i的設(shè)備,其中,證書指示所述另一個設(shè)備被受信任實體設(shè)備信任,并且,證書被接收作為分別與受信任設(shè)備列表上的設(shè)備集合相關(guān)聯(lián)的證書的集合的部分,所述設(shè)備和所述設(shè)備集合被包括在已被批準用于自動配對的已定義的設(shè)備組中。
示例n,示例m的設(shè)備,其中,響應(yīng)于所述設(shè)備加入域,并且獨立于所述設(shè)備向受信任實體設(shè)備發(fā)送對于連接到所述另一個設(shè)備的具體的請求,在所述設(shè)備處并且從受信任實體設(shè)備接收證書。
示例o,示例m的設(shè)備,其中,所述設(shè)備和所述設(shè)備集合是與相同的用戶帳戶相關(guān)聯(lián)的。
示例p,示例i到示例o中的任一項的設(shè)備,其中,域包括企業(yè)域,并且所述設(shè)備列表包括已被注冊到由企業(yè)域提供服務(wù)的公司的雇員的設(shè)備。
盡管在上面就設(shè)備描述了示例i到示例p,但應(yīng)當理解,在本文檔的上下文中,也可以經(jīng)由系統(tǒng)、計算機存儲介質(zhì)和/或方法來實現(xiàn)示例i到示例p的內(nèi)容。
示例q,一種設(shè)備,包括:處理系統(tǒng),其包括:一個或多個處理器;以及耦合到一個或多個處理器的存儲器,處理系統(tǒng)被配置為:向第一設(shè)備發(fā)出散列函數(shù)和散列種子,散列種子和散列函數(shù)是可用于生成包括多個版本的散列鏈的;從第二設(shè)備接收對于連接到第一設(shè)備的請求;確定正在被第一設(shè)備用于確定介質(zhì)訪問控制(mac)地址的散列鏈的多個版本中的當前版本;以及,向第二設(shè)備發(fā)送散列函數(shù)、散列種子和當前版本,因此使得第二設(shè)備能夠確定mac地址,并且經(jīng)由mac地址連接到第一設(shè)備。
示例r,示例q的設(shè)備,其中,處理系統(tǒng)被進一步配置為:從第一設(shè)備接收對第一設(shè)備正在從使用所述mac地址變更為使用與散列鏈的多個版本中的新版本相關(guān)聯(lián)的新mac地址的指示;以及,將指示提供給第二設(shè)備。
示例s,示例r的方法,其中,至少部分上基于與散列函數(shù)相關(guān)聯(lián)并且可用于確定要變更mac地址的時間的定時協(xié)議接收指示。
示例t,示例r的設(shè)備,其中,至少部分上基于對mac地址已被損害的確定接收指示。
盡管在上面就設(shè)備描述了示例q到示例t,但應(yīng)當理解,在本文檔的上下文中,也可以經(jīng)由系統(tǒng)、計算機存儲介質(zhì)、安全設(shè)備和/或方法來實現(xiàn)示例q到示例t的內(nèi)容。
示例u,一種系統(tǒng),包括:用于向受信任實體設(shè)備發(fā)送與設(shè)備相關(guān)聯(lián)的第一公鑰的單元,受信任實體設(shè)備維護在域內(nèi)被信任的設(shè)備列表,設(shè)備列表包括所述設(shè)備;用于從受信任實體設(shè)備接收第二公鑰的單元,第二公鑰是與包括在設(shè)備列表中的另一個設(shè)備相關(guān)聯(lián)的;用于向所述另一個設(shè)備發(fā)送對經(jīng)由介質(zhì)訪問控制(mac)地址進行連接的請求的單元,利用第二公鑰對對于進行連接的請求進行加密,并且利用與所述設(shè)備相關(guān)聯(lián)的私鑰對對于進行連接的請求進行簽名;以及,用于響應(yīng)于所述另一個設(shè)備使用第一公鑰來對對于經(jīng)由mac地址進行連接的請求進行驗證建立與所述另一個設(shè)備的連接的單元,第一公鑰已被受信任實體設(shè)備提供給所述另一個設(shè)備。
示例v,示例u的系統(tǒng),其中,從受信任實體設(shè)備接收第二公鑰和使用第二公鑰對對于進行連接的請求進行加密使得所述設(shè)備和所述另一個設(shè)備能夠安全地經(jīng)由mac地址進行連接,而設(shè)備不必廣播mac地址。
示例w,示例u或者示例v的系統(tǒng),其中,進一步包括:用于向受信任實體設(shè)備并且在接收第二公鑰之前發(fā)送對于連接到所述另一個設(shè)備的具體的請求的單元。
示例x,示例u或者示例v的系統(tǒng),其中,第二公鑰被接收作為分別與受信任的設(shè)備列表上的設(shè)備集合相關(guān)聯(lián)的公鑰的集合的部分,所述設(shè)備和所述設(shè)備集合被包括在已被批準用于自動配對的已定義的設(shè)備組中。
示例y,示例x的系統(tǒng),其中,所述設(shè)備和所述設(shè)備集合是與相同的用戶帳戶相關(guān)聯(lián)的。
示例z,示例x或者示例y的系統(tǒng),其中,響應(yīng)于所述設(shè)備加入域,并且獨立于所述設(shè)備向受信任實體設(shè)備發(fā)送對于連接到所述另一個設(shè)備的具體的請求,在所述設(shè)備處并且從受信任實體設(shè)備接收公鑰的集合。
示例aa,示例u直到示例a中的任一項的系統(tǒng),其中,進一步包括:用于生成包括第一公鑰和私鑰的密鑰對的單元。
示例bb,示例u到示例aa中的任一項的系統(tǒng),其中,域包括企業(yè)域,并且所述設(shè)備列表包括已被注冊到由企業(yè)域提供服務(wù)的公司的雇員的設(shè)備。
示例cc,一種系統(tǒng),包括:用于從受信任實體設(shè)備接收證書的單元,受信任實體設(shè)備維護在域內(nèi)被信任的設(shè)備列表,并且設(shè)備列表包括所述設(shè)備;以及,用于至少部分上基于證書建立經(jīng)由介質(zhì)訪問控制(mac)地址的與另一個設(shè)備的連接的單元。
示例dd,示例cc的系統(tǒng),其中,從受信任實體設(shè)備接收證書使所述設(shè)備和所述另一個設(shè)備能夠安全地經(jīng)由mac地址進行連接,而所述設(shè)備不必廣播mac地址。
示例ee,示例cc或者示例dd的系統(tǒng),其中,證書指示所述設(shè)備被受信任實體設(shè)備信任,所述系統(tǒng)進一步包括:用于在建立連接之前向所述另一個設(shè)備發(fā)送證書以使所述另一個設(shè)備能夠驗證所述設(shè)備被受信任實體設(shè)備信任的單元。
示例ff,示例ee的系統(tǒng),其中,響應(yīng)于所述設(shè)備加入域,并且獨立于所述設(shè)備向受信任實體設(shè)備發(fā)送對于連接到所述另一個設(shè)備的具體的請求,在所述設(shè)備處并且從受信任實體設(shè)備接收證書。
示例gg,示例cc或者示例dd的系統(tǒng),其中,證書指示所述另一個設(shè)備被受信任實體設(shè)備信任,并且,證書被接收作為分別與受信任設(shè)備列表上的設(shè)備集合相關(guān)聯(lián)的證書的集合的部分,所述設(shè)備和所述設(shè)備集合被包括在已被批準用于自動配對的已定義的設(shè)備組中。
示例hh,示例gg的系統(tǒng),其中,響應(yīng)于所述設(shè)備加入域,并且獨立于所述設(shè)備向受信任實體設(shè)備發(fā)送對于連接到所述另一個設(shè)備的具體的請求,在所述設(shè)備處并且從受信任實體設(shè)備接收證書。
示例ii,示例gg的系統(tǒng),其中,所述設(shè)備和所述設(shè)備集合是與相同的用戶帳戶相關(guān)聯(lián)的。
示例jj,示例cc到示例ii中的任一項的系統(tǒng),其中,域包括企業(yè)域,并且所述設(shè)備列表包括已被注冊到由企業(yè)域提供服務(wù)的公司的雇員的設(shè)備。
示例kk,一種系統(tǒng),包括:用于向第一設(shè)備發(fā)出散列函數(shù)和散列種子的單元,散列種子和散列函數(shù)是可用于生成包括多個版本的散列鏈的;用于從第二設(shè)備接收對于連接到第一設(shè)備的請求的單元;用于確定正在被第一設(shè)備用于確定介質(zhì)訪問控制(mac)地址的散列鏈的多個版本中的當前版本的單元;以及,用于向第二設(shè)備發(fā)送散列函數(shù)、散列種子和當前版本因此使第二設(shè)備能夠確定mac地址并且經(jīng)由mac地址連接到第一設(shè)備的單元。
示例ll,示例kk的系統(tǒng),進一步包括:用于從第一設(shè)備接收對第一設(shè)備正在從使用所述mac地址變更為使用與散列鏈的多個版本中的新版本相關(guān)聯(lián)的新mac地址的指示的單元;以及,用于將指示提供給第二設(shè)備的單元。
示例mm,示例ll的系統(tǒng),其中,至少部分上基于與散列函數(shù)相關(guān)聯(lián)并且可用于確定要變更mac地址的時間的定時協(xié)議接收指示。
示例nn,示例ll的系統(tǒng),其中,至少部分上基于對mac地址已被損害的確定接收指示。
結(jié)論
盡管本公開內(nèi)容可以使用專用于結(jié)構(gòu)化特征和/或方法學操作的語言,但本公開內(nèi)容不限于本文中描述的具體的特征或者操作。相反,作為實現(xiàn)本公開內(nèi)容的說明性的形式公開了具體的特征和操作。