Key-Evolving Signature được sử dụng như thế nào trong Cardano?
Ngày 08 tháng 08 năm 2023 - Chia sẻ bài viết này trên Twitter | Facebook | Telegram
Sơ đồ chữ ký key-evolving là một loại sơ đồ chữ ký số được Cardano sử dụng để bảo vệ tính bất biến của sổ cái. Các khóa riêng được sử dụng để ký các khối được luân phiên theo các khoảng thời gian đều đặn. Các khóa cũ sẽ bị xóa để chúng không thể được sử dụng để đúc các khối được tạo ra trong quá khứ. Chúng ta hãy xem xét kỹ hơn cơ chế này.
Hiểu về bảo mật chuyển tiếp
Sơ đồ chữ ký truyền thống là một phương pháp xác minh tính xác thực và tính toàn vẹn của các thông điệp hoặc tài liệu kỹ thuật số. Nó cho phép người gửi đính kèm một chuỗi dữ liệu, được gọi là chữ ký, vào một tin nhắn, có thể được xác minh bởi bất kỳ ai sử dụng khóa chung của người gửi.
Hãy giải thích cách thức hoạt động của sơ đồ chữ ký truyền thống để giúp bạn dễ hiểu hơn về bảo mật chuyển tiếp.
Lược đồ chữ ký thường bao gồm ba thuật toán: thuật toán tạo khóa, thuật toán ký và thuật toán xác minh.
Người gửi (tác giả của tin nhắn) tạo một bộ khóa, riêng tư và công khai. Anh ta phải cẩn thận bảo vệ khóa riêng và cung cấp khóa chung cho tất cả những ai muốn xác minh thông báo (người xác minh). Người gửi sẽ ký tên vào tin nhắn (thường là thông báo / hàm băm của tin nhắn) bằng khóa riêng. Tất cả những người xác minh có thể xác minh tính xác thực và tính toàn vẹn của nó thông qua khóa chung.
Người nhận (người xác minh) tin nhắn chắc chắn rằng nó được tạo bởi tác giả (chủ sở hữu khóa riêng) và tin nhắn không bị thay đổi. Bảo mật dựa trên giả định rằng khóa riêng không bị lộ.
Trong hình bên dưới, bạn có thể thấy tất cả các quy trình và cách sử dụng khóa mật mã khi gửi tin nhắn an toàn qua Internet (đây là vùng nguy hiểm) giữa Alice và Bob. Alice cẩn thận lưu khóa riêng được tạo và chia sẻ khóa chung với Bob. Sau đó, cô ấy đã ký vào tin nhắn và gửi nó cho Bob, người có thể xác minh nó thông qua khóa công khai.
Các nguyên tắc được mô tả phải quen thuộc với tất cả người dùng tiền điện tử, vì điều tương tự cũng xảy ra khi ký kết các giao dịch và gửi chúng lên mạng blockchain.
Hãy tưởng tượng rằng Bob là mạng blockchain xác minh xem Alice có thể chi tiêu tài sản kỹ thuật số hay không. Nếu đúng, mạng ghi giao dịch vào blockchain (thông qua các khối) và người khác có quyền chi tiêu tài sản. Nếu Alice bảo vệ tốt khóa riêng tư của mình, thì không ai khác trên thế giới có thể sử dụng tài sản kỹ thuật số của cô ấy.
Sơ đồ chữ ký số truyền thống dựa trên giả định rằng khóa bí mật không bao giờ bị rò rỉ hoặc đánh cắp bởi kẻ gian. Tuy nhiên, giả định này có thể không đúng trong thực tế do nhiều yếu tố như lỗi phần cứng, lỗi phần mềm, tấn công phần mềm độc hại hoặc lỗi của con người. Nếu kẻ gian lấy được khóa bí mật của sơ đồ chữ ký số truyền thống, họ có thể giả mạo chữ ký cho bất kỳ thư nào trong quá khứ hoặc tương lai, đồng thời làm mất hiệu lực tính xác thực và tính toàn vẹn của tất cả các thư đã ký.
Lược đồ chữ ký key-evolving (key-evolving signature scheme - KES) là một loại lược đồ chữ ký số nhằm mục đích cung cấp bảo mật chuyển tiếp.
Bảo mật chuyển tiếp có nghĩa là nếu khóa bí mật của người ký bị xâm phạm tại một thời điểm nào đó, chữ ký được tạo trước thời điểm đó vẫn hợp lệ và không thể giả mạo. Điều này đạt được bằng cách chia thời gian tồn tại của người ký thành các khoảng thời gian và sử dụng một khóa bí mật khác cho mỗi khoảng thời gian. Khóa bí mật cho mỗi giai đoạn được lấy từ giai đoạn trước và sau đó bị xóa sau khi sử dụng. Khóa công khai vẫn giữ nguyên cho tất cả các giai đoạn.
KES ngăn chặn Script trong đó kẻ gian lấy được khóa bí mật và do đó có thể giả mạo chữ ký cho bất kỳ tin nhắn nào trong quá khứ hoặc tương lai. Trong trường hợp như vậy, kẻ gian có thể làm mất hiệu lực tính xác thực và tính toàn vẹn của tất cả các thư đã ký.
KES giới hạn phạm vi của mỗi khóa bí mật trong một khoảng thời gian cụ thể và đảm bảo rằng các khóa bí mật cũ sẽ bị xóa và không thể khôi phục được. Do đó, ngay cả khi kẻ gian lấy được khóa bí mật trong một khoảng thời gian nhất định, họ chỉ có thể giả mạo chữ ký trong khoảng thời gian đó chứ không phải cho bất kỳ khoảng thời gian nào trước đó hoặc trong tương lai.
Trong hình bên dưới, bạn có thể thấy thời gian được chia thành 5 khoảng thời gian. Trong giai đoạn đầu tiên, người ký (người gửi) đã tạo KEY 1 riêng tư và KEY 1 công khai. Anh ta chia sẻ KEY 1 công khai với người xác minh (người nhận). Trong giai đoạn 2, một KHÓA riêng 2 mới đã được tạo và sau đó KHÓA riêng 1 đã bị xóa. Điều này được lặp lại trong giai đoạn 3, trong đó một KEY 3 riêng tư mới được tạo và KEY 2 riêng tư đã bị xóa.
Lưu ý rằng trình xác minh trong tất cả các giai đoạn luôn sử dụng cùng một KHÓA công khai 1 để xác minh tất cả các thư.
Giai đoạn 3 đang hoạt động và chỉ có thể sử dụng KEY 3 riêng tư để ký tin nhắn. Các khóa riêng KEY 1 và KEY 2 đã bị xóa nên không thể giả mạo thông báo 1 và 2. Nếu kẻ gian thành công trong việc lấy được KEY 3 riêng tư (nó là cái duy nhất hiện đang tồn tại), anh ta không thể thay đổi quá khứ, tức là thông báo 1 và 2. Anh ta chỉ có thể thay đổi thông báo trong giai đoạn 3. Nếu kẻ gian không thể tạo khóa trong các khoảng thời gian trong tương lai, anh ấy cũng không thể thay đổi các tin nhắn trong tương lai.
Cách KES được sử dụng trong Cardano
Cardano phải đảm bảo tính bất biến của blockchain. KES được sử dụng để ký các khối bởi các SPOs.
Để pool hoạt động an toàn, cần phải tạo nhiều khóa. Trong bài viết này, chúng tôi sẽ chỉ tập trung vào KES. Để hiểu đầy đủ về chủ đề này, cần phải biết toàn bộ quá trình tạo khóa.
Người vận hành stake pool cần có ba loại khóa: khóa người điều hành, cặp khóa KES và cặp khóa VRF.
Khóa toán tử là một cặp khóa ngoại tuyến xác định stake pool và bao gồm bộ đếm chứng chỉ cho các chứng chỉ mới. Cặp khóa KES là một cặp khóa trực tuyến xác thực nhà sản xuất khối và phát triển theo thời gian. Cặp khóa VRF là một cặp khóa trực tuyến khác chứng minh quyền tạo khối trong một slot nhất định.
Để tạo chứng chỉ hoạt động cho node tạo khối, SPOs cần sử dụng khóa toán tử và cặp khóa KES. Chứng chỉ hoạt động chứa các khóa công khai của cả người vận hành và KES, cũng như bộ đếm chứng chỉ và thời hạn hiệu lực. Thời hạn hiệu lực cho biết có bao nhiêu khoảng thời gian (hoặc slot) chứng chỉ hợp lệ. Chứng chỉ hoạt động sau đó được đăng ký trên blockchain và được lưu trữ trên node.
Tất cả người vận hành pool phải tạo và gửi chứng chỉ hoạt động tới blockchain. Chứng chỉ hoạt động đại diện cho liên kết giữa các khóa ngoại tuyến của người vận hành và các khóa (nóng) hoạt động. Chứng chỉ cho phép tất cả các node trong mạng xác thực tính xác thực và tính toàn vẹn của các khối.
Trong hình bên dưới, bạn có thể thấy quá trình tạo chứng chỉ hoạt động. Lưu ý chủ yếu là việc ký chứng chỉ bằng khóa điều hành riêng. Nếu khóa riêng nóng bị xâm phạm, kẻ gian vẫn không có quyền truy cập vào khóa riêng của người vận hành đang được lưu trữ trong kho lạnh.
Nếu người vận hành phát hiện ra rằng các khóa riêng tư (nóng) đã bị xâm phạm, thì việc tạo và gửi chứng chỉ mới với bộ đếm chứng chỉ tăng lên là đủ. Điều này sẽ làm mất hiệu lực chứng chỉ trước đó.
Tất cả các chứng chỉ hoạt động được lưu trữ trong blockchain, vì vậy chúng có sẵn cho mọi node đầy đủ trong mạng. Điều này rất quan trọng để xác minh các khối mà một node nhận được từ mạng.
Để ký một khối trong một slot nhất định, nhà sản xuất khối cần sử dụng khóa KES riêng và khóa Chức năng ngẫu nhiên có thể xác minh (VRF). Khóa KES bí mật được sử dụng để tạo chữ ký có thể được xác minh bởi bất kỳ ai sử dụng khóa KES công khai trong chứng chỉ hoạt động. Khóa VRF được sử dụng để tạo bằng chứng có thể được xác minh bởi bất kỳ ai sử dụng khóa VRF công khai trong chứng chỉ hoạt động. Bằng chứng cho thấy rằng nhà sản xuất khối đã được chọn bởi Chức năng ngẫu nhiên có thể xác minh (VRF) dựa trên cổ phần và số slot của họ.
Trong hình bên dưới, bạn có thể thấy quá trình sản xuất một khối mới. Node sản xuất khối đã gửi chứng chỉ hoạt động cho blockchain. Tất cả các node xác minh trong mạng đều có tất cả các khóa công khai mà chúng cần để xác minh các khối. Node tạo khối chèn bằng chứng VRF và dữ liệu khác để xác minh vào khối. Sau đó, nó ký khối bằng phím KES. Các node có thể dễ dàng xác minh khối bằng cách kiểm tra bằng chứng VRF, dữ liệu và chữ ký KES. Lưu ý cách Blockchain được sử dụng để phân phối khóa công khai.
Để cập nhật khóa KES bí mật sang khoảng thời gian tiếp theo, nhà sản xuất khối cần sử dụng thuật toán được xác định trước để lấy khóa KES bí mật mới từ khóa cũ, sau đó xóa khóa cũ. Bằng cách này, chỉ có một khóa KES riêng được lưu trữ tại bất kỳ thời điểm nào và không thể sử dụng khóa này để giả mạo chữ ký cho các giai đoạn trước. Khóa KES công khai không thay đổi, do đó không cần cập nhật chứng chỉ hoạt động hoặc đăng ký lại trên blockchain.
Khóa sẽ tự động phát triển sau mỗi khoảng thời gian 129.600 (một ngày rưỡi, khoảng 6.500 khối được tạo ra trong thời gian này) và nó có thể sử dụng tối đa 62 lần trước khi cần phải gia hạn mới. Nói cách khác, một khoảng thời gian kéo dài 129.600 slot (giây). Giấy chứng nhận hoạt động có thời hạn 90 ngày sau đó nó sẽ không còn hợp lệ nữa. Việc này sẽ khuyến khích người vận hành pool thường xuyên luân phiên các phím hoạt động của họ.
Trong hình bên dưới, bạn có thể thấy các khóa KES mới được tạo thường xuyên như thế nào mỗi kỳ và sau 3 tháng, chứng chỉ hoạt động mới được tạo. Một node Cardano có thể đúc một số khối trong mỗi khoảng thời gian tùy thuộc vào quy mô cổ phần.
Ưu điểm của việc sử dụng KES trong Cardano là nó cung cấp đảm bảo bảo mật mạnh mẽ hơn trong trường hợp lộ khóa. Nếu một kẻ gian lấy được khóa KES riêng của nhà sản xuất khối, thì họ chỉ có thể giả mạo chữ ký cho giai đoạn hiện tại chứ không phải cho bất kỳ giai đoạn nào trước đó hoặc trong tương lai. Hơn nữa, họ không thể viết lại lịch sử hoặc tạo nhánh vì họ không có quyền truy cập vào khóa VRF hoặc phím toán tử. Do đó, việc sử dụng KES sẽ giảm nguy cơ mất quyền kiểm soát stake pool hoặc ảnh hưởng đến danh tiếng của nó.
KES đảm bảo rằng lịch sử của blockchain Cardano là bất biến. Bảo mật dựa trên giả định rằng người vận hành pool tuân theo giao thức và xóa các khóa KES cũ và mạng được Phi tập trung cao, tức là có càng nhiều người vận hành pool càng tốt. Càng có nhiều nhà khai thác (người ký tên) thì càng ít rủi ro họ sẽ hợp tác với nhau để xâm phạm mạng.
Nếu người vận hành pool không xóa các khóa riêng tư trước đó như dự kiến, thì họ có khả năng bán hoặc rò rỉ chúng cho một kẻ gian, kẻ sau đó có thể sử dụng chúng để giả mạo chữ ký cho các khối đã được thêm vào trong các giai đoạn trước. Điều này sẽ làm suy yếu thuộc tính bảo mật chuyển tiếp của chương trình và cho phép kẻ gian can thiệp vào lịch sử của các khối đã ký.
Người vận hành pool đang hoạt động có động lực kinh tế để bảo vệ các khóa KES riêng tư nếu họ không xóa chúng và giữ chúng để sử dụng sau này. Các nhà khai thác đã ngừng hoạt động (và bán tất cả các đồng tiền ADA) không còn động lực kinh tế để giữ an toàn cho mạng Cardano và có khả năng bán các khóa KES cũ. Điều quan trọng cần lưu ý là các khóa từ một người vận hành sẽ chỉ cho phép ghi đè một phần nhỏ các khối, tùy thuộc vào cổ phần của người vận hành là gì và anh ta đã tạo ra các khối trong bao lâu. Để ghi đè lên lịch sử của blockchain, kẻ gian sẽ phải lấy được hơn một nửa số khóa cũ.
Hàng chục nhà khai thác lớn nhất, hoặc hàng trăm nhà khai thác nhỏ hơn, sẽ phải phá vỡ các quy tắc của giao thức và cố tình giữ các khóa cho mục đích này. Điều này có vẻ rất khó xảy ra.
Trong tương lai, thậm chí rủi ro này có thể được loại bỏ thông qua cái gọi là mật mã chữ ký một lần. Điều này cho phép khóa riêng chỉ được sử dụng cho một chữ ký duy nhất. Sau đó, khóa riêng tư có thể được xuất bản mà không gây ra bất kỳ thiệt hại nào đối với chữ ký số mà nó được sử dụng.
Lời kết
Mật mã KES và VRF cho phép Cardano đảm bảo tính bất biến của blockchain và lựa chọn ngẫu nhiên của slot leader (node có quyền tạo khối trong một slot nhất định) một cách hiệu quả, tức là không cần sử dụng Proof-of-work (PoW). PoW về cơ bản hoàn thành vai trò tương tự. Trong mạng PoW, node đầu tiên tìm ra "lời giải" cho một tác vụ mã hóa phức tạp sẽ khai thác khối (lựa chọn node ngẫu nhiên). Khai thác khối liên quan đến việc tiêu tốn một lượng năng lượng khổng lồ, điều này về cơ bản ngăn không cho lịch sử của blockchain bị ghi đè. Có thể viết lại lịch sử với điều kiện là cùng một lượng năng lượng được sử dụng lại và chuỗi kẻ gian trở thành chuỗi dài nhất.
Đạt được hiệu quả cao hơn trong việc đảm bảo lựa chọn ngẫu nhiên và tính bất biến của sổ cái thông qua mật mã hiện đại là một tiến bộ công nghệ quan trọng, đặc biệt là trong bối cảnh tính bền vững kinh tế lâu dài của mạng và bảo vệ môi trường.
Nguồn bài viết tại đây
Đọc thêm các bài viết liên quan tại thẻ Tags bên dưới