デバイス認証のための通信プロトコル
マスタデバイス(102)(例えば、携帯電話機)と周辺デバイス(104)との間の通信プロトコルは、周辺デバイスの認証を容易にする。周辺デバイスが検出される場合、マスタデバイスは、起動コマンドを周辺デバイスに対して始動し、認証要求コマンドに続いてチャレンジデータを周辺デバイスに送信し、周辺デバイスからのレスポンスを待つ。付属品は、チャレンジデータを受信し、チャレンジデータに対してハッシュ関数を実行し、レスポンスデータを生成する。認証レスポンスタイプバイトに続き、レスポンスデータが携帯電話機に送られる。携帯電話機は、レスポンスデータをチャレンジデータと関連づけられる事前に格納されたデータと比較する。一致は、付属品が認証されることを示す。チャレンジデータ/レスポンスデータ(平文/暗号文ペアとも呼ばれる)は、携帯電話機の外部でハッシュ関数を用いて事前に生成され、ついで携帯電話機内に事前に格納される。
【発明の詳細な説明】
【技術分野】
【0001】
(発明の分野)
本発明は、無線通信デバイスの分野に関する。具体的に言えば、本発明は、無線通信デバイスに取り付け可能な認証周辺デバイスに関する。
【背景技術】
【0002】
(背景)
様々な周辺デバイス(本明細書中で「付属品」と概して呼ばれる)は、携帯電話機(本明細書中で「ハンドセット」とも呼ばれる)およびその他の無線通信デバイスに取り付けられたり、取り外されたりし得る。これらの付属品は、取り付けられる場合に、追加の機能性を提供し、かつ/または、さもなければ、携帯電話機の性能を強化する。その他の場合に、付属品は、生産的または快適に携帯電話機を使用するユーザの能力を助長する。電話機バッテリは、電話機と一体をなすと通常みなされているが、本発明の開示の目的の「付属品」とも考えられる。
【0003】
無線通信デバイスの設計および開発の間、無線通信デバイスとの使用を想定されている付属品の互換性および/または信頼性をテストすることは、一般的である。そのようなテストは、付属品が無線通信デバイスとの互換性の妥当なレベルを有して動作することを保証する。残念なことに、無線通信デバイスとの使用のためにサードパーティによって利用可能にされた付属品は、テストされないことが多いか、たとえテストされても、無線通信デバイスの製造者によって定義された基準および/またはその他の基準(例えば、政府機関によって定義された基準)を下回る。そのような付属品(本明細書中で「非公認の付属品」と呼ばれる)は、無線通信デバイスを損傷する能力を有し、かつ/または消費者に対する安全の脅威となる。
【発明の開示】
【発明が解決しようとする課題】
【0004】
非公認の付属品が無線通信デバイスに利用されることを防止するための既存の技術は、抜け道をみつけることが比較的容易であった。例えば、一意の機械的なキー配列法を利用しているコネクタは、コネクタに対する機械的な改変によって克服され得る。認証のための抵抗器を利用している電気的な配列法は、適切な回路によって同様に容易に出し抜かれる。最終的に、固定されたパスワードまたはローリングコード(rolling code)を利用しているデジタル通信技術は、打ち破るか、模倣することが比較的容易である。
【0005】
従って、無線通信デバイスのための効果的で安全な認証方法および装置に対する強いニーズが、当該分野において存続している。
【課題を解決するための手段】
【0006】
(概要)
マスタデバイスと周辺(付属品)デバイスとの間の通信を管理する例示的な方法が、開示される。周辺デバイスは、接続ポートによってマスタデバイスと接続される。接続ポートは、1つ以上の通信ラインを有する通信端子を含んでいる。マスタデバイスは、周辺デバイスの接続のために通信端子を監視する。周辺デバイスが検出される場合、マスタデバイスは、周辺デバイスに対して起動(wake−up)コマンドを始動し、情報要求コマンドを周辺デバイスに送信して、周辺デバイスからのレスポンスを待つ。認証された周辺デバイスは、レスポンスのタイプを示すためにレスポンスタイプバイトを戻し、続いて、情報要求コマンドにおいて要求された1バイト以上のデータを戻す。
【0007】
一実施形態において、情報要求コマンドは、チャレンジデータ(challenge data)が後に続く、認証要求コマンドである。周辺デバイスは、チャレンジデータを受信し、チャレンジデータに対してハッシュ関数を実行して、認証レスポンスタイプバイトに続く、レスポンスデータをマスタデバイスに送る。一実施形態におけるハッシュ関数は、セキュア認証アプリケーションの実行である。そのアプリケーションは、周辺デバイス内に格納されたセキュア認証イメージファイル(secure authentication image file)に具体化される。マスタデバイス(例えば、無線ハンドセット)は、付属品からの認証レスポンスタイプバイトに続いて、レスポンスデータを受信する。ハンドセットは、レスポンスデータを、チャレンジデータと関連づけられる事前に格納されたデータと比較する。一致(match)は、付属品が認証されることを示す。チャレンジデータ/レスポンスデータ(平文/暗号文ペアとも呼ばれる)は、ハンドセットの外部で事前に生成されて、それからハンドセット内に格納され、ハッシュ/暗号化キーが制限された有効性を有することを保証する。
【0008】
例示的な実施形態において、平文/暗号文ペアは、同一の平文ストリングを同一のセキュアイメージファイルを有する2つの別個のプロセッサに供給することによって生成される。その2つのプロセッサは、平文ストリングに対してセキュア認証アプリケーションを実行し、暗号文ストリングを出力する。2つの別個のプロセッサからの暗号文ストリングが一致する場合、平文/暗号文ペアは、データベース内に格納される。このプロセスは、任意の数の一意の平文ストリングに対して繰り返される。各生成された一意の平文/暗号文ペアは、上で論じられたように、マスタデバイス(例えば、携帯電話機)内で使用され、取り付けられた付属品が認証されることを検証する。
【0009】
付属品の認証において利用されるセキュアイメージファイルは、セキュアキーおよび原始イメージファイルをキーマージアプリケーションに供給することによって生成される。結果としてもたらされるマージされたファイルは、セキュア認証イメージファイルである。セキュアキーは、例えば、セキュアキーの1つのコピーを格納し、生成デバイスから原始イメージファイルおよびセキュアキーを消去することによって保護される。セキュア認証イメージファイルは、平文/暗号文ペアの生成において使用することと、そして製造された付属品に含めることとのために、それから必要に応じてコピーされる。しかし、セキュアキーおよび原始イメージファイルがもはや利用可能ではないことにより、デバイスを認証するために利用されたセキュア認証イメージファイルは、偽造することが困難である。
【発明を実施するための最良の形態】
【0010】
記述される実施形態は、すべての点において例示であり、限定するものではないと考慮されるべきである。本発明は、本明細書中に例示され記述される特定の実施形態に制限されないけれども、本発明の範囲から逸脱することなく、数多くの再編成、改変、および置換えが可能であることもまた理解されるべきである。そのようなものとして、本発明の構造および動作の両方についての本発明の詳細は、以下で記述される添付の図面の検討によっていくぶんかは見出され得る。それらの図面において、同様な参照番号は、同様な部分を示している。
【0011】
(詳細な説明)
最初に図1を参照すると、本発明の一実施形態による、携帯電話機102と、携帯電話機102に接続され得る携帯電話機付属品104とが示されている。携帯電話機102は、送受信器(図示されず)に連結されたアンテナを介して、無線周波数(「RF」)帯域において電磁気(「EM」)エネルギーを送信および受信することが可能な任意の無線通信デバイスであり得る。本明細書中に記述される例示的な認証方法は、携帯電話機付属品を認証するために携帯電話機デバイスによって実行されるけれども、その方法はまた、ビデオカメラ、ノート型コンピュータ、MP3プレーヤ、およびその他の電子デバイスのバッテリパックまたは付属品を認証するために使用され得る。
【0012】
携帯電話機102は、携帯電話機102の動作と関連した数多くの機能を実行するための、プロセッサ106を一般に含む。そのプロセッサは、アンテナ(図示されず)を介してRF信号を通信するための送受信器に連結される。バッテリなどの電源は、電力をプロセッサ、メモリ、送受信器、およびその他の携帯電話機102の構成要素に供給する。携帯電話機102は、ユーザに対して情報を受信および送信するための、数多くの入力/出力(「I/O」)デバイス(図示されず)をさらに含む。
【0013】
図1を続けると、携帯電話機102は、付属品(本明細書中で周辺デバイスとも呼ばれる)を携帯電話機102に接続するための、1つ以上の付属品インターフェース114をさらに含む。本明細書中に記述される技術は、多種多様な付属品および付属品インターフェースに使用され得るけれども、図1は、バッテリ付属品104に関係する編成例を例示する。そのバッテリ付属品104は、携帯電話機102の付属品インターフェース114に接続されるインターフェース116を有している。図1に示されるように、携帯電話機102の付属品インターフェース114は、複数のライン120を含み、付属品104のインターフェース116は、対応する複数のライン122を含む。例示として、携帯電話機102および付属品104が接続される場合に、複数のライン122の第1のラインは、電源電圧を提供するために使用され得、第2のラインは、基準電圧(例えば、接地)を提供するために使用され得、そして第3のラインは、携帯電話機102と付属品104との間の双方向通信を提供するために使用され得る。図1に示されたライン120、122の数は、単に例示の目的のためである。他の実施形態は、特定の周辺デバイスの付属品のために必要とされる、1つまたは任意の数のラインを有し得る。
【0014】
別の実施形態によると、本明細書中に記述されるような通信は、電源電圧ラインを介して実行され得る。例えば、双方向の信号伝達は、変調を介して電圧供給ライン上で利用され得る。別の例示として、双方向の信号伝達は、スイッチを利用することによって電圧供給ライン上で利用され得、認証プロセスの間は、第1の双方向の信号伝達モードでラインが動作することを可能にし、付属品104が認証された後は、第2の電圧供給モードで電圧供給ラインのラインが動作することを可能にする。既存の電圧供給ラインを介して通信ができることの利点は、専用の通信ラインが必要とされないことであり、従って、携帯電話機102と付属品104との間のインターフェースおよびコネクタは、本明細書中に記述された認証方法を利用しない前の編成から改変される必要がない。
【0015】
図1を続けると、携帯電話機102のプロセッサ106は、付属品インターフェース114に接続され、付属品104のプロセッサ108は、インターフェース116に接続される。プロセッサ106は、携帯電話機102のメインプロセッサであり得るか、または携帯電話機102内の補助プロセッサであり得る。プロセッサ106は、認証アルゴリズム110を実行し、プロセッサ108は、その内に格納されたセキュア認証イメージファイル145に具体化されたセキュア認証アプリケーションを実行する。プロセッサ108は、セキュリティ機能を含み、そのセキュリティ機能は、セキュア認証イメージファイル145を含む、いかなる内部コードの読み取りをも防止する。セキュア認証イメージファイル145の内容および生成は、以下でさらに詳述される。
【0016】
(セキュア認証イメージファイルの生成)
図2を参照すると、セキュア認証イメージファイル245を生成するための、例示的なシステム200が示される。概して、セキュア認証イメージファイル245は、図1のセキュア認証イメージファイル145と符合し、プロセッサ108によって実行される、とりわけ付属品104を認証するためのプログラミングを提供する。一実施形態による、セキュア認証イメージファイル245を生成するための例示的な方法は、図3のフローチャート300に描かれる。
【0017】
当業者に明らかな特定の詳細および機能は、図3のフローチャート300から除外されている。例えば、ステップは、当該分野において既知のような、1つ以上のサブステップ(sub−step)からなり得るか、または特殊な装置もしくは材料を伴い得る。フローチャート300中に示されたステップ305からステップ335は、本発明の一実施形態を記述することに対して十分であるけれども一方、本発明のその他の実施形態は、フローチャート300中で示されたそれらのステップと異なるステップを利用し得る。
【0018】
ブロック305において、キーアドレス位置が、システム200の原始メモリイメージファイル内に確保される。例えば、図2において、複数のキーアドレス位置(D0からDFとして識別される)230は、原始メモリイメージファイル205内に確保される。その原始メモリイメージファイル205は、セキュア化された(secured)デバイス(例えば、図1のバッテリ付属品104)のためのプログラミングを含み得る。確保されたキーアドレス位置230は、「ダミー」データまたはテストデータを含み得、それらのデータは、その後のセキュアマージ手順の間にセキュアキーデータと置換される。アドレス確保は、プログラミング命令のコンパイルおよび/または生成の間に実行され得る。以下で記述されるように、原始イメージファイル205内のプログラミング命令は、付属品104を認証するための、暗号化アルゴリズム(例えば、ハッシュ関数)を含む認証プログラムを含み得る。
【0019】
図2に示された例示の実施形態において、キーアドレス位置230は、多くの不連続なアドレス位置にわたって分配されて示される。しかしながら、他の実施形態において、その他の編成が利用され得る。
【0020】
ブロック310において、データ処理デバイス220は、キーアドレス位置230の識別を含む原始メモリイメージファイル205をワーキングメモリ225内に受信する。ブロック315において、プロセッサ220は、ワーキングメモリ225内にセキュアキーデータ215を受信する。例えば、セキュアキーデータ215は、16バイト(128ビット)であり、無作為に生成された値であり得る。暗号化技術(より具体的には、暗号化キー)の公然たる監視(public scrutiny)を防止するために、セキュアキーデータ215へのアクセスは、制限されるべきである。
【0021】
ブロック320において、データ処理デバイス220によって実行されるキーマージアプリケーション222は、セキュア化された認証イメージファイル245を生成するために、セキュアキーデータ215をキーアドレス位置230において原始イメージメモリファイル205とマージする。確保されたキーアドレス位置230のサイズは、セキュアキーデータ215を格納することに対して十分な大きさである。結果としてもたらされるセキュア認証イメージファイル245は、セキュア化されたキーアドレス位置235内にセキュアキーデータ215を含んでいる。
【0022】
ブロック325において、セキュア認証イメージファイル245は、統合されたチップ内にセキュア認証イメージファイル245をプログラムする、プログラミング実体に送信される。一例示において、そのプログラミング実体は、プロセッサ集積回路(PIC)製造者であり、その製造者は、図1に示されるような、付属品104内で使用するためのPIC(例えば、プロセッサ108)を供給する。そのプログラミング実体は、ステップ335に示されるように、セキュア認証イメージファイル245をPIC内に組み込み得る。
【0023】
ステップ327において、テストベクトルの集合225が、セキュア認証イメージファイル145、245を含む製造されたデバイス(例えば、PIC)を検証する、将来の使用のために生成される。テストベクトル225は、限定された平文ストリングおよび暗号文ストリングの集合を含む。暗号文ストリングは、暗号化アルゴリズムから生成される。そのアルゴリズムは、セキュア認証イメージファイル245を利用し、限定された平文ストリングの集合に適用される。
【0024】
ステップ330において、セキュア化されたキーデータ215およびセキュア認証イメージファイル245は、システム200から消去/削除される。ステップ335において、上で論じられたように、セキュア認証イメージファイル245は、セキュア化されたプロセッサ(例えば、図1のプロセッサ108)内にプログラムされる。セキュア化されたプロセッサは、本アプリケーションに使用されるときに、その内部コード(例えば、セキュア認証イメージファイル)の読み取りを防止する。例えば、工場でプログラムされたPICにおいて、セキュリティ機能を有効にするビットは、メモリアレイの全域に拡散され、メモリデバイス全体の消去によってのみクリアされ得る。内部コードの読み取りを防止する追加のセキュリティ機能もまた、追加のセキュリティ対策として利用され得る。
【0025】
(平文/暗号文データベースの生成)
ここで図4を参照すると、本発明の一実施形態による、平文/暗号文キーペア(ベクトルとも呼ばれる)のデータベース404を生成するためのシステム400が示される。平文/暗号文ペアは、各製造されたデバイス(例えば、図1に示された携帯電話機102)における使用のために生成される。従って、適切なシステム(例えば、本明細書中に記述されるシステム)が、平文/暗号文ペアの必要とされるボリュームを生成するために利用されなければならない。一実施形態によるシステム400の動作は、図5のフローチャート500を参照して論じられる。当業者に明らかな一定の詳細および機能は、図5のフローチャート500から除外されている。例えば、1つのステップは、当該分野において既知のような、1つ以上のサブステップからなり得るか、または特殊な装置もしくは材料を伴い得る。フローチャート500中に示されたステップ502からステップ526は、本発明の一実施形態を記述することに対して十分であるけれども、一方で本発明のその他の実施形態は、フローチャート500中で示されたそれらのステップと異なるステップを利用し得る。
【0026】
システム400は、複数のスレーブプロセッサ416a〜416hに接続されたデータ処理デバイス(DPD)402を含む。上で論じられたように、各スレーブプロセッサ416a〜416hは、セキュア認証イメージファイルを格納し、そして実行する。セキュアキーデータは、セキュア認証イメージファイルの一部分として含まれる。注目されることに、各スレーブプロセッサ416a〜416hは、使用時に認証されるべき付属品デバイスの動作を模倣する(mimic)。その模倣動作において、各スレーブプロセッサ416a〜416hは、平文チャレンジを受信し、暗号文レスポンスに応答する。
【0027】
図4に示される特定の実施形態において、マスタプロセッサ406は、8つの一次のスレーブプロセッサ410a〜410hへの高速インターフェース408に接続される。そのマスタプロセッサ406は、データ処理デバイス402にも接続される。これは、データ処理デバイス402にベクトルを伝達して、データベース404内にベクトルを格納するためである。一次のスレーブプロセッサ410a〜410hのそれぞれは、二次のスレーブインターフェース418a〜418hを介して通信する、対応する二次のスレーブプロセッサ416a〜416hに接続される。さらに以下で論じられるように、インターフェース408は、この特定の編成における並列処理の効率を提供するために、二次のスレーブインターフェース418a〜418hに対して、少なくとも8倍の第一のスピードで動作する。
【0028】
マスタプロセッサ406は、カウンタ(図5のカウンタ機能502として描かれるカウンタ)を使用する。このカウンタは、データベース生成を開始するように命令される前に、特定の値に設定され得る。この構成は、複数のマスタプロセッサがベクトルの範囲で機能することを可能にし、それにより、複数のユニットがそのユニット番号によって設定されたスピードで、連続的なデータベースに向けて機能することを可能にする。一実施形態において、カウンタ機能502は、64ビットの2進カウントを利用する。
【0029】
ブロック506において、マスタプロセッサ406は、平文(PT)ストリングを生成するために、キー(例えば、ブロック504で供給された128ビットのキー)およびカウンタ値によって、ハッシュ関数を実行する。図5のブロック508a、508bにおいて、この平文ストリング(チャレンジとも呼ばれる)は、一次のスレーブプロセッサ(例えば、410a)に伝達される。ブロック510a、510bにおいて、この一次のスレーブプロセッサは、それからマルチプレクサ(MUX)414a〜414hを介して、平文ストリングを二次のスレーブプロセッサ(例えば、416a)に伝達する。ブロック514aおよび514bにおいて、二次のスレーブプロセッサ(例えば、416a)は、それぞれブロック512aおよび512bで提供されたセキュアキーデータを用いて、平文を暗号文(CT)レスポンスへと暗号化する。ブロック516a、516b、518aおよび518bにおいて、暗号文レスポンスは、それから第一のプロセッサ410aを介して、マスタプロセッサ406に戻るように伝達される。
【0030】
システム編成400において、一次のスレーブプロセッサ410a〜410hおよび二次のスレーブプロセッサ416a〜416hは、2−デバイスの4つのグループ412a〜412dへと編成される。各グループ412a〜412dは、平文ストリングを処理するために、暗号文ベクトル生成デバイスおよび暗号文ベクトル検証デバイスを含んでいる。例えば、グループ412は、暗号文生成デバイス(集合的に、一次のスレーブプロセッサ410aおよび二次のスレーブプロセッサ416a)と、暗号文検証デバイス(集合的に、一次のスレーブプロセッサ410bおよび二次のスレーブプロセッサ416b)とを含む。図5のブロック508a〜518aは、暗号文ベクトル生成デバイスの動作に対応し得、ブロック508b〜518bは、暗号文ベクトル検証デバイスの動作に対応し得る。
【0031】
ブロック520において、暗号文ベクトル生成デバイスによって生成された暗号文ストリングは、暗号文ベクトル検証デバイスによって生成された暗号文ストリングと比較される。判定ブロック522において、特定のグループの暗号文生成デバイスおよび暗号文検証デバイスによって生成された暗号文レスポンスが一致しているかについて、決定がなされる。一致が決定される場合、ついでステップ524において、平文および暗号文は、データ処理デバイス402に送信され、ステップ526において、データベース404内のベクトルとして格納される。この格納は、製品デバイス(例えば、図1に示されるような携帯電話機102)に対して後に分配するためである。ステップ502は、図5に示されるように、カウンタ値をインクリメントするために繰り返され、このプロセスは、次の平文ストリングに対して繰り返す。双方向性のハッシングアルゴリズムと協働して連続的な2進カウントを使用する利益は、ベクトルの重複が避けられることである。
【0032】
判定ブロック522において、暗号文レスポンスが一致しない場合、一致レスポンスが取得されるまで、同じ平文が、グループ(例えば、412a)に対して送り返される。不一致は、デバイス障害(例えば、電力グリッチおよびラインノイズなど)に起因して起こり得る。この検証ステップは、暗号文レスポンスを検証することに対する利点である。なぜならば、暗号化アルゴリズムおよび暗号化キーが、二次のスレーブプロセッサ416a〜416hから外部的に利用可能でないからである。この分野において、この検証ステップは、データベース内の値が、認証された付属品デバイスの不適切な拒絶をもたらさないことを確かにしている。
【0033】
システム編成400において、4つのグループ412a〜412dが、データベース404を生成することにおける効率を増大するために実装される。しかしながら、その他の実施形態において、インターフェースの帯域幅を考慮するような要因に従って、任意の編成が実装され得る。
【0034】
インターフェース418a〜418hは、一実施形態において、低速度インターフェース(例えば、9.6kbps)である。この編成は、多くの利点を提供する。その利点は、低減された所要電力と、二次のスレーブプロセッサ内に格納されたセキュア認証イメージファイルのリバースエンジニアリングを実行できないようにする、十分に遅いインターフェースとを含んでいる。遅いインターフェースは、上述された並列処理技術を使用することで補償される。このように、平文/暗号文ペアを安全に生成するためのシステムおよび方法が、開示されている。
【0035】
(付属品を認証するための双方向インターフェース)
付属品の認証のために使用され得る双方向インターフェースは、図6、図7aおよび図7bを参照して記述される。続く例示において、携帯電話機内で使用するためのバッテリパック付属品が例示されるけれども、上で論じられたように、付属品の認証はまた、様々なデバイスのためのその他の付属品のタイプによって使用され得る。
【0036】
図6の例示的な実施形態に示されるように、周辺デバイスは、コネクタ656、668を介して携帯電話機に接続されるバッテリパックである。図1を参照して上で論じられたように、1つ以上の信号ライン670、672、674は、携帯電話機650およびバッテリパック660を接続する。例示的な実施形態において、マスタデバイス(すなわち、携帯電話機650)は、半二重通信を用いて、周辺デバイス(すなわち、バッテリパック660)と通信する。半二重通信は、双方向通信ラインにおける、同時に一方向のデータ伝送を一般に記述する。図1を参照して上で論じられたように、バッテリパックと携帯電話機との間の通信は、2対1のデータライン接続、1対1のデータライン接続、または任意の他の適切なデータもしくは信号ライン接続を利用する。図6に例示されるように、コネクタ656、668はまた、それぞれライン670およびライン672上で、バッテリ電圧(vbatt)、および接地を供給する。
【0037】
携帯電話機650のプロセッサ652は、平文/暗号文ペアおよび通信アルゴリズム654を含んでいる。以下において詳細に論じられる平文チャレンジは、信号ライン674を介して、プロセッサ652からバッテリパック600のプロセッサ662へと送られる。プロセッサ662は、セキュア認証ファイル664を利用して平文チャレンジに対してハッシュアルゴリズムを実行し、そして暗号文ストリングレスポンスを戻す。暗号文ストリングレスポンスが、携帯電話機内に事前に格納された暗号文ストリングと一致する場合、バッテリパックは、認証されたバッテリパック660である。
【0038】
図7aを参照すると、バッテリパック704の第1の実施形態は、ハンドセット702の実施形態に接続されて示される。この例示された実施形態は、ハンドセット702とバッテリパック704との間の、1つの半二重通信信号ラインに対して、2つの信号ラインのためのUARTを利用する。しかしながら、上で論じられたように、本明細書中で論じられる付属品の認証を実現するために使用され得る、信号ライン通信の多くの組合せが存在する。
【0039】
図7aを続けると、ハンドセット702は、ポートUART RX754およびUART TX756を有するプロセッサ706を含んでいる。バッテリパック704は、バッテリ電圧(Vbatt)端子722、接地端子724、および通信端子726を含む3つの端子を有する。一実施形態において、Vbatt722および接地端子724は、バッテリパック704との正および負の接続であり得る。Vbatt722は、Vcc端子723に電源電圧(Vcc)を提供する電源回路(図示されず)に接続される。通信端子726は、認証チップ708(認証プロセッサ708とも呼ばれる)に通信接続を提供する。通信端子726は、識別(ID)端子とも呼ばれ得る。認証チップ708は、バッテリ温度の正確な測定値、バッテリパック704についての情報(例えば、パックの容量、シリアルナンバー、および認証機能を表す情報)などの機能を提供し得る。一実施形態において、通信は、通信端子726を介する9600ボー(baud)(半二重、8データビット、1スタートビット、1ストップビット、パリティ無しのフォーマット)で実行され得る。
【0040】
認証チップ708は、データを暗号化するためのアルゴリズム(ハッシングまたはスクランブリング)を含むセキュア認証イメージファイルを含んでいる。各ハンドセット702は、貯蔵の間にプログラムされた一意のチャレンジ−レスポンスペア(ベクトルまたは平文/暗号文ペア)の組を含んでいる。バッテリパック704を認証するために、ハンドセット702は、通信端子726を介して、平文チャレンジをバッテリパック704に送信する。認証チップ708は、平文チャレンジを利用するアルゴリズムを実行し、平文チャレンジをハッシュし、暗号文レスポンスをハンドセット702に戻す。ハンドセット702は、暗号文レスポンスをチャレンジ−レスポンスペアの対応する暗号文構成要素と比較する。一致が決定される場合、バッテリパック704は、認証される。一致が決定されない場合、バッテリパック704は、模造品であると考えられる。ハンドセット702は、バッテリパック704の使用または動作を制限し得る。
【0041】
振動、電磁相互作用、電力の一時的変動などが、ハンドセット702とバッテリパック704との間の通信を汚損し得るということはありうる。従って、ハンドセット702は、バッテリ704を認証する最初の試みが失敗する場合、バッテリ704を認証するいくつかの試みをなすように構成され得る。振動、汚染された電気的接触子、そして高レベルの電気的雑音およびその他のスプリアス信号は、意図されない遷移が、通信端子726上に発生することを引き起こし得る。これらの遷移は、認証チップ708を起動させ得、可能性としては、コマンドとして解釈した雑音に対するレスポンスを送らせ得る。ハンドセット702は、これらの伝送を調停し、そして無視するようにプログラムされ得る。
【0042】
図7の例示的な実施形態において、バッテリパック704内の認証チップ708との通信は、バッテリパック704の通信端子726に接続された、単一の双方向通信信号ラインを介して行われる。標準(8ビット、パリティ無し、単一のスタートビット、単一のストップビット)のシリアルデータストリームは、すべての情報を運搬する。ハンドセット702は、すべての通信を始動する。バッテリパック704内の認証チップ708は、ハンドセット702からの適切にフォーマットされたリクエストにのみ応答する。バッテリパック704は、それ自身を有効または無効にする機能を有していない。上で論じられたように、ハンドセット702は、バッテリパック704が認証されたか否かを決定するために、バッテリパック704からデータを得る。
【0043】
通信端子726を介して接続されたラインは、認証チップ708とハンドセット702との間の双方向シリアルデータリンクを維持する。ハンドセット702は、通信端子726の開回路電圧を監視することによって、バッテリパック704の存在を検出し得る。一実施形態において、プルアップ抵抗器744は300オーム、プルアップ抵抗器746は33キロオーム、抵抗器747は330オーム、抵抗器736は1メガオーム、そして抵抗器730は47キロオームである。抵抗器734は1メガオームであり得、通信端子726に入る電流、および通信端子726を出る電流に制限を提供する。抵抗器732は、3.3キロオームであり得、バッテリ704がハンドセット702に接続されない場合に、認証回路を「スリープ」状態に維持するプルアップ抵抗である。これらの抵抗値は、単なる例示であり、本明細書中に論じられるように、通信端子726を介する通信を制御するために選択される。
【0044】
バッテリパック704内の通信端子726は、3つの可能な状態を有する。その状態は、アイドル/受信、TX高位、TX低位、である。通信端子726がアイドル/受信(すなわち、送信していない)状態にある場合に、トランジスタ748および750は、オフされる。アイドルモードにおいて、通信端子726は、Vbatt端子722に対して33.66キロオームのインピーダンスを有する。通信端子726がTX高位状態にある場合に、トランジスタ748はオン、そしてトランジスタ750はオフであり、バッテリパック704のVbatt端子722に対して660オームのインピーダンスを結果としてもたらす。通信端子726がTX低位状態にある場合に、トランジスタ748はオフ、そしてトランジスタ750はオンであり、接地端子724に対して330オームのインピーダンスを結果としてもたらす。
【0045】
バッテリパック704は、一定の状況下において、通信端子726上の通信を制御可能にし得る。この能力は、抵抗器732、746および747の選択によって可能にされる。図7bにおいて描かれた真理値表は、いかに通信端子726(ID626)の構成が、認証チップ708(ACHIP OUT608)によって制御されるかを定義する。
【0046】
図7に戻って参照すると、ハンドセットのUARTの送信および受信信号を、通信端子726上で通信される単一信号へと組み合わせるための回路例が示される。トランジスタ738および740は、NチャネルCMOS論理レベルスイッチングトランジスタである。UART受信(UART RX)およびUART送信(UART TX)信号は、この回路によって反転されることに注意されたい。UART TX信号に対して3つの可能な状態が存在し、その状態は、高位、低位、および高い−Z、である。UART TX信号が低位状態または、高い−Z状態にある場合に、トランジスタ740は、オフにされる。通信端子726は、接地端子724に対して非常に高い(例えば、100万オーム)インピーダンスを示す。バッテリパック704がアイドル/受信(スリープ)状態にある場合、通信端子726の電圧は、バッテリパック704内のプルアップ抵抗器746によってVbatt端子722の電圧レベルに近くなる。トランジスタ738は、その後UART RX端子754の電圧を接地に引き寄せる。図7に示された回路は、Vbattに引き上げられた通信端子726により、スリープモードにおいて最小の電力を消費する。
【0047】
UART TX信号が高位の場合に、トランジスタ740はオンであり、抵抗器732を接地に接続する。この構成は、通信端子726が、3.3キロオームの実効インピーダンスを接地に対して有する結果をもたらす。バッテリパック704と接続される場合に、バッテリパック704がアイドル/受信状態にあると仮定すると、通信端子726は、Vbatt端子722の電圧レベルの約0.1まで引き下げられる。その電圧レベルは、トランジスタ738をオフにし、UART RX端子754を抵抗器730によって高位状態に引き上げる。認証チップ708が高い−Zまたは「受信」モードにある場合、UART TX端子756上に送信されたすべてのビットは、UART RX端子754において直ちに受信される。
【0048】
ハンドセットのソフトウェアは、UART RX端子754上の、ハンドセット702によって送信されたデータおよびバッテリパック704によって送信されたデータの両方を受信することが可能である。UART TX端子756は、ハンドセット702がバッテリパック704に対してデータを送信していない場合に、低位状態または高い−Z状態にあるべきである。ハンドセット回路702は、このモードにおいて、Vcc723から約80マイクロアンペアを引き込む。ハンドセット702がスリープモードにある場合に、4マイクロアンペア未満がバッテリパック704から引き込まれる。
【0049】
ダイオード742および752は、静電気デバイス(ESD)保護デバイスである。注意を払うべきことは、ESDデバイスが通信端子726回路に追加する静電容量の総量を最小化することである。ハンドセット702によってバッテリパック704に送信された信号の立ち上がり時間は、抵抗器744、746、および747(33.66K)の全体のプルアップインピーダンスならびに通信端子726上の全体の静電容量によって決定される。バッテリパック704内のESDダイオード747は、例えば、50pFの最大静電容量を有する。例示的な実施形態において、通信端子726上の全静電容量は、150pF未満である。一般に、トランジスタ738のドレイン−ソース抵抗は、オンの場合に、50オーム以下である。
【0050】
プロセッサ706は、UART TXピン756から、低位電圧出力としての2進数の0と、高位電圧出力としての2進数の1を送信する。UART RXピン754は、この同じ信号レベルを想定している。UART TX信号は、通信端子726を駆動するためにトランジスタ740によって反転される。反転された信号伝達(すなわち、2進数の0を表す高位レベル信号(>0.85*Vbatt)および2進数の1を表す低位レベル信号(<0.15*Vbatt))が、通信端子726において想定されている。通信端子726上の信号は、UART RXピン754に適用される前に、トランジスタ738によって反転される。ハンドセット702内のUARTがUART TXピン756を駆動している場合に、UART TXピン756のアイドル状態(UARTによって送られているデータが全くないとき)は、論理1(すなわち高位電圧レベル)である。このことは、トランジスタ740をオンにし、3.3キロオームの抵抗器732を介してバッテリパック704のIDピンを低位に引き寄せる。バッテリパック704は、この状態においてもなお、トランジスタ748または750を活性化することによって、通信端子726を高位または低位に駆動し得る。
【0051】
認証チップがコマンドに応答するために通信端子726を駆動している場合に、認証チップは、図7のトランジスタ748および750を用いて、ピンを高位および低位に能動的に駆動する。各ストップビットに続いて、トランジスタ748および750が両方ともオフの(通信端子726を浮動させている)間は、約300マイクロ秒の期間がある。浮動させている通信端子726を介して通信された受信データの汚損を避けるために、ハンドセット702は、受信の間、UART TXをアサート(assert)する。そのことは、トランジスタ740をオンにして、通信端子726を引き下げるために、UART TXピン756に論理1を駆動することによって行われる。
【0052】
(付属品を認証するための通信プロトコル)
付属品を認証するための通信プロトコルは、図6および図8〜図14を参照して記述される。図6および図8を参照すると、一実施形態による、通信端子/ライン674を介して伝達される例示的な通信メッセージフォーマット826が示されている。通信メッセージ826は、単一のスタートビット828、8つのデータビット830、および単一のストップビット832を含む、8−ビットバイトであり得る。
【0053】
特定の実施形態において、認証プロセッサ662は、バッテリパック製造者においてバッテリパック660と接続され、バッテリパック660の寿命の間中いつも電力を供給される。これらの場合に、認証プロセッサ662は、可能な限り少ない電力を使用するべきである。認証プロセッサ662は、電力を節約するために、最初にスリープモードにおいて動作する。スリープモードの間、認証プロセッサ662は、命令を実行しておらず、通信ライン674の遷移(高位から低位、または低位から高位への遷移)に対して通信ライン674を監視しているのみである。通信端子674上で遷移が起こる場合に、認証プロセッサ662は、起動し、そして動作を始める。しかし、認証プロセッサ662は、最初の遷移が起こった後(例えば、337.5マイクロ秒(25マイクロ秒に、3つの9600ボーのビット周期を足す))まで、通信ライン674上の信号を処理し始めない。通信端子674を介してコマンドが受信されない場合、認証プロセッサ662は、スリープモードに戻る(例えば、起動して2.3秒後に戻る)。「目覚めた(awake)」ウィンドウ(例えば、2.3秒)内にコマンドが受信される場合、認証プロセッサ662は、コマンドを処理し、コマンドに対する応答を送信した後、スリープモードに戻る。
【0054】
起動している期間は、多くの方法で助長され得る。1つの方法は、タイマを使用することであり、最初の遷移(例えば、337.5マイクロ秒の期間)がいつ経過したかを決定し、それからコマンドバイトを送る。別の方法は、コマンドバイトが後に続く、起動インターバルの第1の部分の間(例えば、232マイクロ秒)に、起動バイト(0xff)を直ちに送ることである。起動バイトは、1つの「0」ビット(スタートビット)に続いて、9つの「1」ビット(8つのデータビット足すストップビット)を送る。起動バイトを送ることは、十分な遅延を引き起こし、第1のコマンドバイトが、最初の遷移期間(例えば、337.5マイクロ秒)後に送信されることを保証する。
【0055】
バッテリパック660とのすべての通信は、図6の実施形態における、ハンドセット650によって始動される。ハンドセット650がバッテリパック660に送信するコマンド(温度コマンド、ID/バージョンコマンド、チップIDコマンド、および認証コマンドを含む)メッセージは、本明細書中において論じられる。上で述べられたように、各コマンドは、バッテリパック660を起動することから始まる。認証コマンドを除く、コマンドのそれぞれは、単一のコマンドバイトを含む。認証コマンドは、コマンドバイトの後に8バイトのチャレンジをバッテリパック660に対して送信する。バッテリパック660によって想定されるより多くのバイトが送られる場合、それらのバイトは、無視されるか、バッテリパック660からの応答信号を妨げる。
【0056】
場合によっては、ハンドセット650とバッテリパック660との間の、デバイス通信のタイミングを較正することが望まれ得る。図9は、表900を例示する。その表900は、タイミング較正のためのハンドセット650とバッテリパック660との間で伝達される例示的なメッセージコマンドを識別する。バッテリパック660は、タイミングコマンド(0x00)902に応答する。その応答は、タイミングレスポンス(0x80)904に続いて、タイミングバイト(0xC3)906を送ることによって行われる。ハンドセット650は、このタイミングバイト906内の4つの論理0のストリングの長さを測定して、4で割り、結果としてもたらされる値を、送信または受信の間の単一のデータビットに対する時間として使用し得る。4つの論理0は、バイトの中央の高位レベルの信号である。2進信号904の両端部の2ビットとも、タイミング目的に対しては使用されない。
【0057】
図10は、温度測定トランザクションの構成要素を組み込んでいる図を描く。図11は、表1100を示し、その表は、ハンドセット650とバッテリパック660との間で伝達される、温度情報を交換するための例示的なメッセージコマンドを識別する。ハンドセット650が、温度コマンド(0x01)1002、1102をバッテリパック660に対して送ると、バッテリパック660は、温度レスポンスバイト(0x81)1004、1104に続いて、温度データ1006、1106を含むバイトを送ることによって応答する。
【0058】
図12は、表1200を示す。その表は、ハンドセット650とバッテリパック660との間で伝達される、バッテリパック660と関連づけられたID/バージョン情報を交換するための、例示的なメッセージコマンドを識別する。ハンドセット650が、ID/バージョンコマンド(0x02)1202をバッテリパック660に対して送ると、バッテリパック660は、ID/バージョンレスポンスバイト(0x82)1204に続いて、バッテリパック660と関連づけられたID/バージョンデータ1206を含むバイトを送ることによって応答する。ID/バージョンデータは、情報(例えば、バッテリパックの製造者、バッテリパックのバージョン、バッテリパックのシリアルナンバー、バッテリパックのロットなどの情報)を識別し得る。
【0059】
図13は、表1300を示す。その表は、ハンドセット650とバッテリパック660との間で伝達される、認証チップ662と関連づけられた識別情報を交換するための、例示的なメッセージコマンドを識別する。ハンドセット650が、チップIDコマンド(0x04)1302をバッテリパック660に対して送ると、バッテリパック660は、チップIDレスポンス(0x84)1304に続いて、チップID情報を送ることによって応答する。例えば、チップID情報は、図13に例示されるように、4バイトのメッセージを含み得る。そのメッセージは、チップIDデータの最上位ビット(MSB)1306、チップIDデータ1308、チップIDデータ1310、およびチップIDデータの最下位ビット(LSB)1312を含んでいる。
【0060】
図14は、表1400を示す。その表は、ハンドセット650とバッテリパック660との間で伝達される、バッテリパック660を認証するための認証情報を交換するための、例示的なメッセージコマンドを識別する。バッテリ認証を始動するために、ハンドセット650は、起動バイト(0xff)1401に続いて、認証コマンド(0x08)1402、それに続いて、「チャレンジ」(例えば、64ビット(8バイト)チャレンジコマンド)を送る。図14に示されるように、チャレンジコマンドは、チャレンジデータMSB1404に続いて、チャレンジデータペイロード1406、それに続いて、チャレンジデータLSB1408を含み得る。
【0061】
バッテリパック660は、「レスポンス」(例えば、64ビット(8バイト)レスポンス)を生成するために、チャレンジに対してハッシュ関数を実行する。上で論じられたように、チャレンジは、各ハンドセットに対して一般的に一意である。レスポンスは、ハンドセット650に対して送り返される。そのことは、認証レスポンス(0x88)1410に続いて、レスポンスコマンドを送ることによって行われる。例えば、レスポンスコマンドは、レスポンスデータMSB1412に続いて、レスポンスデータペイロード1414、それに続いて、レスポンスデータLSB1416を含み得る。
【0062】
ハンドセット650は、受信されたレスポンス1412、1414、1416を、チャレンジ1404、1406、1408と関連づけられる、格納されたレスポンスと比較する。所与のチャレンジに対して、一致が決定される場合、バッテリパック660は、認証されている。通信エラーの可能性を補償するいくつかの試みの後に、一致が決定されない場合、バッテリパック660は、模造品であると考えられる。ハンドセット650は、バッテリパック660の使用または動作を制限し得る。
【0063】
認証チップ662内のハッシング機能の動作のセキュリティを維持するために、ハンドセット650は、上で論じられたように、ハッシングアルゴリズムのコピーを含まない。代わりに、ハンドセット650のソフトウェアを貯蔵するときに、チャレンジ−レスポンスペアが、ハンドセット650のメモリ内に格納される。チャレンジ−レスポンスペアを生成するための技術が、上で論じられている。
【0064】
上記の本発明の例示的な実施形態から、様々な技術が、本発明の範囲を逸脱することなく、本発明の概念を実装するために使用され得ることは、明らかである。さらに、本発明は、一定の実施形態に対して特定の参照とともに記述されたけれども、当業者は、本発明の意図および範囲から逸脱することなく、形式および詳細における変更がなされ得ることを認識する。例えば、マルチバンドアンテナの第1の放射器アームおよび第2の放射器アームの特定のレイアウト編成は、本発明の範囲を逸脱することなく、上で論じられたことから改変され得る。記述された例示的な実施形態は、すべての点において例示であり、限定するものではないと考慮されるべきである。本発明が、本明細書中に記述された特定の例示的な実施形態に制限されないけれども、本発明の範囲を逸脱することなく、数多くの再編成、改変、および置換えが可能であることもまた理解されるべきである。
【図面の簡単な説明】
【0065】
【図1】図1は、本発明の一実施形態による、携帯電話機および携帯電話機付属品を含む例示的な編成を示す。
【図2】図2は、本発明の一実施形態による、セキュア認証イメージファイルを生成するための例示的なシステムを示す。
【図3】図3は、本発明の一実施形態による、セキュア認証イメージファイルを生成するためのフローチャートを示す。
【図4】図4は、本発明の一実施形態による、平文/暗号文キーペアのデータベースを生成するための例示的なシステムを示す。
【図5】図5は、本発明の一実施形態による、平文/暗号文キーペアのデータベースを生成するためのフローチャートを示す。
【図6】図6は、本発明の一実施形態による、携帯デバイスおよびバッテリパック付属品をマスタ−スレーブ構成において示す。
【図7a】図7aは、本発明の一実施形態による、ハンドセットと付属品とをインターフェースするための例示的な回路を示す。
【図7b】図7bは、本発明の一実施形態による、図7の通信端子の構成を定義する例示的な真理値表である。
【図8】図8は、本発明の一実施形態による、例示的なメッセージフォーマットである。
【図9】図9は、本発明の一実施形態による、タイミング較正のためのメッセージコマンドを定義する例示的な表である。
【図10】図10は、本発明の一実施形態による、例示的な温度通信トランザクションの詳細である。
【図11】図11は、本発明の一実施形態による、温度情報を交換するためのメッセージコマンドを定義する例示的な表である。
【図12】図12は、本発明の一実施形態による、ID/バージョン情報を交換するためのメッセージコマンドを定義する例示的な表である。
【図13】図13は、本発明の一実施形態による、チップ識別情報を交換するためのメッセージコマンドを定義する例示的な表である。
【図14】図14は、本発明の一実施形態による、認証情報を交換するためのメッセージコマンドを定義する例示的な表である。
【技術分野】
【0001】
(発明の分野)
本発明は、無線通信デバイスの分野に関する。具体的に言えば、本発明は、無線通信デバイスに取り付け可能な認証周辺デバイスに関する。
【背景技術】
【0002】
(背景)
様々な周辺デバイス(本明細書中で「付属品」と概して呼ばれる)は、携帯電話機(本明細書中で「ハンドセット」とも呼ばれる)およびその他の無線通信デバイスに取り付けられたり、取り外されたりし得る。これらの付属品は、取り付けられる場合に、追加の機能性を提供し、かつ/または、さもなければ、携帯電話機の性能を強化する。その他の場合に、付属品は、生産的または快適に携帯電話機を使用するユーザの能力を助長する。電話機バッテリは、電話機と一体をなすと通常みなされているが、本発明の開示の目的の「付属品」とも考えられる。
【0003】
無線通信デバイスの設計および開発の間、無線通信デバイスとの使用を想定されている付属品の互換性および/または信頼性をテストすることは、一般的である。そのようなテストは、付属品が無線通信デバイスとの互換性の妥当なレベルを有して動作することを保証する。残念なことに、無線通信デバイスとの使用のためにサードパーティによって利用可能にされた付属品は、テストされないことが多いか、たとえテストされても、無線通信デバイスの製造者によって定義された基準および/またはその他の基準(例えば、政府機関によって定義された基準)を下回る。そのような付属品(本明細書中で「非公認の付属品」と呼ばれる)は、無線通信デバイスを損傷する能力を有し、かつ/または消費者に対する安全の脅威となる。
【発明の開示】
【発明が解決しようとする課題】
【0004】
非公認の付属品が無線通信デバイスに利用されることを防止するための既存の技術は、抜け道をみつけることが比較的容易であった。例えば、一意の機械的なキー配列法を利用しているコネクタは、コネクタに対する機械的な改変によって克服され得る。認証のための抵抗器を利用している電気的な配列法は、適切な回路によって同様に容易に出し抜かれる。最終的に、固定されたパスワードまたはローリングコード(rolling code)を利用しているデジタル通信技術は、打ち破るか、模倣することが比較的容易である。
【0005】
従って、無線通信デバイスのための効果的で安全な認証方法および装置に対する強いニーズが、当該分野において存続している。
【課題を解決するための手段】
【0006】
(概要)
マスタデバイスと周辺(付属品)デバイスとの間の通信を管理する例示的な方法が、開示される。周辺デバイスは、接続ポートによってマスタデバイスと接続される。接続ポートは、1つ以上の通信ラインを有する通信端子を含んでいる。マスタデバイスは、周辺デバイスの接続のために通信端子を監視する。周辺デバイスが検出される場合、マスタデバイスは、周辺デバイスに対して起動(wake−up)コマンドを始動し、情報要求コマンドを周辺デバイスに送信して、周辺デバイスからのレスポンスを待つ。認証された周辺デバイスは、レスポンスのタイプを示すためにレスポンスタイプバイトを戻し、続いて、情報要求コマンドにおいて要求された1バイト以上のデータを戻す。
【0007】
一実施形態において、情報要求コマンドは、チャレンジデータ(challenge data)が後に続く、認証要求コマンドである。周辺デバイスは、チャレンジデータを受信し、チャレンジデータに対してハッシュ関数を実行して、認証レスポンスタイプバイトに続く、レスポンスデータをマスタデバイスに送る。一実施形態におけるハッシュ関数は、セキュア認証アプリケーションの実行である。そのアプリケーションは、周辺デバイス内に格納されたセキュア認証イメージファイル(secure authentication image file)に具体化される。マスタデバイス(例えば、無線ハンドセット)は、付属品からの認証レスポンスタイプバイトに続いて、レスポンスデータを受信する。ハンドセットは、レスポンスデータを、チャレンジデータと関連づけられる事前に格納されたデータと比較する。一致(match)は、付属品が認証されることを示す。チャレンジデータ/レスポンスデータ(平文/暗号文ペアとも呼ばれる)は、ハンドセットの外部で事前に生成されて、それからハンドセット内に格納され、ハッシュ/暗号化キーが制限された有効性を有することを保証する。
【0008】
例示的な実施形態において、平文/暗号文ペアは、同一の平文ストリングを同一のセキュアイメージファイルを有する2つの別個のプロセッサに供給することによって生成される。その2つのプロセッサは、平文ストリングに対してセキュア認証アプリケーションを実行し、暗号文ストリングを出力する。2つの別個のプロセッサからの暗号文ストリングが一致する場合、平文/暗号文ペアは、データベース内に格納される。このプロセスは、任意の数の一意の平文ストリングに対して繰り返される。各生成された一意の平文/暗号文ペアは、上で論じられたように、マスタデバイス(例えば、携帯電話機)内で使用され、取り付けられた付属品が認証されることを検証する。
【0009】
付属品の認証において利用されるセキュアイメージファイルは、セキュアキーおよび原始イメージファイルをキーマージアプリケーションに供給することによって生成される。結果としてもたらされるマージされたファイルは、セキュア認証イメージファイルである。セキュアキーは、例えば、セキュアキーの1つのコピーを格納し、生成デバイスから原始イメージファイルおよびセキュアキーを消去することによって保護される。セキュア認証イメージファイルは、平文/暗号文ペアの生成において使用することと、そして製造された付属品に含めることとのために、それから必要に応じてコピーされる。しかし、セキュアキーおよび原始イメージファイルがもはや利用可能ではないことにより、デバイスを認証するために利用されたセキュア認証イメージファイルは、偽造することが困難である。
【発明を実施するための最良の形態】
【0010】
記述される実施形態は、すべての点において例示であり、限定するものではないと考慮されるべきである。本発明は、本明細書中に例示され記述される特定の実施形態に制限されないけれども、本発明の範囲から逸脱することなく、数多くの再編成、改変、および置換えが可能であることもまた理解されるべきである。そのようなものとして、本発明の構造および動作の両方についての本発明の詳細は、以下で記述される添付の図面の検討によっていくぶんかは見出され得る。それらの図面において、同様な参照番号は、同様な部分を示している。
【0011】
(詳細な説明)
最初に図1を参照すると、本発明の一実施形態による、携帯電話機102と、携帯電話機102に接続され得る携帯電話機付属品104とが示されている。携帯電話機102は、送受信器(図示されず)に連結されたアンテナを介して、無線周波数(「RF」)帯域において電磁気(「EM」)エネルギーを送信および受信することが可能な任意の無線通信デバイスであり得る。本明細書中に記述される例示的な認証方法は、携帯電話機付属品を認証するために携帯電話機デバイスによって実行されるけれども、その方法はまた、ビデオカメラ、ノート型コンピュータ、MP3プレーヤ、およびその他の電子デバイスのバッテリパックまたは付属品を認証するために使用され得る。
【0012】
携帯電話機102は、携帯電話機102の動作と関連した数多くの機能を実行するための、プロセッサ106を一般に含む。そのプロセッサは、アンテナ(図示されず)を介してRF信号を通信するための送受信器に連結される。バッテリなどの電源は、電力をプロセッサ、メモリ、送受信器、およびその他の携帯電話機102の構成要素に供給する。携帯電話機102は、ユーザに対して情報を受信および送信するための、数多くの入力/出力(「I/O」)デバイス(図示されず)をさらに含む。
【0013】
図1を続けると、携帯電話機102は、付属品(本明細書中で周辺デバイスとも呼ばれる)を携帯電話機102に接続するための、1つ以上の付属品インターフェース114をさらに含む。本明細書中に記述される技術は、多種多様な付属品および付属品インターフェースに使用され得るけれども、図1は、バッテリ付属品104に関係する編成例を例示する。そのバッテリ付属品104は、携帯電話機102の付属品インターフェース114に接続されるインターフェース116を有している。図1に示されるように、携帯電話機102の付属品インターフェース114は、複数のライン120を含み、付属品104のインターフェース116は、対応する複数のライン122を含む。例示として、携帯電話機102および付属品104が接続される場合に、複数のライン122の第1のラインは、電源電圧を提供するために使用され得、第2のラインは、基準電圧(例えば、接地)を提供するために使用され得、そして第3のラインは、携帯電話機102と付属品104との間の双方向通信を提供するために使用され得る。図1に示されたライン120、122の数は、単に例示の目的のためである。他の実施形態は、特定の周辺デバイスの付属品のために必要とされる、1つまたは任意の数のラインを有し得る。
【0014】
別の実施形態によると、本明細書中に記述されるような通信は、電源電圧ラインを介して実行され得る。例えば、双方向の信号伝達は、変調を介して電圧供給ライン上で利用され得る。別の例示として、双方向の信号伝達は、スイッチを利用することによって電圧供給ライン上で利用され得、認証プロセスの間は、第1の双方向の信号伝達モードでラインが動作することを可能にし、付属品104が認証された後は、第2の電圧供給モードで電圧供給ラインのラインが動作することを可能にする。既存の電圧供給ラインを介して通信ができることの利点は、専用の通信ラインが必要とされないことであり、従って、携帯電話機102と付属品104との間のインターフェースおよびコネクタは、本明細書中に記述された認証方法を利用しない前の編成から改変される必要がない。
【0015】
図1を続けると、携帯電話機102のプロセッサ106は、付属品インターフェース114に接続され、付属品104のプロセッサ108は、インターフェース116に接続される。プロセッサ106は、携帯電話機102のメインプロセッサであり得るか、または携帯電話機102内の補助プロセッサであり得る。プロセッサ106は、認証アルゴリズム110を実行し、プロセッサ108は、その内に格納されたセキュア認証イメージファイル145に具体化されたセキュア認証アプリケーションを実行する。プロセッサ108は、セキュリティ機能を含み、そのセキュリティ機能は、セキュア認証イメージファイル145を含む、いかなる内部コードの読み取りをも防止する。セキュア認証イメージファイル145の内容および生成は、以下でさらに詳述される。
【0016】
(セキュア認証イメージファイルの生成)
図2を参照すると、セキュア認証イメージファイル245を生成するための、例示的なシステム200が示される。概して、セキュア認証イメージファイル245は、図1のセキュア認証イメージファイル145と符合し、プロセッサ108によって実行される、とりわけ付属品104を認証するためのプログラミングを提供する。一実施形態による、セキュア認証イメージファイル245を生成するための例示的な方法は、図3のフローチャート300に描かれる。
【0017】
当業者に明らかな特定の詳細および機能は、図3のフローチャート300から除外されている。例えば、ステップは、当該分野において既知のような、1つ以上のサブステップ(sub−step)からなり得るか、または特殊な装置もしくは材料を伴い得る。フローチャート300中に示されたステップ305からステップ335は、本発明の一実施形態を記述することに対して十分であるけれども一方、本発明のその他の実施形態は、フローチャート300中で示されたそれらのステップと異なるステップを利用し得る。
【0018】
ブロック305において、キーアドレス位置が、システム200の原始メモリイメージファイル内に確保される。例えば、図2において、複数のキーアドレス位置(D0からDFとして識別される)230は、原始メモリイメージファイル205内に確保される。その原始メモリイメージファイル205は、セキュア化された(secured)デバイス(例えば、図1のバッテリ付属品104)のためのプログラミングを含み得る。確保されたキーアドレス位置230は、「ダミー」データまたはテストデータを含み得、それらのデータは、その後のセキュアマージ手順の間にセキュアキーデータと置換される。アドレス確保は、プログラミング命令のコンパイルおよび/または生成の間に実行され得る。以下で記述されるように、原始イメージファイル205内のプログラミング命令は、付属品104を認証するための、暗号化アルゴリズム(例えば、ハッシュ関数)を含む認証プログラムを含み得る。
【0019】
図2に示された例示の実施形態において、キーアドレス位置230は、多くの不連続なアドレス位置にわたって分配されて示される。しかしながら、他の実施形態において、その他の編成が利用され得る。
【0020】
ブロック310において、データ処理デバイス220は、キーアドレス位置230の識別を含む原始メモリイメージファイル205をワーキングメモリ225内に受信する。ブロック315において、プロセッサ220は、ワーキングメモリ225内にセキュアキーデータ215を受信する。例えば、セキュアキーデータ215は、16バイト(128ビット)であり、無作為に生成された値であり得る。暗号化技術(より具体的には、暗号化キー)の公然たる監視(public scrutiny)を防止するために、セキュアキーデータ215へのアクセスは、制限されるべきである。
【0021】
ブロック320において、データ処理デバイス220によって実行されるキーマージアプリケーション222は、セキュア化された認証イメージファイル245を生成するために、セキュアキーデータ215をキーアドレス位置230において原始イメージメモリファイル205とマージする。確保されたキーアドレス位置230のサイズは、セキュアキーデータ215を格納することに対して十分な大きさである。結果としてもたらされるセキュア認証イメージファイル245は、セキュア化されたキーアドレス位置235内にセキュアキーデータ215を含んでいる。
【0022】
ブロック325において、セキュア認証イメージファイル245は、統合されたチップ内にセキュア認証イメージファイル245をプログラムする、プログラミング実体に送信される。一例示において、そのプログラミング実体は、プロセッサ集積回路(PIC)製造者であり、その製造者は、図1に示されるような、付属品104内で使用するためのPIC(例えば、プロセッサ108)を供給する。そのプログラミング実体は、ステップ335に示されるように、セキュア認証イメージファイル245をPIC内に組み込み得る。
【0023】
ステップ327において、テストベクトルの集合225が、セキュア認証イメージファイル145、245を含む製造されたデバイス(例えば、PIC)を検証する、将来の使用のために生成される。テストベクトル225は、限定された平文ストリングおよび暗号文ストリングの集合を含む。暗号文ストリングは、暗号化アルゴリズムから生成される。そのアルゴリズムは、セキュア認証イメージファイル245を利用し、限定された平文ストリングの集合に適用される。
【0024】
ステップ330において、セキュア化されたキーデータ215およびセキュア認証イメージファイル245は、システム200から消去/削除される。ステップ335において、上で論じられたように、セキュア認証イメージファイル245は、セキュア化されたプロセッサ(例えば、図1のプロセッサ108)内にプログラムされる。セキュア化されたプロセッサは、本アプリケーションに使用されるときに、その内部コード(例えば、セキュア認証イメージファイル)の読み取りを防止する。例えば、工場でプログラムされたPICにおいて、セキュリティ機能を有効にするビットは、メモリアレイの全域に拡散され、メモリデバイス全体の消去によってのみクリアされ得る。内部コードの読み取りを防止する追加のセキュリティ機能もまた、追加のセキュリティ対策として利用され得る。
【0025】
(平文/暗号文データベースの生成)
ここで図4を参照すると、本発明の一実施形態による、平文/暗号文キーペア(ベクトルとも呼ばれる)のデータベース404を生成するためのシステム400が示される。平文/暗号文ペアは、各製造されたデバイス(例えば、図1に示された携帯電話機102)における使用のために生成される。従って、適切なシステム(例えば、本明細書中に記述されるシステム)が、平文/暗号文ペアの必要とされるボリュームを生成するために利用されなければならない。一実施形態によるシステム400の動作は、図5のフローチャート500を参照して論じられる。当業者に明らかな一定の詳細および機能は、図5のフローチャート500から除外されている。例えば、1つのステップは、当該分野において既知のような、1つ以上のサブステップからなり得るか、または特殊な装置もしくは材料を伴い得る。フローチャート500中に示されたステップ502からステップ526は、本発明の一実施形態を記述することに対して十分であるけれども、一方で本発明のその他の実施形態は、フローチャート500中で示されたそれらのステップと異なるステップを利用し得る。
【0026】
システム400は、複数のスレーブプロセッサ416a〜416hに接続されたデータ処理デバイス(DPD)402を含む。上で論じられたように、各スレーブプロセッサ416a〜416hは、セキュア認証イメージファイルを格納し、そして実行する。セキュアキーデータは、セキュア認証イメージファイルの一部分として含まれる。注目されることに、各スレーブプロセッサ416a〜416hは、使用時に認証されるべき付属品デバイスの動作を模倣する(mimic)。その模倣動作において、各スレーブプロセッサ416a〜416hは、平文チャレンジを受信し、暗号文レスポンスに応答する。
【0027】
図4に示される特定の実施形態において、マスタプロセッサ406は、8つの一次のスレーブプロセッサ410a〜410hへの高速インターフェース408に接続される。そのマスタプロセッサ406は、データ処理デバイス402にも接続される。これは、データ処理デバイス402にベクトルを伝達して、データベース404内にベクトルを格納するためである。一次のスレーブプロセッサ410a〜410hのそれぞれは、二次のスレーブインターフェース418a〜418hを介して通信する、対応する二次のスレーブプロセッサ416a〜416hに接続される。さらに以下で論じられるように、インターフェース408は、この特定の編成における並列処理の効率を提供するために、二次のスレーブインターフェース418a〜418hに対して、少なくとも8倍の第一のスピードで動作する。
【0028】
マスタプロセッサ406は、カウンタ(図5のカウンタ機能502として描かれるカウンタ)を使用する。このカウンタは、データベース生成を開始するように命令される前に、特定の値に設定され得る。この構成は、複数のマスタプロセッサがベクトルの範囲で機能することを可能にし、それにより、複数のユニットがそのユニット番号によって設定されたスピードで、連続的なデータベースに向けて機能することを可能にする。一実施形態において、カウンタ機能502は、64ビットの2進カウントを利用する。
【0029】
ブロック506において、マスタプロセッサ406は、平文(PT)ストリングを生成するために、キー(例えば、ブロック504で供給された128ビットのキー)およびカウンタ値によって、ハッシュ関数を実行する。図5のブロック508a、508bにおいて、この平文ストリング(チャレンジとも呼ばれる)は、一次のスレーブプロセッサ(例えば、410a)に伝達される。ブロック510a、510bにおいて、この一次のスレーブプロセッサは、それからマルチプレクサ(MUX)414a〜414hを介して、平文ストリングを二次のスレーブプロセッサ(例えば、416a)に伝達する。ブロック514aおよび514bにおいて、二次のスレーブプロセッサ(例えば、416a)は、それぞれブロック512aおよび512bで提供されたセキュアキーデータを用いて、平文を暗号文(CT)レスポンスへと暗号化する。ブロック516a、516b、518aおよび518bにおいて、暗号文レスポンスは、それから第一のプロセッサ410aを介して、マスタプロセッサ406に戻るように伝達される。
【0030】
システム編成400において、一次のスレーブプロセッサ410a〜410hおよび二次のスレーブプロセッサ416a〜416hは、2−デバイスの4つのグループ412a〜412dへと編成される。各グループ412a〜412dは、平文ストリングを処理するために、暗号文ベクトル生成デバイスおよび暗号文ベクトル検証デバイスを含んでいる。例えば、グループ412は、暗号文生成デバイス(集合的に、一次のスレーブプロセッサ410aおよび二次のスレーブプロセッサ416a)と、暗号文検証デバイス(集合的に、一次のスレーブプロセッサ410bおよび二次のスレーブプロセッサ416b)とを含む。図5のブロック508a〜518aは、暗号文ベクトル生成デバイスの動作に対応し得、ブロック508b〜518bは、暗号文ベクトル検証デバイスの動作に対応し得る。
【0031】
ブロック520において、暗号文ベクトル生成デバイスによって生成された暗号文ストリングは、暗号文ベクトル検証デバイスによって生成された暗号文ストリングと比較される。判定ブロック522において、特定のグループの暗号文生成デバイスおよび暗号文検証デバイスによって生成された暗号文レスポンスが一致しているかについて、決定がなされる。一致が決定される場合、ついでステップ524において、平文および暗号文は、データ処理デバイス402に送信され、ステップ526において、データベース404内のベクトルとして格納される。この格納は、製品デバイス(例えば、図1に示されるような携帯電話機102)に対して後に分配するためである。ステップ502は、図5に示されるように、カウンタ値をインクリメントするために繰り返され、このプロセスは、次の平文ストリングに対して繰り返す。双方向性のハッシングアルゴリズムと協働して連続的な2進カウントを使用する利益は、ベクトルの重複が避けられることである。
【0032】
判定ブロック522において、暗号文レスポンスが一致しない場合、一致レスポンスが取得されるまで、同じ平文が、グループ(例えば、412a)に対して送り返される。不一致は、デバイス障害(例えば、電力グリッチおよびラインノイズなど)に起因して起こり得る。この検証ステップは、暗号文レスポンスを検証することに対する利点である。なぜならば、暗号化アルゴリズムおよび暗号化キーが、二次のスレーブプロセッサ416a〜416hから外部的に利用可能でないからである。この分野において、この検証ステップは、データベース内の値が、認証された付属品デバイスの不適切な拒絶をもたらさないことを確かにしている。
【0033】
システム編成400において、4つのグループ412a〜412dが、データベース404を生成することにおける効率を増大するために実装される。しかしながら、その他の実施形態において、インターフェースの帯域幅を考慮するような要因に従って、任意の編成が実装され得る。
【0034】
インターフェース418a〜418hは、一実施形態において、低速度インターフェース(例えば、9.6kbps)である。この編成は、多くの利点を提供する。その利点は、低減された所要電力と、二次のスレーブプロセッサ内に格納されたセキュア認証イメージファイルのリバースエンジニアリングを実行できないようにする、十分に遅いインターフェースとを含んでいる。遅いインターフェースは、上述された並列処理技術を使用することで補償される。このように、平文/暗号文ペアを安全に生成するためのシステムおよび方法が、開示されている。
【0035】
(付属品を認証するための双方向インターフェース)
付属品の認証のために使用され得る双方向インターフェースは、図6、図7aおよび図7bを参照して記述される。続く例示において、携帯電話機内で使用するためのバッテリパック付属品が例示されるけれども、上で論じられたように、付属品の認証はまた、様々なデバイスのためのその他の付属品のタイプによって使用され得る。
【0036】
図6の例示的な実施形態に示されるように、周辺デバイスは、コネクタ656、668を介して携帯電話機に接続されるバッテリパックである。図1を参照して上で論じられたように、1つ以上の信号ライン670、672、674は、携帯電話機650およびバッテリパック660を接続する。例示的な実施形態において、マスタデバイス(すなわち、携帯電話機650)は、半二重通信を用いて、周辺デバイス(すなわち、バッテリパック660)と通信する。半二重通信は、双方向通信ラインにおける、同時に一方向のデータ伝送を一般に記述する。図1を参照して上で論じられたように、バッテリパックと携帯電話機との間の通信は、2対1のデータライン接続、1対1のデータライン接続、または任意の他の適切なデータもしくは信号ライン接続を利用する。図6に例示されるように、コネクタ656、668はまた、それぞれライン670およびライン672上で、バッテリ電圧(vbatt)、および接地を供給する。
【0037】
携帯電話機650のプロセッサ652は、平文/暗号文ペアおよび通信アルゴリズム654を含んでいる。以下において詳細に論じられる平文チャレンジは、信号ライン674を介して、プロセッサ652からバッテリパック600のプロセッサ662へと送られる。プロセッサ662は、セキュア認証ファイル664を利用して平文チャレンジに対してハッシュアルゴリズムを実行し、そして暗号文ストリングレスポンスを戻す。暗号文ストリングレスポンスが、携帯電話機内に事前に格納された暗号文ストリングと一致する場合、バッテリパックは、認証されたバッテリパック660である。
【0038】
図7aを参照すると、バッテリパック704の第1の実施形態は、ハンドセット702の実施形態に接続されて示される。この例示された実施形態は、ハンドセット702とバッテリパック704との間の、1つの半二重通信信号ラインに対して、2つの信号ラインのためのUARTを利用する。しかしながら、上で論じられたように、本明細書中で論じられる付属品の認証を実現するために使用され得る、信号ライン通信の多くの組合せが存在する。
【0039】
図7aを続けると、ハンドセット702は、ポートUART RX754およびUART TX756を有するプロセッサ706を含んでいる。バッテリパック704は、バッテリ電圧(Vbatt)端子722、接地端子724、および通信端子726を含む3つの端子を有する。一実施形態において、Vbatt722および接地端子724は、バッテリパック704との正および負の接続であり得る。Vbatt722は、Vcc端子723に電源電圧(Vcc)を提供する電源回路(図示されず)に接続される。通信端子726は、認証チップ708(認証プロセッサ708とも呼ばれる)に通信接続を提供する。通信端子726は、識別(ID)端子とも呼ばれ得る。認証チップ708は、バッテリ温度の正確な測定値、バッテリパック704についての情報(例えば、パックの容量、シリアルナンバー、および認証機能を表す情報)などの機能を提供し得る。一実施形態において、通信は、通信端子726を介する9600ボー(baud)(半二重、8データビット、1スタートビット、1ストップビット、パリティ無しのフォーマット)で実行され得る。
【0040】
認証チップ708は、データを暗号化するためのアルゴリズム(ハッシングまたはスクランブリング)を含むセキュア認証イメージファイルを含んでいる。各ハンドセット702は、貯蔵の間にプログラムされた一意のチャレンジ−レスポンスペア(ベクトルまたは平文/暗号文ペア)の組を含んでいる。バッテリパック704を認証するために、ハンドセット702は、通信端子726を介して、平文チャレンジをバッテリパック704に送信する。認証チップ708は、平文チャレンジを利用するアルゴリズムを実行し、平文チャレンジをハッシュし、暗号文レスポンスをハンドセット702に戻す。ハンドセット702は、暗号文レスポンスをチャレンジ−レスポンスペアの対応する暗号文構成要素と比較する。一致が決定される場合、バッテリパック704は、認証される。一致が決定されない場合、バッテリパック704は、模造品であると考えられる。ハンドセット702は、バッテリパック704の使用または動作を制限し得る。
【0041】
振動、電磁相互作用、電力の一時的変動などが、ハンドセット702とバッテリパック704との間の通信を汚損し得るということはありうる。従って、ハンドセット702は、バッテリ704を認証する最初の試みが失敗する場合、バッテリ704を認証するいくつかの試みをなすように構成され得る。振動、汚染された電気的接触子、そして高レベルの電気的雑音およびその他のスプリアス信号は、意図されない遷移が、通信端子726上に発生することを引き起こし得る。これらの遷移は、認証チップ708を起動させ得、可能性としては、コマンドとして解釈した雑音に対するレスポンスを送らせ得る。ハンドセット702は、これらの伝送を調停し、そして無視するようにプログラムされ得る。
【0042】
図7の例示的な実施形態において、バッテリパック704内の認証チップ708との通信は、バッテリパック704の通信端子726に接続された、単一の双方向通信信号ラインを介して行われる。標準(8ビット、パリティ無し、単一のスタートビット、単一のストップビット)のシリアルデータストリームは、すべての情報を運搬する。ハンドセット702は、すべての通信を始動する。バッテリパック704内の認証チップ708は、ハンドセット702からの適切にフォーマットされたリクエストにのみ応答する。バッテリパック704は、それ自身を有効または無効にする機能を有していない。上で論じられたように、ハンドセット702は、バッテリパック704が認証されたか否かを決定するために、バッテリパック704からデータを得る。
【0043】
通信端子726を介して接続されたラインは、認証チップ708とハンドセット702との間の双方向シリアルデータリンクを維持する。ハンドセット702は、通信端子726の開回路電圧を監視することによって、バッテリパック704の存在を検出し得る。一実施形態において、プルアップ抵抗器744は300オーム、プルアップ抵抗器746は33キロオーム、抵抗器747は330オーム、抵抗器736は1メガオーム、そして抵抗器730は47キロオームである。抵抗器734は1メガオームであり得、通信端子726に入る電流、および通信端子726を出る電流に制限を提供する。抵抗器732は、3.3キロオームであり得、バッテリ704がハンドセット702に接続されない場合に、認証回路を「スリープ」状態に維持するプルアップ抵抗である。これらの抵抗値は、単なる例示であり、本明細書中に論じられるように、通信端子726を介する通信を制御するために選択される。
【0044】
バッテリパック704内の通信端子726は、3つの可能な状態を有する。その状態は、アイドル/受信、TX高位、TX低位、である。通信端子726がアイドル/受信(すなわち、送信していない)状態にある場合に、トランジスタ748および750は、オフされる。アイドルモードにおいて、通信端子726は、Vbatt端子722に対して33.66キロオームのインピーダンスを有する。通信端子726がTX高位状態にある場合に、トランジスタ748はオン、そしてトランジスタ750はオフであり、バッテリパック704のVbatt端子722に対して660オームのインピーダンスを結果としてもたらす。通信端子726がTX低位状態にある場合に、トランジスタ748はオフ、そしてトランジスタ750はオンであり、接地端子724に対して330オームのインピーダンスを結果としてもたらす。
【0045】
バッテリパック704は、一定の状況下において、通信端子726上の通信を制御可能にし得る。この能力は、抵抗器732、746および747の選択によって可能にされる。図7bにおいて描かれた真理値表は、いかに通信端子726(ID626)の構成が、認証チップ708(ACHIP OUT608)によって制御されるかを定義する。
【0046】
図7に戻って参照すると、ハンドセットのUARTの送信および受信信号を、通信端子726上で通信される単一信号へと組み合わせるための回路例が示される。トランジスタ738および740は、NチャネルCMOS論理レベルスイッチングトランジスタである。UART受信(UART RX)およびUART送信(UART TX)信号は、この回路によって反転されることに注意されたい。UART TX信号に対して3つの可能な状態が存在し、その状態は、高位、低位、および高い−Z、である。UART TX信号が低位状態または、高い−Z状態にある場合に、トランジスタ740は、オフにされる。通信端子726は、接地端子724に対して非常に高い(例えば、100万オーム)インピーダンスを示す。バッテリパック704がアイドル/受信(スリープ)状態にある場合、通信端子726の電圧は、バッテリパック704内のプルアップ抵抗器746によってVbatt端子722の電圧レベルに近くなる。トランジスタ738は、その後UART RX端子754の電圧を接地に引き寄せる。図7に示された回路は、Vbattに引き上げられた通信端子726により、スリープモードにおいて最小の電力を消費する。
【0047】
UART TX信号が高位の場合に、トランジスタ740はオンであり、抵抗器732を接地に接続する。この構成は、通信端子726が、3.3キロオームの実効インピーダンスを接地に対して有する結果をもたらす。バッテリパック704と接続される場合に、バッテリパック704がアイドル/受信状態にあると仮定すると、通信端子726は、Vbatt端子722の電圧レベルの約0.1まで引き下げられる。その電圧レベルは、トランジスタ738をオフにし、UART RX端子754を抵抗器730によって高位状態に引き上げる。認証チップ708が高い−Zまたは「受信」モードにある場合、UART TX端子756上に送信されたすべてのビットは、UART RX端子754において直ちに受信される。
【0048】
ハンドセットのソフトウェアは、UART RX端子754上の、ハンドセット702によって送信されたデータおよびバッテリパック704によって送信されたデータの両方を受信することが可能である。UART TX端子756は、ハンドセット702がバッテリパック704に対してデータを送信していない場合に、低位状態または高い−Z状態にあるべきである。ハンドセット回路702は、このモードにおいて、Vcc723から約80マイクロアンペアを引き込む。ハンドセット702がスリープモードにある場合に、4マイクロアンペア未満がバッテリパック704から引き込まれる。
【0049】
ダイオード742および752は、静電気デバイス(ESD)保護デバイスである。注意を払うべきことは、ESDデバイスが通信端子726回路に追加する静電容量の総量を最小化することである。ハンドセット702によってバッテリパック704に送信された信号の立ち上がり時間は、抵抗器744、746、および747(33.66K)の全体のプルアップインピーダンスならびに通信端子726上の全体の静電容量によって決定される。バッテリパック704内のESDダイオード747は、例えば、50pFの最大静電容量を有する。例示的な実施形態において、通信端子726上の全静電容量は、150pF未満である。一般に、トランジスタ738のドレイン−ソース抵抗は、オンの場合に、50オーム以下である。
【0050】
プロセッサ706は、UART TXピン756から、低位電圧出力としての2進数の0と、高位電圧出力としての2進数の1を送信する。UART RXピン754は、この同じ信号レベルを想定している。UART TX信号は、通信端子726を駆動するためにトランジスタ740によって反転される。反転された信号伝達(すなわち、2進数の0を表す高位レベル信号(>0.85*Vbatt)および2進数の1を表す低位レベル信号(<0.15*Vbatt))が、通信端子726において想定されている。通信端子726上の信号は、UART RXピン754に適用される前に、トランジスタ738によって反転される。ハンドセット702内のUARTがUART TXピン756を駆動している場合に、UART TXピン756のアイドル状態(UARTによって送られているデータが全くないとき)は、論理1(すなわち高位電圧レベル)である。このことは、トランジスタ740をオンにし、3.3キロオームの抵抗器732を介してバッテリパック704のIDピンを低位に引き寄せる。バッテリパック704は、この状態においてもなお、トランジスタ748または750を活性化することによって、通信端子726を高位または低位に駆動し得る。
【0051】
認証チップがコマンドに応答するために通信端子726を駆動している場合に、認証チップは、図7のトランジスタ748および750を用いて、ピンを高位および低位に能動的に駆動する。各ストップビットに続いて、トランジスタ748および750が両方ともオフの(通信端子726を浮動させている)間は、約300マイクロ秒の期間がある。浮動させている通信端子726を介して通信された受信データの汚損を避けるために、ハンドセット702は、受信の間、UART TXをアサート(assert)する。そのことは、トランジスタ740をオンにして、通信端子726を引き下げるために、UART TXピン756に論理1を駆動することによって行われる。
【0052】
(付属品を認証するための通信プロトコル)
付属品を認証するための通信プロトコルは、図6および図8〜図14を参照して記述される。図6および図8を参照すると、一実施形態による、通信端子/ライン674を介して伝達される例示的な通信メッセージフォーマット826が示されている。通信メッセージ826は、単一のスタートビット828、8つのデータビット830、および単一のストップビット832を含む、8−ビットバイトであり得る。
【0053】
特定の実施形態において、認証プロセッサ662は、バッテリパック製造者においてバッテリパック660と接続され、バッテリパック660の寿命の間中いつも電力を供給される。これらの場合に、認証プロセッサ662は、可能な限り少ない電力を使用するべきである。認証プロセッサ662は、電力を節約するために、最初にスリープモードにおいて動作する。スリープモードの間、認証プロセッサ662は、命令を実行しておらず、通信ライン674の遷移(高位から低位、または低位から高位への遷移)に対して通信ライン674を監視しているのみである。通信端子674上で遷移が起こる場合に、認証プロセッサ662は、起動し、そして動作を始める。しかし、認証プロセッサ662は、最初の遷移が起こった後(例えば、337.5マイクロ秒(25マイクロ秒に、3つの9600ボーのビット周期を足す))まで、通信ライン674上の信号を処理し始めない。通信端子674を介してコマンドが受信されない場合、認証プロセッサ662は、スリープモードに戻る(例えば、起動して2.3秒後に戻る)。「目覚めた(awake)」ウィンドウ(例えば、2.3秒)内にコマンドが受信される場合、認証プロセッサ662は、コマンドを処理し、コマンドに対する応答を送信した後、スリープモードに戻る。
【0054】
起動している期間は、多くの方法で助長され得る。1つの方法は、タイマを使用することであり、最初の遷移(例えば、337.5マイクロ秒の期間)がいつ経過したかを決定し、それからコマンドバイトを送る。別の方法は、コマンドバイトが後に続く、起動インターバルの第1の部分の間(例えば、232マイクロ秒)に、起動バイト(0xff)を直ちに送ることである。起動バイトは、1つの「0」ビット(スタートビット)に続いて、9つの「1」ビット(8つのデータビット足すストップビット)を送る。起動バイトを送ることは、十分な遅延を引き起こし、第1のコマンドバイトが、最初の遷移期間(例えば、337.5マイクロ秒)後に送信されることを保証する。
【0055】
バッテリパック660とのすべての通信は、図6の実施形態における、ハンドセット650によって始動される。ハンドセット650がバッテリパック660に送信するコマンド(温度コマンド、ID/バージョンコマンド、チップIDコマンド、および認証コマンドを含む)メッセージは、本明細書中において論じられる。上で述べられたように、各コマンドは、バッテリパック660を起動することから始まる。認証コマンドを除く、コマンドのそれぞれは、単一のコマンドバイトを含む。認証コマンドは、コマンドバイトの後に8バイトのチャレンジをバッテリパック660に対して送信する。バッテリパック660によって想定されるより多くのバイトが送られる場合、それらのバイトは、無視されるか、バッテリパック660からの応答信号を妨げる。
【0056】
場合によっては、ハンドセット650とバッテリパック660との間の、デバイス通信のタイミングを較正することが望まれ得る。図9は、表900を例示する。その表900は、タイミング較正のためのハンドセット650とバッテリパック660との間で伝達される例示的なメッセージコマンドを識別する。バッテリパック660は、タイミングコマンド(0x00)902に応答する。その応答は、タイミングレスポンス(0x80)904に続いて、タイミングバイト(0xC3)906を送ることによって行われる。ハンドセット650は、このタイミングバイト906内の4つの論理0のストリングの長さを測定して、4で割り、結果としてもたらされる値を、送信または受信の間の単一のデータビットに対する時間として使用し得る。4つの論理0は、バイトの中央の高位レベルの信号である。2進信号904の両端部の2ビットとも、タイミング目的に対しては使用されない。
【0057】
図10は、温度測定トランザクションの構成要素を組み込んでいる図を描く。図11は、表1100を示し、その表は、ハンドセット650とバッテリパック660との間で伝達される、温度情報を交換するための例示的なメッセージコマンドを識別する。ハンドセット650が、温度コマンド(0x01)1002、1102をバッテリパック660に対して送ると、バッテリパック660は、温度レスポンスバイト(0x81)1004、1104に続いて、温度データ1006、1106を含むバイトを送ることによって応答する。
【0058】
図12は、表1200を示す。その表は、ハンドセット650とバッテリパック660との間で伝達される、バッテリパック660と関連づけられたID/バージョン情報を交換するための、例示的なメッセージコマンドを識別する。ハンドセット650が、ID/バージョンコマンド(0x02)1202をバッテリパック660に対して送ると、バッテリパック660は、ID/バージョンレスポンスバイト(0x82)1204に続いて、バッテリパック660と関連づけられたID/バージョンデータ1206を含むバイトを送ることによって応答する。ID/バージョンデータは、情報(例えば、バッテリパックの製造者、バッテリパックのバージョン、バッテリパックのシリアルナンバー、バッテリパックのロットなどの情報)を識別し得る。
【0059】
図13は、表1300を示す。その表は、ハンドセット650とバッテリパック660との間で伝達される、認証チップ662と関連づけられた識別情報を交換するための、例示的なメッセージコマンドを識別する。ハンドセット650が、チップIDコマンド(0x04)1302をバッテリパック660に対して送ると、バッテリパック660は、チップIDレスポンス(0x84)1304に続いて、チップID情報を送ることによって応答する。例えば、チップID情報は、図13に例示されるように、4バイトのメッセージを含み得る。そのメッセージは、チップIDデータの最上位ビット(MSB)1306、チップIDデータ1308、チップIDデータ1310、およびチップIDデータの最下位ビット(LSB)1312を含んでいる。
【0060】
図14は、表1400を示す。その表は、ハンドセット650とバッテリパック660との間で伝達される、バッテリパック660を認証するための認証情報を交換するための、例示的なメッセージコマンドを識別する。バッテリ認証を始動するために、ハンドセット650は、起動バイト(0xff)1401に続いて、認証コマンド(0x08)1402、それに続いて、「チャレンジ」(例えば、64ビット(8バイト)チャレンジコマンド)を送る。図14に示されるように、チャレンジコマンドは、チャレンジデータMSB1404に続いて、チャレンジデータペイロード1406、それに続いて、チャレンジデータLSB1408を含み得る。
【0061】
バッテリパック660は、「レスポンス」(例えば、64ビット(8バイト)レスポンス)を生成するために、チャレンジに対してハッシュ関数を実行する。上で論じられたように、チャレンジは、各ハンドセットに対して一般的に一意である。レスポンスは、ハンドセット650に対して送り返される。そのことは、認証レスポンス(0x88)1410に続いて、レスポンスコマンドを送ることによって行われる。例えば、レスポンスコマンドは、レスポンスデータMSB1412に続いて、レスポンスデータペイロード1414、それに続いて、レスポンスデータLSB1416を含み得る。
【0062】
ハンドセット650は、受信されたレスポンス1412、1414、1416を、チャレンジ1404、1406、1408と関連づけられる、格納されたレスポンスと比較する。所与のチャレンジに対して、一致が決定される場合、バッテリパック660は、認証されている。通信エラーの可能性を補償するいくつかの試みの後に、一致が決定されない場合、バッテリパック660は、模造品であると考えられる。ハンドセット650は、バッテリパック660の使用または動作を制限し得る。
【0063】
認証チップ662内のハッシング機能の動作のセキュリティを維持するために、ハンドセット650は、上で論じられたように、ハッシングアルゴリズムのコピーを含まない。代わりに、ハンドセット650のソフトウェアを貯蔵するときに、チャレンジ−レスポンスペアが、ハンドセット650のメモリ内に格納される。チャレンジ−レスポンスペアを生成するための技術が、上で論じられている。
【0064】
上記の本発明の例示的な実施形態から、様々な技術が、本発明の範囲を逸脱することなく、本発明の概念を実装するために使用され得ることは、明らかである。さらに、本発明は、一定の実施形態に対して特定の参照とともに記述されたけれども、当業者は、本発明の意図および範囲から逸脱することなく、形式および詳細における変更がなされ得ることを認識する。例えば、マルチバンドアンテナの第1の放射器アームおよび第2の放射器アームの特定のレイアウト編成は、本発明の範囲を逸脱することなく、上で論じられたことから改変され得る。記述された例示的な実施形態は、すべての点において例示であり、限定するものではないと考慮されるべきである。本発明が、本明細書中に記述された特定の例示的な実施形態に制限されないけれども、本発明の範囲を逸脱することなく、数多くの再編成、改変、および置換えが可能であることもまた理解されるべきである。
【図面の簡単な説明】
【0065】
【図1】図1は、本発明の一実施形態による、携帯電話機および携帯電話機付属品を含む例示的な編成を示す。
【図2】図2は、本発明の一実施形態による、セキュア認証イメージファイルを生成するための例示的なシステムを示す。
【図3】図3は、本発明の一実施形態による、セキュア認証イメージファイルを生成するためのフローチャートを示す。
【図4】図4は、本発明の一実施形態による、平文/暗号文キーペアのデータベースを生成するための例示的なシステムを示す。
【図5】図5は、本発明の一実施形態による、平文/暗号文キーペアのデータベースを生成するためのフローチャートを示す。
【図6】図6は、本発明の一実施形態による、携帯デバイスおよびバッテリパック付属品をマスタ−スレーブ構成において示す。
【図7a】図7aは、本発明の一実施形態による、ハンドセットと付属品とをインターフェースするための例示的な回路を示す。
【図7b】図7bは、本発明の一実施形態による、図7の通信端子の構成を定義する例示的な真理値表である。
【図8】図8は、本発明の一実施形態による、例示的なメッセージフォーマットである。
【図9】図9は、本発明の一実施形態による、タイミング較正のためのメッセージコマンドを定義する例示的な表である。
【図10】図10は、本発明の一実施形態による、例示的な温度通信トランザクションの詳細である。
【図11】図11は、本発明の一実施形態による、温度情報を交換するためのメッセージコマンドを定義する例示的な表である。
【図12】図12は、本発明の一実施形態による、ID/バージョン情報を交換するためのメッセージコマンドを定義する例示的な表である。
【図13】図13は、本発明の一実施形態による、チップ識別情報を交換するためのメッセージコマンドを定義する例示的な表である。
【図14】図14は、本発明の一実施形態による、認証情報を交換するためのメッセージコマンドを定義する例示的な表である。
【特許請求の範囲】
【請求項1】
デバイスに接続される少なくとも1つの通信ポートを有する付属品を認証する該デバイスのための方法であって、該方法は、
該付属品をスリープモードに維持するために該少なくとも1つの通信ポートを第1の電圧レベルに駆動することと、
該付属品において起動状態を始動するために該少なくとも1つの通信ポートを第2の電圧レベルに遷移させることと、
起動コマンドを該付属品に該少なくとも1つの通信ポートを介して送信することと、
情報要求コマンドを該少なくとも1つの通信ポートを介して該付属品に送信することと、
情報要求レスポンスを該少なくとも1つの通信ポートを介して該付属品から受信することと、
該受信された情報要求レスポンスの少なくとも一部分が事前に格納された想定される情報要求レスポンスと一致する場合に該付属品を認証することと
を包含する、方法。
【請求項2】
前記情報要求コマンドが認証コマンドであり、前記情報要求レスポンスが前記付属品からの認証レスポンスタイプバイトである、請求項1に記載の方法。
【請求項3】
平文チャレンジを前記付属品に送ることをさらに包含する、請求項2に記載の方法。
【請求項4】
暗号文レスポンスを前記少なくとも1つの通信ポート上の前記付属品から受信することをさらに包含する、請求項3に記載の方法。
【請求項5】
前記暗号文レスポンスを前記平文チャレンジと関連づけられる事前に格納された暗号文レスポンスと比較することと、
該暗号文レスポンスが該事前に格納された暗号文レスポンスと一致する場合、前記付属品の使用を可能にすることと、
該暗号文レスポンスが該事前に格納された暗号文レスポンスと一致しない場合、該付属品の使用を制限することと
をさらに包含する、請求項4に記載の方法。
【請求項6】
前記少なくとも1つの通信ポートを監視することと、
該少なくとも1つの通信ポートに取り付けられた前記付属品を検出することと、
該付属品をスリープモードに維持するために該少なくとも1つの通信ポートを前記第1の電圧レベルに駆動することと
をさらに包含する、請求項1に記載の方法。
【請求項7】
前記付属品において電圧レベルの遷移について前記単一の通信ポートを監視することと、
該付属品において該電圧レベルの遷移を検出することと、
該付属品においてコマンド聞き取りモードに入ることと、
該付属品において前記起動コマンドを検出することと、
前記デバイスから前記認証コマンドを受信することと、
該デバイスから前記平文チャレンジを受信することと、
セキュア認証イメージファイルを利用して、該受信された平文チャレンジに対してハッシュ関数を実行し、暗号文レスポンスを生成することと、
認証レスポンスタイプバイトを該ハンドセットに送ることと、
該生成した暗号文レスポンスを該ハンドセットに送ることと
をさらに包含する、請求項3に記載の方法。
【請求項8】
前記情報要求コマンドがタイミングコマンドであり、前記情報要求レスポンスがタイミングレスポンスおよびタイミングバイトを含む、請求項1に記載の方法。
【請求項9】
前記情報要求コマンドが温度コマンドであり、前記情報要求レスポンスが温度レスポンスおよび温度データを含む、請求項1に記載の方法。
【請求項10】
前記情報要求コマンドが識別コマンドであり、前記情報要求レスポンスが識別応答および識別データを含む、請求項1に記載の方法。
【請求項11】
前記デバイスと前記付属品との間の前記送信および前記受信するステップが半二重通信である、請求項1に記載の方法。
【請求項12】
前記デバイスが無線通信デバイスであり、前記付属品がバッテリである、請求項1に記載の方法。
【請求項13】
付属品を認証するためのシステムであって、
デバイスであって、
該付属品と接続するための少なくとも1つの通信ポートと、
少なくとも1つの情報要求コマンドと少なくとも1つの想定される情報要求レスポンスとを格納するためのメモリと、
該メモリと該少なくとも1つの通信ポートとに連結されたプロセッサであって、該プロセッサは、該付属品をスリープモードに維持するために該少なくとも1つの通信ポートを第1の電圧レベルに駆動し、該付属品において起動状態を始動するために該少なくとも1つの通信ポートを第2の電圧レベルに遷移させ、起動コマンドを該付属品に該少なくとも1つの通信ポートを介して送信し、該少なくとも1つの情報要求コマンドを該少なくとも1つの通信ポートを介して該付属品に送信し、情報要求レスポンスを該少なくとも1つの通信ポートを介して該付属品から受信し、そして該受信された情報要求レスポンスの少なくとも一部分が該少なくとも1つの想定される情報要求レスポンスと一致する場合に該付属品を認証する、プロセッサと
を備える、デバイスと、
該少なくとも1つの通信ポートを介して該デバイスに取り付けるための該付属品であって、該付属品は、
セキュア認証イメージファイルと、
付属品プロセッサであって、電圧レベルの遷移を検出し、コマンド聞き取りモードに入り、該起動コマンドを検出し、該少なくとも1つの情報要求コマンドを受信し、情報要求レスポンスを生成し、そして該情報要求レスポンスを該デバイスに該少なくとも1つの通信ポートを介して送信する、付属品プロセッサと
を備える、付属品と
を備える、システム。
【請求項14】
前記少なくとも1つの情報要求コマンドが認証コマンドおよび平文チャレンジを含み、
前記情報要求レスポンスの少なくとも一部分が暗号文レスポンスであり、
前記付属品プロセッサは、前記セキュア認証イメージファイルを利用して、前記受信された平文チャレンジに対してハッシュ関数を実行し、該暗号文レスポンスを生成する、請求項13に記載のシステム。
【請求項15】
前記情報要求コマンドがタイミングコマンドであり、前記情報要求レスポンスがタイミングレスポンスおよびタイミングバイトを含む、請求項13に記載のシステム。
【請求項16】
前記情報要求コマンドが温度コマンドであり、前記情報要求レスポンスが温度レスポンスおよび温度データを含む、請求項13に記載のシステム。
【請求項17】
前記情報要求コマンドが識別コマンドであり、前記情報要求レスポンスが識別応答および識別データを含む、請求項13に記載のシステム。
【請求項18】
前記デバイスと前記付属品との間の前記送信および前記受信するステップが半二重通信である、請求項13に記載のシステム。
【請求項19】
前記デバイスが無線通信デバイスであり、前記付属品が電力を該無線通信デバイスに供給するためのバッテリである、請求項13に記載のシステム。
【請求項1】
デバイスに接続される少なくとも1つの通信ポートを有する付属品を認証する該デバイスのための方法であって、該方法は、
該付属品をスリープモードに維持するために該少なくとも1つの通信ポートを第1の電圧レベルに駆動することと、
該付属品において起動状態を始動するために該少なくとも1つの通信ポートを第2の電圧レベルに遷移させることと、
起動コマンドを該付属品に該少なくとも1つの通信ポートを介して送信することと、
情報要求コマンドを該少なくとも1つの通信ポートを介して該付属品に送信することと、
情報要求レスポンスを該少なくとも1つの通信ポートを介して該付属品から受信することと、
該受信された情報要求レスポンスの少なくとも一部分が事前に格納された想定される情報要求レスポンスと一致する場合に該付属品を認証することと
を包含する、方法。
【請求項2】
前記情報要求コマンドが認証コマンドであり、前記情報要求レスポンスが前記付属品からの認証レスポンスタイプバイトである、請求項1に記載の方法。
【請求項3】
平文チャレンジを前記付属品に送ることをさらに包含する、請求項2に記載の方法。
【請求項4】
暗号文レスポンスを前記少なくとも1つの通信ポート上の前記付属品から受信することをさらに包含する、請求項3に記載の方法。
【請求項5】
前記暗号文レスポンスを前記平文チャレンジと関連づけられる事前に格納された暗号文レスポンスと比較することと、
該暗号文レスポンスが該事前に格納された暗号文レスポンスと一致する場合、前記付属品の使用を可能にすることと、
該暗号文レスポンスが該事前に格納された暗号文レスポンスと一致しない場合、該付属品の使用を制限することと
をさらに包含する、請求項4に記載の方法。
【請求項6】
前記少なくとも1つの通信ポートを監視することと、
該少なくとも1つの通信ポートに取り付けられた前記付属品を検出することと、
該付属品をスリープモードに維持するために該少なくとも1つの通信ポートを前記第1の電圧レベルに駆動することと
をさらに包含する、請求項1に記載の方法。
【請求項7】
前記付属品において電圧レベルの遷移について前記単一の通信ポートを監視することと、
該付属品において該電圧レベルの遷移を検出することと、
該付属品においてコマンド聞き取りモードに入ることと、
該付属品において前記起動コマンドを検出することと、
前記デバイスから前記認証コマンドを受信することと、
該デバイスから前記平文チャレンジを受信することと、
セキュア認証イメージファイルを利用して、該受信された平文チャレンジに対してハッシュ関数を実行し、暗号文レスポンスを生成することと、
認証レスポンスタイプバイトを該ハンドセットに送ることと、
該生成した暗号文レスポンスを該ハンドセットに送ることと
をさらに包含する、請求項3に記載の方法。
【請求項8】
前記情報要求コマンドがタイミングコマンドであり、前記情報要求レスポンスがタイミングレスポンスおよびタイミングバイトを含む、請求項1に記載の方法。
【請求項9】
前記情報要求コマンドが温度コマンドであり、前記情報要求レスポンスが温度レスポンスおよび温度データを含む、請求項1に記載の方法。
【請求項10】
前記情報要求コマンドが識別コマンドであり、前記情報要求レスポンスが識別応答および識別データを含む、請求項1に記載の方法。
【請求項11】
前記デバイスと前記付属品との間の前記送信および前記受信するステップが半二重通信である、請求項1に記載の方法。
【請求項12】
前記デバイスが無線通信デバイスであり、前記付属品がバッテリである、請求項1に記載の方法。
【請求項13】
付属品を認証するためのシステムであって、
デバイスであって、
該付属品と接続するための少なくとも1つの通信ポートと、
少なくとも1つの情報要求コマンドと少なくとも1つの想定される情報要求レスポンスとを格納するためのメモリと、
該メモリと該少なくとも1つの通信ポートとに連結されたプロセッサであって、該プロセッサは、該付属品をスリープモードに維持するために該少なくとも1つの通信ポートを第1の電圧レベルに駆動し、該付属品において起動状態を始動するために該少なくとも1つの通信ポートを第2の電圧レベルに遷移させ、起動コマンドを該付属品に該少なくとも1つの通信ポートを介して送信し、該少なくとも1つの情報要求コマンドを該少なくとも1つの通信ポートを介して該付属品に送信し、情報要求レスポンスを該少なくとも1つの通信ポートを介して該付属品から受信し、そして該受信された情報要求レスポンスの少なくとも一部分が該少なくとも1つの想定される情報要求レスポンスと一致する場合に該付属品を認証する、プロセッサと
を備える、デバイスと、
該少なくとも1つの通信ポートを介して該デバイスに取り付けるための該付属品であって、該付属品は、
セキュア認証イメージファイルと、
付属品プロセッサであって、電圧レベルの遷移を検出し、コマンド聞き取りモードに入り、該起動コマンドを検出し、該少なくとも1つの情報要求コマンドを受信し、情報要求レスポンスを生成し、そして該情報要求レスポンスを該デバイスに該少なくとも1つの通信ポートを介して送信する、付属品プロセッサと
を備える、付属品と
を備える、システム。
【請求項14】
前記少なくとも1つの情報要求コマンドが認証コマンドおよび平文チャレンジを含み、
前記情報要求レスポンスの少なくとも一部分が暗号文レスポンスであり、
前記付属品プロセッサは、前記セキュア認証イメージファイルを利用して、前記受信された平文チャレンジに対してハッシュ関数を実行し、該暗号文レスポンスを生成する、請求項13に記載のシステム。
【請求項15】
前記情報要求コマンドがタイミングコマンドであり、前記情報要求レスポンスがタイミングレスポンスおよびタイミングバイトを含む、請求項13に記載のシステム。
【請求項16】
前記情報要求コマンドが温度コマンドであり、前記情報要求レスポンスが温度レスポンスおよび温度データを含む、請求項13に記載のシステム。
【請求項17】
前記情報要求コマンドが識別コマンドであり、前記情報要求レスポンスが識別応答および識別データを含む、請求項13に記載のシステム。
【請求項18】
前記デバイスと前記付属品との間の前記送信および前記受信するステップが半二重通信である、請求項13に記載のシステム。
【請求項19】
前記デバイスが無線通信デバイスであり、前記付属品が電力を該無線通信デバイスに供給するためのバッテリである、請求項13に記載のシステム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7a】
【図7b】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7a】
【図7b】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公表番号】特表2009−531977(P2009−531977A)
【公表日】平成21年9月3日(2009.9.3)
【国際特許分類】
【出願番号】特願2009−502967(P2009−502967)
【出願日】平成19年3月26日(2007.3.26)
【国際出願番号】PCT/US2007/007638
【国際公開番号】WO2007/126858
【国際公開日】平成19年11月8日(2007.11.8)
【出願人】(503370192)キョウセラ ワイヤレス コープ. (93)
【Fターム(参考)】
【公表日】平成21年9月3日(2009.9.3)
【国際特許分類】
【出願日】平成19年3月26日(2007.3.26)
【国際出願番号】PCT/US2007/007638
【国際公開番号】WO2007/126858
【国際公開日】平成19年11月8日(2007.11.8)
【出願人】(503370192)キョウセラ ワイヤレス コープ. (93)
【Fターム(参考)】
[ Back to top ]