(57)【特許請求の範囲】
【請求項１】
主装置に接続された複数の従属装置を認証する方法であって、前記方法は、
前記主装置によってそれぞれのチャレンジを生成して各従属装置に送信する工程と、
各従属装置において、前記それぞれのチャレンジに対するレスポンスを生成してそれを前記主装置に送信する工程と、
を含み、
前記方法は、
前記従属装置のうちの１つのレスポンスを前記主装置によって確認する工程と、
前記レスポンスを生成したものとは異なるそれぞれの従属装置に前記主装置によって残りのレスポンスを戻す工程と、
前記主装置によってそこに戻されたレスポンスを各従属装置によって確認し、かつ前記主装置に前記確認の結果を送信する工程と、
を含むことを特徴とする、方法。
【請求項２】
前記主装置によって順序ｉの従属装置のレスポンスを順序ｉ＋１の従属装置に戻す工程であって、前記ｉは１乃至Ｎ−１の範囲内の整数であり、前記Ｎは従属装置の数である工程と、
順序Ｎの従属装置のレスポンスを前記主装置によって確認する工程と、
前記主装置によって確認されたレスポンスが有効であれば、順序Ｎの従属装置を認証する工程と、
順序ｊの装置によって確認された答えが有効であれば、順序ｊ−１の装置を認証する工程であって、前記ｊは２乃至Ｎの範囲内の整数である工程と、
を含む、請求項１に記載の方法。
【請求項３】
前記主装置はプリンターであり、かつ前記従属装置はインクカートリッジである、請求項１に記載の方法。
【請求項４】
前記主装置は機器であり、かつ前記従属装置は前記機器の消耗装置である、請求項１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、相互接続された電子装置を認証するための技術に関する。
【背景技術】
【０００２】
特定の機器は、周辺装置または消耗品などの取外し可能な装置が備え付けられるように設計されている。特定の状況では、安全性またはサービス品質を理由に、機器製造業者は、取外し可能な装置が認可された提供者によって提供されることを望み、知らない提供元の取外し可能な装置の使用を拒むことがある。そのような状況は、例えばプリンターおよびそのインクカートリッジの場合である。
【０００３】
この場合、当該機器および取外し可能な装置がそれぞれ真正証明書を用いる暗号化回路を備えていてもよい。次いで、当該機器は電源投入時に取外し可能な装置のそれぞれを認証し、その認証が失敗である装置に対して予防措置を講ずることができる。
【０００４】
図１は、複数の周辺装置Ｄ１〜Ｄ３に接続された機器１０の電子ブロック図である。機器１０はプリンターであってもよく、装置Ｄ１〜Ｄ３は同時に使用可能な異なる色のインクカートリッジであってもよい。当該機器は、バスＢを介してメモリーおよびインターフェースに接続されたプロセッサーＣＰＵを備えていてもよい。リードオンリーメモリーＲＯＭは認証動作のための鍵Ｋ’を含んでいてもよい。この鍵Ｋ’は製造業者の主秘密鍵Ｋのための公開鍵であってもよい。インターフェースＩＦは、装置Ｄ１〜Ｄ３と通信するように設計されていてもよい。認証される各周辺装置は、秘密鍵Ｋ１〜Ｋ３と、対応する公開鍵Ｋ１’〜Ｋ３’と、主鍵Ｋによる公開鍵の署名Ｓ１〜Ｓ３の形態の公開鍵の真正証明すなわち真正証明書とを含んでいてもよい。
【０００５】
認証動作は比較的複雑であるため、特に認証される装置の数が大きく、かつ当該機器の計算資源が限られている場合、それらは多大な時間を要することがある。
【発明の概要】
【０００６】
一般に、主装置に接続された複数の従属装置を認証するための方法であって、主装置によってそれぞれのチャレンジを生成して各従属装置に送信する工程と、各従属装置において、それぞれのチャレンジに対するレスポンスを生成してそれを主装置に送信する工程と、従属装置のうちの１つのレスポンスを主装置によって確認する工程と、レスポンスを生成したものとは異なるそれぞれの従属装置に主装置によって残りのレスポンスを戻す工程と、主装置によってそこに戻されたレスポンスを各従属装置によって確認し、かつ主装置に確認の結果を送信する工程とを含む方法が提供される。
【０００７】
本方法は、主装置によって順序ｉの従属装置のレスポンスを順序ｉ＋１の従属装置に戻す工程（ここで、ｉは１〜Ｎ−１の範囲で異なり、Ｎは従属装置の数である）と、順序Ｎの従属装置のレスポンスを主装置によって確認する工程と、主装置によって確認されたレスポンスが有効であれば、順序Ｎの従属装置を認証する工程と、順序ｊの装置によって確認された答えが有効であれば、順序ｊ−１の装置を認証する工程（ここで、ｊはＮから２まで減少する）とを含んでもよい。
【０００８】
主装置はプリンターであってもよく、かつ従属装置はインクカートリッジであってもよい。
【０００９】
本方法を実施するために、チャレンジ−レスポンス機構により主装置によって認証可能な消耗装置は、暗号化動作を実行するように構成され、かつ別の装置によってチャレンジに対して生成されたレスポンスの確認を行うようにプログラムされた超小型回路を備えていてもよい。
【００１０】
消耗装置は、装置それ自体を認証するための鍵と、それ以外の装置によって生成されたレスポンスを確認するための鍵とを格納していてもよい。
【００１１】
消耗装置は、プリンターによって認証することができるインクカートリッジであってもよい。
【００１２】
他の利点および特徴は、例示目的のためにのみ提供され、かつ添付の図面に示されている本発明の特定の実施形態の以下の説明からより明らかになるであろう。
【図面の簡単な説明】
【００１３】
【図１】先に説明した複数の周辺装置に接続された機器の電子回路図である。
【図２】複数の周辺装置に典型的な例示的認証順序を示すタイミング図である。
【図３】いくつかの周辺装置の連鎖認証の例示的実装を示すタイミング図である。
【発明を実施するための形態】
【００１４】
図２は、電源投入時に図１の種類の機器で典型的に行うことができる例示的認証手順を示すタイミング図である。当該機器のホストプロセッサー（ホスト）および認証される周辺装置Ｄ１〜Ｄ３によって行われる動作は、それぞれの垂直軸上に動作の期間を示す長さを有する矩形の形態で示されている。また、その矩形は各種周辺装置に関連する動作を区別するために異なる線で描かれている。要素間の通信は水平の矢印によって表されている。
【００１５】
時間ｔ０から、ホストによって実行されるプログラムは周辺装置の認証手順を開始する。ホストは各装置Ｄ１〜Ｄ３のためにそれぞれのチャレンジｃ１〜ｃ３を生成する。チャレンジは異なってもよく、標準化された大きさの乱数からなる。チャレンジｃ１〜ｃ３は装置Ｄ１〜Ｄ３に連続的に送信され、次いでホストはレスポンスの可用性を待つ。
【００１６】
装置Ｄ１〜Ｄ３はそれぞれ、標準化されていてもよい公知の機構に従って受信したチャレンジに対してレスポンスｒ１〜ｒ３を計算する。このレスポンスは例えば、当該装置に含まれる秘密鍵Ｋ１〜Ｋ３を用いる受信したチャレンジに対して計算される署名、レスポンスチャレンジおよび識別子を含む。計算されたレスポンスは当該装置によって格納され、当該ホストによるそれらの読み込みを待ってもよい。
【００１７】
時間ｔ１から、ホストは装置Ｄ１のレスポンスｒ１を読み込み、かつその有効性を確認する。この確認は例えば、当該装置の公開鍵Ｋ１’を用いてレスポンスに含めて運ばれた署名を認証する工程、当該装置の証明書Ｓ１を用いて公開鍵Ｋ１’を認証する工程、およびホストに知られている公開鍵Ｋ’を用いて証明書Ｓ１を認証する工程を含んでもよい。
【００１８】
実際には、ホストは時間ｔ０から装置Ｄ１を周期的にポーリングしてレスポンスｒ１の可用性を確認してもよい。当該レスポンスが現在のポーリングにおいて準備されていなければ、ポーリングは繰り返される。レスポンスが準備されたらそれを読み込み、ホストは確認を続ける。
【００１９】
時間ｔ２では、ホストはレスポンスｒ１の確認を完了している。レスポンスｒ１が有効であれば、ホストは装置Ｄ１が真正である（Ｄ１に問題はない）ことを登録してもよい。次いで、ホストは次の装置Ｄ２によって生成されたレスポンスｒ２を読み込み、このレスポンスの確認を続ける。
【００２０】
時間ｔ３では、ホストはレスポンスｒ２の確認を完了している。レスポンスｒ２が有効であれば、ホストは装置Ｄ２が真正である（Ｄ２に問題はない）ことを登録してもよい。次いで、ホストは最後の装置Ｄ３によって生成されたレスポンスｒ３を読み込み、このレスポンスの確認を続ける。
【００２１】
最後に時間ｔ４では、ホストはレスポンスｒ３の確認を完了している。レスポンスｒ３が有効であれば、ホストは最後の装置Ｄ３が真正である（Ｄ３に問題はない）ことを登録してもよい。
【００２２】
いずれかの装置で確認が失敗であれば、失敗している装置を有しない場合の当該機器の動作の低下から完全な動作拒否までの失敗している装置の内容および性質に応じた様々な措置を講じてもよい。
【００２３】
レスポンスを生成および確認するために使用される署名計算は一般に、最大数百ビットの大きな数に対する比較的複雑な暗号化計算を含む。特定のプリンターの場合であるが、ホストシステムは組み込み型で少ない計算資源を有する低価格のものであるかもしれない。この場合、認証される装置の数（例えば、特定のプリンター内の８つのカートリッジ）に比例する複雑な確認動作は数秒間に及ぶ場合があり、これは当該機器の電源投入段階で禁止される場合もある。
【００２４】
図２に示すように、認証される各装置は実際にはローカルの秘密鍵に基づき、受信されるチャレンジに対してレスポンスを生成するように設計されており、従って暗号化機能を実行する。暗号化機能は実際には、ハードウェアアクセラレーターに付随するマイクロコントローラー、または暗号化機能専用のコプロセッサーを有する安価な専用の超小型回路によって提供されてもよい。その例は、Inside Secure社によって販売されているＶａｕｌｔＩＣ（商標）ファミリーの回路である。マイクロコントローラーはホストプロセッサーよりも少ない計算電力を有する場合もあるが、コプロセッサー性能はホストプロセッサーと少なくとも同程度に速く署名を計算することができるような性能である。
【００２５】
いくつかの装置の認証段階を加速するために、本明細書ではホストプロセッサーの代わりに機能する周辺装置専用の超小型回路の計算資源を使用することが提案されている。以下に開示する方法では、知らない提供者のものかもしれない周辺装置に確認工程を分配させる。この方法は、考慮される確認結果がそれ自体が認証されている装置によって生成されたものであることを保証する信頼の連鎖をさらに確立する。
【００２６】
図３は、図２と同じ内容および表記法を用いた、そのような連鎖および分配式の認証段階の例示的実装を示すタイミング図である。
【００２７】
時間ｔ０から、図２の場合と同様に、ホストによって実行されるプログラムは周辺装置の認証手順を開始する。ホストは各装置Ｄ１〜Ｄ３のためにそれぞれのチャレンジｃ１〜ｃ３を生成する。チャレンジｃ１〜ｃ３は装置Ｄ１〜Ｄ３に連続的に送信され、次いでホストはレスポンスの可用性を待つ。
【００２８】
図２の場合と同様に、装置Ｄ１〜Ｄ３はそれぞれ受信したチャレンジに対してレスポンスｒ１〜ｒ３を計算する。これらのレスポンスは当該装置によって格納され、当該ホストによるそれらの読み込みを待ってもよい。
【００２９】
時間ｔ１から、ホストは装置Ｄ１のレスポンスｒ１を読み込む。レスポンスの確認計算を開始する代わりにレスポンスｒ１を保留して当該装置の別の装置、例えばＤ２の可用性を待つ。
【００３０】
時間ｔ２では、ホストは装置Ｄ２によって生成されたレスポンスｒ２を読み込む。この読み込みは装置Ｄ２が利用可能であることを意味する。ホストは装置Ｄ２に確認を行わせるために、レスポンスｒ１を装置Ｄ２に直接転送する。レスポンスｒ２を保留して、当該装置の別の装置、例えばＤ３の可用性を待つ。
【００３１】
装置Ｄ２によって行われる確認はホストと同じように行われる。確認の結果は、やがてホストによって読み込まれるように装置Ｄ２に一時的に格納される。
【００３２】
このように、周辺装置はその鍵Ｋ２およびＫ２’に加えて公開鍵Ｋ’を含み、確認動作を行うように修正されている。その動作は超小型回路のプログラムの修正によって実装されてもよい。ホストによって転送されるレスポンスは、当該装置によって行われる動作の性質を特定するメッセージに含まれていてもよい。
【００３３】
時間ｔ３では、ホストは装置Ｄ３によって生成されたレスポンスｒ３を読み込む。この読み込みは装置Ｄ３が利用可能であることを意味する。ホストは装置Ｄ３に確認を行わせるために、レスポンスｒ２を装置Ｄ３に直接転送する。
【００３４】
信頼の連鎖を開始するために、ホストは最後の装置Ｄ３のレスポンスｒ３を確認する。図示のように、ホストによるレスポンスｒ３の確認は、装置Ｄ２およびＤ３によるレスポンスｒ１およびｒ２の確認と実質的に並行して行われる。
【００３５】
このように、認証段階の全期間は、ホストと当該装置との間でのレスポンスおよび結果の転送時間によって増加される最長確認期間まで実質的に減少する。
【００３６】
時間ｔ４では、ホストはレスポンスｒ３の確認を終了しており、原則として装置Ｄ３が真正である（Ｄ３に問題はない）ことを登録する。
【００３７】
時間ｔ５では、ホストは装置Ｄ３によって生成された確認結果Ｄ２が問題ないことを読み込む。装置Ｄ３は認証されているため、ホストはそれが生成する結果を信頼することができる。この結果は原則として装置Ｄ２を認証するものである。
【００３８】
最後に、ホストは装置Ｄ２によって生成された確認結果Ｄ１が問題ないことを読み込む。装置Ｄ２は認証されているため、ホストはそれが生成する結果を信頼することができ、この結果は原則として装置Ｄ１を認証するものである。
【００３９】
このように、装置Ｄ３〜Ｄ１はそれぞれホストまたはホストから開始する信頼の連鎖に従って、それ自体が認証されている装置によって順番に認証される。
【００４０】
不正装置は、常にホストに有効な確認結果を提供するように設計されている可能性がある。しかし、この試みは、別の認証されている装置またはホストによって確認されるチャレンジに対するそのレスポンスの確認の際に、その不正装置が真正でないものとして検出されることにより妨害される。このように、不正装置によって生成された結果は考慮されない。さらに、不正装置によって生成される結果は別の装置に関するものであり、不正装置それ自体に関するものではない。
【００４１】
本方法のワンパスにより当該連鎖の最初の真正でない装置を特定することができる。次いで、当該連鎖における次の装置の認証が損なわれることがあるため、このパスを停止してもよい。図３の例では、装置Ｄ３が真正でなければ、これがホストによって検出される。次いでホストは、装置Ｄ３が装置Ｄ２に提供する結果について装置Ｄ３を疑うことができる。
【００４２】
真正でない装置を全て検出したければ、本方法のいくつかのパスを行い、毎回異なる装置で当該連鎖を開始してもよい。さらに、特定の種類の攻撃を妨害するために、最初のパスを、例えばランダムに選択される毎回異なる装置で当該連鎖を開始するようにさらに設計してもよい。
【００４３】
これまで説明してきた方法を、任意の数の相互接続された装置で使用することができる。一般に、Ｎ個の従属装置を認証するように１つの主装置を設計することができる。次いで、主装置は、１〜Ｎ−１の範囲で異なるｉでは、順序ｉの従属装置のレスポンスを順序ｉ＋１の従属装置に戻し、主装置は順序Ｎの従属装置のレスポンスを確認する。主装置によって確認される答えが有効であれば、順序Ｎの従属装置は真正である。次いで、Ｎから２まで減少するｊでは、順序ｊの装置によって確認される答えが有効であれば、順序ｊ−１の装置は真正である。
【００４４】
消耗装置（従属装置）を用いる多くの種類の機器（主装置）において本方法を使用することができる。プリンターおよびそのインクカートリッジを例として挙げた。他の例としては、ホットドリンクマシーンおよびそのリフィル、トレース台およびそのペン、パラメーター管理システムおよびそのセンサーなどが挙げられる。
【図１】
0006676065.tif 000002
【図２】
0006676065.tif 000003
【図３】
0006676065.tif 000004