Pull to refresh
180
0
Алексей @Scratch

Системный архитектор, криптоманьяк

Send message

Telegram позволяет узнавать координаты людей с точностью до метра

Reading time1 min
Views136K

В телеге давно есть опциональная фича live location sharing, который показывает точное расстояние до людей поблизости. Если использовать GPS спуфинг и трилатерацию (не путать с триангуляцией), то можно узнавать координаты людей в любой точке планеты с точностью до метра. Телега проигнорировала сообщение об этой "фиче", поэтому автор выложил всё на github.

Читать далее

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

Reading time9 min
Views56K


Привет, %username%!

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

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

Reading time3 min
Views9.7K


Привет, %username%!

13 июня 2019 года компания Yubico, производитель устройств для двухфакторной аутентификации, выпустила уведомление о безопасности, в котором говорится о критической уязвимости некоторых устройств Yubikey FIPS. Давайте посмотрим, что это за уязвимость и как её можно было предотвратить.
Читать дальше →

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

Reading time9 min
Views39K
Привет, %username%!



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

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

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

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

Поехали.
Читать дальше →

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

Reading time3 min
Views78K
Привет, %username%!

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

Читать дальше →

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

Reading time5 min
Views127K
Привет, %username%!



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

Давайте посмотрим, как он шифрует ваши персональные данные и поговорим о настоящем End-To-End.
Читать дальше →

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

Reading time6 min
Views5.5K
Привет, %username%!


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

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

Мы расскажем как с этим борются современные мессенджеры и транспортные протоколы, а так же дадим вам инструмент для внедрения PFS в свои продукты.
Читать дальше →

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

Reading time6 min
Views37K


Привет, %username%!

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

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

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

Он так понравился нам своей простотой и лаконичностью, что мы решили на его основе запилить аж целый новый протокол сетевого уровня, который не уступает TLS в безопасности, а в чём-то даже превосходит. Мы презентовали его на DEF CON 25, где он был очень тепло принят. Пора поговорить о нём и у нас.

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

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


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

Давайте рассмотрим несколько способов генерации таких ограниченных по длине последовательностей от самых простых до криптографически стойких.
Читать дальше →

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

Reading time5 min
Views12K

Привет, %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 вообще, и об одной из реализаций в частности.
А так можно вообще?

Дайджест последних достижений в области криптографии. Выпуск первый

Reading time3 min
Views21K
Привет, %username%

Пришло время для свежей пачки криптоновостей, пока они еще не перестали быть новостями. В этом выпуске:
  • Новый рекорд вычисления дискретного логарифма
  • VPN сервер и клиент, использующие Noise протокол
  • Постквантовая криптография в Chrome уже сегодня!
  • Чего вы не знаете о новом E2E шифровании в Facebook
  • RLWE избавляется от R и это идет ему на пользу
  • Comodo хотел поиметь Let`s Encrypt, но сфейлил. А Let`s Encrypt с завтрашнего дня будет поддерживать ddns
  • Появились минимальные требования к реализациям алгоритмов RSA, DSA, DH, устойчивым к side-channel атакам


Предыдущий выпуск тут
Поехали

Дайджест последних достижений в области криптографии. Выпуск нулевой

Reading time3 min
Views23K


Привет!
Хотелось бы в одной статье вкратце рассказать о достижениях математиков, которыми мы уже пользуемся или скоро будем.
Начнем
с постквантовой криптографии

Победитель Password Hashing Competition Argon2 или еще раз о медленном хэшировании

Reading time2 min
Views18K
Привет, %username%!

Ранее мы уже затрагивали тему замедления хэширования. Это было еще до введения моды на быстрые хэшедробилки aka майнеры. Как оказалось, тема намного серьезней, чем «прокрутить хэш 100500 раз и подмешивать к нему всякий мусор», потому что GPU и спец девайсы драматически ускоряют перебор, с которым сложно бороться даже с помощью таких вещей как bcrypt.
И вот, люди запилили соревнование, результатом которого должен был стать алгоритм, который сложно ускорить на спец чипах и GPU, при этом он должен быть настраиваемым в зависимости от пожеланий разработчика. Таким алгоритмом стал Argon2.

Читать дальше →

Матрица возможностей современных мессенджеров с упором на безопасность

Reading time1 min
Views28K
Привет, %Username%!

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

Может ли софтверное уничтожение данных быть лучше мощного магнита?

Reading time2 min
Views37K

Привет, %username%, я уверен, что да. И в наших с тобой силах сделать это реальностью.
Этот пост навеян вот этим обсуждением, где порой доходило до ксеноморфов. У нас же всё будет проще и надежней (вдруг ксеноморфа забудут покормить?)
Читать дальше →

Встраиваем бэкдор в Bitcoin (ECDSA) или еще раз о клептографии

Reading time3 min
Views43K
Привет, %username%!
Пользуешься неофициальными bitcoin клиентами? Есть повод присмотреться к ним повнимательней.
После реализации бэкдора для RSA мне стало интересно, как обстоят дела с остальными криптографическими примитивами. Оказывается, целая наука под названием клептография занимается передачей информации в так называемых «подсознательных» каналах. Таких, о которых никому не известно кроме отправителя и получателя. Вроде стеганографии, только внутри криптоалгоритмов.
Читать дальше →

Встраиваем бэкдор в публичный ключ RSA

Reading time4 min
Views112K

Привет, %username%!
Когда я увидел, как это работает, сказать, что я был в шоке — ничего не сказать. Это довольно простой трюк но после прочтения этой статьи вы больше никогда не будете смотреть на RSA по-прежнему. Это не взлом RSA, это нечто, что заставит вашу паранойю очень сильно разбухнуть.
Читать дальше →

Curve25519, EdDSA и Poly1305: Три обделенных вниманием криптопримитива

Reading time2 min
Views40K
Есть такой очень хороший товарищ по имени Daniel Julius Bernstein. Математик, программист и спец по компьютерной безопасности. Его хэш CubeHash чуть не дотянул до третьего раунда SHA-3, а потоковый шифр Salsa20 попал в шорт лист проекта eStream. А еще он автор культовой в узких кругах криптобиблиотеки NaCl, о трех штуках из которой я бы хотел вкратце рассказать.
Читать дальше →

«Идеальное» бросание монеты: The NIST Randomness Beacon

Reading time5 min
Views8.9K


Говоря статистическим языком — «случайная переменная» — это функция, выдающая какое-то значение, неизвестное до определенного времени и постоянное после.

C 5 сентября 2013 года NIST каждую минуту публикует случайное число размером 512 бит. Это число, предыдущее число, время, когда оно было сгенерировано и еще кое-какая информация подписываются цифровой подписью NIST, так что можно легко проверить, что число было сгенерировано именно NIST.

Как это работает и зачем?

Подпись вместо пин-кода в банке ТКС считается более безопасной

Reading time1 min
Views14K
image
Всем привет.
Недавно завел себе карту дебетовую ТКС, чиповую, все дела. И был неприятно удивлен тем, что вообще нигде в магазинах не спрашивается пин код. Вообще. Пару раз просили расписаться, при том, что на карте у меня подписи нет.
Звонок в банк прояснил ситуацию — оказывается, магазины не могут обеспечить безопасность ввода пин-кода (чтобы это ни значило) и поэтому, в приоритетах по дефолту стоит проверка подписи. Которую вообще никто не смотрит.

Приоритеты я попросил поменять, благо это возможно. Но вы тока подумайте — тыришь/находишь карту ТКС и топаешь в любой магазин с ленивыми кассирами. Отличная безопасность по умолчанию.

Information

Rating
Does not participate
Registered
Activity