TỔNG QUAN
Cốt lõi của ví tính toán đa bên (Multi-Party Computation - MPC) hiện đại và giải pháp lưu ký tài sản số của các chuỗi khối chính là một giao thức mật mã có tên là lược đồ chữ ký số ngưỡng (Threshold Signature Scheme - TSS).
Ngày nay, nhiều tổ chức bao gồm ngân hàng, sàn giao dịch và ví đều dựa vào TSS để cho phép các bên ủy quyền giao dịch bằng cách tạo chữ ký mà không tiết lộ khóa bí mật cá nhân của mỗi bên. Do đó, tính an toàn của TSS là vô cùng quan trọng đối với nhiều hệ sinh thái tài chính tài sản số.
TSS là một lược đồ chữ ký số mà cho phép nhiều bên (tức người ký) có thể thiết lập các nhóm sao cho chỉ một tập hợp con nào đó của nhóm mới có thể tạo chữ ký thay mặt cho nhóm. Cụ thể hơn, một lược đồ chữ ký ngưỡng sử dụng để ký một thông điệp là một lược đồ chữ ký số trong đó bất kỳ (ngưỡng) (hoặc nhiều hơn) người ký nào trong một nhóm gồm người ký có thể tạo chữ ký thay mặt cho nhóm. Vì mỗi bên chỉ giữ một phần khóa bí mật trong việc sinh khóa bí mật TSS, nên chữ ký ngưỡng không tiết lộ các thành viên nhóm thực sự đã hợp tác để sinh khóa và tạo chữ ký số trên thông điệp.
Trong chuỗi khối, lược đồ chữ ký số đường cong elliptic (Elliptic Curve Digital Signature Algorithm - ECDSA) thường được sử dụng để ký và xác minh giao dịch. Một giao thức cho TSS sử dụng ECDSA mà dựa trên mã hóa đồng cấu (homomorphic) và chứng minh không tiết lộ tri thức (zero-knowledge proof), đã được đề xuất bởi Gennaro & Goldfeder vào năm 2018 [3] và được cập nhật trong [4], [5]. Kể từ lần công bố đầu tiên, nhiều cài đặt của giao thức đã được phát triển và hiện đang được nhiều sản phẩm sử dụng để mang đến sự tin tưởng giữa các thành viên. Trong bài viết này, thuật ngữ t-ECDSA đề cập đến lược đồ chữ ký ngưỡng ECDSA do Gennaro và Goldfeder đề xuất.
Thật không may, mặc dù đã trải qua nhiều kiểm định an toàn, nhưng các cài đặt này, bao gồm các khung TSS mã nguồn mở thực tế trong Golang và Rust vẫn dễ bị tấn công bởi 3 tấn công trích xuất khóa mới mà nhóm nghiên cứu tại công ty Verichains đã phát hiện ra. Chúng được đặt tên là TSSHOCK.
TSSHOCK là tấn công lên giao thức chữ ký ngưỡng (Threshold Signature Scheme) được sử dụng rộng rãi trong các ví tiền điện tử dùng MPC (Multi-Party Computation), cross-chain bridge và các giải pháp quản lý tài sản kỹ thuật số.
Verichains đã phát hiện ra tấn công TSSHOCK sau khi tiến hành kiểm tra diện rộng một loạt các cài đặt t-ECDSA mã nguồn mở. Hầu hết các cài đặt có thể bị tấn công chỉ với một thành viên để khôi phục khóa bí mật ECDSA. TSSHOCK phá vỡ hoàn toàn tính an toàn của TSS, với việc khai thác bằng chứng về khái niệm thể hiện toàn bộ quá trình trích xuất khóa bí mật bởi một kẻ tấn công sau - chữ ký trên nhiều ví phổ biến, cơ sở hạ tầng khóa không lưu ký (non-custodial, tức cho phép người dùng có toàn quyền kiểm soát tài sản của mình bằng khóa bí mật được liên kết với ví) và giao thức quản lý tài sản chuỗi chéo (cross-chain).
Kẻ tấn công có thể khai thác TSSHOCK để đánh cắp tiền số có giá trị lên đến hàng tỉ USD từ cả người dùng cá nhân và các tổ chức/doanh nghiệp, đồng thời không để lại dấu vết và có vẻ không liên quan đối với các bên tham gia khác.
Phép biến đổi Fiat-Shamir
Phép biến đổi Fiat-Shamir là một kỹ thuật nổi tiếng nhằm loại bỏ tính tương tác khỏi các hệ chứng minh tương tác. Các hệ chứng minh tương tác thường có cấu trúc 3 bước như sau:
Bước 1: Người chứng minh sinh ra một giá trị cam kết và gửi tới người xác minh.
Bước 2: Người xác minh sinh ngẫu nhiên đều một giá trị thách thức và gửi tới người chứng minh.
Bước 3: Người chứng minh tính toán bằng chứng dựa trên cả giá trị cam kết và thách thức.
Ý tưởng đằng sau phép biến đổi Fiat-Shamir là thay vì yêu cầu người xác minh gửi một giá trị thách thức ngẫu nhiên cho người chứng minh, người chứng minh có thể tự tính toán giá trị này bằng cách sử dụng hàm ngẫu nhiên, chẳng hạn như hàm băm mật mã. Điều này giúp hệ chứng minh trở thành không tương tác.
Tài liệu tham khảo 1. Duy Hieu Nguyen, Anh Khoa Nguyen, Huu Giap Nguyen, Thanh Nguyen, Anh Quynh Nguyen. “New Key Extraction Attacks on Threshold ECDSA Implementations”. Blackhat USA August 5-10, 2023. 2. Verichains. “TSSHOCK: Breaking MPC Wallets and Digital Custodians for $BILLION$ Profit”. Availaible at here. 3. Rosario Gennaro and Steven Goldfeder. Fast Multiparty Threshold ECDSA with Fast Trustless Setup. Cryptology ePrint Archive, Paper 2019/114, 2019. 4. Rosario Gennaro and Steven Goldfeder. One Round Threshold ECDSA with Identifiable Abort. Cryptology ePrint Archive, Paper 2020/540, 2020. 5. Ran Canetti, Rosario Gennaro, Steven Goldfeder, Nikolaos Makriyannis, and Udi Peled. UC Non-Interactive, Proactive, Threshold ECDSA with Identifiable Aborts. Cryptology ePrint Archive, Paper 2021/060, 2021 |