Форум по операционной системе GNU/Linux и свободному программному обеспечению
Текущее время: 24 апр 2019, 07:45

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
Непрочитанное сообщениеДобавлено: 15 июн 2013, 20:19 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 11699
Откуда: Харьков
Дело выглядит так:

1. большую работу по алгоритмам ГОСТ ведёт "Криптоком"
Цитата:
Имеются следующие реализации российской криптографии для openssl:
Программный продукт МагПро КриптоПакет;
Поддержка ГОСТ в OpenSSL 0.9.8;
Поддержка ГОСТ в OpenSSL 1.0.0.

Поддерживаемая функциональность:
В соответствии с RFC 4357:
Электронная подпись ГОСТ Р 34.10-2001;
Распределение ключей VKO 34.10-2001;
Хэширование ГОСТ Р 34.11-94;
Симметричное шифрование ГОСТ 28147-89;
MAC (имитовставка) ГОСТ 28147-89.
работа с защищенными сообщениями по RFC 4490;
функциональность PKI по RFC 4491;
шифрсьюты TLS на базе российских алгоритмов в соответствии с draft-chudov-cryptopro-cptls.

Общую информацию лучше читать там.

2. Поддержка ГОСТ в OpenSSL существует давно (http://forum.russianfedora.ru/viewtopic.php?f=5&t=2849):
Цитата:
Уже как минимум с 2009го года в OpenSSL есть поддержка российских алгоритмов шифрования и ЭЦП ГОСТ. Тем не менее, ребята из Федоры упорно собирают OpenSSL без поддержки этих алгоритмов. Это понятно - все мы под КГБ^H^H^H ЦРУ^H^H^H (нувыпонели) ходим, и им, вероятно, не хочется с ними ссориться. Тем не менее, хотелось бы таки иметь полноценно собранный OpenSSL со всеми алгоритмами.

По моим наблюдениям, даже в OpenSSL 0.9.8 она уже есть (хотя считается, что в 1.0.0 и 1.0.1)

3. Но многие майнтейнеры дистрибутивов (Fedora, RedHat - это точно, но, похоже, что большинство) исключают поддержку ГОСТ опциями при сборке пакета.
Разговоры об этом идут, как минимум, 3 года ... а то и больше (http://forum.russianfedora.ru/viewtopic ... =150#p9504 - 2010г.):
GreyWolf писал(а):
Vascom писал(а):
GreyWolf писал(а):
Вот было бы здорово, если бы в русской федоре, был бы openssl собранный с поддержкой ГОСТ-криптографии. А то постоянно приходится либо пересобирать самому, либо бдить, чтобы не дай бог не обновилась с родных репозиториев.

У вас есть готовый rpm? Вы готовы и дальше его поддерживать? Тогда его можно будет включить в репозиторий russianfedora.

RPM-то есть - периодически для своих нужд собираю, но тут посерьёзней проблема - FIPS и целенаправленное вырезание EC-алгоритмов RedHat'ом. Один из сотрудников Криптокома (чьими, по-сути, заслугами ГОСТ-алгортимы были продвинуты в OpenSSL) частенько на своём блоге на этот счёт пишет, к примеру, тут: http://vitus-wagner.livejournal.com/501859.html.
Может быть как-то попробовать пообщаться непосредственно с криптокомом на предмет мэйнтейнерства?


4. Эти вещи вылазят при сборке из исходников (при использовании собранных пакетов-приложений там вообще чудеса будут наблюдаться по сообщениям ошибок!), см. Криптовалютыhttps://copperlark.com/forum/index.php? ... 38#msg3938).
И такие вещи будут вылезать всё чаще!
Это пока ещё "цветочки".

Как решить эту проблему?

Кое-что из возможных решений подсказывает тот-же "Криптоком" (это для OpenSSL 1.0.1, но там рядом и для 1.0.0 есть):
Цитата:
Выполнить команду:
Код:
    ./config shared zlib enable-rfc3779 --prefix=/opt/cryptopack2


и далее как обычно...
Но это, как легко видеть - установка параллельной копии по другим путям, которые нужно указывать приложениям при сборке, или использовать символьные ссылки на библиотеки из /lib.

Я собрал так пробно по их рекомендациям OpenSSL в /opt:
Код:
bash-4.2$ ./openssl ciphers
ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:SRP-DSS-AES-256-CBC-SHA:SRP-RSA-AES-256-CBC-SHA:DHE-DSS-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA256:DHE-RSA-AES256-SHA:DHE-DSS-AES256-SHA:DHE-RSA-CAMELLIA256-SHA:DHE-DSS-CAMELLIA256-SHA:ECDH-RSA-AES256-GCM-SHA384:ECDH-ECDSA-AES256-GCM-SHA384:ECDH-RSA-AES256-SHA384:ECDH-ECDSA-AES256-SHA384:ECDH-RSA-AES256-SHA:ECDH-ECDSA-AES256-SHA:AES256-GCM-SHA384:AES256-SHA256:AES256-SHA:CAMELLIA256-SHA:PSK-AES256-CBC-SHA:ECDHE-RSA-DES-CBC3-SHA:ECDHE-ECDSA-DES-CBC3-SHA:SRP-DSS-3DES-EDE-CBC-SHA:SRP-RSA-3DES-EDE-CBC-SHA:EDH-RSA-DES-CBC3-SHA:EDH-DSS-DES-CBC3-SHA:ECDH-RSA-DES-CBC3-SHA:ECDH-ECDSA-DES-CBC3-SHA:DES-CBC3-SHA:PSK-3DES-EDE-CBC-SHA:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:SRP-DSS-AES-128-CBC-SHA:SRP-RSA-AES-128-CBC-SHA:DHE-DSS-AES128-GCM-SHA256:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-SHA256:DHE-DSS-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA:DHE-RSA-SEED-SHA:DHE-DSS-SEED-SHA:DHE-RSA-CAMELLIA128-SHA:DHE-DSS-CAMELLIA128-SHA:ECDH-RSA-AES128-GCM-SHA256:ECDH-ECDSA-AES128-GCM-SHA256:ECDH-RSA-AES128-SHA256:ECDH-ECDSA-AES128-SHA256:ECDH-RSA-AES128-SHA:ECDH-ECDSA-AES128-SHA:AES128-GCM-SHA256:AES128-SHA256:AES128-SHA:SEED-SHA:CAMELLIA128-SHA:IDEA-CBC-SHA:PSK-AES128-CBC-SHA:ECDHE-RSA-RC4-SHA:ECDHE-ECDSA-RC4-SHA:ECDH-RSA-RC4-SHA:ECDH-ECDSA-RC4-SHA:RC4-SHA:RC4-MD5:PSK-RC4-SHA:EDH-RSA-DES-CBC-SHA:EDH-DSS-DES-CBC-SHA:DES-CBC-SHA:EXP-EDH-RSA-DES-CBC-SHA:EXP-EDH-DSS-DES-CBC-SHA:EXP-DES-CBC-SHA:EXP-RC2-CBC-MD5:EXP-RC4-MD5

Я так понимаю, ECDH-RSA-DES-CBC3-SHA и ему подобные во множестве алгоритмы - это и есть то, что требовалось.


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
Непрочитанное сообщениеДобавлено: 17 июн 2013, 08:38 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 11699
Откуда: Харьков
Olej писал(а):
Я так понимаю, ECDH-RSA-DES-CBC3-SHA и ему подобные во множестве алгоритмы - это и есть то, что требовалось.


Так как написано выше, я собрал (с проблемами) пакет из исходников CopperLark (Криптовалюты), использующий криптографирование по ГОСТ.
Код:
$ ./config shared zlib enable-rfc3779 --prefix=/opt/olenss-gost

Интересна не сама его сборка, а сборка в принципе параллельного экземпляра OpenSSL, который используется отдельными приложениями.
Код:
bash-4.2$ ldd CopperLark
   linux-gate.so.1 =>  (0xb7750000)
   libminiupnpc.so.8 => /lib/libminiupnpc.so.8 (0x433f4000)
   librt.so.1 => /lib/librt.so.1 (0x42185000)
   libssl.so.1.0.0 => /lib/libssl.so.1.0.0 (0xb76cd000)
   libcrypto.so.1.0.0 => /lib/libcrypto.so.1.0.0 (0xb7500000)
   libdb_cxx-5.2.so => /lib/libdb_cxx-5.2.so (0xb7322000)
   libboost_system.so.1.48.0 => /lib/libboost_system.so.1.48.0 (0xb731d000)
   libboost_filesystem.so.1.48.0 => /lib/libboost_filesystem.so.1.48.0 (0xb72fd000)
   libboost_program_options.so.1.48.0 => /lib/libboost_program_options.so.1.48.0 (0xb72a8000)
   libboost_thread-mt.so.1.48.0 => /lib/libboost_thread-mt.so.1.48.0 (0xb728e000)
   libpthread.so.0 => /lib/libpthread.so.0 (0x42162000)
...

Здесь легко видеть, что собранный экземпляр CopperLark использует самые последни из существующих в природе версии а). opensll + б). boost, а не те, которые ставятся из репозитария Fedora 17.
Вложение:
CopperLark - Бумажник_011.png
CopperLark - Бумажник_011.png [ 73.19 КБ | Просмотров: 5139 ]


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
Непрочитанное сообщениеДобавлено: 17 июн 2013, 08:44 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 11699
Откуда: Харьков
И краткий промежуточный итог того, как обстоят дела в этом очень важном вопросе (OpenSSL + ГОСТ + дистрибутивы Linux) ... что само по себе куда важнее кошелька CopperLark ;-) :

