Как да извлечем частните ключове от хардуерен портфейл

Модератор: Moderators

Как да извлечем частните ключове от хардуерен портфейл

Мнениеот bruter » 24 Окт 2018, 13:32

Четете тази тема все едно, че цялата е написана с дебели червени букви!

Ако четете тази тема вероятно преди това сте прочели темата Как да извлечем Bitcoin адресите от хардуерен портфейл и сте запознати с мерките за безопасност когато сваляте файлове от интернет. Ако не сте запознати, е препоръчително да се запознаете.

Използвам Trezor и затова всички обяснения ще са за него, но едва ли има съществени разлики за другите хардуерни портфейли.

Изображение

Със сигурност за безопасното извличане на частните ключове може да се подходи по много начини. Аз ще опиша как според мен е правилно да се направи. Предупреждавам, че има рискове и всеки сам си носи отговорност за действията.

Идеята на хардуерните портфейли е да изнесат подписването на транзакциите извън компютъра и по този начин да ни позволят да ги използваме без притеснение (хардуерните портфейли) дори на компютър заразен с кийлогъри, ратове и всякакви други гадини. Във всички стъпки от описанието ще се ръководя от мисълта, че компютъра ми е заразен с най-опасните възможни вируси. Може да прескочите всяка стъпка която ви се стори прекалено параноична, но това си е на ваша отговорност.

Извличането на частните ключове от хардуерен портфейл е рисковано защото трябва да използваме 24-те думи с които се възстановява портфейла. Ако някой ни открадне тези 24 думи, всичко приключва.
Game Over!

Страхът ни не идва от това, че някой може да ни открадне частните ключове които ще извлечем от Трезора, защото ние преди това сме преместили всички биткоини от адресите свързани с тези ключове. Нашият страх са 24-те думи с които се възстановява портфейла и затова е допустимо тези думи да се въвеждат единствено на операционна система без достъп до интернет, стартирана от LiveCD, LiveDVD или LiveUSB drive което след това трябва да бъде унищожено! Аз ще използвам LiveDVD защото USB флашките ме плашат. Едно пъхане в заразен компютър може да промени firmware им и започват да поддържат разни екстри. Ако искате никога повече да не използвате USB флашка разгледайте какви са рисковете: Here's a List of 29 Different Types of USB Attacks , The Unpatchable Malware That Infects USBs Is Now on the Loose

USB е огромна дупка в сигурността и единствения начин да се запуши тази дупка е с епоксидна смола.


Цялата процедура по извличането на частните ключове може да бъде разделена на две основни части:
- преместване на биткоините на безопасно място
- извличане на частните ключове за конкретни Bitcoin адреси

I. Преместване на биткоините на безопасно място

В Трезора ми има няколко биткоина и след доста размисли как да ги преместя на безопасно място, без да си загубя съня, стигнах до следните три метода които ще подредя по степен на сигурност:

1. напълно безопасен

Създайте нов портфейл и изпратете всички коини от стария портфейл в новия. Вижте описанието как трябва да се направи това ако имате само един Trezor или ако имате повече от един: User manual:Moving funds to a wallet with a newly generated seed

Това е най-сигурният метод защото дори някой да ни открадне 24-те думи за стария портфейл докато извличаме частните ключове, биткоините ни ще са на сигурно място. Метода има няколко недостатъка:
- ако имате само един Trezor прехвърлянето ще е доста трудоемко
- ако освен Bitcoin имате и някакви шиткоини от рода на етър, лайт, зек и т.н. ще трябва да ги прехвърлите и тях

2. компромисен, но много удобен

Trezor има една изключително интересна опция и това е използването на парола за портфейла. По подразбиране тази опция не е включена, но ви съветвам да я включите дори и да не решите да използвате този метод. За паролите може да си мислите като за ключове които отключват отделни акаунти. В един Trezor може да имате неограничен брой акаунти. Едно от многото предимствата на акаунтите е, че дори и в случай на принуда, може да разкриете само един от тях. Внимавайте много със паролите, защото ако забравите паролата за някой акаунт, се сбогувате със средствата в него.

Изображение

Намислете си някаква парола (която не сте използвали досега като ключ към акаунт в Трезора) и това ще е ключа за новия ви акаунт. Прехвърлете всички биткоини от акаунтите в които има адреси на които ще извличате частните ключове, в новия акаунт. Аз използвам този метод, но когато си взема новия модел Trezor, ще използвам първия метод.

Този метод е напълно безопасен само ако използвате Trezor Model T защото при него паролите за акаунтите се въвеждат от Трезора а не от компютъра и кийлогърите не са проблем.

Рискове: в някакъв момент може да забравите, че не трябва да използвате старите акаунти и да започнете да ги използвате.

3. безопасен, но само ако стриктно спазвате някои правила

Изпратете абсолютно цялата сума от вашия портфейл на нов, неизползван досега адрес в същия портфейл. Никога повече не изпращайте биткоини към адресите на които ще извлечем частните ключове.

Рискове: в някакъв момент може да забравите, че не трябва да използвате адресите на които сте извлекли частните ключове.
Решение: за всяка Bitcoin транзакция към вашия Trezor, винаги вземайте от него адрес за получаване. Трезора винаги предлага нови, неизползвани досега адреси.


II. Извличане на частните ключове за конкретни Bitcoin адреси

За LiveDVD ще използвам Ubuntu Desktop 14.04.4 защото съдържа всичко необходимо за нашите цели - браузър, текстов редактор, софтуер за записване на дискове и може да се стартира без да се инсталира.

1. изтеглете ubuntu-14.04.4-desktop-amd64.iso от http://old-releases.ubuntu.com/releases/14.04.4/ заедно с SHA256SUMS и SHA256SUMS.gpg

http://old-releases.ubuntu.com/releases ... -amd64.iso
http://old-releases.ubuntu.com/releases ... SHA256SUMS
http://old-releases.ubuntu.com/releases ... 56SUMS.gpg

2. изтеглете публичните ключове с които ще проверите подписа на SHA256SUMS и ги съхранете като gpgkey-Ubuntu-1.asc и gpgkey-Ubuntu-2.asc:

https://keyserver.ubuntu.com/pks/lookup ... 33FBB75451
https://keyserver.ubuntu.com/pks/lookup ... F0EFE21092

3. импортвайте публичните ключове които служат за верификация на файла с чексумите:
Код за потвърждение: Избери целия код
"C:\Program Files (x86)\GnuPG\bin\gpg.exe" --import gpgkey-Ubuntu-1.asc
"C:\Program Files (x86)\GnuPG\bin\gpg.exe" --import gpgkey-Ubuntu-2.asc

4. верифицирайте SHA256SUMS:
Код за потвърждение: Избери целия код
"C:\Program Files (x86)\GnuPG\bin\gpg.exe" --keyid-format long --verify SHA256SUMS.gpg SHA256SUMS

Изходът трябва да е нещо подобно (най-важно е да съвпадат Primary key fingerprint):
Код за потвърждение: Избери целия код
gpg: Signature made 02/17/17 01:12:41 FLE Standard Time
gpg:                using DSA key 46181433FBB75451
gpg: Good signature from "Ubuntu CD Image Automatic Signing Key <[email protected]>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: C598 6B4F 1257 FFA8 6632  CBA7 4618 1433 FBB7 5451
gpg: Signature made 02/17/17 01:12:41 FLE Standard Time
gpg:                using RSA key D94AA3F0EFE21092
gpg: Good signature from "Ubuntu CD Image Automatic Signing Key (2012) <[email protected]>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 8439 38DF 228D 22F7 B374  2BC0 D94A A3F0 EFE2 1092

5. проверете дали SHA256 хеша на ubuntu-14.04.4-desktop-amd64.iso съвпада с този в SHA256SUMS файла. Аз използвам CyoHash, защото позволява много лесна и удобна верификация.

6. създайте LiveDVD върху DVD-R или DVD+R: BurningIsoHowto. Аз ще използвам CDBurnerXP защото искам да съм сигурен, че диска е финализиран и е невъзможно да се пише върху него. Windows Disc Image burner не винаги финализира дисковете а и контрола какво се случва е почти никакъв: CD not finalized after burining an ISO image with Windows Disc Image burner. Задължително е да използвате DVD-R или DVD+R. Не използвайте RW носители. Аз ще използвам портативната версия на CDBurnerXP:

https://download.cdburnerxp.se/portable ... 8.7035.zip

Изображение

7. проверете диска за грешки: Verifying the CD/DVD Integrity. Натиснете стрелка наляво, когато со появи картинката с клавиатура и човече, за да стигнете до менюто.

8. изтеглете и импортвайте публичния ключ на Ian Coleman: https://raw.githubusercontent.com/ianco ... 98EB23.txt
Код за потвърждение: Избери целия код
"C:\Program Files (x86)\GnuPG\bin\gpg.exe" --import B89A317AB798EB23.txt

9. за извличане на частните ключове ще използваме BIP39 Tool. Изтеглете bip39-standalone.html и signature.txt.asc

https://github.com/iancoleman/bip39/rel ... alone.html
https://github.com/iancoleman/bip39/rel ... re.txt.asc

10. верифицирайте bip39-standalone.html:
Код за потвърждение: Избери целия код
"C:\Program Files (x86)\GnuPG\bin\gpg.exe" --verify signature.txt.asc

Изходът трябва да е нещо подобно (най-важно е да съвпадат Primary key и Subkey fingerprint):
Код за потвърждение: Избери целия код
gpg: Signature made 07/26/18 05:05:45 FLE Daylight Time
gpg:                using RSA key 8DA6044ECA5B2250CA84ECEC6C0E00B41F231F5C
gpg:                issuer "[email protected]"
gpg: Good signature from "Ian Coleman <[email protected]>" [unknown]
gpg:                 aka "Ian Coleman <[email protected]>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: BB69 83D0 00DA 6463 79A1  5BBB B89A 317A B798 EB23
     Subkey fingerprint: 8DA6 044E CA5B 2250 CA84  ECEC 6C0E 00B4 1F23 1F5C

11. Проверете дали SHA256 хеша на bip39-standalone.html съвпада с този в signature.txt.asc файла.

12. запишете върху CD-R, bip39-standalone.html и файла с адресите за които ще търсите частните ключове (ще използвам за име на файла addr_plus_keys.txt). Финализирайте диска.

13. сложете диска с Ubuntu и boot-вайте от него. От менюто изберете 'Try Ubuntu without installing', натиснете F6 и веднага след това Esc. В текстовото поле което ще се появи, добавете думата toram преди quiet и натиснете Enter. Целта на тази промяна е Ubuntu да се зареди изцяло в RAM паметта, за да може да извадим диска и DVD-то да остане свободно.

14. когато Ubuntu зареди напълно, извадете DVD диска

15. намерете горе вдясно менюто за мрежата и махнете чавките пред Enable Wi-Fi и Enable Networking

16. уверете се че нямате достъп до интернет като се опитате да посетите някой сайт

17. вкарайте диска с bip39-standalone.html и addr_plus_keys.txt. Създайте папка на десктопа и изкопирайте файловете в нея. Извадете диска.

18. отворете bip39-standalone.html в браузъра и въведете 24-те думи в полето BIP39 Mnemonic

19. изберете Bitcoin в полето Coin

20. отворете файла addr_plus_keys.txt с адресите за които ще търсите частните ключове

21. ако използвате акаунти въведете паролата за един от тях в полето BIP39 Passphrase (optional)

22. в Derivation Path изберете таб (BIP44, BIP49 или BIP84), според това за какъв вид адреси търсите частните ключове, и 0 или 1 в полето External/Internal, според това дали адресите са External или са Internal (change адреси):

BIP44: (P2PKH, m/44'/0'/0'/0') - адресите които се виждат в Трезора през Web интерфейса
BIP44: (P2PKH, m/44'/0'/0'/1') - change адресите

BIP49: (P2WPKH-P2SH, m/49'/0'/0'/0')
BIP49: (P2WPKH-P2SH, m/49'/0'/0'/1') - change

BIP84: (P2WPKH, m/84'/0'/0'/0')
BIP84: (P2WPKH, m/84'/0'/0'/1') - change

23. намерете частния ключ за всеки един от адресите които търсите и го запишете срещу съответния Bitcoin адрес в addr_plus_keys.txt файла

24. повторете стъпките от 21 до 23 включително за всеки акаунт в който търсите частните ключове на Bitcoin адреси

25. стартирайте Applications -> Brasero Disk Burner, създайте Data project и запишете addr_plus_keys.txt файла на CD.

26. Shutdown


Направих тази серия от теми защото съм Bitcoin фанатик и това е моят принос Да потопим шиткоин форковете на Bitcoin до дъното
На прос човек мое да му набиеш само един .Ур, акъл нема как да му набиеш
bruter
Bitcoin Fanatic
 
Мнения: 202
Регистриран на: 05 Авг 2013, 13:31

Re: Как да извлечем частните ключове от хардуерен портфейл

Мнениеот Metamorph » 22 Ное 2020, 14:26

Как подкарвате този bip39 да работи без интернет?
Пробвах на андроид с няколко браузъра - не работи.
Сега пробвам на ubuntu и пак не работи. Или показва валутите, но не променя деривейшъна или въобще не показва монетите.
Има някакъв проблем за работа без интернет. Браузъра ли не уцелвам?
Отгоре на страницата стои надпис Loading непрекъснато.
Задавам на браузъра да е офлайн - все същото.

Мдааааааа, подлъгах се да изтегля най-новата версия. За пореден път се оказва, че новото не винаги върши работа.
Metamorph
 
Мнения: 395
Регистриран на: 03 Сеп 2013, 12:02


Назад към Общи Дискусии

Кой е на линия

Регистрирани потребители: AJB, Bing [Bot], ionicle, Sevo, viniamin