Как разделить Seed фразу с помощью секрета Шамира

Pneumothorax
5 min readMay 31, 2022

--

Shamir-Secret-Sharing

Перед тем, как на практическом примере рассматривать схему разделения секрета Шамира (SSS), рассмотрим ситуации для хранения Seed от самого простого.

Метод #1. Хранение одной копии у себя дома

Минусы:

  1. Seed фраза может быть утеряна
  2. ЧП (пожар, наводнение)
  3. Кража

Метод #2. Разделение между доверенными лицами

Как это сделать:

  1. Выбрать доверенных лиц, которые хранят разные части. Они не должны знать друг друга. Также необходимо знать их адреса на тот случай, если с кем-то пропала связь.
  2. Физически передать им части (бумага или металлическая пластина). Через онлайн будет наличие «следов» фразы на вашем устройстве.

Плюсы:

  1. Не катастрофично потерять свою полную Seed фразу, так как копии частей есть у доверенных лиц.

Минусы:

  1. Так как вся фраза по-прежнему у вас, все еще есть риск ее потери или ЧП в доме.
  2. $5 wrench attack

$5 wrench attack

wrench-attack

$5 wrench attack — Самый простой метод получения зашифрованной информации — угрозы или пытки владельца этой самой информации.

Метод #3. CWAP

Подробнее об этом методе хранения можно прочитать в статье Counter Wrench-Attack Protocol (CWAP). Метод схож с SSS, но имеет свои особенности.

Как это сделать:

  1. Seed должен содержать 24 слова. Ваши 12 слов должны быть только на физических носителях.
  2. Выбрать нескольких людей для хранения первой части Seed фразы. Они могут знать друг друга. У них будут лишь одинаковые копии. Лучше знать их адрес на тот случай, если связь с ними пропадет.
  3. Передать им часть фразы (первые 12 слов). Если передача была через интернет, то следует передавать файл через ссылку на анонимный файлообменник с самоуничтожающейся ссылкой и удалить переписку на вашем устройстве.
  4. Удалить все «следы» первой фразы как на бумаге, так и на своем девайсе. Чтобы ни у вас, ни у кого-то ещё не было возможности восстановить всю Seed фразу.

Теперь у вас есть половина Seed фразы, а у друзей — остальная половина. Чтобы восстановить всю Seed фразу, нужно физически увидеться с одним из них.

Counter-Wrench-Attack-Protocol-CWAP

Плюсы:

  1. Вас не могут пытать, так как вы сами не знаете всей Seed фразы, а чтобы ее собрать нужна личная встреча с другом.

Минусы:

  1. Сразу несколько друзей могут внезапно умереть или попасть в несчастный случай.
  2. Так как одна половина Seed фразы находится только у вас, все еще есть риск ее потери или ЧП в доме.

Метод #4. SSS

Секрет Шамира — это схема разделения секрета, используемая в криптографии. Оригинальный текст “How to Share a Secret” занимает всего 2 страницы. Техника совместного использования секретов берет исходный секрет и делит его на части. Каждая часть либо прячется в разных местах, либо части секрета передаются доверенным участникам схемы.

SSS обязателен:

  1. Людям, которые планируют завещать монеты после своей смерти.
  2. Людям, которые обладают большим количеством средств
  3. Людям, на которых возможно реальное нападение.

SSS имеет массу преимуществ:

  1. Свойства резервной копии
  2. Seed фразу нельзя просто украсть, ведь нужно найти сразу несколько “тайников”.
  3. Шантаж и пытки не действуют, так как вы сами не знаете всей Seed фразы, а чтобы ее собрать нужна личная встреча с как минимум одним доверенным лицом.
  4. Доступ к монетам возможен даже в случае вашей неожиданной смерти (при правильной подготовке).

Секрет Шамира может быть применен различными способами. Например, 2 из 3 или 3 из 5. Пороговая схема требует, чтобы все или большинство секретных частей собрались вместе, чтобы восстановить исходный секрет.

Пример разделения два из трех

Seed фраза состоит из 12, 18 или 24 слов. Нам нужно разделить слова на три части.

  1. Первая часть, слова: 1+2, 4+5…;
  2. Вторая часть, слова: 2+3, 5+6…;
  3. Третья часть, слова: 1+3, 4+6…;

В зависимости от длины вашей Seed фразы готовый результат будет отличаться.

Shamir-Secret-Sharing-example-seed
Синий цвет — разделение 12 слов, зеленый цвет — 18 слов, красный цвет — 24 слова.

Теперь, чтобы собрать Seed фразу, достаточно только двух (неважно каких) частей. Если одну часть украдут, то она будет бесполезна в плане восстановления (для подбора остальных слов потребуется огромная вычислительная мощность). Например, если ваш Seed состоит из 12 слов и злоумышленник украдет первую часть, ему нужно подобрать еще 4 слова (3, 6, 9, 12). Список BIP39 содержит 2048 слов. Значит злоумышленнику понадобится просмотреть 17,592,186,000,000 (2048⁴) вариантов.

Рассмотрим Seed, включающий в себя 24 слова из списка BIP39:

kidney sadness key spice measure fit mouse duck disorder naive admit car august hub able glide hill noodle gravity famous stick spawn garbage plastic

В таблице сверху слова представлены в текстовом формате. Снизу — альтернативный вариант представления — их порядковый номер в таблице BIP39:

Shamir-Secret-Sharing-example

Можете скачать мой шаблон из Google Table, но записывайте только на бумаге и перепроверяйте все по несколько раз.

Теперь 3 части Seed могут находиться у вас и еще двух доверенных лиц. Сами же части могут храниться в разных местах географически и в разных формах (бумага, пластина, жетоны). Потеря своей части становится не критичной. Смерть одного из доверенных лиц не критична. Если злоумышленник знает, что вы используете SSS, и знает одного из доверенных лиц, то достать сразу две части Seed крайне сложно. Единственное слабое звено — сговор доверенных лиц.

Поддержать автора:

Bitcoin (BTC): bc1qzu22qc4ek9g9urqlrnmrtn5s2fa3nvefgfykhv

USDT (TRC20): TTapXH233NYS6LbmhKi3A9MhjgzU3eUNb2

Ethereum (ETH): 0x66343B158626519101263E24DD4325Bb83a6c8d5

Toncoin (TON): UQAoR7VMY2ZZLscGfw-Jo5uGGYQqtP_QLV8CeJ1hTc2ptD3J

Последнее обновление: 31 мая 2022

--

--