Инструкция по эксплуатации Rainbow Electronics DS1961S

Страница 8

Advertising
background image

DS1961S

8 из 38

перезаписать блокнот. После приема содержимого регистра E/S чтение блокнота заканчивается.
Что происходит с данными блокнота в различных условиях, можно выяснить из описания команд
записи и обновления блокнота. Вслед за данными блокнота следует инвертированная CRC,
вычисленная для команды чтения блокнота, адреса назначения, регистра E/S и данных блокнота.
Как и для команды записи блокнота, мастер может сравнить эту CRC со значением, вычисленным
им самим, для подтверждения правильности пересылки данных. После проверки данных мастер
может передать команду копирования блокнота в память. Как вариант, может быть передана
команда загрузки первого секретного кода или вычисления следующего секретного кода, которые
служат для изменения секретного кода. Для более подробной информации смотрите описание этих
команд.
В устройствах, контактируемых касанием, надежность электрического контакта не может быть
гарантирована. При плохом или прерывающемся контакте возможно завершение выполнения
команды копирования блокнота при недостаточном напряжении питания, что может привести к
появлению в битах EEPROM плавающих затворов с напряжением в промежуточной области
между 0 и 1. Если такое произойдет, логическое состояние этих битов будет неопределенным. В
зависимости от напряжения питания и окружающей температуры один и тот же бит может
считываться хостом в одном состоянии, а встроенным блоком SHA-1 – в противоположном. Это
приведет к полной блокировке устройства, так как хост не сможет сформировать правильный
MAC-код для разрешения перезаписи этого бита. Для восстановления неудачно записанных битов
и восстановления функционирования устройства была введена команда обновления блокнота.
Вместе с командой загрузки первого секретного кода, команда обновления блокнота обеспечивает
возможность восстановления битов EEPROM в нормальное состояние, устраняя блокировку
устройства и позволяя снова производить запись.
Для предотвращения появления неудачно записанных битов после каждой команды копирования
блокнота должна быть выполнена последовательность обновления. Последовательность
обновления включает в себя команду обновления блокнота (с того же адреса, который
использовался предыдущей командой копирования блокнота), за которой следует загрузка первого
секретного кода. Команда обновления блокнота устанавливает флаг EN_LFS. Этот флаг разрешает
команде загрузки первого секретного кода производить запись по адресам 0000h – 007Fh, т.е. в
память данных. Использование команды загрузки первого секретного кода позволяет мастеру
скопировать блокнот в память без необходимости вычисления MAC-кода. Если мастер передаст
после команды обновления блокнота любую другую команду, которая изменяет данные в
блокноте или адрес назначения, флаг EN_LFS будет сброшен в 0. Это исключает использование
команды загрузки первого секретного кода для записи данных, отличных от данных обновленного
блокнота, и запись по адресу, отличному от установленного во время обновления блокнота. Для
адресов назначения 0080h и выше команда обновления блокнота ведет себя точно так же, как
команда записи блокнота. В этом случае флаг EN_LFS не устанавливается, поэтому невозможно
обновить данные в памяти секретного кода (0080h) или в странице регистров (0088h). Это
защищает секретный код от считывания с помощью команды обновления блокнота, за которой
следует чтение блокнота.

КОМАНДЫ ФУНКЦИЙ ПАМЯТИ И SHA
В соответствии с требованиями безопасности, которые учтены в конструкции, DS1961S ведет себя
иначе, нежели другие устройства iButton с памятью. Несмотря на то, что большая часть памяти
DS1961S может быть считана таким же образом, как и у других устройств iButton с памятью,
попытки чтения секретного кода приведут к считыванию байтов, равных FFh, вместо реальных
данных. Блок-схема функций памяти и SHA (рис. 7) описывает протоколы, необходимые для
адресации памяти и работы блока SHA. Обмен между мастером и DS1961S может происходить на
обычной скорости (по умолчанию, OD = 0) или в ускоренном режиме на повышенной скорости
(OD = 1). Если DS1961S специально не перевести в ускоренный режим, обмен будет происходить
на обычной скорости.

Advertising