Comments 3
"если злоумышленник имеет доступ к самому исполняемому файлу, он может легко вычленить оттуда секретный ключ" - не к файлу, я полагаю, а к процессу в памяти, да ещё и после того, как ключ уже этим процессом получен? Потому что если реверс исполнимого файла или изучение текста программы может хоть как-то подтолкнуть взломщика к отысканию ключа - это вообще не про криптографию.
Может быть, я не слишком хорошо понимаю задачу криптоаналитика, но она скорее не "посмотреть, что программа делает с известным ключом", а "отыскать ключ, имея знание об алгоритме и результатах его работы и/или фрагментах открытых сообщений"
WBC изначально придумывалась для систем, в которых секретный ключ был 'захардкожен' в сам бинарь, например, в старых DRM-системах, поэтому злоумышленник именно анализирует файл уже с ключом. И задачей криптографов в данном случае является преобразование алгоритма таким образом, чтобы ключ было невозможно получить путем анализа такого бинаря. То есть это не про обфускацию сорцов как таковых, а именно алгоритма шифрования с учетом ключа, ну и конечно чтобы результат был корректным в конечном счете. А криптоаналитики используют различные методы, чтобы проверить надежность WBC, так что да, по факту, пытаются взломать систему и найти ключ.
Но ведь имея на руках бинарь можно выдирать не сам секретный ключ, а целиком все эти lookup-таблицы, в которые он вшит. Или вообще весь кусок кода, реализующий шифрование. Или просто программе на вход подать нужные данные, она их и зашифрует своим секретным ключом. Ну да, у неё наверняка проверки какие-то есть, но их можно занопить, и вообще это уже не про криптографию история.
White-Box Cryptography: Расшифровываем эту белую коробку