Bảo mật ví: Thông minh dữ liệu PlatoBlockchain sai lầm 'không giám sát'. Tìm kiếm dọc. Ái.

Bảo mật Wallet: Sai lầm 'Không lưu giữ'

Cụm từ thường được trích dẫn “không phải khóa của bạn, không phải tiền điện tử của bạn” truyền tải triết lý thuần túy về quản lý khóa mật mã. Trong mô hình bảo mật ví này, chỉ một cá nhân (hoặc một nhóm thông qua “multisig”) mới có quyền kiểm soát trực tiếp và duy nhất đối với khóa riêng của họ – và do đó, có quyền sở hữu thực sự đối với tài sản tiền điện tử của họ. Ví tiền điện tử tuân theo cách tiếp cận cứng rắn này được gọi là “không giam giữ”, nghĩa là không có bên ngoài nào có quyền truy cập vào khóa.

Ngoại trừ, không nhanh như vậy. Tình hình không đơn giản như vậy. Một số vụ hack ví “không giám sát” nổi tiếng – bao gồm cả vụ hack Hack ví dốc đã xâm phạm hơn 8,000 tài khoản vào tháng XNUMX, Hack ví Trinity đã mất số token IOTA trị giá hơn 2 triệu đô la vào năm 2020, Hack ví Parity cho phép kẻ tấn công đánh cắp 150,000 ETH vào năm 2017, cùng với nhiều phát hiện khác nhau lỗ hổng ví phần cứngvà các sự cố khác – làm suy yếu sự khác biệt thông thường giữa ví lưu ký và ví không giám sát. Trong nhiều trường hợp, những nạn nhân tin rằng họ đang sử dụng ví không giám sát đã phát hiện ra rằng những kẻ tấn công có thể chiếm đoạt những chiếc chìa khóa mà họ mong muốn. Một sự mâu thuẫn phải không?

Quả thực, câu chuyện phức tạp hơn mức mà một câu khẩu hiệu có thể nắm bắt được. Ví không giám sát không thực sự giúp người dùng có toàn quyền kiểm soát chìa khóa của họ. Đó là bởi vì ví thường được tạo ra bởi và vận hành thông qua, phần mềm hoặc phần cứng của người khác. Người dùng liên tục đặt niềm tin vào người khác, sản phẩm và chương trình máy tính. Họ chấp nhận 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, các ứng dụng phi tập trung và tất cả các loại ví khác nhau tích hợp kết nối ở giữa. Mỗi điểm tiếp xúc đều tăng thêm rủi ro; tổng của tất cả các phần lồng vào nhau này sẽ phá vỡ ảo tưởng về ví không giám sát.

Quyền giám hộ trên thực tế là khôngnhị phân. Những gì lúc đầu có vẻ như không bị giam giữ thực sự có thể liên quan đến nhiều yếu tố giam giữ mà độ tin cậy của chúng thường được mọi người coi là đương nhiên. Sự phân đôi truyền thống – có quyền giám hộ và không có quyền giám hộ – là sai lầm. 

Thay vào đó, tốt hơn nên coi ví có nhiều sắc thái hơn. Các câu hỏi chính cần đặt ra là: Tôi có thể thoải mái chấp nhận một bề mặt tấn công lớn đến mức nào và tôi sẵn sàng đảm nhận bao nhiêu trách nhiệm trong nỗ lực xóa bỏ niềm tin vào bên thứ ba? Nói chung, quản lý khóa – nền tảng của bảo mật ví – có thể được chia thành ba lĩnh vực, mỗi lĩnh vực đều có cơ hội tiếp xúc riêng. Các danh mục phụ như sau:

  1. Tạo khóa (tạo khóa mật mã)
  2. Lưu trữ khóa (bảo đảm chìa khóa ở phần còn lại)
  3. Sử dụng chính (đặt chìa khóa để làm việc)

Tổng quan này nhằm mục đích giúp người dùng web3 hiểu rõ hơn về những vấn đề phức tạp liên quan đến việc bảo mật tài sản của họ thông qua bảng đánh giá ở trên. Hơn nữa, chúng tôi mong muốn giúp các kỹ sư xác định và khắc phục các điểm thất bại thường gặp trong quá trình phát triển ví. Chúng tôi hy vọng rằng việc áp dụng hướng dẫn này – bắt nguồn từ kinh nghiệm tổng hợp nhiều năm của chúng tôi trong việc xây dựng hệ thống bảo mật và tiền điện tử trên Docker, Anchorage, Facebook và tiền điện tử a16z – sẽ giúp mọi người tránh được các rủi ro về bảo mật, cho dù họ đang tương tác, tham gia hay xây dựng công nghệ web3.

