用于從第一設(shè)備注冊表向第二設(shè)備注冊表指派代理設(shè)備的方法
【專利說明】用于從第一設(shè)備注冊表向第二設(shè)備注冊表指派代理設(shè)備的方法
[0001]本發(fā)明涉及數(shù)據(jù)處理的領(lǐng)域。更具體來說,本發(fā)明涉及一種從第一設(shè)備注冊表向第二設(shè)備注冊表指派代理設(shè)備的方法。
[0002]家庭、其他建筑物或戶外環(huán)境中的具有處理和通信能力從而允許其與其他處理設(shè)備進(jìn)行交互的設(shè)備的數(shù)目不斷增多。日常對象和相對較小規(guī)模的處理設(shè)備可以作為“物聯(lián)網(wǎng)”的一部分彼此連接并且連接到中心平臺。舉例來說,家庭中的噴灑器系統(tǒng)可以從各種濕度傳感器收集信息,并且基于濕度信息控制噴灑器的激活。此外,健康護(hù)理提供商可以使用無線傳感器(例如心率監(jiān)測器或者用于監(jiān)測患者正在服用其處方藥物的傳感器)來跟蹤處于家中的患者的健康。
[0003]因此,在多種應(yīng)用中,可能存在與一個或多個代理設(shè)備進(jìn)行交互的中心應(yīng)用提供裝置,所述代理設(shè)備向應(yīng)用提供裝置提供數(shù)據(jù)并且/或者由應(yīng)用提供裝置控制。代理設(shè)備在復(fù)雜度、處理資源、硬件和目的方面可以顯著不同。可能很重要的是在代理設(shè)備與應(yīng)用提供裝置之間提供信任,從而使得應(yīng)用提供商可以信任接收自代理設(shè)備的數(shù)據(jù)的有效性,并且代理設(shè)備可以信任接收自應(yīng)用提供裝置的任何命令。但是由于物聯(lián)網(wǎng)中的許多代理設(shè)備可能只具有很低的處理能力,因此在代理設(shè)備中提供用于與應(yīng)用提供裝置建立受信任關(guān)系的資源可能比較困難并且可能會顯著增加代理設(shè)備的成本。這樣的代理設(shè)備的迅速廣泛部署意味著還希望使得安裝盡可能地快速和高效。
[0004]從一個方面來看,本發(fā)明提供一種用于把注冊在第一設(shè)備注冊表中的代理設(shè)備指派到第二設(shè)備注冊表的方法,第一設(shè)備注冊表由第一注冊表裝置保持以用于認(rèn)證用于與一個或多個第一應(yīng)用提供裝置進(jìn)行通信的代理設(shè)備,第二設(shè)備注冊表由第二注冊表裝置保持以用于認(rèn)證用于與一個或多個第二應(yīng)用提供裝置進(jìn)行通信的代理設(shè)備,其中第一設(shè)備注冊表包括用于認(rèn)證代理設(shè)備的身份的第一認(rèn)證信息;所述方法包括:
[0005](a)第一注冊表裝置從請求者設(shè)備接收請求把代理設(shè)備指派到第二設(shè)備注冊表的設(shè)備指派請求;
[0006](b)響應(yīng)于設(shè)備指派請求,第一注冊表裝置檢查代理設(shè)備是否被允許響應(yīng)于來自請求者設(shè)備的設(shè)備指派請求而被指派到第二設(shè)備注冊表;
[0007](c)如果代理設(shè)備被允許指派到第二設(shè)備注冊表,則代理設(shè)備向第二注冊表裝置傳送用于認(rèn)證代理設(shè)備的身份的第二認(rèn)證信息;以及
[0008](d)第二注冊表裝置把用于代理設(shè)備的第二認(rèn)證信息注冊在第二設(shè)備注冊表中。
[0009]可以提供用以管理代理設(shè)備與應(yīng)用提供裝置之間的受信任關(guān)系的注冊表裝置。舉例來說,注冊表裝置可以存儲用于代理設(shè)備的認(rèn)證信息,并且可以使用認(rèn)證信息來管理代理設(shè)備的認(rèn)證。注冊表還可以實施例如提供應(yīng)用密鑰以用于在代理設(shè)備與應(yīng)用提供裝置之間建立受信任通信之類的任務(wù)。通過這種方式使用注冊表裝置可以提供幾個優(yōu)點(diǎn),比如允許由不同制造商或提供商所提供的代理設(shè)備和應(yīng)用提供裝置彼此信任,從而使其不受限于與來自相同制造商的裝置進(jìn)行通信。此外,通過使用注冊表來協(xié)調(diào)認(rèn)證和建立受信任通信可以簡化代理設(shè)備的資源,這是因為代理設(shè)備不需要負(fù)責(zé)與應(yīng)用提供裝置建立信任。
[0010]本發(fā)明的技術(shù)認(rèn)識到,提供由不同注冊表裝置保持的多于一個設(shè)備注冊表可能是有用的。舉例來說,可以由例如政府之類的組織運(yùn)作私有注冊表,從而使其可以與注冊在公共注冊表中的其他代理設(shè)備分開來安全地管理與其代理設(shè)備的通信。不同的應(yīng)用提供裝置可以類似地與不同注冊表相關(guān)聯(lián)。為了擴(kuò)展、改變或限制特定傳感器可以與之通信的應(yīng)用提供商的范圍,可能有用的是允許把對于一個設(shè)備注冊表注冊的設(shè)備指派到第二設(shè)備注冊表。但是為了保持對于代理設(shè)備的信任,可能很重要的是以安全的方式這樣做。通過要求向當(dāng)前持有代理設(shè)備的注冊的第一注冊表裝置傳送設(shè)備指派請求可以實現(xiàn)安全的指派規(guī)程,所述設(shè)備指派請求觸發(fā)第一注冊表裝置檢查代理設(shè)備是否被允許響應(yīng)于設(shè)備指派請求而被指派到第二設(shè)備注冊表。
[0011]第一注冊表裝置可以保持用于認(rèn)證代理設(shè)備的身份的第一認(rèn)證信息。當(dāng)設(shè)備被指派到第二設(shè)備注冊表時,設(shè)備隨后向第二注冊表裝置發(fā)送第二認(rèn)證信息以用于在設(shè)備注冊表中注冊。在一些實例中,第二認(rèn)證信息可以與第一認(rèn)證信息相同,從而使得第二注冊表接收與最初注冊在第一注冊表中的完全相同的信息。舉例來說,代理設(shè)備可能不具有生成新的認(rèn)證信息的任何能力,因此其可以簡單地向第二注冊表發(fā)送其原始認(rèn)證信息。在這種情況下,在指派之后,代理設(shè)備例如可以被同時注冊在第一注冊表和第二注冊表中,并且可以由任一個注冊表使用相同的認(rèn)證信息來認(rèn)證。這對于擴(kuò)展代理設(shè)備可以與之進(jìn)入受信任通信的應(yīng)用提供裝置的范圍可能是有用的。
[0012]在其他實例中,第二認(rèn)證信息可以不同于第一認(rèn)證信息。舉例來說,代理設(shè)備可以具有用于生成第二認(rèn)證信息的認(rèn)證信息生成電路,從而在指派到第二注冊表時生成新的認(rèn)證信息。舉例來說,第二認(rèn)證信息可以是用于加密來自代理設(shè)備的消息以便驗證其身份的新的密鑰。這樣就允許為代理設(shè)備提供新的受信任密碼身份,從而使其一旦被轉(zhuǎn)移到第二注冊表就無法再由第一注冊表授權(quán)。
[0013]在確定代理設(shè)備被允許指派到第二設(shè)備注冊表之后,第一注冊表裝置可以從第一設(shè)備注冊表中刪除用于代理設(shè)備的第一認(rèn)證信息,以便確保代理設(shè)備無法再由第一注冊表認(rèn)證。或者,代理設(shè)備可能已經(jīng)重新生成其認(rèn)證信息,并且可能不再持有對應(yīng)于第一認(rèn)證信息的任何認(rèn)證信息。在這種情況下,第一注冊表裝置刪除第一認(rèn)證信息可能不是至關(guān)重要的,這是因為在任何情況下都無法再利用第一認(rèn)證來認(rèn)證代理設(shè)備。
[0014]在一個實例中,第一認(rèn)證信息可以包括與代理設(shè)備所持有的相應(yīng)密鑰相同的對稱密鑰,并且第二認(rèn)證信息可以類似地包括對應(yīng)于代理設(shè)備中的相應(yīng)密鑰的對稱密鑰(其中第二認(rèn)證信息與第一認(rèn)證信息相同或不同,正如前面所討論的那樣)。但是通過其中代理設(shè)備持有私鑰并且第一或第二認(rèn)證信息包括對應(yīng)于代理設(shè)備所持有的私鑰的公鑰的實施例可以實現(xiàn)附加的安全性。在這些實施例中,密鑰的不對稱性質(zhì)意味著只有代理設(shè)備可以訪問私鑰,并且注冊表所持有的公鑰即使在被泄漏給其他設(shè)備的情況下也不會暴露代理設(shè)備所持有的私鑰。
[0015]舉例來說,代理設(shè)備可以最初持有第一私鑰,并且相應(yīng)的第一公鑰可以對于第一注冊表注冊。當(dāng)被指派到第二注冊表時,代理設(shè)備可以生成包括第二私鑰和第二公鑰的新的密鑰對,保留第二私鑰,并且將第二公鑰傳送到第二注冊表裝置以用于在第二注冊表中注冊。如果代理設(shè)備在向第二注冊表裝置傳送第二認(rèn)證信息之后刪除了第一私鑰,則在所述指派之后,第一注冊表裝置所持有的第一公鑰變?yōu)闊o用,這是因為不再有將利用第一公鑰來驗證的相應(yīng)的第一私鑰。在這種情況下,從安全性的角度來看,第一注冊表裝置從第一設(shè)備注冊表中刪除第一公鑰并不是至關(guān)重要的,盡管為了節(jié)省存儲容量,第一注冊表裝置仍然可以刪除用于代理設(shè)備的注冊表條目。
[0016]當(dāng)向第二注冊表裝置傳送第二公鑰時,代理設(shè)備可以傳送包括所述公鑰的數(shù)字證書,并且隨后第二注冊表裝置可以對數(shù)字證書進(jìn)行簽名。因此,第二注冊表裝置可以有效地充當(dāng)針對包括公鑰的數(shù)字證書的發(fā)證機(jī)構(gòu)(certifying authority),從而驗證公鑰確實是來自代理設(shè)備。舉例來說,X.509證書可以被用作數(shù)字證書。
[0017]如果第一注冊表裝置確定代理設(shè)備被允許指派到第二設(shè)備注冊表,則可以通過多種方式觸發(fā)代理設(shè)備向第二注冊表裝置發(fā)送第二認(rèn)證信息。第一注冊表裝置可以向設(shè)備本身通知其正被指派到不同的注冊表,并且設(shè)備可以隨后通過向第二注冊表裝置發(fā)送第二認(rèn)證信息來作出響應(yīng)。此外,第一注冊表裝置可以向另一設(shè)備(比如第二設(shè)備注冊表或者發(fā)出了設(shè)備指派請求的請求者設(shè)備)通知所述指派已被許可,并且該設(shè)備隨后可以觸發(fā)代理設(shè)備傳送第二認(rèn)證信息。
[0018]代理設(shè)備或第一注冊表裝置生成或刪除認(rèn)證信息可以作為原子操作來實施。這意味著密鑰的生成或刪除的進(jìn)行方式必須使得所述操作作為一個整體或者完全成功或者完全失敗,并且從而不可能部分地實施原子操作。這類似于數(shù)據(jù)庫中的原子事務(wù),其或者成功或者失敗并且無法部分地成功。通過作為原子操作來實施密鑰信息或其他認(rèn)證信息的重新生成,這會確保代理設(shè)備將總是具有對于第一注冊表或第二注冊表驗證其身份的適當(dāng)?shù)恼J(rèn)證信息,從而使得最終不可能導(dǎo)致沒有認(rèn)證信息或者導(dǎo)致無效的認(rèn)證信息,而沒有認(rèn)證信息或者認(rèn)證信息無效的情況則可能導(dǎo)致失去驗證代理設(shè)備的身份的能力。例如可以通過以下措施來強(qiáng)制實施原子操作:在密鑰信息的生成或刪除開始之前取得原始認(rèn)證信息的備份,并且隨后如果在原子操作完成之前發(fā)生任何問題則復(fù)原所述備份。
[0019]在某些情況下,發(fā)出設(shè)備指派請求的請求者設(shè)備可以是與第一注冊表和第二注冊表二者都分開的第三方設(shè)備。舉例來說,在具有其自身的私有注冊表作為第二設(shè)備注冊表的智能連接城市的情境中,城市內(nèi)的另一個設(shè)備(比如由城市管理運(yùn)作的平臺)可以發(fā)出指派請求,從而請求將該設(shè)備指派到第二注冊表。
[0020]在其他實例中,被請求設(shè)備可以包括第二注冊表裝置本身,從而使得第二注冊表裝置在第一注冊表裝置處發(fā)出設(shè)備指派請求,從而請求把該設(shè)備指派到由相同的裝置所持有的第二注冊表。
[0021]第一注冊表裝置可以檢查代理設(shè)備是否被允許通過不同的方式指派到第二設(shè)備注冊表。在一個實例中,第一注冊表裝置可以對請求者設(shè)備進(jìn)行認(rèn)證,以便檢查請求者設(shè)備受到信任并且被允許請求把代理設(shè)備指派到另一個注冊表。舉例來說,第一注冊表裝置可以與被請求設(shè)備交換消息,以便驗證請求者設(shè)備的身份?;蛘撸谝蛔员硌b置可能已經(jīng)認(rèn)證了特定被請求設(shè)備,并且可以簡單地檢查被請求設(shè)備是否已被認(rèn)證。因此沒有必要在接收到設(shè)備指派請求時實際實施認(rèn)證。
[0022]此外,并非所有的代理設(shè)備都可以支持被指派到不同的注冊表。舉例來說,出于安全性原因,一些代理設(shè)備可能被限制到對于單個注冊表注冊。此外,一些代理設(shè)備可能不支持密鑰生成,因此可能不被允許轉(zhuǎn)移到不同的注冊表,因此只有一個注冊表具有用以認(rèn)證代理設(shè)備的憑證。其他代理設(shè)備的安全性可能沒有那么關(guān)鍵,因此即使其不具有密鑰生成能力,仍然可以利用被提供到全部兩個注冊表的相同認(rèn)證信息把設(shè)備指派到不同的注冊表。因此,檢查代理設(shè)備是否被允許指派到第二設(shè)備注冊表還可以包括檢查代理設(shè)備實際支持指派到第二設(shè)備注冊表。舉例來說,第一注冊表可以包括用于每一個受信任設(shè)備的元數(shù)據(jù),其表明該設(shè)備是否被允許指派到不同的注冊表。
[0023]所述檢查還可以包括其他操作。舉例來說,如果對于相同的代理設(shè)備接收到對應(yīng)于不同目標(biāo)設(shè)備注冊表的多項請求,則可以有關(guān)于與每一個目標(biāo)注冊表相關(guān)聯(lián)的優(yōu)先權(quán)的某種檢查,以便確定應(yīng)當(dāng)把設(shè)備指派到哪一個注冊表。所述檢查還可以包括前面所描述的所有不同種類的檢查的混合。
[0024]代理設(shè)備可以存儲當(dāng)前持有其注冊的注冊表裝置的地址。所述地址可以是允許代理設(shè)備聯(lián)系注冊表裝置的任何信息,比如URL(統(tǒng)一資源定位符)或IP地址(互聯(lián)網(wǎng)協(xié)議地址)。在指派期間,第一注冊表裝置、第二注冊表裝置或請求者設(shè)備可以向代理設(shè)備傳送第二注冊表裝置的地址,并且代理設(shè)備隨后可以更新其所存儲的地址拷貝,從而使其可以隨后與第二注冊表裝置進(jìn)行通信。因此,所述指派處理可以包括更新用于聯(lián)系注冊表的聯(lián)系?目息O
[0025]在把代理設(shè)備指派到第二設(shè)備注冊表之后,后面可能希望把代理設(shè)備的注冊返回到第一設(shè)備注冊表。因此,第一注冊表裝置可以接收重置請求(其來自第二注冊表裝置或者另一個請求設(shè)備)。響應(yīng)于重置請求,第一注冊表裝置可以檢查代理設(shè)備是否被允許重新指派到第一設(shè)備注冊表,如果是的話,則代理設(shè)備可以被觸發(fā)向第一注冊表裝置傳送第三認(rèn)證信息以用于在第一設(shè)備注冊表中注冊。第三認(rèn)證信息可以與第一或第二認(rèn)證信息相同,或者可以是新生成的認(rèn)證信息。因此,如果第二設(shè)備注冊表不再希望注冊設(shè)備,則該設(shè)備可以被返回到其原始注冊表。
[0026]可以在沒有來自代理設(shè)備的用戶的任何干預(yù)的情況下實施代理設(shè)備從第一設(shè)備注冊表到第二設(shè)備注冊表的指派。不需要在代理設(shè)備處提供任何用戶接口以用于協(xié)調(diào)設(shè)備到第二注冊表的指派。相反,第一注冊表裝置、第二注冊表裝置和/或請求者設(shè)備可以在不涉及用戶的情況下控制來自代理設(shè)備的第二認(rèn)證信息的傳送。用戶甚至不需要知曉他/她的設(shè)備正被轉(zhuǎn)移到不同的注冊表。
[0027]從另一方面來看,本發(fā)明提供一種用于認(rèn)證用于與一個或多個應(yīng)用提供裝置進(jìn)行通信的代理設(shè)備的第一注冊表裝置,包括:
[0028]被配置成存儲代理設(shè)備的第一設(shè)備注冊表的存儲電路,第一設(shè)備注冊表包括用于認(rèn)證代理設(shè)備的身份的認(rèn)證信息;
[0029]被配置成從請求者設(shè)備接收設(shè)備指派請求的通信電路,所述設(shè)備指派請求請求把注冊在第一設(shè)備注冊表中的指定代理設(shè)備指派到由第二注冊表裝置保持的代理設(shè)備的第二設(shè)備注冊表;
[0030]被配置成檢查指定代理設(shè)備是否被允許響應(yīng)于設(shè)備指派請求而被指派到第二設(shè)備注冊表的處理電路,并且如果指定代理設(shè)備被允許指派到第二設(shè)備注冊表,則所述處理電路被配置成控制通信電路向指定代理設(shè)備、請求者設(shè)備和第二注冊表裝置的至少其中之一指示所述指定代理設(shè)備可以被指派到第二設(shè)備注冊表。
[0031]因此,當(dāng)前持有用于特定代理設(shè)備的注冊的第一注冊表裝置可以接收設(shè)備指派請求并且檢查設(shè)備是否被允許指派到第二設(shè)備注冊表,并且隨后觸發(fā)代理設(shè)備、請求者設(shè)備和第二注冊表裝置的其中之一實施指派。
[0032]從另一方面來看,本發(fā)明提供一種用于認(rèn)證用于與一個或多個應(yīng)用提供裝置進(jìn)行通信的代理設(shè)備的第一注冊表裝置,包括:
[0033]用于存儲代理設(shè)備的第一設(shè)備注冊表的存儲部件,第一設(shè)備注冊表包括用于認(rèn)證代理設(shè)備的身份的認(rèn)證信息;
[0034]用于從請求者設(shè)備接收設(shè)備指派請求的通信部件,所述設(shè)備指派請求請求把注冊在第一設(shè)備注冊表中的指定代理設(shè)備指派到由第二注冊表裝置保持的代理設(shè)備的第二設(shè)備注冊表;
[0035]用于檢查指定代理設(shè)備是否被允許響應(yīng)于設(shè)備指派請求而被指派到第二設(shè)備注冊表的處理部件,并且如果指定代理設(shè)備被允許指派到第二設(shè)備注冊表,則所述處理部件用于控制通信部件向指定代理設(shè)備、請求者設(shè)備和第二注冊表裝置的至少其中之一指示所述指定代理設(shè)備可以被指派到第二設(shè)備注冊表。
[0036]從另一方面來看,本發(fā)明提供一種用于第一注冊表裝置保持代理設(shè)備的第一設(shè)備注冊表的方法,所述代理設(shè)備用于與一個或多個應(yīng)用提供裝置進(jìn)行通信,第一設(shè)備注冊表包括用于認(rèn)證代理設(shè)備的身份的認(rèn)證信息;所述方法包括以下步驟:
[0037]從請求者設(shè)備接收設(shè)備指派請求,所述設(shè)備指派請求請求把注冊在第一設(shè)備注冊表中的指定代理設(shè)備指派到由第二注冊表裝置保持的代理設(shè)備的第二設(shè)備注冊表;
[0038]檢查指定代理設(shè)備是否被允許響應(yīng)于設(shè)備指派請求而被指派到第二設(shè)備注冊表;以及<