You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Важная информация
Существует два поколения ключей Guardant Code – на микроконтроллере архитектуры ARM7 и микроконтроллере архитектуры Cortex-M3. Ключи на ARM7 сняты с производства 1 июля 2011 года. Вся информация в данной главе относится только к новой модели.
Электронные ключи Guardant Code и Guardant Code Time представляют собой новое поколение аппаратных средств защиты программного обеспечения семейства Guardant. Основным защитным механизмом, реализуемым этими ключами, является возможность разработки и размещения в электронном ключе собственных алгоритмов, реализующих полезную для защищаемого приложения функциональность. Эти алгоритмы в дальнейшем будут называться загружаемым кодом. Выполнение загружаемого кода происходит внутри ключей Guardant Code / Code Time, выполняющих роль своего рода доверенной платформы.

 Устройство ключей Guardant Code


Важная информация
Обратите особое внимание на отличия методов адресации памяти и на то, какие области памяти доступны для использования. 

           Память ключа Guardant Code

В контроллере электронных ключей Guardant Code существует два вида памяти: оперативная (RAM) и постоянная (Flash).
Оперативная память (далее – RAM) используется для хранения переменных, стека, буферов ввода-вывода. Часть RAM используется системной микропрограммой (System RAM), а другая часть – загружаемым кодом (20 Кб).
Память, которая используется для хранения загружаемого кода и его констант, в дальнейшем будет называться Flash-памятью. Часть Flash-памяти занята системной микропрограммой (System Flash), другая часть предназначена для загружаемого кода (128 Кб или 352 Кб, в зависимости от модификации ключа).
В предыдущих моделях ключей Guardant энергонезависимая память для хранения ключевой информации защищаемого приложения была выполнена в виде отдельной микросхемы EEPROM (электрически перепрограммируемая постоянная память). Поэтому для сохранения преемственности и совместимости EEPROM эмулируется во Flash-памяти контроллера Guardant Code. В ней (точно так же, как в обычных ключах Guardant) хранятся системные поля данных, дескрипторы защищенных ячеек и аппаратных алгоритмов. Для ясности и краткости эта эмулируемая память в дальнейшем будет называться просто EEPROM

  Организация EEPROM

 Ключи с загружаемым кодом обладают EEPROM объемом 4096 байт. Организация этой области памяти идентично устройству EEPROM ключей Guardant Sign/Time/Sign Net/ Time Net и детально рассматривается в Главе 10. Организация EEPROM памяти ключей Guardant

Карта Flash-памяти и RAM

При работе с RAM-памятью и Flash-памятью для хранения загружаемого кода используется иная, чем в случае с EEPROM, адресация, основанная на карте памяти контроллера ключа. 
Карта памяти, доступная для загружаемого кода, выглядит так: 

Адреса

Назначение

00020000h-0003FFFFh 

Flash-память для размещения загружаемого кода,страницы 1-4 (для варианта с 128 кб Flash-памяти)

00040000h-00077FFFh

Flash-память для размещения загружаемого кода,страницы 5-11 (для варианта с 352 кб Flash-памяти)

40003000h-40007FDFh

RAM (ОЗУ), доступная загружаемому коду. Тут размещаются: стек, буфер ввода-вывода, переменные загружаемого кода


Flash-память разделена на страницы по 32 Кб. При этом страница может быть занята только целиком. Вследствие такой организации памяти в Guardant Code может существовать от 1 до 4 (или до 11, в зависимости от объема доступной Flash-памяти) отдельных сегментов загружаемого кода.
Как правило, необходимости в нескольких независимых сегментах загружаемого кода не возникает, а потому в подавляющем большинстве случаев размещения для загружаемого кода резервируется вся доступная Flash-память. 

  • No labels