Данное изобретение относится к способу тестирования подлинности носителя информации в соответствии с преамбулой п. 1 формулы изобретения. Данное изобретение относится также к конструкции носителя информации, реализующей данный способ.
Способ тестирования подлинности известен, например, из EP-A1 0321728. В известном способе носитель информации переключается управляющим сигналом, переданным внешним устройством, из нормального режима в режим проверки, в котором осуществляется тестирование. Для этой цели носитель информации имеет дополнительное переключающее логическое устройство, которое осуществляет указанное переключение в соответствии с внешним сигналом. В режиме проверки затем носитель информации получает извне проверяющие данные, которые обрабатываются дополнительным электронным устройством, например аналоговым компьютером. Время, которое требуется аналоговому компьютеру для обработки проверяющих данных, составляет характерную черту подлинности для носителя информации. В известном способе тестирование подлинности, производимое в режиме проверки носителя информации, отделено от нормального режима так, что нормальный режим, который, как правило, подчиняется стандартизованным протоколам, не нарушается тестированием подлинности. Однако это означает, что переключение из нормального режима в режим тестирования с помощью дополнительной переключающей логической схемы необходимо перед каждым тестированием подлинности.
Задачей изобретения является предложение способа тестирования подлинности носителя информации, в котором указанное тестирование подлинности совместимо с существующими стандартизованными протоколами и может быть выполнено с небольшим усложнением схем.
Данная задача решается с помощью признаков, указанных в п. 1 формулы изобретения.
Основная идея изобретения состоит в том, что первая передача или прием данных, используемых для тестирования подлинности, имеют место во время последовательности включения для носителя информации, в течение которой линия данных имеет еще не определенное состояние для обмена данных с внешним устройством. Например, линия данных может быть в неопределенном состоянии в течение определенного промежутка времени во время последовательности включения в соответствии со стандартом ISO/IEC 7816-3. Так как первая передача или прием данных завершается в течение интервала времени, определенным стандартом, то обмен данных, стандартизованный для связи с платами интегральных микросхем, не нарушается. Тестовая процедура поэтому может быть проведена согласно данному изобретению с существующими протоколами, подчиняющимися стандартам.
Носитель информации имеет дополнительное специальное устройство для передачи во внешнее устройство или приема от него данных, требуемых для тестирования подлинности за указанный промежуток времени, в течение которого линия данных должна иметь состояние, не определенное протоколом.
В первом воплощении, например, идентификационные данные носителя информации, реализованные в аппаратуре, могут быть переданы на внешнее устройство в течение указанного промежутка времени. Внешнее устройство, например плата устройства считывания, также имеет специальное устройство, разрешающее прием данных, переданных платой в течение этого промежутка времени так, чтобы устройство могло выполнить тестирование подлинности. Но даже если устройство не имеет такого специального устройства и поэтому не находится в положении приема данных, переданных платой в течение указанного времени, протокол обмена не нарушается передачей данных. Поэтому при запуске протокола не возникает никаких ошибок, когда плата обменивается с обусловленным устройством в течение указанного времени.
Согласно изобретению специальное устройство, расположенное в интегральной схеме носителя информации, может также генерировать случайное число в течение указанного интервала времени, которое затем логически комбинируется с идентификационными данными носителя информации специальной переключающей логической схемой носителя информации, результат комбинирования передается от носителя информации на внешнее устройство в течение указанного промежутка времени, но самое позднее - во время сигнала "ответ на сброс" (АТР). Использование случайного числа делает ответную атаку невозможной, т.е. ответ ранее переданных данных.
В следующем воплощении внешнее устройство, т. е. плата считывающего устройства, может иметь также дополнительное устройство, которое служит для генерации случайного числа. Случайное число затем передается на носитель информации синхронно с временным сигналом в течение указанного промежутка времени из-за высокой скорости передачи. Специальное дополнительное устройство носителя данных находится в положении приема переданного случайного числа в указанном промежутке времени, в течение которого контактный элемент имеет неустановившееся состояние, и передачи по меньшей мере части принятого случайного числа обратно во внешнее устройство в течение этого промежутка времени. Дополнительно к этому, специальная переключающая логическая схема носителя информации может также логически комбинировать принятое случайное число с идентификационными данными носителя информации и передавать результат комбинирования обратно во внешнее устройство в течение указанного промежутка времени или самое позднее - во время сигнала АТР для определения факта приема случайного числа. Внешнее устройство может затем использовать результат комбинирования, принятый от носителя информации, для проверки способен ли носитель информации правильно принимать переданное случайное число в течение указанного промежутка времени, корректно комбинировать его с идентификационными данными носителя информации и передавать его на внешнее устройство в течение заданного промежутка времени. Наличие результата комбинирования в АТР сигнале образует идентификационные данные класса для носителя информации, которые могут быть оценены как таковые внешним устройством, в то время как содержимое результата комбинирования образует идентификационные данные, специфичные для носителя информации.
Другие преимущества и достоинства могут быть найдены в описании изобретения со ссылками на чертежи, в которых:
фиг. 1 изображает устройство носителя информации для тестирования подлинности;
фиг. 2 изображает образец стандартизованного сигнала в последовательности включения носителя информации;
фиг, 3a по фиг. 3c изображают реализацию изобретенной процедуры тестирования во время передачи носителем информации данных;
фиг. 4 и фиг. 5 каждая изображают воплощение изобретенного способа, в котором данные передаются внешним устройством и принимаются носителем информации;
фиг. 6 изображает устройство носителя информации, состоящего из внешнего устройства и носителя информации для тестирования подлинности носителя информации;
фиг. 7 изображает модуль безопасности, который является частью внешнего устройства и используется для выполнения тестирования подлинности;
фиг. 7a изображает устройство носителя информации, состоящего из внешнего устройства и носителя информации для тестирования подлинности носителя информации;
фиг. 8a изображает носитель информации, в который встроен модуль безопасности;
фиг. 8b изображает поперечное сечение электронного модуля носителя информации, изображенного на фиг. 8a;
фиг. 9 изображает базовую электрическую схему носителя информации;
фиг. 10 изображает воплощение специального устройства;
фиг. 11 изображает дальнейшее воплощение специального устройства носителя информации;
фиг. 12 изображает часть специального устройства;
фиг. 13 и 14 изображают диаграммы тестирования подлинности носителя информации.
Фиг. 1 изображает устройство носителя информации, предназначенное для тестирования подлинности в виде платы интегральных микросхем 1, которая обменивается через линию данных 4 с внешним устройством 5, например платой устройства считывания. Плата интегральных микросхем может быть контактирующей или бесконтактной, которая обменивается с внешним устройством без контакта.
Фиг. 2 изображает образец сигнала сброса носителя информации так, как он стандартизован, например, в международном стандарте ISO/IEC 7816-3. Можно видеть потенциал земли GND, подачи напряжения питания VCC, сигнал сброса RST, подаваемый извне для сброса носителя информации, временной сигнал CLK и линию данных ввода/вывода (I/O). Когда подано питающее напряжение, и напряжение стабилизировано, и подан временной сигнал в момент времени T0, линия данных I/O находится в режиме приема сигнала сброса RST, подаваемого внешним устройством в момент времени T1. С момента времени T0 линия данных I/O может быть в неопределенном состоянии в течение времени t2 в соответствии с указанным стандартом. Согласно стандарту промежуток времени t2 должен быть меньше или равен длительности 200 временных циклов, разделенной на временную частоту f1. Когда этот промежуток времени превышен, то линия данных ввода/вывода должна быть в определенном состоянии и поэтому не может быть использована для передачи или приема данных до прихода сигнала RST. После приема сигнала сброса RST в момент времени T1 носитель информации отвечает сигналом "ответ на сброс" АТР после периода времени t1.
Фиг. 3a изображает процесс первой передачи, например передачи своих идентификационных данных KN носителем информации к внешнему устройству в течение промежутка времени t2. Как только принимается временной сигнал CK, носитель информации автоматически передает идентификационные данные, например серийный номер, прямо во внешнее устройство, предпочтительно, синхронно с временным сигналом. Синхронная передача предполагает более высокую скорость передачи, чем асинхронная передача. Конечно серийный номер может быть также передан асинхронно с временным сигналом, если это может быть сделано в течение промежутка времени t2. В любом случае носитель информации имеет не только обычные логические устройства и устройства памяти, но также и специальное устройство, которое позволяет осуществить эту быструю передачу в течение оговоренного промежутка времени. С помощью стандартной команды внешнее устройство может затем считать серийный номер, хранящийся в памяти в носителе информации и сравнить его с серийным номером, принятым от носителя информации. Если серийный номер, переданный носителем информации посредством специального устройства, совпадает с серийным номером, считанным из памяти носителя информации, то носитель информации определенно способен передать данные, необходимые для тестирования подлинности, очень быстро в течение промежутка времени t2. Это свойство является свойством подлинности, которое может быть осуществлено не оговоренным носителем информации, т.е. носителем информации без указанного специального устройства.
Этап способа, изображенный на фиг. 3b, является расширением способа, изображенного на фиг. 3a. Идентификационные данные KN комбинируются, например, с помощью схемы "исключающее ИЛИ" со случайным числом RND, сгенерированным носителем информации, а результат комбинирования со сгенерированным случайным числом RND передается во внешнее устройство. Случайное число генерируется в течение промежутка времени t2. Результат комбинирования со случайным числом RND также передается преимущественно в течение промежутка времени t2. Однако также возможно, как показано на фиг. 3c, передать результат комбинирования и случайное число в сигнале "ответ на сброс" носителя информации, например, в исторических символах АТР сигнала. Внешнее устройство может затем на более позднем шаге подлинности в соответствии с запуском нормального протокола комбинировать принятое случайное число с идентификационными данными KN, считанными из памяти в носителе информации, повторно с помощью той же самой логической операции и сравнивать результат комбинирования с результатом комбинирования из носителя информации, переданного во время сигнала АТР. Использование случайного числа делает ответную атаку невозможной, т.е. ответную атаку ранее записанных данных.
Фиг. 4 изображает дальнейшее воплощение изобретенного способа. На первом шаге способа внешнее устройство передает случайное число RND, которое может включать, например, 8 байт, в носитель информации в течение промежутка времени t2. Передача преимущественно осуществляется синхронно с временным сигналом, но может быть реализована так же и асинхронно. В течение промежутка времени t2 носитель информации передает по меньшей мере последний байт R8' принятого случайного числа обратно во внешнее устройство. Внешнее устройство затем сравнивает последний байт R8 случайного числа, сгенерированного им, с байтом R8', принятым от носителя информации. Если они совпадают, то носитель информации может принимать передаваемое случайное число правильно и передавать по меньшей мере часть обратно. Тот факт, что носитель информации может принимать данные очень быстро, является особенностью подлинности. Носитель информации может, конечно, передавать также и все случайное число, принятое в течение промежутка времени t2, обратно во внешнее устройство, что лучше, чем передача последнего байта случайного числа. Это может иметь место также, например, во время сигнала АТР.
К тому же случайное число RND, принятое от внешнего устройства в течение промежутка времени t2, может быть скомбинировано с помощью логической операции с идентификационными данными KN носителя информации специальной логической переключательной схемой носителя информации. Что касается логической операции, то она может использовать, например, полиномиальное деление по модулю, используя идентификационные данные в качестве полиномиального делителя для случайного числа. Эта логическая операция хорошо известна специалистам и не требует поэтому более подробного описания. Идентификационные данные KN, скомбинированные указанным способом со случайным числом носителя информации, могут быть затем переданы во внешнее устройство в течение промежутка времени t2 или в течение сигнала АТР носителя информации. Оба варианта здесь допустимы. Затем внешнее устройство опять вычисляет случайное число, принятое носителем информации, из результата комбинирования случайного числа и идентификационных данных путем выполнения обратной функции применительно к логической операции и сравнивает его со случайным числом, сгенерированным внешним устройством. Если они совпадают, то это говорит о том, что носитель информации, в частности специальное устройство носителя информации, способно принимать и комбинировать случайное число очень быстро и передавать результат комбинирования во внешнее устройство в течение промежутка времени t2 или в течение самого позднего сигнала АТР носителя информации, например, в исторических символах.
Фиг. 5 изображает дальнейшее воплощение, в котором случайное число RND, переданное внешним устройством, и которое может включать, например, несколько байт, принимается носителем информации в течение промежутка времени t2, посредством чего или целое случайное число или по меньшей мере последний байт переданного случайного числа, в зависимости от длины случайного числа, комбинируется с идентификационными данными KN носителя информации схемой "исключающее ИЛИ", а результат комбинирования передается во внешнее устройство совместно с идентификационными данными носителя информации в течение промежутка времени t2 или в течение сигнала АТР. Внешнее устройство затем опять выполняет ту же самую логическую операцию, начиная от принятых идентификационных данных KN и сгенерированного случайного числа RND, и сравнивает результат комбинирования, полученный внешним устройством, с результатом комбинирования, принятым от носителя информации.
Чертежи на фиг. с 3 по 5 показывают, что для тестирования подлинности носителя информации внешнее устройство должно выполнить операции вне периода нормального обмена между внешним устройством и носителем информации. Например, внешнее устройство передает в носитель информации случайное число, которое логически комбинируется с идентификационными данными, как описано выше, а результат логического комбинирования проверяется во внешнем устройстве.
Возможно создание микропроцессорного устройства во внешнем устройстве в правой части чертежа так, чтобы оно выполняло операции, необходимые для тестирования подлинности носителя информации. В уже работающих внешних устройствах, микропроцессор не формируется таким образом. Если они, тем не менее, должны использоваться для тестирования подлинности, то особенно выгодно предложить внешнее устройство с дополнительно подключенным к его микропроцессорному устройству модулем безопасности для выполнения тестирования. Многие уже используемые внешние устройства снабжаются по меньшей мере одним дополнительным разъемом для по меньшей мере одного дополнительного модуля так, что специальной адаптации внешнего устройства не требуется. Эти разъемы труднодоступны снаружи, поэтому нет также проблемы безопасности при обеспечении функций, необходимых для тестирования подлинности в отдельном модуле безопасности.
В особенно выгодном воплощении модуль безопасности может быть сделан, как и носитель информации, в виде платы интегральных микросхем, которая предпочтительно формируется как встраиваемая (т.е. плата с меньшими размерами, чем стандартная плата) из-за пространственного ограничения в большинстве внешних устройств.
Фиг. 6 изображает схематически конструкцию носителя информации для тестирования подлинности носителя информации в виде платы 1, которая обменивается с внешним устройством 5. Показаны только те соединяющие линии между компонентами, которые необходимы для понимания последующих положений. Внешнее устройство 5 имеет, кроме всего прочего, микропроцессорное устройство 9 и модуль безопасности 11. Для обмена данными между носителем информации 1 и внешним устройством 5 микропроцессорное устройство 9 сначала включается, затем распознает, что носитель информации находится во внешнем устройстве 5. Затем модуль безопасности 11 включается микропроцессорным устройством 9 и запрашивается для тестирования подлинности носителя информации 1. Это может быть осуществлено, например, по линиям управления ST1 и ST2, на которые подается определенный сигнал, соответствующий запросу, например сигнал логической 1, на линию управления ST1 и на линию управления ST2. Случайное число затем генерируется модулем безопасности 11 и сначала запоминается в модуле безопасности 11 после запроса микропроцессорным устройством 9. Запрос может быть сделан опять, например, по линиям управления STI и ST2, на которые опять подается определенный сигнал, например сигнал логического 0 на линию управления ST1 и сигнал логической 1 на линию управления ST2.
После запоминания случайного числа в модуле безопасности 11, носитель информации 1 включается микропроцессорным устройством 9, как объяснено выше применительно к фиг. 2. Когда напряжение питания подается на носитель информации 1, напряжение стабилизировано и временной сигнал подается на носитель информации 1 в момент времени T0, а линия данных ввода/вывода подключается к носителю информации 1, который находится в режиме приема сигнала сброса RST, поданного на носитель информации микропроцессорным устройством 9. Начиная с момента времени T0, линия данных ввода/вывода, подключенная к носителю информации 1, может находиться в неопределенном состоянии в течение промежутка времени t2, как описано выше применительно к фиг. 2. Промежуток времени t2 используется для тестирования свойства подлинности носителя информации 1 с помощью модуля безопасности 11.
С этой целью модуль безопасности 11 передает вышеуказанное запомненное случайное число в носитель информации 1 по линии ввода/вывода после включения носителя информации, а микропроцессорным устройством 9 выдается запрос. Запрос для передачи случайного числа может быть осуществлен опять по линиям управления ST1 и ST2, на которые подается определенный сигнал (например, сигнал логической 1 на линию управления ST1 и сигнал логического 0 на линию управления ST2).
В носителе информации 1 переданное случайное число логически комбинируется с идентификационными данными KN в течение промежутка времени t2, а результат комбинирования передается носителем информации 1 вместе с идентификационными данными KN обратно в модуль безопасности 11 внешнего устройства 5.
В модуле безопасности 11 переданные идентификационные данные KN также логически комбинируются со случайным числом точно так же, как и в носителе информации 1, и результат комбинирования сравнивается с результатом, переданным носителем информации. Совпадение результатов доказывает, что носитель информации 1 является подлинным. Соответствующее сообщение передается модулем безопасности 11 в микропроцессорное устройство 9, которое затем начинает обмен между внешним устройством 5 и носителем информации 1.
Хотя тестирование свойства подлинности, описанное применительно к фиг. 6 на первый взгляд аналогично тестированию, описанному применительно к фиг. 4, модуль безопасности 11 в действительности также может использоваться для выполнения любых, отличных от данного, тестов подлинности (см., например, фиг. 3 и фиг. 6). Модуль безопасности 11 затем должен быть адаптирован к конкретному свойству подлинности носителя информации 1.
Фиг. 7 схематически показывает пример конструкции модуля безопасности 11. Как и фиг. 6, фиг. 7 показывает только те линии соединения между отдельными компонентами, которые необходимы для понимания. На изображенной конструкции модуль безопасности 11 имеет стандартное микропроцессорное устройство 13, выполненное в виде отдельной интегральной схемы. Более того, модуль безопасности 11 имеет интегральную схему 15, подсоединенную к стандартному микропроцессорному устройству 13. Интегральная схема 15 имеет возможно более простую структуру для того, чтобы она могла быстро и легко управляться, а тест свойства подлинности носителя информации 1 (не показан) проходил быстро.
Интегральная схема 15 предпочтительно имеет жесткую логику, которая может быстро и легко управляться микропроцессорным устройством 9 по линиям управления ST1 и ST2 (сравни также фиг. 6). Могут быть определены, к примеру, следующие сигналы управления:
- логический 0 на линии управления ST1, логический 0 на линии управления ST2 означают: свойство подлинности не может быть протестировано;
- логическая 1 на линии управления ST1, логическая 1 на линии управления ST2 означают: свойство подлинности может быть протестировано;
- логический 0 на линии управления ST1, логическая 1 на линии управления ST2 означают: случайное число, сгенерированное в модуле безопасности 11, должно быть сначала запомнено в регистрах интегральной схемы 15 (сравни также фиг. 6);
- логическая 1 на линии управления ST1, логический 0 на линии управления ST2 означают: содержимое вышеуказанных регистров, т.е. случайное число, должно быть передано в носитель информации (сравни также фиг. 6).
Две линии управления ST1 и ST2, таким образом, позволяют осуществить управление интегральной схемой 15 и, таким образом, внешнее управление модулем безопасности 11.
Далее будет обсуждаться внутренний обмен между интегральной схемой 15 и стандартным микропроцессорным устройством 9. После запроса на интегральную схему 15 от микропроцессорного устройства 9 для тестирования свойства подлинности носителя информации 1, интегральная схема 15 включает стандартное микропроцессорное устройство 13 в соответствии с последовательностью включения по стандарту ISO (ISO/IEC 7816-3). Последовательность включения известна специалистам и, кроме того, кратко объяснялась выше применительно к фиг. 2. Поэтому нет необходимости обсуждать это более подробно.
Стандартное микропроцессорное устройство 13 затем генерирует случайное число, которое передается в интегральную схему 15 и запоминается там в вышеуказанном регистре. Запомненное случайное число передается в носитель информации 1 после запроса микропроцессорным устройством 9 (см. выше) и логически комбинируется там, как объяснено выше применительно к фиг. 6. Носитель информации 1 затем передает информацию, необходимую для тестирования свойства подлинности в модуль безопасности 11, что также объяснялось выше применительно к фиг. 6. Переданная информация запоминается во временных регистрах интегральной схемы 15. Стандартный микропроцессор 13 затем запрашивает запомненную информацию из интегральной схемы 15 и проверяет исходное случайное число (см. выше).
Применительно к фиг. 7 объяснялось, что модуль безопасности 11 имеет две интегральные схемы, которые выполняют оговоренные функции. Очевидно также, что возможно объединить две интегральные схемы в одну или предложить интегральную схему с микропроцессорным устройством, которая управляется, как обычно, некоторыми командами от микропроцессорного устройства 9 и независимо тестирует свойство подлинности. Однако такое управление посредством команд микропроцессора, как правило, требует больше времени, чем вышеуказанное управление интегральной схемой 15 по линиям управления ST1 и ST2.
Техническая реализация, в которой модуль безопасности 11 имеет только одну интегральную схему, показана на фиг. 7a. Интегральная схема имеет микропроцессорное устройство, построенное так, чтобы оно могло выполнять функции, необходимые для тестирования свойства подлинности. Обмен между микропроцессорным устройством 9, модулем безопасности 11, внешним устройством 5 и носителем информации 1 внешне производится аналогично описанному выше, применительно к фиг. 6, так что далее будут обсуждаться только отличия.
Интегральная схема 15 управляется микропроцессорным устройством 9 по линиям ввода/вывода 1 (I/O1). Команды микропроцессора, необходимые для тестирования свойства подлинности, также передаются по линии ввода/вывода 1. Соответствующие команды были объяснены выше применительно к фиг. 7. В показанном воплощении, не показаны также линии управления ST1 и ST2, как это показано на фиг. 6.
Данные, переданные в носитель информации 1 интегральной схемой 15 модуля безопасности 11, также соответствуют данным, переданным на фиг. 6. Эти данные могут быть переданы из интерфейса ввода/вывода 2 (I/O2) интегральной схемы 15, который всегда присутствует в коммерческих интегральных схемах для плат интегральных микросхем, в интерфейс ввода/вывода 1 (I/O1) носителя информации. В этом случае пути передачи команд от микропроцессорного устройства 9 до интегральной схемы 15 и данных из интегральной схемы 15 в носитель информации 1 отличаются друг от друга. Очевидно также, что возможно передавать данные из интерфейса ввода/вывода 1 (I/O1) интегральной схемы 15 в интерфейс I/O1 носителя информации 1, что также показано на фиг. 6.
Фиг. 8a изображает в большом увеличении и неточном масштабе встраиваемую карту 17, в которой модуль безопасности 11 построен в виде электронного модуля 19. Миниплата микросхем 17 вставляется в один из вышеуказанных разъемов во внешнем устройстве 5 так, что свойство подлинности носителя информации может быть проверено теперь с помощью карты 17 (см. фиг. 1).
Фиг. 8b изображает также в большом увеличении и неточном масштабе поперечное сечение электронного модуля по линии AA, показанной на фиг. 8a. Структура такого электронного модуля известна (например, из EP 0299530 B1), поэтому нет необходимости это подробно объяснять. Электронный модуль 9 содержит стандартное микропроцессорное устройство 13 и интегральную схему 15, которые электрически соединяются с контактными поверхностями 21. Две интегральные схемы накладываются друг на друга, как показано на фиг. 8b, но могут быть, конечно, расположены и рядом. Обе микросхемы могут обмениваться данными друг с другом и с микропроцессорным устройством 9 после подачи на них соответствующего напряжения и сигналов через контактные поверхности 21. Последовательность обмена между компонентами была описана выше.
Теперь, когда обмен между внешним устройством 5 и носителем информации 1 и внутренний обмен во внешнем устройстве 5 объяснены, будет обсуждаться сам носитель информации 1.
Носитель информации 1, схематически изображенный на фиг. 9, отличается от обычных носителей информации, например, наличием микропроцессора, в котором, дополнительно к обычному микроконтроллеру 3 добавлена специальная схема 2 для передачи или приема данных и, может быть, комбинирования данных с идентификационными данными носителя информации, реализованными в аппаратуре, например серийным номером. Идентификационные данные носителя информации могут быть записаны, например, во время процесса производства интегральной схемы прожиганием плавких перемычек в качестве свойства аппаратуры для специального устройства интегральной схемы. Аппаратная реализация таких идентификационных данных описана, например, в еще не опубликованной заявке на патент PCT/EP 93/03668. Дополнительно к реализации, описанной в настоящем изобретении, идентификационные данные могут быть записаны также установкой перемычек лазерным резцом на подложке при изготовлении так, что перемычки необратимо устанавливаются в определенное логическое состояние.
Следующей возможностью реализации идентификационных данных в аппаратуре является возможность формирования некоторых областей в кремниевой подложке интегральной схемы в качестве аморфных кремниевых областей и использования этих областей в качестве плавких перемычек. Эти аморфные области являются непроводящими, но могут быть преобразованы в кристаллические проводящие кремниевые области путем пропускания достаточно сильного тока через эти области. Непрожженные плавкие перемычки являются непроводящими, а прожженные - проводящими. Особым преимуществом формирования перемычек для идентификации в качестве аморфных кремниевых областей является то, что визуально аморфный кремний нельзя отличить от кристаллического. Таким образом, идентификационные данные не могут быть считаны с помощью оптических методов.
Микроконтроллер 3 носителя информации может также прямо обращаться к специальному устройству 2 в показанной конфигурации. Например, микроконтроллер 3 может считывать результат комбинирования, вычисленный специальной логической переключательной схемой 2, когда результат, вычисленный специальной логической схемой 2, должен быть передан во внешнее устройство как часть АТР сигнала, например, в исторических символах. Однако специальная логическая схема 2 может также передать результат комбинирования прямо во внешнее устройство через линии данных ввода/вывода в течение промежутка времени t2 без участия микроконтроллера 3, т.к. специальная схема 2 соединена линиями GND, VCC, сброса временных импульсов и линией ввода/вывода данных (I/O). Такая конфигурация аппаратуры носителя информации допускает, чтобы быстрая передача или прием данных и, возможно, комбинация данных с идентификационными данными носителя информации, были выполнены в течение указанного промежутка времени t2. Вместо линии ввода/вывода специальное устройство 2 может быть также подсоединено с помощью одной из двух RFU (зарезервированных для будущего использования) линий, которые здесь не показаны. Инсталляция этой специальной схемы в качестве свойства подлинности для носителя информации предотвращает способ тестирования подлинности от эмуляции или моделирования его определенными носителями информации, например устройствами, имеющими микропроцессор, микропроцессором или внешним логическим устройством.
Фиг. 10 изображает существенные части специального устройства 2 носителя информации, которое, например, способно выполнять полиномиальное деление по модулю случайного числа с идентификационными данными носителя информации в качестве полиномиального делителя. Специальная схема 2 включает, например, 32 схемы "исключающие ИЛИ", 32 схемы "И", вентиль (схему) "НЕ" и регистр сдвига A. Кроме того, интегральная схема носителя информации содержит перемычки (не показаны), которые установлены, например, посредством лазерного резца, в определенное состояние во время производства подложки. Эти плавкие перемычки могут быть использованы, например, для установки идентификационных данных в качестве свойства аппаратуры, далее регистра B, содержащего комбинацию логических состояний набора перемычек. Случайное число RND, переданное внешним устройством, загружается в сдвиговый регистр A, а логические схемы - вентили - используются для выполнения полиномиального деления по модулю битовых позиций случайного числа, находящегося в регистре A, на число в регистре B, которое определяется идентификационными данными носителя информации, например серийным номером.
Фиг. 11 изображает дальнейшее воплощение специальной дополнительной логической схемы 2 носителя информации. В данном воплощении случайное число RND, переданное внешним устройством, передается на первый регистр сдвига SR1, в то время как идентификационные данные KN носителя информации содержатся в регистре B. Идентификационные данные носителя информации могут состоять, например, из двух частей, вторая часть является отрицанием (инверсией) битовой последовательности первой части. Синхронно с временной последовательностью случайное число RND затем комбинируется с помощью операции "исключающее ИЛИ" с идентификационными данными, например серийным номером. Когда комбинирование завершено, что устанавливается посредством соответствующего счетчика, результат комбинирования, так же как и идентификационные данные, пересылаются во второй регистр сдвига синхронно с временной последовательностью и передаются обратно во внешнее устройство. Этот процесс имеет место преимущественно в течение промежутка времени t2.
Вышеуказанные положения показывают, что идентификационные данные, содержащиеся в специальной схеме 2 носителя информации 1, являются существенными для тестирования подлинности носителя информации. Если они являются специфичными идентификационными данными носителя информации, например, то другая специфичная особенность может быть смоделирована посредством изменения идентификационных данных. По этой причине особенно важно, чтобы идентификационные данные носителя информации 1 нельзя было фальсифицировать.
Если идентификационные данные носителя информации реализованы, например, как аппаратные идентификационные данные с помощью прожигания плавких перемычек (см. также положения к фиг. 9), идентификационные данные могут быть защищены от фальсификации при использовании устройства, показанного на фиг. 12, которое является частью специальной схемы 2 (см. фиг. 9). Фиг. 12 показывает 32 плавкие перемычки, которые являются или прожженными, как перемычки 1 и 2, или непрожженными, как перемычка 32. Прожженная перемычка вследствие этого ассоциируется с логической 1, а непрожженная - с логическим 0. Перемычки с 1 по 32 представляют собой идентификационные данные носителя информации. Каждая отдельная плавкая перемычка с 1 по 32 имеет связанную с ней комплементарную (дополнительную) плавкую перемычку, которая находится в комплементарном состоянии со связанной перемычкой (т.е. комплементарная перемычка для прожженной перемычки является непрожженной и наоборот). Комплементарная перемычка 1, ассоциированная с перемычкой 1, является соответственно непрожженной, т.к. показанная плавкая перемычка 1 является прожженной. То же самое относится к комплементарной перемычке 2, ассоциированной с плавкой перемычкой 2. Наоборот, комплементарная перемычка 32 является прожженной в данном примере согласно фиг. 12, т.к. плавкая перемычка 32 показана как непрожженная.
Вентили "исключающее ИЛИ" 23, показанные на фиг. 12, проверяют, какая комплементарная плавкая перемычка, связанная с перемычкой, в действительности находится в комплементарном состоянии. Вентиль 23 выдает логическую 1 со своего выхода 25 только в случае, если входы 27 и 29 вентиля находятся в комплементарном состоянии; входы 27 и 29 соответствуют логическим состояниям плавкой перемычки и связанной с ней комплементарной перемычки.
Наконец, вентиль "И" 31 проверяет, есть ли логические 1 на всех выходах вентилей "исключающее ИЛИ" 23, которые поступают на входы вентиля "И" 31. В этом случае выход вентиля "И" 31 выдает логическую 1, в противном случае - логический 0. Только в случае, когда вентиль "И" 31 выдает логическую 1, можно быть уверенным, что комплементарные плавкие перемычки, связанные с каждой перемычкой, находятся в своем правильном состоянии. Специальная схема 2 носителя информации построена так, чтобы идентификационные данные могли быть использованы для тестирования подлинности носителя информации только, если они подлинные, т.е. если логическая 1 присутствует на выходе вентиля "И" 31.
Если идентификационные данные носителя информации 1 должны быть фальсифицированы с целью обмана, то состояния плавких перемычек с 1 по 32, которые определяют идентификационные данные, должны быть установлены, по крайней мере частично, в другое состояние. На устройстве, показанном на фиг. 12, перемычка 32 может быть, например, прожжена для фальсификации идентификационных данных так, чтобы она показывала состояние логической 1. В этом случае, однако, состояние комплементарной перемычки 32 должно быть нарушено так, чтобы она показывала состояние логического 0, а схема "исключающего ИЛИ" 23, связанная с перемычкой 32 и комплементарной перемычкой 32, опять показывала логическую 1 на выходе 25. Если состояние комплементарной перемычки 32 не может быть изменено, то вентиль "исключающего ИЛИ" 23 показывает состояние логического 0 на выходе 25, а вентиль "И" 31 также показывает состояние 0 на своем выходе, указывающее на манипуляции с идентификационными данными.
Существует возможность сформировать перемычки таким образом, чтобы прожигание не могло быть сделано без оправданных усилий, так что идентификационные данные специальной схемы 2, а следовательно, и носителя информации будут очень хорошо защищены от фальсификации, сделанной с целью обмана.
Вышеуказанные положения относятся главным образом к тестированию свойства подлинности носителя информации 1 внешним устройством 5. Свойство подлинности формируется как отдельное устройство с жесткой логикой на интегральной схеме носителя информации. Если проверка свойства подлинности внешним устройством 5 дает положительный результат, то это доказывает, что носитель информации 1 является внутрисистемным подлинным носителем информации. Для большинства реализаций носителей информации более важным является удостовериться, были ли некоторые данные, содержащиеся в интегральной схеме носителя информации, фальсифицированы. Такая проверка данных, содержащихся в интегральной схеме носителя информации 1, может быть также проведена особенно выгодным способом с помощью свойства подлинности, заключенного в специальной схеме 2, как объясняется на примере на фиг. 13.
Левая колонка фиг. 13 относится к внешнему устройству 5 и показывает поле 33, содержащее переменные, хранимые во внешнем устройстве 5 для выполнения арифметических операций, описанных ниже. Они представляют собой, в частности, основной ключ KM. Кроме того, левая часть фиг. 13 содержит все арифметические операции, выполняемые во внешнем устройстве.
Средняя колонка фиг. 13 относится к специальной схеме 2 носителя информации 1 (см. также фиг. 6), а поле 35 содержит переменные, хранимые в специальной схеме 2, для выполнения арифметических операций, объясненных ниже. В частности, существуют данные B и C, информация B является, например, номером группы, а информация C, например, - номером платы или другими идентификационными данными носителя информации. Кроме того, средняя колонка фиг. 13 содержит те арифметические операции, которые выполняются специальной схемой 2.
Правая колонка фиг. 13 относится к микроконтроллеру 3 носителя информации 1 (см. также фиг. 6) и содержит в поле 37 те переменные, хранимые в микроконтроллере 3, которые нужны для выполнения арифметических операций в микроконтроллере 3, как объясняется ниже. Они представляют собой, в частности, частный ключ KICC, связанный с носителем информации, который является функцией основного ключа KM и данных B и C. Ключ KICC может уже храниться в микроконтроллере 3 во время работы носителя информации 1.
Во время обмена между внешним устройством 5 и носителем информации 1, сначала проверяется свойство подлинности носителя информации 1, как объяснено выше. С этой целью случайное число R1, сгенерированное во внешнем устройстве 5, сначала передается внешним устройством 5 в специальную схему 2 (см. шаг 1, номера шагов показаны слева на фиг. 13). В специальной схеме случайный номер R1 логически комбинируется с данными B и C для формирования результата A (см. шаг 2). Данные A, B и C передаются на шаге 3 из специальной схемы 2 во внешнее устройство 5. Затем переданные данные B и C логически комбинируются во внешнем устройстве 5 со случайным числом R1, хранимом в нем для формирования результата A' (см. шаг 4). На шаге 5 информация A' сравнивается с информацией A, переданной специальной схемой 2. Если эти два числа совпадают, то можно быть уверенным, что носитель информации 1 является подлинным внутрисистемным носителем информации, т.к. сравнение свойств подлинности внешним устройством дало положительный результат.
На шаге 6 информация A, вычисленная специальным устройством 2, передается в микроконтроллер 3 носителя информации 1 (см. также фиг. 6). В микроконтроллере 3 функция g применяется к информации A, используя ключ KICC, а результатом является ключ KS, верный для данного конкретного обмена (см. шаг 7; сгенерированное случайное число R1 вводит ключ KS посредством информации A так, что ключ KS реально изменяется от одного обмена к другому).
Внешнее устройство затем передает случайное число R2, сгенерированное в нем, в микроконтроллер 3 носителя информации 1 (см. шаг 8). В микроконтроллере 3 функция g применяется к случайному числу R2, используя ключ KS так, что получается результат x (см. шаг 9). Результат x передается микроконтроллером 3 во внешнее устройство 5 (см. шаг 10).
Во внешнем устройстве ключ KICC носителя информации вычисляется исходя из данных B и C, переданных на шаге 3 с помощью основного ключа KM, хранящегося в устройстве 5 (см. шаг 11). Вычисленный ключ KICC носителя информации теперь может использоваться для вычисления текущего ключа KS, исходя из информации A, которая также была передана во внешнее устройство на шаге 3 (см. шаг 12). Наконец, информация x' может быть вычислена из сгенерированного случайного числа R2, используя ключ KS (см. шаг 13), указанная информация наконец сравнивается с информацией x, переданной микроконтроллером 3 (см. шаг 14).
Если данные x' и x совпадают, то для внешнего устройства 5 считается доказанным, что специальная схема 2 носителя информации 1 может обмениваться данными с микроконтроллером 3 носителя информации 1, т.к. микроконтроллер 3 носителя информации 1 может вычислить информацию x правильно, только в случае, если правильная информация A была ранее передана в микроконтроллер 3 специальной схемой 2 на шаге 6. Поэтому невозможно предложить не подлинный и внесистемный носитель информации совместно со специальной схемой, не соединенные с микроконтроллером носителя информации.
Кроме того, для внешнего устройства 5 считается доказанным, что специальная схема 2 и микроконтроллер 3 носителя информации 1 объединены вместе, т. к. только если специальная схема 2 и микроконтроллер 3 объединены вместе, то микроконтроллер 3 содержит те же самые данные B и C, что и специальная схема 2 и соответствующий ключ KICC носителя информации. Только в этом случае может быть вычислена та же самая информация x в микроконтроллере 3, что и во внешнем устройстве 5.
Так как для внешнего устройства 5 доказано, что специальная схема 2 и микроконтроллер 3 объединены вместе, то становится невозможным предложить носитель информации, который является недостоверным и внесистемным совместно со специальной схемой 2 с целью обмана и таким образом моделировать подлинность и системное присоединение носителя информации 1.
Кроме того, невозможно фальсифицировать данные B и C в микроконтроллере 3 подлинного внутрисистемного носителя информации с целью обмана. С одной стороны, ключ носителя информации KICC также должен быть адаптирован соответствующим образом, т.к. ключ KICC может быть вычислен в любое время из данных B и C, запомненных в микроконтроллере 3 во внешнем устройстве 5, и сравнен с запомненным ключом KICC. Такая адаптация, однако, невозможна, т.к. обманщик не имеет основного ключа KM. С другой стороны, данные B и C в специальной схеме 2 также должны быть изменены соответствующим образом, т.к. в противном случае отличающаяся информация x будет вычислена во внешнем устройстве 5 и микроконтроллере 3. Но данные B и C специальной схемы могут быть хорошо защищены от фальсификации, как описано, например, применительно к фиг. 12.
Данные B и C могут быть, например, групповым номером и номером конкретной микросхемы, или персональными данными собственной платы, такими как имя или номер счета, и т.д.
Тестовые программы, объясненные выше, очевидно, также могут быть выполнены, если используются, например, только данные B или данные, отличные от данных B и C.
Фиг. 14 показывает, как доказать, что специальная схема 2 и микроконтроллер 3 носителя информации 1 объединены вместе, используя асимметричный алгоритм кодирования. Фиг. 14 схематически построена так же, как фиг. 13, т. е. поля 33, 35 и 37 содержат информацию, хранимую в соответствующих компонентах. Кроме того, тестирование свойства подлинности носителя информации 1 выполняется внешним устройством 5 так, как объяснено выше применительно к шагам с 1 по 5 на фиг. 13. Соответственно, здесь это повторно не обсуждается.
После тестирования свойства подлинности носителя информации 1, специальная схема 2 передает информацию A в микроконтроллер 3 носителя информации 1 (сравни также фиг. 6) и на шаге 7 генерируется случайное число R2 во внешнем устройстве 5. На шаге 8 из случайного числа R2 и данных A, B и C формируется сертификат ZER2 в микроконтроллере 3, используя секретный ключ SKICC носителя информации 1. Сертификат ZER2 передается с сертификатом ZER1, хранимым в микроконтроллере 3, во внешнее устройство 5 (см. шаг 9).
Идентификатор ID, данные B и C и общий ключ PKICC ее носителя информации вычисляются, исходя из сертификата ZER1, используя общий ключ PKz учреждения z (см. шаг 10). Затем случайное число R2' и информация A', B' и C' вычисляются из сертификата ZER2, используя общий ключ PKICC носителя информации, также уже полученного (см. шаг 11). Наконец, на шаге 12 случайное число R2', уже полученное, сравнивается со случайным числом R2, сгенерированным во внешнем устройстве, а данные A, B и C, также уже полученные, сравниваются с данными A, B и C, переданными на шаге 3 (см. также фиг. 13).
Если сравнение дало положительный результат, то считается доказанным, что специальная схема 2 находится в положении для обмена с микроконтроллером 3 (см. шаг 6), и также считается доказанным, что специальная схема 2 и микроконтроллер 3 объединены вместе. В противном случае данные, сравненные на шаге 12, не совпадут, т.к. различные данные B и C должны затем быть запомнены в специальной схеме 2 и микроконтроллере 3 носителя информации 1.
Также считается доказанным, что данные B и C, хранимые в микроконтроллере, не были фальсифицированы, т.к. эта информация в противном случае не совпадает с данными B и C, хранимыми в сертификате ZER1. Эти данные тестируются на совпадение на шаге 12, поэтому подделка должна быть обнаружена. Кроме того, эти данные не совпадут с данными B и C, хранимыми в специальной схеме 2, которые также тестируются на шаге 12. Если используется способ асимметричного кодирования, то данные B и C очень хорошо защищены от фальсификации.
Операции, упомянутые применительно к фиг. 13 и 14 и выполняемые во внешнем устройстве 5, могут быть предпочтительно выполнены модулем безопасности 11, как описано применительно к фиг. с 6 по 8.
Изобретение относится к вычислительной технике. Его использование позволяет обеспечить технический результат в виде возможности совместить тестирование подлинности с существующими стандартизованными протоколами обмена. Способ относится к тестированию подлинности носителя информации, имеющего по меньшей мере интегральную схему с устройствами памяти и логическими схемами и обменивающегося данными с внешним устройством по линии данных, причем носитель информации получает от внешнего устройства операционные и управляющие сигналы, необходимые для работ. Технический результат достигается благодаря тому, что интегральная схема дополнительно имеет отдельную схему с жесткой логикой для передачи и/или приема данных во время последовательности включения, определенной согласно протоколу, которая используется для тестирования подлинности, начальной передачи или приема данных, используемых для тестирования подлинности, завершаемого в течение промежутка времени, определенного для последовательности включения, в течение которого линия данных не имеет состояния, определенного протоколом. 2 с. и 24 з.п. ф-лы, 14 ил.
УСТРОЙСТВО ДЛЯ ЭКСПРЕСС-АНАЛИЗА ЖИДКОСТИ ОПТИЧЕСКИМ МЕТОДОМ | 0 |
|
SU321728A1 |
Блок для считывания информации с перфожетона | 1973 |
|
SU536498A1 |
Очаг для массовой варки пищи, выпечки хлеба и кипячения воды | 1921 |
|
SU4A1 |
Экономайзер | 0 |
|
SU94A1 |
Авторы
Даты
2000-09-20—Публикация
1995-06-02—Подача