ШифрСабля
Эта статья нуждается в дополнительных цитатах для проверки . ( ноябрь 2009 г. ) |
CipherSaber — это простой симметричного шифрования, протокол основанный на потоковом шифре RC4 . Его цели являются как техническими, так и политическими : он обеспечивает достаточно надежную защиту конфиденциальности сообщений, но при этом достаточно прост, чтобы даже начинающие программисты могли запомнить алгоритм и реализовать его с нуля. По словам разработчика, версия CipherSaber на языке программирования QBASIC занимает всего шестнадцать строк кода. Его политический аспект заключается в том, что, поскольку он настолько прост, его можно повторно реализовать где угодно и в любое время, и поэтому он предоставляет пользователям возможность общаться в частном порядке, даже если правительство или другие меры контроля делают распространение обычного криптографического программного обеспечения совершенно невозможным.
История и цель
[ редактировать ]CipherSaber был изобретен Арнольдом Рейнхольдом, чтобы сделать надежную криптографию доступной для общественности. Многие правительства ввели юридические ограничения на использование криптографии, и многие другие предложили их. Публикуя подробную информацию о безопасном, но простом в программировании алгоритме шифрования, Рейнхольд надеется сделать технологию шифрования доступной для всех.
В отличие от таких программ, как PGP , которые распространяются как удобное в использовании предварительно написанное программное обеспечение, Рейнхольд публикует CipherSaber только в качестве спецификации. Спецификация должна быть настолько простой, что ее сможет легко реализовать даже начинающий программист. Как поясняет веб-сайт CipherSaber [1] :
- Джорджа Лукаса «Звездные войны» В трилогии рыцари-джедаи должны были создавать свои собственные световые мечи . Идея была ясна: воин, противостоящий могущественной империи, стремящейся к тоталитарному контролю, должен быть самостоятельным. Поскольку мы сталкиваемся с реальной угрозой запрета на распространение надежной криптографии в Соединенных Штатах и, возможно, во всем мире, мы должны подражать мастерам-джедаям, научившись самостоятельно создавать надежные программы криптографии. Если это удастся сделать, надежную криптографию невозможно будет подавить.
На веб-сайте есть графический файл, который отображается как сертификат CipherKnight; однако этот файл зашифрован с помощью CipherSaber с известным ключом, опубликованным вместе с файлом. Пользователи могут просмотреть графику (и при необходимости распечатать ее для кадрирования), сначала написав собственную реализацию CipherSaber для расшифровки файла. Написав собственную реализацию и выполнив несколько других небольших задач, пользователь становится CipherKnight, а расшифрованный сертификат подтверждает его рыцарское звание. Таким образом, вместо того, чтобы предоставлять готовый инструмент, разработчик CipherSaber надеется помочь пользователям компьютеров понять, что они способны создавать свои собственные надежные программы шифрования, не полагаясь на профессиональных разработчиков или разрешение правительства.
Техническое описание
[ редактировать ]В исходной версии CipherSaber (теперь называемой CipherSaber-1 или CS1) каждое зашифрованное сообщение начинается со случайного десятибайтового вектора инициализации (IV). Этот IV добавляется к ключу CipherSaber, чтобы сформировать входные данные для алгоритма настройки ключа RC4. Сразу следует сообщение, обработанное XOR с ключевым потоком RC4 .
Атака Флюрера , Мантина и Шамира на RC4 сделала CipherSaber-1 уязвимым, если большое количество (>1000) сообщений отправляется с одним и тем же ключом CipherSaber. Чтобы решить эту проблему, разработчик CipherSaber создал модифицированный протокол (названный CipherSaber-2), в котором цикл установки ключа RC4 повторяется несколько раз (рекомендуется 20 раз). Помимо согласования секретного ключа, стороны, взаимодействующие с CipherSaber-2, должны договориться о том, сколько раз повторять этот цикл.
Вывод зашифрованного текста представляет собой поток двоичных байтов, который спроектирован так, чтобы быть «неотличимым от случайного шума». [1] Для использования с системами связи, которые могут принимать только данные ASCII , автор рекомендует кодировать поток байтов в виде шестнадцатеричных цифр. Это менее эффективно, чем, например, base64 кодирование MIME , но его гораздо проще программировать, что соответствует цели CipherSaber по максимальной простоте реализации.
Безопасность и удобство использования
[ редактировать ]CipherSaber достаточно силен и удобен в использовании, чтобы эффективно отстаивать свою политическую точку зрения. Однако ей явно не хватает безопасности и удобства, которые обычно требуются от такой криптосистемы. В то время как CipherKnights может использовать CipherSaber для достаточно безопасного обмена случайными сообщениями друг с другом, либо для развлечения, либо в случае больших затруднений, CipherSaber лишает криптографию самого необходимого и не предлагает достаточного количества функций, чтобы подходить для широкого развертывания и повседневного использования. Автор CipherSaber фактически предлагает пользователям загрузить и установить PGP в качестве одного из шагов, чтобы стать CipherKnight. CipherSaber можно рассматривать как запасной вариант, который можно использовать в случае, если такие программы, как PGP, запрещены . Некоторые, но не все, жертвы и недостатки CipherSabre уникальны для RC4.
- CipherSaber не обеспечивает аутентификацию сообщений . Эту уязвимость, присущую всем чистым потоковым шифрам, легко использовать. Например, злоумышленник, который знает, что сообщение содержит фразу « Встретимся с Джейн и мной завтра в 15:30 » в определенный момент, может восстановить ключевой поток в этот момент из зашифрованного текста и открытого текста. Затем злоумышленник может заменить исходный контент любым другим контентом точно такой же длины, например « Встреча в 3:30 отменена, оставайтесь дома », зашифровав его с помощью восстановленного потока ключей, не зная ключа шифрования.
- Как и большинство шифров, используемых сегодня для массовой передачи данных, CipherSaber представляет собой шифр с симметричным ключом. Таким образом, каждая пара взаимодействующих пользователей должна каким-то образом безопасно согласовать ключ шифрования, и каждый пользователь должен надежно хранить ключи шифрования тех, с кем он должен общаться. Согласование ключей шифрования, когда единственные доступные каналы связи небезопасны, — это классическая проблема курицы и яйца, решаемая с помощью криптографии с открытым ключом , предоставляемой программами, подобными PGP. Устранение необходимости в безопасных соглашениях о симметричных ключах между каждой парой пользователей очень удобно и в целом повышает безопасность. Протокол, обычно используемый для достижения хорошей эффективности и удобства, заключается в использовании шифра с открытым ключом, такого как RSA , для обмена ключами, а затем шифра с симметричным ключом, такого как CipherSaber, для массовой передачи данных с использованием согласованного ключа.
- Настройка короткого ключа RC4, используемая в CipherSaber-1, сломана: теперь известно, что исходное планирование ключей RC4 слишком слабое для защиты большого количества зашифрованных текстов, зашифрованных с использованием одного и того же ключа. CipherSaber-2 модифицирует процедуру установки ключа CipherSaber-1, повторяя ее несколько раз в надежде повысить ее безопасность (результат эквивалентен использованию обычного RC4, начиная с ключа, предварительно обработанного сложным алгоритмом). Хотя считается, что эта процедура закрывает уязвимость планирования ключей RC4, ее эффективность не доказана.
- Как и любой шифр с выбранным ключом, обе версии CipherSaber уязвимы для атаки по словарю, если выбранный ключ (который обычно представляет собой пароль или парольную фразу) не имеет достаточной энтропии . Реализации криптографии с симметричным ключом обычно включают в себя возможность генерации случайных ключей, когда требуется высокий уровень безопасности. Сайт CipherSaber рекомендует генерировать случайные парольные фразы с высокой энтропией с помощью Diceware .
- Как и большинство других криптосистем (включая PGP ), CipherSaber вообще не предусматривает никаких мер, предотвращающих обнаружение (в отличие от расшифровки) злоумышленниками зашифрованных сообщений. Это потенциально серьезная проблема в некоторых ситуациях, для которых был разработан CipherSaber: если правительство запретило распространение криптографического программного обеспечения, оно, вероятно, также захочет наброситься на любого, кто, как оно обнаружит, отправляет зашифрованные сообщения. см. в разделе «Анализ трафика и стеганография» . Дополнительные сведения об этих проблемах и мерах противодействия
Ссылки
[ редактировать ]- ^ Арнольд Рейнхольд, домашняя страница CipherSaber
Дальнейшее чтение
[ редактировать ]- Левин, Джон Р. , изд. (2000). Секреты Интернета (2-е изд.). Книги ИДГ . ISBN 0-7645-3239-1 .