Dưới đây, chúng tôi đề cập đến các tính năng và cạm bẫy phổ biến của nền tảng lưu ký và bảo mật ví tiền điện tử như chúng tồn tại ngày nay. Chúng tôi cũng đề cập đến các lĩnh vực mà chúng tôi tin rằng cần được quan tâm và phát triển nhất trong những tháng và năm tới để cải thiện tính an toàn trong trải nghiệm web3 của người dùng.

Bảo mật ví tạo khóa

Bất kỳ cuộc thảo luận nào về bảo mật ví đều phải bắt đầu bằng việc tạo khóa, quá trình tạo khóa mật mã. Cho dù ví được coi là có quyền giám sát hay không giám sát thì các đặc tính bảo mật của bước tạo khóa là tối quan trọng đối với sự an toàn của khóa sau đó. Trong quá trình tạo khóa, có ba mối quan tâm chung cần lưu ý: sử dụng mã đáng tin cậy, triển khai mã đúng cách và xử lý đầu ra một cách an toàn.

Nếu bạn không phải là chuyên gia về tiền điện tử, có thể khó xác minh rằng tất cả các yếu tố sau đây đều được cuốn sách thực hiện. Kiểm tra xem liệu bạn có thể truy cập báo cáo kiểm tra đáng tin cậy mà một số nhà cung cấp ví xuất bản trên trang web chính thức hoặc kho lưu trữ Github của họ hay không. Thay vì điều đó, hãy tự nghiên cứu để 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ỉ số tiếp theo về danh tiếng.

Thực hiện theo các nguyên tắc này để giảm thiểu rủi ro của bạn. Nếu ví không vượt qua được các bước kiểm tra dưới đây, hãy bỏ chạy!

  • Sử dụng ví không sử dụng tiền điện tử của riêng mình

Các nhà mật mã học có một câu nói: “đừng tung tiền điện tử của riêng bạn”. Ý chính tương tự như câu ngạn ngữ “đừng phát minh lại bánh xe”. Bánh xe vẫn nguyên trạng và bất kỳ nỗ lực nào để chế tạo lại bánh xe từ đầu đều có thể dẫn đến sản phẩm tệ hơn. Điều tương tự cũng xảy ra với tiền điện tử, một môn khoa học khó có thể hiểu chính xác. Mã tạo ví phải có tiếng là hoạt động tốt. Chọn phần mềm được viết kém – hoặc cố gắng phát triển phần mềm thay thế của riêng mình de novo – có thể dẫn đến rủi ro như rò rỉ khóa hoặc tiết lộ thông tin bí mật cho các bên không được phép. Đây chính là nguyên nhân đằng sau một lỗ hổng được khai thác gần đây trong Công cụ địa chỉ phù phiếm của tục tĩu. Trước bất cứ điều gì khác, cần phải làm rõ rằng ví được đề cập sử dụng thư viện và quy trình tạo khóa có uy tín và đã được kiểm toán.

  • Sử dụng ví đo hai lần và cắt đi cắt lại

Ngay cả khi mã sử dụng thư viện mật mã uy tín, nó vẫn phải được tích hợp đúng cách. Phần mềm đã được kiểm duyệt thường sẽ thiết lập các tham số chính xác theo mặc định, nhưng có thể có những sai sót trong quá trình thực thi. Ví dụ: cần có một nguồn entropy mạnh hoặc liều lượng ngẫu nhiên toán học để làm cho các khóa được tạo ra không thể đoán trước được và do đó an toàn hơn. Đối với một số quy trình tạo khóa nhất định, chẳng hạn như đối với nhiều thuật toán Tính toán nhiều bên (MPC), trong đó nhiều khóa riêng biệt – hoặc các phân đoạn, đoạn khóa – phải được tạo và phối hợp, ví phải tuân theo giao thức chính xác như được chỉ định bởi thuật toán. Thuật toán cũng có thể yêu cầu nhiều vòng tính toán cũng như làm mới các khóa mà ví phải tích hợp đúng cách để duy trì tính bảo mật của tiền.

  • Sử dụng ví có thể giữ bí mật

