К основному содержимому

Основы мнемонической безопасности

U
Автор: UKey Wallet

При использовании мнемоники для восстановления кошелька очень мала вероятность того, что вы введете слово ошибочно (не в резервной копии, а в базе данных мнемоники) и все равно сможете восстановить его с помощью блокчейн-кошелька.

Вот несколько примеров и объяснений этого крайне маловероятного сценария.

Для начала мы должны сначала понять процесс построения мнемоники, чтобы понять, почему мнемосхему можно использовать, даже если она введена неправильно.

Создайте мнемонику:

Используя процедуру нормализации, описанную в BIP-39, кошелек автоматически генерирует мнемонику. Кошелек начинается с источника энтропии, затем добавляет контрольную сумму перед сопоставлением случайных чисел со списком слов: 1. Создайте случайное число длиной от 128 до 256 бит. 2. Используйте контрольную сумму этого случайного числа в качестве первых нескольких бит хеша SHA256 (первые четыре бита берутся из 12-битных вспомогательных битов). 3. В конце случайной последовательности добавьте контрольную сумму. 4. Разделите последовательность на 11-битные половины. 5. Каждое число, имеющее 11-битный компонент, соответствует словарю, в котором уже есть 2048 слов. 6. Мнемоника – это результирующая последовательность слогов.

И при вводе неверного слова, как в следующем примере (неправильно введена только первая позиция).

Кошелек генерирует мнемонику: лента голосовой кадр черный противопоставить галактику разделить любую трубку максимально устал очевидно

Хэш SHA256: 00101011 11111111

mceclip3.png

Искусственно неверно введенная мнемоника: ребро голосовой кадр черный противопоставить галактику разделить любую трубку максимально устал очевидно

Хэш SHA256:00101011 11101010

mceclip4.png

Первые четыре бита каждой пары SHA256 идентичны, что указывает на то, что контрольная сумма также идентична.

Поскольку обе пары мнемокодов соответствуют BIP39, их можно восстановить с помощью кошельков с блокчейном.

Если мы сделаем базовое объяснение с точки зрения вероятности: сначала выберем случайное слово в качестве последнего мнемонического слова, а затем случайным образом выберем остальные 11 мнемонических слов, когда мнемоническое слово имеет длину 12 бит, мы сможем найти набор правильных слов 16 раз, а 24-битное вспомогательное слово — 256 раз.

Поэтому типично «ввести ошибочное слово и получить работающую мнемонику», но это не означает, что мнемоническая безопасность неточна.

Мнемотехнику иногда путают с «мозговыми кошельками», хотя это не одно и то же.

Основное различие заключается в том, что мозговые кошельки состоят из слов, выбранных пользователем, тогда как мнемоника генерируется случайным образом и предоставляется пользователю.

Наиболее существенное различие между ними — это аспект, который делает мнемонику более безопасной; в конце концов, люди имеют ограниченную способность генерировать случайные числа.

Это означает, что тот факт, что мнемоника, совместимая с BIP39, была искусственно протестирована, это не означает, что использование мнемоники, сгенерированной кошельком, небезопасно; два типа мнемоники различаются с точки зрения безопасности; Мнемоника, сгенерированная кошельком, более случайна (т. е. более безопасна), тогда как мозговой кошелек (с неправильной мнемоникой) с меньшей вероятностью будет генерироваться и использоваться случайным образом.

Кошелек генерирует действительно случайные числа, используя криптографически безопасные методы (например, аппаратный TRNG), поэтому качество случайности не может быть гарантировано обычным выбором мнемоники пользователем.

Нашли ответ на свой вопрос?