JP2018170806A - 通信システム、通信方法、及びプログラム - Google Patents
通信システム、通信方法、及びプログラム Download PDFInfo
- Publication number
- JP2018170806A JP2018170806A JP2018150484A JP2018150484A JP2018170806A JP 2018170806 A JP2018170806 A JP 2018170806A JP 2018150484 A JP2018150484 A JP 2018150484A JP 2018150484 A JP2018150484 A JP 2018150484A JP 2018170806 A JP2018170806 A JP 2018170806A
- Authority
- JP
- Japan
- Prior art keywords
- home appliance
- server
- terminal device
- unit
- authentication code
- 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.)
- Pending
Links
Images
Abstract
【課題】家電製品のソフトウェアのリモートアップデートを行うこと。【解決手段】端末装置は、共通鍵が設定された家電機器から、識別情報と、サーバの所在を特定する情報とを取得する取得部と、サーバの所在を特定する情報を使用して、サーバへ家電機器の識別情報を送信する送信部とを備える。サーバは、端末装置から家電機器の識別情報を受信する受信部と、マスター鍵と、家電機器の識別情報とに基づいて、共通鍵を生成する鍵生成部と、共通鍵を使用して第1データの第1メッセージ認証コードを作成する暗号化部と、家電機器へ、第1データと、第1メッセージ認証コードとを送信する送信部とを備える。家電機器は、サーバが送信した第1データと、第1メッセージ認証コードとに基づいて、家電機器に記憶されているソフトウェアのアップデートを行うアップデート処理部を備える。【選択図】図4
Description
本発明の実施形態は、通信システム、通信方法、及びプログラムに関する。
これまで、家電製品を制御するソフトウェアのリモートアップデートは、ネットワークに接続されている家電製品が少なく、殆ど行われてこなかった。
また、通信事業者の基地局に直接繋がる3G/LTE通信モジュールを家電製品に搭載することで、リモートアップデートが可能になることが想定されるが、デバイスと通信コストの面から、普及に至っていない。
家電製品を操作する技術に関して、携帯電話機から簡単な操作で家庭内の家電品の操作を行うことが可能な技術が知られている(例えば、特許文献1参照)。この技術では、携帯電話機のインターネットホームページ閲覧機能を利用し、インターネットと公衆回線に接続されたホームページを提供するサービス機器を設け、携帯電話機を用いホームページ上で家電製品の操作を指示することにより、家庭に設置された遠隔操作アダプタに公衆回線経由で操作指示を行い、遠隔操作アダプタが家電品を制御する。
また、通信事業者の基地局に直接繋がる3G/LTE通信モジュールを家電製品に搭載することで、リモートアップデートが可能になることが想定されるが、デバイスと通信コストの面から、普及に至っていない。
家電製品を操作する技術に関して、携帯電話機から簡単な操作で家庭内の家電品の操作を行うことが可能な技術が知られている(例えば、特許文献1参照)。この技術では、携帯電話機のインターネットホームページ閲覧機能を利用し、インターネットと公衆回線に接続されたホームページを提供するサービス機器を設け、携帯電話機を用いホームページ上で家電製品の操作を指示することにより、家庭に設置された遠隔操作アダプタに公衆回線経由で操作指示を行い、遠隔操作アダプタが家電品を制御する。
家電製品を制御するソフトウェアのリモートアップデートが行われていない状態で、不具合によるリコールが、家電製品に対して必要になったと仮定する。この場合には、家電メーカは、ホームページにリコール情報を掲載する等して、家電製品を回収し、アップデートすることを呼びかける情報を長期に渡って掲載し続けることや、広告などを通じて周知を図ったりすることが必要になる場合がある。これによって、家電メーカは、コストと時間を要してしまう。
本発明は、上記問題を解決すべくなされたもので、家電製品のソフトウェアのリモートアップデートを行うことを目的とする。
本発明は、上記問題を解決すべくなされたもので、家電製品のソフトウェアのリモートアップデートを行うことを目的とする。
(1)本発明の一態様は、端末装置と、前記端末装置と通信を行うサーバとを備える通信システムであって、端末装置は、共通鍵が設定された家電機器から、前記家電機器の識別情報と、サーバの所在を特定する情報とを取得する取得部と、前記サーバの所在を特定する情報を使用して、前記サーバへ前記家電機器の前記識別情報を送信する送信部とを備え、前記サーバは、前記端末装置から前記家電機器の前記識別情報を受信する受信部と、マスター鍵と、前記受信部が受信した前記家電機器の前記識別情報とに基づいて、共通鍵を生成する鍵生成部と、前記鍵生成部が生成した前記共通鍵を使用して第1のデータの第1のメッセージ認証コードを作成する暗号化部と、前記家電機器へ、前記第1のデータと、前記第1のメッセージ認証コードとを送信する送信部とを備え、前記家電機器は、前記サーバが送信した前記第1のデータと、前記第1のメッセージ認証コードとに基づいて、前記家電機器に記憶されているソフトウェアのアップデートを行うアップデート処理部を備える、通信システムである。
(2)本発明の一態様は、上記(1)に記載の通信システムにおいて、前記アップデート処理部は、セキュアブート後の前記家電機器の状態を測定し、前記家電機器は、前記アップデート処理部が行った前記家電機器の状態の測定結果を、前記サーバへ送信する送信部を備える、通信システムである。
(3)本発明の一態様は、端末装置と、前記端末装置と通信を行うサーバとを備える通信システムによって実行される通信方法であって、端末装置が、共通鍵が設定された家電機器から、前記家電機器の識別情報と、サーバの所在を特定する情報とを取得するステップと、前記端末装置が、前記サーバの所在を特定する情報を使用して、前記サーバへ前記家電機器の識別情報を送信するステップと、前記サーバが、前記端末装置から前記家電機器の識別情報を受信するステップと、前記サーバが、マスター鍵と、受信した前記家電機器の識別情報とに基づいて、共通鍵を生成するステップと、前記サーバが、生成した前記共通鍵を使用してデータのメッセージ認証コードを作成するステップと、前記サーバが、前記家電機器へ、前記データと、前記メッセージ認証コードとを送信するステップと、前記家電機器が、前記サーバが送信した前記データと、前記メッセージ認証コードとに基づいて、前記家電機器に記憶されているソフトウェアのアップデートを行うステップとを有する、通信システムによって実行される、通信方法である。
(4)本発明の一態様は、サーバのコンピュータに、共通鍵が設定された家電機器から取得される前記家電機器の識別情報及びサーバの所在を特定する情報に基づいて、前記サーバの所在を特定する情報を使用して、端末装置が送信した前記家電機器の識別情報を受信するステップと、マスター鍵と、受信した前記家電機器の識別情報とに基づいて、共通鍵を生成するステップと、生成した前記共通鍵を使用してデータのメッセージ認証コードを作成するステップと、前記家電機器へ、前記家電機器が、前記家電機器に記憶されているソフトウェアのアップデートを行うための前記データと、前記メッセージ認証コードとを送信するステップとを実行させる、プログラムである。
(5)本発明の一態様は、端末装置と、前記端末装置と通信を行うサーバとを備える通信システムであって、端末装置は、共通鍵が設定された家電機器から、前記家電機器の識別情報と、サーバの所在を特定する情報とを取得する取得部と、マスター鍵と、前記家電機器の識別情報とに基づいて、共通鍵を生成する第1の鍵生成部と、前記サーバの所在を特定する情報を使用して、前記サーバへ前記家電機器の識別情報を送信する第1の送信部と、前記サーバから、データと、前記データのメッセージ認証コードとを受信する第1の受信部と、前記メッセージ認証コードを検証する検証部と、前記家電機器へデータを送信する第2の送信部とを備え、前記サーバは、前記端末装置から前記家電機器の識別情報を受信する第2の受信部と、マスター鍵と、前記第2の受信部が受信した前記家電機器の識別情報とに基づいて、共通鍵を生成する第2の鍵生成部と、前記第2の鍵生成部が生成した前記共通鍵を使用してデータの第1のメッセージ認証コードを作成する暗号化部と、前記端末装置へ、前記データと、前記第1のメッセージ認証コードとを送信する第3の送信部とを備え、前記第1の受信部は、前記サーバが送信したデータと、第1のメッセージ認証コードとを受信し、前記検証部は、前記第1の受信部が受信した前記第1のメッセージ認証コードを検証し、前記第2の送信部は、前記検証部による該第1のメッセージ認証コードの検証が成功した場合に、前記家電機器へ、前記第1の受信部が受信した前記データと、前記第1のメッセージ認証コードを送信し、前記家電機器は、前記端末装置が送信した前記データと、前記第1のメッセージ認証コードとに基づいて、前記家電機器に記憶されているソフトウェアのアップデートを行うアップデート処理部を備える、通信システムである。
(6)本発明の一態様は、上記(5)に記載の通信システムにおいて、前記アップデート処理部は、セキュアブート後の前記家電機器の状態を測定し、前記家電機器は、前記アップデート処理部が行った前記家電機器の状態の測定結果を、前記端末装置へ送信する第4の送信部を備える、通信システムである。
(7)本発明の一態様は、端末装置と、前記端末装置と通信を行うサーバとを備える通信システムによって実行される通信方法であって、端末装置が、共通鍵が設定された家電機器から、前記家電機器の識別情報と、サーバの所在を特定する情報とを取得するステップと、前記端末装置が、マスター鍵と、前記家電機器の識別情報に基づいて、共通鍵を生成するステップと、前記端末装置が、前記サーバの所在を特定する情報を使用して、前記サーバへ前記家電機器の識別情報を送信するステップと、前記サーバが、前記端末装置から家電機器の識別情報を受信するステップと、前記サーバが、マスター鍵と、前記家電機器の識別情報に基づいて、共通鍵を生成するステップと、前記サーバが、前記共通鍵を生成するステップで生成した前記共通鍵を使用してデータのメッセージ認証コードを作成するステップと、前記サーバが、前記家電機器へ、前記データと、前記メッセージ認証コードとを送信するステップと、前記端末装置が、前記サーバから、データと、前記データのメッセージ認証コードとを受信するステップと、前記端末装置が、前記メッセージ認証コードを検証するステップと、前記端末装置が、前記検証するステップによる前記メッセージ認証コードの検証が成功した場合に、前記家電機器へ、受信した前記データと、前記メッセージ認証コードとを送信するステップと、前記家電機器が、前記端末装置が送信した前記データと、前記メッセージ認証コードとを受信するステップと、前記家電機器が、受信した前記データと、前記メッセージ認証コードとに基づいて、前記家電機器に記憶されているソフトウェアのアップデートを行うステップとを有する、通信システムによって実行される、通信方法である。
(8)本発明の一態様は、端末装置のコンピュータに、端末装置のコンピュータに、共通鍵が設定された家電機器から、前記家電機器の識別情報と、サーバの所在を特定する情報とを取得するステップと、マスター鍵と、前記家電機器の識別情報とに基づいて、共通鍵を生成するステップと、前記サーバの所在を特定する情報を使用して、前記サーバへ前記家電機器の識別情報を送信するステップと、前記サーバから、データと、前記データのメッセージ認証コードとを受信するステップと、前記メッセージ認証コードを検証するステップと、前記検証するステップで前記メッセージ認証コードの検証が成功した場合に、前記家電機器へ、前記受信するステップで受信した前記データと、前記メッセージ認証コードとを送信するステップとを実行させる、プログラムである。
本発明の実施形態によれば、家電製品のソフトウェアのリモートアップデートを行うことができる。
<第1の実施形態>
<通信システム>
図1は、本実施形態に係る通信システムを示す図である。通信システム1は、端末装置100と家電管理サーバ200と家電機器300とを備える。端末装置100と家電管理サーバ200とは、インターネット等の通信網50を介して接続され、端末装置100と家電機器300とは近距離無線通信によって接続される。
家電機器300は、ブルートゥース(Bluetooth)(登録商標)、ワイファイ(WiFi)(登録商標)、近距離無線通信技術(Near Field Communication: NFC)等の無線通信技術で無線通信を行う無線デバイスを搭載する。家電機器300には、近距離無線デバイスと接続するのに必要な情報(以下、「接続設定情報」という)、家電メーカの家電管理サーバ200の通信アドレス、及び家電機器300の製造番号等の識別情報を格納した二次元バーコード(QR(Quick Response)コード)等の情報コードが添付される。通信アドレスの一例は、URL(Uniform Resource Locator)である。また、家電機器300には、マスター鍵(Master Secret)と家電機器300の製造番号とから生成される共通鍵がプリセットされる。
<通信システム>
図1は、本実施形態に係る通信システムを示す図である。通信システム1は、端末装置100と家電管理サーバ200と家電機器300とを備える。端末装置100と家電管理サーバ200とは、インターネット等の通信網50を介して接続され、端末装置100と家電機器300とは近距離無線通信によって接続される。
家電機器300は、ブルートゥース(Bluetooth)(登録商標)、ワイファイ(WiFi)(登録商標)、近距離無線通信技術(Near Field Communication: NFC)等の無線通信技術で無線通信を行う無線デバイスを搭載する。家電機器300には、近距離無線デバイスと接続するのに必要な情報(以下、「接続設定情報」という)、家電メーカの家電管理サーバ200の通信アドレス、及び家電機器300の製造番号等の識別情報を格納した二次元バーコード(QR(Quick Response)コード)等の情報コードが添付される。通信アドレスの一例は、URL(Uniform Resource Locator)である。また、家電機器300には、マスター鍵(Master Secret)と家電機器300の製造番号とから生成される共通鍵がプリセットされる。
家電機器300は、家電管理サーバ200が送信したアップデート用ソフトウェアを暗号化した結果と署名とを受信する。家電機器300は、プリセットされている共通鍵で、当該結果を復号し、復号した結果と共通鍵とからメッセージ認証コード(MAC: Message Authentication code)を演算する。そして、家電機器300は、復号した結果と共通鍵とを演算することによって得られるメッセージ認証コードと家電管理サーバ200から取得した署名とが一致するか否かを判定することで、アップデート用のソフトウェアの正真性を検証する。家電機器300は、一致する場合には検証が成功であり、アップデート用のソフトウェアが家電管理サーバ200から送信されたものであると判定する。一方、家電機器300は、一致しない場合には検証が失敗であり、アップデート用のソフトウェアが家電管理サーバ200から送信されたものでないと判定する。家電機器300は、署名の検証が成功した場合には、当該家電機器300のソフトウェアをアップデートする。家電機器300は、ソフトウェアをアップデートした後、セキュアブート等を実施する。家電機器300は、共通鍵で、家電機器の状態の測定結果を暗号化する。さらに、家電機器300は、家電機器の状態の測定結果と共通鍵とからメッセージ認証コードを演算することによって署名を作成する。家電機器300は、家電管理サーバ200とセッションを構築した後、家電機器の状態の測定結果を暗号化した結果に署名を付与し、端末装置100を経由して、家電管理サーバ200へ送信する。
端末装置100は、家電機器300に添付された情報コードを読み取ると、該情報コードに格納された接続設定情報、家電メーカの家電管理サーバ200の通信アドレス、家電機器300の製造番号等の情報を取得する。端末装置100は、接続設定情報を用いて、家電管理サーバ200との間でセッションを構築する。端末装置100は、情報コードから取得した家電管理サーバ200の通信アドレスに基づいて、家電管理サーバ200へ、家電メーカのウェブサイトをリクエストする。そして、端末装置100は、家電管理サーバ200へ家電機器300の製造番号を送信する。さらに、端末装置100は、家電メーカのウェブサイト上でユーザが入力した家電機器300の利用者情報を送信する。
家電管理サーバ200は、マスター鍵を記憶している。このマスター鍵は、家電機器300にプリセットされる共通鍵を生成する際に使用されるマスター鍵と同じである。家電管理サーバ200は、端末装置100から家電機器300の利用者情報と家電機器300の製造番号とを取得する。家電管理サーバ200は、家電機器300の利用者情報を登録する。家電管理サーバ200は、記憶しているマスター鍵と家電機器300の製造番号とから共通鍵を生成する。家電管理サーバ200は、共通鍵で、アップデート用のソフトウェアを暗号化する。家電機器300は、アップデート用のソフトウェアと共通鍵とからメッセージ認証コードを演算することによって署名を作成する。家電管理サーバ200は、家電機器300とセッションを構築した後、アップデート用のソフトウェアを暗号化した結果に署名を付与し、端末装置100を経由して、家電機器300へ送信する。家電管理サーバ200は、アップデート用のソフトウェアを暗号化した結果と署名とに対して家電機器300が送信した家電機器の状態の測定結果を暗号化した結果と署名とを取得すると、共通鍵で当該結果を復号し、復号した結果と共通鍵とからメッセージ認証コードを演算する。家電管理サーバ200は、復号した結果と共通鍵とを演算することによって得られるメッセージ認証コードと家電機器300から取得した署名とが一致するか否かを判定する。家電管理サーバ200は、一致する場合には検証が成功であり、家電機器の状態の測定結果が家電機器300から送信されたものであると判定する。この場合、家電管理サーバ200は、家電機器300においてソフトウェアが正しくアップデートされたと判定する。一方、家電管理サーバ200は、一致しない場合には検証が失敗であり、家電機器の状態の測定結果が家電機器300から送信されたものでないと判定する。この場合、家電管理サーバ200は、家電機器300においてソフトウェアが正しくアップデートされていないと判定する。
<端末装置の構成>
図2は、本実施形態に係る端末装置100のハードウェア構成の一例を示す。端末装置100の一例は、携帯電話、スマートフォン、PC、タブレットPC、セットトップボックス(Set Top Box :STB)、ゲーム機等である。端末装置100は、CPU102と、メモリ104と、不揮発性メモリ106と、ディスプレイ110と、操作部112と、通信I/F116と、読取部118と、内部バス120とを備えている。
CPU102は、例えば不揮発性メモリ106に格納されるプログラム1062を実行し、メモリ104をワークメモリとして使用して、端末装置100の各部を制御する。メモリ104は、半導体素子を利用した揮発性のメモリ等のRAMによって構成され、CPU102のワークメモリとして使用される。不揮発性メモリ106は、例えばROM等によって構成される。不揮発性メモリ106には、CPU102によって実行されるプログラム1062が格納される。ディスプレイ110は、CPU102によって制御され、画像、GUI(Graphical User Interface)等を表示する。CPU102は、プログラムを実行することによって制御信号や、ディスプレイ110に表示する画像を表す映像信号を生成する。CPU102は、画像を表す映像信号をディスプレイ110へ出力する。ディスプレイ110は、CPU102によって出力された映像信号を処理することによって、映像を表示する。操作部112は、ユーザの操作を受け付ける入力デバイスである。通信I/F116は、外部機器や、通信網50に接続された家電管理サーバ200等と通信して、データの送受信を行うためのインターフェースである。具体的には、通信I/F116は、ブルートゥース(登録商標)、ワイファイ(登録商標)、近距離無線通信技術等の無線通信技術で無線通信を行う無線デバイスによって構成される。読取部118は、情報コードを光学的に読み取り、該情報コードに格納されている情報を取得する。内部バス120は、CPU102、メモリ104、不揮発性メモリ106、ディスプレイ110、操作部112、通信I/F116、及び読取部118を互いに接続する。内部バス120に接続される各部は、内部バス120を介して互いにデータのやり取りを行うことができるようにされている。
図2は、本実施形態に係る端末装置100のハードウェア構成の一例を示す。端末装置100の一例は、携帯電話、スマートフォン、PC、タブレットPC、セットトップボックス(Set Top Box :STB)、ゲーム機等である。端末装置100は、CPU102と、メモリ104と、不揮発性メモリ106と、ディスプレイ110と、操作部112と、通信I/F116と、読取部118と、内部バス120とを備えている。
CPU102は、例えば不揮発性メモリ106に格納されるプログラム1062を実行し、メモリ104をワークメモリとして使用して、端末装置100の各部を制御する。メモリ104は、半導体素子を利用した揮発性のメモリ等のRAMによって構成され、CPU102のワークメモリとして使用される。不揮発性メモリ106は、例えばROM等によって構成される。不揮発性メモリ106には、CPU102によって実行されるプログラム1062が格納される。ディスプレイ110は、CPU102によって制御され、画像、GUI(Graphical User Interface)等を表示する。CPU102は、プログラムを実行することによって制御信号や、ディスプレイ110に表示する画像を表す映像信号を生成する。CPU102は、画像を表す映像信号をディスプレイ110へ出力する。ディスプレイ110は、CPU102によって出力された映像信号を処理することによって、映像を表示する。操作部112は、ユーザの操作を受け付ける入力デバイスである。通信I/F116は、外部機器や、通信網50に接続された家電管理サーバ200等と通信して、データの送受信を行うためのインターフェースである。具体的には、通信I/F116は、ブルートゥース(登録商標)、ワイファイ(登録商標)、近距離無線通信技術等の無線通信技術で無線通信を行う無線デバイスによって構成される。読取部118は、情報コードを光学的に読み取り、該情報コードに格納されている情報を取得する。内部バス120は、CPU102、メモリ104、不揮発性メモリ106、ディスプレイ110、操作部112、通信I/F116、及び読取部118を互いに接続する。内部バス120に接続される各部は、内部バス120を介して互いにデータのやり取りを行うことができるようにされている。
<家電管理サーバの構成>
図3は、家電管理サーバ200のハードウェア構成の一例を示す。家電管理サーバ200は、CPU202と、メモリ204と、不揮発性メモリ206と、通信I/F216と、内部バス218とを備えている。
CPU202は、例えば不揮発性メモリ206に格納されるプログラムを実行し、メモリ204をワークメモリとして使用して、家電管理サーバ200の各部を制御する。メモリ204は、半導体素子を利用した揮発性のメモリ等のRAMによって構成される。メモリ204は、CPU202のワークメモリとして使用される。不揮発性メモリ206は、例えばハードディスクやROM等によって構成され、CPU202によって実行されるプログラム2062が格納される。通信I/F216は、端末装置100等の外部機器と通信して、データの送受信を行うためのインターフェースである。具体的には、通信I/F216は、ブルートゥース(登録商標)、ワイファイ(登録商標)、近距離無線通信技術等の無線通信技術で無線通信を行う無線デバイスによって構成される。内部バス218は、CPU202、メモリ204、不揮発性メモリ206、及び通信I/F216を互いに接続する。内部バス218に接続される各部は、内部バス218を介して互いにデータのやりとりを行うことができるようにされている。
<家電機器の構成>
家電機器300のハードウェア構成は、図3に示した家電管理サーバ200のハードウェア構成を適用できる。ただし、家電機器300の不揮発性メモリ206は、家電機器300のCPU202によって実行されるプログラム2062が格納される。
図3は、家電管理サーバ200のハードウェア構成の一例を示す。家電管理サーバ200は、CPU202と、メモリ204と、不揮発性メモリ206と、通信I/F216と、内部バス218とを備えている。
CPU202は、例えば不揮発性メモリ206に格納されるプログラムを実行し、メモリ204をワークメモリとして使用して、家電管理サーバ200の各部を制御する。メモリ204は、半導体素子を利用した揮発性のメモリ等のRAMによって構成される。メモリ204は、CPU202のワークメモリとして使用される。不揮発性メモリ206は、例えばハードディスクやROM等によって構成され、CPU202によって実行されるプログラム2062が格納される。通信I/F216は、端末装置100等の外部機器と通信して、データの送受信を行うためのインターフェースである。具体的には、通信I/F216は、ブルートゥース(登録商標)、ワイファイ(登録商標)、近距離無線通信技術等の無線通信技術で無線通信を行う無線デバイスによって構成される。内部バス218は、CPU202、メモリ204、不揮発性メモリ206、及び通信I/F216を互いに接続する。内部バス218に接続される各部は、内部バス218を介して互いにデータのやりとりを行うことができるようにされている。
<家電機器の構成>
家電機器300のハードウェア構成は、図3に示した家電管理サーバ200のハードウェア構成を適用できる。ただし、家電機器300の不揮発性メモリ206は、家電機器300のCPU202によって実行されるプログラム2062が格納される。
<本実施形態に係る無線通信システムの機能構成>
図4は、本実施形態の無線通信システムを構成する端末装置100、家電管理サーバ200、及び家電機器300の機能ブロック図である。
<端末装置の機能構成>
端末装置100は、通信部152、取得部154、通信制御部156、記憶部158及び上記各構成要素を図4に示されているように電気的に接続するためのアドレスバスやデータバス等のバスライン160を有している。これらの各部は、図4に示されている各構成要素のいずれかが、不揮発性メモリ106からメモリ104上に展開されたプログラム1062を実行するCPU102からの命令によって動作することで実現される機能である。
図4は、本実施形態の無線通信システムを構成する端末装置100、家電管理サーバ200、及び家電機器300の機能ブロック図である。
<端末装置の機能構成>
端末装置100は、通信部152、取得部154、通信制御部156、記憶部158及び上記各構成要素を図4に示されているように電気的に接続するためのアドレスバスやデータバス等のバスライン160を有している。これらの各部は、図4に示されている各構成要素のいずれかが、不揮発性メモリ106からメモリ104上に展開されたプログラム1062を実行するCPU102からの命令によって動作することで実現される機能である。
<端末装置の各機能構成>
図2及び図4を用いて、端末装置100の各機能構成について詳細に説明する。
端末装置100の通信部152は、CPU102からの命令、及び通信I/F116によって実現される。通信部152は、家電管理サーバ200、家電機器300等の他の装置との間でセッションが構築された後、各種データの送受信を行う。具体的には、通信部152は、家電管理サーバ200へ、家電機器300から取得した家電機器300の製造番号と端末装置100へ入力された家電機器300の利用者情報とを送信する。また、通信部152は、家電機器300へ、家電管理サーバ200が送信したアップデート用のソフトウェアを暗号化した結果と署名とを送信する。取得部154は、CPU102からの命令、及び読取部118によって実現される。取得部154は、家電機器300に添付された情報コードを読み取り、該情報コードに格納された情報を取得する。具体的には、取得部154は、家電機器300に添付されている情報コードに格納されている接続設定情報、家電管理サーバ200の通信アドレス、及び家電機器300の製造番号を取得する。通信制御部156は、CPU102からの命令、及び通信I/F116によって実現される。通信制御部156は、通信部152と家電管理サーバ200との間でのセッションの構築や、通信制御を行う。具体的には、通信制御部156は、ユーザが操作部112を操作することによって、接続設定情報と家電管理サーバ200の通信アドレスとに基づいて、家電管理サーバ200との間でセッションを構築する。そして、通信制御部156は、家電メーカのウェブサイトをリクエストし、取得部154が取得した家電機器300の製造番号を通信部152から送信する。通信部152から送信された家電機器300の製造番号が家電管理サーバ200によって受信されると、端末装置100のディスプレイ110には、当該家電機器300の製造番号に対応する利用者情報の入力画面が表示される。ユーザは、該入力画面で、操作部112を操作することで利用者情報を入力する。ユーザが入力した利用者情報は、家電管理サーバ200へ送信され、家電管理サーバ200は、利用者情報を登録する。利用者情報の一例は、端末装置100の電話番号、メールアドレス、利用者の住所、氏名等である。記憶部158は、不揮発性メモリ106によって実現される。記憶部158は、端末装置100の識別情報等を記憶する。
図2及び図4を用いて、端末装置100の各機能構成について詳細に説明する。
端末装置100の通信部152は、CPU102からの命令、及び通信I/F116によって実現される。通信部152は、家電管理サーバ200、家電機器300等の他の装置との間でセッションが構築された後、各種データの送受信を行う。具体的には、通信部152は、家電管理サーバ200へ、家電機器300から取得した家電機器300の製造番号と端末装置100へ入力された家電機器300の利用者情報とを送信する。また、通信部152は、家電機器300へ、家電管理サーバ200が送信したアップデート用のソフトウェアを暗号化した結果と署名とを送信する。取得部154は、CPU102からの命令、及び読取部118によって実現される。取得部154は、家電機器300に添付された情報コードを読み取り、該情報コードに格納された情報を取得する。具体的には、取得部154は、家電機器300に添付されている情報コードに格納されている接続設定情報、家電管理サーバ200の通信アドレス、及び家電機器300の製造番号を取得する。通信制御部156は、CPU102からの命令、及び通信I/F116によって実現される。通信制御部156は、通信部152と家電管理サーバ200との間でのセッションの構築や、通信制御を行う。具体的には、通信制御部156は、ユーザが操作部112を操作することによって、接続設定情報と家電管理サーバ200の通信アドレスとに基づいて、家電管理サーバ200との間でセッションを構築する。そして、通信制御部156は、家電メーカのウェブサイトをリクエストし、取得部154が取得した家電機器300の製造番号を通信部152から送信する。通信部152から送信された家電機器300の製造番号が家電管理サーバ200によって受信されると、端末装置100のディスプレイ110には、当該家電機器300の製造番号に対応する利用者情報の入力画面が表示される。ユーザは、該入力画面で、操作部112を操作することで利用者情報を入力する。ユーザが入力した利用者情報は、家電管理サーバ200へ送信され、家電管理サーバ200は、利用者情報を登録する。利用者情報の一例は、端末装置100の電話番号、メールアドレス、利用者の住所、氏名等である。記憶部158は、不揮発性メモリ106によって実現される。記憶部158は、端末装置100の識別情報等を記憶する。
<家電管理サーバの機能構成>
家電管理サーバ200は、通信部252、鍵生成部254、通信制御部256、記憶部258、ソフトウェア提供部261、暗号化部262、検証部263、及び上記各構成要素を図4に示されているように電気的に接続するためのアドレスバスやデータバス等のバスライン264を有している。記憶部258には、マスター鍵2582と、アップデート用ソフトウェア2584とが記憶される。これらの各部は、図4に示されている各構成要素のいずれかが、家電管理サーバ200のハードウェア構成において、不揮発性メモリ206からメモリ204上に展開されたプログラム2062を実行するCPU202からの命令によって動作することで実現される機能である。
家電管理サーバ200は、通信部252、鍵生成部254、通信制御部256、記憶部258、ソフトウェア提供部261、暗号化部262、検証部263、及び上記各構成要素を図4に示されているように電気的に接続するためのアドレスバスやデータバス等のバスライン264を有している。記憶部258には、マスター鍵2582と、アップデート用ソフトウェア2584とが記憶される。これらの各部は、図4に示されている各構成要素のいずれかが、家電管理サーバ200のハードウェア構成において、不揮発性メモリ206からメモリ204上に展開されたプログラム2062を実行するCPU202からの命令によって動作することで実現される機能である。
<家電管理サーバの各機能構成>
図2及び図4を用いて、家電管理サーバ200の各機能構成について詳細に説明する。 家電管理サーバ200の通信部252は、家電管理サーバ200のCPU202からの命令及び通信I/F216によって実現される。通信部252は、端末装置100、家電機器300等の他の装置との間でセッションが構築された後、各種データの送受信を行う。具体的には、通信部252は、端末装置100が送信した家電機器300の製造番号と、家電機器300の利用者情報とを受信する。また、通信部252は、家電機器300が送信した家電機器の状態の測定結果を暗号化した結果と署名とを受信する。鍵生成部254は、通信部252が受信した家電機器300の製造番号と、記憶部258に記憶されているマスター鍵2582とから共通鍵を生成する。記憶部258に記憶されているマスター鍵2582は、家電機器300にプリセットされる共通鍵を生成する際に使用されるマスター鍵と同じであるため、鍵生成部254か生成する共通鍵は、家電機器300にプリセットされる共通鍵を同じである。鍵生成部254は、生成した共通鍵を記憶部258に記憶する。
鍵生成部254は、以下に示される生成方法で、共通鍵を生成する。
(共通鍵の生成方法の例1) 共通鍵の生成方法の例1では、ハッシュ関数を利用する。例えば、マスター鍵と家電機器300の製造番号の連結データを入力値に使用してハッシュ値を算出し、算出したハッシュ値を共通鍵に使用する。
(共通鍵の生成方法の例2) 共通鍵の生成方法の例2では、排他的論理和演算を利用する。例えば、マスター鍵と家電機器300の製造番号の排他的論理和演算を実行し、演算結果の値「マスター鍵 xor 家電機器300の製造番号」を共通鍵に使用する。但し、「A xor B」はAとBの排他的論理和である。
図2及び図4を用いて、家電管理サーバ200の各機能構成について詳細に説明する。 家電管理サーバ200の通信部252は、家電管理サーバ200のCPU202からの命令及び通信I/F216によって実現される。通信部252は、端末装置100、家電機器300等の他の装置との間でセッションが構築された後、各種データの送受信を行う。具体的には、通信部252は、端末装置100が送信した家電機器300の製造番号と、家電機器300の利用者情報とを受信する。また、通信部252は、家電機器300が送信した家電機器の状態の測定結果を暗号化した結果と署名とを受信する。鍵生成部254は、通信部252が受信した家電機器300の製造番号と、記憶部258に記憶されているマスター鍵2582とから共通鍵を生成する。記憶部258に記憶されているマスター鍵2582は、家電機器300にプリセットされる共通鍵を生成する際に使用されるマスター鍵と同じであるため、鍵生成部254か生成する共通鍵は、家電機器300にプリセットされる共通鍵を同じである。鍵生成部254は、生成した共通鍵を記憶部258に記憶する。
鍵生成部254は、以下に示される生成方法で、共通鍵を生成する。
(共通鍵の生成方法の例1) 共通鍵の生成方法の例1では、ハッシュ関数を利用する。例えば、マスター鍵と家電機器300の製造番号の連結データを入力値に使用してハッシュ値を算出し、算出したハッシュ値を共通鍵に使用する。
(共通鍵の生成方法の例2) 共通鍵の生成方法の例2では、排他的論理和演算を利用する。例えば、マスター鍵と家電機器300の製造番号の排他的論理和演算を実行し、演算結果の値「マスター鍵 xor 家電機器300の製造番号」を共通鍵に使用する。但し、「A xor B」はAとBの排他的論理和である。
通信制御部256は、家電管理サーバ200のCPU202からの命令、及び通信I/F216によって実現される。通信制御部256は、通信部252と端末装置100との間でのセッションの構築や、通信制御を行う。具体的には、通信制御部256は、端末装置100によるアクセスに応じてセッションを構築する。そして、通信制御部256は、端末装置100が送信した家電メーカのウェブサイトのリクエストに応じて、ウェブサイトの画面情報を端末装置100へ送信する。通信制御部256は、通信部252から、端末装置100が送信する家電機器300の製造番号を取得し、当該家電機器300の製造番号に対応する利用者情報の入力画面情報を端末装置100へ送信する。さらに、通信制御部256は、利用者情報の入力画面に対してユーザが入力した利用者情報を取得し、記憶部258に登録する。さらに、通信制御部256は、通信部252と家電機器300との間でのセッションの構築や、通信制御を行う。
ソフトウェア提供部261は、家電管理サーバ200のCPU202からの命令によって実現される。ソフトウェア提供部261は、記憶部258に記憶されたアップデート用ソフトウェア2584を取得し、該アップデート用ソフトウェア2584を暗号化部262へ出力する。ソフトウェア提供部261は、暗号化部262からアップデート用ソフトウェア2584を暗号化した結果と署名とを取得すると、通信部252から家電機器300へ、該アップデート用ソフトウェア2584を暗号化した結果と署名とを送信する。また、ソフトウェア提供部261は、家電機器300へ送信したアップデート用ソフトウェア2584を暗号化した結果と署名とに対して、家電機器の状態の測定結果を暗号化した結果と署名とを通信部252から取得すると、該家電機器の状態の測定結果を暗号化した結果と署名とを検証部263へ出力する。ソフトウェア提供部261は、検証部263から取得した検証が成功したか否かを表す情報が、検証が成功したことを示す場合、家電機器300におけるソフトウェアのアップデートが成功したと判定する。一方、ソフトウェア提供部261は、検証部263から取得した検証が成功したか否かを表す情報が、検証が失敗したことを示す場合、家電機器300におけるソフトウェアのアップデートが失敗したと判定する。ソフトウェア提供部261は、検証が失敗である場合には、所定のエラー処理を行ってもよい。例えば、ソフトウェア提供部261は、端末装置100へソフトウェアのアップデートが失敗したことを通知するようにしてもよい。
暗号化部262は、家電管理サーバ200のCPU202からの命令によって実現される。暗号化部262は、通信制御部256によって家電機器300との間でセッションの構築が行われた後、ソフトウェア提供部261からアップデート用ソフトウェア2584を取得する。暗号化部262は、鍵生成部254が生成した共通鍵で、アップデート用ソフトウェア2584を暗号化する。さらに、暗号化部262は、アップデート用ソフトウェア2584と該共通鍵とからメッセージ認証コードを演算することによって署名を作成する。暗号化部262は、ソフトウェア提供部261へアップデート用ソフトウェア2584を暗号化した結果と署名とを出力する。
暗号化部262は、家電管理サーバ200のCPU202からの命令によって実現される。暗号化部262は、通信制御部256によって家電機器300との間でセッションの構築が行われた後、ソフトウェア提供部261からアップデート用ソフトウェア2584を取得する。暗号化部262は、鍵生成部254が生成した共通鍵で、アップデート用ソフトウェア2584を暗号化する。さらに、暗号化部262は、アップデート用ソフトウェア2584と該共通鍵とからメッセージ認証コードを演算することによって署名を作成する。暗号化部262は、ソフトウェア提供部261へアップデート用ソフトウェア2584を暗号化した結果と署名とを出力する。
検証部263は、家電管理サーバ200のCPU202からの命令によって実現される。検証部263は、家電機器の状態の測定結果を暗号化した結果と署名とを取得すると、該家電機器の状態の測定結果の正真性を検証する。具体的には、検証部263は、鍵生成部254が生成した共通鍵で、家電機器の状態の測定結果を暗号化した結果を復号し、復号した結果と該共通鍵とからメッセージ認証コードを演算する。そして、検証部263は、復号した結果と該共通鍵とを演算することによって得られるメッセージ認証コードと署名とが一致するか否かを判定する。検証部263は、一致する場合には検証が成功であり、家電機器の状態の測定結果が家電機器300から送信されたものであると判定する。一方、検証部263は、一致しない場合には検証が失敗であり、家電機器の状態の測定結果が家電機器300から送信されたものでないと判定する。検証部263は、検証が成功したか否かを表す情報をソフトウェア提供部261へ出力する。
記憶部258は、不揮発性メモリ206によって実現される。記憶部258は、家電管理サーバ200の識別情報、マスター鍵2582、鍵生成部254が生成した共通鍵、アップデート用ソフトウェア2584等を記憶する。
記憶部258は、不揮発性メモリ206によって実現される。記憶部258は、家電管理サーバ200の識別情報、マスター鍵2582、鍵生成部254が生成した共通鍵、アップデート用ソフトウェア2584等を記憶する。
<家電機器の機能構成>
家電機器300は、通信部352、アップデート処理部354、通信制御部356、記憶部358、暗号化部362、検証部363、及び上記各構成要素を図4に示されているように電気的に接続するためのアドレスバスやデータバス等のバスライン364を有している。記憶部358には、共通鍵3582、及び製造番号3584が記憶される。共通鍵3582は、前述したようにマスター鍵と家電機器300の製造番号とから生成され、プリセットされる。これらの各部は、図4に示されている各構成要素のいずれかが、家電機器300の不揮発性メモリ206からメモリ204上に展開されたプログラム2062を実行するCPU202からの命令によって動作することで実現される機能である。
家電機器300は、通信部352、アップデート処理部354、通信制御部356、記憶部358、暗号化部362、検証部363、及び上記各構成要素を図4に示されているように電気的に接続するためのアドレスバスやデータバス等のバスライン364を有している。記憶部358には、共通鍵3582、及び製造番号3584が記憶される。共通鍵3582は、前述したようにマスター鍵と家電機器300の製造番号とから生成され、プリセットされる。これらの各部は、図4に示されている各構成要素のいずれかが、家電機器300の不揮発性メモリ206からメモリ204上に展開されたプログラム2062を実行するCPU202からの命令によって動作することで実現される機能である。
<家電機器の各機能構成>
図2及び図4を用いて、家電機器300の各機能構成について詳細に説明する。
家電機器300の通信部352は、家電機器300のCPU202からの命令及び通信I/F216によって実現される。通信部352は、端末装置100、家電管理サーバ200等の他の装置との間でセッションが構築された後、各種データの送受信を行う。具体的には、通信部352は、家電管理サーバ200からアップデート用ソフトウェアを暗号化した結果と署名とを受信する。また、通信部352は、家電管理サーバ200へ、家電機器の状態の測定結果を暗号化した結果と署名とを送信する。
アップデート処理部354は、家電機器300のCPU202からの命令によって実現される。アップデート処理部354は、家電管理サーバ200から受信したアップデート用ソフトウェアによってソフトウェアのアップデートを行う。アップデート処理部354は、ソフトウェアのアップデートを行った後に、セキュアブートを行う。そして、アップデート処理部354は、セキュアブート後の家電機器の状態を測定し、該家電機器の状態の測定結果を暗号化部362へ出力する。アップデート処理部354は、暗号化部362から家電機器の状態の測定結果を暗号化した結果と署名とを取得すると、通信部352から家電管理サーバ200へ送信する。
図2及び図4を用いて、家電機器300の各機能構成について詳細に説明する。
家電機器300の通信部352は、家電機器300のCPU202からの命令及び通信I/F216によって実現される。通信部352は、端末装置100、家電管理サーバ200等の他の装置との間でセッションが構築された後、各種データの送受信を行う。具体的には、通信部352は、家電管理サーバ200からアップデート用ソフトウェアを暗号化した結果と署名とを受信する。また、通信部352は、家電管理サーバ200へ、家電機器の状態の測定結果を暗号化した結果と署名とを送信する。
アップデート処理部354は、家電機器300のCPU202からの命令によって実現される。アップデート処理部354は、家電管理サーバ200から受信したアップデート用ソフトウェアによってソフトウェアのアップデートを行う。アップデート処理部354は、ソフトウェアのアップデートを行った後に、セキュアブートを行う。そして、アップデート処理部354は、セキュアブート後の家電機器の状態を測定し、該家電機器の状態の測定結果を暗号化部362へ出力する。アップデート処理部354は、暗号化部362から家電機器の状態の測定結果を暗号化した結果と署名とを取得すると、通信部352から家電管理サーバ200へ送信する。
通信制御部356は、家電機器300のCPU202からの命令及び通信I/F216によって実現される。通信制御部356は、通信部352と家電管理サーバ200との間でのセッションの構築や、通信制御を行う。具体的には、通信制御部356は、端末装置100を経由して、家電管理サーバ200の通信制御部256との間で、セッションの構築を行う。
暗号化部362は、家電機器300のCPU202からの命令によって実現される。暗号化部362は、アップデート処理部354から家電機器の状態の測定結果を取得する。暗号化部362は、共通鍵3582で、家電機器の状態の測定結果を暗号化する。さらに、暗号化部362は、家電機器の状態の測定結果と共通鍵3582とからメッセージ認証コードを演算することによって署名を作成する。暗号化部362は、通信部352へ家電機器の状態の測定結果を暗号化した結果と、署名とを出力する。
暗号化部362は、家電機器300のCPU202からの命令によって実現される。暗号化部362は、アップデート処理部354から家電機器の状態の測定結果を取得する。暗号化部362は、共通鍵3582で、家電機器の状態の測定結果を暗号化する。さらに、暗号化部362は、家電機器の状態の測定結果と共通鍵3582とからメッセージ認証コードを演算することによって署名を作成する。暗号化部362は、通信部352へ家電機器の状態の測定結果を暗号化した結果と、署名とを出力する。
検証部363は、家電機器300のCPU202からの命令によって実現される。検証部363は、通信制御部356から家電管理サーバ200が送信したアップデート用ソフトウェアを暗号化した結果と署名とを取得すると、該アップデート用ソフトウェアの正真性を検証する。具体的には、検証部363は、共通鍵3582で、アップデート用ソフトウェアを暗号化した結果を復号し、復号した結果と共通鍵3582とからメッセージ認証コードを演算する。そして、検証部363は、復号した結果と共通鍵3582とを演算することによって得られるメッセージ認証コードと署名とが一致するか否かを判定する。検証部363は、一致する場合には検証が成功であり、アップデート用ソフトウェアが家電管理サーバ200から送信されたものであると判定する。一方、検証部363は、一致しない場合には検証が失敗であり、アップデート用ソフトウェアが家電管理サーバ200から送信されたものでないと判定する。検証部363は、検証が失敗である場合には、所定のエラー処理を行ってもよい。検証部363は、検証が成功である場合には、アップデート処理部354へ検証が成功したことを通知する。
記憶部358は、家電機器300の不揮発性メモリ206によって実現される。記憶部358は、家電機器300の識別情報、共通鍵3582、及び製造番号3584等を記憶する。
記憶部358は、家電機器300の不揮発性メモリ206によって実現される。記憶部358は、家電機器300の識別情報、共通鍵3582、及び製造番号3584等を記憶する。
<通信システムの動作>
図5は、本実施形態に係る通信システムの動作の一例を示すシーケンスチャートである。
ステップS502では、端末装置100の取得部154は、家電機器300に添付された情報コードを読み取り、該情報コードに格納されている接続設定情報と家電管理サーバ200の通信アドレスと家電機器300の製造番号とを取得する。
ステップS504では、端末装置100の通信制御部156は、取得部154が取得した接続設定情報を用いて、家電管理サーバ200の通信制御部256との間でセッションを構築する。
ステップS506では、端末装置100の通信制御部156は、家電管理サーバ200の通信制御部256との間でセッションが構築されると、家電管理サーバ200の通信アドレスに基づいて、家電メーカのウェブサイトをリクエストする。そして、端末装置100の通信制御部156は、家電機器300の製造番号を送信し、当該製造番号に対応して表示される利用者情報の入力画面に対してユーザが入力した利用者情報を送信する。家電管理サーバ200の通信制御部256は、通信部252によって端末装置100が送信した家電機器300の利用者情報が受信されると、当該利用者情報を記憶部258へ記憶する。
図5は、本実施形態に係る通信システムの動作の一例を示すシーケンスチャートである。
ステップS502では、端末装置100の取得部154は、家電機器300に添付された情報コードを読み取り、該情報コードに格納されている接続設定情報と家電管理サーバ200の通信アドレスと家電機器300の製造番号とを取得する。
ステップS504では、端末装置100の通信制御部156は、取得部154が取得した接続設定情報を用いて、家電管理サーバ200の通信制御部256との間でセッションを構築する。
ステップS506では、端末装置100の通信制御部156は、家電管理サーバ200の通信制御部256との間でセッションが構築されると、家電管理サーバ200の通信アドレスに基づいて、家電メーカのウェブサイトをリクエストする。そして、端末装置100の通信制御部156は、家電機器300の製造番号を送信し、当該製造番号に対応して表示される利用者情報の入力画面に対してユーザが入力した利用者情報を送信する。家電管理サーバ200の通信制御部256は、通信部252によって端末装置100が送信した家電機器300の利用者情報が受信されると、当該利用者情報を記憶部258へ記憶する。
ステップS508では、家電管理サーバ200の鍵生成部254は、家電機器300の製造番号と、記憶部258に記憶されているマスター鍵2582とから共通鍵を生成する。
ステップS510では、家電管理サーバ200の通信制御部256は、家電機器300の通信制御部356との間で、セッションを構築する。
ステップS512では、家電管理サーバ200のソフトウェア提供部261は、記憶部258に記憶されているアップデート用ソフトウェア2584を取得し、暗号化部262に出力する。暗号化部262は、ソフトウェア提供部261から取得したアップデート用ソフトウェア2584を暗号化する。さらに、暗号化部262は、アップデート用ソフトウェア2584と、鍵生成部254が生成した共通鍵とからメッセージ認証コードを演算することによって署名を作成する。暗号化部262は、ソフトウェア提供部261へアップデート用ソフトウェア2584を暗号化した結果と署名とを出力する。ソフトウェア提供部261は、暗号化部262から取得したアップデート用ソフトウェア2584を暗号化した結果と署名とを、通信部252へ出力する。通信部252は、家電機器300へ、ソフトウェア提供部261から出力されたアップデート用ソフトウェア2584を暗号化した結果と署名とを送信する。
ステップS510では、家電管理サーバ200の通信制御部256は、家電機器300の通信制御部356との間で、セッションを構築する。
ステップS512では、家電管理サーバ200のソフトウェア提供部261は、記憶部258に記憶されているアップデート用ソフトウェア2584を取得し、暗号化部262に出力する。暗号化部262は、ソフトウェア提供部261から取得したアップデート用ソフトウェア2584を暗号化する。さらに、暗号化部262は、アップデート用ソフトウェア2584と、鍵生成部254が生成した共通鍵とからメッセージ認証コードを演算することによって署名を作成する。暗号化部262は、ソフトウェア提供部261へアップデート用ソフトウェア2584を暗号化した結果と署名とを出力する。ソフトウェア提供部261は、暗号化部262から取得したアップデート用ソフトウェア2584を暗号化した結果と署名とを、通信部252へ出力する。通信部252は、家電機器300へ、ソフトウェア提供部261から出力されたアップデート用ソフトウェア2584を暗号化した結果と署名とを送信する。
ステップS514では、家電機器300の通信制御部356は、家電管理サーバ200から受信したアップデート用ソフトウェア2584を暗号化した結果と署名とを検証部363へ出力する。検証部363は、通信制御部356からアップデート用ソフトウェアを暗号化した結果と署名とを取得すると、該アップデート用ソフトウェアの正真性を検証する。以降、検証が成功した場合について説明を続ける。検証が失敗した場合には、所定のエラー処理が行われてもよい。
ステップS516では、家電機器300のアップデート処理部354は、セキュアブートを実施する。
ステップS518では、家電機器300のアップデート処理部354は、セキュアブート後の家電機器の状態を測定し、家電機器の状態の測定結果を暗号化部362へ出力する。暗号化部362は、共通鍵3582で、家電機器の状態の測定結果を暗号化する。さらに、暗号化部362は、家電機器の状態の測定結果と該共通鍵3582とからメッセージ認証コードを演算することによって署名を作成する。暗号化部362は、アップデート処理部354へ家電機器の状態の測定結果を暗号化した結果と署名とを出力する。
ステップS520では、家電機器300のアップデート処理部354は、暗号化部362から家電機器の状態の測定結果を暗号化した結果と署名とを取得すると、通信部352から家電管理サーバ200へ送信する。
ステップS516では、家電機器300のアップデート処理部354は、セキュアブートを実施する。
ステップS518では、家電機器300のアップデート処理部354は、セキュアブート後の家電機器の状態を測定し、家電機器の状態の測定結果を暗号化部362へ出力する。暗号化部362は、共通鍵3582で、家電機器の状態の測定結果を暗号化する。さらに、暗号化部362は、家電機器の状態の測定結果と該共通鍵3582とからメッセージ認証コードを演算することによって署名を作成する。暗号化部362は、アップデート処理部354へ家電機器の状態の測定結果を暗号化した結果と署名とを出力する。
ステップS520では、家電機器300のアップデート処理部354は、暗号化部362から家電機器の状態の測定結果を暗号化した結果と署名とを取得すると、通信部352から家電管理サーバ200へ送信する。
ステップS522では、家電管理サーバ200の通信制御部256は、家電機器300から受信した家電機器の状態の測定結果を暗号化した結果と署名とを検証部263へ出力する。検証部263は、通信制御部256から家電管理サーバ200が送信した家電機器の状態の測定結果を暗号化した結果と署名とを取得すると、該家電機器の状態の測定結果の正真性を検証する。検証部263は、ソフトウェア提供部261へ、検証が成功したか否かを示す情報を出力する。ソフトウェア提供部261は、検証部263から出力された検証が成功したか否かを示す情報が検証が成功したことを示す場合には、家電機器300よるソフトウェアのアップデートが成功したと判定し、検証が失敗したことを示す場合には家電機器300によるソフトウェアのアップデートが失敗したと判定する。ここで、ソフトウェア提供部261は、通信部252から端末装置100へソフトウェアのアップデートが成功したか否かを示す情報を送信するようにしてもよい。これによって、端末装置100の使用者へ、家電機器300によるソフトウェアのアップデートが成功したか否かを通知できる。
図5に示されるシーケンスチャートのステップS506において、端末装置100は、家電管理サーバ200へ、利用者情報と製造番号とに加え、端末装置100の位置情報を送信してもよい。ここで、端末装置100が送信する位置情報は、家電機器300の近傍の位置であるのが好ましい。家電管理サーバ200の通信制御部256は、通信部252によって端末装置100が送信した位置情報が受信されると、当該位置情報を記憶部258へ記憶する。そして、ステップS520において、端末装置100は、家電機器300が送信した家電機器の状態の測定結果を暗号化した結果と署名に、端末装置100の位置情報を付加して送信するようにしてもよい。これによって、家電管理サーバ200は、端末装置100から家電機器の状態の測定結果を暗号化した結果と署名とに付加して送信された端末装置100の位置情報を受信すると、該位置情報と記憶部258に記憶している位置情報とを比較することによって、アップデートのタイミングで、家電機器300の位置が変更されているか否かを判定できる。具体的には、家電機器300の位置が所定の閾値以上移動されていると判定された場合には、引っ越しが行われたと推測できる。さらに、家電管理サーバ200は、家電機器300の位置が所定の閾値以上移動されていると判定した場合に、位置情報を再登録することを促すようにしてもよい。
本実施形態においては、家電管理サーバ200が、アップデート用ソフトウェアを暗号化した結果と署名とを送信する場合について説明したが、これに限られない。例えば、家電管理サーバ200は、署名は作成せず、アップデート用ソフトウェアを暗号化した結果を送信するようにしてもよい。
また、本実施形態においては、家電機器300が、家電機器の状態の計測結果を暗号化した結果と署名とを送信する場合について説明したが、これに限られない。例えば、家電機器300は、署名は作成せず、家電機器の状態の計測結果を暗号化した結果を送信するようにしてもよい。
また、本実施形態においては、家電機器300にマスター鍵と家電機器300の製造番号とから生成される共通鍵がプリセットされる場合について説明したが、これに限られない。例えば、家電機器300にマスター鍵と家電機器300の製造番号とN(Nは実数)から生成される共通鍵がプリセットされ、家電管理サーバ200に家電機器300にプリセットされる共通鍵を生成する際に使用されたマスター鍵が記憶されてもよい。この場合、Nは、暗号化、署名等の利用したい共通鍵の数に応じて用意される。また、家電機器300にマスター鍵が複数プリセットされてもよい。
本実施形態に係る通信システムによれば、家電機器300と端末装置100と家電管理サーバ200とを共通鍵を用いて、安全に接続することができる。共通鍵を使用することで、家電製品に組み込まれる非力なマイコンでも暗号化や署名付与などの演算が可能になる。また、マスター鍵と製造番号から生成される共通鍵を用いるため、公開鍵基盤(public key infrastructure: PKI)等の煩雑になりがちな鍵管理の機構が不要になる。家電管理サーバ200によって、家電機器300の利用者情報が登録されるため、仮に家電機器のソフトウェアのアップデートが必要になった場合でも、家電管理サーバから家電機器へ直接通知できる。これによって、ソフトウェアのアップデートが必要になった家電機器に対して、早急にアップデートを進めることができる。
本実施形態においては、家電管理サーバ200が、アップデート用ソフトウェアを暗号化した結果と署名とを送信する場合について説明したが、これに限られない。例えば、家電管理サーバ200は、署名は作成せず、アップデート用ソフトウェアを暗号化した結果を送信するようにしてもよい。
また、本実施形態においては、家電機器300が、家電機器の状態の計測結果を暗号化した結果と署名とを送信する場合について説明したが、これに限られない。例えば、家電機器300は、署名は作成せず、家電機器の状態の計測結果を暗号化した結果を送信するようにしてもよい。
また、本実施形態においては、家電機器300にマスター鍵と家電機器300の製造番号とから生成される共通鍵がプリセットされる場合について説明したが、これに限られない。例えば、家電機器300にマスター鍵と家電機器300の製造番号とN(Nは実数)から生成される共通鍵がプリセットされ、家電管理サーバ200に家電機器300にプリセットされる共通鍵を生成する際に使用されたマスター鍵が記憶されてもよい。この場合、Nは、暗号化、署名等の利用したい共通鍵の数に応じて用意される。また、家電機器300にマスター鍵が複数プリセットされてもよい。
本実施形態に係る通信システムによれば、家電機器300と端末装置100と家電管理サーバ200とを共通鍵を用いて、安全に接続することができる。共通鍵を使用することで、家電製品に組み込まれる非力なマイコンでも暗号化や署名付与などの演算が可能になる。また、マスター鍵と製造番号から生成される共通鍵を用いるため、公開鍵基盤(public key infrastructure: PKI)等の煩雑になりがちな鍵管理の機構が不要になる。家電管理サーバ200によって、家電機器300の利用者情報が登録されるため、仮に家電機器のソフトウェアのアップデートが必要になった場合でも、家電管理サーバから家電機器へ直接通知できる。これによって、ソフトウェアのアップデートが必要になった家電機器に対して、早急にアップデートを進めることができる。
<第2の実施形態>
<通信システム>
本実施形態に係る通信システムは、図1を適用できる。ただし、端末装置100の代わりに端末装置400を備える。なお、家電管理サーバ200及び家電機器300は、前述した家電管理サーバ200及び家電機器300を適用できる。前述した第1の実施形態では、端末装置100は、単に通信の土管として使用されていた。そして、家電管理サーバ200のみによってマスター鍵が管理されていた。本実施形態に係る通信システムでは、端末装置400及び家電管理サーバ200の両方がマスター鍵を管理する。
端末装置400には、SIM(Subscriber Identity Module)等のセキュアエレメントが搭載され、当該セキュアエレメントにマスター鍵が安全にセットされる。このマスター鍵は、家電機器300にプリセットされる共通鍵を生成する際に使用されるマスター鍵と同じである。このマスター鍵のセットは、通信事業者のサーバと端末装置400の安全な領域(セキュアエレメント)を直接暗号化通信路で繋ぐオーバーザエアー(Over the Air)によって行われる。
端末装置400は、家電機器300に添付された情報コードを読み取ると、該情報コードに格納された接続設定情報、家電メーカの家電管理サーバ200の通信アドレス、家電機器300の製造番号等の情報を取得する。端末装置400は、取得した情報のうち、家電機器300の製造番号とセキュアエレメントに記憶されているマスター鍵と家電機器300の製造番号とから共通鍵を生成する。
<通信システム>
本実施形態に係る通信システムは、図1を適用できる。ただし、端末装置100の代わりに端末装置400を備える。なお、家電管理サーバ200及び家電機器300は、前述した家電管理サーバ200及び家電機器300を適用できる。前述した第1の実施形態では、端末装置100は、単に通信の土管として使用されていた。そして、家電管理サーバ200のみによってマスター鍵が管理されていた。本実施形態に係る通信システムでは、端末装置400及び家電管理サーバ200の両方がマスター鍵を管理する。
端末装置400には、SIM(Subscriber Identity Module)等のセキュアエレメントが搭載され、当該セキュアエレメントにマスター鍵が安全にセットされる。このマスター鍵は、家電機器300にプリセットされる共通鍵を生成する際に使用されるマスター鍵と同じである。このマスター鍵のセットは、通信事業者のサーバと端末装置400の安全な領域(セキュアエレメント)を直接暗号化通信路で繋ぐオーバーザエアー(Over the Air)によって行われる。
端末装置400は、家電機器300に添付された情報コードを読み取ると、該情報コードに格納された接続設定情報、家電メーカの家電管理サーバ200の通信アドレス、家電機器300の製造番号等の情報を取得する。端末装置400は、取得した情報のうち、家電機器300の製造番号とセキュアエレメントに記憶されているマスター鍵と家電機器300の製造番号とから共通鍵を生成する。
端末装置400は、前述した端末装置100の機能に加えて、以下の機能を有する。端末装置400は、家電管理サーバ200からアップデート用ソフトウェアを暗号化した結果と署名とを受信する。端末装置400は、生成した共通鍵で、当該結果を復号し、復号した結果と共通鍵とからメッセージ認証コードを演算する。端末装置400は、復号した結果と共通鍵とを演算することによって得られるメッセージ認証コードと家電管理サーバ200から取得した署名とが一致するか否かを判定することで、アップデート用のソフトウェアの正真性を検証する。端末装置400は、一致する場合には検証が成功であり、アップデート用のソフトウェアが家電管理サーバ200から送信されたものであると判定する。一方、端末装置400は、一致しない場合には検証が失敗であり、アップデート用のソフトウェアから送信されたものでないと判定する。端末装置400は、署名の検証が成功した場合には、当該アップデート用のソフトウェアを暗号化した結果と署名とを記憶する。
さらに、端末装置400は、家電機器300から家電機器の状態の測定結果を暗号化した結果と署名とを受信すると、生成した共通鍵で当該結果を復号し、復号した結果と共通鍵とからメッセージ認証コードを演算する。端末装置400は、復号した結果と共通鍵とを演算することによって得られるメッセージ認証コードと家電機器300から取得した署名とが一致するか否かを判定することで、家電機器の状態の測定結果の正真性を検証する。端末装置400は、一致する場合には検証が成功であり、家電機器の状態の測定結果が家電機器300から送信されたものであると判定する。一方、家電機器300は、一致しない場合には検証が失敗であり、家電機器の状態の測定結果が家電機器300から送信されたものでないと判定する。端末装置400は、署名の検証が成功した場合には、当該アップデート用のソフトウェアを暗号化した結果と署名とを、家電管理サーバ200へ送信する。また、端末装置400は、署名の検証が失敗した場合には、記憶している当該アップデート用のソフトウェアを暗号化した結果と署名とを、家電機器300へ再送する。 本実施形態に係る端末装置400のハードウェア構成は図2を適用できる。
<本実施形態に係る無線通信システムの機能構成>
図6は、本実施形態の通信システム2を構成する端末装置400、家電管理サーバ200、及び家電機器300の機能ブロック図である。なお、家電管理サーバ200、及び家電機器300の機能ブロック図は、前述した第1の実施形態と同じである。
<端末装置の機能構成>
端末装置400は、通信部452、取得部454、通信制御部456、記憶部458、鍵生成部461、検証部463、及び上記各構成要素を図6に示されているように電気的に接続するためのアドレスバスやデータバス等のバスライン460を有している。
<端末装置の各機能構成>
図2及び図6を用いて、端末装置400の各機能構成について詳細に説明する。なお、以下では、端末装置400の各機能構成を説明するにあたって、図2に示されている各構成要素のうち、端末装置400の各機能構成を実現させるための主なハードウェアとの関係も説明する。端末装置400の通信部452、取得部454、通信制御部456、及び記憶部458は、前述した端末装置100の通信部152、取得部154、通信制御部156、及び記憶部158を適用できる。ただし、記憶部458は、セキュアエレメントで構成され、マスター鍵4582が記憶される。このマスター鍵4582は、家電機器300にプリセットされる共通鍵を生成する際に使用されるマスター鍵と同じである。
図6は、本実施形態の通信システム2を構成する端末装置400、家電管理サーバ200、及び家電機器300の機能ブロック図である。なお、家電管理サーバ200、及び家電機器300の機能ブロック図は、前述した第1の実施形態と同じである。
<端末装置の機能構成>
端末装置400は、通信部452、取得部454、通信制御部456、記憶部458、鍵生成部461、検証部463、及び上記各構成要素を図6に示されているように電気的に接続するためのアドレスバスやデータバス等のバスライン460を有している。
<端末装置の各機能構成>
図2及び図6を用いて、端末装置400の各機能構成について詳細に説明する。なお、以下では、端末装置400の各機能構成を説明するにあたって、図2に示されている各構成要素のうち、端末装置400の各機能構成を実現させるための主なハードウェアとの関係も説明する。端末装置400の通信部452、取得部454、通信制御部456、及び記憶部458は、前述した端末装置100の通信部152、取得部154、通信制御部156、及び記憶部158を適用できる。ただし、記憶部458は、セキュアエレメントで構成され、マスター鍵4582が記憶される。このマスター鍵4582は、家電機器300にプリセットされる共通鍵を生成する際に使用されるマスター鍵と同じである。
鍵生成部461は、取得部454が取得した家電機器300の製造番号と、記憶部458に記憶されているマスター鍵4582とから共通鍵を生成する。共通鍵の生成方法については前述したので、その説明を省略する。記憶部458に記憶されているマスター鍵4582は、家電機器300にプリセットされる共通鍵を生成する際に使用されるマスター鍵と同じであるため、鍵生成部461か生成する共通鍵は、家電機器300にプリセットされる共通鍵を同じである。鍵生成部461は、生成した共通鍵を記憶部458に記憶する。
検証部463は、CPU102からの命令によって実現される。検証部463は、通信制御部456から家電管理サーバ200からアップデート用ソフトウェアを暗号化した結果と署名とを取得すると、該アップデート用ソフトウェアの正真性を検証する。具体的には、検証部463は、鍵生成部461が生成した共通鍵で、アップデート用ソフトウェアを暗号化した結果を復号し、復号した結果と該共通鍵とからメッセージ認証コードを演算する。検証部463は、復号した結果と該共通鍵とを演算することによって得られるメッセージ認証コードと署名とが一致するか否かを判定する。検証部463は、一致する場合には検証が成功であり、アップデート用ソフトウェアが家電管理サーバ200から送信されたものであると判定する。一方、検証部463は、一致しない場合には検証が失敗であり、アップデート用ソフトウェアが家電管理サーバ200から送信されたものでないと判定する。検証部463は、検証が成功したか否かを表す情報を通信制御部456へ出力する。通信制御部456は、検証部463から検証が成功したことが通知されると、アップデート用ソフトウェアを暗号化した結果と署名とを記憶部458へ記憶する。
また、検証部463は、通信制御部456から家電機器300が送信した家電機器の状態の測定結果を暗号化した結果と署名とを取得すると、該家電機器の状態の測定結果の正真性を検証する。具体的には、検証部463は、鍵生成部461が生成した共通鍵で、家電機器の状態の測定結果を暗号化した結果を復号し、復号した結果と該共通鍵とからメッセージ認証コードを演算する。検証部463は、復号した結果と該共通鍵とを演算することによって得られるメッセージ認証コードと署名とが一致するか否かを判定する。検証部463は、一致する場合には検証が成功であり、家電機器の状態の測定結果が家電機器300から送信されたものであると判定する。一方、検証部463は、一致しない場合には検証が失敗であり、家電機器の状態の測定結果が家電機器300から送信されたものでないと判定する。検証部263は、検証が成功したか否かを表す情報を通信制御部456へ出力する。通信制御部456は、検証部463から検証が成功したことが通知されると、家電機器の状態の測定結果を暗号化した結果と署名とを通信部452から家電管理サーバ200へ送信する。
検証部463は、CPU102からの命令によって実現される。検証部463は、通信制御部456から家電管理サーバ200からアップデート用ソフトウェアを暗号化した結果と署名とを取得すると、該アップデート用ソフトウェアの正真性を検証する。具体的には、検証部463は、鍵生成部461が生成した共通鍵で、アップデート用ソフトウェアを暗号化した結果を復号し、復号した結果と該共通鍵とからメッセージ認証コードを演算する。検証部463は、復号した結果と該共通鍵とを演算することによって得られるメッセージ認証コードと署名とが一致するか否かを判定する。検証部463は、一致する場合には検証が成功であり、アップデート用ソフトウェアが家電管理サーバ200から送信されたものであると判定する。一方、検証部463は、一致しない場合には検証が失敗であり、アップデート用ソフトウェアが家電管理サーバ200から送信されたものでないと判定する。検証部463は、検証が成功したか否かを表す情報を通信制御部456へ出力する。通信制御部456は、検証部463から検証が成功したことが通知されると、アップデート用ソフトウェアを暗号化した結果と署名とを記憶部458へ記憶する。
また、検証部463は、通信制御部456から家電機器300が送信した家電機器の状態の測定結果を暗号化した結果と署名とを取得すると、該家電機器の状態の測定結果の正真性を検証する。具体的には、検証部463は、鍵生成部461が生成した共通鍵で、家電機器の状態の測定結果を暗号化した結果を復号し、復号した結果と該共通鍵とからメッセージ認証コードを演算する。検証部463は、復号した結果と該共通鍵とを演算することによって得られるメッセージ認証コードと署名とが一致するか否かを判定する。検証部463は、一致する場合には検証が成功であり、家電機器の状態の測定結果が家電機器300から送信されたものであると判定する。一方、検証部463は、一致しない場合には検証が失敗であり、家電機器の状態の測定結果が家電機器300から送信されたものでないと判定する。検証部263は、検証が成功したか否かを表す情報を通信制御部456へ出力する。通信制御部456は、検証部463から検証が成功したことが通知されると、家電機器の状態の測定結果を暗号化した結果と署名とを通信部452から家電管理サーバ200へ送信する。
<通信システムの動作>
図7は、本実施形態に係る通信システム2の動作の一例を示すシーケンスチャートである。ステップS702−S708は、図5に示されるステップS502−S508を適用できる。
ステップS710では、端末装置400の鍵生成部461は、家電機器300の製造番号と、記憶部458に記憶されているマスター鍵4582とから共通鍵を生成する。
ステップS712では、家電管理サーバ200のソフトウェア提供部261は、記憶部258に記憶しているアップデート用ソフトウェア2584を取得し、暗号化部262に出力する。暗号化部262は、ソフトウェア提供部261から取得したアップデート用ソフトウェア2584を暗号化する。さらに、暗号化部262は、アップデート用ソフトウェア2584と鍵生成部254が生成した共通鍵とからメッセージ認証コードを演算することによって署名を作成する。暗号化部262は、ソフトウェア提供部261へアップデート用ソフトウェア2584を暗号化した結果と署名とを出力する。ソフトウェア提供部261は、暗号化部262から取得したアップデート用ソフトウェア2584を暗号化した結果と署名とを、通信部252へ出力する。通信部252は、端末装置400へ、ソフトウェア提供部261から出力されたアップデート用ソフトウェア2584を暗号化した結果と署名とを送信する。
図7は、本実施形態に係る通信システム2の動作の一例を示すシーケンスチャートである。ステップS702−S708は、図5に示されるステップS502−S508を適用できる。
ステップS710では、端末装置400の鍵生成部461は、家電機器300の製造番号と、記憶部458に記憶されているマスター鍵4582とから共通鍵を生成する。
ステップS712では、家電管理サーバ200のソフトウェア提供部261は、記憶部258に記憶しているアップデート用ソフトウェア2584を取得し、暗号化部262に出力する。暗号化部262は、ソフトウェア提供部261から取得したアップデート用ソフトウェア2584を暗号化する。さらに、暗号化部262は、アップデート用ソフトウェア2584と鍵生成部254が生成した共通鍵とからメッセージ認証コードを演算することによって署名を作成する。暗号化部262は、ソフトウェア提供部261へアップデート用ソフトウェア2584を暗号化した結果と署名とを出力する。ソフトウェア提供部261は、暗号化部262から取得したアップデート用ソフトウェア2584を暗号化した結果と署名とを、通信部252へ出力する。通信部252は、端末装置400へ、ソフトウェア提供部261から出力されたアップデート用ソフトウェア2584を暗号化した結果と署名とを送信する。
ステップS714では、端末装置400の通信制御部456は、家電管理サーバ200から受信したアップデート用ソフトウェア2584を暗号化した結果と署名とを検証部463へ出力する。検証部463は、通信制御部456から家電管理サーバ200が送信したアップデート用ソフトウェアを暗号化した結果と署名とを取得すると、該アップデート用ソフトウェアの正真性を検証する。以降、検証が成功した場合について説明を続ける。検証が失敗した場合には、所定のエラー処理が行われてもよい。
ステップS716では、端末装置400の通信制御部456は、検証部463による検証が成功した場合、アップデート用ソフトウェアを暗号化した結果と署名とを記憶部458へ記憶する。
ステップS718では、端末装置400の通信制御部456は、家電機器300の通信制御部356との間でセッションを構築する。
ステップS720では、端末装置400の通信制御部456は、家電管理サーバ200から受信したアップデート用ソフトウェア2584を暗号化した結果と署名とを、通信部452へ出力する。通信部452は、家電機器300へ、通信制御部456から出力されたアップデート用ソフトウェア2584を暗号化した結果と署名とを送信する。
ステップS722−S726は、図5のステップS514−S518を適用できる。 ステップS728では、家電機器300のアップデート処理部354は、暗号化部362から家電機器の状態の測定結果を暗号化した結果と署名とを取得すると、通信部352から端末装置400へ送信する。
ステップS716では、端末装置400の通信制御部456は、検証部463による検証が成功した場合、アップデート用ソフトウェアを暗号化した結果と署名とを記憶部458へ記憶する。
ステップS718では、端末装置400の通信制御部456は、家電機器300の通信制御部356との間でセッションを構築する。
ステップS720では、端末装置400の通信制御部456は、家電管理サーバ200から受信したアップデート用ソフトウェア2584を暗号化した結果と署名とを、通信部452へ出力する。通信部452は、家電機器300へ、通信制御部456から出力されたアップデート用ソフトウェア2584を暗号化した結果と署名とを送信する。
ステップS722−S726は、図5のステップS514−S518を適用できる。 ステップS728では、家電機器300のアップデート処理部354は、暗号化部362から家電機器の状態の測定結果を暗号化した結果と署名とを取得すると、通信部352から端末装置400へ送信する。
ステップS730では、端末装置400の通信制御部456は、家電機器300から受信した家電機器の状態の測定結果を暗号化した結果と署名とを検証部463へ出力する。検証部463は、通信制御部456から家電機器の状態の測定結果を暗号化した結果と署名とを取得すると、該家電機器の状態の測定結果の正真性を検証する。検証部463は、通信制御部456へ、検証が成功したか否かを示す情報を出力する。以降、検証が成功した場合について説明を続ける。認証が失敗した場合には、通信制御部456は、所定のエラー処理を行うようにしてもよく、記憶部458に記憶した家電機器の状態の測定結果を暗号化した結果と署名とを再送してもよい。
ステップS732では、端末装置400の通信制御部456は、家電機器の状態の測定結果を暗号化した結果と署名とを、通信部452から家電管理サーバ200へ送信する。 ステップS734は、図5のステップS522を適用できる。
本実施形態においては、家電管理サーバ200が、アップデート用ソフトウェアを暗号化した結果と署名とを送信する場合について説明したが、これに限られない。例えば、家電管理サーバ200は、署名は作成せず、アップデート用ソフトウェアを暗号化した結果を送信するようにしてもよい。
また、本実施形態においては、家電機器300が、家電機器の状態の測定結果を暗号化した結果と、署名とを送信する場合について説明したが、これに限られない。例えば、家電機器300は、署名は作成せず、家電機器の状態の測定結果を暗号化した結果を送信するようにしてもよい。
また、本実施形態においては、家電機器300にマスター鍵と家電機器300の製造番号とから生成される共通鍵がプリセットされる場合について説明したが、この限りではない。例えば、家電機器300にマスター鍵と家電機器300の製造番号とN(Nは実数)から生成される共通鍵がプリセットされ、家電管理サーバ200及び端末装置400に家電機器300にプリセットされる共通鍵を生成する際に使用されたマスター鍵が記憶されてもよい。この場合、Nは、暗号化、署名等の利用したい共通鍵の数に応じて用意される。また、家電機器300にマスター鍵が複数プリセットされてもよい。
ステップS732では、端末装置400の通信制御部456は、家電機器の状態の測定結果を暗号化した結果と署名とを、通信部452から家電管理サーバ200へ送信する。 ステップS734は、図5のステップS522を適用できる。
本実施形態においては、家電管理サーバ200が、アップデート用ソフトウェアを暗号化した結果と署名とを送信する場合について説明したが、これに限られない。例えば、家電管理サーバ200は、署名は作成せず、アップデート用ソフトウェアを暗号化した結果を送信するようにしてもよい。
また、本実施形態においては、家電機器300が、家電機器の状態の測定結果を暗号化した結果と、署名とを送信する場合について説明したが、これに限られない。例えば、家電機器300は、署名は作成せず、家電機器の状態の測定結果を暗号化した結果を送信するようにしてもよい。
また、本実施形態においては、家電機器300にマスター鍵と家電機器300の製造番号とから生成される共通鍵がプリセットされる場合について説明したが、この限りではない。例えば、家電機器300にマスター鍵と家電機器300の製造番号とN(Nは実数)から生成される共通鍵がプリセットされ、家電管理サーバ200及び端末装置400に家電機器300にプリセットされる共通鍵を生成する際に使用されたマスター鍵が記憶されてもよい。この場合、Nは、暗号化、署名等の利用したい共通鍵の数に応じて用意される。また、家電機器300にマスター鍵が複数プリセットされてもよい。
本実施形態に係る通信システムによれば、第1の実施形態と同様に、家電機器300と端末装置400と家電管理サーバ200とを共通鍵を用いて、安全に接続することができる。共通鍵を使用することで、家電製品に組み込まれる非力なマイコンでも暗号化や署名付与などの演算が可能になる。また、マスター鍵と製造番号から生成される共通鍵を用いるため、煩雑になりがちな鍵管理の機構が不要になる。家電管理サーバ200からアップデート用ソフトウェアを暗号化した結果と署名とが端末装置400へ送信され、端末装置400は該署名の検証を行い、検証が成功した場合には、該アップデート用ソフトウェアを暗号化した結果と署名とをバッファリングする。これによって、端末装置400と家電管理サーバ200との間がオフライン状態であっても、端末装置400から家電機器300へ、アップデート用ソフトウェアを暗号化した結果と署名とを送信することで、家電機器300のソフトウェアをアップデートできる。
前述した実施形態では、家電機器300に近距離無線デバイスとの間の接続設定情報、家電メーカの家電管理サーバの通信アドレス、及び家電機器300の製造番号等の情報を格納した二次元バーコード(QR(Quick Response)コード)等の情報コードが添付される場合について説明したがこの例に限られない。例えば、NFCタグに家電機器300に近距離無線デバイスとの間の接続設定情報、家電メーカの家電管理サーバの通信アドレス、及び家電機器300の製造番号等の情報を格納し、当該NFCタグを家電機器300に添付するようにしてもよい。
前述した実施形態では、家電機器300に近距離無線デバイスとの間の接続設定情報、家電メーカの家電管理サーバの通信アドレス、及び家電機器300の製造番号等の情報を格納した二次元バーコード(QR(Quick Response)コード)等の情報コードが添付される場合について説明したがこの例に限られない。例えば、NFCタグに家電機器300に近距離無線デバイスとの間の接続設定情報、家電メーカの家電管理サーバの通信アドレス、及び家電機器300の製造番号等の情報を格納し、当該NFCタグを家電機器300に添付するようにしてもよい。
以上、本発明の実施形態及びその変形例を説明したが、これらの実施形態及びその変形例は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態及びその変形例は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更、組合せを行うことができる。これら実施形態及びその変形例は、発明の範囲や要旨に含まれると同時に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
なお、前述の端末装置、家電管理サーバ、及び家電機器は内部にコンピュータを有している。そして、前述した各装置の各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしてもよい。
また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
なお、前述の端末装置、家電管理サーバ、及び家電機器は内部にコンピュータを有している。そして、前述した各装置の各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしてもよい。
また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
前述した実施形態において、端末装置100及び端末装置400は通信装置の一例であり、家電管理サーバ200はサーバの一例であり、通信アドレスはサーバの所在を特定する情報の一例であり、家電機器300は装置の一例であり、家電機器の製造番号は装置の識別情報の一例であり、第1のデータはアップデート用ソフトウェアの一例である。
50…通信網、100…端末装置、102…CPU、104…メモリ、106…不揮発性メモリ、110…ディスプレイ、112…操作部、116…通信I/F、118…読取部、120…内部バス、152…通信部、154…取得部、156…通信制御部、158…記憶部、160…バスライン、200…家電管理サーバ、202…CPU、204…メモリ、206…不揮発性メモリ、216…通信I/F、218…内部バス、252…通信部、254…鍵生成部、256…通信制御部、258…記憶部、261…ソフトウェア提供部、262…暗号化部、263…検証部、264…バスライン、300…家電機器、352…通信部、354…アップデート処理部、356…通信制御部、358…記憶部、362…暗号化部、363…検証部、364…バスライン、400…端末装置、452…通信部、454…取得部、456…通信制御部、458…記憶部、460…バスライン、461…鍵生成部、462…暗号化部、463…検証部、1062…プログラム、2062…プログラム、2582…マスター鍵、2584…アップデート用ソフトウェア、3582…共通鍵、3584…製造番号、4582…マスター鍵
Claims (8)
- 端末装置と、前記端末装置と通信を行うサーバとを備える通信システムであって、
端末装置は、
共通鍵が設定された家電機器から、前記家電機器の識別情報と、サーバの所在を特定する情報とを取得する取得部と、
前記サーバの所在を特定する情報を使用して、前記サーバへ前記家電機器の前記識別情報を送信する送信部と
を備え、
前記サーバは、
前記端末装置から前記家電機器の前記識別情報を受信する受信部と、
マスター鍵と、前記受信部が受信した前記家電機器の前記識別情報とに基づいて、共通鍵を生成する鍵生成部と、
前記鍵生成部が生成した前記共通鍵を使用して第1のデータの第1のメッセージ認証コードを作成する暗号化部と、
前記家電機器へ、前記第1のデータと、前記第1のメッセージ認証コードとを送信する送信部と
を備え、
前記家電機器は、
前記サーバが送信した前記第1のデータと、前記第1のメッセージ認証コードとに基づいて、前記家電機器に記憶されているソフトウェアのアップデートを行うアップデート処理部
を備える、通信システム。 - 前記アップデート処理部は、セキュアブート後の前記家電機器の状態を測定し、
前記家電機器は、
前記アップデート処理部が行った前記家電機器の状態の測定結果を、前記サーバへ送信する送信部
を備える、請求項1に記載の通信システム。 - 端末装置と、前記端末装置と通信を行うサーバとを備える通信システムによって実行される通信方法であって、
端末装置が、共通鍵が設定された家電機器から、前記家電機器の識別情報と、サーバの所在を特定する情報とを取得するステップと、
前記端末装置が、前記サーバの所在を特定する情報を使用して、前記サーバへ前記家電機器の識別情報を送信するステップと、
前記サーバが、前記端末装置から前記家電機器の識別情報を受信するステップと、
前記サーバが、マスター鍵と、受信した前記家電機器の識別情報とに基づいて、共通鍵を生成するステップと、
前記サーバが、生成した前記共通鍵を使用してデータのメッセージ認証コードを作成するステップと、
前記サーバが、前記家電機器へ、前記データと、前記メッセージ認証コードとを送信するステップと、
前記家電機器が、前記サーバが送信した前記データと、前記メッセージ認証コードとに基づいて、前記家電機器に記憶されているソフトウェアのアップデートを行うステップと
を有する、通信システムによって実行される、通信方法。 - サーバのコンピュータに、
共通鍵が設定された家電機器から取得される前記家電機器の識別情報及びサーバの所在を特定する情報に基づいて、前記サーバの所在を特定する情報を使用して、端末装置が送信した前記家電機器の識別情報を受信するステップと、
マスター鍵と、受信した前記家電機器の識別情報とに基づいて、共通鍵を生成するステップと、
生成した前記共通鍵を使用してデータのメッセージ認証コードを作成するステップと、
前記家電機器へ、前記家電機器が、前記家電機器に記憶されているソフトウェアのアップデートを行うための前記データと、前記メッセージ認証コードとを送信するステップと
を実行させる、プログラム。 - 端末装置と、前記端末装置と通信を行うサーバとを備える通信システムであって、
端末装置は、
共通鍵が設定された家電機器から、前記家電機器の識別情報と、サーバの所在を特定する情報とを取得する取得部と、
マスター鍵と、前記家電機器の識別情報とに基づいて、共通鍵を生成する第1の鍵生成部と、
前記サーバの所在を特定する情報を使用して、前記サーバへ前記家電機器の識別情報を送信する第1の送信部と、
前記サーバから、データと、前記データのメッセージ認証コードとを受信する第1の受信部と、
前記メッセージ認証コードを検証する検証部と、
前記家電機器へデータを送信する第2の送信部と
を備え、
前記サーバは、
前記端末装置から前記家電機器の識別情報を受信する第2の受信部と、
マスター鍵と、前記第2の受信部が受信した前記家電機器の識別情報とに基づいて、共通鍵を生成する第2の鍵生成部と、
前記第2の鍵生成部が生成した前記共通鍵を使用してデータの第1のメッセージ認証コードを作成する暗号化部と、
前記端末装置へ、前記データと、前記第1のメッセージ認証コードとを送信する第3の送信部と
を備え、
前記第1の受信部は、前記サーバが送信したデータと、第1のメッセージ認証コードとを受信し、
前記検証部は、前記第1の受信部が受信した前記第1のメッセージ認証コードを検証し、
前記第2の送信部は、前記検証部による該第1のメッセージ認証コードの検証が成功した場合に、前記家電機器へ、前記第1の受信部が受信した前記データと、前記第1のメッセージ認証コードを送信し、
前記家電機器は、
前記端末装置が送信した前記データと、前記第1のメッセージ認証コードとに基づいて、前記家電機器に記憶されているソフトウェアのアップデートを行うアップデート処理部
を備える、通信システム。 - 前記アップデート処理部は、セキュアブート後の前記家電機器の状態を測定し、
前記家電機器は、
前記アップデート処理部が行った前記家電機器の状態の測定結果を、前記端末装置へ送信する第4の送信部
を備える、請求項5に記載の通信システム。 - 端末装置と、前記端末装置と通信を行うサーバとを備える通信システムによって実行される通信方法であって、
端末装置が、共通鍵が設定された家電機器から、前記家電機器の識別情報と、サーバの所在を特定する情報とを取得するステップと、
前記端末装置が、マスター鍵と、前記家電機器の識別情報に基づいて、共通鍵を生成するステップと、
前記端末装置が、前記サーバの所在を特定する情報を使用して、前記サーバへ前記家電機器の識別情報を送信するステップと、
前記サーバが、前記端末装置から家電機器の識別情報を受信するステップと、
前記サーバが、マスター鍵と、前記家電機器の識別情報に基づいて、共通鍵を生成するステップと、
前記サーバが、前記共通鍵を生成するステップで生成した前記共通鍵を使用してデータのメッセージ認証コードを作成するステップと、
前記サーバが、前記家電機器へ、前記データと、前記メッセージ認証コードとを送信するステップと、
前記端末装置が、前記サーバから、データと、前記データのメッセージ認証コードとを受信するステップと、
前記端末装置が、前記メッセージ認証コードを検証するステップと、
前記端末装置が、前記検証するステップによる前記メッセージ認証コードの検証が成功した場合に、前記家電機器へ、受信した前記データと、前記メッセージ認証コードとを送信するステップと、
前記家電機器が、前記端末装置が送信した前記データと、前記メッセージ認証コードとを受信するステップと、
前記家電機器が、受信した前記データと、前記メッセージ認証コードとに基づいて、前記家電機器に記憶されているソフトウェアのアップデートを行うステップと
を有する、通信システムによって実行される、通信方法。 - 端末装置のコンピュータに、
共通鍵が設定された家電機器から、前記家電機器の識別情報と、サーバの所在を特定する情報とを取得するステップと、
マスター鍵と、前記家電機器の識別情報とに基づいて、共通鍵を生成するステップと、
前記サーバの所在を特定する情報を使用して、前記サーバへ前記家電機器の識別情報を送信するステップと、
前記サーバから、データと、前記データのメッセージ認証コードとを受信するステップと、
前記メッセージ認証コードを検証するステップと、
前記検証するステップで前記メッセージ認証コードの検証が成功した場合に、前記家電機器へ、前記受信するステップで受信した前記データと、前記メッセージ認証コードとを送信するステップと
を実行させる、プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018150484A JP2018170806A (ja) | 2018-08-09 | 2018-08-09 | 通信システム、通信方法、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018150484A JP2018170806A (ja) | 2018-08-09 | 2018-08-09 | 通信システム、通信方法、及びプログラム |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016143222A Division JP6388622B2 (ja) | 2016-07-21 | 2016-07-21 | 通信システム、端末装置、通信方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018170806A true JP2018170806A (ja) | 2018-11-01 |
Family
ID=64018970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018150484A Pending JP2018170806A (ja) | 2018-08-09 | 2018-08-09 | 通信システム、通信方法、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2018170806A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022008173A (ja) * | 2020-06-24 | 2022-01-13 | アクシス アーベー | ファクトリデフォルト設定へのリモート再設定の方法及びデバイス |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07295800A (ja) * | 1994-04-22 | 1995-11-10 | Advance Co Ltd | ソフトウエアプロテクト方式 |
JPH08305662A (ja) * | 1995-05-02 | 1996-11-22 | Fujitsu Ltd | クライアント認証システムおよび方法 |
JP2001222500A (ja) * | 1999-12-01 | 2001-08-17 | Sharp Corp | ネットワークゲートウェイにおけるプログラムの配布方法 |
WO2005073450A1 (ja) * | 2004-01-29 | 2005-08-11 | Matsushita Electric Industrial Co., Ltd. | 情報家電システム |
JP2006191491A (ja) * | 2005-01-07 | 2006-07-20 | Canon Inc | 情報処理装置及びその方法並びにプログラム及び記憶媒体 |
JP2008017462A (ja) * | 2006-06-08 | 2008-01-24 | Matsushita Electric Ind Co Ltd | データ格納装置、管理サーバ、集積回路、データ更新システム、家電機器、データ更新方法、暗号化方法、および、暗復号鍵生成方法 |
JP2009124520A (ja) * | 2007-11-16 | 2009-06-04 | Fujitsu Ltd | データ送付方法および電子機器 |
JP2011192021A (ja) * | 2010-03-15 | 2011-09-29 | Fuji Xerox Co Ltd | 通信制御プログラム及びサーバ装置 |
JP2015055898A (ja) * | 2013-09-10 | 2015-03-23 | 富士通セミコンダクター株式会社 | セキュアブート方法、半導体装置、及び、セキュアブートプログラム |
JP2015103163A (ja) * | 2013-11-27 | 2015-06-04 | 株式会社オートネットワーク技術研究所 | プログラム更新システム及びプログラム更新方法 |
US20160180100A1 (en) * | 2014-12-18 | 2016-06-23 | Joe Britt | System and method for securely connecting network devices using optical labels |
-
2018
- 2018-08-09 JP JP2018150484A patent/JP2018170806A/ja active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07295800A (ja) * | 1994-04-22 | 1995-11-10 | Advance Co Ltd | ソフトウエアプロテクト方式 |
JPH08305662A (ja) * | 1995-05-02 | 1996-11-22 | Fujitsu Ltd | クライアント認証システムおよび方法 |
JP2001222500A (ja) * | 1999-12-01 | 2001-08-17 | Sharp Corp | ネットワークゲートウェイにおけるプログラムの配布方法 |
WO2005073450A1 (ja) * | 2004-01-29 | 2005-08-11 | Matsushita Electric Industrial Co., Ltd. | 情報家電システム |
JP2006191491A (ja) * | 2005-01-07 | 2006-07-20 | Canon Inc | 情報処理装置及びその方法並びにプログラム及び記憶媒体 |
JP2008017462A (ja) * | 2006-06-08 | 2008-01-24 | Matsushita Electric Ind Co Ltd | データ格納装置、管理サーバ、集積回路、データ更新システム、家電機器、データ更新方法、暗号化方法、および、暗復号鍵生成方法 |
JP2009124520A (ja) * | 2007-11-16 | 2009-06-04 | Fujitsu Ltd | データ送付方法および電子機器 |
JP2011192021A (ja) * | 2010-03-15 | 2011-09-29 | Fuji Xerox Co Ltd | 通信制御プログラム及びサーバ装置 |
JP2015055898A (ja) * | 2013-09-10 | 2015-03-23 | 富士通セミコンダクター株式会社 | セキュアブート方法、半導体装置、及び、セキュアブートプログラム |
JP2015103163A (ja) * | 2013-11-27 | 2015-06-04 | 株式会社オートネットワーク技術研究所 | プログラム更新システム及びプログラム更新方法 |
US20160180100A1 (en) * | 2014-12-18 | 2016-06-23 | Joe Britt | System and method for securely connecting network devices using optical labels |
Non-Patent Citations (1)
Title |
---|
上山晴久ほか: "DHCPにおけるメッセージ認証機能の実装と評価", 情報処理学会研究報告, vol. 第97巻,第117号, JPN6019021357, 4 December 1997 (1997-12-04), JP, pages 7 - 12, ISSN: 0004051979 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022008173A (ja) * | 2020-06-24 | 2022-01-13 | アクシス アーベー | ファクトリデフォルト設定へのリモート再設定の方法及びデバイス |
JP7142128B2 (ja) | 2020-06-24 | 2022-09-26 | アクシス アーベー | ファクトリデフォルト設定へのリモート再設定の方法及びデバイス |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10114629B2 (en) | Method and device for downloading profile of operator | |
EP3293993B1 (en) | Method and apparatus for providing profile | |
CN202738112U (zh) | 附件、控制器以及在其间建立无线通信链路的系统 | |
US10581589B2 (en) | Method for the authentication of a first electronic entity by a second electronic entity, and electronic entity implementing such a method | |
US20190014459A1 (en) | Device-pairing method and system therefor | |
JP2018527842A5 (ja) | ||
WO2015029945A1 (ja) | 加入者プロファイル転送方法、加入者プロファイル転送システム及びユーザ装置 | |
CN108762791A (zh) | 固件升级方法及装置 | |
CN111031085B (zh) | 物联网设备和远程计算机系统之间的通信方法和设备 | |
CN112219384B (zh) | 用于使用消息服务安装和管理配置文件的方法和装置 | |
US10291621B2 (en) | System, information processing apparatus, and storage medium | |
CN113613227B (zh) | 蓝牙设备的数据传输方法和装置、存储介质及电子装置 | |
JP6388622B2 (ja) | 通信システム、端末装置、通信方法、及びプログラム | |
CN109802826B (zh) | 一种事件的处理方法和终端 | |
JP2018170806A (ja) | 通信システム、通信方法、及びプログラム | |
KR101500118B1 (ko) | 데이터 공유 방법 및 이를 이용한 데이터 공유 시스템 | |
JP6408523B2 (ja) | 遠隔制御システム、遠隔制御装置、家電機器、遠隔制御方法、及びプログラム | |
JP6408522B2 (ja) | 通信システム、端末装置、通信方法、及びプログラム | |
JP6654934B2 (ja) | 認証システム | |
JP2019186600A (ja) | 端末装置、ホームゲートウェイ装置、管理サーバ装置、端末認証方法及びコンピュータプログラム | |
KR102637120B1 (ko) | eUICC 프로파일 설치 권한을 관리하는 방법 및 장치 | |
JP2017103761A (ja) | 移転認証方法、ユーザ装置及び移転確認方法 | |
JP6641503B2 (ja) | 通信機器、電気機器、端末、通信方法およびプログラム | |
JP2017158017A (ja) | 無線通信装置、システム、方法およびプログラム | |
KR20200102902A (ko) | SSP 단말의 번들 다운로드 과정과 eSIM 프로파일 다운로드 과정 호환 연동 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180809 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190411 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190611 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20191210 |