Tìm hiểu về Module Quản lý mã hóa an toàn (Secure Encryption Key Management)

Đây là bài viết về các thuật ngữ chuyên ngành do đó sẽ khá khó hiểu đối với đạ đa số bạn đọc.

1/ Khóa mật mã là gì và tại sao cần giữ chúng an toàn ?

Khóa mật mã là một chuỗi dữ liệu được sử dụng để mã hóa dữ liệu (nhằm giữ bí mật), giải mã dữ liệu , ký dữ liệu (để đảm bảo dữ liệu là xác thực) hoặc để xác minh chữ ký.

Khóa mã hóa có hai dạng: đối xứng hoặc bất đối xứng. Trong thuật toán đối xứng, khóa để mã hóa và giải mã là như nhau, trong khi ở thuật toán bất đối xứng, hai loại khóa này sẽ khác nhau, với khóa mã hóa được gọi là khóa chung và khóa giải mã được gọi là khóa riêng.

Để xác thực dữ liệu, người ta thường nghĩ đến việc ký và xác minh là một thuật toán bất đối xứng.

Giả sử A muốn gửi một tin nhắn bí mật cho B bằng cách sử dụng mật mã đối xứng, A sẽ tạo ra một mật mã – hoặc khóa – để mã hóa dữ liệu đó. B nhận được tin nhắn được mã hóa và có thể giải mã nó sau khi anh ta có chìa khóa.

Vấn đề là, làm thế nào để B có được khóa đối xứng để giải mã tin nhắn? Rõ ràng chìa khóa không thể được gửi ra ngoài nhằm bảo mật, do đó B cần một kỹ thuật khác để lấy khóa bí mật.

Vào giữa những năm 1970, vấn đề này đã được giải quyết bằng việc phát minh ra hình thức mật mã bất đối xứng được đề cập ở trên, thường được gọi là mật mã khóa công khai. Sử dụng mật mã khóa công khai, A gửi tin nhắn của mình cho B và mã hóa nó bằng khóa chung của anh ta. Bất cứ ai cũng có thể nhận tin nhắn, nhưng chỉ Bob mới có thể giải mã nó bằng khóa riêng của mình.

Trong tiền điện tử, các khóa công khai được gán cho ví và khóa chung là hợp lệ nếu có một số tiền điện tử trong ví. Để A gửi Bitcoin (BTC) cho B, A chỉ cần ký một giao dịch với khóa riêng liên quan đến ví của mình. Giao dịch nói rằng Bitcoin sẽ được chuyển cho ví có khóa công khai B. Những người khai thác xác thực giao dịch cần kiểm tra xem ví A có đủ Bitcoin trong đó không, và chữ ký đó có đúng không. Họ không cần biết A hay B là ai. Do đó quan trọng nhất là giữ khóa riêng tư.

Asymmetric key encryption

Nếu một bên có quyền truy cập vào khóa riêng thì sẽ có quyền kiểm soát tất cả các loại tiền trong ví. Tin tặc dành nhiều thời gian và năng lượng để nghĩ ra những trò lừa đảo tinh vi để lừa người dùng tiết lộ khóa riêng của họ.

2/ Multisig là gì?

Multisig, còn được gọi là multisignature, liên quan đến việc sử dụng nhiều hơn một khóa công khai để ủy quyền cho một giao dịch.

How multisignature security works

A thanh toán Bitcoin cho B được giải thích ở trên có thể được coi là một giao dịch có chữ ký duy nhất, vì chỉ A mới cần sử dụng khóa riêng của mình. Trong một giao dịch multisig, nhiều chữ ký được xác minh dựa trên cấu trúc đại biểu được xác định. Ví dụ: nếu A và B quyết định mở một doanh nghiệp , họ có thể áp dụng multisig vào ví doanh nghiệp của họ. Ví tương ứng với tài khoản chung A và B , có hai khóa công khai. Nếu họ muốn gửi thanh toán, cả hai phải sử dụng khóa riêng của họ để ủy quyền giao dịch. Multisig cũng có thể được thiết lập với các cấu hình phức tạp hơn, thường được gọi là N-out-of-M. Điều này có nghĩa là đối với bất kỳ phê duyệt giao dịch cụ thể nào, N phải chấp thuận trong tổng số M người phê duyệt. Vì vậy, một thiết lập multisig có thể yêu cầu phần lớn các phê duyệt là cần thiết để xác minh và hoàn thành giao dịch, chẳng hạn như 3 trong số 5 hoặc 5 trong số 8. Multisig được sử dụng như một cách để tăng cường bảo mật tài khoản. Ý tưởng là, ngay cả khi một bộ khóa riêng bị mất hoặc bị đánh cắp, tiền vẫn được bảo mật.

3/ Module bảo mật phần cứng là gì?

Hardware security module

