АУТЕНТИФИКАЦИЯ ПОСТАВКИ ЧЕРЕЗ ОТВЕТ НА ЗАПРОС СОГЛАСОВАНИЯ ПО ВРЕМЕНИ
AUTHENTICATION OF DELIVERY THROUGH RESPONSE TO TIME MATCHING REQUEST

Уровень техники
[0001] Многие системы имеют заменяемые компоненты, которые являются неотъемлемой частью для функционирования системы. Заменяемые компоненты зачастую являются устройствами, которые содержат расходный материал, который убывает с каждым использованием системы. Такие системы могут включать в себя, например, сотовые телефоны, которые используют заменяемые аккумуляторы, медицинские системы, которые распределяют лекарства из заменяемых поставляемых устройств, системы печати, которые распределяют текучие среды (например, чернила) или тонеры из заменяемых поставляемых картриджей и т.д. Проверка того, что заменяемое поставляемое устройство является подлинным устройством от легального производителя, может помогать пользователю системы избегать проблем, связанных с непреднамеренным использованием дефектного и/или поддельного устройства.
Краткое описание чертежей
[0002] Настоящие варианты осуществления будут теперь описаны посредством примера со ссылкой на прилагаемые чертежи, на которых:
[0003] Фиг. 1 показывает блок-схему, иллюстрирующую компоненты примера, характерной системы аутентификации, подходящей для аутентификации (проверки подлинности) заменяемого поставляемого устройства.
[0004] Фиг. 2 показывает пример характеристических данных, сохраненных в заменяемом поставляемом устройстве
[0005] Фиг. 3 показывает пример системы аутентификации, осуществленной в качестве системы струйной печати.
[0006] Фиг. 4 показывает перспективный вид примерного поставляемого картриджа для струйной печати.
[0007] Фиг. 5 показывает блок-схему примерного процесса аутентификации поставки.
[0008] Везде на чертежах идентичные ссылочные номера обозначают аналогичные, но не обязательно идентичные, элементы.
Подробное описание изобретения
Обзор
[0009] Как отмечено выше, подтверждение подлинности заменяемых поставляемых устройств для использования в некоторых системах может помогать пользователям системы избегать проблем, связанных с непреднамеренным использованием дефектных и/или поддельных устройств. Например, в системах печати, которые применяют расходуемые картриджи с тонером или чернилами, непреднамеренная замена картриджей поддельными картриджами может приводить в результате к различным проблемам, простирающимся в диапазоне от отпечатков плохого качества до протекающих картриджей, которые могут повреждать систему печати.
[0010] Предшествующие способы аутентификации заменяемого устройства включали в себя применение строгой аутентификации, которая подразумевает использование секретного ключа, известного смарт-карте, или микроконтроллера безопасности на заменяемом устройстве (например, расходуемом картридже с чернилами/тонером) и хост-устройстве (например, принтере). Если заменяемое устройство может предоставлять ответ на запрос, выданный хостом, который доказывает, что оно содержит соответствующий ключ, хост сделает вывод, что устройство оригинального производства, и затем аутентифицирует устройство. Одним слабым местом с этим способом аутентификации является то, что он полагается на способность системы сохранять секретный ключ. Если злоумышленник может восстанавливать ключ или ключи либо с хоста, либо заменяемого устройства, он может сохранять украденный ключ(и) в смарт-карте или микроконтроллере, предоставляя возможность им затем создавать заменяемые устройства, которые будут отвечать на запросы, как если бы такие устройства были подлинными устройствами от оригинального производителя. Типично, после того как ключ(и) компрометируется, ответ на запрос и другая функциональность неподлинного (т.е. поддельного) заменяемого устройства может быть сымитирована с помощью микропрограммного обеспечения, работающего на недорогом стандартном микроконтроллере.
[0011] Здесь раскрываются система аутентификации и процессы аутентификации поставки, которые обеспечивают надежную аутентификацию заменяемых устройств системы, в целом, через ответ на запрос согласования по времени. Хост, такой как принтер, выдает криптографический запрос согласования по времени микроконтроллеру безопасности, присоединенному к заменяемому устройству, такому как расходуемый картридж с чернилами или тонером. Запрос требует, чтобы расходное устройство (т.е. микроконтроллер на расходном устройстве) выполняло ряд математических операций на основе данных, предоставленных хостом/принтером. Принтер контролирует интервал времени, который затрачивается, чтобы расходное устройство выполнило задачу, и независимо подтверждает ответ, предоставленный устройством. Если и ответ, и прошедшее время при вычислении ответа удовлетворяют ожиданиям принтера, принтер сделает вывод, что устройство является подлинным устройством. Если либо ответ, либо время, прошедшее во время вычисления ответа (или и то, и другое), не удовлетворяет ожиданиям принтера, принтер сделает вывод, что устройство не является подлинным устройством.
[0012] Математические операции из запроса выполняются в микроконтроллере расходного устройства посредством специализированной аппаратной логической схемы, специально разработанной для таких операций. Специализированная логическая схема способна выполнять ответ на запрос, выполняя математические вычисления значительно быстрее, чем может быть в ином случае выполнено посредством стандартного микроконтроллера, исполняющего микропрограммное обеспечение. Таким образом, неподлинное/поддельное заменяемое устройство, в котором микроконтроллер содержит украденный ключ(и), может иметь возможность выдавать правильный ответ на запрос. Однако такое поддельное устройство не имеет возможности выдавать ответ на запрос во временных рамках, ожидаемых хост-устройством.
[0013] В примерной реализации печатающий поставляемый картридж включает в себя микроконтроллер для приема запроса согласования по времени и обеспечения возможности аутентификации картриджа при предоставлении ответа на запрос во время ответа на запрос, которое попадает в ожидаемое временное окно. В другой реализации картридж дополнительно включает в себя специализированную аппаратную логическую схему на микроконтроллере для выполнения математического вычисления в ответ на запрос согласования по времени. Выполнение математического вычисления выдает ответ на запрос в ожидаемом временном окне.
[0014] В другой примерной реализации заменяемое поставляемое устройство включает в себя микроконтроллер. Микроконтроллер должен получать ключ сеанса с хост-устройством и принимать времязависимый запрос от хост-устройства, который указывает случайное начальное число, ключ сеанса и цикл вычисления. Заменяемое устройство дополнительно включает в себя специализированную логическую схему в микроконтроллере для выполнения вычисления запроса число раз, равное циклу вычисления, при этом первое вычисление использует случайное начальное число и ключ сеанса для создания выходных данных, а каждое последующее вычисление использует выходные данные предшествующего вычисления.
[0015] В другой примерной реализации система аутентификации включает в себя хост-устройство, контроллер, интегрированный в хост-устройство, и алгоритм аутентификации, исполняемый в контроллере, для выдачи криптографического запроса согласования по времени и аутентификации поставляемого устройства, когда поставляемое устройство предоставляет ответ на запрос во время ответа на запрос, которое попадает в ожидаемое временное окно.
[0016] В другой примерной реализации система аутентификации включает в себя принтер, который имеет контроллер и память. Система аутентификации также включает в себя алгоритм аутентификации, сохраненный в памяти и исполняемый в контроллере, для выдачи криптографического запроса согласования по времени и аутентификации печатающего поставляемого картриджа, когда картридж предоставляет ответ на запрос, соответствующий ожидаемому ответу, в ожидаемом временном окне.
[0017] В другой примерной реализации невременный, считываемый процессором носитель хранит код, представляющий команды, которые, при исполнении процессором, заставляют процессор распознавать поставляемое устройство и выдавать криптографический запрос согласования по времени поставляемому устройству. Запрос согласования по времени требует, чтобы математическое вычисление было выполнено по данным, которые включают в себя ключ сеанса, случайное начальное число и счет вычислений. Команды дополнительно заставляют процессор принимать ответ на запрос во время ответа на запрос от поставляемого устройства и аутентифицировать поставляемое устройство, когда ответ на запрос соответствует ожидаемому ответу, и время ответа на запрос попадает в ожидаемое временное окно.
Примерные реализации
[0018] Фиг. 1 показывает блок-схему, иллюстрирующую компоненты примерной, характерной системы 100 аутентификации, подходящей для аутентификации заменяемого поставляемого устройства. Система 100 аутентификации включает в себя хост-устройство 102 и заменяемое поставляемое устройство 104. Хост-устройство 102 содержит контроллер 106, который типично включает в себя компоненты стандартной вычислительной системы, такие как центральный процессор (ЦПУ) 108, память 110, микропрограммное обеспечение и другие электронные устройства для управления общими функциями системы 100 аутентификации и для связи и управления поставляемым устройством 104. Память 110 может включать в себя как энергозависимые (т.е. RAM), так и энергонезависимые (например, ROM, жесткий диск, гибкий диск, CD-ROM и т.д.) компоненты памяти, содержащие невременные компьютерные/считываемые процессором носители, которые обеспечивают хранение компьютерных/считываемых процессором закодированных команд и/или данных в форме алгоритмов, программных модулей, структур данных, JDF и т.д. Поставляемое устройство 104 содержит микроконтроллер 112 (т.е. смарт-карту), которая также включает в себя центральный процессор (ЦПУ) 114 и память 116.
[0019] В целом, при включении питания хост-устройства 102, хост-устройство 102 и поставляемое устройство 104 устанавливают безопасные связи посредством стандартных криптографических методов с помощью стандартных криптографических алгоритмов 118. Например, выполняя криптографический алгоритм 118 (т.е. на процессоре 108), хост-устройство 102 может запрашивать уникальный идентификационный код 120 поставляемого устройства 104 и определять "базовый ключ" 122 устройства через криптографическую связь. С помощью базового ключа 122 хост-устройство и поставляемое устройство могут получать секретный "ключ сеанса" 124, предоставляющий возможность безопасной связи для текущего обмена информацией. Хост-устройство 102 определяет базовый ключ 122 таким образом каждый раз, когда оно включается, и каждый раз, когда устанавливается новое поставляемое устройство 104. Базовый ключ 122 остается одним и тем же и не меняется. Однако новый и отличающийся ключ 124 сеанса получается каждый раз, когда между хост-устройством 102 и поставляемым устройством 104 выполняется обмен информацией.
[0020] В одной реализации память 110 включает в себя алгоритм 126 аутентификации, исполняемый на процессоре 108 контроллера 106 для определения подлинности заменяемого поставляемого устройства 104. Поставляемое устройство 104 определяется как подлинное, когда оно отвечает правильно на криптографический запрос 128 согласования по времени, выданный посредством алгоритма 126 аутентификации, и когда его ответ 130 на запрос выполняется в ожидаемом окне времени. Таким образом, поставляемое устройство 104, значение 130 ответа на запрос которого является правильным, но время 131 ответа на запрос которого не попадает в ожидаемое окно времени, определяется как неподлинное. Аналогично, поставляемое устройство 104, время 131 ответа на запрос которого попадает в ожидаемое окно времени, но значение 130 ответа на запрос которого является неправильным, определяется как неподлинное. Подлинность поставляемого устройства 104, следовательно, зависит от того, предоставляет ли оно правильный ответ 130 на криптографический запрос 128 согласования по времени в интервал времени 131 ответа на запрос (т.е. времени, которое оно затрачивает для предоставления ответа 130), который попадает в ожидаемое окно времени.
[0021] Криптографический запрос 128 согласования по времени, выданный посредством алгоритма 126 аутентификации на хост-устройстве 102, содержит запрос выполнения специального математического вычисления, объединяющего некоторые параметры запроса. Математическое вычисление должно выполняться конкретное число раз. Криптографический запрос 128 согласования по времени включает в себя или сопровождается такими параметрами запроса, которые включают в себя полученный ключ сеанса, случайное начальное число, сгенерированное на хост-устройстве 102 контроллером 106, и счет вычислений или цикл, который указывает число раз, которое вычисление должно быть выполнено. Математическое вычисление использует ключ сеанса и начинает с операции над случайным начальным числом. Результат или выходные данные каждого вычисления повторно подаются обратно в следующее вычисление до тех пор, пока не будет достигнут счет вычислений. Последний результат или выходные данные математического вычисления предоставляют ответ 130 на запрос, который должен быть достигнут или вычислен в конкретное время 131 ответа на запрос. Время 131 ответа на запрос измеряется посредством алгоритма 126 аутентификации, например, начиная последовательность согласования по времени, когда запрос выдается, и останавливая последовательность согласования по времени, после того как поставляемое устройство 104 заканчивает и возвращает ответ 130 на запрос хост-устройству 102. Время 131 ответа на запрос является временным значением, которое в некоторых реализациях может недолго находиться на хост-устройстве 102 в энергозависимом компоненте памяти 110 и/или в процессоре 108 перед или во время сравнения с временным окном, определенным посредством хоста. Алгоритм 126 аутентификации на хосте 102 определяет, являются или нет ответ 130 на запрос и время 131 ответа на запрос правильными (т.е. ожидаемыми), и затем аутентифицирует поставляемое устройство 104 соответствующим образом.
[0022] Обращаясь все еще к фиг. 1, микроконтроллер 112 на поставляемом устройстве 104 содержит специализированную аппаратную логическую схему 132 запроса для выполнения математического вычисления из криптографического запроса 128 согласования по времени. Специализированная логическая схема 132 запроса специально разрабатывается и изготавливается на микроконтроллере 112 для оптимального выполнения конкретного математического вычисления.
В одной примерной реализации математическое вычисление содержит базовую функцию, которая определяет последовательность операций, оптимизированных для очень быстрой работы в специализированной логической схеме 132. Математическое вычисление или функция повторяется множество раз с выходными данными каждой итерации, являющимися частью входных данных для следующей итерации. Таким образом, в то время как один или более операндов изменяются с каждой итерацией математического вычисления, само математическое вычисление не изменяется. Кроме того, значения параметров запроса, сопровождающие запрос 128 согласования по времени, могут изменяться с каждым запросом 128 согласования по времени. Каждый запрос 128 согласования по времени, выданный посредством алгоритма 126 аутентификации поставляемому устройству 104, может иметь различные значения для ключа сеанса, случайного начального числа, сгенерированного на хост-устройстве 102 контроллером 106, и счета или цикла вычислений. Соответственно, для каждого запроса 128 согласования по времени ответ 130 на запрос и время 131 ответа на запрос определяются по значениям параметра запроса. Более конкретно, ключ сеанса, случайное начальное число и счет вычислений, все отрицательно влияют на значение 130 ответа на запрос, в то время как счет вычислений также отрицательно влияет на время 131 ответа на запрос, изменяя число итераций математического вычисления посредством специализированной логической схемы 132 запроса.
[0023] Как отмечено выше, алгоритм 126 аутентификации определяет, являются ли ответ 130 на запрос и время 131 ответа на запрос правильными или ожидаемыми. Это выполняется посредством сравнения ответа 130 на запрос и времени 131 ответа с правильными или ожидаемыми значениями. В различных реализациях алгоритм 126 определяет правильные или ожидаемые значения различными способами. В одной реализации, например алгоритм 126 извлекает и осуществляет доступ к характеристическим данным 134, сохраненным на поставляемом устройстве 104. Характеристические данные 134 могут быть защищены цифровой подписью и подтверждены с помощью стандартных криптографических операций. Характеристические данные 134 предоставляют ожидаемые временные окна, в которые время 131 ответа на запрос должно попадать в зависимости от счета вычислений, снабженного запросом 128 согласования по времени. Таким образом, в одном примере, как показано на фиг. 2, характеристические данные 134 могут включать в себя таблицу данных, которая связывает различные значения счета вычислений с различными временными окнами. Только в качестве примера, такая связь может указывать, что для счета вычислений, равного 10000 (т.е. когда математическое вычисление должно быть выполнено 10000 раз), время 131 ответа на запрос ожидается попадающим во временное окно 50-55 миллисекунд. В другом примере характеристические данные 134 могут быть предоставлены через математическое отношение, такое как формула прямой с угловым коэффициентом, y=mx+b. Таким образом, для данного значения счета вычислений, x, может быть определено ожидаемое время, y. Временное окно может затем быть определено посредством алгоритма 126 аутентификации на хосте 102, например, с помощью ожидаемого времени y, +/-5%.
[0024] В другой примерной реализации алгоритм 126 аутентификации определяет правильные или ожидаемые значения для ответа 130 на запрос, выдавая криптографический запрос 128 согласования по времени специализированной эталонной логической схеме 136 на контроллере 106 хост-устройства. Эталонная логическая схема 136 на контроллере 106 зеркально отражает специализированную аппаратную логическую схему 132 на поставляемом устройстве 104 и, следовательно, специально разработана и изготавливается на контроллере 106 для оптимального выполнения математического вычисления из запроса 128 согласования по времени. Таким образом, когда алгоритм 126 аутентификации выдает запрос 128 согласования по времени поставляемому устройству 104, он также выдает запрос 128 согласования по времени эталонной логической схеме 136. Эталонная логическая схема 136 выполняет математические вычисления из запроса тем же образом, который обсужден выше относительно специализированной аппаратной логической схемы 132 на поставляемом устройстве 104. В ответ на запрос 128 согласования по времени эталонная логическая схема 136 завершает запрос и предоставляет эталонный ответ в эталонное время. Эталонное временное окно ответа может быть определено, например, как находящееся в пределах определенного процента (например, +/-5%, +/-10%) эталонного времени. Алгоритм 126 аутентификации может затем использовать эталонный ответ и эталонное временное окно ответа в качестве значений для сравнения с ответом 130 на запрос и временем 131 ответа на запрос. Если ответ 130 на запрос совпадает с эталонным ответом, а время 131 ответа на запрос попадает в эталонное временное окно ответа, алгоритм 126 определяет, что поставляемое устройство 104 является подлинным устройством.
[0025] Фиг. 3 показывает пример системы 100 аутентификации, осуществленной в качестве системы 300 струйной печати. В целом, система 300 печати содержит те же или аналогичные компоненты, что и общая система 100 аутентификации, и функционирует тем же или аналогичным образом относительно аутентификации заменяемых струйных поставляемых картриджей. В примерной реализации система 300 струйной печати включает в себя механизм 302 печати, имеющий контроллер 106, сборочный узел 304, одно или более заменяемых поставляемых устройств 104, осуществленных как картриджи 306 для подачи чернил, и по меньшей мере один источник 308 питания, который снабжает питанием различные электрические компоненты системы 300 струйной печати. Система 300 печати дополнительно включает в себя узел 310 транспортировки носителей.
[0026] Фиг. 4 показывает перспективный вид примерного струйного поставляемого картриджа 306, который представляет заменяемое поставляемое устройство 104. В дополнение к одной или более печатающим головкам 312, струйный картридж 306 включает в себя микроконтроллер 112, группу электрических контактов 400 и камеру 402 для подачи чернил (или другой текучей среды). В некоторых реализациях картридж 306 может иметь камеру 402 для подачи, которая хранит один цвет чернил, а в других реализациях он может иметь ряд камер 402, каждая из которых хранит различный цвет чернил. Электрические контакты 400 передают электрические сигналы от контроллера 106 к соплам 314 на печатающей головке 312, чтобы обусловить выброс капель текучей среды. Электрические контакты 400 также передают электрические сигналы между контроллером 106 и микроконтроллером 112 для облегчения аутентификации картриджа 306 в системе 300 струйной печати. В одной примерной реализации микроконтроллер 112 располагается на кремниевой подложке, совместно используемой с печатающей головкой 312. В другой примерной реализации микроконтроллер 112 располагается где-либо еще на картридже 306 в качестве обособленной смарт-карты. Микроконтроллер 112 аналогичен микроконтроллеру 112, показанному на фиг. 1 и обсужденному выше, и включает в себя те же общие компоненты (не все показаны на фиг. 4). Таким образом, микроконтроллер 112 на картридже 306 содержит память 116 и специализированную логическую схему 132 запроса, которая функционирует тем же общим образом, который обсужден выше относительно системы 100 аутентификации по фиг. 1 и 2.
[0027] Обращаясь к фиг. 3 и 4, печатающая головка 312 выбрасывает капли чернил или другой текучей среды через множество отверстий или сопел 314 по направлению к печатному носителю 316 с тем, чтобы печатать на печатном носителе 316. Печатные носители 316 могут быть любым типом подходящего листового или рулонного материала, такого как бумага, стопка карточек, слайды, майлар, полиэстер, фанера, вспененный картон, полотно, холст и т.п. Печатающая головка 312 может быть выполнена с возможностью выброса чернил через сопла 314 множеством способов. Например, термическая струйная печатающая головка выбрасывает капли из сопла при пропускании электрического тока через нагревательный элемент с образованием тепла и испарением небольшой части чернил в камере сгорания. Пузырьки пара подталкивают каплю чернил через сопло 314. В другом примере пьезоэлектрическая струйная печатающая головка использует привод из пьезоэлектрического материала с образованием импульсов давления, которые подталкивают капли чернил из сопла. Сопла 314 типично размещаются в одном или более рядах или матрицах по печатающей головке 312, так что правильно упорядоченный выброс чернил из сопел 314 вызывает печать букв, символов и/или других графических знаков или изображений на печатных носителях 316, в то время как струйный картридж 306 и печатные носители 316 движутся относительно друг друга.
[0028] Монтажный узел 304 позиционирует струйный картридж 306 относительно узла 310 транспортировки носителей, а узел 310 транспортировки носителей позиционирует печатные носители 316 относительно струйного картриджа 306. Таким образом, зона 318 печати определяется рядом с соплами 314 в области между струйным картриджем 306 и печатными носителями 316. В одной реализации механизм 302 печати является механизмом 302 печати сканирующего типа. По существу, монтажный узел 304 включает в себя каретку для перемещения струйного картриджа 306 относительно узла 310 транспортировки носителей, чтобы сканировать печатные носители 316. В другой реализации механизм 302 печати является механизмом 302 печати несканирующего типа. По существу, сборочный узел 304 фиксирует струйный картридж 306 в предписанном положении относительно узла 310 транспортировки носителей, в то время как узел 310 транспортировки носителей позиционирует печатные носители 316 относительно струйного картриджа 306.
[0029] Как отмечено выше относительно системы 100 аутентификации по фиг. 1, контроллер 106 типично включает в себя компоненты стандартной вычислительной системы, такие как центральный процессор (ЦПУ) 108, память 110, микропрограммное обеспечение и другие электронные устройства. В системе 300 струйной печати по фиг. 3 контроллер 106 аналогично применяет такие компоненты для управления общими функциями системы 300 печати и для связи и управления струйным картриджем 306, монтажным узлом 304 и узлом 310 транспортировки носителей. Соответственно, контроллер 106 принимает данные 320 от хост-системы, такой как компьютер, и временно сохраняет данные 320 в памяти 110. Типично, данные 320 отправляются системе 300 струйной печати по электронному, инфракрасному, оптическому или другому пути передачи информации. Данные 320 представляют, например, документ и/или файл, который должен быть напечатан. По существу, данные 320 формируют задание печати для системы 300 струйной печати, которые включают в себя одну или более команд задания печати и/или параметров команды. С помощью данных 320 контроллер 106 управляет струйным картриджем 306 для выброса капель чернил из сопел 314. Таким образом, контроллер 106 определяет рисунок выбрасываемых капель чернил, которые формируют буквы, символы и/или другие графические знаки или изображения на печатном носителе 316. Рисунок выбрасываемых капель чернил определяется командами задания печати и/или параметрами команды из данных 320.
[0030] В дополнение к управлению общими функциями печати системы 300 струйной печати контроллер 106 выполняет алгоритм 126 аутентификации для определения, является ли струйный поставляемый картридж 306 подлинным устройством. Этот процесс аутентификации в системе 300 печати аналогичен процессу, описанному выше относительно общей системы 100 аутентификации по фиг. 1. Фиг. 5 – это блок-схема примерного процесса 500 аутентификации в системе 300 печати или другой системе 100 аутентификации, который определяет, является ли заменяемое поставляемое устройство 104, такое как струйный поставляемый картридж 306, подлинным устройством. Процесс 500 соответствует примерным реализациям, обсужденным выше относительно фиг. 1-4, и подробности этапов, показанных в процессе 500, могут быть найдены в связанном обсуждении таких реализаций. Этапы процесса 500 могут быть осуществлены в виде алгоритма, содержащего программно-ориентированные команды, сохраненные на невременном компьютерном/считываемом процессором носителе, таком как память 110 по фиг. 1 и 3. В различных примерах реализация этапов процесса 500 выполняется посредством считывания и выполнения таких программно-ориентированных команд процессором, таким как процессор 108 по фиг. 1 и 3. Процесс 500 может включать в себя более чем одну реализацию, и различные реализации процесса 500 могут не применять каждый этап, представленный в блок-схеме по фиг. 5. Следовательно, в то время как этапы процесса 500 представляются в конкретном порядке в блок-схеме, порядок их представления не предназначается быть ограничением относительно порядка, в котором этапы могут фактически быть реализованы, или относительно того, могут ли все из этапов быть реализованы. Например, одна реализация процесса 500 может быть осуществлена посредством выполнения ряда первоначальных этапов, без выполнения одного или более последующих этапов, в то время как другая реализация процесса 500 может быть осуществлена посредством выполнения всех этапов.
[0031] Обращаясь теперь, прежде всего, к фиг. 1, 3 и 5, процесс 500 аутентификации начинается на этапе 502, где первый показанный этап должен распознавать заменяемое поставляемое устройство. Распознавание заменяемого поставляемого устройства типично происходит при включении питания хост-устройства или вставке нового поставляемого устройства в хост-устройство, например, когда система печати включается, или когда печатающий поставляемый картридж с чернилами или тонером заменяется в системе печати. Заменяемое поставляемое устройство может также быть распознано, когда поставляемое устройство включается в начале каждого задания печати. Процесс 500 аутентификации продолжается на этапе 504, где выдается криптографический запрос согласования по времени. Запрос согласования по времени выдается из хост-устройства, такого как печатающее устройство, и отправляется поставляемому устройству, такому как печатающий поставляемый картридж. Запрос согласования по времени содержит запрос на выполнение специального математического вычисления, затрагивающего некоторые параметры запроса, которые включают в себя ключ сеанса, полученный между хост-устройством и поставляемым устройством, случайное начальное число, сгенерированное хост-устройством, и счет или цикл вычислений, который указывает число раз, которое вычисление должно быть выполнено. При выдаче запроса согласования по времени, хост-устройство может начинать последовательность согласования по времени для контроля времени, которое затрачивается для приема ответа на запрос, как показано на этапе 506.
[0032] В некоторых реализациях запрос согласования по времени может также быть отправлен эталонной логической схеме на хост-устройстве, как показано на этапе 508. Когда запрос согласования по времени отправляется эталонной логической схеме в хост-устройстве, эталонный ответ принимается от логической схемы в определенном интервале прошедшего эталонного времени, как показано на этапе 510. На этапе 512 может быть определено эталонное временное окно при включения в него диапазона около эталонного времени, равного определенному проценту. Например, эталонное временное окно может быть определено как эталонное время плюс или минус 5% от эталонного времени. В некоторых реализациях в качестве альтернативы отправке запроса согласования по времени эталонной логической схеме на хост-устройстве, хост-устройство извлекает и осуществляет доступ к характеристическим данным, сохраненным на поставляемом устройстве, как показано на этапе 514. В другой реализации характеристические данные могут быть жестко закодированы в память хост-устройства. Характеристические данные включают в себя ожидаемые временные окна для приема ответа на запрос от поставляемого устройства, которые связаны с различными значениями счета вычислений.
[0033] Как показано на этапе 516, процесс 500 аутентификации включает в себя прием ответа на запрос от поставляемого устройства. Ответ на запрос принимается в определенное время ответа на запрос, которое может быть определено, например, при измерении времени на хост-устройстве. Процесс 500 продолжается на этапе 518 сравнением ответа на запрос с ожидаемым ответом. Ожидаемый ответ может быть эталонным ответом, принятым от эталонной логической схемы на хост-устройстве. На этапе 520 время ответа на запрос также сравнивается с ожидаемым временным окном ответа для определения, попадает ли время ответа на запрос в ожидаемое временное окно. Ожидаемое временное окно может быть эталонным временным окном или ожидаемым временным окном, извлеченным из характеристических данных, сохраненных на поставляемом устройстве или где-либо еще.
[0034] Процесс 500 аутентификации продолжается на этапе 522 аутентификацией хост-устройством поставляемого устройства, когда ответ на запрос от поставляемого устройства совпадает с ожидаемым значением, и время ответа на запрос попадает в ожидаемое временное окно. На этапе 524 процесса 500 хост-устройство определяет, что поставляемое устройство не является подлинным, когда либо ответ на запрос не совпадает с ожидаемым значением, либо время ответа на запрос попадает за пределы ожидаемого временного окна, либо в обоих случаях.