Как стать автором
Обновить

Компания Virgil Security, Inc. временно не ведёт блог на Хабре

Сначала показывать

Хватит использовать RSA

Время на прочтение 9 мин
Количество просмотров 52K


Привет, %username%!

RSA — первый широко используемый алгоритм асимметричной криптографии, который до сих пор популярен в индустрии. Он относительно прост, на первый взгляд. Шифрование и подпись RSA можно посчитать на листке бумаги, чем часто занимаются студенты на лабораторных работах.
Но существует просто огромное количество нюансов, без учёта которых вашу реализацию RSA сможет взломать даже ребёнок.
Читать дальше →
Всего голосов 40: ↑40 и ↓0 +40
Комментарии 45

В Штатах ГОСТы тоже так себе. Фатальная уязвимость в YubiKey FIPS, которой можно было избежать

Время на прочтение 3 мин
Количество просмотров 9.4K


Привет, %username%!

13 июня 2019 года компания Yubico, производитель устройств для двухфакторной аутентификации, выпустила уведомление о безопасности, в котором говорится о критической уязвимости некоторых устройств Yubikey FIPS. Давайте посмотрим, что это за уязвимость и как её можно было предотвратить.
Читать дальше →
Всего голосов 33: ↑32 и ↓1 +31
Комментарии 3

Про ГОСТовский шифр Кузнечик, его SBox и потерянные сиды

Время на прочтение 9 мин
Количество просмотров 37K
Привет, %username%!



Недавно мы вернулись с конференции EuroCrypt 2019, где познакомились с чрезвычайно умными людьми и заодно узнали новые, чрезвычайно обидные факты о ГОСТовском SBox.

Так что, это второй подход к снаряду. Исправленный и дополненный.

В этот раз не будет непонятных красно-синих слайдов, зато будут оригинальные документы из комитета ISO c объяснениями авторов Кузнечика.

И даже челлендж в конце!

Поехали.
Читать дальше →
Всего голосов 58: ↑55 и ↓3 +52
Комментарии 141

Очередные странности в алгоритмах ГОСТ Кузнечик и Стрибог

Время на прочтение 3 мин
Количество просмотров 76K
Привет, %username%!

Криптографические алгоритмы в России не проходят через открытые конкурсы, их просто спускают нам свыше. И рано или поздно это сильно нам аукнется. Эта статья об очередном исследовании наших ГОСТов.

Читать дальше →
Всего голосов 165: ↑156 и ↓9 +147
Комментарии 287

Почему Telegram Passport — никакой не End to End

Время на прочтение 5 мин
Количество просмотров 126K
Привет, %username%!



В обсуждении новости про Passport разгорелись жаркие дискуссии на тему безопасности последней поделки от авторов Telegram.

Давайте посмотрим, как он шифрует ваши персональные данные и поговорим о настоящем End-To-End.
Читать дальше →
Всего голосов 237: ↑226 и ↓11 +215
Комментарии 249

Настоящий Offline Perfect Forward Secrecy для ваших продуктов

Время на прочтение 6 мин
Количество просмотров 5.3K
Привет, %username%!


Что может быть проще, чем отправить зашифрованное сообщение собеседнику?

Берём его публичный ключ, свой приватный, считаем Diffie-Hellman, загоняем после KDF результат в какой-нибудь AES, и готово. Но, если один из приватных ключей украдут, всё, весь перехваченный до этого трафик будет без проблем расшифрован.

Мы расскажем как с этим борются современные мессенджеры и транспортные протоколы, а так же дадим вам инструмент для внедрения PFS в свои продукты.
Читать дальше →
Всего голосов 8: ↑8 и ↓0 +8
Комментарии 2

Хотите зашифровать вообще любое TCP соединение? Теперь у вас есть NoiseSocket

Время на прочтение 6 мин
Количество просмотров 36K


Привет, %username%!

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

А еще есть IoT, где впихивать TLS целиком это вообще задача не для слабонервных. И бэкенд, который, я почти уверен, у всех после балансера общается друг с другом по обычному HTTP. И P2P и еще и еще и еще…

Не так давно в сети появилась спецификация Noise Protocol Framework. Это по сути конструктор протоколов безопасной передачи данных, который простым языком описывает стадию хэндшейка и то, что происходит после неё. Автор — Trevor Perrin, ведущий разработчик мессенджера Signal, а сам Noise используется в WhatsApp. Так что, был отличный повод рассмотреть этот протокольный фреймворк поближе.

Он так понравился нам своей простотой и лаконичностью, что мы решили на его основе запилить аж целый новый протокол сетевого уровня, который не уступает TLS в безопасности, а в чём-то даже превосходит. Мы презентовали его на DEF CON 25, где он был очень тепло принят. Пора поговорить о нём и у нас.
Всего голосов 42: ↑40 и ↓2 +38
Комментарии 67

Генерируем псевдослучайные ID а-ля Youtube

Время на прочтение 4 мин
Количество просмотров 24K
Привет, %username%! Бывает необходимо генерировать ID не подряд, причем чтобы они гарантированно не повторялись. На youtube это используется для того, чтобы вы не могли брутфорсом получить все новые и старые видосики, так же это не редкость на разных файлообменниках и вообще везде где нужно предотвратить или хотя бы затруднить возможность прямого перебора значений.