1. Russian Fedora
Цитата:
Сложности были следующие:
1) компиляции OpenSSL с ГОСТ мешали FIPS патчи


2. OpenSSL 1.0 получил сертификат безопасности FIPS 140-2
Цитата:
03.07.2012
Проект OpenSSL получил для версии библиотеки 1.0 сертификат соответствия стандарту безопасности FIPS 140-2, определяющего требования к криптографическим модулям, необходимые для их использования в государственных учреждениях США. Сертификат выдан Американским институтом стандартов и технологий (NIST) после проведения соответствующего аудита кода проекта.


Смешно, да? :-o :
- майнтейнеры Russian Fedora тулят в репозитарии сборку OpenSSL (ключевого пакета, на который завязана вся система, начиная от инсталлятора yum)...
- которая собрана с FIPS-патчами...
- которые делает соответствие какому-то говённому US стандарту безопасности...
- но тем самым отметая возможность использования российских стандартов безопасности.
Смешно...


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
Непрочитанное сообщениеДобавлено: 18 окт 2016, 14:11 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 11699
Откуда: Харьков
ГОСТ Р 34.12 '15 на SSE2, или Не так уж и плох Кузнечик
Цитата:
11 октября в 19:38
Приказом от 19 июня 2015 года №749 в качестве нового стандарта блочного шифрования утвержден ГОСТ Р 34.12 2015. Стандарт разработан Центром защиты информации и специальной связи ФСБ России с участием ОАО «ИнфоТеКС», внесен Техническим комитетом по стандартизации ТК 26 «Криптографическая защита информации», и вступил в действие с 1 января 2016 года.

