Khôi phục khóa

Fystack Recovery tái tạo khóa riêng tư của ví ở chế độ ngoại tuyến từ số lượng phần khóa đạt ngưỡng. Hãy dùng công cụ này khi rời khỏi Fystack, di chuyển ví hoặc lấy lại tiền nếu Fystack không khả dụng.

Tổng quan

Phần khóa Fystack được xuất từ dashboard dưới dạng gói .enc niêm phong bằng RSA, phần khóa cosigner được xuất dưới dạng .mshare niêm phong bằng passphrase, và Fystack Recovery trên máy cách ly mạng mở khóa, kết hợp và xác minh chúng thành khóa ECDSA và EdDSA
Click to open the full-size diagram

Mỗi người ký xuất phần khóa của riêng mình dưới dạng đã mã hóa:

  • Phần khóa Fystack: được xuất từ dashboard dưới dạng gói RSA .enc, niêm phong bằng khóa công khai RSA do bạn cung cấp.
  • Phần khóa cosigner: được xuất bằng cosigner-cli export dưới dạng file .mshare, niêm phong bằng passphrase gồm sáu từ.

Fystack Recovery mở khóa từng file, kết hợp các phần khóa và kiểm tra kết quả với khóa công khai của ví. Một phần khóa đơn lẻ không thể tái tạo khóa.

Trình tự khôi phục: tạo cặp khóa RSA, xuất phần khóa Fystack từ dashboard, xuất phần khóa cosigner, sau đó thêm, mở khóa, kết hợp và xác minh các phần khóa trong Fystack Recovery
Click to open the full-size diagram

Trước khi bắt đầu

Tải xuống bản phát hành Fystack Recovery mới nhất khi bạn vẫn còn trực tuyến, sau đó chuyển nó sang máy ngoại tuyến. Công cụ là mã nguồn mở, vì vậy bạn có thể tự xem xét và build.

Bước 1: Tạo cặp khóa RSA

Phần khóa Fystack được niêm phong bằng khóa công khai RSA của bạn. Hãy tạo cặp khóa trên máy ngoại tuyến và giữ khóa riêng tư tại đó.

openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:4096 -out recovery.key
openssl rsa -in recovery.key -pubout -out recovery.pub

Chỉ recovery.pub được mang ra khỏi máy ngoại tuyến.

Bước 2: Xuất phần khóa Fystack

Mở ví trong dashboard và chuyển đến tab Signers. Người ký Fystack có nút Export Share.

Tab Signers của ví hiển thị người ký nội bộ Fystack với nút Export Share và một server cosigner
Tab Signers của một ví 2 of 2
  1. Nhấp Export Share.
  2. Dán nội dung của recovery.pub vào ô Recipient RSA public key (PEM).
  3. Nhập tên ví để xác nhận và đánh dấu ô xác nhận.
  4. Nhấp Export Share để tải xuống gói .enc.
Hộp thoại Export Key Share với khóa công khai RSA của người nhận, ô xác nhận tên ví và ô đánh dấu xác nhận
Phần khóa được mã hóa đầu cuối bằng khóa công khai RSA của bạn

Chỉ người nắm giữ khóa riêng tư RSA tương ứng mới có thể giải mã gói này.

Bước 3: Xuất phần khóa cosigner

Trên máy chủ cosigner, dừng cosigner và chạy export. Lệnh này ghi một file .mshare cho mỗi ví và in ra passphrase khôi phục một lần duy nhất. Xem Vận hành để biết chi tiết.

cosigner-cli stop
cosigner-cli export --out-dir /secure/recovery
cosigner-cli start
Kết quả của cosigner-cli export liệt kê các file .mshare đã ghi và passphrase khôi phục dùng một lần
Ví dụ kết quả của cosigner-cli export

Mỗi file được đặt tên theo dạng <wallet-id>-<cosigner>-<date>.mshare. Sao chép file của ví bạn đang khôi phục sang máy ngoại tuyến.

Bước 4: Thêm và mở khóa các phần khóa

Mở Fystack Recovery trên máy ngoại tuyến và nhấp Add share file.

Bước 1 của Fystack Recovery, Add and unlock shares, chưa có phần khóa nào được thêm
Thêm mọi phần khóa bạn có

Recovery hỗ trợ cả hai định dạng:

  • Gói RSA (.enc): mở khóa bằng khóa riêng tư RSA từ Bước 1.
  • Passphrase (.mshare): mở khóa bằng passphrase sáu từ từ Bước 3.

Thêm mọi phần khóa bạn có. Không cần nhập ngưỡng: các bộ đếm cho biết có bao nhiêu phần khóa ECDSA và EdDSA đã được mở khóa trên tổng số bên tham gia của ví.

Recovery với gói RSA đã mở khóa và phần khóa passphrase đang chờ nhập passphrase, 1 trên 2 bên tham gia đã mở khóa
Gói RSA đã được mở khóa, file .mshare đang chờ passphrase

Nhập passphrase và nhấp Unlock. Khi mọi phần khóa đều hiển thị Unlocked, nhấp Continue.

Recovery với cả hai phần khóa đã mở khóa, 2 trên 2 bên tham gia cho ECDSA và EdDSA
Cả hai phần khóa đã được mở khóa

Với ví HD, hãy thêm cả danh sách ví con được xuất cùng phần khóa master vào mục Child wallets để khôi phục mọi ví con.

Bước 5: Khôi phục

Kiểm tra ID ví và số lượng phần khóa, sau đó nhấp Recover keys.

Bước Recover hiển thị ID ví cùng 2 phần khóa ECDSA và 2 phần khóa EdDSA sẵn sàng để kết hợp
Kiểm tra trước khi tái tạo

Bước 6: Sử dụng khóa đã khôi phục

Recovery kết hợp các phần khóa, sau đó kiểm tra từng khóa với khóa công khai của ví và ký thử bằng khóa đó. Cả hai bước kiểm tra đều phải thành công.

Trang khóa đã khôi phục hiển thị khóa ECDSA đã được xác minh và ký thử cùng địa chỉ Ethereum, khóa riêng tư và khóa công khai, tiếp theo là khóa EdDSA
Khóa ECDSA và EdDSA đã được xác minh

Với mỗi đường cong, kết quả hiển thị:

  • ECDSA: địa chỉ Ethereum / EVM, khóa riêng tư (hex) và khóa công khai dạng nén.
  • EdDSA: địa chỉ Solana, khóa riêng tư và khóa công khai.

Khóa riêng tư được ẩn cho đến khi bạn nhấp Reveal. Dùng Copy hoặc Export... để chuyển nó vào ví đích, sau đó nhấp Start over để xóa nó khỏi bộ nhớ.

Danh sách kiểm tra bảo mật

  • Chạy Recovery trên máy cách ly mạng. Luôn ngoại tuyến và không bao giờ chụp màn hình khóa đã khôi phục.
  • Giữ khóa riêng tư RSA và passphrase của cosigner tách biệt với các file phần khóa.
  • Chuyển tiền sang ví mới sau khi khôi phục. Ví cũ không còn được bảo vệ bởi cơ chế ngưỡng.
  • Xóa các file phần khóa, khóa riêng tư RSA và mọi khóa đã xuất khi hoàn tất.