Một mô-đun bảo mật phần cứng, hay HSM, là một phần của phần cứng vật lý chuyên dụng được thiết kế để giữ an toàn cho các khóa và thực hiện các hoạt động mã hóa. HSM là một lớp bảo mật bổ sung để bảo vệ khóa riêng và thường được sử dụng trong ngân hàng tiêu chuẩn. Khi bạn đặt thẻ ATM của mình vào máy, nó sẽ tham gia vào một giao thức với các HSM nằm trong trung tâm dữ liệu ngân hàng. Các HSM lưu trữ tất cả các khóa mật mã cần thiết để vận hành ngân hàng và xác thực thẻ ATM. Một ngân hàng truyền thống có hàng triệu khóa bí mật cần được quản lý và mỗi ATM hoặc thẻ tín dụng sẽ có khóa đối xứng hoặc khóa riêng, cũng như các thực thể khác trong ngân hàng. Điều này cũng gây đau đầu về quản lý khóa cho các ngân hàng trong việc tạo khóa khi tạo thẻ mới, phá hủy khóa khi thẻ bị thu hồi, xoay khóa, v.v. Các chức năng này được giải quyết thông qua cơ sở hạ tầng HSM ngân hàng. Vì một ngân hàng truyền thống chỉ an toàn như bảo mật xung quanh các khóa mật mã này, các HSM được thiết kế để chống lại những kẻ xâm nhập, bao gồm cả những kẻ xâm nhập làm việc cho ngân hàng. Chúng được thiết kế để trở nên rõ ràng, cung cấp bằng chứng nếu ai đó cố gắng đột nhập vào chúng, hoặc thậm chí chúng có thể tự hủy khi phát hiện hoạt động bất thường như ai đó đang cố mở HSM. Để cung cấp các lớp bảo mật bổ sung, HSM thường được đặt sâu trong các trung tâm dữ liệu an toàn của ngân hàng.

4/ Multiparty Computation hay đa tính toán là gì?

Đa tính toán, hoặc MPC, cho phép các bên khác nhau có đầu vào riêng của họ tiến hành tính toán chung trên đầu vào của họ. Các bên tìm hiểu kết quả tính toán, nhưng mỗi bên không học được gì của các bên khác.

Secure multiparty computation

Một thuật toán được tạo bởi nhà mật mã học Adi Shamir, được gọi là Chia sẻ bí mật Shamir, nằm ở trung tâm của tính toán nhiều bên. Lược đồ chia sẻ bí mật liên quan đến việc phân phối các phần của một giá trị bí mật (khóa riêng) trên nhiều nút mạng hoặc người dùng. Chỉ khi một tập hợp con được chỉ định của các bên kết hợp các phần của chúng lại với nhau, chúng mới có thể truy xuất giá trị. Theo cách riêng của mình, điều này cho phép phân chia dữ liệu một cách an toàn trên các vị trí địa lý. Tuy nhiên, khái niệm này cũng có thể áp dụng để thực hiện các tác vụ tính toán trên một giá trị được chia sẻ bí mật được gọi là MPC an toàn. Sử dụng các giao thức được liên kết với sơ đồ chia sẻ bí mật, các bên có thể thực hiện bất kỳ tác vụ tính toán nào trên dữ liệu được chia sẻ mà không cần phải mang các phần liên quan lại với nhau. Khái niệm MPC an toàn có thể áp dụng cho bất kỳ loại dữ liệu riêng tư nào, cho dù đó là dữ liệu cá nhân, dữ liệu chung của công ty hay khóa riêng của người dùng. Ví dụ minh họa truyền thống là xem xét hai hoặc nhiều bệnh viện muốn tiến hành phân tích thống kê bệnh nhân của họ. Với MPC, họ có thể có được số liệu thống kê kết quả mà không cần phải tiết lộ chi tiết về bệnh nhân của mình cho các bệnh viện khác. Ý tưởng tương tự có thể được áp dụng cho các khóa riêng liên quan đến mật mã. Trong ví dụ của bệnh viện, thay vì kết hợp các bộ dữ liệu (bệnh nhân), dữ liệu (khóa riêng) thay vào đó được chia thành nhiều phần dữ liệu, sau đó được lưu trữ ở các vị trí riêng biệt. Các vị trí này sau đó có thể sử dụng MPC để tính toán bất kỳ tính toán nào bằng khóa riêng, ví dụ như chữ ký, không cần khóa riêng cần phải được xây dựng lại. Ví dụ: khóa riêng Bitcoin có thể được chia thành từng phần, với mỗi phần được mã hóa riêng. Mỗi mảnh được phân phối đến một nút mạng. Mạng có thể thực hiện tính toán trên dữ liệu trong khi vẫn giữ dữ liệu cơ bản được mã hóa và do đó, ở chế độ riêng tư. Khái niệm về MPC đã có từ nhiều thập kỷ. Tuy nhiên, các trường hợp sử dụng thực tế chỉ mới xuất hiện trong những năm gần đây. Giờ đây, công nghệ cuối cùng đã đạt được sức hút, đã được đưa vào nhiều loại xe đạp Gartner Hype kể từ năm 2017. MPC đã được một số ngân hàng và công ty công nghệ hàng đầu thế giới sử dụng, bảo vệ tài sản trị giá hàng tỷ đô la.

