Як безпечно згенерувати фразу відновлення BIP39?

Вибір правильного вихідного матеріалу

Як ми дійшли висновку, шукаючи рішення, ми маємо дотримуватися двох умов суперечливі умови - послідовність повинна бути мнемонічної, але в той же час абсолютно випадковою.
Неможливо? Не обов’язково. Уважно дивлячись на наше оточення, ми можемо припустити, що майже все навколо нас несе певні дані. Кожна газета, кожна фотографія та кожна інформація, доступна в публічному просторі, надає корисні дані. Найбільш очевидними та поширеними є математичні та фізичні константи, математичні рядки та ряди, просторові відстані, хімічні константи тощо. У будь-якій точці світу ми можемо легко отримати до них доступ без необхідності записувати їх і носити з собою. Така функція є великою перевагою і чудова робоча основа для нашого завдання. Цифри є найочевиднішими, але не єдиними даними, які ми можемо використати. У той час як тривалість життя газети коротка, і будь-які минули випуски важко достати, книги здебільшого безсмертні. Лідери продажів і чудові твори літератури доступні по всьому світу. Тепер єдине що нам потрібно це вибрати один і вказати індивідуальний та легкий для запам’ятовування метод, який приведе нас розумним шляхом до вилучення необхідний набір слів. Після досягнення нам більше не потрібно записувати або запам’ятовувати. Знання нашого індивідуального методу — це єдине, що нам потрібно, щоб відновити фраза відновлення будь-коли, коли нам потрібно, використовуючи лише олівець і аркуш паперу. Можливості для створення методу нескінченні; Єдиним обмеженням є наша власна уява.

Для прикладу виберемо одну з моїх улюблених книг, відому в усьому світі: The Millennium Trilogy від Stieg Larsson. Це був світовий бестселер 2009 року. 1, з 45 мільйонами примірників, проданих по всьому світу в рік виходу. Багаторазово перевиданий, тепер доступний навіть онлайн. Я не сумніваюся, що можу роздобути це будь-де в цивілізованому світі, якби мені тільки було.
Тут важливе застереження: той факт, що це моя улюблена книга, має автоматично виключати її як вибір. Будь-хто, хто мене знає, може здогадатися, що я використовував це як основу для мого ключа. Вихідний матеріал має бути нейтральним, і цей вибір порушує це правило. Це результат моїх індивідуальних схем мислення та емоційної участі, у цьому конкретному випадку моїх літературних уподобань. Це пастка, яку слід завжди намагатися уникати з міркувань безпеки.
Але навіть якщо ви піддастеся спокусі та виберете свою улюблену книгу, наступний крок ефективно усуне всі ризики.

Я вибираю частина 1, „The girl with the dragon tattoo”. Тепер настав час для повністю випадкового компонента — це єдине, що мені насправді доведеться запам’ятати. Щоб виділити випадкову частину тексту, я вибираю розділ 5. Щоб зробити рандомізацію ще глибшою, я не починаю з самого початку розділу, а радше занурююся в нього. Я вибираю випадкове число, наприклад, 50. Пам’ятайте, що це може бути будь-яке інше число, навіть набагато більше, наприклад 1991, яке легко запам’ятати як рік проголошення незалежності України. Отже, тепер давайте подивимося, що ми отримуємо. Початок 5-го розділу це:

„Thursday, December 26
For the first time since he began his monologue, the old man had managed to take Blomkvist by surprise. He had to ask him to repeat it to be sure he had heard correctly. Nothing in the cuttings had hinted at a murder. It was September 24, 1966. Harriet was sixteen and had just begun her second year at prep school. It was a Saturday, and it turned into the worst day of my life. I've gone over the events so many times that I think I can account for what happened in every minute of that day - except the most important thing.(...) ”

У цьому прикладі я розглядаю кожен рядок літер (за винятком знаків пунктуації) як окреме слово, але пам’ятайте, що ви можете винайти власні правила. Я рахую до 50-го слова, яке в цьому конкретному випадку це число 24. Починаючи з цього моменту, я вибираю наступні 23 слова — це виділений фрагмент тексту вище. Далі давайте запустимо найпростіший спосіб перетворення слів у числа. Кожній літері ми присвоюємо наступний номер індексу.
Таким чином ми отримуємо:

A
1
B
2
C
3
D
4
E
5
F
6
G
7
H
8
I
9
J
10
K
11
L
12
M
13
N
14
O
15
P
16
Q
17
R
18
S
19
T
20
U
21
V
22
W
23
X
24
Y
25
Z
26

Далі перетворимо кожне слово вибраного фрагмента в число простим додаванням:

24
-
24
1966
-
1966
harriet
8+1+18+18+9+5+20
79
was
23+1+19
43
sixteen
19+9+24+20+5+5+14
96
and
1+14+4
19
had
8+1+4
13
just
10+21+19+20
70
begun
2+5+7+21+14
49
her
8+5+18
31
second
19+5+3+15+14+4
60
year
25+5+1+18
49
at
1+20
21
prep
16+18+5+16
55
school
19+3+8+15+15+12
72
it
9+20
29
was
23+1+19
43
a
1
1
saturday
19+1+20+21+18+4+1+25
109
and
1+14+4
29
it
9+20
29
turned
20+21+18+14+5+4
82
into
9+14+20+15
58

На цьому ми можемо сміливо зупинитися та використати отримані вище результати як індекси для стандартного списку BIP39. Але, як ви, мабуть, помітили, результатний діапазон значень є досить вузьким, коливається від 1 до 109. Це просто тому, що в алфавіті лише 26 літер, а середня довжина слова становить лише кілька літер. Число 1966 є щасливим винятком, який виникає лише тому, що дата випадково зустрічається у фрагменті тексту. Майте на увазі, що числа зазвичай не з’являються в стандартному тексті, тому ви, ймовірно, не зустрінете їх у своєму випадку. Якщо ви хочете розширити цей діапазон, ви можете ввести додатковий математичний крок. Щоб розтягнути результат більше на простір 2048 елементів (BIP39), давайте додамо кожне число кратне деякому додатковому випадковому числу. Нехай буде 40. Таким чином, ми додаємо 40 до першого індексу, 80 до другого (2 помножити на 40), 120 до третього (3 помножити 40) і так далі. Після такого процесу ми нарешті отримуємо індекси BIP39, які надають нам конкретні слова BIP39:

24
64
among
1966
2046
zero
79
199
boat
43
203
bone
96
296
ceiling
19
259
cake
13
293
cause
70
390
cost
49
409
credit
31
431
cupboard
60
500
dinosaur
49
529
dragon
21
541
drum
55
615
error
72
672
fault
29
669
fatal
43
723
fog
1
721
foam
109
869
hold
29
819
green
29
869
hold
82
962
join
58
978
kick

Для результатного набору слів ми обчислюємо можливу 24-ту контрольну суму слів і вибираємо одне. Ми вже зробили це в прикладі на першій сторінці, і ми знаємо, що одна з можливостей — "agent".

Таким чином ми створили власне безпечна фраза відновлення. Його об’єктивна випадковість випливає з нашого вибору книги та нашого абсолютно випадкового вибору тексту.
Навіть якщо книга ваша улюблена і деякі люди можуть асоціювати її з вами, випадковий вибір тексту та індивідуальний метод трансформації гарантує високий рівень безпеки створеного зерна.

Будь ласка, зверніть увагу, що отримане фраза відновлення так само важко запам’ятати, як будь-яке інше, надане внутрішнім генератором Ledger. Це найкращий доказ його випадковості та безпеки. Але різниця в тому, що тепер вам не потрібно запам’ятовувати це або записувати. Ви будете відновлювати його в будь-який час, використовуючи лише книгу, олівець і аркуш паперу. І все, що вам потрібно запам’ятати, це три числа:

5
номер глави
50
номер слова в главі, що позначає початок фрагмента тексту
40
компонент, доданий до кожного індексу BIP39, спочатку помножений на індекс слова

Гадаю, ви погоджуєтесь, що запам’ятати набагато легше, ніж будь-які 24 випадкові слова?
І ця справа все ще набагато складніша, ніж це необхідно. Пам’ятайте, що третій компонент не потрібний. Ми встановили це лише для проекції результату, який ми отримали, на повний діапазон набору BIP39.

Підіб'ємо підсумок:
Насправді ми не обрали фраза відновлення вище. Але ми вибрали джерело та метод його генерування. Як результат, тепер ми можемо відновити його в будь-який час, просто повторивши процес генерації.

