BTC
ETH
HTX
SOL
BNB
Xem thị trường
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

Kiểm tra linh hồn ví HD: ví nào có thể chịu được bài kiểm tra?

Cobo钱包
特邀专栏作者
2020-03-06 14:18
Bài viết này có khoảng 3422 từ, đọc toàn bộ bài viết mất khoảng 5 phút
Nhập các cụm từ ghi nhớ không hợp lệ cũng có thể trực tiếp tạo ví?
Tóm tắt AI
Mở rộng
Nhập các cụm từ ghi nhớ không hợp lệ cũng có thể trực tiếp tạo ví?

—Viết bởi | Trình quản lý Cobo Vault

Tôi tin rằng tất cả các sinh viên đã sử dụng "ví phi tập trung" đều quen thuộc với các từ ghi nhớ.

Cho dù đó là ví phần cứng hay ví phần mềm, có hai cách để tạo ví:

  • Tạo các từ ghi nhớ: ví tạo ngẫu nhiên một tập hợp các từ ghi nhớ và người dùng cần sao chép và sao lưu

  • Nhập các từ ghi nhớ: người dùng nhập một tập hợp các từ ghi nhớ hiện có vào ví để khôi phục tài sản

Sau đó, làm thế nào để ghi nhớ trở thành khóa riêng chính của chúng tôi và sau đó tạo tất cả các khóa riêng phụ ở chế độ HD?

nó thực sự rất dễ dàng. Một tập hợp các thuật nhớ, sau 2048 vòng thuật toán HMAC-SHA512, tạo ra một khóa riêng tư chính, sau đó tạo ra một tập hợp các ví HD.

Do đó, có sự tương ứng 1-1 giữa cụm từ ghi nhớ và khóa riêng chính và một tập hợp các cụm từ ghi nhớ tương ứng với khóa riêng chính, tức là tương ứng với ví HD.

Bạn đã bao giờ nghĩ về một câu hỏi rất đáng sợ ở đây chưa:

Ví dụ, đây là 12 cách ghi nhớ trong tay của người bán hàng:

cat tonight sadness walnut fan captain sure assume gorilla caution story pull 

Để thuận tiện, chúng tôi gọi tập hợp từ này là [mnemonic mèo]

Tuy nhiên, khi người bán hàng nhập [cụm từ ghi nhớ mèo] vào ví, từ đầu tiên mà bàn tay run rẩy nhập vào trở thành từ chó, vì vậy cụm từ ghi nhớ trở thành:

dog tonight sadness walnut fan captain sure assume gorilla caution story pull

Để thuận tiện, chúng tôi gọi tập hợp từ này là [từ ghi nhớ của chó]

Đây là lúc bi kịch bắt đầu.

Là một bên tích trữ 24K thuần túy, chủ cửa hàng đã làm việc chăm chỉ để tiết kiệm tiền và nạp tất cả niềm tin của mình vào địa chỉ dưới [cụm từ ghi nhớ của chó].

Rồi một ngày nào đó, có thể do điện thoại di động hoặc ví phần cứng bị hỏng, hoặc ứng dụng ví có thể bị xóa do bắt tay, tóm lại là vì nhiều lý do, cần phải lấy bộ nhớ ra để khôi phục tài sản.

Lúc này, chủ tiệm lấy ra [cụm từ ghi nhớ mèo] đầy bụi bặm, nhập vào trong ví.

Như đã đề cập trước đó, một bộ ghi nhớ tương ứng một-một với ví HD. Tại thời điểm này, địa chỉ được khôi phục bằng cách sử dụng [cụm từ ghi nhớ của mèo] khác với địa chỉ của [cụm từ ghi nhớ của chó]. Nói cách khác, dưới [mnemonic mèo], không có tài sản.

Vì nhập nhầm một từ chó dễ nhớ nên toàn bộ tài sản và niềm tin của chủ tiệm đều bị mất sạch.

Nó có sợ không?

Trên thực tế, các nhà phát triển Bitcoin hóm hỉnh đã nghĩ ra tất cả những điều này từ lâu. Họ xác định một giao thức chuẩn cho việc ghi nhớ và xác minh xem tất cả các cách ghi nhớ có hợp lệ hay không.

Trước khi nói về "nguyên tắc xác minh", người bán hàng đầu tiên phổ biến một kiến ​​​​thức cơ bản về trí nhớ.