Giai đoạn cuối cùng của quá trình tạo khóa liên quan đến hoạt động và đầu ra thực tế của phần mềm. Hãy nhận biết khóa được tạo ở đâu và ở dạng nào.

Lý tưởng nhất là khóa phải được tạo trong phần cứng biệt lập và thông tin phải được mã hóa bằng thuật toán uy tín. Một ví dụ về điểm yếu cần tránh là Tiêu chuẩn Mã hóa Dữ liệu, hay DES, ngày nay coi là bị hỏng. Các khóa còn lại ở dạng văn bản gốc – đặc biệt là trong bộ nhớ, trên đĩa hoặc ở vùng giữa giữa hai nơi được gọi là “hoán đổi” – là một rủi ro bảo mật lớn. Nói chung, nội dung chính không được rời khỏi phần cứng được tạo ra và không được thoát ra các mạng mà người khác có thể truy cập. (Nghĩa là, trừ khi tài liệu khóa được mã hóa, trong trường hợp đó khóa mã hóa cũng phải được bảo mật.)

Chìa khóa của Slope, chiếc ví đã bị hack vào mùa hè này, đã được đăng nhập bằng bản rõ tới các máy chủ bên ngoài sau khi được tạo. Đây là loại sai sót bảo mật có thể xuất hiện trong quá trình kiểm tra hoặc triển khai mã nguồn mở. Những ví thiếu tính minh bạch – có mã nguồn đóng, không có kiểm toán bảo mật của bên thứ ba cho công chúng – nên treo cờ đỏ. 

Bảo mật ví lưu trữ khóa

Sau khi tạo khóa, chúng sẽ cần được cất giữ ở đâu đó – không bao giờ ở dạng bản rõ, luôn được mã hóa. Nhưng chỉ đơn thuần việc sở hữu thiết bị lưu trữ khóa không nhất thiết đồng nghĩa với quyền sở hữu và kiểm soát khóa. Nhiều yếu tố như bảo mật chuỗi cung ứng của thiết bị, cách kết nối của thiết bị và những thành phần khác mà thiết bị tương tác phải được xem xét. Hơn nữa, mỗi phương thức lưu trữ đều có sự cân bằng riêng giữa bảo mật, khả năng truy cập, khả năng bảo trì và khả năng sử dụng.

Dưới đây, chúng tôi chia nhỏ các danh mục phổ biến nhất dựa trên mức độ rủi ro nhận thấy liên quan của chúng. 

Rủi ro cao hơn: ví “nóng”

Khái niệm này thực sự không liên quan nhiều đến nhiệt độ. Khi nói đến các tùy chọn lưu trữ khóa, ví được coi là “hot” nếu nó được kết nối với internet. Mặt khác, một chiếc ví được coi là “lạnh” nếu nó ngoại tuyến và bị cô lập. Tất cả các yếu tố khác đều như nhau, ví lạnh an toàn hơn ví nóng – nhưng chúng cũng khó truy cập và sử dụng hơn. Ví được kết nối với bất kỳ mạng nào sẽ dễ bị tấn công hơn vì nó cho phép kẻ tấn công có nhiều cơ hội truy cập hơn để khám phá và khai thác các lỗ hổng.

Ví nóng có thể có một số hình thức.

  • Phần mềm được kết nối: cơ sở dữ liệu trực tuyến, bộ nhớ ứng dụng điện thoại hoặc máy chủ web, tiện ích mở rộng trình duyệt

Đây là những lựa chọn rủi ro nhất. Ở đây, phần mềm ví, dù có giám sát 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 bị hạn chế cao như chuỗi khóa của hệ điều hành hoặc hệ thống quản lý khóa trên đám mây.

Đối với ví nóng dựa trên phần mềm, điều quan trọng là phải tách biệt việc quản lý và ủy quyền khóa khỏi các thành phần phần mềm còn lại. Các vấn đề có thể nảy sinh trong quá trình ghi nhật ký, quản lý lỗi và quản lý bộ nhớ (đặc biệt là dựa trên vùng heap, trong đó các khóa có thể không được “zeroized” hoặc xóa đúng cách), tất cả đều có thể rò rỉ nhầm mật khẩu, khóa mã hóa, khóa ký hoặc thông tin nhạy cảm khác. tài liệu mật mã. Khi điều đó xảy ra, những kẻ xâm nhập có thể có được quyền truy cập trái phép thông qua các ứng dụng hoặc máy chủ web được kết nối, các cuộc tấn công kênh bên hoặc các mối đe dọa nội bộ.

