Несколько лет назад я написал себе маленький менеджер паролей: Electron, React и какое-то симметричное шифрование из npm: ключ из пароля, им же зашифровал, им же расшифровал, что именно, уже не вспомню. Я бэкендер на Java, на фронте мне было интересно поковыряться. Пользовался им сам, потом забросил. В этом году вернулся, перевёл его на Tauri и Rust и заодно посмотрел свежим взглядом на то, как он хранит данные. Было стыдно. Но в процессе обнаружилось, что одна странная идея из первой версии на самом деле стоит того, чтобы сделать её нормально. Про неё и расскажу.
Рубрика «argon2»
Как я убрал из своего менеджера паролей ошибку «неверный пароль»
2026-10-18 в 11:56, admin, рубрики: argon2, Rust, rustore, XChaCha20-Poly1305, менеджер паролей, отрицаемое шифрование, правдоподобное отрицаниеБезопасное хранение паролей: соли, перцы и выбор алгоритма
2026-06-25 в 10:28, admin, рубрики: argon2, bcrypt, pbkdf2, rainbow tables, scrypt, аутентификация, информационная безопасность, криптография, Соль, хеширование паролейЕсли база данных утечёт, именно от алгоритма хеширования паролей будет зависеть, получит ли атакующий рабочие учётные данные за несколько часов или не получит ничего полезного вообще. Разберём, что нужно знать разработчику, чтобы оказаться во втором сценарии.
Хеширование против шифрования
Первое, что нужно зафиксировать: пароли хешируются, а не шифруются. Это принципиальное различие, которое часто путают.
РНР-безопасность: где и как хранить пароли. Часть 1
2019-11-06 в 13:18, admin, рубрики: argon2, bcrypt, php, Блог компании OTUS. Онлайн-образование, информационная безопасностьКаждый год в мире происходит все больше хакерских атак: от краж кредитных карт до взломов сайтов онлайн-магазинов. Уверены, что ваши скрипты по настоящему защищены? В преддверии старта курса «Backend-разработчик на PHP» наш коллега подготовил интересную публикацию на тему безопасности в PHP...