BIP39 xác định tiêu chuẩn cho các từ ghi nhớ, bao gồm từ vựng gồm 2048 từ (link tham khảo 1). Miễn là tất cả các ví đều tuân theo BIP39, thì các thuật nhớ được tạo ra sẽ được lấy từ từ vựng 2048 từ này và tất cả các từ của [cat memonic] cũng không ngoại lệ.

Mỗi từ trong 2048 từ vựng được đánh dấu bằng một số thứ tự, từ "0" đến "2047". Dãy số lớn nhất "2047" chính xác là 11 chữ số "11111111111" trong biểu diễn nhị phân. Do đó, đối với mỗi từ trong từ vựng, chúng ta có thể tương ứng với một số nhị phân 11 bit theo số sê-ri của nó. Đối với những số ít hơn 11 chữ số sau khi chuyển đổi nhị phân, chúng tôi thêm "0" vào trước số nhị phân của nó cho đến khi đủ 11 chữ số.

Ví dụ: cat là từ thứ 287, số sê-ri là "286" và số nhị phân 11 chữ số tương ứng của nó là "100011110". Chúng tôi tạo thành 11 chữ số và biểu thị nó là "00100011110".

Tiếp theo, hãy xem các bước "xác minh" cụ thể:

Bước 1: Theo cách làm trên ta tìm được số nhị phân 11 bit tương ứng với 12 từ của [cat mnemonic] theo bộ 2048 từ vựng.

Bước 2: Ta xâu chuỗi các số nhị phân 11 bit tương ứng với 12 từ này để được số nhị phân 132 bit:

001000111101110010010010111101111111101101100101001011000100010001110110100000000110111101100100101001001001011101011010010101101010

Bước 3: Chúng tôi chia số nhị phân 132 bit này thành hai phần, 128 bit ở bên trái và 4 bit ở bên phải.

128 bit còn lại: 00100011110111001001001011110111111101101100101001011000100010001110110100000000110111011001001010010010010111010 1101001010110

4 chữ số bên phải (giá trị kiểm tra): 1010

Bước 4: Chúng tôi bắt đầu xác minh tính hợp lệ của bộ ghi nhớ này.

Nguyên tắc đánh giá tính hợp lệ: 4 bit đầu tiên của kết quả SHA256 của số nhị phân 128 bit bên trái phải bằng số nhị phân 4 bit bên phải.

Hãy kiểm tra kết quả của [cat memonic].

Đặt số nhị phân 128 bit bên trái vào máy tính SHA256 trực tuyến (tham khảo liên kết 2)

(Không sử dụng các công cụ trực tuyến để xác minh các cụm từ ghi nhớ bằng tiền!!!)

Có thể thấy rằng 4 chữ số đầu tiên của kết quả SHA256 chính xác là 4 chữ số "1010" ở bên phải của số nhị phân 132 bit.

Điều này có nghĩa là [cụm từ ghi nhớ của mèo] đã vượt qua quá trình xác minh và là một tập hợp các cụm từ ghi nhớ hợp lệ, sau đó nó có thể tham gia quy trình tạo khóa riêng chính tiếp theo.

Vậy thì hãy làm ngay một bài tập để xem [dog mnemonic] gõ nhầm một từ có vượt qua được vòng xác minh hay không:

Bước 1: [dog mnemonic] 12 từ tương ứng với số nhị phân 11 bit của từ vựng như sau:

Bước 2: Xâu chuỗi các số nhị phân 11 bit tương ứng với 12 từ này lại với nhau để được số nhị phân 132 bit:

010000001001110010010010111101111111101101100101001011000100010001110110100000000110111101100100101001001001011101011010010101101010

Bước 3: Chia số nhị phân 132 bit này thành hai phần, 128 bit ở bên trái và 4 bit ở bên phải:

128 bit còn lại: 01000000100111001001001011110111111101101100101001011000100010001110110100000000110111011001001010010010010111010 1101001010110

4 chữ số bên phải (giá trị kiểm tra): 1010

Bước 4: Đặt số nhị phân 128-bit ở bên trái của [dog mnemonic] vào máy tính SHA256.

(Không sử dụng các công cụ trực tuyến để xác minh các cụm từ ghi nhớ bằng tiền!!!)

Có thể thấy rằng 4 chữ số đầu tiên của kết quả SHA256 là "0010", không phù hợp với 4 chữ số bên phải "1010" của số nhị phân 132 bit.

