Для защиты данных могут применяться следующие технологии:
В ключ Guardant алгоритмы AES128 и ECC160 попадают при записи лицензии. Каждый из компонентов лицензии содержит уникальный ключ шифрования AES и уникальную ключевую пару для алгоритма ECC. Таким образом отсутствие в лицензии нужного компонента автоматически означает невозможность расшифровки данных и проверки электронной подписи.
Аппаратный ключ, как и любое устройство, имеет ограниченную производительность. Маленькие объемы данных можно шифровать и расшифровывать напрямую, используя аппаратный алгоритм AES128, записанный в ключ. А для шифрования и расшифровки больших объемов данных рекомендуется использовать программный механизм шифрования.
Разработчик может выбрать любой алгоритм (например, AES256). Правильно спроектированный механизм использования данного метода, а также применение средств защиты от реверс-инжиниринга обеспечивают уровень защиты, как при шифровании данных напрямую через аппаратный алгоритм в ключе Guardant.
Главный принцип программного метода: ключ для программного шифрования не хранится в приложении и других файлах, он вычисляется косвенно в процессе работы защищённого приложения при помощи ключей Guardant.
Один из наиболее популярных способов программного шифрования — это таблица Вопросов-Ответов.
Подготовка к защите данных:
Защита данных:
В процессе работы приложения:
Приложение хеширует Ответ и выполняет операцию XOR с Результатом, который соответствует заданному Вопросу. Если Вопрос, Ответ и Результат соответствуют друг другу, то на выходе получается ключ для программного алгоритма шифрования, при помощи которого можно расшифровать данные.
Как только вычисленный ключ шифрования был использован, следует сразу же удалить его из памяти. |
Подготовка к защите данных:
Запишите в ключ Guardant лицензию хотя бы с одним компонентом.
Защита данных:
В процессе работы приложения:
Приложение через Guardant Licensing API программно проверяет подпись у защищаемых данных при помощи сохранённой подписи и открытого ключа.