説明

電子デバイスのためのアクセサリ認証

【課題】電子デバイス、すなわち互いに相互接続され通信する電子デバイスを認証するために暗号手法を使用し、電子デバイスとのアクセサリデバイスの利用を制御する改良された技術を提供する。
【解決手段】暗号化された認証情報を認証することで、種々の電子デバイスは、例えば、認証の種々の程度又はレベルに応じて、或いは製造業者又は製品毎に異なるように提供することができる。また別の態様は、周辺デバイス(例えば、USBデバイス)をホストデバイス(例えば、USBホスト)に変換するためにアクセサリ(又は、アダプタ)を使用することに関係する。改良された技術は、アクセサリデバイスを受け入れることのできるメディアデバイスなどの電子デバイスに特に好適である。メディアデバイスの1つの例は、メディアアイテム(又はメディア資産)を提示(例えば再生)することができる音楽プレーヤーなどのメディアプレーヤーである。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子デバイス、より詳細にはアクセサリデバイスを受けるメディアプレーヤーのような電子デバイスに関する。
【背景技術】
【0002】
メディアプレーヤーは、メディアプレーヤー上で再生又は表示することができるオーディオトラック又は写真などのメディア資産を記憶する。メディアプレーヤーの1つの例は、カリフォルニア州CupertinoのApple Computer,Inc.から入手可能なiPod(登録商標)メディアプレーヤーである。多くの場合、メディアプレーヤーは、ユーザにメディア資産を管理する権限を与えるホストコンピュータからそのメディア資産を収集する。例として、ホストコンピュータは、メディア資産を管理するためにメディア管理アプリケーションを実行する。メディア管理アプリケーションの1つの例は、Apple Computer,Inc.によって作成されたiTune(登録商標)である。
【0003】
メディアプレーヤーは通常、メディアプレーヤーにインタフェース接続するのに使用することができる1つまたは複数のコネクタ又はポートを含む。例えば、コネクタ又はポートは、メディアプレーヤーをホストコンピュータに結合し、ドッキングシステムに挿入し、或いはアクセサリデバイスを受けることができる。今日、メディアプレーヤーに相互接続できるアクセサリデバイスの多くの異なるタイプが存在する。例えば、リモコン装置をコネクタ又はポートに接続でき、これによってユーザがメディアプレーヤーを遠隔的に制御することが可能となる。別の例として、自動車がコネクタを含み、メディアプレーヤーをコネクタに挿入して、自動車メディアシステムがメディアプレーヤーと対話することにより、メディアプレーヤー上のメディアコンテンツを自動車内で再生することができる。
【0004】
現在、適合性のあるコネクタ又はポートを利用しさえすれば、メディアプレーヤーのコネクタ又はポートは使用するために開放されている。この結果、多数のサードパーティが、他の製造業者のメディアプレーヤーと一緒に使用するアクセサリデバイスを開発してきた。1つの問題点は、メディアプレーヤーの製造業者がメディアプレーヤーに接続できる種々の異なるアクセサリデバイスを制御していない点である。これは、サードパーティのアクセサリデバイスが低品質で、エラーが起きやすく、破損を生じやすく(例えば、資源ドレインニング)、或いはメディアプレーヤー自体に損傷さえ与える可能性があるので問題がある。別の問題は、メディアデバイスの製造業者によって許可されていないサードパーティアクセサリデバイスが、不適切又は望ましくない様態でメディアデバイスの機能を利用しようとする可能性があることである。
【発明の概要】
【発明が解決しようとする課題】
【0005】
従って、アクセサリデバイスがその電子デバイスと共に利用できる性質と範囲を電子デバイスの製造業者が制御できるようにする、改良された技術に対する必要性が存在する。
【課題を解決するための手段】
【0006】
大まかに述べると、本発明は、電子デバイスとのアクセサリデバイスの利用を制御するための改良された技術に関係する。改良された技術は、電子デバイス、すなわち互いに相互接続し通信する電子デバイスを認証するために暗号手法を用いている。
【0007】
本発明の1つの態様は、アクセサリデバイスなどの電子デバイスを認証するための技術に関係する。本発明の別の態様は、電子デバイス(例えばホストデバイス)によって或いはそのためのソフトウェア特徴(例えば機能)を提供することに関係する。種々の電子デバイスは、例えば認証の種々の程度又はレベルに応じて、或いは製造業者又は製品毎に異なるように提供することができる。本発明の更に別の態様は、周辺デバイス(例えばUSBデバイス)をホストデバイス(例えばUSBホスト)に変換するためにアクセサリ(又はアダプタ)を使用することに関係する。本発明の実施態様は、本明細書で開示されるこれらの態様又は他の態様の1つまたは複数に関係している。
【0008】
本発明は、方法、システム、デバイス、装置(グラフィカルユーザインターフェースを含む)、又はコンピュータ可読媒体として含む多数の方式で実装することができる。本発明の幾つかの実施態様を以下に説明する。
【0009】
ポータブル電子デバイスとして、本発明の1つの実施態様は、1つまたは複数のメディアアイテムに対してメディアコンテンツを記憶するメディアストレージデバイス、メディアストレージからメディアアイテムの少なくとも1つに対するメディアコンテンツを検索して該メディアコンテンツをポータブル電子デバイスのユーザに提示させるメディア提示モジュール、ポータブル電子デバイスへ結合され、対話を許可された種々のアクセサリデバイスのための認証情報を記憶する認証テーブル、ポータブルメディアデバイスに結合された特定のアクセサリデバイスが認証テーブル内に記憶された認証情報の少なくとも一部に基づいてポータブル電子デバイスとの相互運用を許可されるかどうかを判断する認証モジュールとを少なくとも含む。
【0010】
ポータブル電子デバイスのためのアクセサリデバイスとして、本発明の1つの実施態様は、ポータブル電子デバイスと対話するための入力/出力ポート、認証アルゴリズム、アクセサリデバイスに関連付けられた認証キー、少なくとも認証アルゴリズムと認証キーを使用して認証オペレーションを実行するための入力/出力ポートに動作可能に接続された認証コントローラ、アクセサリデバイスに関連付けられたオペレーションを実行するアクセサリ回路とを少なくとも含む。
【0011】
アクセサリデバイスをメディアプレーヤーに接続するためのコネクタとして、本発明の1つの実施態様は、コネクタ本体、コネクタ本体内部に取り付けられてアクセサリデバイスとメディアプレーヤーとの間の電気接続を可能にする働きをする複数の電気的接点、コネクタ本体に配置されアクセサリデバイスをメディアプレーヤーによって認証できるようにする認証キーを提供するコントローラとを少なくとも含む。
【0012】
電子デバイスと共に使用するために、アクセサリデバイスを許可する方法として、本発明の1つの実施態様は、デバイス識別子をアクセサリデバイスから受け取る動作と、認証値をアクセサリデバイスから受け取る動作と、アクセサリデバイスが認証値に基づいて認証されるかどうかを判断する動作と、アクセサリデバイスが認証されていると判断された場合に、電子デバイスとのアクセサリデバイスの使用を許可する動作と、を少なくとも含む。
【0013】
電子デバイスと共に使用するためにアクセサリデバイスを許可する方法として、本発明の別の実施態様は、アクセサリデバイスの電子デバイスとの取り付けを検出する動作と、アクセサリデバイスの取り付けが検出された後にアクセサリデバイスに乱数を送る動作と、その後、アクセサリデバイスから符号化された値を受け取る動作と、アクセサリデバイスからデバイス識別子を受け取る動作と、デバイス識別子に基づいて暗号キーを取得する動作と、暗号キーを使用して符号化された値を復号し復号された値を生成する動作と、復号された値が乱数に一致するかどうかを判断する動作と、復号された値が乱数に一致すことを判断された場合に電子デバイスとのアクセサリデバイスの使用を許可する動作と、を少なくとも含む。
【0014】
電子デバイスと共に使用するためにアクセサリデバイスを許可する方法として、本発明の更に別の実施態様は、アクセサリデバイスの電子デバイスへの取付けを検出する動作と、認証要求を送る動作と、アクセサリデバイスの取り付けが検出された後にアクセサリデバイスに少なくとも乱数を含む認証要求を送る動作と、その後、認証要求に応答して、少なくともアクセサリデバイスに対する符号化された値とデバイス識別子を含む認証応答をアクセサリデバイスから受け取る動作と、デバイス識別子に基づいて暗号キーを取得する動作と、暗号キーを使用して符号化された値を復号し、復号された値を生成する動作と、復号された値と乱数との間の一致関係に基づいて電子デバイスとのアクセサリデバイスの使用を許可する動作と、を少なくとも含む。
【0015】
電子デバイスと共に使用するためにアクセサリデバイスを許可する方法として、本発明の更に別の実施態様は、電子デバイスから乱数を受け取る動作と、アクセサリデバイス内に提供された暗号キーを使用して乱数を符号化する動作と、これによって符号化された値を生成する動作と、符号化された値とデバイス識別子を電子デバイスに送る動作と、を少なくとも含む。
【0016】
メディアプレーヤーとアクセサリデバイスとの間の対話を制御する方法として、本発明の1つの実施態様は、アクセサリデバイスの分類を判断する動作と、アクセサリデバイスについての許可レベルを識別する動作と、アクセサリデバイスの分類と許可レベルに基づいて、アクセサリデバイスと共に使用可能なメディアデバイスの機能を選択的に起動する動作と、を少なくとも含む。
【0017】
メディアプレーヤーシステムとして、本発明の1つの実施態様は、メディアコンテンツを記憶し複数の予め確定された機能をサポートするメディアプレーヤーと、メディアプレーヤーに接続可能なアクセサリデバイスとを少なくとも含む。メディアプレーヤーとアクセサリデバイスが対話して、認証プロセスを実行し、認証プロセスに基づいてメディアデバイスに特定機能が選択的に起動され、よってアクセサリデバイスによる使用が利用可能になる。
本発明の他の態様及び利点は、本発明の原理を例として示す添付図面と共に以下の詳細な説明を読めば明らかになるであろう。
【図面の簡単な説明】
【0018】
【図1A】本発明の1つの実施形態によるアクセサリ認証システムを示すブロック図である。
【図1B】本発明の別の実施形態によるアクセサリ認証システムを示すブロック図である。
【図1C】本発明の更に別の実施形態によるアクセサリ認証システムを示すブロック図である。
【図2A】本発明の1つの実施形態による認証コントローラを示すブロック図である。
【図2B】本発明の1つの実施形態による認証マネージャーを示すブロック図である。
【図3】本発明の1つの実施形態による認証デバイスを示すブロック図である。
【図4A】本発明の1つの実施形態によるホスト認証プロセスを示すフロー図である。
【図4B】本発明の1つの実施形態によるアクセサリ認証プロセスを示すフロー図である。
【図5A】本発明の1つの実施形態によるホストデバイス処理を示すフロー図である。
【図5B】本発明の1つの実施形態によるホストデバイス処理を示すフロー図である。
【図6A】本発明の1つの実施形態によるアクセサリデバイス処理を示すフロー図である。
【図6B】本発明の1つの実施形態によるアクセサリデバイス処理を示すフロー図である。
【図6C】本発明の1つの実施形態による許可テーブルを示す図である。
【図7A】本発明の1つの実施形態によるアクセサリデバイスプロセスを示すフロー図である。
【図7B】本発明の1つの実施形態によるアクセサリデバイスプロセスを示すフロー図である。
【図8A】本発明の1つの実施形態によるホストデバイスプロセスを示すフロー図である。
【図8B】本発明の1つの実施形態によるホストデバイスプロセスを示すフロー図である。
【図8C】本発明の1つの実施形態によるホストデバイスプロセスを示すフロー図である。
【図9A】本発明の1つの実施形態によるアクセサリデバイスプロセスを示すフロー図である。
【図9B】本発明の1つの実施形態によるアクセサリデバイスプロセスを示すフロー図である。
【図9C】本発明の1つの実施形態によるアクセサリデバイスプロセスを示すフロー図である。
【図10A】本発明の1つの実施形態によるホストデバイスプロセスを示すフロー図である。
【図10B】本発明の1つの実施形態によるホストデバイスプロセスを示すフロー図である。
【図11】本発明の1つの実施形態によるメディア管理システムを示すブロック図である。
【図12】本発明の1つの実施形態によるメディアプレーヤーを示すブロック図である。
【発明を実施するための形態】
【0019】
本発明は、添付の図面と共に以下の詳細な説明により容易に理解されるであろう。図面の同じ参照符号は、同じ構造要素を示している。
【0020】
本発明は、アクセサリデバイスを電子デバイスとともに利用する際のその利用を制御するための改良された技術に関係する。改良された技術は、電子デバイス、すなわち互いに相互接続して通信する電子デバイスを認証するために暗号手法を用いることができる。
【0021】
改良された技術は、アクセサリデバイスを受けることのできるメディアデバイスなどの電子デバイスに特に適している。メディアデバイスの1つの例は、メディアアイテム(又はメディア資産)を提示(例えば再生)することができるハンドヘルドメディアプレーヤー(例えば音楽プレーヤー)などのメディアプレーヤーである。メディアデバイス用のアクセサリの例には、ボイスレコーダ、FMトランシーバ、周辺バスデバイス(例えば、FireWire(登録商標)デバイス又はUSBデバイス)、メディアデバイス(例えば、メディアリーダー、ディスプレイ、カメラなど)、パワーユニット(例えば、パワーアダプタ、バッテリーパックなど)、スピーカ(ヘッドフォン又はスピーカシステム)、リモート制御デバイス、ネットワークデバイス、又は自動車一体型ユニット)が含まれる。
【0022】
本発明の1つの態様は、アクセサリデバイスなどの電子デバイスを認証するための技術に関係する。本発明の別の態様は、電子デバイス(例えばホストデバイス)による、或いは電子デバイスのためのソフトウェア機構(例えば機能)を提供することに関係している。種々の電子デバイスは、例えば、認証の異なる程度又はレベルに応じて、或いは製造業者又は製品に応じて異なるように設定することができる。本発明の更に別の態様は、アクセサリ(又はアダプタ)を使用して周辺デバイス(例えばUSBデバイス)をホストデバイス(例えばUSBホスト)に変換することに関係している。本発明の実施形態は、本明細書に開示されるこれらの態様又は他の態様の1つまたは複数のものに関連することができる。
【0023】
本発明の実施形態を図1〜12を参照しながら以下に説明する。しかしながら、本発明はこれらの限定された実施形態を超えた範囲にあるので、これらの図面に関して本明細書で得られる詳細な説明は例のためのものに過ぎない点は当業者であれば容易に理解するであろう。
【0024】
図1Aは、本発明の1つの実施形態によるアクセサリ認証システム100のブロック図である。アクセサリ認証システム100は、モバイルコンピューティングデバイス102を含む。モバイルコンピューティングデバイス102はまた、ホストデバイスと呼ぶことができる。加えて、モバイルコンピューティングデバイス102は、例えばメディアプレーヤー、携帯情報端末、又はモバイル電話などを含む。モバイルコンピューティングデバイス102は、コネクタを受けるためのコネクタポート104を含む。
【0025】
アクセサリ認証システム100はまた、コネクタ108とコネクタポート110を有する認証デバイス106を含む。認証デバイス106は、モバイルコンピューティングデバイス102に取り付けられる。詳細には、認証デバイス106がモバイルコンピューティングデバイス102に取り付けられる場合、認証デバイス106のコネクタ108は、モバイルコンピューティングデバイス102のコネクタポート104によって受けられる。コネクタ108がコネクタポート104に結合されると、認証デバイス106は、モバイルコンピューティングデバイス102に物理的かつ電気的に接続される。
【0026】
アクセサリ認証システム100は更に、アクセサリデバイス112を含む。アクセサリデバイス112は、アクセサリデバイス112が認証デバイス106を介してモバイルコンピューティングデバイス102と相互接続されたときに、モバイルコンピューティングデバイス102に一定の機能を提供する。このような相互接続を容易にするために、アクセサリデバイス112はコネクタ114とケーブル116を含む。ケーブル116は、コネクタ114をアクセサリデバイス112に接続する。コネクタ114は、認証デバイス116のコネクタポート110に結合される。このような接続が行われた場合、アクセサリデバイス112は、認証デバイス106を介してモバイルコンピューティングデバイス102と電気的に通信した状態にある。
【0027】
アクセサリ認証システム100は、コネクタ114とケーブル116の端部とを含むが、コネクタ114は、アクセサリデバイス112に一体化させてもよい。言い換えると、別の実施形態ではケーブル116は必要ではない。
【0028】
本発明の1つの態様によれば、認証デバイス106は、モバイルコンピューティングデバイス102に対して自己認証するよう機能する。認証されたデバイスは、モバイルコンピューティングデバイス102と対話することが許可されたと見なされる。同様に、許可されると、認証されたデバイス106(又はアクセサリデバイス102)とモバイルコンピューティングデバイス102との間の対話の性質や程度を制御することができる。この結果、許可されると、モバイルコンピューティングデバイス102は、認証デバイス106をモバイルコンピューティングデバイス102の機能、機構、又はオペレーションにアクセスするのが許可された信頼されたパートナーと見なす。他方、認証デバイス106が信頼されたパートナーと関連付けられないことをモバイルコンピューティングデバイス102が判断した場合には、モバイルコンピューティングデバイス102は、アクセサリデバイス112に向けた認証デバイス106との対話を阻止又は制限する。認証デバイス106自体はまた、モバイルコンピューティングデバイス102に対するアクセサリデバイスと考えることができる。
【0029】
1つの実施形態では、認証デバイス106は、USB又はFireWire(登録商標)アダプタなどのバスインターフェースアダプタとして機能する。このような実施形態では、認証デバイス106は、モバイルコンピューティングデバイス102をバスのホストデバイス(例えば、USB又はFireWire(登録商標)ホスト)に適合させるように機能する。アクセサリデバイス112は、有利には、バス周辺デバイス(例えばUSB又はFireWire(登録商標)デバイス)として動作するだけでよい。
【0030】
図1Bは、本発明の別の実施形態によるアクセサリ認証システム150のブロック図である。アクセサリ認証システム150は、コネクタポート154を有するモバイルコンピューティングデバイス152を含む。同様に、モバイルコンピューティングデバイス152はホストデバイスと呼ばれる。更にモバイルコンピューティングデバイス152は、例えばメディアプレーヤー、携帯情報端末、又はモバイル電話などを含む。
【0031】
アクセサリ認証システム150は、同様に、アクセサリデバイス156を含む。アクセサリデバイス156は、コネクタ158と認証デバイス160を含む。この実施形態では、認証デバイス160はアクセサリデバイス156の内部にある。アクセサリデバイス156は、コネクタ158をコネクタポート154に挿入することによってモバイルコンピューティングデバイス152に結合させることができる。このような接続が設定されると、アクセサリデバイス156は、モバイルコンピューティングデバイス152に電気的に接続される。その場合でも、モバイルコンピューティングデバイス152がアクセサリデバイス156を認証するために、モバイルコンピューティングデバイス152は認証デバイス160と対話する。認証されると、アクセサリデバイス156は、モバイルコンピューティングデバイス152と対話することが許可されたと見なされる。許可されると、アクセサリデバイス156とモバイルコンピューティングデバイス152との間の対話の性質と程度を制御することができる。従って、許可されると、モバイルコンピューティングデバイス152は、モバイルコンピューティングデバイス152の機能、機構、又はオペレーションにアクセスすることが許可された信頼されたパートナー(又は信頼されたパートナーに関連付けられたもの)としてアクセサリ156をみなすことになる。他方、アクセサリデバイス156が信頼されたパートナー(又は信頼されたパートナーに関連付けられたもの)ではないと、モバイルコンピューティングデバイス152が判断した場合、モバイルコンピューティングデバイス152は、アクセサリデバイス156との対話を阻止又は制限することができる。
【0032】
図1Cは、本発明の更に別の実施形態によるアクセサリ認証システム170のブロック図である。アクセサリ認証システム170は、コネクタポート174を有するモバイルコンピューティングデバイス172を含む。モバイルコンピューティングデバイス172は同様に、ホストデバイスと呼ばれる。モバイルコンピューティングデバイス172は、例えばメディアプレーヤー、携帯情報端末、又はモバイル電話などを含む。アクセサリ認証システム170はまた、アクセサリデバイス176を含む。アクセサリデバイス176は、コネクタ178と認証デバイス180を含む。この実施形態では、認証デバイス180は、コネクタ178に結合され、或いはこれと一体化される。認証デバイスは比較的小さく、従ってコネクタ178に結合されるか、或いは一体化させることができる。コネクタ178に認証デバイス180を設けることによって、アクセサリデバイスは、認証機能を備えるよう容易に製造することができる。
【0033】
アクセサリデバイス176は、コネクタ178をコネクタポート174に挿入することによって、モバイルコンピューティングデバイス172に結合される。このような接続が設定されると、アクセサリデバイス176は、モバイルコンピューティングデバイス172に電気的に接続される。その場合でも、モバイルコンピューティングデバイス172がアクセサリデバイス176を認証するために、モバイルコンピューティングデバイス172は認証デバイス180と対話する。認証されると、アクセサリデバイス176は、モバイルコンピューティングデバイス172と対話することが許可されたと見なされる。許可されると、アクセサリデバイス176とモバイルコンピューティングデバイス172との間の対話の性質と程度を制御することができる。従って、許可されると、モバイルコンピューティングデバイス172は、アクセサリ176をモバイルコンピューティングデバイス172の機能、機構、又はオペレーションにアクセスすることが許可された信頼されたパートナー(又は信頼されたパートナーに関連付けられる)と見なす。他方、モバイルコンピューティングデバイス172は、アクセサリデバイス176が信頼されたパートナーでない(又は信頼されたパートナーに関連付けられない)と判断した場合、モバイルコンピューティングデバイス172は、アクセサリデバイス172との対話を阻止又は制限する。
【0034】
図1A−1Cは、モバイルコンピューティングデバイスのアクセサリデバイスを認証するのに利用される認証デバイスを参照しているが、このような認証デバイスは、さらに、アクセサリデバイスのモバイルコンピューティングデバイスを認証するのに代替的に使用できることを理解されたい。いずれの場合においても、実行される認証は、暗号技術を用いるようなセキュアな方式で行われる。暗号技術は、偽のアクセサリデバイスが利用されるのを実質的に阻止するのに役立つだけでなく、「スプーフィング」の可能性を低減させる。1つの実施形態において、暗号技術は、有効なデジタル署名を形成するのに公開−秘密キーセットを使用する。
【0035】
図2Aは、本発明の1つの実施形態による認証コントローラ200のブロック図である。認証コントローラ200は、プロセッサ202、ランダムアクセスメモリ(RAM)204、読出し専用メモリ(ROM)206を含む。ROM206は、秘密キー208と認証アルゴリズム210を含む。認証コントローラ200はまた、電源供給ライン212と通信バス(リンク)214を受ける。例えば、電源供給ライン212及び通信バス214は、図1Aに示されるコネクタ108、図1Bに示されるコネクタ158、又は図1Cに示されるコネクタ178などの認証コントローラ200のコネクタによって提供することができる。
【0036】
プロセッサ202は通常、モバイルコンピューティングデバイスと(通信バス214を介して)対話し、アクセサリデバイス(又は認証デバイス)を認証する。認証プロセス中に、プロセッサ202は、認証コントローラ200内に記憶された認証アルゴリズム210と秘密キー208とを利用する。認証アルゴリズム210は、種々の実施に応じて変えることができ、適切な認証アルゴリズムは当業者には公知である。
【0037】
図2Aには示されていないが、認証コントローラ200、或いは認証コントローラ200を含むか又は利用する認証デバイス又はアクセサリデバイスは、デバイス識別子及び追加の回路を更に含むことができる。デバイス識別子は、例えば、製品識別子及び/又は製造業者識別子に関連している。追加の回路は、実施に応じて変えることができる。追加の回路がアクセサリデバイス内にある場合、追加の回路をアクセサリ回路と呼ぶことができる。
【0038】
1つの実施形態において、認証コントローラ200は、単一の集積回路(すなわち、シングルチップ)上に実装される。単一の集積回路上に認証コントローラ200を設けることによって、秘密キー208と認証アルゴリズム210への外部アクセスは、実質的に阻止される。この結果、認証プロセスは、暗号的に保護されるだけでなく、物理アクセスの制限によって物理的に保護される。
【0039】
図2Bは、本発明の1つの実施形態による認証マネージャー250のブロック図である。認証マネージャー250は、例えば、図1Aに示されるモバイルコンピューティングデバイス102、図1Bに示されるモバイルコンピューティングデバイス152、又は図1Cに示されるモバイルコンピューティングデバイス172などの電子デバイス内に設けられる。この実施形態では、電子デバイスの認証マネージャー250がアクセサリデバイス(又は認証デバイス)を認証する。
【0040】
認証マネージャー250は、認証モジュール252、許可テーブル254、ポートインターフェース256を含む。認証モジュール252は、ポートインターフェース256に結合する特定のアクセサリデバイス(又は認証デバイス)が認証され、従って電子デバイスと相互運用することを許可されるかどうかを評価するよう動作する。ポートインターフェース256は、アクセサリデバイス(又は認証デバイス)に電源及び通信バス258を供給することができる。許可テーブル254は、幾つかのアクセサリデバイス(又は認証デバイス)が認証されるかどうかを評価するために認証モジュール252によって利用される認証情報を記憶する。前述のように、認証マネージャー250は、ホストデバイスと呼ぶことができる電子デバイス内に設けられる。
【0041】
電子デバイス(又はホストデバイス)は通常、呼び出し又は利用することができる種々のオペレーティング機能を有する。1つの実施形態において、認証マネージャー250によって認証されたアクセサリデバイスは、電子デバイス(又はホストデバイス)上で利用可能な機能の全てに対して完全にアクセスすることができる。別の実施形態において、許可テーブル254は、電子デバイス又はホストデバイスの機能がアクセサリデバイスに使用可能にされる方式を制御することができる。一例として、電子デバイス(又はホストデバイス)が、利用できる複数の異なる機能を提供する場合、許可テーブル254は、これらの利用可能な機能のどれが特定のアクセサリデバイスによる利用を許可されるかに関しての指示を含むことができる。例えば許可は、各々が異なる許可を有するレベル又はクラスに分類することができる。また、許可は種々の機能が使用を許可される方式を指定することができる。従って、機能は、限定的な方法で使用を許可することができる。例えば、機能は、電子デバイスとの低速通信インターフェース(例えばシリアル)では使用を許可し、電子デバイスとの高速通信インタフェース(FireWire(登録商標)又はUSB)では使用を許可しないようにすることができる。言い換えると、この例では、機能は、幾つかのインターフェースメカニズムだけにおいてのみ使用を許可する。
【0042】
図3は、本発明の1つの実施形態による認証デバイス300のブロック図である。この実施形態では、認証デバイス300は、該認証デバイス自体又は該デバイスに結合されたアクセスデバイスの認証用の回路だけでなく、認証デバイス300によって他の機能を提供するための追加回路も含む。詳細には、認証デバイス300は、電子デバイスだけでなくアクセサリデバイスにも結合するように設計されている。図3に示されるように、認証デバイス300は、メモリ304を備えたコントローラ302を含む。一例として、コントローラ302は、図2Aに示される認証コントローラ200に属している。コントローラ302は、電子デバイスに接続できるポートコネクタ306に結合される。ポートコネクタ306は、電源供給ライン(PIN)を介して電子デバイスからコントローラ302とブーストコンバータ308に電源を供給することができる。更に、コントローラ302は、送信通信回線と受信通信回線(TX、RX)を用いてポートコネクタ306を通じて電子デバイスと通信することができる。このような通信を介して、電子デバイスは、認証デバイス300が電子デバイスと共に使用するのが許可されるかどうかを判断することができる。認証デバイス300が許可されたことを電子デバイスが判断した場合、コントローラ302は、イネーブル信号(EN)を使用してブーストコンバータ208を利用可能にする。利用可能になると、ブーストコンバータ308は、ポートコネクタ306から電源供給ライン(PIN)上の入力電圧を受け取り、電源供給ライン上のブーストされた出力電圧(POUT)をUSBコネクタ310に出力することができる。例えば、入力電圧は3.3ボルトとすることができ、ブーストされた出力電圧は5.0ボルトとすることができる。また、USBコネクタ310はポートコネクタ306から異なるデータ回線のペア(D+、D−)を受けて、電子デバイスとUSBコネクタ310に結合可能なアクセサリデバイスとの間のデータ送信を可能にする。
【0043】
この実施形態では、認証デバイス300は、電子デバイスをUSBホストなどのホストデバイスに変換するよう動作する。通常、電子デバイスはUSBデバイスであり、ホストデバイスではないが、電子デバイスに認証デバイス300を取り付けることによって、電子デバイスをホストデバイスに変換することができる。ホストデバイスは、あらゆるUSBデバイスをUSBコネクタ310に接続することができるようにUSB準拠とすることができる。いずれの場合においても、USBポートを備えたあらゆるアクセサリデバイスを、認証デバイス300を介して電子デバイスに接続させることができる。
【0044】
本発明によって利用される認証技術を用いて、ホストデバイスがアクセサリデバイスを認証することができ、或いはアクセサリデバイスがホストデバイスを認証することができる。ホストデバイスとアクセサリデバイスとの間の認証プロセスは、認証デバイスとホストデバイスとの間で結合している間のどの時点においても開始することができる。例えば、認証プロセスは、ホストデバイスへのアクセサリデバイスの接続時、又は制限された機能の最初の使用時、或いは定期的に開始することができる。
【0045】
図4Aは、本発明の1つの実施形態によるホスト認証プロセス400のフロー図である。ホスト認証プロセス400は、例えば、ホストデバイスによって実行される。
【0046】
ホスト認証プロセス400は最初に、認証されることになるアクセサリデバイスに関連付けられたデバイス識別子を受け取る402。更に、認証値がアクセサリデバイスから受け取られる404。ここでホストデバイスが認証プロセスを行い、従ってアクセサリデバイスは、認証値をホストデバイスに供給する。1つの実施形態において、認証値を求める際に、アクセサリデバイスは乱数と秘密キーを利用する。乱数は、ホストデバイスによってアクセサリデバイスに供給することができ、或いは乱数は、アクセサリデバイスから入手可能である。
【0047】
次に、ホスト認証プロセス400は、アクセサリデバイスが認証値とデバイス識別子に基づいて認証されるかどうかを判断する406。次に、決定408は、アクセサリデバイスがブロック406で行われた判断に基づいて認証されているかどうかを判断する。アクセサリデバイスが認証されていると判断されたことを決定408が判断すると、アクセサリデバイスをホストデバイスとともに使用することが許可される410。許可される使用の性質410は、実施に応じて変えることができる。例えば、許可された使用410は、アクセサリデバイスの完全な使用を可能にするか、或いはアクセサリデバイスの使用を限定する。
【0048】
他方、アクセサリデバイスが認証されていないと決定408が判断すると、ブロック410は迂回され、アクセサリデバイスとホストデバイスの使用は許可されない。この場合、アクセサリデバイスが認証されていると判断されなかったので、アクセサリデバイスをホストデバイスとともに使用することは、実質的に限定されるか或いは阻止される。ブロック410に続き、或いは迂回されると、ホスト認証プロセス400は完了し終了する。
【0049】
図4Bは、本発明の1つの実施形態によるアクセサリ認証プロセス450のフロー図である。アクセサリ認証プロセス450は、例えば、アクセサリデバイスによって実行される。
【0050】
アクセサリ認証プロセス450は、アクセサリデバイスに関連付けられた秘密キー識別子をホストデバイスに送る452。秘密キー識別子は、適切な秘密キーを取得するためにホストデバイスによって使用され、該秘密キーは、アクセサリデバイスに送られる認証値を作成する際にホストデバイスによって使用される。アクセサリデバイスは、ホストデバイスから認証値を受け取る454。
【0051】
次に、アクセサリ認証プロセス450は、ホストデバイスが認証値と公開キーに基づいて認証されるかどうかを判断する456。通常、公開キーは、アクセサリデバイスの内部に用意される。次いで、決定458は、ホストデバイスが認証されると判断されているかどうかを判断する。ホストデバイスが認証されたと見なされたことを決定458が判断すると、ホストデバイスをアクセサリデバイスとともに使用することが許可される460。許可される使用の性質460は、実施に応じて変えることができる。例えば、許可された使用460は、ホストデバイスの完全な使用を可能にするか、或いはホストデバイスの使用を限定する。
【0052】
他方、ホストデバイスが認証されないと決定458が判断すると、ブロック460が迂回され、アクセサリデバイスとホストデバイスの使用は実質的に限定されるか、或いは阻止される。ブロック460に続いて、或いは迂回されると、アクセサリ認証プロセス450は完了し終了する。
【0053】
図5A、5Bは、本発明の1つの実施形態によるホストデバイス処理500のフロー図である。ホストデバイス処理500は、例えば、図1Aに示されるモバイルコンピューティングデバイス102、図1Bに示されるモバイルコンピューティングデバイス152、又はモバイルコンピューティングデバイス172などの電子デバイスによって行われる。
【0054】
ホストデバイス処理500は、認証情報をアクセサリデバイスから受け取ったかどうかを判断する決定502から始まる。認証情報を受け取っていないと決定502が判断すると、ホストデバイス処理500は、認証情報の受け取りを待つ。認証情報がホストデバイスで受け取られたことを決定502が判断すると、ホストデバイス処理500は次に進む。すなわち、乱数がホストデバイスで生成される504。通常、乱数は、乱数生成器を用いてのように、ホストデバイスでランダムに生成される504。次に、認証要求がアクセサリデバイスに送られる506。ここで、認証要求は少なくとも1つの乱数を含む。
【0055】
次に、決定508は、認証応答がアクセサリデバイスから受け取られたかどうかを判断する。認証応答が未だ受け取られていないことを決定508が判断すると、ホストデバイス処理500は、このような認証応答の受け取りを待つ。認証応答が受け取られたことを決定508が判断すると、符号化された数とデバイス識別子が、認証応答から抽出される510。
【0056】
次に、デバイス識別子を使用して公開キーを取得することができる512。1つの実施形態において、ホストデバイスは、種々の異なるアクセサリデバイスに割り当てられた複数の公開キーを含む。このような実施形態でのデバイス識別子を用いて、特定のアクセサリデバイスを指定し、従って、公開キーのうちの適切なものの選択を可能にすることができる。次に、符号化された数は公開キーを使用して暗号が復号され514、復号された数を生成する。次に復号された数は、乱数と比較される516。言い換えると、アクセサリデバイスからの認証応答で受け取られた符号化された数から得られる復号された数は、認証要求において以前アクセサリデバイスに送られていた乱数と比較される516。次に決定518は、復号された数が乱数と一致するかどうかを判断する。復号された数が乱数と一致しないことを決定518が判断すると、任意選択的に、アクセサリデバイスが許可されないことをユーザに通知する520。このような通知は、視覚手段又はオーディオ手段によって行うことができる。例えば、視覚通知は、ホストデバイス又はアクセサリデバイスに関連付けられたディスプレイデバイス上に表示することができる。
【0057】
他方、復号された数が乱数と一致することを決定518が判断すると、デバイス識別子と関連付けられた許可された機能が得られる522。その結果、許可された機能が利用可能になる524。次に、アクセサリデバイスがホストデバイスから取り除かれた(又は分離された)かどうかを決定526が判断する。アクセサリデバイスが取り除かれていないことを決定526が判断すると、ホストデバイス処理500は次に進み、許可された機能の利用を可能にする。しかしながら、アクセサリデバイスが取り除かれたことを決定526が判断すると、ホストデバイスの全ての機能が利用できなくなる528。言い換えると、一例として、許可された機能は、セッション中の利用に対して利用可能であるとみなす。セッションは、アクセサリデバイスがホストデバイスに取り付けられたままである限りアクティブに保つ。分離されるとセッションは終了し、次の再取り付けには再認証が必要となる。オペレーション528に続き、同様にオペレーション520に続いて、ホストデバイス処理500は完了し終了する。
【0058】
図6A、6Bは、本発明の1つの実施形態によるアクセサリデバイス処理600のフロー図である。アクセサリデバイス処理600は、例えば、図1Aに示されるアクセサリデバイス112、図1Bに示されるアクセサリデバイス156、又は図1Cに示されるアクセサリデバイス176などのアクセサリデバイスによって行われる。アクセサリデバイス処理600は、図5A、5Bに示されるホストデバイス処理500と対応する処理を表わしている。
【0059】
アクセサリデバイス処理600は、アクセサリデバイスに電源が供給されているかどうかを判断する決定602から始まる。アクセサリデバイスに電源が供給されていないことを決定602が判断すると、アクセサリデバイス処理600は、利用可能な電源を待つ。通常、電源は、アクセサリデバイスがホストデバイスに接続されると直ちにアクセサリデバイスに供給される。従って、決定602は、アクセサリデバイスがホストデバイスに接続されているかどうかを代替的に判断することができる。
【0060】
電源がアクセサリデバイスに供給されていることを決定602が判断すると、認証情報をホストデバイスに送る604。1つの実施形態において、認証情報は、サポートされる1つまたは複数の認証バージョンを示す情報を含む。次に、決定606は、認証要求が受け取られたかどうかを判断する。認証要求が受け取られていないことを決定606が判断すると、アクセサリデバイス処理600は、このような要求を待つ。認証要求を受け取ったことを決定606が判断すると、認証要求において提供された乱数が抽出される608。認証デバイスから秘密キーが取得される610。セキュリティの理由により、秘密キーは認証デバイスの内部に記憶し、認証デバイスの外部から容易にはアクセスすることができないようになっている。次に、秘密キーを使用して乱数が暗号化されて符号化され612、符号化された数を生成する。
【0061】
その後、認証応答がホストデバイスに送られる614。ここで、認証応答は、少なくとも符号化された数とデバイス識別子とを含む。認証応答が送られた614後、ホストデバイスの機能へのアクセスが許可されたかどうかを決定616が判断する。決定616は、能動的又は受動的に解決される。例えば、ホストデバイスは、ホストデバイスの1つまたは複数の機能へのアクセスを許可されていることをアクセサリデバイスに通知する。別の例として、ホストデバイスは、アクセサリデバイスに通知せずに、許可されたホストデバイスの1つまたは複数の機能にアクセサリデバイスがアクセスするのを可能にする。いずれの場合においても、ホストデバイス上の特定の機能へのアクセスが許可されていないことを決定616が判断すると、アクセサリデバイスのオペレーション620は、あるとすれば、ホストデバイスの特定の機能を使用するのが阻止される。実際、1つの実施形態において、ホストデバイスは、アクセサリデバイスのどのようなオペレーションも阻止することができる。一例として、ホストデバイスは、アクセサリデバイスとの通信を阻止し、及び/又はアクセサリデバイスへの電源の供給を停止する。
【0062】
他方、ホストデバイスの特定の機能へのアクセスが許可されていることを決定616が判断すると、アクセサリデバイスは、許可された機能に従って動作する618。言い換えると、許可された場合、アクセサリデバイスは、ホストデバイスと対話し、ホストデバイスによってサポートされる特定の機能を利用することができる。
【0063】
オペレーション618、620に続いて、アクセサリデバイスが取り除かれているかどうか、すなわちアクセサリデバイスがホストデバイスから切り離されているかどうかを決定622が判断する。アクセサリデバイスがホストデバイスに接続されるか又は取り付けられたままであることを決定622が判断すると、適切なオペレーション618又は620が続く。或いは、アクセサリデバイスが取り除かれていることを決定622が判断すると、アクセサリデバイスは、ホストデバイスと対話することがもはや許可されず、従って、ホストデバイスによってサポートされる既に許可されていた機能を利用することはもはやできなくなる。この場合、アクセサリデバイス処理600は終了する。しかしながら、アクセサリデバイスは、アクセサリデバイス処理600を再度行うことによって引き続き再度許可されることが可能である。
【0064】
アクセサリデバイス処理600では、デバイス識別子は認証応答で提供される。別の実施形態では、デバイス識別子は、認証情報などと共に種々にホストデバイスに提供することができる。デバイス識別子はまた、ホストデバイスに別個に提供することができる。
【0065】
図6Cは、本発明の1つの実施形態による許可テーブル650の表である。許可テーブルは、例えば、図2Bに示された許可テーブル254として使用するのに好適である。一般に、許可テーブル650を用いて、所与のアクセサリデバイス用の許可される機能を判断する。許可テーブル650は、デバイス識別子の列652、公開キーの列654、許可される機能の列656を含む。許可テーブル650は、デバイス識別子、公開キー、許可される機能を関連付ける。デバイス識別子を使用すると、ホストデバイスは、特定のデバイス識別子を使用して識別されるアクセサリデバイスを認証することができるかどうかを判断する際に使用される適切な公開キーを確定することができる。アクセサリデバイスの認証が認められた場合、許可機能列656においてデバイス識別子と関連付けられた許可される機能を識別することができる。
【0066】
本発明の1つの態様によれば、ホストデバイスは、ホストデバイスに結合されているアクセサリデバイスを認証するよう動作する。認証が可能なこれらのアクセサリデバイスは、かなりの程度までホストデバイスと相互運用することが許可される。従って、ホストデバイスは、アクセサリデバイスがホストデバイスと相互運用することができる性質と程度を制御することができる。例えば、ホストデバイスは、アクセサリデバイスを認証できない場合にホストデバイスとの相互運用を制限し、又は限定し、或いは阻止することができる。或いは、ホストデバイスは、アクセサリデバイスが認証されたときにホストデバイスとの相互運用をより高めることができる。
【0067】
図7A、7Bは、本発明の1つの実施形態によるアクセサリデバイスプロセス700のフロー図である。図8A−8Cは、本発明の1つの実施形態によるホストデバイスプロセス800のフロー図である。アクセサリデバイスプロセス700は、ホストデバイスとの認証プロセス中にアクセサリデバイスによって行われる。ホストデバイスプロセス800は、アクセサリプロセスとの認証プロセス中にホストデバイスによって行われる。ホストデバイスプロセス800は、アクセサリデバイスプロセス700に対応するプロセスである。言い換えると、認証プロセス中に、ホストデバイスとアクセサリデバイスとの間で情報の交換がある。従って認証プロセスの1つの実施形態によれば、図7A、7Bは、アクセサリデバイスによって行われる処理を表わし、図8A−8Cはホストデバイスによって行われる処理を表わす。これらの図面に示される認証プロセスは実質的に連続するものとして示されているが、認証プロセスは一般には、認証だけでなく次のオペレーションのための情報を交換するためにアクセサリデバイスとホストデバイスによって利用されるプロトコルであると考えることができる点を理解されたい。1つの実施形態において、このようなプロトコルは、クライアントサーバー又はマスター−スレーブ実装などにおいて実質的に並行するものと考えられる。
【0068】
図7A、7Bは、本発明の1つの実施形態によるアクセサリデバイスプロセス700のフロー図である。アクセサリデバイスプロセス700は、決定702から始まる。決定702は、アクセサリデバイスがホストデバイスに接続されているかどうかを判断する。通常、決定702は、コネクタによるアクセサリデバイスのホストデバイスへの最近の接続を検出する。いずれの場合においても、アクセサリデバイスがホストデバイスに接続されていないことを決定702が判断する場合、アクセサリデバイス処理700は、このような接続を効果的に待っている。言い換えると、アクセサリデバイスプロセス700は、アクセサリデバイスがホストデバイスに接続したときに呼び出される。
【0069】
アクセサリデバイスがホストデバイスに接続されていることを決定702が判断すると、アクセサリデバイスプロセス700は次に進む。アクセサリデバイスプロセス700が次に進むと、認証制御情報が、アクセサリデバイスからホストデバイスに送られる704。一例として、認証制御情報は、アクセサリデバイスのタイプ、認証がサポートされるかどうか、認証されるタイミング、及び/又はアクセサリデバイスの電源条件を指定することができる。アクセサリデバイスのタイプの特定の例は、マイクロフォン、シンプルリモート、ディスプレイリモート、リモートユーザインタフェース、RF送信器、USB制御ホストである。アクセサリデバイスの認証ステータスは、自発的に、或いはホストデバイスからのコマンド又は応答に応じてクリアされる706。ここで、アクセサリデバイスが接続されているときには必ず認証ステータスをクリアする706ことによって、アクセサリデバイスは、ホストデバイスが認証する必要があることを理解することができる。
【0070】
次に決定710は、デバイス認証情報要求が受け取られたかどうかを判断する。ここで、デバイス認証情報要求は、ホストデバイスによってアクセサリデバイスに送られる。デバイス認証情報要求は、認証プロセス中にホストデバイスによって利用されるアクセサリデバイスからのある情報を要求するよう機能する。デバイス認証情報要求が未だ受け取られていないことを決定710が判断する場合、アクセサリデバイスプロセス700はこのような要求を待つ。デバイス認証情報要求が受け取られたことを決定710が判断すると、デバイス認証情報がアクセサリデバイスから取得される712。一例として、デバイス認証情報は、デバイス識別子とバージョンインジケータとを含む。デバイス識別子は、ベンダー識別子、製品識別子、又はその両方に関連している。バージョンインジケータは、サポートされるプロトコルバージョンを含む。次いで、デバイス認証情報は、ホストデバイスに送られる714。
【0071】
次に、決定716は、認証要求がホストデバイスから受け取られたかどうかを判断する。ここで、認証要求は、アクセサリデバイスを認証するのに利用されるデジタル署名を含む認証応答を提供するためのホストデバイスからの要求である。認証要求が受け取られていないことを決定716が判断した場合、アクセサリデバイスプロセス700はこのような要求を待つ。認証要求が受け取られたことを決定716が判断すると、ホスト乱数が認証要求から抽出される718。認証要求は、認証プロセスで使用されることになるホスト乱数を少なくとも含む。
【0072】
次に、アクセサリデバイス内部の秘密キーが取得される720。デバイスデジタル署名は、少なくともホスト乱数、秘密キー、デバイス乱数を用いて計算することができる722。デバイス乱数は、アクセサリデバイス内で生成されるか、利用可能である。デバイスデジタル署名は、アクセサリデバイスを認証するためにホストデバイスによって使用される暗号値である。次いで、認証応答がホストデバイスに送られる724。デバイスデジタル署名を少なくとも含むように認証応答が形成される。
【0073】
次に、決定726は、デバイス認証ステータスがホストデバイスから受け取られたかどうかを判断する。デバイス認証ステータスが受け取られていないことを決定726が判断した場合、アクセサリデバイスプロセス700はこのような情報を待つ。デバイス認証ステータスが受け取られたことを決定726が判断すると、デバイス認証ステータスは、アクセサリデバイス上に記憶することができる728。ブロック728に続いて、アクセサリデバイスプロセス700は終了する。
【0074】
図8A−8Cは、本発明の1つの実施形態によるホストデバイスプロセス800のフロー図である。ホストデバイスプロセス800は、認証制御情報がアクセサリデバイスから受け取られたかどうかを判断する決定802から始まる。認証制御情報が受け取られていないことを決定802が判断した場合、ホストデバイスプロセス800はこのような情報を待つ。認証制御情報が受け取られたことを決定802が判断すると、ホストデバイスプロセス800は次に進む。言い換えると、ホストデバイス処理800は、認証制御情報が受け取られたときに効果的に呼び出される。
【0075】
ホストデバイスプロセス800が次に進むときに、デバイス認証ステータスはリセット(すなわちクリア)することができる804。従って、認証プロセスがアクセサリデバイスを認証することができるまで、アクセサリデバイスは認証されていないと見なされる。このオペレーションは、アクセサリデバイスがホストデバイスからの接続が解除されているなどの場合、ホストデバイスにおいて既に自動的に行うことができる。
【0076】
次いで、決定806は、アクセサリデバイスが認証制御情報に基づいて認証をサポートするかどうかを判断する。認証がアクセサリデバイスによってサポートされないことを決定806が判断すると、ホストデバイス処理800はアクセサリデバイスを認証せずに終了する。この場合、アクセサリデバイスは、ホストデバイスとの相互運用が制限され、阻止することもできる。
【0077】
他方、認証がアクセサリデバイスによってサポートされることを決定806が判断すると、ホストデバイスプロセス800は次に進む。この時点では、デバイス認証情報要求がアクセサリデバイスに送られる808。次いで、決定810は、デバイス認証情報が受け取られたかどうかを判断する。デバイス認証情報が受け取られていないことを決定810が判断した場合、ホストデバイスプロセス800は、このような情報が受け取られるのを待つ。デバイス認証情報が受け取られことを決定810が判断すると、決定812は、この時点で認証を行う必要があるかどうかを判断する。ここで、ホストデバイスプロセス800は、アクセサリデバイスがホストデバイスに接続された時点に最も近接して認証を実行することができ、或いはアクセサリデバイスが、認証されるデバイスだけが利用可能なホストデバイスの拡張機能を利用することを望む(例えば最初に要求する)定期的時点など、後の時点まで認証を遅延することができる点を理解されたい。従って、認証が直ちに必要とされないことを決定812が判断した場合、ホストデバイスプロセス800は、認証プロセスを行う適切な時間待機する。認証を行う必要があることを決定812が判断すると、ホスト乱数が生成される814。次に、認証要求がアクセサリデバイスに送られる816。認証要求は、生成されているホスト乱数814を少なくとも含む。
【0078】
次いで、決定818は、認証応答がアクセサリデバイスから受け取られたかどうかを判断する。認証応答が受け取られたことを決定818が判断した場合、デバイスデジタル署名が認証応答から抽出される820。公開キーも、アクセサリデバイスと共に使用するために取得される822。1つの実施形態において、ホストデバイスは、種々のデバイス識別子と関連付けられた複数の公開キーを含む。従って、アクセサリデバイスからのデバイス認証情報は、アクセサリデバイスのデバイス識別子を含む。デバイス識別子は、アクセサリデバイスと共に使用するための公開キーを取得する822際に利用することができる。一例として、図6Cに示される認証テーブル650などの認証テーブルを用いて、公開キーを取得することができる。
【0079】
次に、デバイスデジタル署名が、公開キーを使用して確認される824。1つの実施形態において、デジタルデバイス署名の確認824はまた、ホスト乱数を使用する。次いで、決定826は、デジタルデバイス署名が確認されたかどうかを判断する。デバイスデジタル署名が確認されたことを決定826が判断した場合、アクセサリデバイスは認証されたと見なされる828。従って、アクセサリデバイスに関連付けられたコマンドアクセス許可を更新830し、その結果、ホストデバイスは、認証されたデバイスによって許可されるこれらのコマンドをアクセサリデバイスが使用するのを許可することができるようになる。他方、デジタルデバイス署名が確認されていないことを決定826が判断した場合、アクセサリデバイスは認証されていないと見なされる832。ブロック830、832に続いて、デバイス認証ステータスは、アクセサリデバイスに送られる834。デバイス認証ステータスは、ホストデバイスがアクセサリデバイスを認証しているかどうかに関してアクセサリデバイスに通知するのに役立つ。
【0080】
アクセサリデバイスが認証されたと見なされたことをデバイス認証ステータスが示す場合、アクセサリデバイスは次に進み、使用の許可された程度に応じてホストデバイスと対話する。別の例として、アクセサリデバイスが認証されていないと見なされたことをデバイス認証ステータスが示す場合、アクセサリデバイスは、ホストデバイスとの対話を制限され、更に阻止する。いずれの場合においても、アクセサリデバイスが認証されたとみなされる場合には、アクセサリデバイスをホストデバイスとともに使用することの許可される程度はより大きくなる。
【0081】
図9A−9Cは、本発明の1つの実施形態によるアクセサリデバイスプロセス900のフロー図である。図10A、10Bは、本発明の1つの実施形態によるホストデバイスプロセス1000のフロー図である。アクセサリデバイスプロセス900は、ホストデバイスを認証しようとする場合に認証プロセス中にアクセサリデバイスによって実施される。ホストデバイスプロセス1000は、アクセサリプロセスと共に認証プロセス中にホストデバイスによって行われる。ホストプロセスデバイス1000は、アクセサリデバイスプロセス900に対応するプロセスである。言い換えると、認証プロセス中にホストデバイスとアクセサリデバイスとの間で情報の交換がある。従って、認証プロセスの1つの実施形態において、図9A−9Cはアクセサリデバイスによって行われる処理を表わし、図10A、10Bはホストデバイスによって行われる処理を表わす。これらの図面に示される認証プロセスは実質的に連続するものとして示されているが、認証プロセスは、認証のためだけでなく次のオペレーションのための情報を交換するためにアクセサリデバイスやホストデバイスによって利用されるプロトコルと考えることができる点を理解されたい。1つの実施形態において、このようなプロトコルは、クライアントサーバー又はマスター−スレーブ実装などにおいて、実質的に並行するものと考えられる。
【0082】
図9A−9Cは、本発明の1つの実施形態によるアクセサリデバイスプロセス900のフロー図である。アクセサリデバイスプロセス900は、アクセサリデバイスに接続されたホストデバイスを認証しようとする場合にアクセサリデバイスによって実行される。
【0083】
アクセサリデバイスプロセス900は、アクセサリデバイスがホストデバイスに接続されているかどうかを判断する決定902から始まる。アクセサリデバイスがホストデバイスに接続されていないことを決定902が判断した場合、アクセサリデバイスプロセス900は、このような接続を待つ。言い換えると、アクセサリデバイスプロセス900は、アクセサリデバイスがホストデバイスに接続されたときに効果的に呼び出される。1つの実施形態において、アクセサリデバイスがホストデバイスにごく最近接続されたことを判断されたときに、アクセサリデバイス900が呼び出される。しかしながら、他の実施形態では、認証プロセスは後で行ってもよい(例えば、遅延される)。
【0084】
アクセサリデバイスがホストデバイスに接続されていることを決定902が判断すると、認証制御情報がホストデバイスに送られる904。次いで、決定906は、認証制御情報が応答されたかどうかを判断する。認証制御情報が応答されたことを決定906が判断した場合、アクセサリデバイスの認証ステータスをクリアすることができる908。ここで、認証ステータスをクリアする908ことによって、ホストデバイスが接続されているときは必ずアクセサリデバイスによって認証される。
【0085】
次に、ホスト認証情報要求がホストデバイスに送られる910。次いで、決定912は、ホスト認証情報がホストデバイスから受け取られたかどうかを判断する。ホスト認証情報がホストデバイスから受け取られていないことを決定912が判断した場合、アクセサリデバイスプロセス900はこのような情報を待つ。
【0086】
ホスト認証情報が受け取られたことを決定912が判断すると、決定914は、この時点で認証を行う必要があるかどうかを判断する。ここで、接続が検出された直後のように即座に認証プロセスを実施することができ、或いはホストデバイスのコマンド又は拡張機能が要求されるなどの時点まで認証プロセスを遅延させることができる点に留意されたい。いずれの場合においても、認証がこの時点で行われないことを決定914が判断した場合、アクセサリデバイスプロセス900は、認証が行われる適切な時間を待機することができる。
【0087】
認証を行う必要があることを決定914が判断すると、デバイス乱数が生成される916。次に、認証要求がホストデバイスに送られる918。認証要求は、通常、デバイス乱数と秘密キー数字を少なくとも含む。秘密キー数字は、ホストデバイスで秘密キーを選択するのに使用される。
【0088】
次に、決定920は、認証応答がホストデバイスから受け取られたかどうかを判断する。認証応答が受け取られていないことを決定920が判断した場合、アクセサリデバイスプロセス900はこのような応答を待つ。認証応答が受け取られていることを決定920が判断すると、ホストデジタル署名が認証応答から抽出される922。また、公開キーが公開キーインデックスに基づいて取得される924。1つの実施形態において、公開キーインデックスは、ホスト認証情報と共にアクセサリデバイスに提供される。1つの実施形態において、公開キーは、公開キーインデックスを使用してアクセサリデバイスにおいて確定される。例えば、アクセサリデバイスは、複数の種々の公開キーを含むことができ、利用されることになる公開キーの適切なものを公開キーインデックスによって識別することができる。
【0089】
次に、ホストデジタル署名は、公開キーを使用して確認される926。確認926にはデバイス乱数を使用する。その後、決定928は、ホストデジタル署名が確認されているかどうかを判断する。ホストデジタル署名が確認されていることを決定928が判断した場合、ホストデバイスは、認証されたと見なされる930。その結果、ホストデバイスが使用するためのコマンドアクセス許可が更新される932。例えば、ホストデバイスが確認されているので、ホストデバイスとアクセサリデバイスとの間の対話は、少なくともコマンドアクセス許可の範囲までは許可されていると見なされる。或いは、ホストデバイスが確認されていないことを決定928が判断した場合、ホストデバイスは認証されていないものと見なされる934。ブロック932、934に続いて、ホスト認証ステータスはホストデバイスに送る936。ここで、ホスト認証ステータスは、認証プロセスの結果をホストデバイスに通知する。ブロック936に続いて、アクセサリデバイスプロセス900は完了し終了する。
【0090】
図10A、10Bは、本発明の1つの実施形態によるホストデバイス処理1000のフロー図である。ホストデバイス処理1000は、アクセサリデバイスと対話している間にホストデバイスで行われる。ホストデバイス処理1000は、認証プロセス中のアクセサリデバイスプロセス900に対応する処理を表わす。
【0091】
ホストデバイス処理1000は、アクセサリデバイスからの認証制御情報が受け取られているかどうかを判断する決定1002から始まる。認証制御情報が受け取られていないことを決定1002が判断した場合、ホストデバイス処理1000はこのような情報を待つ。認証制御情報が受け取られていることを決定1002が判断すると、ホストデバイス処理1000は次に進む。言い換えると、ホストデバイス処理1000は、アクセサリデバイスからの認証制御情報が受け取られると効果的に呼び出される。
【0092】
ホストデバイス処理1000が次に進む場合、ホスト認証ステータスがリセットされ1004、これによって保有する可能性のあるあらゆる以前の認証ステータスをクリアする。次に、決定1006は、ホスト認証情報要求が受け取られているかどうかを判断する。ホスト認証情報要求が受け取られていないことを決定1006が判断した場合、ホストデバイス処理1000はこのような要求を待つ。ホスト認証情報要求が受け取られていることを決定1006が判断すると、ホスト認証情報をホストデバイスが取得する1008。次いで、ホスト認証情報がアクセサリデバイスに送られる1010。1つの実施形態において、ホスト認証情報はバージョン情報と公開キーインデックスを少なくとも含む。
【0093】
次に、決定1012は、認証要求が受け取られているかどうかを判断する。認証要求が受け取られていないことを決定1012が判断した場合、ホストデバイス処理1000はこのような要求を待つ。認証要求が受け取られていることを決定1012が判断すると、デバイス乱数と秘密キー数字が認証要求から抽出される1014。この実施形態において、アクセサリデバイスから受け取られる認証要求が、ホストデバイスによって利用することができるデバイス乱数と秘密キー数字を少なくとも含む点を理解されたい。次に、秘密キーが秘密キー数字に基づいて取得される1016。ここで、取得される秘密キー1016は、ホストデバイス内部にあり、秘密キー数字の使用によって識別される。
【0094】
次いで、ホストデジタル署名が、デバイス乱数、秘密キー、ホスト乱数を使用して計算される1018。ホスト乱数は、ホストデバイスで生成され、或いは利用可能とすることができる。次にホストデバイスプロセス1000は、認証応答をアクセサリデバイスに送る1020。認証応答は、少なくともホストデジタル署名を含む。
【0095】
その後、決定1022は、ホスト認証ステータスが受け取られているかどうかを判断する。ホスト認証ステータスが受け取られていないことを決定1022が判断した場合、ホストデバイス処理1000はこのような情報を待つ。ホスト認証ステータスが受け取られていることを決定1022が判断すると、認証ステータスはホストデバイスに記憶される1024。この時点で、ホストデバイスは、アクセサリデバイスと共に有する認証ステータスを理解し、これに応じて動作する。ブロック1024に続いて、ホストデバイス処理1000は完了し終了する。
【0096】
本発明の別の態様によれば、電子デバイス、又はホストデバイスはまた、パーソナルコンピュータなどのホストコンピュータに接続することができる。パーソナルコンピュータは、メディアアイテムを記憶し、利用し、管理することができる。メディアアイテムの管理は、ホストコンピュータだけでなく電子デバイスを目的とする。
【0097】
図11は、本発明の1つの実施形態によるメディア管理システム1100のブロック図である。メディア管理システム1100は、ホストコンピュータ1102とメディアプレーヤー1104を含む。ホストコンピュータ1102は通常、パーソナルコンピュータである。他の従来の構成要素の中でもホストコンピュータは、ソフトウェアモジュールである管理モジュール1106を含む。管理モジュール1106は、メディアアイテム(及び/又はプレイリスト)の集中管理のためにホストコンピュータ1102上だけでなくメディアプレーヤー1104上にも設ける。より詳細には、管理モジュール1106は、ホストコンピュータ1102と関連付けられたメディア記憶装置1108内に記憶されたそのメディアアイテムを管理する。管理モジュール1106はまた、メディアデータベース1110と対話し、メディア記憶装置1108内に記憶されたメディアアイテムと関連付けられたメディア情報を記憶する。
【0098】
メディア情報は、メディアアイテムの特性又は属性に関係する。例えば、オーディオメディア又は音声映像メディアの場合、メディア情報は、タイトル、アルバム、トラック、アーティスト、作曲家、ジャンルのうちの1つまたは複数を含む。メディア情報のこれらのタイプは、特定のメディアアイテムに固有である。更に、メディア情報は、メディアアイテムの品質特性に関係する。メディアアイテムの品質特性の例は、ビットレート、サンプルレート、イコライザー設定、ボリューム調整、開始/停止、トータル時間のうちの1つまたは複数を含むことができる。
【0099】
更にまた、ホストコンピュータ1102はプレイモジュール1112を含む。プレイモジュール1112は、メディア記憶装置1108内に記憶された特定のメディアアイテムを再生するのに利用できるソフトウェアモジュールである。プレイモジュール1112はまた、(ディスプレイ画面に)表示するか、或いはメディアデータベース1110からのメディア情報を利用することができる。通常、関心のあるメディア情報は、プレイモジュール1112によって再生されることになるメディアアイテムに対応する。
【0100】
ホストコンピュータ1102はまた、メディアプレーヤー1104内の対応する通信モジュール1116に結合する通信モジュール1114を含む。接続部又はリンク1118は、通信モジュール1114、1116を取り外し可能に結合する。1つの実施形態において、接続部又はリンク1118は、当該技術分野で公知のFIREWIRE(商標)バス又はUSBバスなどのデータバスを提供するケーブルである。別の実施形態において、接続部又はリンク1118は、無線チャンネル又は無線ネットワークを介した接続である。従って、実装に応じて通信モジュール1114、1116は、有線又は無線方式で通信することができる。
【0101】
メディアプレーヤー1104はまた、メディアプレーヤー1104内にメディアアイテムを記憶するメディア記憶装置1120を含む。任意選択的に、メディア記憶装置1120はまた、データ、すなわち非メディアアイテムストレージを記憶することができる。メディア記憶装置1120に記憶されるメディアアイテムは通常、接続部又はリンク1118を介してホストコンピュータ1102から受け取られる。より詳細には、管理モジュール1106は、メディア記憶装置1108上にあるメディアアイテムの全て又は一部を接続部又はリンク1118を介してメディアプレーヤー1104内のメディア記憶装置1120に送る。更に、ホストコンピュータ1102からメディアプレーヤー1104に同様に配信されるメディアアイテムの対応するメディア情報をメディアデータベース1122内に記憶することができる。これに関して、ホストコンピュータ1102内のメディアデータベース1110からの一部のメディア情報は、接続部又はリンク1118を介してメディアプレーヤー1104内のメディアデータベース1122に送られる。更に、メディアアイテムの一部を識別するプレイリストも、管理モジュール1106によって接続部又はリンク1118を介してメディアプレーヤー1104内のメディア記憶装置1120又はメディアデータベース1122に送られる。
【0102】
更に、メディアプレーヤー1104は、メディア記憶装置1120とメディアデータベース1122に結合されるプレイモジュール1124を含む。プレイモジュール1124は、メディア記憶装置1120内に記憶された特定のメディアアイテムを再生するのに利用できるソフトウェアモジュールである。プレイモジュール1124はまた、(ディスプレイ画面上に)表示するか、或いはメディアデータベース1122からのメディア情報を利用することができる。通常、関心のあるメディア情報は、プレイモジュール1124によって再生されるメディアアイテムに対応する。
【0103】
1つの実施形態によれば、メディアプレーヤー1104上で認証プロセスをサポートするために、メディアプレーヤー1104は、認証モジュール1126と認証テーブル1128を更に含む。1つの実装において、認証モジュール1126と認証テーブル1128は、図2Bに関して上述された認証モジュール252と認証テーブル254にそれぞれ対応する。
【0104】
前述のように、アクセサリデバイスを、メディアプレーヤーに結合することができる。図11は、メディアプレーヤー1104に結合可能なアクセサリデバイス1130を示している。1つの実施形態によれば、アクセサリデバイス1130は、認証デバイス1132を含む。認証デバイス1132は、1つの実施形態によるメディアプレーヤー1104上の認証プロセスをサポートするよう動作する。1つの実装において、認証デバイス1132は、図2Aに関して上述された認証コントローラ200に対応する。
【0105】
1つの実施形態において、メディアプレーヤー1104は、メディアプレーヤー1104上のメディアアイテムを管理する能力が限定されているか、或いは該能力を持たない。一方、ホストコンピュータ1102内の管理モジュール1106は、メディアプレーヤー1104上にあるメディアアイテムを間接的に管理することができる。例えば、メディアプレーヤー1104にメディアアイテムを「追加」するために、管理モジュール1106は、メディア記憶装置1108からメディアプレーヤー1104に追加されるメディアアイテムを識別し、次いで識別されたメディアアイテムをメディアプレーヤー1104に配信するよう機能する。別の例として、メディアプレーヤー1104からメディアアイテムを「削除」するために、管理モジュール1106は、メディア記憶装置1108から削除されるメディアアイテムを識別し、次いで識別されたメディアアイテムをメディアプレーヤー1104から削除するよう機能する。更に別の例として、メディアアイテムの特性に対する変更(すなわち修正)が管理モジュール1106を使用してホストコンピュータ1102で行われた場合には、このような特性を、メディアプレーヤー1104上の対応するメディアアイテムに引き継ぐことができる。1つの実装において、追加、削除、及び/又は変更は、メディアプレーヤー1104上のメディアアイテムとホストコンピュータ1102上のメディアアイテムとが同期している間はバッチ状プロセスで行われる。
【0106】
別の実施形態において、メディアプレーヤー1104は、メディアプレーヤー1104上のプレイリストを管理能力が限定されているか、或いは該能力を持たない。しかし、ホストコンピュータ上にあるプレイリストの管理によって、ホストコンピュータ1102内の管理モジュール1106は、メディアプレーヤー1104上にあるプレイリストを間接的に管理することができる。これに関して、プレイリストへの追加、削除、又は変更は、ホストコンピュータ1102上で行われ、配信時にメディアプレーヤー1104に引き継がれる。
【0107】
前述のように、同期は、メディア管理の1形式である。自動的に同期を開始する能力は、上記で既に記載され、関係するアプリケーションにおいて上述されている。しかしながらそれでも尚、デバイス間の同期は、ホストコンピュータとメディアプレーヤーが互いに認識していない場合には、自動同期を阻止するように制限される可能性がある。
【0108】
1つの実施形態によれば、メディアプレーヤーがホストコンピュータに最初に接続された場合(或いはより一般的にはマッチング識別子が存在しない場合)、メディアプレーヤーのユーザは、ユーザがメディアプレーヤーをホストコンピュータにアフィリエイトしたい、割り当てたい、或いはロックしたいかどうかに関して問い合わされる。メディアプレーヤーのユーザがメディアプレーヤーとホストコンピュータとをアフィリエイト、割り当て、又はロックすることを選択した場合、疑似ランダム識別子が取得され、メディアデータベース内か、或いはホストコンピュータとメディアプレーヤーの両方のファイル内に記憶される。1つの実装において、識別子は、ホストコンピュータ又はその管理モジュールと関連付けられた(例えば、これによって既知となる又は生成される)識別子であり、このような識別子は、メディアプレーヤーに送られ、これに記憶される。別の実施において、識別子は、メディアプレーヤーと関連付けられ(例えば、これによって既知となる又は生成される)、ホストコンピュータのファイル又はメディアデータベースに送られ、これらに記憶される。
【0109】
図12は、本発明の1つの実施形態によるメディアプレーヤー1200のブロック図である。メディアプレーヤー1200は、メディアプレーヤー1200の全体のオペレーションを制御するためのマイクロプロセッサ又はコントローラに対応するプロセッサ1202を含む。メディアプレーヤー1200は、ファイルシステム1204及びキャッシュ1206内にメディアアイテムに関係するメディアデータを記憶する。ファイルシステム1204は通常、記憶デバイスである。ファイルシステム1204は通常、メディアプレーヤー1200用の大容量記憶容量である。例えば、記憶デバイスは、フラッシュメモリなどの半導体ベースのメモリとすることができる。ファイルシステム1204は、メディアデータだけでなく非メディアデータ(例えばデータモードで動作される場合に)を記憶することができる。しかしながら、ファイルシステム1204へのアクセス時間が比較的遅いので、メディアプレーヤー1200はまたキャッシュ1206を含む。キャッシュ1206は、例えば、半導体メモリによって構成されるランダムアクセスメモリ(RAM)である。キャッシュ1206への相対的なアクセス時間は、ファイルシステム1204に対するよりもかなり短い。しかしながら、キャッシュ1206は、ファイルシステム1204の大きな記憶容量を持たない。更に、ファイルシステム1204は、アクティブである場合に、キャッシュ1206よりもより多くの電力を消費する。電力消費は、メディアプレーヤー1200がバッテリー(図示せず)給電のポータブルメディアプレーヤーである場合に問題となる場合が多い。メディアプレーヤー1200はまた、RAM1220と読出し専用メモリ(ROM)1222を含む。ROM1222は、不揮発性方式で実行されることになるプログラム、ユーティリティ、又はプロセスを記憶する。RAM1220は、キャッシュ1206などに対して揮発性データ記憶装置を供給する。1つの実施形態において、ROM1220とRAM1222は、ファイルシステム1204を提供する記憶デバイスによって設けられる。
【0110】
メディアプレーヤー1200はまた、メディアプレーヤー1200のユーザがメディアプレーヤー1200と対話できるようにするユーザ入力デバイス1208を含む。例えば、ユーザ入力デバイス1208は、ボタン、キーパッド、ダイヤルなどの多様な形式を取ることができる。更にまた、メディアプレーヤー1200は、ユーザに情報を表示するようにプロセッサ1202によって制御することができるディスプレイ1210(画面ディスプレイ)を含む。ユーザ入力デバイス1208とディスプレイ1210とはまた、タッチスクリーンの場合において組み合わせることができる。データバス1211は、少なくともファイルシステム1204、キャッシュ1206、プロセッサ1202、及びCODEC1212との間のデータ転送を容易にすることができる。
【0111】
1つの実施形態において、メディアプレーヤー1200は、複数のメディアアイテム(例えば曲)をファイルシステム1204内に記憶するように機能する。ユーザがメディアプレーヤーに特定のメディアアイテムを再生させたい場合、利用可能なメディアアイテムのリストがディスプレイ1210上に表示される。次いでユーザ入力デバイス1208を使用して、ユーザは利用可能なメディアアイテムの1つを選択することができる。プロセッサ1202は、特定のメディアアイテムの選択の受けると、特定のメディアアイテムのメディアデータ(例えば、オーディオファイル)をコーダ/デコーダ(CODEC)1212に供給する。次に、CODEC1212は、スピーカ1214用のアナログ出力信号を生成する。スピーカ1214は、メディアプレーヤー1200の内部又はメディアプレーヤー1200の外部のスピーカとすることができる。例えば、メディアプレーヤー1200に接続されるヘッドフォン又はイヤフォンは、外部スピーカと考えられる。
【0112】
メディアプレーヤー1200はまた、データリンク1218に結合するネットワーク/バスインターフェース1216を含む。データリンク1218によってメディアプレーヤー1200は、ホストコンピュータ又はアクセサリデバイスに結合できるようになる。データリンク1218は、有線接続又は無線接続を介して形成される。無線接続の場合、ネットワーク/バスインターフェース1216は、無線送受信器を含む。
【0113】
1つの実装において、ホストコンピュータは、ホストコンピュータ上にあるアプリケーションを利用して、メディアデバイスプレイリストを含むプレイリストの利用を可能にし、該リストの管理を行うことができる。1つのこのようなアプリケーションは、カリフォルニア州CupertinoのApple Computer,Inc.によって生産されたiTunes(登録商標)バージョン4.2である。
【0114】
メディアアイテム(メディア資産)は、メディアコンテンツの1つまたは複数の種々のタイプに関係することができる。1つの実施形態において、メディアアイテムは、オーディオトラックである。別の実施形態において、メディアアイテムは画像(例えば、写真)である。しかしながら、他の実施形態では、メディアアイテムは、オーディオ、グラフィック、又はビデオコンテンツのあらゆる組合せとすることができる。
【0115】
上記の説明は、アクセサリデバイス又はホストデバイスを認証するために暗号手法で使用される乱数に言及している。上述された暗号手法は、乱数、公開−秘密キーペア、認証アルゴリズムを使用することができる。乱数はまた、ランダムダイジェストと呼ばれる。公開−秘密キーペア及び認証アルゴリズムは、公知のRSAアルゴリズム又は楕円曲線暗号(ECC)アルゴリズムなどの公開キー暗号システムを利用することができる。RSA実装において一般なより大きなキー(例えば、1024ビット)に比べて比較的小さなキー(例えば、160ビット)を有する低メモリ消費を可能にするECCアルゴリズムを使用することは有利である。低メモリECCアルゴリズムの例は、引用により本明細書に組み込まれる、2005年2月3日に出願された名称「SMALL MEMORY FOOTPRINT FAST ELLIPTIC ENCRYPTION(
小メモリフットプリント高速楕円暗号」の関連米国特許出願第11/ に記載されている。
【0116】
本発明の種々の態様、実施形態、実装、又は特徴は、別個に或いはどのようにも組合せて使用することができる。
【0117】
本発明は、ソフトウェア、ハードウェア、又はハードウェアとソフトウェアの組合せによって実現することができる。本発明はまた、コンピュータ可読媒体上のコンピュータ可読コードとして具現化することができる。コンピュータ可読媒体は、後でコンピュータシステムによって読み取ることができるデータを記憶可能なあらゆるデータ記憶デバイスである。コンピュータ可読媒体の例は、読出し専用メモリ、ランダムアクセスメモリ、CD−ROM、DVD、磁気テープ、光データ記憶デバイス、搬送波を含む。コンピュータ可読媒体はまた、コンピュータ可読コードが分散方式で記憶され実行されるように、ネットワークにより結合されたコンピュータシステムを介して分散させることができる。
【0118】
本発明には多くの利点がある。種々の態様、実施形態、又は実装は、以下の利点の1つまたは複数有する。本発明の1つの利点は、ホストデバイスとのアクセサリ対話の管理を制御することができることである。この結果、電子デバイスは、その機能の一部又は全ての利用を許可されたと見なされるアクセサリデバイスだけに制限することができる。本発明の別の利点は、ホストデバイスと共に利用することが許可されたそのアクセサリデバイスの品質を管理する能力を提供することである。アクセサリデバイスの品質を管理することによって、電子デバイスのオペレーションは、低品質のアクセサリデバイスを取り付けることによって低下する可能性が高くないことである。本発明の更に別の利点は、認証プロセスが製造業者又はデバイスベースで電子デバイスの特定の機能へのアクセスを制御することができることである。
【0119】
本発明の多くの特徴及び利点は、本明細書から明らかであり、従って、本発明の全てのこのような特徴や利点を保護することが、添付の請求項によって意図される。更に、当業者であれば多くの修正や変更が容易に想起されるので、本発明は、例され説明された構成及び動作に限定されないものとする。従って、全ての適切な修正及び均等物は、本発明の範囲内にあるものとして用いることができる。
【符号の説明】
【0120】
102 モバイルデバイス
106 認証デバイス
112 アクセサリデバイス

【特許請求の範囲】
【請求項1】
ポータブル電子デバイスと対話するための入力/出力ポートと、
認証アルゴリズムと、
アクセサリデバイスに関連付けられた認証キーと、
少なくとも前記認証アルゴリズムと前記認証キーを使用して認証オペレーションを行うための前記入力/出力ポートに動作可能に接続された認証コントローラと、
一つの認証結果に応答して前記入力/出力ポートを介して前記ポータブル電子デバイスの機能の限られたセットにアクセスするよう、および前記一つの認証結果とは別の認証結果に応答して前記ポータブル電子デバイスの機能のフル・セットにアクセスするように構成されたアクセサリ回路と、
を備え、
前記機能の限られたセットは前記フル・セットより少ない機能を有することを特徴とするポータブル電子デバイス用アクセサリデバイス。
【請求項2】
前記認証オペレーションは、前記アクセサリデバイスを前記ポータブル電子デバイスに対して認証する働きをすることを特徴とする請求項1に記載のアクセサリデバイス。
【請求項3】
前記アクセサリデバイスは、
前記アクセサリデバイスに関連付けられたデバイス識別子を更に含むことを特徴とする請求項2に記載のアクセサリデバイス。
【請求項4】
前記認証キーは秘密キーであり、前記認証コントローラは、前記秘密キーを使用して値を暗号化することを特徴とする請求項1乃至3のいずれかに記載のアクセサリデバイス。
【請求項5】
前記アクセサリデバイスが周辺アダプタであって、
前記アクセサリ回路は、第1電圧レベルを受け取り第2電圧レベルを出力するための電圧ブースターを少なくとも含み、前記第1電圧レベルは、前記アクセサリデバイスが前記ポータブル電子デバイスに接続されたときに前記ポータブル電子デバイスから受け取られ、前記第2電圧レベルは、前記アクセサリデバイスが前記ポータブル電子デバイスによって認証されているときに出力されることを特徴とする請求項1乃至3のいずれかに記載のアクセサリデバイス。
【請求項6】
アクセサリデバイスをメディアプレーヤーに接続するためのコネクタであって、
コネクタ本体と、
前記コネクタ本体内に取り付けられ、前記アクセサリデバイスと前記メディアプレーヤーとの間の電気的接続を形成する働きをする複数の電気的接点と、
前記コネクタ本体内に配置され、前記アクセサリデバイスを前記メディアプレーヤーが認証できるようにする認証キーであって、一つの認証結果に応答してメディアプレーヤの機能に対する前記アクセサリデバイスのアクセスを限定して許可し、および前記認証結果とは異なる認証結果に応答してメディアプレーヤの機能に対する前記アクセサリデバイスのフル・アクセスを許可するための、認証キーを提供するコントローラと、
を有することを特徴とするコネクタ。
【請求項7】
電子デバイスと共に使用することをアクセサリデバイスに許可する方法であって、
(a)前記アクセサリデバイスからデバイス識別子を受け取るステップと、
(b)前記アクセサリデバイスから認証値を受け取るステップと、
(c)前記アクセサリデバイスが前記認証値に基づいて認証されるかどうかを判断するステップと、
(d)前記決定(c)ステップの一つの判断結果に応答して、前記アクセサリデバイスに、前記電子デバイスの特徴のうちの限られたセットについての使用を許可し、および前記一つの判断結果と異なる判断結果に応答して、前記アクセサリデバイスに前記電子デバイスのフル・セットの特徴の使用を許可するステップと、
から構成されることを特徴とする方法。
【請求項8】
前記認証値はデジタル署名であることを特徴とする請求項7に記載の方法。
【請求項9】
前記方法は、
(e)前記アクセサリデバイスが前記電子デバイスから分離されたとき、前記電子デバイスに対する前記アクセサリデバイスの使用許可を解除するステップを更に含むことを特徴とする請求項7又は8に記載の方法。
【請求項10】
電子デバイスとの使用のために、該電子デバイスによってアクセサリデバイスを許可する方法であって、
(a)前記アクセサリデバイスの前記電子デバイスへの取り付けを検出するステップと

(b)前記検出ステップ(a)が前記アクセサリデバイスの取り付けを検出した後、前記アクセサリデバイスに乱数を送るステップと、
(c)その後、前記アクセサリデバイスから符号化された値を受け取るステップと、
(d)前記アクセサリデバイスからデバイス識別子を受け取るステップと、
(e)前記デバイス識別子に基づいて暗号キーを取得するステップと、
(f)前記暗号キーを使用して前記符号化された値を復号し、復号された値を生成するステップと、
(g)前記復号された値が前記乱数に一致するかどうかを判断するステップと、
(h)前記復号された値が前記乱数に一致することを前記判断ステップ(g)が示したときに、前記アクセサリデバイスに、前記電子デバイスの許可された1つまたは複数の特徴の使用を許可するステップと、
から構成され、前記1つまたは複数の許可された特徴は、前記デバイス識別子および前記認証値の両方またはどちらか一方に部分的に基づいて、フル・セットの特徴または限定されたセットの特徴のいずれか一方を含むことを特徴とする方法。
【請求項11】
前記方法は、
(i)その後、前記アクセサリデバイスが前記電子デバイスから分離されているかどうかを判断するステップと、
(j)前記アクセサリデバイスが前記電子デバイスから分離されていると前記判断ステップ(i)が判断した時、前記電子デバイスに対する前記アクセサリデバイスの使用を使用不能にするステップと、
をさらに有することを特徴とする請求項10に記載の方法。
【請求項12】
電子デバイスとの使用のために、該電子デバイスによってアクセサリデバイスを許可する方法であって、
(a)前記アクセサリデバイスの前記電子デバイスへの取り付けを検出するステップと

(b)前記検出ステップ(a)が前記アクセサリデバイスの取り付けを検出した後で、少なくとも1つの乱数を含む認証要求を前記アクセサリデバイスに送るステップと、
(c)その後、前記認証要求に応答して、少なくとも前記アクセサリデバイスに対する符号化された値とデバイス識別子を含む認証応答を前記アクセサリデバイスから受け取るステップと、
(d)前記デバイス識別子に基づいて暗号キーを取得するステップと、
(e)前記暗号キーを使用して前記符号化された値を復号して、該復号された値を生成するステップと、
(f)前記復号された値と前記乱数との間の一致関係に基づいて前記アクセサリデバイスに前記電子デバイスの許可された1つまたは複数の特徴の使用を許可するステップと、
から構成され、
前記1つまたは複数の許可された特徴は、前記デバイス識別子および前記認証値の両方またはどちらか一方に部分的に基づいて、フル・セットの特徴または限定されたセットの特徴のいずれか一方を含むことを特徴とする方法。
【請求項13】
前記許可ステップ(f)は、
(f1)前記復号された値を前記乱数と比較するステップと、
(f2)前記復号された値が前記乱数と一致することを前記比較ステップ(f1)が示す場合に、前記アクセサリデバイスに前記電子デバイスの許可された1つまたは複数の特徴の使用を許可するステップと、
を有することを特徴とする請求項12に記載の方法。
【請求項14】
前記方法は、
(h)その後、前記アクセサリデバイスが前記電子デバイスから分離されているかどうかを判断するステップと、
(i)前記アクセサリデバイスが前記電子デバイスから分離されていることを前記判断ステップ(h)が判断した場合に、前記電子デバイスに対する前記アクセサリデバイスの使用を使用不能にするステップと、
をさらに有することを特徴とする請求項13に記載の方法。
【請求項15】
電子デバイスとの使用をアクセサリデバイスに許可する、前記アクセサリデバイスによって実行される方法であって、
(a)前記電子デバイスから乱数を受け取るステップと、
(b)前記アクセサリデバイス内に提供される少なくとも1つの暗号キーを使用して前記乱数を符号化し、これによって符号化された値を生成するステップと、
(c)前記符号化された値及びデバイス識別子を前記電子デバイスに送るステップと、
(d)ステップ(c)の後、一つの認証結果に応答して前記電子デバイスで許可された機能のうちの限定されたセットにアクセスし、該一つの認証結果と異なる認証結果に応答して前記機能のフル・セットにアクセスするステップと、
から構成されることを特徴とする方法。
【請求項16】
前記方法は、
(e)前記電子デバイスからアクセサリデバイスが認証されたとの指示を受け取るステップをさらに有することを特徴とする請求項15に記載の方法。
【請求項17】
前記方法は、
(e)前記アクセサリデバイスが、前記電子デバイスによって許可されていない場合、限定された方式で前記アクセサリデバイスを動作するステップをさらに有することを特徴とする請求項15に記載の方法。
【請求項18】
メディアプレーヤーとアクセサリデバイスとの間の対話を制御する方法であって、
前記アクセサリデバイスのクラスを判断するステップと、
前記アクセサリデバイスの許可レベルを識別するステップと、
前記アクセサリデバイスのクラスと許可レベルの少なくともどちらか一方に基づいて、前記アクセサリデバイスと共に使用可能な前記メディアデバイスの機能をフル・セットまたは限定されたセットのいずれかで選択的に起動するステップと、
から構成されることを特徴とする方法。
【請求項19】
メディアコンテンツを記憶し、複数の予め確定された機能をサポートするメディアプレーヤーと、
前記メディアプレーヤーに接続可能なアクセサリデバイスと、
を備えるメディアプレーヤーシステムであって、
前記メディアプレーヤーと前記アクセサリデバイスが対話して認証プロセスを行い、
前記認証プロセスの一つの結果に基づいて、前記メディアデバイスの特定機能のうちの限定されたセットが選択的に起動され、その結果前記アクセサリデバイスによる使用が利用可能になり、前記一つの結果と異なる別の結果に基づいて、フル・セットの機能が選択的に起動され、その結果前記アクセサリデバイスによる使用が利用可能になることを特徴とするメディアプレーヤーシステム。
【請求項20】
前記認証プロセスは、暗号キーを前記メディアプレーヤーに提供し、前記メディアプレーヤーは前記暗号キーを使用して前記アクセサリデバイスの起動レベルを判断することを特徴とする請求項19に記載のメディアプレーヤーシステム。
【請求項21】
起動されている前記メディアデバイスの特定機能は、前記アクセサリデバイスの前記許可レベルに基づくことを特徴とする請求項20に記載のメディアプレーヤーシステム。
【請求項22】
1つまたは複数のメディアアイテム用のメディアコンテンツを記憶するメディアストレージデバイスと、
前記メディアコンテンツを前記メディアストレージからユーザーに提示するように構成されたメディア表示モジュールと、
アクセサリデバイスを認証するための認証手段と、
を備え、認証結果はアクセサリデバイスがどの程度まで前記ポータブルメディアと対話するように許可されているかを示し、前記ポータブルメディアプレーヤーは前記認証結果により指定された程度までしか前記アクセサリデバイスと対話しないことを特徴とするポータブルメディアプレーヤー。
【請求項23】
ポータブル電子デバイスと通信するための通信手段と、
前記ポータブル電子デバイスとともにアクセサリデバイスを認証する認証手段と、
前記通信手段を介して前記ポータブル電子デバイスを制御する制御手段と、
を備え、前記制御手段は、一つの認証結果に応答して前記ポータブル電子デバイスの機能のうちの限られたセットにアクセスし、前記一つの認証結果と異なる認証結果に応答して前記ポータブル電子デバイスのフル・セットの機能にアクセスするように構成されるアクセサリデバイス。
【請求項24】
ポータブルメディアプレーヤーと通信するための通信手段と、
前記通信手段を介して前記ポータブルメディアプレーヤーとともにアクセサリデバイスを認証する認証手段と、
一つの認証結果に応答して前記通信手段を介して前記ポータブルメディアプレーヤーの機能のうちの限られたセットを実行し、前記一つの認証結果と異なる認証結果に応答して前記ポータブルプレーヤのフル・セットの機能を実行するための制御手段と、
を備えるアクセサリデバイス。

【図1A】
image rotate

【図1B】
image rotate

【図1C】
image rotate

【図2A】
image rotate

【図2B】
image rotate

【図3】
image rotate

【図4A】
image rotate

【図4B】
image rotate

【図5A】
image rotate

【図5B】
image rotate

【図6A】
image rotate

【図6B】
image rotate

【図6C】
image rotate

【図7A】
image rotate

【図7B】
image rotate

【図8A】
image rotate

【図8B】
image rotate

【図8C】
image rotate

【図9A】
image rotate

【図9B】
image rotate

【図9C】
image rotate

【図10A】
image rotate

【図10B】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2010−183571(P2010−183571A)
【公開日】平成22年8月19日(2010.8.19)
【国際特許分類】
【出願番号】特願2010−11810(P2010−11810)
【出願日】平成22年1月22日(2010.1.22)
【分割の表示】特願2007−550373(P2007−550373)の分割
【原出願日】平成17年12月13日(2005.12.13)
【出願人】(503260918)アップル インコーポレイテッド (568)
【Fターム(参考)】