JP6596091B2 - 物のインターネットのプラットフォーム、装置、及び方法 - Google Patents

物のインターネットのプラットフォーム、装置、及び方法 Download PDF

Info

Publication number
JP6596091B2
JP6596091B2 JP2017533332A JP2017533332A JP6596091B2 JP 6596091 B2 JP6596091 B2 JP 6596091B2 JP 2017533332 A JP2017533332 A JP 2017533332A JP 2017533332 A JP2017533332 A JP 2017533332A JP 6596091 B2 JP6596091 B2 JP 6596091B2
Authority
JP
Japan
Prior art keywords
iot
hub
public
key
iot hub
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2017533332A
Other languages
English (en)
Other versions
JP2018504033A5 (ja
JP2018504033A (ja
Inventor
ジョー ブリット
シン マツムラ
フーマン フォルード
スコット ツィマーマン
フィリップ マイルズ
ショーン ザウィッキ
ダイスケ クタミ
シャノン ホーランド
ジャスティン リー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Afero Inc
Original Assignee
Afero Inc
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
Priority claimed from US14/575,535 external-priority patent/US20160180100A1/en
Priority claimed from US14/575,463 external-priority patent/US9832173B2/en
Application filed by Afero Inc filed Critical Afero Inc
Publication of JP2018504033A publication Critical patent/JP2018504033A/ja
Publication of JP2018504033A5 publication Critical patent/JP2018504033A5/ja
Application granted granted Critical
Publication of JP6596091B2 publication Critical patent/JP6596091B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/42User authentication using separate channels for security data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/50Secure pairing of devices
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Telephonic Communication Services (AREA)

Description

本発明は、概して、コンピュータシステムの分野に関する。より具体的には、本発明は、ネットワークデバイスを安全に接続するためのシステムのインターネット及び方法に関する。
「物のインターネット」は、インターネットインフラストラクチャ内に、一意的に識別可能に組み込まれたデバイスの相互接続を指す。最終的に、IoTは、事実上あらゆるタイプの物理的な物が、それ自体若しくはその周囲についての情報を提供し得、及び/又はインターネットを介し、クライアントデバイスを介して遠隔制御され得る、広範囲の新しいタイプのアプリケーションをもたらすことが期待される。
接続性、電力、及び標準化の欠如に関連する問題のために、IoT開発及び採用は遅れている。例えば、IoT開発及び採用に対する1つの障害は、開発者が新しいIoTデバイス及びサービスを設計して提供することを可能にする標準プラットフォームが存在しないことである。IoT市場に参入するためには、開発者は、所望のIoT実装に対応するために必要なネットワークプロトコル及びインフラストラクチャ、ハードウェア、ソフトウェア、並びにサービスを含む、IoTプラットフォーム全体を一から設計する必要がある。その結果、IoTデバイスの各プロバイダは、IoTデバイスの設計と接続に独自の技術を使用し、複数のタイプのIoTデバイスの採用がエンドユーザにとって負担になる。IoTの採用への別の障害は、IoTデバイスの接続と給電に関連付けられる困難である。例えば、冷蔵庫、ガレージドアオープナ、環境センサ、家庭用セキュリティセンサ/コントローラなどの接続機器は、接続された各IoT機器に給電するための電源を必要とし、そのような電源はしばしば便利な位置に設けられていない。
本発明のより良好な理解は、以下の図面と共に以下の詳細な説明から得ることができる。
IoTシステムアーキテクチャの異なる実施形態を示す。 IoTシステムアーキテクチャの異なる実施形態を示す。 本発明の一実施形態によるIoTデバイスを示す。 本発明の一実施形態によるIoTハブを示す。 セキュリティアーキテクチャの一実施形態の高レベル図を示す。 IoTデバイス上に鍵を記憶するために加入者識別モジュール(SIM)が使用されるアーキテクチャの一実施形態を示す。 バーコード又はQRコード(登録商標)を使用してIoTデバイスが登録される一実施形態を示す。 バーコード又はQRコード(登録商標)を使用してペアリングが実行される一実施形態を示す。 IoTハブを使用してSIMをプログラミングするための方法の一実施形態を示す。 IoTデバイスをIoTハブ及びIoTサービスに登録するための方法の一実施形態を示す。 IoTデバイスに送信されるデータを暗号化するための方法の一実施形態を示す。
以下の説明では、説明を目的として、以下に記載される本発明の実施形態の完全な理解を提供するために、多数の特定の詳細が示される。しかしながら、当業者には、本発明の実施形態は、これらの特定の詳細のうちのいくつかを用いずに実施することができることは明らかである。他の例では、本発明の実施形態の根本的な原理を不明瞭にすることを避けるために、周知の構造及びデバイスをブロック図の形態で示す。
本発明の一実施形態は、新しいIoTデバイス及びアプリケーションを設計及び構築するために開発者によって利用され得る物のインターネット(IoT)プラットフォームを備える。具体的には、一実施形態は、所定のネットワーキングプロトコルスタックを含むIoTデバイス、及びIoTデバイスがインターネットに連結されるIoTハブ用の基本ハードウェア/ソフトウェアプラットフォームを含む。更に、一実施形態は、IoTサービスを含み、これを通じてIoTハブ及び接続されたIoTデバイスが、以下に説明するようにアクセスされ、管理され得る。更に、IoTプラットフォームの一実施形態は、IoTサービス、ハブ、及び接続されたデバイスにアクセス及び構成するためのIoTアプリケーション又はウェブアプリケーション(例えば、クライアントデバイス上で実行される)を含む。既存のオンライン小売業者及び他のウェブサイトオペレータは、本明細書に記載されたIoTプラットフォームを利用して、既存のユーザベースに独自のIoT機能を容易に提供することができる。
図1Aは、本発明の実施形態を実装することができるアーキテクチャプラットフォームの概要を示す。具体的には、図示の実施形態は、それ自体インターネット220を介してIoTサービス120に通信可能に連結されている中央IoTハブ110に、ローカル通信チャンネル130を介して通信可能に連結された複数のIoTデバイス101〜105を含む。IoTデバイス101〜105のそれぞれは、ローカル通信チャンネル130のそれぞれを作動可能にするために、最初にIoTハブ110とペアにすることができる(例えば、後述するペアリング技術を使用して)。一実施形態では、IoTサービス120は、各ユーザのIoTデバイスから収集されたユーザアカウント情報及びデータを維持するためのエンドユーザデータベース122を含む。例えば、IoTデバイスがセンサ(例えば、温度センサ、加速度計、熱センサ、動作検出器など)を含む場合、データベース122は、IoTデバイス101〜105により収集されるデータを記憶するように継続的に更新され得る。データベース122内に記憶されたデータは、次に、ユーザデバイス135上にインストールされたIoTアプリケーション又はブラウザを介して(又はデスクトップ若しくは他のクライアントコンピュータシステムを介して)エンドユーザに、かつウェブクライアント(例えば、IoTサービス120に加入しているウェブサイト130など)に、アクセス可能にされてもよい。
IoTデバイス101〜105には、それ自体及びその周辺に関する情報を収集し、収集された情報を、IoTハブ110を介してIoTサービス120、ユーザデバイス135、及び/又は外部ウェブサイト130に提供するための様々なタイプのセンサが備えられてもよい。IoTデバイス101〜105のうちのいくつかは、IoTハブ110を介して送信される制御コマンドに応答して指定された機能を実行することができる。IoTデバイス101〜105によって収集される情報の様々な具体例及び制御コマンドが以下に提供される。以下に説明する一実施形態では、IoTデバイス101は、ユーザ選択を記録し、ユーザ選択をIoTサービス120及び/又はウェブサイトに送信するように設計されたユーザ入力デバイスである。
一実施形態では、IoTハブ110は、4G(例えば、モバイルWiMAX、LTE)又は5Gセルラーデータサービスのようなセルラーサービス115を介してインターネット220への接続を確立するセルラー無線を含む。代替的に、又は加えて、IoTハブ110は、WiFiアクセスポイント又はルータ116を介してWiFi接続を確立するためのWiFi無線を含むことができ、これは、IoTハブ110をインターネットに(例えば、エンドユーザにインターネットサービスを提供するインターネットサービスプロバイダを介して)連結する。当然のことながら、本発明の基本的な原理は、特定のタイプの通信チャンネル又はプロトコルに限定されないことに留意すべきである。
一実施形態では、IoTデバイス101〜105は、電池電力で長期間(例えば、数年)動作することができる超低電力デバイスである。電力を節約するために、ローカル通信チャンネル130は、Bluetooth(登録商標)低エネルギー(LE)のような低電力無線通信技術を使用して実装することができる。この実施形態では、IoTデバイス101〜105及びIoTハブ110のそれぞれが、Bluetooth LE無線及びプロトコルスタックを備えている。
上述したように、一実施形態では、IoTプラットフォームは、ユーザが、接続されたIoTデバイス101〜105、IoTハブ110、及び/又はIoTサービス120にアクセスし、構成することができる、ユーザデバイス135上で実行されるIoTアプリケーション又はウェブアプリケーションを含む。一実施形態では、アプリケーション又はウェブアプリケーションは、ウェブサイト130のオペレータによって設計されて、そのユーザベースにIoT機能性を提供することができる。例示されるように、ウェブサイトは、各ユーザに関連するアカウント記録を含むユーザデータベース131を維持することができる。
図1Bは、複数のIoTハブ110〜111、190に対する追加の接続オプションを示す。この実施形態では、単一のユーザが、単一のユーザ構内180(例えば、ユーザーの自宅又はビジネス)にオンサイトでインストールされた複数のハブ110〜111を有することができる。これは、例えば、IoTデバイス101〜105のすべてを接続するのに必要な無線範囲を拡張するために行われ得る。上述したように、ユーザが複数のハブ110、111を有する場合、それらは、ローカル通信チャンネル(例えば、Wifi、イーサネット(登録商標)、電力線ネットワーキングなど)を介して接続されてもよい。一実施形態では、ハブ110〜111のそれぞれは、セルラー115又はWiFi 116接続(図1Bには明示されていない)を介してIoTサービス120への直接接続を確立することができる。代替的に、又は加えて、IoTハブ110のようなIoTハブのうちの1つは、「マスタ」ハブとして機能することができ、これは、IoTハブ111のようなユーザ構内180上の他のすべてのIoTハブに接続性及び/又はローカルサービスを提供する(IoTハブ110とIoTハブ111を接続する点線で示すように)。例えば、マスタIoTハブ110は、IoTサービス120への直接接続を確立する唯一のIoTハブであってもよい。一実施形態では、「マスタ」IoTハブ110のみが、IoTサービス120への接続を確立するためのセルラー通信インターフェースを備えている。このように、IoTサービス120と他のIoTハブ111との間のすべての通信は、マスタIoTハブ110を通って流れる。この役割において、マスタIoTハブ110には、他のIoTハブ111とIoTサービス120との間で交換されるデータ(例えば、可能であれば、いくつかのデータ要求にローカルでサービスする)に対してフィルタリング動作を実行するための追加のプログラムコードが提供され得る。
IoTハブ110〜111がどのように接続されていようとも、一実施形態では、IoTサービス120は、ハブをユーザと論理的に関連付け、接続されたIoTデバイス101〜105のすべてを、インストールされたアプリケーション135(及び/又はブラウザベースのインターフェース)を有するユーザデバイスを介してアクセス可能な、単一の包括的なユーザインターフェースの下に結合する。
この実施形態では、マスタIoTハブ110及び1つ以上のスレーブIoTハブ111は、WiFiネットワーク116、イーサネットネットワーク、及び/又は電力線通信(PLC)ネットワーキング(例えば、ネットワークの全部若しくは一部がユーザの電力線を介して実行される)、ローカルネットワークを介して接続してもよい。更に、IoTハブ110〜111に対して、IoTデバイス101〜105のそれぞれは、いくつか例を挙げると、WiFi、イーサネット、PLC、又はBluetooth LEなどのような、任意のタイプのローカルネットワークチャンネルを使用して、相互接続してもよい。
図1Bはまた、第2のユーザ構内181に設置されたIoTハブ190を示す。実質的に無制限の数のこのようなIoTハブ190は、世界中のユーザ構内のIoTデバイス191〜192からデータを収集するようにインストールされ、構成され得る。一実施形態では、2つのユーザ構内180〜181は、同じユーザに対して構成されてもよい。例えば、1つのユーザ構内180がユーザの基本的なホームであり、他のユーザ構内181がユーザのバケーションホームであってもよい。そのような場合、IoTサービス120は、IoTハブ110〜111、190をユーザと論理的に関連付け、取り付けられたすべてのIoTデバイス101付〜105、191〜192を、単一の包括的なユーザインターフェースの下に結合し、インストールされたアプリケーション135(及び/又はブラウザベースのインターフェース)を有するユーザデバイスを介してアクセス可能にする。
図2に示すように、IoTデバイス101の例示的な実施形態は、プログラムコード及びデータ201〜203を記憶するメモリ210と、プログラムコードを実行しデータを処理する低電力マイクロコントローラ200とを含む。メモリ210は、ダイナミックランダムアクセスメモリ(DRAM)などの揮発性メモリであってもよいし、フラッシュメモリなどの不揮発性メモリであってもよい。一実施形態では、不揮発性メモリを永続記憶に使用し、揮発性メモリをプログラムコードの実行及びデータの実行に使用することができる。更に、メモリ210は、低電力マイクロコントローラ200内に統合されてもよく、バス又は通信ファブリックを介して低電力マイクロコントローラ200に連結されてもよい。本発明の根本的な原理は、メモリ210の特定の実装に限定されない。
図示されているように、プログラムコードは、IoTデバイス101のアプリケーション開発者によって利用されることができる所定のビルディングブロックのセットを含むIoTデバイス201及びライブラリコード202によって実行されるアプリケーション固有の機能セットを定義するアプリケーションプログラムコード203を含むことができる。一実施形態では、ライブラリコード202は、各IoTデバイス101とIoTハブ110との間の通信を可能にするための通信プロトコルスタック201などのIoTデバイスを実装するために必要とされる基本機能のセットを含む。上述したように、一実施形態では、通信プロトコルスタック201は、Bluetooth LEプロトコルスタックを含む。この実施形態では、Bluetooth LE無線機及びアンテナ207は、低電力マイクロコントローラ200内に統合されてもよい。しかしながら、本発明の基本原理は、特定の通信プロトコルに限定されない。
図2に示す特定の実施形態はまた、ユーザ入力を受信し、ユーザ入力を低電力マイクロコントローラに提供する複数の入力デバイス又はセンサ210を含み、低電力マイクロコントローラは、アプリケーションコード203及びライブラリコード202に応じてユーザ入力を処理する。一実施形態では、入力デバイスのそれぞれは、エンドユーザにフィードバックを提供するLED 209を含む。
更に、図示の実施形態は、低電力マイクロコントローラに電力を供給するための電池208を含む。一実施形態では、非充電式コイン型電池が使用される。しかしながら、別の実施形態では、一体化された充電式電池を使用することができる(例えば、交流電源(図示せず)にIoTデバイスを接続することによって再充電可能)。
オーディオを生成するためのスピーカ205も設けられている。一実施形態では、低電力マイクロコントローラ299は、スピーカ205上にオーディオを生成するために圧縮されたオーディオストリーム(例えば、MPEG−4/アドバンストオーディオコーディング(AAC)ストリーム)を復号するためのオーディオ復号ロジックを含む。代替的に、低出力マイクロコントローラ200及び/又はアプリケーションコード/データ203が、ユーザが入力デバイス210を介して選択を入力すると、エンドユーザに口頭のフィードバックを提供するために、デジタルでサンプリングされたオーディオスニペットを含むことができる。
一実施形態では、IoTデバイス101が設計される特定のアプリケーションに基づいて、1つ以上の他の/代替I/Oデバイス又はセンサ250が、IoTデバイス101に含まれてもよい。例えば、温度、圧力、湿度などを測定するために環境センサを含めることができる。セキュリティセンサ及び/又はドアロックオープナが、IoTデバイスがセキュリティデバイスとして使用される場合には、含まれてもよい。当然のことながら、これらの例は、単に説明のために提供されている。本発明の基本原理は、特定のタイプのIoTデバイスに限定されない。実際に、ライブラリコード202を備えた低電力マイクロコントローラ200の高度にプログラム可能な性質が与えられると、アプリケーション開発者は、新しいアプリケーションコード203及び新しいI/Oデバイス250を容易に開発して、実質的に任意のタイプのIoTアプリケーションのために低電力マイクロコントローラとインターフェースする。
一実施形態では、低電力マイクロコントローラ200は、後述する実施形態(例えば、図4〜図6及び関連付けられた本文を参照)によって使用される暗号鍵を記憶するための安全な鍵ストアも含む。代替的に、キーは、後述するように、加入者識別モジュール(SIM)内に確保されてもよい。
一実施形態では、実質的に電力を消費していない超低電力状態からIoTデバイスを目覚めさせるために、ウェイクアップ受信機207が含まれる。一実施形態では、ウェイクアップ受信機207は、図3に示すように、IoTハブ110上に構成されたウェイクアップ送信機307から受信されたウェイクアップ信号に応答して、IoTデバイス101をこの低電力状態から出させるように構成される。具体的には、一実施形態では、送信機307と受信機207は共にテスラコイルのような電気共振トランス回路を形成する。動作中、ハブ110が非常に低い電力状態からIoTデバイス101を復帰させる必要がある場合、エネルギーは送信機307から受信機207への無線周波数信号を介して送信される。エネルギー転送のために、IoTデバイス101は、低電力状態にあるときには実質的に電力を消費しないように構成することができる。なぜなら、ハブからの信号を継続的に「聞く」必要がないからである(ネットワーク信号を介してデバイスを起動させることができる、ネットワークプロトコルの場合と同様に)。むしろ、IoTデバイス101のマイクロコントローラ200は、送信機307から受信機207に電気的に送信されたエネルギーを使用することによって効果的にパワーダウンされた後にウェイクアップするように構成される。
図3に示すように、IoTハブ110はまた、プログラムコード及びデータ305を記憶するためのメモリ317と、プログラムコードを実行しデータを処理するためのマイクロコントローラのようなハードウェアロジック301とを含む。広域ネットワーク(WAN)インターフェース302及びアンテナ310は、IoTハブ110をセルラーサービス115に連結する。代替的に、上述したように、IoTハブ110は、ローカルエリアネットワーク通信チャンネルを確立するためにWiFiインターフェース(及びWiFiアンテナ)又はイーサネットインターフェースのようなローカルネットワークインターフェース(図示せず)を含むこともできる。一実施形態では、ハードウェアロジック301は、後述の実施形態(例えば、図4〜図6及び関連付けられた本文を参照)によって使用される暗号鍵を記憶するための安全鍵ストアも含む。代替的に、キーは、後述するように、加入者識別モジュール(SIM)内に確保されてもよい。
ローカル通信インターフェース303及びアンテナ311は、IoTデバイス101〜105のそれぞれとのローカル通信チャンネルを確立する。上述したように、一実施形態では、ローカル通信インターフェース303/アンテナ311はBluetooth LE規格を実装する。しかしながら、本発明の根底にある原理は、IoTデバイス101〜105とのローカル通信チャンネルを確立するための特定のプロトコルに限定されない。図3において別個のユニットとして示されているが、WANインターフェース302及び/又はローカル通信インターフェース303は、ハードウェアロジック301と同じチップ内に組み込まれてもよい。
一実施形態では、プログラムコード及びデータは、ローカル通信インターフェース303及びWANインターフェース302を介して通信するための別々のスタックを含む通信プロトコルスタック308を含む。更に、デバイスペアリングプログラムコード及びデータ306は、IoTハブを新しいIoTデバイスとペアにすることができるようにメモリに記憶する。一実施形態では、各新しいIoTデバイス101〜105には、ペアリングプロセス中にIoTハブ110に通信される一意的なコードが割り当てられる。例えば、一意的なコードは、IoTデバイス上のバーコードに埋め込まれてもよく、バーコードリーダ106によって読み取られてもよく、ローカル通信チャンネル130を介して通信してもよい。別の実施形態では、一意的なIDコードがIoTデバイスに磁気的に埋め込まれ、IoTハブは、無線周波数ID(RFID)又は近距離通信(NFC)センサのような磁気センサを有し、IoTデバイス101がIoTハブ110の数インチ内で移動するとき、コードを検出する。
一実施形態では、一意的なIDが通信されると、IoTハブ110は、ローカルデータベース(図示せず)に問い合わせること、コードが許容可能であることを検証するためにハッシュを実行すること、及び/又はIoTサービス120と通信することによって、一意的なIDを検証し、ユーザデバイス135及び/又はウェブサイト130でIDコードを認証する。認証されると、一実施形態では、IoTハブ110は、IoTデバイス101をペアにし、メモリ317(これは、上述したように不揮発性メモリを含むことができる)にペアリングデータを記憶する。ペアリングが完了すると、IoTハブ110は、本明細書に記載の様々な機能を実行するためにIoTデバイス101と接続することができる。
一実施形態では、IoTサービス120を実行する組織は、開発者が新しいIoTサービスを容易に設計できるように、IoTハブ110及び基本ハードウェア/ソフトウェアプラットフォームを提供することができる。具体的には、IoTハブ110に加えて、開発者には、ハブ110内で実行されるプログラムコード及びデータ305を更新するためのソフトウェア開発キット(SDK)が提供されてもよい。更に、IoTデバイス101については、SDKは様々な異なるタイプのアプリケーション101の設計を容易にするために、ベースのIoTハードウェア(例えば、低電力マイクロコントローラ200及び図2に示す他の構成要素)用に設計された広範なライブラリコード202のセットを含む。一実施形態では、SDKは、開発者がIoTデバイスの入力と出力を指定するだけでよいグラフィカルデザインインターフェースを含む。IoTデバイス101がハブ110及びサービス120に接続することを可能にする通信スタック201を含むネットワーキングコードはすべて、開発者のために既に配置されている。更に、一実施形態では、SDKは、モバイルデバイス(例えば、iPhone(登録商標)及びAndroidデバイス)用のアプリケーションの設計を容易にするライブラリコードベースも含む。
一実施形態では、IoTハブ110は、IoTデバイス101〜105とIoTサービス120との間のデータの連続的な双方向ストリームを管理する。IoTデバイス101〜105への/からの更新がリアルタイムで要求されるとき(例えば、ユーザがセキュリティデバイス又は環境読み取りの現在の状態を見る必要がある場合)、IoTハブはオープンTCPソケットを維持してユーザデバイス135及び/又は外部のウェブサイト130に定期的な更新を提供することができる。更新を提供するために使用される特定のネットワーキングプロトコルは、基礎をなすアプリケーションのニーズに基づいて調整されてもよい。例えば、連続的な双方向ストリームを有することが理にかなっていない可能性がある場合、必要なときに情報を収集するために単純な要求/応答プロトコルを使用することができる。
一実施形態では、IoTハブ110及びIoTデバイス101〜105の両方が、ネットワークを介して自動的に更新可能である。具体的には、新しい更新がIoTハブ110に利用可能であるとき、IoTサービス120から更新を自動的にダウンロードしてインストールすることができる。それは、まず、更新されたコードをローカルメモリにコピーし、実行して、古いプログラムコードを交換する前に更新を検証する。同様に、IoTデバイス101〜105のそれぞれについて更新が利用可能である場合、それらはIoTハブ110によって最初にダウンロードされ、IoTデバイス101〜105のそれぞれにプッシュアウトされてもよい。各IoTデバイス101〜105は、IoTハブに関して上述したのと同様の方法で更新を適用し、更新の結果をIoTハブ110に報告する。更新が成功した場合、IoTハブ110は、更新をそのメモリから削除して、それぞれのIoTデバイスにインストールされている最新バージョンのコードを記録する(例えば、各IoTデバイスの新しい更新を確認し続けることができる)。
一実施形態では、IoTハブ110は、A/C電力を介して給電される。具体的には、IoTハブ110は、A/C電源コードを介して供給されるA/C電圧をより低いDC電圧に変換するための変圧器を備えた電源ユニット390を含むことができる。
図4は、IoTサービス120、IoTハブ110、及びIoTデバイス101〜102の間の通信を暗号化するために公開鍵インフラストラクチャ(PKI)技術及び/又は対称鍵交換/暗号化技術を使用する、高レベルアーキテクチャを示す。
公開/秘密鍵ペアを使用する実施形態をまず説明し、続いて、対称鍵交換/暗号化技術を使用する実施形態を説明する。具体的には、PKIを使用するある実施形態において、一意的な公開/秘密鍵ペアが、各IoTデバイス101〜102、各IoTハブ110、及びIoTサービス120に関連付けられる。一実施形態では、新しいIoTハブ110がセットアップされるとき、その公開鍵がIoTサービス120に提供され、新しいIoTデバイス101が設定されるとき、その公開鍵がIoTハブ110とIoTサービス120との両方に提供される。デバイス間で公開鍵を安全に交換するための様々な技術が以下に記載される。一実施形態では、いかなる受信デバイスも、署名を認証することによって公開鍵の妥当性を検証することができるように、すべての公開鍵が、受信デバイスのすべてに既知である親鍵(すなわち、一種の証明書)によって署名される。したがって、未加工の公開鍵を単に交換するのではなく、むしろこれらの証明書が交換されることになる。
例示されるように、一実施形態では、各IoTデバイス101、102は、各デバイスの秘密鍵を記憶するセキュリティのために、それぞれ、安全鍵記憶装置401、403を含む。次に、セキュリティロジック402、404が、安全に記憶された秘密鍵を用いて、本明細書に記載の暗号化/解読動作を実行する。同様に、IoTハブ110は、IoTデバイス101〜102及びIoTサービス120のIoTハブ秘密鍵及び公開鍵を記憶するための安全な記憶装置411、並びに、鍵を使用して暗号化/解読動作を実行するためのセキュリティロジック412を含む。最後に、IoTサービス120は、それ自体の秘密鍵、様々なIoTデバイス及びIoTハブの公開鍵を記憶するセキュリティのための安全な記憶装置421、並びに鍵を使用してIoTハブ及びデバイスとの通信を暗号化/解読するためのセキュリティロジック413を含んでもよい。一実施形態では、IoTハブ110がIoTデバイスから公開鍵証明書を受信すると、IoTハブ110は、それを(例えば、上述の親鍵を使用して署名を認証することにより)検証し、次にその中から公開鍵を抽出し、その公開鍵をその安全な鍵ストア411内に記憶することができる。
例として、一実施形態では、IoTサービス120が、コマンド又はデータ(例えば、ドアを開錠するコマンド、センサを読み取る要求、IoTデバイスにより処理/表示されるべきデータなど)をIoTデバイス101に送信する必要があるとき、セキュリティロジック413は、IoTデバイス101の公開鍵を使用してそのデータ/コマンドを暗号化して、暗号化されたIoTデバイスパケットを生成する。一実施形態では、それは次に、IoTハブ110の公開鍵を使用し、IoTデバイスパケットを暗号化して、IoTハブパケットを生成し、IoTハブパケットをIoTハブ110に送信する。一実施形態では、サービス120は、デバイス101が、それが信頼されるソースから変更されていないメッセージを受信していることを検証することができるように、その秘密鍵又は上述の親鍵を用いて、暗号化されたメッセージに署名する。次に、デバイス101は、秘密鍵に対応する公開鍵及び/又は親鍵を使用して署名を認証し得る。上述のように、対称鍵交換/暗号化技術が、公開/秘密鍵暗号化の代わりに使用されてもよい。これらの実施形態では、1つの鍵をプライベートに記憶し、対応する公開鍵を他のデバイスに提供するのではなく、それぞれのデバイスに、暗号化のために、かつ署名を認証するために使用されるものと同じ対称鍵のコピーを提供してもよい。対称鍵アルゴリズムの一例は高度暗号化標準(AES)であるが、本発明の基本原理は、いかなるタイプの特定の対称鍵にも限定されない。
ある対称鍵実装形態を使用すると、各デバイス101は、IoTハブ110と対称鍵を交換するために、安全な鍵交換プロトコルに入る。動的対称鍵プロビジョニングプロトコル(DSKPP)などの安全な鍵プロビジョニングプロトコルが、安全な通信チャンネルを介して鍵を交換するために使用され得る(例えば、コメント要求(RFC)6063を参照されたい)。しかしながら、本発明の基本原理は、いかなる特定の鍵プロビジョニングプロトコルにも限定されるものではない。
対称鍵が交換されたら、それらは、各デバイス101及びIoTハブ110によって、通信を暗号化するために使用され得る。同様に、IoTハブ110及びIoTサービス120は、安全な対称鍵交換を実行し、次に、交換された対称鍵を使用して通信を暗号化し得る。一実施形態では、新しい対称鍵が、デバイス101とハブ110との間、かつハブ110とIoTサービス120との間で定期的に交換される。一実施形態では、デバイス101、ハブ110、及びサービス120の間での新しい通信セッションの度に、新しい対称鍵が交換される(例えば、通信セッション毎に新しい鍵が生成され、安全に交換される)。一実施形態では、IoTハブ内のセキュリティモジュール412が信頼される場合、サービス120は、ハブセキュリティモジュール412とセッション鍵を交渉し得、次に、セキュリティモジュール412が、各デバイス120とセッション鍵を交渉することになる。サービス120からのメッセージは、次に、ハブセキュリティモジュール412で解読及び検証され、その後、デバイス101への送信のために再暗号化される。
一実施形態では、ハブセキュリティモジュール412でのセキュリティ侵害を防止するために、1回限りの(恒久的な)インストール鍵が、インストール時にデバイス101とサービス120との間で交渉されてもよい。メッセージをデバイス101に送るとき、サービス120は、まずこのデバイスインストール鍵を用いて暗号化/MACし、次にハブのセッション鍵を用いてそれを暗号化/MACし得る。ハブ110は次に、暗号化されたデバイスブロブを検証及び抽出し、それをデバイスに送ることになる。
本発明の一実施形態では、リプレイアタックを防止するためにカウンタ機構が実装される。例えば、デバイス101からハブ110へ(又は逆もまた同様)の連続する通信それぞれに、継続的に増加するカウンタ値が割り当てられ得る。ハブ110とデバイス101との両方がこの値を追跡し、デバイス間での連続する通信それぞれにおいてその値が正しいことを検証する。これと同じ技術が、ハブ110とサービス120との間に実装され得る。この方法でカウンタを使用すると、各デバイス間での通信を偽装することがより困難になる(カウンタ値が誤ったものになるため)。しかしながら、これを用いずとも、サービスとデバイスとの間で共有されたインストール鍵は、すべてのデバイスに対するネットワーク(ハブ)規模の攻撃を防止するであろう。
一実施形態では、公開/秘密鍵暗号化を使用するとき、IoTハブ110は、その秘密鍵を使用してIoTハブパケットを解読し、暗号化されたIoTデバイスパケットを生成し、それを、関連付けられたIoTデバイス101に送信する。IoTデバイス101は次にその秘密鍵を使用して、IoTデバイスパケットを解読して、IoTサービス120を起点とするコマンド/データを生成する。それは次に、データを処理し、かつ/又はコマンドを実行してもよい。対称暗号化を使用すると、各デバイスは、共有された対称鍵を用いて暗号化及び解読を行う。いずれかの場合であれば、各送信デバイスはまた、受信デバイスがメッセージの信頼性を検証することができるように、その秘密鍵を用いてメッセージに署名してもよい。
異なるセットの鍵が、IoTデバイス101からIoTハブ110へ、かつIoTサービス120への通信を暗号化するために使用されてもよい。例えば、ある公開/秘密鍵構成を使用すると、一実施形態では、IoTデバイス101上のセキュリティロジック402が、IoTハブ110の公開鍵を使用して、IoTハブ110に送られたデータパケットを暗号化する。次に、IoTハブ110上のセキュリティロジック412は、IoTハブの秘密鍵を使用して、データパケットを解読し得る。同様に、IoTデバイス101上のセキュリティロジック402及び/又はIoTハブ110上のセキュリティロジック412は、IoTサービス120の公開鍵を使用して、IoTサービス120に送られたデータパケットを暗号化し得る(これは次に、IoTサービス120上のセキュリティロジック413によって、サービスの秘密鍵を使用して解読され得る)。対称鍵を使用すると、デバイス101及びハブ110は、ある対称鍵を共有し得、一方でハブ及びサービス120は、異なる対称鍵を共有し得る。
上記の説明において、ある特定の具体的詳細が上に記載されるが、本発明の基本原理は様々な異なる暗号化技術を使用して実装され得ることに留意すべきである。例えば、上述した一部の実施形態は非対称の公開/秘密鍵ペアを使用するが、別の実施形態は、様々なIoTデバイス101〜102、IoTハブ110、及びIoTサービス120の間で安全に交換される対称鍵を使用し得る。更に、一部の実施形態では、データ/コマンド自体は暗号化されないが、データ/コマンド(又は他のデータ構造)上の署名を生成するために鍵が使用される。その後、受信者が、その鍵を使用して署名を認証し得る。
図5に示すように、一実施形態では、各IoTデバイス101上の安全鍵記憶装置は、プログラム可能な加入者識別モジュール(SIM)501を使用して実装される。この実施形態において、IoTデバイス101は初め、IoTデバイス101上のSIMインターフェース500内に据え付けられたプログラムされていないSIMカード501と共にエンドユーザに提供され得る。1つ以上の暗号鍵のセットを用いてSIMをプログラミングするために、ユーザは、プログラム可能なSIMカード501をSIMインターフェース500から取り出し、それをIoTハブ110上のSIMプログラミングインターフェース502内に挿入する。次に、IoTハブ上のプログラミングロジック525が、IoTデバイス101をIoTハブ110及びIoTサービス120に登録/ペアリングするように、SIMカード501を安全にプログラミングする。一実施形態では、公開/秘密鍵ペアは、プログラミングロジック525によってランダムに生成されてもよく、次にこのペアの公開鍵は、IoTハブの安全な記憶装置デバイス411内に記憶されてもよく、一方で秘密鍵は、プログラム可能なSIM 501内に記憶されてもよい。更に、プログラミングロジック525は、IoTハブ110、IoTサービス120、及び/又は任意の他のIoTデバイス101の公開鍵を、(IoTデバイス101上のセキュリティロジック402による発信データの暗号化に使用するために)SIMカード501上に記憶してもよい。SIM501がプログラミングされたら、新しいIoTデバイス101に、SIMを安全な識別子として使用して(例えば、SIMを用いてデバイスを登録するための既存の技術を使用して)IoTサービス120がプロビジョニングされ得る。プロビジョニング後、IoTハブ110とIoTサービス120との両方が、IoTデバイスの公開鍵のコピーを、IoTデバイス101との通信を暗号化する際に使用されるように安全に記憶する。
図5に関して上に記載した技術は、新しいIoTデバイスをエンドユーザに提供する際の多大な柔軟性を提供する。(現在行われているのと同様に)ユーザが販売/購入の際に各SIMを特定のサービスプロバイダに直接登録することを要するのではなく、エンドユーザによりIoTハブ110を介してSIMを直接プログラミングしてもよく、プログラミングの結果は、IoTサービス120に安全に通信され得る。それ故に、新しいIoTデバイス101がオンライン又はローカルの小売業者からエンドユーザに販売され、後にIoTサービス120が安全にプロビジョニングされ得る。
SIM(加入者識別モジュール)という具体的な文脈において登録及び暗号化技術を上に記載したが、本発明の基本原理は「SIM」デバイスに限定されない。むしろ、本発明の基本原理は、暗号鍵セットを記憶するための安全な記憶装置を有する、いかなるタイプのデバイスを使用して実装されてもよい。更に、上記の実施形態は取り外し可能なSIMデバイスを含むのに対し、一実施形態では、SIMデバイスは取り外し可能でないが、IoTデバイス自体が、IoTハブ110のプログラミングインターフェース502内に挿入されてもよい。
一実施形態では、ユーザがSIM(又は他のデバイス)をプログラミングすることを要するのではなく、SIMは、エンドユーザへの流通前に、IoTデバイス101に予めプログラミングされる。この実施形態において、ユーザがIoTデバイス101をセットアップするとき、本明細書に記載される様々な技術が、IoTハブ110/IoTサービス120と新しいIoTデバイス101との間で暗号鍵を安全に交換するために使用され得る。
例えば、図6Aに示すように、各IoTデバイス101又はSIM 401は、IoTデバイス101及び/又はSIM 401を一意的に識別するバーコード又はQRコード601と共に梱包されていてもよい。一実施形態では、バーコード又はQRコード601は、IoTデバイス101又はSIM 401の公開鍵の符号化表現を含み得る。代替的に、バーコード又はQRコード601は、IoTハブ110及び/又はIoTサービス120によって、公開鍵を識別又は生成するために使用されてもよい(例えば、安全な記憶装置内に既に記憶されている公開鍵に対するポインタとして使用される)。バーコード又はQRコード601は、別個のカード上に(図6Aに示されるように)印刷されてもよく、又は、IoTデバイス自体に直接印刷されてもよい。バーコードが印刷される場所に関わらず、一実施形態では、IoTハブ110は、バーコードを読み取り、得られたデータをIoTハブ110上のセキュリティロジック412及び/又はIoTサービス120上のセキュリティロジック413に提供するために、バーコードリーダ206を備える。その後、IoTハブ110上のセキュリティロジック412は、IoTデバイスの公開鍵をその安全鍵記憶装置411内に記憶してもよく、IoTサービス120上のセキュリティロジック413は、この公開鍵をその安全な記憶装置421内に(後の暗号化通信に使用するために)記憶してもよい。
一実施形態では、バーコード又はQRコード601内に含まれるデータは、インストールされたIoTアプリケーション又はIoTサービスプロバイダにより設計されたブラウザベースのアプレットを用いて、ユーザデバイス135(例えば、iPhone又はAndroidデバイスなど)によりキャプチャされてもよい。キャプチャされると、バーコードデータは、安全な接続(例えば、セキュアソケットレイヤー(SSL)接続など)を介して、IoTサービス120に安全に通信され得る。バーコードデータはまた、安全なローカル接続を介して(例えば、ローカルWiFi又はBluetooth LE接続を介して)クライアントデバイス135からIoTハブ110に提供されてもよい。
IoTデバイス101上のセキュリティロジック402及びIoTハブ110上のセキュリティロジック412は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組み合わせを使用して実装され得る。例えば、一実施形態では、セキュリティロジック402、412は、IoTデバイス101とIoTハブ110との間にローカル通信チャンネル130を確立するためのチップ(例えば、ローカルチャンネル130がBluetooth LEであればBluetooth LEチップ)内に実装される。セキュリティロジック402、412の具体的な位置に関わらず、一実施形態では、セキュリティロジック402、412は、ある特定のタイプのプログラムコードを実行するために安全な実行環境を確立するように設計される。これは例えば、TrustZone技術(一部のARMプロセッサで利用可能)及び/又はトラステッド・エグゼキューション・テクノロジー(Intelにより設計)を使用することによって実装され得る。当然のことながら、本発明の基本原理は、いかなる特定のタイプの安全な実行技術にも限定されない。
一実施形態では、バーコード又はQRコード601は、各IoTデバイス101をIoTハブ110とペアリングするために使用され得る。例えば、Bluetooth LEデバイスをペアリングするために現在使用されている標準的な無線ペアリングプロセスを使用するのではなく、バーコード又はQRコード601内に組み込まれたペアリングコードをIoTハブ110に提供して、IoTハブを対応するIoTデバイスとペアリングしてもよい。
図6Bは、IoTハブ110上のバーコードリーダ206が、IoTデバイス101に関連付けられたバーコード/QRコード601をキャプチャする、一実施形態を示す。上述したように、バーコード/QRコード601は、IoTデバイス101上に直接印刷されてもよく、又はIoTデバイス101と共に提供される別個のカード上に印刷されてもよい。いずれの場合においても、バーコードリーダ206は、バーコード/QRコード601からペアリングコードを読み取り、このペアリングコードをローカル通信モジュール680に提供する。一実施形態では、ローカル通信モジュール680は、Bluetooth LEチップ及び関連付けられたソフトウェアであるが、本発明の基本原理は、いかなる特定のプロトコル標準にも限定されない。ペアリングコードが受信されると、それは、ペアリングデータ685を含む安全な記憶装置内に記憶され、IoTデバイス101とIoTハブ110とが自動的にペアリングされる。この方法でIoTハブが新しいIoTデバイスとペアリングされる度、そのペアリングに関するペアリングデータが、安全な記憶装置685内に記憶される。一実施形態では、IoTハブ110のローカル通信モジュール680がペアリングコードを受信すると、それは、このコードを鍵として使用して、ローカル無線チャンネルを介したIoTデバイス101との通信を暗号化し得る。
同様に、IoTデバイス101側では、ローカル通信モジュール690が、IoTハブとのペアリングを示すペアリングデータを、ローカルの安全な記憶装置デバイス695内に記憶する。ペアリングデータ695は、バーコード/QRコード601で識別される予めプログラミングされたペアリングコードを含んでもよい。ペアリングデータ695はまた、安全なローカル通信チャンネルを確立するために必要な、IoTハブ110上のローカル通信モジュール680から受信されるペアリングデータ(例えば、IoTハブ110との通信を暗号化するための追加の鍵)を含んでもよい。
したがって、バーコード/QRコード601は、ペアリングコードが無線で送信されないため、現在の無線ペアリングプロトコルよりも遥かに安全な方法でローカルペアリングを実行するために使用され得る。更に、一実施形態では、ペアリングに使用されるものと同じバーコード/QRコード601を使用して暗号鍵を識別し、IoTデバイス101からIoTハブ110へ、かつIoTハブ110からIoTサービス120への安全な接続を築くことができる。
本発明の一実施形態によるSIMカードをプログラミングするための方法が、図7に示される。本方法は、上述のシステムアーキテクチャ内で実装され得るが、いかなる特定のシステムアーキテクチャにも限定されない。
701において、ユーザは、空のSIMカードを備えた新しいIoTデバイスを受け取り、702において、ユーザは、空のSIMカードをIoTハブ内に挿入する。703において、ユーザは、1つ以上の暗号鍵のセットを用いて空のSIMカードをプログラミングする。例えば、上述のように、一実施形態において、IoTハブは、公開/秘密鍵ペアをランダムに生成し、秘密鍵をSIMカード上に、かつ公開鍵をそのローカルの安全な記憶装置内に記憶し得る。更に、704において、少なくとも公開鍵がIoTサービスに送信され、その結果それは、IoTデバイスを識別し、かつIoTデバイスとの暗号化通信を確立するために使用され得る。上述のように、一実施形態では、「SIM」カード以外のプログラム可能なデバイスが、図7に示される方法でSIMカードと同じ機能を実行するために使用されてもよい。
新しいIoTデバイスをネットワークに統合するための方法が、図8に示される。本方法は、上述のシステムアーキテクチャ内で実装され得るが、いかなる特定のシステムアーキテクチャにも限定されない。
801において、ユーザは、暗号鍵が予め割り当てられている新しいIoTデバイスを受け取る。802において、この鍵がIoTハブに安全に提供される。上述のように、一実施形態では、これは、IoTデバイスに関連付けられたバーコードを読み取って、デバイスに割り当てられた公開/秘密鍵ペアの公開鍵を識別することを伴う。バーコードは、IoTハブによって直接読み取られても、又はアプリケーション若しくはブラウザを介してモバイルデバイスによってキャプチャされてもよい。別の実施形態では、BluetoothLEチャンネル、近距離通信(NFC)チャンネル、又は安全なWiFiチャンネルなどの安全な通信チャンネルが、鍵の交換のためにIoTデバイスとIoTハブとの間に確立されてもよい。鍵の送信方法に関わらず、受信されると、それはIoTハブデバイスの安全な鍵ストア内に記憶される。上述のように、セキュアエンクレーブ、トラステッド・エグゼキューション・テクノロジー(TXT)、及び/又はTrustzoneなどの様々な安全な実行技術が、鍵の記憶及び保護のためにIoTハブで使用され得る。更に、803において、鍵がIoTサービスに安全に送信され、これが、この鍵をそれ自体の安全な鍵ストア内に記憶する。それは次に、この鍵を使用して、IoTデバイスとの通信を暗号化し得る。再度1つ、この交換は、証明書/署名付き鍵を使用して実行されてもよい。ハブ110内では、記憶された鍵の改変/追加/除去を防止することが特に重要である。
公開/秘密鍵を使用してコマンド/データをIoTデバイスに安全に通信するための方法が、図9に示される。本方法は、上述のシステムアーキテクチャ内で実装され得るが、いかなる特定のシステムアーキテクチャにも限定されない。
901において、IoTサービスは、IoTデバイス公開鍵を使用し、データ/コマンドを暗号化して、IoTデバイスパケットを作成する。それは次に、IoTハブの公開鍵を使用し、このIoTデバイスパケットを暗号化して、IoTハブパケットを作成する(例えば、IoTデバイスパケット周囲のIoTハブラッパーを作成)。902において、IoTサービスは、IoTハブパケットをIoTハブに送信する。903において、IoTハブは、IoTハブの秘密鍵を使用し、IoTハブパケットを解読して、IoTデバイスパケットを生成する。それは次に、904において、IoTデバイスパケットをIoTデバイスに送信し、IoTデバイスは、905において、IoTデバイス秘密鍵を使用し、IoTデバイスパケットを解読して、データ/コマンドを生成する。906において、IoTデバイスがデータ/コマンドを処理する。
対称鍵を使用するある実施形態において、対称鍵交換は、各デバイス間(例えば、各デバイスとハブと、及びハブとサービスとの間)で交渉され得る。鍵交換が完了すると、各送信デバイスは、対称鍵を使用して各送信を暗号化し、かつ/又はそれに署名し、その後、そのデータを受信デバイスに送信する。
本発明の実施形態は、上で説明した様々な工程を含み得る。本工程は、汎用又は特殊目的のプロセッサに本工程を実行させるために使用され得る機械実行可能な命令において具現化することができる。代替的に、これらの工程は、工程を実行するためのハードワイヤードロジックを含む特定のハードウェア構成要素によって又はプログラミングされたコンピュータ構成要素及びカスタムハードウェア構成要素の任意の組み合わせによって実行することができる。
本明細書に記載のように、命令は、ある特定の動作を行うように構成されるか、所定の機能又はソフトウェア命令が非一時的コンピュータ可読媒体中に具現化されたメモリ中に記憶されているアプリケーション固有集積回路(ASIC)などの、ハードウェアの特定の構成を参照し得る。したがって、図面に示される技術は、1つ以上の電子デバイス(例えば、エンドステーション、ネットワーク要素など)上に記憶及び実行されるコード及びデータを使用して実装され得る。このような電子デバイスは、非一時的コンピュータ機械可読記憶媒体(例えば、磁気ディスク、光ディスク、ランダムアクセスメモリ、読み出し専用メモリ、フラッシュメモリデバイス、相変化メモリ)、並びに一時的なコンピュータ機械可読通信媒体(例えば、搬送波、赤外線信号、デジタル信号などの電気的、光学的、音響的又は他の形態の伝搬信号)などのコンピュータ機械可読記憶媒体を使用して、コード及びデータを記憶及び(内部で及び/又はネットワークを介して他の電子デバイスと)通信する。更に、そのような電子デバイスは、典型的に、1つ以上の記憶デバイス(非一時的機械可読記憶媒体)、ユーザ入力/出力デバイス(例えば、キーボード、タッチスクリーン、及び/又はディスプレイ)、並びにネットワーク接続のような、1つ以上の他の構成要素に連結された1つ以上の組のプロセッサを含む。1組のプロセッサと他の構成要素との連結は、典型的には、1つ以上のバス及びブリッジ(バスコントローラとも呼ばれる)を通じて行われる。記憶デバイスとネットワークトラフィックを運ぶ信号のそれぞれは、1つ以上の機械可読記憶媒体及び機械可読通信媒体を表す。したがって、所与の電子デバイスの記憶デバイスは、その電子デバイスの1つ以上のプロセッサのセット上で実行するためのコード及び/又はデータを、典型的には、記憶する。当然のことながら、本発明の実施形態の1つ以上の部分は、ソフトウェア、ファームウェア、及び/又はハードウェアの異なる組み合わせを使用して実装されてもよい。
この詳細な説明全体を通じて、説明を目的として、本発明の完全な理解を提供するために、多数の特定の詳細を記載した。しかしながら、本発明は、これらの具体的な詳細の一部がなくても実施され得ることは、当業者にとって明らかであろう。ある特定の例では、既知の構造及び機能は、本発明の主題を不明瞭にすることを回避するために、詳述しなかった。したがって、本発明の範囲及び趣旨は、以下の特許請求の範囲の観点から判断されるべきである。

Claims (20)

  1. システムであって、
    ハードウェア物のインターネット(IoT)ハブであって、広域ネットワーク(WAN)を介して前記IoTハブをIoTサービスに連結するためのネットワークインターフェースと、
    IoTデバイスとの暗号化通信を確立するために使用可能な1つ以上の暗号鍵を用いて識別デバイスをプログラミングするためのプログラミングロジックと、を備える、物のインターネット(IoT)ハブと、
    前記IoTハブによる前記識別デバイスのプログラミング後に前記識別デバイスとインターフェース接続する、前記IoTデバイスと、を備え、
    前記識別デバイスがプログラミングされ、前記IoTデバイスとインターフェース接続されると、前記IoTデバイスが、前記1つ以上の鍵を使用して、前記IoTハブ/前記IoTサービスとの安全な通信チャンネルを確立し、
    前記識別デバイスをプログラミングすることが、公開/秘密鍵ペアを生成すること、及び前記公開/秘密鍵ペアのうち少なくとも前記秘密鍵を前記識別デバイス上に記憶することを含み、
    前記識別デバイスをプログラミングすることが、少なくとも前記公開鍵を前記IoTハブ上の安全な記憶装置内に記憶することを更に含み、
    前記IoTハブが、前記ネットワークインターフェースを介して、対応する署名付きの前記公開鍵を前記IoTサービスに安全に転送することと、更に、前記IoTハブに関連付けられ、かつIoTハブ秘密鍵に対応する、対応する署名付きのIoTハブ公開鍵を安全に転送することと、を更に含み、
    コマンド/データを前記IoTデバイスに安全に送信するために、前記IoTサービスが、前記コマンド/データを暗号化し、前記公開鍵を使用して第1の署名を生成して、暗号化されたIoTデバイスパケットを生成し、次に、前記IoTデバイスパケットを暗号化し、前記IoTハブ公開鍵を使用して第2の署名を生成して、IoTハブパケットを生成する、
    システム。
  2. 前記識別デバイスが、加入者識別モジュール(SIM)を備える、請求項1に記載のシステム。
  3. 前記識別デバイスが、前記IoTデバイスに結合される、請求項1に記載のシステム。
  4. 前記IoTハブが、IoTハブ秘密鍵を使用して、前記IoTハブパケットを解読し、前記第2の署名を認証して、前記IoTデバイスパケットを生成し、前記IoTデバイスパケットを前記IoTデバイスに転送し、前記IoTデバイスが、前記秘密鍵を使用して、前記第1の署名を認証し、前記IoTデバイスパケットを解読する、請求項1に記載のシステム。
  5. 前記識別デバイスが、前記プログラミングロジックによって提供される秘密鍵を記憶するための安全鍵記憶装置を備える、請求項1に記載のシステム。
  6. 前記暗号鍵が、対称暗号鍵を備える、請求項1に記載のシステム。
  7. システムであって、
    広域ネットワーク(WAN)を介してハードウェア物のインターネット(IoT)ハブをIoTサービスに連結するためのネットワークインターフェースを備える前記IoTハブと、
    IoTデバイスとの安全な通信チャンネルを確立するために使用可能な1つ以上の暗号鍵を受信するための、前記IoTハブ上のローカルインターフェースと、を備え、
    前記IoTハブが前記1つ以上の暗号鍵を受信したら、前記IoTハブ及び前記IoTサービスが、前記1つ以上の暗号鍵を使用して、前記IoTデバイスとの安全な通信チャンネルを確立する、
    第1の公開/秘密鍵ペアが、前記IoTデバイスと関連付けられ、前記IoTハブが、前記第1の公開/秘密鍵ペアのうち少なくとも前記公開鍵を受信し、前記公開鍵を前記IoTサービスに転送する、
    第2の公開/秘密鍵ペアが、前記IoTハブと関連付けられ、前記IoTハブが、前記第2の公開/秘密鍵ペアのうち少なくとも前記公開鍵を、前記IoTデバイス及び前記IoTサービスに提供する、
    前記IoTデバイスが、前記第2の公開/秘密鍵ペアの前記公開鍵を使用して、前記IoTハブに向けられた通信を暗号化し、前記IoTハブ及び前記IoTサービスが、前記第1の公開/秘密鍵ペアの前記公開鍵を使用して、前記IoTデバイスに向けられた通信を暗号化する、
    コマンド/データを前記IoTデバイスに安全に送信するために、前記IoTサービスが、前記第1の公開/秘密鍵ペアの前記公開鍵を使用して前記コマンド/データを暗号化して、暗号化されたIoTデバイスパケットを生成し、次に、前記第2の公開/秘密鍵ペアの前記公開鍵を使用して前記IoTデバイスパケットを暗号化して、IoTハブパケットを生成する、
    システム。
  8. 前記ローカルインターフェースが、前記1つ以上の暗号鍵を識別するバーコード又はQRコードを読み取るためのバーコード又はQRコードリーダを備える、請求項7に記載のシステム。
  9. 前記IoTハブが、前記第1及び第2の公開/秘密鍵ペアの前記公開鍵を、前記IoTサービスに安全に転送する、請求項7に記載のシステム。
  10. 前記IoTサービスが、前記IoTデバイスの前記公開鍵を使用して、各コマンド/データと共に送信される署名を生成し、前記IoTデバイスが、前記IoTデバイスの前記秘密鍵を使用して前記署名を検証する、請求項7に記載のシステム。
  11. 前記IoTサービスが、前記IoTデバイスに送信されるコマンド/データ毎にシーケンス番号又はナンスを含み、前記IoTデバイスが、前記シーケンス番号又はナンスを検証する、請求項7に記載のシステム。
  12. 前記IoTハブが、前記第2の公開/秘密鍵ペアの前記秘密鍵を使用して、前記IoTハブパケットを解読して、前記IoTデバイスパケットを生成し、前記IoTデバイスパケットを前記IoTデバイスに転送し、前記IoTデバイスが、前記第1の公開/秘密鍵ペアの前記秘密鍵を使用して、前記IoTデバイスパケットを解読する、請求項7に記載のシステム。
  13. 前記ローカルインターフェースが、BLUETOOTH低エネルギー(LE)通信チャンネル又はWIFI通信チャンネルを備える、請求項7に記載のシステム。
  14. 前記暗号鍵が、前記IoTデバイス及びIoTハブによって共有される対称暗号鍵を備える、請求項6に記載のシステム。
  15. 方法であって、
    広域ネットワーク(WAN)を介して物のインターネット(IoT)ハブをIoTサービスに連結するためのネットワークインターフェースを備える前記IoTハブを提供することと、
    IoTデバイスとの暗号化通信を確立するために使用可能な1つ以上の暗号鍵を含めるように、前記IoTハブによって識別デバイスをプログラミングすることと、
    前記IoTハブによる前記識別デバイスのプログラミング後に、前記IoTデバイスを前記識別デバイスとインターフェース接続することと、を含み、
    前記識別デバイスがプログラミングされ、前記IoTデバイスとインターフェース接続されると、前記IoTデバイスが、前記1つ以上の鍵を使用して、前記IoTハブ及び/又は前記IoTサービスとの安全な通信チャンネルを確立する、
    前記識別デバイスをプログラミングすることが、公開/秘密鍵ペアを生成すること、及び前記公開/秘密鍵ペアのうち少なくとも前記秘密鍵を前記識別デバイス上に記憶することを含み、
    前記識別デバイスをプログラミングすることが、少なくとも前記公開鍵を前記IoTハブ上の安全な記憶装置内に記憶することを更に含み、
    前記IoTハブが、前記ネットワークインターフェースを介して、対応する署名付きの前記公開鍵を前記IoTサービスに安全に転送することと、更に、前記IoTハブに関連付けられ、かつIoTハブ秘密鍵に対応する、対応する署名付きのIoTハブ公開鍵を安全に転送することと、を更に含み、
    コマンド/データを前記IoTデバイスに安全に送信するために、前記IoTサービスが、前記コマンド/データを暗号化し、前記公開鍵を使用して第1の署名を生成して、暗号化されたIoTデバイスパケットを生成し、次に、前記IoTデバイスパケットを暗号化し、前記IoTハブ公開鍵を使用して第2の署名を生成して、IoTハブパケットを生成する、
    方法。
  16. 前記識別デバイスが、加入者識別モジュール(SIM)を備える、請求項15に記載の方法。
  17. 前記識別デバイスが、前記IoTデバイスに結合される、請求項15に記載の方法。
  18. 前記識別デバイスをプログラミングすることが、公開/秘密鍵ペアを生成すること、及び前記公開/秘密鍵ペアのうち少なくとも前記秘密鍵を前記識別デバイス上に記憶することを含む、請求項15に記載の方法。
  19. 前記識別デバイスをプログラミングすることが、少なくとも前記公開鍵を前記IoTハブ上の安全な記憶装置内に記憶することを更に含む、請求項18に記載の方法。
  20. 前記IoTハブが、前記ネットワークインターフェースを介して、前記公開鍵を前記IoTサービスに安全に転送することと、更に、前記IoTハブに関連付けられ、かつIoTハブ秘密鍵に対応するIoTハブ公開鍵を安全に転送することと、を更に含む、請求項19に記載の方法。
JP2017533332A 2014-12-18 2015-12-14 物のインターネットのプラットフォーム、装置、及び方法 Active JP6596091B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US14/575,535 2014-12-18
US14/575,535 US20160180100A1 (en) 2014-12-18 2014-12-18 System and method for securely connecting network devices using optical labels
US14/575,463 2014-12-18
US14/575,463 US9832173B2 (en) 2014-12-18 2014-12-18 System and method for securely connecting network devices
PCT/US2015/065539 WO2016100200A1 (en) 2014-12-18 2015-12-14 Internet of things platforms, apparatuses, and methods

Publications (3)

Publication Number Publication Date
JP2018504033A JP2018504033A (ja) 2018-02-08
JP2018504033A5 JP2018504033A5 (ja) 2019-01-31
JP6596091B2 true JP6596091B2 (ja) 2019-10-23

Family

ID=56127426

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017533332A Active JP6596091B2 (ja) 2014-12-18 2015-12-14 物のインターネットのプラットフォーム、装置、及び方法

Country Status (4)

Country Link
JP (1) JP6596091B2 (ja)
KR (1) KR102520088B1 (ja)
CN (1) CN107111515B (ja)
WO (1) WO2016100200A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10863234B2 (en) 2009-03-03 2020-12-08 Mobilitie, Llc System and method for secure appliance operation
US10798216B2 (en) * 2016-10-15 2020-10-06 Microsoft Technology Licensing, Llc Automatic provisioning of IoT devices
KR101857392B1 (ko) 2017-01-03 2018-06-19 주식회사 엘지화학 변성 공액디엔계 중합체 제조방법
US20180375665A1 (en) * 2017-06-21 2018-12-27 Microsoft Technology Licensing, Llc Device provisioning
US11374760B2 (en) 2017-09-13 2022-06-28 Microsoft Technology Licensing, Llc Cyber physical key
KR102024376B1 (ko) * 2017-12-14 2019-09-23 아주대학교산학협력단 사물 인터넷 장치의 부트스트랩 방법
KR102348078B1 (ko) * 2018-01-12 2022-01-10 삼성전자주식회사 사용자 단말 장치, 전자 장치, 이를 포함하는 시스템 및 제어 방법
IL265929B (en) * 2018-04-09 2022-07-01 Mobilitie LLC A system and method for the secure operation of a device
EP3788809A1 (en) * 2018-05-03 2021-03-10 Telefonaktiebolaget Lm Ericsson (Publ) Device enrollment using serialized application
RU2695487C1 (ru) * 2018-09-26 2019-07-23 Олег Дмитриевич Гурин Способ и система обеспечения взаимодействия устройств интернета вещей (iot)
US10798572B2 (en) 2018-10-25 2020-10-06 Ioxt, Llc System and method for secure appliance operation
CN113518056A (zh) * 2020-04-09 2021-10-19 武汉慧禹信息科技有限公司 一种物联网链路安全传输方法
WO2022186654A1 (ko) * 2021-03-04 2022-09-09 주식회사 센스톤 Iot 디바이스의 보안을 위해 생성된 인증용가상코드의 검증을 위한 심카드 장치
EP4303799A4 (en) * 2021-03-04 2024-04-24 Ssenstone Inc SIM CARD DEVICE FOR VERIFYING A VIRTUAL AUTHENTICATION CODE GENERATED FOR THE SECURITY OF AN IOT DEVICE

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7165180B1 (en) * 2001-11-27 2007-01-16 Vixs Systems, Inc. Monolithic semiconductor device for preventing external access to an encryption key
JP3802023B2 (ja) * 2003-10-24 2006-07-26 松下電器産業株式会社 通信販売方法
CN101406020B (zh) * 2006-03-16 2013-01-09 英国电讯有限公司 对临时提供有sim以存储挑战-应答的设备进行认证的过程、装置和软件
DE602006003209D1 (de) * 2006-07-17 2008-11-27 Research In Motion Ltd Automatische Verwaltung von Sicherheitsinformationen für eine Vorrichtung mit Sicherheitstokenzugang und mehrfachen Anschlüssen
US8249553B2 (en) * 2008-03-04 2012-08-21 Alcatel Lucent System and method for securing a base station using SIM cards
TWI525452B (zh) * 2008-10-02 2016-03-11 美國博通公司 安全處理系統
KR20100052271A (ko) 2008-11-10 2010-05-19 삼성전자주식회사 개인 건강 정보의 통신 보안 방법 및 장치
JP5250456B2 (ja) * 2009-03-10 2013-07-31 株式会社日立製作所 通信機器システム及びカード型機器
US9729516B2 (en) * 2010-04-09 2017-08-08 Gemalto Sa Method of machine-to-machine communication
CN102238203A (zh) * 2010-04-23 2011-11-09 中兴通讯股份有限公司 一种实现物联网业务的方法及系统
EP2710562A1 (en) * 2011-05-02 2014-03-26 Apigy Inc. Systems and methods for controlling a locking mechanism using a portable electronic device
ES2535386T3 (es) * 2011-06-08 2015-05-11 Giesecke & Devrient Gmbh Procedimientos y dispositivos para gestión durante la comunicación (OTA) de módulos de identificación de abonado
US9105025B2 (en) * 2011-10-17 2015-08-11 Capital One Financial Corporation Enhanced near field communications attachment
CN202364249U (zh) * 2011-11-07 2012-08-01 曹庆瑞 家居物联智能管理系统
US20130342314A1 (en) * 2012-06-22 2013-12-26 Gun Chen Smart lock structure and operating method thereof
EP2870556A2 (en) * 2012-07-09 2015-05-13 Debiotech S.A. Communication secured between a medical device and its remote control device
US20140038526A1 (en) * 2012-08-03 2014-02-06 Louis C. ENNIS Mobile Social Media Platform and Devices
WO2014148960A1 (en) * 2013-03-22 2014-09-25 Telefonaktiebolaget L M Ericsson (Publ) Communication apparatus, control method thereof, and computer program thereof
US9930142B2 (en) * 2013-05-24 2018-03-27 Hand Held Products, Inc. System for providing a continuous communication link with a symbol reading device
US9860235B2 (en) 2013-10-17 2018-01-02 Arm Ip Limited Method of establishing a trusted identity for an agent device
US20150121470A1 (en) 2013-10-25 2015-04-30 Qualcomm Incorporated Peer-to-peer onboarding of internet of things (iot) devices over various communication interfaces

Also Published As

Publication number Publication date
KR102520088B1 (ko) 2023-04-07
KR20170097143A (ko) 2017-08-25
CN107111515B (zh) 2020-11-10
WO2016100200A1 (en) 2016-06-23
JP2018504033A (ja) 2018-02-08
CN107111515A (zh) 2017-08-29

Similar Documents

Publication Publication Date Title
JP6596091B2 (ja) 物のインターネットのプラットフォーム、装置、及び方法
US9832173B2 (en) System and method for securely connecting network devices
US9894473B2 (en) System and method for securely connecting network devices using optical labels
US11683307B2 (en) System and method for automatic wireless network authentication
US11626974B2 (en) System and method for securely configuring a new device with network credentials
JP7254843B2 (ja) 仮想のモノのインターネット(Internet of Things)(IoT)デバイス及びハブ用のシステム及び方法
JP7075345B2 (ja) モノのインターネット(IoT)システムにおける自動的無線ネットワーク認証のためのシステム及び方法
JP6993973B2 (ja) モノのインターネット(IoT)システムのための統合開発ツール
US10291595B2 (en) System and method for securely connecting network devices
JP7122964B2 (ja) モノのインターネット(IoT)システムに安全な通信チャネルを確立するための装置及び方法
US11855839B2 (en) System and method for pre-enrollment and network pre-configuration of internet of things (IoT) devices
JP7080641B2 (ja) 中間デバイスデータ収集のための装置及び方法
US20230379169A1 (en) Apparatus and method for cryptographically securing unpowered or non-electronic iot devices
US20240205670A1 (en) Apparatus and method for pairing a user input and/or output device with a multimedia system
US20240205684A1 (en) Apparatus and method for efficient and secure pairing and communication
US20240205012A1 (en) Apparatus and method for securing sensitive customer information and data

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181214

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181214

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190904

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190917

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190927

R150 Certificate of patent or registration of utility model

Ref document number: 6596091

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250