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

Страница 10

Advertising
background image

DS1961S

10 из 38

Загрузка первого секретного кода [5Ah]
Команда загрузки первого секретного кода имеет два режима работы, которыми управляет флаг
EN_LFS. Когда EN_LFS = 0, команда заменяет текущий секретный код устройства содержимым
блокнота, если память секретного кода не защищена от записи. Когда EN_LFS = 1, команда
позволяет перезаписать память данных (адреса 0000h – 007Fh) без необходимости вычисления
SHA-1, в отличие от выполнения тех же действий командой копирования блокнота. Флаг EN_LFS
всегда имеет нулевое значение, за исключением случая, когда он устанавливается в единицу при
выполнении команды обновления блокнота перед загрузкой первого секретного кода.

Случай EN_LFS = 0
Перед использованием команды загрузки первого секретного кода в этом режиме мастер должен
записать новое значение секретного кода в блокнот, используя начальный адрес памяти
секретного кода (0080h). После выдачи команды загрузки первого секретного кода, мастер должен
передать 3-байтную последовательность авторизации (TA1, TA2, E/S, в этом порядке), которая
должна быть непосредственно перед этим получена с помощью команды чтения блокнота. Эта 3-
байтная последовательность должна точно совпадать с данными, которые содержатся в трех
адресных регистрах (см. рис. 6). Если последовательность совпадает, и память секретного кода не
защищена от записи, устанавливается флаг AA и начинается копирование. В память секретного
кода копируются все 8 байт блокнота.

Случай EN_LFS = 1
Для использования команды загрузки первого секретного кода в этом режиме должна быть
выполнена команда обновления блокнота для загрузки в блокнот восьми байт памяти данных (из
диапазона адресов 0000h – 007Fh), что установит флаг EN_LFS в единицу. После выдачи команды
загрузки первого секретного кода мастер должен передать 3-байтную последовательность
авторизации (TA1, TA2, E/S, в этом порядке), которая должна быть непосредственно перед этим
получена с помощью команды чтения блокнота. Эта 3-байтная последовательность должна точно
совпадать с данными, которые содержатся в трех адресных регистрах (см. рис. 6). Если
последовательность совпадает, и память не защищена от записи, устанавливается флаг AA и
начинается копирование. В память копируются все 8 байт блокнота.
Независимо от использованного режима, длительность процесса копирования равна t

PROG

, во

время которого напряжение на 1-проводной шине не должно опускаться ниже 2,8В. По окончании
задержки на время копирования мастер должен считать, по крайней мере, один байт. Считанное
значение AAh говорит о том, что копирование прошло успешно, а значение FFh говорит об
ошибке копирования. Как альтернатива, вместо использования загрузки первого секретного кода
при EN_LFS = 0 новый секретный код может быть загружен командой копирования блокнота.
Однако этот подход требует знания текущего секретного кода и вычисления 160-битного MAC-
кода.

Advertising