Робус - обеспечение защиты данных путем секретности алгоритма - это тупиковая ветвь эволюции. Поясню, почему:
1. Секретный элемент (алгоритм) одинаков для всех защищенных текстов. Если злоумышленнику станет известен алгоритм депакера, он сможет прочитать все твои тексты. В случае же, когда секретным является ключ, а не алгоритм, то тексты можно шифровать разными ключами, и попадание только одного ключа в руки врагу дает ему доступ не ко всем твоим текстам, а только к их части.
2. Секретный алгоритм упаковки сложно поменять в случае необходимости (если старый стал известен врагу, например). Малые изменения в алгоритме будут недостаточны - враг сможет их угадать. Большие изменения трудоемки и требуют квалификации. С другой стороны, если секретным является ключ, а не алгоритм, то поменять ключ легко.
3. Использование секретных алгоритмов недоступно тем, кто не имеет квалификации разработчика. Услуги разработчика со стороны делают последнего автоматически посвященным во все тайны. С другой стороны, защита, основанная на секретных ключах, не имеет этого недостатка. Даже если я разработал программу шифрования, то это еще не значит, что я смогу прочитать тексты, которые ты зашифровал с ее помощью.
4. Объем секретной информации (программа-депакер) очень велик, его труднее передать адресату, чем пароль. Пароль можно на ухо шепнуть, а программу - будь добр на электронном носителе передавай.
5. Хранение секретной части (программы-депакера) является уязвимым местом. Если человек может держать свои пароли в памяти, и чтобы врагу их получить, потребуется пытать или шантажировать жертву, то программа-депакер должна храниться на электронном носителе, который можно украсть или отобрать.
Добавлено через 11 минут
Добавлю. Методы шифрования (или упаковки в качестве шифрования), созданные дилетантами, могут иметь уязвимости к следующим типам атак:
1. Сравнение нескольких шифротекстов (поиск в них закономерностей и на их основе - полный или частичный взлом одного или всех)
2. Known plaintext attack (атака известным исходным тестом). Иногда врагу может быть известно (другими путями) полностью или частично исходное содержание шифротекста. На этой основе он иногда может восстановить ключ, восстановить остальной шифротекст и т.д. Классическая возможность подобной атаки - это всевозможные сигнатуры, содержащиеся в файлах ("JFIF" в jpg-файлах; "RIFF" - в wav- и avi-файлах; "Rar!" - в рар-архивах и т.д.)
3. Chosen plaintext attack (когда злоумышленник может, не зная ключа и алгоритма, подсовывать ему выбранные произвольно фрагменты текста для зашифрования)
И другие.
Успех взлома шифра не обязательно основывается на анализе одного лишь сообщения. Иногда может потребоваться перехват нескольких сообщений или ситуации, подобные вышеописанным. Но они возникают достаточно часто в жизни - и поэтому профессиональные разработчики шифров учитывают все это и стремятся сделать свои шифры устойчивыми к подобным уязвимостям.




Ответить с цитированием