The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Включение в Fedora и CentOS поддержки шифрования по эллиптическим кривым
По умолчанию в Fedora и CentOS пакет OpenSSL собран без поддержки криптографии
по эллиптическим кривым (ECC,  Elliptic Curve Crytography), так как реализация
потенциально нарушает ряд патентов. В Debian и Ubuntu пакет openssl
собран с поддержкой ECC.

На конференции Black Hat USA 2013 группа экспертов по криптографии представила
результаты исследования, в результате которого был сделан вывод, что время
алгоритма RSA сочтено и пока не поздно вендорам следует перейти на
использовании криптографии по эллиптическим кривым. С учётом развития методов
ускорения векторных вычислений, уже через пять лет RSA нельзя будет считать безопасным.


Пересборка OpenSSL и strongSwan (IPSec) в Fedora.


Удаляем пакет openssl-devel и устанавливаем пакеты, необходимые для сборки:

   rpm -e openssl-devel
   yum install rpm-build krb5-devel zlib-devel gcc \\
      gmp-devel libcurl-devel openldap-devel \\
      NetworkManager-devel NetworkManager-glib-devel sqlite-devel

Подготавливаем сборочное окружение rpmbuild:

   [ ! -e ~/.rpmmacros ] && \\
       echo '%_topdir      %(echo $HOME)/rpmbuild' > ~/.rpmmacros
   [ ! -d rpmbuild ] && mkdir rpmbuild
   cd ~/rpmbuild
   mkdir -p BUILD BUILDROOT RPMS/i386 RPMS/x86_64 SOURCES SPECS SRPMS


Загружаем src-пакет, заменяем изменённые исходные тексты на оригинальный
openssl и применяем патч для включения сборки с ECC:


   cd ~/rpmbuild/SRPMS
   wget http://dl.fedoraproject.org/pub/fedora/linux/releases/19/Everything/source/SRPMS/o/openssl-1.0.1e-4.fc19.src.rpm
   rpm -i openssl-1.0.1e-4.fc19.src.rpm
   cd ../SOURCES
   wget http://www.openssl.org/source/openssl-1.0.1e.tar.gz
   cd ../SPECS
   wget http://zxvdr.fedorapeople.org/openssl.spec.ec_patch
   patch -p0 < openssl.spec.ec_patch
   sed -i -e 's/-usa.tar.xz/.tar.gz/' openssl.spec
   rpmbuild -bb openssl.spec

Устанавливаем собранный  OpenSSL:

   cd ~/rpmbuild/RPMS/$(uname -i)
   rpm -Uvh --force \\
       openssl-1.0.1e*rpm \\
       openssl-devel-1.0.1e*rpm \\
       openssl-libs-1.0.1e*rpm

Проверяем поддержку ECC:

   openssl ec -help

Пересобираем strongSwan, при наличии поддержки ECC в OpenSSL при пересборке
strongSwan автоматически определит наличие ECC:

   wget http://dl.fedoraproject.org/pub/fedora/linux/releases/19/Everything/source/SRPMS/s/strongswan-5.0.2-2.fc19.src.rpm
   rpm -i strongswan-5.0.2-2.fc19.src.rpm
   cd ~/rpmbuild/SPECS
   rpmbuild -bb strongswan.spec

Устанавливаем strongSwan:

   cd ~/rpmbuild/RPMS/$(uname -i)
   rpm -Uvh --force \\
      strongswan-5*rpm \\
      strongswan-tnc-imcvs*rpm

Проверяем strongSwan, пытаясь создать ECDSA-ключ:

   cd /tmp
   strongswan pki -g --type ecdsa --size 384 > myKey.der
   strongswan pki -a --type ecdsa-priv --in myKey.der

   private key with:
   pubkey:    ECDSA 384 bits
 

Инструкция для CentOS 6.4

Формируем сборочное окружение

   yum -y update
   yum -y groupinstall 'Development tools'

Подключаем репозиторий EPEL 
   yum -y localinstall --nogpgcheck http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm 

Устанавливаем и настраиваем сборочный инструментарий mock из EPEL:

   yum -y install fedora-packager
   userdel -rf abcd
   useradd -G mock abcd
   su abcd

Загружаем src-пакет и оригинал openssl 

   cd ~
   curl -O http://vault.centos.org/6.4/os/Source/SPackages/openssl-1.0.0-27.el6.src.rpm
   /usr/bin/mock ~/openssl-1.0.0-27.el6.src.rpm
   rm -rf /home/abcd/build
   mv /var/lib/mock/epel-6-x86_64/root/builddir/build/ /home/abcd 
   cd /home/abcd/build/SOURCES
   curl -O http://www.openssl.org/source/openssl-1.0.0.tar.gz 

Загружаем патч, устраняющий вывод ошибки при выполнении тестов

   curl -o patch300.patch http://cvs.openssl.org/patchset?cn=19998 