Bằng cách này, nhóm [từ ghi nhớ cho chó] này không thể vượt qua quá trình xác minh và ứng dụng ví được phát triển theo giao thức BIP39 tiêu chuẩn sẽ nhắc người dùng kiểm tra các từ ghi nhớ của chính họ. Lúc này, người dùng sẽ tìm ra lỗi và thay đổi "chó" thành đúng "mèo" để vượt qua xác minh và hoàn tất việc tạo ví, điều này cũng có thể tránh được bi kịch.

Cuối cùng, chúng ta cùng làm bài tập về nhà xem các ví HD nổi tiếng trong và ngoài nước có kiểm tra lỗi các từ ghi nhớ theo giao thức chuẩn BIP39 khi nhập một bộ từ ghi nhớ không hợp lệ hay không?

Vì mục đích kiểm tra chỉ có thể đạt được bằng cách nhập một tập hợp các cách ghi nhớ không hợp lệ, nên để thuận tiện, chúng tôi không nhập các cách ghi nhớ phức tạp mà nhập trực tiếp 12 con mèo (đây là một tập hợp các cách ghi nhớ không hợp lệ). Kết quả thanh tra như sau:

Công ty đầu tiên: imToken đã vượt qua bài kiểm tra thành công!

Thứ hai: Huobi Wallet đã vượt qua bài kiểm tra thành công!

Thứ ba: Trust Wallet đã vượt qua bài kiểm tra thành công!

Lần thứ tư: BRD đã vượt qua bài kiểm tra thành công!

Công ty thứ năm: BitPay đã vượt qua bài kiểm tra thành công!

Công ty thứ sáu: imKey đã vượt qua bài kiểm tra thành công!

Ngôi nhà thứ bảy: Cobo Wallet và Cobo Vault, đã vượt qua bài kiểm tra thành công!

Công ty thứ tám: Ví Bitpie, không có xác minh ghi nhớ, ghi nhớ không hợp lệ có thể tạo ví, không có lỗi ghi nhớ.

Thứ chín: Ví phần cứng Bitshield. Cách ghi nhớ của Bitshield được nhập trên điện thoại di động, khi nhập 12 cách ghi nhớ sẽ có từ khó hiểu, nhưng khi nhập 24 cách nhớ sẽ không có từ nào nên chúng tôi nhập 24 con mèo (đây cũng là cách ghi nhớ không hợp lệ) thử và kết quả là không có lỗi ghi nhớ

Cuối cùng, tôi muốn nhắc mọi người về điểm rủi ro của ví phần cứng:

Khi người bán hàng kiểm tra hoạt động xác minh các từ ghi nhớ, anh ta phát hiện ra rằng một số ví phần cứng đã hoàn thành việc nhập các từ ghi nhớ trên điện thoại di động.

Lý do tại sao chúng tôi sử dụng ví phần cứng là để lưu trữ ngoại tuyến khóa ghi nhớ/khóa cá nhân.

Một giải pháp ở đây là xáo trộn thứ tự từ và thêm các từ khó hiểu trên điện thoại di động khi nhập từ ghi nhớ vào ví phần cứng. ghi nhớ), khi chúng ta nhập từ ghi nhớ trên điện thoại di động, đầu lạnh sẽ nhắc:

Vui lòng nhập ghi nhớ thứ ba trên điện thoại di động của bạn (nhập từ bỏ)

Vui lòng nhập mèo trên điện thoại của bạn

Vui lòng nhập ghi nhớ thứ 12 trên điện thoại di động của bạn (nhập về)

Vui lòng nhập con chó trên điện thoại của bạn

Vui lòng nhập ghi nhớ thứ 6 trên điện thoại di động của bạn (nhập từ bỏ)

Vui lòng nhập khu vực trên điện thoại của bạn

mèo, chó, khu vực là những từ khó hiểu

Nhưng việc nhầm từ + xáo trộn trật tự từ nhập liệu có thực sự hữu ích?

Liên kết tham khảo:

Liên kết tham khảo:

[1] https://github.com/

[2] https://cryptii.com/

安全
钱包
Chào mừng tham gia cộng đồng chính thức của Odaily
Nhóm đăng ký
https://t.me/Odaily_News
Nhóm trò chuyện
https://t.me/Odaily_CryptoPunk
Tài khoản chính thức
https://twitter.com/OdailyChina
Nhóm trò chuyện
https://t.me/Odaily_CryptoPunk