Использование LUKS для защиты носителей от несанкционированного доступа на основе отечественных систем шифрования

Холиков Руслан Нажмидинович

Бакалавр РГУ нефти и газа (НИУ) имени И.М. Губкина Ленинский проспект, д.65 к.1, Москва, Россия

Салимжанов Роман Дмитриевич

Бакалавр РГУ нефти и газа (НИУ) имени И.М. Губкина Ленинский проспект, д.65 к.1, Москва, Россия

Аннотация

В данной работе описаны разные подходы к шифрованию носителей с применением утилиты LUKS совместно с отечественными системами шифрования «Кузнечик» и «Магма», а также сравнение данных подходов по трем критериям.

Annotation

This paper describes different approaches to media encryption using LUKS utility together with domestic encryption systems "Grasshopper" and "Magma", as well as comparison of these approaches according to three criteria.

Ключевые слова: LUKS, ОС Альт, шифрование, криптографические алгоритмы.

ВВЕДЕНИЕ: АКТУАЛЬНОСТЬ

В связи с ростом киберпреступлений из года в год стоит острая необходимость обеспечить безопасность данных, хранящихся на конечных устройств от несанкционированного доступа.

Также в связи с тенденцией ухода иностранных компаний из России и развитием отечественных технологий, были введены соответствующие законодательства, регулирующие вопрос перехода государственных компаний с иностранных на отечественные технологии. Это касается, как операционных систем, так и систем шифрования данных.

В связи с этим остро стоит вопрос о рассмотрении и использования отечественных технологий для защиты носителей от несанкционированного доступа.

ВВЕДЕНИЕ: ОБЪЕКТ, ПРЕДМЕТ И ЦЕЛЬ

Объектом исследования выступают ОС ALT Linux, утилита LUKS и отечественные системы шифрования «Кузнечик» и «Магма».

Предметом исследования является совместное использование утилиты LUKS и отечественных систем шифрования.

Цель работы: использования разных подходов шифрования и организации доступа для защиты носителей с применением LUKS и отечественных криптосистем на базе ОС ALT Linux

ЛИТЕРАТУРНЫЙ ОБЗОР

1. Кузнечик – алгоритм шифрования, с блоком длинной 128 бит.

2. Магма – алгоритм шифрования, с блоком длинной 64 бита.

3. Cryptsetup – утилита, позволяющая настраивать блочные устройства под управлением ядра.

4. LUKS – встроенный в систему Linux формат шифрования носителей на основе ядра.

5. CryptAPI – криптографическая структура, которая находится в ядре ALT Linux, необходимая для предоставления доступа к алгоритмам шифрования различным утилитам.

МЕТОДЫ ИССЛЕДОВАНИЯ

Для того чтобы реализовать заданную цель необходимо выполнить следующие действия

1. Установить отечественные криптосистемы в систему ALT Linux

2. Создать ключ расшифрования на usb-носителе

3. Организовать шифрование раздела с помощью LUKS

Также следует отметить, что шифрование носителей будет проводиться с применением разных подходов для анализа удобства и степени защищенности носителя. Первый носитель будет зашифрован с использованием алгоритма шифрования «Кузнечик» и доступ к носителю будет предоставлен по паролю. Второй носитель будет зашифрован с использованием алгоритма шифрования «Магма», доступ будет организован с помощью usb- устройства, хранящим в себе ключ доступа.

РЕАЛИЗАЦИЯ

В системе ALT Linux, а точнее в ее ядре по умолчанию нет, поддержки алгоритмов «Кузнечика» и

«Магмы». Но не смотря, на это LUKS поддерживает любое шифрование, которое поддерживается CryptAPI в системе. Для добавления криптосистем в ядро ALT Linux, необходимо воспользоваться проектом на платформе GitHub, который называется «kuzcrypt». Данная программа установить необходимые алгоритмы шифрования в систему ALT Linux.

Рисунок 1 - Установка алгоритмов шифрования "Кузнечик" и "Магма"
Рисунок 1 - Установка алгоритмов шифрования "Кузнечик" и "Магма"

Для шифрования раздела необходимо использовать команду «cryptsetup luksFormat /dev/sdb – cipher=kuznyechik-xts-plain64», где –cipher выбор алгоритма шифрования. Также можно указать такой параметр, как «key-size», который указывает битность ключа. Несмотря на изначальную битность Кузнечика, раздел будет зашифрован с 512 битным ключом, данная особенность реализуется из-за применения режима шифрования XTS.

