JP6700241B2 - Supply device authentication by measuring challenge response time - Google Patents

Supply device authentication by measuring challenge response time Download PDF

Info

Publication number
JP6700241B2
JP6700241B2 JP2017247531A JP2017247531A JP6700241B2 JP 6700241 B2 JP6700241 B2 JP 6700241B2 JP 2017247531 A JP2017247531 A JP 2017247531A JP 2017247531 A JP2017247531 A JP 2017247531A JP 6700241 B2 JP6700241 B2 JP 6700241B2
Authority
JP
Japan
Prior art keywords
replaceable
calculation
challenge
response
challenge response
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017247531A
Other languages
Japanese (ja)
Other versions
JP2018107805A (en
Inventor
ワード,ジェファーソン,ピー
パンシン,ステファン,ディー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Priority to JP2017247531A priority Critical patent/JP6700241B2/en
Publication of JP2018107805A publication Critical patent/JP2018107805A/en
Application granted granted Critical
Publication of JP6700241B2 publication Critical patent/JP6700241B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

多くのシステムは、システムの機能と一体化された種々の交換式部品を有している。交換式部品は、多くの場合、システムの各使用に伴って使い果たされる消耗材を含んでいる。そのようなシステムとしては、例えば、交換式電池を使用している携帯電話、交換式供給装置から薬剤を分注する医療システム、交換式供給カートリッジから流体(例えばインク)やトナーを分注する印刷システムなどが挙げられる。交換式供給装置が正当な製造業者から入手した真正な装置であることを確認することは、システムユーザが、欠陥装置、及び/又は偽造装置の意図しない使用に伴う問題を回避することに役立つ。   Many systems have various replaceable components integrated with the functionality of the system. Replaceable parts often include consumables that are depleted with each use of the system. Such systems include, for example, mobile phones using replaceable batteries, medical systems that dispense medication from replaceable supply devices, printing that dispenses fluids (eg ink) or toner from replaceable supply cartridges. Examples include systems. Verifying that the replaceable supply device is a genuine device obtained from a legitimate manufacturer helps the system user avoid problems with defective devices and/or unintended use of counterfeit devices.

次に、図面を参照して、例となる本発明の種々の実施形態について説明する。
交換式供給装置を認証するのに適した例示的な一般的認証システムの種々の構成要素を示すブロック図である。 交換式供給装置上に記憶された特性データの一例を示す図である。 インクジェット印刷システムとして実現された認証システムの一例を示す図である。 例示的インクジェット・プリント供給カートリッジを示す斜視図である。 例示的供給装置認証プロセスを示すフロー図である。
Various exemplary embodiments of the present invention will now be described with reference to the drawings.
FIG. 6 is a block diagram illustrating various components of an exemplary generic authentication system suitable for authenticating a replaceable dispenser. It is a figure which shows an example of the characteristic data memorize|stored on the exchange-type supply device. It is a figure which shows an example of the authentication system implement|achieved as an inkjet printing system. FIG. 3 is a perspective view of an exemplary inkjet print supply cartridge. FIG. 6 is a flow diagram illustrating an exemplary feeder authentication process.

図面を通して、同一の参照符号は、類似しているが、必ずしも同一である必要はない要素を示している。   Throughout the drawings, identical reference numbers indicate similar, but not necessarily identical, elements.

詳細な説明
概要
上記のように、特定システムにおける使用のために、交換式供給装置の真正性を確認することは、システムユーザが、欠陥装置、及び/又は偽造装置の意図しない使用に伴う問題を回避することに役立つ。例えば、消耗品のトナーカートリッジ又はインクカートリッジを採用している印刷システムでは、不注意でカートリッジを偽造カートリッジに交換することは、粗悪な品質の印刷物から、印刷システムに損傷を与えることがある漏れのあるカートリッジまで、様々な問題の原因になる。
DETAILED DESCRIPTION Overview As noted above, verifying the authenticity of a replaceable dispenser for use in a particular system allows system users to avoid problems with defective equipment and/or unintended use of counterfeit equipment. Help avoid. For example, in a printing system that employs consumable toner or ink cartridges, inadvertently replacing the cartridge with a counterfeit cartridge may result in prints of poor quality that may damage the printing system. Even a certain cartridge causes various problems.

交換式装置を認証する従来の方法は、認証情報を記憶する工程を含み、認証情報の記憶には、スマートカード、又は交換式装置(例えば、消費可能なインク/トナー・カートリッジ)上の安全なマイクロコントローラ、及びホスト装置(例えば、プリンタ)が知っている秘密鍵の使用が必要とされる。もし交換式装置が、ホストにより発行されたチャレンジ(問いかけ)に対するレスポンス(応答)であって、自分が適切な鍵を有していることを証明するレスポンスを提供することができる場合、ホストは、その交換式装置が本来の製造業者によって製造されたものと推測し、その交換式装置を認証(真正なものであることを確認)する。この認証方法の一つの弱点は、認証方法が、秘密鍵を保存しておくシステムの能力に依存している点である。もし攻撃者が、ホスト又は交換式装置のいずれかから鍵(一又は複数)を復元できる場合、攻撃者は、盗んだ鍵(複数可)をスマートカード又はマイクロコントローラに記憶することができ、したがって、攻撃者は、チャレンジに対してあたかも本来の製造業者から提供された真正の装置であるかのように応答する交換式装置を作成することが可能となる。一般に、鍵(複数可)が役に立たなくなれば、不真正(すなわち、偽造)の交換式装置のチャレンジ・レスポンス及び他の機能を、安価な標準的マイクロコントローラ上で動作するファームウェアを用いてシミュレートすることが可能となる。   Conventional methods of authenticating a replaceable device include storing the authentication information, which may be stored on a smart card or a secure device on the replaceable device (eg, consumable ink/toner cartridge). The use of a private key known to the microcontroller and the host device (eg printer) is required. If the interchangeable device is able to provide a response to a challenge issued by the host, demonstrating that it has the proper key, the host It presumes that the replaceable device was manufactured by the original manufacturer, and authenticates (verifies that it is authentic) the replaceable device. One weakness of this authentication method is that it relies on the system's ability to store private keys. If the attacker can recover the key(s) from either the host or the exchangeable device, the attacker can store the stolen key(s) on the smart card or microcontroller, thus The attacker would be able to create a replaceable device that would respond to the challenge as if it were a genuine device provided by the original manufacturer. In general, if the key(s) are no longer useful, the challenge response and other functions of an improper (ie counterfeit) switch device are simulated using firmware running on an inexpensive standard microcontroller. It becomes possible.

本明細書では、概して、タイミング・チャレンジ・レスポンスにより交換式システム装置の堅牢な認証を可能にする認証システム、及び供給装置認証プロセスが開示される。プリンタのようなホストは、消耗品のインク・カートリッジ又はトナー・カートリッジのような交換式装置に取り付けられた安全なマイクロコントローラに対して、暗号化タイミング・チャレンジを発行する。このチャレンジは、消耗品装置(すなわち、消耗品装置上のマイクロコントローラ)に対し、ホスト/プリンタにより供給されたデータに基づいて多数の数学的演算を実施することを要求する。プリンタは、消耗品装置がタスクを完了するまでに要する時間を監視し、消耗品装置により提供されたレスポンスを独自に確認する。もし、レスポンスと、レスポンスを計算する間の経過時間との両方が、プリンタが期待したものと合致した場合、プリンタは、その消耗品装置が真正の装置であると結論付ける。もし、レスポンス、又は、レスポンスを計算する間の経過時間のいずれか(あるいは両方)が、プリンタが期待したものと合致しなかった場合、プリンタは、その消耗品装置は真正の装置ではないものと結論付ける。   Disclosed herein is an authentication system and a supply device authentication process that generally enables robust authentication of a replaceable system device with a timing challenge response. A host, such as a printer, issues cryptographic timing challenges to a secure microcontroller attached to a replaceable device, such as a consumable ink or toner cartridge. This challenge requires the consumable device (ie, the microcontroller on the consumable device) to perform a number of mathematical operations based on the data supplied by the host/printer. The printer monitors the time it takes for the consumable device to complete a task and independently confirms the response provided by the consumable device. If both the response and the time elapsed between calculating the response match what the printer expected, the printer concludes that the consumable device is a genuine device. If either the response or the elapsed time between calculating the response (or both) does not match what the printer expected, then the printer concludes that the consumable device is not a genuine device. Make a conclusion.

チャレンジに基づく数学的演算は、消耗品装置のマイクロコントローラの中で、その演算のために特に設計された専用ハードウェアロジックによって実施される。この専用ロジックは、ファームウェアを実行する標準的マイクロコントローラによって通常達成可能な速度に比べて大幅に高速に数学的計算を実施することにより、チャレンジ・レスポンスを実現する機能を有している。したがって、マイクロコントローラ内に盗まれた鍵(複数可)が記憶された不真正/偽造の交換式装置は、正しいチャレンジ・レスポンスを行う機能を有している場合がある。ただし、そのような偽造装置は、ホスト装置が期待する時間枠内でチャレンジ・レスポンスを達成する機能を有していない。   The challenge-based mathematical operation is performed in the consumable device microcontroller by dedicated hardware logic specifically designed for the operation. This dedicated logic has the ability to achieve a challenge response by performing mathematical calculations much faster than is normally achievable by standard microcontrollers running firmware. Thus, an improper/counterfeit interchangeable device with stolen key(s) stored in the microcontroller may have the ability to make a correct challenge response. However, such a counterfeit device does not have the function of achieving the challenge response within the time frame expected by the host device.

一例示的実施形態において、プリント供給カートリッジは、タイミング・チャレンジを受信し、期待される時間窓内のチャレンジ・レスポンス時間でチャレンジ・レスポンスを提供することによってカートリッジの認証を可能にするマイクロコントローラを含む。他の実施形態において、カートリッジはさらに、マイクロコントローラ上に、タイミング・チャレンジに応答して数学的計算を実施するための専用ハードウェアロジックを含む。数学的計算の実施により、チャレンジ・レスポンスは、期待される時間窓内に生成される。   In one exemplary embodiment, a print supply cartridge includes a microcontroller that receives a timing challenge and enables authentication of the cartridge by providing a challenge response at a challenge response time within an expected time window. .. In another embodiment, the cartridge further includes dedicated hardware logic on the microcontroller for performing mathematical calculations in response to the timing challenge. By performing mathematical calculations, the challenge response is generated within the expected time window.

他の例示的実施形態において、交換式供給装置は、マイクロコントローラを含む。マイクロコントローラは、ホスト装置と共にセッション・キーを導出するためのものであり、また、ホスト装置から、乱数シード、前記セッション・キー、及び計算サイクルを指定する時間依存チャレンジを受信するためのものでもある。交換式装置は、マイクロコントローラ内に、計算サイクルに等しい回数だけチャレンジ計算を実施するための専用ロジックをさらに含み、最初の計算では、乱数シード、及びセッション・キーを使用して出力が生成され、その後の各計算では、先行する計算の出力が使用される。   In another exemplary embodiment, the replaceable dispenser includes a microcontroller. The microcontroller is for deriving a session key with the host device and is also for receiving from the host device a random number seed, the session key, and a time dependent challenge specifying a calculation cycle. .. The switchable device further includes dedicated logic in the microcontroller to perform the challenge calculation a number of times equal to the calculation cycle, the first calculation generating a output using the random number seed and the session key, Each subsequent calculation uses the output of the preceding calculation.

他の例示的実施形態において、認証システムは、ホスト装置と、ホスト装置に一体化されたコントローラと、コントローラ上で実行可能な認証アルゴリズムであって、暗号化タイミング・チャレンジを発行し、供給装置が、期待される時間窓内のチャレンジ・レスポンス時間でチャレンジ・レスポンスを提供した場合、その供給装置を認証するための認証アルゴリズムとを含む。   In another exemplary embodiment, an authentication system is a host device, a controller integrated with the host device, and an authentication algorithm executable on the controller, which issues an encryption timing challenge to the supplying device. , An authentication algorithm for authenticating the supply device when the challenge response is provided within the expected time response time within the expected time window.

他の例示的実施形態において、認証システムは、コントローラ及びメモリを有するプリンタを含む。認証システムは、メモリに記憶された、コントローラ上で実行可能な認証アルゴリズムであって、暗号化タイミング・チャレンジを発行し、期待される時間窓内にプリント供給カートリッジが、期待される応答に対応するチャレンジ・レスポンスを提供した場合、そのプリント供給カートリッジを認証するための認証アルゴリズムをさらに含む。   In another exemplary embodiment, the authentication system includes a printer having a controller and memory. The authentication system is a memory-executable authentication algorithm that is executable on the controller that issues an encryption timing challenge such that the print supply cartridge responds to the expected response within the expected time window. If the challenge response is provided, it further includes an authentication algorithm for authenticating the print supply cartridge.

他の例示的実施形態において、非一時的プロセッサ読取可能媒体は、プロセッサにより実行されたときに、プロセッサに、供給装置を認識させ、暗号化タイミング・チャレンジをその供給装置に向けて発行させる命令を表すコードを記憶している。タイミング・チャレンジは、セッション・キー、乱数シード、及び計算カウントを含むデータに対し、数学的計算を実施すべきことを要求する。命令はさらに、プロセッサに、チャレンジ・レスポンス時間において供給装置からチャレンジ・レスポンスを受信させ、チャレンジ・レスポンスが期待される応答と合致し、かつ、チャレンジ・レスポンス時間が期待される時間窓内にある場合、その供給装置を認証させる。   In another exemplary embodiment, a non-transitory processor-readable medium has instructions, when executed by a processor, that cause the processor to recognize a feeder and issue an encrypted timing challenge toward the feeder. It stores the code that represents it. The timing challenge requires that a mathematical calculation be performed on the data, including the session key, random number seed, and calculation count. The instructions further cause the processor to receive a challenge response from the supplier at the challenge response time, the challenge response matches the expected response, and the challenge response time is within the expected time window. , Authenticate the feeder.

例示的実施形態
図1は、交換式供給装置を認証するのに適した例示的な一般的認証システム100の種々の構成要素を示すブロック図を示している。認証システム100は、ホスト装置102、及び交換式供給装置104を含む。ホスト装置102は、コントローラ106を含み、コントローラ106は通常、認証システム100の一般的機能を制御するとともに、供給装置104と通信し、供給装置104を制御するために、プロセッサ(CPU)108、メモリ110、ファームウェア、及び他の電子部品のような、標準的コンピューティング・システムの種々の構成要素を含む。メモリ110は、アルゴリズム、プログラム・モジュール、データ構造、JDFなどの形でコンピュータ/プロセッサ読取可能な符号化命令、及び/又はデータの記憶を提供する揮発性記憶要素(すなわち、RAM)、及び不揮発性記憶要素(例えば、ROM、ハードディスク、フロッピー(登録商標)・ディスク、CD−ROMなど)の両方の記憶要素を含む場合がある。供給装置104は、マイクロコントローラ112(すなわち、スマートカード)を含み、マイクロコントローラ112もまた、プロセッサ(CPU)114、及びメモリ116を含む。
Exemplary Embodiment FIG. 1 illustrates a block diagram illustrating various components of an exemplary generic authentication system 100 suitable for authenticating a replaceable dispenser. The authentication system 100 includes a host device 102 and a replaceable supply device 104. The host device 102 includes a controller 106, which typically controls general functions of the authentication system 100, as well as communicates with and controls the supply device 104, a processor (CPU) 108, a memory. It includes various components of a standard computing system, such as 110, firmware, and other electronic components. Memory 110 is a volatile storage element (ie, RAM) that provides storage of algorithms, program modules, data structures, computer/processor readable encoded instructions in the form of JDF, and/or data, and non-volatile. It may include both storage elements (eg, ROM, hard disk, floppy disk, CD-ROM, etc.). The supply device 104 includes a microcontroller 112 (ie, a smart card), which also includes a processor (CPU) 114 and memory 116.

一般に、ホスト装置102と供給装置104は、ホスト装置102の電源投入時に、標準的暗号化アルゴリズム118を使用して、標準的暗号化技術により、安全な通信を確立する。例えば、暗号化アルゴリズム118を実行している場合(すなわち、プロセッサ108上で)、ホスト装置102は、供給装置104に一意のID120を要求することができ、暗号関係を通して、その供給装置の「ベース・キー」122を決定することができる。ベース・キー122を使用することで、ホスト装置と供給装置は、現在の情報交換のための安全な通信を可能にする秘密の「セッション・キー」124を導出することができる。ホスト装置102は、ホスト装置102が電源投入されるたびに、及び新たな供給装置104が取り付けられるたびに、このような形でベース・キー122を決定する。ベース・キー122は、同じままであり、変化しない。ただし、ホスト装置102と供給装置104との間で情報交換が行われるたびに、新たな異なるセッション・キー124が導出される。   In general, the host device 102 and the supply device 104 establish a secure communication with standard encryption techniques using a standard encryption algorithm 118 when the host device 102 is powered on. For example, if the cryptographic algorithm 118 is executing (ie, on the processor 108), the host device 102 can request a unique ID 120 from the feeder 104, and through the cryptographic relationship, the "base of that feeder" -"Key" 122 can be determined. Using the base key 122, the host device and the supplier can derive a secret "session key" 124 that enables secure communication for the current exchange of information. The host device 102 determines the base key 122 in this manner each time the host device 102 is powered on and each time a new supply device 104 is installed. The base key 122 remains the same and does not change. However, each time information is exchanged between the host device 102 and the supplying device 104, a new different session key 124 is derived.

一実施形態において、メモリ110は、交換式供給装置104の真正性を判断するために、コントローラ106のプロセッサ108において実行可能な認証アルゴリズム126を含む。供給装置104が認証アルゴリズム126により発行された暗号化タイミング・チャレンジ128に正しく応答した場合であって、かつ、そのチャレンジに対するレスポンス130が、期待される時間窓内に完了した場合、その供給装置104は、真正なものであると判断される。したがって、チャレンジ・レスポンス130の値は正しいが、チャレンジ・レスポンス時間131が期待される時間窓内にない供給装置104は、真正なものとは判断されない。同様に、チャレンジ・レスポンス時間131は期待される時間窓内にあるが、チャレンジ・レスポンス130の値は不正確である供給装置104もまた、真正なものとは判断されない。このように、供給装置104の真正性は、供給装置104が、暗号化タイミング・チャレンジ128に対する正しいレスポンス130を、期待される時間窓内のチャレンジ・レスポンス時間131(すなわち、レスポンス130を生成するのに要する時間)で提供するか否かによって決まる。   In one embodiment, the memory 110 includes an authentication algorithm 126 that can be executed in the processor 108 of the controller 106 to determine the authenticity of the replaceable dispenser 104. If the supplying device 104 correctly responds to the encrypted timing challenge 128 issued by the authentication algorithm 126, and if the response 130 to the challenge is completed within the expected time window, then the supplying device 104. Is judged to be authentic. Therefore, the supply device 104 whose challenge-response value 130 is correct but whose challenge-response time 131 is not within the expected time window is not determined to be authentic. Similarly, the challenge response time 131 is within the expected time window, but the value of the challenge response 130 is inaccurate. The dispensing device 104 is also not considered authentic. Thus, the authenticity of the supplier 104 is that the supplier 104 produces the correct response 130 to the encrypted timing challenge 128, the challenge response time 131 within the expected time window (ie, the response 130). The time it takes) to decide whether to provide it.

