The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Раздел полезных советов: Включение в Fedora и CentOS поддерж..."
Отправлено auto_tips, 02-Сен-13 14:23 
По умолчанию в Fedora и CentOS пакет OpenSSL собран без поддержки криптографии по эллиптическим кривым (ECC,  Elliptic Curve Crytography), так как реализация
потенциально [[https://lists.fedoraproject.org/pipermail/legal/2011-June/00... нарушает]] ряд [[http://en.wikipedia.org/wiki/ECC_patents патентов]]. В Debian и Ubuntu пакет openssl собран с поддержкой ECC.

На конференции Black Hat USA 2013 группа экспертов по криптографии представила результаты исследования, в результате которого был сделан [[https://threatpost.com/crypto-gains-ramp-up-calls-to-get-ahe... вывод]], что время алгоритма 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/Eve...
   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/Eve...
   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...

Устанавливаем и настраиваем сборочный инструментарий 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....
   /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


URL: http://danielpocock.com/ussing-ecc-ecdsa-in-openssl-and-stro... http://unix.stackexchange.com/questions/81081/openssl-packag...
Обсуждается: https://www.opennet.ru/tips/info/2797.shtml

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



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

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