5/ Ứng dụng của Multisig, HSM và MPC trong Cryptocurrency

Multisig, HSM và MPC đều nhằm mục đích tăng cường bảo mật và quyền riêng tư. Tuy nhiên, mỗi đi kèm với những lợi ích và thách thức cụ thể của riêng mình.

Trong multisig, có được bảo mật bổ sung bằng cách sử dụng nhiều khóa để tạo ra cùng một tác vụ thường được thực hiện thông qua một khóa duy nhất. Do đó, nó mang lại lợi ích chính của các yêu cầu phê duyệt nâng cao, nghĩa là các rủi ro liên quan đến việc phụ thuộc vào một người dùng sẽ được loại bỏ. Nó cũng tăng cường tuân thủ các yêu cầu quy định để phân biệt trách nhiệm.

Tuy nhiên, multisig có nhiều hạn chế. Ví dụ, nó không được hỗ trợ bởi tất cả các loại tiền điện tử và việc thay thế người dùng trong thiết lập nhiều trang có thể khó khăn, vì có thể thay đổi đại biểu. Việc thay thế người dùng có thể liên quan đến việc chuyển tiền ra khỏi tài khoản để có thể thực hiện các thay đổi. Điều này là cồng kềnh cho các tổ chức và công ty lớn hơn với doanh thu nhân viên cao.

Có lẽ hạn chế quan trọng nhất là multisig không cung cấp bất kỳ sự bảo vệ khóa riêng nào trong chính nó. Đây là lý do tại sao nhiều tổ chức chọn một HSM.

Với HSM, họ có được bảo mật bổ sung bằng cách sử dụng phần cứng bảo mật để lưu trữ khóa. Năm 2019, các nhà nghiên cứu từ nhà cung cấp ví Ledger đã có thể hack một HSM nổi tiếng. Một thách thức khác là phần cứng HSM có mục đích chung không giải quyết vấn đề sử dụng khóa gian lận của nhân viên nội bộ, chỉ có vấn đề trộm cắp. Chúng cũng rất tốn kém để thiết lập và bảo trì.

Trao đổi tiền điện tử có xu hướng dựa vào sự kết hợp của multisig và phần cứng như ví cứng hoặc HSM. Tuy nhiên, chuyển tiền giữa các ví lưu trữ lạnh bằng cách sử dụng multisig có thể làm chậm đáng kể tốc độ giao dịch, dẫn đến hoạt động không hiệu quả.

Không giống như multisig và HSM, MPC cho phép phân tách địa lý và kiểm soát độc lập ở mỗi vị trí để bảo mật dữ liệu mật mã.

Một MPC an toàn bao gồm một sự kết hợp hiếm hoi của phân phối và tính toán phân tán, cùng với mã hóa. Như vậy, nó cung cấp các cơ hội đáng kể để cải thiện sự riêng tư và bảo mật dữ liệu. Mặc dù công nghệ đã có những bước tiến đáng kể trong những năm gần đây, nhưng nó vẫn đòi hỏi chuyên môn đáng kể để triển khai trên một chiếc riêng.

6/ Các nhà cung cấp khóa bảo mật.

Unbound Tech là công ty đầu tiên cung cấp HSM ảo, được gọi là Nền tảng bảo mật tài sản Crypto hoặc CASP, sử dụng MPC an toàn. Nó phân phối khóa riêng và phê duyệt giao dịch, xác nhận và ký, giữa nhiều người phê duyệt – bao gồm cả tham gia ngoại tuyến và bot. Công ty được hỗ trợ bởi các nhà đầu tư bao gồm Citi và Goldman Sachs. CASP cũng là HSM ảo dựa trên MPC đầu tiên nhận được chứng nhận Trin 140-2 Cấp 2, điểm chuẩn để xác nhận tính hiệu quả của phần cứng mật mã. Unbound Tech cung cấp dịch vụ cho người giám sát và trao đổi, bao gồm cả Liquid, cùng với một số khách hàng Fortune 500.

Curv là một nhà cung cấp khác sử dụng MPC để ký và xuất bản giao dịch lên blockchain. Công cụ chính sách của nó cho phép các chính sách phê duyệt linh hoạt và nâng cao theo yêu cầu của khách hàng. Các khóa mã hóa được phân chia giữa dịch vụ Curv và máy khách.

BitGo có lẽ là một trong những nhà khai thác nổi tiếng nhất trong không gian ví tổ chức. Công ty cung cấp các giải pháp lưu ký và thanh khoản cho hơn 100 đồng tiền, kết hợp ví nóng và lạnh, quản lý chính sách và khả năng đa cấp.

Cuối cùng, nhà cung cấp ví Ledger cũng cung cấp một giải pháp gọi là Ledger Vault cho các khách hàng tổ chức. Vault cho phép các giao dịch an toàn và bảo vệ các khóa trong HSM chạy hệ thống vận hành được xây dựng có mục đích của Vault. Nền tảng hỗ trợ các chương trình đa ủy quyền và giải quyết các danh sách trắng cho các giao dịch.