Криптография

Разделение секрета

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 компромиссы даже в криптографически корректной реализации?

Связанные уроки

  • nt-03
  • prob-04-bayes
Разделение секрета

0

1

Войти