【文献】
福澤寧子ほか,スマートゲートウェイシステムにおけるセキュリティ技術の開発,情報処理学会研究報告,日本,社団法人情報処理学会,2001年 5月25日,第2001巻,第47号,p.63-69
(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0005】
利用者登録の回収率が上がらない状態で、仮に不具合によるリコールが必要になった際には、家電メーカのホームページに回収修理を呼びかける情報を長期に渡って掲載し続けることや、広告などを通じて周知を図ったりすることが必要になる場合がある。これによって、コストと時間を要してしまう場合がある。
本発明は、上記問題を解決すべくなされたもので、家電製品の利用者の連絡先等の情報を、家電メーカへ送付する際のセキュリティを向上させることを目的とする。
【課題を解決するための手段】
【0006】
(1)本発明の一態様は、
端末装置と、該
端末装置と通信を行うサーバとを備える通信システムであって、
端末装置は、共通鍵が設定された
家電機器から、該
家電機器の識別情報と、サーバの所在を特定する情報とを取得する取得部と、前記サーバの所在を特定する情報を使用して、該サーバへ前記
家電機器の識別情報を送信する送信部とを備え、前記サーバは、前記
端末装置から前記
家電機器の識別情報を受信する受信部と、マスター鍵と、前記
家電機器の識別情報に基づいて、共通鍵を生成する鍵生成部と、前記鍵生成部が生成した共通鍵を使用して、前記
家電機器との間で相互認証を行う認証部とを備え
、前記家電機器は、共通鍵で前記家電機器が記憶している情報を暗号化することによって作成した暗号化データと、該共通鍵を使用して作成した前記暗号化データのメッセージ認証コードを演算することによって署名を作成する暗号化部と、前記暗号化部が作成した前記暗号化データと、前記署名とを、前記サーバへ送信する通信部とを備える、通信システムである。
【0007】
(2)本発明の一態様は、上記(1)に記載の通信システムにおいて、前記
家電機器に設定される共通鍵は、複数のマスター鍵のいずれか1つと、前記
家電機器の識別情報とに基づいて生成される、通信システムである。
【0008】
(3)本発明の一態様は、上記(1)に記載の通信システムにおいて、前記鍵生成部は、マスター鍵と、前記
家電機器の識別情報と、
共通鍵の数に応じて用意されるN(Nは実数)に基づいて、共通鍵を生成する、通信システムである。
【0009】
(4)本発明の一態様は、上記(1)から上記(3)のいずれか一項に記載の通信システムにおいて、前記サーバは、メッセージ認証コードを検証する検証部を備え、前記受信部は、前記
家電機器が、前記共通鍵で前記
家電機器の動作ログを暗号化することによって作成した暗号化データと、該共通鍵を使用して作成した前記暗号化データの第1のメッセージ認証コードを受信し、前記検証部は、前記受信部が受信した前記第1のメッセージ認証コードを検証する、通信システムである。
【0010】
(5)本発明の一態様は、
端末装置が、共通鍵が設定された
家電機器から、該
家電機器の識別情報と、サーバの所在を特定する情報とを取得するステップと、前記
端末装置が、前記サーバの所在を特定する情報を使用して、該サーバへ前記
家電機器の識別情報を送信するステップと、前記サーバが、前記
端末装置から前記
家電機器の識別情報を受信するステップと、前記サーバが、マスター鍵と、前記
家電機器の識別情報に基づいて、共通鍵を生成するステップと、前記サーバが、前記共通鍵を生成するステップで生成した共通鍵を使用して、共通鍵が設定された
家電機器との間で相互認証を行うステップと、
前記家電機器が、共通鍵で前記家電機器が記憶している情報を暗号化することによって作成した暗号化データと、該共通鍵を使用して作成した前記暗号化データのメッセージ認証コードを演算することによって署名を作成するステップと、前記家電機器が、前記作成するステップで作成した前記暗号化データと、前記署名とを、前記サーバへ送信するステップとを実行する、通信方法である。
【0011】
(6)本発明の一態様は、サーバのコンピュータに、共通鍵が設定された
家電機器から取得される該
家電機器の識別情報及びサーバの所在を特定する情報に基づいて、前記サーバの所在を特定する情報を使用して、
端末装置から送信された前記
家電機器の識別情報を受信するステップと、マスター鍵と、前記
家電機器の識別情報に基づいて、共通鍵を生成するステップと、前記共通鍵を生成するステップで生成した共通鍵を使用して、共通鍵が設定された
家電機器との間で相互認証を行うステップと
、前記家電機器が、共通鍵で前記家電機器が記憶している情報を暗号化することによって作成した暗号化データと、該共通鍵を使用して作成した前記暗号化データのメッセージ認証コードを演算することによって作成した署名とを受信するステップとを実行させる、プログラムである。
【0012】
(7)本発明の一態様は、
端末装置と、該
端末装置と通信を行うサーバとを備える通信システムであって、
端末装置は、共通鍵が設定された
家電機器から、該
家電機器の識別情報と、前記サーバの所在を特定する情報とを取得する取得部と、前記サーバの所在を特定する情報を使用して、該サーバへ前記
家電機器の識別情報を送信する送信部と、マスター鍵と、前記
家電機器の識別情報に基づいて、共通鍵を生成する第1の鍵生成部と、前記第1の鍵生成部が生成した共通鍵を使用して、前記
家電機器との間で相互認証を行う認証部とを備え、前記送信部は、前記
家電機器から受信したデータを前記サーバへ送信し、前記サーバは、前記
端末装置から前記
家電機器の識別情報を受信する受信部と、マスター鍵と、前記
家電機器の識別情報に基づいて、共通鍵を生成する第2の鍵生成部とを備え、前記受信部は、前記
端末装置から送信される前記データを受信する、通信システムである。
【0013】
(8)本発明の一態様は、上記(7)に記載の通信システムにおいて、前記
家電機器に設定されている共通鍵は、複数のマスター鍵のいずれか1つと、前記
家電機器の識別情報とに基づいて生成される、通信システムである。
【0014】
(9)本発明の一態様は、上記(7)に記載の通信システムにおいて、前記
家電機器に設定されている共通鍵は、マスター鍵と、前記
家電機器の識別情報と、N(Nは実数)に基づいて生成される、通信システムである。
【0015】
(10)本発明の一態様は、上記(7)から上記(9)に記載の通信システムにおいて、前記
端末装置は、前記第1の鍵生成部が生成した前記共通鍵で前記データを暗号化することによって第1の暗号化データを作成し、該共通鍵を使用して前記第1の暗号化データの第1のメッセージ認証コードを作成する暗号化部を備え、前記送信部は、前記サーバへ、前記第1の暗号化データと、前記第1のメッセージ認証コードを送信し、前記サーバは、前記
端末装置から受信した前記第1のメッセージ認証コードを前記第2の鍵生成部が生成した共通鍵で検証する検証部と、前記検証部による前記第1のメッセージ認証コードの検証が成功した場合に、前記共通鍵で、前記第1の暗号化データを復号する復号部とを備える、通信システムである。
【0016】
(11)本発明の一態様は、共通鍵が設定された
家電機器から、該
家電機器の識別情報と、サーバの所在を特定する情報とを取得する取得部と、前記サーバの所在を特定する情報を使用して、該サーバへ前記
家電機器の識別情報を送信する送信部と、マスター鍵と、前記
家電機器の識別情報に基づいて、共通鍵を生成する鍵生成部と、前記鍵生成部が生成した共通鍵を使用して、前記
家電機器との間で相互認証を行う認証部とを備え、前記送信部は、前記
家電機器から受信したデータを前記サーバへ送信する、
端末装置である。
【0017】
(12)本発明の一態様は、共通鍵が設定された
家電機器から、該
家電機器の識別情報と、サーバの所在を特定する情報とを取得するステップと、前記サーバの所在を特定する情報を使用して、該サーバへ前記
家電機器の識別情報を送信するステップと、マスター鍵と、前記
家電機器の識別情報に基づいて、共通鍵を生成するステップと、前記生成するステップで生成した共通鍵を使用して、前記
家電機器との間で相互認証を行うステップと、前記
家電機器から受信したデータを前記サーバへ送信するステップとを有する、
端末装置によって実行される、通信方法である。
【0018】
(13)本発明の一態様は、
端末装置のコンピュータに、共通鍵が設定された
家電機器から、該
家電機器の識別情報と、サーバの所在を特定する情報とを取得するステップと、前記サーバの所在を特定する情報を使用して、該サーバへ前記
家電機器の識別情報を送信するステップと、マスター鍵と、前記
家電機器の識別情報に基づいて、共通鍵を生成するステップと、前記生成するステップで生成した共通鍵を使用して、前記
家電機器との間で相互認証を行うステップと、前記
家電機器から受信したデータを前記サーバへ送信するステップとを実行させる、プログラムである。
【発明の効果】
【0019】
本発明の実施形態によれば、家電製品の利用者の連絡先や動作ログを、端末装置を経由して家電メーカへ送付することができる。
【発明を実施するための形態】
【0021】
<第1の実施形態>
<通信システム>
図1は、本実施形態に係る通信システムを示す図である。通信システム1は、端末装置100と家電管理サーバ200と家電機器300とを備える。端末装置100と家電管理サーバ200とは、インターネット等の通信網50を介して接続され、端末装置100と家電機器300とは近距離無線通信によって接続される。
家電機器300は、ブルートゥース(Bluetooth)(登録商標)、ワイファイ(WiFi)(登録商標)、近距離無線通信技術(Near Field Communication: NFC)等の無線通信技術で無線通信を行う無線デバイスを搭載する。
【0022】
また、家電機器300には、近距離無線デバイスと接続するのに必要な情報(以下、「接続設定情報」という)、家電メーカの家電管理サーバ200の通信アドレス、及び家電機器300の製造番号等の識別情報を格納した二次元バーコード(QR(Quick Response)コード)等の情報コードが添付される。通信アドレスの一例は、URL(Uniform Resource Locator)である。また、家電機器300には、マスター鍵(Master Secret)と家電機器300の製造番号とから生成される共通鍵がプリセットされる。また、家電機器300は、動作ログを記憶する。
【0023】
家電機器300は、共通鍵で、動作ログと家電機器300の製造番号とを暗号化する。さらに、家電機器300は、動作ログと家電機器300の製造番号と共通鍵とからメッセージ認証コード(MAC: Message Authentication code)を演算することによって署名を作成する。家電機器300は、家電管理サーバ200とセッションを構築した後、動作ログと家電機器300の製造番号とを暗号化した結果に署名を付与し、端末装置100を経由して、家電管理サーバ200へ送信する。
【0024】
端末装置100は、家電機器300に添付された情報コードを読み取ると、該情報コードに格納された接続設定情報、家電メーカの家電管理サーバ200の通信アドレス、家電機器300の製造番号等の情報を取得する。端末装置100は、接続設定情報を用いて、家電管理サーバ200との間でセッションを構築する。端末装置100は、情報コードから取得した家電管理サーバ200の通信アドレスに基づいて、家電管理サーバ200へ、家電メーカのウェブサイトをリクエストする。そして、端末装置100は、家電管理サーバ200へ家電機器300の製造番号を送信する。さらに、端末装置100は、家電メーカのウェブサイト上でユーザが入力した家電機器300の利用者情報を送信する。
【0025】
家電管理サーバ200は、マスター鍵を記憶している。このマスター鍵は、家電機器300にプリセットされる共通鍵を生成する際に使用されるマスター鍵と同じである。家電管理サーバ200は、端末装置100から家電機器300の利用者情報と家電機器300の製造番号とを取得する。家電管理サーバ200は、家電機器300の利用者情報を登録する。さらに家電管理サーバ200は、記憶しているマスター鍵と家電機器300の製造番号とから共通鍵を生成する。家電管理サーバ200は、家電機器300が送信した動作ログと家電機器300の製造番号とを暗号化した結果と署名とを取得すると、共通鍵で当該結果を復号し、復号した結果と共通鍵とからメッセージ認証コードを演算する。そして、家電機器300は、復号した結果と共通鍵とを演算することによって得られるメッセージ認証コードと、家電機器300から取得した署名とが一致するか否かを判定することで、動作ログと家電機器300の製造番号の正真性を検証する。家電機器300は、一致する場合には検証が成功であり、動作ログと家電機器300の製造番号とが間違いなく家電機器300から送信されたものであると判定する。一方、家電機器300は、一致しない場合には検証が失敗であり、動作ログと家電機器300の製造番号とが家電機器300から送信されたものでないと判定する。
【0026】
<端末装置の構成>
図2は、本実施形態に係る端末装置100のハードウェア構成の一例を示す。端末装置100の一例は、携帯電話、スマートフォン、PC、タブレットPC、セットトップボックス(Set Top Box :STB)、ゲーム機等である。端末装置100は、CPU102と、メモリ104と、不揮発性メモリ106と、ディスプレイ110と、操作部112と、通信I/F116と、読取部118と、内部バス120とを備えている。
【0027】
CPU102は、例えば不揮発性メモリ106に格納されるプログラム1062を実行し、メモリ104をワークメモリとして使用して、端末装置100の各部を制御する。メモリ104は、半導体素子を利用した揮発性のメモリ等のRAMによって構成され、CPU102のワークメモリとして使用される。不揮発性メモリ106は、例えばROM等によって構成される。不揮発性メモリ106には、CPU102によって実行されるプログラム1062が格納される。
【0028】
ディスプレイ110は、CPU102によって制御され、画像、GUI(Graphical User Interface)等を表示する。CPU102は、プログラムを実行することによって制御信号や、ディスプレイ110に表示する画像を表す映像信号を生成する。CPU102は、画像を表す映像信号をディスプレイ110へ出力する。ディスプレイ110は、CPU102によって出力された映像信号を処理することによって、映像を表示する。
【0029】
操作部112は、ユーザの操作を受け付ける入力デバイスである。通信I/F116は、外部機器や、通信網50に接続された家電管理サーバ200等と通信して、データの送受信を行うためのインターフェースである。具体的には、通信I/F116は、ブルートゥース(登録商標)、ワイファイ(登録商標)、近距離無線通信技術等の無線通信技術で無線通信を行う無線デバイスによって構成される。読取部118は、情報コードを光学的に読み取り、該情報コードに格納されている情報を取得する。内部バス120は、CPU102、メモリ104、不揮発性メモリ106、ディスプレイ110、操作部112、通信I/F116、及び読取部118を互いに接続する。内部バス120に接続される各部は、内部バス120を介して互いにデータのやり取りを行うことができるようにされている。
【0030】
<家電管理サーバの構成>
図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を介して互いにデータのやりとりを行うことができるようにされている。
【0031】
<家電機器の構成>
家電機器300のハードウェア構成は、
図3に示した家電管理サーバ200のハードウェア構成を適用できる。ただし、家電機器300の不揮発性メモリ206は、家電機器300のCPU202によって実行されるプログラム2062に加えて、家電機器300の動作ログが格納される。
【0032】
<本実施形態に係る無線通信システムの機能構成>
図4は、本実施形態の無線通信システムを構成する端末装置100、家電管理サーバ200、及び家電機器300の機能ブロック図である。
<端末装置の機能構成>
端末装置100は、通信部152、取得部154、通信制御部156、記憶部158及び上記各構成要素を
図4に示されているように電気的に接続するためのアドレスバスやデータバス等のバスライン160を有している。これらの各部は、
図4に示されている各構成要素のいずれかが、不揮発性メモリ106からメモリ104上に展開されたプログラム1062を実行するCPU102からの命令によって動作することで実現される機能である。
【0033】
<端末装置の各機能構成>
図2及び
図4を用いて、端末装置100の各機能構成について詳細に説明する。
端末装置100の通信部152は、CPU102からの命令、及び通信I/F116によって実現される。通信部152は、家電管理サーバ200、家電機器300等の他の装置との間でセッションが構築された後、各種データの送受信を行う。具体的には、通信部152は、家電管理サーバ200へ、家電機器300から取得した家電機器300の製造番号と端末装置100へ入力された家電機器300の利用者情報とを送信する。また、通信部152は、家電管理サーバ200へ、家電機器300が送信した動作ログと家電機器300の製造番号とを暗号化した結果と署名とを送信する。
取得部154は、CPU102からの命令、及び読取部118によって実現される。取得部154は、家電機器300に添付された情報コードを読み取り、該情報コードに格納された情報を取得する。具体的には、取得部154は、家電機器300に添付されている情報コードに格納されている接続設定情報、家電管理サーバ200の通信アドレス、及び家電機器300の製造番号を取得する。
【0034】
通信制御部156は、CPU102からの命令、及び通信I/F116によって実現される。通信制御部156は、通信部152と家電管理サーバ200との間でのセッションの構築や、通信制御を行う。具体的には、通信制御部156は、ユーザが操作部112を用いて操作することによって、接続設定情報、家電管理サーバ200の通信アドレスに基づいて、家電管理サーバとの間でセッションを構築する。そして、通信制御部156は、家電メーカのウェブサイトをリクエストし、取得部154が取得した家電機器300の製造番号を通信部152から送信する。通信部152から送信された家電機器300の製造番号が家電管理サーバ200によって受信されると、端末装置100のディスプレイ110には、当該家電機器300の製造番号に対応する利用者情報の入力画面が表示される。ユーザは、該入力画面で、操作部112を操作することで利用者情報を入力する。ユーザが入力した利用者情報は、家電管理サーバ200へ送信され、家電管理サーバ200は、利用者情報を登録する。利用者情報の一例は、端末装置100の電話番号、メールアドレス、利用者の住所、氏名等である。
記憶部158は、不揮発性メモリ106によって実現される。記憶部158は、端末装置100の識別情報等を記憶する。
【0035】
<家電管理サーバの機能構成>
家電管理サーバ200は、通信部252、鍵生成部254、通信制御部256、記憶部258、認証部260、サービス提供部262、検証部263、及び上記各構成要素を
図4に示されているように電気的に接続するためのアドレスバスやデータバス等のバスライン264を有している。記憶部258には、マスター鍵が記憶される。これらの各部は、
図4に示されている各構成要素のいずれかが、家電管理サーバ200のハードウェア構成において、不揮発性メモリ206からメモリ204上に展開されたプログラム2062を実行するCPU202からの命令によって動作することで実現される機能である。
【0036】
<家電管理サーバの各機能構成>
図2及び
図4を用いて、家電管理サーバ200の各機能構成について詳細に説明する。
家電管理サーバ200の通信部252は、家電管理サーバ200のCPU202からの命令及び通信I/F216によって実現される。通信部252は、端末装置100、家電機器300等の他の装置との間でセッションが構築された後、各種データの送受信を行う。具体的には、通信部252は、端末装置100が送信した家電機器300の製造番号と、家電機器300の利用者情報とを受信する。
また、通信部252は、家電管理サーバ200と家電機器300との間で認証が成功した後に、家電機器300が送信した動作ログと家電機器300の製造番号とを暗号化した結果と署名とを受信する。
【0037】
鍵生成部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の排他的論理和である。
【0038】
通信制御部256は、家電管理サーバ200のCPU202からの命令、及び通信I/F216によって実現される。通信制御部256は、通信部252と端末装置100との間でのセッションの構築や、通信制御を行う。具体的には、通信制御部256は、端末装置100によるアクセスに応じてセッションを構築する。そして、通信制御部256は、端末装置100が送信した家電メーカのウェブサイトのリクエストに応じて、ウェブサイトの画面情報を端末装置100へ送信する。通信制御部256は、通信部252から、端末装置100が送信する家電機器300の製造番号を取得し、当該家電機器300の製造番号に対応する利用者情報の入力画面情報を端末装置100へ送信する。さらに、通信制御部256は、利用者情報の入力画面に対してユーザが入力した利用者情報を取得し、記憶部258に登録する。さらに、通信制御部156は、家電機器300が送信した動作ログと家電機器300の製造番号とを暗号化した結果と、署名とを取得し、検証部263へ出力する。
【0039】
認証部260は、家電管理サーバ200のCPU202からの命令によって実現される。認証部260は、家電機器300の認証部360との間で後述する相互認証を行う。
サービス提供部262は、家電管理サーバ200のCPU202からの命令によって実現される。サービス提供部262は、利用者情報を入力したユーザに対して、図書券や、家電製品を購入する際に利用できるクーポン券や、電子マネー等を作成し、通信部252から端末装置100へ送信することによってサービスを提供する。さらに、サービス提供部262は、家電機器300が送信した動作ログを分析することによって、経年劣化等によって買い替え時期と判断された家電機器300のユーザに対して、買い替えを促す広告を、通信部252から端末装置100へ送信することによってサービスを提供する。
【0040】
検証部263は、家電管理サーバ200のCPU202からの命令によって実現される。検証部263は、通信制御部256から動作ログと家電機器300の製造番号とを暗号化した結果と、署名とを取得すると、動作ログと家電機器300の製造番号の正真性を検証する。具体的には、検証部263は、共通鍵で、動作ログと家電機器300の製造番号とを暗号化した結果を復号し、復号した結果と共通鍵とからメッセージ認証コードを演算する。そして、検証部263は、復号した結果と共通鍵とを演算することによって得られるメッセージ認証コードと、署名とが一致するか否かを判定する。検証部263は、一致する場合には検証が成功であり、動作ログと家電機器300の製造番号とが間違いなく家電機器300から送信されたものであると判定する。一方、検証部263は、一致しない場合には検証が失敗であり、動作ログと家電機器300の製造番号とが家電機器300から送信されたものでないと判定する。検証部263は、検証が失敗である場合には、所定のエラー処理を行ってもよい。検証部263は、検証が成功である場合には、通信制御部256へ検証が成功したことを通知するとともに、復号した結果を記憶部258へ出力する。
記憶部258は、不揮発性メモリ206によって実現される。記憶部258は、家電管理サーバ200の識別情報、マスター鍵2582、鍵生成部254が生成した共通鍵等を記憶する。さらに、記憶部258は、検証部263が出力した動作ログを、家電機器300の製造番号と関連付けて記憶する。
【0041】
<家電機器の機能構成>
家電機器300は、通信部352、動作ログ処理部354、通信制御部356、記憶部358、認証部360、暗号化部362、及び上記各構成要素を
図4に示されているように電気的に接続するためのアドレスバスやデータバス等のバスライン364を有している。記憶部358には、共通鍵3582、製造番号3584、及び動作ログ3586が記憶される。これらの各部は、
図4に示されている各構成要素のいずれかが、家電機器300の不揮発性メモリ206からメモリ204上に展開されたプログラム2062を実行するCPU202からの命令によって動作することで実現される機能である。
【0042】
<家電機器の各機能構成>
図2及び
図4を用いて、家電機器300の各機能構成について詳細に説明する。
家電機器300の通信部352は、家電機器300のCPU202からの命令及び通信I/F216によって実現される。通信部352は、端末装置100、家電管理サーバ200等の他の装置との間でセッションが構築された後、各種データの送受信を行う。具体的には、通信部352は、家電管理サーバ200と家電機器300との間で認証が成功した後、通信部352は、家電機器300の動作ログと家電機器300の製造番号とを暗号化した結果と、署名とを送信する。
動作ログ処理部354は、家電機器300のCPU202からの命令によって実現される。動作ログ処理部354は、家電機器300の動作ログを収集し、記憶部358の動作ログ3586に記憶する。動作ログの一例は、利用時間、消費電力、メニューの設定等の動作情報である。
【0043】
通信制御部356は、家電機器300のCPU202からの命令及び通信I/F216によって実現される。通信制御部356は、通信部352と家電管理サーバ200との間でのセッションの構築や、通信制御を行う。具体的には、通信制御部356は、端末装置100を経由して、家電管理サーバ200の通信制御部256との間で、セッションの構築を行う。
【0044】
認証部360は、家電機器300のCPU202からの命令によって実現される。認証部360は、家電管理サーバ200の認証部260との間で相互認証を行う。この相互認証方法の一例として、本実施形態では、チャレンジ/レスポンス認証方式を用いる。チャレンジ/レスポンス認証方式では、一方(家電管理サーバ200の認証部260)からチャレンジ値(例えば、家電管理サーバ200の認証部260が発生した乱数)をもう一方(家電機器300の認証部360)へ送る。家電機器300の認証部360は、記憶部358に格納されている共通鍵3582で該チャレンジ値を暗号化し、該チャレンジ値の暗号データをレスポンス値として家電管理サーバ200の認証部260へ送る。家電管理サーバ200の認証部260は、鍵生成部254が生成した共通鍵で該レスポンス値を復号し、該復号結果がチャレンジ値に一致するかを検査する。このレスポンス値の検査が合格である場合には、一方向(家電管理サーバ200が家電機器300を認証する方向)の認証が成功である。もう一方向(家電機器300が家電管理サーバ200を認証する方向)についても同様に実施し、レスポンス値の検査が合格である場合には、もう一方向(家電管理サーバ200が家電機器300を認証する方向)の認証が成功である。両方向の認証が成功である場合には家電機器300と家電管理サーバ200の相互認証が成功であり、いずれかの方向の認証が失敗である場合には家電機器300と家電管理サーバ200の相互認証が失敗である。
【0045】
暗号化部362は、家電機器300のCPU202からの命令によって実現される。暗号化部362は、通信制御部356によって家電管理サーバ200との間でセッションの構築が行われた後、動作ログ処理部354が記憶部358に記憶した動作ログ3586と製造番号3584とを取得する。暗号化部362は、共通鍵3582で、動作ログ3586と製造番号3584とを暗号化する。さらに、暗号化部362は、動作ログ3586と製造番号3584と、共通鍵3582とからメッセージ認証コードを演算することによって署名を作成する。暗号化部362は、通信部352へ動作ログ3586と製造番号3584とを暗号化した結果と、署名とを出力する。
記憶部358は、家電機器300の不揮発性メモリ206によって実現される。記憶部358は、家電機器300の識別情報、共通鍵3582、製造番号3584、及び動作ログ3586等を記憶する。
【0046】
<通信システムの動作>
図5は、本実施形態に係る通信システムの動作の一例を示すシーケンスチャートである。
ステップS502では、端末装置100の取得部154は、家電機器300に添付された情報コードを読み取り、該情報コードに格納されている接続設定情報と家電管理サーバ200の通信アドレスと家電機器300の製造番号とを取得する。
ステップS504では、端末装置100の通信制御部156は、取得部154が取得した接続設定情報を用いて、家電管理サーバ200の通信制御部256との間でセッションを構築する(ステップS504)。
【0047】
ステップS506では、端末装置100の通信制御部156は、家電管理サーバ200の通信制御部256との間でセッションが構築されると、家電管理サーバ200の通信アドレスに基づいて、家電メーカのウェブサイトをリクエストする。そして、端末装置100の通信制御部156は、家電機器300の製造番号を送信し、当該製造番号に対応して表示される利用者情報の入力画面に対してユーザが入力した利用者情報を送信する。家電管理サーバ200の通信制御部256は、通信部252によって端末装置100が送信した家電機器300の利用者情報が受信されると、当該利用者情報を記憶部258へ記憶する。
ステップS508では、家電管理サーバ200の鍵生成部254は、家電機器300の製造番号と、記憶部258に記憶されているマスター鍵2582とから共通鍵を生成する。
【0048】
ステップS510では、家電機器300の動作ログ処理部354は、家電機器300の動作ログを取得し、記憶部358の動作ログ3586に記憶する。
ステップS512では、家電管理サーバ200のサービス提供部262は、利用者情報を入力したユーザに対して、図書券や、家電製品を購入する際に利用できるクーポン券等を作成し、通信部252から端末装置100へ送信する。サービス提供部262は、利用者情報に含まれる電話番号宛のSMS(short message service)や、メールアドレス宛にクーポンを提供する。端末装置100の通信部152は、家電管理サーバ200が送信したクーポンを受信する。端末装置100のユーザはクーポンを使用することによって、様々なサービスを受けることができる。これによって、端末装置100のユーザに家電機器300を家電管理サーバ200へ登録することを促すことができる。
ステップS514では、家電管理サーバ200の通信制御部256は、家電機器300の通信制御部356との間で、セッションを構築する。
ステップS516では、家電管理サーバ200の認証部260と家電機器300の認証部360との間で相互認証が行われる。ここでは、相互認証が成功したとして説明を続ける。家電管理サーバ200の認証部260と家電機器300の認証部360との間で、相互認証が失敗した場合には、所定のエラー処理が行われてもよい。
【0049】
ステップS518では、家電機器300の動作ログ処理部354は、通信制御部356によって家電管理サーバ200との間でセッションの構築が行われた後、記憶部358に記憶されている動作ログ3586と製造番号3584とを取得し、暗号化部362に出力する。暗号化部362は、動作ログ処理部354から取得した動作ログ3586と製造番号3584とを暗号化する。さらに、暗号化部362は、動作ログ3586と製造番号3584と、共通鍵3582とからメッセージ認証コードを演算することによって署名を作成する。暗号化部362は、通信部352へ動作ログ3586と製造番号3584とを暗号化した結果と、署名とを出力する。通信部352は、家電管理サーバ200へ、暗号化部362から出力された動作ログ3586と製造番号3584とを暗号化した結果と、署名とを送信する。
家電管理サーバ200は、家電機器300から動作ログ3586と製造番号3584とを暗号化した結果と、署名とを受信すると、動作ログと家電機器300の製造番号の正真性を検証する。
【0050】
ステップS520では、家電管理サーバ200のサービス提供部262は、家電機器300が送信した動作ログを分析することによって、経年劣化等によって買い替え時期と判断された家電機器300のユーザに対して、買い替えを促す広告を、通信部252から端末装置100へ送信する。
【0051】
図5に示されるシーケンスチャートのステップS506において、端末装置100は、家電管理サーバ200へ、利用者情報と製造番号とに加え、端末装置100の位置情報を送信してもよい。ここで、端末装置100が送信する位置情報は、家電機器300の近傍の位置であるのが好ましい。家電管理サーバ200の通信制御部256は、通信部252によって端末装置100が送信した位置情報が受信されると、当該位置情報を記憶部258へ記憶する。そして、ステップS518において、端末装置100は、家電機器300が送信した動作ログと製造番号とを暗号化した結果と署名に、端末装置100の位置情報を付加して送信するようにしてもよい。これによって、家電管理サーバ200は、端末装置100から動作ログと製造番号とを暗号化した結果と署名とに付加して送信された端末装置100の位置情報を受信すると、該位置情報と記憶部258に記憶している位置情報とを比較することによって、家電機器300の位置が変更されているか否かを判定できる。具体的には、家電機器300の位置が所定の閾値以上移動されていると判定された場合には、引っ越しが行われたと推測できる。さらに、家電管理サーバ200は、家電機器300の位置が所定の閾値以上移動されていると判定した場合に、位置情報を再登録することを促すようにしてもよい。
本実施形態においては、家電機器300が、動作ログと家電機器300の製造番号とを暗号化した結果と、署名とを送信する場合について説明したが、これに限られない。例えば、家電機器300は、署名は作成せず、動作ログと家電機器300の製造番号とを暗号化した結果を送信するようにしてもよい。
また、本実施形態においては、家電機器300にマスター鍵と家電機器300の製造番号とから生成される共通鍵がプリセットされる場合について説明したが、これに限られない。例えば、家電機器300にマスター鍵と家電機器300の製造番号とN(Nは実数)から生成される共通鍵がプリセットされてもよい。この場合、Nは、暗号化、署名等の利用したい共通鍵の数に応じて用意される。また、家電機器300にマスター鍵が複数プリセットされてもよい。
【0052】
本実施形態に係る通信システムの運用例について説明する。例えば、一定間隔で、冷蔵庫等の家電機器300と端末装置100とが家電機器300に添付された情報コードに格納されている近距離無線の通信設定情報を用いて相互認証を行う。相互認証後、家電機器300は、動作ログと製造番号を暗号化し、署名(CMAC)を付与し、端末装置100へ送付する。端末装置100は、家電機器300からの情報を、情報コードに格納された家電メーカの家電管理サーバ200のアドレスに向けて送付する。家電メーカの家電管理サーバ200は、マスター鍵と製造番号から共通鍵を生成し、当該共通鍵を使用して、復号や署名検証を行い、動作ログを分析する。分析の結果、経年劣化などの買い替え時期と判断されると、家電管理サーバ200は、買い替えを促す広告を端末装置へ返送してもよい。
【0053】
本実施形態に係る通信システムによれば、家電機器300と端末装置100と家電管理サーバ200とを共通鍵を用いて、安全に接続することができる。共通鍵を使用することで、家電製品に組み込まれる非力なマイコンでも暗号化や署名付与などの演算が可能になる。また、マスター鍵と製造番号から生成される共通鍵を用いるため、煩雑になりがちな鍵管理の機構が不要になる。端末装置等などから簡易な手順で動作ログを収集できるようになり、家電メーカによる利用者登録や動作ログの直接的な収集が可能になる。
家電メーカは、動作ログを分析することによって、次の製品開発に活かすことができる。さらに、家電管理サーバ200によって、家電機器300の利用者情報が登録されるため、仮に家電等に不具合が発生し、リコール等が必要になった場合でも、利用者へ直接通知できる。これによって、不具合が発生した家電機器に対して、早急に修理を進めることができる。さらに、経年劣化等によって家電機器に発生する不具合や故障を把握して、買い替え時期であることを利用者へ通知できるため、新製品の販売に繋げることができる。
【0054】
<第2の実施形態>
<通信システム>
本実施形態に係る通信システムは、
図1を適用できる。ただし、端末装置100の代わりに端末装置400を備え、家電管理サーバ200の代わりに家電管理サーバ500を備える。なお、家電機器300は、前述した家電機器300を適用できる。前述した第1の実施形態では、端末装置100は、単に通信の土管として使用されていた。そして、家電管理サーバ200のみによってマスター鍵が管理されていた。本実施形態に係る通信システムでは、端末装置400及び家電管理サーバ500の両方がマスター鍵を管理する。
【0055】
端末装置400には、SIM(Subscriber Identity Module)等のセキュアエレメントが搭載され、当該セキュアエレメントにマスター鍵が安全にセットされる。このマスター鍵は、家電機器300にプリセットされる共通鍵を生成する際に使用されるマスター鍵と同じである。このマスター鍵のセットは、通信事業者のサーバと端末装置400の安全な領域(セキュアエレメント)を直接暗号化通信路で繋ぐオーバーザエアー(Over the Air)によって行われる。
端末装置400は、家電機器300に添付された情報コードを読み取ると、該情報コードに格納された接続設定情報、家電メーカの家電管理サーバ500の通信アドレス、家電機器300の製造番号等の情報を取得する。端末装置400は、取得した情報のうち、家電機器300の製造番号とセキュアエレメントに記憶されているマスター鍵と家電機器300の製造番号とから共通鍵を生成する。
【0056】
端末装置400は、接続設定情報を用いて、家電管理サーバ500との間でセッションを構築する。端末装置400は、情報コードから取得した家電管理サーバ500の通信アドレスに基づいて、家電管理サーバ500へ、家電メーカのウェブサイトをリクエストする。そして、端末装置400は、家電機器300の製造番号を、家電管理サーバ500へ送信する。
さらに、端末装置400は、共通鍵で、家電メーカのウェブサイト上でユーザが入力した家電機器300の利用者情報を暗号化する。さらに、端末装置400は、家電機器300の利用者情報と共通鍵とからメッセージ認証コードを演算することによって署名を作成する。端末装置400は、家電機器300の利用者情報を暗号化した結果に署名を付与し、家電管理サーバ500へ送信する。端末装置400は、家電機器300との間で相互認証を行う。
【0057】
家電管理サーバ500は、マスター鍵を記憶している。このマスター鍵は、家電機器300にプリセットされる共通鍵を生成する際に使用されるマスター鍵と同じである。家電管理サーバ500は、端末装置400から家電機器300の製造番号を取得すると、記憶しているマスター鍵と家電機器300の製造番号とから共通鍵を生成する。家電管理サーバ500は、端末装置400から家電機器300の利用者情報を暗号化した結果と署名とを取得すると、共通鍵で当該結果を復号し、復号した結果と共通鍵とからメッセージ認証コードを演算する。そして、家電管理サーバ500は、復号した結果と共通鍵とを演算することによって得られるメッセージ認証コードと端末装置400から取得した署名とが一致するか否かを判定することで、利用者情報の正真性を検証する。家電管理サーバ500は、一致する場合には検証が成功であり、利用者情報が間違いなく端末装置400から送信されたものであると判定する。一方、家電管理サーバ500は、一致しない場合には検証が失敗であり、利用者情報が端末装置400から送信されたものでないと判定する。
【0058】
本実施形態に係る端末装置400のハードウェア構成は
図2を適用でき、家電管理サーバ500のハードウェア構成は
図3を適用できる。
<本実施形態に係る無線通信システムの機能構成>
図6は、本実施形態の通信システム2を構成する端末装置400、家電管理サーバ500、及び家電機器300の機能ブロック図である。なお、家電機器300の機能ブロック図は、前述した第1の実施形態と同じである。
【0059】
<端末装置の機能構成>
端末装置400は、通信部452、取得部454、通信制御部456、記憶部458、鍵生成部461、暗号化部462、認証部463、及び上記各構成要素を
図6に示されているように電気的に接続するためのアドレスバスやデータバス等のバスライン460を有している。
【0060】
<端末装置の各機能構成>
図2及び
図6を用いて、端末装置400の各機能構成について詳細に説明する。なお、以下では、端末装置400の各機能構成を説明するにあたって、
図2に示されている各構成要素のうち、端末装置400の各機能構成を実現させるための主なハードウェアとの関係も説明する。
端末装置400の通信部452、取得部454、通信制御部456、及び記憶部458は、端末装置100の通信部152、取得部154、通信制御部156、及び記憶部158を適用できる。ただし、記憶部458は、セキュアエレメントで構成され、マスター鍵4582が記憶される。
【0061】
鍵生成部461は、取得部454が取得した家電機器300の製造番号と、記憶部458に記憶されているマスター鍵4582とから共通鍵を生成する。共通鍵の生成方法については前述したので、その説明を省略する。記憶部458に記憶されているマスター鍵4582は、家電機器300にプリセットされる共通鍵を生成する際に使用されるマスター鍵と同じであるため、鍵生成部461か生成する共通鍵は、家電機器300にプリセットされる共通鍵を同じである。鍵生成部461は、生成した共通鍵を記憶部458に記憶する。
暗号化部462は、CPU102からの命令によって実現される。暗号化部462は、通信制御部456によって家電管理サーバ500との間でセッションの構築が行われた後、鍵生成部461が生成した共通鍵で、利用者情報を暗号化する。さらに、暗号化部462は、利用者情報と、共通鍵とからメッセージ認証コードを演算することによって署名を作成する。暗号化部462は、通信部452へ利用者情報を暗号化した結果と、署名とを出力する。
認証部463は、CPU102からの命令によって実現される。認証部463は、家電機器300の認証部360との間で相互認証を行う。この相互認証方法の一例として、本実施形態では、チャレンジ/レスポンス認証方式を用いる。チャレンジ/レスポンス認証方式については前述したので、その説明を省略する。
【0062】
<家電管理サーバの機能構成>
家電管理サーバ500は、通信部552、鍵生成部554、通信制御部556、記憶部558、サービス提供部562、検証部563、及び上記各構成要素を
図6に示されているように電気的に接続するためのアドレスバスやデータバス等のバスライン564を有している。これらの各部は、
図6に示されている各構成要素のいずれかが、家電管理サーバ500の不揮発性メモリ206からメモリ204上に展開されたプログラム2062を実行するCPU202からの命令によって動作することで実現される機能である。
【0063】
<家電管理サーバの各機能構成>
図2及び
図6を用いて、家電管理サーバ500の各機能構成について詳細に説明する。家電管理サーバ500の通信部552、鍵生成部554、通信制御部556、記憶部558、サービス提供部562、及び検証部563は、家電管理サーバ200の通信部252、鍵生成部254、通信制御部256、記憶部258、サービス提供部262、及び検証部263を適用できる。
【0064】
<通信システムの動作>
図7は、本実施形態に係る通信システム2の動作の一例を示すシーケンスチャートである。
ステップS702−S710は、
図5に示されるステップS502−S510を適用できる。
ステップS712では、端末装置400の鍵生成部461は、家電機器300の製造番号と、記憶部458に記憶されているマスター鍵4582とから共通鍵を生成する。
ステップS714では、家電管理サーバ500のサービス提供部562は、利用者情報を入力したユーザに対して、前述したようにクーポン券等を作成し、通信部552から端末装置400へ送信する。端末装置400の通信部452は、家電管理サーバ500が送信したクーポンを受信する。
【0065】
ステップS716では、端末装置400の通信制御部456は、家電機器300の通信制御部356との間で、セッションを構築する。
ステップS718では、端末装置400の認証部463と家電機器300の通信制御部356との間で、相互認証が行われる。ここでは、相互認証が成功したとして説明を続ける。端末装置400の認証部463と家電機器300の通信制御部356との間で、相互認証が失敗した場合には、所定のエラー処理が行われてもよい。
【0066】
ステップS720では、家電機器300の動作ログ処理部354は、認証部360によって端末装置400の認証部463との間で相互認証が行われた後、記憶部358に記憶されている動作ログ3586を取得し、通信部352から端末装置400へ送信する。端末装置400の通信部452は、家電機器300が送信した動作ログ3586を受信する。
ステップS722では、端末装置400の暗号化部462は、通信部452が動作ログを受信すると、当該動作ログを取得する。暗号化部462は、動作ログ3586と製造番号3584とを暗号化する。さらに、暗号化部462は、動作ログ3586と製造番号3584と、共通鍵3582とからメッセージ認証コードを演算することによって署名を作成する。暗号化部462は、通信部452へ動作ログ3586と製造番号3584とを暗号化した結果と、署名とを出力する。通信部452は、家電管理サーバ500へ、暗号化部462から出力された動作ログ3586と製造番号3584とを暗号化した結果と、署名とを送信する。家電管理サーバ500は、端末装置400から動作ログ3586と製造番号3584とを暗号化した結果と、署名とを受信すると、動作ログ3586と家電機器300の製造番号の正真性を検証する。
ステップS724では、家電管理サーバ500のサービス提供部562は、端末装置400が送信した動作ログを分析することによって、経年劣化等によって買い替え時期と判断された家電機器300のユーザに対して、買い替えを促す広告を、通信部552から端末装置100へ送信する。
【0067】
本実施形態においては、端末装置400が、動作ログと家電機器300の製造番号とを暗号化した結果と、署名とを送信する場合について説明したが、これに限られない。例えば、端末装置400は、署名は作成せず、動作ログと家電機器300の製造番号とを暗号化した結果を送信するようにしてもよい。
【0068】
また、本実施形態においては、家電機器300にマスター鍵と家電機器300の製造番号とから生成される共通鍵がプリセットされる場合について説明したが、この限りではない。例えば、家電機器300にマスター鍵と家電機器300の製造番号とN(Nは実数)から生成される共通鍵がプリセットされてもよい。この場合、Nは、暗号化、署名等の利用したい共通鍵の数に応じて用意される。また、家電機器300にマスター鍵が複数プリセットされてもよい。
【0069】
本実施形態に係る通信システムの運用例について説明する。例えば、一定間隔で、冷蔵庫等の家電機器300と端末装置400とが共通鍵もしくは家電機器300に添付された情報コードに格納されている近距離無線の通信設定情報を用いて相互認証を行う。相互認証後、家電機器300は、動作ログを端末装置400へ送付し、製造番号とともに共通鍵を用いて暗号化や署名(CMAC)の付与を行う。端末装置400は、家電機器300からの情報を情報コードに格納された家電メーカの家電管理サーバ500のアドレスに向けて送付する。家電メーカの家電管理サーバ500は、マスター鍵と製造番号から共通鍵を生成し、当該共通鍵を使用して、復号や署名検証を行い、動作ログを分析する。分析の結果、経年劣化などの買い替え時期と判断されると、家電管理サーバ500は、買い替えを促す広告を端末装置400へ返送してもよい。
【0070】
本実施形態に係る通信システムによれば、第1の実施形態と同様に、家電機器300と端末装置400と家電管理サーバ500とを共通鍵を用いて、安全に接続することができる。共通鍵を使用することで、家電製品に組み込まれる非力なマイコンでも暗号化や署名付与などの演算が可能になる。また、マスター鍵と製造番号から生成される共通鍵を用いるため、煩雑になりがちな鍵管理の機構が不要になる。端末装置等などから簡易な手順で動作ログを収集できるようになり、家電メーカによる利用者登録や動作ログの直接的な収集が可能になる。
【0071】
前述した実施形態では、家電機器300に近距離無線デバイスとの間の接続設定情報、家電メーカの家電管理サーバの通信アドレス、及び家電機器300の製造番号等の情報を格納した二次元バーコード(QR(Quick Response)コード)等の情報コードが添付される場合について説明したがこの例に限られない。例えば、NFCタグに家電機器300に近距離無線デバイスとの間の接続設定情報、家電メーカの家電管理サーバの通信アドレス、及び家電機器300の製造番号等の情報を格納し、当該NFCタグを家電機器300に添付するようにしてもよい。
【0072】
以上、本発明の実施形態及びその変形例を説明したが、これらの実施形態及びその変形例は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態及びその変形例は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更、組合せを行うことができる。これら実施形態及びその変形例は、発明の範囲や要旨に含まれると同時に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【0073】
なお、前述の端末装置、家電管理サーバ、及び家電機器は内部にコンピュータを有している。そして、前述した各装置の各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしてもよい。
また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。
さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0074】
前述した実施形態において、端末装置100及び端末装置400は通信装置の一例であり、家電管理サーバ200及び家電管理サーバ500はサーバに一例であり、通信アドレスはサーバの所在を特定する情報の一例であり、家電機器300は装置の一例であり、家電機器の製造番号は装置の識別情報の一例である。