ホスト装置102上の認証アルゴリズム126により発行される暗号化タイミング・チャレンジ128は、特定のチャレンジ・パラメタを取り込んで特定の数学的計算を実施するための要求を含む。この数学的計算は、特定の回数だけ実施されなければならない。暗号化タイミング・チャレンジ128は、導出されたセッション・キー、ホスト装置102上でコントローラ106により生成された乱数シード値、及び、実施すべき計算の回数を示す計算カウント又は計算サイクルを含むそれらのチャレンジ・パラメタを含み、又は伴う。数学的計算は、セッション・キーを使用して、乱数シード値に対する演算から開始される。計算カウントに達するまで、各計算の結果、すなわち出力は、次の計算に繰り返しフィードバックされる。数学的計算の最後の結果、すなわち出力から、チャレンジ・レスポンス130が得られ、チャレンジ・レスポンス130は、特定のチャレンジ・レスポンス時間131内に完了され、すなわち、計算され終わることになる。チャレンジ・レスポンス時間131は、認証アルゴリズム126により計測され、例えば、チャレンジを発行したときにタイミング(計時)・シーケンスを開始し、供給装置104がチャレンジ・レスポンス130を完了し、ホスト装置102に返したときにそのタイミング・シーケンスを停止させることによって計測される。チャレンジ・レスポンス時間131は、一時的値であり、実施形態によっては、ホストにより決定された時間窓との比較の前に、又は比較を行う間、ホスト装置102上の、メモリ110の揮発性構成要素に、及び/又は、プロセッサ108内に、短時間だけ存在する場合がある。ホスト102上の認証アルゴリズム126は、チャレンジ・レスポンス130、及びチャレンジ・レスポンス時間131が正しいか否か(すなわち、期待されたものであるか否か)を判断し、それにしたがって、供給装置104を認証する。   The cryptographic timing challenge 128 issued by the authentication algorithm 126 on the host device 102 includes a request to capture a particular challenge parameter to perform a particular mathematical calculation. This mathematical calculation must be performed a certain number of times. The cryptographic timing challenges 128 are those challenges that include the derived session key, a random seed value generated by the controller 106 on the host device 102, and a calculation count or cycle indicating the number of calculations to be performed. -Includes or accompanies parameters. The mathematical calculation begins with the operation on the random seed value using the session key. The result, or output, of each calculation is repeatedly fed back to the next calculation until the calculation count is reached. From the final result of the mathematical calculation, ie the output, a challenge response 130 is obtained, which will be completed or calculated within a specific challenge response time 131. The challenge response time 131 is measured by the authentication algorithm 126, for example, when a challenge is issued, a timing (timekeeping) sequence is started, and the supply device 104 completes the challenge response 130 and returns it to the host device 102. Sometimes it is measured by stopping that timing sequence. Challenge-response time 131 is a temporary value and, in some embodiments, may be volatile configuration of memory 110 on host device 102 prior to or during comparison with a host-determined time window. It may be present in the element and/or in the processor 108 for only a short time. The authentication algorithm 126 on the host 102 determines whether the challenge response 130 and the challenge response time 131 are correct (ie, expected) and authenticates the feeder 104 accordingly. To do.

