Bài viết này là bản gốc của nhóm nghiên cứu SevenX và chỉ dành cho mục đích giao tiếp và học tập chứ không phải là bất kỳ tài liệu tham khảo đầu tư nào. Nếu cần trích dẫn xin vui lòng ghi nguồn.
Liên kết gốc: https://mirror.xyz/sevenxventures.eth/3sYkMimEKqzQbme8-KszvSrKGj4uPxBLyJM9ncXxgcU
Tác giả: Rui, @Ruisnakes
Mục lục
Trải nghiệm người dùng mã hóa kém? Đó là quản lý quan trọng mà hút!
Quản lý khóa: Trách nhiệm, lưu trữ và truy cập
Phân tích các sản phẩm hiện có: MetaMask, Trust Wallet, Privy và Particle
Giải pháp mới:
- Các lớp khóa: WebAuthn, Secure Enclave (Secure Enclave) và Passkey (Passkey)
- Lớp tài khoản: tài khoản hợp đồng thông minh (SCA), tài khoản bên ngoài (EOA)
- Lớp chữ ký: tiền biên dịch giao thức r 1, dịch vụ của bên thứ ba, trình xác thực Solidity và zero-know
Nghiên cứu điển hình: (Khóa) + (Tài khoản)
- Ví Clave: (Secure EnclaveWebAuthn) + (SCA)
- Ví linh hồn: (Passkey) + (4337 SCA)
- Ví OKX: (MPC-TSS +Passkey) + (4337 SCA)
- Web3 Auth:(MPC-TSS + Passkey)+(EOA/SCA)
- Giao thức Lit: (MPC-TSS + nút phi tập trung + Passkey) + (EOA/SCA)
*Xin lưu ý các trường hợp trên có thể thay đổi và cải thiện nhanh chóng
Quan điểm
TL;DR
Khóa riêng là chìa khóa để ký các giao dịch trên Ethereum, nhưng ngay cả khi được quản lý ở dạng con người có thể đọc được như cụm từ ghi nhớ (còn được gọi là cụm từ hạt giống), việc quản lý khóa riêng của người dùng có thể là một cơn ác mộng. Và chúng tôi biết rằng việc biến blockchain thành một trò chơi phức tạp chưa bao giờ là ý định của chúng tôi.
Để đảm bảo an toàn giao dịch, người dùng được ủy quyền phải được xác thực. Khi bảo mật internet và trải nghiệm người dùng phát triển, chúng tôi đã phát triển từ xác minh mật khẩu sang sinh trắc học như nhận dạng khuôn mặt và dấu vân tay. WebAuthn là một cột mốc quan trọng trong tiến trình này. Bài viết này sẽ tập trung vào ba thuật ngữ:
WebAuthn:Đây là tiêu chuẩn xác thực web sử dụng thông tin xác thực dựa trên khóa công khai, thường được tạo bởi trình xác thực bên ngoài. Cũng có thể xác thực người dùng an toàn mà không cần mật khẩu.
Secure Enclave:Vùng bảo mật dựa trên phần cứng trong thiết bị điện toán được thiết kế để bảo vệ dữ liệu nhạy cảm. Các phiên bản khác nhau của Secure Enclave có sẵn cho các thiết bị iOS, Android và Windows. Khi sử dụng WebAuthn, nó có thể hoạt động như một trình xác thực bên ngoài, mang lại khả năng bảo mật ở cấp độ phần cứng, nhưng vì khóa riêng bị ràng buộc cục bộ nên điều này có thể gây khó khăn cho hoạt động trên nhiều thiết bị.
Passkey:WebAuthn được áp dụng ở cấp hệ điều hành và nhiều nhà cung cấp hệ thống và thiết bị khác nhau có các quy tắc tùy chỉnh của riêng họ. Ví dụ,Mật mã AppleĐồng bộ hóa trên các thiết bị bằng các khóa được lưu trữ trong Chuỗi khóa iCloud. Tuy nhiên, phương pháp này thường chỉ được áp dụng cho một nền tảng hoặc hệ thống cụ thể và không thể triển khai trên các hệ thống (Apple-Android).
Như đã đề cập ở trên, việc triển khai WebAuthn phù hợp với mục tiêu của chúng tôi đối với người dùng blockchain hàng ngày, đó là đạt được khả năng bảo mật chống lừa đảo nâng cao và trải nghiệm thân thiện với người dùng. Sau đây là các đề xuất để tích hợp triển khai WebAuthn vào chuỗi khối:
Lớp khóa:Người dùng có thể xác thực bằng các phương pháp mượt mà như nhận dạng khuôn mặt hoặc dấu vân tay. Về cơ bản, đó là bộ xử lý bảo mật dựa trên phần cứng (như Secure Enclave) hoặc dịch vụ đám mây (như iCloud và Google Cloud) xử lý việc quản lý khóa. Tôi sẽ thảo luận sâu hơn về các vấn đề đa thiết bị và đa nền tảng sau.
Cấp tài khoản:Tài khoản hợp đồng thông minh (SCA) có thể chỉ định người ký tùy ý (như SE và Passkey) và cơ chế ngưỡng. Ngoài ra, thiết kế mô-đun của nó tăng cường tính linh hoạt và khả năng nâng cấp. Ví dụ: tài khoản hợp đồng thông minh có thể tự động điều chỉnh các yêu cầu về chữ ký dựa trên các yếu tố như khối lượng giao dịch, thời gian hoặc địa chỉ IP. Mặt khác, các tài khoản bên ngoài truyền thống (EOA) có thể được mở rộng bằng dịch vụ tính toán nhiều bên (MPC), sự kết hợp này mang lại khả năng tương tác tốt hơn và tiết kiệm chi phí hơn so với tài khoản hợp đồng thông minh, nhưng không có những ưu điểm của tài khoản hợp đồng thông minh. Các tính năng nâng cao được cung cấp, đặc biệt là tính năng xoay phím, có thể khó khăn hơn.
Lớp chữ ký:Ethereum vốn hỗ trợ đường cong k1, nhưng việc xác minh chữ ký của WebAuthn phát sinh chi phí cao hơn vì nó sử dụng đường cong r1 để tạo khóa. Do đó, các giải pháp Lớp 2 như zkSync được lên kế hoạch sử dụng gốcEIP-7212 Biên dịch trước các đường cong r 1. Ngoài ra, còn có các dịch vụ của bên thứ ba, trình xác thực Solidity, trình xác thực không có kiến thức (ZK) và hệ thống quản lý khóa phân tán có thể hỗ trợ việc ký đường cong r1 theo cách hiệu quả hơn về mặt chi phí.
* Tuyên bố từ chối trách nhiệm:
Tiến bộ công nghệ không đảm bảo thành công trên thị trường; không phải tất cả các thiết bị và nền tảng đều áp dụng Passkey; sử dụng tài khoản hợp đồng thông minh có thể đắt hơn tài khoản bên ngoài; và các giải pháp được đề xuất sẽ tiếp tục phát triển cùng với tiến bộ công nghệ.
Trải nghiệm người dùng mã hóa kém? Đó là quản lý quan trọng mà hút!
Trong lĩnh vực blockchain, quyền kiểm soát thực sự đối với tài sản blockchain không nằm trong tay người dùng hoặc nhà cung cấp ví mà nằm trong tay các khóa riêng tư. Khóa này quyết định sự thành công hay thất bại của việc thực hiện giao dịch trên Ethereum. Để hiểu rõ hơn về điều này, hãy lấy một tài khoản bên ngoài làm ví dụ:
Tạo khóa: Một số ngẫu nhiên được chọn từ đường cong elip secp 256 k 1 làm khóa riêng. Khóa riêng này sau đó được nhân với các điểm được xác định trước trên đường cong để tạo khóa chung. Địa chỉ Ethereum được lấy từ 20 byte cuối cùng của hàm băm của khóa chung. Thông thường, chúng tôi sẽ sử dụng một cụm từ ghi nhớ để chuyển đổi khóa riêng thành một từ mà con người có thể đọc được làm bản sao lưu để cuối cùng tạo ra khóa riêng và khóa chung.
Ký giao dịch: Sử dụng khóa riêng để ký giao dịch có chứa các chi tiết như nonce (số sê-ri), số tiền, giá gas và địa chỉ nhận. Quá trình này bao gồm Thuật toán chữ ký số đường cong Elliptic (ECDSA), sử dụng mật mã đường cong elip và sử dụng đường cong secp 256 k 1 để tạo chữ ký bao gồm các giá trị (r, s, v), sau đó kết hợp chữ ký và giao dịch ban đầu được quảng bá lên mạng.
Xác minh giao dịch: Khi giao dịch đến nút Ethereum, giao dịch đó sẽ được xác minh trong mempool của nút. Để xác minh người ký, nút lấy khóa chung của người gửi bằng cách sử dụng giao dịch đã ký và băm và xác nhận tính xác thực của giao dịch bằng cách khớp địa chỉ được trích xuất với địa chỉ của người gửi.
Như đã đề cập ở trên, khóa riêng là một thực thể quan trọng trên chuỗi. Ban đầu, tài khoản Ethereum, tức là các tài khoản bên ngoài, hoàn toàn dựa vào một khóa riêng tư duy nhất, điều này gây ra rủi ro đáng kể vì mất khóa riêng đồng nghĩa với việc mất quyền truy cập vào tài khoản.
Nhiều người có thể nghĩ rằng Trừu tượng hóa tài khoản (AA) là giải pháp tối ưu cho các vấn đề về trải nghiệm người dùng, nhưng tôi sẽ nói rằng điều đó không nhất thiết phải như vậy. Việc trừu tượng hóa tài khoản biến các quy tắc hợp lệ trên Ethereum thành các quy tắc có thể lập trình được và tài khoản hợp đồng thông minh cho phép chúng được triển khai. Tính năng trừu tượng hóa tài khoản rất mạnh mẽ, nó có thể gửi song song nhiều giao dịch (abstract nonce), tài trợ gas và hỗ trợ sử dụng ERC 20 để thanh toán gas (abstract gas). Ngoài ra còn có một chức năng liên quan nhiều hơn đến chủ đề của bài viết này - việc trừu tượng hóa tài khoản có thể phá vỡ việc xác minh chữ ký cố định.(Chữ ký ECDSA trừu tượng).Không giống như các tài khoản bên ngoài, tài khoản hợp đồng thông minh có thể được chỉ định người ký và cơ chế ký tùy ý, chẳng hạn như nhiều chữ ký hoặc khóa có phạm vi (khóa phiên). Tuy nhiên, mặc dù tính linh hoạt và khả năng mở rộng của việc trừu tượng hóa tài khoản đã tăng lên, nhưng vẫn cần có khóa cho chữ ký giao dịch.
Ngay cả khi khóa riêng được chuyển đổi thành cụm từ ghi nhớ 12 từ, việc quản lý khóa riêng vẫn có thể là một thách thức, có nguy cơ mất khóa hoặc bị tấn công lừa đảo. Người dùng phải lựa chọn giữa các giải pháp phi tập trung phức tạp và các dịch vụ tập trung, cả hai đều không lý tưởng.
Tại sao trải nghiệm mã hóa lại khủng khiếp? Phần lớn điều này là do quản lý khóa kém. Người dùng luôn cần phải đánh đổi giữa trải nghiệm, tính bảo mật và tính phân cấp khi quản lý khóa. Bài viết này khám phá các giải pháp tiềm năng tốt nhất để quản lý khóa.
quản lý chìa khóa
Không bao giờ có giải pháp chung cho tất cả và cách tốt nhất để giữ chìa khóa cần được tùy chỉnh cho các tình huống người dùng cụ thể và bị ảnh hưởng bởi nhiều yếu tố, chẳng hạn như loại người dùng (tổ chức hoặc cá nhân), số vốn, tần suất sử dụng. giao dịch, loại tương tác, v.v.
Để làm rõ trước, tôi sẽ không sử dụng các thuật ngữ phổ biến “tự lưu trữ, bán quản lý và quản lý hoàn toàn” hiện đang thịnh hành. Theo tôi, quyền tự quản thực sự có nghĩa là không dựa vào các bên khác và ký kết giao dịch một cách độc lập, ngay cả khi một số giải pháp không được coi là lưu trữ theo nghĩa truyền thống (chẳng hạn như được lưu trữ trong môi trường thực thi đáng tin cậy của các nút phi tập trung), cũng như không được coi là không- giam giữ. Việc đánh giá xem một giải pháp là tốt hay xấu chỉ dựa vào loại dịch vụ lưu trữ là quá đơn giản và không tính đến sự khác biệt về mức độ phù hợp của các giải pháp này. Để đánh giá phương pháp quản lý quan trọng chi tiết hơn, tôi khuyên bạn nên phân tích nó theo ba khía cạnh khác nhau.
trách nhiệm
Có nên phân chia trách nhiệm quản lý chính giữa các bên chịu trách nhiệm khác nhau hay không.
Do những thách thức mà người dùng cá nhân thường gặp phải khi quản lý khóa nên việc phân công trách nhiệm quản lý khóa là một chiến lược giảm thiểu rủi ro tự nhiên. Các phương pháp như vậy bao gồm việc sử dụng nhiều khóa để ký hợp tác, như trường hợp của hệ thống nhiều chữ ký và chia khóa riêng thành nhiều phần thông qua sơ đồ chia sẻ bí mật (SSS) hoặc tính toán nhiều bên (MPC).
Multi-sig: Cần có nhiều khóa riêng hoàn chỉnh để tạo chữ ký giao dịch. Cách tiếp cận này yêu cầu giao tiếp trực tuyến giữa những người ký khác nhau, có phí giao dịch cao hơn và ảnh hưởng đến quyền riêng tư vì số lượng người ký được hiển thị trên chuỗi.
Lược đồ chia sẻ bí mật (SSS): Tạo khóa riêng ở một vị trí, sau đó chia khóa này thành nhiều phần và phân phối chúng cho các bên khác nhau. Mỗi bên phải xây dựng lại khóa riêng hoàn chỉnh để ký giao dịch. Tuy nhiên, việc tái thiết đặc biệt này có thể gây ra các lỗ hổng.
MPC-TSS (Lược đồ chữ ký ngưỡng): Khi triển khai tính toán nhiều bên, phương pháp mã hóa này cho phép nhiều bên thực hiện tính toán trong khi vẫn giữ thông tin đầu vào của họ ở chế độ riêng tư. Mỗi bên độc lập tạo một phân đoạn khóa và có thể ký các giao dịch mà không cần gặp mặt trực tiếp. Bởi vì nó được vận hành ngoài chuỗi nên chi phí của phương pháp này thấp và không có rủi ro thất bại duy nhất như kế hoạch chia sẻ bí mật.
kho
Việc lưu trữ khóa hoặc các đoạn khóa phải tuân theo các yếu tố bảo mật, khả năng truy cập, chi phí và phân cấp.
Các dịch vụ đám mây tập trung, như AWS, iCloud và các máy chủ khác. Cách tiếp cận này tạo điều kiện thuận lợi cho các giao dịch thường xuyên nhưng dễ bị giám sát hơn.
Máy tính/thiết bị di động cục bộ: Khóa được lưu trữ trong bộ lưu trữ an toàn của trình duyệt.
Ví giấy: In ra Private Key hoặc mã QR.
Môi trường thực thi đáng tin cậy (TEE): Môi trường thực thi đáng tin cậy cung cấp một khu vực an toàn trong bộ xử lý chính để thực thi hoặc lưu trữ dữ liệu nhạy cảm độc lập với hệ điều hành chính.
Secure Enclave: Secure Enclave trên các thiết bị hiện đại được cách ly khỏi bộ xử lý chính, cung cấp lớp bảo mật bổ sung để giữ an toàn cho dữ liệu nhạy cảm của người dùng ngay cả khi lõi bộ xử lý ứng dụng bị xâm phạm.
Ví phần cứng: ví dụ:LedgerVàTrezorvà các thiết bị vật lý khác được thiết kế để lưu trữ khóa riêng một cách an toàn.
Mô-đun bảo mật phần cứng (HSM): Mô-đun bảo mật phần cứng là một thiết bị phần cứng được sử dụng riêng cho các hoạt động mã hóa và quản lý khóa an toàn. Nó thường được sử dụng trong môi trường doanh nghiệp và cung cấp các chức năng bảo mật cấp cao.
truy cập
Cách xác thực người dùng để truy cập các khóa được lưu trữ
Việc truy cập vào các khóa được lưu trữ yêu cầu xác thực. Điều này yêu cầu xác minh rằng cá nhân đang cố gắng truy cập thực sự được phép truy cập vào khóa. Nhìn lại, các phương pháp truy cập có thể được phân loại như sau:
Những gì bạn biết: Mật khẩu, mã PIN, câu trả lời cho câu hỏi bảo mật hoặc đồ họa cụ thể.
Những gì bạn có: Bao gồm thẻ thông minh, mã thông báo phần cứng (mật khẩu một lần dựa trên thời gian) hoặc các yếu tố kỹ thuật số như xác minh tài khoản mạng xã hội và mã tin nhắn văn bản được gửi tới điện thoại của bạn.
Bạn là ai: Các đặc điểm vật lý riêng của người dùng, chẳng hạn như dấu vân tay, nhận dạng khuôn mặt (chẳng hạn như Face ID của Apple hoặc Windows Hello), nhận dạng giọng nói hoặc quét mống mắt/võng mạc.
Trên nền tảng này, xác thực hai yếu tố (2FA) và xác thực đa yếu tố (MFA) kết hợp ít nhất hai yếu tố, chẳng hạn như tin nhắn văn bản với thông báo đẩy, để tăng cường bảo mật tài khoản người dùng.
Phân tích các sản phẩm hiện có
MetaMaskCho phép người dùng sử dụng mật khẩu để truy cập các khóa được lưu trữ trong bộ nhớ trình duyệt cục bộ.
Trust WalletCho phép người dùng truy cập các khóa được lưu trữ trong bộ nhớ trình duyệt cục bộ của người dùng bằng mật khẩu hoặc faceID, với tùy chọn sao lưu khóa riêng bằng dịch vụ đám mây.
PrivyCho phép người dùng sử dụng nhiều phương thức đăng nhập xã hội như email, với sơ đồ chia sẻ bí mật chia khóa thành ba phần:
Phân mảnh thiết bị: iFrame trình duyệt, Enclave bảo mật trên thiết bị di động.
Phân đoạn xác thực xác thực: được lưu trữ bởi Privy, được liên kết với ID Privy.
Đoạn khôi phục khôi phục: mật khẩu người dùng hoặc được lưu trữ được mã hóa bởi Privy trongMô-đun bảo mật phần cứng (HSM)ở giữa.
ParticleCho phép người dùng áp dụng đăng nhập xã hội, sử dụng MPC-TSS, chia khóa thành hai phần:
Phân mảnh thiết bị: Browser-iFrame
Phần khóa máy chủ: Máy chủ của Particle
giải pháp mới
Các lớp chính: WebAuthn, Secure Enclave và Passkey
Các giải pháp hiện có nêu trên đã đóng vai trò quan trọng trong việc thu hút người dùng đến với Web3. Tuy nhiên, đi kèm với đó là những thách thức: Mật khẩu có thể bị quên hoặc trở thành mục tiêu của các cuộc tấn công lừa đảo và 2FA, mặc dù an toàn hơn nhưng vẫn có thể khó sử dụng vì nó bao gồm nhiều bước. Ngoài ra, không phải ai cũng sẵn sàng ủy thác cho bên thứ ba quản lý khóa và khi một số dịch vụ ngăn người dùng truy cập khóa, người dùng vẫn phải dựa vào tính khả dụng và tính hợp lệ của hệ thống.
Điều này khiến chúng tôi suy nghĩ liệu có giải pháp nào hiệu quả hơn không – giải pháp có thể mang lại sự tin cậy gần như không đáng tin cậy, độ bảo mật cao và trải nghiệm người dùng liền mạch. Việc theo đuổi giải pháp này giúp chúng tôi tìm ra cách tiếp cận Web2 tối ưu. Như đã đề cập ở đầu bài viết này, có một số thuật ngữ liên quan chặt chẽ đến chủ đề này, WebAuthn là tiêu chuẩn xác thực và Secure Enclave và Passkey là các triển khai hoặc thành phần liên quan đến tiêu chuẩn.
WebAuthn
WebAuthn chỉ định giao diện để xác thực người dùng cho các ứng dụng dựa trên web. Người dùng có thể đăng nhập vào tài khoản Internet bằng trình xác thực bên ngoài thay vì mật khẩu. Trình xác thực có thể là trình xác thực chuyển vùng (như Yubikey, khóa Titan) hoặc trình xác thực nền tảng (như móc khóa tích hợp trên thiết bị Apple), v.v.
Công nghệ đằng sau WebAuthn ban đầu được phát triển bởi liên minh FIDO (Fast IDentity Online). Vào tháng 3 năm 2019, W3C đã chính thức công bố WebAuthn là một tiêu chuẩn Web. Với sự phát triển tiêu chuẩn hóa của nó, các trình duyệt lớn như Google Chrome, Mozilla Firefox, Microsoft Edge và Apple Safari đã áp dụng WebAuthn, mở rộng đáng kể ứng dụng của WebAuthn, phạm vi và tính sẵn có. Hiện tại có sẵnHỗ trợ nhiều thiết bị tiên tiến。
Ưu điểm của WebAuthn:
An ninh tốt hơn:Không còn phụ thuộc vào mật khẩu, giảm nguy cơ lừa đảo, tấn công vũ phu và tấn công lặp lại.
Cải thiện trải nghiệm người dùng:Cung cấp khả năng đăng nhập đơn giản hơn, nhanh hơn, thường chỉ bằng một cú nhấp chuột hoặc xác minh sinh trắc học.
bảo vệ quyền riêng tư:Không có bí mật chung nào được truyền đi trong quá trình xác thực và không có thông tin nhận dạng cá nhân nào được các trang web riêng lẻ nhận được.
Khả năng mở rộng và tiêu chuẩn hóa:Là một tiêu chuẩn web, WebAuthn đảm bảo tính nhất quán và khả năng tương tác trên các trình duyệt và nền tảng khác nhau.
WebAuthn dựa trên thiết bị, chẳng hạn như Secure Enclave
Ngày nay, chúng ta có thể sử dụng bộ xử lý phần cứng làm trình xác thực, chẳng hạn như Secure Enclave cho thiết bị Apple, Trustzone cho thiết bị Android và Strongbox cho Google Pixel.
Tạo khóa: sử dụngmã hóa khóa công khai, tạo cặp khóa theo tiêu chuẩn WebAuthn, thường sử dụng đường cong P-256 r 1. Khóa chung được gửi đến máy chủ, nhưng khóa riêng không bao giờ rời khỏi Secure Enclave. Người dùng không bao giờ xử lý khóa văn bản gốc, do đó đảm bảo tính bảo mật của khóa riêng.
Lưu trữ khóa: Khóa riêng được lưu trữ an toàn trên thiết bịSecure EnclaveBên trong, hệ thống con cứng này được tách biệt khỏi bộ xử lý chính. Nó bảo vệ dữ liệu nhạy cảm để ngay cả khi hệ thống chính bị xâm phạm, tài liệu khóa gốc vẫn không thể truy cập được. Rào cản để bẻ khóa Secure Enclave rất cao nên các loại dữ liệu nhạy cảm nhất, chẳng hạn như dữ liệu Apple Pay và FaceID, đều được lưu trữ tại đây. Tại đây bạn có thể xemSecure EnclaveMột lời giải thích sâu sắc về cách nó hoạt động.
Xác thực: Người dùng sử dụng nhận dạng khuôn mặt hoặc dấu vân tay để có quyền truy cập, Secure Enclave sử dụng khóa riêng để ký các thử thách phía máy chủ và máy chủ sử dụng khóa chung để xác minh.
Ưu điểm của WebAuthn dựa trên thiết bị:
Bảo mật giống như phần cứng:Secure Enclave, trình quản lý khóa dựa trên phần cứng độc lập, tăng cường tính bảo mật.
Chống lại các cuộc tấn công lừa đảo:Không nhập bất kỳ thông tin nào trên thiết bị hoặc trang web có khả năng bị xâm phạm.
Trải nghiệm tiện lợi:Cung cấp trải nghiệm thân thiện hơn với người dùng. Người dùng không còn cần phải nhớ mật khẩu phức tạp cho các trang web khác nhau.
Nhược điểm của WebAuthn dựa trên thiết bị:
Giới hạn của thiết bị: Nếu thiết bị bị mất hoặc bị hỏng, không thể xuất hoặc truy xuất khóa riêng và không thể thực hiện các thao tác trên nhiều thiết bị.
WebAuthn, Passkey dựa trên đám mây
Để giải quyết thách thức về chức năng trên nhiều thiết bị, gã khổng lồ công nghệ đã giới thiệu triển khai WebAuthn dựa trên đám mây, Passkey đã trở nên nổi tiếng bởi Apple.
Lấy Passkey của Apple làm ví dụ:
Tạo khóa: Thiết bị macOS, iOS hoặc iPadOS của người dùng hoạt động như một trình xác thực, tạo khóa chung và khóa riêng khi người dùng tạo tài khoản. Sau đó, khóa chung được gửi đến máy chủ, trong khi khóa riêng được lưu trữ trong Chuỗi khóa iCloud của thiết bị. Dữ liệu Chuỗi khóa iCloud được mã hóa bằng cặp khóa gắn với phần cứng và được lưu trữ trong mô-đun bảo mật phần cứng. Apple không thể truy cập cặp khóa.
Đồng bộ hóa trên các thiết bị: Quá trình này giống như truy cập iCloud. Xác thực tài khoản iCloud của bạn, nhận mã xác minh SMS và nhập mật khẩu cho một trong các thiết bị của bạn.
Ưu điểm của WebAuthn dựa trên đám mây:
Trên các thiết bị:Passkey được thiết kế thân thiện với người dùng và có thể truy cập được trên tất cả các thiết bị họ sử dụng thường xuyên. Nhưng hiện tại nó chỉ giới hạn ở các thiết bị Apple. Cách tiếp cận này thách thức hơn đối với các thiết bị Android vì có nhiều phiên bản và phần cứng Android.
Ngăn chặn các cuộc tấn công lừa đảo:Giống như trên.
Trải nghiệm tiện lợi:Giống như trên.
Nhược điểm của Passkey dựa trên đám mây:
Phụ thuộc vào dịch vụ đám mây:So với WebAuthn dựa trên thiết bị, Passkey dựa trên đám mây sẽ chuyển lớp bảo mật từ phần cứng của Secure Enclave sang Chuỗi khóa iCloud mà một số người có thể coi là được lưu trữ trên dịch vụ đám mây. Một số điểm chính cần xem xét bao gồm liệu tài khoản iCloud AppleID của người dùng có bị xâm phạm hay không; trong khi Chuỗi khóa iCloud sử dụng mã hóa hai đầu để bảo vệ dữ liệu, các lỗi vận hành hoặc lỗ hổng bảo mật có thể gây ra rủi ro.
Hạn chế nền tảng:Ví dụ: sử dụng mật khẩu dựa trên iCloud trên thiết bị Android là vô cùng khó khăn. Ngoài ra, không giống như các phương pháp truyền thống, Apple và Google không gửi xác nhận dành riêng cho thiết bị. Điều này có nghĩa là hiện tại không có cách nào để xác minh loại thiết bị đã tạo khóa, điều này đặt ra câu hỏi về độ tin cậy của khóa và siêu dữ liệu liên quan của nó.
Lớp tài khoản: tài khoản hợp đồng thông minh và tài khoản bên ngoài
Cho đến nay, chúng ta có thể thấy rằng việc giữ an toàn cho phần cứng trong khi giải quyết khả năng tương thích giữa nhiều thiết bị và đa nền tảng là một thách thức lớn. Điều quan trọng không kém là các tùy chọn phục hồi xã hội, chẳng hạn như thêm nhiều người giám hộ để tăng cường bảo mật. Trong trường hợp này, blockchain có thể chỉ cho chúng ta một cách.
Xin lưu ý: Khi chúng tôi cố gắng triển khai WebAuthn của Web2 lên Web3, một điểm khác biệt rõ ràng là Web2 chỉ cần chứng minh quyền sở hữu, trong khi Web3 cũng cần ủy quyền giao dịch. Nếu chỉ sở hữu Passkey, nhà phát triển không có quyền kiểm soát tin nhắn đã ký, thường mang tính chung chung, chẳng hạn như đăng nhập. Điều này có thể dẫn đến các vấn đề tiềm ẩn về thao túng giao diện người dùng, trong đó người dùng mù quáng ký tin nhắn - một vấn đề tưởng chừng như tầm thường nhưng lại rất nghiêm trọng.
Bản thân tài khoản hợp đồng thông minh là một hợp đồng thông minh.Là một thực thể trên chuỗi, tài khoản hợp đồng thông minh có thể chỉ định bất kỳ người ký nào. Tính linh hoạt này cho phép người dùng định cấu hình cài đặt cho nhiều thiết bị và nền tảng khác nhau, chẳng hạn như điện thoại Android, Macbook và iPhone với tư cách là người ký. Ngoài ra, tài khoản hợp đồng thông minh mô-đun hỗ trợ nâng cấp, có thể trao đổi người ký mới và có thể thay đổi ngưỡng chữ ký từ 2/3 sang cấu hình phức tạp hơn.
Hãy tưởng tượng một chiếc ví có thể điều chỉnh linh hoạt nhu cầu bảo mật dựa trên tình huống: ví này hỗ trợ xác thực người ký một lần khi người dùng sử dụng địa chỉ IP cục bộ quen thuộc, nhưng yêu cầu xác thực nhiều người ký cho các giao dịch từ địa chỉ IP không xác định hoặc cao hơn một giá trị nhất định. qua. Với tính mô-đun và khả năng lập trình, chỉ có những đổi mới mà chúng ta không thể tưởng tượng và không thể đạt được. Nhiều nhà cung cấp dịch vụ tài khoản hợp đồng thông minh đang tích cực xây dựng trong lĩnh vực này, bao gồm An toàn,Zerodev、Biconomy、Etherspots, Đá và cộng sự. Tôi cũng xin gửi lời cảm ơn đến những người nhưStackup、Plimico, cơ sở hạ tầng như Alchemy giúp điều này trở nên khả thi.
xin vui lòng kiểm tra tôinghiên cứu trước đây, để có được thông tin cơ bản toàn diện hơn về tài khoản hợp đồng thông minh.
Tài khoản hợp đồng thông minh cho phép phục hồi xã hội và khả năng tương thích giữa nhiều thiết bị/nền tảng thông qua các dịch vụ điện toán của nhiều bên. Mặc dù tài khoản hợp đồng thông minh có người ký cố định nhưng các nhà cung cấp dịch vụ tính toán của nhiều bên có thể chia khóa thành nhiều phần để tăng cường tính bảo mật và tính linh hoạt. Cách tiếp cận này không có các tính năng có thể lập trình và nâng cấp của tài khoản hợp đồng thông minh, chẳng hạn như khôi phục khóa thời gian và dễ dàng hủy kích hoạt khóa. Tuy nhiên, MPC không bị giới hạn ở một blockchain cụ thể nên nó có khả năng xuyên chuỗi tuyệt vời và tiết kiệm chi phí hơn so với các tài khoản hợp đồng thông minh. Các nhà cung cấp tính toán nhiều bên nổi tiếng bao gồm Particle Network,Privy、web3 Auth、OKX Wallet、Binance WalletChờ đợi.
Lớp chữ ký: Hỗ trợ R 1
Hãy lùi lại một bước để hiểu: trên Ethereum, khóa riêng là một số ngẫu nhiên được chọn từ đường cong k 1 và quá trình ký cũng sử dụng đường cong này.
Tuy nhiên, các cặp khóa được tạo theo tiêu chuẩn WebAuthn sử dụng đường cong r1. Do đó, chi phí xác minh chữ ký r 1 trên Ethereum xấp xỉ ba lần so với chữ ký k 1. Dưới đây là các giải pháp cho vấn đề này:
Cảm ơn Dogan vì sự đóng góp của anh ấy, hãy xem nghiên cứu của anh ấy để có thêm kiến thức chuyên sâu.
Giải pháp giao thức:
giải pháp:EIP 7212 , được biên dịch trước với sự hỗ trợ cho đường cong secp 256 r 1, được cung cấp bởiClaveĐề xuất của nhóm.
Đánh giá: Đề xuất này tạo ra một hợp đồng được biên dịch trước để thực hiện xác minh chữ ký theo đường cong elip secp 256 r 1 cho hàm băm thông báo, r và s của chữ ký và các tham số tọa độ x, y của khóa chung. Do đó, bất kỳ chuỗi EVM nào (chủ yếu là Rollups của Ethereum) đều có thể dễ dàng tích hợp hợp đồng được biên dịch trước này. Biên dịch trước giao thức có lẽ là giải pháp tiết kiệm gas nhất cho đến nay.
ứng dụng:zkSync
Dịch vụ của bên thứ ba:
Giải pháp: Chìa khóa trao tay
Đánh giá: Chìa khóa trao tay TEE đảm bảo rằng người dùng chỉ có thể truy cập khóa riêng thông qua Passkey của họ, Chìa khóa trao tay không bao giờ có quyền truy cập vào khóa riêng, tuy nhiên điều này vẫn bắt buộc để dịch vụ hợp lệ.
Thực hiện: Goldfinch
Giải pháp xác minh độ rắn:
Giải pháp: Bộ xác minh độ rắn của FCL, FCL với Bộ xác minh độ rắn được tính toán trước, Bộ xác minh P 256 của Daimo
hoàn thành:Clave,Obvious Wallet
Trình xác thực không có kiến thức (ZK):
Đánh giá: Cách tiếp cận này sử dụng bằng chứng không có kiến thức để xác minh các tính toán bên ngoài Máy ảo Ethereum (EVM), giảm chi phí tính toán trên chuỗi.
hoàn thành:Bonfire Wallet (Risc Zero),Know Nothing Labs (Axiom)
Các giải pháp này đều có thể cho phép xác minh chữ ký r 1 rẻ hơn và khả thi hơn trong hệ sinh thái Ethereum. Sau đây làDoganđánh giá của.
Nghiên cứu điển hình mới về WebAuthn
*Xin lưu ý rằng kể từ tháng 12 năm 2023, hầu hết các giải pháp này đều đang ở giai đoạn đầu và có thể thay đổi hoặc cải thiện bất kỳ lúc nào. Những ví dụ này chỉ nhằm mục đích học tập; hãy luôn tham khảo các trang web chính thức của họ để biết thông tin chính xác.
Ví Clave: (Secure Enclave WebAuthn) + (Tài khoản hợp đồng thông minh)
Thông tin cơ bản:
Bản trình diễn: https://getclave.io/
Tài khoản: tài khoản hợp đồng thông minh
Chuỗi: ZkSync
Quá trình giao dịch:
Tạo khóa: Người dùng trải qua quá trình xác minh sinh trắc học, chẳng hạn như nhận dạng dấu vân tay hoặc khuôn mặt và một cặp khóa được tạo trong Secure Enclave mà không bao giờ có thể bị xâm phạm.
Ký khóa: Ứng dụng nhận được thông báo giao dịch được yêu cầu và chuyển tiếp yêu cầu chữ ký đến Secure Enclave, người dùng thực hiện xác minh sinh trắc học để phê duyệt chữ ký và Secure Enclave ký thông báo bằng khóa rồi truyền nó đến các nút blockchain.
Các tính năng bổ sung: Tài khoản hợp đồng thông minh hỗ trợ nhiều tính năng mạnh mẽ. Đầu tiên là tài trợ khí đốt. Sử dụng Paymaster, dApps hoặc nhà quảng cáo có thể thanh toán gas cho người dùng, giúp quá trình giao dịch diễn ra suôn sẻ hơn và cũng cho phép người dùng thanh toán gas bằng cách sử dụng mã thông báo ERC 20 thay vì chỉ Ethereum hoặc mã thông báo gốc. Ngoài ra, người dùng có thể sử dụng khóa phiên để thực hiện các giao dịch không cần chữ ký trong một khoảng thời gian.
Cơ chế phục hồi:
Quá trình khôi phục được thực hiện bằng hợp đồng thông minh của Clave trên zkSync và người dùng có thể hủy quá trình khôi phục trong khoảng thời gian khóa 48 giờ để ngăn chặn hoạt động độc hại trái phép.
Sao lưu đám mây: Khi người dùng chọn sao lưu đám mây, một tài khoản bên ngoài sẽ được tạo. Khóa riêng của tài khoản bên ngoài được lưu trữ trong iCloud hoặc Google Drive. Người dùng có thể sử dụng khóa riêng được lưu trữ trên đám mây để truy cập vào tài khoản của mình từ các thiết bị khác nhau , và cũng có thể xóa hoặc xóa bất cứ lúc nào. Ghi đè phần sao lưu này.
Khôi phục xã hội: Người dùng có thể chỉ định địa chỉ Clave của gia đình hoặc bạn bè của họ làm bản sao lưu và nếu M trong số N người giám hộ xác nhận việc khôi phục và không hủy nó, việc thực thi sẽ tiếp tục lại sau khoảng thời gian khóa 48 giờ.
Ví linh hồn: (Passkey) + (4337 SCA)
Thông tin cơ bản:
Bản trình diễn: https://alpha.soulwallet.io/wallet
Tài khoản: Tài khoản hợp đồng thông minh ERC 4337
Chuỗi: Ethereum, Optimism, Arbitrum, sẽ sớm hỗ trợ đầy đủ Lớp máy ảo Ethereum 2
Quá trình giao dịch:
Tạo khóa: Người dùng cung cấp xác minh sinh trắc học như nhận dạng dấu vân tay hoặc khuôn mặt và hệ điều hành tạo Mật mã, được sao lưu bằng dịch vụ đám mây. Người dùng có thể thêm nhiều Passkey trên các thiết bị và nền tảng.
Thêm người giám hộ (tùy chọn): Người dùng có thể chỉ định các địa chỉ tài khoản bên ngoài Máy ảo Ethereum khác nhau làm người giám hộ và đặt ngưỡng khôi phục tài khoản.
Tạo tài khoản: Với việc triển khai phản thực tế, người dùng không cần phải trả bất kỳ khoản nào cho đến khi họ thực hiện giao dịch đầu tiên.
Cơ chế phục hồi:
Mật mã: Sử dụng bất kỳ Mật mã nào được xác định để đăng nhập vào ví trên bất kỳ thiết bị nào.
Phục hồi người giám hộ: Người giám hộ được chỉ định có thể xoay ví dựa trên ngưỡng và sau đó có thể đặt khóa thời gian để ngăn chặn hành vi nguy hiểm.
Ví OKX: (MPC-TSS + Passkey) + (tài khoản bên ngoài hợp đồng thông minh 4337)
Thông tin cơ bản:
Bản trình diễn: https://www.okx.com/help/what-is-an-aa-smart-contract-wallet
Chuỗi: Hơn 30 chuỗi
Phím: MPC-TSS, 2/3
Tài khoản: tài khoản hợp đồng thông minh 4337
Quá trình giao dịch:
Tạo khóa: Bằng cách tạo ví, OKX tách một khóa riêng thành ba phần riêng biệt. Một phần được lưu trữ trên máy chủ OKX, một phần được lưu trữ trong bộ nhớ cục bộ trên thiết bị của người dùng và một phần được tạo bởi thiết bị, được mã hóa và có thể được sao lưu vào dịch vụ đám mây ưa thích của thiết bị, chẳng hạn như Google Cloud, iCloud, và Đám mây Huawei.
Ký khóa: OKX sử dụng công nghệ MPC-TSS, cho phép người dùng có được chữ ký hoàn chỉnh bằng cách sử dụng hai trong ba phần khóa riêng khi ký giao dịch, trong đó các đoạn khóa riêng không tiếp xúc với nhau.
Cơ chế phục hồi:
Cơ chế 2/3: Khi người dùng đăng xuất, thiết bị không khả dụng hoặc một trong các key trên thiết bị bị rò rỉ, người dùng có thể sử dụng thiết bị mới để đăng nhập vào ví OKX (lấy key được lưu trên máy chủ) và lấy phần khóa được lưu trữ bởi dịch vụ đám mây, Khôi phục ví bằng hai khóa phần này và OKX Wallet sẽ tạo một phần khóa mới.
Web3 Auth: (MPC-TSS +Passkey) + (tài khoản bên ngoài/tài khoản hợp đồng thông minh)
Thông tin cơ bản:
Bản trình diễn: https://w3a.link/passkeysDemo
Chuỗi: Tất cả EVM và Solana
Phím: MPC-TSS, thường là 2/3
Tài khoản: Bất kỳ tài khoản nào như tài khoản bên ngoài, tài khoản hợp đồng thông minh 4337 hoặc tài khoản hợp đồng thông minh chung
Quá trình giao dịch:
Tạo khóa: Bằng cách tạo ví, ba phần chính sẽ được tạo. Một phần dành cho đăng nhập xã hội, nơi người dùng có thể nhập email của họ và một nút mạng phi tập trung lưu trữ khóa của mỗi người dùng; một phần dành cho các khóa được lưu trữ trong bộ nhớ cục bộ của thiết bị người dùng; và một phần được cung cấp bởi máy tính cục bộ Được tạo và hỗ trợ lên bởi dịch vụ đám mây ưa thích của người dùng.
Ký khóa: Kiến trúc Web3 Auth MPC-TSS đảm bảo rằng khóa của người dùng luôn có sẵn và ngay cả khi ký ngưỡng, khóa không bao giờ được xây dựng lại hoặc lưu trữ ở một vị trí.
Cơ chế phục hồi:
Phục hồi ngưỡng: Khi người dùng đăng xuất, thiết bị không khả dụng hoặc khóa trên thiết bị bị rò rỉ, người dùng có thể sử dụng phương thức đăng nhập xã hội để đăng nhập vào tài khoản WebAuthn và lấy phần khóa của bộ lưu trữ đám mây và sử dụng chìa khóa của hai phần này để khôi phục ví.
Giao thức Lit (MPC-TSS + Nút phi tập trung + Mật mã) + (Tài khoản bên ngoài/Tài khoản hợp đồng thông minh)
Thông tin cơ bản:
Bản trình diễn: https://lit-pkp-auth-demo.vercel.app/
Chuỗi: Hầu hết EVM, Cosmos, Solana.
Tài khoản: MPC-TSS, cơ chế 2/3, có thể áp dụng cho cả tài khoản hợp đồng thông minh và tài khoản bên ngoài.
Quá trình giao dịch:
Tạo khóa: Khi người dùng muốn tạo ví, trước tiên họ chọn phương thức xác thực (hỗ trợ Passkey, đăng nhập xã hội oAuth), sau đó gửi yêu cầu đến bộ chuyển tiếp để tạo cặp khóa và lưu trữ logic xác thực vào hợp đồng thông minh. Mỗi cặp khóa được tạo bởi các nút Lit thông qua quy trình Tạo khóa phân tán (DKG). Là một mạng phi tập trung, TEE chạy nội bộ 30 nút Lit, mỗi nút giữ một phần khóa, nhưng khóa riêng sẽ không bao giờ tồn tại hoàn toàn trong TEE.
Chữ ký chính: Sau khi nhận được yêu cầu, các nút Lit xác minh hoặc từ chối yêu cầu một cách độc lập dựa trên phương thức xác thực được chỉ định và sử dụng công nghệ MPC-TSS, 1. Tạo chữ ký khi bộ sưu tập vượt quá ngưỡng (20 xác nhận trong số 30 nút) và Được sáng tác bởi khách hàng để đáp ứng yêu cầu.
Cơ chế phục hồi:
Cơ chế 2/3: Sử dụng phương thức xác thực được lưu trong hợp đồng thông minh để truy cập vào tài khoản, các nút Lit xác minh yêu cầu và nếu có hơn 2/3 số nút xác nhận thì yêu cầu sẽ được tiếp tục.
Quan điểm
Được hỗ trợ bởi các giải pháp Lớp 2, Lớp 3 và Tính sẵn có của Dữ liệu (DA), chúng tôi cố gắng cải thiện hiệu suất blockchain. Đồng thời, chúng tôi kết hợp quyền riêng tư bằng chứng không có kiến thức với tính minh bạch để theo đuổi sự bảo mật thực sự. Mọi nỗ lực đều hướng tới cùng một mục tiêu: mật mã sẵn sàng được sử dụng trong cuộc sống hàng ngày của người dùng.
Thật dễ dàng để bị mắc kẹt trong một giấc mơ công nghệ lý tưởng, nhưng chúng ta phải tự hỏi bản thân: Chúng ta đang theo đuổi loại trải nghiệm nào? Chúng tôi hình dung một thế giới nơi tiền điện tử phải trực quan và dễ hiểu thay vì những thuật ngữ kỹ thuật đáng sợ; một thế giới nơi người dùng có thể nhảy xuống hố thỏ mà không do dự và không đổ mồ hôi. .
Hãy tưởng tượng có một người dùng tên Rui: cô ấy phát hiện ra một dApp tuyệt vời giúp bạn dễ dàng đăng ký bằng nhận dạng khuôn mặt hoặc dấu vân tay và thiết lập bản sao lưu hoặc người giám hộ. Cô ấy có thể dễ dàng thực hiện giao dịch bằng cách sử dụng dApp, có thể với một khoản phí nhỏ ERC 20 hoặc thậm chí có thể không mất phí. Sau đó, cô ấy có thể tùy chỉnh cài đặt ví, chẳng hạn như kích hoạt khóa thời gian cho các giao dịch tự động, thêm thiết bị khác làm người ký dự phòng hoặc sửa đổi danh sách người giám hộ của mình.
Các doanh nhân đang làm việc chăm chỉ để thực hiện điều này. Kết hợp WebAuthn và Passkey, chúng tôi đã nâng cao khả năng quản lý khóa riêng tư để đảm bảo tính an toàn và thuận tiện. Trên cơ sở đó, tài khoản hợp đồng thông minh với tư cách là một thực thể sẽ mở ra lĩnh vực chức năng và bảo mật được cá nhân hóa. Đối với khí đốt? Với Paymaster, các nhà cung cấp có thể tạo một “kho tiền” cho các giao dịch hoán đổi và thậm chí cho phép các nhà quảng cáo trả tiền cho người dùng để xăng không còn là gánh nặng nữa. Trọng tâm của quá trình phát triển này, đặc biệt đối với mạng chính Ethereum và lớp 2 tương đương của nó, là ERC 4337. ERC 4337 giới thiệu một mempool thay thế giúp tách biệt các giao dịch tài khoản hợp đồng thông minh với các tài khoản bên ngoài mà không yêu cầu sửa đổi lớn đối với giao thức. Mặt khác, một số mạng Lớp 2 thậm chí còn áp dụng các tài khoản hợp đồng thông minh một cách tự nhiên và tích hợp chúng một cách liền mạch vào hệ thống.
Phải mất rất nhiều nỗ lực để làm cho mọi thứ đơn giản. Chúng tôi cũng phải đối mặt với nhiều thách thức, như giảm chi phí triển khai, xác minh và thực thi tài khoản hợp đồng thông minh; chuẩn hóa giao diện để nâng cao khả năng tương tác của tài khoản; đồng bộ hóa trạng thái tài khoản giữa các chuỗi, v.v. Cảm ơn tất cả những người xây dựng, mỗi ngày chúng tôi càng tiến gần hơn đến thành công. Công ty SevenX của chúng tôi, cùng với các công ty khởi nghiệp tiền điện tử khác, sẵn sàng trao quyền cho các công ty lớn và giúp họ hiện thực hóa tầm nhìn của mình.
Nếu bạn quan tâm đến bài viết này, vui lòng xem các bài viết khác của tôi để biết thông tin cơ bản toàn diện hơn:
04/ Tài khoản:Kiến trúc và thách thức của tài khoản hợp đồng thông minh mô-đun
03/ Keys (bài viết này): WebAuthn và Passkey, quản lý khóa cho người dùng mã hóa hàng ngày
02/ Cơ sở hạ tầng:Sự phát triển của tài khoản Ethereum do ERC 4337 mang lại