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

Страница 12

Advertising
background image

DS1963S

12 из 40

страницы для определения того, являются ли принятые данные правильными (см. Application
Note 114
, где приведена рекомендуемая файловая структура, называемая также форматом TMEX).

Команда стирания блокнота [C3h]
Предназначением этой команды является очистка флага HIDE, а также стирание данных, которые
могли остаться в блокноте после осуществления предыдущей операции. После выдачи кода
команды мастер передает адрес назначения, как и для команды записи блокнота, но не передает
данных. После этого весь блокнот будет автоматически заполнен байтами FFh, независимо от
адреса назначения. Этот процесс длится примерно 32 мкс, в течение которых мастер принимает
единицы. После завершения процесса мастер начнет принимать последовательность
чередующихся нулей и единиц, что будет свидетельствовать о завершении выполнения команды.

Команда сравнения блокнота [3Ch]
MAC-код, вычисляемый блоком SHA DS1963S, записывается в блокнот. В то же время некоторые
вычисления, которые производятся при авторизации хоста или при выполнении функции проверки
страницы данных, требуют установки флага HIDE. Команда сравнения блокнота позволяет
проверить данные, которые при этом остаются недоступными для чтения. Команда сравнивает
160-битный MAC-код, который находится после вычислений SHA в блокноте по адресам 8..27, как
описано в разделах «Алгоритм вычислений SHA» и «Форматы выходных данных SHA-1», с
результатом, полученным мастером при его собственных вычислениях. После того, как мастер
выдаст код команды сравнения блокнота, он передает данные, байт за байтом, начиная с байта 8 и
заканчивая байтом 27. Если все байты совпадают, мастер считывает последовательность
чередующихся нулей и единиц. Если был дополнительно установлен флаг AUTH, устанавливается
флаг MATCH. Если сравнение выявило различия, мастер считывает все единицы.

Чтение аутентифицированной страницы [A5h]
Эта команда, применимая только к страницам 0..15, позволяет мастеру получить данные полной
(или части) страницы памяти и вычисленный MAC-код. После передачи мастером кода команды и
правильного адреса назначения, он принимает данные страницы, начиная с адреса назначения и до
конца страницы данных, затем значение счетчика циклов записи для этой страницы, значение
счетчика циклов записи для секретного кода, ассоциированного с этой страницей и
инвертированное значение CRC для кода команды, адреса назначения, переданной страницы
данных и значений счетчиков. Сразу после приема мастером значения CRC, блок SHA начинает
вычисление MAC-кода на основании секретного кода, ассоциированного с этой страницей, всех
32 байт данных выбранной страницы, значения счетчика циклов записи страницы, номера
страницы, регистрационного номера устройства (без CRC) и 3-байтного запроса, который
выбирается из блокнота по адресам 20..22. Результат вычислений SHA помещается в блокнот по
адресам 8..27, для того, чтобы его мог считать мастер. В то время, когда идут вычисления SHA,
мастер считывает все единицы. Когда вычисления завершаются, последовательность сменяется
чередующимися нулями и единицами. После этого мастер обычно должен прочитать все данные
страницы и т.д., вычислить MAC-код (см. описание команды вычислений SHA, функцию
проверки страницы данных), затем сравнить его с данными, находящимися в блокноте для
определения того, содержит ли DS1963S правильный секретный код, ассоциированный с
выбранной страницей данных.

Advertising