引き続き図1を参照すると、供給装置104上のマイクロコントローラ112は、暗号化タイミング・チャレンジ128に基づく数学的計算を実施するための専用ハードウェア・チャレンジ・ロジック132を含む。専用チャレンジ・ロジック132は、具体的には、特定の数学的計算を最適に実施するように設計され、マイクロコントローラ112上に作成される。一例示的実施形態において、数学的計算は、専用ロジック132において非常に高速に実行されるように最適化された一連の演算を定義する基本関数を含む。数学的計算、又は関数は、各繰り返しの出力が次の繰り返しの入力の一部とされる形で、何度も繰り返される。すなわち、数学的計算の各繰り返しのたびに、オペランド(計算対象)は変わるが、数学的計算自体は変わらない。さらに、タイミング・チャレンジ128に付随するチャレンジ・パラメタ値は、各タイミング・チャレンジ128ごとに変わる場合がある。認証アルゴリズム126によって供給装置104に発行される各タイミング・チャレンジ128は、セッション・キー、ホスト装置102上でコントローラ106により生成された乱数シード値、及び、計算カウント又は計算サイクルによって、異なる値を有する場合がある。したがって、各タイミング・チャレンジ128ごとに、チャレンジ・レスポンス130、及びチャレンジ・レスポンス時間131は、それらのチャレンジ・パラメタ値により決定される。より具体的には、セッション・キー、乱数シード、及び計算カウントはすべて、チャレンジ・レスポンス値130に影響を与えるが、計算カウントはさらに、専用チャレンジ・ロジック132による数学的計算の繰り返しの回数を変化させることにより、チャレンジ・レスポンス時間131にも影響を与える。   With continued reference to FIG. 1, the microcontroller 112 on the supply device 104 includes dedicated hardware challenge logic 132 to perform mathematical calculations based on the cryptographic timing challenge 128. The dedicated challenge logic 132 is specifically designed and implemented on the microcontroller 112 to optimally perform certain mathematical calculations. In one exemplary embodiment, the mathematical calculations include primitive functions that define a set of operations optimized to execute very quickly in dedicated logic 132. A mathematical calculation, or function, is repeated many times, with the output of each iteration being part of the input of the next iteration. That is, the operand (calculation target) changes with each iteration of the mathematical calculation, but the mathematical calculation itself does not change. Further, the challenge parameter value associated with the timing challenge 128 may change for each timing challenge 128. Each timing challenge 128 issued by the authentication algorithm 126 to the supplying device 104 has a different value depending on the session key, the random seed value generated by the controller 106 on the host device 102, and the calculation count or cycle. There are cases. Therefore, for each timing challenge 128, the challenge response 130 and challenge response time 131 are determined by their challenge parameter values. More specifically, the session key, the random number seed, and the calculation count all affect the challenge response value 130, but the calculation count further changes the number of iterations of the mathematical calculation by the dedicated challenge logic 132. By so doing, the challenge/response time 131 is also affected.

