(57)【要約】マスタデバイス（１０２）（例えば、携帯電話機）と周辺デバイス（１０４）との間の通信プロトコルは、周辺デバイスの認証を容易にする。周辺デバイスが検出される場合、マスタデバイスは、起動コマンドを周辺デバイスに対して始動し、認証要求コマンドに続いてチャレンジデータを周辺デバイスに送信し、周辺デバイスからのレスポンスを待つ。付属品は、チャレンジデータを受信し、チャレンジデータに対してハッシュ関数を実行し、レスポンスデータを生成する。認証レスポンスタイプバイトに続き、レスポンスデータが携帯電話機に送られる。携帯電話機は、レスポンスデータをチャレンジデータと関連づけられる事前に格納されたデータと比較する。一致は、付属品が認証されることを示す。チャレンジデータ／レスポンスデータ（平文／暗号文ペアとも呼ばれる）は、携帯電話機の外部でハッシュ関数を用いて事前に生成され、ついで携帯電話機内に事前に格納される。
2009531977.tif 000002
【特許請求の範囲】
【請求項１】
デバイスに接続される少なくとも１つの通信ポートを有する付属品を認証する該デバイスのための方法であって、該方法は、
該付属品をスリープモードに維持するために該少なくとも１つの通信ポートを第１の電圧レベルに駆動することと、
該付属品において起動状態を始動するために該少なくとも１つの通信ポートを第２の電圧レベルに遷移させることと、
起動コマンドを該付属品に該少なくとも１つの通信ポートを介して送信することと、
情報要求コマンドを該少なくとも１つの通信ポートを介して該付属品に送信することと、
情報要求レスポンスを該少なくとも１つの通信ポートを介して該付属品から受信することと、
該受信された情報要求レスポンスの少なくとも一部分が事前に格納された想定される情報要求レスポンスと一致する場合に該付属品を認証することと
を包含する、方法。
【請求項２】
前記情報要求コマンドが認証コマンドであり、前記情報要求レスポンスが前記付属品からの認証レスポンスタイプバイトである、請求項１に記載の方法。
【請求項３】
平文チャレンジを前記付属品に送ることをさらに包含する、請求項２に記載の方法。
【請求項４】
暗号文レスポンスを前記少なくとも１つの通信ポート上の前記付属品から受信することをさらに包含する、請求項３に記載の方法。
【請求項５】
前記暗号文レスポンスを前記平文チャレンジと関連づけられる事前に格納された暗号文レスポンスと比較することと、
該暗号文レスポンスが該事前に格納された暗号文レスポンスと一致する場合、前記付属品の使用を可能にすることと、
該暗号文レスポンスが該事前に格納された暗号文レスポンスと一致しない場合、該付属品の使用を制限することと
をさらに包含する、請求項４に記載の方法。
【請求項６】
前記少なくとも１つの通信ポートを監視することと、
該少なくとも１つの通信ポートに取り付けられた前記付属品を検出することと、
該付属品をスリープモードに維持するために該少なくとも１つの通信ポートを前記第１の電圧レベルに駆動することと
をさらに包含する、請求項１に記載の方法。
【請求項７】
前記付属品において電圧レベルの遷移について前記単一の通信ポートを監視することと、
該付属品において該電圧レベルの遷移を検出することと、
該付属品においてコマンド聞き取りモードに入ることと、
該付属品において前記起動コマンドを検出することと、
前記デバイスから前記認証コマンドを受信することと、
該デバイスから前記平文チャレンジを受信することと、
セキュア認証イメージファイルを利用して、該受信された平文チャレンジに対してハッシュ関数を実行し、暗号文レスポンスを生成することと、
認証レスポンスタイプバイトを該ハンドセットに送ることと、
該生成した暗号文レスポンスを該ハンドセットに送ることと
をさらに包含する、請求項３に記載の方法。
【請求項８】
前記情報要求コマンドがタイミングコマンドであり、前記情報要求レスポンスがタイミングレスポンスおよびタイミングバイトを含む、請求項１に記載の方法。
【請求項９】
前記情報要求コマンドが温度コマンドであり、前記情報要求レスポンスが温度レスポンスおよび温度データを含む、請求項１に記載の方法。
【請求項１０】
前記情報要求コマンドが識別コマンドであり、前記情報要求レスポンスが識別応答および識別データを含む、請求項１に記載の方法。
【請求項１１】
前記デバイスと前記付属品との間の前記送信および前記受信するステップが半二重通信である、請求項１に記載の方法。
【請求項１２】
前記デバイスが無線通信デバイスであり、前記付属品がバッテリである、請求項１に記載の方法。
【請求項１３】
付属品を認証するためのシステムであって、
デバイスであって、
該付属品と接続するための少なくとも１つの通信ポートと、
少なくとも１つの情報要求コマンドと少なくとも１つの想定される情報要求レスポンスとを格納するためのメモリと、
該メモリと該少なくとも１つの通信ポートとに連結されたプロセッサであって、該プロセッサは、該付属品をスリープモードに維持するために該少なくとも１つの通信ポートを第１の電圧レベルに駆動し、該付属品において起動状態を始動するために該少なくとも１つの通信ポートを第２の電圧レベルに遷移させ、起動コマンドを該付属品に該少なくとも１つの通信ポートを介して送信し、該少なくとも１つの情報要求コマンドを該少なくとも１つの通信ポートを介して該付属品に送信し、情報要求レスポンスを該少なくとも１つの通信ポートを介して該付属品から受信し、そして該受信された情報要求レスポンスの少なくとも一部分が該少なくとも１つの想定される情報要求レスポンスと一致する場合に該付属品を認証する、プロセッサと
を備える、デバイスと、
該少なくとも１つの通信ポートを介して該デバイスに取り付けるための該付属品であって、該付属品は、
セキュア認証イメージファイルと、
付属品プロセッサであって、電圧レベルの遷移を検出し、コマンド聞き取りモードに入り、該起動コマンドを検出し、該少なくとも１つの情報要求コマンドを受信し、情報要求レスポンスを生成し、そして該情報要求レスポンスを該デバイスに該少なくとも１つの通信ポートを介して送信する、付属品プロセッサと
を備える、付属品と
を備える、システム。
【請求項１４】
前記少なくとも１つの情報要求コマンドが認証コマンドおよび平文チャレンジを含み、
前記情報要求レスポンスの少なくとも一部分が暗号文レスポンスであり、
前記付属品プロセッサは、前記セキュア認証イメージファイルを利用して、前記受信された平文チャレンジに対してハッシュ関数を実行し、該暗号文レスポンスを生成する、請求項１３に記載のシステム。
【請求項１５】
前記情報要求コマンドがタイミングコマンドであり、前記情報要求レスポンスがタイミングレスポンスおよびタイミングバイトを含む、請求項１３に記載のシステム。
【請求項１６】
前記情報要求コマンドが温度コマンドであり、前記情報要求レスポンスが温度レスポンスおよび温度データを含む、請求項１３に記載のシステム。
【請求項１７】
前記情報要求コマンドが識別コマンドであり、前記情報要求レスポンスが識別応答および識別データを含む、請求項１３に記載のシステム。
【請求項１８】
前記デバイスと前記付属品との間の前記送信および前記受信するステップが半二重通信である、請求項１３に記載のシステム。
【請求項１９】
前記デバイスが無線通信デバイスであり、前記付属品が電力を該無線通信デバイスに供給するためのバッテリである、請求項１３に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
（発明の分野）
本発明は、無線通信デバイスの分野に関する。具体的に言えば、本発明は、無線通信デバイスに取り付け可能な認証周辺デバイスに関する。
【背景技術】
【０００２】
（背景）
様々な周辺デバイス（本明細書中で「付属品」と概して呼ばれる）は、携帯電話機（本明細書中で「ハンドセット」とも呼ばれる）およびその他の無線通信デバイスに取り付けられたり、取り外されたりし得る。これらの付属品は、取り付けられる場合に、追加の機能性を提供し、かつ／または、さもなければ、携帯電話機の性能を強化する。その他の場合に、付属品は、生産的または快適に携帯電話機を使用するユーザの能力を助長する。電話機バッテリは、電話機と一体をなすと通常みなされているが、本発明の開示の目的の「付属品」とも考えられる。
【０００３】
無線通信デバイスの設計および開発の間、無線通信デバイスとの使用を想定されている付属品の互換性および／または信頼性をテストすることは、一般的である。そのようなテストは、付属品が無線通信デバイスとの互換性の妥当なレベルを有して動作することを保証する。残念なことに、無線通信デバイスとの使用のためにサードパーティによって利用可能にされた付属品は、テストされないことが多いか、たとえテストされても、無線通信デバイスの製造者によって定義された基準および／またはその他の基準（例えば、政府機関によって定義された基準）を下回る。そのような付属品（本明細書中で「非公認の付属品」と呼ばれる）は、無線通信デバイスを損傷する能力を有し、かつ／または消費者に対する安全の脅威となる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
非公認の付属品が無線通信デバイスに利用されることを防止するための既存の技術は、抜け道をみつけることが比較的容易であった。例えば、一意の機械的なキー配列法を利用しているコネクタは、コネクタに対する機械的な改変によって克服され得る。認証のための抵抗器を利用している電気的な配列法は、適切な回路によって同様に容易に出し抜かれる。最終的に、固定されたパスワードまたはローリングコード（ｒｏｌｌｉｎｇ  ｃｏｄｅ）を利用しているデジタル通信技術は、打ち破るか、模倣することが比較的容易である。
【０００５】
従って、無線通信デバイスのための効果的で安全な認証方法および装置に対する強いニーズが、当該分野において存続している。
【課題を解決するための手段】
【０００６】
（概要）
マスタデバイスと周辺（付属品）デバイスとの間の通信を管理する例示的な方法が、開示される。周辺デバイスは、接続ポートによってマスタデバイスと接続される。接続ポートは、１つ以上の通信ラインを有する通信端子を含んでいる。マスタデバイスは、周辺デバイスの接続のために通信端子を監視する。周辺デバイスが検出される場合、マスタデバイスは、周辺デバイスに対して起動（ｗａｋｅ−ｕｐ）コマンドを始動し、情報要求コマンドを周辺デバイスに送信して、周辺デバイスからのレスポンスを待つ。認証された周辺デバイスは、レスポンスのタイプを示すためにレスポンスタイプバイトを戻し、続いて、情報要求コマンドにおいて要求された１バイト以上のデータを戻す。
【０００７】
一実施形態において、情報要求コマンドは、チャレンジデータ（ｃｈａｌｌｅｎｇｅ  ｄａｔａ）が後に続く、認証要求コマンドである。周辺デバイスは、チャレンジデータを受信し、チャレンジデータに対してハッシュ関数を実行して、認証レスポンスタイプバイトに続く、レスポンスデータをマスタデバイスに送る。一実施形態におけるハッシュ関数は、セキュア認証アプリケーションの実行である。そのアプリケーションは、周辺デバイス内に格納されたセキュア認証イメージファイル（ｓｅｃｕｒｅ  ａｕｔｈｅｎｔｉｃａｔｉｏｎ  ｉｍａｇｅ  ｆｉｌｅ）に具体化される。マスタデバイス（例えば、無線ハンドセット）は、付属品からの認証レスポンスタイプバイトに続いて、レスポンスデータを受信する。ハンドセットは、レスポンスデータを、チャレンジデータと関連づけられる事前に格納されたデータと比較する。一致（ｍａｔｃｈ）は、付属品が認証されることを示す。チャレンジデータ／レスポンスデータ（平文／暗号文ペアとも呼ばれる）は、ハンドセットの外部で事前に生成されて、それからハンドセット内に格納され、ハッシュ／暗号化キーが制限された有効性を有することを保証する。
【０００８】
例示的な実施形態において、平文／暗号文ペアは、同一の平文ストリングを同一のセキュアイメージファイルを有する２つの別個のプロセッサに供給することによって生成される。その２つのプロセッサは、平文ストリングに対してセキュア認証アプリケーションを実行し、暗号文ストリングを出力する。２つの別個のプロセッサからの暗号文ストリングが一致する場合、平文／暗号文ペアは、データベース内に格納される。このプロセスは、任意の数の一意の平文ストリングに対して繰り返される。各生成された一意の平文／暗号文ペアは、上で論じられたように、マスタデバイス（例えば、携帯電話機）内で使用され、取り付けられた付属品が認証されることを検証する。
【０００９】
付属品の認証において利用されるセキュアイメージファイルは、セキュアキーおよび原始イメージファイルをキーマージアプリケーションに供給することによって生成される。結果としてもたらされるマージされたファイルは、セキュア認証イメージファイルである。セキュアキーは、例えば、セキュアキーの１つのコピーを格納し、生成デバイスから原始イメージファイルおよびセキュアキーを消去することによって保護される。セキュア認証イメージファイルは、平文／暗号文ペアの生成において使用することと、そして製造された付属品に含めることとのために、それから必要に応じてコピーされる。しかし、セキュアキーおよび原始イメージファイルがもはや利用可能ではないことにより、デバイスを認証するために利用されたセキュア認証イメージファイルは、偽造することが困難である。
【発明を実施するための最良の形態】
【００１０】
記述される実施形態は、すべての点において例示であり、限定するものではないと考慮されるべきである。本発明は、本明細書中に例示され記述される特定の実施形態に制限されないけれども、本発明の範囲から逸脱することなく、数多くの再編成、改変、および置換えが可能であることもまた理解されるべきである。そのようなものとして、本発明の構造および動作の両方についての本発明の詳細は、以下で記述される添付の図面の検討によっていくぶんかは見出され得る。それらの図面において、同様な参照番号は、同様な部分を示している。
【００１１】
（詳細な説明）
最初に図１を参照すると、本発明の一実施形態による、携帯電話機１０２と、携帯電話機１０２に接続され得る携帯電話機付属品１０４とが示されている。携帯電話機１０２は、送受信器（図示されず）に連結されたアンテナを介して、無線周波数（「ＲＦ」）帯域において電磁気（「ＥＭ」）エネルギーを送信および受信することが可能な任意の無線通信デバイスであり得る。本明細書中に記述される例示的な認証方法は、携帯電話機付属品を認証するために携帯電話機デバイスによって実行されるけれども、その方法はまた、ビデオカメラ、ノート型コンピュータ、ＭＰ３プレーヤ、およびその他の電子デバイスのバッテリパックまたは付属品を認証するために使用され得る。
【００１２】
携帯電話機１０２は、携帯電話機１０２の動作と関連した数多くの機能を実行するための、プロセッサ１０６を一般に含む。そのプロセッサは、アンテナ（図示されず）を介してＲＦ信号を通信するための送受信器に連結される。バッテリなどの電源は、電力をプロセッサ、メモリ、送受信器、およびその他の携帯電話機１０２の構成要素に供給する。携帯電話機１０２は、ユーザに対して情報を受信および送信するための、数多くの入力／出力（「Ｉ／Ｏ」）デバイス（図示されず）をさらに含む。
【００１３】
図１を続けると、携帯電話機１０２は、付属品（本明細書中で周辺デバイスとも呼ばれる）を携帯電話機１０２に接続するための、１つ以上の付属品インターフェース１１４をさらに含む。本明細書中に記述される技術は、多種多様な付属品および付属品インターフェースに使用され得るけれども、図１は、バッテリ付属品１０４に関係する編成例を例示する。そのバッテリ付属品１０４は、携帯電話機１０２の付属品インターフェース１１４に接続されるインターフェース１１６を有している。図１に示されるように、携帯電話機１０２の付属品インターフェース１１４は、複数のライン１２０を含み、付属品１０４のインターフェース１１６は、対応する複数のライン１２２を含む。例示として、携帯電話機１０２および付属品１０４が接続される場合に、複数のライン１２２の第１のラインは、電源電圧を提供するために使用され得、第２のラインは、基準電圧（例えば、接地）を提供するために使用され得、そして第３のラインは、携帯電話機１０２と付属品１０４との間の双方向通信を提供するために使用され得る。図１に示されたライン１２０、１２２の数は、単に例示の目的のためである。他の実施形態は、特定の周辺デバイスの付属品のために必要とされる、１つまたは任意の数のラインを有し得る。
【００１４】
別の実施形態によると、本明細書中に記述されるような通信は、電源電圧ラインを介して実行され得る。例えば、双方向の信号伝達は、変調を介して電圧供給ライン上で利用され得る。別の例示として、双方向の信号伝達は、スイッチを利用することによって電圧供給ライン上で利用され得、認証プロセスの間は、第１の双方向の信号伝達モードでラインが動作することを可能にし、付属品１０４が認証された後は、第２の電圧供給モードで電圧供給ラインのラインが動作することを可能にする。既存の電圧供給ラインを介して通信ができることの利点は、専用の通信ラインが必要とされないことであり、従って、携帯電話機１０２と付属品１０４との間のインターフェースおよびコネクタは、本明細書中に記述された認証方法を利用しない前の編成から改変される必要がない。
【００１５】
図１を続けると、携帯電話機１０２のプロセッサ１０６は、付属品インターフェース１１４に接続され、付属品１０４のプロセッサ１０８は、インターフェース１１６に接続される。プロセッサ１０６は、携帯電話機１０２のメインプロセッサであり得るか、または携帯電話機１０２内の補助プロセッサであり得る。プロセッサ１０６は、認証アルゴリズム１１０を実行し、プロセッサ１０８は、その内に格納されたセキュア認証イメージファイル１４５に具体化されたセキュア認証アプリケーションを実行する。プロセッサ１０８は、セキュリティ機能を含み、そのセキュリティ機能は、セキュア認証イメージファイル１４５を含む、いかなる内部コードの読み取りをも防止する。セキュア認証イメージファイル１４５の内容および生成は、以下でさらに詳述される。
【００１６】
（セキュア認証イメージファイルの生成）
図２を参照すると、セキュア認証イメージファイル２４５を生成するための、例示的なシステム２００が示される。概して、セキュア認証イメージファイル２４５は、図１のセキュア認証イメージファイル１４５と符合し、プロセッサ１０８によって実行される、とりわけ付属品１０４を認証するためのプログラミングを提供する。一実施形態による、セキュア認証イメージファイル２４５を生成するための例示的な方法は、図３のフローチャート３００に描かれる。
【００１７】
当業者に明らかな特定の詳細および機能は、図３のフローチャート３００から除外されている。例えば、ステップは、当該分野において既知のような、１つ以上のサブステップ（ｓｕｂ−ｓｔｅｐ）からなり得るか、または特殊な装置もしくは材料を伴い得る。フローチャート３００中に示されたステップ３０５からステップ３３５は、本発明の一実施形態を記述することに対して十分であるけれども一方、本発明のその他の実施形態は、フローチャート３００中で示されたそれらのステップと異なるステップを利用し得る。
【００１８】
ブロック３０５において、キーアドレス位置が、システム２００の原始メモリイメージファイル内に確保される。例えば、図２において、複数のキーアドレス位置（Ｄ０からＤＦとして識別される）２３０は、原始メモリイメージファイル２０５内に確保される。その原始メモリイメージファイル２０５は、セキュア化された（ｓｅｃｕｒｅｄ）デバイス（例えば、図１のバッテリ付属品１０４）のためのプログラミングを含み得る。確保されたキーアドレス位置２３０は、「ダミー」データまたはテストデータを含み得、それらのデータは、その後のセキュアマージ手順の間にセキュアキーデータと置換される。アドレス確保は、プログラミング命令のコンパイルおよび／または生成の間に実行され得る。以下で記述されるように、原始イメージファイル２０５内のプログラミング命令は、付属品１０４を認証するための、暗号化アルゴリズム（例えば、ハッシュ関数）を含む認証プログラムを含み得る。
【００１９】
図２に示された例示の実施形態において、キーアドレス位置２３０は、多くの不連続なアドレス位置にわたって分配されて示される。しかしながら、他の実施形態において、その他の編成が利用され得る。
【００２０】
ブロック３１０において、データ処理デバイス２２０は、キーアドレス位置２３０の識別を含む原始メモリイメージファイル２０５をワーキングメモリ２２５内に受信する。ブロック３１５において、プロセッサ２２０は、ワーキングメモリ２２５内にセキュアキーデータ２１５を受信する。例えば、セキュアキーデータ２１５は、１６バイト（１２８ビット）であり、無作為に生成された値であり得る。暗号化技術（より具体的には、暗号化キー）の公然たる監視（ｐｕｂｌｉｃ  ｓｃｒｕｔｉｎｙ）を防止するために、セキュアキーデータ２１５へのアクセスは、制限されるべきである。
【００２１】
ブロック３２０において、データ処理デバイス２２０によって実行されるキーマージアプリケーション２２２は、セキュア化された認証イメージファイル２４５を生成するために、セキュアキーデータ２１５をキーアドレス位置２３０において原始イメージメモリファイル２０５とマージする。確保されたキーアドレス位置２３０のサイズは、セキュアキーデータ２１５を格納することに対して十分な大きさである。結果としてもたらされるセキュア認証イメージファイル２４５は、セキュア化されたキーアドレス位置２３５内にセキュアキーデータ２１５を含んでいる。
【００２２】
ブロック３２５において、セキュア認証イメージファイル２４５は、統合されたチップ内にセキュア認証イメージファイル２４５をプログラムする、プログラミング実体に送信される。一例示において、そのプログラミング実体は、プロセッサ集積回路（ＰＩＣ）製造者であり、その製造者は、図１に示されるような、付属品１０４内で使用するためのＰＩＣ（例えば、プロセッサ１０８）を供給する。そのプログラミング実体は、ステップ３３５に示されるように、セキュア認証イメージファイル２４５をＰＩＣ内に組み込み得る。
【００２３】
ステップ３２７において、テストベクトルの集合２２５が、セキュア認証イメージファイル１４５、２４５を含む製造されたデバイス（例えば、ＰＩＣ）を検証する、将来の使用のために生成される。テストベクトル２２５は、限定された平文ストリングおよび暗号文ストリングの集合を含む。暗号文ストリングは、暗号化アルゴリズムから生成される。そのアルゴリズムは、セキュア認証イメージファイル２４５を利用し、限定された平文ストリングの集合に適用される。
【００２４】
ステップ３３０において、セキュア化されたキーデータ２１５およびセキュア認証イメージファイル２４５は、システム２００から消去／削除される。ステップ３３５において、上で論じられたように、セキュア認証イメージファイル２４５は、セキュア化されたプロセッサ（例えば、図１のプロセッサ１０８）内にプログラムされる。セキュア化されたプロセッサは、本アプリケーションに使用されるときに、その内部コード（例えば、セキュア認証イメージファイル）の読み取りを防止する。例えば、工場でプログラムされたＰＩＣにおいて、セキュリティ機能を有効にするビットは、メモリアレイの全域に拡散され、メモリデバイス全体の消去によってのみクリアされ得る。内部コードの読み取りを防止する追加のセキュリティ機能もまた、追加のセキュリティ対策として利用され得る。
【００２５】
（平文／暗号文データベースの生成）
ここで図４を参照すると、本発明の一実施形態による、平文／暗号文キーペア（ベクトルとも呼ばれる）のデータベース４０４を生成するためのシステム４００が示される。平文／暗号文ペアは、各製造されたデバイス（例えば、図１に示された携帯電話機１０２）における使用のために生成される。従って、適切なシステム（例えば、本明細書中に記述されるシステム）が、平文／暗号文ペアの必要とされるボリュームを生成するために利用されなければならない。一実施形態によるシステム４００の動作は、図５のフローチャート５００を参照して論じられる。当業者に明らかな一定の詳細および機能は、図５のフローチャート５００から除外されている。例えば、１つのステップは、当該分野において既知のような、１つ以上のサブステップからなり得るか、または特殊な装置もしくは材料を伴い得る。フローチャート５００中に示されたステップ５０２からステップ５２６は、本発明の一実施形態を記述することに対して十分であるけれども、一方で本発明のその他の実施形態は、フローチャート５００中で示されたそれらのステップと異なるステップを利用し得る。
【００２６】
システム４００は、複数のスレーブプロセッサ４１６ａ〜４１６ｈに接続されたデータ処理デバイス（ＤＰＤ）４０２を含む。上で論じられたように、各スレーブプロセッサ４１６ａ〜４１６ｈは、セキュア認証イメージファイルを格納し、そして実行する。セキュアキーデータは、セキュア認証イメージファイルの一部分として含まれる。注目されることに、各スレーブプロセッサ４１６ａ〜４１６ｈは、使用時に認証されるべき付属品デバイスの動作を模倣する（ｍｉｍｉｃ）。その模倣動作において、各スレーブプロセッサ４１６ａ〜４１６ｈは、平文チャレンジを受信し、暗号文レスポンスに応答する。
【００２７】
図４に示される特定の実施形態において、マスタプロセッサ４０６は、８つの一次のスレーブプロセッサ４１０ａ〜４１０ｈへの高速インターフェース４０８に接続される。そのマスタプロセッサ４０６は、データ処理デバイス４０２にも接続される。これは、データ処理デバイス４０２にベクトルを伝達して、データベース４０４内にベクトルを格納するためである。一次のスレーブプロセッサ４１０ａ〜４１０ｈのそれぞれは、二次のスレーブインターフェース４１８ａ〜４１８ｈを介して通信する、対応する二次のスレーブプロセッサ４１６ａ〜４１６ｈに接続される。さらに以下で論じられるように、インターフェース４０８は、この特定の編成における並列処理の効率を提供するために、二次のスレーブインターフェース４１８ａ〜４１８ｈに対して、少なくとも８倍の第一のスピードで動作する。
【００２８】
マスタプロセッサ４０６は、カウンタ（図５のカウンタ機能５０２として描かれるカウンタ）を使用する。このカウンタは、データベース生成を開始するように命令される前に、特定の値に設定され得る。この構成は、複数のマスタプロセッサがベクトルの範囲で機能することを可能にし、それにより、複数のユニットがそのユニット番号によって設定されたスピードで、連続的なデータベースに向けて機能することを可能にする。一実施形態において、カウンタ機能５０２は、６４ビットの２進カウントを利用する。
【００２９】
ブロック５０６において、マスタプロセッサ４０６は、平文（ＰＴ）ストリングを生成するために、キー（例えば、ブロック５０４で供給された１２８ビットのキー）およびカウンタ値によって、ハッシュ関数を実行する。図５のブロック５０８ａ、５０８ｂにおいて、この平文ストリング（チャレンジとも呼ばれる）は、一次のスレーブプロセッサ（例えば、４１０ａ）に伝達される。ブロック５１０ａ、５１０ｂにおいて、この一次のスレーブプロセッサは、それからマルチプレクサ（ＭＵＸ）４１４ａ〜４１４ｈを介して、平文ストリングを二次のスレーブプロセッサ（例えば、４１６ａ）に伝達する。ブロック５１４ａおよび５１４ｂにおいて、二次のスレーブプロセッサ（例えば、４１６ａ）は、それぞれブロック５１２ａおよび５１２ｂで提供されたセキュアキーデータを用いて、平文を暗号文（ＣＴ）レスポンスへと暗号化する。ブロック５１６ａ、５１６ｂ、５１８ａおよび５１８ｂにおいて、暗号文レスポンスは、それから第一のプロセッサ４１０ａを介して、マスタプロセッサ４０６に戻るように伝達される。
【００３０】
システム編成４００において、一次のスレーブプロセッサ４１０ａ〜４１０ｈおよび二次のスレーブプロセッサ４１６ａ〜４１６ｈは、２−デバイスの４つのグループ４１２ａ〜４１２ｄへと編成される。各グループ４１２ａ〜４１２ｄは、平文ストリングを処理するために、暗号文ベクトル生成デバイスおよび暗号文ベクトル検証デバイスを含んでいる。例えば、グループ４１２は、暗号文生成デバイス（集合的に、一次のスレーブプロセッサ４１０ａおよび二次のスレーブプロセッサ４１６ａ）と、暗号文検証デバイス（集合的に、一次のスレーブプロセッサ４１０ｂおよび二次のスレーブプロセッサ４１６ｂ）とを含む。図５のブロック５０８ａ〜５１８ａは、暗号文ベクトル生成デバイスの動作に対応し得、ブロック５０８ｂ〜５１８ｂは、暗号文ベクトル検証デバイスの動作に対応し得る。
【００３１】
ブロック５２０において、暗号文ベクトル生成デバイスによって生成された暗号文ストリングは、暗号文ベクトル検証デバイスによって生成された暗号文ストリングと比較される。判定ブロック５２２において、特定のグループの暗号文生成デバイスおよび暗号文検証デバイスによって生成された暗号文レスポンスが一致しているかについて、決定がなされる。一致が決定される場合、ついでステップ５２４において、平文および暗号文は、データ処理デバイス４０２に送信され、ステップ５２６において、データベース４０４内のベクトルとして格納される。この格納は、製品デバイス（例えば、図１に示されるような携帯電話機１０２）に対して後に分配するためである。ステップ５０２は、図５に示されるように、カウンタ値をインクリメントするために繰り返され、このプロセスは、次の平文ストリングに対して繰り返す。双方向性のハッシングアルゴリズムと協働して連続的な２進カウントを使用する利益は、ベクトルの重複が避けられることである。
【００３２】
判定ブロック５２２において、暗号文レスポンスが一致しない場合、一致レスポンスが取得されるまで、同じ平文が、グループ（例えば、４１２ａ）に対して送り返される。不一致は、デバイス障害（例えば、電力グリッチおよびラインノイズなど）に起因して起こり得る。この検証ステップは、暗号文レスポンスを検証することに対する利点である。なぜならば、暗号化アルゴリズムおよび暗号化キーが、二次のスレーブプロセッサ４１６ａ〜４１６ｈから外部的に利用可能でないからである。この分野において、この検証ステップは、データベース内の値が、認証された付属品デバイスの不適切な拒絶をもたらさないことを確かにしている。
【００３３】
システム編成４００において、４つのグループ４１２ａ〜４１２ｄが、データベース４０４を生成することにおける効率を増大するために実装される。しかしながら、その他の実施形態において、インターフェースの帯域幅を考慮するような要因に従って、任意の編成が実装され得る。
【００３４】
インターフェース４１８ａ〜４１８ｈは、一実施形態において、低速度インターフェース（例えば、９．６ｋｂｐｓ）である。この編成は、多くの利点を提供する。その利点は、低減された所要電力と、二次のスレーブプロセッサ内に格納されたセキュア認証イメージファイルのリバースエンジニアリングを実行できないようにする、十分に遅いインターフェースとを含んでいる。遅いインターフェースは、上述された並列処理技術を使用することで補償される。このように、平文／暗号文ペアを安全に生成するためのシステムおよび方法が、開示されている。
【００３５】
（付属品を認証するための双方向インターフェース）
付属品の認証のために使用され得る双方向インターフェースは、図６、図７ａおよび図７ｂを参照して記述される。続く例示において、携帯電話機内で使用するためのバッテリパック付属品が例示されるけれども、上で論じられたように、付属品の認証はまた、様々なデバイスのためのその他の付属品のタイプによって使用され得る。
【００３６】
図６の例示的な実施形態に示されるように、周辺デバイスは、コネクタ６５６、６６８を介して携帯電話機に接続されるバッテリパックである。図１を参照して上で論じられたように、１つ以上の信号ライン６７０、６７２、６７４は、携帯電話機６５０およびバッテリパック６６０を接続する。例示的な実施形態において、マスタデバイス（すなわち、携帯電話機６５０）は、半二重通信を用いて、周辺デバイス（すなわち、バッテリパック６６０）と通信する。半二重通信は、双方向通信ラインにおける、同時に一方向のデータ伝送を一般に記述する。図１を参照して上で論じられたように、バッテリパックと携帯電話機との間の通信は、２対１のデータライン接続、１対１のデータライン接続、または任意の他の適切なデータもしくは信号ライン接続を利用する。図６に例示されるように、コネクタ６５６、６６８はまた、それぞれライン６７０およびライン６７２上で、バッテリ電圧（ｖｂａｔｔ）、および接地を供給する。
【００３７】
携帯電話機６５０のプロセッサ６５２は、平文／暗号文ペアおよび通信アルゴリズム６５４を含んでいる。以下において詳細に論じられる平文チャレンジは、信号ライン６７４を介して、プロセッサ６５２からバッテリパック６００のプロセッサ６６２へと送られる。プロセッサ６６２は、セキュア認証ファイル６６４を利用して平文チャレンジに対してハッシュアルゴリズムを実行し、そして暗号文ストリングレスポンスを戻す。暗号文ストリングレスポンスが、携帯電話機内に事前に格納された暗号文ストリングと一致する場合、バッテリパックは、認証されたバッテリパック６６０である。
【００３８】
図７ａを参照すると、バッテリパック７０４の第１の実施形態は、ハンドセット７０２の実施形態に接続されて示される。この例示された実施形態は、ハンドセット７０２とバッテリパック７０４との間の、１つの半二重通信信号ラインに対して、２つの信号ラインのためのＵＡＲＴを利用する。しかしながら、上で論じられたように、本明細書中で論じられる付属品の認証を実現するために使用され得る、信号ライン通信の多くの組合せが存在する。
【００３９】
図７ａを続けると、ハンドセット７０２は、ポートＵＡＲＴ  ＲＸ７５４およびＵＡＲＴ  ＴＸ７５６を有するプロセッサ７０６を含んでいる。バッテリパック７０４は、バッテリ電圧（Ｖｂａｔｔ）端子７２２、接地端子７２４、および通信端子７２６を含む３つの端子を有する。一実施形態において、Ｖｂａｔｔ７２２および接地端子７２４は、バッテリパック７０４との正および負の接続であり得る。Ｖｂａｔｔ７２２は、Ｖｃｃ端子７２３に電源電圧（Ｖｃｃ）を提供する電源回路（図示されず）に接続される。通信端子７２６は、認証チップ７０８（認証プロセッサ７０８とも呼ばれる）に通信接続を提供する。通信端子７２６は、識別（ＩＤ）端子とも呼ばれ得る。認証チップ７０８は、バッテリ温度の正確な測定値、バッテリパック７０４についての情報（例えば、パックの容量、シリアルナンバー、および認証機能を表す情報）などの機能を提供し得る。一実施形態において、通信は、通信端子７２６を介する９６００ボー（ｂａｕｄ）（半二重、８データビット、１スタートビット、１ストップビット、パリティ無しのフォーマット）で実行され得る。
【００４０】
認証チップ７０８は、データを暗号化するためのアルゴリズム（ハッシングまたはスクランブリング）を含むセキュア認証イメージファイルを含んでいる。各ハンドセット７０２は、貯蔵の間にプログラムされた一意のチャレンジ−レスポンスペア（ベクトルまたは平文／暗号文ペア）の組を含んでいる。バッテリパック７０４を認証するために、ハンドセット７０２は、通信端子７２６を介して、平文チャレンジをバッテリパック７０４に送信する。認証チップ７０８は、平文チャレンジを利用するアルゴリズムを実行し、平文チャレンジをハッシュし、暗号文レスポンスをハンドセット７０２に戻す。ハンドセット７０２は、暗号文レスポンスをチャレンジ−レスポンスペアの対応する暗号文構成要素と比較する。一致が決定される場合、バッテリパック７０４は、認証される。一致が決定されない場合、バッテリパック７０４は、模造品であると考えられる。ハンドセット７０２は、バッテリパック７０４の使用または動作を制限し得る。
【００４１】
振動、電磁相互作用、電力の一時的変動などが、ハンドセット７０２とバッテリパック７０４との間の通信を汚損し得るということはありうる。従って、ハンドセット７０２は、バッテリ７０４を認証する最初の試みが失敗する場合、バッテリ７０４を認証するいくつかの試みをなすように構成され得る。振動、汚染された電気的接触子、そして高レベルの電気的雑音およびその他のスプリアス信号は、意図されない遷移が、通信端子７２６上に発生することを引き起こし得る。これらの遷移は、認証チップ７０８を起動させ得、可能性としては、コマンドとして解釈した雑音に対するレスポンスを送らせ得る。ハンドセット７０２は、これらの伝送を調停し、そして無視するようにプログラムされ得る。
【００４２】
図７の例示的な実施形態において、バッテリパック７０４内の認証チップ７０８との通信は、バッテリパック７０４の通信端子７２６に接続された、単一の双方向通信信号ラインを介して行われる。標準（８ビット、パリティ無し、単一のスタートビット、単一のストップビット）のシリアルデータストリームは、すべての情報を運搬する。ハンドセット７０２は、すべての通信を始動する。バッテリパック７０４内の認証チップ７０８は、ハンドセット７０２からの適切にフォーマットされたリクエストにのみ応答する。バッテリパック７０４は、それ自身を有効または無効にする機能を有していない。上で論じられたように、ハンドセット７０２は、バッテリパック７０４が認証されたか否かを決定するために、バッテリパック７０４からデータを得る。
【００４３】
通信端子７２６を介して接続されたラインは、認証チップ７０８とハンドセット７０２との間の双方向シリアルデータリンクを維持する。ハンドセット７０２は、通信端子７２６の開回路電圧を監視することによって、バッテリパック７０４の存在を検出し得る。一実施形態において、プルアップ抵抗器７４４は３００オーム、プルアップ抵抗器７４６は３３キロオーム、抵抗器７４７は３３０オーム、抵抗器７３６は１メガオーム、そして抵抗器７３０は４７キロオームである。抵抗器７３４は１メガオームであり得、通信端子７２６に入る電流、および通信端子７２６を出る電流に制限を提供する。抵抗器７３２は、３．３キロオームであり得、バッテリ７０４がハンドセット７０２に接続されない場合に、認証回路を「スリープ」状態に維持するプルアップ抵抗である。これらの抵抗値は、単なる例示であり、本明細書中に論じられるように、通信端子７２６を介する通信を制御するために選択される。
【００４４】
バッテリパック７０４内の通信端子７２６は、３つの可能な状態を有する。その状態は、アイドル／受信、ＴＸ高位、ＴＸ低位、である。通信端子７２６がアイドル／受信（すなわち、送信していない）状態にある場合に、トランジスタ７４８および７５０は、オフされる。アイドルモードにおいて、通信端子７２６は、Ｖｂａｔｔ端子７２２に対して３３．６６キロオームのインピーダンスを有する。通信端子７２６がＴＸ高位状態にある場合に、トランジスタ７４８はオン、そしてトランジスタ７５０はオフであり、バッテリパック７０４のＶｂａｔｔ端子７２２に対して６６０オームのインピーダンスを結果としてもたらす。通信端子７２６がＴＸ低位状態にある場合に、トランジスタ７４８はオフ、そしてトランジスタ７５０はオンであり、接地端子７２４に対して３３０オームのインピーダンスを結果としてもたらす。
【００４５】
バッテリパック７０４は、一定の状況下において、通信端子７２６上の通信を制御可能にし得る。この能力は、抵抗器７３２、７４６および７４７の選択によって可能にされる。図７ｂにおいて描かれた真理値表は、いかに通信端子７２６（ＩＤ６２６）の構成が、認証チップ７０８（ＡＣＨＩＰ  ＯＵＴ６０８）によって制御されるかを定義する。
【００４６】
図７に戻って参照すると、ハンドセットのＵＡＲＴの送信および受信信号を、通信端子７２６上で通信される単一信号へと組み合わせるための回路例が示される。トランジスタ７３８および７４０は、ＮチャネルＣＭＯＳ論理レベルスイッチングトランジスタである。ＵＡＲＴ受信（ＵＡＲＴ  ＲＸ）およびＵＡＲＴ送信（ＵＡＲＴ  ＴＸ）信号は、この回路によって反転されることに注意されたい。ＵＡＲＴ  ＴＸ信号に対して３つの可能な状態が存在し、その状態は、高位、低位、および高い−Ｚ、である。ＵＡＲＴ  ＴＸ信号が低位状態または、高い−Ｚ状態にある場合に、トランジスタ７４０は、オフにされる。通信端子７２６は、接地端子７２４に対して非常に高い（例えば、１００万オーム）インピーダンスを示す。バッテリパック７０４がアイドル／受信（スリープ）状態にある場合、通信端子７２６の電圧は、バッテリパック７０４内のプルアップ抵抗器７４６によってＶｂａｔｔ端子７２２の電圧レベルに近くなる。トランジスタ７３８は、その後ＵＡＲＴ  ＲＸ端子７５４の電圧を接地に引き寄せる。図７に示された回路は、Ｖｂａｔｔに引き上げられた通信端子７２６により、スリープモードにおいて最小の電力を消費する。
【００４７】
ＵＡＲＴ  ＴＸ信号が高位の場合に、トランジスタ７４０はオンであり、抵抗器７３２を接地に接続する。この構成は、通信端子７２６が、３．３キロオームの実効インピーダンスを接地に対して有する結果をもたらす。バッテリパック７０４と接続される場合に、バッテリパック７０４がアイドル／受信状態にあると仮定すると、通信端子７２６は、Ｖｂａｔｔ端子７２２の電圧レベルの約０．１まで引き下げられる。その電圧レベルは、トランジスタ７３８をオフにし、ＵＡＲＴ  ＲＸ端子７５４を抵抗器７３０によって高位状態に引き上げる。認証チップ７０８が高い−Ｚまたは「受信」モードにある場合、ＵＡＲＴ  ＴＸ端子７５６上に送信されたすべてのビットは、ＵＡＲＴ  ＲＸ端子７５４において直ちに受信される。
【００４８】
ハンドセットのソフトウェアは、ＵＡＲＴ  ＲＸ端子７５４上の、ハンドセット７０２によって送信されたデータおよびバッテリパック７０４によって送信されたデータの両方を受信することが可能である。ＵＡＲＴ  ＴＸ端子７５６は、ハンドセット７０２がバッテリパック７０４に対してデータを送信していない場合に、低位状態または高い−Ｚ状態にあるべきである。ハンドセット回路７０２は、このモードにおいて、Ｖｃｃ７２３から約８０マイクロアンペアを引き込む。ハンドセット７０２がスリープモードにある場合に、４マイクロアンペア未満がバッテリパック７０４から引き込まれる。
【００４９】
ダイオード７４２および７５２は、静電気デバイス（ＥＳＤ）保護デバイスである。注意を払うべきことは、ＥＳＤデバイスが通信端子７２６回路に追加する静電容量の総量を最小化することである。ハンドセット７０２によってバッテリパック７０４に送信された信号の立ち上がり時間は、抵抗器７４４、７４６、および７４７（３３．６６Ｋ）の全体のプルアップインピーダンスならびに通信端子７２６上の全体の静電容量によって決定される。バッテリパック７０４内のＥＳＤダイオード７４７は、例えば、５０ｐＦの最大静電容量を有する。例示的な実施形態において、通信端子７２６上の全静電容量は、１５０ｐＦ未満である。一般に、トランジスタ７３８のドレイン−ソース抵抗は、オンの場合に、５０オーム以下である。
【００５０】
プロセッサ７０６は、ＵＡＲＴ  ＴＸピン７５６から、低位電圧出力としての２進数の０と、高位電圧出力としての２進数の１を送信する。ＵＡＲＴ  ＲＸピン７５４は、この同じ信号レベルを想定している。ＵＡＲＴ  ＴＸ信号は、通信端子７２６を駆動するためにトランジスタ７４０によって反転される。反転された信号伝達（すなわち、２進数の０を表す高位レベル信号（＞０．８５＊Ｖｂａｔｔ）および２進数の１を表す低位レベル信号（＜０．１５＊Ｖｂａｔｔ））が、通信端子７２６において想定されている。通信端子７２６上の信号は、ＵＡＲＴ  ＲＸピン７５４に適用される前に、トランジスタ７３８によって反転される。ハンドセット７０２内のＵＡＲＴがＵＡＲＴ  ＴＸピン７５６を駆動している場合に、ＵＡＲＴ  ＴＸピン７５６のアイドル状態（ＵＡＲＴによって送られているデータが全くないとき）は、論理１（すなわち高位電圧レベル）である。このことは、トランジスタ７４０をオンにし、３．３キロオームの抵抗器７３２を介してバッテリパック７０４のＩＤピンを低位に引き寄せる。バッテリパック７０４は、この状態においてもなお、トランジスタ７４８または７５０を活性化することによって、通信端子７２６を高位または低位に駆動し得る。
【００５１】
認証チップがコマンドに応答するために通信端子７２６を駆動している場合に、認証チップは、図７のトランジスタ７４８および７５０を用いて、ピンを高位および低位に能動的に駆動する。各ストップビットに続いて、トランジスタ７４８および７５０が両方ともオフの（通信端子７２６を浮動させている）間は、約３００マイクロ秒の期間がある。浮動させている通信端子７２６を介して通信された受信データの汚損を避けるために、ハンドセット７０２は、受信の間、ＵＡＲＴ  ＴＸをアサート（ａｓｓｅｒｔ）する。そのことは、トランジスタ７４０をオンにして、通信端子７２６を引き下げるために、ＵＡＲＴ  ＴＸピン７５６に論理１を駆動することによって行われる。
【００５２】
（付属品を認証するための通信プロトコル）
付属品を認証するための通信プロトコルは、図６および図８〜図１４を参照して記述される。図６および図８を参照すると、一実施形態による、通信端子／ライン６７４を介して伝達される例示的な通信メッセージフォーマット８２６が示されている。通信メッセージ８２６は、単一のスタートビット８２８、８つのデータビット８３０、および単一のストップビット８３２を含む、８−ビットバイトであり得る。
【００５３】
特定の実施形態において、認証プロセッサ６６２は、バッテリパック製造者においてバッテリパック６６０と接続され、バッテリパック６６０の寿命の間中いつも電力を供給される。これらの場合に、認証プロセッサ６６２は、可能な限り少ない電力を使用するべきである。認証プロセッサ６６２は、電力を節約するために、最初にスリープモードにおいて動作する。スリープモードの間、認証プロセッサ６６２は、命令を実行しておらず、通信ライン６７４の遷移（高位から低位、または低位から高位への遷移）に対して通信ライン６７４を監視しているのみである。通信端子６７４上で遷移が起こる場合に、認証プロセッサ６６２は、起動し、そして動作を始める。しかし、認証プロセッサ６６２は、最初の遷移が起こった後（例えば、３３７．５マイクロ秒（２５マイクロ秒に、３つの９６００ボーのビット周期を足す））まで、通信ライン６７４上の信号を処理し始めない。通信端子６７４を介してコマンドが受信されない場合、認証プロセッサ６６２は、スリープモードに戻る（例えば、起動して２．３秒後に戻る）。「目覚めた（ａｗａｋｅ）」ウィンドウ（例えば、２．３秒）内にコマンドが受信される場合、認証プロセッサ６６２は、コマンドを処理し、コマンドに対する応答を送信した後、スリープモードに戻る。
【００５４】
起動している期間は、多くの方法で助長され得る。１つの方法は、タイマを使用することであり、最初の遷移（例えば、３３７．５マイクロ秒の期間）がいつ経過したかを決定し、それからコマンドバイトを送る。別の方法は、コマンドバイトが後に続く、起動インターバルの第１の部分の間（例えば、２３２マイクロ秒）に、起動バイト（０ｘｆｆ）を直ちに送ることである。起動バイトは、１つの「０」ビット（スタートビット）に続いて、９つの「１」ビット（８つのデータビット足すストップビット）を送る。起動バイトを送ることは、十分な遅延を引き起こし、第１のコマンドバイトが、最初の遷移期間（例えば、３３７．５マイクロ秒）後に送信されることを保証する。
【００５５】
バッテリパック６６０とのすべての通信は、図６の実施形態における、ハンドセット６５０によって始動される。ハンドセット６５０がバッテリパック６６０に送信するコマンド（温度コマンド、ＩＤ／バージョンコマンド、チップＩＤコマンド、および認証コマンドを含む）メッセージは、本明細書中において論じられる。上で述べられたように、各コマンドは、バッテリパック６６０を起動することから始まる。認証コマンドを除く、コマンドのそれぞれは、単一のコマンドバイトを含む。認証コマンドは、コマンドバイトの後に８バイトのチャレンジをバッテリパック６６０に対して送信する。バッテリパック６６０によって想定されるより多くのバイトが送られる場合、それらのバイトは、無視されるか、バッテリパック６６０からの応答信号を妨げる。
【００５６】
場合によっては、ハンドセット６５０とバッテリパック６６０との間の、デバイス通信のタイミングを較正することが望まれ得る。図９は、表９００を例示する。その表９００は、タイミング較正のためのハンドセット６５０とバッテリパック６６０との間で伝達される例示的なメッセージコマンドを識別する。バッテリパック６６０は、タイミングコマンド（０ｘ００）９０２に応答する。その応答は、タイミングレスポンス（０ｘ８０）９０４に続いて、タイミングバイト（０ｘＣ３）９０６を送ることによって行われる。ハンドセット６５０は、このタイミングバイト９０６内の４つの論理０のストリングの長さを測定して、４で割り、結果としてもたらされる値を、送信または受信の間の単一のデータビットに対する時間として使用し得る。４つの論理０は、バイトの中央の高位レベルの信号である。２進信号９０４の両端部の２ビットとも、タイミング目的に対しては使用されない。
【００５７】
図１０は、温度測定トランザクションの構成要素を組み込んでいる図を描く。図１１は、表１１００を示し、その表は、ハンドセット６５０とバッテリパック６６０との間で伝達される、温度情報を交換するための例示的なメッセージコマンドを識別する。ハンドセット６５０が、温度コマンド（０ｘ０１）１００２、１１０２をバッテリパック６６０に対して送ると、バッテリパック６６０は、温度レスポンスバイト（０ｘ８１）１００４、１１０４に続いて、温度データ１００６、１１０６を含むバイトを送ることによって応答する。
【００５８】
図１２は、表１２００を示す。その表は、ハンドセット６５０とバッテリパック６６０との間で伝達される、バッテリパック６６０と関連づけられたＩＤ／バージョン情報を交換するための、例示的なメッセージコマンドを識別する。ハンドセット６５０が、ＩＤ／バージョンコマンド（０ｘ０２）１２０２をバッテリパック６６０に対して送ると、バッテリパック６６０は、ＩＤ／バージョンレスポンスバイト（０ｘ８２）１２０４に続いて、バッテリパック６６０と関連づけられたＩＤ／バージョンデータ１２０６を含むバイトを送ることによって応答する。ＩＤ／バージョンデータは、情報（例えば、バッテリパックの製造者、バッテリパックのバージョン、バッテリパックのシリアルナンバー、バッテリパックのロットなどの情報）を識別し得る。
【００５９】
図１３は、表１３００を示す。その表は、ハンドセット６５０とバッテリパック６６０との間で伝達される、認証チップ６６２と関連づけられた識別情報を交換するための、例示的なメッセージコマンドを識別する。ハンドセット６５０が、チップＩＤコマンド（０ｘ０４）１３０２をバッテリパック６６０に対して送ると、バッテリパック６６０は、チップＩＤレスポンス（０ｘ８４）１３０４に続いて、チップＩＤ情報を送ることによって応答する。例えば、チップＩＤ情報は、図１３に例示されるように、４バイトのメッセージを含み得る。そのメッセージは、チップＩＤデータの最上位ビット（ＭＳＢ）１３０６、チップＩＤデータ１３０８、チップＩＤデータ１３１０、およびチップＩＤデータの最下位ビット（ＬＳＢ）１３１２を含んでいる。
【００６０】
図１４は、表１４００を示す。その表は、ハンドセット６５０とバッテリパック６６０との間で伝達される、バッテリパック６６０を認証するための認証情報を交換するための、例示的なメッセージコマンドを識別する。バッテリ認証を始動するために、ハンドセット６５０は、起動バイト（０ｘｆｆ）１４０１に続いて、認証コマンド（０ｘ０８）１４０２、それに続いて、「チャレンジ」（例えば、６４ビット（８バイト）チャレンジコマンド）を送る。図１４に示されるように、チャレンジコマンドは、チャレンジデータＭＳＢ１４０４に続いて、チャレンジデータペイロード１４０６、それに続いて、チャレンジデータＬＳＢ１４０８を含み得る。
【００６１】
バッテリパック６６０は、「レスポンス」（例えば、６４ビット（８バイト）レスポンス）を生成するために、チャレンジに対してハッシュ関数を実行する。上で論じられたように、チャレンジは、各ハンドセットに対して一般的に一意である。レスポンスは、ハンドセット６５０に対して送り返される。そのことは、認証レスポンス（０ｘ８８）１４１０に続いて、レスポンスコマンドを送ることによって行われる。例えば、レスポンスコマンドは、レスポンスデータＭＳＢ１４１２に続いて、レスポンスデータペイロード１４１４、それに続いて、レスポンスデータＬＳＢ１４１６を含み得る。
【００６２】
ハンドセット６５０は、受信されたレスポンス１４１２、１４１４、１４１６を、チャレンジ１４０４、１４０６、１４０８と関連づけられる、格納されたレスポンスと比較する。所与のチャレンジに対して、一致が決定される場合、バッテリパック６６０は、認証されている。通信エラーの可能性を補償するいくつかの試みの後に、一致が決定されない場合、バッテリパック６６０は、模造品であると考えられる。ハンドセット６５０は、バッテリパック６６０の使用または動作を制限し得る。
【００６３】
認証チップ６６２内のハッシング機能の動作のセキュリティを維持するために、ハンドセット６５０は、上で論じられたように、ハッシングアルゴリズムのコピーを含まない。代わりに、ハンドセット６５０のソフトウェアを貯蔵するときに、チャレンジ−レスポンスペアが、ハンドセット６５０のメモリ内に格納される。チャレンジ−レスポンスペアを生成するための技術が、上で論じられている。
【００６４】
上記の本発明の例示的な実施形態から、様々な技術が、本発明の範囲を逸脱することなく、本発明の概念を実装するために使用され得ることは、明らかである。さらに、本発明は、一定の実施形態に対して特定の参照とともに記述されたけれども、当業者は、本発明の意図および範囲から逸脱することなく、形式および詳細における変更がなされ得ることを認識する。例えば、マルチバンドアンテナの第１の放射器アームおよび第２の放射器アームの特定のレイアウト編成は、本発明の範囲を逸脱することなく、上で論じられたことから改変され得る。記述された例示的な実施形態は、すべての点において例示であり、限定するものではないと考慮されるべきである。本発明が、本明細書中に記述された特定の例示的な実施形態に制限されないけれども、本発明の範囲を逸脱することなく、数多くの再編成、改変、および置換えが可能であることもまた理解されるべきである。
【図面の簡単な説明】
【００６５】
【図１】図１は、本発明の一実施形態による、携帯電話機および携帯電話機付属品を含む例示的な編成を示す。
【図２】図２は、本発明の一実施形態による、セキュア認証イメージファイルを生成するための例示的なシステムを示す。
【図３】図３は、本発明の一実施形態による、セキュア認証イメージファイルを生成するためのフローチャートを示す。
【図４】図４は、本発明の一実施形態による、平文／暗号文キーペアのデータベースを生成するための例示的なシステムを示す。
【図５】図５は、本発明の一実施形態による、平文／暗号文キーペアのデータベースを生成するためのフローチャートを示す。
【図６】図６は、本発明の一実施形態による、携帯デバイスおよびバッテリパック付属品をマスタ−スレーブ構成において示す。
【図７ａ】図７ａは、本発明の一実施形態による、ハンドセットと付属品とをインターフェースするための例示的な回路を示す。
【図７ｂ】図７ｂは、本発明の一実施形態による、図７の通信端子の構成を定義する例示的な真理値表である。
【図８】図８は、本発明の一実施形態による、例示的なメッセージフォーマットである。
【図９】図９は、本発明の一実施形態による、タイミング較正のためのメッセージコマンドを定義する例示的な表である。
【図１０】図１０は、本発明の一実施形態による、例示的な温度通信トランザクションの詳細である。
【図１１】図１１は、本発明の一実施形態による、温度情報を交換するためのメッセージコマンドを定義する例示的な表である。
【図１２】図１２は、本発明の一実施形態による、ＩＤ／バージョン情報を交換するためのメッセージコマンドを定義する例示的な表である。
【図１３】図１３は、本発明の一実施形態による、チップ識別情報を交換するためのメッセージコマンドを定義する例示的な表である。
【図１４】図１４は、本発明の一実施形態による、認証情報を交換するためのメッセージコマンドを定義する例示的な表である。
【図１】
2009531977.tif 000003
【図２】
2009531977.tif 000004
【図３】
2009531977.tif 000005
【図４】
2009531977.tif 000006
【図５】
2009531977.tif 000007
【図６】
2009531977.tif 000008
【図７ａ】
2009531977.tif 000009
【図７ｂ】
2009531977.tif 000010
【図８】
2009531977.tif 000011
【図９】
2009531977.tif 000012
【図１０】
2009531977.tif 000013
【図１１】
2009531977.tif 000014
【図１２】
2009531977.tif 000015
【図１３】
2009531977.tif 000016
【図１４】
2009531977.tif 000017
【国際調査報告】
2009531977.tif 000018
2009531977.tif 000019
2009531977.tif 000020