Цитата:
Этот стандарт содержит описания двух блочных шифров: «Магмы» с длиной блока в 64 бита и «Кузнечика» с длиной блока в 128 бит; при этом «Магма» — всего лишь новое название для старого, всем хорошо известного блочного шифра ГОСТ 28147 '89 (на самом деле, не совсем новое, именно под этим кодовым названием разрабатывался прежний стандарт блочного шифрования вплоть до 1994 года) с зафиксированными узлами замены. «Наконец–то, история нас чему–то научила», — скажете вы, и будете правы.


В эту же тему:

- В ГОСТе сидел «Кузнечик» из песочницы
Цитата:
В июне этого года в России был принят новый стандарт блочного шифрования — ГОСТ Р 34.12-2015. Этот стандарт помимо старого доброго ГОСТ 28147-89, который теперь называется «Магма» и имеет фиксированный набор подстановок, содержит описание блочного шифра «Кузнечик». О нем я и расскажу в этом посте.

- Open-source реализации отечественных криптоГОСТов
Цитата:
На выходных решил поискать open-source реализации отечественных криптографических стандартов. Прежде всего интересовали новые: хэш-функция Стрибог (ГОСТ Р 34.11-2012), Кузнечик (ГОСТ Р 34.12-2015) и ЭЦП (ГОСТ Р 34.10-2012 или 2001 (без 512-бит) ). Старый ГОСТ 28147-89 специально не искал, поскольку найти его реализацию никаких проблем нет уже давно.
Итак, давайте посмотрим, что же получилось. Сразу предупреждаю, что корректность реализаций не проверял.

- Пошаговая работа ГОСТ Р 34.12-2015 в режиме ECB
Цитата:
Изображение
Не так давно появилась статья посвящённая новому стандарту блочного шифрования — ГОСТ Р 34.12-2015. В которой достаточно подробно описаны все новшества этого алгоритма. В этой статье я попробую объяснить пошаговое действие алгоритма в режиме простой замены, чтобы ещё нагляднее пользователи смогли оценить достоинства отечественного стандарта. В процессе развёртки раундовых ключей и в режиме зашифрования используются одни и те же преобразования, поэтому выносить отдельно этот вопрос не станем. Для большего понимания каждое преобразование будет пояснять часть кода реализации стандарта на языке С++


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB
[ Time : 0.259s | 19 Queries | GZIP : On ]