上記のように、認証アルゴリズム126は、チャレンジ・レスポンス130、及びチャレンジ・レスポンス時間131が正しいもの、すなわち、期待されるものであるか否かを判断する。これは、チャレンジ・レスポンス130、及びレスポンス時間131を正しい値、すなわち期待値と比較することにより行われる。異なる実施形態では、アルゴリズム126は、異なる方法で正しい値、すなわち期待値を決定する。一実施形態において、アルゴリズム126は、例えば、供給置104に記憶された特性データ134を読み出し、取得する。特性データ134は、デジタル署名を用いて安全な状態にされることができ、標準的暗号処理を使用して検証されることができる。特性データ134は、タイミング・チャレンジ128とともに提供された計算カウントに応じて、チャレンジ・レスポンス時間131がその範囲内になければならない期待される時間窓を提供する。したがって、図2に示されるような一例において、特性データ134は種々の計算カウント値を種々の時間窓に関連付けるデータの表を含む場合がある。単なる例として、そのような関連付けは、計算カウントが10000である場合(すなわち、数学的計算を10000回実施しなければならない場合)、チャレンジ・レスポンス時間131が50〜55ミリ秒の時間窓内にあることが期待されることを示すかもしれない。別の例において、特性データ134は、傾き切片型の式y=mx+bのような数学的関係から得られるかもしれない。すなわち、所要の計算カウント値xに対し、期待時間yを決定することができる。そして、ホスト102上の認証アルゴリズム126は、例えば、期待時間y±5%を使用することにより、時間窓を決定することができる。 As described above, the authentication algorithm 126 determines whether the challenge response 130 and the challenge response time 131 are correct, that is, expected. This is done by comparing the challenge response 130 and the response time 131 with the correct value, ie the expected value. In different embodiments, the algorithm 126 determines the correct or expected value in different ways. In one embodiment, the algorithm 126 may be, for example, reads out the characteristic data 134 stored in the supply equipment 104, acquires. The characteristic data 134 can be secured with a digital signature and verified using standard cryptographic processing. The characterization data 134 provides an expected time window within which the challenge response time 131 must fall, depending on the computational count provided with the timing challenge 128. Thus, in one example, as shown in FIG. 2, the characteristic data 134 may include a table of data correlating various calculation count value for various time window. By way of example only, such an association is such that if the calculation count is 10000 (ie, the mathematical calculation has to be performed 10,000 times), the challenge response time 131 is within a time window of 50-55 milliseconds. It may indicate that something is expected. In another example, the characteristic data 134 may be obtained from a mathematical relationship such as the slope intercept type equation y=mx+b. That is, the expected time y can be determined for the required calculation count value x. Then, the authentication algorithm 126 on the host 102 can determine the time window by using the expected time y±5%, for example.

他の例示的実施形態において、認証アルゴリズム126は、暗号化タイミング・チャレンジ128を、ホスト装置のコントローラ106上の専用基準ロジック136に発行することにより、チャレンジ・レスポンス130についての正しい値、すなわち期待値を決定する。コントローラ106上の基準ロジック136は、供給装置104上の専用ハードウェア・ロジック132をミラーリングしているため、具体的には、暗号化タイミング・チャレンジ128に基づく数学的計算を最適に実施するように設計され、コントローラ106上に作成される。すなわち、認証アルゴリズム126がタイミング・チャレンジ128を供給装置104に発行するとき、認証アルゴリズム126は、そのタイミング・チャレンジ128を基準ロジック136にも発行する。基準ロジック136は、供給装置104上の専用ハードウェア・ロジック132に関して上で説明したものと同様の形で、タイミング・チャレンジに基づく数学的計算を実施する。タイミング・チャレンジ128に応答して、基準ロジック136は、チャレンジを完了し、基準時間に基準応答を生成する。基準応答時間窓は、例えば、基準時間の特定割合(例えば、±5%、±10%)内に収まるように定義されることができる。そして、認証アルゴリズム126は、基準応答、及び基準応答時間窓を、チャレンジ・レスポンス130及びチャレンジ・レスポンス時間131と比較するための期待値として使用することができる。もし、チャレンジ・レスポンス130が基準応答と合致し、かつ、チャレンジ・レスポンス時間131が基準応答時間窓内にある場合、アルゴリズム126は、供給装置104が真正の装置であるものと判断する。   In another exemplary embodiment, the authentication algorithm 126 issues an encrypted timing challenge 128 to the dedicated reference logic 136 on the controller 106 of the host device to cause the correct or expected value for the challenge response 130. To decide. The reference logic 136 on the controller 106 mirrors the dedicated hardware logic 132 on the supply device 104 so that it specifically optimizes the mathematical calculations based on the cryptographic timing challenge 128. Designed and created on controller 106. That is, when the authentication algorithm 126 issues a timing challenge 128 to the supplier 104, the authentication algorithm 126 also issues that timing challenge 128 to the reference logic 136. The reference logic 136 performs timing challenge-based mathematical calculations in a manner similar to that described above for the dedicated hardware logic 132 on the supply 104. In response to the timing challenge 128, the reference logic 136 completes the challenge and generates a reference response at the reference time. The reference response time window can be defined, for example, so that it falls within a specific percentage of the reference time (eg, ±5%, ±10%). The authentication algorithm 126 can then use the reference response and the reference response time window as an expected value for comparing the challenge response 130 and the challenge response time 131. If the challenge response 130 matches the reference response and the challenge response time 131 is within the reference response time window, the algorithm 126 determines that the delivery device 104 is a genuine device.

