
SevenX Ventures: WebAuthn và Passkey cứu vãn trải nghiệm mã hóa tệ hại như thế nào?
Tuyển chọn TechFlowTuyển chọn TechFlow

SevenX Ventures: WebAuthn và Passkey cứu vãn trải nghiệm mã hóa tệ hại như thế nào?
Để đảm bảo an toàn giao dịch, cần phải xác thực danh tính người dùng được ủy quyền.
Tác giả: Rui @Ruisnakes, SevenX Ventures

TL;DR
Khóa riêng là chìa khóa để ký giao dịch trên Ethereum, nhưng ngay cả khi được quản lý dưới dạng dễ đọc như cụm từ khôi phục (hay còn gọi là “cụm từ gốc”), việc quản lý khóa riêng của người dùng vẫn là cơn ác mộng. Và chúng tôi hiểu rõ rằng biến blockchain thành một trò chơi phức tạp chưa bao giờ là mục đích ban đầu của chúng ta.
Để đảm bảo an toàn cho giao dịch, cần xác thực danh tính người dùng được ủy quyền. Cùng với sự phát triển của an ninh và trải nghiệm người dùng trên Internet, chúng ta đã tiến hóa từ xác thực mật khẩu sang nhận dạng sinh trắc học như nhận diện khuôn mặt và vân tay. Trong tiến trình này, WebAuthn là một cột mốc quan trọng. Bài viết này sẽ tập trung vào ba thuật ngữ:
-
WebAuthn: Đây là một tiêu chuẩn xác thực web, sử dụng các chứng chỉ dựa trên khóa công khai thường do bộ xác thực bên ngoài tạo ra. Không cần mật khẩu, WebAuthn vẫn đảm bảo xác thực người dùng an toàn.
-
Secure Enclave: Khu vực bảo mật dựa trên phần cứng bên 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 Secure Enclave có sẵn trên thiết bị iOS, Android và Windows. Khi áp dụng WebAuthn, nó có thể hoạt động như bộ xác thực bên ngoài, mang lại mức độ bảo mật ở cấp phần cứng, tuy nhiên vì khóa riêng bị ràng buộc với thiết bị cục bộ nên việc thao tác qua nhiều thiết bị trở nên khó khăn.
-
Passkey: Ứng dụng WebAuthn ở cấp độ hệ điều hành, với các quy tắc tùy chỉnh bởi nhà cung cấp thiết bị và hệ thống khác nhau. Ví dụ, Passkey của Apple tận dụng chuỗi khóa (Keychain) iCloud để đồng bộ hóa qua các thiết bị. Tuy nhiên, phương pháp này thường chỉ giới hạn trong nền tảng hoặc hệ thống nhất định, không hỗ trợ xuyên hệ thống (Apple-Android).

