Криптография
Разделение секрета
HashiCorp Vault у крупной компании: один администратор не должен иметь доступ к master key. 5 сотрудников получили shares, любые 3 могут открыть Vault. Это Shamir Secret Sharing. Coinbase хранит $100+ млрд в криптовалюте через threshold signatures - ключ не существует в полном виде нигде.
- **HashiCorp Vault**: Shamir 3-of-5 для unseal master key по умолчанию. Также поддерживает auto-unseal через AWS KMS.
- **Fireblocks**: MPC threshold signatures для институциональной криптовалюты. $15+ млрд под управлением, ECDSA threshold без полного ключа.
- **FROST (RFC 9591)**: стандарт threshold Schnorr подписей 2024. Используется в ZCash Zebra node.
- **Apple CSAM (2021)**: предложение использовало PSI (Private Set Intersection) - разновидность MPC. После критики технически верная система была отложена из-за privacy concerns.
Схема Шамира: разделение секрета
Shamir Secret Sharing (SSS, 1979): секрет S разбивается на n частей (shares). Любые t из n частей восстанавливают S, любые t-1 частей не дают никакой информации о S. Основа - полином степени t-1 над конечным полем.
Hashicorp Vault использует Shamir SSS для защиты master key. По умолчанию: 5 shares, порог 3. При инициализации Vault выдаёт 5 ключей разным операторам. Для unseal нужно 3 любых - защита от компрометации одного оператора. AWS KMS и Coinbase Custody используют аналогичные схемы.
Что обеспечивает информационно-теоретическую безопасность схемы Шамира?
Пороговые схемы: применения t-of-n
Пороговые схемы расширяют SSS на криптографические операции: threshold подписи (t из n могут подписать без восстановления полного ключа), threshold расшифровка (t из n расшифровывают без знания полного ключа.
FROST (Flexible Round-Optimized Schnorr Threshold, RFC 9591) - стандарт threshold Schnorr подписей (2024). Используется в ZCash Zebra, Zcash Foundation и рассматривается для Bitcoin Lightning. Ключ никогда не собирается в одном месте - это отличает от простого split-и-reassemble.
Чем threshold подпись отличается от простого собирания shares и подписания полным ключом?
Верифицируемое разделение секрета (VSS)
Проблема базового SSS: dealer мог отдать некорректные shares. VSS (Verifiable Secret Sharing) позволяет каждому участнику проверить корректность своей share без знания секрета. Схема Фельдмана (1987): dealer публикует обязательства к коэффициентам полинома.
DKG (Distributed Key Generation) комбинирует VSS от каждого участника. Применяется в FROST, в Certificate Transparency (n-of-n signing), в blockchain валидаторах (Ethereum BLS committee). Google использует внутренний DKG для некоторых HSM операций.
Что позволяет VSS, чего не позволяет базовый SSS?
Введение в MPC: вычисления без раскрытия данных
MPC (Multi-Party Computation): n участников с секретными входами x1...xn вычисляют функцию f(x1,...,xn), не раскрывая xi. Классический пример: «кто богаче» - Millionaires Problem Яо (1982). Два миллионера сравнивают состояния без их раскрытия.
MPC из теоретической концепции превратился в production-технологию. Fireblocks использует MPC threshold signatures для управления криптовалютными активами на $15+ млрд. Visa и Mastercard изучают MPC для fraud detection без раскрытия транзакционных данных.
Какое фундаментальное свойство отличает MPC от обычного шифрования данных перед вычислением?
Итоги
- **Shamir SSS**: полином степени t-1 разделяет секрет на n shares. Информационно-теоретическая безопасность: t-1 shares - нулевая информация о секрете.
- **Threshold подписи**: подпись без сборки полного ключа. Нет единой точки компрометации. FROST - стандарт 2024 для threshold Schnorr.
- **VSS**: верификация корректности shares без раскрытия секрета. Feldman VSS использует ECC commitments. Основа DKG.
- **MPC**: вычисления на закрытых данных. Входы не раскрываются. Применения: PSI, distributed KMS, private analytics.
Связанные темы
Secret sharing - основа для продвинутых криптографических протоколов:
- Многосторонние вычисления (MPC) — MPC использует secret sharing как основу для защищённых вычислений. Garbled circuits + OT + SSS = полный MPC.
- Цифровые подписи — Threshold подписи расширяют обычные подписи на распределённый случай. MuSig2 - частный случай для Schnorr.
- Гомоморфное шифрование — FHE и SSS оба позволяют вычисления на зашифрованных данных, но разными подходами.
Вопросы для размышления
- HashiCorp Vault хранит master key через Shamir 3-of-5. Что произойдёт если один из 5 ключедержателей уволится? Как это решается операционно?
- DKG (Distributed Key Generation) не требует доверенного dealer в отличие от SSS. Почему это важно для систем без централизованного доверия?
- MPC Private Set Intersection используется для CSAM detection. Каковы privacy компромиссы даже в криптографически корректной реализации?