図3は、インクジェット印刷システム300として実施される認証システム100の一例を示している。一般に、印刷システム300は、一般的認証システム100と同一又は類似の種々の構成要素を含み、交換式インクジェット供給カートリッジの認証に関して、同一又は類似の形で動作する。一例示的実施形態において、インクジェット印刷システム300は、コントローラ106を備えたプリントエンジン302と、マウンティング・アセンブリ304と、インク供給カートリッジ306として実施される1以上の交換式供給装置104と、インクジェット印刷システム300の種々の電気部品に電力を供給する少なくとも1つの電源308とを含む。印刷システム300は、媒体搬送アセンブリ310をさらに含む。   FIG. 3 shows an example of an authentication system 100 implemented as an inkjet printing system 300. In general, printing system 300 includes various components that are the same or similar to general authentication system 100, and operates in the same or similar manner for authenticating replaceable inkjet supply cartridges. In one exemplary embodiment, an inkjet printing system 300 includes a print engine 302 with a controller 106, a mounting assembly 304, one or more replaceable supply devices 104 embodied as an ink supply cartridge 306, and an inkjet printing system. At least one power supply 308 for powering the various electrical components of 300. Printing system 300 further includes media transport assembly 310.

図4は、交換式供給装置104を表す例示的インクジェット供給カートリッジ306を示す斜視図である。インクジェット・カートリッジ306は、1以上のプリントヘッド312に加えて、一群の電気的接点400と、インク(又は他の流体)供給室402とを含む。一部の実施形態において、カートリッジ306は、一色のインクが格納された供給室402を有する場合があり、他の実施形態において、カートリッジ306は、各室に異なる色のインクが格納された複数の室402を有する場合がある。電気的接点400は、コントローラ106からプリントヘッド312上のノズル314へと電気信号を運び、流体滴の噴射を生じさせる。電気的接点400はさらに、コントローラ106とマイクロコントローラ112との間において電気信号を運び、インクジェット印刷システム300内のカートリッジ306の認証を容易にする。一例示的実施形態において、マイクロコントローラ112は、プリントヘッド312と共通のシリコン基板上に配置される。他の例示的実施形態において、マイクロコントローラ112は、カートリッジ306上のどこかに、スタンドアロンのスマートカードとして配置される。マイクロコントローラ112は、図1に示され、上で説明されたマイクロコントローラ112に類似し、図1のマイクロコントローラ112のものと同じ一般的構成要素(図4には全てが示されてはいない)を含む。すなわち、カートリッジ306上のマイクロコントローラ112は、メモリ116、及び専用チャレンジ・ロジック132を含み、専用チャレンジ・ロジック132は、図1及び図2の認証システム100に関して上で説明したものと同じ一般的態様で動作する。   FIG. 4 is a perspective view showing an exemplary inkjet supply cartridge 306 representing the replaceable supply device 104. Inkjet cartridge 306 includes, in addition to one or more printheads 312, a group of electrical contacts 400 and an ink (or other fluid) supply chamber 402. In some embodiments, the cartridge 306 may have a supply chamber 402 that stores one color of ink, and in other embodiments, the cartridge 306 includes multiple chambers that store different colors of ink in each chamber. It may have a chamber 402. The electrical contacts 400 carry electrical signals from the controller 106 to the nozzles 314 on the printhead 312, causing ejection of a fluid drop. The electrical contacts 400 also carry electrical signals between the controller 106 and the microcontroller 112 to facilitate authentication of the cartridge 306 within the inkjet printing system 300. In one exemplary embodiment, microcontroller 112 is located on a silicon substrate in common with printhead 312. In another exemplary embodiment, the microcontroller 112 is located somewhere on the cartridge 306 as a stand-alone smart card. The microcontroller 112 is similar to the microcontroller 112 shown in FIG. 1 and described above, and has the same general components as those of the microcontroller 112 of FIG. 1 (not all shown in FIG. 4). including. That is, the microcontroller 112 on the cartridge 306 includes a memory 116 and a dedicated challenge logic 132, which is the same general aspect described above with respect to the authentication system 100 of FIGS. 1 and 2. Works with.

図3及び図4を参照すると、プリントヘッド312は、複数のオリフィス又はノズル314を通してインク又は他の流体の滴を印刷媒体316に向けて噴射し、印刷媒体316への印刷を行う。印刷媒体316は、紙、カード用紙、透明フィルム、マイラー、ポリエステル、合板、発泡ボード、布地、キャンバス等のような任意のタイプの適当なシート材又はロール材であってよい。プリントヘッド312は、様々な形でノズル314を通してインクを噴射するように構成されることができる。例えば、サーマル・インクジェット・プリントヘッドは、加熱素子に電流を流すことによって熱を生成し、噴射室内のインクの小部分を気化させることによって、ノズルからインク滴を噴射する。気泡は、ノズル314を通してインク滴を押し出す。他の例において、圧電インクジェット・プリントヘッドは、圧電材料アクチュエータを使用して、インク滴をノズルから押し出すための圧力パルスを生成する。ノズル314は通常、1以上の列、又はアレイを成すように構成され、インク・カートリッジ306と印刷媒体316とが互いに対して移動される際に、ノズル314からの適切な順序でのインクの噴射によって、印刷媒体316上に印刷されるべき文字、記号、及び/又は他の図形若しくは画像を生成するように構成される。   Referring to FIGS. 3 and 4, the printhead 312 ejects drops of ink or other fluid toward the print medium 316 through a plurality of orifices or nozzles 314 to print on the print medium 316. The print medium 316 may be any type of suitable sheet material or roll material such as paper, cardboard, transparent film, mylar, polyester, plywood, foam board, fabric, canvas and the like. The printhead 312 can be configured to eject ink through the nozzles 314 in various ways. For example, thermal inkjet printheads eject ink drops from nozzles by generating heat by passing an electric current through a heating element to vaporize a small portion of the ink within the ejection chamber. The bubbles push ink drops through the nozzles 314. In another example, a piezoelectric inkjet printhead uses piezoelectric material actuators to generate pressure pulses for ejecting drops of ink from nozzles. Nozzles 314 are typically configured in one or more rows, or arrays, to eject ink from nozzles 314 in the proper order as ink cartridge 306 and print medium 316 are moved relative to each other. Is configured to generate characters, symbols, and/or other graphics or images to be printed on the print medium 316.

マウンティング・アセンブリ304は、インクジェット・カートリッジ306を媒体搬送アセンブリ310に対して位置決めし、媒体搬送アセンブリ310は、印刷媒体316をインクジェット・カートリッジ306に対して位置決めする。したがって、印刷ゾーン318は、インクジェット・カートリッジ306と印刷媒体316との間の領域において、ノズル314に隣接して定義される。一実施形態において、プリントエンジン302は、走査型プリントエンジン302である。したがって、マウンティング・アセンブリ304は、印刷媒体316を走査するために、インクジェット・カートリッジ306を媒体搬送アセンブリ310に対して移動させるためのキャリッジを含む。他の実施形態において、プリントエンジン302は、非走査型プリントエンジン302である。したがって、マウンティング・アセンブリ302は、インクジェット・カートリッジ306を媒体搬送アセンブリ310に対して所定位置に固定する一方、媒体搬送アセンブリ310は、印刷媒体316をインクジェット・カートリッジ306に対して位置決めする。   The mounting assembly 304 positions the inkjet cartridge 306 with respect to the media transport assembly 310, and the media transport assembly 310 positions the print media 316 with respect to the inkjet cartridge 306. Accordingly, print zone 318 is defined adjacent nozzle 314 in the area between inkjet cartridge 306 and print medium 316. In one embodiment, print engine 302 is a scanning print engine 302. Accordingly, mounting assembly 304 includes a carriage for moving inkjet cartridge 306 relative to media transport assembly 310 to scan print media 316. In another embodiment, print engine 302 is a non-scan print engine 302. Thus, the mounting assembly 302 locks the inkjet cartridge 306 in place with respect to the media transport assembly 310, while the media transport assembly 310 positions the print media 316 with respect to the inkjet cartridge 306.