Читать полностью »
HL 2018. Конспект доклада «Make passwords great again! Как победить брутфорс и оставить хакеров ни с чем»
2019-01-10 в 9:14, admin, рубрики: argon2, phe, pythia, брутфорс, высокая производительность, информационная безопасность, криптография, Программирование, радужные таблицы, Соль, хешированиеПривет! Меня зовут Ахмадеев Ринат, я Sr. PHP developer.
Представляю вашему вниманию конспект доклада "Make passwords great again! Как победить брутфорс и оставить хакеров ни с чем" с HighLoad++ 2018.
Докладчик: Алексей Ермишкин, Virgil Security, Inc., Chief Product Security Officer.
Тезисы: https://www.highload.ru/moscow/2018/abstracts/3865.
Слайдов в открытом доступе еще нет, поэтому приводится их текстовая расшифровка.
Впечатление
Когда я шел на доклад, то был настроен пессимистично, действительно, что еще можно нового тут придумать кроме хеша и соли? Но т.к. это Virgil Security, то я все же решил сходить.
В начале доклад казался действительно капитанским, и я даже начал терять интерес, но потом, как оказалось, даже узнал что-то новое.
Мне так понравился доклад, что я подготовил конспект. Всем рекомендую к ознакомлению.
Правильные ответы по криптографии: 2018 год
2018-04-16 в 8:44, admin, рубрики: AEAD, aes, AKE, argon2, bcrypt, beast, blowfish, bouncycastle, CBC, chacha20, CRIME, Curve25519, DROWN, ECDHE-TLS, Ed25519, freak, hmac, HSM, KCI, KMAC, KMS, libsodium, Logjam, lucky13, mac, md5, MD6, NaCl, openssl, padding oracle, pbkdf2, Poly1305, poodle, RC4, scrypt, sha-1, SHA-2, SHA-3, sha256, SSL, Tarsnap, TLS, XSalsa20, Блог компании GlobalSign, ГСЧ, Диффи — Хеллман, информационная безопасность, криптография, нонсы, Разработка веб-сайтов, эллиптические кривыеВ литературе и самых сложных современных системах есть «лучшие» ответы на многие вопросы. Если вы разрабатываете встроенные приложения, то предлагают использовать STROBE и модный современный криптографический стек для аутентификации полностью из одиночных SHA-3-подобных функций губки. Советуют использовать NOISE для разработки безопасного транспортного протокола с формированием общего ключа аутентификации (AKE). Говоря об AKE, есть около 30 различных парольных AKE на выбор.
Но если вы разработчик, а не криптограф, то не должны делать ничего такого. Следует придерживаться простых и обычных решений, которые легко поддаются анализу — «скучных», как говорят люди из Google TLS.
Читать полностью »
Как правильно хешировать пароли в высоконагруженных сервисах. Опыт Яндекса
2017-08-31 в 12:40, admin, рубрики: argon2, Блог компании Яндекс, веб-сервисы, высокая производительность, криптография, пароли, хешированиеЯ расскажу о такой проблеме, как хеширование паролей в веб-сервисах. На первый взгляд кажется, что тут все «яснопонятно» и надо просто взять нормальный алгоритм, которых уже напридумывали много, написать чуть-чуть кода и выкатить все в продакшн. Но как обычно, когда начинаешь работать над проблемой, возникает куча подводных камней, которые надо обязательно учесть. Каких именно? Первый из них — это, пожалуй, выбор алгоритма: хоть их и много, но у каждого есть свои особенности. Второй — как выбирать параметры? Побольше и получше? Как быть с временем ответа пользователю? Сколько памяти, CPU, потоков? И третий — что делать с computational DoS? В этой статье я хочу поделиться некоторыми своими мыслями об этих трех проблемах, опытом внедрения нового алгоритма хеширования паролей в Яндексе и небольшим количеством кода.
Attacker & Defender
Прежде чем переходить к алгоритмам и построению схемы хеширования, надо вообще понять, от чего же мы защищаемся и какую роль в безопасности веб-сервиса должно играть хеширование паролей. Обычно сценарий таков, что атакующий ломает веб-сервис (или несколько веб-сервисов) через цепочку уязвимостей, получает доступ к базе данных пользователей, видит там хеши паролей, дампит базу и идет развлекаться с GPU (и, в редких случаях, с FPGA и ASIС).
Читать полностью »
64-битная арифметика в браузере и WebAssembly
2016-08-31 в 18:39, admin, рубрики: argon2, benchmark, javascript, LLVM, PNaCl, wasm, webassembly, браузеры, Компиляторы, Программирование, Разработка веб-сайтов
WebAssembly активно разрабатывается и уже достиг состояния, когда собранный модуль можно попробовать в Chrome Canary и Firefox Nightly, включив флажок в настройках.
Сравним производительность арифметических вычислений с 64-битными числами в WebAssembly, asm.js, PNaCl и native-коде. Посмотрим на инструменты, которые есть для WebAssembly сейчас, и заглянем в недалёкое будущее.
Дайджест последних достижений в области криптографии. Выпуск нулевой
2016-05-20 в 9:16, admin, рубрики: AEAD, AES GCM, argon2, CAESAR, djb, Ed25519, hash based signatures, McEliece, Noise protocol, nonce misuse, post-quantum Crypto, streebog, информационная безопасность, криптография, математика, Программирование, метки: AEAD, AES GCM, argon2, CAESAR, djb, ed25519, hash based signatures, McEliece, Noise protocol, nonce misuse, post-quantum Crypto, streebog
Привет!
Хотелось бы в одной статье вкратце рассказать о достижениях математиков, которыми мы уже пользуемся или скоро будем.
Начнем Читать полностью »


