💾 Archived View for tilde.team › ~rami › schneier_snakeoil.gmi captured on 2023-07-10 at 14:23:26. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2023-01-29)
-=-=-=-=-=-=-
רמי
SUBJECT: Брюс Шнайер. "Ханаанский бальзам"
AUTHOR: Bruce Schneier; Rami Rosenfeld (прим.)
DATE: 01/10/22
TIME: 01.00
LANG: ru
LICENSE: Proprietary; CC BY-NC-ND 4.0 (прим.)
TAGS: crypto, privacy, security, essay, philosophy
Давным-давно на территории древнего Израиля прозябало племя ханаанцев - потомков пресловутого Хама (да-да, того самого)... Но почему "прозябало"? Еще старик Ной в наказание за недостойное поведение наложил проклятье, которое отдавало потомков его сына Хама в полное подчинение отпрыскам другого наследника - Сима. Заверю вас: сей народец и в самом деле был вздорным; предавался, мягко говоря, всяческим излишествам и извращениям, плюс непрерывно воевал с соседями: до поры, до времени - пока на эту территорию не забрели праведные евреи и не расхреначили засранцев-идолопоклонников в пух и прах (конечно же - не без Б-жьей помощи).
В истории ханаанцы много раз "отличались", да так, что их отвратные поступки были включены в Тору - в назидание потомкам. Например:
- попытка изнасилования небесных посланников ha-Шема в Содоме и Гоморре (правильно: С'дом и А'мора);
- надругательство сына местного царька над праведной Диной, дочерью одного из еврейских патриархов;
- запугивание жены еврейского героя Самсона (Шимшона) на свадебном пиру;
- идолопоклонство Баалу, его женушке Астарте, а также Шамошу, Рефешу и Дагону (смею сказать - весьма неприятные личности);
- человеческие жертвоприношения, включая ритуальные сожжения детишек.
Всесильный и мудрый ha-Шем, как водится, часто гневался на идолопоклонников и посему то и дело наказывал их всяческими катаклизами; например - разрушил б-жественным огнем и серой С'дом и А'мору. Но даже частые наказания свыше не мешали ханаанцам заниматься их любимым делом - торговлей (в этом они схожи с еще одним народцем - их ближайшими соседями-родственниками, пресловутыми филистимлянами). Так вот, в качестве "чудодейственного средства" они "втирали" легковерным кочевникам, скотоводам и крестьянам некую жидкость, которая гарантированно обещала легкое избавление "сразу от всего" (живо напоминает шампунь "три в одном" или некоторые "сверхзащищенные криптографические средства", не правда ли?).
Липовая микстура так "прославилась" (как я полагаю - из-за катастрофических последствий для здоровья), что вошла в анналы под названием "Ханаанский бальзам". О нем и пойдет речь ниже.
Скептически взирая на огромное количество “уникальных алгоритмов”, особенно в сфере столь модных сейчас "защищенных" мecceнджеров, кои рекламирует все, кому не лень (см., к примеру, материал "Четыре наихудшие рекомендации [из мира криптографии]" в разделе Essays), припомнил одну классическую статью на эту тему. Предлагаемому вам эссе - много-много лет, однако его положения отнюдь не устарели, но, наоборот, приобретают новую окраску и силу.
Примечание: Брюс Шнайер - выдающийся американский криптограф, признанный гуру в области ИБ, автор книг "Прикладная криптография", "Секреты и ложь. Безопасность данных в цифровом мире", "Beyond Fear: Thinking Sensibly About Security in an Uncertain World" и др. Ведет рассылку "Crypto-Gram" и блог "Schneier on Security". Автор алгоритмов шифрования Blowfish, Twofish и генератора псевдослучайных чисел Yarrow. Входит в совет международной ассоциации криптографов IACR; является президентом Counterpane Systems, консалтинговой компании в области криптографии и защиты информации.
Избранные цитаты из произведений Брюса Шнайера
Примечание: При упоминании о длине ключей, прошу принять во внимание год публикации - 1999!
Основная неприятность, связанная с плохой системой защиты, в том, что она выглядит точно так же, как и хорошая система защиты. Невозможно обнаружить разницу по их внешнему виду. Обе системы дают одни и те же обещания по надежности защиты, обе имеют одинаковые функции. Обе даже могут использовать одинаковые алгоритмы: тройной DES, 1024-битный RSA и т.д. Обе могут использовать одинаковые протоколы, реализовывать одни и те же стандарты и быть поддержаны одними и теми же промышленными кругами. Тем не менее одна система защищает вашу информацию, а другая — нет.
Многие криптографы сравнивают эту ситуацию с ситуацией в производстве лекарств до введения государственного регулирования. Они имеют много общего: производители могут давать любые обещания, какие пожелают, потребители не обладают достаточными знаниями, чтобы определить правдивость этих обещаний, и к тому же производители не несут никакой ответственности (прочитайте лицензионное соглашение, с которым вы соглашаетесь, когда покупаете программную систему защиты информации!).
Нельзя сказать, что на рынке систем защиты информации нет хороших криптографических средств. Они есть. Есть производители, которые пытаются создать хорошие средства и давать честную рекламу. Есть также производители, которые считают, что их средства хороши, хотя это не так — просто они недостаточно компетентны, чтобы обнаружить разницу. Есть и такие, кто просто хочет быстро заработать, и совершенно не беспокоится о том, достаточно ли хороши их средства защиты.
Большинство средств защиты попадает в среднюю категорию: задуманные с хорошими намерениями, но имеющие дырки. О причинах этого я писал в предыдущих выпусках CRYPTO-GRAM, здесь же вкратце напомню: каждый может создать криптографическое средство, которое он сам не сможет взломать. Это означает, что появляется некто с благими намерениями и с новыми идеями, или по меньшей мере с идеями, о которых он никогда раньше не слышал. Он не может взломать свою систему и уверен, что он только что открыл магический эликсир, которым можно вылечить все проблемы защиты. И даже если все понимают, что магического эликсира не существует, сложность создания по-настоящему защищенных средств вместе с легкостью внесения ошибок делают плохие криптографические средства правилом, а не исключением.
Термин, который мы используем для плохих криптографических средств — «Ханаанский бальзам»: так в старину называли шарлатанские снадобья. Это напоминает о бродячих представлениях с исцелениями и лоточниках, продававших особый магический эликсир, исцелявший любую болезнь, которую только можно себе представить.
Например, вот абзац из одной из последних полученных мной по электронной почте реклам ханаанского бальзама: «Encryptor 4.0 использует уникальный алгоритм инкрементального сдвига базы собственной разработки. Расшифрование практически невозможно; даже если кто-то декомпилирует нашу программу и узнает алгоритм, расшифрование файла зависит от точного знания пароля (ключа шифрования). Даже если кто-то подбирает ключ шифрования, файл будет расшифрован правильно только в том случае, если ключ шифрования совпал с исходным на 100 процентов. Прочтите ВАЖНОЕ ПРЕДУПРЕЖДЕНИЕ на нашем веб-сайте». Я просмотрел их веб-сайт; шансы, что этот продукт представляет хоть минимальную ценность, неотличимы от нуля.
Ранее я говорил о создании надежных средств защиты, использовании проверенных математических методов и консервативного образа мышления. Здесь я хочу поговорить о некоторых общих признаках, предупреждающих о ханаанском бальзаме, и о том, как вы можете составить представление о продукте по его рекламе. Эти предупреждающие знаки — не абсолютная истина, но дают достаточно хорошие оценки.
В вышеприведенной цитате обратите внимание на «уникальный алгоритм инкрементального сдвига базы собственной разработки». Кто-нибудь понимает, что это значит? Есть ли какие-нибудь научные работы, обсуждающие этот алгоритм? Много умных слов подряд вовсе не означают надежную защиту.
У Meganet на веб-сайте можно обнаружить следующий перл: «В основе VME находится виртуальная матрица, матрица двоичных значений, размер которой теоретически бесконечен, и таким образом она не имеет избыточности. Зашифровываемые данные сравниваются с данными в виртуальной матрице. Как только обнаруживается совпадение, создается набор указателей, показывающих, как найти это место в виртуальной матрице. Этот набор указателей (который не несет никакой информации, если неизвестна соответствующая виртуальная матрица) затем далее зашифровывается множеством различных алгоритмов на различных стадиях для достижения лавинного эффекта. Результат — это зашифрованный файл, который, даже если его дешифровать, будет содержать не настоящую информацию, а только набор указателей. Учитывая, что каждый сеанс VME имеет уникальную, отличающуюся от предыдущих виртуальную матрицу, и что расположение данных внутри виртуальной матрицы абсолютно случайно и неизбыточно, нет никакого способа определить исходную информацию по набору указателей». Абсолютная бессмыслица, даже для эксперта.
У US Data Security еще один перл: «С математической точки зрения, алгоритм ТТМ интуитивно понятен и менее обременителен при использовании, чем методы, основанные на теории чисел». SuperKrypt пытается впечатлить аббревиатурой: «Продукты SuperKrypt используют метод группового шифрования DNGT», что бы это ни означало. А Cennoid просто не понимает то, о чем он говорит: «Так как длина ��люча и ключевая структура изменяются, и так как механизм шифрования не использует никаких математических алгоритмов, восcтановление исходных данных невозможно, и подбор так же невозможен».
Дело в том, что, как и медицина, криптография — это наука. В криптографии имеется некоторый объем знаний, и ученые постоянно пополняют его: разрабатывают новые и взламывают существующие криптографические методы, создают теоретические основания и т.д. Любой, кто явно не владеет языком криптографии, не сможет разобраться в существующей криптографической литературе, и очень маловероятно, что он изобретет что-нибудь стоящее. Это выглядит примерно так же, как если ваш доктор вдруг начинает говорить про «энергетические волны и целительные вибрации». Вам стоит забеспокоиться.
Каждые пару лет находится математик, который, посмотрев на криптографию, говорит что-то вроде «о, да это очень просто» и создает алгоритм шифрования прямо из того, над чем в настоящий момент работает. Такие алгоритмы неизменно оказываются с дырками.
Опасайтесь криптографических методов, основанных на новых областях математики: теории хаоса, нейронных сетях, теории кодирования, дзета-функциях. Криптография — это сложно, и шансы, что кто-либо без малейшего опыта в этой области может произвести революцию, очень малы. Даже если это кому-то удалось, дайте академическому сообществу несколько лет, чтобы понять и оценить этот метод, прежде, чем покупать продукты, на нем основанные.
Я обещаю не произносить очередную речь о проблемах, связанных с криптографическими методами, которые их разработчики держат в секрете. Я просто считаю это одним из предупреждающих знаков. Так что когда компания вроде GenioUSA отказывается сообщить, какой алгоритм они используют (они утверждают, что это «алгоритм симметричного шифрования мирового класса», что бы это ни значило), вы должны подумать дважды, прежде чем использовать их продукт (между прочим, в настоящее время он полностью взломан).
Еще одна компания, Crypt-o-Text, обещает «сложный алгоритм шифрования собственной разработки», и что «нет абсолютно никакого способа узнать, какой пароль был использован, путем изучения зашифрованного текста». Он был полностью взломан в обозрении InfoWorld.
Этим отличаются не только маленькие компании. Axent однажды попробовал подсунуть XOR в качестве алгоритма шифрования. Это проходило до тех пор, пока кто-то не проанализировал скомпилированный код, и вот тут всё и открылось…
У любой компании, не желающей открыто обсуждать свои алгоритмы и протоколы, есть что скрывать. Других причин быть не может. (И не принимайте всерьёз их заявления о том, что эта технология запатентована — с того момента, как они подали заявку на патент, они могут открыть эту технологию. А если они еще не готовы подать заявку на патент, отошлите их до того момента, когда они смогут опубликовать её.)
Некоторые компании делают настолько ужасные заявления, что становится очевидно, что они просто ничего не понимают в этой области. TriStrata утверждает про свой алгоритм шифрования: «Так как криптографическая схема TriStrata очень проста и имеет очень низкую вычислительную сложность, клиентская часть может размещаться на самых разных системах — от сервера до ноутбука». Понимают ли они, что практически любой алгоритм шифрования требует очень мало ресурсов и может уместиться на ноутбуке, что DES, RSA и SHA могут быть реализованы в 8-битных смарт-картах, что некоторые кандидаты на AES требуют всего 17 тактов процессора на каждый байт и могут быть реализованы аппаратно при помощи нескольких тысяч вентилей?
GenioUSA объясняет, почему они не используют криптосистемы с открытым ключом в своем продукте: «Шифрование с открытым ключом означает в точности то, что в генерации, контроле целостности и защите всех ключей и паролей, используемых для шифрования ваших писем, документов и файлов, участвуете не только вы одни. Шифрование с открытым ключом — великолепная технология для обмена информацией с теми, кому вы не можете доверить ваши секретные ключи и/или не можете обменяться секретными ключами. Мы процитируем одно предложение с одной хорошо известной веб-страницы: “Все известные криптосистемы с открытым ключом, однако, уязвимы для определенных видов атак и, таким образом, должны использовать ключи в десятки раз длиннее, чем те, которые обсуждались ранее, для того, чтобы достичь того же уровня защищенности”». Какие выводы? Эта компания просто не поняла, в чем же смысл.
Jaws Technology гордится: «Благодаря статистически невзламываемому 4096-битному ключу алгоритма JAWS L5, вы можете быть уверены в безопасности ваших наиболее ценных файлов». Meganet зашел еще дальше: «Симметричные ключи длиной 1 миллион бит — конкуренты предлагают только 40-160 бит!!»
Чем длиннее ключ, тем лучше, но только до определенного предела. AES будет поддерживать ключи длиной 128, 192 и 256 бит. Это гораздо больше, чем может потребоваться в обозримом будущем. По правде говоря, мы даже не можем себе представить мир, в котором возможен полный перебор всех ключей длиной 256 бит. Это потребует каких-то фундаментальных открытий в физике и в нашем понимании устройства Вселенной. В криптосистемах с открытым ключом аналогичным свойством обладают ключи длиной 2048 бит: более длинные ключи использовать бессмысленно.
Это следует рассматривать как частный случай Предупреждающего знака № 4: хотите ли вы доверить разработку криптографического средства компании, которая не понимает, что означает длина ключа?
Одноразовые блокноты совершенно бесполезны для коммерческих криптографических средств. Они годятся для шпионов, вооруженных только карандашом и бумагой, они годятся для телеграфной «горячей линии» между США и Россией, но они совершенно не годятся для вас. Подавляющее большинство компаний, заявляющих, что они реализуют одноразовый блокнот, ошибаются. На самом деле они реализуют нечто, о чем они думают, что это одноразовый блокнот. Настоящий одноразовый блокнот, как можно доказать, абсолютно защищен (от некоторых типов атак), но он и абсолютно непрактичен.
Elementrix, ныне не функционирующий, несколько лет назад объявил о выходе продукта, реализующего одноразовый блокнот, и отказался дать опровержение, когда было показано, что никакого одноразового блокнота в его продукте нет. Ciphile Software просто пытается ввести в заблуждение: «Original Absolute Privacy - Level3 — это автоматизированный генератор псевдо-одноразовых блокнотов с очень развитыми и мощными дополнительными возможностями». Что бы это ни означало.
Позднее TriStrata вскочила на подмостки мировой криптографии, анонсировав, что у нее реализован одноразовый блокнот. После этого её пинал каждый, у кого было хоть немного криптографического здравого смысла, и она в конце концов убрала эту фразу с веб-сайта. Это хорошо: как минимум, она продемонстрировала способность обучаться.
Ultimate Privacy, может быть, действительно использует одноразовый блокнот (хотя они заявляют, что используют и Blowfish, что меня настораживает): «Одноразовый блокнот — это метод шифрования с симметричным ключом, и он требует надежной и защищенной передачи самого шифроблокнота, который в нашем решении играет роль ключа. Степень защиты ключа должна быть не меньше той степени защиты, которую вы хотите достичь — для обмена информацией только с одним корреспондентом мы рекомендуем личную передачу шифроблокнота из рук в руки». Помните, что вам надо передать из рук в руки шифроблокнот такого же объема, какой будут занимать все сообщения, которые вы хотите передать, а иначе это уже будет не одноразовый блокнот.
Jaws Technologies говорит о своей новой технологии шифрования: «Этот одобренный учеными криптографический продукт — самый сильный коммерческий программный продукт такого типа в мире». Одобренный кем? Веб-сайт не дает ответа на этот вопрос. Самый сильный в мире при каком сравнении? Нет ответа…
UBE98, расшифровывается как «невзламываемое шифрование», и оно было таким до тех пор, пока кто-то не потратил день на то, чтобы его взломать. Веб-сайт содержит все те же нелепые заявления: «Один из наиболее сильных алгоритмов шифрования, доступных в Великобритании, в программе, настолько простой в использовании, что ей смогут пользоваться все!». Ура. SenCrypt рекламирует себя как «самый невзламываемый криптографический алгоритм, изобретенный человечеством». Ура два раза.
Некоторые компании заявляют о защите «военного уровня». Это бессмысленный термин. Нет такого стандарта. И, как минимум в США, военная криптография недоступна для использования негосударственными структурами (хотя компании, работающие по государственным заказам, могут получить такие средства для выполнения секретных контрактов).
Другие компании заявляют, что другие алгоритмы «взломаны», не сообщая подробностей. Или, что криптография с открытым ключом бесполезна. Не верьте такой ерунде. Если заявление кажется высосанным из пальца, скорее всего, так оно и есть. Если компания заявляет, что ее продукты прошли анализ у криптографов, поинтересуйтесь их именами. Попросите копию отчета. Counterpane Systems анализирует множество продуктов, и наши клиенты могут публиковать эти отчеты, если пожелают.
Есть два сорта шарлатанских доказательств. Первые — это настоящие математические доказательства, которые, однако, не имеют никакого отношения к реальному уровню защищенности. Вторые — это подделки под доказательства. Meganet утверждает, что есть доказательство того, что их алгоритм VME обладает той же стойкостью, что и одноразовый блокнот. Их «доказательство» представляет собой объяснение того, как работает одноразовый блокнот, магическое заклинание «VME имеет аналогичные эмпирические образцы поведения, что доказывает, что он так же стоек и невзламываем, как одноразовый блокнот» и результаты некоторых статистических тестов. Это даже отдаленно не напоминает доказательство.
Более тонкий вопрос — системы, защищенность которых можно доказать по-настоящему. Такие существуют. Летом 1998 года IBM подняла большой шум в прессе по поводу их доказуемо защищенной системы, что, по их заявлениям, могло произвести революцию в мире криптографии. С тех пор про эту систему ничего не слышно. Это была действительно великолепная научная работа, но к сожалению математические доказательства не имеют почти никакого отношения к защищенности конкретных продуктов.
Здесь достаточно будет сказать, что объявление приза за взлом системы защиты вовсе не дает гарантии ее невзламываемости, и, как правило, означает, что разработчики не понимают, что следует сделать, чтобы показать, что система хорошо защищена.
Эти знаки, предупреждающие о шарлатанских средствах, нельзя рассматривать как критерии, позволяющие отличить хорошее криптографическое средство от ханаанского бальзама. Весьма уязвимый продукт может обойти стороной все эти предупреждающие знаки, и точно также вполне качественный продукт может выглядеть очень похожим на ханаанский бальзам. Но большинство людей не имеют достаточно времени, терпения и знаний, чтобы самостоятельно провести анализ, необходимый для того, чтобы сделать обоснованный выбор. В отсутствие органа, контролирующего криптографические продукты (как, например, продукты питания и лекарственные средства), единственное, что может сделать здравомыслящий пользователь — обращать внимание на эти или аналогичные предупреждающие знаки.
Для дальнейшего чтения рекомендую перечень часто задаваемых вопросов «Snake Oil FAQ» — превосходный источник информации по сомнительным криптографическим продуктам и хороший способ повысить чувствительность вашего детектора халтуры.
(Пер. С.М. Асанова)
См. также:
“Snake Oil” by Bruce Schneier (February 15, 1999)
© Bruce Schneier, 1999.
© Rami Rosenfeld, 2022. CC BY-NC-ND 4.0. (Примечания)