Краткое резюме. Банковская аутентификация, спроектированная под модель угроз 2018 года, более не годится для регуляторного режима 2026 года. GPU-ускоренный взлом, ASIC-плотность и приближающийся постквантовый горизонт обрушили запас прочности PBKDF2 и scrypt с ранними параметрами; статья 5 DORA превратила этот распад в подотчётную совету директоров ответственность. hsh, открытый каркас на чистом Rust, решает проблему параллельно на трёх уровнях: диспетчер
verify_and_upgrade, перехеширующий сохранённую учётную запись под актуальные параметры Argon2id при каждом успешном логине без окна обслуживания; слой «перца» с интерлоком HSM или KMS, при котором сама по себе компрометация базы данных не даёт ничего взламываемого; и безопасная по памяти цепочка поставок, устраняющая поверхность атаки FFI, присущую криптобиблиотекам на C. Результат — субстрат, удовлетворяющий DORA, дисциплине операционного риска Basel III, подотчётности старших менеджеров SM&CR и горизонту постквантовой миграции NIST IR 8547 — без программы массового сброса, исторически необходимой для апгрейда контура аутентификации.
Большая часть корпоративной банковской аутентификации до сих пор держится на парольном слое, закалённом под модель угроз 2018 года. Оборудование, ломающее его, ушло далеко вперёд. По мере роста GPU-ферм и приближения криптографически релевантных квантовых компьютеров (CRQC) устаревшее хеширование — PBKDF2, ранний scrypt — слабеет с каждым часом вычислений, которые атакующие тратят на офлайн-очередь взлома. Распад этот тихий: ничто в продакшен-базе не подскажет вам, что хеш, который вчера был стойким, сегодня им уже не является.
В рамках Digital Operational Resilience Act (DORA) оставлять неротированные устаревшие криптографические активы в продакшене — больше не технический долг. Это поименованная регуляторная ответственность.
hsh закрывает разрыв. Каркас на чистом Rust управляет несколькими форматами хешей бок о бок и обновляет слабые учётные данные на лету в ходе активных логин-сессий. Инфраструктура аутентификации приводится в соответствие с мандатами устойчивости 2026 года без окна обслуживания, без принудительного сброса, без единой секунды простоя.
01. Проблема криптографической гнили в банкинге
Чтобы понять необходимость каркаса вроде hsh, нужно понять жизненный цикл хеша пароля. Алгоритмы стареют негладко; они распадаются относительно оборудования, доступного для их взлома.
Разрыв в ускорении ASIC/GPU. Алгоритмы вроде PBKDF2 проектировались как вычислительно дорогие для CPU. Сегодня атакующие используют массово параллельные GPU для офлайн-словарных атак. Устаревший хеш, сгенерированный в 2018 году, заметно слабее против противника 2026 года.
Риск миграции «большим взрывом». Когда CISO решает обновиться с PBKDF2 на алгоритм с высокой памятью — Argon2id, — обратить хеши и перешифровать их нельзя. Традиционные решения, вынуждающие сбрасывать пароли миллионам пользователей, дают массовое клиентское трение и операционный риск.
Цепочка поставок C-библиотек. Исторически банковское middleware опиралось на библиотеки вроде argonautica или сырые C-привязки для хеширования. Эти библиотеки несут скрытый риск цепочки поставок: одно переполнение буфера в модуле аутентификации способно привести к удалённому выполнению кода (RCE) на самом привилегированном слое банковского стека.
Сравнение алгоритмов — аппаратная стойкость и поверхность настройки
Три алгоритма, с которыми банк реально сталкивается в миграционном корпусе, различаются не столько выбором криптографического примитива, сколько тем, как они стареют под аппаратным давлением. Таблица ниже подытоживает практическую позицию.
| Algorithm | Memory-hard | GPU / ASIC resistance | Tuning surface | 2026 status |
|---|---|---|---|---|
| PBKDF2 | Нет | Низкая — векторизуется на GPU; субмиллисекунда на подбор на массовом оборудовании. | Только количество итераций. | Устаревший. Допустим лишь как verify-side fallback во время миграции. |
| scrypt | Да (умеренно) | Средняя — стоимость памяти отбрасывает простые GPU-фермы; амортизируется ASIC в масштабе. | N (CPU/память), r (размер блока), p (параллелизм). |
Не рекомендован для greenfield. Активен в миграционных корпусах. |
| Argon2id | Да (высоко) | Высокая — стойкость по памяти и времени; противодействует side-channel и TMTO-атакам. | Стоимость памяти (m), стоимость времени (t), параллелизм (p), секрет (перец). |
Рекомендован по умолчанию. OWASP, проект NIST SP 800-63B-4, FedRAMP. |
Вывод для миграционного плана узок: PBKDF2 — состояние verify-side, а не направление write-side. Каждый успешный логин по PBKDF2-записи должен на выходе порождать запись Argon2id.
02. Архитектурная призма hsh 2026
Каркас построен из пяти основных слоёв, каждый сконструирован для смягчения конкретной категории операционного риска.
Таблица 1. Архитектурные слои hsh и снижение рисков
| Слой | Дизайнерское решение | Почему это важно | Риск при неверной реализации |
|---|---|---|---|
| Криптографические примитивы | Унифицированный формат строки PHC с поддержкой Argon2id, scrypt и PBKDF2 | Даёт лучшую в классе стойкость к атакам GPU при сохранении обратной совместимости. | Силосы данных; слабые алгоритмы, допускающие 100 млрд+ подборов/сек в офлайне. |
| Движок политик | Диспетчеризация verify_and_upgrade |
Автоматизирует переход от устаревших политик к современным динамически при логине. | Гниль безопасности; активные пользователи остаются на легко взламываемых типах устаревших хешей. |
| Аппаратный интерлок | Возможности «перца» через HSM и облачные KMS | Гарантирует, что компрометация только базы данных не раскрывает кандидатов в пароли. | Успешные офлайн-атаки перебором после взлома через SQL-инъекцию. |
| Гигиена безопасности | Принуждение через deny.toml и чистый Rust |
Полностью блокирует небезопасный FFI и недоверенные внешние C-зависимости. | Катастрофические атаки на цепочку поставок и CVE на повреждение памяти. |
03. Путь перехеширования без простоя
Паттерн verify_and_upgrade решает миграцию данных через интеллектуальную, осведомлённую о состоянии систему диспетчеризации, требующую нулевого простоя базы данных.
Когда пользователь отправляет учётные данные, hsh читает сохранённую строку Password Hashing Competition (PHC). Если она содержит устаревший хеш (например, устаревшую конфигурацию PBKDF2), система выполняет следующий поток:
- Идентификация. Разбирает устаревший алгоритм и его конкретные параметры.
- Верификация. Валидирует пароль-кандидат против устаревшего хеша.
- Апгрейд в реальном времени. При успешном совпадении берёт открытый пароль-кандидат в памяти и немедленно вычисляет новый хеш по высоконадёжной политике Argon2id.
- Сохранение. Возвращает новую строку PHC банковскому приложению, которое перезаписывает устаревшую запись в базе данных.
Процесс полностью прозрачен для конечного пользователя. Он эффективно мигрирует самые активные учётные записи на высший уровень безопасности в первый же день, резко сокращая поверхность атаки банка органически со временем.
Диаграмма ниже показывает, что происходит при одном логин-событии, когда сохранённая запись лежит на устаревшем алгоритме. Пользователь не видит никаких изменений; парк аутентификации банка укрепляется на одну запись.
sequenceDiagram
actor User
participant Frontend
participant Auth as Authentication Service (hsh)
participant DB as Database
User->>Frontend: Submit username + password
Frontend->>Auth: authenticate(user, password)
Auth->>DB: SELECT password_hash FROM users
DB-->>Auth: PHC string (legacy: PBKDF2)
Note over Auth: Detect legacy algorithm prefix
Auth->>Auth: verify(password, legacy_hash)
Note over Auth: Re-hash with Argon2id
Auth->>DB: UPDATE password_hash = new PHC
DB-->>Auth: write confirmed
Auth-->>Frontend: 200 OK
Frontend-->>User: Login successful
Шаблон реализации — диспетчеризация verify_and_upgrade
Поверхность интеграции внутри сервиса аутентификации невелика. Устаревший путь кода остаётся как fallback; новый путь — это диспетчер.
use hsh::{Hasher, UpgradeResult};
struct UserRecord {
username: String,
password_hash: String, // PHC string
}
async fn authenticate(user: UserRecord, password_attempt: &str) -> Result<bool, AuthError> {
let hasher = Hasher::new();
match hasher.verify_and_upgrade(password_attempt, &user.password_hash) {
Ok(UpgradeResult::Verified(is_valid)) => Ok(is_valid),
Ok(UpgradeResult::Upgraded(new_hash)) => {
db::update_user_hash(&user.username, new_hash).await?;
Ok(true)
}
Err(_) => Err(AuthError::InvalidCredentials),
}
}
Важны три свойства:
- Осведомлённость о состоянии.
verify_and_upgradeинспектирует префикс PHC-строки. Если маркер алгоритма устарел, каркас автоматически запускает перехеширование по сконфигурированной политике Argon2id. Никакого ветвления в вызывающем коде. - Атомарность. Перехеширование происходит только после успешной верификации устаревшего хеша, внутри того же события аутентификации. Нет отдельного batch-задания, нет окна плановой миграции и нет деструктивной массовой миграции, которую пришлось бы откатывать.
- Сохранение. Вариант
UpgradeResult::Upgradedнесёт новую PHC-строку. Приложение сохраняет её по тому же пути данных, что уже существует для устаревшей записи — без параллельной поверхности записи и без двухфазного протокола записи.
Режимы отказа. Если запись в базу не проходит или KMS на момент апгрейда кратко недоступен, сессия всё равно проходит против устаревшего хеша, и запись остаётся на старом алгоритме. Следующий успешный логин повторит апгрейд. Нет полу-мигрированного состояния и нет видимого пользователю отказа — миграция монотонна по логин-событиям, а стоимость отказа на запись — ровно один дополнительный повтор при следующем логине.
04. Хеши с перцем через HSM / KMS интерлок
Стандартное хеширование паролей защищает от прямых утечек базы, но если атакующий получает и базу (хеши и соли), он может выполнить офлайн-взлом.
hsh вводит надёжный слой безопасности «с перцем». Интегрируясь с Hardware Security Modules (HSM) или облачно-нативными Key Management Services (KMS), финальный вывод Argon2id криптографически оборачивается ключом с высокой энтропией, который никогда не покидает безопасную аппаратную границу. Если база пользователей эксфильтрована, атакующий владеет лишь зашифрованными блобами. Начать взлом паролей он не может, не пробив физически изолированную HSM-инфраструктуру банка.
Архитектурная диаграмма ниже трассирует путь секрета. Перец никогда не оседает в базе; база никогда не хранит ничего, адресуемого сама по себе. Два хранилища могут отказывать независимо — система теряет конфиденциальность только при их одновременном отказе.
sequenceDiagram
participant App as Application Server
participant HSM as HSM (Hardware Security Module)
participant DB as Database
Note over HSM: Pepper sealed in hardware<br/>never exits boundary
App->>HSM: get_secret("production-password-pepper")
HSM-->>App: pepper (in-memory, request-scoped)
Note over App: Argon2::new_with_secret(&pepper, ...)
App->>App: hash(password + salt) consuming pepper
Note over App: Pepper consumed via secret param<br/>not via string concat
App->>DB: STORE PHC string (uncrackable blob)
Note over App: Pepper dropped from memory
Note over DB,HSM: DB breach alone yields<br/>nothing crackable
Шаблон реализации — Argon2id с перцем из HSM
Перец берётся из HSM в момент запроса, а не из конфигурационного файла. Argon2::new_with_secret принимает его через секретный параметр алгоритма, а не через конкатенацию строк.
use argon2::{
Argon2, Algorithm, Version, Params,
PasswordHasher, PasswordVerifier,
password_hash::{PasswordHash, SaltString, rand_core::OsRng},
};
async fn authenticate_with_hsm(
user: UserRecord,
password_attempt: &str,
) -> Result<bool, AuthError> {
let pepper = hsm::client::get_secret("production-password-pepper").await?;
let hasher = Argon2::new_with_secret(
&pepper,
Algorithm::Argon2id,
Version::V0x13,
Params::default(),
)
.map_err(|_| AuthError::Internal)?;
let parsed = PasswordHash::new(&user.password_hash)
.map_err(|_| AuthError::InvalidCredentials)?;
if hasher.verify_password(password_attempt.as_bytes(), &parsed).is_ok() {
if is_legacy_hash(&user.password_hash) {
let new_hash = hasher
.hash_password(
password_attempt.as_bytes(),
&SaltString::generate(&mut OsRng),
)
.map_err(|_| AuthError::Internal)?
.to_string();
db::update_user_hash(&user.username, new_hash).await?;
}
return Ok(true);
}
Err(AuthError::InvalidCredentials)
}
Из такой формы вытекают три следствия, выровненные с DORA:
- Ротация ключа как задача управления ключами. Перец живёт за границей HSM/KMS, а не в базе данных. Ротация становится изменением управления ключами, а не кампанией перехеширования по всему пользовательскому массиву. Новые хеши привязываются к текущей версии перца; старые хеши верифицируются по своей привязанной версии, пока не обновятся естественным путём.
- Разделение обязанностей. Идентичность сервиса, читающего перец, должна быть аудируемой и наименее привилегированной. Полная эксфильтрация базы без соответствующего HSM-гранта не даёт ничего взламываемого. Компрометация HSM-гранта без базы не даёт ничего адресуемого. Радиус поражения любого одиночного отказа ограничен.
- Избегайте length-extension и багов конкатенации. Использование секретного параметра Argon2 вместо конкатенации строк убирает целый класс криптографических ловушек — length-extension, ошибочно типизированная UTF-8-конкатенация, баги порядка соли/перца — с поверхности реализации.
05. Регуляторное выравнивание: DORA, Basel III и SM&CR
- DORA, статьи 5 и 6. Требуют от финансовых организаций поддерживать каркасы управления ИКТ-рисками. Стратегия, опирающаяся на неротированные, десятилетней давности хеши паролей, нарушает эти принципы. hsh даёт документированный автоматизированный механизм непрерывно усиливать криптографическую защиту.
- Basel III. Привязывает регуляторный капитал к вероятности и тяжести потерь. Внедрение Argon2id с HSM-интерлоком резко снижает тяжесть взлома базы данных, поддерживая количественные аргументы за меньшее капитальное требование по операционному риску.
- Подотчётность SM&CR. Одобрение архитектуры, активно устраняющей криптографическую гниль, даёт поименованным старшим менеджерам верифицируемую, документируемую цепочку снижения риска.
Часто задаваемые вопросы
Готов ли hsh к продакшену на пути аутентификации банка tier-1?
Библиотека открыта, документирована и использует Argon2id через тот же крейт argon2, на котором стоит экосистема хеширования паролей RustCrypto. Принятие в tier-1 идёт через собственную проверку банка: независимый аудит кода, аттестация воспроизводимых сборок, фиксация дерева зависимостей, интеграционное тестирование с поставщиком HSM и подписание операционным риском. hsh даёт субстрат; банк сертифицирует развёртывание.
Как verify_and_upgrade обходит риск массовой миграции?
Верификатор инспектирует PHC-строку на парсинге, прогоняет устаревший алгоритм для валидации пароля и — если сохранённый алгоритм или набор параметров ниже текущего порога — перехеширует открытый текст под Argon2id со связанным HSM-перцем и атомарно записывает новую PHC-строку обратно. Пользователь видит обычный логин. Парк укрепляется на одну запись за каждую успешную аутентификацию. Никаких кампаний сброса, никакого окна обслуживания, никакого события операционного риска.
Что происходит с неактивными аккаунтами, которые никогда не входят в систему? Записи, которые никогда не аутентифицируются, никогда и не перехешируются. Банки закрывают это двумя дополняющими политиками: документированный порог неактивности (часто 18–24 месяца), после которого аккаунт административно ротируется в рамках контролируемой кампании сброса; и синтетический прогон перехеширования во время планового обслуживания для аккаунтов в определённых когортах (высокоценные, высокопривилегированные, регулируемые). Обе — политики, а не поведение библиотеки; hsh фиксирует решение диспетчера в аудиторской телеметрии, чтобы операционный владелец мог доказать покрытие.
Не вводит ли HSM-перец единую точку отказа на пути аутентификации?
Тот же HSM, что подписывает платёжные сообщения и ротирует ключи KMS, уже стоит на этом пути. Риск идентичен текущей позиции банка; hsh его наследует, а не вводит. Меры стандартны: HA-пары HSM, горячие резервные регионы KMS, выборка перца в области запроса с предохранителем и переключением в режим только-чтения, явный операционный runbook на случай недоступности HSM. Перец — это секретный параметр argon2, потребляемый в процессе и сбрасываемый из памяти после использования.
Где находится hsh относительно постквантовой миграции? hsh — каркас хеширования паролей и секретов, а не примитив инкапсуляции ключей или подписи. PQC-переход, описанный в NIST IR 8547, нацелен на установление ключей (ML-KEM, FIPS 203) и подписи (ML-DSA, FIPS 204; SLH-DSA, FIPS 205). Слой хеширования, который покрывает hsh, в значительной мере ортогонален этой миграции. Они сходятся на уровне субстрата — обоим нужна безопасная по памяти, аудируемая, воспроизводимая цепочка поставок криптографии — а именно её и обеспечивает hsh уже сегодня.
Заключение
«Развернул и забыл» в парольном хешировании закончилось. DORA перевела криптографическую пассивность из технического долга в поименованную регуляторную ответственность, а кривая оборудования крутеет с каждым годом. Вклад hsh — не более сильный алгоритм: Argon2id доступен уже годами. Вклад — операционная механика, чтобы мигрировать на него без планирования простоя, без принудительных сбросов и без доверия C-обёрткам FFI на пути аутентификации банка.
Исходный код hsh доступен под двойной лицензией MIT и Apache 2.0.
Ссылки
Базельский комитет по банковскому надзору (2011). Basel III: A global regulatory framework for more resilient banks and banking systems. Банк международных расчётов. Доступно по адресу: https://www.bis.org/publ/bcbs189.pdf
Бирюков А., Дину Д., Ховратович Д., Йозефссон С. (2021). RFC 9106: Argon2 Memory-Hard Function for Password Hashing and Proof-of-Work Applications. Internet Engineering Task Force. Доступно по адресу: https://datatracker.ietf.org/doc/html/rfc9106
Европейский парламент и Совет (2022). Регламент (ЕС) 2022/2554 о цифровой операционной устойчивости для финансового сектора (DORA). Доступно по адресу: https://eur-lex.europa.eu/eli/reg/2022/2554/oj
Financial Conduct Authority (2015). Senior Managers and Certification Regime (SM&CR). Доступно по адресу: https://www.fca.org.uk/firms/senior-managers-certification-regime
Национальный институт стандартов и технологий (2024). Initial Public Draft — Transition to Post-Quantum Cryptography Standards (NIST IR 8547). Доступно по адресу: https://csrc.nist.gov/pubs/ir/8547/ipd
OWASP Foundation (2024). Password Storage Cheat Sheet. Доступно по адресу: https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html
Последний пересмотр .
Последняя проверка .
Перепубликовать эту статью
Скопировать формат для Medium
# Защита управления паролями в корпоративном банкинге: мультиалгоритмное хеширование и апгрейды с hsh — Sebastien Rousseau > Originally published at [https://sebastienrousseau.com/ru/2026-06-22-hsh-zero-downtime-cryptographic-stewardship-rust-banking-2026/](https://sebastienrousseau.com/ru/2026-06-22-hsh-zero-downtime-cryptographic-stewardship-rust-banking-2026/) hsh — криптографический каркас на чистом Rust, дающий банкам уровня tier-1 миграцию устаревших хешей паролей на Argon2id без простоя, с HSM-перцем и устранением FFI-уязвимостей C под мандаты DORA. Read the full article on sebastienrousseau.com: https://sebastienrousseau.com/ru/2026-06-22-hsh-zero-downtime-cryptographic-stewardship-rust-banking-2026/
Скопировать формат для Mastodon
Защита управления паролями в корпоративном банкинге: мультиалгоритмное хеширование и апгрейды с hsh — Sebastien Rousseau hsh — криптографический каркас на чистом Rust, дающий банкам уровня tier-1 миграцию устаревших хешей паролей на Argon2id без простоя, с HSM-перцем и устранением FFI-уязвимостей C под мандаты DORA. https://sebastienrousseau.com/ru/2026-06-22-hsh-zero-downtime-cryptographic-stewardship-rust-banking-2026/
Копировать в формате для LinkedIn
Защита управления паролями в корпоративном банкинге: мультиалгоритмное хеширование и апгрейды с hsh — Sebastien Rousseau hsh - криптографический каркас на чистом Rust, дающий банкам уровня tier-1 миграцию устаревших хешей паролей на Argon2id без простоя, с HSM-перцем и устранением FFI-уязвимостей C под мандаты DORA. Вот ключевые стратегические выводы: - 01. Проблема криптографической гнили в банкинге. Чтобы понять необходимость каркаса вроде hsh, нужно понять жизненный цикл хеша пароля. - 02. Архитектурная призма hsh 2026. Каркас построен из пяти основных слоёв, каждый сконструирован для смягчения конкретной категории операционного риска. - 03. Путь перехеширования без простоя. Паттерн verify_and_upgrade решает миграцию данных через интеллектуальную, осведомлённую о состоянии систему диспетчеризации, требующую нулевого простоя базы данных. - 04. Хеши с перцем через HSM / KMS интерлок. Стандартное хеширование паролей защищает от прямых утечек базы, но если атакующий получает и базу (хеши и соли), он может выполнить офлайн-взлом. Каков подход вашей организации к вызовам, описанным в этой статье? → https://sebastienrousseau.com/ru/2026-06-22-hsh-zero-downtime-cryptographic-stewardship-rust-banking-2026/ #Hsh #КриптографияRust #ХешированиеПаролей #Argon2id #БанковскаяБезопасность Sebastien Rousseau | CC-BY-4.0
Цитировать эту статью
Защита управления паролями в корпоративном банкинге: мультиалгоритмное хеширование и апгрейды с hsh — Sebastien Rousseau
hsh — криптографический каркас на чистом Rust, дающий банкам уровня tier-1 миграцию устаревших хешей паролей на Argon2id без простоя, с HSM-перцем и устранением FFI-уязвимостей C под мандаты DORA.
BibTeX
@online{rousseau2026защита,
author = {Rousseau, Sebastien},
title = {{Защита управления паролями в корпоративном банкинге: мультиалгоритмное хеширование и апгрейды с hsh — Sebastien Rousseau}},
year = {2026},
url = {https://sebastienrousseau.com/ru/2026-06-22-hsh-zero-downtime-cryptographic-stewardship-rust-banking-2026/},
urldate = {2026}
}RIS
TY - GEN AU - Rousseau, Sebastien TI - Защита управления паролями в корпоративном банкинге: мультиалгоритмное хеширование и апгрейды с hsh — Sebastien Rousseau PY - 2026 UR - https://sebastienrousseau.com/ru/2026-06-22-hsh-zero-downtime-cryptographic-stewardship-rust-banking-2026/ ER -
Vancouver
Rousseau S. Защита управления паролями в корпоративном банкинге: мультиалгоритмное хеширование и апгрейды с hsh — Sebastien Rousseau. sebastienrousseau.com. 2026 Jun 22. Available from: https://sebastienrousseau.com/ru/2026-06-22-hsh-zero-downtime-cryptographic-stewardship-rust-banking-2026/
Chicago
Rousseau, Sebastien. "Защита управления паролями в корпоративном банкинге: мультиалгоритмное хеширование и апгрейды с hsh — Sebastien Rousseau." sebastienrousseau.com. June 22, 2026. https://sebastienrousseau.com/ru/2026-06-22-hsh-zero-downtime-cryptographic-stewardship-rust-banking-2026/.
APA
Rousseau, S. (2026, June 22). Защита управления паролями в корпоративном банкинге: мультиалгоритмное хеширование и апгрейды с hsh — Sebastien Rousseau. sebastienrousseau.com. https://sebastienrousseau.com/ru/2026-06-22-hsh-zero-downtime-cryptographic-stewardship-rust-banking-2026/
Опубликовать заново
Защита управления паролями в корпоративном банкинге: мультиалгоритмное хеширование и апгрейды с hsh — Sebastien Rousseau
hsh — криптографический каркас на чистом Rust, дающий банкам уровня tier-1 миграцию устаревших хешей паролей на Argon2id без простоя, с HSM-перцем и устранением FFI-уязвимостей C под мандаты DORA.
Эта статья распространяется по лицензии Creative Commons Attribution 4.0 International. При повторной публикации требуется указание канонической ссылки.
Защита управления паролями в корпоративном банкинге: мультиалгоритмное хеширование и апгрейды с hsh — Sebastien Rousseau hsh — криптографический каркас на чистом Rust, дающий банкам уровня tier-1 миграцию устаревших хешей паролей на Argon2id без простоя, с HSM-перцем и устранением FFI-уязвимостей C под мандаты DORA. Originally published at https://sebastienrousseau.com/ru/2026-06-22-hsh-zero-downtime-cryptographic-stewardship-rust-banking-2026/ by Sebastien Rousseau. Licensed under CC-BY-4.0.
