АУТЕНТИФИКАЦИЯ ЗАМЕНЯЕМЫХ ЭЛЕМЕНТОВ
AUTHENTICATION OF REPLACEMENT ELEMENTS

ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
[0001] Устройства, которые используют заменяемые элементы, включают в себя печатающие устройства, в том числе автономные принтеры, копировальные машины и многофункциональные (AIO) устройства, которые могут выполнять множество функций, таких как печать, копирование, сканирование или отправку по факсу. Примерные заменяемые элементы для таких печатающих устройств включают в себя чернила, тонер и/или другие типы красящих веществ, включая красящее вещество для двумерной (2D) печати. Другие примерные заменяемые элементы, в частности, для устройств трехмерной (3D) печати, включают в себя средство для 3D печати и строительный материал для 3D печати.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0002] Фиг. 1 является схематичным представлением примерного картриджа с веществом печати для печатающего устройства.
[0003] Фиг. 2 является блок-схемой последовательности операций примерного способа, который может выполнять картридж с веществом печати или другой заменяемый элемент для устройства.
[0004] Фиг. 3 является блок-схемой последовательности операций примерного способа, который может выполнять картридж с веществом печати или другой заменяемый элемент для устройства для реализации части способа по фиг. 2.
[0005] Фиг. 4 является блок-схемой последовательности операций другого примерного способа, который может выполнять картридж с веществом печати или другой заменяемый элемент для устройства для реализации части способа по фиг. 2.
[0006] Фиг. 5 является блок-схемой последовательности операций примерного способа, который может выполнять картридж с веществом печати или другой заменяемый элемент для устройства для реализации части способа по фиг. 2.
ДЕТАЛЬНОЕ ОПИСАНИЕ
[0007] Как отмечено выше при описании предшествующего уровня техники, устройства, которые используют заменяемые элементы, включают в себя печатающие устройства. Запас вещества печати, такого как красящее вещество или другой тип вещества печати, хранится в картридже, который может быть вставлен в печатающее устройство. Когда запас расходуется, данный картридж может быть заменен картриджем, имеющим свежий запас соответствующего вещества печати. Картриджи, имеющие различные типы веществ печати, могут также переключаться по мере необходимости. В качестве примера, имеющий универсальные чернила картридж при необходимости может быть переключен на имеющий чернила с качеством фотопечати картридж в струйном печатающем устройстве.
[0008] Изготовители печатающих устройств также, как правило, изготавливают или иным образом поставляют вещество печати, используемое в печатающем устройстве. С точки зрения конечного пользователя, использование поставляемых изготовителем или одобренных изготовителем картриджей с веществом печати может способствовать желательному выводу печатающими устройствами и/или препятствовать повреждению печатающих устройств. Для изготовителя оригинального оборудования (OEM) может быть затруднительным гарантировать вывод печатающим устройством или функционирование печатающего устройства, если печатающее устройство использует картриджи третьей стороны. Вещество печати третьей стороны находится вне рамок контроля со стороны OEM. Например, это может обеспечивать различный вывод печати или повлечь за собой риск сокращения срока службы печатающего устройства. В некоторых случаях, например, для 3D-принтеров, может иметь место даже риск безопасности для пользователя, когда вещество печати является не одобренным к применению веществом печати. В некоторых случаях использование не одобренного к применению вещества печати может повлиять на гарантию, связанную с печатающим устройством.
[0009] Поэтому изготовители могут вводить картриджи с аутентификационной защитой. Печатающее устройство может опрашивать картридж, чтобы определить, является ли он аутентичным. Если картридж не является аутентичным (например, не одобренным к применению OEM), то печатающее устройство, например, может инициировать некоторую процедуру, такую как информирование конечного пользователя, например, немедленно или сразу после установки.
[0010] Раскрытые здесь методы обеспечивают новую, инновационную схему аутентификации для картриджа с веществом печати для печатающего устройства и, более конкретно, для заменяемого элемента для (хост-) устройства, в котором этот элемент может быть установлен (т.е., более обобщенно, устройства, с которым этот элемент может быть соединен). Картридж с веществом печати хранит ряд аутентификационных значений или паролей. Картридж включает в себя логику (такую как схемы, подобные процессору и памяти, хранящей код, который исполняет процессор, встроенное программное обеспечение и т.д.), чтобы удовлетворительным образом отвечать на запросы этих аутентификационных значений заданное максимальное число раз.
[0011] Как используется здесь, ответ на запрос аутентификационного значения является удовлетворительным ответом, если ответ включает в себя запрошенное аутентификационное значение. То есть ответ на запрос аутентификационного значения является удовлетворительным ответом, если ответ удовлетворяет запрос путем включения запрошенного аутентификационного значения. Неудовлетворительным ответом на такой запрос является, таким образом, такой ответ, который не включает в себя аутентификационное значение, которое было запрошено. Поэтому неудовлетворительным ответом на запрос является такой ответ, который не удовлетворяет запрос, потому что ответ не включает в себя запрошенное аутентификационное значение.
[0012] Заданное максимальное число раз, когда картридж будет удовлетворительным образом отвечать на запросы аутентификационного значения, может рассматриваться как первое такое число запросов аутентификационного значения, которые картридж принимает. Это объясняется тем, что картридж будет удовлетворять запросы аутентификационного значения, когда они принимаются, до тех пор, пока не будет выполнено максимальное число таких запросов. После того как максимальное число запросов аутентификационного значения выполнено, картридж не будет выполнять какие-либо дальнейшие запросы аутентификационного значения.
[0013] Заданное максимальное число раз, когда картридж будет удовлетворительным образом отвечать на запросы аутентификационного значения, может быть конкретным для аутентификационного значения. Например, если картридж хранит шестьдесят четыре разных аутентификационных значения, каждое аутентификационное значение может быть возвращено заданное максимальное число раз. Заданное максимальное число раз, когда картридж будет удовлетворительным образом отвечать на запросы аутентификационного значения, может быть конкретным для печатающего устройства, выполняющего запрос. Например, картридж может удовлетворительным образом отвечать заданное максимальное число раз на запросы от первого печатающего устройства, в которое был вставлен такой картридж. Если картридж удаляется из этого печатающего устройства и устанавливается во второе печатающее устройство, то картридж также может удовлетворительным образом отвечать на запросы от второго печатающего устройства заданное максимальное число раз.
[0014] Заданное максимальное число раз, когда картридж будет удовлетворительным образом отвечать на запросы аутентификационного значения, может быть конкретным как для аутентификационного значения, так и для печатающего устройства, выполняющего запрос. Например, если картридж хранит шестьдесят четыре различных аутентификационных значения, каждое аутентификационное значение может быть возвращено заданное максимальное число раз на первое печатающее устройство, в которое был вставлен картридж. Если картридж удаляется из этого печатающего устройства и устанавливается во второе печатающего устройства, картридж также может возвратить каждое аутентификационное значение заданное максимальное число раз на это печатающее устройство.
[0015] Заданное максимальное число раз, когда картридж будет удовлетворительным образом отвечать на запросы аутентификационного значения, может не быть конкретным для аутентификационного значения или для печатающего устройства, выполняющего запрос. Картридж может, иными словами, удовлетворительно отвечать только на заданное максимальное число запросов, независимо от печатающего устройства, выполняющего запрос, или аутентификационного значения, которое запрашивается. После того, как картридж возвратил аутентификационные значения в ответ на заданное максимальное число запросов, картридж больше не будет возвращать аутентификацию в ответ на следующий запрос, даже если запрашивается аутентификационное значение, которое не запрашивалось ранее, и даже если это исходит от печатающего устройства, которое перед этим не запрашивало аутентификационное значение.
[0016] Картридж с веществом печати может также хранить хеш-значения аутентификационных значений или паролей. Хеш-значения обеспечивают способ определения того, является ли данное аутентификационное значение, которое предоставил картридж, корректным. Схема аутентификации, использующая такой картридж с веществом печати, может включать в себя печатающее хост-устройство, которое может запрашивать четыре различных пароля или аутентификационных значения, сохраненные в картридже. Различные печатающие устройства могут и, вероятно, будут запрашивать различные пароли у данного картриджа. Аналогичным образом, данное печатающее устройство может и, вероятно, будет запрашивать различные пароли у различных картриджей.
[0017] Фиг. 1 показывает примерный картридж 100 с веществом печати для печатающего устройства. Картридж 100 включает в себя запас 102 вещества печати. Картридж 100 может содержать любой объем вещества печати, такой как от нескольких миллилитров до десятков литров. Различные примеры вещества печати включают в себя чернила для струйного печатающего устройства и жидкий или порошковый тонер для лазерного печатающего устройства. Такие чернила или тонер сами по себе являются примерами красящего вещества для двумерной (2D) печати, которое представляет собой красящее вещество, используемое соответствующим печатающим устройством для формирования изображений на носителе, таком как бумага, который минимально, если это вообще имеет место, продолжается в третьем измерении, перпендикулярном к двум измерениям, определяющим плоскость поверхности носителя, на котором сформированы изображения. Другие примеры вещества печати включают в себя средство для трехмерной (3D) печати и строительный материал для 3D печати, которые используются соответствующим 3D печатающим устройством для формирования 3D объекта, который, как правило, является удаляемым с некоторой подложки, на которой создается объект. Некоторые вещества печати, такие как чернила, могут быть использованы как для 2D, так и 3D печати.
[0018] Картридж 100 с веществом печати включает в себя логику 104. Логика 104 может быть реализована как схемы в картридже 100. Например, логика 104 может включать в себя процессор и энергонезависимый считываемый компьютером носитель данных, хранящий исполняемый компьютером код, который исполняется процессором. Тогда, в этом отношении, в одной реализации логика 104 может включать в себя микропроцессор и встроенное программное обеспечение, хранимое на самом микропроцессоре, где энергонезависимый считываемый компьютером носитель данных интегрирован в микропроцессор. В другой реализации логика 104 может включать в себя микропроцессор и программное обеспечение, встроенное в энергонезависимый носитель, отдельный от микропроцессора.
[0019] В качестве другого примера, логика 104 может представлять собой или включать в себя специализированную интегральную схему (ASIC) или программируемую вентильную матрицу (FPGA). Более обобщенно, в этом отношении логика 104 может быть реализована с использованием логических схем. В качестве третьего примера, логика 104 может быть реализована как любая комбинация процессора, программного обеспечения, сохраненного в процессоре или на носителе, отдельном от процессора, и логических схем.
[0020] Картридж 100 с веществом печати включает в себя энергонезависимую память 106. Память 106 может быть полупроводниковой памятью и является энергонезависимой в том смысле, что, когда питание снимается с картриджа 100, память 106 все еще сохраняет свое содержимое. Память 106 хранит пароли 108, которые также упоминаются здесь как аутентификационные значения. Память 106 может хранить хеш-значения 110 паролей, и хеш-значения могут индивидуально соответствовать паролям 108. Память 106 может хранить криптографический ключ 112, из которого могут генерироваться пароли 108.
[0021] Память 106 хранит ряд паролей 108, которые упоминаются как общее число паролей 108. Пароли 108 или аутентификационные значения сохраняются картриджем 100 так, что картридж 100 может подтвердить печатающему хост-устройству, что он является аутентичным. Иначе говоря, пароли 108 используются для аутентификации картриджа 100 в печатающем устройстве. Пароли 108 могут быть защищены зашифрованным криптографическим способом так, что пароли 108 по существу не могут быть извлечены из картриджа 100 иначе, чем описанными здесь методами. Пароли 108 могут, каждый, представлять собой последовательность битов, такую как 256 битов.
[0022] Память 106 может хранить одно хеш-значение 110 для каждого пароля 108. Хеш-значения 110 хранятся картриджем 100 так, что картридж 100 может подтвердить печатающему хост-устройству, что пароли 108 являются корректными. Иначе говоря, хеш-значения 110 используются для верификации паролей 108, предоставляемых картриджем 100, в печатающем устройстве. Хеш-значения 110 могут не быть криптографически защищенными в том смысле, что они могут быть свободно извлечены из картриджа 100, но могут быть криптографически защищенными в том смысле, что хеш-значения 110 не могут быть модифицированы. Хеш-значения 110 могут быть односторонними хеш-значениями 110 паролей 108, что означает, что пароль 108 не может быть определен только на основе знания его соответствующего хеш-значения 110, даже если известна односторонняя хеш-функция, используемая для генерации хеш-значения 110 из пароля 108.
[0023] Хеш-значения 110 могут быть предоставлены картриджем 100 в одной реализации таким образом, что хост-устройство может подтвердить подлинность хеш-значений 110 как сгенерированных объектом (т.е. изготовителем или поставщиком картриджа 100), которому хост-устройство доверяет. В качестве одного примера, хеш-значения 110 могут быть криптографически подписаны частным криптографическим ключом перед сохранением в картридже 100. Хост-устройство может использовать соответствующий общедоступный криптографический ключ для подтверждения подлинности хеш-значений 110. Частный ключ не может быть сохранен на картридже 100 и является публично недоступным.
[0024] Логика 104 разрешает извлечение паролей заданное максимальное число раз. Логика 104 может разрешить извлечение заданного максимального числа паролей 108, меньшего, чем общее число паролей 108, сохраненных в энергонезависимой памяти 106. В такой реализации логика 104 запрещает извлечение любого иного пароля 108, чем заданное максимальное число паролей, даже один раз, из памяти 106. Такая реализация описана в совместно рассматриваемых патентной заявке, поданной 16 июня 2016, и переуступленной патентной заявке № PCT/US2016/38211, которая включена сюда посредством ссылки.
[0025] Логика 104 может разрешить извлечение паролей 108 заданное максимальное число раз, независимо от паролей 108, которые запрашиваются. То есть логика 104 удовлетворительным образом отвечает на первое заданное максимальное число запросов паролей 108, независимо от паролей 108 в этих запросах, и не возвращает пароли 108 в ответ на принятые после этого запросы паролей 108. Заданное максимальное число запросов паролей 108, на которые логика 104 будет удовлетворительным образом отвечать, может быть меньшим, равным или большим, чем число паролей 108. Если заданное максимальное число запросов меньше, чем число паролей 108, то логика 104 никогда не возвратит один или более паролей 108. Если заданное максимальное число равно или больше, чем число паролей 108, логика 104 может потенциально возвратить все пароли 108, но в зависимости от паролей 108, запрошенных в первом заданном максимальном числе запросов, может не всегда возвратить один или более паролей 108.
[0026] Логика 104 может разрешить извлечение паролей 108 заданное максимальное число раз на основе по каждому паролю. То есть логика 104 удовлетворительным образом отвечает на первое заданное максимальное число запросов для каждого пароля 108. Например, если имеется шестьдесят четыре пароля 108, логика 104 будет возвращать первый пароль 108 заданное максимальное число раз, второй пароль 108 заданное максимальное число раз и т.д.
[0027] Логика 104 может разрешить извлечение паролей 108 заданное максимальное число раз, независимо от печатающего хост-устройства, которое выполняло запросы. То есть логика 104 удовлетворительным образом отвечает на первое заданное максимальное число запросов паролей 108, независимо от печатающего хост-устройства, от которого был принят каждый такой запрос, и не возвращает пароли 108 в ответ на принятые после этого запросы паролей 108. Например, заданное максимальное число раз, когда логика 104 возвращает пароли 108, может быть одной сотней. Если логика 104 установлена в первом печатающем хост-устройстве, от которого принято сто запросов, логика 104 не будет удовлетворительным образом отвечать на любой дальнейший запрос, принятый от этого печатающего устройства. Кроме того, если картридж 100 затем удаляют из первого печатающего устройства и устанавливают в другом, втором печатающем хост-устройстве, логика 104 все равно не будет удовлетворительным образом отвечать на любой запрос, принятый от второго печатающего устройства.
[0028] Логика 104 может разрешить извлечение паролей заданное максимальное число раз на основе по каждому печатающему хост-устройству. То есть логика 104 удовлетворительным образом отвечает на первое заданное максимальное число запросов, которые она принимает от каждого печатающего устройства. Например, заданное максимальное число раз, когда логика 104 возвращает пароли 108, может быть равно одной сотне. Логика 104 может быть установлена в первом печатающем хост-устройстве, от которого приняты пятьдесят запросов и которому логика 104 удовлетворительным образом отвечает. Если картридж 100 затем удаляется из первого печатающего устройства и устанавливается в другом, втором печатающем хост-устройстве, логика 104 будет все еще удовлетворительным образом отвечать на первую сотню запросов, принятых от второго печатающего устройства.
[0029] Логика 104 может разрешить извлечение паролей 108 заданное максимальное число раз, независимо от паролей 108, которые запрашивались, и независимо от печатающего хост-устройства, которое выполняло запросы. То есть то, какой пароль 108 запрашивался в запросе, и какое печатающее хост-устройство выполняло запрос, не существенно для того, будет ли логика 104 удовлетворительным образом отвечать на запрос. После того, как логика 104 удовлетворительным образом ответила на заданное максимальное число таких запросов, независимо от печатающего хост-устройства, которое выполняет следующий запрос, или пароля 108, запрошенного в этом запросе, логика 104 не возвращает запрошенный пароль 108 к запрашивающему печатающему устройству.
[0030] Логика 104 может разрешить извлечение паролей 108 заданное максимальное число раз как на основе по каждому печатающему хост-устройству, так и на основе по каждому паролю. Логика 104 может возвращать каждый пароль 108 на каждое печатающее устройство заданное максимальное число раз. После того, как печатающее хост-устройство приняло данный пароль 108 заданное максимальное число раз, печатающее устройство может все еще принимать другие пароли 108 от логики 104, и другое печатающее хост-устройство может все еще принимать данный пароль.
[0031] Энергонезависимая память 106, используемая для хранения паролей 108, может быть однократно записываемой, ограниченно считываемой памятью. Пароли 108 записываются в память 106 только однократно, например, во время безопасного процесса изготовления. Пароли 108 могут быть по меньшей мере функционально стерты, как только заданное максимальное число раз достигнуто. Они могут быть полностью и навсегда стерты из памяти 108 логикой 104, например, таким образом, что ʺотмена удаленияʺ или восстановление стертых паролей 108 рассматривается как невозможное. Рассматриваемые пароли 108 могут быть функционально стерты таким образом, что эти пароли 108 остаются сохраненными в памяти 108, но являются неизвлекаемыми. Например, плавкие перемычки к физическим частям памяти 108, где сохранены рассматриваемые пароли 108, могут быть прерваны, делая пароли 108 неизвлекаемыми и, таким образом, функционально стертыми, даже хотя в действительности пароли 108 остаются в памяти.
[0032] Память 106 может сохранить криптографический ключ 112 вместо паролей 108, когда изготавливается картридж 100. В этой реализации перед первым использованием картриджа 100, никакие пароли 108 не могут быть сохранены в картридже 100. Вместо этого, когда запрашивается пароль 108, картридж 100 генерирует пароль 108 ʺна летуʺ. После того, как логика 104 удовлетворительным образом ответила на заданное максимальное число запросов, криптографический ключ 112 может быть по меньшей мере функционально стерт, способом, описанным в предыдущем абзаце.
[0033] Фиг. 2 показывает примерный способ 200, который может выполнять заменяемый элемент для устройства, такой как картридж 100 с веществом печати для печатающего устройства. Способ 200 может быть реализован в виде считываемого компьютером кода, сохраненного на невременном считываемом компьютером носителе данных и исполняемого процессором. По существу, логика 104 картриджа 100 может, например, выполнять способ 200. Заменяемый элемент выполняет способ 200 после его установки в хост-устройстве.
[0034] Заменяемый элемент принимает от хост-устройства запрос конкретного аутентификационного значения из ряда аутентификационных значений, которые может хранить этот элемент (202). Запрос может быть подписан цифровым криптографическим ключом или может быть аутентифицирован другим способом. Заменяемый элемент определяет, выполнил ли он уже заданное максимальное число запросов на аутентификационные значения (204). Заданное максимальное число запросов, на которые заменяемый элемент будет удовлетворительным образом отвечать, может быть определено на основе по каждому аутентификационному значению и/или на основе по каждому хост-устройству или ни на основе по каждому аутентификационному значению, ни на основе по каждому хост-устройству.
[0035] Если заданное максимальное число запросов уже было выполнено (206), то заменяемый элемент не отправляет запрошенное аутентификационное значение на хост-устройство, в котором установлен этот элемент (208). Однако, если заменяемый элемент еще не ответил удовлетворительным образом на заданное максимальное число запросов, то этот элемент отправляет запрошенное аутентификационное значение на хост-устройство (210). Например, заменяемый элемент может извлекать запрошенное аутентификационное значение из таблицы аутентификационных значений, сохраненной в энергонезависимой памяти заменяемого элемента. В качестве другого примера, заменяемый элемент может извлекать начальное значение, сохраненное в энергонезависимой памяти заменяемого элемента (иное, чем то, с которым может быть подписан принятый запрос), и генерировать запрошенное аутентификационное значение из криптографического ключа.
[0036] Заменяемый элемент может вновь определить, ответил ли теперь этот элемент удовлетворительным образом на максимальное число запросов (212), включая запрос, принятый на этапе 202, который был выполнен. Если заданное максимальное число запросов теперь выполнено (214), то заменяемый элемент может по меньшей мере функционально стереть аутентификационные значения, которые он хранит (216). Если заданное максимальное число запросов определено на основе по каждому аутентификационному значению, но не на основе по каждому хост-устройству, то стирается только аутентификационное значение, которое было отправлено на этапе 210, а другие аутентификационные значения не стираются. Если заданное максимальное число запросов определено на основе по каждому хост-устройству, независимо от того, является ли это число определенным на основе по каждому аутентификационному значению или нет, то никакое аутентификационное значение не может быть стерто, поскольку другие хост-устройства могут запросить то же самое (или другое) аутентификационное значение.
[0037] В реализации, в которой заменяемый элемент генерирует аутентификационные значения из криптографического ключа, стирание аутентификационных значений на этапе 212 означает или включает в себя стирание этого ключа. Если заданное максимальное число запросов определено на основе по каждому аутентификационному значению, но не на основе по каждому хост-устройству, то криптографический ключ не возникает до тех пор, пока заданное максимальное число запросов не будет принято для всех аутентификационных значений. Если заданное максимальное число запросов определено на основе по каждому хост-устройству, независимо от того, определено ли это число на основе по каждому аутентификационному значению или нет, то криптографический ключ не может быть стерт, поскольку может потребоваться генерировать аутентификационные значения для других хост-устройств.
[0038] В одной реализации аутентификационное значение не может быть отправлено до тех пор, пока не определено, будет ли выполняться стирание, и далее, если определено, что стирание аутентификационного значения будет выполняться, то аутентификационное значение может быть стерто из энергонезависимой памяти до момента перед отправкой аутентификационного значения. То есть после того, как заменяемый элемент определяет, что максимальное число запросов еще не было выполнено на этапе 206, заменяемый элемент затем определяет, будет ли максимальное число запросов выполнено с выполнением запроса, принятого на этапе 202. Если максимальное число запросов все еще не будет выполнено с выполнением принятого запроса, то заменяемый элемент отправляет аутентификационное значение и продолжает работу. Если максимальное число запросов будет выполнено с выполнением принятого запроса, то заменяемый элемент копирует запрошенное аутентификационное значение из энергонезависимой памяти перед стиранием по меньшей мере этого аутентификационного значения из энергонезависимой памяти и затем отправляет скопированное аутентификационное значение на хост-устройство.
[0039] Из этапов 208 и 216 и из этапа 214, когда максимальное число запросов еще не было выполнено, или в качестве точки входа в способ 200 заменяемый элемент может принять от хост-устройства запрос одного или более хеш-значений, соответствующих одному или более аутентификационным значениям (218). Например, заменяемый элемент может принять запрос на все хеш-значения, соответствующие всем аутентификационным значениям, только на одно из хеш-значений, соответствующее только одному из аутентификационных значений, и т.д. Заменяемый элемент может принять запрос на одно или более хеш-значений даже после того, как аутентификационные значения стерты на этапе 216. То есть заменяемый элемент может, например, не стирать хеш-значения для аутентификационных значений, которые он стирает. Этап 218 может рассматриваться в качестве точки входа в способ 200 в том смысле, что запрос хеш-значений может быть принят перед приемом запроса аутентификационного значения.
[0040] Фиг. 3 показывает примерный способ 300, который является примером конкретной реализации этапов от 202 до 216 способа 200. Идентично пронумерованные этапы на фиг. 2 и 3 выполняются в способе 300 по меньшей мере по существу так, как описано выше в отношении способа 200. Числа в круглых скобках указывают, что данный этап способа 300 реализует соответствующий этап способа 200. То есть Y(X) на фиг. 3 означает, что этап Y способа 300 реализует этап X способа 200.
[0041] Заменяемый элемент принимает запрос аутентификационного значения от хост-устройства, в котором он установлен (202). Заменяемый элемент поддерживает счетчик числа запросов аутентификационного значения, которые были выполнены. То есть заменяемый элемент поддерживает счетчик числа запросов аутентификационного значения, на которые он ответил удовлетворительным образом. Счетчик может представлять собой счетчик только приращений, отсчет которого может только увеличиваться, но не уменьшаться. Счетчик сохранен в энергонезависимой памяти, такой как энергонезависимая память 106, и может быть защищен.
[0042] Заменяемый элемент определяет, равен ли счетчик (отсчет счетчика) заданному максимальному числу запросов, на которые этот элемент удовлетворительным образом ответил, чтобы выполнить запросы (302). Может иметься счетчик на основе по каждому аутентификационному значению и/или на основе по каждому хост-устройству или ни на основе по каждому аутентификационному значению, ни на основе по каждому хост-устройству. Если счетчик равен этому заданному максимальному числу (304), то заменяемый элемент отказывает в отправке запрошенного аутентификационного значения (208).
[0043] Однако, если счетчик не равен заданному максимальному числу запросов, на которые заменяемый элемент ответил удовлетворительным образом (304), то заменяемый элемент отправляет в ответ аутентификационное значение на хост-устройство, чтобы выполнить запрос (210). Заменяемый элемент сообщает приращение счетчику (306) и определяет, равен ли теперь счетчик заданному максимальному числу запросов, которые этот элемент будет выполнять (308). Если счетчик еще не равен этому максимальному числу (310), то способ 300 завершается (312). Однако, если счетчик теперь равен этому числу (310), то заменяемый элемент может стереть аутентификационные значения (216).
[0044] В другой реализации счетчик получает приращение перед отправкой аутентификационного значения. То есть в этой реализации определяется, будет ли отправлено максимальное число аутентификаций с отправкой аутентификационного значения, и если это так, то счетчик получает приращение, и после того, как счетчик получил приращение, аутентификационное значение отправляется. Стирание аутентификационных значений, если таковое имеет место, может происходить в этой реализации перед отправкой рассматриваемого аутентификационного значения. Более обобщенно, любое действие, которое выполняется вследствие отправки последнего уникального аутентификационного значения, которое будет предоставлено заменяемым элементом, может выполняться перед отправкой этого последнего уникального аутентификационного значения. Следует отметить в этом отношении, что, более обобщенно, любое такое действие, которое выполняется в связи с отправкой аутентификационного значения (и не последнего аутентификационного значения), может выполняться перед тем, как аутентификационное значение действительно отправляется.
[0045] Фиг. 4 показывает примерный способ 400, который является другим примером конкретной реализации этапов от 202 до 216 способа 200. Идентично пронумерованные этапы на фиг. 2 и 4 выполняются в способе 400 по меньшей мере по существу так, как описано выше в связи со способом 200. Числа в круглых скобках указывают, что данный этап способа 400 реализует соответствующий этап способа 200. То есть Y(X) на фиг. 4 означает, что этап Y способа 400 реализует этап X способа 200.
[0046] Заменяемый элемент принимает запрос аутентификационного значения от хост-устройства, в котором он установлен (202). Заменяемый элемент поддерживает флаг, соответствующий тому, было ли выполнено заданное максимальное число запросов аутентификационного значения заменяемым элементом, отвечающим на них удовлетворительным образом. Флаг может представлять собой только устанавливаемый флаг, который может быть только установлен, но не может быть очищен. Флаг сохраняется в энергонезависимой памяти, такой как энергонезависимая память 106, и может быть защищен.
[0047] Заменяемый элемент определяет, был ли установлен флаг (402). Может иметься флаг на основе по каждому аутентификационному значению и/или на основе по каждому хост-устройству или ни на основе по каждому аутентификационному значению, ни на основе по каждому хост-устройству. Если флаг установлен (404), то заменяемый элемент отказывает в отправке запрошенного аутентификационного значения (208).
[0048] Однако если флаг не был установлен (404), то заменяемый элемент в ответ отправляет аутентификационное значение на хост-устройство для выполнения запроса (210). Заменяемый элемент определяет, выполнено ли теперь максимальное число запросов, на которые он будет удовлетворительным образом отвечать (212). Если заменяемый элемент еще не ответил удовлетворительным образом на максимальное число запросов аутентификационного значения (214), то способ 400 завершается (404). Однако, если заменяемый элемент выполнил максимальное число таких запросов (214), то заменяемый элемент устанавливает флаг (408) и может стереть аутентификационные значения (216).
[0049] В другой реализации флаг устанавливается перед отправкой аутентификационного значения. То есть в этой реализации определяется, будет ли теперь отправлено максимальное число аутентификаций с отправкой аутентификационного значения, и если это так, то устанавливается флаг, и после того, как флаг установлен, отправляется аутентификационное значение. Стирание аутентификационных значений, если оно имеет место, может происходить в этой реализации перед отправкой рассматриваемого аутентификационного значения. Более конкретно, любое действие, которое выполняется вследствие отправки последнего уникального аутентификационного значения, которое будет предоставляться заменяемым элементом, может выполняться перед отправкой этого последнего уникального аутентификационного значения. В этом отношении следует отметить, что, более обобщенно, любое такое действие, которое выполняется в связи с отправкой аутентификационного значения (и не последнего аутентификационного значения), может выполняться перед тем, как аутентификационное значение действительно отправляется.
[0050] Фиг. 5 показывает примерный способ 500, который является примером реализации этапа 210 способа 200. То есть вместо отправки аутентификационного значения автоматически на этапе 210 способа 200 заменяемый элемент выполняет способ 500. Заменяемый элемент определяет, отправлял ли он ранее аутентификационное значение, которое было запрошено хост-устройством в запросе, который этот элемент принял от устройства, к любому хост-устройству (502), включая хост-устройство, в котором этот элемент в текущее время установлен, а также любое другое хост-устройство. Если заменяемый элемент ранее отправлял запрошенное аутентификационное значение (504), этот элемент возвращает запрошенное значение на хост-устройство (506).
[0051] Однако, если заменяемый элемент ранее не отправлял запрошенное аутентификационное значение (504), этот элемент определяет, отправлял ли он уже максимальное число уникальных аутентификационных значений (508). Например, из шестидесяти четырех аутентификационных значений, которые заменяемый элемент может хранить, этот элемент может отправить не более чем шестнадцать из этих значений. Если заменяемый элемент уже отправлял максимальное число уникальных аутентификационных значений (510), этот элемент не отправляет аутентификационное значение, которое запросило хост-устройство, в котором установлен этот элемент (512). Способ 500 завершается тем, что заменяемый элемент не отправляет запрошенное аутентификационное значение, даже если максимальное число запросов, на которые заменяемый элемент будет удовлетворительным образом отвечать, еще не было достигнуто.
[0052] Однако, если заменяемый элемент еще не отправлял максимальное число уникальных аутентификационных значений, то этот элемент отправляет запрошенное аутентификационное значение на хост-устройство (514). Заменяемый элемент затем снова может определить, отправлено ли теперь максимальное число аутентификационных значений (516), включая аутентификационное значение, которое этот элемент только что отправил на этапе 514. Например, если упомянутому элементу разрешено отправлять только шестнадцать из его шестидесяти четырех аутентификационных значений, если пятнадцать значений было отправлено перед выполнением этапа 514, то отличающееся шестнадцатое аутентификационное значение отправляется на этапе 514, так что теперь отправлено максимальное число из шестнадцати различных аутентификационных значений.
[0053] Если максимальное число уникальных аутентификационных значений теперь отправлено (518), то заменяемый элемент может по меньшей мере функционально стереть аутентификационные значения, которые он хранит и которые не были отправлены (520). По существу, в настоящем примере было отправлено только шестнадцать различных аутентификационных значений, другие сорок восемь аутентификационных значений стираются. Отметим, что каждый раз, когда выполняется способ 500 по фиг. 5, заменяемый элемент может отправить любое аутентификационное значение, которое он отправлял ранее, вплоть до разрешенного максимального числа раз, когда этот элемент будет удовлетворительным образом отвечать на запросы аутентификационного значения. Кроме того, каждый раз, когда выполняется способ 500, заменяемый элемент может отправить любое аутентификационное значение, которое он не отправлял ранее, при условии, что максимальное число различных аутентификационных значений, которые этот элемент будет отправлять, еще не достигнуто, вплоть до разрешенного максимального числа раз, когда этот элемент будет удовлетворительным образом отвечать на запросы аутентификационного значения. От этапов 506 и 520 и от этапа 518, когда максимальное число уникальных отправленных аутентификационных значений еще не достигнуто, способ 500 переходит к этапу 212 способа 200 по фиг. 2 (524).
[0054] Различные реализации этапов способа 200, которые были описаны в отношении способов 300, 400 и 500, могут объединяться или модифицироваться различными путями. Например, счетчик из способа 300 может быть использован во взаимосвязи с флагом способа 400. Способ 500 также может быть использован во взаимосвязи со способом 300 и/или способом 400.
[0055] Раскрытые здесь методы могут улучшить или обеспечить другую схему для криптографической защиты заменяемого элемента для устройства, например, картриджа с запасом вещества печати для печатающего устройства. Заменяемый элемент удовлетворительным образом отвечает на заданное максимальное число запросов аутентификационного значения. После того, как максимальное число аутентификационных запросов достигнуто, дополнительно принятые запросы не будут выполняться, даже если они остаются сохраненными в заменяемом элементе. Заданное максимальное число запросов, на которые заменяемый элемент будет удовлетворительным образом отвечать, может определяться на основе по каждому аутентификационному значению и/и на основе по каждому хост-устройству или ни на основе по каждому аутентификационному значению, ни на основе по каждому хост-устройству.