К примеру, в системе moodle, которая использовалась у нас в универе для тестирования студентов, ID ответов были инкрементными и сквозными на всю базу. Логично предположить, что правильным ответом был тот, что с наименьшим ID в пределах вопроса. В общем, проблем с тестами у нас не было. Потом они перешли на GUID, но я к тому моменту уже выпустился, хехе.

Давайте рассмотрим несколько способов генерации таких ограниченных по длине последовательностей от самых простых до криптографически стойких.
Читать дальше →
Всего голосов 69: ↑63 и ↓6 +57
Комментарии 41

Format preserving encryption или как правильно шифровать номера кредиток

Время на прочтение 5 мин
Количество просмотров 11K

Привет, %username%! Сегодня у нас немного пятничная криптотема. В марте 2016 года вышла интересная публикация от NIST под номером 800-38G (pdf) и с очень интересным называнием Recommendation for Block Cipher Modes of Operation:Methods for Format-Preserving Encryption, в которой отписываются два алгоритма, позволяющие не менять формат данных при шифровании. То есть, если это будет номер кредитки 1234-3456-4567-6678, то после шифрования он тоже останется номером, просто другим. Например 6243-1132-0738-9906. И это не простой xor, там AES и вообще всё серьезно. Давайте немного поговорим о FPE вообще, и об одной из реализаций в частности.
А так можно вообще?
Всего голосов 20: ↑19 и ↓1 +18
Комментарии 20

Отправляем зашифрованные SMS сообщения с Virgil

Время на прочтение 4 мин
Количество просмотров 11K

Привет, Хабр!
Несмотря на набирающие все большую популярность мобильные мессенджеры, такие как WhatsApp и Telegram, старые добрые SMS все еще не теряют свою актуальность. SMS можно использовать для отправки разного рода уведомлений, для двухфакторной аутентификации или при сбросе пароля. Однако последние успешные атаки на мобильные сети заставляют задуматься о дополнительном уровне защиты передаваемых с помощью SMS данных.
В этой статье мы поговорим о том, как используя сервисы Virgil и Twilio, сделать процесс отправки SMS на Android устройства безопасным.
Читать дальше →
Всего голосов 10: ↑9 и ↓1 +8
Комментарии 13

Создаем безопасный IP мессенджер с помощью Virgil и Twilio за 30 минут

Время на прочтение 7 мин
Количество просмотров 20K

Привет!
Мы уже показывали вам код, с помощью которого можно легко и просто реализовать end-to-end шифрование. Давайте пойдем дальше и, используя сервисы Virgil Security, разработаем безопасный IP мессенджер. Реализация безопасного IP мессенджера со встроенной функцией шифрования – задача далеко не тривиальная. В этой статье мы хотим рассказать как, используя Virgil API и Тwilio IP Messaging API, сделать этот процесс намного проще.
Читать дальше →
Всего голосов 14: ↑11 и ↓3 +8
Комментарии 10

Как перестать бояться и полюбить end-to-end шифрование

Время на прочтение 8 мин
Количество просмотров 19K

Привет, Хабр!
В комментариях к нашему первому посту народ требовал хлеба и зрелищ кода и «success story». И если с первым у нас все более-менее нормально, то со вторым чего-то, как-то не складывается пока. Мы, знаете ли, люди все молодые, успехи у нас достаточно скромные, в баскетбол вот неплохо играем. Одним словом, сегодня мы пока просто немного покодим и раскажем о реализации end-to-end шифрования с использованием наших сервисов. А «success story»? Какие наши годы, будут еще в нашем блоге эти самые success stories.
Читать дальше →
Всего голосов 14: ↑11 и ↓3 +8
Комментарии 9

ЭЦП стран СНГ на Python

Время на прочтение 7 мин
Количество просмотров 18K
image
Привет!
Я уже писал на Хабре о своей реализации блочных шифров стран СНГ. Выдалась еще одна свободная неделька в результате чего к симметричным стандартам добавились алгоритмы электронной цифровой подписи: российский ГОСТ 34.10-2012, украинский ДСТУ 4145-2002 и белорусский СТБ 34.101.45-2013.
Все три алгоритма основаны на эллиптических кривых. Но реализация каждого из стандартов имеет свои тонкости, о которых я хочу кратко рассказать в этой статье.
Читать дальше →
Всего голосов 12: ↑12 и ↓0 +12
Комментарии 9

End-to-end шифрование, теперь это просто

Время на прочтение 3 мин
Количество просмотров 31K

Шифрование. Вопрос, к которому многие разработчики подходят с благоговением и опаской. За последние пару десятков лет многие пытались изменить этот неидеальный мир и многие достигали успеха. Но одна вещь оставалась неизменной — создать безопасное приложение до сих пор могут позволить себе далеко не все. Цена безопасности слишком велика и включает в себя изучение десятков стандартов и спецификаций, компиляцию тонн непонятного кода, чтение многостраничных монографий криптографических гуру. Мы в Virgil Security далеки от амбициозных планов по изменению мира, мы просто хотим сделать безопасность доступной каждому. И вот мы на Хабре, здравствуйте!
Читать дальше →
Всего голосов 22: ↑17 и ↓5 +12
Комментарии 46