Craig Gentry đã chứng minh điều đó là khả thi vào năm 2009, sau khoảng ba thập kỷ các nhà mật mã học tự hỏi liệu nó có thể tồn tại hay không. Ý tưởng: bạn mã hóa dữ liệu của mình, trao cho người khác, họ thực hiện tính toán trên đó, trả lại kết quả, và khi bạn giải mã kết quả đó, nó hoàn toàn chính xác. Người thực hiện tính toán chưa bao giờ nhìn thấy dữ liệu của bạn. Không phải phiên bản đã được làm sạch. Không phải một hash. Các giá trị thực sự bên dưới, không bao giờ bị lộ, dù chỉ một phần triệu giây. Đó là mã hóa đồng cấu hoàn toàn — một hình thức mã hóa cho phép bên thứ ba thực hiện tính toán trên dữ liệu của bạn mà không bao giờ giải mã nó.
Vậy, FHE (Mã hóa đồng cấu hoàn toàn) là gì? Đây không phải là một trò ảo thuật. Đó là một thuộc tính toán học của một số sơ đồ mã hóa nhất định. Bạn gửi cho ai đó một chiếc hộp đã khóa. Họ sắp xếp lại nội dung bên trong. Bạn mở khóa, và sự sắp xếp đó là chính xác. Họ chưa bao giờ có chìa khóa.
Trước khi đi vào cách FHE hoạt động, cần phải nói rõ về vấn đề mà nó giải quyết, vì hầu hết các phương pháp "tính toán trên dữ liệu nhạy cảm" đều liên quan đến một sự đánh đổi mà mọi người đã học cách chấp nhận mà không đặt câu hỏi.
Phương pháp tiêu chuẩn: mã hóa dữ liệu khi lưu trữ và truyền tải, giải mã trước khi xử lý. Nhà cung cấp đám mây, nhà cung cấp phân tích, dịch vụ ML của bạn — tất cả đều cần văn bản thuần để thực hiện công việc của họ. Bạn buộc phải tin tưởng vào họ. Điều này hoạt động cho đến khi không còn hoạt động nữa: một vụ vi phạm, một lệnh triệu tập, một mối đe dọa nội bộ, một chính sách kiểm soát truy cập được cấu hình sai.
Các môi trường thực thi tin cậy (TEE) như Intel SGX tạo ra một vùng bộ nhớ được bảo vệ mà ngay cả hệ điều hành cũng không thể đọc. Quá trình tính toán nhạy cảm diễn ra bên trong vùng an toàn (enclave). Điều này thực sự hữu ích, nhưng bạn đang tin tưởng nhà cung cấp phần cứng và đặt cược rằng việc triển khai enclave không có lỗ hổng có thể khai thác. SGX đã có một số lỗ hổng như vậy.
Bảo mật vi sai (Differential privacy) thêm nhiễu thống kê được hiệu chỉnh vào kết quả truy vấn, giới hạn mức độ kẻ tấn công có thể suy luận về các cá nhân từ các kết quả tổng hợp. Nó bảo vệ các phép tổng hợp, không phải các phép tính trên từng bản ghi riêng lẻ.
FHE là phương pháp duy nhất mà dữ liệu không bao giờ được giải mã trên máy chủ, và bằng chứng bảo mật không yêu cầu tin tưởng vào bất kỳ phần cứng hay bên thứ ba nào. Sự đảm bảo là về mặt toán học.
Các sơ đồ FHE định nghĩa các phép toán số học trực tiếp trên các bản mã. Phép cộng đồng cấu và phép nhân đồng cấu trên các giá trị được mã hóa, khi giải mã, sẽ cho ra kết quả tương tự như khi thực hiện các phép toán đó trên các văn bản thuần gốc.
Hai phép toán nghe có vẻ hạn chế. Nhưng không phải vậy. Phép cộng và phép nhân trên các trường nhị phân cho bạn các cổng AND và XOR, từ đó cho phép bạn xây dựng các mạch kỹ thuật số tùy ý. Bất kỳ hàm nào mà máy tính có thể tính toán đều có thể được biểu diễn theo hai phép toán này. Đó là cầu nối từ "số học trên các số được mã hóa" đến "tính toán tùy ý trên dữ liệu được mã hóa."
Vấn đề cấu trúc là nhiễu. Mỗi phép toán FHE đưa vào một lỗi nhỏ trong bản mã. Các lỗi tích lũy dần. Thực hiện đủ nhiều phép toán và nhiễu sẽ áp đảo tín hiệu — bản mã trở nên không thể giải mã được. Sáng kiến của Gentry là bootstrapping: đánh giá mạch giải mã một cách đồng cấu trên bản mã có nhiễu để tạo ra một bản mã mới, ít nhiễu với cùng giá trị văn bản thuần. Nói cách khác, bạn chạy giải mã bên trong quá trình mã hóa. Nhiễu được đặt lại mà dữ liệu không bao giờ bị lộ.
Các sơ đồ xử lý được một số lượng phép toán giới hạn trước khi nhiễu trở nên nghiêm trọng được gọi là đồng cấu có cấp độ hoặc đồng cấu một phần. Bootstrapping là thứ tạo nên chữ "hoàn toàn" trong FHE.
Đối với hầu hết các ứng dụng, FHE vẫn còn quá chậm. Các ứng dụng đang chạy hiện nay có chung một đặc điểm: độ sâu mạch giới hạn, độ nhạy cảm cao của dữ liệu, và một bên có thể chịu chi phí tính toán để đổi lấy sự đảm bảo bảo mật về mặt toán học.
Suy luận ML riêng tư là ứng dụng phù hợp nhất. Một máy khách có các đầu vào nhạy cảm. Một máy chủ có mô hình độc quyền. FHE cho phép máy chủ đánh giá mô hình trên các đầu vào được mã hóa và trả về kết quả được mã hóa. Không bên nào lộ những gì họ đang bảo vệ. Zama triển khai điều này cho các kiến trúc mô hình cụ thể. Độ sâu mạch có thể dự đoán và quản lý được.
Phân tích bộ gen riêng tư đã là một khối lượng công việc chuẩn từ khi iDASH bắt đầu tổ chức các cuộc thi genomics được mã hóa vào năm 2014. Đánh giá rủi ro bệnh tật, nghiên cứu liên kết toàn bộ bộ gen và căn chỉnh trình tự đều có các cấu trúc FHE. Dữ liệu bộ gen là một trong số ít loại dữ liệu mà rủi ro về quyền riêng tư vừa mang tính vĩnh viễn vừa có thể ảnh hưởng đến những người chưa bao giờ đồng ý chia sẻ bất cứ điều gì.
Truy vấn tài chính bảo mật bao gồm các truy vấn phạm vi, tra cứu cơ sở dữ liệu được mã hóa và chấm điểm gian lận trên lịch sử giao dịch được mã hóa. Các khối lượng công việc này chạy đủ ít thường xuyên, và dữ liệu đủ nhạy cảm, để chi phí tính toán là có thể chấp nhận được.
Bảo mật Blockchain là một lĩnh vực đang phát triển mạnh. Hợp đồng thông minh thực thi công khai trên on-chain theo mặc định. Các hệ thống dựa trên TFHE cho phép bạn chạy logic hợp đồng trên trạng thái được mã hóa, cho phép thực hiện các tính năng như đấu giá riêng tư, bỏ phiếu bảo mật và các cơ chế đặt giá kín nơi tính chính xác có thể được xác minh công khai nhưng các đầu vào không bị lộ. Dự án fhEVM của Zama nhắm mục tiêu cụ thể vào điều này.
Bảo mật FHE quy về độ khó của bài toán Learning With Errors (LWE) và biến thể vành của nó (RLWE). Các bài toán này đặt câu hỏi: cho trước nhiều phương trình tuyến tính gần đúng trên một vành hoặc mạng tinh thể, hãy tìm lại bí mật. Không có thuật toán thời gian đa thức nào được biết đến cho cả hai, trên phần cứng cổ điển hay lượng tử.
Điều này đặt FHE vào gia đình mật mã học hậu lượng tử. Quá trình chuẩn hóa hậu lượng tử của NIST được xây dựng dựa trên các bài toán thuộc họ LWE, điều này mang lại sự giám sát và tin tưởng bổ sung cho các giả định cơ bản. Tuy nhiên, LWE mới chỉ bị tấn công nghiêm trọng trong chưa đầy 20 năm. RSA và các đường cong elliptic có hơn 40 năm phân tích mã thất bại phía sau. Mức độ tin tưởng cao nhưng không hoàn toàn giống nhau.
Các tham số điều chỉnh bảo mật. Bậc đa thức, kích thước modulus và phân phối nhiễu phải được chọn để làm cho phiên bản LWE trở nên khó ở mức bảo mật mong muốn. Tổ chức HomomorphicEncryption.org công bố các bộ tham số được đề xuất. Sử dụng các giá trị mặc định của thư viện đã được xác thực theo các khuyến nghị này được ưu tiên hơn nhiều so với các cấu hình tùy chỉnh.
Bối cảnh cạnh tranh
FHE là một trong số nhiều công nghệ tính toán bảo toàn quyền riêng tư, và chúng ngày càng được sử dụng kết hợp với nhau thay vì thay thế lẫn nhau.
Tính toán đa bên an toàn (MPC) phân phối một phép tính trên nhiều bên, không bên nào nhìn thấy toàn bộ đầu vào. Nó thường nhanh hơn FHE cho các hàm cụ thể và phù hợp tự nhiên khi các bên được xác định trước. FHE hoạt động với một máy chủ không được tin tưởng.
Bằng chứng không tiết lộ thông tin (ZKP) cho phép một bên chứng minh một tuyên bố là đúng mà không tiết lộ bằng chứng. ZKP chứng minh; FHE tính toán. Chúng bổ sung cho nhau, và các hệ thống thực tế sử dụng cả hai: FHE cho tính toán riêng tư, ZKP để xác minh việc tính toán được thực hiện đúng đắn.
Các giao thức lai kết hợp FHE và MPC là một lĩnh vực nghiên cứu đang phát triển. Không có công nghệ nào đơn lẻ đáp ứng mọi yêu cầu; kết hợp chúng có thể mang lại hiệu suất tốt hơn và đảm bảo mạnh hơn so với từng công nghệ riêng lẻ.