図1の認証システム100に関して上に記載したように、コントローラ106は通常、プロセッサ(CPU)108、メモリ110、ファームウェア、及び他の電子部品のような標準的コンピューティング・システムの種々の構成要素を含む。図3のインクジェット印刷システム300において、コントローラ106は同様に、印刷システム300の一般的機能を制御するとともに、インクジェット・カートリッジ306、マウンティング・アセンブリ304、及び媒体搬送アセンブリ310と通信し、それらを制御するためのそのような構成要素を採用している。したがって、コントローラ106は、コンピュータのようなホストシステムからデータ320を受信し、データ320をメモリ110に一時的に記憶する。通常、データ320は、電気的経路、赤外線経路、光学的経路又は他の情報伝送経路を通して、インクジェット印刷システム300へと送信される。データ320は、例えば、印刷すべき文書、及び/又はファイルを表している。したがって、データ320は、1以上の印刷ジョブコマンド、及び/又はコマンド・パラメタを含む、インクジェット印刷システム300のための印刷ジョブを形成する。コントローラ106は、データ320を使用してインクジェット・カートリッジ306を制御し、ノズル314からインク滴を噴射する。したがって、コントローラ106は、印刷媒体316上に文字、記号、及び/又は他の図形又は画像を形成する噴射インク滴のパターンを定義している。噴射インク滴のパターンは、データ320から得られる印刷ジョブコマンド、及び/又はコマンド・パラメタによって決定される。   As described above with respect to the authentication system 100 of FIG. 1, the controller 106 typically comprises various components of a standard computing system such as a processor (CPU) 108, memory 110, firmware, and other electronic components. Including. In the inkjet printing system 300 of FIG. 3, the controller 106 also controls general functions of the printing system 300, and also communicates with and controls the inkjet cartridge 306, the mounting assembly 304, and the media transport assembly 310. Employs such components for. Accordingly, controller 106 receives data 320 from a host system, such as a computer, and temporarily stores data 320 in memory 110. The data 320 is typically transmitted to the inkjet printing system 300 via an electrical path, an infrared path, an optical path, or other information transmission path. The data 320 represents, for example, a document and/or file to be printed. As such, the data 320 forms a print job for the inkjet printing system 300 that includes one or more print job commands, and/or command parameters. The controller 106 uses the data 320 to control the inkjet cartridge 306 to eject ink drops from nozzles 314. As such, the controller 106 defines a pattern of ejected ink drops that form characters, symbols, and/or other graphics or images on the print medium 316. The pattern of ejected ink drops is determined by the print job command and/or command parameters obtained from the data 320.

コントローラ106は、インクジェット印刷システム300の一般的印刷機能を管理することに加えて、認証アルゴリズム126を実行し、インクジェット供給カートリッジ306が真正の装置であるか否かを判断する。印刷システム300におけるこの認証プロセスは、図1の一般的認証システム100に関して上で説明したプロセスに類似している。図5は、インクジェット供給カートリッジ306のような交換式供給装置104が真正の装置であるか否かを判断するための、印刷システム300又は他の認証システム100における例示的認証プロセス500を示すフロー図である。プロセス500は、図1〜図4に関連して上で説明した種々の例示的実施形態に関連しており、したがって、プロセス500中の種々のステップの詳細は、そのような実施形態の関連する説明中に見られる。プロセス500の種々のステップは、図1及び図3のメモリ110のような非一時的コンピュータ/プロセッサ読取可能媒体上に記憶されたプログラミング命令を含むアルゴリズムとして実現される場合がある。別の例において、プロセス500の種々のステップは、図1及び図3のプロセッサ108のようなプロセッサにより、そのようなプログラミング命令を読み取り、実行することによって達成される。プロセス500は、2以上の実施形態を含む場合があり、プロセス500の異なる実施形態は、図5のフロー図に示した全てのステップを採用はしない場合がある。したがって、プロセス500の種々のステップは、フロー図において特定の順序で示されているが、示されたステップの順序は、ステップを実施することができる順序、又は全てのステップを実施することができる否かに関する制限を意図するものではない。例えば、プロセス500の一実施形態は、複数の初期ステップの実施により、1以上の後続のステップを実施することなく達成されるかもしれない一方、プロセス500の他の実施形態は、全てのステップを実施することにより達成されるかもしれない。   In addition to managing the general printing functions of the inkjet printing system 300, the controller 106 also executes an authentication algorithm 126 to determine if the inkjet supply cartridge 306 is a genuine device. This authentication process in printing system 300 is similar to the process described above with respect to generic authentication system 100 of FIG. FIG. 5 is a flow diagram illustrating an exemplary authentication process 500 in a printing system 300 or other authentication system 100 for determining whether a replaceable supply device 104, such as an inkjet supply cartridge 306, is an authentic device. Is. Process 500 is related to the various exemplary embodiments described above in connection with FIGS. 1-4, and thus details of the various steps in process 500 are related to such embodiments. Seen in the description. Various steps of process 500 may be implemented as an algorithm including programming instructions stored on a non-transitory computer/processor readable medium, such as memory 110 of FIGS. In another example, various steps of process 500 are accomplished by a processor, such as processor 108 of FIGS. 1 and 3, reading and executing such programming instructions. Process 500 may include more than one embodiment, and different embodiments of process 500 may not employ all the steps shown in the flow diagram of FIG. Thus, although the various steps of process 500 are shown in a particular order in the flow diagram, the order of steps shown may be the order in which the steps may be performed, or all steps may be performed. No limitation regarding whether or not it is intended. For example, one embodiment of process 500 may be accomplished by performing multiple initial steps without performing one or more subsequent steps, while other embodiments of process 500 perform all steps. It may be achieved by implementing.

次に、図1、図3、及び図5を主として参照すると、認証プロセス500は、ブロック502から開始され、ここで、図示された最初のステップは、交換式供給装置を認識することである。交換式供給装置の認識は通常、ホスト装置の電源投入時、又は新たな供給装置をホスト装置に挿入したときに行われ、例えば、印刷システムの電源を投入したとき、又は印刷システムにおいてインク又はトナー・プリント供給カートリッジを交換したときなどに行われる。交換式供給装置は、各印刷ジョブの開始時に供給装置に電源が投入されたときに認識されてもよい。認証プロセス500は、ブロック504へと進み、そこで、暗号化タイミング・チャレンジが発行される。このタイミング・チャレンジは、印刷装置のようなホスト装置から発行され、プリント供給カートリッジのような供給装置へ送信される。タイミング・チャレンジは、ホスト装置と供給装置の間で導出されたセッション・キー、ホスト装置により生成された乱数シード値、及び、実施すべき計算の回数を示す計算カウント又は計算サイクルを含む特定のチャレンジ・パラメタを伴う特定の数学的計算を実施するための要求を含む。ブロック506に示されているように、タイミング・チャレンジの発行時に、ホスト装置は、チャレンジ・レスポンスを受信するまでに要する時間を監視するためのタイミング・シーケンスを開始する場合がある。   1, 3 and 5, the authentication process 500 begins at block 502, where the first step illustrated is to recognize a replaceable dispenser. Recognition of the replaceable supply device is usually performed when the host device is powered on or when a new supply device is inserted into the host device, for example when the printing system is powered on or ink or toner in the printing system. -This is done when the print supply cartridge is replaced. The replaceable feeder may be recognized when the feeder is turned on at the beginning of each print job. The authentication process 500 proceeds to block 504, where an encryption timing challenge is issued. This timing challenge is issued from a host device such as a printing device and sent to a supply device such as a print supply cartridge. A timing challenge is a specific challenge that includes a session key derived between the host device and the supplying device, a random seed value generated by the host device, and a calculation count or cycle indicating the number of calculations to be performed. Includes requirements to perform specific mathematical calculations with parameters. Upon issuance of the timing challenge, the host device may initiate a timing sequence to monitor the time taken to receive the challenge response, as indicated by block 506.

