IETF 99

Jul. 25th, 2017 08:15 am
beldmit: (Программизм)
Вернулся из Праги с IETF 99. Сидел на секциях довольно плотно 4 дня из 5, и как минимум один раз жалел, что не могу раздвоиться — правда, могу теперь, из Москвы, послушать как минимум аудиозапись.

Два главных события митинга для меня — заседание рабочей группы про TLS, где обсуждалась спецификация, которая в принципе позволяет хозяину ресурса (например, корпоративного ДЦ) мониторить весь трафик, и заседание SAAG (это метагруппа по всей Security Area), где я представил свой драфт, о котором писал ранее.

Про TLS хорошо техническая сторона хорошо описана в этом посте, повторяться не буду. На самом деле ситуация, когда при голосовании сторонники и противники разделились примерно пополам, представляется достаточно редкой, особенно в части информационной безопасности, где, как правило, всё, что не белое, то чёрное. Сторонников возможности прослушки я примерно понимаю, противников понимаю очень хорошо. Люди, именующие себя реалистами, утверждают, что то, что нельзя запретить, надо возглавить, и это отдельная проблема. Предлагаемый в обсуждении вариант трёхстороннего (псевдотрёхстороннего) протокола мне импонирует больше, но в TLS не ложится. Печально, но не удивительно, что TLS 1.3 становится долгостроем.

Про моё выступление. Документ, который я представлял, ничего нового в криптографии не несёт. Это попытка институционализировать те ограничения, которые браузеры потихоньку накладывают на удостоверяющие центры в части ограничения доверия сертификатам. Например, то, что сертификат может отозвать только УЦ, который его выпустил, сейчас не вполне удобно.

Больше всего я боялся, что моё выступление не получит никакого отклика из зала. К счастью, отклик был, и даже позитивный. Пока что есть очень предварительные договорённости и с людьми из Mozilla, и с людьми из OpenSSL, которые позволяют надеяться на продолжение работы над спецификацией и на то, что она воплотится в коде. Ну, в общем, с почином — на предыдущих конференциях IETF я к микрофону выходил, а в программу не попадал.

Прага как всегда прекрасна. Прогулки у меня получились по Карлину, от Карлина до Смихова (спасибо [personal profile] redtigra, с которой я девиртуализовался), по Дейвицам, немного по Градчанам и Малой Стране, чуть-чуть по центру и окрестностям Карловой площади. Зашёл в крипту собора Кирилла и Мефодия, где скрывались участники покушения на Гейдриха. Напротив собора — кафе “У парашютистов”, и такая память мне представляется очень разумной и уместной. Сходил в “Железнодорожное королевство”, и если мы в Праге окажемся с семейством ещё раз, то явно повторю.
beldmit: (Программизм)
http://shattered.io/

Извините за лаконичность, в сети ограниченно.
beldmit: (Программизм)
У меня метеопатия, как, в общем, у многих горожан категории «бледная немочь». Вылетает, как правило, сон (грядущий). В общем, за прошлую и эту неделю в результате у меня нашлось время, которое удалось позитивно использовать, породив 3 мелких патча к openssl.
Read more... )
На всякий случай прикопаю здесь ссылку на старый пост [personal profile] vitus_wagner на эту тему.
beldmit: (Программизм)
Nancy is the Nation-State attacker interested in mass surveillance and breaking as many protocols as possible rather than breaking any particular single instance of a protocol. Traffic analysis, attacks on entire families of keys, hardware and expertise both well beyond other attackers, subversion of cryptographic standards, using legal force to make otherwise trustworthy Trents and Harolds act in bad faith, etc.

Harold is the manufacturer of hardware like routers and NAT boxes, etc. He is often located in nations with adversarial interests in the
activities of the nations or companies where the hardware gets used.
beldmit: (Манул)
Подобрал (и немного додумал) вот тут мысль о том, почему в SW так хреново с security.

Дело в том, что надёжных постквантумных алгоритмов во вселенной SW так и не разработано. Поэтому криптография там ещё менее надёжна, чем человеческий фактор.
beldmit: (Программизм)
Пару недель назад мне прислали багрепорт на open engine — открытую реализацию алгоритмов ГОСТа для OpenSSL. Это меня с одной стороны обрадовало — приятно, когда твоим кодом пользуются — а с другой огорчило: год назад всё работало. Правда, это было ещё до релиза версии 1.1.0...

Вскрытие показало, что в Makefile отсутствовала директива -Werror, из-за чего выдавались только предупреждения в тех местах, где API поменялось. Исправление сборки само по себе не изменило ситуацию, пришлось лезть в дебаггер.

Две ошибки я устранил быстро, и заработал TLS с 2001-м годом. А с 2012-м ситуация не исправилась.

Несколько вечеров я провёл, долбясь головой об стенку и изучая каждый diff за год, благо их немного. Потом удалось воспроизвести ошибку не на TLS, где отлаживать приходилось с двух концов, а на smime. И на пятый день индеец Зоркий Глаз заметил, что полностью изменена была система сборки, и в CMake-овских правилах не было проверок на endianess. По нелепому стечению обстоятельств затрагивало это только два алгоритма, которые я заподозрить не успел. После исправления всё заработало. Так что этот хвост не будет меня беспокоить в новогоднюю ночь.
beldmit: (Программизм)
Нашли почти практический способ узнавать авторизационные куки, если соединения зашифрованы 3DES или Blowfish. Почти, потому что пока уходит 700 гигабайт на 16 байт куки.

В OpenVPN 3DES надо отрывать d настройках, в SSH ещё и Blowfish.

Оригинальный сайт
Популярное описание

Update: Вчера писал, не особо приходя в сознание, и написал мегабайты вместо гигабайтов. Всё-таки не так всё плохо.
beldmit: (Программизм)
В Украине попытались внедрить электронную систему подачи декларации о доходах. Запуск системы был увязан с предоставлением транша от МВФ, поэтому делали быстро-быстро. Запустить не получилось.

Информационного шума с политическими аспектами уже больше чем достаточно. Но там много технических промахов.

Тут описание всех недостатков системы и хроника событий.

Тут - собственно про цирк с сертификатами, очень подробно, на украинском, Гугль-перевочик в помощь.

Я сухой остаток вижу так: (про работу системы ничего не знаю, соблюдаю презумпцию минимальной виновности УЦ).
Выпустили систему в целом.
Выпустили сколько-то сертификатов в странном статусе.
Возможно, что тестовых сертификатов (ИНН 1234567892 как бы намекает), в том числе на известные фамилии. Возможно, желая скомпрометировать систему. Возможно, система таки скомпрометирована и выпущены они помимо УЦ. Подписали декларацию одним из таких сертификатов.

Поднялся шум.

Вместо того, чтобы честно признать, что в УЦ проявили раздолбайство и не отозвали тестовый сертификат, начали прикрывать задницу и сделали следующее:

1. Отозвали тестовый сертификат.
2. Поняли, что за использование тестовых сертификатов в production прилетит.
3. Вычеркнули отозванный сертификат из CRL, потому что решили, что палят картину, так как тестовые сертификаты вперемешку с production выпускать не айс. Не понимая, что сертификат теперь снова действителен.
4. Попались на этом.

Подзамок, потому что все, кому есть что сказать по делу, у меня во френдах. Оставляю за собой право политизированные комментарии удалять нахрен. Через какое-то время, возможно, раскрою.

Update: подзамок снял
beldmit: (Программизм)
Вообще этот пост можно было опубликовать 1 апреля, но я подождал.

Попал в соавторы RFC 7836, посвящённого использованию ГОСТовых алгоритмов хеша и подписи 2012 года. Мой вклад там скромный, я немного причесал английский язык, но коллеги оценили.

В процессе жизненного цикла этого RFC я осознал, что такое мирская слава. С момента публикации моего адреса как соавтора количество нигерийских писем на него резко выросло.
beldmit: (Программизм)
Вот этот коммит означает, что добавленная в OpenSSL реализация алгоритмов ГОСТ прекратила своё существование в рамках OpenSSL. Поддержка этих алгоритмов в TLS никуда не делась, я про это уже писал раньше.

ГОСТовый engine был добавлен в OpenSSL лет 10 назад силами «Криптокома» (а реализован в основном силами [livejournal.com profile] vitus_wagner), и с тех пор к нему успели приложить руку человек 5, в том числе и я. Убран он потому, что OpenSSL Team не готова поддерживать лишние алгоритмы, в которых не понимает.

Актуальную версию ГОСТ engine брать здесь. Мейнтейним её мы с Витусом. Сейчас мне необходимо догнать стремительно убежавшую вперёд версию openssl 1.1.0, где запретили обращение почти ко всем потрохам структур, а потом прикрутить витусову automake-овую сборку.
beldmit: (Программизм)
В ICANN считают, что текущая система PKI небезопасна, и спасти её можно, опираясь на DANE (то есть на DNSSec) и Certificate Transparency.

Теоретически, конечно, это верно. А практически неудобен тот DNSSec, не любят в браузерах DANE, с Certificate Transparency есть масса вопросов и дырок в спецификации, а попытки, например, сказать, что для доверенных сертификатов надо ограничивать доменные зоны, в которых они могут выпускать сертификаты, вызовут грандиозные политические склоки. И в криптографических библиотеках поддержка всех этих ограничений работает не всегда.
beldmit: (Программизм)
Мой патч, обеспечивающий поддержку ГОСТов 2012 года, добавлен в openssl. Доступен он будет начиная с версии openssl 1.1.0.

Процесс занял почти полгода, считая от переговоров с Rich Salz во время IETF в Праге. Первая версия патча была отправлена 22 сентября, и вот, 2 месяца спустя, процесс сошёлся. За это время я немного разобрался с Git и GitHub как проявлением такового, пережил несколько перетрясок архитектуры openssl и существенно доработал патч в соответствии с указаниями Matt Caswell.

Хочу поблагодарить Андрея Колесникова за то, что он вдохновил меня на эту деятельность, и коллег из «Криптокома» за возможность воспользоваться их тестовой средой.

Следующее, что надо сделать, это отделить-таки open engine с реализацией ГОСТов в отдельный проект. В качестве части openssl ему неуютно.
beldmit: (Программизм)
В 2005-м году я работал в "Криптокоме", когда прошла новость о практическом нахождении коллизий в алгоритме MD5. Мы тогда устроили семинар, на котором коллеги устроили разбор техники.

Сейчас научились строить так называемые freestart collisions для алгоритма SHA1. Это ещё не коллизия в классическом смысле, авторы работы варьировали не только сообщение, но и параметры алгоритма, которые в норме зафиксированы. Коллизия найдена на кластере, использующем GPU для вычислений, за 10 дней. Кластер обошёлся в 100 тысяч долларов, что по нынешним временам не дорого.

С другой стороны, браузеры уже пообещали отмечать как несекьюрные сертификаты, использующие SHA1, с 2017 года, а большие УЦ прекратили их выпуск с 2015 года.
beldmit: (Default)
Совет по правам человека в ООН принял документ о том, что анонимность в интернете и использование средств шифрования - это хорошо и правильно.
beldmit: (Программизм)
... объясняющий, как устроена эллиптическая криптография, здесь. По ссылке откроется новое окно.

Profile

beldmit: (Default)
beldmit

August 2017

S M T W T F S
  12345
678 9 101112
13 1415 1617 1819
20212223242526
2728293031  

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 21st, 2017 01:58 pm
Powered by Dreamwidth Studios