(57)【要約】【課題】機器認証が未定義の通信プロトコルを用いて機器同士が通信するシステムにおいて、簡便な機器認証を実現する。【解決手段】通信システム１０は、所定の通信プロトコルにしたがって通信する認証装置１２と被認証装置１４を備える。認証装置１２は、上記通信プロトコルにより規定されたオブジェクトであって、かつ、予め定められた正解値が設定される第１プロパティと、被認証装置１４により検査値が設定される第２プロパティとを含むオブジェクトである認証オブジェクトを保持する。被認証装置１４は、上記通信プロトコルにより規定されたプロパティ操作方法にしたがって、予め定められた正解値に基づく検査値を認証装置１２の認証オブジェクトの第２プロパティに設定する。認証装置１２は、認証オブジェクトの第１プロパティに設定された正解値と、第２プロパティに設定された検査値とをもとに被認証装置１４を認証する。【選択図】図１
2020167488.tif 000002
【特許請求の範囲】
【請求項１】
所定の通信プロトコルにしたがって通信する認証装置と被認証装置とを備え、
前記認証装置は、
前記通信プロトコルにより規定されたオブジェクトであって、かつ、予め定められた正解値が設定される第１プロパティと、前記被認証装置により検査値が設定される第２プロパティとを含むオブジェクトである認証オブジェクトを保持する保持部と、
前記認証オブジェクトへのアクセスに必要な情報を前記被認証装置へ通知する通知部と、を含み、
前記被認証装置は、前記通信プロトコルにより規定されたプロパティ操作方法にしたがって、予め定められた正解値に基づく検査値を前記認証装置の認証オブジェクトの第２プロパティに設定する設定部を含み、
前記認証装置は、前記認証オブジェクトの第１プロパティに設定された正解値と、前記認証オブジェクトの第２プロパティに設定された検査値とをもとに、前記被認証装置を認証する認証処理部をさらに含む、
通信システム。
【請求項２】
前記認証オブジェクトは、前記認証装置が生成した第１乱数値が設定される第３プロパティをさらに含み、
前記被認証装置の設定部は、前記認証装置から送信された第１乱数値と前記正解値とをもとに導出した第１ダイジェスト値を、前記検査値として、前記認証装置の認証オブジェクトの第２プロパティに設定し、
前記認証装置の認証処理部は、前記認証オブジェクトの第１プロパティに設定された正解値と、前記認証オブジェクトの第３プロパティに設定された第１乱数値とをもとに第２ダイジェスト値を導出し、前記認証オブジェクトの第２プロパティに設定された第１ダイジェスト値と前記第２ダイジェスト値とが一致する場合、前記被認証装置の認証に成功したと判定する、
請求項１に記載の通信システム。
【請求項３】
前記認証オブジェクトは、前記被認証装置が生成した第２乱数値が設定される第４プロパティをさらに含み、
前記被認証装置の設定部は、前記認証装置から送信された第１乱数値と、本装置で生成した第２乱数値と、前記正解値とをもとに導出した第１ダイジェスト値を、前記認証装置の認証オブジェクトの第２プロパティに設定し、
前記認証装置の認証処理部は、前記認証オブジェクトの第１プロパティに設定された正解値と、前記認証オブジェクトの第３プロパティに設定された第１乱数値と、前記認証オブジェクトの第４プロパティに設定された第２乱数値とをもとに第２ダイジェスト値を導出し、前記認証オブジェクトの第２プロパティに設定された第１ダイジェスト値と前記第２ダイジェスト値とが一致する場合、前記被認証装置の認証に成功したと判定する、
請求項２に記載の通信システム。
【請求項４】
所定の通信プロトコルにしたがって被認証装置と通信する認証装置であって、
前記通信プロトコルにより規定されたオブジェクトであって、かつ、予め定められた正解値が設定される第１プロパティと、前記被認証装置により検査値が設定される第２プロパティとを含むオブジェクトである認証オブジェクトを保持する保持部と、
前記認証オブジェクトへのアクセスに必要な情報を前記被認証装置へ通知する通知部と、
認証処理部と、を備え、
前記被認証装置は、前記通信プロトコルにより規定されたプロパティ操作方法にしたがって、予め定められた正解値に基づく検査値を前記認証装置の認証オブジェクトの第２プロパティに設定し、
前記認証処理部は、前記認証オブジェクトの第１プロパティに設定された正解値と、前記認証オブジェクトの第２プロパティに設定された検査値とをもとに、前記被認証装置を認証する、
認証装置。
【請求項５】
所定の通信プロトコルにしたがって通信する認証装置と被認証装置が実行する認証方法であって、
前記認証装置は、前記通信プロトコルにより規定されたオブジェクトであって、かつ、予め定められた正解値が設定される第１プロパティと、前記被認証装置により検査値が設定される第２プロパティとを含むオブジェクトである認証オブジェクトを保持し、
前記認証装置が、前記認証オブジェクトへのアクセスに必要な情報を前記被認証装置へ通知するステップと、
前記被認証装置が、前記通信プロトコルにより規定されたプロパティ操作方法にしたがって、予め定められた正解値に基づく検査値を前記認証装置の認証オブジェクトの第２プロパティに設定するステップと、
前記認証装置が、前記認証オブジェクトの第１プロパティに設定された正解値と、前記認証オブジェクトの第２プロパティに設定された検査値とをもとに、前記被認証装置を認証するステップと、
を含む認証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は通信技術に関し、特に通信システム、認証装置および認証方法に関する。
【背景技術】
【０００２】
現在、様々な機器が通信ネットワークへ接続される所謂「機器のＩｏＴ（Internet of Things）化」が急速に進んでいる。これに伴い、住宅内に設置される機器は、ＥＣＨＯＮＥＴ  Ｌｉｔｅ（商標または登録商標）規格に対応するもの（以下「ＥＣＨＯＮＥＴ  Ｌｉｔｅ機器」とも呼ぶ。）が増えてきた。ＥＣＨＯＮＥＴ  Ｌｉｔｅは、オープンな規格であり、様々な機器に組み込む際に必要となるデータや通信方式が定義されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１９２２２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
現在展開されているＥＣＨＯＮＥＴ  Ｌｉｔｅ機器では、その仕様さえ分かれば誰でもその機器が保持するデータを読み書きできる。機器によっては、公開を制限すべきデータを保持し、そのデータにアクセス可能な機器やユーザを制限したい場合があるが、現在のＥＣＨＯＮＥＴ  Ｌｉｔｅ規格では機器の認証は定義されていない。また、インターネット上のサーバ等と連携して機器を認証することも可能だが、それには大掛かりなシステムの構築が必要であり、かつ、ＥＣＨＯＮＥＴ  Ｌｉｔｅ機器にもサーバ等との連携に対応するための新たな機能の実装が必要になる。
【０００５】
本開示はこうした状況に鑑みてなされたものであり、１つの目的は、機器認証が未定義の通信プロトコルを用いて機器同士が通信するシステムにおいて、簡便な機器認証を実現することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本開示のある態様の通信システムは、所定の通信プロトコルにしたがって通信する認証装置と被認証装置とを備える。認証装置は、通信プロトコルにより規定されたオブジェクトであって、かつ、予め定められた正解値が設定される第１プロパティと、被認証装置により検査値が設定される第２プロパティとを含むオブジェクトである認証オブジェクトを保持する保持部と、認証オブジェクトへのアクセスに必要な情報を被認証装置へ通知する通知部と、を含む。被認証装置は、通信プロトコルにより規定されたプロパティ操作方法にしたがって、予め定められた正解値に基づく検査値を認証装置の認証オブジェクトの第２プロパティに設定する設定部を含む。認証装置は、認証オブジェクトの第１プロパティに設定された正解値と、認証オブジェクトの第２プロパティに設定された検査値とをもとに、被認証装置を認証する認証処理部をさらに含む。
【０００７】
本開示の別の態様は、認証装置である。この装置は、所定の通信プロトコルにしたがって被認証装置と通信する認証装置であって、通信プロトコルにより規定されたオブジェクトであって、かつ、予め定められた正解値が設定される第１プロパティと、被認証装置により検査値が設定される第２プロパティとを含むオブジェクトである認証オブジェクトを保持する保持部と、認証オブジェクトへのアクセスに必要な情報を被認証装置へ通知する通知部と、認証処理部と、を備える。被認証装置は、通信プロトコルにより規定されたプロパティ操作方法にしたがって、予め定められた正解値に基づく検査値を認証装置の認証オブジェクトの第２プロパティに設定し、認証処理部は、認証オブジェクトの第１プロパティに設定された正解値と、認証オブジェクトの第２プロパティに設定された検査値とをもとに、被認証装置を認証する。
【０００８】
本開示のさらに別の態様は、認証方法である。この方法は、所定の通信プロトコルにしたがって通信する認証装置と被認証装置が実行する認証方法であって、認証装置は、通信プロトコルにより規定されたオブジェクトであって、かつ、予め定められた正解値が設定される第１プロパティと、被認証装置により検査値が設定される第２プロパティとを含むオブジェクトである認証オブジェクトを保持し、認証装置が、認証オブジェクトへのアクセスに必要な情報を被認証装置へ通知するステップと、被認証装置が、通信プロトコルにより規定されたプロパティ操作方法にしたがって、予め定められた正解値に基づく検査値を認証装置の認証オブジェクトの第２プロパティに設定するステップと、認証装置が、認証オブジェクトの第１プロパティに設定された正解値と、認証オブジェクトの第２プロパティに設定された検査値とをもとに、被認証装置を認証するステップと、を含む。
【０００９】
なお、以上の構成要素の任意の組合せ、本開示の表現を、コンピュータプログラム、コンピュータプログラムを記録した記録媒体、認証装置の機能を含むＨＥＭＳ（Home Energy Management System）機器などの間で変換したものもまた、本開示の態様として有効である。
【発明の効果】
【００１０】
本開示によれば、機器認証が未定義の通信プロトコルを用いて機器同士が通信するシステムにおいて、簡便な機器認証を実現することができる。
【図面の簡単な説明】
【００１１】
【図１】実施例の通信システムの構成を示す図である。
【図２】図１の認証装置の機能ブロックを示すブロック図である。
【図３】認証オブジェクトのプロパティを示す図である。
【図４】図１の被認証装置の機能ブロックを示すブロック図である。
【図５】実施例の通信システムの動作を示すシーケンス図である。
【発明を実施するための形態】
【００１２】
本開示における装置または方法の主体は、コンピュータを備えている。このコンピュータがプログラムを実行することによって、本開示における装置または方法の主体の機能が実現される。コンピュータは、プログラムにしたがって動作するプロセッサを主なハードウェア構成として備える。プロセッサは、プログラムを実行することによって機能を実現することができれば、その種類は問わない。プロセッサは、半導体集積回路（IC）、またはＬＳＩ（large scale integration）を含む１つまたは複数の電子回路で構成される。ここではＩＣやＬＳＩと呼んでいるが、集積の度合いによって呼び方が変わり、システムＬＳＩ、ＶＬＳＩ（very large scale integration）もしくはＵＳＬＩ（ultra large scale integration）と呼ばれるものであってもよい。ＬＳＩの製造後にプログラムされる、フィールド・プログラマブル・ゲート・アレイ（FPGA）、又はＬＳＩ内部の接合関係の再構成又はＬＳＩ内部の回路区画のセットアップができる再構成可能な論理デバイスも同じ目的で使うことができる。複数の電子回路は、１つのチップに集積されてもよいし、複数のチップに設けられてもよい。複数のチップは１つの装置に集約されていてもよいし、複数の装置に備えられていてもよい。プログラムは、コンピュータが読み取り可能なＲＯＭ、光ディスク、ハードディスクドライブなどの非一時的記録媒体に記録される。プログラムは、記録媒体に予め格納されていてもよいし、インターネット等を含む広域通信網を介して記録媒体に供給されてもよい。
【００１３】
実施例では、機器認証が未定義のＥＣＨＯＮＥＴ  Ｌｉｔｅ規格で定められた通信方式（プロトコル）とデータ構造を用いて、機器を認証し、操作可能な相手を限定する技術を提案する。
【００１４】
図１は、実施例の通信システム１０の構成を示す。通信システム１０は、住宅等の建物内に構築されたものであり、実施例では、ＨＥＭＳの標準プロトコルであるＥＣＨＯＮＥＴ  Ｌｉｔｅを用いてＨＥＭＳを実現する。通信システム１０は、認証装置１２、被認証装置１４ａ、被認証装置１４ｂ、被認証装置１４ｃ（以下総称する場合「被認証装置１４」と呼ぶ。）を備える。これらの機器は、イーサネット（登録商標）やＷｉ−Ｆｉ（登録商標）等による通信路１６を介して接続される。
【００１５】
認証装置１２は、外部機器を認証し、認証に成功した他機器とのデータの送受信を許可する通信機器である。認証装置１２は、例えばＨＥＭＳコントローラであってもよい。被認証装置１４は、認証装置１２により認証される機器であり、実施例では、ＨＥＭＳに参加する電気機器である。被認証装置１４は、例えばエアコン、照明、蓄電池、太陽光発電装置であってもよい。認証装置１２および被認証装置１４は、ＥＣＨＯＮＥＴ  Ｌｉｔｅ機器とも言える。
【００１６】
図２は、図１の認証装置１２の機能ブロックを示すブロック図である。本開示のブロック図において示される各ブロックは、ハードウェア的には、コンピュータのＣＰＵ・メモリをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。
【００１７】
認証装置１２は、通信ＩＦ２０、通信ミドルウェア２２、認証アプリケーション２４、クラス記憶部２６、ホワイトリスト記憶部２８を備える。通信ＩＦ２０は、通信路１６とのインタフェース機能を提供する。通信ミドルウェア２２は、外部のＥＣＨＯＮＥＴ  Ｌｉｔｅ機器に対して、ＥＣＨＯＮＥＴ  Ｌｉｔｅで規定された形式のＥＣＨＯＮＥＴ  Ｌｉｔｅフレームを送受信するためのデータ処理を実行する。
【００１８】
認証アプリケーション２４は、通信ミドルウェア２２を介して、被認証装置１４から送信された認証用のデータを受け付け、そのデータをもとに被認証装置１４を認証する。認証アプリケーション２４は、通信ミドルウェア２２が備えるＡＰＩ（Application Programming Interface）をコールすることで、通信ミドルウェア２２に処理を実行させ、また、通信ミドルウェア２２とデータを交換してもよい。
【００１９】
クラス記憶部２６は、ＥＣＨＯＮＥＴ  Ｌｉｔｅ規格により規定されたＥＣＨＯＮＥＴ  Ｌｉｔｅオブジェクトを定義するクラスコードを記憶する。ＥＣＨＯＮＥＴ  Ｌｉｔｅオブジェクトは、ＥＣＨＯＮＥＴ  Ｌｉｔｅ機器を抽象化し、共通のアクセスインタフェースで制御できるようにしたオブジェクトである。実施例では、クラス記憶部２６は、プロファイルオブジェクトのクラスコード、機器オブジェクトのクラスコード、認証オブジェクトのクラスコードを記憶する。これらのＥＣＨＯＮＥＴ  Ｌｉｔｅオブジェクトについては後述する。
【００２０】
ホワイトリスト記憶部２８は、認証に成功した被認証装置１４であり、認証装置１２に対する操作（具体的には後述の機器オブジェクトに対する操作）が許可された被認証装置１４の識別情報を記憶する。被認証装置１４の識別情報は、例えばＩＰアドレスやＭＡＣアドレスであってもよい。
【００２１】
通信ミドルウェア２２は、オブジェクト生成部３０、プロファイル通知部３１、プロファイルオブジェクト３２、機器オブジェクト３４、認証オブジェクト３６、保持部３７、サービス処理部３８を含む。認証アプリケーション２４は、第１乱数生成部４０と認証処理部４２を含む。これら複数の機能ブロックに対応するモジュールを含むコンピュータプログラムが認証装置１２のストレージ（ＥＥＰＲＯＭ等）にインストールされてもよい。認証装置１２のＣＰＵは、このコンピュータプログラムをＲＡＭに読み出して実行することにより、上記複数の機能ブロックの機能を発揮してもよい。
【００２２】
また、通信ミドルウェア２２と認証アプリケーション２４の機能分担には様々な変形態様があり得る。例えば、第１乱数生成部４０と認証処理部４２の少なくとも一方の機能が通信ミドルウェア２２により発揮されてもよい。後述の図４も同様である。
【００２３】
まず、通信ミドルウェア２２の機能ブロックを説明する。オブジェクト生成部３０は、クラス記憶部２６に記憶されたクラスコードをもとにＥＣＨＯＮＥＴ  Ｌｉｔｅオブジェクトを生成し、ＥＣＨＯＮＥＴ  Ｌｉｔｅオブジェクトをメモリ上に展開する。実施例では、オブジェクト生成部３０は、プロファイルオブジェクト３２、機器オブジェクト３４、認証オブジェクト３６を生成する。保持部３７は、オブジェクト生成部３０により生成されたプロファイルオブジェクト３２、機器オブジェクト３４、認証オブジェクト３６を保持し、言い換えれば記憶する。例えば、プロファイルオブジェクト３２、機器オブジェクト３４、認証オブジェクト３６が展開されたメモリ領域が保持部３７に該当する。
【００２４】
プロファイルオブジェクト３２は、認証装置１２が保持する１つ以上のＥＣＨＯＮＥＴ  Ｌｉｔｅオブジェクトの識別情報と、各ＥＣＨＯＮＥＴ  Ｌｉｔｅオブジェクトが有するプロパティ（属性とも言える）の情報を保持する。
【００２５】
機器オブジェクト３４は、認証装置１２が持つ機器としての動作機能に関する１つ以上のプロパティを保持する。例えば、認証装置１２がエアコンの場合、機器オブジェクト３４は、温度設定値や風量設定値等のプロパティを保持してもよい。機器オブジェクトは、ＥＣＨＯＮＥＴ  Ｌｉｔｅ対応機器相互で、通信を介しての制御や状態確認を実現するものである。
【００２６】
認証オブジェクト３６は、被認証装置１４の認証に用いられるプロパティを保持する。図３は、認証オブジェクト３６のプロパティを示す。認証オブジェクト３６は、認証装置１２が生成した第１乱数値が設定されるプロパティ「Rand_out」と、被認証装置１４が生成した第２乱数値が設定されるプロパティ「Rand_in」を含む。また、認証オブジェクト３６は、被認証装置１４により認証用の検査値が設定されるプロパティ「Digest」と、予め定められた認証用の正解値が設定されるプロパティ「Password」をさらに含む。
【００２７】
プロパティ「Password」に設定される正解値は、認証装置１２と正当な被認証装置１４（もしくは被認証装置１４のユーザ）との間で共有される値であり、実施例では「パスワード」と呼ぶ。パスワードは、認証装置１２に対して１つ割り当てられてもよく、認証装置１２から正当な被認証装置１４（もしくは被認証装置１４のユーザ）へ通知されてもよい。また、パスワードは、正当な被認証装置１４ごとにユニークな値が割り当てられてもよく、認証装置１２は、各被認証装置１４のパスワードを保持してもよい。
【００２８】
プロパティ「Digest」に設定される検査値は、第１乱数値と、第２乱数値と、被認証装置１４が認識しているパスワードをもとに生成されたダイジェスト値であり、以下「第１ダイジェスト値」と呼ぶ。ダイジェスト値はハッシュ値とも言える。
【００２９】
図２に戻り、プロファイル通知部３１は、認証装置１２が保持するＥＣＨＯＮＥＴ  Ｌｉｔｅオブジェクトのプロファイル情報を被認証装置１４へ送信する。プロファイル情報は、プロファイルオブジェクト３２が示す情報であり、認証装置１２が保持する１つ以上のＥＣＨＯＮＥＴ  Ｌｉｔｅオブジェクトの識別情報と、各ＥＣＨＯＮＥＴ  Ｌｉｔｅオブジェクトが有するプロパティの情報とを含む。すなわち、プロファイル情報は、ＥＣＨＯＮＥＴ  Ｌｉｔｅに準拠した通信において認証オブジェクト３６へのアクセスに必要な情報を含む。
【００３０】
サービス処理部３８は、外部機器から要求されたＥＣＨＯＮＥＴ  Ｌｉｔｅオブジェクトのプロパティに対する操作を実行する。実施例での操作は、プロパティ値の読み出し（Get）と、プロパティ値の設定(Set)を含む。
【００３１】
次に、認証アプリケーション２４の機能ブロックを説明する。第１乱数生成部４０は、所定の乱数発生器を用いて乱数列を生成する。生成する乱数列は、擬似乱数でもよく、以下「第１乱数値」と呼ぶ。第１乱数生成部４０は、第１乱数値を認証オブジェクト３６のプロパティ「Rand_out」に設定する。
【００３２】
認証処理部４２は、認証オブジェクト３６のプロパティ「Password」に設定された正解値と、認証オブジェクト３６のプロパティ「Digest」に設定された検査値とをもとに、被認証装置１４を認証する。具体的には、認証処理部４２は、認証オブジェクト３６のプロパティ「Password」に設定された正解値（正しいパスワード）と、プロパティ「Rand_out」に設定された第１乱数値と、プロパティ「Rand_in」に設定された第２乱数値とをもとに第２ダイジェスト値を導出する。ダイジェスト値の導出には、公知のハッシュ関数を用いてよく、例えばＭＤ５やＳＨＡ２を用いてもよい。
【００３３】
認証処理部４２は、認証オブジェクト３６のプロパティ「Digest」に設定された第１ダイジェスト値と、導出した第２ダイジェスト値とが一致する場合、被認証装置１４の認証に成功したと判定する。認証処理部４２は、被認証装置１４の認証に成功した場合、当該被認証装置１４の識別情報をホワイトリスト記憶部２８に格納する。
【００３４】
一方、第１ダイジェスト値と第２ダイジェスト値とが不一致の場合、認証処理部４２は、被認証装置１４の認証に失敗したと判定する。認証処理部４２は、被認証装置１４の認証に失敗した場合、当該被認証装置１４との通信を禁止する。例えば、認証処理部４２は、所定の記憶領域に記憶されたブラックリスト（すなわち通信が不許可の装置のリスト）に当該被認証装置１４の識別情報を記録してもよい。
【００３５】
図４は、図１の被認証装置１４の機能ブロックを示すブロック図である。被認証装置１４は、通信ＩＦ５０、通信ミドルウェア５２、登録アプリケーション５４、パスワード記憶部５６を備える。通信ＩＦ５０は、通信路１６とのインタフェース機能を提供する。通信ミドルウェア５２は、外部のＥＣＨＯＮＥＴ  Ｌｉｔｅ機器に対して、ＥＣＨＯＮＥＴ  Ｌｉｔｅフレームを送受信するためのデータ処理を実行する。
【００３６】
登録アプリケーション５４は、通信ミドルウェア５２を介して、認証装置１２による認証を要求するためのデータ処理を実行する。登録アプリケーション５４は、通信ミドルウェア５２が備えるＡＰＩをコールすることで、通信ミドルウェア５２に処理を実行させ、また、通信ミドルウェア５２とデータを交換してもよい。
【００３７】
パスワード記憶部５６は、予め定められた正解値としてのパスワードを記憶する。既述したが、このパスワードは、被認証装置１４ごとにユニークであってもよく、また、認証装置１２や管理者から通知されたものであってもよい。いずれの場合も、正当な被認証装置１４が保持するパスワードは、認証装置１２と共有される。なお、パスワード記憶部５６は、正しいパスワードを知るユーザから入力されたパスワードを記憶してもよい。
【００３８】
登録アプリケーション５４は、第１乱数取得部５８、第２乱数生成部６０、ダイジェスト値生成部６２、認証要求部６４を含む。これら複数の機能ブロックに対応するモジュールを含むコンピュータプログラムが被認証装置１４のストレージ（ＥＥＰＲＯＭ等）にインストールされてもよい。被認証装置１４のＣＰＵは、このコンピュータプログラムをＲＡＭに読み出して実行することにより、上記複数の機能ブロックの機能を発揮してもよい。
【００３９】
第１乱数取得部５８は、通信ミドルウェア５２と連携し、ＥＣＨＯＮＥＴ  Ｌｉｔｅにより規定されたプロパティ値読み出し方法にしたがって、認証装置１２の認証オブジェクト３６のプロパティ「Rand_out」の値（すなわち第１乱数値）の読み出しを要求する。第１乱数取得部５８は、認証装置１２から送信された認証オブジェクト３６のプロパティ「Rand_out」の値（すなわち第１乱数値）を取得する。
【００４０】
第２乱数生成部６０は、所定の乱数発生器を用いて乱数列を生成する。生成する乱数列は、擬似乱数でもよく、以下「第２乱数値」と呼ぶ。
【００４１】
ダイジェスト値生成部６２は、第１乱数値と、第２乱数値と、パスワード記憶部５６に格納されたパスワードとをもとに、第１ダイジェスト値を生成する。ダイジェスト値の導出には、公知のハッシュ関数を用いてよく、例えばＭＤ５やＳＨＡ２を用いてもよい。ただし、認証装置１２の認証処理部４２と、被認証装置１４のダイジェスト値生成部６２は、同じアルゴリズム（例えば同じハッシュ関数）を用いてダイジェスト値を導出する。
【００４２】
認証要求部６４は、所定のＨＥＭＳプロトコルにより規定されたプロパティ操作方法にしたがって、被認証装置１４に予め割り当てられた正解値に基づく検査値（第１ダイジェスト値）を、認証装置１２の認証オブジェクト３６のプロパティに設定する設定部の機能を含む。認証要求部６４は、認証装置１２の認証オブジェクト３６のプロパティに検査値を設定することにより、認証装置１２に対して自機の認証を要求する。
【００４３】
具体的には、認証要求部６４は、通信ミドルウェア５２と連携し、ＥＣＨＯＮＥＴ  Ｌｉｔｅにより規定されたプロパティ値書き込み方法にしたがって、認証装置１２の認証オブジェクト３６のプロパティ「Rand_in」に第２乱数値を設定する。また、認証要求部６４は、ＥＣＨＯＮＥＴ  Ｌｉｔｅにより規定されたプロパティ値書き込み方法にしたがって、認証装置１２の認証オブジェクト３６のプロパティ「Digest」に第１ダイジェスト値を設定する。
【００４４】
以上の構成による通信システム１０の動作を説明する。
図５は、実施例の通信システム１０の動作を示すシーケンス図である。認証装置１２の起動時、認証装置１２のオブジェクト生成部３０は、クラス記憶部２６に記憶されたクラスコードにしたがって、プロファイルオブジェクト３２、機器オブジェクト３４、認証オブジェクト３６を生成する（Ｓ１０）。このとき、認証オブジェクト３６のプロファイル「Password」には、予め定められた正解値としてのパスワードが設定される。
【００４５】
認証装置１２のプロファイル通知部３１は、認証オブジェクト３６にアクセスするために必要な情報を含む自機のプロファイル情報を被認証装置１４へ送信する（Ｓ１２）。例えば、プロファイル通知部３１は、複数の被認証装置１４へプロファイル情報をブロードキャストする。
【００４６】
被認証装置１４の初回起動時等、認証装置１２による認証を受けるべきタイミングで、被認証装置１４の第１乱数取得部５８は、認証装置１２に対して第１乱数値の読み出し要求（Get）を送信する（Ｓ１４）。被認証装置１４のサービス処理部３８は、第１乱数値が要求された旨を第１乱数生成部４０へ通知する。被認証装置１４の第１乱数生成部４０は、被認証装置１４からの要求の都度、異なる第１乱数値を生成して、認証オブジェクト３６のプロパティ「Rand_out」に設定する。サービス処理部３８は、第１乱数値の読み出し要求への応答（GetRes）として、認証オブジェクト３６のプロパティ「Rand_out」に設定された第１乱数値を被認証装置１４へ送信する（Ｓ１６）。
【００４７】
被認証装置１４の第２乱数生成部６０は、第２乱数値を生成する。被認証装置１４のダイジェスト値生成部６２は、第１乱数値と、第２乱数値と、被認証装置１４に入力され、または予め被認証装置１４に記憶されたパスワードとをもとに第１ダイジェスト値を算出する（Ｓ１８）。被認証装置１４の認証要求部６４は、認証オブジェクト３６のプロパティ「Rand_in」に対する第２乱数値の書き込み要求（Set）を認証装置１２へ送信する（Ｓ２０）。認証装置１２のサービス処理部３８は、その書き込み要求にしたがって、認証オブジェクト３６のプロパティ「Rand_in」に、被認証装置１４から送信された第２乱数値を設定する。
【００４８】
被認証装置１４の認証要求部６４はさらに、認証オブジェクト３６のプロパティ「Digest」に対する第１ダイジェスト値の書き込み要求（Set）を認証装置１２へ送信する（Ｓ２２）。認証装置１２のサービス処理部３８は、その書き込み要求にしたがって、認証オブジェクト３６のプロパティ「Digest」に、被認証装置１４から送信された第１ダイジェスト値を設定する。
【００４９】
認証装置１２の認証処理部４２は、認証オブジェクト３６のプロパティ「Digest」に第１ダイジェストが書き込まれると、プロパティ「Rand_out」に格納された第１乱数値、プロパティ「Rand_in」に格納された第２乱数値、およびプロパティ「Password」に格納されたパスワードをもとに第２ダイジェスト値を算出する（Ｓ２４）。認証オブジェクト３６のプロパティ「Password」に格納されたパスワードと、被認証装置１４が記憶するパスワードが一致すれば、すなわち被認証装置１４が正当な機器であれば、第１ダイジェスト値と第２ダイジェスト値とは一致することになる。
【００５０】
認証処理部４２は、認証オブジェクト３６のプロパティ「Digest」に格納された第１ダイジェスト値と、Ｓ２４で算出した第２ダイジェスト値とが一致するか否かを判定する（Ｓ２６）。第１ダイジェスト値と第２ダイジェスト値とが一致する場合、認証処理部４２は、被認証装置１４の識別情報（ＩＰアドレス等）をホワイトリストに登録することにより、被認証装置１４との通信を許可する（Ｓ２８）。例えば、認証装置１２は、ホワイトリストに登録された被認証装置１４が、ＥＣＨＯＮＥＴ  Ｌｉｔｅオブジェクト（例えば機器オブジェクト）のプロパティ値を読み出し、または更新することを許可してもよい。
【００５１】
一方、第１ダイジェスト値と第２ダイジェスト値とが不一致の場合、認証処理部４２は、被認証装置１４との通信を禁止する。例えば、認証装置１２は、通信が禁止された被認証装置１４からの要求（プロパティ操作の要求等）を拒否してもよい。
【００５２】
実施例の通信システム１０によると、機器認証が未定義のＥＣＨＯＮＥＴ  Ｌｉｔｅ規格で定められた通信方式とデータ構造の範囲で、機器認証を実現でき、また、操作可能な相手を限定することを実現できる。また、ＣＡ（Certification Authority）認証等の大掛かりな仕組みを要さず、簡便な機器認証を実現できる。例えば、複数の被認証装置１４のうち、予め定められたパスワードを知っている正当な被認証装置１４は認証に成功しするが、パスワードを知らない不正な被認証装置１４は認証に失敗する。これにより、通信システム１０の安全性を高めることができる。
【００５３】
また、通信システム１０によると、機器認証が未定義のＥＣＨＯＮＥＴ  Ｌｉｔｅ規格で定められた通信方式とデータ構造の範囲で、チャレンジレスポンス認証を実現できる。これにより、必ずしも通信路１６の安全性が確保されない場合、例えば、通信路１６を流れるデータが傍受されうる場合であっても、パスワード等の秘密データが漏洩することを防止できる。
【００５４】
以上、本開示を実施例をもとに説明した。この実施例は例示であり、各構成要素あるいは各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本開示の範囲にあることは当業者に理解されるところである。
【００５５】
第１変形例を説明する。上記実施例の通信システム１０では、認証装置１２と被認証装置１４のそれぞれが生成した乱数値と、パスワードとを使用してダイジェスト値を導出した。変形例として、認証装置１２と被認証装置１４が知りうる別のデータをさらに追加してダイジェスト値を導出してもよい。
【００５６】
第２変形例を説明する。認証に成功後にパスワードを変更してもよい。例えば、被認証装置１４は、認証装置１２の認証オブジェクト３６のプロパティ「Password」に、それまでとは異なる値（すなわち新たなパスワード）を設定してもよい。この場合、再認証時には新たなパスワードを使用する。また、被認証装置１４から新たなパスワード設定する際、被認証装置１４は、それまで認証装置１２と共有していた従来のパスワードをキーとして、新たなパスワードを暗号化してもよい。また、認証装置１２は、上記従来のパスワードをキーとして、暗号データから新たなパスワードを復号してもよい。
【００５７】
第３変形例を説明する。認証に一度成功した場合に、その結果が永続するか、毎回認証を必要とするかは、認証装置１２の実装依存となる。毎回認証が必要な場合、被認証装置１４は、認証装置１２との通信開始時に、図５のＳ１４からの認証シーケンスを実行してもよい。
【００５８】
第４変形例を説明する。上記実施例の認証装置１２は、プロファイルオブジェクト３２、機器オブジェクト３４とは別に認証オブジェクト３６を保持した。変形例として、認証オブジェクト３６は、プロファイルオブジェクト３２または機器オブジェクト３４に組み込まれてもよい。言い換えれば、プロファイルオブジェクト３２は、図３に示した認証オブジェクト３６のプロパティを保持することにより、認証オブジェクト３６を含んでもよい。同様に、機器オブジェクト３４は、図３に示した認証オブジェクト３６のプロパティを保持することにより、認証オブジェクト３６を含んでもよい。
【００５９】
第５変形例を説明する。上記実施例では、保持部３７は、オブジェクト生成部３０がクラスコードをもとに動的に生成したＥＣＨＯＮＥＴ  Ｌｉｔｅオブジェクトを保持した。変形例として、保持部３７は、予め静的に定められたデータであって、認証オブジェクト３６を含むＥＣＨＯＮＥＴ  Ｌｉｔｅオブジェクトのデータを保持してもよい。この変形例では、各ＥＣＨＯＮＥＴ  Ｌｉｔｅオブジェクトのクラスコードを保持するクラス記憶部２６は不要になる。
【００６０】
第６変形例を説明する。上記実施例では、通信システム１０の通信プロトコルとしてＥＣＨＯＮＥＴ  Ｌｉｔｅを例示したが、実施例に記載の技術はこれに制限されない。実施例に記載の技術は、機器認証を未定義の通信プロトコルに広く適用可能であり、ＣＡ認証等の大掛かりな仕組みを要さず、簡便な機器認証を実現できるという効果を奏する。
【００６１】
上述した実施例および変形例の任意の組み合わせもまた本開示の実施の形態として有用である。組み合わせによって生じる新たな実施の形態は、組み合わされる実施例および変形例それぞれの効果をあわせもつ。また、請求項に記載の各構成要件が果たすべき機能は、実施例および変形例において示された各構成要素の単体もしくはそれらの連携によって実現されることも当業者には理解されるところである。
【００６２】
実施例および変形例に記載の技術は、以下の項目によって特定されてもよい。
［項目１］
所定の通信プロトコルにしたがって通信する認証装置（１２）と被認証装置（１４）とを備え、
前記認証装置（１２）は、
前記通信プロトコルにより規定されたオブジェクトであって、かつ、予め定められた正解値が設定される第１プロパティと、前記被認証装置（１４）により検査値が設定される第２プロパティとを含むオブジェクトである認証オブジェクトを保持する保持部（３７）と、
前記認証オブジェクトへのアクセスに必要な情報を前記被認証装置（１４）へ通知する通知部（３１）と、を含み、
前記被認証装置（１４）は、前記通信プロトコルにより規定されたプロパティ操作方法にしたがって、予め定められた正解値に基づく検査値を前記認証装置（１２）の認証オブジェクトの第２プロパティに設定する設定部（６４）を含み、
前記認証装置（１２）は、前記認証オブジェクトの第１プロパティに設定された正解値と、前記認証オブジェクトの第２プロパティに設定された検査値とをもとに、前記被認証装置（１４）を認証する認証処理部（４２）をさらに含む、
通信システム。
この通信システムによると、機器間の通信で用いられる通信プロトコル（例えばＨＥＭＳプロトコル）が機器認証を未定義であっても、簡便な手法にて機器認証を実現できる。
［項目２］
前記認証オブジェクトは、前記認証装置（１２）が生成した第１乱数値が設定される第３プロパティをさらに含み、
前記被認証装置（１４）の設定部（６４）は、前記認証装置（１２）から送信された第１乱数値と前記正解値とをもとに導出した第１ダイジェスト値を、前記検査値として、前記認証装置（１２）の認証オブジェクトの第２プロパティに設定し、
前記認証装置（１２）の認証処理部（４２）は、前記認証オブジェクトの第１プロパティに設定された正解値と、前記認証オブジェクトの第３プロパティに設定された第１乱数値とをもとに第２ダイジェスト値を導出し、前記認証オブジェクトの第２プロパティに設定された第１ダイジェスト値と前記第２ダイジェスト値とが一致する場合、前記被認証装置（１４）の認証に成功したと判定する、
項目１に記載の通信システム。
この通信システムによると、認証装置と被認証装置間で送受信されるデータはダイジェスト値であるため、認証装置と被認証装置間の通信が傍受されても、パスワード等の秘密データの漏洩を防止することができる。
［項目３］
前記認証オブジェクトは、前記被認証装置（１４）が生成した第２乱数値が設定される第４プロパティをさらに含み、
前記被認証装置（１４）の設定部（６４）は、前記認証装置（１２）から送信された第１乱数値と、本装置で生成した第２乱数値と、前記正解値とをもとに導出した第１ダイジェスト値を、前記認証装置（１２）の認証オブジェクトの第２プロパティに設定し、
前記認証装置（１２）の認証処理部（４２）は、前記認証オブジェクトの第１プロパティに設定された正解値と、前記認証オブジェクトの第３プロパティに設定された第１乱数値と、前記認証オブジェクトの第４プロパティに設定された第２乱数値とをもとに第２ダイジェスト値を導出し、前記認証オブジェクトの第２プロパティに設定された第１ダイジェスト値と前記第２ダイジェスト値とが一致する場合、前記被認証装置（１４）の認証に成功したと判定する、
項目２に記載の通信システム。
この通信システムによると、ダイジェスト値の元データに被認証装置が生成した第２乱数値が加わるため、認証装置と被認証装置間の通信のセキュリティ強度を一層高めることができる。
［項目４］
所定の通信プロトコルにしたがって被認証装置（１４）と通信する認証装置（１２）であって、
前記通信プロトコルにより規定されたオブジェクトであって、かつ、予め定められた正解値が設定される第１プロパティと、前記被認証装置（１４）により検査値が設定される第２プロパティとを含むオブジェクトである認証オブジェクトを保持する保持部（３７）と、
前記認証オブジェクトへのアクセスに必要な情報を前記被認証装置（１４）へ通知する通知部（３１）と、
認証処理部（４２）と、を備え、
前記被認証装置（１４）は、前記通信プロトコルにより規定されたプロパティ操作方法にしたがって、予め定められた正解値に基づく検査値を前記認証装置（１２）の認証オブジェクトの第２プロパティに設定し、
前記認証処理部（４２）は、前記認証オブジェクトの第１プロパティに設定された正解値と、前記認証オブジェクトの第２プロパティに設定された検査値とをもとに、前記被認証装置（１４）を認証する、
認証装置（１２）。
この認証装置によると、項目１の通信システムと同様の効果を奏する。
［項目５］
所定の通信プロトコルにしたがって通信する認証装置（１２）と被認証装置（１４）が実行する認証方法であって、
前記認証装置（１２）は、前記通信プロトコルにより規定されたオブジェクトであって、かつ、予め定められた正解値が設定される第１プロパティと、前記被認証装置（１４）により検査値が設定される第２プロパティとを含むオブジェクトである認証オブジェクトを保持し、
前記認証装置（１２）が、前記認証オブジェクトへのアクセスに必要な情報を前記被認証装置（１４）へ通知するステップと、
前記被認証装置（１４）が、前記通信プロトコルにより規定されたプロパティ操作方法にしたがって、予め定められた正解値に基づく検査値を前記認証装置（１２）の認証オブジェクトの第２プロパティに設定するステップと、
前記認証装置（１２）が、前記認証オブジェクトの第１プロパティに設定された正解値と、前記認証オブジェクトの第２プロパティに設定された検査値とをもとに、前記被認証装置（１４）を認証するステップと、
を含む認証方法。
この認証方法によると、項目１の通信システムと同様の効果を奏する。
【符号の説明】
【００６３】
１０  通信システム、  １２  認証装置、  １４  被認証装置、  ３０  オブジェクト生成部、  ３１  プロファイル通知部、  ３７  保持部、  ４０  第１乱数生成部、  ４２  認証処理部、  ６０  第２乱数生成部、  ６２  ダイジェスト値生成部、  ６４  認証要求部。
【図１】
2020167488.tif 000003
【図２】
2020167488.tif 000004
【図３】
2020167488.tif 000005
【図４】
2020167488.tif 000006
【図５】
2020167488.tif 000007