Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Аппаратными алгоритмами принято называть алгоритмы, реализующие преобразования данных (кодирование и декодирование, вычисление хэш-функции и т.п.) внутри микроконтроллера ключа. При такой реализации алгоритмов ни сам метод преобразования, ни ключи шифрования не покидают памяти микроконтроллера, что осложняет анализ этих алгоритмов извне. По сути, такая реализация алгоритмов делает электронный ключ аппаратным «черным ящиком», анализ которого возможен только по входящим и исходящим данным.
Важная информация
Реализация возможности обработки данных вне процессора и памяти компьютера аппаратными алгоритмами является основной защитной функцией электронных ключей Guardant.

Anchor
_Toc485195566
_Toc485195566
Anchor
_Toc493314214
_Toc493314214
Anchor
_Toc493322562
_Toc493322562
Anchor
_Toc493322698
_Toc493322698
Anchor
_Toc495289434
_Toc495289434
Anchor
_Toc20393101
_Toc20393101
Anchor
_Toc101585029
_Toc101585029
Anchor
_Toc131258101
_Toc131258101
Anchor
_Toc132528862
_Toc132528862
Anchor
_Toc137467889
_Toc137467889
Anchor
_Toc244330087
_Toc244330087
Anchor
_Toc326167535
_Toc326167535
Безопасность памяти ключа

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

Anchor
_Toc485195565
_Toc485195565
Anchor
_Toc493314213
_Toc493314213
Anchor
_Toc493322561
_Toc493322561
Anchor
_Toc493322697
_Toc493322697
Anchor
_Toc495289433
_Toc495289433
Anchor
_Toc20393100
_Toc20393100
Anchor
_Toc101585028
_Toc101585028
Anchor
_Toc131258100
_Toc131258100
Anchor
_Toc132528863
_Toc132528863
Anchor
_Toc137467890
_Toc137467890
Anchor
_Toc326167536
_Toc326167536
Аппаратные запреты

Часть энергонезависимой памяти ключей Guardant недоступна ни для чтения, ни для записи, часть доступна только для чтения. Остальная память доступна полностью и для чтения, и для записи.
Естественно, хакеры проявляют повышенный интерес к содержимому памяти любых ключей. Ведь считав информацию из ключа, можно создать его эмулятор или полную аппаратную копию. EEPROM-память расположена внутри микроконтроллера, а значит защищена так же хорошо, как и сама микропрограмма электронного ключа. С помощью Guardant API, Guardant Code API или GrdUtil к ней можно получать доступ.
Энергонезависимая память, используемая в ключах Guardant, позволяет устанавливать аппаратные запреты чтения/записи ее содержимого. Скопировать содержимое области памяти, на которую наложен запрет, программным способом невозможно – для этого попросту нет никаких средств. Ключ просто не отвечает на запрос на чтение/запись защищенных областей его памяти.
Установка аппаратных запретов производится на нижнем, аппаратном уровне – это гарантирует невозможность их обхода программными средствами.
Аппаратные запреты можно устанавливать на любую область доступной памяти ключей, снимать запреты, расширять или сужать границы защищенной памяти. На дескрипторы создаваемых в ключах Guardant аппаратных алгоритмов и защищенных ячеек аппаратные запреты чтения и записи утилитой программирования устанавливаются по умолчанию – в этом заключается гарантия того, что аппаратные алгоритмы ключа Guardant не могут быть считаны или продублированы. При программировании ключей утилитами собственной разработки необходимо заботиться о правильной установке аппаратных запретов.

Anchor
_Toc326167537
_Toc326167537
Аппаратная блокировка терминальных сеансов

Наличие механизма шифрования трафика между электронным ключом и Guardant API дает возможность на аппаратном уровне ограничить использование локального ключа одновременно из нескольких терминальных сеансов.
В обычном режиме для каждого сеанса взаимодействия с ключом, ограниченного функциями GrdLogin() и GrdLogout(), вырабатывается отдельный сессионный ключ шифрования трафика. Количество сессионных ключей определяется количеством открытых сеансов. Соответственно, электронный ключ может одновременно использоваться большим количеством одновременно работающих копий защищенного приложения, в том числе из терминальных сеансов. Такая ситуация нарушает принцип «один ключ – одна лицензия», поэтому возникает естественное желание не разрешать запуск более одной копии приложения с одним ключом. Как правило, эта задача решается программными методами, такими как создание глобальных объектов в памяти при запуске приложения и проверки их существования при запуске дополнительных копий. Также существуют методы отслеживания лишних запущенных копий, использующие запись случайных чисел в память ключа и проверку их наличия в процессе работы.
Технология, реализованная в ключах Guardant, позволяет обеспечивать работоспособность только одной копии запущенного приложения. Для этого электронный ключ при предпродажном программировании должен быть переведен в один из режимов ограничения количества сеансовых ключей:

...