ГОСТ в OpenSSL — 12 лет международного взаимодействия (Дмитрий Белявский, OSSDEVCONF-2017) — различия между версиями
Материал из 0x1.tv
StasFomin (обсуждение | вклад) |
StasFomin (обсуждение | вклад) (Batch edit: replace PCRE (\n\n)+(\n) with \2) |
||
(не показано 15 промежуточных версий этого же участника) | |||
проект. Это было сделано в 2015 году, и начиная с версии 1.1.0 код для поддержки ГОСТ в TLS, PKCS12, PKCS8 и кое-где по мелочи входит в апстрим. Реализация алгоритмов живёт отдельно. Потом присылались отдельные патчи, исправлявшие вывод русских букв, утечки памяти и прочие мелочи. Общий вывод: успех в добавлении кода в апстрим зависит от наличия у апстрима процедур и личных знакомств с представителями основной команды, настроенных на взаимодействие. </blockquote> {{VideoSection}} {{vimeoembed|201651643|800|450}} {{youtubelink|OlnpKxxVM4M}}{{letscomment}} {{SlidesSection}} [[File:ГОСТ в OpenSSL — 12 лет международного взаимодействия (Дмитрий Белявский, OSSDEVCONF-2017).pdf|left|page=-|300px]] {{----}} == Thesis == {{LinksSection}} <!-- <blockquote>[©]</blockquote> --> {{fblink|1951698538416491}} {{vklink|756}} <references/> [[File:{{#setmainimage:ГОСТ в OpenSSL — 12 лет международного взаимодействия (Дмитрий Белявский, OSSDEVCONF-2017)!.jpg}}|center|640px]] {{stats|disqus_comments=0|refresh_time=2018-10-19T23:14:582021-08-31T16:56:39.921369632547|vimeo_comments=0|vimeo_plays=2938|youtube_comments=0|youtube_plays=50221}} [[Категория:OSSDEVCONF-2017]] [[Категория:Государство и софт]] [[Категория:СПО в России]] [[Категория:Информационная безопасность и СПО]] |
Текущая версия на 12:20, 4 сентября 2021
- Докладчик
- Дмитрий Белявский
Начиная с 2005 года мои коллеги и я занимаемся внедрением поддержки российской специфики в OpenSSL.
Российская специфика не сводится к криптографии, хотя начиналось всё именно с неё. Не меньшее значение имеет и корректный вывод русских букв, и поддержка расширений X.509-сертификатов, и многое другое.
На первом этапе работа сводилась прежде всего к выделению структур, предназначенных реализовать более-менее любой алгоритм электронной подписи в OpenSSL. Этот этап был закончен к выходу версии 1.0, когда эти структуры были специфицированы, и в состав проекта OpenSSL вошла реализация алгоритмов шифрования, хеширования и электронной подписи по ГОСТ. Тогда поддержка была добавлена за счёт спонсорства моего работодателя на тот момент, фирмы «Криптоком».
На тот момент в OpenSSL не было отлаженных процедур работы с запросами извне, и если запрос не был интересен кому-нибудь из core team или не был спонсирован, с большими шансами обращение, не приводящее к уязвимости, игнорировалось.
Внутренние процедуры в OpenSSL существенно изменились после Heartbleed, когда стало понятно, что такой механизм развития продукта чреват большими неприятностями. Тогда были получены средства, выстроены процедуры и составлен план развития продукта.
К этому моменту было принято новое семейство стандартов ГОСТ (хеш и электронная подпись), поддержка которых существовала в виде патчей у того же «Криптокома». Было желание включить это в апстрим, но не было понимания, как именно.
Следующий этап наступил в результате моего знакомства с Ричем Сальзом (Rich Salz) на одной из конференций IETF. Там мне удалось договориться о включении поддержки ГОСТ в ядро системы в части протоколов и о вынесении ГОСТ engine в отдельный проект. Это было сделано в 2015 году, и начиная с версии 1.1.0 код для поддержки ГОСТ в TLS, PKCS12, PKCS8 и кое-где по мелочи входит в апстрим. Реализация алгоритмов живёт отдельно.
Потом присылались отдельные патчи, исправлявшие вывод русских букв, утечки памяти и прочие мелочи.
Общий вывод: успех в добавлении кода в апстрим зависит от наличия у апстрима процедур и личных знакомств с представителями основной команды, настроенных на взаимодействие.
Содержание
Видео
Посмотрели доклад? Понравился? Напишите комментарий! Не согласны? Тем более напишите.
Презентация
Thesis
Примечания и ссылки
Plays:259 Comments:0