Если планируется активное использование функций API и аппаратных алгоритмов, эта область памяти является основной. Именно в ней хранятся наиболее критичные для защиты данные .

В эту область памяти записываются: таблица размещения защищенных ячеек (PIAT), дескрипторы аппаратных алгоритмов и защищенных ячеек, загружаемого кода (для ключей Guardant Code / Code Time), а также другие данные, необходимые для защиты.

При производстве ключей Guardant сюда записываются дескрипторы стандартных аппаратных алгоритмов и защищенных ячеек. При помощи утилиты GRDUTIL можно создать свои дескрипторы и добавить их к существующим, либо изменить стандартные дескрипторы, также сделав их уникальными.

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

Эта область памяти должна быть сформирована таким образом: в начало области записывается таблица размещения защищенных ячеек, все дескрипторы алгоритмов и защищенных ячеек, и лишь потом - все остальные данные. Это необходимо делать потому, что дескрипторы должны быть защищены от чтения и записи, а запреты устанавливаются на непрерывную область памяти, начиная с адреса 44 SAM (поле kmUserData).

  • No labels