Bất kể dịch vụ được gắn nhãn như thế nào, nếu khóa ký không được mã hóa bất kỳ lúc nào trong bộ nhớ của hệ thống trực tuyến thì mô hình đó sẽ được coi là ví phần mềm nóng. (Ngay cả khi các chìa khóa sau đó được lưu trữ ở nơi an toàn.)

  • Phần cứng được kết nối: thiết bị có mục đích đặc biệt, 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, các khóa được tạo và chỉ tồn tại bên trong các thiết bị phần cứng có mục đích đặc biệt. Sau đó chúng có thể được kết nối với mạng nội bộ hoặc mạng công cộng. Các thiết bị như vậy thường đảm nhận nhiều trách nhiệm liên quan đến quản lý khóa, bao gồm bảo mật cho việc tạo, ký và lưu trữ khóa.

Phần cứng được kết nối có nhiều loại. Có các ví phần cứng, chẳng hạn như thiết bị Trezor và Ledger, mà người dùng tiền điện tử phức tạp hơn một chút thường sử dụng. (Nhiều người nên sử dụng các thiết bị này hơn vì chúng an toàn hơn rất nhiều so với chỉ sử dụng phần mềm được kết nối.) 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 cài đặt xử lý dữ liệu nhạy cảm. , giống 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 được kết nối, hãy tự hỏi: Khả năng các thiết bị - hoặc chương trình cơ sở - đã bị giả mạo trước khi thuộc quyền sở hữu của bạn là gì? Để giảm thiểu rủi ro này, tốt nhất bạn nên mua thiết bị trực tiếp từ các nhà cung cấp đáng tin cậy. Yêu cầu họ vận chuyển trực tiếp từ nguồn. Hãy đảm bảo rằng các gói hàng có vẻ không bị hư hỏng – không bị rách, rách, hư hỏng niêm phong, v.v. – điều này có thể cho thấy sự giả mạo trong quá trình vận chuyển. Bạn cũng nên xác minh phiên bản chương trình cơ sở và cấu hình trước khi sử dụng. Các bước thực hiện việc này sẽ khác nhau tùy thuộc vào phần cứng nhưng tất cả đều phải cung cấp hướng dẫn.

Tất nhiên, luôn có khả năng ví phần cứng sau này 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 ví phần cứng cũng có các lớp kiểm soát truy cập an toàn – các biện pháp bảo vệ đảm bảo chúng không ký một cách mù quáng bất kỳ và tất cả các giao dịch. 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 bằng tiếng Anh đơn giản mô tả những giao dịch thực sự đang thực hiện. 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”. Thậm chí tốt hơn, ví an toàn sẽ không cho phép xuất khóa ở dạng văn bản thô thô, ngay cả khi người ta mong muốn như vậy.

Đây là mức độ an toàn cần thiết để thực sự bảo vệ tài sản tiền điện tử.

Ít rủi ro hơn: ví “lạnh”

Ít nhiệt hơn, rủi ro thấp hơn. Ví lạnh, tất cả những thứ khác đều như nhau, thường được coi là an toàn hơn ví nóng, mặc dù chúng thường ít được sử dụng hơn. Ví lạnh thường được gọi là ví “airgapped”, nghĩa là chúng 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.

Cô đơn là một đức tính tốt trong trường hợp này. Airgapping liên quan đến việc thực hiện các biện pháp ủy quyền và cách ly vật lý nghiêm ngặt. Các biện pháp này có thể bao gồm việc sử dụng lồng Faraday (tấm chắn chặn tín hiệu không dây), truy cập sinh trắc học (như máy quét dấu vân tay hoặc mống mắt), cảm biến chuyển động (để cảnh báo vấp ngã trong trường hợp sử dụng trái phép) và SCIF hoặc Thiết bị thông tin ngăn nhạy cảm (đặc biệt). khu vực xử lý thông tin mật).

Hãy xem xét một số tùy chọn ví lạnh chi tiết hơn.

  • Phần mềm airgrapped: ứng dụng máy chủ ngoại tuyến

