IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社ユビキタスの特許一覧 ▶ 凸版印刷株式会社の特許一覧

特許7116878デバイス管理システム、デバイス管理方法、デバイス管理サーバおよびIoTデバイス
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2022-08-03
(45)【発行日】2022-08-12
(54)【発明の名称】デバイス管理システム、デバイス管理方法、デバイス管理サーバおよびIoTデバイス
(51)【国際特許分類】
   H04L 9/08 20060101AFI20220804BHJP
   H04L 9/32 20060101ALI20220804BHJP
   H04L 9/16 20060101ALI20220804BHJP
   G16Y 20/10 20200101ALI20220804BHJP
   G16Y 30/10 20200101ALI20220804BHJP
【FI】
H04L9/08 F
H04L9/32 200B
H04L9/16
G16Y20/10
G16Y30/10
【請求項の数】 12
(21)【出願番号】P 2022030012
(22)【出願日】2022-02-28
【審査請求日】2022-02-28
【早期審査対象出願】
(73)【特許権者】
【識別番号】505381024
【氏名又は名称】株式会社ユビキタスAI
(73)【特許権者】
【識別番号】000003193
【氏名又は名称】凸版印刷株式会社
(74)【代理人】
【識別番号】100134430
【弁理士】
【氏名又は名称】加藤 卓士
(72)【発明者】
【氏名】長谷川 聡
(72)【発明者】
【氏名】遠藤 晋
(72)【発明者】
【氏名】平田 純一
(72)【発明者】
【氏名】中山 健司
(72)【発明者】
【氏名】今泉 正明
【審査官】平井 誠
(56)【参考文献】
【文献】特開2020-202500(JP,A)
【文献】特開2015-222915(JP,A)
【文献】特開2020-113868(JP,A)
【文献】米国特許出願公開第2015/0106893(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/00-40
G16Y 10/00-40/60
(57)【特許請求の範囲】
【請求項1】
IoTデバイスと、
前記IoTデバイスを管理するデバイス管理サーバと、
を備えるデバイス管理システムであって、
前記デバイス管理サーバは、
前記IoTデバイスに、新たなサービスを識別する新たなサービス識別情報を含む、前記新たなサービスへの変更通知を送信するサービス変更通知部と、
前記IoTデバイスからの前記新たなサービス識別情報を含む要求メッセージに応答して、前記IoTデバイスに、前記IoTデバイスの信頼性を証明する新たなクライアント証明書を送信する証明書送信部と、
を有し、
前記IoTデバイスは、
前記デバイス管理サーバからの前記サービスの変更通知に応答して、前記新たなサービス識別情報を含む前記要求メッセージにより、前記新たなクライアント証明書を要求する証明書要求部と、
前記要求メッセージに応じて前記デバイス管理サーバから受信した前記新たなクライアント証明書を用いて、新たなサービスを受けるサービス更新部と、
を有するデバイス管理システム。
【請求項2】
前記要求メッセージは、前記IoTデバイスに固有のデバイス識別情報と前記デバイス管理サーバから取得したデバイス認証情報と前記サービス識別情報とを含み、
前記証明書要求部は、前記デバイス管理サーバからの前記サービスの変更通知に応答して、前記IoTデバイスに固有のデバイス識別情報と前記デバイス管理サーバから取得したデバイス認証情報と前記サービス識別情報とを含む前記要求メッセージにより、新たな公開鍵および秘密鍵と前記新たなクライアント証明書とを要求し、
前記証明書送信部は、前記要求メッセージに応答して、前記IoTデバイスを認証するために用いられる前記新たな公開鍵および秘密鍵の送信、ならびに、前記新たなクライアント証明書の送信を行い、
前記サービス更新部は、前記デバイス管理サーバから受信した前記新たな公開鍵および秘密鍵と前記新たなクライアント証明書とを用いて、前記新たなサービスを受ける請求項1に記載のデバイス管理システム。
【請求項3】
前記デバイス管理サーバは、前記デバイス識別情報と前記サービス識別情報との履歴を対応付けて記憶する第1記憶部をさらに有する請求項2に記載のデバイス管理システム。
【請求項4】
前記サービス変更通知部または前記証明書送信部は、さらに、前記新たなサービスを提供するサービス提供サーバを識別するサービス提供サーバ識別情報を前記IoTデバイスに送信する請求項2に記載のデバイス管理システム。
【請求項5】
前記デバイス管理サーバは、前記デバイス識別情報と前記サービス提供サーバ識別情報と前記サービス識別情報との履歴を対応付けて記憶する第2記憶部をさらに有する請求項4に記載のデバイス管理システム。
【請求項6】
前記デバイス認証情報は、前記デバイス管理サーバから前記IoTデバイスへの初期のクライアント証明書の送信を行う時に、前記デバイス管理サーバから前記IoTデバイスに提供される請求項2から5のいずれか1項に記載のデバイス管理システム。
【請求項7】
前記デバイス認証情報は、UUID(Universally Unique Identifier)を含む請求項6に記載のデバイス管理システム。
【請求項8】
前記デバイス管理サーバは、前記IoTデバイスにおけるアプリケーションプログラムを、新たなサービス識別情報を含む新たなアプリケーションプログラムに更新するアプリケーション更新部をさらに有する請求項2に記載のデバイス管理システム。
【請求項9】
前記デバイス管理システムは、複数の前記IoTデバイスを備え、
前記デバイス管理サーバの前記サービス変更通知部は、前記複数のIoTデバイスを使用する場合の組み合わせの変化に応じて、前記新たなサービスへの変更通知を送信する請求項1または2に記載のデバイス管理システム。
【請求項10】
IoTデバイスと、
前記IoTデバイスを管理するデバイス管理サーバと、
を備えるデバイス管理システムのデバイス管理方法であって、
前記デバイス管理サーバのサービス変更通知部が、前記IoTデバイスに、新たなサービスを識別する新たなサービス識別情報を含む、前記新たなサービスへの変更通知を送信するサービス変更通知部ステップと、
前記デバイス管理サーバの鍵証明書送信部が、前記IoTデバイスからの前記新たなサービス識別情報を含む要求メッセージに応答して、前記IoTデバイスへの、前記IoTデバイスの信頼性を証明する新たなクライアント証明書の送信を行う鍵証明書送信ステップと、
前記IoTデバイスのサービス更新部が、前記要求メッセージに応じて前記デバイス管理サーバから受信した前記新たなクライアント証明書を用いて、新たなサービスを受けるサービス更新ステップと、
を含むデバイス管理方法。
【請求項11】
IoTデバイスに、新たなサービスを識別する新たなサービス識別情報を含む前記新たなサービスへの変更通知を送信するサービス変更通知部と、
前記IoTデバイスからの、前記IoTデバイスに固有のデバイス識別情報とデバイス管理サーバから前記IoTデバイスに提供したデバイス認証情報と前記サービス識別情報とを含む要求メッセージに応じて、前記IoTデバイスを認証するために用いられる新たな公開鍵および秘密鍵の送信、ならびに、前記IoTデバイスの信頼性を証明する新たなクライアント証明書の送信を行う鍵証明書送信部と、
前記デバイス識別情報と前記サービス識別情報との履歴を対応付けて記憶する第1記憶部と、
を備えるデバイス管理サーバ。
【請求項12】
IoTデバイスを管理するデバイス管理サーバからの新たなサービス識別情報を含む新たなサービスへの変更通知に応答して、前記デバイス管理サーバに、当該IoTデバイスに固有のデバイス識別情報と前記デバイス管理サーバから取得したデバイス認証情報と前記サービス識別情報とを含む要求メッセージによって、新たな公開鍵および秘密鍵と新たなクライアント証明書とを要求する鍵証明書要求部と、
前記デバイス管理サーバから受信した前記新たな公開鍵および秘密鍵と前記新たなクライアント証明書とを用いて、前記新たなサービスを受けるサービス更新部と、
を備えるIoTデバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、デバイス管理システム、デバイス管理方法、デバイス管理サーバおよびIoTデバイスに関する。
【背景技術】
【0002】
上記技術分野において、特許文献1および2には、IoTデバイスにおいてデバイス管理サーバから取得した鍵やデバイス証明書(クライアント証明書)を保持して、サービス提供サーバからサービスの提供を受ける技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2020-202500号公報
【文献】特許第6386684号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記文献に記載の技術では、IoTデバイスへのサービスが固定されるため、IoTデバイスのライフサイクルを有効に活用できなかった。
【0005】
本発明の目的は、上述の課題を解決する技術を提供することにある。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明に係るデバイス管理システムは、
IoTデバイスと、
前記IoTデバイスを管理するデバイス管理サーバと、
を備えるデバイス管理システムであって、
前記デバイス管理サーバは、
前記IoTデバイスに、新たなサービスを識別する新たなサービス識別情報を含む、前記新たなサービスへの変更通知を送信するサービス変更通知部と、
前記IoTデバイスからの前記新たなサービス識別情報を含む要求メッセージに応答して、前記IoTデバイスに、前記IoTデバイスの信頼性を証明する新たなクライアント証明書を送信する証明書送信部と、
を有し、
前記IoTデバイスは、
前記デバイス管理サーバからの前記サービスの変更通知に応答して、前記新たなサービス識別情報を含む前記要求メッセージにより、前記新たなクライアント証明書を要求する証明書要求部と、
前記要求メッセージに応じて前記デバイス管理サーバから受信した前記新たなクライアント証明書を用いて、新たなサービスを受けるサービス更新部と、
を有する。
【0007】
上記目的を達成するため、本発明に係るデバイス管理方法は、
IoTデバイスと、
前記IoTデバイスを管理するデバイス管理サーバと、
を備えるデバイス管理システムのデバイス管理方法であって、
前記デバイス管理サーバのサービス変更通知部が、前記IoTデバイスに、新たなサービスを識別する新たなサービス識別情報を含む、前記新たなサービスへの変更通知を送信するサービス変更通知部ステップと、
前記デバイス管理サーバの鍵証明書送信部が、前記IoTデバイスからの前記新たなサービス識別情報を含む要求メッセージに応答して、前記IoTデバイスへの、前記IoTデバイスの信頼性を証明する新たなクライアント証明書の送信を行う鍵証明書送信ステップと、
前記IoTデバイスのサービス更新部が、前記要求メッセージに応じて前記デバイス管理サーバから受信した前記新たなクライアント証明書を用いて、新たなサービスを受けるサービス更新ステップと、
を含む。
【0008】
上記目的を達成するため、本発明に係るデバイス管理サーバは、
IoTデバイスに、新たなサービスを識別する新たなサービス識別情報を含む前記新たなサービスへの変更通知を送信するサービス変更通知部と、
前記IoTデバイスからの、前記IoTデバイスに固有のデバイス識別情報とデバイス管理サーバから前記IoTデバイスに提供したデバイス認証情報と前記サービス識別情報とを含む要求メッセージに応じて、前記IoTデバイスを認証するために用いられる新たな公開鍵および秘密鍵の送信、ならびに、前記IoTデバイスの信頼性を証明する新たなクライアント証明書の送信を行う鍵証明書送信部と、
前記デバイス識別情報と前記サービス識別情報との履歴を対応付けて記憶する第1記憶部と、
を備える。
【0009】
上記目的を達成するため、本発明に係るIoTデバイスは、
IoTデバイスを管理するデバイス管理サーバからの新たなサービス識別情報を含む新たなサービスへの変更通知に応答して、前記デバイス管理サーバに、当該IoTデバイスに固有のデバイス識別情報と前記デバイス管理サーバから取得したデバイス認証情報と前記サービス識別情報とを含む要求メッセージによって、新たな公開鍵および秘密鍵と新たなクライアント証明書とを要求する鍵証明書要求部と、
前記デバイス管理サーバから受信した前記新たな公開鍵および秘密鍵と前記新たなクライアント証明書とを用いて、前記新たなサービスを受けるサービス更新部と、
を備える。
【発明の効果】
【0010】
本発明によれば、IoTデバイスのライフサイクルを有効に活用することができる。
【図面の簡単な説明】
【0011】
図1】第1実施形態に係るデバイス管理システムの構成を示すブロック図である。
図2A】第2実施形態に係るデバイス管理システムの動作の概要を示す図である。
図2B】第2実施形態に係るデバイス管理システムの構成を示すブロック図である。
図3A】第2実施形態に係るデバイス管理システムの動作手順の一例を示すシーケンスである。
図3B】第2実施形態に係るデバイス管理システムの動作手順の他例を示すシーケンスである。
図3C】第2実施形態に係るデバイス管理システムの動作手順のさらに他例を示すシーケンスである。
図3D】第2実施形態に係るアクティベート処理およびアップデート処理の動作手順を示すシーケンスである。
図4】第2実施形態に係るデバイス管理サーバの機能構成を示すブロック図である。
図5】第2実施形態に係るデバイス管理サーバの識別情報登録部およびデバイス管理テーブルの構成を示す図である。
図6】第2実施形態に係るデバイス管理サーバのハードウェア構成を示すブロック図である。
図7】第2実施形態に係るデバイス管理サーバの処理手順を示すフローチャートである。
図8】第2実施形態に係る情報処理部を含むIoTデバイスの機能構成を示すブロック図である。
図9】第2実施形態に係る情報処理部を含むIoTデバイスの機密保持部および要求メッセージ生成テーブルの構成を示す図である。
図10】第2実施形態に係る情報処理部を含むIoTデバイスのハードウェア構成を示すブロック図である。
図11】第2実施形態に係る情報処理部の処理手順を示すフローチャートである。
図12A】第2実施形態に係る初期サービス設定処理の手順を示すフローチャートである。
図12B】第2実施形態に係る更新サービス設定処理の手順を示すフローチャートである。
図13】第3実施形態に係るデバイス管理サーバの識別情報登録部およびデバイス管理テーブルの構成を示す図である。
図14】第3実施形態に係るデバイス管理サーバの処理手順を示すフローチャートである。
図15】第3実施形態に係る更新サービス設定処理の手順を示すフローチャートである。
図16】第4実施形態に係るデバイス管理サーバの識別情報登録部およびデバイス管理テーブルの構成を示す図である。
図17】第4実施形態に係るデバイス管理サーバの処理手順を示すフローチャートである。
図18】第4実施形態に係る更新サービス設定処理の手順を示すフローチャートである。
図19】第5実施形態に係るアクティベート処理の動作手順を示すシーケンスである。
【発明を実施するための形態】
【0012】
以下に、図面を参照して、本発明の実施の形態について例示的に詳しく説明する。ただし、以下の実施の形態に記載されている構成要素は単なる例示であり、本発明の技術範囲をそれらのみに限定する趣旨のものではない。
【0013】
[第1実施形態]
本発明の第1実施形態としてのデバイス管理システム100について、図1を用いて説明する。デバイス管理システム100は、IoTデバイス101と、IoTデバイスを管理するデバイス管理サーバ102と、を備えるシステムである。
【0014】
デバイス管理サーバ102は、サービス変更通知部121と、証明書送信部123と、を有す。サービス変更通知部121は、IoTデバイス101に、新たなサービスを識別する新たなサービス識別情報122含む新たなサービスへの変更通知を送信する。証明書送信部123は、IoTデバイス101からの新たなサービス識別情報122を含む要求メッセージに応答して、IoTデバイス101に、IoTデバイス101の信頼性を証明する新たなクライアント証明書124を送信する。
【0015】
IoTデバイス101は、証明書要求部111と、サービス更新部112と、を有する。証明書要求部111は、デバイス管理サーバ102からのサービスの変更通知に応答して、新たなサービス識別情報122を含む要求メッセージにより、新たなクライアント証明書を要求する。サービス更新部112は、要求メッセージに応じてデバイス管理サーバ102から受信した新たなクライアント証明書124を用いて、新たなサービスの提供を受ける。
【0016】
本実施形態によれば、IoTデバイスのライフサイクルを有効に活用することができる。すなわち、IoTデバイスのライフサイクル中に提供されるサービスを、IoTデバイスへのユーザ操作なしに更新することができる。
【0017】
[第2実施形態]
次に、本発明の第2実施形態に係るデバイス管理システムについて説明する。本実施形態に係るデバイス管理システムでは、IoTデバイスからデバイス管理サーバにクライアント証明書を要求する要求メッセージに、IoTデバイスに固有のデバイス識別情報とデバイス管理サーバから取得したデバイス認証情報とサービス識別情報とを含む。要求メッセージへの応答として、デバイス管理サーバからIoTデバイスには、IoTデバイスを認証するために用いられる公開鍵および秘密鍵の送信、ならびに、クライアント証明書が送信される。そして、IoTデバイスは、デバイス管理サーバから受信した新たな公開鍵および秘密鍵と新たなクライアント証明書とを用いて、新たなサービスの提供を受ける。ここで、デバイス認証情報には、デバイス管理サーバからIoTデバイスへの初期のクライアント証明書の送信を行う時に、デバイス管理サーバからIoTデバイスに提供されるUUID(Universally Unique Identifier)が含まれるが、限定されない。
【0018】
<デバイス管理システム>
以下、図2A図3Bを参照して、第2実施形態に係るデバイス管理システムの構成および動作を説明する。
【0019】
(システム動作の概要)
図2Aは、本実施形態に係るデバイス管理システム200におけるIoTデバイス210のライフサイクルの概要を示す図である。
【0020】
図2Aは、IoTデバイス210のライフサイクルと、IoTデバイス210を用いたサービスのライフサイクルとを比較して示している。図2Aのように、IoTデバイス210のライフサイクル、特に製造から廃棄までのライフサイクルを有効に利用するためには、IoTデバイス210とサービスとの関係を柔軟に変更可能であることが望ましい。図2Aでは、1つのIoTデバイス210がIoTサービスAとBとの2つのサービスに使用されている。この場合に、例えIoTデバイス210が遠隔などにあってユーザによる操作ができなくても、IoTサービスAからBへの移行が簡単な操作で行われる必要がある。
【0021】
本実施形態では、デバイス管理サーバ220による管理によって、IoTデバイス210を使用するサービス提供サーバ230によるサービスの移行を簡単にスムースに行うことができる
(システム構成)
図2Bは、本実施形態に係るデバイス管理システム200の構成を示すブロック図である。
【0022】
デバイス管理システム200は、クライアント機器としてのIoTデバイス210と、デバイス管理サーバ220と、Webサーバなどのサービス提供サーバ230と、デバイス製造者240と、を含む。
【0023】
IoTデバイス210は、デバイス管理サーバ220に管理されサービス提供サーバ230からサービスを提供されるデバイスである。IoTデバイス210は、FOTA(Firmware Over The Air),TrustZone,TPM(Trusted Platform Module)などの機能を有してよい。デバイス管理サーバ220は、デバイス管理(Device management)と、証明書管理および鍵管理(Certification/Key management)との機能を有して、IoTデバイス210を管理するサーバである。サービス提供サーバ230は、デバイス管理サーバ220がIoTデバイス210に配布した証明書および鍵を認証し、IoTデバイス210にサービスを提供するWeb serversなどのサーバである。デバイス製造者240は、IoTデバイス210を製造する製造者であり、例えばIoTデバイス210に固有の識別子などを含むデバイス情報を付して、Device Lifecycle Managementを実現させる。また、オプショとして、IoTデバイス210とデバイス管理サーバ220とサービス提供サーバ230とデバイス製造者240とを、総合的にその使用を計画し管理するオプションのIoTシステム管理者250(図示せず)を設けてもよい。
【0024】
(動作シーケンス)
図3Aは、本実施形態に係るデバイス管理システム200の動作手順の一例を示すシーケンスである。なお、図3Aにおいては、IoTデバイス210としての温度測定機器を異なるアプリケーションで順次に使用する例について説明する。本例においては、複数の温度測定機器が、監視用に橋梁やトンネルなどの土木構造施設や建築物に設置あるいは埋設された例を説明する。
【0025】
アクティベート処理(Activate:S310)においては、各温度測定機器からデバイス管理サーバ220に空調機器に固有のデバイス識別情報とサービス識別情報が送信される。そして、その応答として、デバイス管理サーバ220から各温度測定機器のデバイス認証情報(例えば、UUID)が返信される。
【0026】
アップデート処理(Update:S320)においては、各温度測定機器からデバイス管理サーバ220にデバイス識別情報とサービス識別情報とデバイス認証情報とが送信される。そして、その応答として、デバイス管理サーバ220から各温度測定機器に鍵(秘密鍵と公開鍵)とクライアント証明書とが返信される。
【0027】
サービス処理(S325)においては、各温度測定機器からサービス提供サーバ230に検出した温度データが送信される。サービス提供サーバ230は、温度データを収集して、例えば、他のデータ(加速度や歪データなど)を共に考慮して土木建築監視用の情報を作成して、ユーザ端末340に提供する(S326)。
【0028】
温度測定機器を用いるサービスが変更される場合は、中段のサービス更新処理(S350)において、各温度測定機器からデバイス管理サーバ220へのポーリング(Poling)時に、デバイス管理サーバ220から各温度測定機器への応答として、新たなサービス識別情報(ID)への更新が通知される。
【0029】
アップデート処理(S320)においては、上述と同様に、各温度測定機器からデバイス管理サーバ220にデバイス識別情報と新たなサービス識別情報とデバイス認証情報とが送信される。そして、その応答として、デバイス管理サーバ220から各温度測定機器に新たな鍵(秘密鍵と公開鍵)と新たなクライアント証明書とが返信される。
【0030】
サービス処理(S325)においては、各温度測定機器からサービス提供サーバ230に検出した温度データが送信される。サービス提供サーバ230は、温度データを収集して、例えば、他のデータ(湿度や気圧など)を共に考慮して天気予報の情報を作成して、ユーザ端末340に提供する(S327)。
【0031】
さらに、温度測定機器を用いるサービスが変更される場合は、下段のサービス更新処理(S350)において、各温度測定機器からデバイス管理サーバ220へのポーリング(Poling)時に、デバイス管理サーバ220から各温度測定機器への応答として、新たなサービス識別情報(ID)への更新が通知される。
【0032】
アップデート処理(S320)においては、上述と同様に、各温度測定機器からデバイス管理サーバ220にデバイス識別情報と新たなサービス識別情報とデバイス認証情報とが送信される。そして、その応答として、デバイス管理サーバ220から各温度測定機器に新たな鍵(秘密鍵と公開鍵)と新たなクライアント証明書とが返信される。
【0033】
サービス処理(S325)においては、各温度測定機器からサービス提供サーバ230に検出した温度データが送信される。サービス提供サーバ230は、温度データを収集して、例えば、他のデータ(CO2濃度や雨量など)を共に考慮して環境計測の情報を作成して、ユーザ端末340に提供する(S328)。
【0034】
以下、温度測定機器のライフサイクルが終わるまでの間に、使用するアプリケーションの変更があれば、ステップS350、S320およびS325を繰り返して、IoTデバイス210としての温度測定機器のライフサイクルを異なる複数のサービスに有効に活用することができる。
【0035】
なお、本例では、複数の温度測定機器を用いるアプリケーションの更新を説明したが、個々の温度測定機器をそれぞれ異なる複数のアプリケーションで用いるようにしてもよい。また、図3Aにおいては、IoTデバイス210として温度測定機器を例に説明したが、IoTデバイス210は温度測定機器に限定されない。ライフサイクルが長い測定機器であって、1つのアプリケーションの使用終了後に次の異なるアプリケーションで継続して使用できる測定機器であればよい。
【0036】
図3Bは、本実施形態に係るデバイス管理システム200の動作手順の他例を示すシーケンスである。なお、図3Bにおいては、IoTデバイス210としての温度センサ付き空調機器および照度センサ付き照明制御機器による空調機器の自動調整の変化の例について説明する。
【0037】
アクティベート処理(S310)においては、空調機器からデバイス管理サーバ220に空調機器に固有のデバイス識別情報とサービス識別情報が送信される。そして、その応答として、デバイス管理サーバ220から空調機器のデバイス認証情報(例えば、UUID)が返信される。
【0038】
アップデート処理(S320)においては、空調機器からデバイス管理サーバ220にデバイス識別情報とサービス識別情報とデバイス認証情報とが送信される。そして、その応答として、デバイス管理サーバ220から空調機器に鍵(秘密鍵と公開鍵)とクライアント証明書とが返信される。
【0039】
サービス処理(S330)においては、空調機器からサービス提供サーバ230に空調機器の温度センサが検出した温度データが送信される。そして、サービス提供サーバ230は空調機器に温度データを考慮した空調制御コマンドを送信して、自動空調制御をする。
【0040】
アクティベート処理(S310)においては、照明制御機器からデバイス管理サーバ220に照明制御機器に固有のデバイス識別情報とサービス識別情報が送信される。そして、その応答として、デバイス管理サーバ220から照明制御機器のデバイス認証情報(例えば、UUID)が返信される。
【0041】
アップデート処理(S320)においては、照明制御機器からデバイス管理サーバ220にデバイス識別情報とサービス識別情報とデバイス認証情報とが送信される。そして、その応答として、デバイス管理サーバ220から照明制御機器に鍵(秘密鍵と公開鍵)とクライアント証明書とが返信される。
【0042】
サービス処理(S360)においては、照明制御機器からサービス提供サーバ230に照明制御機器の照度センサが検出した照度データが送信される。そして、サービス提供サーバ230は照明制御機器に照度データを考慮した照明制御コマンドを送信して、自動照明制御をする。
【0043】
サービス更新処理(S350)においては、空調機器からデバイス管理サーバ220へのポーリング(Poling)時に、デバイス管理サーバ220から空調機器への応答として、新たなサービス識別情報(ID)への更新が通知される。
【0044】
アップデート処理(Update:S320)においては、上述と同様に、空調機器からデバイス管理サーバ220にデバイス識別情報と新たなサービス識別情報とデバイス認証情報とが送信される。そして、その応答として、デバイス管理サーバ220から空調機器に新たな鍵(秘密鍵と公開鍵)と新たなクライアント証明書とが返信される。
【0045】
サービス処理(S370)においては、空調機器からサービス提供サーバ230に空調機器の温度センサが検出した温度データが送信される。そして、サービス提供サーバ230は空調機器に温度データおよび照度データを考慮した空調制御コマンドを送信して、自動空調制御をする。
【0046】
以下、空調機器のライフサイクルが終わるまでの間に、異なるIoTデバイスの追加やアプリケーションの変更があれば、ステップS350、S320およびS370を繰り返して、IoTデバイス210としての空調機器のライフサイクルを異なる複数のサービスに有効に活用することができる。
【0047】
図3Cは、本実施形態に係るデバイス管理システム200の動作手順のさらに他例を示すシーケンスである。なお、図3Cにおいては、IoTデバイス210としての温度センサ付き空調機器と湿度センサ付き加湿機器による空調機器の自動調整の変化の例について説明する。
【0048】
アクティベート処理(S310)においては、空調機器からデバイス管理サーバ220に空調機器に固有のデバイス識別情報とサービス識別情報が送信される。そして、その応答として、デバイス管理サーバ220から空調機器のデバイス認証情報(例えば、UUID)が返信される。
【0049】
アップデート処理(S320)においては、空調機器からデバイス管理サーバ220にデバイス識別情報とサービス識別情報とデバイス認証情報とが送信される。そして、その応答として、デバイス管理サーバ220から空調機器に鍵(秘密鍵と公開鍵)とクライアント証明書とが返信される。
【0050】
サービス処理(S330)においては、空調機器からサービス提供サーバ230に空調機器の温度センサが検出した温度データが送信される。そして、サービス提供サーバ230は空調機器に温度データを考慮した空調制御コマンドを送信して、自動空調制御をする。
【0051】
アクティベート処理(S310)においては、加湿機器からデバイス管理サーバ220に加湿機器に固有のデバイス識別情報とサービス識別情報が送信される。そして、その応答として、デバイス管理サーバ220から加湿機器のデバイス認証情報(例えば、UUID)が返信される。
【0052】
アップデート処理(S320)においては、加湿機器からデバイス管理サーバ220にデバイス識別情報とサービス識別情報とデバイス認証情報とが送信される。そして、その応答として、デバイス管理サーバ220から加湿機器に鍵(秘密鍵と公開鍵)とクライアント証明書とが返信される。
【0053】
サービス処理(S380)においては、加湿機器からサービス提供サーバ230に加湿機器の湿度センサが検出した湿度データが送信される。そして、サービス提供サーバ230は加湿機器に加湿データを考慮した加湿制御コマンドを送信して、自動加湿制御をする。
【0054】
サービス更新処理(S350)においては、空調機器からデバイス管理サーバ220へのポーリング(Poling)時に、デバイス管理サーバ220から空調機器への応答として、新たなサービス識別情報(ID)への更新が通知される。
【0055】
アップデート処理(S320)においては、上述と同様に、空調機器からデバイス管理サーバ220にデバイス識別情報と新たなサービス識別情報とデバイス認証情報とが送信される。そして、その応答として、デバイス管理サーバ220から空調機器の新たな鍵(秘密鍵と公開鍵)と新たなクライアント証明書とが返信される。
【0056】
サービス処理(S390)においては、空調機器からサービス提供サーバ230に空調機器の温度センサが検出した温度データが送信される。そして、サービス提供サーバ230は空調機器に温度データおよび湿度データを考慮した空調制御コマンドを送信して、自動空調調整をする。
【0057】
以下、空調機器のライフサイクルが終わるまでの間に、異なるIoTデバイスの追加やアプリケーションの変更があれば、ステップS350、S320およびS390を繰り返して、IoTデバイス210としての空調機器のライフサイクルを異なる複数のサービスに有効に活用することができる。
【0058】
なお、図3Bおよび図3Cにおいては、空調機器(エアコン)の自動調整を例に説明したが、これに限定されるものではなく、例えば遠隔機器の制御をクラウドサーバから一括して行う場合などに様々な適用が可能である。
【0059】
(アクティベート処理およびアップデート処理)
図3Dは、本実施形態に係る図3A図3Cのアクティベート処理S310およびアップデート処理S320の具体的な動作手順を示すシーケンスである。
【0060】
アクティベート処理(Activate:S310)では、ステップS311において、ユーザ310がIoTデバイスの電源をONにする。ステップS313において、IoTデバイス210からデバイス管理サーバ220にデバイス識別情報とサービス識別情報が送信される。ステップS315において、応答として、デバイス管理サーバ220からIoTデバイス210のデバイス認証情報(例えば、UUID)が返信される。
【0061】
アップデート処理(Update:S320)においては、IoTデバイス210が遠隔にある場合は、ステップS321において、自動でIoTデバイス210からデバイス管理サーバ220にデバイス識別情報とサービス識別情報とデバイス認証情報とが送信される。ステップS322において、応答として、デバイス管理サーバ220からIoTデバイス210に鍵(秘密鍵と公開鍵)とクライアント証明書とが返信される。なお、IoTデバイス210がユーザにより操作可能な場所に配置されている場合は、アップデート処理(Update:S320)がユーザによるIoTデバイス210のボタンの押下などで行われてもよい。
【0062】
更新指示処理(S340)は、デバイス管理サーバ220にIoTデバイス210へのサービス内容を変更するための指示を行う処理である。ステップS341において、デバイス管理サーバ220のコンソール320は、ユーザ310(または、システムのオペレータやサービス提供サーバ230など)からの登録確認と証明書配信指示を受ける。そして、ステップS343において、コンソール320からデバイス管理サーバ220にサービス識別情報(あるいは、サービス提供サーバ230の識別情報)の更新が指示される。
【0063】
なお、IoTデバイス210を医療機器としても同様な処理ができる。特に、遠隔診療や体内に埋め込まれた機器などへの適用ができる。例えば、医療機器として、常時針を挿して血糖値を測定する機器が存在する。現在、血液検査で検査する項目は患者に合わせて様々な項目で数値が示されるが、今後センサや血液から値を導くアルゴリズムの開発が行われることで、患者に合わせた血液測定を行うことができる。IoTデバイスを使用するその他の技術分野への用途も可能である。
【0064】
<デバイス管理サーバ>
以下、図4図7を参照して、本実施形態に係るデバイス管理サーバ220の構成と動作を説明する。
【0065】
(デバイス管理サーバの機能構成)
図4は、本実施形態に係るデバイス管理サーバ220の機能構成を示すブロック図である。
【0066】
デバイス管理サーバ220は、通信制御部401と、データベース402と、デバイス認証要求受信部403と、デバイス認証情報生成送信部404と、を備える。また、デバイス管理サーバ220は、要求メッセージ受信部405と、識別情報抽出部406と、識別情報照合部407と、鍵および証明書生成部408と、鍵および証明書配布部409と、サービス開始記録部410と、を備える。また、デバイス管理サーバ220は、サービス変更指示部411と、サービス変更記録部412と、を備える。
【0067】
通信制御部401は、ネットワークを介するIoTデバイス210やサービス提供サーバ230との通信を制御する。データベース402は、デバイス管理サーバ220で使用するデータを格納する。例えば、データベース402は、デバイス識別情報とサービス識別情報とデバイス認証情報とを登録する識別情報登録部421と、IoTデバイスに提供される複数のサービスのサービス開始およびサービス終了の履歴を蓄積するためのデバイス管理テーブル422とを有する。デバイス認証要求受信部403は、アクティベート処理において、IoTデバイス210からのデバイス識別情報とサービス識別情報とを含むデバイス認証情報の要求メッセージを機密に受信して、デバイス識別情報とサービス識別情報とをデータベース402に登録する。デバイス認証情報生成送信部404は、デバイス認証情報を生成して、デバイス識別情報とサービス識別情報とに紐つけてデータベース402に登録すると共に、デバイス認証情報の要求元のIoTデバイス210に機密に送信する。
【0068】
要求メッセージ受信部405は、IoTデバイス210からの公開鍵と秘密鍵とクライアント証明書とを要求する要求メッセージを機密に受信する。識別情報抽出部406は、要求メッセージ受信部405が受信した要求メッセージからデバイス識別情報とサービス識別情報とデバイス認証情報とを抽出する。識別情報照合部407は、識別情報抽出部406が抽出したデバイス識別情報、サービス識別情報およびデバイス認証情報と、識別情報登録部421に格納されたデバイス識別情報、サービス識別情報およびデバイス認証情報と、を照合して、照合結果を出力する。なお、識別情報抽出部406が抽出して識別情報照合部407が照合する、デバイス識別情報とサービス識別情報とデバイス認識情報とは、1つの情報であっても複数の情報であってもよい。多くの情報を照合することによって、より認証が厳密となる。また、照合は、少なくともデバイス認識情報であってもよい。
【0069】
鍵および証明書生成部408は、照合結果が一致であれば、秘密鍵および公開鍵のペアと、サービス識別情報を含むクライアント証明書とを生成する。鍵および証明書配布部409は、鍵および証明書生成部408が生成した秘密鍵と公開鍵とクライアント証明書とをIoTデバイス210に機密に配布する。例えば、電子署名などにより機密が保持される。サービス開始記録部410は、鍵および証明書配布部409が秘密鍵と公開鍵とクライアント証明書とをIoTデバイス210に機密に配布すると、IoTデバイス210へのサービス開始をデバイス管理テーブル422に記録する。
【0070】
サービス変更指示部411は、デバイス管理サーバ220によるIoTデバイス210へのサービス提供サーバ230によるサービスの変更に従い、IoTデバイス210にサービス変更を指示する。サービス変更記録部412は、サービス変更指示部411の指示に応じて、IoTデバイス210のサービス変更(旧いサービスの終了と新たなサービスの開始)をデバイス管理テーブル422に記録する。
【0071】
(識別情報登録部およびデバイス管理テーブル)
図5は、本実施形態に係る識別情報登録部421およびデバイス管理テーブル422の構成を示す図である。ここで、デバイス管理テーブル422は、デバイス識別情報とサービス識別情報との履歴を対応付けて記憶する記憶部として機能する。
【0072】
識別情報登録部421は、デバイス識別情報511とサービス識別情報512とデバイス認証情報513とを組として登録する。
【0073】
デバイス管理テーブル422は、IoTデバイス210の履歴を管理するテーブルである。デバイス管理テーブル422は、デバイス識別情報521とデバイス認証情報522とに対応付けて、サービス識別情報の履歴523と鍵および証明書更新履歴524とデバイス使用履歴525とを記憶する。デバイス使用履歴525は、鍵および証明書の配布に対応するサービス開始年月日と、鍵および証明書の更新に対応するサービス終了年月日とを含む。鍵および証明書更新履歴524は、さらに、鍵やクライアント証明書の盗聴や改竄などを防ぐための、セッション毎、あるいは、所定セッションごと、また、所定時間経過ごとの更新の履歴を含んでもよい。
【0074】
(デバイス管理サーバのハードウェア構成)
図6は、本実施形態に係るデバイス管理サーバ220のハードウェア構成を示すブロック図である。
【0075】
図6で、CPU(Central Processing Unit)610は演算制御用のプロセッサであり、プログラムを実行することで図5の機能を実現する。なお、CPU610は、それぞれの機能に対応して複数あってもよい。ROM(Read Only Memory)620は、初期データおよびプログラムなどの固定データおよびプログラムを記憶する。ネットワークインタフェース630は、ネットワークを介して、IoTデバイス210やサービス提供サーバ230などとの通信を制御する。
【0076】
RAM(Random Access Memory)640は、CPU610が一時記憶のワークエリアとして使用するランダムアクセスメモリである。RAM640には、本実施形態の実現に必要なデータを記憶する領域が確保されている。登録する識別情報641は、識別情報登録部421に登録するデバイス識別情報とサービス識別情報とデバイス認証情報とである。要求メッセージ642は、IoTデバイス210から受信した要求メッセージである。抽出した識別情報643は、要求メッセージ642から抽出したデバイス識別情報とサービス識別情報とデバイス認証情報とである。識別情報の照合結果644は、識別情報登録部421に登録されたデバイス識別情報、サービス識別情報およびデバイス認証情報と、要求メッセージ642から抽出したデバイス識別情報、サービス識別情報およびデバイス認証情報と、の照合結果である。配布情報645は、照合結果が一致である場合に、生成してIoTデバイス210に機密に配布される秘密鍵と公開鍵とクライアント証明書とである。配布、変更、消去記録646は、デバイス管理テーブル422に記録される、IoTデバイス210のサービス開始、サービス変更、サービス終了を示す年月日を含むデータである。送受信データ647は、ネットワークインタフェース730を介して、IoTデバイス210やサービス提供サーバ230などと送受信されるデータである。
【0077】
ストレージ650は、データベースや各種のパラメータ、あるいは本実施形態の実現に必要な以下のデータまたはプログラムが記憶さる不揮発メモリである。識別情報登録部421は、図4に示したように、デバイス識別情報とサービス識別情報とデバイス認証情報とを登録する。また、デバイス管理テーブル422は、図4に示したように、IoTデバイス210のサービス開始、サービス変更の履歴を管理するテーブルである。
【0078】
ストレージ650には、以下のプログラムが格納される。デバイス管理サーバ制御プログラム651は、本デバイス管理サーバ220全体を制御するプログラムである。認証情報送信モジュール652は、IoTデバイス210からのデバイス識別情報およびサービス識別情報に応答して、IoTデバイス210にデバイス認証情報を送信するモジュールである。識別情報登録モジュール653は、取得したデバイス識別情報とサービス識別情報とデバイス認証情報とを登録するモジュールである。要求メッセージ認証モジュール654は、IoTデバイス210からの要求メッセージを受信してデバイス識別情報、サービス識別情報およびデバイス認証情報を抽出し、識別情報登録部421のデバイス識別情報、サービス識別情報およびデバイス認証情報と照合するモジュールである。鍵および証明書配布モジュール655は、照合結果が一致である場合に、秘密鍵と公開鍵のペアとクライアント証明書を生成して、IoTデバイス210に配布するモジュールである。サービス変更モジュール656は、IoTデバイス210に新たなサービス識別情報を送信して、新たな秘密鍵と公開鍵のペアと新たなクライアント証明書を生成して、IoTデバイス210に配布することによって、新たなサービスに更新するモジュールである。デバイス履歴記録モジュール657は、秘密鍵と公開鍵のペアとクライアント証明書の配布、変更および消去に基づいて、IoTデバイス210のサービス開始、サービス更新およびサービス終了の履歴を記録して管理するモジュールである。
【0079】
なお、図6のRAM640やストレージ650には、デバイス管理サーバ220が有する汎用の機能や他の実現可能な機能に関連するプログラムやデータは図示されていない。
【0080】
(デバイス管理サーバの処理手順)
図7は、本実施形態に係るデバイス管理サーバ220の処理手順を示すフローチャートである。このフローチャートは、図6のCPU610がRAM640を使用して実行し、図5の構成要素を実現する。
【0081】
デバイス管理サーバ220は、ステップS711において、識別情報の登録か否かを判定する。識別情報の登録であれば、デバイス管理サーバ220は、ステップS713において、デバイス識別情報を取得して識別情報登録部421に登録する。デバイス管理サーバ220は、ステップS715において、サービス識別情報を取得して識別情報登録部421に登録する。デバイス管理サーバ220は、ステップS717において、IoTデバイスからのデバイス識別情報およびサービス識別情報の受信によるアクティベーションを待つ。IoTデバイスからデバイス識別情報およびサービス識別情報を受信すると、デバイス管理サーバ220は、ステップS719において、デバイス認証情報を生成して識別情報登録部421に登録し、IoTデバイス210に送信する。
【0082】
識別情報の登録でなければ、デバイス管理サーバ220は、ステップS721において、要求メッセージの受信か否かを判定する。要求メッセージの受信であれば、デバイス管理サーバ220は、ステップS723において、受信した要求メッセージからデバイス識別情報とサーバ識別情報とデバイス認証情報とを抽出する。デバイス管理サーバ220は、ステップS725において、抽出されたデバイス識別情報、サーバ識別情報およびデバイス認証情報と、識別情報登録部421に登録されたデバイス識別情報、サーバ識別情報およびデバイス認証情報と、を照合する。そして、デバイス管理サーバ220は、ステップS727において、照合結果が一致か否かを判定する。一致でなければ、デバイス管理サーバ220は、ステップS739において、IoTデバイス210へのエラー通知などのエラー処理をする。
【0083】
照合結果が一致であれば、デバイス管理サーバ220は、ステップS729において、秘密鍵と公開鍵とクライアント証明書とを生成する。デバイス管理サーバ220は、ステップS731において、秘密鍵と公開鍵とクライアント証明書とをIoTデバイスに機密に配布する。そして、デバイス管理サーバ220は、ステップS733において、初期のサービスの開始か変更(更新)かを判定する。サービスの開始であれば、デバイス管理サーバ220は、ステップS735において、IoTデバイス210のサービス開始をデバイス管理テーブル422に記録する。一方、サービスの変更であれば、デバイス管理サーバ220は、ステップS737において、前のサービスの終了と新たなサービスの開始をデバイス管理テーブル422に記録する。
【0084】
識別情報の登録でなく要求メッセージの受信でなければ、デバイス管理サーバ220は、ステップS741において、IoTデバイス210のサービスの変更か否かを判定する。IoTデバイス210のサービス変更であれば、デバイス管理サーバ220は、ステップS743において、識別情報登録部421およびデバイス管理テーブル422に新たなサービス識別情報を登録する。そして、デバイス管理サーバ220は、ステップS743において、IoTデバイス210に新たなサービス識別情報を送信する。
【0085】
<IoTデバイス>
以下、図8図12Bを参照して、本実施形態に係るIoTデバイス210の構成と動作について説明する。
【0086】
(IoTデバイスの機能構成)
図8は、本実施形態に係る情報処理部810を含むIoTデバイス210の機能構成を示すブロック図である。
【0087】
IoTデバイス210は、本実施形態の情報処理部810を構成するSE(Secure Element:機密保持部)811およびSE制御部812と、DE(Device Element)820と、SSL/TLS処理部813とを備える。
【0088】
DE820は、IoTデバイス210に固有の処理を実行する。例えば、図3Aにおいては、エアコンの自動調整サービスを実行する。SSL/TLS処理部813は、受信して機密に保持された公開鍵と秘密鍵とクライアント証明書とを用いてSSL方式やTLS方式によりサービス提供サーバ230との暗号化データの通信を実行する。なお、SSL/TLS処理部813は、SE制御部812に含まれてもよい。
【0089】
SE制御部812は、通信制御部801と、デバイス認証情報受信部807と、要求メッセージ生成部806と、要求メッセージ送信部802と、鍵および証明書受信部803と、鍵および証明書保持部804と、鍵および証明書変更部805と、SSL/TLS処理部813と、を備える。
【0090】
通信制御部801は、ネットワークを介して、デバイス管理サーバ220やサービス提供サーバ230との通信を制御する。なお、通信制御部801は、SE制御部812およびSSL/TLS処理部813の通信制御に兼用されてもよいし、それぞれ別個に設けられてもよい。デバイス認証情報受信部807は、デバイス管理サーバ220から送信されたデバイス認証情報を受信して、SE811に機密に格納する。要求メッセージ生成部806は、要求メッセージ生成テーブル861を有し、SE811に記憶されたデバイス識別情報およびサービス識別情報を含むデバイス管理サーバ220への要求メッセージ(アクティベイト要求)を生成する。また、要求メッセージ生成部806は、SE811に記憶されたデバイス識別情報、サービス識別情報およびデバイス認証情報を含むデバイス管理サーバ220への要求メッセージ(アップデート要求)を生成する。要求メッセージ送信部802は、デバイス管理サーバ220への要求メッセージを送信する。なお、要求メッセージ(アクティベイト要求)と要求メッセージ(アップデート要求)とを別途に生成する生成部と送信部とを設けてもよい。
【0091】
鍵および証明書受信部803は、デバイス管理サーバ220から要求メッセージに応答して返信された公開鍵と秘密鍵とクライアント証明書とを受信する。鍵および証明書保持部804は、受信された公開鍵と秘密鍵とクライアント証明書とをSE811に機密に保持する。鍵および証明書変更部805は、IoTデバイス210に提供されるサービスを更新する場合などに、デバイス管理サーバ220からの指示で公開鍵と秘密鍵とクライアント証明書とを変更する。
【0092】
(機密保持部および要求メッセージ生成テーブル)
図9は、本実施形態に係るSE811および要求メッセージ生成テーブル861の構成を示す図である。
【0093】
SE811は、デバイス識別情報911とサービス識別情報912とデバイス認証情報913とを機密に記憶する。また、SE811は、サービス提供サーバ識別情報921およびサービス識別情報922と、サービス秘密鍵923と、公開鍵924と、クライアント証明書925とを機密に記憶する。
【0094】
要求メッセージ生成テーブル861は、要求メッセージ生成部806が要求メッセージを生成するために使用される。例えば、アクティベート処理の要求メッセージは、ヘッダ931と、デバイス識別情報932と、サービス識別情報933と、CRC(Cyclic Redundancy Check)935と、を含む。アップデート処理の要求メッセージは、ヘッダ941と、デバイス識別情報942と、サービス識別情報943と、デバイス認証情報944と、CRC(Cyclic Redundancy Check)945と、を含む。
【0095】
(IoTデバイスのハードウェア構成)
図10は、本実施形態に係る情報処理部810を含むIoTデバイス210のハードウェア構成を示すブロック図である。
【0096】
図10で、CPU1010は演算制御用のプロセッサであり、プログラムを実行することで図6の機能を実現する。なお、CPU710は、それぞれの機能に対応して複数あってもよく、異なるCPUで実現してもよい。また、SE制御部の処理とデバイスの処理とを、異なるCPUで並行に実行してもよい。ROM1020は、初期データおよびプログラムなどの固定データおよびプログラムを記憶する。ネットワークインタフェース1030は、ネットワークを介して、デバイス管理サーバ220やサービス提供サーバ230との通信を制御する。SE811は、情報処理部810に含まれる機密情報の保持部であり、デバイス管理サーバ220に認証されて取得され、サービス提供サーバ230とのSSL/TLS処理に使用される、公開鍵と秘密鍵とクライアント証明書とを機密に記憶する。また、SE811は、デバイス管理サーバ220へのアクセスに使用される一意の識別子(UUID)も記憶する。
【0097】
RAM1040は、CPU1010が一時記憶のワークエリアとして使用するランダムアクセスメモリである。RAM1040には、本実施形態の実現に必要なデータを記憶する領域が確保されている。送信コマンド1041は、SE制御部812が外部装置に対して送信するアクティベーションやポーリングなどのコマンドである。送信パラメータ1042は、送信コマンド1041に付与されるJSON(JavaScript(登録商標) Object Notation)などのパラメータである。送信データ1043は、送信コマンド1041に付与される、例えばデバイスがセンサ機能を有する場合は検出データである。受信コマンド1044は、SE制御部812が外部装置から受信するコマンドである。受信パラメータ1045は、受信コマンド1044に付与される、例えばSE811からの機密情報の消去指示を含むパラメータである。受信データ1046は、受信コマンド1044に付与される、例えばデバイスがアプリケーションを更新・変更可能な場合はアプリケーションプログラムである。入出力データ1048は、入出力インタフェース1060を介して入出力機器などと交換するデータである。
【0098】
ストレージ1050は、データベースや各種のパラメータ、あるいは本実施形態の実現に必要な以下のデータまたはプログラムが記憶さる不揮発メモリである。デバイス識別情報/サービス識別情報1051は、アクティベーション処理の要求メッセージ、および、アップデート処理の要求メッセージにおいてパラメータとして使用され得るデータである。通信アルゴリズム1052は、本IoTデバイス210のSE制御部812やSSL/TLS処理部813がデバイス管理サーバ220やサービス提供サーバ230と通信ために使用する通信プロトコルやシーケンス、フォーマットなどを記憶する。
【0099】
ストレージ1050には、以下のプログラムが格納される。デバイス制御プログラム1053は、本IoTデバイス210全体を制御するプログラムである。SE制御プログラム1054は、SE制御部812を実現するプログラムである。SE制御プログラム1054は、デバイスアクティベーションモジュール1055とデバイスアップデートモジュール1056とを含む。デバイスアクティベーションモジュール1055は、デバイス管理サーバ220との間でデバイスをアクティベーションする。すなわち、デバイス識別情報とサービス識別情報とを含む要求メッセージをデバイス管理サーバ220に送って、デバイス認証情報(例えば、UUID)を受信してSE811に機密に保持するモジュールである。デバイスアップデートモジュール1056は、IoTデバイス210へのサービスをアップデートするモジュールである。すなわち、デバイス識別情報とサービス識別情報とデバイス認証情報とを含む要求メッセージをデバイス管理サーバ220に送って、公開鍵と秘密鍵とクライアント証明書とを受信してSE811に機密に保持するモジュールである。サービスプログラム1057は、サービス提供サーバ230と接続してサービスを受けるためのプログラムであり、サービスアクティベーションモジュール1058とサービス変更モジール1059とを有する。サービスアクティベーションモジュール1058は、サービス提供サーバ230との間でサービスをアクティベーションして実行するモジュールである。サービス変更モジール1059は、新たなサービス識別情報への更新に従って、IoTデバイス210へのサービスを変更するモジュールである。
【0100】
入出力インタフェース1060は、入出力デバイスとのデータ入出力を制御するためのインタフェースを行なう。本実施形態においては、入出力インタフェース1060には、表示部1061と、操作部1062と、デバイスがセンサの場合のセンサ部1063とが接続され、図3Aのようにエアコンの自動調整サービスであればエアコンが接続される。入出力インタフェース1060には、さらに、撮像部やGPS位置算出部、などが接続されてもよい。
【0101】
なお、図10のRAM1040やストレージ1050には、IoTデバイス210や情報処理部810が有する汎用の機能や他の実現可能な機能に関連するプログラムやデータは図示されていない。
【0102】
(情報処理部の処理手順)
図11は、本実施形態に係る情報処理部810の処理手順を示すフローチャートである。このフローチャートは、図10のCPU1010がRAM1040を使用して実行し、図5の構成要素を実現する。
【0103】
情報処理部810は、ステップS1111において、IoTデバイス210が電源ONされたかを判定する。電源ONであれば、情報処理部810は、ステップS1113において、IoTデバイス210の初期化が行われる。そして、情報処理部810は、ステップS1115において、IoTデバイスの初期サービス設定処理を実行する。
【0104】
電源ONでなければ、情報処理部810は、ステップS1121において、サービス変更(新たなサービス識別情報の受信)かを判定する。サービス変更であれば、情報処理部810は、ステップS1123において、受信した新たなサービス識別情報をSE811に機密に登録する。そして、情報処理部810は、ステップS1125において、IoTデバイスの更新サービス設定処理を実行する。
【0105】
電源ONでなくサービス変更でなければ、情報処理部810は、ステップS1131において、IoTデバイス210が電源OFFされたかを判定する。電源OFFであれば、情報処理部810は、ステップS1133において、IoTデバイス210の使用終了処理を行う。
【0106】
(初期サービス設定処理)
図12Aは、本実施形態に係る初期サービス設定処理S1115の手順を示すフローチャートである。
【0107】
情報処理部810は、ステップS1211において、SE811からデバイス識別情報とサービス識別情報とを取得する。情報処理部810は、ステップS1213において、デバイス識別情報とサービス識別情報とを含むアクティベーションの要求メッセージを生成してデバイス管理サーバ220に送信する。情報処理部810は、ステップS1215において、デバイス管理サーバ220からのデバイス認証情報(例えば、UUDI)の返信を待つ。デバイス管理サーバ220からのデバイス認証情報の返信があれば、情報処理部810は、ステップS1217において、受信したデバイス認証情報をSE811に登録し機密に保持する。
【0108】
情報処理部810は、ステップS1219において、SE811からデバイス識別情報とサービス識別情報とデバイス認証情報とを取得する。情報処理部810は、ステップS1221において、デバイス識別情報とサービス識別情報とデバイス認証情報とを含むアップデートの要求メッセージを生成してデバイス管理サーバ220に送信する。情報処理部810は、ステップS1223において、デバイス管理サーバ220からの秘密鍵、公開鍵およびクライアント証明書の返信を待つ。デバイス管理サーバ220からの秘密鍵、公開鍵およびクライアント証明書の返信があれば、情報処理部810は、ステップS1225において、受信した秘密鍵、公開鍵およびクライアント証明書をSE811に登録し機密に保持する。
【0109】
情報処理部810は、ステップS1227において、秘密鍵、公開鍵およびクライアント証明書を用いてサービス元のサービス提供サーバ230との認証を行って接続する。そして、情報処理部810は、ステップS1229において、サービス提供サーバ230によるサービス識別情報に対応するサービスの受理を開始する。
【0110】
(更新サービス設定処理)
図12Bは、本実施形態に係る更新サービス設定処理S1125の手順を示すフローチャートである。
【0111】
情報処理部810は、ステップS1231において、SE811に機密に保持されたデバイス識別情報と新たなサービス識別情報とデバイス認証情報とを取得する。情報処理部810は、ステップS1233において、デバイス識別情報と新たなサービス識別情報とデバイス認証情報とを含むアップデートの要求メッセージを生成してデバイス管理サーバ220に送信する。情報処理部810は、ステップS1235において、デバイス管理サーバ220からの新たな秘密鍵、新たな公開鍵および新たなクライアント証明書の返信を待つ。デバイス管理サーバ220からの新たな秘密鍵、新たな公開鍵および新たなクライアント証明書の返信があれば、情報処理部810は、ステップS1237において、SE811の保持情報を、受信した新たな秘密鍵、新たな公開鍵および新たなクライアント証明書に書き換えて機密に保持する。ここで、ステップS1231およびS1233の処理を行う機能構成部がIoTデバイス210の鍵証明書要求部に相当する。
【0112】
情報処理部810は、ステップS1239において、新たな秘密鍵、新たな公開鍵および新たなクライアント証明書を用いてサービス元の新たなサービス提供サーバ230との認証を行って接続する。そして、情報処理部810は、ステップS1241において、新たなサービス提供サーバ230による新たなサービス識別情報に対応するサービスの受理を開始する。
【0113】
本実施形態によれば、IoTデバイスのライフサイクルを有効に活用することができる。特に、IoTデバイスへのユーザ操作なしに認証処理を含んで機密にサービスの更新をすることができる。
【0114】
[第3実施形態]
次に、本発明の第3実施形態に係るデバイス管理システムについて説明する。本実施形態に係るデバイス管理システムは、上記第2実施形態と比べると、IoTデバイスへのサービス提供元であるサービス提供サーバの識別情報を更新する点で異なる。すなわち、第2実施形態のサービス変更通知部または鍵証明書送信部において、新たなサービスを提供するサービス提供サーバを識別するサービス提供サーバ識別情報がIoTデバイスに送信される。その他の構成および動作は、第2実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
【0115】
(デバイス管理サーバの識別情報登録部およびデバイス管理テーブル)
図13は、本実施形態に係るデバイス管理サーバの識別情報登録部1321およびデバイス管理テーブル1322の構成を示す図である。なお、図13において、図5と同様の構成要素には同じ参照番号を付して、重複する説明を省略する。ここで、デバイス管理テーブル1322は、デバイス識別情報とサービス提供サーバ識別情報とサービス識別情報との履歴を対応付けて記憶する記憶部として機能する。
【0116】
識別情報登録部1321は、デバイス識別情報511に対応付けて、IoTデバイスにサービスを提供しているサービス提供サーバの識別情報1312を記憶する。また、デバイス管理テーブル1322は、デバイス識別情報521およびデバイス認証情報522に対応付けて、サービス提供サーバの識別情報の履歴1323を格納する。
【0117】
(デバイス管理サーバの処理手順)
図14は、本実施形態に係るデバイス管理サーバの処理手順を示すフローチャートである。なお、図14において、図7と同様のステップには同じステップ番号を付して、重複する説明を省略する。
【0118】
デバイス管理サーバは、ステップS741において、サービスの変更であると判定した場合、ステップS1443に進む。デバイス管理サーバは、ステップS1443において、サービス提供サーバの識別情報および/またはサービス識別情報の登録を更新する。そして、デバイス管理サーバは、ステップS1445において、サービス提供サーバの識別情報および/またはサービス識別情報を対象のIoTデバイスに送信する。
【0119】
(更新サービス設定処理)
図15は、本実施形態に係るIoTデバイスの更新サービス設定処理S1125の手順を示すフローチャートである。なお、図15において、図12Bと同様のステップには同じステップ番号を付して、重複する説明を省略する。
【0120】
IoTデバイスは、ステップS1539において、鍵および証明書を用いて、新たなサービス提供サーバ識別情報に対応するサービス提供サーバと接続する。そして、IoTデバイスは、ステップS1541において、新たなサービス提供サーバから提供される新たなサービスの受理を開始する。
【0121】
本実施形態によれば、上記実施形態の効果に加えて、サービスの提供元を変更できるので、IoTデバイスのライフサイクルをより多様に活用することができる。
【0122】
[第4実施形態]
次に、本発明の第4実施形態に係るデバイス管理システムについて説明する。本実施形態に係るデバイス管理システムは、上記第2実施形態および第3実施形態と比べると、IoTデバイスに組み込まれたアプリケーションを更新する点で異なる。すなわち、IoTデバイスにおけるアプリケーションプログラムを、新たなサービス識別情報含む新たなアプリケーションプログラムに更新する。その他の構成および動作は、第2実施形態または第3実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
【0123】
(デバイス管理サーバの識別情報登録部およびデバイス管理テーブル)
図16は、本実施形態に係るデバイス管理サーバの識別情報登録部1621およびデバイス管理テーブル1622の構成を示す図である。なお、図16において、図5および図13と同様の構成要素には同じ参照番号を付して、重複する説明を省略する。
【0124】
識別情報登録部1621は、デバイス識別情報511に対応付けて、IoTデバイスで動作中のアプリケーションの識別情報1612を記憶する。また、デバイス管理テーブル1622は、デバイス識別情報521およびデバイス認証情報522に対応付けて、アプリケーションの識別情報の履歴1623を格納する。
【0125】
(デバイス管理サーバの処理手順)
図17は、本実施形態に係るデバイス管理サーバの処理手順を示すフローチャートである。なお、図17において、図7および図14と同様のステップには同じステップ番号を付して、重複する説明を省略する。
【0126】
デバイス管理サーバは、ステップS741において、サービスの変更であると判定した場合、ステップS1743に進む。デバイス管理サーバは、ステップS1743において、アプリケーションの識別情報および/またはサービス識別情報の登録を更新する。そして、デバイス管理サーバは、ステップS1745において、アプリケーションの識別情報および/またはサービス識別情報を対象のIoTデバイスに送信する。かかるステップS1743およびS1745の処理をする機能構成部がアプリケーション更新部に相当する。
【0127】
(更新サービス設定処理)
図18は、本実施形態に係るIoTデバイスの更新サービス設定処理S1125の手順を示すフローチャートである。なお、図18において、図12Bおよび図15と同様のステップには同じステップ番号を付して、重複する説明を省略する。
【0128】
IoTデバイスは、ステップS1939において、鍵および証明書を用いて、新たなアプリケーションによりサービス提供サーバと接続する。そして、IoTデバイスは、ステップS1941において、サービス提供サーバによる新たなサービスの新たなアプリケーションによる受理を開始する。
【0129】
本実施形態によれば、上記実施形態の効果に加えて、IoTデバイスの組み込みアプリの少なくとも一部を変更できるので、IoTデバイスのライフサイクルをさらに多様に活用することができる。
【0130】
[第5実施形態]
次に、本発明の第5実施形態に係るデバイス管理システムについて説明する。本実施形態に係るデバイス管理システムは、上記第2実施形態から第4実施形態と比べると、IoTデバイスが初期にサービス識別情報を記憶していない点で異なる。その他の構成および動作は、第2実施形態から第4実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
【0131】
(アクティベート処理およびアップデート処理)
図19は、本実施形態に係るアクティベート処理S1910の動作手順を示すシーケンスである。
【0132】
アクティベート処理S1910では、IoTデバイス1910は、ステップS1913において、初期のサービス識別情報を有しないので、デバイス識別情報をデバイス管理サーバ1920に送信する。デバイス管理サーバ1920は、ステップS1913において、UUIDを払い出すと共に、IoTデバイス1910に初期に提供するサービスの識別情報をIoTデバイス1910に送信する。なお、図19においては、アクティベート処理S1910のUUIDを払い出しと共に、初期に提供するサービスの識別情報をIoTデバイス1910に送信したが、このタイミングに限定されない。アップデート処理S320でIoTデバイス1910がサービスの識別情報を使用する前のタイミングであればいずれでもよい。
【0133】
本実施形態によれば、IoTデバイスの組み込みアプリにサービス識別情報が記憶されていなくても、上記実施形態と同様の効果を奏する。さらに、IoTデバイスの初期のサービス内容も管理することができる。
【0134】
[他の実施形態]
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の技術的範囲で当業者が理解し得る様々な変更をすることができる。また、それぞれの実施形態に含まれる別々の特徴を如何様に組み合わせたシステムまたは装置も、本発明の技術的範囲に含まれる。
【0135】
また、本発明は、複数の機器から構成されるシステムに適用されてもよいし、単体の装置に適用されてもよい。さらに、本発明は、実施形態の機能を実現する情報処理プログラムが、システムあるいは装置に供給され、内蔵されたプロセッサによって実行される場合にも適用可能である。本発明の機能をコンピュータで実現するために、コンピュータにインストールされるプログラム、あるいはそのプログラムを格納した媒体、そのプログラムをダウンロードさせるサーバも、プログラムを実行するプロセッサも本発明の技術的範囲に含まれる。特に、少なくとも、上述した実施形態に含まれる処理ステップをコンピュータに実行させるプログラムを格納した非一時的コンピュータ可読媒体(non-transitory computer readable medium)は本発明の技術的範囲に含まれる。
【要約】
【課題】 IoTデバイスのライフサイクルを有効に活用すること。
【解決手段】 IoTデバイスとデバイス管理サーバとを備えるデバイス管理システムである。デバイス管理サーバは、IoTデバイスに新たなサービスを識別する新たなサービス識別情報を含む、新たなサービスへの変更通知を送信するサービス変更通知部と、IoTデバイスからの新たなサービス識別情報を含む要求メッセージに応答して、IoTデバイスにIoTデバイスの信頼性を証明する新たなクライアント証明書を送信する証明書送信部とを有する。IoTデバイスは、デバイス管理サーバからのサービスの変更通知に応答して、新たなサービス識別情報を含む要求メッセージにより新たなクライアント証明書を要求する証明書要求部と、要求メッセージに応じてデバイス管理サーバから受信した新たなクライアント証明書を用いて、新たなサービスの提供を受けるサービス更新部とを有する。
【選択図】 図1
図1
図2A
図2B
図3A
図3B
図3C
図3D
図4
図5
図6
図7
図8
図9
図10
図11
図12A
図12B
図13
図14
図15
図16
図17
図18
図19