Правим spec-файл, включаем режим enable-ec, отключаем скрипт hobble и добавляем патч:

   cd ../SPECS
   sed -i -e "s/no-ec/enable-ec/; s/no-ecdh/enable-ecdh/; s/no-ecdsa/enable-ecdsa/" openssl.spec
   sed -i -e "s/^Source1: hobble-openssl/#&/; s/^%.SOURCE1. /#&/" openssl.spec
   sed -i -e "s/^Release.*dist\\}/&.EC.1/" openssl.spec 
   sed -i -e "s/-usa.tar.bz2/.tar.gz/" openssl.spec 
   sed -i -e "s/^Patch78.*/&\\nPatch300: patch300.patch\\n/" openssl.spec
   sed -i -e "s/^%patch78.*/&\\n%patch300 -p1 \\n/" openssl.spec 

Пересобираем пакет:

   /usr/bin/mock --buildsrpm --spec  ~/build/SPECS/openssl.spec --sources  ~/build/SOURCES 
   cp /var/lib/mock/epel-6-x86_64/root/builddir/build/SRPMS/openssl-1.0.0-27.el6.EC.1.src.rpm /home/abcd
   cd ~
   /usr/bin/mock --rebuild openssl-1.0.0-27.el6.EC.1.src.rpm
 
 