ブロック508に示されているように、一部の実施形態において、タイミング・チャレンジは、ホスト装置上の基準ロジックにも送信される場合がある。タイミング・チャレンジがホスト装置上の基準ロジックに送信された場合、ブロック510に示されているように、特定の経過基準時間において、基準ロジックから、基準応答が受信される。ブロック512において、基準時間窓は、この基準時間付近の特定割合の範囲を含めることによって、決定される場合がある。例えば、基準時間窓は、基準時間のプラスマイナス5%の基準時間であるものとして決定される場合がある。一部の実施形態では、タイミング・チャレンジをホスト装置上の基準ロジックに送信する代替として、ブロック514に示されているように、ホスト装置は、供給装置に記憶された特性データを読み出し、取得する。他の実施形態では、特性データが、ホスト装置のメモリにハードコーディングされる場合がある。特性データは、異なる計算カウント値に関連付けられた、供給装置からチャレンジ・レスポンスを受信するための期待される時間窓を含む。   In some embodiments, the timing challenge may also be sent to reference logic on the host device, as indicated at block 508. If the timing challenge is sent to the reference logic on the host device, a reference response is received from the reference logic at a particular elapsed reference time, as shown in block 510. At block 512, a reference time window may be determined by including a particular percentage range around this reference time. For example, the reference time window may be determined to be the reference time plus or minus 5% of the reference time. In some embodiments, as an alternative to sending the timing challenge to the reference logic on the host device, the host device reads and retrieves the characteristic data stored in the supply device, as shown in block 514. .. In other embodiments, the characteristic data may be hard-coded into the memory of the host device. The characteristic data comprises an expected time window for receiving a challenge response from the supply device, which is associated with different calculated count values.

ブロック516に示されているように、認証プロセス500は、供給装置からチャレンジ・レスポンスを受信することを含む。チャレンジ・レスポンスは、例えばホスト装置における時間計測により判定することが可能な特定のチャレンジ・レスポンス時間において受信される。プロセス500は、ブロック518へと進み、そこで、チャレンジ・レスポンスは、期待される応答と比較される。期待される応答は、ホスト装置上の基準ロジックから受け取った基準応答であってもよい。ブロック520ではさらに、チャレンジ・レスポンス時間が期待される応答時間窓と比較され、チャレンジ・レスポンス時間が期待される時間窓内にあるか否かが判定される。期待される時間窓は、基準時間窓であってもよいし、供給装置又はどこかに記憶された特性データから読み出された期待される時間窓であってもよい。   As shown in block 516, the authentication process 500 includes receiving a challenge response from the supplier. The challenge response is received at a specific challenge response time that can be determined by, for example, time measurement in the host device. The process 500 proceeds to block 518, where the challenge response is compared to the expected response. The expected response may be the reference response received from the reference logic on the host device. Further at block 520, the challenge response time is compared to the expected response time window to determine if the challenge response time is within the expected time window. The expected time window may be a reference time window or an expected time window read from the supply device or characteristic data stored somewhere.

認証プロセス500は、ブロック522へと進む。ブロック522では、供給装置からのチャレンジ・レスポンスが期待値と合致し、かつ、チャレンジ・レスポンス時間が期待される時間窓内にある場合、ホスト装置は、供給装置を認証する。プロセス500のブロック524では、チャレンジ・レスポンスが期待値と合致しないか、又は、チャレンジ・レスポンス時間が期待される時間窓の外にあるか、あるいはそれら両方である場合、ホスト装置は、供給装置が真正ではないものと判断する。   The authentication process 500 proceeds to block 522. At block 522, the host device authenticates the supplier if the challenge response from the supplier matches the expected value and the challenge response time is within the expected time window. At block 524 of process 500, if the challenge response does not match the expected value and/or the challenge response time is outside the expected time window, or both, then the host device determines that the supplying device is Judge that it is not authentic.

本発明の例示的実施形態を以下に列挙する。
1.プリント供給カートリッジであって、タイミング・チャレンジを受信し、期待される時間窓内のチャレンジ・レスポンス時間でチャレンジ・レスポンスを提供することによって、当該プリント供給カートリッジの認証を可能にするマイクロコントローラを含む、プリント供給カートリッジ。
2.前記マイクロコントローラ上に、前記タイミング・チャレンジに応答して数学的計算を実施するための専用ハードウェア・ロジックをさらに含み、前記数学的計算によって、前記期待される時間窓内に前記チャレンジ・レスポンスが生成される、1に記載のプリント供給カートリッジ。
3.前記マイクロコントローラに記憶された、前記チャレンジ・レスポンスを完了するための期待される時間窓を含む特性データをさらに含む、1に記載のプリント供給カートリッジ。
4.前記タイミング・チャレンジに基づく数学的計算を実施する回数を指定する計算カウントが、各期待される時間窓に関連付けられている、3に記載のプリント供給カートリッジ。
5.前記タイミング・チャレンジは、セッション・キー、乱数シード、及び、前記数学的計算を実施する回数を指定する計算カウントを含むチャレンジ・パラメタを含む、2に記載のプリント供給カートリッジ。
6.前記チャレンジ・レスポンスを決定するために、前記数学的計算が、前記セッション・キー、前記乱数シード、及び前記計算カウントに対して実施される、5に記載のプリント供給カートリッジ。
7.前記チャレンジ・レスポンス時間は、前記計算カウントに応じて決まる、5に記載のプリント供給カートリッジ。
8.一意のID、及び、前記セッション・キーを導出する元になったベース・キーをさらに含む、5に記載のプリント供給カートリッジ。
9.インク、及びトナーから成る一群の中から選択された印刷材料をさらに含む、1に記載のプリント供給カートリッジ。
10.交換式供給装置であって、ホスト装置と共にセッション・キーを導出し、前記ホスト装置から、乱数シード、前記セッション・キー、及び計算サイクルを指定する時間依存チャレンジを受信するためのマイクロコントローラと、前記計算サイクルに等しい回数だけチャレンジ計算を実施するための、前記マイクロコントローラ内の専用ロジックとを含み、最初の計算において、前記乱数シード、及び前記セッション・キーを使用して出力が生成され、その後の各計算において、先行する計算の出力が使用される、交換式供給装置。
11.指定された計算サイクルに応じて決まる時間依存チャレンジを完了するための異なる時間窓を含む、前記マイクロコントローラのメモリに記憶された特性データをさらに含む、10に記載の交換式供給装置。
12.前記ホスト装置により印刷媒体上に堆積されるべき印刷材料をさらに含む、10に記載の交換式供給装置。
13.前記印刷材料は、トナー、及びインクからなる一群の中から選択される、12に記載の交換式供給装置。
14.前記チャレンジ計算は、特定順序での複数回の数学的演算を含む、11に記載の交換式供給装置。
Exemplary embodiments of the invention are listed below.
1. A print supply cartridge, comprising a microcontroller that enables authentication of the print supply cartridge by receiving a timing challenge and providing a challenge response at a challenge response time within an expected time window, Print supply cartridge.
2. Further comprising on the microcontroller dedicated hardware logic for performing a mathematical calculation in response to the timing challenge, the mathematical calculation ensures that the challenge response is within the expected time window. The print supply cartridge according to 1, generated.
3. The print supply cartridge of claim 1, further comprising characteristic data stored in the microcontroller that includes expected time windows for completing the challenge response.
4. 4. The print supply cartridge according to 3, wherein a calculation count specifying a number of times to perform a mathematical calculation based on the timing challenge is associated with each expected time window.
5. 3. The print supply cartridge of 2, wherein the timing challenge includes a challenge parameter that includes a session key, a random number seed, and a calculation count that specifies the number of times to perform the mathematical calculation.
6. 6. The print supply cartridge of 5, wherein the mathematical calculation is performed on the session key, the random number seed, and the calculation count to determine the challenge response.
7. 6. The print supply cartridge according to 5, wherein the challenge response time is determined according to the calculated count.
8. 6. The print supply cartridge of 5, further comprising a unique ID and a base key from which the session key is derived.
9. The print supply cartridge of claim 1, further comprising a printing material selected from the group consisting of ink and toner.
10. A switchable delivery device for deriving a session key with a host device and receiving from the host device a random number seed, the session key, and a time-dependent challenge specifying a calculation cycle; Dedicated logic within the microcontroller for performing the challenge calculation a number of times equal to the calculation cycle, the first calculation generating an output using the random number seed and the session key, and A replaceable feeder in which the output of the preceding calculation is used in each calculation.
11. 11. The replaceable dispensing device according to 10, further comprising characteristic data stored in the memory of the microcontroller, including characteristic time windows for completing time-dependent challenges that depend on a specified calculation cycle.
12. 11. The replaceable feeder according to 10, further comprising print material to be deposited on a print medium by the host device.
13. 13. The replaceable supply device according to 12, wherein the printing material is selected from the group consisting of toner and ink.
14. 12. The replaceable dispensing device according to 11, wherein the challenge calculation includes multiple mathematical operations in a particular order.

