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

Страница 22

Advertising
background image

DS1961S

22 из 38

кода, разрешающего пересылку данных из блокнота в страницу регистров, секретный код должен
быть использован как данные страницы. Это препятствует использованию частичного
(вычисленного) секретного кода, если требуется запись в страницу регистров. При практическом
использовании DS1961S для проведения электронных платежей, частичные секретные коды менее
желательны, чем постоянные, позволяющие защитить от записи память секретного кода или
другие области устройства.

Таблица 3b. ВХОДНЫЕ ДАННЫЕ SHA-1 ДЛЯ КОМАНДЫ КОПИРОВАНИЯ БЛОКНОТА
ПРИ ЗАПИСИ В СТРАНИЦУ РЕГИСТРОВ ИЛИ ПАМЯТЬ СЕКРЕТНОГО КОДА

M0[31:24] = (SS+0)

M0[23:16] = (SS+1)

M0[15:8] = (SS+2)

M0[7:0] = (SS+3)

M1[31:24] = (SS+0)

M1[23:16] = (SS+1)

M1[15:8] = (SS+2)

M1[7:0] = (SS+3)

M2[31:24] = (SS+4)

M2[23:16] = (SS+5)

M2[15:8] = (SS+6)

M2[7:0] = (SS+7)

M3[31:24] = (RP+0)

M3[23:16] = (RP+1)

M3[15:8] = (RP+2)

M3[7:0] = (RP+3)

M4[31:24] = (RP+4)

M4[23:16] = (RP+5)

M4[15:8] = (RP+6)

M4[7:0] = (RP+7)

M5[31:24] = (ID+0)

M5[23:16] = (ID+1)

M5[15:8] = (ID+2)

M5[7:0] = (ID+3)

M6[31:24] = (ID+4)

M6[23:16] = (ID+5)

M6[15:8] = (ID+6)

M6[7:0] = (ID+7)

M7[31:24] = FFh

M7[23:16] = FFh

M7[15:8] = FFh

M7[7:0] = FFh

M8[31:24] = (SP+0)

M8[23:16] = (SP+1)

M8[15:8] = (SP+2)

M8[7:0] = (SP+3)

M9[31:24] = (SP+4)

M9[23:16] = (SP+5)

M9[15:8] = (SP+6)

M9[7:0] = (SP+7)

M10[31:24] = MP

M10[23:16] = (ID+0)

M10[15:8] = (ID+1)

M10[7:0] = (ID+2)

M11[31:24] = (ID+3)

M11[23:16] = (ID+4)

M11[15:8] = (ID+5)

M11[7:0] = (ID+6)

M12[31:24] = (SS+4)

M12[23:16] = (SS+5)

M12[15:8] = (SS+6)

M12[7:0] = (SS+7)

M13[31:24] = FFh

M13[23:16] = FFh

M13[15:8] = FFh

M13[7:0] = 80h

M14[31:24] = 00h

M14[23:16] = 00h

M14[15:8] = 00h

M14[7:0] = 00h

M15[31:24] = 00h

M15[23:16] = 00h

M15[15:8] = 01h

M15[7:0] = B8h


Условные обозначения

Mt

Входной буфер блока SHA
0 < t < 15; 32-битные слова

(SS + N)

Байт N секретного кода; секретный код начинается с адреса 0080h
(См. карту памяти)

(RP + N)

Байт N страницы регистров; страница начинается по адресу 0088h
(См. карту памяти)

(SP + N)

Байт N блокнота

MP

MP[7:0] = 04h

(ID+N)

Байт N идентификационного регистра


Чтение аутентифицированной страницы [A5h]
Команда чтения аутентифицированной страницы позволяет мастеру получить данные полной (или
части) страницы памяти плюс MAC-код. MAC-код позволяет мастеру определить, является ли
секретный код, сохраненный в DS1961S, действительным для данного приложения. DS1961S
вычисляет MAC-код на основе собственного секретного кода, всех данных выбранной страницы
памяти, первых семи байт идентификационного регистра и 3-байтного запроса, который должен
быть записан мастером в блокнот перед использованием команды чтения аутентифицированной
страницы. Для того чтобы сделать это, мастер может использовать команду записи блокнота с
любым адресом назначения в памяти данных. Байты запроса должны размещаться в 5-м, 6-м и 7-м
байтах блокнота. Как вариант, мастер может использовать в качестве запроса данные, которые
остались в блокноте от предыдущей команды. MAC-код передается таким же образом, как и для
команды копирования блокнота (таблица 2), только данные теперь передаются от DS1961S
мастеру. Входные данные блока SHA, которые используются во время выполнения команды
чтения аутентифицированной страницы, показаны в таблице 4. После передачи мастером кода
команды и адреса назначения (TA1 и TA2) DS1961S первым делом очищает флаг EN_LFS. Если

Advertising