Ключи: openssl, ecc, crypt, strongswan, ipsec, fedora, centos / Лицензия: CC-BY
Раздел:    Корень / Безопасность / Шифрование, PGP

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, pavlinux (ok), 14:23, 02/09/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    IPSec рекомендует использовать кривые размером 163 и 283 бита!
    А именно кривые sect163k1, sect163r1, sect283k1 и sect283r1.
    Если вы конечно не ССЗБ и IPSec будет работать только с таким же
    компом, а не с андройдами, яблодевайсами, цисками,...

    А так, да, можно забубенить кривую 571 степени x^571 + x^10 + x^5 + x^2 + 1; =-o

     
     
  • 2.29, AlexAT (ok), 07:58, 28/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Одобренные спецслужбами кривые всегда рекомендуются :)
     

  • 1.2, NuclearShaman (ok), 23:02, 02/09/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    как жеж в gentoo все проще:
    USE="openssl" emerge openssl strongswan
    и сразу с поддержкой ECC и то и другое ^^
     
     
  • 2.3, pavlinux (ok), 03:57, 03/09/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Как же в SuSE всё легко - ужо всё есть!
     
     
  • 3.4, Oleh (ok), 12:37, 04/09/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Нарушают патенты? :)
     
     
  • 4.7, Аноним (-), 12:42, 05/09/2013 [^] [^^] [^^^] [ответить]  
  • +/
    В Германии нет софтпатентов. Как и почти в о всем мире.
     
     
  • 5.14, Аноним (-), 19:44, 12/09/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Поэтому у них в OpenSUSE такое лютое ШГ по-дефолту, потому CCF в freetype2 не включен из-за патентов?
     
  • 3.11, Аноним (-), 07:22, 06/09/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >  Как же в SuSE всё легко - ужо всё есть!

    Дык как и в дебиане и убунте. При том что если уж фичу воткнули даже дебианщики, долбанутые на таких вопросах по полной программе - похоже что федора перестраховывается.

     
     
  • 4.27, Аноним (-), 13:38, 01/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    У дебианчиков взять нечего, по этому они никому не нужны, а redhat постоянно троллят патентами.
     

  • 1.5, Аноним (-), 06:24, 05/09/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В GnuPG когда появится ecc? В девелоперской ветке вроде есть, но уже года полтора в основную не переносят
     
  • 1.6, Аноним (-), 06:33, 05/09/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    что за манера писать "статейки" в императивном стиле? деградантство какое-то. явно перечислить список патчей для двух дистрибутивов и дать ссылку на доки по rpmbuild,не? обязательно куча бреда неактуального, в котором полезность статьи растворяется до минимума
     
     
  • 2.8, Аноним (-), 12:55, 05/09/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Это не статья, а алгоритм сборки.
     
  • 2.9, Crazy Alex (ok), 18:05, 05/09/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Это вам. А кто-то другой увидит на живом примере как оно делается.
     
     
  • 3.12, Аноним (-), 18:12, 06/09/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Ага, увидит, как произносится заклинание.
    В школе и универе лабораторные работы прогуливать не надо было! Тогда бы правильная форма подачи материала в подкорке отложилась.
     
     
  • 4.17, Crazy Alex (ok), 19:22, 16/09/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Во-первых, хуже подачу, чем универовские лабы - это еще придумать надо. Во-вторых - есть разница между "дать ссылку на доку" и "показать на примере как применяется инструмент". Тем более, что процесс - прозрачнее некуда. А посмотреть, что за команду использовали явно проще, чем угадать, что именно она здесь нужна. Вон, в половине руководств rpm пихают вместо yum localinstall
     
     
  • 5.18, Аноним (-), 12:06, 17/09/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Хорошо, за localinstall и mock я прощаю автора. Наверно на меня нашло то, что я прошел по ссылке к статье, там глубже по ссылкам встретился какой-то бред.

    А на счет лаб: я имею в виду выполнение лабы студентом, и оформление результата, и описание проведения эксперимента. Этому обучают. Что бы было все по полочкам. И понятно другим, воспроизводимо, декларативно. Потому что, это нужно для публикования результатов в рамках международного научного сообщества. Эх, ладно, это уже лирика... Надеюсь, останутся для будущих поколений хотя бы те крохи правильного преподавания, что встречались у меня.

     
     
  • 6.28, Crazy Alex (ok), 22:45, 25/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    При всем моем уважении к науке и научному сообществу (не шучу ни разу) к науке имеет отношение только очень малая часть выпускников ВУЗов.
     

  • 1.10, Аноним (-), 07:21, 06/09/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >  в результате которого был сделан вывод

    Больше напоминающий маркетинговый булшит, если его почитать. Мол, чувак достиг рекордов во взятии экспонент. А насколько сие зацепит длинные RSA ключи - никакого анализа, собственно, нет :). Другое дело что работа с длинными ключами RSA отличается тормознутостью...

     
  • 1.13, Boris (??), 21:31, 07/09/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    http://www.opennet.dev/opennews/art.shtml?num=37846
     
  • 1.15, ip1981 (ok), 13:36, 13/09/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    openssl ec -help

    unknown option --help
    ec [options] <infile >outfile
    ...

     
  • 1.16, Stellarwind (?), 02:27, 16/09/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Не очень уверен насколько это относится к теме, но как минимум NIST больше не рекомендует использовать свой DUAL_EC_DRBG:
    http://www.propublica.org/documents/item/785571-itlbul2013-09-supplemental#do
    http://www.propublica.org/documents/item/786216-cryptanalysis-of-the-dual-ell
    http://rump2007.cr.yp.to/15-shumow.pdf
     
     
  • 2.19, anonymous (??), 11:35, 18/09/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Не очень уверен насколько это относится к теме, но как минимум NIST
    > больше не рекомендует использовать свой DUAL_EC_DRBG:
    > http://www.propublica.org/documents/item/785571-itlbul2013-09-supplemental#do
    > http://www.propublica.org/documents/item/786216-cryptanalysis-of-the-dual-ell
    > http://rump2007.cr.yp.to/15-shumow.pdf

    Спасибо, очень познавательно.

     
  • 2.25, Аноним (-), 20:41, 23/09/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Это только алгоритм ГПСЧ. К тому же, довольно тормозной и openssl все равно обычно использует /dev/u?random. Его компрометация на ECDH (схема обмена ключами) и EHDSA (алгоритм подписи) не влияет.
     

  • 1.20, Аноним (-), 14:09, 19/09/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    НУ, замечательно!
     
  • 1.21, anonim (?), 14:10, 19/09/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Класс
     
  • 1.22, хоббит (?), 16:08, 19/09/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Раскрыта деятельность АНБ по внедрению бэкдоров для расшифровки защищённого трафика в Интернет  http://www.opennet.dev/opennews/art.shtml?num=37846

    Шнайер не рекомендует применять стандарты шифрования по эллиптическим кривым, так как АНБ активно участвовало в их разработке.

     
     
  • 2.23, Аноним (-), 00:07, 21/09/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Вот только интересно - почему же тогда именно американский редхат и не реализует фичу? АНБ что, не может тихой сапой мешающие патенты придушить? :)
     
     
  • 3.24, Аноним (-), 00:13, 22/09/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так у них же все строго в США, АНБ разработало бэкдор и запатентовало, потому что как иначе. Теперь предлагают приобрести лицензию, чтобы его можно было использовать. Но пока не все соглашаются.
     
  • 2.26, Ivan_83 (?), 01:53, 25/09/2013 [^] [^^] [^^^] [ответить]  
  • +/
    АНБ занимается не только шпионажем но и собственно защитой национальной безопасности.
    Если там есть закладка, то при её раскрытии пострадает больше всего тот у кого она чаще используется - США.
    Кроме того: ГОСТ Р 34.10-2012 и ГОСТ Р 34.10-2001 основаны на эллиптических кривых.
    http://ru.wikipedia.org/wiki/%D0%93%D0%9E%D0%A1
    Есть ещё немецкий вариант и другие варианты параметров для криптографии на эллиптических кривых.
    Можете сами сгенерировать себе параметры и распространять их вместе с подписанными данными, наравне с открытым ключём.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру