Крипто 1:1

Създаване и компрометиране на Bitcoin портфейл

Днес попаднах на интерен пост във pastebin в който анонимен потребител подробно разказва за свой рисърч относно биткойн портфейли и свързани с тях подозрителни активности. Постът на този тип е написан увлекателно и е ясно че е положил усилие, за да стигне до изводите. Целият пост може да прочетеш тук – Thanks for passing this along so it gets some attention

В рисърча си той обяснява как може да бъде компрометиран Биткойн портфейл, казано по друг начин как може да те обере някой, дори и да си мислиш че си взел всички необходими мерки за сигурност. Е не всички, но поне тези които специалистите биха те посъветвали. Методът е доста хитър – кражбата се случва още със създаването на портфейла, но се осъществява на по-късен етап, когато в портфейлът се налеят койни. Как така със създаването може би ще попиташ? Ако си прочел статията от по-горния линк не би задал такъв въпрос.

Механизмът за създаване на портфейл

…или какво се случва зад сцената при създаване на нов портфейл. Това което ти трябва за създаването на портфейл е едно елементарно нещо – един случаен номер. Този случаен номер е твоят private key. Той минава през Elliptic Curve Multiplication (еднопосочна криптографска функция), за да генерира твоят public key. След което този public key минава през еднопосочна хаш функция, за да генерира адреса на твоя портфейл.

изображение: Mastering Bitcoin Book by Andreas Antonopoulos

Генерирането на случаен номер е в основата на рисърча от поста в pastebin. Всъщност трикът е във въпроса каква е дефиницията на „случаен“. Ако хвърля 256 пъти ези-тора или зарчета това би ли ми дало случаен номер? Мисля че да. Но достатъчно случаен ли е? По-скоро не. При един милион генерирани по подобен начин ключа вероятността два или повече да са еднакви е значителна. Когато говорим за криптографски сигурни генератори на случайни числа, сигурният диапазон не е 1 към 1 милион, а 1 към 10 на 77-ма степен.

Private key-а не трябва просто да е случаен. За да е криптографски случаен private key-а трябва да е генериран от Cryptographically Secure Random Number Generator. От тук идва въпросът – когато генерираш случаен номер сигурен ли си, че генераторът, който използваш не е компрометиран? Особено когато това се случва във някоя онлайн услуга, като exchange например, където ти дори нямаш достъп до private key-a си.

Препоръка

1.За да намалиш рисковете се запознай с технологията преди да започнеш да я използваш.
2. Никога не съхранявай койните си в онлайн услуги, освен ако нямаш уважителна причина за това.

изображение: gowin.co.uk

Остави коментар