(57)【特許請求の範囲】
【請求項１】
電子機器と、通信に用いる第１認証情報を発行するサーバ装置と、に接続される中継装置であって、
前記サーバ装置と前記電子機器との間で実行され、前記電子機器の能力を表す能力情報の検証を含む認証処理であって、前記第１認証情報を発行するための第１ブートストラップ認証処理の実行指示と、前記中継装置と前記サーバ装置との間の通信に用いる第３認証情報を発行するための第２ブートストラップ認証処理の実行指示と、を受け付ける受付部と、
前記第１ブートストラップ認証処理の実行指示が受け付けられた場合に、前記能力情報を含む第２認証情報を用いて前記第１ブートストラップ認証処理を中継する中継部と、
前記第２ブートストラップ認証処理の実行指示が受け付けられた場合に、第４認証情報を用いて前記第２ブートストラップ認証処理を前記サーバ装置との間で実行する認証処理部と、
前記第３認証情報を用いて確立された通信によって、前記第１ブートストラップ認証処理の実行指示を前記サーバ装置に送信する送信部と、
を備えることを特徴とする中継装置。
【請求項２】
電子機器と、通信に用いる第１認証情報を発行するサーバ装置と、に接続される中継装置を、
前記サーバ装置と前記電子機器との間で実行され、前記電子機器の能力を表す能力情報の検証を含む認証処理であって、前記第１認証情報を発行するための第１ブートストラップ認証処理の実行指示と、前記中継装置と前記サーバ装置との間の通信に用いる第３認証情報を発行するための第２ブートストラップ認証処理の実行指示と、を受け付ける受付部と、
前記第１ブートストラップ認証処理の実行指示が受け付けられた場合に、前記能力情報を含む第２認証情報を用いて前記第１ブートストラップ認証処理を中継する中継部と、
前記第２ブートストラップ認証処理の実行指示が受け付けられた場合に、第４認証情報を用いて前記第２ブートストラップ認証処理を前記サーバ装置との間で実行する認証処理部と、
前記第３認証情報を用いて確立された通信によって、前記第１ブートストラップ認証処理の実行指示を前記サーバ装置に送信する送信部、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、通信装置、サーバ装置、中継装置、制御装置、およびプログラムに関する。
【背景技術】
【０００２】
ＷＰＳ（Wi-Fi  Protected  Setup）では、無線ＬＡＮ（ローカルエリアネットワーク）端末が所定の無線ＬＡＮアクセスポイントに接続するために必要な認証情報（クレデンシャル）は、最低限のユーザ操作により暗号化された通信路上で設定される。ＷＰＳは、登録サーバと無線ＬＡＮアクセスポイントとを分離することにより、遠隔ブートストラップ、ブートストラップ接続時の相互認証、および、プッシュボタン設定をサポートする。遠隔ブートストラップとは、登録サーバが無線ＬＡＮから物理的に離れた場所にある場合でも端末にクレデンシャルを設定する機能である。この場合、無線ＬＡＮアクセスポイントは機器登録情報を無線ＬＡＮ端末と登録サーバとの間で転送するリレーとして機能する。プッシュボタン設定とは、登録サーバと無線ＬＡＮ端末両方の設定ボタンを押すだけで無線ＬＡＮ端末にクレデンシャルを設定する機能である。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Olli  Vihervuori、“Recent  Developments  in  IEEE  802.11  Wireless  Local  Area  Network  Link-layer  Security”、2009
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ＷＰＳのプッシュボタン設定モードは、相互認証をサポートしていない。このため、暗号化された通信路がいったん中間ノードで終端される場合がある。この場合、中間ノードによってクレデンシャルが盗聴されるＭｉＴＭ（Man-in-The-Middle）攻撃に対する脆弱性の問題があった。また、ＷＰＳは、通信機器がエアコンか蓄電池か所定の機器認定（例えばＥＣＨＯＮＥＴ（登録商標）  Ｌｉｔｅ機器認定）を受領したものであるかなど、機器の能力情報（機器ケーパビリティ）に関する情報を検証することができない。このため、本来、機器ケーパビリティ上接続を許可してはいけない通信機器に対してもクレデンシャル設定を行う可能性があった。この結果、ＨＥＭＳ（Home  Energy  Management  System）などのエネルギー機器制御の用途では、システムの物理的な安全性が低下する可能性があるという問題があった。
【課題を解決するための手段】
【０００５】
実施形態の通信装置は、通信に用いる第１認証情報を発行するサーバ装置に接続される。通信装置は、受付部と第１認証処理部とを備える。受付部は、第１認証情報を発行するためのブートストラップ認証処理の実行指示を受け付ける。実行指示が受け付けられた場合に、通信装置の能力を表す能力情報を含む第２認証情報を用いて、能力情報の検証を含むブートストラップ認証処理を、サーバ装置との間で実行する。
【図面の簡単な説明】
【０００６】
【図１】第１の実施形態の通信システムのブロック図。
【図２】第１の実施形態の通信装置のブロック図。
【図３】第１の実施形態の機器登録サーバのブロック図。
【図４】第１の実施形態の機器制御装置のブロック図。
【図５】第１の実施形態のブートストラップ通信処理のシーケンス図。
【図６】第１の実施形態の通常通信処理のシーケンス図。
【図７】第２の実施形態の通信システムのブロック図。
【図８】第２の実施形態の機器登録リレーのブロック図。
【図９】第２の実施形態のブートストラップ通信処理のシーケンス図。
【図１０】第３の実施形態の通信システムのブロック図。
【図１１】第３の実施形態のアダプタのブロック図。
【図１２】第３の実施形態の機器のブロック図。
【図１３】第３の実施形態のブートストラップ通信処理のシーケンス図。
【図１４】第４の実施形態のアダプタのブロック図。
【図１５】第４の実施形態のブートストラップ通信処理のシーケンス図。
【図１６】第５の実施形態の通信システムのブロック図。
【図１７】第１から第５の実施形態の装置のハードウェア構成図。
【発明を実施するための形態】
【０００７】
以下に添付図面を参照して、この発明にかかる通信装置の好適な実施形態を詳細に説明する。
【０００８】
（第１の実施形態）
第１の実施形態にかかる通信装置は、予め設定されたブートストラップクレデンシャル（第２認証情報）を用いて、機器登録サーバとの間でブートストラップ認証処理を行う。ブートストラップ認証処理は、通信装置が他の装置（サーバ装置、機器制御装置等）との間の通信に用いる認証情報（オペレーショナルクレデンシャル：第１認証情報）を発行するための認証処理である。これにより、プッシュボタン設定の場合でも暗号化された通信路を通信装置と機器登録サーバとの間にエンドツーエンドで設定することが可能となる。従って、中間ノードによってクレデンシャルが盗聴されるＭｉＴＭ攻撃を防止することができる。
【０００９】
また、ブートストラップクレデンシャルおよびオペレーショナルクレデンシャル（第１認証情報）に機器ケーパビリティを特定可能な情報を含める。これにより、機器のケーパビリティに関する情報を検証することが可能となる。従って、本来、機器ケーパビリティ上接続を許可してはいけない通信機器に対してクレデンシャル設定を行わないようにし、対象システムの物理的な安全性の向上が可能となる。
【００１０】
図１は、第１の実施形態の通信システムの構成例を示すブロック図である。本実施形態の通信システムは、通信装置１００と、サーバ装置としての機器登録サーバ２００と、制御装置としての機器制御装置３００と、を備える。
【００１１】
通信装置１００と機器登録サーバ２００との間、および、通信装置１００と機器制御装置３００との間の通信のＭＡＣ（Media  Access  Control）層および物理層は、有線ＬＡＮ、無線ＬＡＮ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＺｉｇＢｅｅ（登録商標）等の通信プロトコルを用いて実現してもよい。また、通信装置１００と機器登録サーバ２００との間で交換される認証情報であるブートストラップクレデンシャル、および、通信装置１００と機器制御装置３００との間で交換される通常通信のための認証情報であるオペレーショナルクレデンシャルは、データリンクレイヤ、ネットワークレイヤ、トランスポートレイヤ、および、アプリケーションレイヤなどのいずれのレイヤのプロトコルを用いて交換してもよい。認証情報をデータリンクレイヤで交換する場合には、ＩＥＥＥ８０２．１Ｘ、および、ＩＥＥＥ８０２．１５．９などのプロトコルを用いてもよい。認証情報をデータリンクよりも上位レイヤのプロトコルを用いて交換する場合には、ＲＦＣ５１９１、および、ＩＫＥｖ２（Internet  Key  Exchange  version  2）、ＴＬＳ（Transport  Layer  Security）を使用してもよい。
【００１２】
ブートストラップクレデンシャルは、ブートストラップ認証処理が実行される前に、例えば、通信装置１００の製造時、出荷時または販売時に、通信装置１００の利用者が容易にアクセスできない方式（暗号化を施す、および、ブートストラップクレデンシャルを小ブロックに分割し各ブロックを記憶領域の広い範囲に分散して記憶するなど）で通信装置１００に設定される。また、一旦通信装置１００に設定されたブートストラップクレデンシャルは、更新されてもよい。その場合、通信装置１００のソフトウェア更新時に更新ソフトウェアの中に更新ブートストラップクレデンシャルを入れることにより、ブートストラップクレデンシャルを更新してもよい。
【００１３】
図２は、第１の実施形態にかかる通信装置１００の構成の一例を示すブロック図である。図２に示すように、通信装置１００は、駆動部１０１と、受付部１０２と、第１認証処理部１１１と、第２認証処理部１１２と、通信処理部１２１と、を備えている。
【００１４】
通信処理部１２１は、上記のように有線ＬＡＮ、無線ＬＡＮ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＺｉｇＢｅｅ等の任意の通信プロトコルに従い外部装置との間の通信を制御する。
【００１５】
駆動部１０１は、ハードウェア駆動およびソフトウェア駆動により駆動する。ブートストラップ認証処理は、駆動部１０１が駆動されることを契機に開始される。駆動部１０１は、例えば、ハードウェア駆動またはソフトウェア駆動のブートストラップボタンにより実現できる。駆動部１０１は、ユーザにより押下されたときに、プッシュボタンイベントを生成する。
【００１６】
受付部１０２は、ブートストラップ認証処理の実行指示を受け付ける。例えば、受付部１０２は、駆動部１０１により生成されたプッシュボタンイベントを実行指示として受け付ける。受付部１０２は、受け付けた実行指示（プッシュボタンイベント）を第１認証処理部１１１および第２認証処理部１１２に送信する。
【００１７】
ソフトウェア駆動によるブートストラップボタンの場合、リモコンやＲＦＩＤタグなどの遠隔装置から通信処理部１２１を介してプッシュボタンイベントが生成されてもよい。この場合、受付部１０２は、遠隔装置から送信されたプッシュボタンイベントを実行指示として受け付ける。
【００１８】
ハードウェア駆動によるブートストラップボタンの場合、駆動部１０１が可動部を有してもよい。この場合、駆動部１０１は、ユーザが可動部を手で押すなどの動作により駆動する。駆動部１０１が可動部を有しない場合には、ユーザの体の一部が駆動部１０１に接触するなどの動作で駆動部１０１が駆動するように構成してもよい。駆動部１０１が音入力インターフェースを持つ場合にはユーザによる発声や手を叩く音などの動作により駆動部１０１が駆動するように構成してもよい。
【００１９】
第１認証処理部１１１は、ブートストラップクレデンシャルを用いて機器登録サーバ２００との間でブートストラップ認証処理を実行する。例えば、第１認証処理部１１１は、プッシュボタンイベントを受信すると、機器登録サーバ２００との間で通信処理部１２１を介したブートストラップ認証処理を開始する。第１認証処理部１１１は、ブートストラップ認証処理が成功終了すると機器登録サーバ２００から取得したオペレーショナルクレデンシャルを第２認証処理部１１２に渡す。ブートストラップ認証処理は、プッシュボタンイベントを受信後、一定時間（Walk  Time）が経過すると途中状態であっても終了する。
【００２０】
第２認証処理部１１２は、オペレーショナルクレデンシャルを用いて、機器制御装置３００などの外部装置との間の通信を確立するための通信認証処理を、外部装置との間で実行する。例えば、第２認証処理部１１２は、オペレーショナルクレデンシャルを保持しており、かつ、機器制御装置３００に未接続の場合には通信認証処理を開始する。また、第２認証処理部１１２は、プッシュボタンイベントを受信すると、一定時間の間、機器制御装置３００との間で通信処理部１２１を介した通信認証処理を禁止し、途中状態の通信認証処理は直ちに終了する。
【００２１】
図３は、第１の実施形態にかかる機器登録サーバ２００の構成の一例を示すブロック図である。図３に示すように、機器登録サーバ２００は、駆動部２０１と、受付部２０２と、認証処理部２１１と、通信処理部２２１と、を備えている。
【００２２】
通信処理部２２１は、有線ＬＡＮ、無線ＬＡＮ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＺｉｇＢｅｅ等の任意の通信プロトコルに従い外部装置との間の通信を制御する。
【００２３】
駆動部２０１は、ハードウェア駆動およびソフトウェア駆動により駆動する。受付部２０２は、ブートストラップ認証処理の実行指示を受け付ける。駆動部２０１および受付部２０２の構成は、それぞれ通信装置１００の駆動部１０１および受付部１０２と同様であるため説明を省略する。
【００２４】
認証処理部２１１は、受付部２０２からプッシュボタンイベントを受信すると、通信装置１００との間で通信処理部２２１を介したブートストラップ認証処理を開始する。認証処理部２１１は、プッシュボタンイベントを受信後、一定時間経過すると途中状態であってもブートストラップ認証処理を終了する。
【００２５】
図４は、第１の実施形態にかかる機器制御装置３００の構成の一例を示すブロック図である。図４に示すように、機器制御装置３００は、認証処理部３０１と、通信処理部３１１とを備えている。
【００２６】
通信処理部３１１は、有線ＬＡＮ、無線ＬＡＮ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＺｉｇＢｅｅ等の任意の通信プロトコルに従い外部装置との間の通信を制御する。認証処理部３０１は、通信装置１００との間で通信処理部３１１を介してオペレーショナルクレデンシャルを用いた通信認証処理を行う。
【００２７】
次に、このように構成された第１の実施形態にかかる通信装置１００および機器登録サーバ２００との間で実行されるブートストラップ通信処理について説明する。図５は、第１の実施形態におけるブートストラップ通信処理の一例を示すシーケンス図である。
【００２８】
ユーザの動作等により通信装置１００および機器登録サーバ２００のブートストラップボタンが駆動される（ステップＳ１０１、ステップＳ１０２）と、一定時間（Walk  Time）の間、通信装置１００および機器登録サーバ２００は、ブートストラップクレデンシャルの送信および受信を有効とする。一定時間の間、通信装置１００は、まず機器登録サーバ２００の通信可能なアドレスを発見するための機器登録サーバ発見手順を実行する（ステップＳ１０３）。機器登録サーバ発見には、ＤＨＣＰ（Dynamic  Host  Configuration  Protocol）、ＤＮＳ（Domain  Name  System）、および、ＵＰｎＰ（Universal  Plug  and  Play）を用いてもよい。
【００２９】
次に、通信装置１００は、機器登録サーバ２００との間でブートストラップクレデンシャル（BtCred）を用いたブートストラップ認証処理を実行する（ステップＳ１０４）。ブートストラップ認証処理の中で、通信装置１００は、機器登録サーバ２００との間に暗号化が施される安全な通信路を確立する。通信装置１００は、確立した安全な通信路上で機器登録サーバ２００に自身の機器ケーパビリティを送信する。ブートストラップクレデンシャルに証明書を含む場合には、通信装置１００は、機器登録サーバ２００との間に暗号化が施される安全な通信路を確立する際、自身の機器ケーパビリティを含む自身の証明書に対応する秘密鍵で署名したブートストラップ認証要求メッセージを機器登録サーバ２００に送信してもよい。この場合、確立した安全な通信路上で自身の機器ケーパビリティを送信する必要はない。また、ブートストラップクレデンシャルにＩＢＥクレデンシャルを含む場合には、通信装置１００は、機器登録サーバ２００との間に暗号化が施される安全な通信路上を確立する際、自身の機器ケーパビリティを含む自身のＩＤを機器登録サーバ２００に送信してもよい。この場合、確立した安全な通信路上で自身の機器ケーパビリティを送信する必要はない。
【００３０】
機器登録サーバ２００は、通信装置１００から受信した機器ケーパビリティを検証する（ステップＳ１０５）。機器ケーパビリティの検証に成功した場合、機器登録サーバ２００は、この機器ケーパビリティを含むオペレーショナルクレデンシャル（OpCred）を発行する（ステップＳ１０６）。機器登録サーバ２００は、発行したオペレーショナルクレデンシャルを、安全な通信路上で通信装置１００に送信する（ステップＳ１０７）。これによりブートストラップ認証処理が成功終了する。
【００３１】
次に、このように構成された第１の実施形態にかかる通信装置１００および機器制御装置３００との間で実行される通常通信処理について説明する。図６は、第１の実施形態における通常通信処理の一例を示すシーケンス図である。
【００３２】
図６では、通信装置１００は、既に機器登録サーバ２００からオペレーショナルクレデンシャルを取得しているものとする。
【００３３】
通信装置１００は、まず機器制御装置３００の通信可能なアドレスを発見するための機器制御装置発見手順を実行する（ステップＳ２０１）。機器制御装置発見には、ＤＨＣＰ、ＤＮＳ、および、ＵＰｎＰを用いてもよい。次に、通信装置１００は、機器制御装置３００との間でオペレーショナルクレデンシャル（OpCred）を用いた通信認証処理を実行する（ステップＳ２０２）。この通信認証処理の中で、通信装置１００は機器制御装置３００との間で暗号化が施される安全な通信路を確立し、この安全な通信路上で機器制御装置３００に自身の機器ケーパビリティを送信する。オペレーショナルクレデンシャルに証明書を含む場合には、通信装置１００は、機器制御装置３００との間に暗号化が施される安全な通信路を確立する際、自身の機器ケーパビリティを含む自身の証明書に対応する秘密鍵で署名した通信認証要求メッセージを機器制御装置３００に送信してもよい。この場合、確立した安全な通信路上で自身の機器ケーパビリティを送信する必要はない。また、オペレーショナルクレデンシャルにＩＢＥクレデンシャルを含む場合には、通信装置１００は、機器制御装置３００との間に暗号化が施される安全な通信路上を確立する際、自身の機器ケーパビリティを含む自身のＩＤを機器制御装置３００に送信してもよい。この場合、確立した安全な通信路上で自身の機器ケーパビリティを送信する必要はない。
【００３４】
機器制御装置３００の認証処理部３０１は、通信装置１００から受信した機器ケーパビリティを検証する（ステップＳ２０３）。機器ケーパビリティの検証に成功した場合、通信認証処理が成功終了する。なお、通信認証処理とネットワークアクセス認証を統合してもよい。例えば、ＺｉｇＢｅｅ  ＩＰのネットワークアクセス認証に使用されるＲＦＣ５１９１を通信認証処理兼ネットワークアクセス認証に使用してもよい。この場合、ＲＦＣ５１９１によるＺｉｇＢｅｅ  ＩＰネットワークアクセス認証成功が通信認証処理成功も意味する。通信認証処理が成功した後、通信装置１００は、機器制御装置３００との間でアプリケーション通信を実行する（ステップＳ２０４）。
【００３５】
通信装置１００は、家電機器、スマートメータ、電気自動車、および、ソーラーパネルに実装してもよい。機器登録サーバ２００は、ＨＥＭＳサーバ、スマートメータ、電力会社サーバ、インターネットサービスプロバイダサーバ、コンセントレータ、ルータ、無線ＬＡＮアクセスポイント、および、ＬＡＮスイッチに実装してもよい。機器制御装置３００は、ＨＥＭＳサーバ、ＰＣ（パーソナルコンピュータ）、タブレット端末、および、携帯電話に実装してもよい。ブートストラップクレデンシャルはＩＣカード（スマートカード）に組み込んでもよい。
【００３６】
ブートストラップクレデンシャルは、共通鍵クレデンシャル、公開鍵クレデンシャル、および、ＩＢＥ（ＩＤベース暗号）クレデンシャルを使用してもよい。一般にブートストラップ認証処理は相互認証が基本である。ブートストラップクレデンシャルが、機器登録サーバ２００を認証するために必要な認証情報（例えば通信装置１００および機器登録サーバ２００の双方が信頼する認証局の公開鍵など）を含むように構成してもよい。ブートストラップクレデンシャルは機器ケーパビリティを含む。
【００３７】
オペレーショナルクレデンシャルは、共通鍵クレデンシャル、公開鍵クレデンシャル、ＩＢＥクレデンシャルを使用してもよい。また、オペレーショナルクレデンシャルは機器ケーパビリティを含む。
【００３８】
ブートストラップクレデンシャルおよびオペレーショナルクレデンシャルに含まれる機器ケーパビリティの例として、機種識別子や機器プロファイル識別子が挙げられる。機種識別子は、機器メーカ名、機器種別、機器型番を含んでもよい。機器種別は、例えば、”airconditioner”などの文字列でもよい。機器プロファイル識別子は、文字列でもよく、また、階層化されていてもよい。例えば、通信装置１００がエコーネット（ＥＣＨＯＮＥＴ（登録商標））対応エアコンの場合、”echonet”をプロファイル大項目、airconditionerをプロファイル小項目として構成した文字列”echonet.airconditioner”を、機器プロファイル識別子として使用可能である。ブートストラップクレデンシャルは、通信装置１００ごとに固有な機器識別子（製造番号など）や定格電圧、定格電流、電源周波数などを含んでもよい。
【００３９】
ブートストラップ認証処理のための認証プロトコルとしてＲＦＣ３７４８で定義されるＥＡＰ（Extensible  Authentication  Protocol）を使ってもよい。その場合、ＲＦＣ５１９１で定義されるＰＡＮＡ（Protocol  for  carrying  Authentication  for  Network  Access）、ＲＦＣ４３０６で定義されるＩＫＥｖ２、またはＩＥＥＥ  ８０２．１ＸをＥＡＰトランスポートとして使用してもよい。
【００４０】
ＩＢＥクレデンシャルを使用する場合には、ＩＤに機器ケーパビリティやＩＤの有効期間を示す情報を含んでもよい。例えば、ＩＤとして”foo@example.com  allocated＿date＝20150101  expiration  date＝20151231    capability＝ECHONET.airconditioner”という文字列を使用可能である。例えばＩＤが有効期間を含む場合、ＩＢＥクレデンシャルで認証された装置はこの有効期間の間だけ通信することができる。また、ＩＢＥクレデンシャルを使用する場合には、後述するＥＡＰ−ＩＭＡ（IBE-based  Mutual  Authentication）を相互認証メソッドとして使用してもよい。
【００４１】
また、ブートストラップ認証処理とネットワークアクセス認証とを統合してもよい。例えば、ＺｉｇＢｅｅ  ＩＰのネットワークアクセス認証に使用されるＲＦＣ５１９１をブートストラップ認証処理兼ネットワークアクセス認証に使用した場合、ＲＦＣ５１９１によるＺｉｇＢｅｅ  ＩＰネットワークアクセス認証成功がブートストラップ認証処理成功も意味する。
【００４２】
また、オペレーショナルクレデンシャル送信に使用される安全な通信路として、後述するＥＡＰ−ＩＭＡやＲＦＣ５２１６で指定されるＥＡＰ−ＴＬＳなどのＥＡＰ認証メソッドが提供する属性暗号化機構により生成される安全な通信路を使用してもよい。また、http：//tools.ietf.org/html/draft-yegin-pana-encr-avp-01、http：//tools.ietf.org/id/draft-ohba-pana-keywrap-04.txtで規定される属性暗号化機構により生成される安全な通信路を使用してもよい。
【００４３】
次に、ＩＢＥクレデンシャルを用いた相互認証の方法について以下に説明する。ＩＢＥは、ペアリング関数と呼ばれる、ある楕円曲線上の２点を、ある有限体Ｆの元（げん）に変換する双線形写像を使用する。一般にある写像eがペアリング関数であるとき、ｅ（ａＰ，ｂＱ）＝ｅ（Ｐ，Ｑ）ａｂが成立する。ここで、ａ，ｂは任意の整数、Ｐ，Ｑは楕円曲線上の点である。このようなペアリング関数の例として、テイト（Tate）ペアリング、ベイユ（Veil）ペアリングが存在する。
【００４４】
以下では、＜ａ１，ａ２，・・・ａＮ＞は値ａ１、ａ２、・・・、ａＮのＮ項組を表わす。また、ｓ１｜ｓ２｜・・・｜ｓＮは、は文字列s1、ｓ２、・・・、ｓＮの連結を表わす。
【００４５】
ＩＢＥは、暗号化エンティティ、復号化エンティティ、および、鍵生成センターの３つの機能要素から構成される。暗号化エンティティおよび復号化エンティティをユーザと呼ぶ。
【００４６】
ブートストラップクレデンシャルにＩＢＥクレデンシャルを用いる場合は、例えば、鍵生成センターが、製造業者や認定機関が管理するサーバ（図示せず）に相当する。また、暗号化エンティティおよび復号化エンティティは、通信装置１００および機器登録サーバ２００に相当する。オペレーショナルクレデンシャルにＩＢＥクレデンシャルを用いる場合は、鍵生成センターが、機器制御装置３００に相当する。また、暗号化エンティティおよび復号化エンティティは、通信装置１００および機器制御装置３００に相当する。
【００４７】
以下の説明では、楕円曲線を一意に指定するためのパラメータ（楕円曲線指定子）が各ユーザおよび鍵生成センターで事前設定されているものとする。「楕円曲線」という用語は、各ユーザおよび鍵生成センターに事前設定された共通の楕円曲線指定子に対応する楕円曲線を指すものとする。
【００４８】
ＩＢＥアルゴリズムは、一般に初期設定（Ｓｅｔｕｐ）、秘密鍵生成（Ｅｘｔｒａｃｔ）、暗号化（Ｅｎｃｒｙｐｔｉｏｎ）、復号（Ｄｅｃｒｙｐｔｉｏｎ）の４フェーズから構成される。
【００４９】
初期設定フェーズは、鍵生成センターの初期化処理であり、鍵生成センター内で閉じた処理である。初期設定フェーズで、鍵生成センターは、マスター秘密鍵ｓ、および、鍵生成センター公開鍵Ｐｐｕｂ＝ｓＰを生成する。Ｐは楕円曲線上の固定点である。
【００５０】
秘密鍵生成フェーズは、ユーザの初期化処理である。秘密鍵生成フェーズで、ユーザは、バイト列で表わされる自身の識別子ＩＤ、秘密鍵ｋ＿ＩＤ、Ｐｐｕｂ、およびＰを、暗号化された安全な通信路上で鍵生成センターから取得する。
【００５１】
鍵生成センターはｋ＿ＩＤをｋ＿ＩＤ＝ｓ・Ｋ＿ＩＤとして生成する。ここで、ＩＤはユーザの識別子、Ｋ＿ＩＤはＫ＿ＩＤ＝Ｈ１（ＩＤ）で与えられる識別子ＩＤの公開鍵、Ｈ１はハッシュ関数である。なお、ＩＤのバイト列の一部または全部をユーザが指定することが可能である。
【００５２】
暗号化フェーズは、暗号化エンティティの暗号化処理である。暗号化フェーズで、暗号化エンティティは、乱数ｒを生成し、Ｅ［ｂ，Ｍ］＝＜ｒＰ，Ｃ＞を復号化エンティティに送信する。ここで、ｂは復号化エンティティの識別子、Ｍは平文、Ｃは平文Ｍに対する暗号文を表わす。例えば、ＩＢＥアルゴリズムにＳＡＫＫＥ（Sakai-Kasahara  Key  Exchange）を用いた場合、Ｃ＝Ｍ＋Ｈ２（ｅ（ｒＫ＿ｂ，Ｐｐｕｂ））として計算される。ここで、Ｈ２はハッシュ関数、ペアリング関数ＥにはＴａｔｅ−Ｌｉｃｈｔｅｎｂａｕｍペアリング関数が使用される。ｒは、暗号化エンティティが生成した乱数、Ｋ＿ｂはＩＤ＝ｂとした場合のＫ＿ＩＤ、つまり、復号化エンティティｂの公開鍵である。ｒＫ＿ｂはｒとＫ＿ｂの積である。
【００５３】
復号フェーズは、復号化エンティティの復号化処理である。復号フェーズで、復号化エンティティは、暗号化エンティティから受信した＜ｒＰ，Ｃ＞を用いて平文Ｍを復号化する。例えば、ＩＢＥアルゴリズムにＳＡＫＫＥを用いた場合、Ｍ＝Ｅ−１［ｂ，＜ｒＰ，Ｃ＞］＝Ｃ−Ｈ２（ｅ（Ｋ＿ｂ，ｒＰ））となる。
【００５４】
次に、ＩＢＥアルゴリズムを用いた相互認証プロトコルであるＩＭＡについて説明する。
【００５５】
ＩＭＡは、１．５メッセージ往復で相互認証が完了するメインモードと、２メッセージ往復で相互認証が完了するパズルモードの２種類のモードを持つ。パズルモードはＤｏＳ（Denial  of  Service）攻撃に対する耐性を持つ。
【００５６】
以下、それぞれのモードのメッセージ交換を定義する。「Ａ→Ｂ：Ｘ」は、ＡからＢに対する、内容がＸであるメッセージ送信を示す。以下に記載するＩＭＡは、Ｅ［ｘ，Ｍ］＝＜ｒＰ，Ｃ＞（Ｃは平文Ｍに対する暗号文）の形態の暗号化関数を使用する任意のＩＢＥアルゴリズムに対し動作する。
【００５７】
メインモードの相互認証は以下のように定義される。
Ａ→Ｂ：＜ａ，Ｎ＿ａ＞
Ａ←Ｂ：Ｅ［ａ，ｂ｜Ｎ＿ａ｜Ｎ＿ｂ｜ａｔｔｒ＿ｂ］
Ａ→Ｂ：Ｅ［ｂ，Ｎ＿ｂ｜ａｔｔｒ＿ａ］
【００５８】
ここで、Ａはイニシエータ、Ｂはレスポンダ、ａはイニシエータの識別子、ｂはレスポンダの識別子、Ｎ＿ｘは識別子ｘ（ｘはａまたはｂ）のランダムバイト系列、ａｔｔｒ＿ｘは、識別子ｘ（ｘはａまたはｂ）のエンティティの属性リストである。
【００５９】
メインモードの第２番目および第３番目のメッセージで、相手から受信した暗号化関数Ｅの出力を復号化できなかった場合、または、復号後のバイト系列の所定の位置に自身が生成したランダムバイト系列を含まない場合に、認証成功とする。
【００６０】
パズルモードの相互認証は以下のように定義される。
Ａ→Ｂ：＜ａ，Ｎ＿ａ＞
Ａ←Ｂ：＜ｂ，Ｎ＿ｂ，ｐｕｚｚｌｅ＞
Ａ→Ｂ：＜ｓｏｌｕｔｉｏｎ，Ｅ［ｂ，ａ｜Ｎ＿ａ｜Ｎ＿ｂ｜ａｔｔｒ＿ａ］＞
Ａ←Ｂ：Ｅ［ａ，Ｎ＿ａ｜ａｔｔｒ＿ｂ］
【００６１】
ここで、ｐｕｚｚｌｅはレスポンダが生成する問題で、ｓｏｌｕｔｉｏｎはｐｕｚｚｌｅに対する解答である。他の表記はメインモードと同じである。
【００６２】
レスポンダは、イニシエータからｐｕｚｚｌｅに対する正しいｓｏｌｕｔｉｏｎを受信して初めてそのイニシエータに対する状態を生成する。ｓｏｌｕｔｉｏｎが正しくない場合には、パズルモードの第２番目メッセージはレスポンダで廃棄される。
【００６３】
パズルモードの第３番目および第４番目のメッセージで、相手から受信した暗号化関数Ｅの出力を復号化できなかった場合、または、復号後のバイト系列の所定の位置に自身が生成したランダムバイト系列を含まない場合に、認証成功とする。
【００６４】
Ｐｕｚｚｌｅは、＜ｐｕｚｚｌｅ＿ｔｙｐｅ，ｐｕｚｚｌｅ＿ｃｏｎｔｅｎｔ＞で表わされる。ここで、ｐｕｚｚｌｅ＿ｔｙｐｅは問題の種別、ｐｕｚｚｌｅ＿ｃｏｎｔｅｎｔは問題の内容である。
【００６５】
ｐｕｚｚｌｅで指定される問題の一例として、ランダム値をｐｕｚｚｌｅ＿ｃｏｎｔｅｎｔに含み、このランダム値をｓｏｌｕｔｉｏｎに含む場合に正解とするクッキーパズルがある。また、ｐｕｚｚｌｅで指定される問題の別の例として、あるペアリング関数Ｅについて、ｐｕｚｚｌｅ＿ｃｏｎｔｅｎｔ＝＜ａ１，ａ２＞に対し、ｓｏｌｕｔｉｏｎ＝ｅ（ａ１，ａ２）の場合に正解とするペアリングパズルがある。
【００６６】
ａｔｔｒ＿ａまたはａｔｔｒ＿ｂには、機器ケーパビリティ、オペレーショナルクレデンシャル、または、ＩＥＥＥ  ８０２．１５．４などのデータリンクプロトコル、および、ＮＴＰ（Network  Time  Protocol）などアプリケーションレイヤプロトコルの暗号化に使用される暗号鍵および付随する属性（鍵ＩＤ、鍵ライフタイム、および、リプレイカウンタ初期値など）を含んでもよい。
【００６７】
次に、上述のＩＭＡを用いたＥＡＰ認証メソッドであるＥＡＰ−ＩＭＡについて説明する。ＥＡＰ−ＩＭＡのメッセージ交換は以下のように定義される。
Ａ←Ｂ：ＥＡＰ−Ｒｅｑｕｅｓｔ／ＩＢＥ＃１｛＜ｂ，Ｎ＿ｂ＞｝
Ａ→Ｂ：ＥＡＰ−Ｒｅｓｐｏｎｓｅ／ＩＢＥ＃２｛Ｅ［ｂ，ａ｜Ｎ＿ａ｜Ｎ＿ｂ｜ａｔｔｒ＿ａ｝
Ａ←Ｂ：ＥＡＰ−Ｒｅｑｕｅｓｔ／ＩＢＥ＃３｛＜Ｅ［ａ，Ｎ＿ａ｜ａｔｔｒ＿ｂ］，Ｆｉｎｉｓｈｅｄ＿Ｓ＞｝
Ａ→Ｂ：ＥＡＰ−Ｒｅｓｐｏｎｓｅ／ＩＢＥ＃４｛Ｆｉｎｉｓｈｅｄ＿Ｐ｝
Ａ←Ｂ：ＥＡＰ−Ｓｕｃｃｅｓｓ
【００６８】
ＡはＥＡＰピア、ＢはＥＡＰサーバである。ブートストラップ認証処理にＥＡＰ−ＩＭＡを用いる場合は、例えば、通信装置１００がＥＡＰピアに相当し、機器登録サーバ２００がＥＡＰサーバに相当する。通信認証処理にＥＡＰ−ＩＭＡを用いる場合は、例えば、通信装置１００がＥＡＰピアに相当し、機器制御装置３００がＥＡＰサーバに相当する。
【００６９】
ＩＢＥ＃ｉは、ＥＡＰ−ＩＭＡメソッドの第ｉ番目のペイロードである。Ｆｉｎｉｓｈｅｄ＿Ｓは、Ｆｉｎｉｓｈｅｄ＿Ｓ＝Ｈａｓｈ（ｋ＿ｍ，ＩＢＥ＃１｜ＩＢＥ＃２）として計算されるバイト列である。Ｆｉｎｉｓｈｅｄ＿Ｐは、Ｆｉｎｉｓｈｅｄ＿Ｐ＝Ｈａｓｈ（ｋ＿ｍ，ＩＢＥ＃１｜ＩＢＥ＃２｜ＩＢＥ＃３）として計算されるバイト列である。ここで、ｋ＿ｍは後述するＥＡＰ−ＩＭＡメッセージ認証鍵であり、Ｈａｓｈはハッシュ関数である。ハッシュ関数として例えばＨＭＡＣ−ＳＨＡ１が適用できる。
【００７０】
次に、ＥＡＰ−ＩＭＡで生成される鍵について説明する。まず、ＥＡＰ−ＩＭＡのマスター鍵ＭＫは以下のように計算される。
ＭＫ＝ＫＤＦ（ＤＨＳ，Ｎａ｜Ｎｂ，６４＋6４＋Ｌ）
【００７１】
ここで、ＫＤＦは任意サイズのバイト列を生成可能な鍵導出関数である。ＫＤＦの第１パラメータは鍵生成鍵、第２パラメータは鍵ラベル、第３パラメータは生成バイト列のバイト長である。Ｌはｋ＿ｍのバイト長である。ＤＨＳは、Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ共通鍵であり、以下のように計算される。
ＤＨＳ＝Ｑｘ
【００７２】
ただし、Ｑｘは、Ｑ＝ｒ＿ａ・ｒ＿ｂ・Ｐとなる楕円曲線上の点Ｑのｘ座標値である。ｒ＿ａはＥＡＰピアがＩＢＥ＃２生成時に暗号化関数Ｅ内で生成したＩＭＡのランダム値、ｒ＿ｂはＥＡＰサーバがＩＢＥ＃３生成時に暗号化関数Ｅ内で生成したＩＭＡのランダム値である。
【００７３】
ＤＨＳから、ｋ＿ｍ、および、ＥＡＰのＭＳＫ（Master  Session  Key）およびＥＭＳＫ（Extended  MSK）が以下のように計算される。
（ＭＳＫ，ＥＭＳＫ，ｋ＿ｍ）＝（ＭＫ［０，６３］，ＭＫ［６４，１２７］，ＭＫ［１２８，１２８＋Ｌ−１］）
【００７４】
ここで、ＭＫ［ｉ，ｊ］はＭＫの先頭ｉバイト目から先頭ｊバイトまでの長さ（ｊ−ｉ＋１）バイトのバイト列ｒである。ただし、０バイト目を先頭バイトとする。
【００７５】
ａｔｔｒ＿ａまたはａｔｔｒ＿ｂには、ＥＡＰ  Ｃｈａｎｎｅｌ  Ｂｉｎｄｉｎｇパラメータ、機器ケーパビリティ、オペレーショナルクレデンシャルなどを含んでもよい。なお、ＥＡＰ  Ｃｈａｎｎｅｌ  Ｂｉｎｄｉｎｇについては、例えばhttp://tools.ietf.org/html/draft-ietf-emu-chbind-11で規定される。また、ａｔｔｒ＿ａまたはａｔｔｒ＿ｂには、ＩＥＥＥ  ８０２．１５．４などのデータリンクプロトコル、および、ＮＴＰなどアプリケーションレイヤプロトコルの暗号化に使用される暗号鍵、暗号鍵に付随する鍵ＩＤ、鍵ライフタイム、および、リプレイカウンタ初期値などの属性を含んでもよい。
【００７６】
ＩＢＥ＃１には、ＥＡＰピアがサポートする楕円曲線指定子、および、Ｆｉｎｉｓｈｅｄ＿ＰまたはＦｉｎｉｓｈｅｄ＿Ｓの計算に使用されるハッシュ関数識別子のリストを含んでもよい。この場合、ＩＢＥ＃２には、ＥＡＰピアとＥＡＰサーバが共通にサポートし、ＩＢＥ＃２、ＩＢＥ＃３、および、ＩＢＥ＃４で使用される楕円曲線指定子やハッシュ関数識別子を含んでもよい。
【００７７】
このように、第１の実施形態にかかる通信装置では、予め設定されたブートストラップクレデンシャルを用いて、機器登録サーバとの間でブートストラップ認証処理を行う。これにより、プッシュボタン設定の場合でも暗号化された通信路を通信装置と機器登録サーバとの間に設定できる。従って、中間ノードによってクレデンシャルが盗聴されるＭｉＴＭ攻撃を防止することができる。
【００７８】
（第２の実施形態）
第２の実施形態にかかる通信システムは、通信装置（電子機器）と機器登録サーバとの間の通信を中継する機器登録リレーを備える。図７は、第２の実施形態の通信システムの構成例を示すブロック図である。図７に示すように、第２の実施形態の通信システムは、機器登録リレー４００をさらに備えている。
【００７９】
第２の実施形態の通信装置１００、機器登録サーバ２００、および、機器制御装置３００の構成は、第１の実施形態と同様であるため説明を省略する。また、第２の実施形態における通信装置１００と機器制御装置３００の間の通常通信処理は、第１の実施形態で図６を用いて説明した処理と同様であるため説明を省略する。
【００８０】
機器登録リレー４００は、ＨＥＭＳサーバまたはスマートメータに実装してもよい。通信装置１００および機器登録サーバ２００と、機器登録リレー４００との間の通信のＭＡＣ層および物理層は、有線ＬＡＮ、無線ＬＡＮ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＺｉｇＢｅｅ等の通信プロトコルを用いて実現してもよい。また、通信装置１００および機器登録サーバ２００と機器登録リレー４００との間で交換されるブートストラップクレデンシャルは、データリンクレイヤ、ネットワークレイヤ、トランスポートレイヤ、および、アプリケーションレイヤなどのいずれのレイヤのプロトコルを用いて交換してもよい。認証情報をデータリンクレイヤで交換する場合には、ＩＥＥＥ８０２．１Ｘ、ＩＥＥＥ８０２．１５．９などのプロトコルを用いてもよい。認証情報をデータリンクよりも上位レイヤのプロトコルを用いて交換する場合には、ＲＦＣ６３４５（ＰＡＮＡ  Ｒｅｌａｙ  Ｅｌｅｍｅｎｔ）を使用してもよい。
【００８１】
図８は、第２の実施形態の機器登録リレー４００の構成の一例を示すブロック図である。図８に示すように、機器登録リレー４００は、駆動部４０１と、受付部４０２と、中継部４０３と、送信部４０４と、通信処理部４０５と、を備えている。
【００８２】
通信処理部４０５は、上記のように有線ＬＡＮ、無線ＬＡＮ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＺｉｇＢｅｅ等の任意の通信プロトコルに従い外部装置との間の通信を制御する。
【００８３】
駆動部４０１は、ハードウェア駆動およびソフトウェア駆動により駆動する。受付部４０２は、ブートストラップ認証処理の実行指示を受け付ける。駆動部４０１および受付部４０２の構成は、それぞれ通信装置１００の駆動部１０１および受付部２０２と同様であるため説明を省略する。
【００８４】
中継部４０３は、通信装置１００と機器登録サーバ２００との間で実行されるブートストラップ認証処理を中継する。例えば、中継部４０３は、駆動部４０１等からプッシュボタンイベントを受信すると、通信装置１００および機器登録サーバ２００との間で通信処理部４０５を介したブートストラップクレデンシャルの転送を開始する。中継部４０３は、プッシュボタンイベントを受信後、一定時間経過すると途中状態であってもブートストラップクレデンシャルの転送を終了する。送信部４０４は、プッシュボタンイベントを受信すると、通信処理部４０５を介して安全な通信チャネルを用いてプッシュボタンイベントを機器登録サーバ２００に送信する。
【００８５】
次に、このように構成された第２の実施形態にかかる通信装置１００、機器登録リレー４００および機器登録サーバ２００との間で実行されるブートストラップ通信処理について説明する。図９は、第２の実施形態におけるブートストラップ通信処理の一例を示すシーケンス図である。
【００８６】
ユーザの動作により通信装置１００および機器登録リレー４００のブートストラップボタンが駆動されると、受付部１０２および受付部２０２が、ブートストラップ認証処理の実行指示を受け付ける（ステップＳ３０１、ステップＳ３０２）。この後、一定時間（Walk  Time）の間、通信装置１００および機器登録リレー４００は、ブートストラップクレデンシャルの送信および受信を有効とする。さらに、機器登録リレー４００の送信部４０４は、プッシュボタンイベントを機器登録サーバに送信する（ステップＳ３０３）。
【００８７】
プッシュボタンイベントを受信した機器登録サーバ２００は、例えばソフトウェアによるプッシュボタンが駆動されたものとして（ステップＳ３０４）、一定時間（Walk  Time）の間、通信装置１００との間の機器登録リレー４００を介したブートストラップクレデンシャルの送信および受信を有効とする。
【００８８】
一定時間の間に、通信装置１００は、まず機器登録サーバ２００の通信可能なアドレスを発見するための機器登録サーバ発見手順を実行する（ステップＳ３０５）。機器登録サーバ発見には、ＤＨＣＰ、ＤＮＳ、および、ＵＰｎＰを用いてもよい。本実施形態では、実際には機器登録サーバ２００の通信可能なアドレスとして機器登録リレー４００のアドレスが発見される。
【００８９】
その後、通信装置１００は、機器登録サーバ２００との間でブートストラップクレデンシャル（BtCred）を用いたブートストラップ認証処理を実行する（ステップＳ３０６）。実際には、通信装置１００が生成したブートストラップ認証処理のメッセージは、機器登録リレー４００宛に送信される。そして、機器登録リレー４００の中継部４０３が、このメッセージを機器登録サーバ２００に転送する。また、機器登録サーバ２００が生成したブートストラップ認証処理のメッセージは、機器登録リレー４００宛に送信される。そして、機器登録リレー４００の中継部４０３が、このメッセージを通信装置１００に転送する。
【００９０】
ステップＳ３０７からステップＳ３０９は、図５のステップＳ１０５からステップＳ１０７と同様であるため説明を省略する。
【００９１】
なお、機器登録リレー４００と機器登録サーバ２００との間には予め安全な通信路が設定されている。プッシュボタンイベントおよびブートストラップクレデンシャルは、この安全な通信路上で送信される。安全な通信路として、ＴＬＳセッションおよびＩＰｓｅｃセキュリティアソシエーションなどの暗号化が施された論理チャネルを適用できる。
【００９２】
このように、第２の実施形態にかかる通信システムでは、ブートストラップ認証処理を中継する中継装置（機器登録リレー）を用いる場合にも、第１の実施形態と同様の処理を実現できる。
【００９３】
（第３の実施形態）
第３の実施形態にかかる通信システムは、機器（電子機器）およびアダプタを通信装置の代わりに備える。本実施形態では、アダプタが、機器と機器登録サーバとの間の通信を中継する中継装置に相当する。
【００９４】
図１０は、第３の実施形態の通信システムの構成例を示すブロック図である。図１０に示すように、第３の実施形態の通信システムは、機器６００と、アダプタ５００とをさらに備えている。
【００９５】
第３の実施形態の機器登録サーバ２００、および、機器制御装置３００の構成は、第１の実施形態と同様であるため説明を省略する。
【００９６】
アダプタ５００は、機器６００に任意に着脱可能であり、機器６００との簡易な接続手段または通信手段を備えた装置である。この接続手段または通信手段は、例えば、ＵＳＢ（Universal  Serial  Bus）およびＲＳ−２３２Ｃ等を用いることができる。さらに、アダプタ５００は、機器登録サーバ２００、および、機器制御装置３００との通信手段を備えている。この通信手段による通信は、第１の実施形態における通信装置と同じく、有線ＬＡＮ、無線ＬＡＮ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＺｉｇＢｅｅ等、様々な物理通信手段を用いることができる。
【００９７】
一方、機器６００は、それ単体では、機器登録サーバ２００や機器制御装置３００との物理的な通信手段は持たず、アダプタ５００との簡易な接続手段または通信手段のみを備えた装置である。この接続手段または通信手段は、アダプタ５００と同じく、例えば、ＵＳＢ、ＲＳ−２３２Ｃ等を用いることができる。機器６００は、アダプタ５００を接続することで、アダプタ５００、および、そのアダプタ５００が備えている物理通信手段を介し、機器登録サーバ２００、および、機器制御装置３００との通信が可能となる。例えば、機器６００に、有線ＬＡＮを備えたアダプタ５００を接続すれば、機器６００は有線ＬＡＮによって機器登録サーバ２００との通信が可能となる。また、同じ機器６００に、無線ＬＡＮを備えたアダプタ５００を接続すれば、機器６００は無線ＬＡＮによって機器登録サーバ２００との通信が可能となる。機器６００とアダプタ５００のいずれか、または、その両方に、第１の実施形態にて示したブートストラップボタンに相当する手段を備えていてもよい。
【００９８】
図１１は、第３の実施形態にかかるアダプタ５００の構成の一例を示すブロック図である。図１１に示すように、アダプタ５００は、受付部５０１と、第１中継部５０２と、第２中継部５０３と、通信処理部５０４と、を備えている。
【００９９】
受付部５０１は、ブートストラップ認証処理の実行指示を受け付ける。例えば、受付部５０１は、アダプタ５００に備えられたプッシュボタンなどのユーザ操作、機器６００との物理接続の検知、または、機器６００からのブートストラップ駆動イベントの通知などを、ブートストラップ認証処理の開始（実行指示）として受け付ける。受付部５０１は、実行指示を受け付けると、ブートストラップ駆動イベントを、通信処理部５０４、第１中継部５０２、および第２中継部５０３に送信する。受付部５０１は、さらに、アダプタ５００に接続された機器６００に、ブートストラップ駆動イベントを送信してもよい。
【０１００】
通信処理部５０４は、上記のように有線ＬＡＮ、無線ＬＡＮ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＺｉｇＢｅｅ等の任意の通信プロトコルに従い外部装置との間の通信を制御する。通信処理部５０４は、ブートストラップ駆動イベントを受信すると、機器登録サーバ発見動作を実行する。機器登録サーバ２００が見つかった場合、通信処理部５０４は、第１中継部５０２を介し、機器登録サーバ２００の発見を、アダプタ５００に接続された機器６００に通知する。
【０１０１】
第１中継部５０２は、機器６００および機器登録サーバ２００との間で、通信処理部５０４を介したブートストラップクレデンシャルの転送を行う。ブートストラップクレデンシャルの転送は、ブートストラップ駆動イベントの受信により開始し、ブートストラップ駆動イベントの受信後一定時間経過すると、途中状態であっても終了するように構成してもよい。
【０１０２】
第２中継部５０３は、機器６００および機器登録サーバ２００との間で、通信処理部５０４を介したオペレーショナルクレデンシャルの転送を行う。オペレーショナルクレデンシャルの転送は、機器６００がオペレーショナルクレデンシャルを保持しており、かつ、機器制御装置３００に未接続の場合にのみ行うように構成してもよい。また、ブートストラップ駆動イベントの受信時には、一定時間の間、転送を禁止するように構成してもよい。
【０１０３】
図１２は、第３の実施形態にかかる機器６００の構成の一例を示すブロック図である。図１２に示すように、機器６００は、駆動部６０１と、受付部６０２と、第１認証処理部６１１と、第２認証処理部６１２と、を備えている。
【０１０４】
駆動部６０１は、ハードウェア駆動およびソフトウェア駆動により駆動する。駆動部６０１の構成は、通信装置１００の駆動部１０１と同様であるため説明を省略する。
【０１０５】
受付部６０２は、駆動部６０１に対するユーザ操作、アダプタ５００との物理接続の検知、または、アダプタ５００からのブートストラップ駆動イベントの通知などを、ブートストラップ認証処理の開始（実行指示）として受け付ける。受付部６０２は、実行指示を受け付けると、ブートストラップ駆動イベントを、第１認証処理部６１１および第２認証処理部６１２に送信する。受付部６０２は、さらに、機器６００に接続されたアダプタ５００に、ブートストラップ駆動イベントを送信してもよい。
【０１０６】
第１認証処理部６１１は、ブートストラップ駆動イベントを受信し、かつ、アダプタ５００からの機器登録サーバ発見の通知を受けると、機器登録サーバ２００との間で、アダプタ５００を介したブートストラップ認証処理を開始する。第１認証処理部６１１は、ブートストラップ認証処理が成功終了すると、機器登録サーバ２００からアダプタ５００を介して取得したオペレーショナルクレデンシャルを、第２認証処理部６１２に渡す。第１認証処理部６１１は、ブートストラップ駆動イベント受信後一定時間経過すると、途中状態であってもブートストラップ認証処理を終了する。
【０１０７】
第２認証処理部６１２は、オペレーショナルクレデンシャルを保持しており、かつ、機器制御装置３００に未接続の場合に、通信認証処理を開始する。また、ブートストラップ駆動イベントの受信時には、一定時間の間、転送を禁止し、途中状態の通信認証処理は直ちに終了する。
【０１０８】
次に、このように構成された第３の実施形態にかかる機器６００、アダプタ５００および機器登録サーバ２００との間で実行されるブートストラップ通信処理について説明する。図１３は、第３の実施形態におけるブートストラップ通信処理の一例を示すシーケンス図である。
【０１０９】
第３の実施形態では、例えばユーザにより機器６００とアダプタ５００とが接続された後に、機器６００と機器登録サーバ２００との間でのブートストラップ認証処理を行う場合の動作例を示す。
【０１１０】
まず、ユーザにより、機器６００とアダプタ５００とが物理的に接続される（ステップＳ４０１）。次にユーザは、機器６００とアダプタ５００とをブートストラップ駆動状態にする。受付部６０２は、ユーザの動作によりブートストラップ駆動状態とされたことを、ブートストラップ認証処理の実行指示として受け付ける（ステップＳ４０２）。
【０１１１】
ブートストラップ駆動には、機器６００またはアダプタ５００に備えられたプッシュボタンなど（駆動部６０１等）を用いてもよい。また、ユーザにより行われた機器６００とアダプタ５００との接続動作自体をブートストラップ駆動のトリガとしてもよい。また、機器６００とアダプタ５００の両方に対してプッシュボタンなどによるユーザ操作を行なってもよい。機器６００またはアダプタ５００のいずれかのみへのユーザ操作によるブートストラップ駆動が、それに接続されたアダプタ５００または機器６００へ伝わるように構成してもよい。
【０１１２】
ユーザはまた、機器登録サーバ２００のプッシュボタン操作などにより、機器登録サーバ２００もブートストラップ駆動状態とする。機器登録サーバ２００の受付部２０２は、ユーザの動作によりブートストラップ駆動状態とされたことを、ブートストラップ認証処理の実行指示として受け付ける（ステップＳ４０３）。
【０１１３】
ブートストラップ駆動状態になると、一定時間（Walk  Time）の間、機器６００および機器登録サーバ２００は、ブートストラップクレデンシャルの送信および受信を有効とする。また、アダプタ５００は、一定時間の間のみ、ブートストラップクレデンシャルの中継を許可する。
【０１１４】
ブートストラップ駆動状態では、アダプタ５００はまず、機器登録サーバ発見手順を行う（ステップＳ４０４）。アダプタ５００が機器登録サーバ発見の通信のために必要な最低限の情報は、例えばアダプタ５００に予め設定しておく。
【０１１５】
アダプタ５００により機器登録サーバ２００が見つかると、機器６００は、アダプタ５００を介して、機器登録サーバ２００との間でブートストラップクレデンシャルを用いたブートストラップ認証処理を実行する（ステップＳ４０５、ステップＳ４０６、ステップＳ４０７）。この時に使用するブートストラップクレデンシャルは、機器６００が保持する機器ケーパビリティを特定可能な情報を含む。認証の手順は、第１の実施形態と同様である。
【０１１６】
機器６００は、機器ケーパビリティの検証成功時に機器登録サーバ２００が発行するオペレーショナルクレデンシャルを、アダプタ５００を介して受信し（ステップＳ４０８）、機器６００内に保持する。ここで、ブートストラップ認証処理が成功終了する。
【０１１７】
機器登録サーバ２００からオペレーショナルクレデンシャル取得した後の、機器６００およびアダプタ５００と、機器制御装置３００との間の通信動作について説明する。
【０１１８】
まず、アダプタ５００または機器６００が、機器制御装置発見手順を実行する。機器制御装置発見手順は、アダプタ５００が保持している最低限の情報のみを用いて行なってもよいし、機器６００が保持している情報も利用して行なってもよい。例えば、第１の実施形態と同じく、ＤＨＣＰ、ＤＮＳ、および、ＵＰｎＰを用いてもよい。次に、機器６００が、機器６００が保持するオペレーショナルクレデンシャルを用いて、機器６００と機器制御装置３００との間で通信認証処理を実行する。以降の手順は、第１の実施形態（図６）と同様である。
【０１１９】
第３の実施形態では、ブートストラップ認証処理は、あくまで機器６００と機器登録サーバ２００との間で行われ、アダプタ５００自体はオペレーショナルクレデンシャルを保持しない。このため、以下のような場合に有効である。例えば、機器６００と、Ｂｌｕｅｔｏｏｔｈ（登録商標）を備えたアダプタ５００とを物理接続し、機器６００と機器登録サーバ２００との間でブートストラップ認証処理を成功終了させた後、アダプタ５００が故障したとする。そして、別のＢｌｕｅｔｏｏｔｈ（登録商標）、または、ＺｉｇＢｅｅなどの別の物理通信手段を備えた別のアダプタ５００に差し替えたとする。この場合であっても、機器６００が同一のままであれば、ユーザに再度認証手順の実行を強いることなく、通信認証処理が完了した状態での機器制御装置３００による制御などを行うことができる。
【０１２０】
（第４の実施形態）
第３の実施形態の手順ではユーザに大きな操作の手間を強いるケースがある。第４の実施形態にかかる通信システムは、この手間を解消する。例えば、ある家の３階に設置されたエアコン機器およびアダプタ５００と、１階に設置された機器登録サーバ２００の機能を備えたＨＥＭＳサーバ間とでブートストラップ認証処理を行う場合を例に説明する。この場合、第３の実施形態の手順では、ユーザは、１階のＨＥＭＳサーバのプッシュボタン等を操作した後、急いで（一定時間以内に）３階まで移動しエアコン機器のプッシュボタン等を操作する必要がある。第４の実施形態の手順では、ユーザは、アダプタ５００をエアコン機器から取り外した状態で持ち運び、１階のＨＥＭＳサーバのプッシュボタン等と、アダプタ５００のプッシュボタン等を操作し、一旦アダプタ５００のブートストラップ認証処理を行う。その後、３階までゆっくり（一定時間に関係なく）移動し、エアコン機器にアダプタ５００を取り付けることで、認証されたアダプタ５００を介し、エアコン機器と機器登録サーバ２００とのブートストラップ認証処理が完了する。
【０１２１】
図１４は、第４の実施形態にかかるアダプタ５００−４の構成の一例を示すブロック図である。図１４に示すように、アダプタ５００−４は、受付部５０１−４と、第１中継部５０２と、第２中継部５０３と、通信処理部５０４と、第１認証処理部５１１と、第２認証処理部５１２と、送信部５１３と、を備えている。
【０１２２】
第１中継部５０２、第２中継部５０３、および通信処理部５０４の機能は、第３の実施形態と同様であるため説明を省略する。
【０１２３】
受付部５０１−４は、ブートストラップ認証処理の実行指示を受け付ける。受付部５０１−４は、実行指示を受け付けると、アダプタ５００−４が機器６００と未接続状態であれば、第１認証処理部５１１および第２認証処理部５１２にブートストラップ駆動イベントを送信する。また、受付部５０１−４は、アダプタ５００−４が機器６００と接続状態であれば、送信部５１３、第１中継部５０２、および第２中継部５０３にブートストラップ駆動イベントを送信する。受付部５０１−４は、さらに、アダプタ５００−４に接続された機器６００および機器登録サーバ２００に、ブートストラップ駆動イベントを送信してもよい。
【０１２４】
第１認証処理部５１１は、ブートストラップ駆動イベントを受信すると、機器登録サーバ２００との間で、通信処理部５０４を介し、アダプタ５００−４のブートストラップ認証処理を開始する。第１認証処理部５１１は、アダプタ５００−４のブートストラップ認証処理が成功終了すると、機器登録サーバ２００から取得したオペレーショナルクレデンシャルを、第２認証処理部５１２に渡す。アダプタ５００−４のブートストラップ認証処理は、ブートストラップ駆動イベントを受信後、一定時間経過すると、途中状態であっても処理を終了する。
【０１２５】
第２認証処理部５１２は、オペレーショナルクレデンシャルを保持しており、かつ、機器制御装置３００に未接続の場合に、通信処理部５０４を介し、通信認証処理を開始する。また、ブートストラップ駆動イベントの受信時には、一定時間の間、転送を禁止し、途中状態の通信認証処理は直ちに終了する。
【０１２６】
送信部５１３は、ブートストラップ駆動イベントを受信すると、第２認証処理部５１２が保持しているオペレーショナルクレデンシャルを用いて、機器登録サーバ２００との間で安全な通信路を確立する。送信部５１３は、確立した安全な通信路上で、通信処理部５０４を介してブートストラップ駆動イベントを機器登録サーバ２００に送信する。
【０１２７】
なお、第４の実施形態における機器６００は、第３の実施形態の機器６００（図１２）と同様である。第４の実施形態のアダプタ５００−４は、第３の実施形態のアダプタ５００の機能を包含している。従って、第４の実施形態のアダプタ５００−４で、第３の実施形態の手順、すなわち、機器６００とアダプタ５００−４とを接続してからの認証動作を実行することも可能である。
【０１２８】
次に、このように構成された第４の実施形態にかかる機器６００、アダプタ５００−４および機器登録サーバ２００との間で実行されるブートストラップ通信処理について説明する。図１５は、第４の実施形態におけるブートストラップ通信処理の一例を示すシーケンス図である。第４の実施形態では、機器６００とアダプタ５００−４とを接続していない状態から、ブートストラップ認証処理の手順を開始する場合の動作例を示す。
【０１２９】
ユーザはまず、機器６００から取り外された状態のアダプタ５００−４と、機器登録サーバ２００とをブートストラップ駆動状態にする。アダプタ５００−４の受付部５０１−４および機器登録サーバ２００の受付部２０２は、ユーザの動作によりブートストラップ駆動状態とされたことを、ブートストラップ認証処理の実行指示として受け付ける（ステップＳ５０１、ステップＳ５０２）。
【０１３０】
ブートストラップ駆動には、機器登録サーバ２００またはアダプタ５００−４に備えられたプッシュボタンなどを用いてもよい。また、機器登録サーバ２００とアダプタ５００−４とを一時的にＵＳＢやＲＳ−２３２Ｃなどを用いて物理的に接続すること、または、赤外線や近距離無線などにより対応付けすることを、ブートストラップ駆動のトリガとしてもよい。
【０１３１】
また、アダプタ５００−４が蓄電池を備え、ブートストラップ実行の間だけ単独で稼働するとしてもよい。アダプタ５００−４が、機器登録サーバ２００との物理接続（ＵＳＢなど）を利用して電源供給を受けて稼働するように構成してもよい。
【０１３２】
ブートストラップ駆動状態では、アダプタ５００−４は、機器登録サーバの発見を行う（ステップＳ５０３）。アダプタ５００−４は、発見した機器登録サーバ２００との間で、アダプタ５００−４が保有するブートストラップクレデンシャル（BtCred-a）を用いたブートストラップ認証処理を実行する（ステップＳ５０４）。ブートストラップ認証処理の手順は、第１の実施形態と同様である。
【０１３３】
アダプタ５００−４は、アダプタ５００−４のケーパビリティの検証成功時に機器登録サーバ２００が発行するオペレーショナルクレデンシャル（OpCred-a）を、アダプタ５００−４内に保持する（ステップＳ５０５）。これにより、まず、アダプタ５００−４のブートストラップ認証処理が成功終了する。
【０１３４】
ユーザは次に、アダプタ５００−４と機器６００とを接続し（ステップＳ５０６）、その後、機器６００とアダプタ５００−４とをブートストラップ駆動状態にする。機器６００の受付部６０２は、ユーザの動作によりブートストラップ駆動状態とされたことを、ブートストラップ認証処理の実行指示として受け付ける（ステップＳ５０７）。ブートストラップ駆動には、第３の実施形態で述べたような、各種の方法を用いることができる。
【０１３５】
アダプタ５００−４は、ブートストラップ駆動状態になると、先のアダプタ５００−４のブートストラップ認証処理にて得たオペレーショナルクレデンシャル（OpCred-a）を用いて、機器登録サーバ２００との間で安全な通信路を確立する。アダプタ５００−４は、確立した安全な通信路上で、ブートストラップ駆動イベントを機器登録サーバ２００に送信する（ステップＳ５０８）。ブートストラップ駆動イベントを受信した機器登録サーバ２００は、第２の実施形態と同じく、ソフトウェアによるプッシュボタンが駆動されたものとして、一定時間の間、ブートストラップクレデンシャルの送信および受信を有効とする。
【０１３６】
これにより、機器６００およびアダプタ５００−４と、機器登録サーバ２００とが、ブートストラップ駆動状態となる。以降、第３の実施形態と同じ手順にて、機器６００と機器登録サーバ２００間でのブートストラップ認証処理を行う（図示は省略）。
【０１３７】
なお、この場合のブートストラップ認証処理では、機器６００が保有するブートストラップクレデンシャル（BtCred-d）が用いられる。また、第３の実施形態における機器登録サーバ発見手順は、第４の実施形態では既に行われているため、省略してもよい。その後の機器６００およびアダプタ５００−４と、機器制御装置３００との間の通信動作についても、第３の実施形態と同じ手順である。
【０１３８】
（第５の実施形態）
第５の実施形態では、家庭内ネットワークとして通信システムを構成する例を説明する。図１６は、第５の実施形態の通信システムの構成例を示すブロック図である。
【０１３９】
通信システムとしての家庭内ネットワーク７００は、ネットワーク７１０と、それ以外のネットワーク７２０とを含む。ネットワーク７１０は、スマートメータ７１１と、宅内ディスプレイ７１２と、ＨＥＭＳサーバ７３１と、インバータ７３２と、が接続するネットワークである。
【０１４０】
図１６に示すように、スマートメータ７１０は、宅外通信ネットワーク８００を介して電力会社サーバ９００に接続されてもよい。ネットワーク７２０は、ＨＥＭＳサーバ７３１と、インバータ７３２と、家電機器７２１と、分散電源７２２と、が接続するネットワークである。分散電源７２２は、例えば蓄電池、太陽光パネル、および電気自動車などである。
【０１４１】
ネットワーク７１０およびネットワーク７２０は、ＺｉｇＢｅｅ  Ｓｍａｒｔ  Ｅｎｅｒｇｙ（ｖｅｒｓｉｏｎ  １．Ｘまたはｖｅｒｓｉｏｎ  ２．Ｘ）ネットワークであってもよいし、ＥＣＨＯＮＥＴ（登録商標）  Ｌｉｔｅネットワークであってもよい。ネットワーク７１０およびネットワーク７２０のデータリンク層にＩＥＥＥ  ８０２．１５．４、ＰＬＣ、Ｗｉ−Ｆｉを使用してもよい。
【０１４２】
ネットワーク７１０では、例えばスマートメータ７１１が、上記実施形態の機器登録リレーおよび機器制御装置に相当する。また、宅内ディスプレイ７１２、ＨＥＭＳサーバ７３１、および、インバータ７３２が、上記実施形態の通信装置に相当する。
【０１４３】
ネットワーク７２０では、ＨＥＭＳサーバ７３１に、上記実施形態の機器登録サーバおよび機器制御装置の機能が実装される。また、家電機器７２１、インバータ７３２、および、分散電源７２２に、上記実施形態の通信装置の機能が実装される。分散電源７２１は、図示されない直流電力線でインバータ７３２に接続する。インバータ７３２が、直流交流変換を行う。
【０１４４】
ネットワーク７１０とネットワーク７２０との両方に接続する機器（ＨＥＭＳサーバ７３１およびインバータ７３２）は、異なる通信インターフェースを用いてそれぞれのネットワークに接続してもよい。また、ネットワーク７１０とネットワーク７２０との両方に接続する機器では、ネットワーク７１０とネットワーク７２０との間でのＩＰ層以下のパケット転送は禁止される。
【０１４５】
ネットワーク７１０とネットワーク７２０は、ＲＦＣ  ５１９１（ＰＡＮＡ）を接続認証プロトコルとして使用する。ネットワーク７１０では、ＰＡＮＡ認証エージェント機能は、スマートメータ７１１に実装される。ＰＡＮＡクライアント機能は宅内ディスプレイ７１２、ＨＥＭＳサーバ７３１、および、インバータ７３２に実装される。なお、図１６では、丸で囲ったＡおよびＣが、それぞれＰＡＮＡ認証エージェントおよびＰＡＮＡクライアントの機能を表している。また、矢印が、ＰＡＮＡ認証エージェントおよびＰＡＮＡクライアントの機能を相互に接続するネットワーク接続を表している。
【０１４６】
ネットワーク７１０では、スマートメータ７１１が各通信機器との間でブートストラップ認証処理を実行するために必要なブートストラップクレデンシャルは、電力会社サーバ９００から宅外通信ネットワーク８００を通じてスマートメータ７１１に遠隔設定してもよい。
【０１４７】
スマートメータ７１１に対するブートストラップ駆動は、電力会社サーバ９００から宅外通信ネットワーク８００を通じて遠隔コマンドにより行われる。ネットワーク７１０では、各通信機器は、スマートメータ７１１からオペレーショナルクレデンシャルを取得した後、スマートメータ７１１からメータデータやデマンドレスポンス信号を取得する。ネットワーク７２０では、各通信機器は、ＨＥＭＳサーバ７３１からオペレーショナルクレデンシャルを取得した後、ＨＥＭＳサーバ７３１により制御される。
【０１４８】
以上説明したとおり、第１から第５の実施形態によれば、プッシュボタン設定などの場合でも暗号化された通信路を通信装置と機器登録サーバとの間に設定できる。従って、中間ノードによってクレデンシャルが盗聴されるＭｉＴＭ攻撃を防止することができる。
【０１４９】
次に、第１から第５の実施形態にかかる装置（通信装置、機器登録サーバ、機器制御装置、アダプタ）のハードウェア構成について図１７を用いて説明する。図１７は、第１から第５の実施形態にかかる装置のハードウェア構成例を示す説明図である。
【０１５０】
第１から第５の実施形態にかかる装置は、ＣＰＵ（Central  Processing  Unit）５１などの制御装置と、ＲＯＭ（Read  Only  Memory）５２やＲＡＭ（Random  Access  Memory）５３などの記憶装置と、ネットワークに接続して通信を行う通信Ｉ／Ｆ５４と、各部を接続するバス６１を備えている。
【０１５１】
第１から第５の実施形態にかかる装置で実行されるプログラムは、ＲＯＭ５２等に予め組み込まれて提供される。
【０１５２】
第１から第５の実施形態にかかる装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ（Compact  Disk  Read  Only  Memory）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（Compact  Disk  Recordable）、ＤＶＤ（Digital  Versatile  Disk）等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供されるように構成してもよい。
【０１５３】
さらに、第１から第５の実施形態にかかる装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、第１から第５の実施形態にかかる装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【０１５４】
第１から第５の実施形態にかかる装置で実行されるプログラムは、コンピュータを上述した通信装置の各部として機能させうる。このコンピュータは、ＣＰＵ５１がコンピュータ読取可能な記憶媒体からプログラムを主記憶装置上に読み出して実行することができる。
【０１５５】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１５６】
１００  通信装置
１０１  駆動部
１０２  受付部
１１１  第１認証処理部
１１２  第２認証処理部
１２１  通信処理部
２００  機器登録サーバ
２０１  駆動部
２０２  受付部
２１１  認証処理部
２２１  通信処理部
３００  機器制御装置
３０１  認証処理部
３１１  通信処理部
４００  機器登録リレー
４０１  駆動部
４０２  受付部
４０３  中継部
４０４  送信部
４０５  通信処理部
５００  アダプタ
５０１  受付部
５０２  第１中継部
５０３  第２中継部
５０４  通信処理部
５１１  第１認証処理部
５１２  第２認証処理部
５１３  送信部
６００  機器
６０１  駆動部
６０２  受付部
６１１  第１認証処理部
６１２  第２認証処理部
【図１】
0005762991.tif 000002
【図２】
0005762991.tif 000003
【図３】
0005762991.tif 000004
【図４】
0005762991.tif 000005
【図５】
0005762991.tif 000006
【図６】
0005762991.tif 000007
【図７】
0005762991.tif 000008
【図８】
0005762991.tif 000009
【図９】
0005762991.tif 000010
【図１０】
0005762991.tif 000011
【図１１】
0005762991.tif 000012
【図１２】
0005762991.tif 000013
【図１３】
0005762991.tif 000014
【図１４】
0005762991.tif 000015
【図１５】
0005762991.tif 000016
【図１６】
0005762991.tif 000017
【図１７】
0005762991.tif 000018