Стойкость защиты на основе электронных ключей напрямую зависит от степени интеграции защитных механизмов в приложение. Глубокая интеграция позволит снизить до минимума возможность «вырезания» блоков защиты из программного кода, а грамотная организация логики проверок затруднит эмуляцию вызовов API злоумышленнику. Напомним, что в предыдущем уроке были рассмотрены базовые способы защиты с использованием аппаратных алгоритмов. Они сводились к преобразованию данных в электронном ключе с последующей проверкой результатов.
Публикуемый урок практического курса представлен для двух языков программирования (Delphi и C#) и содержит:
- описание ряда продвинутых стратегий защиты при помощи аппаратных алгоритмов электронного ключа;
- образец применения аппаратного алгоритма AES128 в совокупности с программным алгоритмом AES256 для эффективной защиты данных приложения;
- пример грамотного использования вектора инициализации криптографического алгоритма.
В данном уроке демонстрируется организация частичного шифрования базы данных аппаратно и программно-реализованными алгоритмами. Также в уроке рассмотрено, как при помощи дополнительных потоков, запускаемых и завершающихся в процессе работы приложения, можно затруднить анализ программы и исключить возможность «битхака». Урок входит в курс «Основы защиты приложений при помощи Guardant API», скачать который можно в разделе «Обучающие материалы».