The OpenNET Project / Index page

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

Включение в 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, 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, 07:58, 28/10/2013 [^] [ответить] [смотреть все] [показать ветку]
  • +/
    Одобренные спецслужбами кривые всегда рекомендуются :)
     
  • 1.2, NuclearShaman, 23:02, 02/09/2013 [ответить] [смотреть все]
  • +/
    как жеж в gentoo все проще:
    USE="openssl" emerge openssl strongswan
    и сразу с поддержкой ECC и то и другое ^^
     
     
  • 2.3, pavlinux, 03:57, 03/09/2013 [^] [ответить] [смотреть все] [показать ветку]
  • +/
    Как же в SuSE всё легко - ужо всё есть!
     
     
  • 3.4, Oleh, 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 [^] [ответить] [смотреть все]  
  • +/
    Дык как и в дебиане и убунте При том что если уж фичу воткнули даже дебианщики,... весь текст скрыт [показать]
     
     
  • 4.27, Аноним, 13:38, 01/10/2013 [^] [ответить] [смотреть все]  
  • +/
    У дебианчиков взять нечего, по этому они никому не нужны, а redhat постоянно тро... весь текст скрыт [показать]
     
  • 1.5, Аноним, 06:24, 05/09/2013 [ответить] [смотреть все]  
  • +/
    В GnuPG когда появится ecc В девелоперской ветке вроде есть, но уже года полтор... весь текст скрыт [показать]
     
  • 1.6, Аноним, 06:33, 05/09/2013 [ответить] [смотреть все]  
  • +/
    что за манера писать статейки в императивном стиле деградантство какое-то яв... весь текст скрыт [показать]
     
     
  • 2.8, Аноним, 12:55, 05/09/2013 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Это не статья, а алгоритм сборки.
     
  • 2.9, Crazy Alex, 18:05, 05/09/2013 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Это вам. А кто-то другой увидит на живом примере как оно делается.
     
     
  • 3.12, Аноним, 18:12, 06/09/2013 [^] [ответить] [смотреть все]  
  • +/
    Ага, увидит, как произносится заклинание В школе и универе лабораторные работы ... весь текст скрыт [показать]
     
     
  • 4.17, Crazy Alex, 19:22, 16/09/2013 [^] [ответить] [смотреть все]  
  • +/
    Во-первых, хуже подачу, чем универовские лабы - это еще придумать надо Во-вторы... весь текст скрыт [показать]
     
     
  • 5.18, Аноним, 12:06, 17/09/2013 [^] [ответить] [смотреть все]  
  • +/
    Хорошо, за localinstall и mock я прощаю автора Наверно на меня нашло то, что я ... весь текст скрыт [показать]
     
     
  • 6.28, Crazy Alex, 22:45, 25/10/2013 [^] [ответить] [смотреть все]  
  • +/
    При всем моем уважении к науке и научному сообществу не шучу ни разу к науке и... весь текст скрыт [показать]
     
  • 1.10, Аноним, 07:21, 06/09/2013 [ответить] [смотреть все]  
  • +/
    Больше напоминающий маркетинговый булшит, если его почитать Мол, чувак достиг р... весь текст скрыт [показать]
     
  • 1.13, Boris, 21:31, 07/09/2013 [ответить] [смотреть все]  
  • +/
    http://www.opennet.ru/opennews/art.shtml?num=37846
     
  • 1.15, ip1981, 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 все равно обыч... весь текст скрыт [показать] [показать ветку]
     
  • 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.ru/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:      
    Заголовок:
    Текст:



      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor