Алгоритмы шифрования и исходные коды Skype

Сейчас вот бурно обсуждают растиражированное заявление представителя Microsoft о том, что корпорация раскроет для специальных служб исходные коды Skype. (Такое раскрытие – это обычная разумная практика: если исходные коды ПО хороши, то вообще нет смысла их прятать, ага.) Сложилась какая-то путаница с отношением этого факта “потенциального раскрытия” к алгоритмам шифрования Skype (как известно, шифрование в этом инструменте голосовой связи давно являлось одним из инструментов маркетингового продвижения). Алгоритм шифрования тоже нет никакого смысла скрывать. Это хорошо, если используется опубликованный алгоритм. Плохо, если некий “секретный”. Очевидно, что используемый алгоритм можно восстановить по исходникам – не понятно, зачем об этом сообщают, как о новости. Хитрость-то не в этом.

Хитрость в том, что исходники сильно упрощают обнаружение дефектов в реализации добротного алгоритма шифрования (дефектов, намеренно внесённых или из-за ошибки разработчиков – не так важно). Дефекты в реализации могут позволить провести вскрытие шифрованного трафика малыми силами, вне зависимости от того, насколько стоек исходный алгоритм.

То есть, можно использовать хоть четырёхкилобитный ключ, но если при этом все значения битов ключа из-за ошибки в коде, через кривой буфер, утекают в “шифрованный” трафик – стойкость ключа уже не имеет значения: достаточно знать, в каких позициях зашифрованных блоков брать значения ключевых битов. И эти позиции можно легко вычислить, имея на руках исходный код. Впрочем, в данном сильно утрированном примере, можно всё вычислить и без исходников, просто подсовывая в программу заданные, правильно подобранные ключи/открытые тексты и выполняя анализ результатов шифрования.

Другими словами, если Skype был кривым внутри, в смысле криптографии, то и раскрытие/нераскрытие исходников никак ситуацию для пользователей не ухудшит (разве что улучшит, кстати, если ПО будет получать соответствующие сертификаты).

()

Похожие записки:



Далее - мнения и дискуссии

(Сообщения ниже добавляются читателями сайта, через форму, расположенную в конце страницы.)

Комментарии читателей блога: 9

  • 1. 9th June 2011, 12:43 // Читатель jno написал:

    Если сертифицируют для госорганов, то, может, и улучшит.

    А если для “гражданского применения”, то это – ничего не значит. В лучшем случае.

  • 2. 9th June 2011, 17:35 // Читатель зашел в гости написал:

    “Если сертифицируют для госорганов”

    откуда такая уверенность в компетентности “органов”?

  • 3. 9th June 2011, 19:58 // Читатель sarin написал:

    я не совсем понимаю в чём смысл всех этих передач исходников.

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

  • 4. 9th June 2011, 21:07 // Читатель Z.T. написал:

    @sarin: Собирайте продукт сами, с помощью TCC (http://bellard.org/tcc/) который вы проверили.

  • 5. 9th June 2011, 22:06 // Читатель зашел в гости написал:

    “я не совсем понимаю”

    а я думаю, что никто точно не понимает.
    ФСБ надувает щеки, типа, печется о гос. безопасности
    Майкрософт услужливо улыбается, чтобы ему не мешали работать в стране.
    Программисты скайпа грустно считают дни то реструктуризации компании.
    Обыватель думает, что у него отнимают свободу.
    поэтому и “бурно обсуждают” :)

  • 6. 10th June 2011, 12:13 // Читатель jno написал:

    > откуда такая уверенность в компетентности ?органов??

    при чём тут “компетентность органов”?
    заключение ГТК (или как оно на этой неделе?) даётся после вполне реального анализа кода, для чего достаточно компетентности экспертов, которые могут быть и не из “органов” вовсе.

    > а я думаю, что никто точно не понимает.

    одно другому не мешает – вполне реальный аудит кода может дать некий полезный результат, а может быть лишь предлогом к очередному попилу и пеару.

  • 7. 10th June 2011, 12:20 // Читатель sarin написал:

    по идеи больше всего выгоды от этого аудита как раз получает компания-разработчик, ведь компетентные специалисты могут указать ей на вполне конкретные проблемы продукта

  • 8. 10th June 2011, 17:31 // Читатель зашел в гости написал:

    “при чём тут ?компетентность органов??”

    как причем? вы же именно их упомянули. не банки, не университеты, не других разработчиков софта…

  • 9. 11th June 2011, 17:09 // Читатель jno написал:

    > как причем? вы же именно их упомянули

    с этим – не ко мне, а к требованиям по разным классам сертификации.
    “для органов” – более-менее серъёзные требования.
    вот и всё.