Tiêu đề gốc: "Bảo mật ví: Ngụy biện" không giám sát"
Tác giả gốc: Nassim Eddequiouaq, Riyaz Faizullabhoy, a16z
Bản tổng hợp gốc: Katie Gu, Odaily Planet hằng ngày
Một cá nhân có quyền kiểm soát trực tiếp và duy nhất (và quyền sở hữu) đối với khóa riêng của mình (và tài sản tiền điện tử) - ví tiền điện tử tuân thủ triết lý này được gọi là Nó ví "không giam giữ", có nghĩa là thế giới bên ngoài không thể truy cập được chìa khóa.
Cho đến khi xảy ra một loạt vụ hack ví "không giám sát" - vào tháng 9, khóa riêng của Wintermute đã bị "bẻ khóa một cách thô bạo" và mất 160 triệu USD, đồng thời vào tháng 8, hơn 8.000 ví đã bị tấn công. Vụ hack tài khoản ví Slope, vụ hack ví Trinity đã đánh cắp hơn 2 triệu đô la IOTA vào năm 2020, vụ hack ví Parity đã đánh cắp 150.000 ETH vào năm 2017 và nhiều lỗ hổng ví phần cứng khác nhau làm mờ quyền giám sát và không giám sát. ranh giới an toàn ví giữa chúng. Trong những trường hợp như vậy, nạn nhân tin rằng họ đang sử dụng ví không giám sát và phát hiện ra rằng khóa riêng của họ đã bị đánh cắp.
Trên thực tế, ví không giám sát không thực sự cung cấp cho người dùng toàn quyền kiểm soát khóa của họ, bởi vì ví thường được tạo và điều hành bởi người khác. phần mềm và phần cứng của. Người dùng ngày càng tin tưởng vào các sản phẩm của bên thứ ba. Các sản phẩm này tích hợp hoặc sử dụng giao diện dòng lệnh blockchain, phần mềm và thiết bị ví, nền tảng tập trung, mã hợp đồng thông minh và các ứng dụng phi tập trung, đồng thời mọi điểm tiếp xúc đều làm tăng rủi ro. Tất cả những điểm kết nối này cộng lại sẽ phá tan ảo tưởng của mọi người về khái niệm "không được quản lý".
"Không được quản lý" thực sự có thể liên quan đến nhiều yếu tố được quản lý.
Nói chung, quản lý khóa (cơ sở bảo mật ví) có thể được chia thành ba hướng:
1. Tạo khóa (tạo khóa mã hóa) ; p>
2. Lưu trữ khóa (bảo vệ khóa tĩnh);
3. Cách sử dụng khóa (ủy quyền bằng khóa ).
Mỗi hướng đều có những điểm rủi ro riêng.
Bài viết này sẽ giới thiệu các đặc điểm và nhược điểm của nền tảng lưu ký và bảo mật ví tiền điện tử, bao gồm các lĩnh vực yêu cầu nhiều nhất. được chú ý và phát triển trong tương lai, được thiết kế để giúp người dùng Web3 hiểu rõ hơn về sự phức tạp của việc bảo vệ tài sản tiền điện tử theo cách không giám sát. Ngoài ra, chúng tôi cũng muốn giúp các kỹ sư xác định và tránh các điểm lỗi thường gặp trong quá trình phát triển ví, tận dụng kinh nghiệm tổng hợp nhiều năm của chúng tôi về các hệ thống mã hóa Docker, Anchorage, Facebook và a16z để giúp người dùng và các bên tham gia dự án tránh được các sự cố bảo mật.
Tính bảo mật của bước tạo khóa là rất quan trọng. Tại thời điểm này, có ba vấn đề tổng thể cần lưu ý: sử dụng mã đáng tin cậy, triển khai mã chính xác và xử lý đầu ra một cách an toàn.
Một số nhà cung cấp ví xuất bản báo cáo kiểm tra trên trang web chính thức hoặc kho lưu trữ Github của họ. Hãy tự nghiên cứu và cố gắng xác định xem có công ty uy tín nào đằng sau chiếc ví này hay không. Nếu thông tin còn thưa thớt thì hoạt động quan trọng của người dùng và nhà phát triển có thể là chỉ báo hữu ích.
Hãy làm theo những nguyên tắc này để giảm thiểu rủi ro. Nếu ví của bạn không thực hiện được các lần kiểm tra sau, hãy chạy.
Mã tạo nên chiếc ví nên có danh tiếng tốt. Việc chọn phần mềm được viết kém hoặc cố gắng phát triển các lựa chọn thay thế của riêng bạn có thể dẫn đến "sự kiện thảm khốc" như xâm phạm chính hoặc tiết lộ thông tin bí mật cho các bên trái phép.
Ngay cả khi mã sử dụng thư viện tiền điện tử có uy tín, Phải được tích hợp đúng cách. Phần mềm được kiểm tra thường mặc định có các tham số chính xác nhưng các lỗ hổng có thể phát sinh trong quá trình thực thi. Đối với một số quy trình tạo khóa nhất định, chẳng hạn như nhiều thuật toán tính toán nhiều bên (MPC), trong đó nhiều khóa riêng lẻ - hoặc phân đoạn khóa, đoạn khóa - phải được tạo và đối chiếu, ví phải tuân theo giao thức do thuật toán chỉ định. Thuật toán cũng có thể yêu cầu nhiều vòng tính toán và làm mới khóa, phải được ví tích hợp đúng cách để duy trì tính bảo mật của tiền.
Giai đoạn cuối cùng của quy trình tạo khóa liên quan đến hoạt động thực tế và đầu ra của phần mềm. Lưu ý vị trí và hình thức khóa được tạo. Lý tưởng nhất là nên tạo khóa trong phần cứng riêng biệt và thông tin phải được mã hóa bằng thuật toán đáng tin cậy.
Các khóa của ví Slope, bị hack vào mùa hè năm nay, đã được tạo và đăng nhập vào máy chủ bên ngoài bằng văn bản rõ ràng. Những lỗ hổng bảo mật như vậy có thể phát sinh trong quá trình kiểm tra mã hoặc trong quá trình triển khai nguồn mở. Sự thiếu minh bạch trong các ví có mã nguồn đóng và không có kiểm toán bảo mật của bên thứ ba nào được cung cấp cho công chúng là nguyên nhân đáng báo động.
Sau khi khóa được tạo, chúng cần được giấu ở đâu đó (Không phải bằng văn bản rõ ràng, luôn được mã hóa). Tuy nhiên, việc chỉ sở hữu thiết bị lưu trữ khóa không nhất thiết đồng nghĩa với việc sở hữu và kiểm soát khóa. Nhiều yếu tố phải được xem xét, chẳng hạn như bảo mật chuỗi cung ứng của thiết bị, cách thiết bị được kết nối và những thành phần khác mà thiết bị tương tác với. Ngoài ra, mỗi phương thức lưu trữ đều có sự cân bằng riêng giữa tính bảo mật, khả năng truy cập, khả năng bảo trì và tính khả dụng.
Dưới đây, chúng tôi đã phân loại các danh mục bảo mật ví phổ biến nhất dựa trên mức độ rủi ro đã biết liên quan của chúng.
Các điều kiện khác bằng nhau, Ví lạnh thì an toàn hơn ví nóng nhưng chúng cũng khó sử dụng hơn. Ví được kết nối với bất kỳ mạng nào đều dễ bị hack hơn vì nó mang lại cho kẻ tấn công nhiều cơ hội hơn để tìm và khai thác các lỗ hổng.
Có hai hình thức kết nối mạng ví nóng:
· Phần mềm kết nối: cơ sở dữ liệu trực tuyến hoặc bộ nhớ ứng dụng máy chủ web, tiện ích mở rộng trình duyệt
Đây là những rủi ro cao nhất. Bởi vì phần mềm ví, dù được lưu trữ hay không, đều có quyền truy cập trực tiếp vào các khóa - tất cả đều được kết nối với internet bên ngoài. Lý tưởng nhất là các khóa phải được mã hóa và bộ khóa khác dùng để mã hóa chúng phải được lưu trữ trong hệ thống quản lý khóa chuyên dụng (KMS) với các biện pháp kiểm soát truy cập có tính hạn chế cao, chẳng hạn như chuỗi khóa hệ điều hành hoặc hệ thống quản lý khóa đám mây.
· Phần cứng kết nối: thiết bị chuyên dụng, vùng bảo mật di động, mô-đun bảo mật phần cứng trực tuyến (HSM)
Phần cứng được kết nối thường được coi là ít rủi ro hơn phần mềm được kết nối, nhưng nó vẫn không an toàn như kho lạnh. Trong phần cứng được kết nối, khóa chỉ được tạo trong các thiết bị phần cứng chuyên dụng. Sau đó chúng có thể được kết nối với mạng nội bộ hoặc công cộng. Các thiết bị như vậy thường chịu nhiều trách nhiệm liên quan đến quản lý khóa, bao gồm tạo khóa, ký và bảo mật lưu trữ.
Ngoài ra còn có các ví phần cứng như Trezor và Ledger. Ngoài ra còn có các mô-đun bảo mật phần cứng hoặc HSM, thường được sử dụng trong các cài đặt kinh doanh truyền thống hơn, chẳng hạn như các mô-đun xử lý dữ liệu nhạy cảm như thanh toán bằng thẻ tín dụng.
Các thiết bị chỉ an toàn khi chuỗi cung ứng sản xuất và cấu hình chúng. Khi xem xét phần cứng kết nối, tốt nhất bạn nên mua thiết bị trực tiếp từ nhà cung cấp đáng tin cậy. Vận chuyển trực tiếp từ nguồn, đảm bảo gói hàng dường như không bị hư hại. Phiên bản phần sụn và cấu hình cũng có thể được xác minh trước khi sử dụng.
Tất nhiên, sau này luôn có khả năng ví phần cứng có thể bị đánh cắp hoặc truy cập trái phép bởi một bên trái phép. Trước những mối đe dọa này, điều quan trọng là phải đảm bảo rằng ví phần cứng cũng có lớp kiểm soát truy cập an toàn—các biện pháp bảo mật để đảm bảo chúng không ký bất kỳ và tất cả giao dịch một cách mù quáng. Các biện pháp kiểm soát có thể bao gồm các yêu cầu về mật khẩu, lời nhắc yêu cầu quyền rõ ràng cho từng bước của giao dịch và các bản tóm tắt đơn giản mô tả các hoạt động thực tế của giao dịch. Ngoài ra, hầu hết các ví phần cứng đều hỗ trợ mã hóa khóa riêng, còn được gọi là "gói khóa".
Tất cả các yếu tố khác đều như nhau, ví lạnh thường được coi là an toàn hơn ví nóng, mặc dù chúng cũng thường ít được sử dụng hơn. Ví lạnh không có kết nối với bất kỳ mạng nội bộ hoặc công cộng nào.
Hãy xem xét một số tùy chọn ví lạnh:
·   ;Phần mềm ngoại tuyến: Ứng dụng máy chủ ngoại tuyến
Vì kẻ tấn công có thể đánh cắp hoặc đưa máy lên mạng bất kỳ lúc nào nên ví lạnh phải được thiết kế với hệ thống an toàn khi trực tuyến. Phần cứng có mục đích đặc biệt như HSM rất được khuyến khích vì chúng thường cung cấp nhiều quyền kiểm soát hơn phần mềm kết nối.
· Phần cứng ngoại tuyến: ví phần cứng ngoại tuyến, mô-đun bảo mật phần cứng ngoại tuyến (HSM)
Giải pháp này được coi là an toàn nhất. Tương tự như các loại trước, chúng ta nên giả định rằng phần cứng có thể bị đánh cắp và lấy được trực tuyến. Do đó, như đã thảo luận trước đó, các hệ thống này phải chứa lớp kiểm soát truy cập được triển khai đúng cách. Nhiều nhà cung cấp HSM yêu cầu phải tập hợp một số lượng thẻ thông minh vật lý nhất định trước khi mở khóa truy cập. Ngay cả khi thiết bị không có màn hình hiển thị, nó vẫn phải cung cấp một số cách để người dùng xác minh chi tiết giao dịch.
Vì ví lạnh hoặc ví ngoại tuyến là loại an toàn nhất nên hầu hết các quỹ được quản lý bởi các công ty lớn, chẳng hạn như Coinbase , Gemini, Kraken v.v., và Anchorage. Nhiều người trong số này cũng lựa chọn một tuyến phòng thủ khác—sao lưu và phục hồi—trong trường hợp họ mất quyền truy cập hoặc máy của họ bị hỏng, bị đánh cắp hoặc bị phá hủy.
Khóa ký phải được sao lưu sau khi mã hóa. Việc sao chép khóa ký mật mã và khóa gói khóa là rất quan trọng. Các phương pháp sao lưu khóa ký của bạn khác nhau, nhưng bạn phải luôn chọn giải pháp dành cho phần cứng.
Đối với ví phần cứng, việc sao lưu thường liên quan đến một văn bản gốc đơn giản mà từ đó khóa riêng được tạo ra. Khóa mã hóa tiêu chuẩn có cơ chế lấy khóa được mã hóa bằng kiểm soát truy cập theo mặc định. Nếu đáp ứng được các biện pháp kiểm soát quyền truy cập, khóa có thể được nhập vào các HSM khác. Một số lượng lớn HSM cũng có thể cung cấp khóa mã hóa chung được lấy từ số lượng thẻ thông minh. Việc tách phần cứng khỏi các vật liệu quan trọng theo cách này giúp tránh được các điểm lỗi duy nhất.
Cuối cùng, yếu tố con người cần được xem xét. Cơ chế phục hồi phải có khả năng chịu được tình trạng không có mặt tạm thời hoặc vĩnh viễn của bất kỳ cá nhân nào tham gia vào hoạt động kinh doanh quản lý tài khoản. Các cá nhân nên đảm bảo cung cấp phương pháp lấy chìa khóa trong trường hợp mất điện hoặc trường hợp khẩn cấp khác. Đồng thời, hoạt động nhóm cần xác định số lượng người có thể tiếp tục hoạt động khi xảy ra trường hợp khẩn cấp.
Sau khi khóa được tạo và lưu trữ, chúng có thể được sử dụng để tạo chữ ký số cho phép giao dịch . Càng có nhiều sự kết hợp giữa phần mềm và phần cứng thì rủi ro càng lớn. Để giảm thiểu rủi ro, ví phải tuân thủ các nguyên tắc ủy quyền và xác thực sau đây.
Ví cần phải được xác minh. Nói cách khác, danh tính của người dùng phải được xác minh và chỉ những bên được ủy quyền mới có quyền truy cập vào nội dung của ví. Biện pháp bảo mật phổ biến nhất ở đây là mã PIN hoặc cụm mật khẩu. Các hình thức xác thực nâng cao hơn có thể bao gồm phê duyệt dựa trên mật mã sinh trắc học hoặc khóa công khai, chẳng hạn như chữ ký mật mã từ nhiều thiết bị bảo mật khác.
Ví nên được sử dụng với thư viện Cryptozoology hoàn chỉnh. Thực hiện một số nghiên cứu để đảm bảo chúng được kiểm tra và bảo mật nhằm tránh rò rỉ tài liệu quan trọng hoặc mất hoàn toàn khóa riêng. Vấn đề càng phức tạp hơn, ngay cả những thư viện đáng tin cậy cũng có thể có giao diện không an toàn, như trường hợp của các thư viện Ed25519 gần đây.
Một cạm bẫy khi sử dụng khóa đã được nghiên cứu kỹ lưỡng là một số chữ ký mật mã nhất định. thông số. Một số sơ đồ chữ ký có thể yêu cầu một lần, "số chỉ được sử dụng một lần" (số tùy ý), nghĩa là được sử dụng một lần trong hệ thống. Do đó, hãy đảm bảo bạn đang sử dụng thư viện mã hóa âm thanh. Nhưng vectơ tấn công này cũng đã bị khai thác trong các vụ hack nổi tiếng bên ngoài Web3, chẳng hạn như vụ hack Sony PlayStation 3 năm 2010.
Một phương pháp hay nhất khác là tránh sử dụng nhiều Mục đích, tái sử dụng cùng một khóa. Ví dụ: các khóa riêng biệt phải được duy trì để mã hóa và ký. Điều này tuân theo nguyên tắc "đặc quyền tối thiểu" trong các tình huống bị xâm phạm, có nghĩa là quyền truy cập vào bất kỳ tài sản, thông tin hoặc hoạt động nào phải được giới hạn ở các bên hoặc mã hoàn toàn cần thiết để hệ thống hoạt động. Các khóa khác nhau có các yêu cầu khác nhau về quản lý sao lưu và truy cập, tùy thuộc vào mục đích của chúng. Trong hệ sinh thái Web3, cách tốt nhất là tách các khóa và cụm từ gốc giữa nội dung và ví để việc vi phạm một tài khoản không ảnh hưởng đến các tài khoản khác.
Có nhiều bộ phận và giai đoạn tương tác qua lại từ thế hệ đến lưu trữ đến sử dụng, Quyền lưu giữ chìa khóa là một vấn đề hóc búa. Bản chất giam giữ hoặc không giam giữ của quyền sở hữu chìa khóa không phải là trắng đen rõ ràng như sự hiểu biết thông thường vẫn diễn ra. Tình hình trở nên phức tạp do có nhiều bộ phận chuyển động liên quan đến quản lý khóa, từ tạo khóa, lưu trữ đến sử dụng. Mọi phần cứng hoặc phần mềm trên chuỗi đều tiềm ẩn rủi ro, thậm chí khiến các tùy chọn không phải là ví giám sát ban đầu gặp rủi ro về giám sát.
Trong tương lai, chúng tôi hy vọng sẽ thực hiện nhiều công việc phát triển hơn để bảo vệ ví khỏi các cuộc tấn công và giảm thiểu những rủi ro đã thảo luận ở trên. Các lĩnh vực cần cải thiện bao gồm:
· Thư viện ký giao dịch và quản lý khóa mã nguồn mở an toàn được chia sẻ trên các hệ điều hành dành cho thiết bị di động và máy tính để bàn ;
· Khung phê duyệt giao dịch nguồn mở được chia sẻ.
Ngoài ra còn có sự phát triển nguồn mở và chia sẻ:
· Triển khai các thư viện tạo khóa bảo mật tối ưu trên các chương trình phụ trợ lưu trữ khác nhau (mã hóa trên đĩa, phần cứng bảo mật, v.v.);
· Thư viện ký giao dịch và quản lý khóa dành cho hệ điều hành trên thiết bị di động và máy tính để bàn;
· Khung quy trình phê duyệt giao dịch để thực hiện xác minh chuyên ngành , chẳng hạn như sinh trắc học, phê duyệt dựa trên PKI, khôi phục ủy quyền, v.v.
Liên kết gốc
Chào mừng bạn tham gia cộng đồng chính thức của BlockBeats:
Nhóm Telegram đăng ký: https://t.me/theblockbeats
Nhóm Telegram thảo luận: https://t.me/BlockBeats_App
Tài khoản Twitter chính thức: https://twitter.com/BlockBeatsAsia