(57)【要約】【課題】セキュアなワイヤレス充電プロトコルを用いたワイヤレス充電システムを提供する。【解決手段】タグ装置と、タグ装置を備える電力送信機と、電力送信機から電力を受信する電力受信機を備える対象物と、電力送信機を制御する充電コントローラと、からなるワイヤレス充電システムにおけるワイヤレス充電方法。充電コントローラが、対象物から充電要求を受信した場合に、チャレンジを生成して、当該チャレンジを、対象物を介してタグ装置に送信する。タグ装置は、受信したチャレンジに対応する応答を、当該チャレンジおよび充電コントローラとの間で共有されている第一の秘密データに基づいて生成し、対象物を介して充電コントローラに送信する。充電コントローラは、受信した応答が、送信したチャレンジと、第一の秘密データに対応するものである場合に、対象物が所定の範囲に位置するかを確認し、対象物が所定の範囲に位置する場合に、電力送信機に対して電力を無線で送信するよう指示する。【選択図】図１６
2014217044.tif 000002
【特許請求の範囲】
【請求項１】
タグ装置と、前記タグ装置を備える電力送信機と、前記電力送信機から電力を受信する電力受信機を備える対象物と、前記電力送信機を制御する充電コントローラと、からなるワイヤレス充電システムにおけるワイヤレス充電方法であって、
前記充電コントローラが、前記対象物から充電要求を受信するステップと、
前記充電コントローラが、前記充電要求に応答して、チャレンジを生成するステップと、
前記充電コントローラが、前記生成したチャレンジを、前記対象物を介して前記タグ装置に送信するステップと、
前記タグ装置が、前記チャレンジに対応する応答を、前記チャレンジおよび前記充電コントローラとの間で共有されている第一の秘密データに基づいて生成するステップと、
前記タグ装置が、前記生成した応答を、前記対象物を介して前記充電コントローラに送信するステップと、
前記充電コントローラが、前記応答が、前記送信したチャレンジと、前記第一の秘密データに対応するものであるか検証するステップと、
前記応答の検証に成功した場合に、前記充電コントローラが、前記対象物が所定の範囲に位置するかを確認するステップと、
前記対象物が所定の範囲に位置する場合に、前記充電コントローラが、前記対象物に対応する電力送信機に対して、前記対象物に対応する電力受信機に電力を無線で送信するよう指示するステップと、
を含む、ワイヤレス充電方法。
【請求項２】
前記応答は、前記チャレンジおよび前記第一の秘密データを、所定の応答関数を用いて変換したデータを含む、
請求項１に記載のワイヤレス充電方法。
【請求項３】
前記充電コントローラと、前記対象物とが、セッション鍵を共有するステップをさらに含み、
前記充電コントローラが前記対象物から受信する応答は、前記対象物が前記セッション鍵を用いて暗号化したデータである、
請求項１に記載のワイヤレス充電方法。
【請求項４】
前記チャレンジは、前記充電要求に一意に対応する乱数である、
請求項１から３のいずれかに記載のワイヤレス充電方法。
【請求項５】
前記充電コントローラが、前記対象物から、当該対象物を認証するためのデータである対象物認証データを受信するステップと、
前記充電コントローラが、前記対象物との間で共有されている第二の秘密データと、前記対象物認証データとを用いて、前記対象物の認証を行うステップと、
をさらに含む、
請求項１から４のいずれかに記載のワイヤレス充電方法。
【請求項６】
前記対象物の認証を行うステップでは、前記第二の秘密データを用いてチャレンジ・レスポンス認証を実行することで対象物の認証を行う、
請求項５に記載のワイヤレス充電方法。
【請求項７】
前記充電コントローラが、前記チャレンジに関連付いた、前記タグ装置を認証するためのデータである認証コードを生成するステップと、
前記充電コントローラが、前記対象物を経由して、前記認証コードを前記タグ装置に送
信するステップと、
をさらに含み、
前記タグ装置が、前記受信した認証コードを検証し、前記認証コードが、前記チャレンジに対応するものである場合に、前記応答を生成する、
請求項１から６のいずれかに記載のワイヤレス充電方法。
【請求項８】
タグ装置と、前記タグ装置を備える電力送信機と、前記電力送信機から電力を受信する電力受信機を備える対象物と、前記電力送信機を制御する充電コントローラと、からなるワイヤレス充電システムにおいて、前記充電コントローラが実行するワイヤレス充電方法であって、
前記対象物から充電要求を受信するステップと、
前記充電要求に応答して、チャレンジを生成するステップと、
前記生成したチャレンジを、前記対象物を介して前記タグ装置に送信するステップと、
前記タグ装置によって生成された、前記チャレンジに対応する応答を、前記対象物を介して受信するステップと、
前記受信した応答が、前記送信したチャレンジと、前記タグ装置との間で共有されている第一の秘密データに対応するものであるか検証するステップと、
前記応答の検証に成功した場合に、前記対象物が所定の範囲に位置するかを確認するステップと、
前記対象物が所定の範囲に位置する場合に、前記対象物に対応する電力送信機に対して、前記対象物に対応する電力受信機に電力を無線で送信するよう指示するステップと、
を含む、ワイヤレス充電方法。
【請求項９】
請求項８に記載のワイヤレス充電方法を、充電コントローラであるコンピュータに実行させるためのプログラム。
【請求項１０】
タグ装置と、前記タグ装置を備える電力送信機と、前記電力送信機から電力を受信する電力受信機を備える対象物と、前記電力送信機を制御する充電コントローラと、からなるワイヤレス充電システムであって、
前記充電コントローラと、前記タグ装置との間で、第一の秘密データが共有されており、
前記充電コントローラが、
前記対象物から充電要求を受信する手段と、
前記充電要求に応答して、チャレンジを生成する手段と、
前記生成したチャレンジを、前記対象物に送信する手段と、
前記対象物から、前記チャレンジに対応する応答を受信する手段と、
前記受信した応答が、前記送信したチャレンジと、前記第一の秘密データに対応するものであるか検証する手段と、
前記応答の検証に成功した場合に、前記対象物が所定の範囲に位置するかを確認する手段と、
前記対象物が所定の範囲に位置する場合に、前記対象物に関連付いた電力送信機に対して、前記対象物に関連付いた電力受信機に電力を無線で送信するよう指示を行う手段と、
を有し、
前記対象物が、
前記充電コントローラから受信したチャレンジを前記タグ装置に転送する手段と、
前記タグ装置から受信した応答を前記充電コントローラに転送する手段と、を有し、
前記タグ装置が、
受信した前記チャレンジに対応する応答を、前記チャレンジおよび前記第一の秘密データに基づいて生成し、前記対象物に送信する手段を有する、
ワイヤレス充電システム。
【請求項１１】
前記タグ装置は、前記チャレンジおよび前記第一の秘密データを、所定の応答関数を用いて変換することで前記応答を生成する、
請求項１０に記載のワイヤレス充電システム。
【請求項１２】
前記充電コントローラと、前記対象物との間でセッション鍵が共有されており、
前記対象物は、前記充電コントローラに送信する応答を前記セッション鍵で暗号化する、
請求項１０に記載のワイヤレス充電システム。
【請求項１３】
前記チャレンジは、前記充電要求に一意に対応する乱数である、
請求項１０から１２のいずれかに記載のワイヤレス充電システム。
【請求項１４】
前記充電コントローラと、前記対象物との間で第二の秘密データが共有されており、
前記充電コントローラが、
前記対象物から、対象物を認証するためのデータである対象物認証データを受信する手段と、
前記対象物認証データと、前記第二の秘密データを用いて、前記対象物の認証を行う手段と、
をさらに有する、
請求項１０から１３のいずれかに記載のワイヤレス充電システム。
【請求項１５】
前記対象物の認証を行う手段は、前記第二の秘密データに基づいて、チャレンジ・レスポンス認証を実行することで対象物の認証を行う、
請求項１４に記載のワイヤレス充電システム。
【請求項１６】
前記充電コントローラは、チャレンジとともに、前記チャレンジに関連付いた、前記タグ装置を認証するためのデータである認証コードを前記タグ装置に送信し、
前記タグ装置は、前記認証コードが、前記チャレンジに対応するものである場合にのみ応答を生成する、
請求項１０から１５のいずれかに記載のワイヤレス充電システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワイヤレス充電システムに関する。
【背景技術】
【０００２】
（関連出願への相互参照）
本出願は、２０１３年４月２６日に出願された米国特許出願第１３／８７１，６５６号の優先権を主張する。該出願は、その全体が本明細書中に参照として組み込まれる。
【０００３】
ワイヤレス充電システムでは、電力受信機が、電力送信機から無線で電力を受け取ることができる。
しかし、送信機と受信機との間で行うワイヤレス充電方法には、リプレイ攻撃、盗聴、無許可充電、無許可アクセスなど、様々なセキュリティ上の脅威が存在する。例えば、攻撃者が正規の電力受信機になりすますことで、電力送信機から無許可で充電を受けることが考えられる。また、攻撃者が、電力受信機と電力送信機との間で交換されるデータを盗取することが考えられる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、上記の問題点を考慮してなされたものであり、セキュアな充電プロトコルを用いたワイヤレス充電システムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するための、本発明の一形態に係るワイヤレス充電方法は、
タグ装置と、前記タグ装置を備える電力送信機と、前記電力送信機から電力を受信する電力受信機を備える対象物と、前記電力送信機を制御する充電コントローラと、からなるワイヤレス充電システムにおけるワイヤレス充電方法であって、前記充電コントローラが、前記対象物から充電要求を受信するステップと、前記充電コントローラが、前記充電要求に応答して、チャレンジを生成するステップと、前記充電コントローラが、前記生成したチャレンジを、前記対象物を介して前記タグ装置に送信するステップと、前記タグ装置が、前記チャレンジに対応する応答を、前記チャレンジおよび前記充電コントローラとの間で共有されている第一の秘密データに基づいて生成するステップと、前記タグ装置が、前記生成した応答を、前記対象物を介して前記充電コントローラに送信するステップと、前記充電コントローラが、前記応答が、前記送信したチャレンジと、前記第一の秘密データに対応するものであるか検証するステップと、前記応答の検証に成功した場合に、前記充電コントローラが、前記対象物が所定の範囲に位置するかを確認するステップと、前記対象物が所定の範囲に位置する場合に、前記充電コントローラが、前記対象物に対応する電力送信機に対して、前記対象物に対応する電力受信機に電力を無線で送信するよう指示するステップと、を含むことを特徴とする。
【０００６】
また、本発明の別の形態に係るワイヤレス充電方法は、
タグ装置と、前記タグ装置を備える電力送信機と、前記電力送信機から電力を受信する電力受信機を備える対象物と、前記電力送信機を制御する充電コントローラと、からなるワイヤレス充電システムにおいて、前記充電コントローラが実行するワイヤレス充電方法であって、前記対象物から充電要求を受信するステップと、前記充電要求に応答して、チャレンジを生成するステップと、前記生成したチャレンジを、前記対象物を介して前記タグ装置に送信するステップと、前記タグ装置によって生成された、前記チャレンジに対応する応答を、前記対象物を介して受信するステップと、前記受信した応答が、前記送信し
たチャレンジと、前記タグ装置との間で共有されている第一の秘密データに対応するものであるか検証するステップと、前記応答の検証に成功した場合に、前記対象物が所定の範囲に位置するかを確認するステップと、前記対象物が所定の範囲に位置する場合に、前記対象物に対応する電力送信機に対して、前記対象物に対応する電力受信機に電力を無線で送信するよう指示するステップと、を含むことを特徴とする。
【０００７】
また、本発明に係るワイヤレス充電システムは、
タグ装置と、前記タグ装置を備える電力送信機と、前記電力送信機から電力を受信する電力受信機を備える対象物と、前記電力送信機を制御する充電コントローラと、からなるワイヤレス充電システムであって、前記充電コントローラと、前記タグ装置との間で、第一の秘密データが共有されており、前記充電コントローラが、前記対象物から充電要求を受信する手段と、前記充電要求に応答して、チャレンジを生成する手段と、前記生成したチャレンジを、前記対象物に送信する手段と、前記対象物から、前記チャレンジに対応する応答を受信する手段と、前記受信した応答が、前記送信したチャレンジと、前記第一の秘密データに対応するものであるか検証する手段と、前記応答の検証に成功した場合に、前記対象物が所定の範囲に位置するかを確認する手段と、前記対象物が所定の範囲に位置する場合に、前記対象物に関連付いた電力送信機に対して、前記対象物に関連付いた電力受信機に電力を無線で送信するよう指示を行う手段と、を有し、前記対象物が、前記充電コントローラから受信したチャレンジを前記タグ装置に転送する手段と、前記タグ装置から受信した応答を前記充電コントローラに転送する手段と、を有し、前記タグ装置が、受信した前記チャレンジに対応する応答を、前記チャレンジおよび前記第一の秘密データに基づいて生成し、前記対象物に送信する手段を有することを特徴とする。
【０００８】
また、これらの形態の一つ以上の他の実装として、システム、装置、コンピュータプログラム、コンピュータ記憶装置上に符号化された方法の実行などが含まれる。
【０００９】
また、他の実装として、以下の特徴のうち一つ以上を含むようにしてもよい。
例えば、前記応答は、前記チャレンジおよび前記第一の秘密データを、所定の応答関数を用いて変換したデータを含んでいてもよく、前記チャレンジは、前記充電要求に一意に対応する乱数であってもよい。また、対象物から受信する応答は、セッション鍵を用いて暗号化されたデータであってもよい。また、第二の秘密データに基づいて、チャレンジ・レスポンス認証を実行することで対象物の認証を行うようにしてもよい。
また、対象物との間でセッション鍵を共有してもよいし、前記対象物から、対象物認証データを受信してもよい。また、前記対象物認証データと、前記対象物との間で共有されている第二の秘密データを用いて、前記対象物の認証を行ってもよい。また、前記チャレンジに関連付いた認証コードを生成し、対象物を経由して、前記認証コードをタグ装置に送信するようにしてもよい。
【００１０】
本発明は、特にいくつかの点において有利である。
例えば、本発明に係るシステムは、対象物に対してセキュアなワイヤレス充電を行うことが可能な、様々なセキュアなワイヤレス充電プロトコルを提供することができる。
また、本発明に係るシステムは、リプレイ攻撃、盗聴、無許可充電、無許可タグアクセスのうちの一つ以上を防ぐための、チャレンジ認証、データ暗号化、および一つ以上の認証処理を行うことができる。
【発明の効果】
【００１１】
本発明によると、セキュアな充電プロトコルを用いたワイヤレス充電システムを提供することができる。
【図面の簡単な説明】
【００１２】
【図１】対象物にワイヤレス充電を行うシステムの例を示したブロック図である。
【図２】制御アプリケーションの例を示したブロック図である。
【図３】対象物アプリケーションの例を示したブロック図である。
【図４】タグアプリケーションの例を示したブロック図である。
【図５Ａ】対象物にワイヤレス充電を行う方法のうち、充電コントローラもしくは充電サーバ側の処理例を示したフローチャートである。
【図５Ｂ】対象物にワイヤレス充電を行う方法のうち、充電コントローラもしくは充電サーバ側の処理例を示したフローチャートである。
【図６Ａ】対象物にワイヤレス充電を行う方法のうち、対象物側の処理例を示したフローチャートである。
【図６Ｂ】対象物にワイヤレス充電を行う方法のうち、対象物側の処理例を示したフローチャートである。
【図７】対象物にワイヤレス充電を行う方法のうち、タグ装置側の処理例を示したフローチャートである。
【図８】ワイヤレス充電プロトコルを実装するための処理例を示したイベントダイアグラムである。
【図９】第一のセキュアなワイヤレス充電プロトコルを実装するための処理例を示したイベントダイアグラムである。
【図１０】第二のセキュアなワイヤレス充電プロトコルを実装するための処理例を示したイベントダイアグラムである。
【図１１】第三のセキュアなワイヤレス充電プロトコルを実装するための処理例を示したイベントダイアグラムである。
【図１２】第四のセキュアなワイヤレス充電プロトコルを実装するための処理例を示したイベントダイアグラムである。
【図１３】第五のセキュアなワイヤレス充電プロトコルを実装するための処理例を示したイベントダイアグラムである。
【図１４】チャレンジ・レスポンス認証処理を実装するための処理例を示したイベントダイアグラムである。
【図１５】一実施形態において、様々なセキュアなワイヤレス充電プロトコルに対応する、様々なセキュリティ機能を示す図である。
【図１６】ワイヤレス充電システムを例示する図である。
【図１７】安全充電範囲と安全充電距離の例を示す図である。
【発明を実施するための形態】
【００１３】
ワイヤレス充電を行うシステムおよび方法について以下に記載する。
以下の説明では、本発明を十分に理解できるように、多くの詳細について説明する。しかしながら、各実施形態はこれらの具体的な詳細無しでも良いことは当業者にとって明らかであろう。また、説明が不明瞭になることを避けるために、構造や装置をブロック図の形式で表すこともある。例えば、一実施形態は、ユーザインタフェースおよび特定のハードウェアとともに説明される。しかし、ここでの説明は、データおよびコマンドを受信する任意のタイプの計算装置および任意の周辺機器について適用できる。
【００１４】
本明細書における「１つの実施形態」または「別の実施形態」等という用語は、その実施形態と関連づけて説明される特定の特徴・構造・性質が少なくとも本発明の一つの実施形態に含まれることを意味する。「１つの実施形態における」等という用語は本明細書内で複数用いられるが、これらは必ずしも同一の実施形態を示すものとは限らない。
【００１５】
以下の詳細な説明の一部は、非一時的（non-transitory）なコンピュータ可読記憶媒体に記憶されたデータビットに対する動作のアルゴリズムおよび記号的表現として提供される。これらのアルゴリズム的な説明および表現は、データ処理技術分野の当業者によって
、他の当業者に対して自らの成果の本質を最も効果的に説明するために用いられるものである。なお、本明細書において（また一般に）アルゴリズムとは、所望の結果を得るための論理的な手順を意味する。処理のステップは、物理量を物理的に操作するものである。必ずしも必須ではないが、通常は、これらの量は記憶・伝送・結合・比較およびその他の処理が可能な電気的または磁気的信号の形式を取る。通例にしたがって、これらの信号をビット・値・要素・エレメント・シンボル・キャラクタ・項・数値などとして称することが簡便である。
【００１６】
なお、これらの用語および類似する用語はいずれも、適切な物理量と関連付いているものであり、これら物理量に対する簡易的なラベルに過ぎないということに留意する必要がある。以下の説明から明らかなように、特に断らない限りは、本明細書において「処理」「計算」「コンピュータ計算（処理）」「判断」「表示」等の用語を用いた説明は、コンピュータシステムや類似の電子的計算装置の動作および処理であって、コンピュータシステムのレジスタやメモリ内の物理的（電子的）量を、他のメモリやレジスタまたは同様の情報ストレージや通信装置、表示装置内の物理量として表される他のデータへ操作および変形する動作および処理を意味する。
【００１７】
本発明は、本明細書で説明される動作を実行する装置にも関する。この装置は要求される目的のために特別に製造されるものであっても良いし、汎用コンピュータを用いて構成しコンピュータ内に格納されるプログラムによって選択的に実行されたり再構成されたりするものであっても良い。このようなコンピュータプログラムは、コンピュータのシステムバスに接続可能な、例えばフロッピー（登録商標）ディスク・光ディスク・ＣＤ−ＲＯＭ・ＭＯディスク・磁気ディスクなど任意のタイプのディスク、読み込み専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気カード、フラッシュメモリ、光学式カード、電子的命令を格納するために適した任意のタイプの媒体などの、非一時的なコンピュータ可読記憶媒体に記憶される。
【００１８】
発明の具体的な実施形態は、完全にハードウェアによって実現されるものでも良いし、完全にソフトウェアによって実現されるものでも良いし、ハードウェアとソフトウェアの両方によって実現されるものでも良い。好ましい実施形態は、ソフトウェアによって実現される。ここでソフトウェアとは、ファームウェア、常駐ソフトウェア、マイクロコードやその他のソフトウェアを含むものである。
【００１９】
さらに、ある実施形態は、コンピュータが利用あるいは読み込み可能な記憶媒体からアクセス可能なコンピュータプログラムプロダクトの形態を取る。この記憶媒体は、コンピュータや任意の命令実行システムによってあるいはそれらと共に利用されるプログラムコードを提供する。コンピュータが利用あるいは読み込み可能な記憶媒体とは、命令実行システムや装置によってあるいはそれらと共に利用されるプログラムを、保持、格納、通信、伝搬および転送可能な任意の装置を指す。
【００２０】
プログラムコードを格納・実行するために適したデータ処理システムは、システムバスを介して記憶素子に直接または間接的に接続された少なくとも１つのプロセッサを有する。記憶素子は、プログラムコードの実際の実行に際して使われるローカルメモリや、大容量記憶装置や、実行中に大容量記憶装置からデータを取得する回数を減らすためにいくつかのプログラムコードを一時的に記憶するキャッシュメモリなどを含む。
【００２１】
入力／出力（Ｉ／Ｏ）装置は、例えばキーボード、ディスプレイ、ポインティング装置などであるが、これらはＩ／Ｏコントローラを介して直接あるいは間接的にシステムに接続される。
【００２２】
システムにはネットワークアダプタも接続されており、これにより、私的ネットワークや公共ネットワークを介して他のデータ処理システムやリモートにあるプリンタや記憶装置に接続される。モデム、ケーブルモデム、イーサネット（登録商標）は、現在利用可能なネットワークアダプタのほんの一例である。
【００２３】
最後に、本明細書において提示されるアルゴリズムおよび表示は特定のコンピュータや他の装置と本来的に関連するものではない。本明細書における説明にしたがったプログラムを有する種々の汎用システムを用いることができるし、また要求された処理ステップを実行するための特定用途の装置を製作することが適した場合もある。これら種々のシステムに要求される構成は、以下の説明において明らかにされる。さらに、本発明は、特定のプログラミング言語と関連づけられるものではない。本明細書で説明される本発明の内容を実装するために種々のプログラミング言語を利用できることは明らかであろう。
【００２４】
（システム概要）
図１は、対象物１０２にワイヤレス充電を行うシステムである、システム１００の実装の一形態を表すブロック図である。図示されたシステム１００は、ユーザ１２５によって操作されるユーザ装置１１５、充電サーバ１４２、充電コントローラ１１２、対象物１０２、電力送信機１１８、タグ装置１２０を含む。
他の実施形態として、システム１００は、充電システムと関連する他の構成要素（例えば課金サーバ等）を含んでいてもよい。
【００２５】
図示した実施形態において、充電コントローラ１１２は、信号線１０９を通して電力送信機１１８と通信可能に結合している。また、充電コントローラ１１２は、信号線１２１を通してタグ装置１２０と通信可能に結合している。
充電コントローラ１１２および対象物１０２は、無線通信リンク１０３または信号線１７９を通して互いに通信することができる。
図示した実施形態では、システム１００を構成する各要素は、ネットワーク１５５を通して通信可能に結合している。
例えば、充電コントローラ１１２は、信号線１１９を通してネットワーク１５５と通信可能に結合している。また、充電サーバ１４２は、信号線１４１を通してネットワーク１５５と通信可能に結合している。また、ユーザ装置１１５は、信号線１１７を通してネットワーク１５５と通信可能に結合している。また、対象物１０２は、信号線１４５を通してネットワーク１５５と通信可能に結合している。
一実施形態において、信号線１４５，１７９，１２１，１０９，１１９，１４１，１１７は、それぞれ有線接続または無線接続を表す。
【００２６】
対象物１０２は、充電可能なバッテリーを備えている任意の装置である。対象物１０２の例としては、電気自動車、ハイブリッド電気自動車、充電可能なバッテリーを有するロボットや、電力により充電可能に構成される他の任意の装置が挙げられるが、本発明が充電対象とする対象物はこれらに限定されない。
なお、図１においては、対象物１０２は一つだけであるが、システム１００は複数の対象物１０２を含むこともできる。
図示した実施形態において、対象物１０２は、第一の通信部１０４、電力受信機１０６、読み取り装置１０８、対象物アプリケーション１２８を含む。
また、対象物アプリケーション１２８は、一実施形態においては、対象物１０２に含まれ、他の実施形態においては、読み取り装置１０８に含まれる。よって、図１では、対象物アプリケーション１２８を点線で図示している。
対象物１０２は、図１に示されない他の構成要素、例えば充電可能なバッテリーやバッテリーの残容量を示すための表示装置、入力デバイスなどを含むことができる。
【００２７】
第一の通信部１０４は、充電コントローラ１１２、充電サーバ１４２、ユーザ装置１１５、タグ装置１２０のうちの一つ以上に対してデータを送受信する手段である。いくつかの実装例において、第一の通信部１０４は、ネットワーク１５５や他の通信チャネルへの直接的な物理的接続のためのポートを含む。例えば、第一の通信部１０４は、ＵＳＢ、ＳＤ、ＣＡＴ−５など、ユーザ装置１１５と有線通信するためのポートを含む。
ある実装例では、第一の通信部１０４は、ＩＥＥＥ  ８０２．１１、ＩＥＥＥ  ８０２．１６、ＢｌｕｅＴｏｏｔｈ（登録商標）、ＤＳＲＣ（Dedicated Short-Range Communication）または他の適当な無線通信方式を含む一つまたは複数の無線通信方式を用いて、
ユーザ装置１１５や他の通信チャネルとデータを交換するための無線送受信部を含む。
【００２８】
一実施形態において、第一の通信部１０４は、一つまたは複数の無線通信方式（例えばＩＥＥＥ  ８０２．１１、ＩＥＥＥ  ８０２．１６、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＤＳＲＣ等）を用いる無線通信リンク１０３を介して、充電コントローラ１１２と通信する。また、一実施形態において、第一の通信部１０４は、一つまたは複数の無線通信方式（例えばＩＥＥＥ  ８０２．１１、ＩＥＥＥ  ８０２．１６、Ｂｌｕｅｔｏｏｔｈ、ＤＳＲＣ等）を用いる無線通信リンク１８１を介して、タグ装置１２０と通信する。
【００２９】
ある実装例では、第一の通信部１０４は、ＳＭＳ（ショートメッセージサービス）、ＭＭＳ（マルチメディアメッセージサービス）、ＨＴＴＰ（ハイパーテキスト転送プロトコル）、直接データ接続、ＷＡＰ、電子メールやその他の適切な電子通信方式により、携帯電話通信網上でデータを送受信するためのセルラ通信トランシーバを有する。ある実装例では、第一の通信部１０４は、有線ポートと無線送受信機を含む。第一の通信部１０４は、ＴＣＰ／ＩＰ、ＨＴＴＰ、ＨＴＴＰＳ、ＳＭＴＰなどの標準的なネットワークプロトコルを用いてファイルやメディアオブジェクトを配布するために、ネットワーク１５５への従来型の接続を提供する。
【００３０】
電力受信機１０６は、電源から電力を受信する任意の装置である。例えば、電力受信機１０６は、電力送信機１１８からワイヤレスで電力を受信して、受信電力をバッテリー（不図示）に蓄電する。図示した実施形態においては、電力受信機１０６は、無線リンク１０５を介して電力送信機１１８から電力を受信する。また、電力送信機１１８は、電力受信機１０６に電力をワイヤレスで送信する。
【００３１】
読み取り装置１０８は、他の装置からデータを無線通信により読み取る任意の装置である。例えば、読み取り装置１０８は、ＲＦＩＤ（Radio Frequency Identification）リーダあるいはＮＦＣ（Near Field Communication）リーダのいずれかである。読み取り装置１０８は、無線通信リンク１０７を介してタグ装置１２０からデータを読み取る。
【００３２】
対象物アプリケーション１２８は、対象物１０２に対する充電を、当該対象物側で制御するコードまたはルーチンである。
いくつかの実装例において、対象物アプリケーション１２８は、ＦＰＧＡ（Field Programmable Gate Array）やＡＳＩＣ（Application Specific Integrated Circuit）などのハードウェアを用いて実装される。別の実施形態では、対象物アプリケーション１２８は、ハードウェアとソフトウェアの両方を用いて実装される。ある実施形態では、対象物アプリケーション１２８は、装置とサーバの両方に格納されてもよいし、装置とサーバのいずれかのみに格納されてもよい。
【００３３】
一実施形態において、対象物アプリケーション１２８は、対象物１０２に関連付いたバッテリーの残量レベルが所定の閾値を下回ったことを検出し、対象物１０２を充電するための充電要求を生成する。充電要求とは、対象物１０２に対して充電を行うことを要求するデータである。
他の実施形態において、読み取り装置１０８が、読み取り閾値（電力送信機１１８が電力受信機１０６の近くにあることを示す閾値）の範囲内にタグ装置１２０を検出した場合、対象物アプリケーション１２８は、自動的に充電要求を生成する。読み取り閾値については、後ほど詳しく説明する。
また、対象物アプリケーション１２８については、図３、図６Ａおよび６Ｂ、図８〜１３を参照しながら、後ほど詳しく説明する。
【００３４】
電力送信機１１８は、電力を送信可能な任意の装置である。例えば、電力送信機１１８は、電力受信機１０６に電力をワイヤレスで送信する装置である。一実施形態においては、電力送信機１１８と電力受信機１０６の間の距離（充電距離と称する）が安全充電距離の条件を満たす（例えば、充電距離≦安全充電距離）場合に、電力送信機１１８が電力受信機１０６に電力をワイヤレス送信するように構成される。充電距離が安全充電距離を満たす場合は、電力受信機１０６が電力送信機１１８に近接していることを意味する。しかし、充電距離が安全充電距離を満たさない（例えば、充電距離＞安全充電距離）場合は、電力送信機１１８からの電力受信機１０６に対する電力のワイヤレス送信は禁止される。
【００３５】
充電距離とは、電力送信機１１８と電力受信機１０６との間の距離である。また、安全充電距離とは、電力送信機１１８が電力受信機１０６に電力を安全にワイヤレス送信することができる最大の充電距離である。ある実施例では、安全充電距離は０．１ミリメートルから５０メートルの間の値である。他の実施例では、安全充電距離は０．１ミリメートルよりも短い値や、５０メートルを超える値であってもよい。
【００３６】
タグ装置１２０は、無線通信によって他のデバイスに読み取られるデータを格納する任意の装置である。例えば、タグ装置１２０は、無線通信によって読み取り装置１０８が読み取るデータを格納する。例えば、タグ装置１２０は、ＲＦＩＤタグあるいはＮＦＣタグのうちのいずれかである。
【００３７】
一実施形態においては、タグ装置１２０は、タグ装置１２０に関連付いた秘密のデータ（以下、秘密データ）を記憶装置４４１に記憶する。秘密データとは、制御アプリケーション１１４およびタグアプリケーション１３８の間で共有される秘密鍵である。当該秘密鍵を、コントローラ・タグ秘密鍵と称する。
他の実施形態において、タグ装置１２０は、検証コードを記憶装置４４１に記憶する。検証コードとは、対象物１０２が正規の場所にあるかを検証するためのコードである。例えば、検証コードは、制御アプリケーション１１４およびタグ装置１２０の間においてのみ共有される秘密データである。また、例えば、検証コードは、一意の数値や、一意のシンボル、一意のメッセージなどである。上記以外の検証コードも利用可能である。
一実施形態において、コントローラ・タグ秘密鍵は、検証コードとして、以降に説明する機能を提供するために用いられる。他の実施形態において、検証コードは、コントローラ・タグ秘密鍵とは異なる。
【００３８】
図示した実施形態において、タグ装置１２０は、タグアプリケーション１３８を含む。タグアプリケーション１３８は、対象物１０２の充電を行うために、対象物アプリケーション１２８および制御アプリケーション１１４と協働するコードまたはルーチンである。
いくつかの実装例において、タグアプリケーション１３８は、ＦＰＧＡ（Field Programmable Gate Array）やＡＳＩＣ（Application Specific Integrated Circuit）などのハードウェアを用いて実装される。別の実施形態では、タグアプリケーション１３８は、ハードウェアとソフトウェアの両方を用いて実装される。ある実施形態では、タグアプリケーション１３８は、装置とサーバの両方に格納されてもよいし、装置とサーバのいずれかのみに格納されてもよい。
タグアプリケーション１３８については、図４、図７〜１３を参照しながら、後ほど詳
しく説明する。
【００３９】
一実施形態において、読み取り装置１０８は、読み取り装置１０８とタグ装置１２０との読み取り距離が、読み取り閾値を満たす場合（例えば、読み取り距離≦読み取り閾値である場合）に、データ（例えば、検証コードや、以下に説明する応答）をタグ装置１２０から読み取るように構成される。読み取り距離とは、読み取り装置１０８とタグ装置１２０との間の距離である。また、読み取り閾値とは、読み取り装置１０８がタグ装置１２０から正しくデータを読み取れる最大の読み取り距離である。
例えば、読み取り距離が読み取り閾値以下であれば、読み取り装置１０８はタグ装置１２０から正しく検証コードを読むことができる。しかし、読み取り距離が読み取り閾値より大きい場合、読み取り装置１０８はタグ装置１２０から検証コードを読むことができない。
また、例えば、読み取り距離が読み取り閾値より大きい場合、読み取り装置１０８が読み取りエラーを起こし、タグ装置１２０から誤った検証コードを取得してしまうことがありえる。また、いくつかの実施形態において、読み取り距離が読み取り閾値より大きい場合、読み取り装置１０８はタグ装置１２０からデータを全く読み取ることができない。
【００４０】
一実施形態において、読み取り装置１０８はＲＦＩＤリーダであり、タグ装置１２０はＲＦＩＤタグである。この場合、読み取り距離が読み取り閾値以下であれば、ＲＦＩＤリーダがＲＦＩＤタグから検証コードを正常に取得することができる。
他の実施形態において、読み取り装置１０８はＮＦＣリーダであり、タグ装置１２０はＮＦＣタグである。この場合、読み取り距離が読み取り閾値以下であれば、ＮＦＣリーダがＮＦＣタグから検証コードを正常に取得することができる。
【００４１】
一実施形態において、読み取り閾値は、ユーザによって設定される。別の実施形態においては、読み取り閾値は、読み取り装置１０８やタグ装置１２０によって設定される。例えば、読み取り閾値は、ＲＦＩＤリーダとＲＦＩＤタグによって設定される。別の例では、読み取り閾値は、ＮＦＣリーダとＮＦＣタグによって設定される。ある例では、読み取り閾値は、０．１ミリメートルと５０メートルの間の値である。他の例では、読み取り閾値は０．１ミリメートルよりも短い値や、５０メートルを超える値である。
【００４２】
一実施形態においては、読み取り装置１０８は電力受信機１０６から第一の距離範囲内に設置され、タグ装置１２０は電力送信機１１８から第二の距離範囲内に設置される。例えば、読み取り装置１０８は電力受信機１０６に隣接して設置され、タグ装置１２０は電力送信機１１８に隣接して設置される。別の例では、読み取り装置１２０は、電力受信機１０６に取り付けられ、または搭載される。同様に、タグ装置１２０は、電力送信機１１８に取り付けられ、または搭載される。
【００４３】
ある実施形態では、（１）読み取り装置１０８を電力受信機１０６に近接して配置する際の位置、（２）タグ装置１２０を電力送信機１１８に近接して配置する際の位置、（３）読み取り閾値の値、（４）安全充電距離の値は、読み取り距離が読み取り閾値以内であり、充電距離が安全充電距離以内となるように設定される。
換言すると、読み取り装置１０８がタグ装置１２０からデータ（検証コードや応答）を正常に読み取れるということは、（１）読み取り装置１０８がタグ装置１２０に近接していること、および（２）電力受信機１０６が電力送信機１１８に近接していることを意味し、この場合は、電力送信機１１８は電力受信機１０６に対して電力を正常にワイヤレス送信できることを意味する。
【００４４】
例えば、読み取り装置１０８が電力受信機１０６に搭載されており、タグ装置１２０が電力送信機１１８に搭載されており、読み取り装置１０８とタグ装置１２０の間の読み取
り距離が、電力受信機１０６と電力送信機１１８の間の充電距離と等しい場合を考える。また、安全充電距離が読み取り閾値より大きく設定されていると仮定する。この場合、読み取り距離が読み取り閾値以下であれば、（１）読み取り距離＝充電距離、（２）読み取り距離≦読み取り閾値、（３）読み取り閾値≦安全充電距離であるから、充電距離≦安全充電距離となり、充電距離も安全充電距離を満たす。
【００４５】
一実施形態において、読み取り装置１０８は、タグ装置１２０から応答を読み取るように構成される。例えば、読み取り装置１０８は、タグ装置１２０から充電要求に対する応答を読み取る。
他の例では、読み取り装置１０８は、タグ装置１２０が読み取り閾値を満たす距離内にある場合に、タグ装置１２０から応答を読み込むための動作を行う。例えば、読み取り装置１０８は、タグ装置１２０が読み取り閾値を満たす範囲に存在することを検出し、タグ装置１２０から自動的に応答を読み込む。
そして、読み取り装置１０８は、検証を行うために、制御アプリケーション１１４に当該応答を送信する。
いくつかの例において、応答の検証が成功したということは、（１）読み取り距離が読み取り閾値を満たすこと、および、（２）充電距離が安全充電距離を満たすこと、を意味する。
この場合、電力送信機１１８は、電力受信機１０６に対してワイヤレスで電力を送信することができる。応答の検証については、図２を参照しながら後ほど詳しく説明する。
【００４６】
本明細書における「応答」とは、要求に応じてタグ装置１２０が生成したデータである。一実施形態において、応答は、検証コードを含む。
他の実施形態では、応答は、チャレンジおよびコントローラ・タグ秘密鍵から生成されたデータを含む。例えば、応答は、チャレンジおよびコントローラ・タグ秘密鍵を入力とする一方向性関数の出力結果である。一方向性関数とは、ハッシュ関数、メッセージ認証符号関数、汎用一方向性関数、汎用ハッシュ関数などを含むが、これらに限定されない。
【００４７】
また、本明細書における「チャレンジ」とは、充電プロセスを識別するデータである。例えば、チャレンジは、ランダムに生成された、充電プロセスごとに一意な数値である。すなわち、異なる充電要求に対応する異なる応答は、異なるチャレンジによって識別される。
【００４８】
充電コントローラ１１２は、対象物１０２の充電を管理する任意の装置である。例えば、充電コントローラ１１２は、メモリとプロセッサ（ともに不図示）を含むコンピュータである。いくつかの例において、メモリは、図２を参照しながら後ほど説明するメモリ２３７のようなメモリである。また、いくつかの例において、プロセッサは、図２を参照しながら後ほど説明するプロセッサ２３５のようなプロセッサである。
なお、図１には、一つの充電コントローラ１１２のみを示しているが、充電コントローラ１１２は複数あってもよい。
図示した実施形態において、充電コントローラ１１２は、制御アプリケーション１１４と記憶装置１１６を含む。
一実施形態では、制御アプリケーション１１４は充電コントローラ１１２に含まれるが、他の実施形態では、制御アプリケーション１１４が充電サーバ１４２に含まれてもよい。よって、図１では、制御アプリケーション１１４を点線で表している。
【００４９】
制御アプリケーション１１４は、対象物１０２に対する充電を制御するコードまたはルーチンである。
いくつかの実装例において、制御アプリケーション１１４は、ＦＰＧＡ（Field Programmable Gate Array）やＡＳＩＣ（Application Specific Integrated Circuit）などのハ
ードウェアを用いて実装される。別の実施形態では、制御アプリケーション１１４は、ハードウェアとソフトウェアの両方を用いて実装される。ある実施形態では、制御アプリケーション１１４は、装置とサーバの両方に格納されてもよいし、装置とサーバのいずれかのみに格納されてもよい。
制御アプリケーション１１４については、図２、図５Ａおよび５Ｂ、図８〜１３を参照しながら、後ほど詳しく説明する。
【００５０】
記憶装置１１６は、本明細書で記載される機能を提供するためのデータを格納する非一時的（non-transitory）なメモリである。記憶装置１１６は、ＤＲＡＭ、ＳＲＡＭ、フラッシュメモリやその他の既存のメモリ装置である。ある実施形態においては、記憶装置１１６は、ハードディスクドライブ、フロッピー（登録商標）ディスクドライブ、ＣＤ−ＲＯＭ装置、ＤＶＤ−ＲＯＭ装置、ＤＶＤ−ＲＡＭ装置、ＤＶＤ−ＲＷ装置、フラッシュメモリ装置や情報記憶の分野において既知のその他の大容量記憶装置などの、非一時的（non-volatile）メモリや永久記憶装置を含んでも良い。記憶装置１１６については、図２を参照しながら後ほど詳しく説明する。
【００５１】
充電サーバ１４２は、プロセッサおよびメモリを備え、ネットワークによる通信を行うことができるハードウェアサーバである。充電サーバ１４２は、ネットワーク１５５を介してシステム１００の他の構成要素との間でデータを送受信する。図１では充電サーバ１４２は一つだけであるが、システム１００は一つまたは複数の充電サーバ１４２を含んでもよい。一実施形態において、充電サーバ１４２は、制御アプリケーション１１４を含む。
【００５２】
ユーザ装置１１５は、メモリとプロセッサを含むコンピュータであり、例えば、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、携帯電話、個人情報端末（ＰＤＡ）、モバイル電子メール装置、ポータブルゲームプレーヤー、携帯音楽プレーヤ、電子書籍リーダ、一つまたは複数のプロセッサを備えるテレビ受信機や、ネットワーク１５５へアクセス可能なその他の電子機器などである。
図示の実装例では、ユーザ１２５はユーザ装置１１５と接する。図１ではユーザ装置１１５が一つのみ示されているが、本発明は複数のユーザ装置１１５を含むシステム構成にも適用可能である。
【００５３】
ネットワーク１５５は、有線ネットワークであっても無線ネットワークであってよい。また、その構成は、スター型、トークンリング型や当業者に知られている任意のその他の構成を取ることができる。さらにまた、ネットワーク１５５は、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）（例えばインターネット）や、複数の装置が通信に用いる相互接続されたその他の任意のデータパスを含んでもよい。さらに別の形態では、ネットワーク１５５はピアツーピアネットワークであってもよい。ネットワーク１５５は、複数の異なる通信プロトコルでデータ送信するための通信ネットワークと接続されたり、このような通信ネットワークを含んだりしても良い。
ある実施形態では、ネットワーク１５５は、Ｂｌｕｅｔｏｏｔｈ通信ネットワークや携帯電話通信ネットワークを含み、ＳＭＳ（ショートメッセージサービス）、ＭＭＳ（マルチメディアメッセージサービス）、ＨＴＴＰ（ハイパーテキスト転送プロトコル）、直接データ接続、ＷＡＰ、電子メールなどのデータを送受信する。
なお、図１では１つのネットワーク１５５のみが、ユーザ装置１１５や充電サーバ１４２、充電コントローラ１１２に接続されているが、複数のネットワーク１５５がこれらの構成要素に接続されていてもよい。
【００５４】
（制御アプリケーション１１４）
図２を参照して、制御アプリケーション１１４について詳しく説明する。
図２は、一実施例における、制御アプリケーション１１４、プロセッサ２３５、メモリ２３７、第二の通信部２３９、および記憶装置１１６を含むコンピュータ２００のブロック図である。コンピュータ２００の各構成要素は、バス２２０を介して通信可能に結合される。
一実施形態において、コンピュータ２００は、充電コントローラ１１２、充電サーバ１４２のうちのいずれかである。
【００５５】
プロセッサ２３５は、演算論理ユニット、マイクロプロセッサ、汎用制御装置や、その他のプロセッサアレイを有し、計算を実行したり、表示装置に電子表示信号を提供したりする手段である。プロセッサ２３５は、信号線２４０を介してバス２２０に結合され、他の構成要素と通信することができる。
プロセッサ２３５は、データ信号を処理し、そのアーキテクチャは、ＣＩＳＣ（Complex Instruction Set Computer）、ＲＩＳＣ（Reduced Instruction Set Computer）、これら両方の命令セットの組合せとして実装されたアーキテクチャなど様々なアーキテクチャでありうる。なお、図２には一つのプロセッサ２３５だけが示されているが、複数のプロセッサ２３５が含まれていてもよい。上記以外のプロセッサ、オペレーティングシステム、センサ、表示装置、あるいは物理的構成も採用可能である。
【００５６】
メモリ２３７は、プロセッサ２３５が実行可能な命令やデータを格納する手段である。メモリ２３７は、信号線２４２を介してバス２２０に結合され、他の構成要素と通信することができる。メモリ２３７に格納される命令やデータは、本明細書に示す技術を実行するためのコードを含む。
メモリ２３７は、ＤＲＡＭ、ＳＲＡＭ、フラッシュメモリやその他の既存のメモリ装置である。ある実施形態においては、メモリ２３７は、ハードディスクドライブ、フロッピーディスクドライブ、ＣＤ−ＲＯＭ装置、ＤＶＤ−ＲＯＭ装置、ＤＶＤ−ＲＡＭ装置、ＤＶＤ−ＲＷ装置、フラッシュメモリ装置や情報記憶の分野において既知のその他の大容量記憶装置などの、非一時的（non-volatile）メモリや永久記憶装置を含んでも良い。
【００５７】
第二の通信部２３９は、充電コントローラ１１２、対象物１０２、充電サーバ１４２、ユーザ装置１１５、電力送信機１１８、タグ装置１２０のうち一つ以上とデータを送受信する手段である。その通信先は、制御アプリケーション１１４が格納されている場所によって異なる。
第二の通信部２３９は、信号線２４６を介してバス２２０に結合される。
ある実施形態では、第二の通信部２３９は、上述した第一の通信部１０４と同様の構成を有し同様の機能を提供するものであるため、詳細な説明は省略する。
【００５８】
図示した実装例では、記憶装置１１６は信号線２４４を介してバス２２０と通信可能に接続される。ある実装例では、記憶装置１１６は、（１）コントローラ・タグ秘密鍵、コントローラ・対象物秘密鍵、コントローラ・対象物セッション鍵のうちの一つ以上を表す秘密データ、（２）チャレンジを表すデータ、（３）安全充電範囲を表すデータ、（４）安全充電距離を表すデータ、（５）検証コードを表すデータ、のうちの一つ以上を記憶する。
記憶装置１１６に格納されるデータについては、後ほど詳しく説明する。また、ある実装例では、記憶装置１１６は、本明細書に示す機能を提供するための他のデータを格納することができる。
【００５９】
図２に示した実装例では、制御アプリケーション１１４は、通信モジュール２０１、チャレンジモジュール２０３、コントローラ機密モジュール２０５、コントローラ認証モジュール２０７、応答検証モジュール２０８、オプションである場所モジュール２０９、命令モジュール２１１、および第一のユーザインタフェースモジュール２１３を含む。制御
アプリケーション１１４のこれらの構成要素は、バス２２０を介して互いに通信可能に接続される。
【００６０】
第一の通信モジュール２０１は、制御アプリケーション１１４とコンピュータ２００の他の構成要素との間の通信を処理するためのルーチンを含むソフトウェアである。ある実装例では、第一の通信モジュール２０１は、プロセッサ２３５で実行可能な一組の命令であり、制御アプリケーション１１４とコンピュータ２００の他の要素との間の通信を処理するために、以下に記す機能を提供する。また、ある実装例では、第一の通信モジュール２０１は、コンピュータ２００のメモリ２３７に保存され、プロセッサ２３５によってアクセスおよび実行される。また、第一の通信モジュール２０１は、信号線２２２を介してプロセッサ２３５とコンピュータ２００の他の構成要素と協働し通信を行うように構成される。
【００６１】
第一の通信モジュール２０１は、第二の通信部２３９を介して、ユーザ装置１１５、対象物１０２、充電サーバ１４２、充電コントローラ１１２、電力送信機１１８、タグ装置１２０等との間でデータを送受信する。
例えば、第一の通信モジュール２０１は、対象物１０２からの応答を表すデータを、第二の通信部２３９を介して受信し、当該データを応答検証モジュール２０８に送信する。
別の例では、第一の通信モジュール２０１は、ユーザに対してユーザインタフェースを提供するためのグラフィックデータを第一のユーザインタフェースモジュール２１３から受信し、当該グラフィックデータをユーザ装置１１５に送信して、ユーザ装置１１５を通して、ユーザにユーザインタフェースを提供する。
【００６２】
ある実装例では、第一の通信モジュール２０１は、制御アプリケーション１１４の他の構成要素からデータを受信して、当該データを記憶装置１１６に格納する。例えば、第一の通信モジュール２０１は、第一のユーザインタフェースモジュール２１３からグラフィックデータを受信して、当該グラフィックデータを記憶装置１１６に格納する。ある実装例では、第一の通信モジュール２０１が、記憶装置１１６からデータを取得して、取得したデータを充電アプリケーション１１４の他の構成要素に送信する。例えば、第一の通信モジュール２０１は、記憶装置１１６からコントローラ・対象物秘密鍵を表わすデータを取得して、取得したデータをコントローラ認証モジュール２０７に送る。
【００６３】
チャンレジモジュール２０３は、チャレンジを生成するためのルーチンを含むソフトウェアである。ある実装例では、チャレンジモジュール２０３は、プロセッサ２３５で実行可能な一組の命令であり、チャレンジを生成するために以下に記す機能を提供する。ある実装例では、チャレンジモジュール２０３は、コンピュータ２００のメモリ２３７に保存され、プロセッサ２３５によってアクセスおよび実行される。チャレンジモジュール２０３は、信号線２２４を介してプロセッサ２３５とコンピュータ２００の他の構成要素と協働し通信を行うように構成される。
【００６４】
一実施形態において、チャレンジモジュール２０３は、第一の通信モジュール２０１を介して、対象物１０２から充電要求を受信する。そして、チャレンジモジュール２０３は、当該充電要求に応答して、チャレンジを生成する。
一実施形態において、チャレンジは、充電要求に関連付いた充電プロセスを一意に識別するランダムの数値である。例えば、チャレンジは、チャレンジによって一意に識別される応答をタグ装置１２０が生成する際に使用される。すなわち、異なる応答は異なるチャレンジに関連付いている。
いくつかの実施形態において、チャレンジモジュール２０３は、充電プロセスごとに異なるチャレンジを生成する。
一実施形態において、充電プロセスは、制御アプリケーション１１４、対象物アプリケ
ーション１２８、タグアプリケーション１３８が協働して行う、対象物１０２を充電するためのプロセスである。
【００６５】
チャレンジを、特定の充電プロセスに関連した一意な値とすることは、リプレイ攻撃の防止という観点において有益である。
一実施形態において、リプレイ攻撃とは、制御アプリケーション１１４から充電許可を得るために、不正に、または悪意を持って、不正な応答（例えば前回送信された応答）を送信する攻撃である。
例えば、攻撃者が、前回充電を行った際の応答のコピーを持っている場合、制御アプリケーション１１４から充電承認を得るために、制御アプリケーション１１４に、当該応答のコピーを送信することができる。もし、応答の内容が、充電プロセスごとに区別できないものであった場合、制御アプリケーション１１４は、リプレイ攻撃を識別することができない。
しかし、上述したように、応答が、充電プロセスごとの一意なチャレンジに基づいた一意なものである場合、制御アプリケーション１１４から充電承認を得るために、攻撃者が、前回の応答を送信することができない。前回の応答は、今回のチャレンジに対応しないためである。
【００６６】
一実施形態において、チャレンジモジュール２０３は、チャレンジのための認証コードを生成する。認証コードとは、チャレンジを認証するために用いられる、制御アプリケーション１１４で生成されるデータである。例えば、認証コードは、チャレンジに関連付いたメッセージ認証符号である。メッセージ認証符号は、例えば、チャレンジとコントローラ・タグ秘密鍵を入力データとした場合に、メッセージ認証符号関数から得られる出力データである。
チャレンジモジュール２０３は、対象物１０２にチャレンジおよび認証コードを送る。
対象物１０２は、チャレンジおよび認証コードをタグ装置１２０に転送する。そして、タグ装置１２０が、タグ装置１２０に記憶されているコントローラ・タグ秘密鍵のコピーを用いて、チャレンジおよび認証コードの完全性と確実性を検証する。
チャレンジおよび認証コードの検証については、図４を参照しながら後ほど詳しく説明する。
【００６７】
認証コードを用いることは、タグ装置１２０に対する無許可のアクセス（タグアクセス）を防止することができるという点において有益である。
例えば、タグ装置１２０は、コントローラ・タグ秘密鍵を用いて、対象物１０２から受信したチャレンジおよび関連付いた認証コードを認証する。そして、タグ装置１２０は、チャレンジおよび関連付いた認証コードに対する認証が成功した場合に、チャレンジに対応する応答を生成する。すなわち、コントローラ・タグ秘密鍵を知らない攻撃者は、虚偽のチャレンジ、虚偽の認証コード、虚偽のコントローラ・タグ秘密鍵を用いたとしても、タグ装置１２０に対してアクセスすることができない。
【００６８】
一実施形態において、チャレンジモジュール２０３は、対象物１０２に対して、チャレンジおよび関連付いた認証コードの少なくともいずれかを送信する。他の実施形態において、チャレンジモジュール２０３は、チャレンジおよび関連付いた認証コードの少なくともいずれかを記憶装置１１６に記憶する。
【００６９】
コントローラ機密モジュール２０５は、制御アプリケーション１１４と関連した秘密データを管理するためのルーチンを含むソフトウェアである。
いくつかの実装例において、コントローラ機密モジュール２０５は、プロセッサ２３５で実行可能な一組の命令であり、制御アプリケーション１１４と関連した秘密データを管理するために、以下に記す機能を提供する。
ある実装例では、コントローラ機密モジュール２０５は、コンピュータ２００のメモリ２３７に保存され、プロセッサ２３５によってアクセスおよび実行される。また、コントローラ機密モジュール２０５は、信号線２２８を介してプロセッサ２３５とコンピュータ２００の他の構成要素と協働し通信を行うように構成される。
【００７０】
一実施形態において、コントローラ機密モジュール２０５は、秘密データとして、コントローラ・タグ秘密鍵と、コントローラ・対象物秘密鍵のうちの少なくともいずれかを管理する。
コントローラ・タグ秘密鍵とは、制御アプリケーション１１４とタグアプリケーション１３８との間で共有される秘密鍵である。また、コントローラ・対象物秘密鍵とは、制御アプリケーション１１４と対象物１０２との間で共有される秘密鍵である。
例えば、コントローラ機密モジュール２０５は、コントローラ・タグ秘密鍵を生成して、セキュアチャネルを通して、当該コントローラ・タグ秘密鍵をタグ装置１２０に配布する。別の例では、コントローラ機密モジュール２０５は、コントローラ・対象物秘密鍵を生成して、セキュアチャネルを通して、当該コントローラ・対象物秘密鍵を対象物１０２に配布する。なお、セキュアチャネルとは、データを安全に送ることができる通信路である。例えば、セキュアチャネルは、共通鍵や、公開鍵および秘密鍵のペアを用いて、交換されるデータが暗号化されるチャネルである。
【００７１】
他の実施形態において、コントローラ機密モジュール２０５は、対象物１０２とコントローラ・対象物セッション鍵を共有するために、対象物１０２が有する対象物機密モジュール３０５と協働する。例えば、コントローラ機密モジュール２０５は、コントローラ・対象物セッション鍵を生成し、セキュアチャネルを通して対象物１０２に配布する。
コントローラ・対象物セッション鍵とは、制御アプリケーション１１４と対象物１０２との間の通信セッションで用いられる秘密鍵である。
一実施形態において、コントローラ・対象物セッション鍵は、制御アプリケーション１１４と対象物アプリケーション１２８とが通信セッションにおいて交換するデータを暗号化および復号化するために用いられる。なお、制御アプリケーション１１４および対象物１０２は、異なる通信セッションにおいて、異なるコントローラ・対象物セッション鍵を用いるようにしてもよい。
【００７２】
コントローラ認証モジュール２０７は、対象物１０２を認証するためのルーチンを含むソフトウェアである。
いくつかの実装例において、コントローラ認証モジュール２０７は、プロセッサ２３５で実行可能な一組の命令であり、対象物１０２を認証するために以下に記す機能を提供する。
ある実装例では、コントローラ認証モジュール２０７は、コンピュータ２００のメモリ２３７に保存され、プロセッサ２３５によってアクセスおよび実行される。また、コントローラ認証モジュール２０７は、信号線２２９を介してプロセッサ２３５とコンピュータ２００の他の構成要素と協働し通信を行うように構成される。
【００７３】
一実施形態において、コントローラ認証モジュール２０７は、対象物１０２を認証するため、対象物アプリケーション１２８の対象物認証モジュール３０３と協働する。
例えば、コントローラ認証モジュール２０７は、コントローラ・対象物秘密鍵を用いて、チャレンジ・レスポンス認証を実行するために、対象物認証モジュール３０３と協働する。
チャレンジ・レスポンス認証のプロセスを、図１４に例示する。
例えば、対象物認証モジュール３０３は、対象物認証データを含む応答を生成し、当該応答をコントローラ認証モジュール２０７に送信する。
コントローラ認証モジュール２０７は、次の確認を行うことによって応答を検証する。
（１）応答に含まれる対象物認証データが、現在のチャレンジに関連付いたものであること
（２）対象物認証データが、対象物１０２によって、コントローラ・対象物秘密鍵およびチャレンジを用いて生成されたものであること
コントローラ認証モジュール２０７は、応答を検証することによって、対象物１０２を認証する。
【００７４】
対象物認証データとは、対象物１０２が生成するデータであり、制御アプリケーション１１４が対象物１０２を認証するために用いるデータである。
例えば、対象物認証データは、チャレンジおよびコントローラ・対象物秘密鍵に関連付いたメッセージ認証符号を表すデータである。他の例では、対象物認証データとは、チャレンジおよびコントローラ・対象物秘密鍵を入力とする一方向性関数が出力するデータである。
コントローラ認証モジュール２０７は、記憶装置１１６に記憶されたチャレンジのコピーと、コントローラ・対象物秘密鍵のコピーを用いて、対象物認証データを認証する。
【００７５】
対象物１０２の認証は、例えば、攻撃者が対象物１０２になりすますことで発生する、無許可の充電を行うことを防ぐことができるという点において有益である。
例えば、攻撃者は、コントローラ・対象物秘密鍵を知らないため、コントローラ・対象物秘密鍵およびチャレンジに合致する対象物認証データを生成することができない。
したがって、コントローラ認証モジュール２０７で実行される認証プロセスに失敗するため、攻撃者は無認可で充電を行うことができない。
【００７６】
応答検証モジュール２０８は、応答を検証するためのルーチンを含むソフトウェアである。
いくつかの実装例において、応答検証モジュール２０８は、プロセッサ２３５で実行可能な一組の命令であり、応答を検証するために以下に記す機能を提供する。ある実装例では、応答検証モジュール２０８は、コンピュータ２００のメモリ２３７に保存され、プロセッサ２３５によってアクセスおよび実行される。また、応答検証モジュール２０８は、信号線２３０を介してプロセッサ２３５とコンピュータ２００の他の構成要素と協働し通信を行うように構成される。
【００７７】
一実施形態において、応答は、対象物１０２から送信された充電要求に応答して、タグ装置１２０にて生成される。応答の生成については、図４を参照しながら後ほど詳しく説明する。
一実施形態において、応答は、対象物１０２が安全充電範囲を満たすかを検証するための検証コードを含む。安全充電範囲については後ほど詳しく説明する。
他の実施形態において、応答は、チャレンジおよびコントローラ・タグ秘密鍵を入力とする応答関数が出力するデータを含む。例えば、応答（Ｒと表現する）は、式（１）のように表される。
Ｒ＝ｆ（Ｃ，Ｓcontroller-tag）  ・・・式（１）
ここで、ｆは、応答関数を表し、Ｃはチャレンジを表す。また、Ｓcontroller-tagは、コントローラ・タグ秘密鍵を表す。すなわち、ＣおよびＳcontroller-tagが応答関数ｆへの入力である。一実施形態において、応答関数とは、暗号ハッシュ関数、メッセージ認証符号関数、汎用一方向性関数のような一方向性関数である。もちろん、他の応答関数も利用できる。
【００７８】
一実施形態において、応答は、コントローラ・対象物セッション鍵を用いて暗号化される。暗号化された応答（Ｒencryptと表現する）は、式（２）のように表される。
Ｒencrypt＝ｇ（Ｒ＝ｆ（Ｃ，Ｓcontroller-tag），Ｋcontroller-object-session）  
・・・式（２）
ここで、ｇは暗号関数（例えば、高度暗号化規格やトリプルデータ暗号化アルゴリズム等）を表し、Ｋcontroller-object-sessionは、コントローラ・対象物セッション鍵を表
す。すなわち、応答ＲおよびＫcontroller-object-sessionが、暗号関数ｇへの入力であ
る。
【００７９】
一実施形態において、対象物１０２に含まれる読み取り装置１０８は、タグ装置１２０から応答を読み取る。
例えば、対象物１０２が有するバッテリーに充電するために、対象物１０２は充電要求を生成する。そして、読み取り装置１０８が、当該充電要求をタグ装置１２０に送信し、タグ装置１２０が応答を生成し、読み取り装置１０８に送信する。
読み取り装置１０８は、読み取り装置１０８とタグ装置１２０との間の距離（読み取り距離）が読み取り閾値を満たす場合に、応答を正しく読み取ることができる（例えば、読み取り距離≦読み取り閾値）。読み取り距離が読み取り閾値を満たさない場合（例えば、読み取り距離＞読み取り閾値）、読み取り装置１０８はタグ装置１２０からの応答を読み取ることができない。この場合、例えば、読み取り装置１０８は読み取りエラーのため、タグ装置１２０から誤った応答を取得することがありえる。
読み取り装置１０８は、読み取った応答を対象物アプリケーション１２８に送信し、当該応答は応答検証モジュール２０８に送信される。一実施形態において、対象物アプリケーション１２８は、応答を応答検証モジュール２０８に送信する前に、当該応答を処理する。対象物アプリケーション１２８における応答の処理については、図３を参照しながら後ほど詳しく説明する。
【００８０】
一実施形態において、応答検証モジュール２０８は、対象物アプリケーション１２８から応答を受信し、当該受信した応答を検証する。
例えば、応答検証モジュール２０８は、応答が、チャレンジおよびコントローラ・タグ秘密鍵に対応するものであるかを判定する。
ここで、受信した応答をＲreceivedとすると、Ｒreceivedは、式（３）のように表される。
Ｒreceived＝ｆ（Ｃ，Ｓcontroller-tag）  ・・・式（３）
応答検証モジュール２０８は、記憶装置１１６からチャレンジおよびコントローラ・タグ秘密鍵のコピーを取得し、想定される応答Ｒcomputed＝ｆ（Ｃcopy，Ｓcontroller-tag-copy）を算出する。ここで、Ｃcopyはチャレンジのコピーであり、Ｓcontroller-tag-copyはコントローラ・タグ秘密鍵のコピーである。
もし、算出した応答が、受信した応答と一致した場合（すなわち、Ｒreceived＝Ｒcomputed）、応答検証モジュール２０８は、受信した応答の検証が成功したと判定する。一致しない場合は、受信した応答の検証が失敗したと判定する。
【００８１】
他の実施形態において、受信した応答は、暗号化された応答である。
応答検証モジュール２０８は、対応するセッション鍵を用いて、受信した応答を復号する。例えば、受信した応答は、式（４）のように表すことができる。
Ｒencrypt＝ｇ（Ｒ＝ｆ（Ｃ，Ｓcontroller-tag），Ｋcontroller-object-session）  ・・・式（４）
応答検証モジュール２０８は、受信した応答を、コントローラ・対象物セッション鍵を用いて復号する。復号された応答はＲdecrypted＝ｆ（Ｃ，Ｓcontroller-tag）と表すこ
とができる。
応答検証モジュール２０８は、復号した応答が、チャレンジおよびコントローラ・タグ秘密鍵に対応するものであるか否かを、以下を確認することで検証する。
（１）想定される応答Ｒcomputed＝ｆ（Ｃcopy，Ｓcontroller-tag-copy）を算出する
（２）想定される応答Ｒcomputedと、復号された実際の応答Ｒdecryptedを比較する
ここで、想定される応答と、実際の応答が一致していれば、応答検証モジュール２０８は、応答の検証が成功したと判定する。一致しない場合、応答の検証は失敗したと判定する。
【００８２】
一実施形態において、応答の検証が成功したということは、以下を意味する。
（１）読み取り装置１０８がタグ装置１２０の近くにあり、電力送信機１１８が電力受信機１０６の近くにある。
（２）読み取り装置１０８は、タグ装置１２０から正しく応答を受信することができる。（３）読み取り装置１０８とタグ装置１２０との間の距離が、読み取り閾値を満たしている。
（４）電力送信機１１８と、対象物１０２が有する電力受信機１０６との間の充電距離が、安全充電距離を満たしている。
【００８３】
応答の検証が成功した場合、応答検証モジュール２０８は、検証確認信号を場所モジュール２０９、命令モジュール２１１、対象物１０２のうちの一つ以上に送信する。
【００８４】
場所モジュール２０９は、対象物１０２に関連付いた場所を判定するためのルーチンを含むソフトウェアである。
いくつかの実装例において、応答検証モジュール２０８は、プロセッサ２３５で実行可能な一組の命令であり、対象物１０２に関連付いた場所を判定するために以下に記す機能を提供する。ある実装例では、応答検証モジュール２０８は、コンピュータ２００のメモリ２３７に保存され、プロセッサ２３５によってアクセスおよび実行される。また、場所モジュール２０９は、信号線２３２を介してプロセッサ２３５とコンピュータ２００の他の構成要素と協働し通信を行うように構成される。
【００８５】
一実施形態において、場所モジュール２０９は、応答検証モジュール２０８から、応答の検証が成功した旨を表す検証確認信号を受信する。
そして、検証確認信号の受信に応答して、場所モジュール２０９は、対象物１０２が安全充電範囲を満たす位置にあることを判定する。例えば、場所モジュール２０９は、対象物１０２が安全充電範囲の中にあると判定する。
そして、場所モジュール２０９は、命令モジュール２１１に対して、安全充電距離を満たす位置に対象物１０２がある旨を表す信号である位置検証信号を送信する。
【００８６】
安全充電範囲とは、対象物１０２が電力送信機１１８からワイヤレスで電力を受け取ることができる最大の範囲である。例えば、対象物１０２が安全充電範囲内に位置する場合、対象物１０２は、電力送信機１１８からワイヤレスで給電を受けることができる。しかし、対象物１０２が安全充電範囲の外に位置する場合、対象物１０２は電力送信機１１８からワイヤレスで給電を受けることができない。一実施形態においては、安全充電範囲は、安全充電距離に基づいて決定される。安全充電範囲の例を図１７に例示する。
【００８７】
命令モジュール２１１は、電力送信機１１８に対して、対象物１０２への充電を行うように指示するためのルーチンを含むソフトウェアである。
いくつかの実装例において、命令モジュール２１１は、プロセッサ２３５で実行可能な一組の命令であり、電力送信機１１８に対して、対象物１０２への充電を行うように指示するために、以下に記す機能を提供する。ある実装例では、命令モジュール２１１は、コンピュータ２００のメモリ２３７に保存され、プロセッサ２３５によってアクセスおよび実行される。また、命令モジュール２１１は、信号線２３４を介してプロセッサ２３５とコンピュータ２００の他の構成要素と協働し通信を行うように構成される。
【００８８】
一実施形態においては、命令モジュール２１１は、応答検証モジュール２０８から検証
確認信号を受信し、当該検証確認信号に応答して、対象物１０２に対する充電を承認する。例えば、命令モジュール２１１は、電力送信機１１８に対して、電力受信機１０６への電力のワイヤレス給電を開始するように命令する。
他の実施形態において、命令モジュール２１１は、場所モジュール２０９から、対象物１０２に関連付いた場所が安全充電範囲を満たすことを示す信号である位置検証信号をさらに受信する。そして、命令モジュール２１１は、電力送信機１１８に対して、電力受信機１０６への電力のワイヤレス給電を開始するように命令することで、対象物１０２に対する充電を承認する。
さらに他の実施形態において、命令モジュール２１１は、第一のユーザインタフェースモジュールに対して、充電状況（例えば「５０％充電中」「充電残り時間＝１時間」等）を表すユーザインタフェースを提供するためのグラフィックデータを生成するよう命令する。
【００８９】
第一のユーザインタフェースモジュール２１３は、ユーザインタフェースを利用者に提供するためのグラフィックデータを生成するためのルーチンを含むソフトウェアである。
いくつかの実装例において、第一のユーザインタフェースモジュール２１３は、プロセッサ２３５で実行可能な一組の命令であり、ユーザインタフェースを利用者に提供するためのグラフィックデータを生成するために、以下に記す機能を提供する。ある実装例では、第一のユーザインタフェースモジュール２１３は、コンピュータ２００のメモリ２３７に保存され、プロセッサ２３５によってアクセスおよび実行される。また、第一のユーザインタフェースモジュール２１３は、信号線２３６を介してプロセッサ２３５とコンピュータ２００の他の構成要素と協働し通信を行うように構成される。
【００９０】
いくつかの実装例において、第一のユーザインタフェースモジュール２１３は、充電の進捗状況を利用者に通知するためのユーザインタフェースを提供するためのグラフィックデータを生成する。
また、第一のユーザインタフェースモジュール２１３は、ユーザインタフェースを利用者に提供するため、生成したグラフィックデータをユーザ装置１１５に送信する。また、第一のユーザインタフェースモジュール２１３は、他のユーザインタフェースを利用者に提供するためのグラフィックデータを生成するようにしてもよい。
【００９１】
（対象物アプリケーション１２８）
図３を参照して、対象物アプリケーション１２８の詳細な例について説明する。
図３は、対象物アプリケーション１２８、プロセッサ３３５、メモリ３３７、第三の通信部３３９、および記憶装置３４１を含むコンピュータ３００のブロック図の例である。コンピュータ３００の各構成要素は、バス３２０を介して通信可能に結合される。
一実施形態において、コンピュータ３００は、対象物１０２、対象物１０２に含まれる読み取り装置１０８のうちのいずれかである。
【００９２】
図示した実施形態において、プロセッサ３３５は、信号線３４０を介してバス３２０に結合され、他の構成要素と通信することができる。
プロセッサ３３５は、前述したプロセッサ２３５と同様の構成を有しており、同様の機能を提供するものであるため、詳細な説明は省略する。
メモリ３３７は、信号線３４２を介してバス３２０に結合され、他の構成要素と通信することができる。メモリ３３７についても、前述したメモリ２３７と同様の構成を有しており、同様の機能を提供するものであるため、詳細な説明は省略する。
第三の通信部３３９は、信号線３４６を介してバス３２０に結合され、他の構成要素と通信することができる。第三の通信部３３９についても、前述した第一の通信部１０４と同様の構成を有しており、同様の機能を提供するものであるため、詳細な説明は省略する。
【００９３】
図示した実施形態において、記憶装置３４１は、信号線３４４を介してバス３２０に結合され、他の構成要素と通信することができる。記憶装置３４１についても、前述した記憶装置１１６と同様の構成を有しており、同様の機能を提供するものであるため、詳細な説明は省略する。
一実施形態において、記憶装置３４１は、以下のうちのいずれか一つ以上を記憶する。（１）コントローラ・対象物秘密鍵、コントローラ・対象物セッション鍵、対象物・タグセッション鍵である秘密データ
（２）チャレンジ
（３）タグ装置１２０から受信した応答
なお、記憶装置３４１は、本明細書に示す機能を提供するための他のデータを格納してもよい。
【００９４】
対象物・タグセッション鍵とは、対象物１０２とタグ装置１２０との間の通信セッションにおいて用いられる秘密鍵である。
一実施形態において、対象物・タグセッション鍵は、対象物１０２とタグ装置１２０との間の通信セッションにおいて交換されるデータを暗号化および復号化するために、対象物アプリケーション１２８およびタグアプリケーション１３８によって用いられる。
なお、対象物アプリケーション１２８およびタグアプリケーション１３８は、対象物１０２とタグ装置１２０との通信セッションが異なる場合、異なる対象物・タグセッション鍵を用いるようにしてもよい。
【００９５】
図示した実施形態において、対象物アプリケーション１２８は、第二の通信モジュール３０１、対象物認証モジュール３０３、対象物機密モジュール３０５、処理モジュール３０７、および第二のユーザインタフェースモジュール３０９を含んでいる。
これらの、対象物アプリケーション１２８の構成要素は、バス３２０を介して互いに通信可能に結合されている。
【００９６】
第二の通信モジュール３０１は、対象物アプリケーション１２８と、コンピュータ３００の他の構成要素との間の通信を処理するためのルーチンを含むソフトウェアである。
いくつかの実装例において、第二の通信モジュール３０１は、プロセッサ３３５で実行可能な一組の命令であり、対象物アプリケーション１２８と、コンピュータ３００の他の構成要素との間の通信を処理するために、以下に記す機能を提供する。ある実装例では、第二の通信モジュール３０１は、コンピュータ３００のメモリ３３７に保存され、プロセッサ３３５によってアクセスおよび実行される。また、第二の通信モジュール３０１は、信号線３２３を介してプロセッサ３３５とコンピュータ３００の他の構成要素と協働し通信を行うように構成される。
【００９７】
第二の通信モジュール３０１は、第三の通信部３３９を介し、ユーザ装置１１５、充電コントローラ１１２、充電サーバ１４２、電力送信機１１８、およびタグ装置１２０のうちの一つ以上に対してデータの送受信を行う。
例えば、第二の通信モジュール３０１は、タグ装置１２０から応答を受信し、当該応答を処理モジュール３０７へ送信する。他の例では、第二の通信モジュール３０１は、第二のユーザインタフェースモジュール３０９から、利用者にユーザインタフェースを提供するためのグラフィックデータを受信し、利用者にユーザインタフェースを提供するため、当該グラフィックデータをユーザ装置１１５に対して送信する。
【００９８】
いくつかの実装例において、第二の通信モジュール３０１は、対象物アプリケーション１２８の他の構成要素からデータを受信し、記憶装置３４１に格納する。また、いくつかの実装例において、第二の通信モジュール３０１は、記憶装置３４１からデータを取得し
、対象物アプリケーション１２８の他の構成要素に送信する。
【００９９】
対象物認証モジュール３０３は、コントローラ認証モジュール２０７と協働し、対象物を認証するためのルーチンを含むソフトウェアである。
いくつかの実装例において、対象物認証モジュール３０３は、プロセッサ３３５で実行可能な一組の命令であり、コントローラ認証モジュール２０７と協働し、対象物を認証するために、以下に記す機能を提供する。ある実装例では、対象物認証モジュール３０３は、コンピュータ３００のメモリ３３７に保存され、プロセッサ３３５によってアクセスおよび実行される。また、対象物認証モジュール３０３は、信号線３２４を介してプロセッサ３３５とコンピュータ３００の他の構成要素と協働し通信を行うように構成される。
【０１００】
一実施形態において、対象物認証モジュール３０３は、対象物１０２を認証するためにコントローラ認証モジュール２０７と協働する。例えば、対象物認証モジュール３０３は、コントローラ・対象物秘密鍵を用いてチャレンジ・レスポンス認証を行うために、コントローラ認証モジュール２０７と協働する。
例えば、対象物秘密モジュール３０３は、対象物認証データを含む応答を生成する。そして、対象物認証モジュール３０３が、当該応答をコントローラ認証モジュール２０７に送信し、コントローラ認証モジュール２０７が、図２を参照しながら説明したのと同様の処理を行うことで、対象物認証データを含む当該応答を認証する。
【０１０１】
対象物機密モジュール３０５は、対象物１０２に関連付いた秘密データを管理するためのルーチンを含むソフトウェアである。
いくつかの実装例において、対象物機密モジュール３０５は、プロセッサ３３５で実行可能な一組の命令であり、対象物１０２に関連付いた秘密データを管理するために、以下に記す機能を提供する。ある実装例では、対象物機密モジュール３０５は、コンピュータ３００のメモリ３３７に保存され、プロセッサ３３５によってアクセスおよび実行される。また、対象物機密モジュール３０５は、信号線３３０を介してプロセッサ３３５とコンピュータ３００の他の構成要素と協働し通信を行うように構成される。
【０１０２】
一実施形態において、対象物機密モジュール３０５は、コントローラ・対象物秘密鍵を表す秘密データを管理する。例えば、対象物機密モジュール３０５は、セキュアチャネル経由で、コントローラ機密モジュール２０５から、コントローラ・対象物秘密鍵を受信し、記憶装置３４１に記憶させる。他の実施形態において、対象物秘密モジュール３０５は、コントローラ・対象物セッション鍵を共有するために、コントローラ機密モジュール２０５と協働する。例えば、対象物秘密モジュール３０５は、セキュアチャネル経由で、コントローラ機密モジュール２０５から、コントローラ・対象物セッション鍵を受信し、記憶装置３４１に記憶させる。
【０１０３】
一実施形態において、対象物機密モジュール３０５は、対象物・タグセッション鍵をタグアプリケーション１３８と共有するために、タグ装置１２０のタグ機密モジュール４０３と協働する。例えば、対象物機密モジュール３０５は、対象物・タグセッション鍵を生成し、生成した対象物・タグセッション鍵を、タグアプリケーション１３８に、セキュアチャネル経由で配布する。
対象物・タグセッション鍵とは、対象物１０２とタグ装置１２０との間の通信セッションにて用いられる秘密鍵である。
一実施形態において、対象物・タグセッション鍵は、対象物１０２とタグ装置１２０との間の通信セッションにて交換されるデータを暗号化および復号化するために用いられる。
なお、対象物アプリケーション１２８およびタグアプリケーション１３８は、対象物１０２とタグ装置１２０との通信セッションが異なる場合、異なる対象物・タグセッション
鍵を用いるようにしてもよい。
【０１０４】
処理モジュール３０７は、制御アプリケーション１１４から受信したチャレンジ、または、タグアプリケーション１３８から受信した応答を処理するためのルーチンを含むソフトウェアである。
いくつかの実装例において、処理モジュール３０７は、プロセッサ３３５で実行可能な一組の命令であり、制御アプリケーション１１４から受信したチャレンジ、または、タグアプリケーション１３８から受信した応答を処理するために、以下に記す機能を提供する。ある実装例では、処理モジュール３０７は、コンピュータ３００のメモリ３３７に保存され、プロセッサ３３５によってアクセスおよび実行される。また、処理モジュール３０７は、信号線３３２を介してプロセッサ３３５とコンピュータ３００の他の構成要素と協働し通信を行うように構成される。
【０１０５】
一実施形態において、処理モジュール３０７は、チャレンジまたはチャレンジに関連付いた認証コードのうちのいずれかを、第二の通信モジュール３０１を介して制御アプリケーション１１４から取得し、当該チャレンジまたは認証コードをタグアプリケーション１３８に転送する。
一実施形態において、処理モジュール３０７は、当該チャレンジまたは認証コードを記憶装置３４１にさらに格納する。
【０１０６】
一実施形態において、処理モジュール３０７は、第二の通信モジュール３０１を介してタグアプリケーション１３８から応答を受信し、当該応答を制御アプリケーション１１４に転送する。
例えば、処理モジュール３０７は、タグアプリケーション１３８から、応答Ｒ＝ｆ（Ｃ，Ｓcontroller-tag）を受信し、制御アプリケーション１１４に送信する。他の実施形態において、処理モジュール３０７は、当該応答を、コントローラ・対象物セッション鍵を用いて暗号化し、暗号化された応答Ｒencryptを生成する。暗号化された応答Ｒencryptは、式（５）のように表される。
Ｒencrypt＝ｇ（Ｒ＝ｆ（Ｃ，Ｓcontroller-tag），Ｋcontroller-object-session）  ・・・式（５）
そして、処理モジュール３０７は、暗号化した応答を制御アプリケーション１１４に送信する。
【０１０７】
一実施形態において、処理モジュール３０７は、タグアプリケーション１３８から、式（６）で表される第一の暗号化応答を受信する。
Ｒencrypt-tag＝ｇ（Ｒ＝ｆ（Ｃ，Ｓcontroller-tag），Ｋobject-tag-session）  ・
・・式（６）
このうち、Ｋobject-tag-sessionは、対象物・タグセッション鍵を表す。すなわち、応答ＲおよびＫobject-tag-sessionが、暗号関数ｇへの入力である。
また、処理モジュール３０７は、第一の暗号化応答を、対象物・タグセッション鍵を用いて復号し、応答Ｒを取得する。
そして、処理モジュール３０７が、取得した応答を、コントローラ・対象物セッション鍵を用いて暗号化し、式（７）で表される第二の暗号化応答を生成する。
Ｒencrypt＝ｇ（Ｒ＝ｆ（Ｃ，Ｓcontroller-tag），Ｋcontroller-object-session）  ・・・式（７）
また、処理モジュール３０７は、生成した第二の暗号化応答を制御アプリケーション１１４に送信する。
【０１０８】
応答を暗号化することは、例えば、制御アプリケーション１１４、対象物アプリケーション１２８、タグアプリケーション１３８の間でそれぞれ交換される応答を、攻撃者によ
る盗聴から守ることができるという点において有益である。
【０１０９】
第二のユーザインタフェースモジュール３０９は、ユーザインタフェースを利用者に提供するためのグラフィックデータを生成するためのルーチンを含むソフトウェアである。
いくつかの実装例において、第二のユーザインタフェースモジュール３０９は、プロセッサ３３５で実行可能な一組の命令であり、ユーザインタフェースを利用者に提供するためのグラフィックデータを生成するために、以下に記す機能を提供する。ある実装例では、第二のユーザインタフェースモジュール３０９は、コンピュータ３００のメモリ３３７に保存され、プロセッサ３３５によってアクセスおよび実行される。また、第二のユーザインタフェースモジュール３０９は、信号線３３４を介してプロセッサ３３５とコンピュータ３００の他の構成要素と協働し通信を行うように構成される。
【０１１０】
いくつかの実装例において、第二のユーザインタフェースモジュール３０９は、ユーザインタフェースを利用者に提供するためのグラフィックデータを生成する。
また、第二のユーザインタフェースモジュール３０９は、ユーザインタフェースを利用者に提供するため、生成したグラフィックデータをユーザ装置１１５に送信する。例えば、ユーザインタフェースは、利用者に対して対象物１０２の蓄電容量が閾値を下回っていることを通知し、対象物１０２を充電するための同意を求める。
また、第二のユーザインタフェースモジュールは、他のユーザインタフェースを利用者に提供するためのグラフィックデータを生成するようにしてもよい。
【０１１１】
（タグアプリケーション１３８）
図４を参照して、タグアプリケーション１３８について詳しく説明する。
図４は、タグアプリケーション１３８、プロセッサ４３５、メモリ４３７、第四の通信部４３９、および記憶装置４４１を含むタグ装置１２０のブロック図の例である。タグ装置１２０の各構成要素は、バス４２０を介して通信可能に結合される。
【０１１２】
図示した実施形態において、プロセッサ４３５は、信号線４４０を介してバス４２０に結合され、他の構成要素と通信することができる。
プロセッサ４３５は、前述したプロセッサ２３５と同様の構成を有しており、同様の機能を提供するものであるため、詳細な説明は省略する。
メモリ４３７は、信号線４４２を介してバス４２０に結合され、他の構成要素と通信することができる。メモリ４３７についても、前述したメモリ２３７と同様の構成を有しており、同様の機能を提供するものであるため、詳細な説明は省略する。
第四の通信部４３９は、信号線４４６を介してバス４２０に結合され、他の構成要素と通信することができる。第四の通信部４３９についても、前述した第一の通信部１０４と同様の構成を有しており、同様の機能を提供するものであるため、詳細な説明は省略する。
【０１１３】
図示した実施形態において、記憶装置４４１は、信号線４４４を介してバス４２０に結合され、他の構成要素と通信することができる。記憶装置４４１についても、前述した記憶装置１１６と同様の構成を有しており、同様の機能を提供するものであるため、詳細な説明は省略する。
一実施形態において、記憶装置４４１は、検証コードと、コントローラ・タグ秘密鍵および対象物・タグセッション鍵である秘密データを記憶する。
なお、記憶装置４４１は、本明細書に示す機能を提供するための他のデータを格納してもよい。
【０１１４】
図示した実施形態において、タグアプリケーション１３８は、第三の通信モジュール４０１、タグ機密モジュール４０３、チャレンジ検証モジュール４０５、および応答モジュ
ール４０７を含んでいる。これらの、タグアプリケーション１３８の構成要素は、バス４２０を介して互いに通信可能に結合されている。
【０１１５】
第三の通信モジュール４０１は、タグアプリケーション１３８と、タグ装置１２０の他の構成要素との間の通信を処理するためのルーチンを含むソフトウェアである。
いくつかの実装例において、第三の通信モジュール４０１は、プロセッサ４３５で実行可能な一組の命令であり、タグアプリケーション１３８と、タグ装置１２０の他の構成要素との間の通信を処理するために、以下に記す機能を提供する。ある実装例では、第三の通信モジュール４０１は、タグ装置１２０のメモリ４３７に保存され、プロセッサ４３５によってアクセスおよび実行される。また、第三の通信モジュール４０１は、信号線４２２を介してプロセッサ４３５とタグ装置１２０の他の構成要素と協働し通信を行うように構成される。
【０１１６】
第三の通信モジュール４０１は、第四の通信部４３９を介し、ユーザ装置１１５、充電コントローラ１１２、充電サーバ１４２、およびタグ装置１２０のうちの一つ以上に対してデータの送受信を行う。
例えば、第三の通信モジュール４０１は、第四の通信部４３９を介し、対象物アプリケーション１２８からチャレンジを表すデータを受信し、当該データをチャレンジ検証モジュール４０５に送信する。他の例では、第三の通信モジュール４０１は、応答モジュール４０７から応答を受信し、当該応答を対象物アプリケーション１２８に送信する。
【０１１７】
いくつかの実装例において、第三の通信モジュール４０１は、タグアプリケーション１３８の他の構成要素からデータを受信し、記憶装置４４１に格納する。また、いくつかの実装例において、第三の通信モジュール４０１は、記憶装置４４１からデータを取得し、タグアプリケーション１３８の他の構成要素に送信する。
【０１１８】
タグ機密モジュール４０３は、タグアプリケーション１３８に関連付いた秘密データを管理するためのルーチンを含むソフトウェアである。
いくつかの実装例において、タグ機密モジュール４０３は、プロセッサ４３５で実行可能な一組の命令であり、タグアプリケーション１３８に関連付いた秘密データを管理するために、以下に記す機能を提供する。
ある実装例では、タグ機密モジュール４０３は、タグ装置１２０のメモリ４３７に保存され、プロセッサ４３５によってアクセスおよび実行される。また、タグ機密モジュール４０３は、信号線４２４を介してプロセッサ４３５とタグ装置１２０の他の構成要素と協働し通信を行うように構成される。
【０１１９】
一実施形態において、タグ機密モジュール４０３は、秘密データとして、コントローラ・タグ秘密鍵を管理する。
例えば、タグ機密モジュール４０３は、コントローラ・タグ秘密鍵を、セキュアチャネルを通して、コントローラ機密モジュール２０５から受信し、受信したコントローラ・タグ秘密鍵を記憶装置４４１に格納する。
別の実施形態において、タグ機密モジュール４０３は、対象物アプリケーション１２８と対象物・タグセッション鍵を共有するために、対象物機密モジュール３０５と協働する。例えば、タグ機密モジュール４０３は、対象物・タグセッション鍵を、セキュアチャネルを通して、対象物機密モジュール３０５から受信し、受信した対象物・タグセッション鍵を記憶装置４４１に格納する。
【０１２０】
チャレンジ検証モジュール４０５は、チャレンジを認証するためのルーチンを含むソフトウェアである。
いくつかの実装例において、チャレンジ検証モジュール４０５は、プロセッサ４３５で
実行可能な一組の命令であり、チャレンジを認証するために以下に記す機能を提供する。
ある実装例では、チャレンジ検証モジュール４０５は、タグ装置１２０のメモリ４３７に保存され、プロセッサ４３５によってアクセスおよび実行される。また、チャレンジ検証モジュール４０５は、信号線４３０を介してプロセッサ４３５とタグ装置１２０の他の構成要素と協働し通信を行うように構成される。
【０１２１】
一実施形態において、チャレンジ検証モジュール４０５は、対象物アプリケーション１２８から、チャレンジおよび関連付いた認証コードを受信する。
また、チャレンジ検証モジュール４０５は、コントローラ・タグ秘密鍵を用いて、チャレンジおよび関連付いた認証コードの信頼性を判定する。例えば、関連付いた認証コードが、メッセージ認証符号であるものとする。チャレンジ検証モジュール４０５は、記憶装置４４１から、コントローラ・タグ秘密鍵のコピーを取得し、受信したチャレンジと、取得したコントローラ・タグ秘密鍵のコピーを用いて、メッセージ認証符号を計算する。
ここで、もし、計算したメッセージ認証符号が、受信したメッセージ認証符号と一致した場合（すなわち、計算したメッセージ認証符号＝受信したメッセージ認証符号であった場合）、チャレンジ検証モジュール４０５は、当該チャレンジおよび関連付いた認証コードの検証が成功したと判定する。
また、チャレンジ検証モジュール４０５は、応答モジュール４０７に対して、受信したチャレンジを用いて応答を生成するように指示する。
もし、計算したメッセージ認証符号が、受信したメッセージ認証符号と一致しなかった場合、チャレンジ検証モジュール４０５は、チャレンジおよび関連付いた認証コードの検証が失敗したと判定する。
【０１２２】
応答モジュール４０７は、応答を生成するためのルーチンを含むソフトウェアである。
いくつかの実装例において、応答モジュール４０７は、プロセッサ４３５で実行可能な一組の命令であり、応答を生成するために以下に記す機能を提供する。
ある実装例では、応答モジュール４０７は、タグ装置１２０のメモリ４３７に保存され、プロセッサ４３５によってアクセスおよび実行される。また、応答モジュール４０７は、信号線４３４を介してプロセッサ４３５とタグ装置１２０の他の構成要素と協働し通信を行うように構成される。
【０１２３】
一実施形態において、応答モジュール４０７は、対象物アプリケーション１２８から受信した充電要求に対応する応答を生成する。他の実施形態において、応答モジュール４０７は、チャレンジおよび関連付いた認証コードの検証に成功した旨を表す応答を生成する。
例えば、応答モジュール４０７は、受信したチャレンジとコントローラ・タグ秘密鍵を用いて、応答Ｒ＝ｆ（Ｃ，Ｓcontroller-tag）を生成する。そして、応答モジュール４０７は、生成した応答Ｒを対象物アプリケーション１２８に送信する。他の例では、応答モジュール４０７は、生成した応答Ｒを、対象物・タグセッション鍵を用いて暗号化し、暗号化された応答Ｒencrypt-tag＝ｇ（Ｒ＝ｆ（Ｃ，Ｓcontroller-tag），Ｋobject-tag-session）を生成する。
【０１２４】
応答モジュール４０７は、暗号化された応答を対象物アプリケーション１２８に送信する。なお、応答モジュール４０７は、チャレンジおよびコントローラ・タグ秘密鍵を用いて、例示した応答以外の応答を生成してもよい。
【０１２５】
（方法）
図５Ａおよび５Ｂは、充電コントローラ、または充電サーバ側における、対象物１０２をワイヤレス充電する方法例５００のフローチャートである。
図５Ａを参照しながら説明する。一実施形態において、第一の通信モジュール２０１は
、充電要求を表すデータを対象物１０２から受信する（ステップ５０２）。
次に、チャレンジモジュール２０３が、チャレンジおよび当該チャレンジに関連付いた認証コードを生成する（ステップ５０４）。
次に、第一の通信モジュール２０１が、チャレンジおよび認証コードを対象物１０２に送信する（ステップ５０６）。
次に、第一の通信モジュール２０１が、対象物１０２から対象物認証データを受信する（ステップ５０８）。
次に、コントローラ認証モジュール２０７が、コントローラ・対象物秘密鍵と、チャレンジと、対象物認証データを用いて対象物１０２を認証する（ステップ５１０）。
次に、コントローラ機密モジュール２０５が、コントローラ・対象物セッション鍵を対象物１０２と共有する（ステップ５１２）。
【０１２６】
次に、図５Ｂを参照して説明する。
第一の通信モジュール２０１は、対象物１０２から、コントローラ・対象物セッション鍵を用いて暗号化された応答を受信する（ステップ５１４）。
次に、応答検証モジュール２０８が、当該応答を検証する（ステップ５１６）。
応答の検証が成功した場合、場所モジュール２０９が、対象物１０２に関連付いた場所が、安全充電範囲を満たすか否かを判定する。本ステップはオプションである（ステップ５１７）。
次に、第一の通信モジュール２０１が、検証確認信号を対象物１０２に送信する（ステップ５１８）。
応答の検証が成功した場合、命令モジュール２１１が、電力送信機１１８に対して、電力受信機１０６への電力供給を行うよう命令する（ステップ５２０）。
【０１２７】
図６Ａおよび６Ｂは、対象物側における、対象物１０２をワイヤレス充電する方法例６００のフローチャートである。
図６Ａを参照しながら説明する。一実施形態において、第二の通信モジュール３０１は、充電要求を表すデータを生成し、制御アプリケーション１１４に送信する（ステップ６０２）。
次に、第二の通信モジュール３０１は、チャレンジおよび当該チャレンジに関連付いた認証コードを、制御アプリケーション１１４から受信する（ステップ６０４）。
次に、対象物認証モジュール３０３が、コントローラ・対象物秘密鍵とチャレンジを用いて、対象物認証データを生成する（ステップ６０６）。
次に、第二の通信モジュール３０１が、生成した対象物認証データを制御アプリケーション１１４に送信する（ステップ６０８）。
次に、対象物機密モジュール３０５が、コントローラ・対象物セッション鍵を制御アプリケーション１１４と共有する（ステップ６１０）。
次に、第二の通信モジュール３０１が、充電要求をタグ装置１２０に送信する（ステップ６１２）。
次に、対象物機密モジュール３０５が、対象物・タグセッション鍵を、タグ装置１２０と共有する（ステップ６１４）。
【０１２８】
次に、図６Ｂを参照して説明する。
第二の通信モジュール３０１が、チャレンジおよび認証コードをタグ装置１２０に送信する（ステップ６１６）。
次に、第二の通信モジュール３０１が、対象物・タグセッション鍵によって暗号化された応答をタグ装置１２０から受信する（ステップ６１８）。
次に、処理モジュール３０７が、受信した応答を対象物・タグセッション鍵を用いて復号する（ステップ６２０）。
次に、処理モジュール３０７が、復号した応答を、コントローラ・対象物セッション鍵
を用いて暗号化する（ステップ６２２）。
次に、第二の通信モジュール３０１が、コントローラ・対象物セッション鍵によって暗号化された応答を制御アプリケーション１１４に送信する（ステップ６２４）。
そして、制御アプリケーション１１４が応答の検証に成功した場合、第二の通信モジュール３０１が、検証確認信号を制御アプリケーション１１４から受信する（ステップ６２６）。
【０１２９】
図７は、タグ装置側における、対象物１０２をワイヤレス充電する方法例７００のフローチャートである。
一実施形態において、第三の通信モジュール４０１は、充電要求を対象物１０２から受信する（ステップ７０２）。
次に、タグ機密モジュール４０３が、対象物・タグセッション鍵を対象物１０２と共有する（ステップ７０４）。
次に、第三の通信モジュール４０１が、チャレンジおよび当該チャレンジに関連付いた認証コードを対象物１０２から受信する（ステップ７０６）。
次に、チャレンジ検証モジュール４０５が、当該チャレンジおよび当該チャレンジに関連付いた認証コードを検証する（ステップ７０８）。
チャレンジおよび当該チャレンジに関連付いた認証コードの検証に成功した場合、応答モジュール４０７が、応答を生成する（ステップ７１０）。
次に、応答モジュール４０７が、生成した応答を対象物・タグセッション鍵を用いて暗号化する（ステップ７１２）。
次に、第三の通信モジュール４０１が、暗号化した応答を対象物１０２に送信する（ステップ７１４）。
【０１３０】
（イベントダイアグラム）
図８は、ワイヤレス充電プロトコルの実装例８００を示すイベントダイアグラムである。
一実施形態において、対象物アプリケーション１２８は、充電要求を生成し（ステップ８０２）、生成した充電要求をタグアプリケーション１３８に送信する（ステップ８０４）。
次に、タグアプリケーション１３８が、記憶装置４４１から検証コードを取得する（ステップ８０６）。
次に、タグアプリケーション１３８が、検証コードに基づいて応答を生成し（ステップ８０７）、当該応答を対象物アプリケーション１２８に送信する（ステップ８０８）。
次に、対象物アプリケーション１２８が、応答を制御アプリケーション１１４に送信する（ステップ８１０）。そして、制御アプリケーション１１４が当該応答を検証する（ステップ８１２）。
応答の検証に成功した場合、制御アプリケーション１１４は、検証確認信号を対象物アプリケーション１２８に送信する（ステップ８１３）。
また、応答の検証が成功した場合、制御アプリケーション１１４が、電力送信機１１８に対して、電力受信機１０６への電力供給を行うよう命令する（ステップ８１４）。
【０１３１】
図９は、第一のセキュアなワイヤレス充電プロトコルの実装例９００を示すイベントダイアグラムである。
一実施形態において、制御アプリケーション１１４およびタグアプリケーション１３８は、コントローラ・タグ秘密鍵を共有している。
まず、対象物アプリケーション１２８は、充電要求を制御アプリケーション１１４に送信する（ステップ９０２）。
次に、制御アプリケーション１１４がチャレンジを生成し（ステップ９０４）、当該チャレンジを対象物アプリケーション１２８に送信する（ステップ９０６）。
次に、対象物アプリケーション１２８が、チャレンジをタグアプリケーション１３８に送信する（ステップ９０８）。
次に、タグアプリケーション１３８が、チャレンジおよびコントローラ・タグ秘密鍵を用いて応答を生成する（ステップ９１０）。ここで、チャレンジをＣとおき、コントローラ・タグ秘密鍵をＳcontroller-tagとすると、応答Ｒは、ｆ（Ｃ，Ｓcontroller-tag）と表せられる。
次に、タグアプリケーション１３８が、生成した応答を対象物アプリケーション１２８に送信する（ステップ９１２）。
次に、対象物アプリケーション１２８が、応答を制御アプリケーション１１４に送信する（ステップ９１４）。そして、制御アプリケーション１１４が応答を検証する（ステップ９１６）。
応答の検証に成功した場合、制御アプリケーション１１４は、検証確認信号を対象物アプリケーション１２８に送信する（ステップ９１７）。
また、応答の検証が成功した場合、制御アプリケーション１１４が、電力送信機１１８に対して、電力受信機１０６への電力供給を行うよう命令する（ステップ９１８）。
【０１３２】
図１０は、第二のセキュアなワイヤレス充電プロトコルの実装例１０００を示すイベントダイアグラムである。
一実施形態において、制御アプリケーション１１４およびタグアプリケーション１３８は、コントローラ・タグ秘密鍵を共有している。
一実施形態において、まず、対象物アプリケーション１２８は、充電要求を制御アプリケーション１１４に送信する（ステップ１００２）。
次に、対象物アプリケーション１２８と制御アプリケーション１１４が、コントローラ・対象物セッション鍵を互いに共有する（ステップ１００４）。
次に、制御アプリケーション１１４がチャレンジを生成し（ステップ１００６）、当該チャレンジを対象物アプリケーション１２８に送信する（ステップ１００８）。
次に、対象物アプリケーション１２８とタグアプリケーション１３８が、対象物・タグセッション鍵を互いに共有する（ステップ１０１０）。
次に、対象物アプリケーション１２８が、チャレンジをタグアプリケーション１３８に送信する（ステップ１０１２）。
次に、タグアプリケーション１３８が、第一の暗号化応答を生成する（ステップ１０１４）。ここで、チャレンジをＣとおき、コントローラ・タグ秘密鍵をＳcontroller-tag、対象物・タグセッション鍵をＫobject-tag-sessionとすると、第一の暗号化応答Ｒencrypt-tagは、ｇ（Ｒ＝ｆ（Ｃ，Ｓcontroller-tag），Ｋobject-tag-session）と表せられる
。
次に、タグアプリケーション１３８が、生成した第一の暗号化応答を対象物アプリケーション１２８に送信する（ステップ１０１６）。
【０１３３】
次に、対象物アプリケーション１２８が、対象物・タグセッション鍵を用いて、受信した第一の暗号化応答を復号する（ステップ１０１８）。
次に、対象物アプリケーション１２８が、コントローラ・対象物セッション鍵（Ｋcontroller-object-sessionと表す）を用いて、復号した応答を再度暗号化し、第二の暗号化
応答を生成する（ステップ１０２０）。第二の暗号化応答Ｒencryptは、ｇ（Ｒ＝ｆ（Ｃ
，Ｓcontroller-tag），Ｋcontroller-tag-session）と表せられる。
【０１３４】
対象物アプリケーション１２８は、第二の暗号化応答を制御アプリケーション１１４に送信する（ステップ１０２２）。そして、制御アプリケーション１１４が、第二の暗号化応答を検証する（ステップ１０２４）。
応答の検証に成功した場合、制御アプリケーション１１４は、検証確認信号を対象物アプリケーション１２８に送信する（ステップ１０２５）。
また、応答の検証が成功した場合、制御アプリケーション１１４が、電力送信機１１８に対して、電力受信機１０６への電力供給を行うよう命令する（ステップ１０２６）。
【０１３５】
図１１は、第三のセキュアなワイヤレス充電プロトコルの実装例１１００を示すイベントダイアグラムである。
一実施形態において、制御アプリケーション１１４は、タグアプリケーション１３８とコントローラ・タグ秘密鍵を共有し、また、対象物アプリケーション１２８とコントローラ・対象物セッション鍵を共有している。
まず、対象物アプリケーション１２８は、充電要求を制御アプリケーション１１４に送信する（ステップ１１０２）。
次に、制御アプリケーション１１４が、対象物１０２を認証するために、対象物アプリケーション１２８と協働する（ステップ１１０４）。
次に、制御アプリケーション１１４がチャレンジを生成し（ステップ１１０６）、当該チャレンジを対象物アプリケーション１２８に送信する（ステップ１１０８）。
【０１３６】
次に、対象物アプリケーション１２８が、当該チャレンジをタグアプリケーション１３８に送信する（ステップ１１１０）。
次に、タグアプリケーション１３８が、応答Ｒを生成する（ステップ１１１２）。応答Ｒはｆ（Ｃ，Ｓcontroller-tag）と表せられる。
次に、タグアプリケーション１３８が、生成した応答を対象物アプリケーション１２８に送信する（ステップ１１１４）。
次に、対象物アプリケーション１２８は、受信した応答を制御アプリケーション１１４に送信する（ステップ１１１６）。そして、制御アプリケーション１１４が応答を検証する（ステップ１１１８）。
応答の検証に成功した場合、制御アプリケーション１１４は、検証確認信号を対象物アプリケーション１２８に送信する（ステップ１１１９）。
また、応答の検証が成功した場合、制御アプリケーション１１４が、電力送信機１１８に対して、電力受信機１０６への電力供給を行うよう命令する（ステップ１１２０）。
【０１３７】
図１２は、第四のセキュアなワイヤレス充電プロトコルの実装例１２００を示すイベントダイアグラムである。
一実施形態において、制御アプリケーション１１４およびタグアプリケーション１３８は、コントローラ・タグ秘密鍵を共有している。
まず、対象物アプリケーション１２８は、充電要求を制御アプリケーション１１４に送信する（ステップ１２０２）。
次に、制御アプリケーション１１４がチャレンジと、当該チャレンジに関連付いた認証コードを生成し（ステップ１２０４）、当該チャレンジおよび認証コードを対象物アプリケーション１２８に送信する（ステップ１２０６）。
次に、対象物アプリケーション１２８が、チャレンジおよび認証コードをタグアプリケーション１３８に送信する（ステップ１２０８）。
【０１３８】
次に、タグアプリケーション１３８が、チャレンジおよび認証コードを検証する（ステップ１２１０）。
チャレンジおよび認証コードの検証に成功した場合、タグアプリケーション１３８が、応答Ｒを生成する（ステップ１２１２）。応答Ｒはｆ（Ｃ，Ｓcontroller-tag）と表せられる。
次に、タグアプリケーション１３８が、生成した応答を対象物アプリケーション１２８に送信する（ステップ１２１４）。
次に、対象物アプリケーション１２８が、当該応答を制御アプリケーション１１４に送信する（ステップ１２１６）。そして、制御アプリケーション１１４が応答を検証する（
ステップ１２１８）。
応答の検証に成功した場合、制御アプリケーション１１４は、検証確認信号を対象物アプリケーション１２８に送信する（ステップ１２１９）。
また、応答の検証が成功した場合、制御アプリケーション１１４が、電力送信機１１８に対して、電力受信機１０６への電力供給を行うよう命令する（ステップ１２２０）。
【０１３９】
図１３は、第五のセキュアなワイヤレス充電プロトコルの実装例１３００を示すイベントダイアグラムである。
一実施形態において、制御アプリケーション１１４は、タグアプリケーション１３８とコントローラ・タグ秘密鍵を共有し、また、対象物アプリケーション１２８とコントローラ・対象物秘密鍵を共有している。
まず、対象物アプリケーション１２８は、充電要求を制御アプリケーション１１４に送信する（ステップ１３０２）。
次に、制御アプリケーション１１４が、対象物１０２を認証するために、対象物アプリケーション１２８と協働する（ステップ１３０４）。
次に、制御アプリケーション１１４が、対象物アプリケーション１２８と、コントローラ・対象物セッション鍵を互いに共有する（ステップ１３０６）。
次に、制御アプリケーション１１４がチャレンジと、当該チャレンジに関連付いた認証コードを生成し、当該チャレンジおよび認証コードを対象物アプリケーション１２８に送信する（ステップ１３０８）。
【０１４０】
次に、対象物アプリケーション１２８が、タグアプリケーション１３８と、対象物・タグセッション鍵を互いに共有する（ステップ１３１０）。
次に、対象物アプリケーション１２８が、チャレンジおよび認証コードをタグアプリケーション１３８に送信する（ステップ１３１２）。そして、タグアプリケーション１３８が、当該チャレンジおよび認証コードを検証する（ステップ１３１４）。
チャレンジおよび認証コードの検証に成功した場合、タグアプリケーション１３８が、第一の暗号化応答Ｒencrypt-tagを生成する（ステップ１３１６）。第一の暗号化応答Ｒencrypt-tagは、ｇ（Ｒ＝ｆ（Ｃ，Ｓcontroller-tag），Ｋobject-tag-session）と表せられる。
【０１４１】
次に、タグアプリケーション１３８が、生成した第一の暗号化応答を対象物アプリケーション１２８に送信する（ステップ１３１８）。
次に、対象物アプリケーション１２８が、対象物・タグセッション鍵を用いて、受信した第一の暗号化応答を復号する（ステップ１３２０）。
次に、対象物アプリケーション１２８が、復号した応答を再度暗号化し、第二の暗号化応答を生成する。第二の暗号化応答Ｒencryptは、ｇ（Ｒ＝ｆ（Ｃ，Ｓcontroller-tag）
，Ｋcontroller-tag-session）と表せられる。
【０１４２】
次に、対象物アプリケーション１２８が、生成した第二の暗号化応答を制御アプリケーション１１４に送信する（ステップ１３２４）。そして、制御アプリケーション１１４が、第二の暗号化応答を検証する（ステップ１３２６）。
応答の検証に成功した場合、制御アプリケーション１１４は、検証確認信号を対象物アプリケーション１２８に送信する（ステップ１３２７）。
また、応答の検証が成功した場合、制御アプリケーション１１４が、電力送信機１１８に対して、電力受信機１０６への電力供給を行うよう命令する（ステップ１３２８）。
【０１４３】
図１４は、チャレンジ・レスポンス認証の実行例１４００を示すイベントダイアグラムである。
本例では、エンティティＡが、エンティティＢを認証する例を示す。エンティティＡお
よびＢは、本発明における任意の構成要素である。例えば、エンティティＡは、充電コントローラ１１２や充電サーバ１４２であってもよいし、エンティティＢは、対象物１０２やタグ装置１２０であってもよい。
一実施形態において、エンティティＡおよびＢは秘密鍵を共有している。
まず、エンティティＢが、認証要求をエンティティＡに送信する（ステップ１４０２）。そして、エンティティＡが、チャレンジを生成し（ステップ１４０４）、生成したチャレンジをエンティティＢに送信する（ステップ１４０６）。
次に、エンティティＢが、受信したチャレンジと、共有している秘密鍵を用いて応答を生成する。例えば、エンティティＢは、応答Ｒ＝ｆ（Ｃ，ＳA-B）を生成する。ここで、
Ｃはチャレンジであり、ＳA-Bは共有された秘密鍵である。
次に、エンティティＢが、応答をエンティティＡに送信し（ステップ１４１０）、エンティティＡが当該応答を検証する（ステップ１４１２）。応答の検証に成功した場合、エンティティＡは、確認信号をエンティティＢに送信する（ステップ１４１４）。
【０１４４】
（グラフィックによる図示）
図１５は、本明細書中で説明した様々なセキュアなワイヤレス充電プロトコルに関連付いた、様々なセキュリティ上の特徴を表したグラフィック１５００である。
例えば、図９で説明した、セキュアなワイヤレス充電プロトコルは、チャレンジを実装するため、リプレイ攻撃を防止することができる。
また、図１０で説明した、セキュアなワイヤレス充電プロトコルは、チャレンジに加えてデータ暗号化を実装するため、リプレイ攻撃および盗聴を防止することができる。
また、図１１で説明した、セキュアなワイヤレス充電プロトコルは、チャレンジに加え、対象物１０２を認証するための認証プロセスを実装するため、リプレイ攻撃および無許可充電を防止することができる。
【０１４５】
また、図１２で説明した、セキュアなワイヤレス充電プロトコルは、チャレンジと、タグ装置１２０において当該チャレンジおよび関連付いた認証コードを検証するプロセスを実装するため、リプレイ攻撃および無許可タグアクセスを防止することができる。
また、図１３で説明した、セキュアなワイヤレス充電プロトコルは、チャレンジと、データ暗号化と、対象物１０２を認証するための認証プロセスと、タグ装置１２０においてチャレンジおよび認証コードを検証するプロセスを実装する。当該ワイヤレス充電プロトコルは、リプレイ攻撃、盗聴、無許可充電、および無許可タグアクセスの全てを防止することができる。
【０１４６】
図１６は、ワイヤレス充電システムの例を示したグラフィック１６００である。
図示した実施形態において、対象物１０２は自動車である。
また、電力送信機１１８は、電力受信機１０６の直下に配置され、タグ装置１２０は、読み取り装置１０８の直下に配置される。
読み取り装置１０８は、電力受信機１０６の近傍に配置され、タグ装置１２０は、電力送信機１１８の近傍に配置される。
例えば、読み取り装置１０８は、電力受信機１０６に取り付けられ、タグ装置１２０は電力送信機１１８に取り付けられる。
読み取り装置１０８が、タグ装置１２０からの応答を正しく読み取れる場合、電力送信機１１８および電力受信機１０６の間の充電距離は、安全充電距離を満たす（例えば、充電距離≦安全充電距離）。これは、電力受信機１０６が、電力送信機１１８の近傍にある（例えば、図１６のように、電力受信機１０６が電力送信機１１８の真下にある）ことを意味する。この場合、電力送信機１１８は、電力受信機１０６に対して、ワイヤレス接続によって電力を安全に送信することができる。
【０１４７】
図示した実施形態において、読み取り装置１０８は、信号線１６０２を介して、第一の
通信部１０４と通信可能に結合されている。
読み取り装置１０８は、タグ装置１２０から取得した応答を、第一の通信部１０４を介して制御アプリケーション１１４に送信し、制御アプリケーション１１４が検証を行う。
また、応答の検証に成功した場合、制御アプリケーション１１４が、電力送信機１１８に対して、電力受信機１０６への電力供給を行うよう命令する。
【０１４８】
図１７は、安全充電範囲１７０４と安全充電距離１７０２の例を示したグラフィック１７００である。
図１７は、電力送信機１１８、電力受信機１０６、および、電力送信機１１８と電力受信機１０６間の充電距離１７０６を示している。また、電力送信機１１８に取り付けられたタグ装置１２０と、電力受信機１０６に取り付けられた読み取り装置１０８と、読み取り装置１０８およびタグ装置１２０間の読み取り距離１７０８を示している。
充電距離１７０６は、安全充電距離１７０２を満たしている。例えば、充電距離１７０６は、安全充電距離１７０２よりも短い。
また、対象物１０２は、安全充電範囲１７０４を満たす位置に置かれる。これにより、電力送信機１１８が、電力をワイヤレスで電力受信機１０６に送信することができる。
【０１４９】
実施形態の前述の説明は、例示と説明を目的として行われたものである。したがって、開示された実施形態が本発明の全てではないし、本発明を上記の実施形態に限定するものでもない。本発明は、上記の開示にしたがって、種々の変形が可能である。本発明の範囲は上述の実施形態に限定解釈されるべきではなく、特許請求の範囲にしたがって解釈されるべきである。本発明の技術に詳しい者であれば、本発明はその思想や本質的特徴から離れることなくその他の種々の形態で実現できることを理解できるであろう。同様に、モジュール・処理・特徴・属性・方法およびその他の本発明の態様に関する名前付けや分割方法は必須なものでものないし重要でもない。また、本発明やその特徴を実装する機構は異なる名前や分割方法や構成を備えていても構わない。さらに、当業者であれば、モジュール・処理・特徴・属性・方法およびその他の本発明の態様は、ソフトウェア、ハードウェア、ファームウェアもしくはこれらの組合せとして実装できることを理解できるであろう。また、本発明をソフトウェアとして実装する場合には、モジュールなどの各要素は、どのような様式で実装されても良い。例えば、スタンドアローンのプログラム、大きなプログラムの一部、異なる複数のプログラム、静的あるいは動的なリンクライブラリー、カーネルローダブルモジュール、デバイスドライバー、その他コンピュータプログラミングの当業者にとって既知な方式として実装することができる。さらに、本発明の実装は特定のプログラミング言語に限定されるものではないし、特定のオペレーティングシステムや環境に限定されるものでもない。以上のように、上記の本発明の説明は限定的なものではなく例示的なものであり、本発明の範囲は添付の特許請求の範囲にしたがって定められる。
【符号の説明】
【０１５０】
１０２  対象物
１０６  電力受信機
１０８  読み取り装置
１１２  充電コントローラ
１１４  制御アプリケーション
１１８  電力送信機
１２０  タグ装置
１２８  対象物アプリケーション
１３８  タグアプリケーション
１４２  充電サーバ
【図１】
2014217044.tif 000003
【図２】
2014217044.tif 000004
【図３】
2014217044.tif 000005
【図４】
2014217044.tif 000006
【図５Ａ】
2014217044.tif 000007
【図５Ｂ】
2014217044.tif 000008
【図６Ａ】
2014217044.tif 000009
【図６Ｂ】
2014217044.tif 000010
【図７】
2014217044.tif 000011
【図８】
2014217044.tif 000012
【図９】
2014217044.tif 000013
【図１０】
2014217044.tif 000014
【図１１】
2014217044.tif 000015
【図１２】
2014217044.tif 000016
【図１３】
2014217044.tif 000017
【図１４】
2014217044.tif 000018
【図１５】
2014217044.tif 000019
【図１６】
2014217044.tif 000020
【図１７】
2014217044.tif 000021