Bởi vì kẻ tấn công có thể đánh cắp hoặc lấy máy trực tuyến bất cứ lúc nào, ví lạnh phải được thiết kế với hệ thống bảo mật được duy trì ngay cả khi chúng được đưa lên mạng. Khóa phải được chia thành các đoạn khóa – yêu cầu các phần phải được nối lại để có thể sử dụng được – thông qua một phương pháp tiêu chuẩn, chẳng hạn như Chia sẻ bí mật của Shamir hoặc Tính toán nhiều bên. Phần cứng có mục đích đặc biệt, chẳng hạn như HSM, được khuyến khích sử dụng thay vì phần mềm được kết nối vì chúng thường cung cấp nhiều khả năng điều khiển hơn.

  • Phần cứng được airgrapped: 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ư loại trước, người ta nên cho rằng phần cứng có thể bị đánh cắp và đưa lên mạng. Vì lý do đó, điều quan trọng một lần nữa là các hệ thống này phải bao gồm các lớp kiểm soát truy cập được triển khai đúng cách, như đã thảo luận trước đó. Nhiều nhà cung cấp HSM yêu cầu số lượng thẻ thông minh vật lý phải kết hợp với nhau trước khi có thể mở khóa quyền truy cập vào khóa. Ngay cả khi thiết bị không có màn hình hiển thị, nó cũng 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í airgap là loại an toàn nhất nên hầu hết tiền do người chơi lớn quản lý đều được lưu trữ theo cách này. Các dịch vụ bán lẻ lớn, chẳng hạn như Coinbase, Gemini, Kraken và các dịch vụ khác, cũng như các dịch vụ dành cho người dùng tổ chức như Anchorage, nằm trong số những dịch vụ làm như vậy. Nhiều người trong số này chọn có một tuyến phòng thủ khác dưới dạng sao lưu và phục hồi, đề phòng trường hợp – trời cấm – họ mất quyền truy cập hoặc máy bị hỏng, bị đánh cắp hoặc bị phá hủy.

Sao lưu và phục hồi

Khóa ký phải luôn được sao lưu sau khi được mã hóa. Điều quan trọng là phải có sự dự phòng của cả khóa ký được mã hóa và khóa gói khóa. Các phương pháp sao lưu khóa ký khác nhau nhưng người ta phải luôn ưu tiên các giải pháp gốc phần cứng.

Đối với ví phần cứng, các bản sao lưu thường bao gồm cụm từ văn bản gốc 12 từ mà từ đó các khóa riêng được tạo ra. Cụm từ hạt giống này phải được lưu trữ phi kỹ thuật số (ví dụ như giấy, kim loại) và theo cách an toàn nhất hiện có (kho tiền vật lý ở nhà, bên trong kho tiền ngân hàng). Cụm từ có thể được chia thành các phần được phân bổ theo địa lý để ngăn chặn sự xâm phạm dễ dàng toàn bộ bí mật. (Đôi khi người ta giải thích cách tiếp cận này bằng cách tham khảo những trường sinh linh giá hư cấu mà các phù thủy hắc ám sử dụng một cách hiệu quả để “hỗ trợ” linh hồn của họ trong Harry Potter.)

Nhiều HSM xử lý một số thách thức liên quan đến sao lưu và phục hồi. Những cái tiêu chuẩn có cơ chế có thể xuất các khóa được mã hóa theo mặc định bằng các biện pháp kiểm soát truy cập. Nếu các điều khiển truy cập được đáp ứng, các khóa có thể được nhập vào các HSM khác. Một cách hữu ích, các nhóm HSM cũng có thể được cung cấp một khóa mã hóa chung, bắt nguồn từ số lượng thẻ thông minh tối đa. Việc tách phần cứng khỏi các vật liệu chính 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 giải quyết. Cơ chế phục hồi phải có khả năng chịu được sự vắng 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 quản lý tài khoản. Các cá nhân nên đảm bảo cung cấp cách thức để các thành viên thân thiết trong gia đình hoặc các bên đáng tin cậy khác lấy lại chìa khóa trong trường hợp tử vong hoặc các trường hợp khẩn cấp khác. Trong khi đó, các hoạt động của nhóm nên xác định một số đại biểu - chẳng hạn như 2 trên 3 hoặc 3 trên 5 - có thể hoạt động hợp lý bất kể các sự kiện trong cuộc sống, du lịch, bệnh tật hoặc tai nạn.

Bảo mật ví sử dụng khóa

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 thành phần phần mềm và phần cứng trong hỗn hợp 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.

  • Tin tưởng, nhưng xác minh

