Lỗi entropy thấp trên ví phần cứng Coldcard đang khiến cộng đồng Bitcoin xem lại quy trình tạo seed phrase, đồng thời làm dấy lên tranh luận về mức độ tin cậy của bộ tạo số ngẫu nhiên tích hợp trong thiết bị. Theo Cointelegraph ngày 7/8, nhiều người dùng đang quay lại các phương pháp tạo entropy vật lý như gieo xúc xắc, thay vì phụ thuộc hoàn toàn vào RNG của ví phần cứng.
Vấn đề nằm ở chất lượng dãy số ngẫu nhiên dùng để tạo seed phrase. Coldcard trước đây sử dụng bộ tạo số ngẫu nhiên phần cứng của STM32, nhưng từ firmware 4.0.1 phát hành vào tháng 3/2021 đã chuyển sang dùng bộ tạo số giả ngẫu nhiên XorShift trong MicroPython.
Theo thông tin được chia sẻ trong cộng đồng, lỗ hổng phát sinh trong quá trình nhà phát triển Coldcard là NVK viết lại firmware để chuyển từ mô hình phần mềm mã nguồn mở theo giấy phép GPL sang mô hình đóng.
Sau ngày 30/7, thêm nhiều vụ trộm được xác nhận công khai. Kẻ tấn công đã dùng phương pháp brute-force để dò khóa riêng được tạo từ các seed yếu, qua đó lấy đi lượng BTC trị giá hơn 100 triệu USD.
Coinkite ước tính mức entropy trên các thiết bị Mk2 và Mk3 chỉ khoảng 40 bit, trong khi Mk4, Mk5 và Q vào khoảng 70 bit. Các mức này đều thấp hơn đáng kể so với ngưỡng 128 bit thường được xem là cần thiết để tạo seed phrase 12 từ an toàn.
Sau sự cố, James O’Beirne đã lập trang cktripwire với các địa chỉ “mồi” nhằm ước tính những dòng ví nào thực sự đang bị kẻ tấn công quét. Khả năng bị ảnh hưởng phụ thuộc vào việc người dùng có bổ sung entropy bằng cách gieo xúc xắc hay không, có dùng BIP-39 passphrase hay không, cũng như có sử dụng đường dẫn xuất phi tiêu chuẩn hay không.
Sự cố này một lần nữa làm nổi bật nguyên tắc quen thuộc trong cộng đồng Bitcoin: “đừng tin, hãy xác minh”. Những người không phụ thuộc hoàn toàn vào entropy được tạo ngay trên thiết bị, đồng thời bổ sung đủ entropy từ việc gieo xúc xắc, được cho là đã tránh được lỗ hổng nói trên.
Ở chiều ngược lại, việc tự kiểm chứng bộ tạo số ngẫu nhiên bên trong thiết bị đòi hỏi phải kiểm tra phần cứng điện tử và xác thực firmware, điều gần như vượt quá khả năng của phần lớn người dùng phổ thông.
Vì vậy, một số phương án thay thế đang được chú ý trở lại, chủ yếu xoay quanh việc tự tạo entropy vật lý. Cách được nhắc đến nhiều nhất là gieo xúc xắc hơn 100 lần để có đủ entropy cho seed phrase 24 từ, sau đó chỉ dùng thiết bị để đối chiếu xem việc chuyển đổi sang chuẩn BIP-39 có chính xác hay không.
Cộng đồng cũng đề cập tới phương án kết hợp kết quả gieo xúc xắc 6 mặt và tung đồng xu để chọn các từ seed mà không cần đến thiết bị điện tử, dựa trên bảng hướng dẫn do BitBox công bố.
Một lựa chọn khác là in danh sách từ BIP-39 ra giấy, cắt thành các mảnh cùng kích thước, trộn đều rồi rút ngẫu nhiên 24 mảnh. Ngoài ra, thị trường cũng có các thiết bị chuyên dụng giúp phân tán quá trình tạo entropy trên nhiều phần cứng khác nhau.
Theo đánh giá của cộng đồng, việc tạo seed từ entropy vật lý có thể giúp giảm rủi ro “điểm lỗi đơn” trong quy trình khởi tạo ví. Xpub và địa chỉ nhận tiền được tạo từ seed cũng có thể được đối chiếu chéo trên một thiết bị khác để tăng thêm lớp xác minh.