Như đã nêu trên, việc triển khai WebAuthn phù hợp với mục tiêu đối với người dùng blockchain hàng ngày của chúng ta: đạt được trải nghiệm thân thiện và bảo mật chống lừa đảo cao cấp. Dưới đây là đề xuất tích hợp WebAuthn vào blockchain:
-
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 diện khuôn mặt hoặc vân tay. Về cơ sở, nó dựa trên bộ xử lý bảo mật phần cứng (như Secure Enclave) hoặc dịch vụ đám mây (như iCloud và Google Cloud) để quản lý khóa. Tôi sẽ đi sâu hơn vào vấn đề đa thiết bị và đa nền tảng sau.
-
Lớp tài khoản: Tài khoản hợp đồng thông minh (SCA) có thể phân bổ bất kỳ người ký nào (ví dụ: 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ể điều chỉnh yêu cầu chữ ký động theo số lượng giao dịch, thời gian hoặc địa chỉ IP. Mặt khác, tài khoản bên ngoài truyền thống (EOA) có thể được mở rộng thông qua dịch vụ MPC (tính toán đa bên), kết hợp này cung cấp tính tương tác và hiệu quả chi phí tốt hơn so với SCA, nhưng thiếu các chức năng nâng cao mà SCA cung cấp, đặc biệt việc luân chuyển khóa sẽ thách thức hơn.
-
Lớp chữ ký: Ethereum hỗ trợ nguyên bản đường cong k1, nhưng xác minh chữ ký WebAuthn tốn kém hơn do sử dụng đường cong r1 để tạo khóa. Do đó, các giải pháp Layer 2 như zkSync lên kế hoạch áp dụng biên dịch sẵn EIP-7212 r1 gốc. Ngoài ra, còn có các dịch vụ bên thứ ba, trình xác minh Solidity, trình xác minh kiến thức không (ZK) và hệ thống quản lý khóa phân tán giúp xác minh chữ ký r1 hiệu quả về chi phí hơn.
* Từ chối trách nhiệm:
Tiến bộ kỹ thuật không đồng nghĩa với thành công trên thị trường; không phải mọi 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; 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 tệ hại? Quản lý khóa quá tồi!
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 hay nhà cung cấp ví, mà nằm ở khóa riêng. Khóa này quyết định việc thực thi giao dịch trên Ethereum thành công hay thất bại. Để hiểu rõ hơn, hãy lấy 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 elliptic secp256k1 làm khóa riêng. Sau đó nhân khóa riêng này với điểm đã định trước trên đường cong để tạo khóa công khai. Địa chỉ Ethereum được suy ra từ 20 byte cuối cùng của băm khóa công khai. Thông thường, chúng ta sử dụng cụm từ khôi phục để chuyển khóa riêng thành dạng từ dễ nhớ để sao lưu, từ đó cuối cùng sinh ra khóa riêng và khóa công khai.
-
Ký giao dịch: Sử dụng khóa riêng để ký một giao dịch chứa các chi tiết như nonce (số tuần tự), số tiền, giá gas và địa chỉ người nhận. Quá trình này liên quan đến thuật toán chữ ký số đường cong elliptic (ECDSA), sử dụng mật mã đường cong elliptic với đường cong secp256k1, tạo chữ ký gồm các giá trị (r, s, v), sau đó gửi chữ ký và giao dịch gốc lên mạng.
-
Xác minh giao dịch: Khi giao dịch đến nút Ethereum, nó sẽ được xác minh trong bộ nhớ tạm (mempool) của nút. Để xác minh người ký, nút sử dụng chữ ký và giao dịch đã băm để lấy khóa công khai của người gửi, rồi xác nhận tính xác thực bằng cách so khớp địa chỉ trích xuất với địa chỉ người gửi.
Như đã nói ở 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à tài khoản bên ngoài, hoàn toàn phụ thuộc vào một khóa riêng duy nhất, điều này tiềm ẩn rủi ro lớn vì mất khóa riêng đồng nghĩa 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 Tài khoản (Account Abstraction - AA) là giải pháp tối ưu cho vấn đề trải nghiệm người dùng, tôi muốn nói rằng không hẳn vậy. AA biến quy tắc validity rule (quy tắc hợp lệ) trên Ethereum thành các quy tắc có thể lập trình, và tài khoản hợp đồng thông minh hiện thực điều này. AA rất mạnh mẽ, có thể thực hiện gửi nhiều giao dịch song song (trừu tượng nonce), tài trợ gas, hỗ trợ thanh toán gas bằng ERC20 (trừu tượng gas), và một chức năng liên quan hơn đến chủ đề bài viết là – AA có thể phá vỡ xác minh chữ ký cố định (trừu tượng ECDSA). Khác với tài khoản bên ngoài, tài khoản hợp đồng thông minh có thể phân bổ người ký và cơ chế ký tùy ý như đa chữ ký (multisig) hoặc khóa phạm vi (khóa phiên). Tuy nhiên, dù tính linh hoạt và khả năng nâng cấp của AA được cải thiện, việc ký giao dịch vẫn cần khóa.
Ngay cả khi chuyển khóa riêng thành cụm 12 từ dễ nhớ, việc quản lý khóa vẫn là thách thức lớn, tiềm ẩn rủi ro mất mát hoặc bị tấn công lừa đảo. Người dùng buộc phải lựa chọn giữa các giải pháp phi tập trung phức tạp và dịch vụ tập trung, nhưng cả hai đều không lý tưởng.
Tại sao trải nghiệm mã hóa lại tệ? Một phần lớn nguyên nhân là do quản lý khóa kém. Người dùng luôn phải đánh đổi giữa trải nghiệm, bảo mật và tính phi tập trung khi quản lý khóa. Bài viết này thảo luận về các giải pháp tiềm năng tốt nhất để quản lý khóa.
Lớp quản lý khóa
Không tồn tại giải pháp nào là hoàn hảo. Cách tốt nhất để lưu trữ khóa cần được tùy chỉnh theo từng tình huống người dùng cụ thể và chịu ảnh hưởng bởi nhiều yếu tố như loại người dùng (cá nhân hay tổ chức), số vốn, tần suất giao dịch và loại tương tác.
Trước tiên xin làm rõ, tôi sẽ không dùng các thuật ngữ phổ biến hiện nay như "tự lưu trữ, bán lưu trữ, toàn bộ lưu trữ". Theo tôi, tự lưu trữ thực sự nghĩa là không phụ thuộc vào bên thứ ba, tự ký giao dịch độc lập, kể cả những giải pháp không được coi là lưu trữ theo nghĩa truyền thống (ví dụ như lưu trữ trong môi trường thực thi đáng tin cậy trên nút phi tập trung) cũng không phải là không lưu trữ. Việc đánh giá một giải pháp là tốt hay xấu chỉ dựa trên loại lưu trữ là quá đơn giản và bỏ qua sự khác biệt về tính phù hợp của các giải pháp. Để đánh giá chi tiết hơn các phương pháp quản lý khóa, tôi đề xuất phân tích theo ba chiều hướng khác nhau.

Trách nhiệm
Việc phân chia trách nhiệm quản lý khóa cho các bên khác nhau.

Do người dùng cá nhân thường gặp nhiều thách thức khi quản lý khóa, việc phân chia trách nhiệm quản lý khóa tự nhiên trở thành chiến lược giảm thiểu rủi ro. Các phương pháp này bao gồm sử dụng nhiều khóa để ký phối hợp, hệ thống đa chữ ký (Multi-sig) là một ví dụ, hoặc chia nhỏ khóa riêng thông qua sơ đồ chia sẻ bí mật (SSS) hoặc tính toán đa bên (MPC).
-
Đa chữ ký (Multi-sig): Cần nhiều khóa riêng hoàn chỉnh để tạo chữ ký giao dịch. Phương pháp này yêu cầu các bên ký giao tiếp trên chuỗi, phí giao dịch cao hơn và ảnh hưởng đến quyền riêng tư vì số lượng người ký hiển thị trên chuỗi.
-
Sơ đồ chia sẻ bí mật (SSS): Sinh khóa riêng tại một vị trí duy nhất, sau đó chia nhỏ khóa này và phân phối cho các bên khác nhau. Các bên phải tái tạo lại khóa riêng đầy đủ để ký giao dịch. Tuy nhiên, việc tái tạo tạm thời này có thể tạo ra lỗ hổng.
-
MPC-TSS (Sơ đồ chữ ký ngưỡng): Là một triển khai của MPC, phương pháp mã hóa này cho phép nhiều bên tính toán cùng nhau trong khi giữ bí mật đầu vào riêng. Mỗi bên độc lập tạo một mảnh khóa, có thể ký giao dịch mà không cần gặp trực tiếp. Vì hoạt động ngoại chuỗi, phương pháp này tốn ít phí hơn và không có rủi ro điểm lỗi đơn như SSS.
Lưu trữ
Lưu trữ khóa hoặc mảnh khóa, bị ảnh hưởng bởi các yếu tố bảo mật, khả năng truy cập, chi phí và mức độ phi tập trung.

-
Dịch vụ đám mây tập trung như máy chủ AWS, iCloud. Phương pháp này thuận tiện cho giao dịch thường xuyên nhưng dễ bị kiểm duyệt hơn.
-
Lưu trữ phi tập trung như IPFS và Filecoin.
-
Máy tính / thiết bị di động cục bộ: Khóa được lưu trữ trong bộ nhớ an toàn của trình duyệt.
-
Ví giấy: In khóa riêng hoặc mã QR.
-
Môi trường thực thi đáng tin cậy (TEE): TEE cung cấp một khu vực an toàn bên trong bộ xử lý chính, thực hiện 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 tách biệt khỏi bộ xử lý chính, cung cấp thêm một lớp bảo mật, đảm bảo an toàn dữ liệu người dùng nhạy cảm ngay cả khi nhân bộ xử lý ứng dụng bị đe dọa.
-
Ví phần cứng: Thiết bị vật lý như Ledger và Trezor, chuyên dùng để lưu trữ khóa riêng an toàn.
-
Mô-đun bảo mật phần cứng (HSM): HSM là thiết bị phần cứng chuyên dùng để quản lý khóa an toàn và thực hiện các thao tác mã hóa, thường 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 danh tính người dùng để truy cập khóa đã lưu trữ

Việc truy cập khóa đã lưu trữ cần xác thực. Điều này đòi hỏi xác minh rằng cá nhân đang cố gắng truy cập thực sự được ủy quyền. Nhìn lại quá khứ, có thể phân loại phương thức truy cập như sau:
-
Thứ 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 biểu đồ cụ thể.
-
Thứ bạn có: Bao gồm thẻ thông minh, token phần cứng (mật khẩu dùng một lần theo thời gian) hoặc yếu tố số như xác minh tài khoản xã hội và mã SMS gửi đến điện thoại.
-
Chính bạn: Đặc điểm cơ thể độc đáo của người dùng như vân tay, nhận diện khuôn mặt (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.
Dựa trên những yếu tố 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ố, ví dụ như kết hợp SMS 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 sản phẩm hiện tại

MetaMask cho phép người dùng truy cập khóa được lưu trữ trong bộ nhớ trình duyệt cục bộ bằng mật khẩu.

Trust Wallet cho phép người dùng truy cập khóa được lưu trữ trong bộ nhớ trình duyệt cục bộ bằng mật khẩu hoặc faceID, người dùng cũng có thể chọn sao lưu khóa riêng bằng dịch vụ đám mây.

Privy cho phép người dùng sử dụng nhiều phương pháp đăng nhập xã hội như email, chia sẻ bí mật để chia khóa thành ba phần:
-
Mảnh thiết bị: Trình duyệt - iFrame, thiết bị di động - Secure Enclave.
-
Mảnh xác thực Auth: Được lưu trữ bởi Privy, liên kết với Privy ID.
-
Mảnh khôi phục Recovery: Mật khẩu người dùng hoặc được Privy mã hóa và lưu trữ trong mô-đun bảo mật phần cứng (HSM).

Particle cho phép người dùng đăng nhập xã hội, sử dụng MPC-TSS, chia khóa thành hai phần:
-
Mảnh thiết bị: Trình duyệt - iFrame
-
Phần khóa máy chủ: Máy chủ Particle
Giải pháp mới
Lớp khóa: WebAuthn, Secure Enclave và Passkey
Các giải pháp hiện tại nêu trên đóng vai trò then chốt trong việc thu hút sự chú ý của người dùng đến Web3. Tuy nhiên, thách thức也随之而来:mật khẩu có thể bị quên hoặc trở thành mục tiêu tấn công lừa đảo, 2FA an toàn hơn nhưng do liên quan đến nhiều bước nên dùng khá phiền toái. Ngoài ra, không phải ai cũng sẵn sàng ủy thác quản lý khóa cho bên thứ ba, 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 phụ thuộc vào tính sẵn có và hiệu quả của hệ thống.
Điều này khiến chúng ta tự hỏi liệu có giải pháp hiệu quả hơn—một giải pháp có thể cung cấp trải nghiệm gần như không cần tin tưởng, an toàn cao và liền mạch. Việc tìm kiếm giải pháp tối ưu này dẫn chúng ta đến phương pháp Web2 tốt nhất. Như đã nói ở đầu bài viết, có vài thuật ngữ liên quan chặt chẽ đến chủ đề này, WebAuthn là tiêu chuẩn xác thực, còn Secure Enclave và Passkey là các triển khai hoặc thành phần liên quan đến tiêu chuẩn này.
WebAuthn
WebAuthn chuẩn hóa 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 tài khoản internet bằng bộ xác thực bên ngoài thay vì mật khẩu. Bộ xác thực có thể là bộ xác thực di động (như Yubikey, Titan key) hoặc bộ xác thực nền tảng (như chuỗi khóa nội bộ trên thiết bị Apple).

Công nghệ đằng sau WebAuthn ban đầu do liên minh FIDO (Fast IDentity Online) phát triển. Tháng 3 năm 2019, W3C chính thức công bố WebAuthn là tiêu chuẩn web, cùng với sự chuẩn hóa, các trình duyệt lớn như Google Chrome, Mozilla Firefox, Microsoft Edge và Apple Safari đều áp dụng WebAuthn, mở rộng đáng kể phạm vi ứng dụng và tính khả dụng của WebAuthn. Hiện nay đã được hỗ trợ bởi nhiều thiết bị tiên tiến.
Lợi thế của WebAuthn:
-
An toàn hơn: Không còn phụ thuộc vào mật khẩu, giảm rủi ro bị lừa đảo, tấn công bạo lực và tấn công lặp lại.
-
Nâng cao trải nghiệm người dùng: Cung cấp đăng nhập đơn giản và nhanh chóng hơn, thường chỉ cần một cú nhấp hoặc xác minh sinh trắc học để đăng nhập.
-
Bảo vệ quyền riêng tư: Không truyền nội dung bí mật chia sẻ trong quá trình xác thực, các trang web riêng lẻ cũng không nhận được thông tin cá nhân nào.
-
Khả năng mở rộng và chuẩn hóa: Là một tiêu chuẩn web, WebAuthn đảm bảo tính nhất quán và tương thích giữa các trình duyệt và nền tảng khác nhau.
WebAuthn dựa trên thiết bị, ví dụ Secure Enclave
Hiện nay, chúng ta có thể sử dụng bộ xử lý phần cứng làm bộ xác thực, ví dụ Secure Enclave trên thiết bị Apple, Trustzone trên thiết bị Android và Strongbox trên Google Pixel.

-
Tạo khóa: Sử dụng mật mã khóa công khai, sinh cặp khóa theo tiêu chuẩn WebAuthn, thường dùng đường cong P-256 r1. Gửi khóa công khai đến máy chủ, 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 ở dạng văn bản rõ, đảm bảo an toàn cho khóa riêng.
-
Lưu trữ khóa: Khóa riêng được lưu trữ an toàn bên trong Secure Enclave của thiết bị, một hệ thống con được tăng cường tách biệt vớ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ị tổn hại thì dữ liệu khóa gốc cũng không thể truy cập được. Ngưỡng để phá Secure Enclave rất cao, do đó các loại dữ liệu nhạy cảm nhất (như dữ liệu Apple Pay và FaceID) đều được lưu trữ ở đây. Có thể xem giải thích chi tiết về cách hoạt động của Secure Enclave.
-
Xác thực: Người dùng sử dụng nhận diện khuôn mặt hoặc vân tay để lấy quyền truy cập, Secure Enclave sử dụng khóa riêng để ký thách thức từ máy chủ, máy chủ sau đó sử dụng khóa công khai để xác minh.

Lợi thế của WebAuthn dựa trên thiết bị:
-
An toàn như phần cứng: Secure Enclave như một bộ quản lý khóa dựa trên phần cứng độc lập nâng cao bảo mật.
-
Chống tấn công lừa đảo: Không cần nhập bất kỳ thông tin nào trên thiết bị hoặc trang web có thể bị đe dọa.
-
Trải nghiệm thuận tiện: 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 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ị:
-
Hạn chế thiết bị: Nếu thiết bị bị mất hoặc hư hỏng thì không thể xuất hoặc truy xuất khóa riêng, không thể hoạt động qua nhiều thiết bị.
WebAuthn dựa trên đám mây, Passkey
Để giải quyết thách thức về chức năng đa thiết bị, các gã khổng lồ công nghệ đã ra mắt triển khai WebAuthn dựa trên đám mây, Passkey nổi tiếng nhờ 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 làm bộ xác thực, sinh khóa công khai và khóa riêng khi người dùng tạo tài khoản. Sau đó gửi khóa công khai đến máy chủ, 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 khóa gắn phần cứng và lưu trữ trong mô-đun bảo mật phần cứng. Apple không thể truy cập khóa này.
-
Đồng bộ đa thiết bị: Quá trình này giống như truy cập iCloud. Xác thực tài khoản iCloud, nhận mã xác minh SMS, sau đó nhập mật khẩu trên một trong các thiết bị.

Lợi thế của WebAuthn dựa trên đám mây:
-
Đa thiết bị: Passkey nhằm mục đích thuận tiện cho người dùng truy cập, người dùng có thể truy cập trên tất cả các thiết bị thường xuyên sử dụng. Nhưng hiện nay chỉ giới hạn trong thiết bị Apple. Phương pháp này khó khăn hơn đối với thiết bị Android do sự đa dạng về phiên bản và phần cứng Android.
-
Chống lừa đảo: Như trên.
-
Trải nghiệm thuận tiện: 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 chuyển lớp bảo mật từ phần cứng Secure Enclave sang chuỗi khóa iCloud, một số người có thể cho rằng nó được lưu trữ trên dịch vụ đám mây. Một số điểm cần xem xét bao gồm: tài khoản AppleID iCloud của người dùng có bị rò rỉ hay không; mặc dù chuỗi khóa iCloud sử dụng mã hóa đầu cuối để bảo vệ dữ liệu, nhưng sai sót vận hành hoặc lỗ hổng vẫn tiềm ẩn rủi ro.
-
Hạn chế nền tảng: Ví dụ, việc sử dụng mật khẩu dựa trên iCloud trên thiết bị Android cực kỳ thách thức. Ngoài ra, khác với phương pháp truyền thống, Apple và Google không gửi khẳng định (assertions) cụ thể cho thiết bị. Điều này có nghĩa hiện tại không thể xác minh loại thiết bị tạo khóa, gây ra nghi ngờ về độ tin cậy của khóa và siêu dữ liệu liên quan.
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 duy trì tính bảo mật phần cứng trong khi giải quyết tính tương thích đa thiết bị và đa nền tảng là một thách thức lớn. Cũng quan trọng không kém là tùy chọn khôi phục xã hội, ví dụ như thêm nhiều người giám hộ (guardian) để 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 con đường.
Lưu ý: Khi chúng ta cố gắng triển khai WebAuthn Web2 sang 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òn cần ủy quyền giao dịch. Nếu chỉ có Passkey, lập trình viên không thể kiểm soát thông điệp ký, thông điệp ký thường là chung chung, ví dụ như "sign in". Điều này có thể dẫn đến vấn đề thao túng giao diện trước, nơi người dùng "vô thức" ký thông điệp—vấn đề này thoạt nhìn có vẻ nhỏ nhưng thực tế rất quan trọng.

Tài khoản hợp đồng thông minh bản thân nó là hợp đồng thông minh, với tư cách là thực thể trên chuỗi, tài khoản hợp đồng thông minh có thể chỉ định người ký tùy ý. Tính linh hoạt này cho phép người dùng thiết lập trên nhiều thiết bị và nền tảng khác nhau, ví dụ như đặt điện thoại Android, Macbook và iPhone làm 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, có thể thay đổi ngưỡng ký từ 2/3 thành cấu hình phức tạp hơn.
Hãy tưởng tượng một ví có thể điều chỉnh nhu cầu bảo mật linh hoạt theo tình huống: khi người dùng ở địa chỉ IP cục bộ quen thuộc, ví hỗ trợ xác thực người ký đơn, nhưng đối với giao dịch từ địa chỉ IP chưa biết hoặc vượt quá một giá trị nhất định thì cần nhiều người ký. Với tính mô-đun và khả năng lập trình, chỉ có điều chúng ta không tưởng tượng ra chứ không có gì không thể thực hiện. 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 lĩnh vực này, bao gồm Safe, Zerodev, Biconomy, Etherspots, Rhinestone, v.v. Cũng xin cảm ơn các cơ sở hạ tầng như Stackup, Plimico, Alchemy đã làm nên điều này.
Hãy xem nghiên cứu trước đây của tôi để có thông tin nền tảng 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 có thể đạt được khôi phục xã hội và tính tương thích đa thiết bị / đa nền tảng thông qua dịch vụ MPC. Mặc dù tài khoản hợp đồng thông minh có người ký cố định, nhưng nhà cung cấp MPC có thể chia khóa thành nhiều phần để tăng cường bảo mật và tính linh hoạt. Phương pháp này không có tính lập trình và nâng cấp của tài khoản hợp đồng thông minh, ví dụ như khôi phục time lock và chức năng vô hiệu hóa khóa dễ dàng. Tuy nhiên, MPC không bị giới hạn bởi blockchain cụ thể, do đó có khả năng xuyên chuỗi vượt trội và hiệu quả chi phí hơn tài khoản hợp đồng thông minh. Các nhà cung cấp MPC nổi bật bao gồm Particle Network, Privy, web3 Auth, OKX Wallet, Binance Wallet, v.v.
Lớp chữ ký: Hỗ trợ R1
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 k1, và quá trình ký cũng sử dụng đường cong này.
Tuy nhiên, 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ý r1 trên Ethereum khoảng gấp ba lần chữ ký k1. Dưới đây là các giải pháp cho vấn đề này:

Cảm ơn đóng góp của Dogan, hãy xem nghiên cứu của anh ấy để biết thêm thông tin chuyên sâu.
Giải pháp giao thức:
-
Giải pháp: EIP7212, biên dịch sẵn hỗ trợ đường cong secp256r1, do nhóm Clave đề xuất.
-
Đánh giá: Đề xuất này tạo một hợp đồng biên dịch sẵn, thực hiện xác minh chữ ký trên đường cong elliptic "secp256r1" thông qua các tham số băm tin nhắn, r và s của chữ ký, và tọa độ x, y của khóa công khai. 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 biên dịch sẵn này. Cho đến nay, biên dịch sẵn giao thức có lẽ là giải pháp tiết kiệm gas nhất.
-
Ứng dụng: zkSync
Dịch vụ bên thứ ba:
-
Giải pháp: Turnkey
-
Đánh giá: TEE Turnkey đảm bảo khóa riêng chỉ có thể truy cập bởi người dùng thông qua Passkey của họ, Turnkey không bao giờ có thể truy cập khóa riêng, tuy nhiên điều này vẫn cần hiệu lực của dịch vụ.
-
Triển khai: Goldfinch
Giải pháp trình xác minh Solidity:
-
Giải pháp: Trình xác minh Solidity của FCL, FCL với trình xác minh Solidity đã tính toán trước, Trình xác minh P256 của Daimo
-
Triển khai: Clave, Obvious Wallet
Trình xác minh kiến thức không (ZK):
-
Giải pháp: Bonsai của Risc Zero, halo2-ecc của Axiom
-
Đánh giá: Phương pháp này sử dụng bằng chứng kiến thức không để xác minh 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.
-
Triển khai: Bonfire Wallet (Risc Zero), Know Nothing Labs (Axiom)
Các giải pháp này đều có thể thực hiện xác minh chữ ký r1 rẻ hơn và khả thi hơn trong hệ sinh thái Ethereum, dưới đây là đánh giá của Dogan.
Nghiên cứu điển hình mới về WebAuthn

* Lưu ý,截至 2023年12月,大多数这些解决方案仍处于早期阶段,可能随时发生变化或改进。这些示例仅供学习目的;请始终参考它们的官方网站获取准确信息。
Ví Clave: (WebAuthn Secure Enclave) + (Tài khoản hợp đồng thông minh)

Thông tin cơ 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
Quy trình giao dịch:
-
Tạo khóa: Người dùng xác thực sinh trắc học như vân tay hoặc nhận diện khuôn mặt, sinh cặp khóa bên trong Secure Enclave, không bao giờ bị rò rỉ.
-
Ký khóa: Ứng dụng nhận tin nhắn giao dịch cần thiết và chuyển yêu cầu ký đến Secure Enclave, người dùng xác thực sinh
Chào mừng tham gia cộng đồng chính thức TechFlow
Nhóm Telegram:https://t.me/TechFlowDaily
Tài khoản Twitter chính thức:https://x.com/TechFlowPost
Tài khoản Twitter tiếng Anh:https://x.com/BlockFlow_News