І останнє, але не менш важливе, пам’ятайте, що наведений вище приклад не є суворим правилом чи шаблоном. Ваш особистий метод може відрізнятися на кожному етапі. Вам не обов’язково використовувати безперервний фрагмент тексту. Ви можете почати з будь-якої випадкової точки та вибирати кожне друге слово, кожне п’яте слово або кожне сто двадцять сьоме слово. Все залежить від вас. Вам не потрібно обмежувати фрагмент тексту лише 23 словами. Це може бути довше, і ви можете трансформуватись кілька наборів слів в окремий індекс BIP39. Ви можете вибрати слова вперед чи назад, і лише ви будете той, хто знає це. Вам не потрібно призначати наступні числа наступним буквам, але ви можете створити будь-яке інше просте для запам’ятовування правило, наприклад, 5, 10, 15, 20.... або послідовні прості числа. Можливості безмежні, це лише справа вашої власної уяви. Це завжди повинна бути ваша власна, індивідуальна та унікальна схема. Без необхідності зазначати.

Ось інший приклад: давайте замість книги виберемо серіал.
Телесеріал зазвичай складається з десятків або навіть сотень серій, і кожна серія зазвичай має назву. Використовуючи наведений вище метод, ви можете легко перетворити одну назву епізоду на один індекс BIP39. По всьому світу виникли десятки тисяч серіалів, і з кожним роком ця цифра зростає. Просто виберіть навмання один, отримайте 23 серії на власний вибір і перетворіть їх у набір із 23 слів BIP39. Ви вирішуєте, чи вибрати ви щось сучасне, Columbo з 70-х чи навіть Bonanza з початку 60-х. Ви можете легко знайти в Інтернеті повний список назв епізодів кожного телесеріалу, незалежно від скільки він старий. Вам не потрібно пам’ятати нічого більше, ніж просто серії вибір способу та методу перетворення.

Ще один приклад.
Вам не обов’язково використовувати будь-який текст. Як ми вже сказали на початку, цифри так само гарні. Забудьте про математичні та фізичні константи. Вони корисні, але вибрати менш очевидне джерело ще краще. Як щодо безсмертної та незмінної спортивної статистики? Олімпійські ігри? ФІФА? УЄФА? Просто виберіть турнір і використайте перші 23 цілі. Звісно, ​​це лише одна з тисячі можливостей. Цілі не обов’язково повинні бути першими, ви можете також вибрати останні 23 голи. Або будь-які інші 23 голи, починаючи з зазначеного матчу або дати. Перенесено вперед або назад. Кожен гол було застрелено за конкретну хвилину, і ця інформація ніколи не зміниться в статистиці. Таким простим способом ви отримаєте 23 числа в діапазоні 1-120. Ви можете використовувати його безпосередньо як індекси BIP39 або проектувати їх на повний діапазон 2048 елементів BIP39 за допомогою будь-якої простої математичної операції на ваш власний вибір.

Варто зазначити, що вам не потрібно впадати в крайнощі з методом трансформації. Можливості вибору основи джерела нескінченні. Це означає, що можливість вгадати той, що саме ваш, близька до нуля. Якщо так, то вам дійсно не потрібно збільшувати наступні кроки трансформації. Поки ваше джерело та метод базуються на вашому власному виборі та ідеї, навіть проста трансформація все одно безпечна.

Все ще не впевнені? Є сумніви?
Тоді будьте чесними та дайте відповідь на це запитання: чи ви б перевірили хвилини голь на ЄВРО 1988, починаючи з першого рахунку Лаудрупа, якби хотіли знайти мій код або паролі? Ви б навіть подумали про це, якби не прочитали абзац вище? Б’юся об заклад, ви б цього не зробили.

Якщо у вас є готівка чи золотий злиток, ви можете сховати їх у скрині або закопати в лісі. Якщо ви володієте активами на основі блокчейну, цей метод дозволяє приховувати та зберігати їх у будь-якому нематеріальному вмісті, не залишаючи слідів. Це досить революційно.
Потрібно лише пам’ятати, що метод завжди має ґрунтуватися на вашій власній ідеї. Ніколи не слід копіювати те, про що ви читали в Інтернеті. Усе, що написано в Інтернеті, стає скомпрометованим назавжди. Будьте креативними.

recovery-phrase-is-invalid-retry

Чи можна налаштувати свою фразу відновлення?

Більшість власників Ledger Nano в якийсь момент починають замислюватися, чи є можливість налаштувати свій фраза відновлення. Можливо, деякі з них йдуть ще далі і намагаються використовувати навмання вибрані слова в опції відновлення. читати...