Як безпечно згенерувати фразу відновлення 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 слова — це виділений фрагмент тексту вище. Далі давайте запустимо найпростіший спосіб перетворення слів у числа.
Кожній літері ми присвоюємо наступний номер індексу.
Таким чином ми отримуємо:
Далі перетворимо кожне слово вибраного фрагмента в число простим додаванням:
harriet
8+1+18+18+9+5+20
79
sixteen
19+9+24+20+5+5+14
96
saturday
19+1+20+21+18+4+1+25
109
На цьому ми можемо сміливо зупинитися та використати отримані вище результати як індекси для стандартного списку BIP39. Але, як ви, мабуть, помітили, результатний діапазон значень є досить вузьким, коливається від 1 до 109. Це просто тому, що в алфавіті лише 26 літер, а середня довжина слова становить лише кілька літер.
Число 1966 є щасливим винятком, який виникає лише тому, що дата випадково зустрічається у фрагменті тексту. Майте на увазі, що числа зазвичай не з’являються в стандартному тексті, тому ви, ймовірно, не зустрінете їх у своєму випадку. Якщо ви хочете розширити цей діапазон, ви можете ввести додатковий математичний крок.
Щоб розтягнути результат більше на простір 2048 елементів (BIP39), давайте додамо кожне число кратне деякому додатковому випадковому числу.
Нехай буде 40. Таким чином, ми додаємо 40 до першого індексу, 80 до другого (2 помножити на 40), 120 до третього (3 помножити 40) і так далі.
Після такого процесу ми нарешті отримуємо індекси BIP39, які надають нам конкретні слова BIP39:
Для результатного набору слів ми обчислюємо можливу 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, починаючи з першого рахунку Лаудрупа, якби хотіли знайти мій код або паролі?
Ви б навіть подумали про це, якби не прочитали абзац вище? Б’юся об заклад, ви б цього не зробили.
Якщо у вас є готівка чи золотий злиток, ви можете сховати їх у скрині або закопати в лісі. Якщо ви володієте активами на основі блокчейну,
цей метод дозволяє приховувати та зберігати їх у будь-якому нематеріальному вмісті, не залишаючи слідів. Це досить революційно.
Потрібно лише пам’ятати, що метод завжди має ґрунтуватися на вашій власній ідеї. Ніколи не слід копіювати те, про що ви читали в Інтернеті.
Усе, що написано в Інтернеті, стає скомпрометованим назавжди. Будьте креативними.
Більшість власників Ledger Nano в якийсь момент починають замислюватися, чи є можливість налаштувати свій фраза відновлення. Можливо, деякі з них йдуть ще далі і намагаються використовувати навмання вибрані слова в опції відновлення. читати...
Почнемо з того, що виробник не надає такої можливості. І це не випадково. Безпечна фраза відновлення – це те, про яке ніхто не може вгадати. Якщо так, тоді це має бути об’єктивно випадковим. читати...