РАЗРАБОТКА РАСПРЕДЕЛЕННОЙ СИСТЕМЫ КРИПТОАНАЛИЗА АЛГОРИТМА RSA
РАЗРАБОТКА РАСПРЕДЕЛЕННОЙ СИСТЕМЫ КРИПТОАНАЛИЗА АЛГОРИТМА RSA
Аннотация
Одним из важнейших этапов создания современных криптографических алгоритмов является их последующий криптоанализ, который в конечном итоге и определяет возможность применения того или иного алгоритма в определенной сфере защиты информации. В данном контексте требования к криптоанализу, его эффективности и точности значительным образом повышаются. Безопасность RSA зависит от размера и качества ключей, а также от выбора параметров и схем заполнения. Наиболее распространенной атакой на RSA является атака методом перебора, которая пытается факторизовать открытый ключ и найти закрытый ключ. В статье рассмотрены подходы к разработке распределенной системы криптоанализа алгоритма RSA. Представлена модель распределенной компьютерной системы криптоанализа на основе Raspberry Pi, которая реализована в виде кластера на основе восьми мини-компьютеров для организации вычислений по шифрованию/дешифрованию сообщений.
1. Введение
Актуальность криптоанализа асимметричных криптоалгоритмов заключается в том, что они используются для защиты каналов передачи данных во многих сферах жизнедеятельности человека: шифрование сеансовых ключей и данных, генерирование цифровых электронных подписей и др. С целью своевременного обнаружения факта, что определенный алгоритм или некоторое множество его ключей являются неустойчивыми для дальнейшего использования, необходимо проводить исследования криптостойкости, т.е. криптоанализ.
Криптоанализ – это искусство и наука оценивания информационных систем с целью изучения их скрытых аспектов . Методы криптоанализа напрямую зависят от криптоалгоритма и информации, которая известна о самой системе, ключах, сообщениях. Особое внимание на сегодняшний день уделяется алгоритму RSA, использование которого позволяет эффективно защитить конфиденциальность и целостность данных в различных приложениях, таких как онлайн-банкинг, электронная коммерция и цифровые подписи. Это один из наиболее распространенных шифров, используемых в протоколе SSL/TLS, позволяющий надежно передавать конфиденциальную информацию через Интернет. Безопасность RSA зависит от размера и качества ключей, а также от выбора параметров и схем заполнения. Наиболее распространенной атакой на RSA является атака методом перебора, которая пытается факторизовать открытый ключ и найти закрытый ключ. Чтобы предотвратить это, ключи RSA должны иметь длину не менее 2048 бит, а лучше 4096 бит или более .
На сегодняшний день наиболее эффективными по быстродействию и стоимости вычислительных ресурсов для проведения криптоанализа являются распределенные системы. Узлы таких систем могут иметь SMP-, MPP- или PVP-архитектуры, а также создаваться с помощью специализированных FPGA и/или DSP-процессоров . Такие системы с распределенной памятью хорошо масштабируются и могут быть использованы для криптоанализа различных шифров. Условием эффективного использования распределенных систем является оптимальная декомпозиция вычислительной задачи криптоанализа соответствующего шифра относительно учета особенностей процессорных систем, памяти и коммуникационных средств.
Таким образом, особенности создания распределенных систем криптоанализа, а также современные подходы к их построению с учетом специфики шифров представляют на сегодняшний день актуальную научно-техническую задачу.
Авторы многих актуальных работ по этой тематике (например, Петренко А.С. , Ясашный О.П. , Vijesh Bhagat и др.) приводят ряд аргументов, указывающих на то, что для использования методов криптоанализа на параллельных и распределенных компьютерных системах целесообразно создавать специализированное программное обеспечение. Наряду с этим ведутся разработки в области создания методологии для реализации современных криптоаналитических методов в грид-среде (Ожиганова М.И. , Абелян В.З. ).
Цель исследования – рассмотрение подходов к разработке распределенной системы криптоанализа алгоритма RSA.
Методы исследования – анализ, синтез, моделирование, систематизация, обобщение, группировка.
2. Результаты исседования
При разработке алгоритмов программ, положенных в основу распределенной системы криптоанализа алгоритма RSA необходимо учитывать:
1) особенности вычислительных систем, предназначенных для функционирования соответствующего программного обеспечения, в частности: типы и производительность процессорных систем вычислительных узлов; топологии вычислительных сетей; надежность межузловых соединений; скорость передачи данных и латентность коммуникационных интерфейсов; скорость доступа отдельных узлов к централизованным хранилищам данных;
2) особенности алгоритма RSA, в частности: его способность к функциональной декомпозиции и декомпозиции по данным; требования к синхронизации между отдельными частями программы; количество итераций этого метода для повышения достоверности результата.
С точки зрения применимости системы распределенного криптоанализа для RSA можно сформулировать следующие требования к ее компонентам:
1) максимальная универсальность к типам зашифрованных данных;
2) открытые исходные коды и лицензия свободного программного обеспечения;
3) функционирование на различных платформах;
4) вычисления как на центральных, так и на графических процессорах клиентских персональных компьютеров;
5) операционная система Windows на клиентских персональных компьютерах;
6) неограниченное количество клиентов.
Необходимо отметить, что методология разработки программного обеспечения для распределенных сетей существенно отличается от традиционного подхода, поскольку программы работают в распределенной среде с высокой латентностью, а следовательно, задача усложняется проблемами синхронизации подпрограмм, что может быть обусловлено временной недоступностью или занятостью вычислительных ресурсов
.Итак, распределенная компьютерная система криптоанализа представляет собой кластерный компьютер и является альтернативой облачной инфраструктуре. В рамках проводимого исследования предлагается в качестве вычислительных ядер использовать мощность восьми серверных ЦП (32 ядра), что позволит запускать и выполнять вычисления с клиентского узла гораздо быстрее, чем клиент может выполнять их самостоятельно. В качестве программного обеспечения управления кластером целесообразно использовать Python 3, что позволит обеспечить возможности запуска соответствующих скриптов для криптоанализа с клиентской станции.
Для того чтобы визуализировать нагрузку на каждый из серверов в кластере, рекомендуется установить светодиодные матрицы Pimoroni Unicorn HAT 8x8 на каждый сервер. Сценарий управления bash на клиентской машине можно использовать для изменения шаблонов на Unicorn HAT
.На рис. 1 показана схема организации распределенной компьютерной системы криптоанализа на основе Raspberry PI.
Рисунок 1 - Схема организации распределенной компьютерной системы криптоанализа на основе Raspberry PI
Примечание: составлено автором
В качестве примера использования распараллеливания на практике можно рассмотреть XSL-атаку. Она распараллеливается на нескольких этапах (рис. 2): на первом этапе – по входным данным – это множество шифротекстов, подмножества которых могут быть использованы отдельными кластерными системами, на пятом этапе – решение системы линейных алгебраических уравнений для отдельного шифротекста может выполнять целая кластерная система или отдельный ее GPU-узел (вложенная декомпозиция).
Рисунок 2 - Схема алгебрического криптоанализа и подходы к декомпозиции задачи
Примечание: составлено автором
3. Заключение
Современные требования к безопасности данных требуют постоянного развития криптографии, а вместе с ней и криптоанализа. Для проверки безопасности и эффективности алгоритмов шифрования разрабатываются новые техники и инструменты. В настоящее время квантовые вычисления, машинное обучение и облачные вычисления являются одними из тенденций и вызовов в криптоанализе RSA.
В данном контексте особого внимания заслуживают распределенные системы криптоанализа. В процессе исследования формализована система на базе вычислительных кластеров для реализации современных криптоаналитических алгоритмов в распределенной среде. В частности, представлена модель распределенной компьютерной системы криптоанализа на основе Raspberry Pi, которая реализована в виде кластера на основе восьми мини-компьютеров для организации вычислений по шифрованию/дешифрованию сообщений.