Claims (11)

ホスト装置からタイミング・チャレンジを受信し、チャレンジ・レスポンスを前記ホスト装置に提供するように構成された交換式供給装置であって、
前記タイミング・チャレンジに応答し、前記タイミング・チャレンジにより指定された計算カウントに等しい回数だけ計算を実施するように構成された専用ハードウェアロジックであって、前記計算により前記チャレンジ・レスポンスが提供される、専用ハードウェアロジックと、
前記交換式供給装置が前記チャレンジ・レスポンスを提供するのに要するチャレンジ・レスポンス時間がその範囲内になければならない期待される時間窓を、前記計算カウントに応じて提供する特性データと
を含み、
前記特性データは、前記期待される時間窓を決定するために、前記ホスト装置によって読み出され、取得される、交換式供給装置。
A replaceable feeder configured to receive a timing challenge from a host device and provide a challenge response to the host device,
Dedicated hardware logic configured to respond to the timing challenge and perform a calculation a number of times equal to a calculation count specified by the timing challenge , the calculation providing the challenge response , Dedicated hardware logic,
The time window in which the replaceable supply apparatus challenge response time required to provide the challenge response is expected should be within that range, look including the characteristic data provided in response to the calculation count,
A replaceable feeder, wherein the characteristic data is read and obtained by the host device to determine the expected time window .
前記期待される時間窓は、下限値及び上限値を有する時間の範囲により表される、請求項1に記載の交換式供給装置。The replaceable feeder according to claim 1, wherein the expected time window is represented by a range of times having a lower limit and an upper limit. 最初の計算では、前記タイミング・チャレンジにより指定された乱数シード、及びセッション・キーを使用して出力が生成され、その後の各計算では、先行する計算の出力が使用される、請求項1または請求項2に記載の交換式供給装置。 In the first calculation, the random number seed is designated by the timing challenge, and output using the session key is generated, in each subsequent calculation, the output of the preceding calculation is used, according to claim 1, wherein Item 3. The exchangeable supply device according to Item 2. 最後の計算から、前記チャレンジ・レスポンスが得られる、請求項3に記載の交換式供給装置。   The replaceable feeder according to claim 3, wherein the challenge response is obtained from a final calculation. 前記特性データは、複数の異なる計算カウントを複数の異なる期待される時間窓に関連付けるデータの表を含む、請求項に記載の交換式供給装置。 The replaceable dispenser of claim 1 , wherein the characteristic data includes a table of data that associates different calculation counts with different expected time windows. 前記特性データは、傾き切片型の式y=mx+bによって提供され、前記式中、前記計算カウント(x)に対し、期待時間(y)が決定され、前記期待される時間窓は、前記期待時間(y)を使用して決定される、請求項に記載の交換式供給装置。 The characteristic data is provided by the equation y = mx + b slope intercept form, in the above formula, the relative calculation count (x), is determined expected time (y) is the expected time window, the expected The replaceable dispensing device of claim 1 , wherein the replaceable dispensing device is determined using time (y). 前記特性データは、デジタル署名を用いて安全な状態になっている、請求項1〜の何れか一項に記載の交換式供給装置。 The characteristic data using a digital signature has been in a safe condition, replaceable supply device according to any one of claims 1-6. 前記計算の1以上のオペランドは前記計算のたびに変わるが、前記計算自体は変わらない、請求項1〜の何れか一項に記載の交換式供給装置。 Although the one or more operands of the computation change each time the calculation, the calculation itself is not changed, replaceable supply device according to any one of claims 1-7. 一意のID、及び、前記セッション・キーが導出される元になったベース・キーを含む、請求項3、及び、請求項3に直接的または間接的に従属する請求項4〜の何れか一項に記載の交換式供給装置。 The unique ID, and includes a base-key was the source of the session key is derived, according to claim 3, and any of claims 4-8 that directly or indirectly dependent on claim 3 The exchangeable feeding device according to the item 1. 前記計算は、前記専用ハードウェアロジックにおいて実行されるように最適化された一連の演算を定義する基本関数を含む、請求項1〜の何れか一項に記載の交換式供給装置。 The calculation includes a basic function that defines a set of operations that is optimized to run in the dedicated hardware logic, replaceable supply device according to any one of claims 1-9. 前記交換式供給装置は、交換式インク供給カートリッジまたは交換式トナー供給カートリッジである、請求項1〜10の何れか一項に記載の交換式供給装置。 It said switching type supply device is a replaceable ink supply cartridges or replaceable toner supply cartridge, replaceable supply device according to any one of claims 1-10.
JP2017247531A 2017-12-25 2017-12-25 Supply device authentication by measuring challenge response time Active JP6700241B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017247531A JP6700241B2 (en) 2017-12-25 2017-12-25 Supply device authentication by measuring challenge response time

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017247531A JP6700241B2 (en) 2017-12-25 2017-12-25 Supply device authentication by measuring challenge response time

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2016536070A Division JP2016534626A (en) 2013-08-30 2013-08-30 Supply device authentication by measuring time for challenge and response

Publications (2)

Publication Number Publication Date
JP2018107805A JP2018107805A (en) 2018-07-05
JP6700241B2 true JP6700241B2 (en) 2020-05-27

Family

ID=62787491

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017247531A Active JP6700241B2 (en) 2017-12-25 2017-12-25 Supply device authentication by measuring challenge response time

Country Status (1)

Country Link
JP (1) JP6700241B2 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008037000A1 (en) * 2006-09-25 2008-04-03 Synaptic Laboratories Limited Inhibiting cloning of hardware devices by general purpose software processors
WO2011120974A1 (en) * 2010-03-30 2011-10-06 Irdeto Corporate B.V. Exchanging authentication information between a cartridge and an electronic device
JP2012174195A (en) * 2011-02-24 2012-09-10 Renesas Electronics Corp Authentication system

Also Published As

Publication number Publication date
JP2018107805A (en) 2018-07-05

Similar Documents

Publication Publication Date Title
US11691429B2 (en) Supply authentication via timing challenge response
EP3039490B1 (en) Supply authentication via timing challenge response
JP6700241B2 (en) Supply device authentication by measuring challenge response time
RU2670414C1 (en) Authentication of delivery through response to time matching request

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190305

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190412

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190924

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191111

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200407

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200430

R150 Certificate of patent or registration of utility model

Ref document number: 6700241

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250