TW201806353A - 用於經由中繼服務而在控制器及配件間通訊的方法 - Google Patents

用於經由中繼服務而在控制器及配件間通訊的方法 Download PDF

Info

Publication number
TW201806353A
TW201806353A TW106140144A TW106140144A TW201806353A TW 201806353 A TW201806353 A TW 201806353A TW 106140144 A TW106140144 A TW 106140144A TW 106140144 A TW106140144 A TW 106140144A TW 201806353 A TW201806353 A TW 201806353A
Authority
TW
Taiwan
Prior art keywords
controller
accessory
relay
server
request
Prior art date
Application number
TW106140144A
Other languages
English (en)
Other versions
TWI676372B (zh
Inventor
G 那達瑟阿納許
P 希魯馬賴戈庫爾
P 麥克勞林凱文
C 盧卡斯馬修
柏克斯安德魯
Original Assignee
美商蘋果公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 美商蘋果公司 filed Critical 美商蘋果公司
Publication of TW201806353A publication Critical patent/TW201806353A/zh
Application granted granted Critical
Publication of TWI676372B publication Critical patent/TWI676372B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • H04L12/2818Controlling appliance services of a home automation network by calling their functionalities from a device located outside both the home and the home network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/006Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • H04W12/033Protecting confidentiality, e.g. by encryption of the user plane, e.g. user's traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Automation & Control Theory (AREA)
  • Selective Calling Equipment (AREA)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

一種中繼服務可在控制器與可在該等控制器遠端定位之電子可控制配件器件之間中繼訊息。由該中繼服務進行之訊息中繼可與對該配件之功能性或該等訊息之內容的任何認識脫開聯繫。可使用僅對該中繼服務及該等端點器件(該控制器及該配件)有意義的「中繼別名」來管理器件識別及訊息中繼。該等端點器件可針對由該中繼服務傳輸之訊息實施端對端安全性。

Description

用於經由中繼服務而在控制器及配件間通訊的方法
本發明大體上係關於配件器件之遠端控制,且尤其係關於一種經由公用網路而在控制器器件與配件之間提供安全通訊之中繼服務。 電子器件在一系列應用中正變得日益風行。行動電話、平板電腦、家庭娛樂系統及其類似者僅僅為常規地與使用者互動之電子器件中之一些。 正變得愈來愈風行的另一類別之電子器件包括各種電子可控制器件,諸如恆溫器、照明器件、家用電器等等。 許多使用者想要能夠在遠端與可控制器件互動。舉例而言,某一夢想係能夠在不返回家中進行檢查的情況下檢驗烘箱關斷或前門鎖定。為了滿足此期望,一些製造商已開始提供具有連接至使用者之無線區域網路(例如,Wi-Fi網路)且藉此變得可經由網際網路而存取之能力的「具備網際網路功能(Internet-enabled)」之電器。然而,此便利性並非沒有問題。舉例而言,已報告具備網際網路功能之幼兒監視器受到在干擾睡眠中之嬰兒的過程中尋找樂趣之惡作劇者侵入的例子。此等故事可使得使用者不願意將具備網際網路功能之電器引入至其家庭中。
本發明之某些實施例係關於一種可向使用者提供對電子可控制器件(例如,家中器件,諸如恆溫器、照明系統、家庭安全性系統等等)之遠端存取的中繼服務。該中繼服務可用以在一「控制器器件」與各種其他電子可控制器件(在本文中被稱作「配件器件」或簡單地稱作「配件」)之間交換訊息。舉例而言,一控制器可藉由向諸如桌上型電腦、膝上型電腦、平板電腦、智慧型電話、其他行動電話、其他手持型器件或可穿戴式計算器件之一般用途計算器件提供適當可執行程式碼而實施於該一般用途計算器件上;替代地,一控制器可為一特殊用途計算器件。一配件可包括可由一控制器控制之任何器件。配件之實例包括燈具、恆溫器、門鎖、自動開門器(例如,車庫開門器)、靜態或視訊攝影機、廚房電器等等。該中繼服務可使用一公用不安全通訊媒體(例如,網際網路)以自一控制器器件接收訊息且將該等訊息中繼至一配件,且反之亦然。 在各種實施例中,該中繼服務可實施可有助於保護使用者私密之特徵。舉例而言,一控制器與一配件之間的訊息中繼可與對該配件之功能性或該等訊息之內容的任何認識脫開聯繫。此外,可使用僅對該中繼服務及該等端點器件(該控制器及該配件)有意義的「中繼別名(relay alias)」來管理器件識別。在一些實施例中,該中繼服務可在保持不知道任何配件之識別碼(例如,製造商、型號等等)、功能性或當前狀態的同時操作。因此,即使該中繼服務與該等端點之間(或甚至在該中繼服務內)的通訊被攔截,亦可沒有可能提取關於任何配件之性質或狀態的資訊或判定如何與任何配件通訊。 另外,在一些實施例中,該中繼服務可由控制器及配件用作一傳輸以傳輸根據提供端對端通訊安全性之協定(例如,如下文所描述之統一配件協定)而格式化的訊息。在一些情況下,該統一配件協定可首先在該配件及該控制器彼此進行「本端通訊」(亦即,在不憑藉該中繼服務的情況下通訊,例如,經由無線區域網路或個人區域網路)時要求執行「本端」建置程序,且該中繼服務可在執行此本端建置之後僅變得可用於與一特定配件通訊。此等措施可在向使用者提供能夠自世界上任何地方存取其配件器件(例如,基於家庭之器件)之便利性的同時進一步增強該中繼服務之安全性。 在一些實施例中,該中繼服務可包括能夠匿名地搜集與由該中繼服務偵測之異常配件傳訊行為相關之資料的報告服務。此可允許識別及矯正某些類型之配件故障或缺陷(例如,有缺陷的韌體),而不記錄將指示哪些使用者擁有或使用什麼配件之資料。在一些情況下,矯正可包括暫時地(或永久地)預防某些配件連接至該中繼服務。 以下詳細描述連同隨附圖式將提供對本發明之性質及優點的更好理解。
相關申請案之交叉參考 本申請案主張2015年6月5日申請之美國臨時申請案第62/171,995號及2016年3月8日申請之美國專利申請案第15/064,406號的優先權,該等申請案之揭示內容的全文以引用之方式併入本文中。 本發明係關於以下美國專利申請案:2015年2月5日申請之美國申請案第14/614,914號(公開為美國專利申請公開案第2015/0222517 A1號);2015年5月29日申請之美國申請案第14/725,891號(公開為美國專利申請公開案第2015/0351145 A1號);及2015年5月29日申請之美國申請案第14/725,912號(公開為美國專利申請公開案第2015/0350031 A1號)。此等申請案之揭示內容的全文以引用之方式併入本文中。實例環境 圖1展示根據本發明之一實施例的家庭環境100。家庭環境100包括可與位於該環境中之各種配件器件(亦被稱作配件)通訊的控制器102。控制器102可包括(例如)桌上型電腦、膝上型電腦、平板電腦、智慧型電話、可穿戴式計算器件、個人數位助理,或能夠將命令及控制訊息傳達至配件(例如,如上文所參考之美國申請案第14/614,914號中所描述)且呈現使用者介面以允許使用者指示對配件之所要操作的任何其他計算器件或器件集合。在一些實施例中,可使用多個離散器件來實施控制器102。舉例而言,可存在與配件通訊且可安裝於環境100中之固定位置中的基地台,及提供使用者介面且與該基地台通訊以實現對配件之控制的一或多個行動遠端控制台(例如,手持型或可穿戴式器件,諸如行動電話、平板電腦、智慧型手錶、眼鏡等等)。在一些實施例中,基地台可充當協調器或代理伺服器,如上文所參考之美國申請案第14/725,891號中所描述。 可控制任何類型之配件器件。配件器件之實例包括門鎖104、車庫門系統106、燈具108、安全性攝影機110及恆溫器112。在一些情況下,控制器102可直接地與配件通訊;舉例而言,控制器102被展示為直接地與門鎖104及車庫門系統106通訊。在其他情況下,控制器102可經由中間物而通訊。舉例而言,控制器102被展示為經由無線網路存取點114而與在由存取點114提供之無線網路上的配件108、110、112通訊。如上文所提到,在一些實施例中,控制器102可包括基地台,且基地台功能性可整合至存取點114中或整合至待控制配件中之一者(例如,恆溫器112)中。在一些實施例中,中間物可充當代理伺服器或協調器,如上文所參考之美國申請案第14/725,891號中所描述。 可使用各種通訊傳輸及傳輸組合,且可與不同器件一起使用不同傳輸。舉例而言,諸如由Bluetooth SIG (在本文中被稱作「Bluetooth」及「Bluetooth LE」)頒佈之Bluetooth® Classic或Bluetooth® Smart通訊協定及標準的一些無線傳輸可在有限範圍內支援器件之間的直接點對點通訊。諸如符合由Wi-Fi聯盟(在本文中被稱作「Wi-Fi網路」)頒佈之Wi-Fi®網路連接標準及協定之無線網路的其他無線傳輸可定義具有中央存取點之無線網路,該中央存取點促進該網路上之不同器件之間的通訊。此外,雖然展示無線通訊傳輸,但亦可針對該等配件中之一些或全部提供有線傳輸。舉例而言,電燈泡108可藉由有線連接而連接至存取點114,且控制器102可藉由以無線方式將訊息發送至存取點114而與電燈泡108通訊,存取點114可經由有線連接而將訊息遞送至電燈泡108。有線通訊與無線通訊之其他組合亦係可能的。 此外,雖然展示一個控制器102,但家庭(或其他)環境可具有多個關聯控制器器件。舉例而言,生活在家庭中之每一人員可具有其自己的攜帶型器件(或多個攜帶型器件),該(等)攜帶型器件可充當用於配件104至112中之一些或全部的控制器。不同控制器器件可經組態以與配件之不同子集通訊;舉例而言,兒童之控制器可被阻止修改恆溫器112上之設定,而父母之控制器器件被准許修改該等設定。此等權限或特殊權限可(例如)使用上文所參考之美國申請案第14/725,891號及美國申請案第14/725,912號中所描述的技術予以組態及控制。 在一些實施例中,統一配件協定可促進由控制器102進行的與一或多個配件104至112之通訊。統一配件協定可提供將配件模型化為服務集合的簡單且可延伸之架構,其中每一服務被定義為一特性集合,該等特性中之每一者在任何給定時間具有一定義值。各種特性可表示配件之狀態的各種態樣。舉例而言,在恆溫器112之狀況下,特性可包括電源(接通或關斷)、當前溫度及目標溫度。在一些實施例中,訊息格式可為傳輸相依的,同時符合同一配件型號。配件可提供識別配件經受控制器之服務及特性的「屬性資料庫」。控制器可自配件讀取屬性資料庫(或其部分)且使用屬性資料庫以判定如何與配件互動。上文所參考之美國申請案第14/614,914號中描述基於服務及特性之配件型號之實例。 統一配件協定可進一步定義供控制器102將命令及控制訊息(請求)發送至配件112 (或其他配件)且供配件112將回應訊息發送至控制器102之訊息格式。命令及控制訊息可允許控制器102詢問配件特性之當前狀態(例如,藉由發送讀取請求)且在一些情況下修改該等特性(例如,發送用以寫入至電力特性之請求可引起將配件關斷或接通)。因此,不管功能或製造商如何,皆可藉由發送適當訊息來控制任何類型之配件。訊息格式可橫越不同類型之配件而相同。上文所參考之美國申請案第14/614,914號中描述訊息格式之實例。 統一配件協定可進一步提供允許配件112 (或其他配件)在狀態改變的情況下選擇性地通知控制器102的通知機制。可實施多個機制,且控制器102可出於給定目的而註冊或訂用最適當的通知機制。上文所參考之美國申請案第14/614,914號中描述通知機制之實例。 在一些實施例中,與給定配件之通訊可限於已接收到授權之控制器。舉例而言,統一配件協定可指定用於在提供使用者希望控制器102能夠控制配件104之高信賴度的情況下在控制器102與給定配件(例如,門鎖配件104)之間建立「配對」(在本文中亦被稱作「本端配對」)的一或多個機制(包括在本文中被稱作「配對建置」(pair setup)及「配對新增」(pair add)之機制)。配對建置可包括帶外資訊交換(例如,使用者可將由配件104提供之數字或文數字PIN或密碼鍵入至由控制器102提供之介面中)以建立共用秘密。此共用秘密可用以支援「長期」公用密鑰在控制器102與配件104之間的安全交換,且每一器件可儲存自其他器件接收之長期公用密鑰,使得已建立配對可為永續性的。在建立本端配對之後,控制器102被視為經授權,且此後,控制器102與配件104可按需要而進行通訊及退出通訊,而不失去已建立配對。當控制器102嘗試與配件104通訊或控制配件104時,可首先執行由統一配件協定指定之「配對檢驗」(pair verify)程序以檢驗存在已建立本端配對(例如,控制器102先前完成與配件104之配對建置的情況正是此狀況)。配對檢驗程序可包括每一器件表明其持有對應於在配對建置期間交換之長期公用密鑰的長期私用密鑰,且可進一步包括建立新共用秘密或工作階段密鑰以在「經配對檢驗」工作階段(在本文中亦被稱作經檢驗工作階段)期間加密所有通訊。在經配對檢驗工作階段期間,具有適當特殊權限之控制器可執行「配對新增」程序以代表另一控制器而與配件建立另一配對。任一器件可在任何時間僅僅藉由破壞或無效化其工作階段密鑰複本而結束經配對檢驗工作階段。 在一些實施例中,多個控制器可與同一配件建立本端配對(例如,藉由執行配對建置或藉由用先前執行配對建置之控制器新增配對),且配件可接受及回應於來自其配對控制器中之任一者之通訊,同時拒絕或忽略來自未配對控制器之通訊。上文所參考之美國申請案第14/614,914號中描述配對建置、配對新增及配對檢驗程序之實例,以及安全性相關操作之其他實例。在本發明之一些實施例中,可定義及使用額外「中繼配對」程序以允許控制器經由在本端環境外部之中繼服務而與配件通訊。下文描述實例。 在一些實施例中,一控制器可與多個配件建立配對且可定義表示彼此相關之配件的「環境型號」。該型號可與環境中之配件清單(例如,存在於使用者之家庭中的所有配件)一樣簡單。其他實施方案可允許使用者基於位置來定義配件分組(例如,在家庭內之特定房間中之配件,或在「區」中之配件,區可被定義為房間分組,諸如所有臥室或所有樓上房間)、按用途來定義配件分組(例如,使用者想要一起使用之配件「服務群組」,或可回應於經偵測事件或條件而自動地觸發某些配件操作之「動作集合」),等等。環境型號亦可表示經授權(或具有「權限」)來存取各種配件之各種控制器及/或使用者。在多個控制器共用對同一環境之存取的情況下,可使用同步操作而在該等控制器之間共用環境型號。上文所參考之美國申請案第14/725,912號中描述環境型號及同步操作之實例。 將瞭解,家庭環境100係說明性的,且變化及修改係可能的。本發明之實施例可實施於使用者希望使用控制器器件來控制一或多個配件器件的任何環境中,該環境包括但不限於家庭、汽車或其他車輛、辦公樓、具有多個建築物之園區(例如,大學或公司園區)等等。單一控制器可與任何數目個配件建立配對,且可在不同時間選擇性地與不同配件通訊。相似地,單一配件可由已與其建立配對之多個控制器控制。配件之任何功能可藉由將該功能模型化為具有一或多個特性之服務且允許控制器與該服務及/或其特性互動(例如,讀取、修改、接收更新)予以控制。因此,用於本發明之實施例中的協定及通訊程序可統一地應用於具有一或多個控制器及一或多個配件之任何內容脈絡中,而不管配件功能或控制器外觀尺寸或特定介面如何。 在一些實施例中,一或多個控制器可與一配件建立特殊權限層級(在本文中被稱作「管理者」或「管理員」特殊權限),該特殊權限層級允許具有管理員特殊權限之控制器判定其他控制器是否應被授予權限來將命令及控制訊息傳達至該配件。舉例而言,配件可將上文所描述之配對建置操作限於配件與任何控制器不具有已建立配對的情形;用以執行(本端)配對建置之第一控制器被自動地授予管理員特殊權限。此後,配件可拒絕准許建立額外配對,惟由具有管理員特殊權限之控制器准許除外(此等控制器亦具有已建立配對)。管理員控制器可(例如)使用配對新增程序來新增如經授權來使用配件之其他控制器。舉例而言,獨立於與配件之任何通訊,管理員控制器可獲得用於第二控制器之長期公用密鑰。管理員控制器可使用在配對建置期間交換之長期公用密鑰而與配件建立經檢驗工作階段(亦被稱作「經配對檢驗工作階段」)。經檢驗工作階段可具有工作階段密鑰,且經檢驗工作階段內之所有通訊可使用工作階段密鑰予以加密。在經檢驗工作階段內,管理員控制器可執行運用配件之配對新增操作以在配件與第二控制器之間建立配對。配對新增操作可包括將用於第二控制器之長期公用密鑰提供至配件,及作為交換而接收用於配件之第二長期公用密鑰(其可或可不為在第一控制器建立其配對時接收之相同密鑰)。管理員控制器可將用於配件之第二長期公用密鑰傳達至第二控制器。此程序可在第二控制器與配件之間建立本端配對;此後,第二控制器可建立其自己的經檢驗工作階段以將命令及控制訊息發送至配件。第一控制器可重複配對新增程序以在配件與任何數目個控制器之間建立本端配對。如下文所描述,獨立處理器可由管理員控制器使用以代表另一控制器而建立中繼配對。 在一些情況下,用以配對之第一控制器可(例如)在配對新增程序期間指示配件將管理者(或「管理員」)特殊權限授予給第二控制器。授予管理員特殊權限可允許第二控制器在必要時執行配對新增操作以新增額外控制器,且取決於實施方案,第二控制器可或可不能夠將管理員特殊權限授予給額外控制器。管理員特殊權限可被自動地指派給與新品牌配件(或與尚未建立配對之配件)建立配對之第一控制器。管理員特殊權限之使用可幫助器件擁有者調節哪些控制器可獲得對特定配件之存取。 圖2展示根據本發明之一實施例的網路組態200。組態200允許控制器202與位於本端環境206 (例如,諸如上文所描述之環境100之家庭環境)中之配件204通訊。每一控制器202可為由頻遇環境206之使用者(例如,家庭之居住者或家庭之常規訪客)擁有及/或操作的電子器件。控制器202可各自相似於圖1之控制器102,且配件204可相似於圖1所展示之各種配件。 配件204可各自與可位於本端環境206中之存取點210通訊。存取點210可提供可與配件204及控制器202 (當存在於本端環境206中時)連接之區域網路(LAN)。可使用任何類型之LAN技術,包括Wi-Fi網路或其他無線LAN技術。因此,存取點210可在本端環境206內促進配件204與控制器202之間的通訊。在一些實施例中,存在於本端環境206中之控制器(例如,控制器202(1))可直接地與配件(例如,配件204(1))通訊。可按需要而使用Bluetooth通訊、特用無線網路連接或其他點對點通訊技術。 在一些情況下,配件可不直接地與存取點210或控制器202通訊。舉例而言,配件204(3)可連接至代理伺服器212,且控制器202及/或存取點210可經由代理伺服器212而與配件204(3)通訊。在各種實施例中,代理伺服器212可提供至及自配件204(3)之訊息中繼。代理伺服器212可實施通訊安全性措施及/或協定轉譯,且單一代理伺服器212可介接至一或多個配件204。在一些實施例中,代理伺服器212可為可協調多個控制器及/或配件之間的操作且並不限於被動地中繼訊息的「智慧型」器件。上文所參考之美國申請案第14/725,891號中描述可被實施為代理伺服器212之代理伺服器器件之特定實例(包括被不同地稱作橋接器、隧道及協調器之器件)。 在一些實施例中,存在於本端環境206中之配件204及控制器202可使用諸如Wi-Fi網路之區域網路(LAN)及/或諸如Bluetooth LE之點對點通訊媒體而通訊。應理解,可使用其他通訊傳輸及協定。在一些實施例中,控制器202及配件204 (及代理伺服器212,若存在)可支援如上文所描述之統一配件協定,其可使用Wi-Fi及Bluetooth LE兩者作為傳輸予以實施。 在圖2之實例中,控制器202(1)當前位於具有配件204及協調器210之本端環境206中。舉例而言,控制器202(1)可與配件204在同一LAN上。控制器202(2)及202(3)當前位於本端環境206外部,但連接至通訊網路208 (例如,網際網路);此等控制器被稱為在配件204「遠端」。應理解,控制器202可為有時在本端環境206內且有時在本端環境206外部之行動器件。配件204無需為行動的且無需連接至通訊網路208。在一些實施例中,存取點210可連接至通訊網路208 (例如,存取點210可被實施為習知Wi-Fi存取點或基地台),且可准許由遠端控制器202(2)及202(3)在遠端存取配件204。 然而,可不需要將配件204中之每一者組態為可由能夠連接至通訊網路208之任何器件找到且與其通訊的廣域網路器件。舉例而言,若通訊網路208為網際網路,則巨大數目個器件(包括由世界上任何地方之任何人擁有的器件)可能夠定位配件204且嘗試其未被授權的操作。因此,為了更選擇性地允許控制器202經由網路208而與配件204通訊,可有用的是使用中繼服務220。 根據本發明之各種實施例,中繼服務220可經由通訊網路208而促進控制器202(尤其是遠端控制器202(2)、202(3))與配件204之間的通訊。舉例而言,中繼服務220可建立至配件204(1)之永續性連接,其中配件204(1)係由中繼服務220所指派且為控制器202所知(但推測起來不為未經授權來存取配件204之其他器件所知)之永續性配件別名(亦被稱作「配件中繼別名」或「配件RA」)識別。控制器202(2)可將請求發送至中繼服務220以將訊息遞送至配件204(1);請求可包括訊息內容、由中繼服務220指派給配件204(1)之配件別名,及可由中繼服務220使用以檢驗控制器202(2)經授權來與配件204(1)通訊之額外資訊(例如,如下文所描述之存取符記)。中繼服務220可將訊息遞送至配件204(1)。可以相似方式使用由中繼服務220指派給控制器202(2)且為配件204(1)所知但推測起來不為未經授權來使用中繼服務220以與控制器202(2)通訊之器件所知的永續性操作者別名(亦被稱作「操作者中繼別名」或「操作者RA」)而將來自配件204(1)之回應訊息遞送至控制器202(2)。經由中繼服務220而在控制器202(2)與配件204(1)之間交換的訊息內容可符合如上文所描述之統一配件協定,且訊息內容可對中繼服務220不透通。因此,控制器202(2)及配件204(1)可經由中繼服務220而通訊以建立經配對檢驗工作階段(如上文所定義)且可加密訊息內容,使得訊息內容不可由中繼服務220或訊息內容可傳遞通過的任何其他中間物讀取。以此方式,中繼服務220可在控制器202(2)與配件204(1)之間(或在任何控制器202與任何配件204之間)提供安全端對端通訊路徑(由虛線222所指示)。 在一些實施例中,控制器202可經組態以在可能時不使用中繼伺服器220的情況下與配件204通訊。舉例而言,當控制器202(2)判定其應將訊息發送至配件204(1) (例如,基於使用者輸入或經接收通知,如下文所描述)時,在控制器202(2)中執行之通訊精靈協助程式或其他程序可判定對配件204(1)之「本端存取」(或「本端通道」)當前是否可用。舉例而言,控制器202(2)可主動地或被動地掃描配件204(1)在區域網路或點對點通訊技術上之存在;若偵測到配件204(1),則本端存取係可能的。若未偵測到配件204(1),則本端存取不可用且控制器202(2)可代替地與中繼服務220通訊。使用本端存取抑或中繼服務220之判定可對使用者透通,且每當將建立至配件之通訊通道時就可進行該判定。因此,想要使用控制器202(2)而與配件204(1)互動之使用者可簡單地如此進行而不擔心使用本端存取抑或經由中繼服務220之遠端存取。 將瞭解,網路組態200係說明性的,且變化及修改係可能的。任何數目個控制器及任何數目個配件可包括於網路組態中。在一些實施例中,網路組態可包括一或多個代理伺服器(例如,如上文所參考之美國申請案第14/725,912號中所描述的橋接器、隧道、協調器)。一些或所有配件204可僅在本端環境內為可存取的。此外,如下文所描述,不同控制器202可具有關於存取配件204之不同權限層級;舉例而言,可針對一些控制器202但不針對其他控制器202准許經由網路208之遠端存取。實例中繼服務 圖3展示根據本發明之一實施例的中繼服務300之簡化方塊圖。中繼服務300可為圖2之中繼服務220的實施方案,且可在控制器302 (例如,圖2之控制器202中的任一者)與配件304 (例如,圖2之配件204中的任一者)之間中繼訊息。 中繼服務300可包括憑證伺服器310、識別碼伺服器320、配件信使伺服器330、控制器信使伺服器340、訊息傳遞伺服器350、通行證伺服器(pass server) 360、報告伺服器370及袋伺服器(bag server) 380。每一伺服器可使用習知伺服器硬體(例如,互連刀鋒伺服器)而被實施為單一伺服器或伺服器陣列(server farm),且同一或不同伺服器硬體可用以實施不同伺服器。 憑證伺服器310可用以產生用於使用中繼服務300之端點器件(包括配件304及/或控制器302)之識別碼符記及公用密鑰基礎結構(PKI)憑證。在操作中,憑證伺服器310可實施能夠在請求後就產生PKI憑證(例如,使用標準憑證產生演算法)且在請求後就驗證PKI憑證之憑證授權機構。憑證伺服器310亦可產生用於端點器件之器件識別碼符記且將器件識別碼符記與PKI憑證相關聯。舉例而言,器件識別碼符記可為隨機產生之廣用唯一識別符(UUID)。在一些實施例中,器件識別碼符記係根據確保器件識別碼符記不提供關於其被指派給的器件之性質、能力及/或實體位置之資訊的方案予以產生。一旦已將器件識別碼符記及PKI憑證指派給端點器件,端點器件就被稱為「經啟動」。經啟動器件可隨後藉由呈現其器件識別碼符記及PKI憑證而向中繼服務300鑑認其自身。憑證伺服器310可儲存包括有效UUID及關聯PKI憑證之憑證存放庫312且可使用憑證存放庫312以促進端點器件之鑑認。下文描述憑證伺服器310之操作的實例。 識別碼伺服器320可用以產生允許特定控制器與特定配件通訊之「存取」符記。如下文所描述,當控制器(例如,控制器302)及配件(例如,配件304)相互地請求在中繼服務300之內容脈絡內配對(被稱作建立「中繼配對」,其可相異於本端配對)時,識別碼伺服器320可產生與控制器302之「操作者中繼別名」(亦被稱作「操作者別名」或「操作者RA」)及與配件304之「配件中繼別名」(亦被稱作「配件別名」或「配件RA」)相關聯的唯一存取符記。操作者RA及配件RA可為由中繼服務300任意地指派之別名;下文描述實例。由識別碼伺服器320產生之存取符記可安全地遞送至請求中繼配對之特定配件304及控制器302。此後,當控制器302將中繼請求發送至中繼服務300以將訊息中繼至配件304 (或反之亦然)時,控制器302 (或配件304)可將對應存取符記與訊息內容、操作者RA及配件RA一起提供至中繼服務300。識別碼伺服器320可維護將配件RA及操作者RA之組合與存取符記相關聯的符記存放庫322,因此允許識別碼伺服器320驗證存取符記。若未提供有效存取符記,則中繼服務300可拒絕中繼訊息。下文描述識別碼伺服器320之操作的實例。 配件信使伺服器330可維護至已向中繼服務300註冊(例如,經由如下文所描述之憑證伺服器310)之端點配件器件(例如,配件304)的永續性連接(例如,通訊端)。經由此連接,配件信使伺服器330可由中繼服務300將自控制器(例如,控制器302)接收之訊息遞送至配件304,且可自配件304接收包括待遞送至控制器302 (或至另一控制器,如由配件304所指定)之訊息的中繼請求。舉例而言,配件信使服務330可維護配件RA至主動通訊端之映射332,且可將訊息遞送至配件304或基於與訊息一起包括之配件RA而傳遞自配件304接收之訊息。下文描述配件信使伺服器330之操作的實例。如將變得顯而易見,配件信使伺服器330可不知道配件304之什麼類型(例如,製造商及/或功能性)正在通訊、配件304實體上定位於何處、什麼控制器302 (或使用者)正在與配件304通訊,或什麼資訊正在配件304與控制器302之間傳達。 控制器信使伺服器340可建立至已向中繼服務300註冊之端點控制器器件(例如,控制器302)之永續性連接。在一些實施例中,控制器信使伺服器340可充分利用用於在不同使用者之行動器件之間傳達訊息及/或將通知推送至使用者之行動器件的現有基礎結構,諸如支援用於由Apple公司(本申請案之受讓人)提供之行動器件之iMessage®服務及/或推送通知服務的基礎結構。在一些實施例中,控制器信使伺服器340可維護與特定使用者相關聯之操作者RA至可與由該使用者擁有或操作之特定控制器器件相關聯之器件ID的映射342。下文描述控制器信使伺服器340之操作的實例。如將變得顯而易見,控制器信使伺服器340可不知道正在與控制器302通訊的配件304之識別碼或功能性或什麼資訊正在控制器302與配件304之間傳達。 訊息傳遞伺服器350可使用各種閘道器及其類似者予以實施,且可操作以在配件信使伺服器330與控制器信使伺服器340之間引導訊息。舉例而言,訊息傳遞伺服器350可經由控制器信使伺服器340而將自控制器302接收之訊息引導至配件信使伺服器330以供遞送至配件304;亦可支援在反向方向上之訊息傳遞。在一些實施例中,訊息傳遞伺服器350亦可促進在包括於中繼服務300中之任何伺服器之間(例如,在配件信使伺服器330與憑證伺服器310之間,等等)的訊息傳遞。下文描述訊息傳遞伺服器350之操作的實例。 通行證伺服器360可用以支援允許中繼服務300阻止由異常或可疑配件進行之存取的「通行證」(pass)服務。舉例而言,為了與配件信使伺服器330建立連接,可要求配件304 (或任何配件)呈現自通行證伺服器360獲得之通行證。在一些實施例中,配件304可藉由將配件識別資訊(例如,製造商及型號資訊)提供至通行證伺服器360而請求通行證。通行證伺服器360可判定配件識別資訊是否包括於已被暫時地或永久地阻止使用中繼服務300的異常配件之當前「黑名單」362中;下文描述建立及更新黑名單362之實例。若配件304不包括於黑名單362中,則通行證伺服器360可產生用於配件304之通行證。通行證可包括時間戳記(例如,具有五或十分鐘細微度或其類似者)及可由配件信使伺服器306使用以檢驗通行證係由通行證伺服器360發行之碼。通行證無需包括特定於配件304之任何資訊,且通行證伺服器360可回應於來自不同配件之多個請求而產生相同通行證。配件可向配件信使伺服器330呈現通行證。在此實例中,通行證伺服器360可接收關於配件之識別資訊(例如,製造商及型號資訊可指示其為什麼類型之配件),但不需要保留識別資訊或將其與在中繼服務300內之別處使用的配件RA相關聯,且由通行證伺服器360產生之通行證無需含有任何配件識別資訊。在一些實施例中,通行證伺服器360可與配件信使伺服器330通訊,例如,以提供當前有效時間戳記。下文描述通行證伺服器360之操作的實例。 報告伺服器370可管理允許關於可表現異常行為(例如,在中繼服務300上產生過多訊務)之配件之資訊之私密保護收集的報告及診斷程序。舉例而言,如下文所描述,在調查異常活動時,報告伺服器370可自提供與由中繼服務300之操作者指派之調查識別符(或「調查ID」)相關聯之配件識別資訊的控制器器件接收報告。報告可為匿名的,此在於未提供特定操作者RA及/或配件RA。基於經接收報告,報告伺服器370可識別與異常行為相關之配件類型(例如,由特定製造商製造之車庫開門器)且可起始追蹤動作,諸如向製造商提醒異常行為及/或將異常配件類型新增至黑名單362直至可解決基礎問題為止。下文描述報告伺服器370之操作的實例。 袋伺服器380可用以向配件304及控制器302提供可用以使得能夠與中繼服務300之各種伺服器(包括(例如)控制器信使伺服器340及/或配件信使伺服器330)通訊的定址資訊。定址資訊可包括(例如)統一資源定位符(「URL」)或可用以建構用於中繼服務300之各種伺服器之URL的資訊。舉例而言,可使用基本主機名稱及主機執行個體識別符來建構URL,基本主機名稱及主機執行個體識別符中之任一者或兩者可由袋伺服器380提供。可由袋伺服器380回應於(例如)來自控制器302 (其可接收如圖3所展示之「袋-c」)或配件304 (其可接收如圖3所展示之「袋-a」)之請求而以「袋」(例如,含有用於中繼服務300之一或多個伺服器之定址資訊之各種欄位的資料結構)之形式提供定址資訊。在一些實施例中,控制器302或配件304可快取經接收袋且繼續橫越至伺服器之多個連接而使用袋資訊。在一些實施例中,袋可包括到期資訊(例如,存留時間),且在袋到期之後,控制器或配件可自袋伺服器380擷取新袋。新袋可含有相同資訊或不同資訊。雖然不需要袋伺服器380及用以提供定址資訊的袋之使用,但用以提供用於中繼服務300之各種伺服器之定址資訊的袋或相似機制之使用可允許中繼服務300之操作者動態地重新分配資源(例如,用於配件信使伺服器330或控制器信使伺服器340之多個執行個體之間的負載平衡,及/或出於安全性目的)。 在操作中,中繼服務300之各種伺服器可使用提供傳輸層安全性之傳輸協定而彼此通訊且與控制器及配件通訊。舉例而言,可使用HTTPS/IP (具有實施於網際網路協定堆疊上之安全通訊端層(SSL)的超文字傳輸協定,其為熟知的傳輸協定)或具有傳輸層安全性(TLS)之HTTP2來使得能夠通訊。在中繼服務300之伺服器之間交換的任何或所有訊息可由發送伺服器用數位方式簽名且由接收伺服器驗證。經由中繼服務300而在配件304與控制器302之間交換的訊息可在訊息層級處具有額外安全性。舉例而言,如上文所描述,配件及控制器可使用貫穿具有關聯工作階段密鑰之經配對檢驗工作階段提供安全性的統一配件協定而通訊。經由中繼服務300,控制器302及配件304可根據統一配件協定來建立經配對檢驗工作階段,藉此建立僅為控制器302及配件304所知之工作階段密鑰。可運用工作階段密鑰來加密經配對檢驗工作階段內之訊息內容,藉此致使訊息內容對中繼服務300 (及訊息內容可傳遞通過的任何其他中間物,諸如各種網際網路閘道器、路由器等等)不透通。此可為使用者提供可靠私密保護層級。 配件304與配件信使伺服器330之間的通訊可使用不同於控制器302與控制器信使伺服器340之間的通訊的協定。舉例而言,配件304可將通訊發送至配件信使伺服器330作為HTTP請求(例如,至配件信使伺服器340處定義之適當URL的POST或GET請求)且可接收通訊作為HTTP回應。同時,控制器信使伺服器340可使用具有識別訊息發送者及預期接收者之標頭欄位的傳訊協定(例如,相似於SMTP或其他電子郵件協定),及含有待遞送至預期接收者之內容的訊息主體。在一些實施例中,訊息傳遞伺服器350可將配件信使伺服器330與控制器信使伺服器340之間的通訊轉換成適當格式。 亦應注意,可實施中繼服務300以限制器件識別資訊之散佈或可存取性。舉例而言,如下文所描述,中繼服務300無需保留識別配件304之配件類型或能力的任何資訊;代替地,中繼服務300可僅僅保留用以檢驗配件304為經授權端點器件之足夠資訊。維護至中繼服務300之連接可對配件304造成負擔,且除了特定連接以外,中繼服務300不需要知曉如何將通訊遞送至配件304。可使用隨機程序或其他程序來指派由中繼服務300使用之操作者中繼別名及配件中繼別名,使得該等別名不可由第三方使用以將經由中繼服務300所交換之訊息與特定真實世界控制器或配件相關聯。甚至在中繼服務300內,仍可沒有可能可靠地作出此等關聯。因此,可在仍提供能夠與來自世界上任何地方之配件通訊之便利性的同時尊重使用者私密。 將瞭解,中繼服務300係說明性的,且變化及修改係可能的。可使用任何數目個伺服器及伺服器之組合以實施在本文中被描述為由中繼服務300或其組件執行之各種操作。在一些實施例中,可使用在同一伺服器硬體上執行之不同軟體模組來實施被描述為由不同伺服器執行之操作。此外,並不需要本文中所描述之所有伺服器及操作;舉例而言,可省略通行證伺服器360、報告伺服器370及/或袋伺服器380。可藉由限制可用於各種伺服器之資訊來保護使用者私密,同時仍保留伺服器在經授權器件之間遞送通訊且辨識及阻止未經授權通訊的能力。中繼建置實例 在一些實施例中,中繼服務300可用以僅在控制器302及配件304被建立為經授權來彼此通訊之端點器件之後才在控制器302與配件304之間中繼訊息。此程序可被稱作建置中繼配對且可包括多個階段。在第一階段中,配件304可「經啟動」(例如,獲得將允許配件304存取中繼服務300之授權憑證)。在第二階段中,配件304及控制器302可獲得及交換由中繼服務300指派之別名(亦被稱作「中繼別名」)以用於在配件304與控制器302之間中繼訊息。在第三階段中,配件304及控制器302可建立「中繼配對」。此可不同於根據統一配件協定(例如,使用上文所描述之本端配對建置及配對新增程序)來建立本端配對。現在將描述中繼建置程序之實例。 圖4展示根據本發明之一實施例的配件啟動程序400之簡化流程圖。可(例如)使用圖3之中繼服務300來實施程序400。在此實例中,假定在控制器302具有對配件304之本端存取(例如,如上文參考圖2所描述)時執行程序400。亦假定控制器302已經根據如上文所描述之統一配件協定來建立關於配件304之本端配對。(在一些實施例中,不需要本端配對,但需要作為配件啟動之前置條件的本端配對可為配件提供有用的安全性特徵。) 在區塊402及404處,配件304及控制器302可經由本端通道而建立通訊。可根據如上文所描述之統一配件協定來建立通訊。舉例而言,在區塊402及404處建立通訊可包括在配件304與控制器302之間建立經配對檢驗工作階段。 在區塊406處,控制器302可判定應在中繼服務上啟動配件304。舉例而言,如上文所提到,配件304可向控制器302呈現包括服務集合之配件型號。在一些實施例中,此等服務中之一者可為「遠端中繼存取」服務。遠端中繼存取服務在配件型號中之存在可向控制器302指示配件支援經由中繼服務300之遠端存取。(並不要求給定環境中之所有配件皆支援經由中繼服務300之遠端存取或任何其他形式之遠端存取。) 遠端中繼存取服務可包括各種特性,該等特性中之一者可具有指示配件是否已被啟動之布林值(Boolean value),且區塊406可包括讀取此特性。在一些實施例中,在區塊406處之判定亦可基於使用者輸入。舉例而言,在與配件304建立配對之後,控制器302可向使用者呈現用以指示配件304是否應經組態用於經由中繼服務300之遠端存取的提示;取決於使用者之回應,控制器302可繼續或終止程序400。亦可使用其他決策準則。 在區塊407處,控制器302可自袋伺服器380獲得控制器袋。在一些實施例中,控制器袋可包括用於中繼服務300之伺服器中之一些或全部的定址資訊。舉例而言,控制器袋可包括用於憑證伺服器310、識別碼伺服器320、控制器信使伺服器340及報告伺服器370中之任一者或全部的定址資訊。在一些實施例中,控制器袋亦可包括待由配件304使用以自袋伺服器380獲得其自己的袋的URL。在一些實施例中,控制器302可在初始組態程序期間或第一次判定應在中繼服務300上啟動配件時獲得控制器袋;此後,控制器302可基於先前獲得之控制器袋中之到期資訊來判定是否及何時獲得新控制器袋。 在區塊408及410處,控制器302可向憑證伺服器310鑑認其自身。假定控制器302已經與憑證伺服器310建立識別碼;舉例而言,作為控制器302之初始組態之部分,控制器302可已自憑證伺服器310 (或自另一源)獲得用於其自身之PKI憑證及器件識別碼符記(例如,如上文所描述之UUID)。在一些實施例中,可在製造期間運用PKI憑證及/或器件識別碼符記來佈建控制器302。在一些實施例中,控制器302可在與憑證伺服器310建立識別碼之前自袋伺服器380獲得初始控制器袋,且控制器302可基於控制器袋中之定址資訊來判定用於憑證伺服器310之URL。憑證伺服器310可執行標準憑證驗證技術,諸如接收及驗證來自控制器302之PKI憑證,接著自控制器302獲得經簽名數位查問且使用經驗證PKI憑證以檢驗簽名。亦可使用其他鑑認技術。在一些實施例中,在區塊408、410處之鑑認可為雙向的;亦即,控制器302亦可在繼續之前鑑認憑證伺服器310。 在已鑑認控制器302的情況下,在區塊412、414及416處,控制器302可代表配件304而運用憑證伺服器310來執行第二鑑認操作。舉例而言,可在製造期間運用數位安全性憑證(其可(例如)經由中繼服務300之提供者所提供的有使用權程式(諸如由Apple公司提供之Made for iPhone (MFi)有使用權程式)而發行)來佈建配件304。區塊412、414及416可包括控制器302自配件304擷取數位安全性憑證(經由本端通道)、將數位安全性憑證轉遞至憑證伺服器310以供驗證、自憑證伺服器310接收數位查問、將數位查問轉遞至配件304 (經由本端通道)以供簽名、自配件304接收回應(經由本端通道),及將回應轉遞至憑證伺服器310。在一些實施例中,可藉由自配件之遠端中繼存取服務(或取決於實施方案之另一配件服務)的特性進行讀取及/或向其進行寫入而執行配件304與控制器302之間的通訊。憑證伺服器310可驗證數位安全性憑證(例如,藉由與發行其之憑證授權機構通訊,或藉由使用已建立信任鏈),且使用經驗證憑證以檢驗由配件304產生之經簽名數位查問。 假定配件304之鑑認成功,則在區塊420處,憑證伺服器310可產生用於配件304之新PKI憑證及關聯器件識別碼符記(例如,UUID)。可使用隨機或偽隨機程序或其類似者來產生新PKI憑證及/或器件識別碼符記,使得PKI憑證及/或器件識別碼符記不可用以重新建構可已包括(明確地或隱含地)於在製造期間佈建配件304所運用之原始數位安全性憑證中之任何配件識別資訊(例如,製造商、配件類型、配件功能性或配件位置)。舉例而言,用以在區塊412、414、416處鑑認配件之數位安全性憑證可用以判定製造、配件類型,或關於配件304為什麼配件及/或其可進行什麼動作之其他資訊。由憑證伺服器310發行之PKI憑證及器件識別碼符記(例如,UUID)無需具有與任何配件屬性之任何相關性。在一些實施例中,憑證伺服器310可永續性地儲存PKI憑證及UUID (或其他器件識別碼符記),而亦不保留配件之數位安全性憑證或自其獲得之任何資訊。在一些實施例中,由憑證伺服器310產生之PKI憑證可包括自配件之數位安全性憑證提取的配件識別資訊之經編碼表示(例如,製造商及型號之雜湊)。可以難以或不可能使第三方解碼的方式(例如,使用雜湊函數或其類似者)來編碼此資訊。器件識別碼符記可為橫越憑證伺服器310之命名空間為唯一的任何識別符,且可與任何配件識別資訊(例如,製造商或型號)不相關。 在區塊422處,憑證伺服器310可將新PKI憑證及UUID (或其他器件識別碼符記)發送至控制器302。控制器302可在區塊424處接收新PKI憑證及UUID,且在區塊426處將其提供至配件304,例如,藉由向配件之遠端中繼存取服務的適當特性進行寫入。在區塊428處,配件304可接收及永續性地儲存其新PKI憑證及UUID。如下文所描述,當配件304隨後連接至中繼服務300時,此資訊可用於鑑認。控制器302不需要儲存PKI憑證或UUID。 將瞭解,程序400係說明性的,且變化及修改係可能的。可並行地執行被描述為循序之步驟,可變化步驟之次序,且可修改、組合、新增或省略步驟。舉例而言,向憑證伺服器310鑑認控制器及配件可並行地或以不同次序發生。在一些實施例中,在程序400期間產生之PKI憑證可具有到期日期且可按需要而短存留或長存留。此外,並不要求憑證伺服器310維護憑證存放庫,此係因為其他伺服器可驗證憑證伺服器310之簽名。除了憑證及簽名驗證以外或代替憑證及簽名驗證,亦可使用不同鑑認技術,且由憑證伺服器310針對配件304所產生之鑑認資訊並不限於PKI憑證及UUID (或其他器件識別符記)。 在程序400完成後,配件304就可被稱為「經啟動」,亦即,配件304具有可由其使用以連接至中繼服務300之已建立識別碼(例如,PKI憑證及UUID)。因此,中繼配對建置可繼續至下一階段,其中配件304及控制器302可獲得及交換由中繼服務300指派之識別符以用於在配件304與控制器302之間中繼訊息。 圖5展示根據本發明之一實施例的可供控制器(例如,控制器302)獲得可用於向及自配件中繼訊息之操作者中繼別名之程序500的簡化流程圖。在本文中所描述之實施例中,中繼別名係與控制器302之「操作者」(其可為控制器302所屬之使用者)而非與特定控制器器件相關聯。此允許屬於同一使用者之多個控制器器件具有經由中繼伺服器300之相同配件存取,而不必建立用於每一控制器器件之獨立中繼配對。在其他實施例中,可將中繼別名指派給特定控制器器件而非操作者。 在程序500之區塊502處,控制器302可將請求至發送識別碼伺服器320以建立操作者中繼別名(或「操作者RA」)。此操作者RA可與控制器302之使用者相關聯。舉例而言,控制器302之使用者可具有一具有中繼服務300之服務提供者的帳戶,其可用以不僅存取中繼服務300而且存取來自同一服務提供者之其他基於網路之服務,諸如資料儲存及/或串流服務、器件間通訊服務、軟體及/或韌體管理服務等等。使用者帳戶之一個實例可為具有Apple公司之iCloud服務的使用者帳戶。使用者可(例如)藉由將使用者名稱及密碼(或其他存取憑證)提供至控制器302而將控制器302連結至使用者帳戶,控制器302可在區塊502處將憑證呈現至中繼服務300 (例如,至識別碼伺服器320)。 在區塊504處,識別碼伺服器320可接收針對操作者RA之請求。在一些實施例中,識別碼伺服器320可執行各種驗證操作以驗證請求,例如,檢驗由控制器302提供之使用者帳戶憑證,運用控制器302來執行基於憑證之鑑認操作(例如,使用憑證伺服器310),等等。假定請求有效,則在區塊506處,識別碼伺服器320可產生或擷取用於控制器302之操作者RA。舉例而言,若此為第一次使用者已將控制器連接至中繼服務300,則識別碼伺服器320可產生新操作者RA且將該操作者RA與使用者帳戶相關聯。若使用者先前已將另一控制器連接至中繼服務300,則使用者帳戶可已經與操作者RA相關聯,且在區塊506處之處理可包括擷取操作者RA (例如,藉由查找操作,查詢資料庫,或其類似者)。應注意,操作者RA可特定地用於在使用者之控制器與各種配件之間中繼訊息;在必要時,其他別名可經獨立地產生用於可與使用者帳戶連接之其他活動及操作。此外,可使用隨機或偽隨機程序或其類似者來產生操作者RA,使得操作者RA不與關於使用者、帳戶或用以產生操作者RA之特定控制器的帳戶憑證或任何其他識別資訊相關。在一些實施例中,中繼服務300可在內部能夠將操作者RA與使用者帳戶或控制器器件相關聯(例如,使用由識別碼伺服器320維護之表,或藉由使用可逆雜湊演算法或其類似者以產生操作者RA),但在沒有額外資訊的情況下,自操作者RA無需關聯。 在區塊508處,識別碼伺服器320可將經產生或經擷取操作者RA發送至控制器302。在區塊510處,控制器302可接收及永續性地儲存操作者RA。在一些實施例中,控制器可使用同一操作者RA以用於如下文所描述之所有中繼服務異動,且給定控制器可執行程序500一次且無限期地儲存所得操作者RA。 將瞭解,程序500係說明性的,且變化及修改係可能的。可並行地執行被描述為循序之步驟,可變化步驟之次序,且可修改、組合、新增或省略步驟。可獨立於執行本文中所描述之其他程序的時間而在任何時間執行程序500。舉例而言,在一些實施例中,只要使用者與相關服務提供者建立帳戶就可產生用於中繼服務300之操作者RA,且可將該操作者RA自動地遞送至由使用者使之與該帳戶相關聯的每一控制器。因此,舉例而言,可在上文所描述之程序400之前或之後執行程序500。此外,在一些實施例中,操作者RA可與特定控制器而非僅僅與使用者帳戶相關聯,因此屬於同一使用者之不同控制器可具有不同操作者RA。 為了使得中繼服務300能夠在控制器302與配件304之間操作,控制器302需要將其操作者RA提供至配件304且獲得用於配件304之配件中繼別名(或「配件RA」)。圖6展示根據本發明之一實施例的用於交換操作者RA與配件RA之程序600的簡化流程圖。程序600可部分地(例如)由與配件304互動之控制器302及部分地(例如)由與配件信使伺服器330互動之配件304執行。假定在控制器302具有對配件304之本端存取時執行程序600,使得控制器302與配件304之間的通訊可經由本端通道而發生,而不使用中繼服務300。 程序600可在控制器302具有操作者RA (例如,作為程序500之結果)且配件304具有PKI憑證及UUID (例如,作為程序400之結果)時開始。在區塊602處,控制器302可(例如)藉由向遠端中繼存取服務之適當特性(或多個特性)進行寫入而提供其操作者RA。在一些實施例中,控制器302亦可(例如)藉由向遠端中繼存取服務之適當特性(或多個特性)進行寫入而提供可由配件使用以自袋伺服器380獲得配件袋之「袋URL」。在一些實施例中,可自由控制器302保持之控制器袋中之資訊判定用於袋伺服器380之URL。在區塊604處,配件304可接收及永續性地儲存操作者RA (及袋URL,若被提供)。假定在本端通道上經由經配對檢驗工作階段而接收操作者RA,則配件304可將操作者RA與用以在本端通道上建立經配對檢驗工作階段之控制器識別符相關聯。雖然不需要此關聯,但如此進行可在經由中繼服務300而通訊時允許已建立用於自身與配件304之本端配對的管理員特殊權限的控制器具有相同管理員特殊權限。此外,將操作者RA與本端配對相關聯可允許配件304限定對已建立本端配對之控制器的中繼存取。 在區塊605處,配件304可(例如)藉由將GET請求發送至由控制器302提供之袋URL而自袋伺服器380獲得配件袋。在一些實施例中,配件袋可包括用於中繼服務300之各種伺服器(例如,配件信使伺服器330及/或通行證伺服器360中之任一者或全部)的定址資訊。在一些實施例中,配件袋可包括到期資訊;在程序600之後,配件302可基於先前獲得之配件袋中的到期資訊來判定是否及何時獲得新配件袋。 在已接收到操作者RA的情況下,配件304可繼續獲得配件RA。舉例而言,在區塊606處,配件304可將針對配件RA之請求發送至配件信使伺服器330。在一些實施例中,請求可包括經由上文所描述之程序400而獲得的PKI憑證及UUID (或其他器件識別符記);替代地,可在獨立異動中發送PKI憑證及UUID。在一些實施例中,可要求配件304結合請求而將通行證呈現至配件信使伺服器330。配件304可自通行證伺服器360獲得通行證,例如,如下文參考圖12所描述。 在區塊608處,配件信使伺服器330可接收請求。在區塊610處,配件信使伺服器330可驗證配件之PKI憑證。在一些實施例中,配件信使伺服器330可與憑證伺服器310通訊以驗證配件之PKI憑證;在其他實施例中,信使伺服器330可基於配件之PKI憑證上的簽名進行驗證。在區塊612處,假定PKI憑證被驗證,則配件信使伺服器330可產生用於配件304之配件RA。在一些實施例中,可使用隨機或偽隨機程序或其類似者來產生配件RA,使得配件RA不與關於配件之任何識別資訊相關。在一些實施例中,配件RA可將UUID併入(例如)於經加密資料區塊中,以允許中繼服務300將配件RA與UUID連接而亦不使得第三方能夠如此進行。可產生配件RA,使得其橫越所有當前有效配件RA為唯一的。在區塊614處,配件信使伺服器330可(例如)作為對在區塊608處接收之請求的回應而將配件RA發送至配件。 在區塊616處,配件304可自配件信使伺服器330接收配件RA。配件304可永續性地儲存配件RA且使用配件RA以供未來連接至配件信使伺服器330。在區塊618處,配件304可將其配件RA發送至控制器302。舉例而言,控制器302可包括當其將操作者RA發送至配件304時在區塊602處針對配件RA之請求,且配件304可在區塊618處發送對請求之回應。亦可使用其他技術。 在區塊620處,控制器302可接收及儲存配件RA。在一些實施例中,控制器302可與用以在本端通道上建立經配對檢驗工作階段之配件識別符相關聯地儲存配件RA,經由本端通道而接收配件RA。此可允許控制器302經由本端通道或中繼服務300而可互換地存取配件304。 將瞭解,程序600係說明性的,且變化及修改係可能的。可並行地執行被描述為循序之步驟,可變化步驟之次序,且可修改、組合、新增或省略步驟。控制器及配件可在任何時間且以任一次序獲得及交換操作者RA及配件RA。舉例而言,應注意,配件304在程序600期間獲得其配件RA時不使用操作者RA。因此,有可能使配件304在接收到PKI憑證及UUID之後的任何時間獲得配件RA。在自控制器接收操作者RA時觸發配件對配件信使伺服器330之請求可允許控制器302對配件何時或是否請求配件RA施加更多控制。在一些實施例中,配件304可使用同一配件RA以用於與不同控制器配對,且已經具有配件RA之配件不需要在程序600期間請求另一者。 在程序600完成後,配件304及控制器302就各自持有一(配件RA、操作者RA)對。中繼服務300至少在配件信使伺服器330可基於配件RA而將訊息傳遞至配件304的程度上已將配件RA與配件304相關聯,且至少在控制器信使伺服器340可基於操作者RA而將訊息傳遞至控制器302的程度上已將操作者RA與控制器302相關聯。 此時,有可能在中繼服務300內於配件RA與操作者RA之間建立關聯,使得中繼服務300可開始准許在配件304與控制器302之間中繼訊息。此關聯在本文中被稱作「中繼配對」且應被理解為相異於藉由諸如上文所描述之配對建置及配對新增之操作而建立的本端配對。 圖7展示根據本發明之一實施例的用於建立中繼配對之程序700的簡化流程圖。程序700可部分地由與識別碼伺服器320通訊之控制器302、部分地由經由本端通道而與配件304通訊之控制器302及部分地由與識別碼伺服器320通訊(其可經由配件信使伺服器330而發生)之配件304執行。假定控制器302及配件304 (例如)由於執行程序400、500及600而各自具有對應於兩個器件之(配件RA、操作者RA)對。 在此實例中,在區塊702處,配件304可將配對請求發送(例如,經由配件信使服務330,未圖示)至識別碼伺服器320。配對請求可包括(配件RA、操作者RA)對。在區塊704處,識別碼伺服器320可接收請求。在一些實施例中,控制器302可指示配件304回應於在上文所描述之程序600的區塊620處接收到配件RA而發送配對請求。在區塊706處,識別碼伺服器320可產生待與配對請求相關聯之暫時配對符記。暫時配對符記可包括(例如)操作者RA、配件RA、指示暫時配對符記何時被產生之時間戳記,及到期時間(其可為(例如)在產生時間之後的10分鐘或1小時或其類似者)。在一些實施例中,暫時配對符記可使用僅為識別碼伺服器320所知之密鑰予以加密或用數位方式簽名。識別碼伺服器320亦可產生對請求輸入項目,其可為(例如)包括配件RA、操作者RA及暫時配對符記的符記存放庫322中之輸入項目;對請求輸入項目可為在達到到期時間而未完成中繼配對程序的情況下移除的暫時輸入項目。在區塊708處,識別碼伺服器320可將暫時配對符記發送至配件304 (例如,經由配件信使服務330)。在區塊710處,配件304可接收暫時配對符記。 在區塊712處,配件304可經由本端通道而將暫時配對符記提供至控制器302。舉例而言,配件304可更新遠端中繼存取服務之適當特性,且控制器302可接收更新之通知。作為另一實例,配件304可回應於來自控制器302之請求而起始區塊702,且可在區塊712處回應於彼請求而發送暫時配對符記。控制器302可在區塊714處接收暫時配對符記。 在區塊716處,控制器302可將針對存取符記(其可為相異於暫時配對符記之永續性配對符記)之請求發送至識別碼伺服器320。請求可包括操作者RA、配件RA及暫時配對符記。在一些實施例中,在區塊714處之請求亦可包括其他資訊,例如,可用以運用憑證伺服器310 (或另一憑證伺服器,諸如專用於檢驗控制器之識別碼的伺服器)來檢驗控制器302之識別碼的資訊。 在區塊718處,識別碼伺服器320可基於來自控制器302之請求來產生存取符記。在一些實施例中,在區塊718處之處理可包括檢驗控制器302之識別碼,及/或檢驗包括於請求中之資訊(包括暫時配對符記)匹配於在區塊706處建立之對請求輸入項目。假定所有檢驗成功,則識別碼伺服器320可產生存取符記(其可為相異於暫時配對符記之永續性配對符記)。存取符記可包括(例如)指示其何時被產生之時間戳記、到期時間戳記(在必要時)、操作者RA、配件RA、指示操作者RA是否被授予用於配件之管理員特殊權限的旗標(其在此狀況下可被設定為真),及按需要之其他資訊。在一些實施例中,存取符記可包括由識別碼伺服器320用數位方式簽名之資訊的版本,藉此提供不易於偽造之存取符記。在區塊720處,互動伺服器320可將存取符記發送至控制器302。 在區塊722處,控制器302可接收存取符記且可與配件304之配件RA相關聯地永續性地儲存存取符記。在一些實施例中,控制器302可將存取符記及配件RA與用於本端存取之(推測起來不同)配件識別符及配件長期公用密鑰相關聯,使得控制器302知曉本端識別符及配件中繼別名兩者係指同一配件。在區塊724處,控制器302可經由本端通道而將存取符記提供至配件304。在區塊726處,配件304可接收存取符記且可與控制器302之操作者RA相關聯地永續性地儲存存取符記;如上文所提到,控制器302之操作者RA可與用於本端存取之(推測起來不同)控制器識別符及控制器長期公用密鑰相關聯,使得配件304知曉本端控制器識別符及操作者中繼別名兩者係指同一控制器。 將瞭解,程序700係說明性的,且變化及修改係可能的。可並行地執行被描述為循序之步驟,可變化步驟之次序,且可修改、組合、新增或省略步驟。在一些實施例中,可在請求控制器器件時啟動程序700。 此外,可以不同於所描述次序的次序執行程序400、500、600及700 (或其部分)。如上文所提到,此等程序內之某些操作可在本端通道上需要控制器302與配件304之間的通訊;然而,並不要求貫穿涉及到建立中繼配對的各種程序之執行而連續地維護本端通道。舉例而言,控制器可在與配件一起位於本端環境中時起始該程序,接著離開本端環境且稍後返回以完成。此外,在對配件之本端存取係基於使用者識別符而非特定器件識別符予以授予的實施例中,可使用一個控制器器件來開始且使用由同一使用者操作之不同控制器器件來完成中繼配對建置。 可永續性地儲存及無限期地使用存取符記。在一些實施例中,存取符記可具有由產生存取符記之伺服器預設地設定或基於來自控制器之指令而設定的到期日期。因此,舉例而言,可提供存取符記以允許控制器暫時地具有對配件之中繼存取(例如,控制器可能屬於代為看管房屋者或其類似者)。 在一些實施例中,上文所描述之中繼配對建置程序可用以在具有管理員特殊權限(如經由本端配對所建立)之控制器與配件之間建立中繼配對。可重複該等程序以在一控制器與任何數目個配件之間建立中繼配對,其限制條件為該控制器具有關於每一配件之管理員特殊權限。對於不具有管理員特殊權限之控制器(或操作者),可使用不同程序以新增中繼配對;下文描述一實例。中繼使用實例 一旦建立中繼配對,就可在任何時間使用中繼配對以在控制器與配件之間中繼訊息。如上文所提到,訊息可符合可支援請求/回應型號之統一配件協定以用於允許控制器詢問(例如,經由讀取請求)或修改(例如,經由寫入請求)配件狀態之各種態樣(經模型化(例如)為可由控制器讀取及/或寫入之特性)。另外,統一配件協定可在配件狀態之某一態樣改變時支援由配件向一或多個控制器進行之通知。根據本發明之一些實施例,可經由中繼服務300而交換統一配件協定訊息。 在一些實施例中,中繼服務300可限制中繼請求之大小;舉例而言,單一中繼請求酬載可限於不大於4 kB (千位元組)、16 kB或其類似者。一些統一配件協定訊息可超過此極限(例如,用以讀取配件屬性資料庫之500 kB)。在此狀況下,訊息可由發送者(例如,控制器302或配件304)分段成多個中繼請求酬載。每一訊息片段可包括訊息之一部分,以及用以促進片段之重組的分段標頭資訊。舉例而言,分段標頭資訊可包括:異動識別符(例如,16位元單調增加整數),其為訊息之所有片段所共有且將不同訊息彼此區分;異動長度指示符(例如,完整訊息中之位元組的數目);及索引(例如,指示完整訊息內的此片段之第一位元組之位置的位元組索引)。分段式訊息之接收者(例如,配件304或控制器302)可使用異動長度指示符以分配用於訊息之緩衝器空間且可藉由基於索引而將每一訊息片段寫入至經分配緩衝器空間中來組裝訊息。接收者可使用異動長度指示符以判定何時已接收到所有位元組。因此,訊息之片段可被無次序地接收且由接收者置放回為按次序。 圖8A及圖8B展示根據本發明之一實施例的用於經由中繼服務(例如,中繼服務300)而在控制器(例如,控制器302)與配件(例如,配件304)之間傳達請求(程序800a)及回應(程序800b)之程序800a、800b的簡化流程圖。在此實例中,假定已建立中繼配對(例如,如上文參考圖4至圖7所描述),使得識別碼伺服器320在符記存放庫322中具有使控制器302之操作者RA、配件304之配件RA及配對符記相關聯的配對記錄。 圖8A展示用於將請求自控制器302傳達至配件304之程序800a。在區塊802及804處,配件304可與配件信使伺服器330建立(永續性)連接。舉例而言,配件304可與配件信使伺服器330建立通訊端;通訊端可映射至配件304之配件RA (例如,在映射332中)。為了使通訊端保持開啟,配件304可將請求(例如,HTTP中之長輪詢)發送至配件信使伺服器330;請求可包括用於配件304與之具有中繼配對之任何控制器的存取符記。在一些情況下,配件可具有與多個控制器之中繼配對,且請求可包括多重存取符記,其限制條件為該等存取符記係與同一配件RA相關聯。 在區塊808處,控制器302可產生待發送至配件304之訊息。該訊息可包括(例如)符合統一配件協定之讀取或寫入請求訊息。只要控制器302判定應將訊息傳達至配件304,就可發生區塊808。舉例而言,使用者可操作控制器302以請求關於配件304之資訊(例如,「前門被鎖定?」)或改變配件304之狀態(例如,「鎖定前門」)。替代地,控制器302可自行地判定將訊息發送至配件304 (例如,作為自動化程序之結果)。 在區塊810處,控制器302可將一或多個中繼請求發送至控制器信使服務340。中繼請求可包括在區塊808處產生之訊息內容。在一些實施例中,一訊息可(例如)如上文所描述而分段成多個中繼請求,且每一中繼請求可包括訊息內容之一片段以及一分段標頭。連同訊息內容(或其片段)一起,中繼請求可包括請求為中繼請求之指示符、用於配件304之配件RA、用於控制器302之操作者RA,及用於控制器302與配件304之間的中繼配對之存取符記。只要控制器302判定在區塊808處產生之訊息應經由中繼服務300而中繼至配件304,就可發生區塊810。舉例而言,在已判定應發送訊息的情況下,控制器302可進一步判定對配件304之本端存取當前不可用且已與配件304建立中繼配對,使得經由中繼服務300之存取為一選項。在此等狀況下,控制器302可繼續以在區塊810處產生請求。 在區塊812處,控制器信使伺服器340可自控制器302接收中繼請求。在一些實施例中,除了本文中所描述之中繼服務以外,控制器信使伺服器340亦可實施或支援用於控制器及/或其他使用者器件之許多不同傳訊服務(例如,控制器至控制器傳訊服務),且接收每一中繼請求可包括判定(例如,基於包括於請求中之指示符)此請求係將訊息中繼至配件。 在區塊814處,控制器信使伺服器340可檢驗存取符記(例如,藉由與識別碼伺服器320通訊,此可驗證其在存取符記上之數位簽名且確認存取符記係與包括於中繼請求中之操作者RA及配件RA相關聯)。亦可執行其他驗證操作,例如,檢驗控制器302之識別碼。可針對每一中繼請求獨立地執行驗證;控制器信使伺服器340可不知道訊息分段。假定驗證操作成功,則在區塊816處,控制器信使伺服器340可將每一中繼請求傳遞至配件信使伺服器330。在一些實施例中,控制器信使伺服器340可將器件特定識別符(DSID)新增至請求,器件特定識別符(DSID)可為可由控制器信使伺服器340使用以識別供接收中繼請求之特定控制器器件302的任何識別符。此可允許將對中繼請求之任何回應選擇性地遞送至進行該請求之控制器器件,而非遞送至與特定操作者RA相關聯之所有控制器器件,如下文所描述。中繼請求之傳遞可由訊息傳遞伺服器350促進且可包括重新格式化中繼請求,等等。 在區塊820處,配件信使伺服器330可接收中繼請求。在區塊822處,配件信使伺服器330可將中繼請求發送至配件304,例如,作為對來自配件304之先前長輪詢請求的回應(如上文所描述)。配件信使伺服器330可不知道請求之內容。如發送至配件304之中繼請求可包括由控制器302提供之訊息內容(及分段標頭,若適用)、配件RA、操作者RA,及由控制器信使伺服器340新增之DSID。可省略存取符記;配件304推測起來已經具有存取符記之複本。在一些實施例中,若在接收到中繼請求時配件304未連接至配件信使伺服器340,則可捨棄請求,且配件信使伺服器340可將錯誤報告至控制器信使伺服器330。 在區塊824處,配件304可接收中繼請求,包括由控制器302提供之訊息內容。若訊息橫越多個中繼請求而分段,則配件304可剖析分段標頭且(例如)在緩衝器或其他短期記憶體中重組完整訊息。在區塊826處,配件304可處理訊息。應注意,訊息內容可如所接收一樣被確切地中繼,使得配件304可以與其將處理經由本端通道而發送之訊息相同的方式處理訊息。 圖8B展示用於將回應自配件304傳達至控制器302之程序800b。例如,只要配件304判定應將回應遞送至控制器302,就可使用程序800b。在一些實施例中,在程序800a之區塊826處處理訊息內容可引起配件304產生待發送至控制器302之回應訊息。舉例而言,在讀取請求訊息之狀況下,回應訊息可包括經請求為讀取之特性之值;在寫入請求訊息之狀況下,回應訊息可指示成功或失敗。應理解,並非每一請求訊息皆需要一獨立回應;在一些情況下,配件304可合併對多個請求之回應。此外,一些請求訊息可產生多個回應訊息。舉例而言,在請求可花費一些時間來完成(例如,開啟車庫門)的狀況下,配件可發送確認請求之接收的第一回應及指示請求之完成的第二回應,或配件可等待且在請求完成時發送單一回應。在一些實施例中,可在不發送回應的情況下處理一些請求。 當將發送回應訊息時,配件304可在區塊828處產生待發送至控制器302之回應訊息內容。在區塊830處,配件304可將一或多個中繼請求發送至配件信使伺服器330以將回應訊息中繼至控制器302。中繼請求可為(例如)包括意欲用於控制器302之回應訊息內容(例如,由統一配件協定支援之訊息)的HTTP或HTTPS請求。在一些實施例中,一回應訊息可(例如)如上文所描述而分段成多個中繼請求,且每一中繼請求可包括回應訊息內容之一片段以及一分段標頭。連同回應訊息內容(或其片段)一起,對配件信使伺服器330之中繼請求可包括請求為中繼請求之指示符、用於控制器302之操作者RA、用於配件304之配件RA,及用於控制器302與配件304之間之中繼配對之存取符記。可包括其他資訊,諸如用於控制器302之DSID。中繼請求無需經識別為回應於自控制器302中繼之先前中繼請求。 在區塊832處,配件信使伺服器330可自配件304接收中繼請求且可判定其為中繼請求。在區塊834處,配件信使服務330可檢驗存取符記(例如,藉由與識別碼伺服器320通訊,此可驗證其在存取符記上之數位簽名且確認存取符記係與包括於中繼請求中之配件RA及操作者RA相關聯)。亦可執行其他驗證操作。可針對每一中繼請求獨立地執行符記檢驗(及任何其他驗證操作);配件信使伺服器330可不知道訊息分段。假定符記檢驗(及任何其他驗證操作)成功,則在區塊836處,配件信使伺服器330可將每一中繼請求傳遞至控制器信使伺服器340。中繼請求之傳遞可由訊息傳遞伺服器350促進且可包括重新格式化該請求,等等。 在區塊840處,控制器信使伺服器340可接收中繼請求。在區塊842處,控制器信使伺服器340可將中繼請求發送至控制器302。在一些實施例中,控制器信使伺服器340可使用包括於中繼請求中之DSID以將中繼請求引導至由DSID識別之特定控制器器件;控制器信使伺服器340可不知道中繼請求之內容。假定控制器302為線上,則控制器302可在區塊850處接收中繼請求。在一些實施例中,含有來自配件之回應訊息的中繼請求不由控制器信使伺服器340排入佇列;若控制器302為離線,則可捨棄回應訊息。 如在區塊850處由控制器302接收之中繼請求可包括由控制器302提供之訊息內容(及分段標頭,若適用)。若訊息橫越多個中繼請求而分段,則控制器302可剖析分段標頭且(例如)在緩衝器或其他短期記憶體中重組完整訊息。在區塊852處,控制器302可處理回應訊息內容。如同由控制器302發送之請求訊息,來自配件304之回應訊息內容可如所發送一樣被確切地中繼,使得控制器302可以與其將處理經由本端通道而發送之回應訊息相同的方式處理回應訊息。回應訊息之處理可或可不導致另外請求訊息。 以此方式繼續,控制器302及配件304可交換由統一配件協定支援之任何訊息。舉例而言,藉由經由中繼服務300而交換訊息,控制器302及配件304可建立經配對檢驗工作階段(基於其先前建立之本端配對)且可使用與經配對檢驗工作階段相關聯之工作階段密鑰來加密後續訊息。在一些實施例中,配件304可拒絕用以讀取或寫入未在經配對檢驗工作階段之內容脈絡內接收之各種特性的任何請求。因此,可提供控制器302與配件304之間的端對端安全性。 另一類型之訊息交換可為配件通知。在一些實施例中,通知可包括並不回應於來自控制器之請求訊息的由配件發送之任何訊息。舉例而言,統一配件協定可規定控制器(例如,控制器302)可訂用在配件304處發生的狀態改變之通知。訂用可處於全域層級(例如,向控制器302通知任何狀態改變)或特定於一特定特性(或多個特性)。當在一或多個控制器已訂用通知所針對之特性中發生狀態改變時,配件304可產生至每一已訂用控制器之通知。可發送通知的另一情況可包括對配件之組態改變,諸如當新配件被新增至橋接器時。若控制器已請求關於配件之狀態的週期性更新(例如,每小時溫度讀數),則可發生又一情況。取決於實施方案,此等或其他情況中之任一者可引起配件產生至一或多個控制器之通知。通知訊息之特定內容可取決於控制器及/或傳輸;上文所參考之美國申請案第14/614,914號及美國申請案第14/725,891號中描述實例。 在本發明之一些實施例中,中繼服務300可用以將通知自配件中繼至已訂用控制器。圖9展示根據本發明之一實施例的用於經由中繼服務(例如,中繼服務300)而將通知自配件(例如,配件304)中繼至控制器(例如,控制器302)之程序900的簡化流程圖。如同圖8A及圖8B,在此實例中,假定已建立中繼配對(例如,如上文參考圖4至圖7所描述),使得識別碼伺服器320在符記存放庫322中具有使控制器302之操作者RA、配件304之配件RA及配對符記相關聯的配對記錄。 在區塊902處,配件304可判定應發送通知。舉例而言,若配件304實施門鎖,則狀態改變可為自鎖定狀態至解除鎖定狀態(或反之亦然)。亦可偵測可改變的配件狀態之任何其他態樣。在一些實施例中,配件可更新其配件型號之特性中的一者之值以表示狀態改變。如上文所提到,除了狀態改變以外之事件或情況亦可引起通知之產生,且只要將發送通知就可執行程序900。 在區塊904處,配件304可識別應經由中繼服務300而被通知狀態改變之一或多個控制器(例如,控制器302)。舉例而言,在一些實施例中,控制器可全域地或針對指定特性子集向配件型號之「訂用」特性進行寫入以建立(或終止)待在狀態改變的情況下通知之訂用。基於配件304之配件型號中之訂用特性,配件304可判定是否將通知任何控制器。(若將不通知控制器,則程序900可在區塊904處結束。)在一些實施例中,在已判定將通知一或多個控制器(例如,控制器302)的情況下,配件304可進一步判定對控制器302之本端存取當前不可用且已與控制器302建立中繼配對,使得經由中繼服務300之存取為一選項。在此等狀況下,配件304可繼續在區塊906處將通知告示至控制器302。在一些實施例中,可發送經告示通知,例如,作為在配件信使伺服器330處對指定URL之HTTP或HTTPS POST請求。經告示通知可包括用以通常指示在不提供任何另外資訊(例如,什麼改變或新讀數為什麼讀數)的情況下發生之情況類型(例如,狀態改變、組態改變、可用的新感測器讀數)的指示符。經告示通知亦可包括配件RA以及用於通知應被中繼至的控制器的操作者RA及關聯存取符記之清單。可針對任何數目個控制器告示單一通知。 在區塊910處,配件信使伺服器330可接收經告示通知。在一些實施例中,配件信使伺服器340可區分經告示通知與中繼請求(例如,其可被告示至不同URL)。在區塊912處,配件信使伺服器330可檢驗存取符記(例如,藉由與識別碼伺服器320通訊,此可驗證其在每一存取符記上之數位簽名且確認每一存取符記係與由配件304指定之配件RA及操作者RA正確地相關聯)。假定用於特定操作者RA之存取符記有效,則在區塊914處,配件信使伺服器330可將用於彼操作者RA之通知訊息傳遞至控制器信使伺服器340。通知訊息之傳遞可由訊息傳遞伺服器350促進且可包括重新格式化通知訊息,等等。 在區塊920處,控制器信使伺服器340可接收通知訊息(或訊息,視具體情況而定)。在區塊922處,控制器信使服務可基於操作者RA而將每一經接收通知訊息發送至適當控制器(例如,控制器302)。在操作者RA映射至使用者帳戶而非特定控制器器件的情況下,此可引起將通知發送至與同一使用者帳戶相關聯之多個控制器器件。在一些實施例中,若控制器302為離線,則通知訊息可由控制器信使伺服器340排入佇列以供稍後遞送。經排入佇列之通知訊息可在捨棄之前被保留為與所需要之時間一樣長(例如,7天、30天,或某一其他時間段)。通知之排入佇列可獨立於其他配件起源中繼請求是否被排入佇列。 在區塊930處,控制器302可自控制器信使伺服器340接收通知訊息。如上文所提到,通知訊息可通常指示在不提供任何另外資訊(例如,什麼改變或新讀數為什麼讀數)的情況下發生之情況類型(例如,狀態改變、組態改變、可用的新感測器讀數)。在必要時,控制器302可藉由在區塊932處將訊息起始至配件304而獲得關於狀態改變之性質的資訊。訊息可為(例如)用以讀取所關注特性以判定關於狀態改變之另外資訊的讀取請求。可(例如)使用上文所描述之程序800a以經由中繼服務300來中繼訊息而以與任何其他讀取請求(或寫入請求)相同之方式將訊息發送至配件304。 將瞭解,程序800a、800b及900係說明性的,且變化及修改係可能的。可並行地執行被描述為循序之步驟,可變化步驟之次序,且可修改、組合、新增或省略步驟。舉例而言,配件可使用程序800b以將訊息發送至特定控制器器件,該訊息並不回應於來自彼器件之請求訊息;倘若配件具有控制器之器件特定識別符,則該訊息無需回應於請求訊息。作為另一實例,若配件具有用於特定控制器器件之器件特定識別符,則可將使用程序900而發送之通知引導至特定控制器器件。 中繼服務300內使用之訊息格式可使得中繼服務300並不知曉起源於配件304之特定訊息為對控制器訊息之回應或對任何特定控制器訊息之回應。訊息內容可由起源端點器件(控制器302或配件304,視具體情況而定)產生且可對中繼服務300不透通。因此,舉例而言,控制器302及配件304可交換符合統一配件協定之訊息以彼此建立經配對檢驗工作階段且在經配對檢驗工作階段內傳達經加密資訊。在一些實施例中,訊息識別符(訊息ID)可由起源端點(控制器302或配件304)或由中繼服務300指派給每一訊息。訊息ID可遞送至接收者且可由接收者使用,例如,以將回應訊息與回應所回應之請求訊息(或多個請求訊息)相關聯。 若用以中繼訊息之嘗試在任何點皆失敗,則可產生失敗回應且遞送至發送中繼請求之端點器件。接收失敗回應之端點器件可判定重試、提醒使用者、採取其他動作,抑或不採取動作。 配件304可維護至配件信使服務330之永續性連接(例如,通訊端)。舉例而言,如上文所描述,配件304可將HTTP長輪詢請求發送至配件信使伺服器330以便使連接保持開啟,且配件信使伺服器330可遞送經中繼訊息作為對長輪詢請求之回應。在配件304接收對長輪詢請求之回應的任何時間,其可產生及發送另一長輪詢請求,藉此允許連接無限期地永續。在本文中所描述之實例中,至配件信使伺服器330之連接係基於在配件信使伺服器330處自配件304接收之包括配件RA (及用於供配件304能夠接收訊息之每一控制器302的存取符記)的請求(例如,長輪詢)而建立。配件信使伺服器330且更一般化地為中繼服務300無需提供用於將請求遞送至當前未連接之配件的機制。因此,配件信使伺服器330不需要保留關於何處或如何定位配件304之任何資訊;只要配件304維護至配件信使伺服器330之連接(例如,通訊端),通訊端之存在就足以允許配件信使伺服器330遞送請求。應注意,在此實施方案的情況下,若配件304不維護至配件信使伺服器330之連接,則中繼服務300可不能夠完成來自控制器302之中繼請求。 在一些實施例中,中繼服務300可保持各種伺服器處的活動之記錄檔。舉例而言,當控制器信使伺服器340 (及/或配件信使伺服器330)中繼訊息時,可記錄配件RA、操作者RA,及訊息方向(控制器至配件,或配件至控制器);無需記錄訊息內容。此可允許中繼服務300監視活動層級且偵測型樣(例如,使用趨勢、如下文所描述之異常),而不具有什麼資訊被發送之記錄。保持任何記錄檔或活動記錄係選用的。新增及移除使用者 在一些實施例中,可需要允許多個使用者(或多個控制器)經由本端存取及/或經由中繼服務300而與一配件互動。在本端存取之內容脈絡中,具有關於特定配件之管理員特殊權限的控制器可使用統一配件協定之配對新增程序來新增其他控制器。在中繼服務300之內容脈絡中,具有關於特定配件之管理員特殊權限的控制器可新增與其他操作者RA (例如,屬於不同使用者之操作者RA)之中繼配對。 圖10A及圖10B展示根據本發明之一實施例的用於新增用於使用者之中繼配對之程序1000的簡化流程圖。程序1000可實施(例如)於與識別碼伺服器320及與「新」控制器1004 (其可為屬於不同於管理員控制器1002之使用者的使用者之控制器)互動之「管理員」控制器1002 (例如,諸如上文所描述之控制器302的控制器,其已使用圖4至圖7之程序而與至少一個配件建立中繼配對)中。在此實例中,假定控制器信使340實施控制器至控制器傳訊服務(例如,相似於Apple公司之iMessage®服務),且假定管理員控制器1002及新控制器1004可經由控制器信使服務340而通訊。其他實施方案係可能的,其限制條件為在管理員控制器1002與新控制器1004之間存在某一通訊通道。 首先參看圖10A,程序1000可在管理員控制器1002判定應新增新控制器1004與一或多個配件之中繼配對時開始。在此狀況下,管理員控制器1002已經具有所討論的與每一配件之中繼配對。舉例而言,管理員控制器1002可用以管理家庭中之配件,且新控制器1004可屬於正移動至家庭中或尚未被新增為中繼服務300上之操作者的使用者(例如,室友)。在一些實施例中,管理員控制器1002之使用者介面可允許管理員使用者識別待新增之使用者。在此內容脈絡中可(例如)參考電話號碼、電子郵件地址或可將其連結至一或多個控制器器件及/或具有中繼服務300之使用者帳戶的其他資訊項目來識別使用者。在一些實施例中,管理員控制器之使用者介面可允許管理員使用者自儲存有為管理員使用者所知之各種個體之個人資訊的聯絡人清單選擇待新增之使用者。其他實施方案係可能的。 在區塊1010處,管理員控制器1002可將請求同意將新控制器1004之使用者新增為中繼服務300上之操作者的訊息發送至新控制器1004 (亦被表示為「C2」)。訊息可包括用於提出建立中繼配對所針對之配件(其可包括管理員控制器1002與之具有中繼配對的任何或所有配件)的配件RA之清單、管理員控制器1002之操作者RA,及邀請碼(其可為可由管理員控制器1002辨識之碼數字,其可用於與同意請求相關之簿記)。如上文所提到,可使用經由控制器信使伺服器340之控制器至控制器傳訊。在區塊1012處,新控制器1004可接收訊息。 在區塊1014處,新控制器1004可判定是否應授予同意。舉例而言,新控制器1004可提示其使用者進行確認。亦可使用其他技術。在一些實施例中,若新控制器1004判定不應授予同意,則程序1000可結束。 假定應授予同意,則在區塊1016處,新控制器1004可獲得用於存取中繼服務300之操作者RA。新控制器1004可以與上文針對控制器302所描述之方式相同的方式(例如,藉由執行程序500)來獲得操作者RA。在區塊1018處,新控制器1004可將針對同意符記之請求發送至識別碼伺服器320。請求可包括(例如)新控制器1004之操作者RA、可用以運用憑證伺服器310 (或另一憑證伺服器,諸如專用於檢驗控制器之識別碼的伺服器)來檢驗新控制器1004之識別碼的其他資訊、管理員控制器1002之操作者RA、自管理員控制器1002接收之配件RA之清單,及(在必要時)到期時間。 在區塊1020處,識別碼伺服器320可接收針對同意符記之請求。在區塊1022處,識別碼伺服器320可產生一同意符記集合,針對每一配件RA產生一個同意符記。用於給定配件RA之同意符記可包括(例如)配件RA、管理員控制器1002之操作者RA、新控制器1004之操作者RA、指示同意符記何時被產生之時間戳記,及到期時間(其可為(例如)在產生時間之後的1天、7天或其類似者;可使用在區塊1018處之請求中指定的到期時間)。在區塊1022處,識別碼伺服器320可將同意符記發送至新控制器1004;每一同意符記可與對應配件RA相關聯。相似於上文所描述之暫時配對符記,識別碼伺服器320可儲存用於每一同意符記之暫時符記記錄。在區塊1026處,新控制器1004可接收同意符記。 如圖10B所展示,在已接收到同意符記的情況下,在區塊1028處,新控制器1004可回應於針對同意之請求而將訊息發送至管理員控制器1002。訊息可包括在區塊1026處自識別碼伺服器320接收之同意符記(其中每一同意符記係與對應配件RA相關聯),以及在區塊1010處包括於來自管理員控制器1002之訊息中的邀請碼。如上文所提到,可使用經由控制器信使伺服器340之控制器至控制器傳訊。在區塊1030處,管理員控制器1002可接收訊息。 在區塊1032處,管理員控制器1002可將請求發送至識別碼伺服器320以擷取用於新控制器1004與同意符記被接收所針對之每一配件RA之間的中繼配對之存取符記。請求可包括(例如)配件RA、對應於每一配件RA之同意符記、管理員控制器1002之操作者RA,及用於管理員控制器1002與一或多個配件RA之間的已經建立之中繼配對的存取符記。亦可包括其他資訊,諸如可用以運用憑證伺服器310 (或另一憑證伺服器,諸如專用於檢驗控制器之識別碼的伺服器)來檢驗新控制器1004之識別碼的資訊、新使用者之識別符(例如,電子郵件地址或帳戶識別符)等等。 在區塊1034處,識別碼伺服器320可自管理員控制器1002接收請求。在區塊1036處,識別碼伺服器320可基於請求來產生用於新控制器1004之一或多個存取符記。在一些實施例中,在區塊1036處之處理可包括檢驗管理員控制器1002之識別碼,及/或檢驗包括於請求中之資訊匹配於暫時地儲存之同意符記。假定所有檢驗成功,則互動伺服器320可產生用於新控制器1004之操作者RA及每一配件RA的存取符記。每一存取符記可具有與在上文所描述的程序700之區塊718處產生之存取符記相同的結構。在一些實施例中,使用同意符記而建立之存取符記可具有被設定為假之管理員旗標。在其他實施例中,在區塊1032處發送的來自管理員控制器1002之請求可指定管理員旗標針對特定新控制器之操作者RA應為真抑或假。在區塊1038處,互動伺服器320可將新存取符記發送至管理員控制器1002。每一存取符記可與其有效所針對之配件RA相關聯。 在區塊1040處,管理員控制器1002可接收存取符記。在區塊1042處,管理員控制器1002可基於配件RA而將新存取符記以及新控制器1004之操作者RA提供至每一配件。在一些實施例中,可使用符合統一配件協定之訊息來提供新存取符記,例如,藉由向配件之遠端中繼存取服務的適當特性進行寫入。可使用本端通道及/或中繼服務300 (例如,取決於管理員控制器1002在相關時間定位於何處)來傳達訊息。 在區塊1044處,管理員控制器1002可將包括與每一配件RA相關聯之新配對符記的訊息發送至新控制器1004。在區塊1046處,新控制器1004可自管理員控制器1002接收訊息且可與存取符記相關聯地永續性地儲存配件RA。在一些實施例中,不發送在區塊1044處之訊息直至在如下情形之後為止:配件已接收到新配對符記,使用新配對符記以與配件信使伺服器340建立新連接以用於與新控制器1004通訊,且確認至管理員控制器1002之連接。此允許新控制器1004緊接地在區塊1046處接收到訊息之後開始經由中繼服務300而與配件互動。 將瞭解,程序1000係說明性的,且變化及修改係可能的。可並行地執行被描述為循序之步驟,可變化步驟之次序,且可修改、組合、新增或省略步驟。在此實例中,新控制器1004在執行程序1000時可或可不具有與給定配件建立之本端配對,且新控制器1004可或可不能夠判定給定配件RA及中繼配對符記對應於特定本端配對。在一些實施方案中,管理員控制器1002可將對應關係資訊提供至新配件1004以促進將中繼配對配件及本端配對配件識別為同一配件。舉例而言,如上文所描述,管理員控制器1002可維護用於定位有配件之環境的環境型號。環境型號可將本端配件識別符與對應配件RA相關聯。環境型號可與新控制器1004同步,例如,如上文所參考之美國申請案第14/725,912號中所描述。在一些實施例中,新控制器1004可基於其與各種配件之通訊來推斷對應關係。相似地,新控制器1004與之經由程序1000而獲得中繼配對的配件可能或可能不將中繼配對與至同一控制器之本端配對相關聯。舉例而言,管理員控制器1002可將對應本端控制器ID連同操作者RA一起提供至配件。 在一些實施例中,具有管理員特殊權限之控制器可能夠移除用於另一控制器之已建立中繼配對。舉例而言,圖10之新控制器1004可將請求使其中繼配對移除之訊息發送至管理員控制器1002,或管理員控制器1002可判定新控制器1004應使其中繼配對移除(例如,基於來自管理員使用者之輸入)。 圖11展示根據本發明之一實施例的用於移除中繼配對之程序1100的簡化流程圖。程序1100可(例如)由與配件304 (或獨立地與多個配件中之每一者,未圖示)及與待移除之另一控制器1104通訊的管理員控制器1002 (如上文參考圖10所描述)實施。在一些實施例中,控制器1104可為使用程序1000而新增為新控制器1004之控制器。管理員控制器1002與其他控制器1104之間的通訊可使用如上文所描述的經由控制器信使伺服器340之控制器至控制器傳訊;管理員控制器1002與配件304之間的通訊可使用本端通道或中繼服務300 (例如,取決於管理員控制器1002在相關時間定位於何處)。 程序1100可在區塊1110處開始,此時管理員控制器1002判定應移除其他控制器1104與配件304之中繼配對。此可為自其他控制器1002移除對配件304 (及在給定環境中之其他配件)之所有存取權的部分,或移除決策可更具選擇性(例如,按照配件)。在一些實施例中,可在亦不移除本端配對的情況下移除中繼配對;在其他實施例中,移除一種類型之配對可引起移除兩者。在一些實施例中,其他控制器1104可將請求移除之訊息發送至管理員控制器1002。在其他實施例中,管理員控制器可經由使用者介面而接收指令以移除另一使用者(或特定控制器)。亦可使用其他判定邏輯。 在區塊1112處,管理員控制器1002可將請求發送至配件304以移除其他控制器1104。請求可被實施(例如)為對配件304之遠端中繼存取服務之適當特性的寫入請求。請求可包括其他控制器1104之操作者RA。請求可經由本端通道或經由中繼服務300而發送,此取決於在給定時間之可用通訊通道。 在區塊1114處,配件304可接收請求。在區塊1116處,配件304可自其已建立中繼配對之清單移除用於其他控制器1104之操作者RA及關聯存取符記。此後,配件304不會嘗試經由中繼服務300而與控制器1104通訊。在一些實施例中,與其他控制器1104之本端配對可保持直至其經由獨立請求被移除為止。在其他實施例中,用以移除與特定控制器之中繼配對的請求亦可引起移除與同一控制器相關聯之本端配對。舉例而言,管理員控制器1002亦可將請求發行至配件304以作為程序1100之部分而移除與其他控制器1004之本端配對。在區塊1117處,配件304可將確認移除之回應發送至管理員控制器1002。在一些實施例中,若管理員控制器1002未接收到回應,則管理員控制器1002可起始不同動作以移除中繼配對(例如,重設配件或提示使用者重設配件)。 在區塊1118處,管理員控制器1002可將指示控制器1104移除其中繼配對之訊息發送至其他控制器1104。訊息可包括將移除中繼配對所針對的配件RA之清單。在一些實施例中,將移除中繼配對所針對的配件可經識別為群組。舉例而言,若配件RA係與配件實體上駐留的本端環境之環境型號相關聯,則環境型號可具有識別符,且管理員控制器1002可指示其他控制器1104移除用於與環境型號相關聯之所有配件RA的中繼配對。如上文所提到,可使用經由控制器信使伺服器340之控制器至控制器傳訊。 在區塊1120處,其他控制器1104可接收訊息。在區塊1122處,其他控制器1104可移除如所指示之配件RA及關聯存取符記。移除程序可引起自其他控制器1104移除關於配件之任何資訊(在一些實施例中,包括本端配對)。在一些實施例中,區塊1120及1122可實施於控制器1104中之通訊精靈協助程式內,使得其在區塊1120處接收到訊息時自動地(且視情況對使用者透通地)發生。若程序1100係基於來自其他控制器1104之請求移除的訊息而起始,則可省略區塊1118及1120,且控制器1104可自行地移除配件RA。 將瞭解,程序1100係說明性的,且變化及修改係可能的。可並行地執行被描述為循序之步驟,可變化步驟之次序,且可修改、組合、新增或省略步驟。在此實例中,控制器皆不向識別碼伺服器320通知移除。由於在端點處移除存取符記,故用於存取符記之記錄在識別碼伺服器320之存放庫322中的持續存在不會在程序1100已執行之後使得能夠在控制器1104與配件304之間進行任何通訊。在一些實施例中,管理員控制器1002可將清除請求發送至識別碼伺服器320以撤銷用於存取符記之符記記錄,例如,藉由自符記存放庫322移除符記記錄。在一些實施例中,符記記錄可(例如)基於包括於如上文所描述之存取符記中之到期時間戳記而自存放庫322到期,且識別碼伺服器320可週期性地移除存取符記已到期的記錄。亦可使用其他程序。通行證伺服器實例 如上文所描述,中繼服務300可知曉正在控制器與配件之間發生通訊,但可不知曉此通訊之內容。中繼服務300亦可(例如)藉由實施如下文所描述之報告服務而具有關於與配件之特定配件RA或類型相關聯的訊務之量的一些資訊。在一些實施例中,中繼服務300可阻止被已知為或可疑為產生過多訊務(或展現關於中繼服務300之其他異常或不良行為)之配件連接至配件信使伺服器330。此可在中繼服務300不儲存將配件RA與配件類型相關聯之資訊或其他配件識別資訊的情況下進行。 在一些實施例中,通行證伺服器360可用於阻止與異常行為相關聯之配件。舉例而言,當配件304請求至配件信使伺服器330之連接時,配件信使伺服器330可要求配件304呈現有效通行證。配件304可自通行證伺服器360獲得通行證且將通行證呈現至配件信使伺服器330。 圖12展示根據本發明之一實施例的用於在配件(例如,配件304)與配件信使伺服器(例如,配件信使伺服器330)之間建立連接之程序1200的簡化流程圖。程序1200之部分可由與通行證伺服器360互動之配件304執行,且程序1200之部分可由與配件信使伺服器330互動之配件304執行。 程序1200可在配件304判定應建立至配件信使伺服器330之連接的任何時間開始。在區塊1202處,配件304可將針對通行證之請求發送至通行證伺服器360。請求可包括用於配件304之配件識別資訊,諸如製造商、型號、韌體版本等等。在此實例中,通行證請求不包括配件RA或任何操作者RA。 在區塊1204處,通行證伺服器360可接收請求,且在區塊1206處,通行證伺服器360可判定是否准許由配件304進行之存取。舉例而言,通行證伺服器360可判定配件識別資訊是否對應於黑名單362中之輸入項目(下文描述黑名單362之建立及更新)。在一些實施例中,除非配件304在黑名單362上,否則准許存取。亦可支援其他決策準則。若在區塊1206處判定不准許存取,則可在區塊1208處拒絕請求,且程序1200可結束。 若在區塊1206處判定准許存取,則在區塊1210處,通行證伺服器360可產生通行證。通行證可包括通行證被產生時之時間戳記、由通行證伺服器產生之碼(例如,數位簽名),及/或按需要之其他資料。在一些實施例中,通行證不含有特定於配件304或特定於與通行證伺服器360之特定異動的任何資訊。舉例而言,可實施通行證產生程序使得在特定時間段(例如,5分鐘細微度)內產生之所有通行證相同,使得通行證不能由中繼服務300連結至通行證伺服器360處之特定異動。 在區塊1212處,配件304可自通行證伺服器360接收通行證。在區塊1214處,配件304可將連接請求發送至配件信使伺服器330。連接請求可包括用於配件304之配件RA,以及用於配件304希望能夠與之使用中繼服務300來交換訊息之每一控制器的存取符記及操作者RA。連接請求亦可包括自通行證伺服器360接收之通行證。 在區塊1216處,配件信使服務330可自配件304接收連接請求。在區塊1218處,配件信使服務330可判定包括於請求中之通行證是否有效。舉例而言,配件信使服務330可將通行證發送至通行證伺服器360以供驗證,或配件信使服務330可自通行證伺服器360接收可用以驗證通行證之資訊(例如,時間戳記及關聯碼之清單)。若在區塊1218處通行證並不有效,則配件信使伺服器330可在區塊1220處拒絕請求,且程序1200可結束。 若在區塊1218處通行證有效,則在區塊1222處,配件信使伺服器330可繼續建立連接。舉例而言,可要求配件304使用如上文所描述之其PKI憑證及UUID進行鑑認,且由配件304在連接請求中呈現之存取符記可由配件信使伺服器330驗證。假定此等操作成功地完成,則可建立連接。 將瞭解,程序1200係說明性的,且變化及修改係可能的。可並行地執行被描述為循序之步驟,可變化步驟之次序,且可修改、組合、新增或省略步驟。在一些實施例中,必要信使伺服器340可需要一配件,該配件保持連接以(例如)藉由經由開啟連接而將針對新通行證之請求發送至配件來週期性地更新其通行證。更新時段可為(例如)每隔24小時或48小時。通行證伺服器360之使用可允許排除存在可削弱中繼服務300之運行(例如,藉由產生過多訊務)的配件,同時避免需要使中繼服務300保留用於特定配件之配件識別資訊(例如,製造商、型號等等)。舉例而言,通行證伺服器360可捨棄其緊接地在產生通行證(或拒絕通行證請求)後就接收之任何配件識別資訊。此實例中之通行證伺服器360不接收配件RA,因此配件RA不變得與在通行證請求中提供之任何配件識別資訊相關聯(甚至暫時地)。此外,通行證伺服器360可以通行證並不與特定異動連接(例如,多個配件可接收相同通行證)的方式產生通行證,因此中繼伺服器330不能將至配件信使伺服器330之特定連接繫結至特定配件或配件類型。此可促進使用者私密之保護。報告實例 在一些實施例中,通行證伺服器360可使用黑名單362以作出關於是否回應於來自配件之通行證請求而發行通行證的決策。可基於在中繼服務300處偵測之異常活動來動態地填入黑名單362。如本文中所使用,由配件進行之「異常活動」可包括可對中繼服務300之操作產生不利影響的任何類別之異常或未預期活動。舉例而言,特定配件或相似類型之許多配件可開始以異常高的速率發送狀態改變通知,或配件連接可變得不穩定,從而在配件信使伺服器330處引起高速率之中斷連接及重新連接事件。此等事件可為含有可在配件之特定實施方案中出現之錯誤或其他問題的韌體改變之結果。 如上文所描述,中繼服務300之一些實施例避免保留可由第三方使用以將特定配件識別為屬於特定類型之資訊。舉例而言,如上文所描述,配件RA可與諸如製造商、型號配件位置等等之配件識別資訊脫開聯繫。在一個特定實例中,憑證伺服器310可自配件接收數位安全性憑證,且該憑證可與特定製造商、型號或配件類別連接。因此,有可能的是,數位安全性憑證可揭露關於配件之識別碼及/或功能性的資訊。然而,如上文所描述,憑證伺服器310可驗證數位安全性憑證,接著產生無需以任何方式與數位安全性憑證中之資訊相關的PKI憑證及器件識別碼符記(例如,UUID),或可編碼任何相關性使得僅憑證伺服器310可解密該相關性。憑證伺服器310可僅僅保留PKI憑證及UUID以用於未來鑑認操作。隨後,配件可使用PKI憑證及UUID以自配件信使伺服器330獲得配件RA。配件RA可被隨機地或偽隨機地指派且可與PKI憑證及關聯UUID不相關。因此,配件之識別碼及/或功能性可與中繼服務300內的配件之識別中斷關聯,使得第三方不能基於與中繼服務300交換之訊息來推斷配件識別碼或功能性。 儘管有此等私密保護,但可需要提供某一診斷能力以將異常配件行為追蹤至源(例如,特定類型之配件)。在一些實施例中,圖3之報告伺服器370可支援診斷程序。 圖13展示根據本發明之一實施例的診斷程序1300之簡化流程圖。程序1300之部分可實施(例如)於報告伺服器370中。 在區塊1302處,程序1300可偵測異常活動。在一些實施例中,可基於中繼服務記錄檔之分析來偵測異常活動。記錄檔可記錄(例如)中繼訊息何時被發送、操作者RA及配件RA、中繼訊息之方向,及訊息大小。亦可記錄其他事件,諸如配件RA何時連接至配件信使伺服器330或與配件信使伺服器330中斷連接,或不成功連接嘗試。記錄檔無需記錄訊息內容、存取符記或任何其他資訊。在區塊1302處之分析可包括應用統計演算法以定義配件行為之基線型樣,且開始顯著地偏離基線之配件RA可經識別為具有異常活動。其他資訊源亦可用以偵測異常,諸如與中繼服務300中之各種伺服器相關聯的效能度量、網路訊務型樣等等。可(例如)使用實施於報告伺服器370中之自動化程序及/或人類分析員來執行在區塊1302處之分析。 在區塊1304處,可識別涉及與不同操作者RA相關聯之大數目個配件的異常活動之型樣。在此內容脈絡中之「大」數目可被定義(例如)為至少100個不同操作者RA係與配件RA相關聯的足夠配件。用於「大」數目之確切臨限值可基於識別相對廣泛異常且亦貫穿診斷程序保持使用者私密(例如,如下文所描述)之目標予以選擇。異常型樣之偵測可基於實施於報告伺服器370中之自動化程序。在一些實施例中,人類檢閱者可涉及到偵測及/或確認異常型樣。若未偵測到異常型樣,或若偵測到涉及小於臨限數目個操作者RA之異常型樣,則不執行另外調查。 假定將執行另外調查,則在區塊1306處,可將調查ID指派給異常活動之經識別型樣。調查ID可為循序或隨機指派之數字或其類似者。如下文所描述,調查ID用以搜集對與調查相關聯之資訊請求之回應。在一些實施例中,報告伺服器370可指派調查ID。 在區塊1308處,可產生調查請求訊息且發送至與異常活動相關聯之操作者RA。如上文所提到,在一些實施例中,僅在操作者RA之數目超過被視為大之臨限值(例如,100或更大)的情況下才起始調查。可使用控制器信使伺服器340來發送調查請求訊息。調查請求訊息可包括針對用於涉及到異常型樣之配件RA之配件識別資訊的請求。調查訊息亦可包括調查ID。在區塊1310處,可接收對調查請求訊息之回應。下文描述發送調查請求訊息且接收回應之特定實例。 在一些實施例中,在區塊1310處接收之回應可僅僅包括調查ID及配件識別資訊(例如,製造及型號、韌體版本等等)。無需包括配件RA及/或操作者RA,使得報告伺服器370不將配件識別資訊與配件RA或操作者RA相關聯。代替地,配件識別資訊僅與調查ID相關聯。 在區塊1312處,報告伺服器370 (或人類檢閱者)可分析與特定調查ID相關聯之回應以嘗試將異常活動追蹤至特定配件類型(例如,車庫開門器之特定型號,或執行特定韌體版本之配件)。 在區塊1314處,可基於在區塊1312處的分析之結果來起始追蹤動作。取決於事件特定細節(諸如異常之嚴重度、與特定配件類型之相關性的強度等等),可採取各種特定追蹤動作。舉例而言,可將配件類型新增至黑名單362。另外或代替地,可通知異常活動被追蹤至的配件之製造商,此可允許製造商調查及處理問題(例如,運用韌體升級)。 圖14展示根據本發明之一實施例的調查程序1400之簡化流程圖。可結合程序1300而使用之程序1400可包括產生至控制器之調查請求訊息,及接收回應。 程序1400可在區塊1402處開始,此時報告伺服器370判定調查為適當的,例如,作為執行上文所描述的程序1300之區塊1304的結果。在區塊1402處,報告伺服器370可選擇操作者RA集合以接收調查請求訊息且可將調查ID指派給調查。操作者RA集合可為大集合(例如,如上文所描述之至少100個不同操作者RA)。在一些實施例中,可選擇與異常活動之型樣相關聯的所有操作者RA;替代地,可隨機地選擇操作者RA子集。在區塊1404處,報告伺服器370可起始至經選擇擇操作者RA之調查請求訊息。舉例而言,報告伺服器370可產生至每一操作者RA之請求訊息,包括調查ID以及與操作者RA及異常活動兩者相關聯之一或多個配件RA之清單。報告伺服器370可將請求訊息提供至控制器信使伺服器340。 在區塊1406處,控制器信使伺服器340可自報告伺服器370接收用於特定操作者RA之調查請求訊息。控制器信使伺服器340可產生對與每一操作者RA相關聯之一或多個控制器(例如,控制器302)之調查查詢。對控制器302之調查查詢可包括調查ID以及與控制器302之操作者RA及異常活動相關聯的配件RA之清單。控制器信使伺服器340可將調查查詢發送至控制器302。 在區塊1408處,控制器302可接收調查查詢。在區塊1410處,控制器302可基於經接收配件RA來識別相關配件。舉例而言,如上文所描述,控制器302可儲存將由中繼服務300指派之配件RA與特定配件之能力及功能之型號相關聯的配件型號或環境型號;配件型號或環境型號可包括諸如製造商、型號、序號、韌體版本等等之配件識別資訊。在區塊1410處,控制器302可存取用於與配件RA相關聯之配件的經儲存資訊且擷取配件識別資訊。 在區塊1412處,控制器302可獲得使用者核准以回應於調查查詢。舉例而言,控制器302可將提示呈現至使用者。提示可指示中繼服務300正調查異常活動且將想要接收關於與異常活動相關聯之一配件(或多個配件)之資訊。提示可識別所討論之配件(例如,基於在區塊1410處之判定)。若使用者拒絕,則程序1400可結束而不將報告發送回至報告伺服器370。在一些實施例中,若使用者拒絕,則控制器302可簡單地不回應於調查查詢。 假定使用者核准,則在區塊1414處,控制器302可回應於調查查詢而產生報告訊息。報告訊息可包括在區塊1410處擷取之配件識別資訊中之一些或全部,以及包括於調查查詢中之調查ID。報告訊息不需要包括配件RA或操作者RA。在區塊1416處,控制器302可將報告訊息發送至控制器信使伺服器340。 在區塊1418處,控制器信使伺服器340可自控制器302接收報告訊息且可將來自報告訊息之經選擇資訊轉遞至報告伺服器370。舉例而言,控制器信使伺服器340可轉遞調查ID及配件識別資訊,而非識別控制器或操作者之任何資訊。 在區塊1420處,報告伺服器370可收集由控制器信使伺服器340轉遞之資訊,且可(例如)根據程序1300之區塊1310、1312、1314來執行另外分析及操作。應注意,經由程序1400,報告伺服器370無需獲得將特定配件與特定配件RA或與特定控制器或操作者RA相關聯之任何資訊。代替地,基於由控制器信使伺服器340轉遞之資訊,報告伺服器370可組裝用於與異常活動相關聯之配件的配件識別資訊之清單(基於調查ID),而不能夠將配件識別資訊之特定項目與任何控制器或操作者相關聯。報告伺服器370僅在涉及大數目個操作者RA的情況下才起始調查之事實可有助於防止報告伺服器370將經接收資訊與來自在區塊1404處之原始請求集合之任何特定RA相關聯。事實上,報告伺服器370無需知曉哪些操作者RA回應或不回應。 將瞭解,程序1300及1400係說明性的,且變化及修改係可能的。可並行地執行被描述為循序之步驟,可變化步驟之次序,且可修改、組合、新增或省略步驟。調查可保持開啟而等待控制器回應達與所需要之時間一樣長(例如,一天、一週、十天、一個月),且調查ID可用以追蹤哪些調查仍開啟。若在調查關閉之後接收到對調查查詢之回應,則可基於調查ID來捨棄該回應。因此,控制器無需判定調查是否仍在發送回應之前開啟。此外,調查ID之使用可允許同時地進行不同異常型樣之多個調查。在一些情況下,調查無需導致另外動作。舉例而言,報告伺服器370可不接收足夠資訊以可靠地將異常追蹤至特定類型之配件,或甚至大量經接收資訊可不揭露與特定類型之配件之相關性。實例器件架構 圖15展示根據本發明之一實施例的電腦系統1500之簡化方塊圖。在一些實施例中,電腦系統1500可實施在本文中被描述為由伺服器(例如,圖3之中繼服務300之伺服器中之任一者)執行的功能、行為及能力中之任一者或全部,以及未明確地描述之其他功能、行為及能力。在一些實施例中,電腦系統1500之其他實體執行個體可實施在本文中被描述為由控制器(例如,圖3之控制器302)或配件(例如,圖3之配件304)執行的功能、行為及能力中之任一者或全部;下文描述控制器及配件實施方案之另外實例。 電腦系統1500可包括處理子系統1502、儲存子系統1504、使用者介面1506及網路介面1508。電腦系統1500亦可包括其他組件(未明確地展示),諸如電池、功率控制器,及可操作以提供各種增強型能力之其他組件。在一些實施例(例如,用於控制器)中,電腦系統1500可實施於諸如桌上型或膝上型電腦、平板電腦、智慧型電話、其他行動電話、可穿戴式器件、媒體器件、家用電器或其類似者之消費型電子器件中。電腦系統1500亦可實施(例如,用於中繼服務300)於諸如可調式伺服器系統或伺服器陣列之大型架構中,該架構可包括能夠處理及回應於來自包括控制器及/或配件之用戶端器件之大量請求的許多互連處理器、儲存系統及介面。 儲存子系統1504可(例如)使用磁碟、快閃記憶體或任何其他非暫時性儲存媒體或媒體之組合予以實施,且可包括揮發性及/或非揮發性儲存媒體。在一些實施例中,儲存子系統1504可儲存待由處理子系統1502執行之一或多個應用程式及/或作業系統程式,包括用以實施在本文中被描述為由中繼服務300之伺服器中之任一者執行的任一或所有操作的程式,以及與此等操作相關聯之資料(例如,符記存放庫322及其他經儲存資料集合)。在電腦系統1500實施伺服器的情況下,儲存子系統1504可使用網路儲存技術及/或可管理大容量資料存取請求之其他技術予以實施。 使用者介面1506可包括:輸入器件,諸如觸控板、觸控螢幕、滾輪、點選輪、撥號盤、按鈕、開關、小鍵盤、麥克風或其類似者;以及輸出器件,諸如視訊螢幕、指示燈、揚聲器、頭戴式耳機插口或其類似者,連同支援電子件(例如,數位轉類比或類比轉數位轉換器、信號處理器或其類似者)。在一些實施例中,使用者可操作使用者介面1506之輸入器件以調用電腦系統1500之功能性,且可經由使用者介面1506之輸出器件而檢視及/或聽到來自電腦系統1500之輸出。在電腦系統1500實施伺服器的情況下,使用者介面1506可相對於處理子系統1502及/或儲存子系統1504在遠端定位。 處理子系統1502可使用一或多個積體電路(例如,一或多個單核心或多核心微處理器或微控制器)予以實施,該一或多個積體電路之實例在此項技術中為吾人所知。在操作中,處理子系統1502可控制電腦系統1500之操作。在各種實施例中,處理子系統1502可回應於程式碼而執行多種程式且可維護多個同時執行程式或程序。在任何給定時間,待執行之程式碼中之一些或全部可駐留於處理子系統1502中及/或駐留於諸如儲存子系統1504之儲存媒體中。 經由合適程式化,處理子系統1502可為電腦系統1500提供各種功能性。舉例而言,在電腦系統1500實施中繼服務300之伺服器的情況下,處理子系統1502可實施在上文被描述為由憑證伺服器310、識別碼伺服器320、配件信使伺服器330、控制器信使伺服器340、訊息傳遞伺服器350、通行證伺服器360及/或報告伺服器370中之任一者或全部實施的各種程序(或其部分)。處理子系統1502亦可執行用以控制電腦系統1500之其他功能的其他程式,包括可儲存於儲存子系統1504中之程式。 網路通訊介面1508可為電腦系統1500提供語音及/或資料通訊能力。在一些實施例中,網路通訊介面1508可包括用於存取無線資料網路(例如,使用資料網路技術,諸如3G、4G/LTE、IEEE 802.11家族標準(例如,Wi-Fi網路技術),或其他行動通訊技術,或其任何組合)之射頻(RF)收發器組件、用於短程無線通訊(例如,使用Bluetooth及/或Bluetooth LE標準、NFC等等)之組件,及/或其他組件。在一些實施例中,除了無線介面以外或代替無線介面,網路通訊介面1508亦可提供有線網路連接性(例如,乙太網路)。網路通訊介面1508可使用硬體(例如,驅動器電路、天線、調變器/解調變器、編碼器/解碼器,及其他類比及/或數位信號處理電路)與軟體組件之組合予以實施。在一些實施例中,網路通訊介面1508可使用相同傳輸或不同傳輸來同時地支援多個通訊通道。 將瞭解,電腦系統1500係說明性的,且變化及修改係可能的。包括伺服器、控制器器件及/或配件之電腦系統可具有本文中未描述之功能性(例如,控制器器件亦可經由蜂巢式電話網路而提供語音通訊;與使用者互動以提供個人資訊、玩遊戲、經由無線網路而存取內容及/或在本端儲存內容之能力;等等),且此等器件及伺服器之實施方案可包括適於此功能性之組件。 此外,雖然電腦系統在本文中係參考特定區塊予以描述,但應理解,此等區塊係出於描述便利而被定義且並不意欲暗示組件部分之特定實體配置。此外,該等區塊無需對應於實體上相異之組件。區塊可經組態以執行各種操作,例如,藉由程式化處理器或提供適當控制電路系統,且取決於如何獲得初始組態,各種區塊可或可不為可重新組態的。可在包括使用電路系統與軟體之任何組合而實施之電子器件的多種裝置中實現本發明之實施例。 本文中所描述之控制器及配件可實施於可屬於大體上習知設計之電子器件中。此等器件可經調適以使用支援命令及控制操作之統一配件協定而通訊,控制器(第一電子器件)可藉由命令及控制操作來控制配件(第二電子器件)之操作。在一些情況下,器件可組合控制器及配件之特徵或態樣,例如,在如上文所描述之代理伺服器的狀況下。 圖16展示根據本發明之一實施例的控制器1600之簡化方塊圖。控制器1600可實施本文中所描述之控制器功能、行為及能力中之任一者或全部,以及未明確地描述之其他功能、行為及能力。控制器1600可包括處理子系統1610、儲存器件1612、使用者介面1614、通訊介面1616、安全儲存模組1618及密碼編譯邏輯模組1620。控制器1600亦可包括其他組件(未明確地展示),諸如電池、功率控制器,及可操作以提供各種增強型能力之其他組件。在各種實施例中,控制器1600可實施於桌上型電腦、膝上型電腦、平板電腦、智慧型電話、其他行動電話、可穿戴式計算器件或具有任何所要外觀尺寸之其他系統中。此外,如上文所提到,控制器1600可部分地實施於基地台中且部分地實施於與基地台通訊且提供使用者介面之行動單元中。 儲存器件1612可(例如)使用磁碟、快閃記憶體或任何其他非暫時性儲存媒體或媒體之組合予以實施,且可包括揮發性及/或非揮發性媒體。在一些實施例中,儲存器件1612可儲存待由處理子系統1610執行之一或多個應用程式及/或作業系統程式,包括用以實施在上文被描述為由控制器執行之各種操作的程式。舉例而言,儲存器件1612可儲存可讀取配件描述記錄且基於其中之資訊來產生用於控制配件之圖形使用者介面的統一控制器應用程式(例如,如上文所參考之美國申請案第14/614,914號中所描述)。儲存器件1612亦可儲存可執行以與中繼服務通訊之程式碼,例如,如上文所描述。在一些實施例中,本文中所描述之控制器功能性之部分(或全部)可以作業系統程式而非應用程式予以實施。在一些實施例中,儲存器件1612亦可儲存針對特定配件或特定類別之配件所設計的應用程式(例如,用以管理IP攝影機配件之IP攝影機應用程式,或用以與門鎖配件互動之安全性應用程式)。 使用者介面1614可包括:輸入器件,諸如觸控板、觸控螢幕、滾輪、點選輪、撥號盤、按鈕、開關、小鍵盤、麥克風或其類似者;以及輸出器件,諸如視訊螢幕、指示燈、揚聲器、頭戴式耳機插口或其類似者,連同支援電子件(例如,數位轉類比或類比轉數位轉換器、信號處理器或其類似者)。使用者可操作使用者介面1614之輸入器件以調用控制器1600之功能性,且可經由使用者介面1614之輸出器件而檢視及/或聽到來自控制器1600之輸出。 處理子系統1610可被實施為一或多個積體電路(例如,一或多個單核心或多核心微處理器或微控制器),該一或多個積體電路之實例在此項技術中為吾人所知。在操作中,處理系統1610可控制控制器1600之操作。在各種實施例中,處理子系統1610可回應於程式碼而執行多種程式且可維護多個同時執行程式或程序。在任何給定時間,待執行之程式碼中之一些或全部可駐留於處理子系統1610中及/或駐留於諸如儲存器件1612之儲存媒體中。 經由合適程式化,處理子系統1610可為控制器1600提供各種功能性。舉例而言,在一些實施例中,處理子系統1610可實施在上文被描述為由控制器實施之各種程序(或其部分)。處理子系統1610亦可執行用以控制控制器1600之其他功能的其他程式,包括可儲存於儲存器件1612中之應用程式。在一些實施例中,此等應用程式可(例如)藉由產生待發送至配件之訊息及/或自配件接收回應而與配件互動。此等互動可由(例如)如上文所描述之配件管理精靈協助程式及/或其他作業系統程序促進,且可包括經由如上文所描述之中繼服務而與配件通訊。 通訊介面1616可為控制器1600提供語音及/或資料通訊能力。在一些實施例中,通訊介面1616可包括用於存取無線語音及/或資料網路(例如,使用蜂巢式電話技術、資料網路技術,諸如3G、4G/LTE、Wi-Fi、其他IEEE 802.11家族標準,或其他行動通訊技術,或其任何組合)之射頻(RF)收發器組件、用於短程無線通訊(例如,使用Bluetooth及/或Bluetooth LE標準、NFC等等)之組件,及/或其他組件。在一些實施例中,除了無線介面以外或代替無線介面,通訊介面1616亦可提供有線網路連接性(例如,乙太網路)。通訊介面1616可使用硬體(例如,驅動器電路、天線、調變器/解調變器、編碼器/解碼器,及其他類比及/或數位信號處理電路)與軟體組件之組合予以實施。在一些實施例中,通訊介面1616可使用相同傳輸或不同傳輸來同時地或在不同時間支援多個通訊通道。因此,舉例而言,控制器1600可在一些時間經由本端通道及在其他時間經由中繼服務而與配件通訊。 安全儲存模組1618可為可安全地儲存用於控制器1600之密碼編譯資訊的積體電路或其類似者。可儲存於安全儲存模組1618內之資訊之實例包括控制器之長期公用及秘密密鑰1622 (LTPKC、LTSKC)、本端配對1624之清單(例如,將本端配件識別符映射至用於已完成(例如)如上文所描述之與控制器1600之本端配對建置或配對新增程序的配件之配件長期公用密鑰(LTPKA)的查找表),及中繼配對1626之清單(例如,用於已建立(例如)如上文所描述之與控制器1600之中繼配對的配件之配件RA及關聯存取符記)。在一些實施例中,可儲存配對資訊,使得在已建立與配件之本端配對及中繼配對兩者的情況下將本端配對1624映射至對應中繼配對1626。 在一些實施例中,密碼編譯操作可實施於與安全儲存模組1618通訊之密碼編譯邏輯模組1620中。實體上,密碼編譯邏輯模組1620可按需要而實施於具有安全儲存模組1618之同一積體電路或不同積體電路(例如,處理子系統1610中之處理器)中。密碼編譯邏輯模組1620可包括實施或支援控制器1600之密碼編譯操作(包括上文所描述之任何或所有密碼編譯操作)的各種邏輯電路(按需要而固定或可程式化)。安全儲存模組1618及/或密碼編譯邏輯模組1620可對控制器1600之其餘部分表現為「黑箱」。因此,舉例而言,通訊介面1616可接收呈其不能解密之經加密形式的訊息,且可僅僅將該訊息遞送至處理子系統1610。處理子系統1610亦可不能夠解密該訊息,但其可將該訊息辨識為經加密且將該訊息遞送至密碼編譯邏輯模組1620。密碼編譯邏輯模組1620可解密該訊息(例如,使用自安全儲存模組1618提取之資訊)且判定將什麼資訊傳回至處理子系統1610。因此,某些資訊可僅在安全儲存模組1618及密碼編譯邏輯模組1620內可用。若安全儲存模組1618及密碼編譯邏輯模組1620實施於執行僅來自內部安全存放庫之程式碼的單一積體電路上,則此可使資訊之提取極其困難,此情形可提供高度安全性。其他實施方案亦係可能的。 圖17展示根據本發明之一實施例的配件1700之簡化方塊圖。配件1700可實施本文中所描述之配件功能、行為及能力中之任一者或全部,以及未明確地描述之其他功能、行為及能力。配件1700可包括儲存器件1728、處理子系統1730、使用者介面1732、配件特定硬體1734、通訊介面1736、安全儲存模組1738及密碼編譯邏輯模組1740。配件1700亦可包括其他組件(未明確地展示),諸如電池、功率控制器,及可操作以提供各種增強型能力之其他組件。 配件1700表示可由諸如控制器1600之控制器操作的廣泛類別之配件,且此等配件可在能力、複雜度及外觀尺寸上廣泛地變化。各種配件可包括圖17未明確地展示之組件,包括但不限於:具有固定或可移除式儲存媒體之儲存器件(磁碟、快閃記憶體等等);用於連接至外部音訊/視訊器件之視訊螢幕、揚聲器或埠;攝影機組件,諸如透鏡、影像感測器,及其控制項(例如,光圈、變焦、曝光時間、圖框速率等等);用於記錄音訊之麥克風(單獨地或結合視訊記錄);等等。 儲存器件1728可(例如)使用磁碟、快閃記憶體或任何其他非暫時性儲存媒體或媒體之組合予以實施,且可包括揮發性及/或非揮發性媒體。在一些實施例中,儲存器件1728可儲存待由處理子系統1730執行之一或多個程式(例如,韌體),包括用以實施在上文被描述為由配件執行之各種操作以及與特定配件行為相關之操作的程式。儲存器件1728亦可(例如)在如上文所參考之美國申請案第14/614,914號中所描述之器件探索期間儲存可供給至控制器器件之配件物件或配件定義記錄。儲存器件1728亦可儲存配件狀態資訊,及可在配件1700之操作期間使用的任何其他資料。儲存器件1728亦可儲存可執行以與中繼服務通訊之程式碼,例如,如上文所描述。 處理子系統1730可包括(例如)執行程式碼以執行與配件1700相關聯之各種功能的一或多個單核心或多核心微處理器及/或微控制器。舉例而言,處理子系統1730可實施在上文被描述為由配件實施(例如,藉由執行儲存於儲存器件1728中之程式碼)之各種程序(或其部分)。處理子系統1730亦可執行其他程式以控制配件1730之其他功能。在一些情況下,由處理子系統1730執行之程式可(例如)藉由產生待發送至控制器之訊息及/或自控制器接收訊息而與控制器(例如,控制器1600)互動。在一些情況下,可使用如上文所描述之中繼服務來發送及/或接收訊息。 使用者介面1732可包括:使用者可操作輸入器件,諸如觸控板、觸控螢幕、滾輪、點選輪、撥號盤、按鈕、開關、小鍵盤、麥克風或其類似者;以及輸出器件,諸如視訊螢幕、指示燈、揚聲器、頭戴式耳機插口或其類似者,連同支援電子件(例如,數位轉類比或類比轉數位轉換器、信號處理器或其類似者)。取決於特定配件1700之實施方案,使用者可操作使用者介面1732之輸入器件以調用配件1700之功能性,且可經由使用者介面1732之輸出器件而檢視及/或聽到來自配件1700之輸出。一些配件可提供最少使用者介面或無使用者介面。在配件不具有使用者介面的情況下,使用者仍可使用控制器(例如,控制器1600)而與配件互動。 配件特定硬體1734可包括可存在於配件1700中以實現其功能性之任何其他組件。舉例而言,在各種實施例中,配件特定硬體1734可包括:使用固定或可移除式儲存媒體之一或多個儲存器件;GPS接收器;電力供應器及/或電力管理電路系統;攝影機;麥克風;一或多個致動器;控制開關;環境感測器(例如,溫度感測器、壓力感測器、加速度計、化學感測器等等);等等。應理解,可藉由提供適當配件特定硬體1734來支援任何類型之配件功能性,且配件特定硬體可包括機械以及電或電子組件。 通訊介面1736可為配件1700提供語音及/或資料通訊能力。在一些實施例中,通訊介面1736可包括用於存取無線語音及/或資料網路(例如,使用蜂巢式電話技術、資料網路技術,諸如3G、4G/LTE、Wi-Fi、其他IEEE 802.11家族標準,或其他行動通訊技術,或其任何組合)之射頻(RF)收發器組件、用於短程無線通訊(例如,使用Bluetooth及/或Bluetooth LE標準、NFC等等)之組件,及/或其他組件。在一些實施例中,除了無線介面以外或代替無線介面,通訊介面1736亦可提供有線網路連接性(例如,乙太網路)。通訊介面1736可使用硬體(例如,驅動器電路、天線、調變器/解調變器、編碼器/解碼器,及其他類比及/或數位信號處理電路)與軟體組件之組合予以實施。在一些實施例中,通訊介面1736可使用相同傳輸或不同傳輸來同時地或在不同時間支援多個通訊通道。因此,舉例而言,配件1700可在一些時間經由本端通道及在其他時間經由中繼服務而與控制器通訊。 安全儲存模組1738可為可安全地儲存用於配件1700之密碼編譯資訊的積體電路或其類似者。可儲存於安全儲存模組1738內之資訊之實例包括配件之長期公用及秘密密鑰1742 (LTPKA、LTSKA)、本端配對1744之清單(例如,將本端控制器識別符映射至用於已完成(例如)如上文所描述之與配件1700之本端配對建置或配對新增程序的控制器之控制器長期公用密鑰(LTPKC)的查找表),及中繼配對1746之清單(例如,用於已建立(例如)如上文所描述之與配件1700之中繼配對的控制器之控制器RA及關聯存取符記)。在一些實施例中,可儲存配對資訊,使得在已建立與控制器之本端配對及中繼配對兩者的情況下將本端配對1744映射至對應中繼配對1746。在一些實施例中,可省略安全儲存模組4038;密鑰及配對控制器清單可儲存於儲存器件1728中。 在一些實施例中,密碼編譯操作可實施於與安全儲存模組1738通訊之密碼編譯邏輯模組1740中。實體上,密碼編譯邏輯模組1740可按需要而實施於具有安全儲存模組1738之同一積體電路或不同積體電路(例如,處理子系統1730中之處理器)中。密碼編譯邏輯模組1740可包括實施或支援配件1700之密碼編譯操作(包括上文所描述之任何或所有密碼編譯操作)的各種邏輯電路(按需要而固定或可程式化)。安全儲存模組1738及/或密碼編譯邏輯模組1740可對配件1700之其餘部分表現為「黑箱」。因此,舉例而言,通訊介面1736可接收呈其不能解密之經加密形式的訊息,且可僅僅將該訊息遞送至處理子系統1730。處理子系統1730亦可不能夠解密該訊息,但其可將該訊息辨識為經加密且將該訊息遞送至密碼編譯邏輯模組1740。密碼編譯邏輯模組1740可解密該訊息(例如,使用自安全儲存模組1738提取之資訊)且判定將什麼資訊傳回至處理子系統1730。因此,某些資訊可僅在安全儲存模組1738及密碼編譯邏輯模組1740內可用。若安全儲存模組1738及密碼編譯邏輯模組1740實施於執行僅來自內部安全存放庫之程式碼的單一積體電路上,則此可使資訊之提取極其困難,此情形可提供高度安全性。其他實施方案亦係可能的。 配件1700可為與控制器1600互動之任何電子裝置。在一些實施例中,控制器1600可提供對配件1700之操作的遠端控制,如上文所描述。舉例而言,控制器1600可提供用於配件1700之遠端使用者介面,其可包括輸入控制項及輸出控制項兩者(例如,用以顯示自配件1700獲得之當前狀態資訊的顯示螢幕,及諸如用以允許對狀態資訊之改變之觸控螢幕覆疊的輸入控制項)。各種實施例中之控制器1600可控制配件1700之任何功能,且亦可經由本端通道或中繼服務而自配件1700接收資料。 將瞭解,本文中所描述之系統組態及組件係說明性的,且變化及修改係可能的。應理解,控制器1600之實施方案可執行在上文被描述為由控制器執行之所有操作,且配件1700之實施方案可執行在上文被描述為由配件執行之任何或所有操作。代理伺服器、橋接器、隧道或協調器可按需要而使用同一硬體或不同硬體來組合控制器1600及配件1700之組件。控制器及/或配件可具有本文中未特定地描述之其他能力(例如,行動電話、全球定位系統(GPS)、寬頻帶資料通訊、網際網路連接性等等)。取決於實施方案,該等器件可相互操作以提供由任一(或兩個)器件支援之任何功能性或提供部分地實施於每一器件中之功能性。在一些實施例中,特定配件可具有某一功能性,該功能性不可經由特定控制器予以存取或調用,但可經由另一控制器或藉由直接地與配件互動予以存取。 此外,雖然控制器及配件在本文中係參考特定區塊予以描述,但應理解,此等區塊係出於描述便利而被定義且並不意欲暗示組件部分之特定實體配置。此外,該等區塊無需對應於實體上相異組件。區塊可經組態以執行各種操作,例如,藉由程式化處理器或提供適當控制電路系統,且取決於如何獲得初始組態,各種區塊可或可不為可重新組態的。可在包括使用電路系統與軟體之任何組合而實施之電子器件的多種裝置中實現本發明之實施例。另外實施例 雖然本發明已關於特定實施例予以描述,但熟習此項技術者將認識到,眾多修改係可能的。如本文中所描述之中繼服務可允許任何數目個控制器(屬於任何數目個使用者)與任何數目個配件通訊。在一些實施例中,控制器可能夠存取含有關於經常存在控制器之環境(例如,使用者之家庭)內之配件集合之資訊的環境型號。隨著使用者新增配件,可(例如)由管理員控制器建構環境型號。在一些實施例中,環境型號可將配件RA及本端配件識別符與用於存在於環境中之特定配件的識別資訊(例如,製造商、型號號碼、序號、韌體版本、使用者易記名稱等等)相關聯。控制器可使用該型號以將直觀之介面呈現至環境中之各種配件,從而使使用者省去對知曉關於配件RA或本端配件識別符之任何事項的需要。該介面亦可獨立於控制器當前存在於抑或不存在於本端環境中,或與特定配件之通訊係經由本端通道抑或經由中繼服務。為了促進諸如新增及移除中繼配對(或本端配對)之操作,控制器可總體上呈現允許使用者與環境型號互動之介面。舉例而言,使用者可指示控制器在另一控制器(或另一使用者帳戶)與環境型號或環境型號之某一部分(例如,由該型號定義之特定房間中之配件)之間新增中繼配對。控制器可將此解譯為用以在使用者帳戶與環境型號(或其部分)中表示之每一配件之間新增中繼配對的指令。因此,結合上文所描述之程序1000,控制器可自動地產生對新控制器的同意用於環境型號(或其部分)中之每一配件RA之中繼配對的請求。應注意,與中繼服務300之通訊可僅僅包括配件RA之清單,且中繼服務300不需要能夠存取可包括於環境型號中之任何其他資訊。中繼服務300亦不需要知曉其所接收的配件RA之清單是否窮舉特定環境中之所有配件。在一些實施例中,可在經授權來存取環境型號(例如,使用如上文所參考之美國申請案第14/725,912號中所描述之同步操作)之控制器之間共用環境型號,且經由管理員控制器(例如,經由上文所描述之程序1000)而獲得中繼配對之控制器可使用共用環境型號以將配件RA與環境中之特定配件相關聯。 上文所描述之實施例允許中繼服務在不保留關於可由特定控制器控制之配件之類型及/或功能性之任何資訊的情況下操作。如上文所描述,中繼服務可以使得中繼別名不揭露關於配件之識別碼(例如,款式、製造商)、功能性(例如,門鎖、電燈泡、冰箱等等)或實體位置(包括諸如特定房間之環境內的相對位置,以及絕對地理位置)之資訊的方式將中繼別名指派給每一配件。因此,甚至在未經授權方成功地自上文所描述之中繼服務300獲得資訊的情況下,該資訊仍將受到限制。舉例而言,可有可能自符記存放庫322判定特定操作者RA可控制多少配件,而非彼等配件中之任一者實際上進行什麼動作或其可在何處被找到。提供另外安全性,此在於:可要求控制器在將訊息發送至配件之前向中繼服務300進行鑑認;控制器可僅在其具有用於配件RA之有效存取符記的情況下才將訊息發送至配件(且反之亦然);及控制器及配件可獨立於中繼服務300而建立端對端加密。 根據中繼服務之觀點而被視為「端點配件」的配件可在一些狀況下為能夠將訊息中繼至本端環境內之其他配件的代理伺服器,例如,如上文所參考之美國申請案第14/725,891號中所描述。因此,舉例而言,低功率配件不需要維護至配件信使伺服器之連接;具有低功率配件的本端環境中之代理伺服器可維護至中繼服務之連接且可視需要而與低功率配件在本端連接以傳達自中繼服務接收之任何訊息。 如上文所提到,存取符記可具有在其被建立時設定之到期日期。在一些實施例中,到期日期可預設為標準值(例如,在建立之後的1週或1個月)。在一些實施例中,建立存取符記之使用者(例如,管理員使用者)可指定符記之到期日期(例如,以向代為看管房屋的某人授予有限時間存取,等等)。檢驗存取符記可包括檢查到期日期,及在該日期已過去的情況下使該符記無效。 在一些實施例中,由中繼服務提供之各種伺服器及操作可經由共同定址方案予以存取。舉例而言,來自配件之所有通訊可作為經定址至單一網際網路網域名稱(例如,relay-service.service-provider-name.com)之HTTP請求而被發送;訊息可指定用於適當伺服器之相對URL (例如,對相對URL「/id」之GET請求可用以獲得配件RA,對相對URL「/connect」之POST請求可用以建立至配件信使伺服器之連接,等等)。 本文中所描述之各種特徵(例如,方法、裝置、電腦可讀媒體及其類似者)可使用專用組件及/或可程式化處理器及/或其他可程式化器件之任何組合予以實現。本文中所描述之各種程序可以任何組合而實施於同一處理器或不同處理器上。在組件被描述為經組態以執行某些操作的情況下,此組態可(例如)藉由設計電子電路以執行該操作、藉由程式化可程式化電子電路(諸如微處理器)以執行該操作或其任何組合予以實現。此外,雖然上文所描述之實施例可參考特定硬體及軟體組件,但熟習此項技術者將瞭解,亦可使用硬體及/或軟體組件之不同組合,且被描述為實施於硬體中之特定操作亦可實施於軟體中,或反之亦然。 併有本文中所描述之各種特徵之電腦程式可經編碼及儲存於各種電腦可讀儲存媒體上;合適媒體包括磁碟或磁帶、諸如緊密光碟(CD)或數位多功能光碟(DVD)之光學儲存媒體、快閃記憶體,及其他非暫時性媒體。經編碼有程式碼之電腦可讀媒體可與相容電子器件一起被封裝,或程式碼可獨立於電子器件被提供(例如,經由網際網路下載或作為獨立封裝之電腦可讀儲存媒體)。 因此,儘管本發明已關於特定實施例予以描述,但將瞭解,本發明意欲涵蓋在以下申請專利範圍之範疇內的所有修改及等效者。
100‧‧‧家庭環境
102‧‧‧控制器
104‧‧‧門鎖
106‧‧‧車庫門系統
108‧‧‧燈具
110‧‧‧安全性攝影機
112‧‧‧恆溫器
114‧‧‧存取點
200‧‧‧網路組態
202(1)‧‧‧控制器
202(2)‧‧‧控制器
202(3)‧‧‧控制器
204(1)‧‧‧配件
204(2)‧‧‧配件
204(3)‧‧‧配件
206‧‧‧本端環境
208‧‧‧通訊網路
210‧‧‧存取點
212‧‧‧代理伺服器
220‧‧‧中繼服務/中繼伺服器
222‧‧‧安全端對端通訊路徑
300‧‧‧中繼服務/中繼伺服器
302‧‧‧控制器
304‧‧‧配件
310‧‧‧憑證伺服器
312‧‧‧憑證存放庫
320‧‧‧識別碼伺服器/互動伺服器
322‧‧‧符記存放庫
330‧‧‧配件信使伺服器
332‧‧‧映射
340‧‧‧控制器信使伺服器
342‧‧‧映射
350‧‧‧訊息傳遞伺服器
360‧‧‧通行證伺服器
362‧‧‧黑名單
370‧‧‧報告伺服器
380‧‧‧袋伺服器
400‧‧‧配件啟動程序
402‧‧‧區塊
404‧‧‧區塊
406‧‧‧區塊
407‧‧‧區塊
408‧‧‧區塊
410‧‧‧區塊
412‧‧‧區塊
414‧‧‧區塊
416‧‧‧區塊
420‧‧‧區塊
422‧‧‧區塊
424‧‧‧區塊
426‧‧‧區塊
428‧‧‧區塊
500‧‧‧程序
502‧‧‧區塊
504‧‧‧區塊
506‧‧‧區塊
508‧‧‧區塊
510‧‧‧區塊
600‧‧‧程序
602‧‧‧區塊
604‧‧‧區塊
605‧‧‧區塊
606‧‧‧區塊
608‧‧‧區塊
610‧‧‧區塊
612‧‧‧區塊
614‧‧‧區塊
616‧‧‧區塊
618‧‧‧區塊
620‧‧‧區塊
700‧‧‧程序
702‧‧‧區塊
704‧‧‧區塊
706‧‧‧區塊
708‧‧‧區塊
710‧‧‧區塊
712‧‧‧區塊
714‧‧‧區塊
716‧‧‧區塊
718‧‧‧區塊
720‧‧‧區塊
722‧‧‧區塊
724‧‧‧區塊
726‧‧‧區塊
800a‧‧‧程序
800b‧‧‧程序
802‧‧‧區塊
804‧‧‧區塊
808‧‧‧區塊
810‧‧‧區塊
812‧‧‧區塊
814‧‧‧區塊
816‧‧‧區塊
820‧‧‧區塊
822‧‧‧區塊
824‧‧‧區塊
826‧‧‧區塊
828‧‧‧區塊
830‧‧‧區塊
832‧‧‧區塊
834‧‧‧區塊
836‧‧‧區塊
840‧‧‧區塊
842‧‧‧區塊
850‧‧‧區塊
852‧‧‧區塊
900‧‧‧程序
902‧‧‧區塊
904‧‧‧區塊
906‧‧‧區塊
910‧‧‧區塊
912‧‧‧區塊
914‧‧‧區塊
920‧‧‧區塊
922‧‧‧區塊
930‧‧‧區塊
932‧‧‧區塊
1000‧‧‧程序
1002‧‧‧管理員控制器
1004‧‧‧新控制器
1010‧‧‧區塊
1012‧‧‧區塊
1014‧‧‧區塊
1016‧‧‧區塊
1018‧‧‧區塊
1020‧‧‧區塊
1022‧‧‧區塊
1024‧‧‧區塊
1026‧‧‧區塊
1028‧‧‧區塊
1030‧‧‧區塊
1032‧‧‧區塊
1034‧‧‧區塊
1036‧‧‧區塊
1038‧‧‧區塊
1040‧‧‧區塊
1042‧‧‧區塊
1044‧‧‧區塊
1046‧‧‧區塊
1100‧‧‧程序
1104‧‧‧另一控制器/其他控制器
1110‧‧‧區塊
1112‧‧‧區塊
1114‧‧‧區塊
1116‧‧‧區塊
1117‧‧‧區塊
1118‧‧‧區塊
1120‧‧‧區塊
1122‧‧‧區塊
1200‧‧‧程序
1202‧‧‧區塊
1204‧‧‧區塊
1206‧‧‧區塊
1208‧‧‧區塊
1210‧‧‧區塊
1212‧‧‧區塊
1214‧‧‧區塊
1216‧‧‧區塊
1218‧‧‧區塊
1220‧‧‧區塊
1222‧‧‧區塊
1300‧‧‧程序
1302‧‧‧區塊
1304‧‧‧區塊
1306‧‧‧區塊
1308‧‧‧區塊
1310‧‧‧區塊
1312‧‧‧區塊
1314‧‧‧區塊
1400‧‧‧程序
1402‧‧‧區塊
1404‧‧‧區塊
1406‧‧‧區塊
1408‧‧‧區塊
1410‧‧‧區塊
1412‧‧‧區塊
1414‧‧‧區塊
1500‧‧‧電腦系統
1502‧‧‧處理子系統
1504‧‧‧儲存子系統
1506‧‧‧使用者介面
1508‧‧‧網路介面
1600‧‧‧控制器
1610‧‧‧處理子系統
1612‧‧‧儲存器件
1614‧‧‧使用者介面
1616‧‧‧通訊介面
1618‧‧‧安全儲存模組
1620‧‧‧密碼編譯邏輯模組
1622‧‧‧控制器之長期公用及秘密密鑰
1624‧‧‧本端配對
1626‧‧‧中繼配對
1700‧‧‧配件
1728‧‧‧儲存器件
1730‧‧‧處理子系統
1732‧‧‧使用者介面
1734‧‧‧配件特定硬體
1736‧‧‧通訊介面
1738‧‧‧安全儲存模組
1740‧‧‧密碼編譯邏輯模組
1742‧‧‧配件之長期公用及秘密密鑰
1744‧‧‧本端配對
1746‧‧‧中繼配對
圖1展示根據本發明之一實施例的家庭環境。 圖2展示根據本發明之一實施例的網路組態。 圖3展示根據本發明之一實施例的中繼服務之簡化方塊圖。 圖4展示根據本發明之一實施例的配件啟動程序之簡化流程圖。 圖5展示根據本發明之一實施例的可供控制器獲得操作者中繼別名之程序的簡化流程圖。 圖6展示根據本發明之一實施例的用於交換操作者中繼別名與配件中繼別名之程序的簡化流程圖。 圖7展示根據本發明之一實施例的用於中繼配對之程序的簡化流程圖。 圖8A及圖8B展示根據本發明之一實施例的用於經由中繼服務而在控制器與配件之間傳達請求及回應訊息之程序的簡化流程圖。 圖9展示根據本發明之一實施例的用於經由中繼服務而將通知自配件中繼至控制器之程序的簡化流程圖。 圖10A及圖10B展示根據本發明之一實施例的用於新增用於另一使用者之中繼配對之程序的簡化流程圖。 圖11展示根據本發明之一實施例的用於移除中繼配對之程序的簡化流程圖。 圖12展示根據本發明之一實施例的用於在配件與配件信使伺服器(accessory courier server)之間建立連接之程序的簡化流程圖。 圖13展示根據本發明之一實施例的診斷程序之簡化流程圖。 圖14展示根據本發明之一實施例的調查程序之簡化流程圖。 圖15展示根據本發明之一實施例的電腦系統之簡化方塊圖。 圖16展示根據本發明之一實施例的控制器之簡化方塊圖。 圖17展示根據本發明之一實施例的配件之簡化方塊圖。
200‧‧‧網路組態
202(1)‧‧‧控制器
202(2)‧‧‧控制器
202(3)‧‧‧控制器
204(1)‧‧‧配件
204(2)‧‧‧配件
204(3)‧‧‧配件
206‧‧‧本端環境
208‧‧‧通訊網路
210‧‧‧存取點
212‧‧‧代理伺服器
220‧‧‧中繼服務/中繼伺服器
222‧‧‧安全端對端通訊路徑

Claims (20)

  1. 一種藉由一新控制器執行用於致使該新控制器控制由一第一控制器所控制之一或多個配件之方法,其包含: 自該第一控制器接收同意(consent)新增該新控制器以控制該一或多個配件之一請求; 判定是否將授予同意; 獲得一操作者中繼別名; 使用該操作者中繼別名傳送用於一同意符記(token)之一請求至一識別碼(identity)服務; 自該識別碼服務接收該同意符記; 傳送包括該同意符記之一第一訊息至該第一控制器;及 自該第一控制器接收包括一或多個存取符記及一或多個配件中繼別名之一第二訊息。
  2. 如請求項1之方法,其進一步包含儲存該一或多個存取符記。
  3. 如請求項2之方法,其進一步包含至少部分基於該一或多個存取符記而控制該一或多個配件。
  4. 如請求項1之方法,其進一步包含針對所接收之該一或多個配件中繼別名之每一配件中繼別名來判定一或多個配件識別符。
  5. 如請求項4之方法,其進一步包含儲存該一或多個配件識別符。
  6. 如請求項1之方法,其中該第一控制器及該新控制器經由一控制器信使(courier)服務來通信。
  7. 如請求項6之方法,其中該控制器信使服務包含一控制器對控制器傳訊(messaging)服務。
  8. 一種藉由一識別碼服務執行用於致使一新控制器控制由一第一控制器所控制之一或多個配件之方法,其包含: 自該新控制器接收用於一同意符記之一請求; 至少部分基於該請求而產生該同意符記; 傳送該同意符記至該新控制器; 自該第一控制器接收針對該新控制器擷取一存取符記之一請求; 針對該新控制器產生一新存取符記;及 傳送針對該新控制器之該新存取符記至該第一控制器。
  9. 如請求項8之方法,其中該第一控制器係一管理者控制器,其組態該新控制器對該一或多個配件之存取。
  10. 如請求項9之方法,其中該存取符記之該請求包括與該管理者控制器相關聯之一操作者中繼別名。
  11. 如請求項10之方法,其中另至少部分基於該操作者中繼別名而產生該同意符記。
  12. 如請求項8之方法,其中擷取該存取符記之該請求包括該同意符記。
  13. 如請求項12之方法,其進一步包含檢驗該同意符記。
  14. 如請求項8之方法,其進一步包含針對該一或多個配件之每一配件產生一配件中繼別名。
  15. 如請求項14之方法,其進一步包含傳送每一配件中繼別名至該第一控制器。
  16. 一種藉由一第一控制器執行用於致使一新控制器控制由該第一控制器所控制之一或多個配件之方法,其包含: 傳送同意新增該新控制器之一請求至該新控制器; 自該新控制器接收包括由一識別碼服務所產生之一同意符記之一第一訊息; 傳送接收用於該新控制器之一存取符記之一請求至該識別碼服務; 自該識別碼服務接收一或多個新存取符記; 傳送該一或多個新存取符記之一個別新存取符記至該一或多個配件之每一配件;及 傳送包括該一或多個新存取符記之一第二訊息至該新控制器。
  17. 如請求項16之方法,其中回應於自該新控制器之包括一操作者中繼別名之一請求而產生該同意符記。
  18. 如請求項17之方法,其中自該新控制器之該請求係至少部分基於自該第一控制器之一第二請求。
  19. 如請求項16之方法,其中接收該存取符記之該請求包括該同意符記。
  20. 如請求項16之方法,其中該第二訊息進一步包括對應於該一或多個配件之一或多個個別配件中繼別名。
TW106140144A 2015-06-05 2016-06-04 用於經由中繼服務而在控制器及配件間通訊的方法 TWI676372B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201562171995P 2015-06-05 2015-06-05
US62/171,995 2015-06-05
US15/064,406 2016-03-08
US15/064,406 US9680646B2 (en) 2015-02-05 2016-03-08 Relay service for communication between controllers and accessories

Publications (2)

Publication Number Publication Date
TW201806353A true TW201806353A (zh) 2018-02-16
TWI676372B TWI676372B (zh) 2019-11-01

Family

ID=56121222

Family Applications (2)

Application Number Title Priority Date Filing Date
TW106140144A TWI676372B (zh) 2015-06-05 2016-06-04 用於經由中繼服務而在控制器及配件間通訊的方法
TW105117768A TWI615054B (zh) 2015-06-05 2016-06-04 用於經由中繼服務而在控制器及配件間通訊的方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
TW105117768A TWI615054B (zh) 2015-06-05 2016-06-04 用於經由中繼服務而在控制器及配件間通訊的方法

Country Status (5)

Country Link
US (4) US9680646B2 (zh)
EP (3) EP3281388B1 (zh)
CN (2) CN110113427B (zh)
TW (2) TWI676372B (zh)
WO (1) WO2016196587A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11018862B2 (en) 2015-06-05 2021-05-25 Apple Inc. Relay service for communication between controllers and accessories

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10031722B1 (en) 2015-03-17 2018-07-24 Amazon Technologies, Inc. Grouping devices for voice control
US10655951B1 (en) 2015-06-25 2020-05-19 Amazon Technologies, Inc. Determining relative positions of user devices
US10365620B1 (en) 2015-06-30 2019-07-30 Amazon Technologies, Inc. Interoperability of secondary-device hubs
CN105228213B (zh) * 2015-09-30 2019-03-12 青岛海信移动通信技术股份有限公司 一种移动设备进行中继的方法和装置
US11806502B2 (en) 2015-11-20 2023-11-07 Tandem Diabetes Care Switzerland Sarl Micropump
US10863558B2 (en) * 2016-03-30 2020-12-08 Schweitzer Engineering Laboratories, Inc. Communication device for implementing trusted relationships in a software defined network
US10359746B2 (en) 2016-04-12 2019-07-23 SILVAIR Sp. z o.o. System and method for space-driven building automation and control including actor nodes subscribed to a set of addresses including addresses that are representative of spaces within a building to be controlled
US10270815B1 (en) * 2016-06-07 2019-04-23 Amazon Technologies, Inc. Enabling communications between a controlling device and a network-controlled device via a network-connected device service over a mobile communications network
US10270610B2 (en) * 2016-06-12 2019-04-23 Apple Inc. Selection of a coordinator device for an automated environment
CN107765838A (zh) * 2016-08-18 2018-03-06 北京北信源软件股份有限公司 人机交互辅助方法及装置
US10785313B2 (en) * 2016-09-23 2020-09-22 Apple Inc. Quick relay traffic management for cloud messaging
DE102016221614A1 (de) * 2016-11-04 2018-05-09 BSH Hausgeräte GmbH Verbinden eines Haushaltsgeräts mit einer Fernbedienung
US10333930B2 (en) * 2016-11-14 2019-06-25 General Electric Company System and method for transparent multi-factor authentication and security posture checking
WO2018131929A1 (ko) * 2017-01-13 2018-07-19 엘지전자(주) 블루투스 기술을 이용하여 장치를 제어하기 위한 방법 및 장치
EP3590225B1 (en) 2017-03-01 2020-08-12 Apple Inc. System access using a mobile device
US10404691B2 (en) 2017-03-02 2019-09-03 Bank Of America Corporation Preventing unauthorized access to secured information systems using authentication tokens
DE102017002543A1 (de) * 2017-03-15 2018-09-20 Marantec Antriebs- Und Steuerungstechnik Gmbh & Co. Kg Torsteuerung
JP6852515B2 (ja) * 2017-03-31 2021-03-31 沖電気工業株式会社 センサ管理システム、センサ管理方法、センサ管理プログラム及びセンサ管理装置
US10089801B1 (en) 2017-05-15 2018-10-02 Amazon Technologies, Inc. Universal access control device
US10496508B2 (en) 2017-06-02 2019-12-03 Apple Inc. Accessory communication control
CN109246161B (zh) * 2017-07-10 2021-08-17 中国电信股份有限公司 控制器的调度方法、装置和计算机可读存储介质
US10332325B2 (en) * 2017-09-05 2019-06-25 Suprema Inc. Access control system and access control method using the same
US10498538B2 (en) * 2017-09-25 2019-12-03 Amazon Technologies, Inc. Time-bound secure access
EP3720522B1 (en) 2017-12-08 2023-06-07 AMF Medical SA Drug delivery device
KR102026375B1 (ko) * 2017-12-18 2019-09-27 부산대학교 산학협력단 웨어러블 디바이스 통신 지원 장치 및 방법
US10652743B2 (en) 2017-12-21 2020-05-12 The Chamberlain Group, Inc. Security system for a moveable barrier operator
US10382284B1 (en) 2018-03-02 2019-08-13 SILVAIR Sp. z o.o. System and method for commissioning mesh network-capable devices within a building automation and control system
WO2019195143A1 (en) * 2018-04-05 2019-10-10 Visa International Service Association System, method, and apparatus for authenticating a user
US11805009B2 (en) * 2018-06-03 2023-10-31 Apple Inc. Configuring accessory network connections
US10595073B2 (en) 2018-06-03 2020-03-17 Apple Inc. Techniques for authorizing controller devices
US11074773B1 (en) 2018-06-27 2021-07-27 The Chamberlain Group, Inc. Network-based control of movable barrier operators for autonomous vehicles
US11423717B2 (en) * 2018-08-01 2022-08-23 The Chamberlain Group Llc Movable barrier operator and transmitter pairing over a network
WO2020072583A1 (en) * 2018-10-02 2020-04-09 Capital One Services, Llc Systems and methods for establishing identity for order pick up
EP3679690A1 (en) * 2018-10-08 2020-07-15 Google LLC Control and/or registration of smart devices, locally by an assistant client device
EP3847630A1 (en) * 2018-10-09 2021-07-14 Assa Abloy Ab Physical access control system and method
CN112823503B (zh) * 2018-11-20 2022-08-16 深圳市欢太科技有限公司 一种数据访问方法、数据访问装置及移动终端
EP3683636A1 (de) * 2019-01-18 2020-07-22 Siemens Aktiengesellschaft Kontextsensitives audit trail eines technischen systems
US11220856B2 (en) 2019-04-03 2022-01-11 The Chamberlain Group Llc Movable barrier operator enhancement device and method
US10997810B2 (en) 2019-05-16 2021-05-04 The Chamberlain Group, Inc. In-vehicle transmitter training
WO2020255084A1 (en) * 2019-06-19 2020-12-24 Calgary Scientific Inc. Software collaboration platform for advanced workflows and digital twins
US10542610B1 (en) 2019-08-28 2020-01-21 Silvar Sp. z o.o. Coordinated processing of published sensor values within a distributed network
US20210075783A1 (en) * 2019-09-10 2021-03-11 William Mazzara, JR. Authenticated vehicle diagnostic access techniques
US11223643B2 (en) * 2019-11-07 2022-01-11 Illumio, Inc. Managing a segmentation policy based on attack pattern detection
US11159931B1 (en) * 2020-09-02 2021-10-26 Uber Technologies, Inc. Systems and methods for secure pairing authorization of passenger applications and vehicles
CN113032128B (zh) * 2021-04-20 2024-05-17 北京微纳星空科技有限公司 一种多任务的控制方法、装置、电子设备及存储介质
US11529461B1 (en) 2021-06-01 2022-12-20 Amf Medical Sa Initialization for systems and methods for delivering microdoses of medication
US11857757B2 (en) 2021-06-01 2024-01-02 Tandem Diabetes Care Switzerland Sàrl Systems and methods for delivering microdoses of medication
US11679199B2 (en) 2021-06-01 2023-06-20 Amf Medical Sa Systems and methods for delivering microdoses of medication
US11785012B2 (en) 2021-06-07 2023-10-10 Bank Of America Corporation Data processing for internet of things (IoT) devices based on recorded user behavior
US11750502B2 (en) 2021-09-01 2023-09-05 Schweitzer Engineering Laboratories, Inc. Detection of in-band software defined network controllers using parallel redundancy protocol
US11336564B1 (en) 2021-09-01 2022-05-17 Schweitzer Engineering Laboratories, Inc. Detection of active hosts using parallel redundancy protocol in software defined networks
US20230328091A1 (en) * 2022-04-07 2023-10-12 Vmware, Inc. Automated discovery of vulnerable endpoints in an application server

Family Cites Families (209)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5530897A (en) * 1993-10-01 1996-06-25 International Business Machines Corporation System for dynamic association of a variable number of device addresses with input/output devices to allow increased concurrent requests for access to the input/output devices
US5632011A (en) * 1995-05-22 1997-05-20 Sterling Commerce, Inc. Electronic mail management system for operation on a host computer system
US6067628A (en) * 1998-04-09 2000-05-23 Intel Corporation Method to monitor universal serial bus hub overcurrent
TW393389B (en) 1998-10-02 2000-06-11 Floor Board Entpr Co Ltd A method of producing bamboo garniture for decoration and furniture
JP2001256156A (ja) * 2000-03-10 2001-09-21 Victor Co Of Japan Ltd 制御情報システムおよび制御情報伝送方法
US20020188867A1 (en) * 2001-06-08 2002-12-12 Bushey Robert D. System and method for appliance adaptation and evolution
US20030008659A1 (en) * 2001-06-20 2003-01-09 Waters John Deryk Locating items
JP4083404B2 (ja) * 2001-09-21 2008-04-30 株式会社日立製作所 データ処理システム及びこれに用いる記憶制御装置
FI114953B (fi) * 2001-09-28 2005-01-31 Nokia Corp Menetelmä käyttäjän tunnistamiseksi päätelaitteessa, tunnistusjärjestelmä, päätelaite ja käyttöoikeuksien varmistuslaite
US20030084162A1 (en) * 2001-10-31 2003-05-01 Johnson Bruce L. Managing peer-to-peer access to a device behind a firewall
US7150043B2 (en) * 2001-12-12 2006-12-12 International Business Machines Corporation Intrusion detection method and signature table
DK1470732T3 (da) * 2002-01-29 2019-12-02 Nokia Technologies Oy Fremskaffelse af lokaliseringsinformation
US20030182479A1 (en) * 2002-03-22 2003-09-25 Dieter Massa Implementing clustering in raid controllers
JP2005525732A (ja) 2002-04-19 2005-08-25 スティーブン、ジェー、カールトン 分散配置されたメモリとマッチメーキングするための携帯通信装置および方法
US20030233578A1 (en) * 2002-05-31 2003-12-18 Sri International Secure fault tolerant grouping wireless networks and network embedded systems
US20030236980A1 (en) * 2002-06-20 2003-12-25 Hsu Raymond T. Authentication in a communication system
US7130584B2 (en) 2003-03-07 2006-10-31 Nokia Corporation Method and device for identifying and pairing Bluetooth devices
US7634252B2 (en) * 2003-03-07 2009-12-15 Computer Assocaites Think, Inc. Mobility management in wireless networks
KR100574519B1 (ko) * 2003-03-19 2006-04-27 삼성전자주식회사 네트워크를 통한 기기정보의 관리장치 및 방법
US7418485B2 (en) * 2003-04-24 2008-08-26 Nokia Corporation System and method for addressing networked terminals via pseudonym translation
US7545941B2 (en) * 2003-09-16 2009-06-09 Nokia Corporation Method of initializing and using a security association for middleware based on physical proximity
US7154862B2 (en) * 2003-12-31 2006-12-26 Openpeak Inc. Device control system, method, and apparatus for server-based or peer-to-peer network environments
CN1674594A (zh) * 2004-03-23 2005-09-28 松下电器产业株式会社 器械控制装置、电器械、器械设置地点的设定系统、设定方法及程序
US7301463B1 (en) * 2004-04-14 2007-11-27 Sage Life Technologies, Llc Assisting and monitoring method and system
US20060019635A1 (en) * 2004-06-29 2006-01-26 Nokia Corporation Enhanced use of a network access identifier in wlan
TWI272796B (en) * 2004-06-30 2007-02-01 Huang-Jang Yang System using Internet as communication medium applied to electric appliance for remote operation control
US7697691B2 (en) * 2004-07-14 2010-04-13 Intel Corporation Method of delivering Direct Proof private keys to devices using an on-line service
US7698561B2 (en) * 2004-08-12 2010-04-13 Cisco Technology, Inc. Method and system for detection of aliases in a network
CN101069402B (zh) * 2004-10-26 2010-11-03 意大利电信股份公司 透明地验证访问web服务的移动用户的方法和系统
US8090105B2 (en) * 2004-11-24 2012-01-03 International Business Machines Corporation Broadcast encryption with dual tree sizes
US20060123014A1 (en) * 2004-12-07 2006-06-08 David Ng Ranking Internet Search Results Based on Number of Mobile Device Visits to Physical Locations Related to the Search Results
US8190696B2 (en) * 2004-12-28 2012-05-29 Cisco Technology, Inc. Distributed name services in a fibre channel fabric
US7631354B2 (en) * 2004-12-30 2009-12-08 Intel Corporation System security agent authentication and alert distribution
TWM272796U (en) 2005-02-02 2005-08-11 Ren-Yue Ke Improvement on sinker ring of knitting machine
US8127147B2 (en) * 2005-05-10 2012-02-28 Seagate Technology Llc Method and apparatus for securing data storage while insuring control by logical roles
US7684421B2 (en) * 2005-06-09 2010-03-23 Lockheed Martin Corporation Information routing in a distributed environment
US7543287B2 (en) * 2005-06-30 2009-06-02 Intel Corporation Using a block device interface to invoke device controller functionality
US8320880B2 (en) * 2005-07-20 2012-11-27 Qualcomm Incorporated Apparatus and methods for secure architectures in wireless networks
US20090006795A1 (en) * 2005-08-22 2009-01-01 Steven Bress Security protection for cumputer long-term memory devices
US7788704B2 (en) * 2005-09-15 2010-08-31 Cisco Technology, Inc. Method and system for secure connection of peripheral device to processing device
US20070130321A1 (en) * 2005-12-01 2007-06-07 Gpxs Holding Ltd. Event detection and reporting for a mobile electronic device
US8510812B2 (en) * 2006-03-15 2013-08-13 Fortinet, Inc. Computerized system and method for deployment of management tunnels
DE102006012311A1 (de) * 2006-03-17 2007-09-20 Deutsche Telekom Ag Verfahren und Vorrichtung zur Pseudonymisierung von digitalen Daten
US20070287421A1 (en) * 2006-06-07 2007-12-13 Tony Kirke Method and system for providing continuity of service with an existing communication network
US20080005227A1 (en) * 2006-07-03 2008-01-03 Srinivasan Subbian Method and system for content processing
US20080005228A1 (en) * 2006-07-03 2008-01-03 Srinivasan Subbian Method and system for communicating to networks using mobile phones
US8079068B2 (en) * 2006-07-17 2011-12-13 Research In Motion Limited Management of multiple connections to a security token access device
US20080047009A1 (en) * 2006-07-20 2008-02-21 Kevin Overcash System and method of securing networks against applications threats
US7574202B1 (en) * 2006-07-21 2009-08-11 Airsurf Wireless Inc. System and methods for a secure and segregated computer network
US20080074262A1 (en) * 2006-09-20 2008-03-27 Paulkovich Michael B Asset protection system and method
US20080082453A1 (en) * 2006-10-02 2008-04-03 Storage Appliance Corporation Methods for bundling credits with electronic devices and systems for implementing the same
US8135994B2 (en) * 2006-10-30 2012-03-13 The Trustees Of Columbia University In The City Of New York Methods, media, and systems for detecting an anomalous sequence of function calls
US8407160B2 (en) * 2006-11-15 2013-03-26 The Trustees Of Columbia University In The City Of New York Systems, methods, and media for generating sanitized data, sanitizing anomaly detection models, and/or generating sanitized anomaly detection models
US8065397B2 (en) * 2006-12-26 2011-11-22 Axeda Acquisition Corporation Managing configurations of distributed devices
US7782797B2 (en) * 2007-02-27 2010-08-24 Hatteras Networks Methods and apparatus for self partitioning a data network to prevent address conflicts
US7716011B2 (en) * 2007-02-28 2010-05-11 Microsoft Corporation Strategies for identifying anomalies in time-series data
EP2149084B1 (en) * 2007-04-17 2019-03-27 Visa U.S.A. Inc. Method and system for authenticating a party to a transaction
US7992153B2 (en) * 2007-05-30 2011-08-02 Red Hat, Inc. Queuing for thread pools using number of bytes
CN101325801B (zh) * 2007-06-12 2013-05-01 北京三星通信技术研究有限公司 Wimax网络中定位业务认证和授权检查的方法和装置
US8331334B2 (en) * 2007-07-20 2012-12-11 Broadcom Corporation Method and system for a handheld wireless communication device for configuring connection to and use of local and remote resources
US8078787B2 (en) * 2007-06-22 2011-12-13 Apple Inc. Communication between a host device and an accessory via an intermediate device
WO2009008809A2 (en) * 2007-07-06 2009-01-15 Telefonaktiebolaget L M Ericsson (Publ) Systems and methods for enabling a service provider to obtain and use user information
US7729366B2 (en) * 2007-10-03 2010-06-01 General Instrument Corporation Method, apparatus and system for network mobility of a mobile communication device
EP2258126B9 (en) * 2008-04-02 2013-06-19 Nokia Siemens Networks OY Security for a non-3gpp access to an evolved packet system
US8208853B2 (en) * 2008-09-08 2012-06-26 Apple Inc. Accessory device authentication
US8812616B2 (en) * 2008-10-03 2014-08-19 Systech Corporation Remote port access (RPA) server
US8060936B2 (en) * 2008-10-21 2011-11-15 Lookout, Inc. Security status and information display system
US8341717B1 (en) * 2008-11-13 2012-12-25 Sprint Communications Company L.P. Dynamic network policies based on device classification
US8630683B2 (en) * 2008-11-24 2014-01-14 Centurylink Intellectual Property Llc System and method for displaying information associated with a cellular device on a user specified display unit
WO2010088550A2 (en) * 2009-01-29 2010-08-05 Breach Security, Inc. A method and apparatus for excessive access rate detection
US8291468B1 (en) * 2009-03-30 2012-10-16 Juniper Networks, Inc. Translating authorization information within computer networks
US8468271B1 (en) * 2009-06-02 2013-06-18 Juniper Networks, Inc. Providing privacy within computer networks using anonymous cookies
US20110010770A1 (en) * 2009-07-10 2011-01-13 Certicom Corp. System and method for performing key injection to devices
MY155814A (en) * 2009-07-10 2015-11-30 Certicom Corp System and method for performing serialization of devices
US9590961B2 (en) * 2009-07-14 2017-03-07 Alcatel Lucent Automated security provisioning protocol for wide area network communication devices in open device environment
CN101711029A (zh) * 2009-12-17 2010-05-19 中国联合网络通信集团有限公司 终端的接入认证方法和设备及恢复设备合法性的方法
US8521934B1 (en) * 2010-02-25 2013-08-27 Fresco Logic, Inc. Multi-port context-based host controller
US8661536B2 (en) * 2010-03-17 2014-02-25 Microsoft Corporation Side channel attack analysis
JP5337909B2 (ja) * 2010-03-30 2013-11-06 株式会社東芝 異常検出装置
US8578161B2 (en) * 2010-04-01 2013-11-05 Intel Corporation Protocol for authenticating functionality in a peripheral device
CN103026682A (zh) * 2010-06-16 2013-04-03 德尔斐系统有限公司 无线装置启动锁定系统
US8516551B2 (en) * 2010-07-28 2013-08-20 Intel Corporation Providing a multi-phase lockstep integrity reporting mechanism
CA2813408C (en) * 2010-10-14 2020-02-18 Fourthwall Media, Inc. Systems and methods for providing companion services to customer premises equipment using an ip-based infrastructure
CN102546584B (zh) 2010-11-01 2015-05-27 微软公司 附件特定的用户体验的调用
US9215244B2 (en) * 2010-11-18 2015-12-15 The Boeing Company Context aware network security monitoring for threat detection
TW201222273A (en) * 2010-11-29 2012-06-01 Inventec Corp Computer system and method for managing computer device
CN102479148A (zh) * 2010-11-30 2012-05-30 英业达股份有限公司 周边元件的输入输出端口状态的监控系统与其方法
US20140002236A1 (en) * 2010-12-02 2014-01-02 Viscount Security Systems Inc. Door Lock, System and Method for Remotely Controlled Access
US20120166334A1 (en) * 2010-12-23 2012-06-28 Debbie Kimberg Methods and systems for identity based transactions
US20120240203A1 (en) * 2011-03-16 2012-09-20 Kling Ashley S Method and apparatus for enhancing online transaction security via secondary confirmation
US9473485B2 (en) * 2011-03-21 2016-10-18 Blue Cedar Networks, Inc. Secure single sign-on for a group of wrapped applications on a computing device and runtime credential sharing
US9032493B2 (en) * 2011-03-31 2015-05-12 Intel Corporation Connecting mobile devices, internet-connected vehicles, and cloud services
US20120280790A1 (en) * 2011-05-02 2012-11-08 Apigy Inc. Systems and methods for controlling a locking mechanism using a portable electronic device
US8850216B1 (en) * 2011-05-19 2014-09-30 Telefonaktiebolaget Lm Ericsson (Publ) Client device and media client authentication mechanism
US9003094B2 (en) * 2011-08-30 2015-04-07 Red Hat Israel, Ltd. Optimistic interrupt affinity for devices
US20130061316A1 (en) * 2011-09-06 2013-03-07 Microsoft Corporation Capability Access Management for Processes
US9292408B2 (en) * 2011-09-21 2016-03-22 Hewlett Packard Enterprise Development Lp Automated detection of a system anomaly
US9286471B2 (en) * 2011-10-11 2016-03-15 Citrix Systems, Inc. Rules based detection and correction of problems on mobile devices of enterprise users
US8732810B2 (en) * 2011-10-27 2014-05-20 Cellco Partnership IP push platform and connection protocol in a push notification framework
US20130152153A1 (en) * 2011-12-07 2013-06-13 Reginald Weiser Systems and methods for providing security for sip and pbx communications
US20130147511A1 (en) * 2011-12-07 2013-06-13 Patrick Koeberl Offline Device Authentication and Anti-Counterfeiting Using Physically Unclonable Functions
US8793810B2 (en) * 2012-01-09 2014-07-29 Blackberry Limited Semiconductor-based device authentication
CN103597691B (zh) * 2012-02-10 2016-10-12 松下知识产权经营株式会社 设定方法、设备认证方法、设备认证系统以及服务器
US9832211B2 (en) * 2012-03-19 2017-11-28 Qualcomm, Incorporated Computing device to detect malware
US8950009B2 (en) * 2012-03-30 2015-02-03 Commvault Systems, Inc. Information management of data associated with multiple cloud services
US8819445B2 (en) * 2012-04-09 2014-08-26 Mcafee, Inc. Wireless token authentication
WO2013166501A1 (en) * 2012-05-04 2013-11-07 Visa International Service Association System and method for local data conversion
US8837315B2 (en) * 2012-05-07 2014-09-16 Cisco Technology, Inc. Smart zoning using device alias database
US9324034B2 (en) * 2012-05-14 2016-04-26 Qualcomm Incorporated On-device real-time behavior analyzer
US9130837B2 (en) * 2012-05-22 2015-09-08 Cisco Technology, Inc. System and method for enabling unconfigured devices to join an autonomic network in a secure manner
US20130339546A1 (en) * 2012-06-13 2013-12-19 Cellco Partnership D/B/A Verizon Wireless Device identification
US9177129B2 (en) * 2012-06-27 2015-11-03 Intel Corporation Devices, systems, and methods for monitoring and asserting trust level using persistent trust log
TWI615037B (zh) * 2012-06-27 2018-02-11 尤比奎蒂網絡公司 控制感應器裝置的方法和設備
US9942257B1 (en) * 2012-07-11 2018-04-10 Amazon Technologies, Inc. Trustworthy indication of software integrity
US8667607B2 (en) * 2012-07-24 2014-03-04 Sprint Communications Company L.P. Trusted security zone access to peripheral devices
EP2881676B1 (en) * 2012-07-30 2018-09-05 Panasonic Intellectual Property Management Co., Ltd. Operation system for home electric appliances and program for operating home electric appliances
US9183412B2 (en) * 2012-08-10 2015-11-10 Sprint Communications Company L.P. Systems and methods for provisioning and using multiple trusted security zones on an electronic device
US9330257B2 (en) * 2012-08-15 2016-05-03 Qualcomm Incorporated Adaptive observation of behavioral features on a mobile device
US20140150100A1 (en) * 2012-08-15 2014-05-29 Qualcomm Incorporated Adaptive Observation of Driver and Hardware Level Behavioral Features on a Mobile Device
US9747440B2 (en) * 2012-08-15 2017-08-29 Qualcomm Incorporated On-line behavioral analysis engine in mobile device with multiple analyzer model providers
US9867043B2 (en) * 2012-08-28 2018-01-09 Visa International Service Association Secure device service enrollment
US20140068744A1 (en) * 2012-09-06 2014-03-06 Plantronics, Inc. Surrogate Secure Pairing of Devices
US8752140B1 (en) * 2012-09-11 2014-06-10 Sprint Communications Company L.P. System and methods for trusted internet domain networking
US9264301B1 (en) * 2012-09-20 2016-02-16 Wiretap Ventures, LLC High availability for software defined networks
US9507329B2 (en) * 2012-09-21 2016-11-29 Apple Inc. Apparatus and methods for controlled switching of electronic access clients without requiring network access
US9497029B2 (en) * 2012-09-28 2016-11-15 Intel Corporation Hardening of direct anonymous attestation from side-channel attack
CN102938729B (zh) * 2012-10-30 2016-12-21 山东智慧生活数据系统有限公司 智能网关、智能家居系统及家电设备的远程控制方法
US10521794B2 (en) * 2012-12-10 2019-12-31 Visa International Service Association Authenticating remote transactions using a mobile device
US9185742B2 (en) * 2012-12-13 2015-11-10 Google Technology Holdings LLC System and methods for a cloud based wireless personal area network service enabling context activity handoffs between devices
US20140173692A1 (en) * 2012-12-15 2014-06-19 Sudharshan Srinivasan Bring your own device system using a mobile accessory device
US9386045B2 (en) * 2012-12-19 2016-07-05 Visa International Service Association Device communication based on device trustworthiness
US9081604B2 (en) * 2012-12-21 2015-07-14 Red Hat Israel, Ltd. Automatic discovery of externally added devices
US10409980B2 (en) * 2012-12-27 2019-09-10 Crowdstrike, Inc. Real-time representation of security-relevant system state
US8438631B1 (en) * 2013-01-24 2013-05-07 Sideband Networks, Inc. Security enclave device to extend a virtual secure processing environment to a client device
DE102013000789A1 (de) * 2013-01-17 2014-07-17 Unify Gmbh & Co. Kg Dockingstation und Verfahren für die Anbindung eines mobilen Kommunikationsendgeräts an eine zumindest teilweise drahtbasierte Kommunikationsinfrastruktur
US9491187B2 (en) * 2013-02-15 2016-11-08 Qualcomm Incorporated APIs for obtaining device-specific behavior classifier models from the cloud
EP2973275A1 (en) * 2013-03-14 2016-01-20 Ologn Technologies AG Methods, apparatuses and systems for providing user authentication
US9049013B2 (en) * 2013-03-14 2015-06-02 Sprint Communications Company L.P. Trusted security zone containers for the protection and confidentiality of trusted service manager data
US9219607B2 (en) * 2013-03-14 2015-12-22 Arris Technology, Inc. Provisioning sensitive data into third party
KR101707462B1 (ko) 2013-03-15 2017-02-16 인텔 코포레이션 모바일 컴퓨팅 디바이스 기술 및 기술 이용 시스템 및 방법
KR102163357B1 (ko) * 2013-05-21 2020-10-08 삼성전자주식회사 애플리케이션 관리 방법 및 장치
US9247443B2 (en) * 2013-07-25 2016-01-26 Qualcomm Incorporated Method and apparatus for use in detecting changes within wireless signal environment
CN104346264A (zh) * 2013-07-26 2015-02-11 鸿富锦精密工业(深圳)有限公司 系统事件日志处理系统及方法
US20150032623A1 (en) * 2013-07-29 2015-01-29 Mastercard International Incorporated Systems and methods to enable payments in the absence of a point of sale device
JP2015036900A (ja) * 2013-08-13 2015-02-23 キヤノン株式会社 情報処理装置およびその制御方法、プログラム
US9883257B2 (en) * 2013-08-14 2018-01-30 Atmel Corporation Smart grid appliance control
US9276951B2 (en) * 2013-08-23 2016-03-01 The Boeing Company System and method for discovering optimal network attack paths
US9497204B2 (en) * 2013-08-30 2016-11-15 Ut-Battelle, Llc In-situ trainable intrusion detection system
US9448859B2 (en) * 2013-09-17 2016-09-20 Qualcomm Incorporated Exploiting hot application programming interfaces (APIs) and action patterns for efficient storage of API logs on mobile devices for behavioral analysis
US9607146B2 (en) * 2013-09-18 2017-03-28 Qualcomm Incorporated Data flow based behavioral analysis on mobile devices
US10681754B2 (en) * 2013-09-24 2020-06-09 Samsung Electronics Co., Ltd. Apparatus and method for establishing network controlled direct connection in communication system supporting device to device scheme
CN105981443B (zh) * 2013-09-30 2020-02-18 施耐德电气工业简易股份公司 云认证的场所资源管理设备、装置、方法和系统
KR101388090B1 (ko) * 2013-10-15 2014-04-22 펜타시큐리티시스템 주식회사 이벤트 분석에 기반한 사이버 공격 탐지 장치 및 방법
US9860235B2 (en) * 2013-10-17 2018-01-02 Arm Ip Limited Method of establishing a trusted identity for an agent device
US9147072B2 (en) * 2013-10-28 2015-09-29 Qualcomm Incorporated Method and system for performing behavioral analysis operations in a mobile device based on application state
US9391866B1 (en) * 2013-11-14 2016-07-12 Sprint Communication Company L.P. Method for qualitative analysis of system performance correlation factors
US10177933B2 (en) 2014-02-05 2019-01-08 Apple Inc. Controller networks for an accessory management system
US9124575B2 (en) * 2013-11-27 2015-09-01 Sap Se Self-single sign-on
US9386034B2 (en) * 2013-12-17 2016-07-05 Hoplite Industries, Inc. Behavioral model based malware protection system and method
US9612744B1 (en) * 2013-12-20 2017-04-04 Western Digital Technologies, Inc. Location-aware behavior for a data storage device
US9065819B1 (en) * 2013-12-23 2015-06-23 Cellco Partnership Single sign on (SSO) authorization and authentication for mobile communication devices
US20150193336A1 (en) * 2014-01-06 2015-07-09 Hon Hai Precision Industry Co., Ltd. Computing device and method for recording system event logs of computing device
US9992090B2 (en) * 2014-01-08 2018-06-05 Bank Of America Corporation Data metrics analytics
US10334650B2 (en) * 2014-01-29 2019-06-25 Yodel Code LLC Automatic peer selection in a field of common peers
KR102186012B1 (ko) 2014-02-05 2020-12-04 애플 인크. 제어기와 액세서리 사이의 통신을 위한 균일한 통신 프로토콜
US20150256413A1 (en) * 2014-03-06 2015-09-10 Sideband Networks Inc. Network system with live topology mechanism and method of operation thereof
US9172605B2 (en) * 2014-03-07 2015-10-27 Ubiquiti Networks, Inc. Cloud device identification and authentication
US10176428B2 (en) * 2014-03-13 2019-01-08 Qualcomm Incorporated Behavioral analysis for securing peripheral devices
US10498777B2 (en) * 2014-03-17 2019-12-03 Citrix Systems, Inc. Real-time push notifications for cloud-based applications
SG11201608973TA (en) * 2014-05-01 2016-11-29 Visa Int Service Ass Data verification using access device
JPWO2015174067A1 (ja) * 2014-05-14 2017-04-20 日本電気株式会社 情報処理装置、異常検出方法、及び、記録媒体
WO2015184387A1 (en) 2014-05-30 2015-12-03 Apple Inc. Accessory management system using environment model
WO2015187730A1 (en) * 2014-06-02 2015-12-10 Bastille Networks, Inc. Electromagnetic threat detection and mitigation in the internet of things
WO2015187718A1 (en) * 2014-06-02 2015-12-10 iDevices, LLC Systems and methods for secure communication over a network using a linking address
US20150358476A1 (en) * 2014-06-05 2015-12-10 Jose Julian Flores-Estrada System for conducting packet service telecommunications on non-packet enabled devices
US9635010B2 (en) * 2014-06-13 2017-04-25 Verizon Patent And Licensing Inc. Network-based authentication for third party content
US20150370272A1 (en) * 2014-06-23 2015-12-24 Google Inc. Intelligent configuration of a smart environment based on arrival time
US20160021518A1 (en) * 2014-07-16 2016-01-21 Shadow SMS, LLC System and method for communicating anonymously
US9705914B2 (en) * 2014-07-23 2017-07-11 Cisco Technology, Inc. Signature creation for unknown attacks
US9398143B1 (en) * 2014-08-11 2016-07-19 Amazon Technologies, Inc. Automatic determination of device mode based on use characteristics
CN104240346B (zh) * 2014-09-05 2018-06-05 深圳坚朗海贝斯智能科技有限公司 一种基于智能移动终端互联的智能防盗锁系统
US9692599B1 (en) * 2014-09-16 2017-06-27 Google Inc. Security module endorsement
US9699027B2 (en) * 2014-09-23 2017-07-04 Cisco Technology, Inc. Bifurcated control and management planes for fiber channel networks
US20160105801A1 (en) * 2014-10-09 2016-04-14 Microsoft Corporation Geo-based analysis for detecting abnormal logins
US9684775B2 (en) * 2014-10-15 2017-06-20 Qualcomm Incorporated Methods and systems for using behavioral analysis towards efficient continuous authentication
US9843594B1 (en) * 2014-10-28 2017-12-12 Symantec Corporation Systems and methods for detecting anomalous messages in automobile networks
US9876792B2 (en) * 2014-10-30 2018-01-23 Dell Products, Lp Apparatus and method for host abstracted networked authorization
US9945928B2 (en) * 2014-10-30 2018-04-17 Bastille Networks, Inc. Computational signal processing architectures for electromagnetic signature analysis
US9992401B2 (en) * 2014-11-04 2018-06-05 Axis Ab Configuring a device in a network
US9716788B2 (en) * 2014-11-13 2017-07-25 Verizon Patent And Licensing Inc. Multiple secondary device call controls and protocols
CN204326718U (zh) * 2014-12-04 2015-05-13 大连智慧城科技有限公司 一种锁具保护系统
US9420464B2 (en) * 2014-12-15 2016-08-16 Intel Corporation Technologies for controlling network access based on electronic device communication fingerprints
US9712545B2 (en) * 2014-12-23 2017-07-18 Mcafee, Inc. Detection of a malicious peripheral
US10429177B2 (en) * 2014-12-30 2019-10-01 Google Llc Blocked sensor detection and notification
US20160219066A1 (en) * 2015-01-26 2016-07-28 Cisco Technology, Inc. Event correlation in a network merging local graph models from distributed nodes
US9940457B2 (en) * 2015-02-13 2018-04-10 International Business Machines Corporation Detecting a cryogenic attack on a memory device with embedded error correction
US9680646B2 (en) 2015-02-05 2017-06-13 Apple Inc. Relay service for communication between controllers and accessories
US9680822B2 (en) * 2015-02-12 2017-06-13 At&T Mobility Ii Llc Point of sale pairing
US10353849B2 (en) * 2015-02-25 2019-07-16 Dell Products, Lp System and method for tracking peripheral proximity by multiple masters
US20160253077A1 (en) * 2015-02-27 2016-09-01 General Electric Company Synchronizing system and method for syncing event logs from different monitoring systems
US9979606B2 (en) * 2015-03-04 2018-05-22 Qualcomm Incorporated Behavioral analysis to automate direct and indirect local monitoring of internet of things device health
US9633197B2 (en) * 2015-03-06 2017-04-25 Verisign, Inc. Systems and methods for device detection and authorization in a IOT framework
US9787704B2 (en) * 2015-03-06 2017-10-10 Ca, Inc. Anomaly detection based on cluster transitions
US10063585B2 (en) * 2015-03-18 2018-08-28 Qualcomm Incorporated Methods and systems for automated anonymous crowdsourcing of characterized device behaviors
US10496974B2 (en) * 2015-03-25 2019-12-03 Intel Corporation Secure transactions with connected peripherals
US9686675B2 (en) * 2015-03-30 2017-06-20 Netscout Systems Texas, Llc Systems, methods and devices for deriving subscriber and device identifiers in a communication network
US10032038B2 (en) * 2015-04-29 2018-07-24 Apple Inc. File system support for rolling keys
US20160369777A1 (en) * 2015-06-03 2016-12-22 Bigwood Technology, Inc. System and method for detecting anomaly conditions of sensor attached devices
TWM615054U (zh) 2021-02-24 2021-08-01 證洋股份有限公司 防潮保險箱

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11018862B2 (en) 2015-06-05 2021-05-25 Apple Inc. Relay service for communication between controllers and accessories
US11831770B2 (en) 2015-06-05 2023-11-28 Apple Inc. Relay service for communication between controllers and accessories

Also Published As

Publication number Publication date
EP3281388B1 (en) 2019-08-07
EP3591943A1 (en) 2020-01-08
US20190068371A1 (en) 2019-02-28
EP4325814A3 (en) 2024-05-01
CN107683601A (zh) 2018-02-09
US11018862B2 (en) 2021-05-25
US11831770B2 (en) 2023-11-28
WO2016196587A1 (en) 2016-12-08
US20170346630A1 (en) 2017-11-30
EP3281388A1 (en) 2018-02-14
US10057062B2 (en) 2018-08-21
EP4325814A2 (en) 2024-02-21
TWI676372B (zh) 2019-11-01
TW201707497A (zh) 2017-02-16
CN107683601B (zh) 2019-05-21
US9680646B2 (en) 2017-06-13
US20210273802A1 (en) 2021-09-02
US20160359629A1 (en) 2016-12-08
CN110113427A (zh) 2019-08-09
TWI615054B (zh) 2018-02-11
CN110113427B (zh) 2022-09-02
EP3591943B1 (en) 2024-05-29

Similar Documents

Publication Publication Date Title
TWI676372B (zh) 用於經由中繼服務而在控制器及配件間通訊的方法
US11425104B2 (en) Secure transfer of a data object between user devices
US10630647B2 (en) Secure wireless communication between controllers and accessories
KR102293116B1 (ko) 제어기와 액세서리 사이의 통신을 위한 균일한 통신 프로토콜
EP3149548B1 (en) Controller networks for an accessory management system
CN106961334B (zh) 控制器和附件之间的安全无线通信
WO2015184382A2 (en) Controller networks for an accessory management system