Рисунок 2 - Шифрования раздела /dev/sdb
Рисунок 2 - Шифрования раздела /dev/sdb

Не рекомендуется использовать простой пароль, который можно подобрать, так как пароль будет является единственным слабым местом в системе. Далее необходимо открыть раздел командой «cryptsetup luksOpen /dev/sdb name» и смонтировать раздел. Вместо name можно указать любое название. По окончанию данных действий можно быть уверенным, что диск зашифрован и не зная пароля, злоумышленник, никак не сможет получить доступ к данным.

Для шифрования раздела с доступом через usb-устройство необходимо установить на него ключ доступа командой «dd if =/dev/uranom of=/путь_до_файла/ bs=2048 count=2».

Рисунок 3 - Создание ключа доступа на usb-носителе
Рисунок 3 - Создание ключа доступа на usb-носителе

Далее необходимо провести шифрование носителя, применяя систему шифрования «Магма». Размер ключа указывается явно в данном случае он равен 256, а не 512 как в прошлый раз, это происходит из-за режима ECB, также необходимо прописать путь до ключа. Таким образом носитель будет зашифрован по ключу.

Рисунок 4 - Шифрование раздела /dev/sdc
Рисунок 4 - Шифрование раздела /dev/sdc

Далее необходимо связать ключ с разделом, что позже позволит авторизовать раздел и скрыть подсказку пароля, с помощью опции «luksAddKey».

Рисунок 5 - Добавление ключа расшифрования
Рисунок 5 - Добавление ключа расшифрования

Таким образом доступ к разделу будет организован по ключу, пароль запрашиваться не будет.

РЕЗУЛЬТАТЫ ИССЛЕДОВАНИЯ

Таким образом, в ходе исследования было зашифровано 2 раздела, с применением разных подходов в организации доступа к этим носителям. Первый носитель, был зашифрован Кузнечиком с доступом по паролю, он имеет более длинный ключ расшифрования, но имеет уязвимость подбора паролей. Второй носитель зашифрован с использованием более быстрого алгоритма Магмы, однако имеет меньшую ключа, что в теории делает его менее безопасным, доступ по ключу имеет уязвимость потери usb-носителя или его кражи. Также теряется удобство использования, так как при отсутствии ключа при себе доступ к носителю получить не удастся.

Сравнительная характеристика данных подходов представлена на графике:

График 1 - Сравнительный анализ криптосистем по категориям
График 1 - Сравнительный анализ криптосистем по категориям

Таким образом, по результатам трех характеристик можно оценить преимущества и недостатки данных криптосистем, однако необходимо понимать, что выбор криптосистем и ситуаций их применения индивидуален и зависит от различных требований.

ЗАКЛЮЧЕНИЕ

Таким образом, было рассмотрено внедрение в ядро системы ALT Linux алгоритмов шифрования «Кузнечик» и «Магма», шифрование LUKS (Linux Unified Key Setup) с использованием данных алгоритмов и разных подходов к организации доступа к носителю. Также были определены преимущества и недостатки данных подходов.

СПИСОК ЛИТУРАТУРЫ

1. Чумакова, М. С. Сравнение быстродействия алгоритмов, входящих в состав ГОСТ Р 34.12–2015 / М. С. Чумакова. — Текст: непосредственный // Молодой ученый. — 2021. — № 16 (358). — С. 21-22. — URL: https://moluch.ru/archive/358/80031/ (дата обращения: 20.12.2023).

2. ФСБ предложила шифровать данные в Рунете «Кузнечиком» // [электронный ресурс] URL: https://www.rbc.ru/technology_and_media/24/06/2019/5d0cfea79a7947d12026629f?from=copy (Дата обращения: 16.12.2023)

3. В Госдуме хотят шифровать весь трафик в суверенном интернете российской криптографией // [электронный ресурс] URL: https://daily.afisha.ru/news/25583-v-gosdume-hotyat-shifrovat-ves-trafik-v- suverennom-internete-rossiyskoy-kriptografiey/ (Дата обращения: 16.12.2023)

4. Шифрование дисков в Linux // [электронный ресурс] URL: https://losst.pro/shifrovanie-diskov-v-linux (Дата обращения: 04.12.2023)

5. Модули ядра Linux «Кузнечик» и «Магма» // [электронный ресурс] URL: https://github.com/kuzcrypt/kuznyechik-kernel/tree/master (Дата обращения: 04.12.2023)

22
Начать дискуссию