Рубрика «diffie-hellman»

В последнее время на Хабре стали чаще появляться посты о том, как хорош Telegram, как гениальны и опытны братья Дуровы в построении сетевых систем, и т.п. В то же время, очень мало кто действительно погружался в техническое устройство — как максимум, используют достаточно простой (и весьма отличающийся от MTProto) Bot API на базе JSON, а обычно просто принимают на веру все те дифирамбы и пиар, что крутятся вокруг мессенджера. Почти полтора года назад мой коллега по НПО "Эшелон" Василий (к сожалению, его учетку на Хабре стёрли вместе с черновиком) начал писать свой собственный клиент Telegram с нуля на Perl, позже присоединился и автор этих строк. Почему на Perl, немедленно спросят некоторые? Потому что на других языках такие проекты уже есть На самом деле, суть не в этом, мог быть любой другой язык, где еще нет готовой библиотеки, и соответственно автор должен пройти весь путь с нуля. Тем более, криптография дело такое — доверяй, но проверяй. С продуктом, нацеленным на безопасность, вы не можете просто взять и положиться на готовую библиотеку от производителя, слепо ему поверив (впрочем, это тема более для второй части). На данный момент библиотека вполне работает на "среднем" уровне (позволяет делать любые API-запросы).

Тем не менее, в данной серии постов будет не так много криптографии и математики. Зато будет много других технических подробностей и архитектурных костылей (пригодится и тем, кто не будет писать с нуля, а будет пользоваться библиотекой на любом языке). Итак, главной целью было — попытаться реализовать клиент с нуля по официальной документации. То есть, предположим, что исходный код официальных клиентов закрыт (опять же во второй части подробнее раскроем тему того, что это и правда бывает так), но, как в старые времена, например, есть стандарт по типу RFC — возможно ли написать клиент по одной лишь спецификации, "не подглядывая" в исходники, хоть официальных (Telegram Desktop, мобильных), хоть неофициальных Telethon?

Читать полностью »

Security Week 05: непростые числа в socat, Virustotal проверяет BIOS на закладки, тайная жизнь WiFi модулей - 1Три самых популярных новости этой недели так или иначе связаны с темой security intelligence — еще одного плохопереводимого, и относительно свежего термина в индустрии информационной безопасности. Под intelligence понимается сумма знаний, которая так или иначе помогает защитить пользователей и компании от киберугроз. Цитаты из книги Евгения Касперского, которые я привожу в конце каждого выпуска, отражают требования к знаниям на начало 90-х годов прошлого века: тогда один эксперт мог держать в голове все необходимое для защиты от киберугроз. Информацию о типичных методах заражения и распространения, методы определения типа угрозы и лечения. Хорошие были времена, но они давно прошли. Чтобы разбираться в угрозах современных, требуется огромный спектр знаний — от языка программирования Lua до диалектов китайского, от особенностей прошивок жестких дисков до теории шифрования данных.

Более того, не существует экспертизы универсальной и действенной для всех. Каждая компания имеет уникальный набор элементов IT-инфраструктуры, со своими уязвимыми местами и потенциальными точками проникновения. Естественно, нет единого, релевантного для всех рецепта защиты. Качественная корпоративная безопасность требует знаний о киберугрозах в целом, и о том, как они могут быть применены к конкретной ситуации. Если проще, нужно знать, в каком месте защиту будут ломать (или уже сломали!), и чем дальше, тем дороже будет оцениваться это знание. Наконец, угроз и типов атак стало так много, что проанализировать их все руками также становится сложнее. Нужно строить боевых человекоподобных роботов системы автоматизации и машинного обучения, которые возьмут на себя рутинные операции. Аналогом 120-страничного альманаха про вирусы 1992-го года сейчас являются петабайты данных, неалгоритмизируемый опыт и навыки экспертов, ну и то, что можно назвать искусственным интеллектом. Впрочем, проще говорить о теме экспертизы на примерах. Поехали.

Все выпуски доступны по тегу.
Читать полностью »

Clipper Chip — шифровальный чип, разработанный и продвинутый американским правительством. Про существование данного устройства стало известно в 1993 г. Но буквально спустя три года проект прикрыли.

Обнародование Clipper Chip вызвало множество споров по-поводу того, станет ли технология общедоступной. С одной стороны, повсеместное применение шифрования могло бы обезопасить сетевые коммуникации, создавая тем самым благоприятную среду для развития электронной коммерции. Но с другой… государственные агенства федеральной и национальной безопасности (CIA, FBI, NSA) опасались, что доступностью мощного шифровального устройства также воспользуются криминальные организации, террористы и разведка враждебно настроенных стран.

В следствии многочисленных дебатов администрацией Президента США было принято решение передать шифровальное устройство федеральным агентствам. Предполагалось, что CIA и FBI смогут использовать Clipper Chip, как аппаратуру, поддерживающую стандарт EES (escrow encryption standard) для шифрования трафика звука и данных. Этот стандарт обеспечивал агентствам копии декодирующего ключа, позволяющие читать зашифрованные сообщения. По сути, проект Clipper Chip предполагал депонирование криптоключей (хранение копии ключа криптосистемы у доверенного лица с целью восстановления работоспособности криптосистемы).

Проект Clipper Chip - 1

Чип Mykotronx MYK78T

Читать полностью »

Осторожно: данный пост может вызывать непродолжительное обострение паранойи

Привет! Не верите ли вы в популярные продукты для защищённой переписки так, как не верю в них я? Например, в браузерные крипточаты с шифрованием на стороне клиента, или в p2p-криптомессенжеры?

В данном посте речь пойдет об организации защищённого общения между двумя собеседниками. Он адресован таким же недоверчивым людям как я, поэтому в нём не будет ни кода, написанного мной, ни изобретённых на коленке протоколов и алгоритмов. Будет использоваться только библиотека openssl и набор программ openssh.

image

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js