(57)【要約】      （修正有）【課題】欠陥のある供給装置や偽造された供給装置がホスト装置に取り付けられたときに、供給装置とホスト装置との間の通信を防止する手段を提供する。【解決手段】インクジェット印刷システム３００において、プリントエンジン３０２のコントローラ１０６に接続されたインクカートリッジ３０６のマイクロコントローラ１１２は、コントローラ１０６から受信したタイミング・チャレンジに対して、高速演算可能なマイクロコントローラ専用チャレンジロジック１３２によりチャレンジ・レスポンスを計算し、コントローラ１０６に返信する。コントローラ１０６は、期待されるチャレンジ・レスポンスが、期待される時間窓内のチャレンジ・レスポンス時間で提供されたときにインクカートリッジ３０６を認証する。【選択図】図３
2018107805.tif 000002
【特許請求の範囲】
【請求項１】
ホスト装置からタイミング・チャレンジを受信し、チャレンジ・レスポンスを前記ホスト装置に提供するように構成された交換式供給装置であって、
前記タイミング・チャレンジに応答し、計算を実施するように構成された専用ハードウェアロジックであって、前記計算により前記チャレンジ・レスポンスが提供される、専用ハードウェアロジックを含む、交換式供給装置。
【請求項２】
前記専用ハードウェアロジックは、前記タイミング・チャレンジにより指定された計算カウントに等しい回数だけ前記計算を実施することにより、前記チャレンジ・レスポンスを提供するように構成されている、請求項１に記載の交換式供給装置。
【請求項３】
最初の計算では、前記タイミング・チャレンジにより指定された乱数シード、及びセッション・キーを使用して出力が生成され、その後の各計算では、先行する計算の出力が使用される、請求項２に記載の交換式供給装置。
【請求項４】
最後の計算から、前記チャレンジ・レスポンスが得られる、請求項３に記載の交換式供給装置。
【請求項５】
前記計算カウントに応じて、前記チャレンジ・レスポンスのチャレンジ・レスポンス時間がその範囲内になければならない期待される時間窓を提供する特性データを含む、請求項２〜４の何れか一項に記載の交換式供給装置。
【請求項６】
前記特性データは、複数の異なる計算カウントを複数の異なる期待される時間窓に関連付けるデータの表を含む、請求項５に記載の交換式供給装置。
【請求項７】
傾き切片型の式ｙ＝ｍｘ＋ｂから得られる特性データを含み、前記式中、所与の計算カウント（ｘ）に対し、前記ホスト装置に送信すべき期待時間（ｙ）が決定され、前記チャレンジ・レスポンスのチャレンジ・レスポンス時間がその範囲内になければならない期待される時間窓は、前記期待時間（ｙ）を使用して決定される、請求項２〜４の何れか一項に記載の交換式供給装置。
【請求項８】
前記特性データは、デジタル署名を用いて安全な状態になっている、請求項５〜７の何れか一項に記載の交換式供給装置。
【請求項９】
前記計算の１以上のオペランドは前記計算のたびに変わるが、前記計算自体は変わらない、請求項２、及び、請求項２に直接的または間接的に従属する請求項３〜８の何れか一項に記載の交換式供給装置。
【請求項１０】
一意のＩＤ、及び、前記セッション・キーが導出される元になったベース・キーを含む、請求項３、及び、請求項３に直接的または間接的に従属する請求項４〜９の何れか一項に記載の交換式供給装置。
【請求項１１】
前記計算は、前記専用ハードウェアロジックにおいて実行されるように最適化された一連の演算を定義する基本関数を含む、請求項１〜１０の何れか一項に記載の交換式供給装置。
【請求項１２】
前記交換式供給装置は、交換式インク供給カートリッジまたは交換式トナー供給カートリッジである、請求項１〜１１の何れか一項に記載の交換式供給装置。
【発明の詳細な説明】
【背景技術】
【０００１】
多くのシステムは、システムの機能と一体化された種々の交換式部品を有している。交換式部品は、多くの場合、システムの各使用に伴って使い果たされる消耗材を含んでいる。そのようなシステムとしては、例えば、交換式電池を使用している携帯電話、交換式供給装置から薬剤を分注する医療システム、交換式供給カートリッジから流体（例えばインク）やトナーを分注する印刷システムなどが挙げられる。交換式供給装置が正当な製造業者から入手した真正な装置であることを確認することは、システムユーザが、欠陥装置、及び／又は偽造装置の意図しない使用に伴う問題を回避することに役立つ。
【図面の簡単な説明】
【０００２】
次に、図面を参照して、例となる本発明の種々の実施形態について説明する。
【図１】交換式供給装置を認証するのに適した例示的な一般的認証システムの種々の構成要素を示すブロック図である。
【図２】交換式供給装置上に記憶された特性データの一例を示す図である。
【図３】インクジェット印刷システムとして実現された認証システムの一例を示す図である。
【図４】例示的インクジェット・プリント供給カートリッジを示す斜視図である。
【図５】例示的供給装置認証プロセスを示すフロー図である。
【０００３】
図面を通して、同一の参照符号は、類似しているが、必ずしも同一である必要はない要素を示している。
【発明を実施するための形態】
【０００４】
詳細な説明
概要
上記のように、特定システムにおける使用のために、交換式供給装置の真正性を確認することは、システムユーザが、欠陥装置、及び／又は偽造装置の意図しない使用に伴う問題を回避することに役立つ。例えば、消耗品のトナーカートリッジ又はインクカートリッジを採用している印刷システムでは、不注意でカートリッジを偽造カートリッジに交換することは、粗悪な品質の印刷物から、印刷システムに損傷を与えることがある漏れのあるカートリッジまで、様々な問題の原因になる。
【０００５】
交換式装置を認証する従来の方法は、認証情報を記憶する工程を含み、認証情報の記憶には、スマートカード、又は交換式装置（例えば、消費可能なインク／トナー・カートリッジ）上の安全なマイクロコントローラ、及びホスト装置（例えば、プリンタ）が知っている秘密鍵の使用が必要とされる。もし交換式装置が、ホストにより発行されたチャレンジ（問いかけ）に対するレスポンス（応答）であって、自分が適切な鍵を有していることを証明するレスポンスを提供することができる場合、ホストは、その交換式装置が本来の製造業者によって製造されたものと推測し、その交換式装置を認証（真正なものであることを確認）する。この認証方法の一つの弱点は、認証方法が、秘密鍵を保存しておくシステムの能力に依存している点である。もし攻撃者が、ホスト又は交換式装置のいずれかから鍵（一又は複数）を復元できる場合、攻撃者は、盗んだ鍵（複数可）をスマートカード又はマイクロコントローラに記憶することができ、したがって、攻撃者は、チャレンジに対してあたかも本来の製造業者から提供された真正の装置であるかのように応答する交換式装置を作成することが可能となる。一般に、鍵（複数可）が役に立たなくなれば、不真正（すなわち、偽造）の交換式装置のチャレンジ・レスポンス及び他の機能を、安価な標準的マイクロコントローラ上で動作するファームウェアを用いてシミュレートすることが可能となる。
【０００６】
本明細書では、概して、タイミング・チャレンジ・レスポンスにより交換式システム装置の堅牢な認証を可能にする認証システム、及び供給装置認証プロセスが開示される。プリンタのようなホストは、消耗品のインク・カートリッジ又はトナー・カートリッジのような交換式装置に取り付けられた安全なマイクロコントローラに対して、暗号化タイミング・チャレンジを発行する。このチャレンジは、消耗品装置（すなわち、消耗品装置上のマイクロコントローラ）に対し、ホスト／プリンタにより供給されたデータに基づいて多数の数学的演算を実施することを要求する。プリンタは、消耗品装置がタスクを完了するまでに要する時間を監視し、消耗品装置により提供されたレスポンスを独自に確認する。もし、レスポンスと、レスポンスを計算する間の経過時間との両方が、プリンタが期待したものと合致した場合、プリンタは、その消耗品装置が真正の装置であると結論付ける。もし、レスポンス、又は、レスポンスを計算する間の経過時間のいずれか（あるいは両方）が、プリンタが期待したものと合致しなかった場合、プリンタは、その消耗品装置は真正の装置ではないものと結論付ける。
【０００７】
チャレンジに基づく数学的演算は、消耗品装置のマイクロコントローラの中で、その演算のために特に設計された専用ハードウェアロジックによって実施される。この専用ロジックは、ファームウェアを実行する標準的マイクロコントローラによって通常達成可能な速度に比べて大幅に高速に数学的計算を実施することにより、チャレンジ・レスポンスを実現する機能を有している。したがって、マイクロコントローラ内に盗まれた鍵（複数可）が記憶された不真正／偽造の交換式装置は、正しいチャレンジ・レスポンスを行う機能を有している場合がある。ただし、そのような偽造装置は、ホスト装置が期待する時間枠内でチャレンジ・レスポンスを達成する機能を有していない。
【０００８】
一例示的実施形態において、プリント供給カートリッジは、タイミング・チャレンジを受信し、期待される時間窓内のチャレンジ・レスポンス時間でチャレンジ・レスポンスを提供することによってカートリッジの認証を可能にするマイクロコントローラを含む。他の実施形態において、カートリッジはさらに、マイクロコントローラ上に、タイミング・チャレンジに応答して数学的計算を実施するための専用ハードウェアロジックを含む。数学的計算の実施により、チャレンジ・レスポンスは、期待される時間窓内に生成される。
【０００９】
他の例示的実施形態において、交換式供給装置は、マイクロコントローラを含む。マイクロコントローラは、ホスト装置と共にセッション・キーを導出するためのものであり、また、ホスト装置から、乱数シード、前記セッション・キー、及び計算サイクルを指定する時間依存チャレンジを受信するためのものでもある。交換式装置は、マイクロコントローラ内に、計算サイクルに等しい回数だけチャレンジ計算を実施するための専用ロジックをさらに含み、最初の計算では、乱数シード、及びセッション・キーを使用して出力が生成され、その後の各計算では、先行する計算の出力が使用される。
【００１０】
他の例示的実施形態において、認証システムは、ホスト装置と、ホスト装置に一体化されたコントローラと、コントローラ上で実行可能な認証アルゴリズムであって、暗号化タイミング・チャレンジを発行し、供給装置が、期待される時間窓内のチャレンジ・レスポンス時間でチャレンジ・レスポンスを提供した場合、その供給装置を認証するための認証アルゴリズムとを含む。
【００１１】
他の例示的実施形態において、認証システムは、コントローラ及びメモリを有するプリンタを含む。認証システムは、メモリに記憶された、コントローラ上で実行可能な認証アルゴリズムであって、暗号化タイミング・チャレンジを発行し、期待される時間窓内にプリント供給カートリッジが、期待される応答に対応するチャレンジ・レスポンスを提供した場合、そのプリント供給カートリッジを認証するための認証アルゴリズムをさらに含む。
【００１２】
他の例示的実施形態において、非一時的プロセッサ読取可能媒体は、プロセッサにより実行されたときに、プロセッサに、供給装置を認識させ、暗号化タイミング・チャレンジをその供給装置に向けて発行させる命令を表すコードを記憶している。タイミング・チャレンジは、セッション・キー、乱数シード、及び計算カウントを含むデータに対し、数学的計算を実施すべきことを要求する。命令はさらに、プロセッサに、チャレンジ・レスポンス時間において供給装置からチャレンジ・レスポンスを受信させ、チャレンジ・レスポンスが期待される応答と合致し、かつ、チャレンジ・レスポンス時間が期待される時間窓内にある場合、その供給装置を認証させる。
【００１３】
例示的実施形態
図１は、交換式供給装置を認証するのに適した例示的な一般的認証システム１００の種々の構成要素を示すブロック図を示している。認証システム１００は、ホスト装置１０２、及び交換式供給装置１０４を含む。ホスト装置１０２は、コントローラ１０６を含み、コントローラ１０６は通常、認証システム１００の一般的機能を制御するとともに、供給装置１０４と通信し、供給装置１０４を制御するために、プロセッサ（ＣＰＵ）１０８、メモリ１１０、ファームウェア、及び他の電子部品のような、標準的コンピューティング・システムの種々の構成要素を含む。メモリ１１０は、アルゴリズム、プログラム・モジュール、データ構造、ＪＤＦなどの形でコンピュータ／プロセッサ読取可能な符号化命令、及び／又はデータの記憶を提供する揮発性記憶要素（すなわち、ＲＡＭ）、及び不揮発性記憶要素（例えば、ＲＯＭ、ハードディスク、フロッピー（登録商標）・ディスク、ＣＤ−ＲＯＭなど）の両方の記憶要素を含む場合がある。供給装置１０４は、マイクロコントローラ１１２（すなわち、スマートカード）を含み、マイクロコントローラ１１２もまた、プロセッサ（ＣＰＵ）１１４、及びメモリ１１６を含む。
【００１４】
一般に、ホスト装置１０２と供給装置１０４は、ホスト装置１０２の電源投入時に、標準的暗号化アルゴリズム１１８を使用して、標準的暗号化技術により、安全な通信を確立する。例えば、暗号化アルゴリズム１１８を実行している場合（すなわち、プロセッサ１０８上で）、ホスト装置１０２は、供給装置１０４に一意のＩＤ１２０を要求することができ、暗号関係を通して、その供給装置の「ベース・キー」１２２を決定することができる。ベース・キー１２２を使用することで、ホスト装置と供給装置は、現在の情報交換のための安全な通信を可能にする秘密の「セッション・キー」１２４を導出することができる。ホスト装置１０２は、ホスト装置１０２が電源投入されるたびに、及び新たな供給装置１０４が取り付けられるたびに、このような形でベース・キー１２２を決定する。ベース・キー１２２は、同じままであり、変化しない。ただし、ホスト装置１０２と供給装置１０４との間で情報交換が行われるたびに、新たな異なるセッション・キー１２４が導出される。
【００１５】
一実施形態において、メモリ１１０は、交換式供給装置１０４の真正性を判断するために、コントローラ１０６のプロセッサ１０８において実行可能な認証アルゴリズム１２６を含む。供給装置１０４が認証アルゴリズム１２６により発行された暗号化タイミング・チャレンジ１２８に正しく応答した場合であって、かつ、そのチャレンジに対するレスポンス１３０が、期待される時間窓内に完了した場合、その供給装置１０４は、真正なものであると判断される。したがって、チャレンジ・レスポンス１３０の値は正しいが、チャレンジ・レスポンス時間１３１が期待される時間窓内にない供給装置１０４は、真正なものとは判断されない。同様に、チャレンジ・レスポンス時間１３１は期待される時間窓内にあるが、チャレンジ・レスポンス１３０の値は不正確である供給装置１０４もまた、真正なものとは判断されない。このように、供給装置１０４の真正性は、供給装置１０４が、暗号化タイミング・チャレンジ１２８に対する正しいレスポンス１３０を、期待される時間窓内のチャレンジ・レスポンス時間１３１（すなわち、レスポンス１３０を生成するのに要する時間）で提供するか否かによって決まる。
【００１６】
ホスト装置１０２上の認証アルゴリズム１２６により発行される暗号化タイミング・チャレンジ１２８は、特定のチャレンジ・パラメタを取り込んで特定の数学的計算を実施するための要求を含む。この数学的計算は、特定の回数だけ実施されなければならない。暗号化タイミング・チャレンジ１２８は、導出されたセッション・キー、ホスト装置１０２上でコントローラ１０６により生成された乱数シード値、及び、実施すべき計算の回数を示す計算カウント又は計算サイクルを含むそれらのチャレンジ・パラメタを含み、又は伴う。数学的計算は、セッション・キーを使用して、乱数シード値に対する演算から開始される。計算カウントに達するまで、各計算の結果、すなわち出力は、次の計算に繰り返しフィードバックされる。数学的計算の最後の結果、すなわち出力から、チャレンジ・レスポンス１３０が得られ、チャレンジ・レスポンス１３０は、特定のチャレンジ・レスポンス時間１３１内に完了され、すなわち、計算され終わることになる。チャレンジ・レスポンス時間１３１は、認証アルゴリズム１２６により計測され、例えば、チャレンジを発行したときにタイミング（計時）・シーケンスを開始し、供給装置１０４がチャレンジ・レスポンス１３０を完了し、ホスト装置１０２に返したときにそのタイミング・シーケンスを停止させることによって計測される。チャレンジ・レスポンス時間１３１は、一時的値であり、実施形態によっては、ホストにより決定された時間窓との比較の前に、又は比較を行う間、ホスト装置１０２上の、メモリ１１０の揮発性構成要素に、及び／又は、プロセッサ１０８内に、短時間だけ存在する場合がある。ホスト１０２上の認証アルゴリズム１２６は、チャレンジ・レスポンス１３０、及びチャレンジ・レスポンス時間１３１が正しいか否か（すなわち、期待されたものであるか否か）を判断し、それにしたがって、供給装置１０４を認証する。
【００１７】
引き続き図１を参照すると、供給装置１０４上のマイクロコントローラ１１２は、暗号化タイミング・チャレンジ１２８に基づく数学的計算を実施するための専用ハードウェア・チャレンジ・ロジック１３２を含む。専用チャレンジ・ロジック１３２は、具体的には、特定の数学的計算を最適に実施するように設計され、マイクロコントローラ１１２上に作成される。一例示的実施形態において、数学的計算は、専用ロジック１３２において非常に高速に実行されるように最適化された一連の演算を定義する基本関数を含む。数学的計算、又は関数は、各繰り返しの出力が次の繰り返しの入力の一部とされる形で、何度も繰り返される。すなわち、数学的計算の各繰り返しのたびに、オペランド（計算対象）は変わるが、数学的計算自体は変わらない。さらに、タイミング・チャレンジ１２８に付随するチャレンジ・パラメタ値は、各タイミング・チャレンジ１２８ごとに変わる場合がある。認証アルゴリズム１２６によって供給装置１０４に発行される各タイミング・チャレンジ１２８は、セッション・キー、ホスト装置１０２上でコントローラ１０６により生成された乱数シード値、及び、計算カウント又は計算サイクルによって、異なる値を有する場合がある。したがって、各タイミング・チャレンジ１２８ごとに、チャレンジ・レスポンス１３０、及びチャレンジ・レスポンス時間１３１は、それらのチャレンジ・パラメタ値により決定される。より具体的には、セッション・キー、乱数シード、及び計算カウントはすべて、チャレンジ・レスポンス値１３０に影響を与えるが、計算カウントはさらに、専用チャレンジ・ロジック１３２による数学的計算の繰り返しの回数を変化させることにより、チャレンジ・レスポンス時間１３１にも影響を与える。
【００１８】
上記のように、認証アルゴリズム１２６は、チャレンジ・レスポンス１３０、及びチャレンジ・レスポンス時間１３１が正しいもの、すなわち、期待されるものであるか否かを判断する。これは、チャレンジ・レスポンス１３０、及びレスポンス時間１３１を正しい値、すなわち期待値と比較することにより行われる。異なる実施形態では、アルゴリズム１２６は、異なる方法で正しい値、すなわち期待値を決定する。一実施形態において、アルゴリズム１２６は、例えば、供給措置１０４に記憶された特性データ１３４を読み出し、取得する。特性データ１３４は、デジタル署名を用いて安全な状態にされることができ、標準的暗号処理を使用して検証されることができる。特性データ１３４は、タイミング・チャレンジ１２８とともに提供された計算カウントに応じて、チャレンジ・レスポンス時間１３１がその範囲内になければならない期待される時間窓を提供する。したがって、図２に示されるような一例において、特性データ１３４は、特性データ１３４は、種々の計算カウント値を種々の時間窓に関連付けるデータの表を含む場合がある。単なる例として、そのような関連付けは、計算カウントが１００００である場合（すなわち、数学的計算を１００００回実施しなければならない場合）、チャレンジ・レスポンス時間１３１が５０〜５５ミリ秒の時間窓内にあることが期待されることを示すかもしれない。別の例において、特性データ１３４は、傾き切片型の式ｙ＝ｍｘ＋ｂのような数学的関係から得られるかもしれない。すなわち、所要の計算カウント値ｘに対し、期待時間ｙを決定することができる。そして、ホスト１０２上の認証アルゴリズム１２６は、例えば、期待時間ｙ±５％を使用することにより、時間窓を決定することができる。
【００１９】
他の例示的実施形態において、認証アルゴリズム１２６は、暗号化タイミング・チャレンジ１２８を、ホスト装置のコントローラ１０６上の専用基準ロジック１３６に発行することにより、チャレンジ・レスポンス１３０についての正しい値、すなわち期待値を決定する。コントローラ１０６上の基準ロジック１３６は、供給装置１０４上の専用ハードウェア・ロジック１３２をミラーリングしているため、具体的には、暗号化タイミング・チャレンジ１２８に基づく数学的計算を最適に実施するように設計され、コントローラ１０６上に作成される。すなわち、認証アルゴリズム１２６がタイミング・チャレンジ１２８を供給装置１０４に発行するとき、認証アルゴリズム１２６は、そのタイミング・チャレンジ１２８を基準ロジック１３６にも発行する。基準ロジック１３６は、供給装置１０４上の専用ハードウェア・ロジック１３２に関して上で説明したものと同様の形で、タイミング・チャレンジに基づく数学的計算を実施する。タイミング・チャレンジ１２８に応答して、基準ロジック１３６は、チャレンジを完了し、基準時間に基準応答を生成する。基準応答時間窓は、例えば、基準時間の特定割合（例えば、±５％、±１０％）内に収まるように定義されることができる。そして、認証アルゴリズム１２６は、基準応答、及び基準応答時間窓を、チャレンジ・レスポンス１３０及びチャレンジ・レスポンス時間１３１と比較するための期待値として使用することができる。もし、チャレンジ・レスポンス１３０が基準応答と合致し、かつ、チャレンジ・レスポンス時間１３１が基準応答時間窓内にある場合、アルゴリズム１２６は、供給装置１０４が真正の装置であるものと判断する。
【００２０】
図３は、インクジェット印刷システム３００として実施される認証システム１００の一例を示している。一般に、印刷システム３００は、一般的認証システム１００と同一又は類似の種々の構成要素を含み、交換式インクジェット供給カートリッジの認証に関して、同一又は類似の形で動作する。一例示的実施形態において、インクジェット印刷システム３００は、コントローラ１０６を備えたプリントエンジン３０２と、マウンティング・アセンブリ３０４と、インク供給カートリッジ３０６として実施される１以上の交換式供給装置１０４と、インクジェット印刷システム３００の種々の電気部品に電力を供給する少なくとも１つの電源３０８とを含む。印刷システム３００は、媒体搬送アセンブリ３１０をさらに含む。
【００２１】
図４は、交換式供給装置１０４を表す例示的インクジェット供給カートリッジ３０６を示す斜視図である。インクジェット・カートリッジ３０６は、１以上のプリントヘッド３１２に加えて、一群の電気的接点４００と、インク（又は他の流体）供給室４０２とを含む。一部の実施形態において、カートリッジ３０６は、一色のインクが格納された供給室４０２を有する場合があり、他の実施形態において、カートリッジ３０６は、各室に異なる色のインクが格納された複数の室４０２を有する場合がある。電気的接点４００は、コントローラ１０６からプリントヘッド３１２上のノズル３１４へと電気信号を運び、流体滴の噴射を生じさせる。電気的接点４００はさらに、コントローラ１０６とマイクロコントローラ１１２との間において電気信号を運び、インクジェット印刷システム３００内のカートリッジ３０６の認証を容易にする。一例示的実施形態において、マイクロコントローラ１１２は、プリントヘッド３１２と共通のシリコン基板上に配置される。他の例示的実施形態において、マイクロコントローラ１１２は、カートリッジ３０６上のどこかに、スタンドアロンのスマートカードとして配置される。マイクロコントローラ１１２は、図１に示され、上で説明されたマイクロコントローラ１１２に類似し、図１のマイクロコントローラ１１２のものと同じ一般的構成要素（図４には全てが示されてはいない）を含む。すなわち、カートリッジ３０６上のマイクロコントローラ１１２は、メモリ１１６、及び専用チャレンジ・ロジック１３２を含み、専用チャレンジ・ロジック１３２は、図１及び図２の認証システム１００に関して上で説明したものと同じ一般的態様で動作する。
【００２２】
図３及び図４を参照すると、プリントヘッド３１２は、複数のオリフィス又はノズル３１４を通してインク又は他の流体の滴を印刷媒体３１６に向けて噴射し、印刷媒体３１６への印刷を行う。印刷媒体３１６は、紙、カード用紙、透明フィルム、マイラー、ポリエステル、合板、発泡ボード、布地、キャンバス等のような任意のタイプの適当なシート材又はロール材であってよい。プリントヘッド３１２は、様々な形でノズル３１４を通してインクを噴射するように構成されることができる。例えば、サーマル・インクジェット・プリントヘッドは、加熱素子に電流を流すことによって熱を生成し、噴射室内のインクの小部分を気化させることによって、ノズルからインク滴を噴射する。気泡は、ノズル３１４を通してインク滴を押し出す。他の例において、圧電インクジェット・プリントヘッドは、圧電材料アクチュエータを使用して、インク滴をノズルから押し出すための圧力パルスを生成する。ノズル３１４は通常、１以上の列、又はアレイを成すように構成され、インク・カートリッジ３０６と印刷媒体３１６とが互いに対して移動される際に、ノズル３１４からの適切な順序でのインクの噴射によって、印刷媒体３１６上に印刷されるべき文字、記号、及び／又は他の図形若しくは画像を生成するように構成される。
【００２３】
マウンティング・アセンブリ３０４は、インクジェット・カートリッジ３０６を媒体搬送アセンブリ３１０に対して位置決めし、媒体搬送アセンブリ３１０は、印刷媒体３１６をインクジェット・カートリッジ３０６に対して位置決めする。したがって、印刷ゾーン３１８は、インクジェット・カートリッジ３０６と印刷媒体３１６との間の領域において、ノズル３１４に隣接して定義される。一実施形態において、プリントエンジン３０２は、走査型プリントエンジン３０２である。したがって、マウンティング・アセンブリ３０４は、印刷媒体３１６を走査するために、インクジェット・カートリッジ３０６を媒体搬送アセンブリ３１０に対して移動させるためのキャリッジを含む。他の実施形態において、プリントエンジン３０２は、非走査型プリントエンジン３０２である。したがって、マウンティング・アセンブリ３０２は、インクジェット・カートリッジ３０６を媒体搬送アセンブリ３１０に対して所定位置に固定する一方、媒体搬送アセンブリ３１０は、印刷媒体３１６をインクジェット・カートリッジ３０６に対して位置決めする。
【００２４】
図１の認証システム１００に関して上に記載したように、コントローラ１０６は通常、プロセッサ（ＣＰＵ）１０８、メモリ１１０、ファームウェア、及び他の電子部品のような標準的コンピューティング・システムの種々の構成要素を含む。図３のインクジェット印刷システム３００において、コントローラ１０６は同様に、印刷システム３００の一般的機能を制御するとともに、インクジェット・カートリッジ３０６、マウンティング・アセンブリ３０４、及び媒体搬送アセンブリ３１０と通信し、それらを制御するためのそのような構成要素を採用している。したがって、コントローラ１０６は、コンピュータのようなホストシステムからデータ３２０を受信し、データ３２０をメモリ１１０に一時的に記憶する。通常、データ３２０は、電気的経路、赤外線経路、光学的経路又は他の情報伝送経路を通して、インクジェット印刷システム３００へと送信される。データ３２０は、例えば、印刷すべき文書、及び／又はファイルを表している。したがって、データ３２０は、１以上の印刷ジョブコマンド、及び／又はコマンド・パラメタを含む、インクジェット印刷システム３００のための印刷ジョブを形成する。コントローラ１０６は、データ３２０を使用してインクジェット・カートリッジ３０６を制御し、ノズル３１４からインク滴を噴射する。したがって、コントローラ１０６は、印刷媒体３１６上に文字、記号、及び／又は他の図形又は画像を形成する噴射インク滴のパターンを定義している。噴射インク滴のパターンは、データ３２０から得られる印刷ジョブコマンド、及び／又はコマンド・パラメタによって決定される。
【００２５】
コントローラ１０６は、インクジェット印刷システム３００の一般的印刷機能を管理することに加えて、認証アルゴリズム１２６を実行し、インクジェット供給カートリッジ３０６が真正の装置であるか否かを判断する。印刷システム３００におけるこの認証プロセスは、図１の一般的認証システム１００に関して上で説明したプロセスに類似している。図５は、インクジェット供給カートリッジ３０６のような交換式供給装置１０４が真正の装置であるか否かを判断するための、印刷システム３００又は他の認証システム１００における例示的認証プロセス５００を示すフロー図である。プロセス５００は、図１〜図４に関連して上で説明した種々の例示的実施形態に関連しており、したがって、プロセス５００中の種々のステップの詳細は、そのような実施形態の関連する説明中に見られる。プロセス５００の種々のステップは、図１及び図３のメモリ１１０のような非一時的コンピュータ／プロセッサ読取可能媒体上に記憶されたプログラミング命令を含むアルゴリズムとして実現される場合がある。別の例において、プロセス５００の種々のステップは、図１及び図３のプロセッサ１０８のようなプロセッサにより、そのようなプログラミング命令を読み取り、実行することによって達成される。プロセス５００は、２以上の実施形態を含む場合があり、プロセス５００の異なる実施形態は、図５のフロー図に示した全てのステップを採用はしない場合がある。したがって、プロセス５００の種々のステップは、フロー図において特定の順序で示されているが、示されたステップの順序は、ステップを実施することができる順序、又は全てのステップを実施することができる否かに関する制限を意図するものではない。例えば、プロセス５００の一実施形態は、複数の初期ステップの実施により、１以上の後続のステップを実施することなく達成されるかもしれない一方、プロセス５００の他の実施形態は、全てのステップを実施することにより達成されるかもしれない。
【００２６】
次に、図１、図３、及び図５を主として参照すると、認証プロセス５００は、ブロック５０２から開始され、ここで、図示された最初のステップは、交換式供給装置を認識することである。交換式供給装置の認識は通常、ホスト装置の電源投入時、又は新たな供給装置をホスト装置に挿入したときに行われ、例えば、印刷システムの電源を投入したとき、又は印刷システムにおいてインク又はトナー・プリント供給カートリッジを交換したときなどに行われる。交換式供給装置は、各印刷ジョブの開始時に供給装置に電源が投入されたときに認識されてもよい。認証プロセス５００は、ブロック５０４へと進み、そこで、暗号化タイミング・チャレンジが発行される。このタイミング・チャレンジは、印刷装置のようなホスト装置から発行され、プリント供給カートリッジのような供給装置へ送信される。タイミング・チャレンジは、ホスト装置と供給装置の間で導出されたセッション・キー、ホスト装置により生成された乱数シード値、及び、実施すべき計算の回数を示す計算カウント又は計算サイクルを含む特定のチャレンジ・パラメタを伴う特定の数学的計算を実施するための要求を含む。ブロック５０６に示されているように、タイミング・チャレンジの発行時に、ホスト装置は、チャレンジ・レスポンスを受信するまでに要する時間を監視するためのタイミング・シーケンスを開始する場合がある。
【００２７】
ブロック５０８に示されているように、一部の実施形態において、タイミング・チャレンジは、ホスト装置上の基準ロジックにも送信される場合がある。タイミング・チャレンジがホスト装置上の基準ロジックに送信された場合、ブロック５１０に示されているように、特定の経過基準時間において、基準ロジックから、基準応答が受信される。ブロック５１２において、基準時間窓は、この基準時間付近の特定割合の範囲を含めることによって、決定される場合がある。例えば、基準時間窓は、基準時間のプラスマイナス５％の基準時間であるものとして決定される場合がある。一部の実施形態では、タイミング・チャレンジをホスト装置上の基準ロジックに送信する代替として、ブロック５１４に示されているように、ホスト装置は、供給装置に記憶された特性データを読み出し、取得する。他の実施形態では、特性データが、ホスト装置のメモリにハードコーディングされる場合がある。特性データは、異なる計算カウント値に関連付けられた、供給装置からチャレンジ・レスポンスを受信するための期待される時間窓を含む。
【００２８】
ブロック５１６に示されているように、認証プロセス５００は、供給装置からチャレンジ・レスポンスを受信することを含む。チャレンジ・レスポンスは、例えばホスト装置における時間計測により判定することが可能な特定のチャレンジ・レスポンス時間において受信される。プロセス５００は、ブロック５１８へと進み、そこで、チャレンジ・レスポンスは、期待される応答と比較される。期待される応答は、ホスト装置上の基準ロジックから受け取った基準応答であってもよい。ブロック５２０ではさらに、チャレンジ・レスポンス時間が期待される応答時間窓と比較され、チャレンジ・レスポンス時間が期待される時間窓内にあるか否かが判定される。期待される時間窓は、基準時間窓であってもよいし、供給装置又はどこかに記憶された特性データから読み出された期待される時間窓であってもよい。
【００２９】
認証プロセス５００は、ブロック５２２へと進む。ブロック５２２では、供給装置からのチャレンジ・レスポンスが期待値と合致し、かつ、チャレンジ・レスポンス時間が期待される時間窓内にある場合、ホスト装置は、供給装置を認証する。プロセス５００のブロック５２４では、チャレンジ・レスポンスが期待値と合致しないか、又は、チャレンジ・レスポンス時間が期待される時間窓の外にあるか、あるいはそれら両方である場合、ホスト装置は、供給装置が真正ではないものと判断する。
【００３０】
本発明の例示的実施形態を以下に列挙する。
１．プリント供給カートリッジであって、タイミング・チャレンジを受信し、期待される時間窓内のチャレンジ・レスポンス時間でチャレンジ・レスポンスを提供することによって、当該プリント供給カートリッジの認証を可能にするマイクロコントローラを含む、プリント供給カートリッジ。
２．前記マイクロコントローラ上に、前記タイミング・チャレンジに応答して数学的計算を実施するための専用ハードウェア・ロジックをさらに含み、前記数学的計算によって、前記期待される時間窓内に前記チャレンジ・レスポンスが生成される、１に記載のプリント供給カートリッジ。
３．前記マイクロコントローラに記憶された、前記チャレンジ・レスポンスを完了するための期待される時間窓を含む特性データをさらに含む、１に記載のプリント供給カートリッジ。
４．前記タイミング・チャレンジに基づく数学的計算を実施する回数を指定する計算カウントが、各期待される時間窓に関連付けられている、３に記載のプリント供給カートリッジ。
５．前記タイミング・チャレンジは、セッション・キー、乱数シード、及び、前記数学的計算を実施する回数を指定する計算カウントを含むチャレンジ・パラメタを含む、２に記載のプリント供給カートリッジ。
６．前記チャレンジ・レスポンスを決定するために、前記数学的計算が、前記セッション・キー、前記乱数シード、及び前記計算カウントに対して実施される、５に記載のプリント供給カートリッジ。
７．前記チャレンジ・レスポンス時間は、前記計算カウントに応じて決まる、５に記載のプリント供給カートリッジ。
８．一意のＩＤ、及び、前記セッション・キーを導出する元になったベース・キーをさらに含む、５に記載のプリント供給カートリッジ。
９．インク、及びトナーから成る一群の中から選択された印刷材料をさらに含む、１に記載のプリント供給カートリッジ。
１０．交換式供給装置であって、ホスト装置と共にセッション・キーを導出し、前記ホスト装置から、乱数シード、前記セッション・キー、及び計算サイクルを指定する時間依存チャレンジを受信するためのマイクロコントローラと、前記計算サイクルに等しい回数だけチャレンジ計算を実施するための、前記マイクロコントローラ内の専用ロジックとを含み、最初の計算において、前記乱数シード、及び前記セッション・キーを使用して出力が生成され、その後の各計算において、先行する計算の出力が使用される、交換式供給装置。
１１．指定された計算サイクルに応じて決まる時間依存チャレンジを完了するための異なる時間窓を含む、前記マイクロコントローラのメモリに記憶された特性データをさらに含む、１０に記載の交換式供給装置。
１２．前記ホスト装置により印刷媒体上に堆積されるべき印刷材料をさらに含む、１０に記載の交換式供給装置。
１３．前記印刷材料は、トナー、及びインクからなる一群の中から選択される、１２に記載の交換式供給装置。
１４．前記チャレンジ計算は、特定順序での複数回の数学的演算を含む、１１に記載の交換式供給装置。
【図１】
2018107805.tif 000003
【図２】
2018107805.tif 000004
【図３】
2018107805.tif 000005
【図４】
2018107805.tif 000006
【図５】
2018107805.tif 000007