Ví nên yêu cầu xác thực. Nói cách khác, họ nên xác minh rằng người dùng là chính họ và chỉ những bên được ủy quyền mới có thể truy cập nội dung của ví. Các biện pháp bảo vệ phổ biến nhất ở đây là mã PIN hoặc cụm mật khẩu. Như thường lệ, những nội dung này phải đủ dài và phức tạp – sử dụng nhiều loại ký tự khác nhau – để đạt hiệu quả tối đa. Các hình thức xác thực nâng cao hơn có thể bao gồm sinh trắc học hoặc phê duyệt dựa trên mã hóa 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.

  • Đừng tung tiền điện tử của riêng bạn (một lần nữa!)

Ví nên sử dụng các thư viện mật mã được thiết lập tốt. Thực hiện một số nghiên cứu để đảm bảo chúng được kiểm tra và an toàn 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 đề trở nên 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 gần đây với những thư viện Ed25519 này. Hãy cẩn thận! 

  • Không tái sử dụng

Một cạm bẫy khi sử dụng khóa đã được nghiên cứu kỹ lưỡng là việc vô tình sử dụng lại một số tham số chữ ký mật mã nhất định. Một số lược đồ chữ ký có thể yêu cầu một khâm mạng có nghĩa là "số được sử dụng một lần", một số tùy ý chỉ được sử dụng một lần trong hệ thống. Thuật toán chữ ký số đường cong Elliptic (ECDSA) là một trong những lược đồ chữ ký như vậy thực hiện được điều đó. Nếu một nonce được sử dụng lại với ECDSA, nó có thể dẫn đến sự xâm phạm chính. Nhiều thuật toán khác không bị ảnh hưởng, vì vậy, như thường lệ, hãy đảm bảo sử dụng các thư viện mật mã được thiết lập tốt. (Một số thư viện mật mã nhất định đảm bảo các số không duy nhất bằng cách băm dữ liệu giao dịch, bao gồm các dữ liệu duy nhất khác như số tài khoản.) Nhưng vectơ tấn công này đã bị khai thác trước đây trong các vụ hack nổi tiếng bên ngoài web3, chẳng hạn như năm 2010 này hack Sony PlayStation 3.

  • Một chìa khóa cho mỗi mục đích

Một phương pháp hay nhất khác là tránh sử dụng lại khóa cho nhiều mục đích. Ví dụ, các khóa riêng biệt nên được giữ để mã hóa và ký. Điều này tuân theo nguyên tắc “đặc quyền nhất” trong trường hợp 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 chỉ nên được hạn chế đối với các bên hoặc mã thực sự yêu cầu nó để hệ thống hoạt động. Nguyên tắc “đặc quyền tối thiểu”, khi được thực hiện đúng cách, có thể hạn chế đáng kể bán kính vụ nổ của một cuộc tấn công thành công. Các khóa khác nhau sẽ có các yêu cầu khác nhau về sao lưu và quản lý quyền truy cập tùy thuộc vào mục đích của chúng. Trong bối cảnh của web3, cách tốt nhất là tách các khóa và cụm từ gốc giữa tài sản và ví, do đó, việc xâm phạm một tài khoản sẽ không ảnh hưởng đến bất kỳ tài khoản nào khác.

Kết luận

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 như suy nghĩ thông thường người ta vẫn tin. 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 trong chuỗi đều tiềm ẩn những rủi ro khiến ngay cả những lựa chọn ví được cho là không giám sát cũng có thể gặp phải các mối nguy hiểm kiểu giám hộ. 

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 mật ví trước 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ải tiến bao gồm:

  • Thư viện ký giao dịch và quản lý khóa nguồn mở an toàn được chia sẻ trên các hệ điều hành di động và máy tính để bàn
  • Khung phê duyệt giao dịch nguồn mở được chia sẻ

