Versions Compared

Key

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

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

Anchor
_Toc485195558
_Toc485195558
Anchor
_Toc493314206
_Toc493314206
Anchor
_Toc493322554
_Toc493322554
Anchor
_Toc493322690
_Toc493322690
Anchor
_Toc495289426
_Toc495289426
Anchor
_Toc20393093
_Toc20393093
Anchor
_Toc101585020
_Toc101585020
Anchor
_Toc131258092
_Toc131258092
Anchor
_Toc132528858
_Toc132528858
Anchor
_Toc137467884
_Toc137467884
Несколько аппаратных алгоритмов в одном ключе

В одном ключе Guardant можно создавать дескрипторы аппаратных алгоритмов, число которых ограничивается только размером памяти ключа. В любой момент времени можно использовать любой из активированных дескрипторов. Для защиты одного и того же приложения можно использовать все созданные дескрипторы: например, какая-то часть данных кодируется одним алгоритмом, какая-то – другим и т. д.
Конструирование и запись в элетронный ключ дескрипторов алгоритмов происходит при помощи утилиты программирования GrdUtil.exe. Также возможна разработка собственных альтернативных утилит, выполняющих аналогичные функции, но программирующей ключи согласно технологии, принятой разработчиками для конкретной компании.
Возможность активации и деактивации аппаратных алгоритмов позволяет записывать их дескрипторы «впрок», для последующего использования в будущих версиях приложения. До выхода новой версии эти алгоритмы могут находиться в деактивированном состоянии, а при переходе на новую версию – активироваться.
Если компания производит несколько программных продуктов, можно и нужно каждый из них защищать с использованием своих уникальных дескрипторов аппаратных алгоритмов. Также возможен вариант, когда в каждом электронном ключе создаются свои уникальные дескрипторы – и тогда каждая копия приложения будет защищена уникальным методом. Этим исключается опасность создания универсальных эмуляторов для разных программных продуктов (или для разных версий одного продукта).

Anchor
_Toc493314249
_Toc493314249
Anchor
_Ref491490523
_Ref491490523
Anchor
_Toc493314247
_Toc493314247
Комбинация аппаратных и программных алгоритмов

Этот метод рекомендуется использовать при необходимости работы с большим объемом данных, которые использует защищенное приложение.
При этом аппаратный алгоритм должен декодировать или преобразовывать ключ программного алгоритма AES256, который будет использоваться для кодирования основного объема данных.
Смысл преобразования ключа перед его использованием – повысить уровень защищенности кодированных данных. В этом случае данные преобразуются не по паролю, вводимому пользователем, а по его видоизмененной форме, которая не хранится нигде.

Anchor
_Toc493314252
_Toc493314252
Случайные числа и анализ вероятностной функции

На вероятностном принципе можно строить надежные схемы защиты. Например, создается алгоритм, который возвращает случайную последовательность размером 100 байт. Она разбивается на 50 чисел по 2 байта, рассчитывается математическое ожидание, среднеквадратичное отклонение и определяется, действительно ли вероятностная функция имеет равномерное распределение. Если это не так, значит, хакер пытается эмулировать защиту от копирования, т. к. ему сложно (да и негде) взять столько правильных случайных последовательностей с равномерным распределением. Если приложение периодически обращается к ключу, то статистика может накапливаться и уточняться при каждом обращении, что будет давать с каждым разом все более точную статистическую картину.
Т. о., чтобы взломать защиту, надо написать весьма громоздкую программу-надстройку, которую даже неясно как внедрять в приложение. Либо придется анализировать всю систему защиты в совокупности, на что может уйти очень много времени, если система сбора и анализа статистики имеет распределенный по приложению характер.