注冊表裝置、代理設(shè)備、應用提供裝置以及相應的方法
【專利說明】注冊表裝置、代理設(shè)備、應用提供裝置以及相應的方法
[0001]本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域。更具體來說,本發(fā)明涉及一種利用注冊表裝置在代理設(shè)備與應用提供裝置之間建立受信任通信的方法。
[0002]家庭、其他建筑物或戶外環(huán)境中的具有處理和通信能力從而允許其與其他處理設(shè)備進行交互的設(shè)備的數(shù)目不斷增多。日常對象和相對較小規(guī)模的處理設(shè)備可以作為“物聯(lián)網(wǎng)”的一部分彼此連接并且連接到中心平臺。舉例來說,家庭中的噴灑器系統(tǒng)可以從各種濕度傳感器收集信息,并且基于濕度信息控制噴灑器的激活。此外,健康護理提供商可以使用無線傳感器(例如心率監(jiān)測器或者用于監(jiān)測患者正在服用其處方藥物的傳感器)來跟蹤處于家中的患者的健康。
[0003]因此,在多種應用中,可能存在與一個或多個代理設(shè)備進行交互的中心應用提供裝置,所述代理設(shè)備向應用提供裝置提供數(shù)據(jù)并且/或者由應用提供裝置控制。代理設(shè)備在復雜度、處理資源、硬件和目的方面可以顯著不同??赡芎苤匾氖窃诖碓O(shè)備與應用提供裝置之間提供信任,從而使得應用提供商可以信任接收自代理設(shè)備的數(shù)據(jù)的有效性,并且代理設(shè)備可以信任接收自應用提供裝置的任何命令。但是由于物聯(lián)網(wǎng)中的許多代理設(shè)備可能只具有很低的處理能力,因此在代理設(shè)備中提供用于與應用提供裝置建立受信任關(guān)系的資源可能比較困難并且可能會顯著增加代理設(shè)備的成本。這樣的代理設(shè)備的迅速廣泛部署意味著還希望使得安裝盡可能地快速和高效。本發(fā)明的技術(shù)試圖解決這些問題。
[0004]從一個方面來看,本發(fā)明提供一種用于注冊表裝置在代理設(shè)備與應用提供裝置之間建立受信任通信的方法,其中注冊表裝置保持包括用于唯一地認證至少一個代理設(shè)備的認證信息的設(shè)備注冊表;所述方法包括以下步驟:
[0005](a)從代理設(shè)備接收表明代理設(shè)備的設(shè)備標識符的認證請求;
[0006](b)從設(shè)備注冊表獲得用于通過由認證請求表明的設(shè)備標識符所標識出的代理設(shè)備的認證信息;
[0007](C)利用從設(shè)備注冊表獲得的認證信息實施代理設(shè)備的認證;以及
[0008](d)如果認證成功,則向代理設(shè)備和應用提供裝置的至少其中之一傳送應用密鑰信息,以用于在代理設(shè)備與應用提供裝置之間實施受信任通信。
[0009]可以提供注冊表裝置以在代理設(shè)備與應用提供裝置之間建立受信任通信。注冊表裝置可以保持設(shè)備注冊表,其包括用于唯一地認證至少一個代理設(shè)備的認證信息。舉例來說,可以在制造或分銷期間向注冊表注冊(多個)代理設(shè)備,并且一旦其被部署或者變?yōu)榭刹僮骶涂梢試L試認證。響應于來自代理設(shè)備的認證請求,注冊表裝置利用從用于該設(shè)備的注冊表獲得的認證信息來實施代理設(shè)備的認證。如果認證成功,則向代理設(shè)備和應用提供裝置的至少其中之一傳送應用密鑰信息以用于實施受信任通信。注冊表裝置可以管理關(guān)于每一個代理設(shè)備的元數(shù)據(jù),管理代理設(shè)備與應用提供裝置之間的關(guān)系,認證代理設(shè)備,以及自動為代理設(shè)備和/或應用提供商提供密鑰以使得能夠進行安全的受信任通信。
[0010]這種技術(shù)具有優(yōu)于先前技術(shù)的幾個優(yōu)點。由于注冊表承擔認證代理設(shè)備并且建立與應用提供裝置的通信的責任,因此可以更加便宜地制造代理設(shè)備,這是因為其不需要用于驗證與應用提供裝置的信任的復雜資源。代理設(shè)備甚至不需要包含標識將與之進行通信的應用提供商的任何信息,這是因為該信息可以替換地由注冊表保持。此外,由于提供了中立注冊表以用于在代理設(shè)備與應用提供裝置之間建立信任,這就開放了代理設(shè)備與應用之間的關(guān)系,從而使得應用提供裝置不受限于使用由相同的提供商制造的代理設(shè)備,或者反之亦然。由于可以通過注冊表裝置獲得信任,因此可以與給定的應用相結(jié)合地使用任何“現(xiàn)成的”代理設(shè)備,并且特定代理設(shè)備的用戶可以選擇幾個競爭的應用提供商的其中之一,從而提高了代理設(shè)備和應用的使用靈活性并且同時仍然保持受信任通信。
[0011]如果認證成功,則注冊表可以向代理設(shè)備和應用提供裝置的至少其中之一傳送應用密鑰信息以用于實施受信任通信??赡軟]有必要向代理設(shè)備和應用提供裝置全部二者都傳送密鑰信息。舉例來說,當在注冊表中把應用提供裝置注冊為代理設(shè)備將與之通信的應用時,可能已經(jīng)為應用提供裝置提供了對應于代理設(shè)備的應用密鑰信息。此外,代理設(shè)備例如可以具有永久應用密鑰信息并且總是使用所述永久應用密鑰信息來實施受信任通信,并且一旦代理設(shè)備已被認證,注冊表可以簡單地向應用提供裝置提供相應的應用密鑰信息。
[0012]但是在認證成功時,如果注冊表裝置向代理設(shè)備和應用提供裝置全部二者都傳送應用密鑰信息,則可以實現(xiàn)更高的安全性。舉例來說,每次在代理設(shè)備與特定的應用提供裝置之間建立通信時,注冊表可以生成新的應用密鑰。這種方法允許代理設(shè)備對于不同的應用提供裝置使用不同的密鑰,并且降低應用密鑰被暴露的幾率,從而提高在這些設(shè)備之間交換的數(shù)據(jù)的安全性。
[0013]如果認證成功,則注冊表還可以向應用提供裝置提供代理設(shè)備的設(shè)備標識符,以例如允許應用提供商把通信與特定用戶賬戶相關(guān)聯(lián)。
[0014]除了代理設(shè)備的認證之外,還可以有在注冊表裝置與應用提供裝置之間實施認證的步驟。因此,注冊表可以認證應用和代理設(shè)備二者,以確保其間的信任。
[0015]設(shè)備注冊表對于每一個代理設(shè)備可以包括至少一個應用標識符,其標識出代理設(shè)備將與之實施受信任通信的至少一個應用提供裝置。當代理設(shè)備已被認證時,注冊表可以向在注冊表中表明的用于該代理設(shè)備的任何應用提供裝置傳送應用密鑰信息??梢皂憫趹藐P(guān)聯(lián)請求在設(shè)備注冊表中注冊應用標識符,所述應用關(guān)聯(lián)請求表明指定的應用提供裝置,并且向注冊表通知所述指定應用提供裝置將被注冊為指定代理設(shè)備將與之通信的應用。舉例來說,應用提供裝置可以確定特定用戶賬戶與傳感器標識符之間的關(guān)聯(lián),并且可以隨后向注冊表通知其將與哪一個傳感器通信?;蛘撸梢杂勺员韽某藨锰峁┭b置之外的其他設(shè)備(比如用戶從中選擇了將對于代理設(shè)備使用的應用的應用商店)接收應用關(guān)聯(lián)請求。
[0016]認證信息可以包括用于認證接收自代理設(shè)備的消息的密鑰信息。該密鑰信息可以采取多種形式,并且例如可以包括對稱密鑰,其中代理設(shè)備和注冊表裝置各自持有相同的密鑰信息以用于加密/解密消息,或者可以包括不對稱密鑰集合,比如由代理設(shè)備持有的私鑰和由注冊表持有的相應的公鑰。
[0017]代理設(shè)備的認證可以包括代理設(shè)備與注冊表裝置之間的相互認證。因此,除了由注冊表裝置認證代理設(shè)備之外,代理設(shè)備還可以例如利用注冊表認證信息來驗證注冊表裝置的身份從而認證注冊表。通過這種方式,代理設(shè)備可以確認其正與之通信的注冊表是受信任注冊表。
[0018]從另一方面來看,本發(fā)明提供一種用于在代理設(shè)備與應用提供裝置之間建立受信任通信的注冊表裝置,包括:
[0019]被配置成存儲設(shè)備注冊表的存儲電路,所述設(shè)備注冊表包括用于唯一地認證至少一個代理設(shè)備的認證信息;
[0020]被配置成從代理設(shè)備接收表明代理設(shè)備的設(shè)備標識符的認證請求的通信電路;以及
[0021]被配置成利用用于通過由認證請求表明的設(shè)備標識符所標識出的代理設(shè)備的設(shè)備注冊表的認證信息來實施代理設(shè)備的認證的處理電路;
[0022]其中,如果認證是成功的,則通信電路被配置成向代理設(shè)備和應用提供裝置的至少其中之一傳送應用密鑰信息,以用于在代理設(shè)備與應用提供裝置之間實施受信任通信。
[0023]從另一方面來看,本發(fā)明提供一種用于在代理設(shè)備與應用提供裝置之間建立受信任通信的注冊表裝置,包括:
[0024]用于存儲設(shè)備注冊表的存儲部件,所述設(shè)備注冊表包括用于唯一地認證至少一個代理設(shè)備的認證信息;
[0025]用于從代理設(shè)備接收表明代理設(shè)備的設(shè)備標識符的認證請求的通信部件;以及
[0026]用于利用用于通過由認證請求表明的設(shè)備標識符所標識出的代理設(shè)備的設(shè)備注冊表的認證信息來實施代理設(shè)備的認證的處理部件;
[0027]其中,如果認證是成功的,則通信部件被配置成向代理設(shè)備和應用提供裝置的至少其中之一傳送應用密鑰信息,以用于在代理設(shè)備與應用提供裝置之間實施受信任通信。
[0028]從另一方面來看,本發(fā)明提供一種用于代理設(shè)備利用保持代理設(shè)備的設(shè)備注冊表的注冊表裝置建立與應用提供裝置的受信任通信的方法,其中所述代理設(shè)備被配置成存儲代理設(shè)備的設(shè)備標識符以及用于唯一地認證代理設(shè)備的認證信息;所述方法包括以下步驟:
[0029](a)向注冊表裝置傳送表明設(shè)備標識符的認證請求;
[0030](b)利用由代理設(shè)備存儲的認證信息對注冊表裝置實施認證;以及
[0031](C)如果認證是成功的,則從注冊表裝置接收應用密鑰信息,并且利用應用密鑰信息實施與應用提供裝置的受信任通信。
[0032]按照相應的方式,代理設(shè)備可以通過向注冊表裝置傳送認證請求來建立信任通信。在對于注冊表裝置實施認證之后,代理設(shè)備可以從注冊表裝置接收應用密鑰信息并且隨后利用應用密鑰信息實施與應用提供裝置的受信任通信。這種技術(shù)允許建立與應用提供裝置的受信任通信,而無需代理設(shè)備本身持有用于聯(lián)系或認證應用提供裝置的資源。
[0033]可以響應于代理設(shè)備的激活自動向注冊表裝置傳送認證請求。舉例來說,所述激活可以包括將代理設(shè)備通電,部署代理設(shè)備或者將其安裝在特定設(shè)定中,或者按下代理設(shè)備上的按鈕。可以在沒有用戶交互的情況下自動傳送認證請求。因此,可以在沒有復雜用戶交互的情況下非常簡單地建立與應用提供裝置的通信的配置。通過簡單地激活代理設(shè)備,可以向注冊表發(fā)送自動認證請求,并且注冊表可以隨后為應用提供商建立用于通信的應用密鑰。
[0034]代理設(shè)備可以具有嵌入在其中的注冊表認證信息以用于在相互認證期間對注冊表裝置進行認證。舉例來說,注冊表認證信息可以包括對應于注冊表所持有的注冊表私鑰的公鑰。
[0035]為了增強安全性,由代理設(shè)備保持的認證信息可以被存儲在受保護區(qū)段中。舉例來說,只有受信任的軟件可能夠從受保護區(qū)段讀取認證信息。
[0036]受信任通信可以利用應用密鑰信息在代理設(shè)備與應用提供裝置之間直接進行,而無需信息經(jīng)過注冊表裝置。因此,一旦建立了受信任通信并且代理設(shè)備已被認證,則注冊表裝置就可以不再發(fā)揮作用以免妨礙受信任通信。這樣也避免了潛在的安全性問題,這是因為受信任通信并不經(jīng)過注冊表。
[0037]受信任通信可以是利用應用密鑰信息加密的已加密通信。應用密鑰信息可以是對稱密鑰,其中應用提供裝置和代理設(shè)備都利用對稱密鑰來加密其消息,并且隨后利用相同的密鑰解密接收自另一方的消息。舉例來說,可以每次在特定傳感器與特定應用之間建立鏈接時由注冊表生成一次性會話密鑰?;蛘呖梢陨刹粚ΨQ密鑰對以作為應用密鑰信息,其中代理設(shè)備和應用提供裝置當中的每一個提供有其自身的用于受信任通信的私鑰以及對應于另一裝置的私鑰的公鑰。但是不對稱密鑰對于安全性來說常??赡苁亲銐虻模⑶疫@種方法可以降低實施注冊表的成本。
[0038]代理設(shè)備可以被配置成存儲標識注冊表裝置的注冊表地址。舉例來說,注冊表地址可以是注冊表的URL或IP地址。可以向通過注冊表地址標識出的注冊表裝置傳送認證請求。因此,代理設(shè)備可以具有用于聯(lián)系注冊表的簡單信息項而不需要包含用于聯(lián)系應用提供裝置的任何信息,因為這可以利用注冊表來建立。
[0039]從另一方面來看,本發(fā)明提供一種用于利用保持代理設(shè)備的設(shè)備注冊表的注冊表裝置建立與應用提供裝置的受信任通信的代理設(shè)備,包括:
[0040]被配置成存儲代理設(shè)備的設(shè)備標識符和用于唯一地認證代理設(shè)備的認證信息的存儲電路;
[0041]被配置成向注冊表裝置傳送表明設(shè)備標識符的認證請求的通信電路;以及
[0042]被配置成利用由存儲電路存儲的認證信息對于注冊表裝置實施認證的處理電路;
[0043]其中,通信電路被配置成在認證成功的情況下接收來自注冊表裝置的應用密鑰信息,并且被配置成利用應用密鑰信息實施與應用提供裝置的受信任通信。
[0044]從另一方面來看,本發(fā)明提供一種用于利用保持代理設(shè)備的設(shè)備注冊表的注冊表裝置建立與應用提供裝置的受信任通信的代理設(shè)備,包括:
[0045]用于存儲代理設(shè)備的設(shè)備標識符和用于唯一地認證代理設(shè)備的認證信息的存儲部件;
[0046]用于向注冊表裝置傳送表明設(shè)備標識符的認證請求的通信部件;以及
[0047]用于利用由存儲部件存儲的認證信息對于注冊表裝置實施認證的處理部件;
[0048]其中,通信部件被配置成在認證成功的情況下接收來自注冊表裝置的應用密鑰信息,并且被配置成利用應用密鑰信息實施與應用提供裝置的受信任通信。
[0049]從另一方面來看,本發(fā)明提供一種用于應用提供裝置利用保持代理設(shè)備的設(shè)備注冊表的注冊表裝置建立與代理設(shè)備的受信任通信的方法,所述方法包括:
[0050](a)從注冊表裝置接收已經(jīng)利用設(shè)備注冊表認證的代理設(shè)備的設(shè)備標識符;
[0051](b)從注冊表裝置接收應用密鑰信息以用于實施與代理設(shè)備的受信任通信;以及
[0052](C)利用應用密鑰信息實施與通過設(shè)備標識符標識出的代理設(shè)備的受信任通信。
[0053]按照對應于前面討論的方法的方式,應用提供裝置可以從注冊表裝置接收經(jīng)過認證的代理設(shè)備的設(shè)備標識符以及用于實施與代理設(shè)備的受信任通信的應用密鑰信息。應用提供商隨后可以利用應用密鑰信息實施與代理設(shè)備的受信任通信。受信任通信例如可以包括向代理設(shè)備發(fā)出命令或者從代理設(shè)備接收數(shù)據(jù)。
[0054]應用提供裝置可以向注冊表裝置認證其自身,并且可以認證注冊表裝置以建立相互?目任。
[0055]應用提供裝置可以向注冊表裝置傳送應用關(guān)聯(lián)請求,以將其自身注冊為指定代理設(shè)備將與之通信的應用。這樣就允許注冊表把應用提供商關(guān)聯(lián)到代理設(shè)備,而無需代理設(shè)備的用戶或代理設(shè)備本身實施任何配置。
[0056]應用提供裝置還可以接收表明指定代理設(shè)備的設(shè)備標識符的設(shè)備關(guān)聯(lián)請求以及將與該設(shè)備相關(guān)聯(lián)的用戶的用戶標識符。舉例來說,用戶可以使用web接口或智能電話應用把用戶標識符與指定代理設(shè)