Cụ thể, chúng tôi đặc biệt vui mừng khi thấy sự phát triển của nguồn mở và chia sẻ:

  • Thư viện tạo khóa để triển khai bảo mật tốt nhất trên các phụ trợ lưu trữ khác nhau (được 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 cho hệ điều hành di động và máy tính để bàn
  • Các khung cho luồng phê duyệt giao dịch thực hiện xác minh yếu tố mạnh mẽ như sinh trắc học, phê duyệt dựa trên PKI, khôi phục ủy quyền, v.v.

Danh sách trên chưa đầy đủ nhưng đây là điểm khởi đầu tốt. Tất cả điều này có nghĩa là, tình hình phức tạp hơn khẩu hiệu “không phải chìa khóa của bạn, không phải tiền điện tử của bạn” chỉ ra. Sở hữu khóa là một vấn đề khó khăn do có nhiều bộ phận và giai đoạn tương tác từ việc tạo và lưu trữ cho đến khi sử dụng. 

Nếu bạn đang thực hiện một dự án giải quyết bất kỳ vấn đề nào ở trên hoặc muốn thực hiện dự án đó, vui lòng liên hệ! Chúng tôi mong muốn có nhiều tiến bộ hơn trên các mặt trận này.

***

Biên tập viên: Robert Hackett, @rhhackett

***

Các quan điểm được thể hiện ở đây là quan điểm của từng nhân viên AH Capital Management, LLC (“a16z”) được trích dẫn và không phải là quan điểm của a16z hoặc các chi nhánh của nó. Một số thông tin nhất định trong đây đã được lấy từ các nguồn của bên thứ ba, bao gồm từ các công ty danh mục đầu tư của các quỹ do a16z quản lý. Mặc dù được lấy từ các nguồn được cho là đáng tin cậy, a16z đã không xác minh độc lập thông tin đó và không đưa ra tuyên bố về tính chính xác hiện tại hoặc lâu dài của thông tin hoặc sự phù hợp của nó đối với một tình huống nhất định. Ngoài ra, nội dung này có thể bao gồm các quảng cáo của bên thứ ba; a16z đã không xem xét các quảng cáo đó và không xác nhận bất kỳ nội dung quảng cáo nào có trong đó. 

Nội dung này chỉ được cung cấp cho mục đích thông tin và không được dựa vào như lời khuyên về pháp lý, kinh doanh, đầu tư hoặc thuế. Bạn nên tham khảo ý kiến ​​của các cố vấn của riêng mình về những vấn đề đó. Các tham chiếu đến bất kỳ chứng khoán hoặc tài sản kỹ thuật số nào chỉ dành cho mục đích minh họa và không cấu thành khuyến nghị đầu tư hoặc đề nghị cung cấp dịch vụ tư vấn đầu tư. Hơn nữa, nội dung này không hướng đến cũng như không nhằm mục đích sử dụng cho bất kỳ nhà đầu tư hoặc nhà đầu tư tiềm năng nào và không được dựa vào bất kỳ trường hợp nào khi đưa ra quyết định đầu tư vào bất kỳ quỹ nào do a16z quản lý. (Đề nghị đầu tư vào quỹ a16z sẽ chỉ được thực hiện bởi bản ghi nhớ phát hành riêng lẻ, thỏa thuận đăng ký và các tài liệu liên quan khác về bất kỳ quỹ nào như vậy và phải được đọc toàn bộ.) Bất kỳ khoản đầu tư hoặc công ty danh mục đầu tư nào được đề cập, đề cập đến, hoặc được mô tả không phải là đại diện cho tất cả các khoản đầu tư vào xe do a16z quản lý và không thể đảm bảo rằng các khoản đầu tư sẽ sinh lời hoặc các khoản đầu tư khác được thực hiện trong tương lai sẽ có các đặc điểm hoặc kết quả tương tự. Danh sách các khoản đầu tư được thực hiện bởi các quỹ do Andreessen Horowitz quản lý (không bao gồm các khoản đầu tư mà tổ chức phát hành không cho phép a16z tiết lộ công khai cũng như các khoản đầu tư không thông báo vào tài sản kỹ thuật số được giao dịch công khai) có tại https://a16z.com/investments /.

Các biểu đồ và đồ thị được cung cấp bên trong chỉ nhằm mục đích cung cấp thông tin và không nên dựa vào khi đưa ra bất kỳ quyết định đầu tư nào. Hiệu suất trong quá khứ không cho thấy kết quả trong tương lai. Nội dung chỉ nói kể từ ngày được chỉ định. Mọi dự đoán, ước tính, dự báo, mục tiêu, triển vọng và / hoặc ý kiến ​​thể hiện trong các tài liệu này có thể thay đổi mà không cần báo trước và có thể khác hoặc trái ngược với ý kiến ​​của người khác. Vui lòng xem https://a16z.com/disclosures để biết thêm thông tin quan trọng.

Dấu thời gian:

Thêm từ Andreessen Horowitz