Homomorphic encryption là gì?

Mã hóa đồng hình (homomorphic encryption) giải quyết một lỗ hổng vốn có trong tất cả các phương pháp khác để bảo vệ dữ liệu

Hãy tưởng tượng nếu bạn làm việc trong ngành dịch vụ tài chính – hoặc, có thể bạn đã làm. Mỗi ngày, tổ chức của bạn xử lý rất nhiều thông tin cá nhân (PII) và dữ liệu tài chính – thông tin cần được mã hóa cả khi được lưu trữ (dữ liệu ở trạng thái nghỉ) và khi được truyền (dữ liệu truyền). Mặc dù các thuật toán mã hóa hiện đại hầu như không thể phá vỡ được (vì chúng đòi hỏi nhiều sức mạnh xử lý đến mức nó làm cho quá trình phá vỡ nó quá tốn kém và mất thời gian để có thể khả thi), chúng cũng khiến cho không thể xử lý dữ liệu mà không giải mã được trước – dữ liệu của bạn có thể khiến nó dễ bị tin tặc tấn công.

Như vậy, bất kể bạn đang làm việc với dữ liệu khi nghỉ ngơi hay dữ liệu đang truyền, mã hóa khóa công khai truyền thống yêu cầu dữ liệu phải được giải mã trước khi có thể phân tích hoặc thao tác. Nhưng điều gì sẽ xảy ra nếu chúng tôi nói với bạn rằng có một loại mã hóa hoàn toàn đáp ứng nhu cầu giải mã dữ liệu trước khi bạn sử dụng – có nghĩa là tính toàn vẹn và quyền riêng tư của dữ liệu được bảo vệ trong khi bạn xử lý dữ liệu đang sử dụng ?

Vâng, bạn có thể ngừng lướt qua – chúng tôi biết rằng đã thu hút sự chú ý của bạn. Có  một cách để cung cấp các dịch vụ tốt nhất và cá nhân nhất cho khách hàng của bạn trong khi vẫn duy trì sự riêng tư và bảo mật của họ. Nó được gọi là mã hóa đồng hình (homomorphic encryption – HE). Nhưng chính xác thì mã hóa đồng hình là gì và một số ứng dụng trong thế giới thực cho nó trong bảo mật dữ liệu là gì?

 

Homomorphic Encryption là gì?

Tóm lại, homomorphic encryption là một phương thức mã hóa cho phép mọi dữ liệu được mã hóa trong khi nó được xử lý và thao tác. Nó cho phép bạn hoặc bên thứ ba (chẳng hạn như nhà cung cấp cloud) áp dụng các chức năng trên dữ liệu được mã hóa mà không cần tiết lộ các giá trị của dữ liệu. Hệ thống homomorphic cryption giống như các hình thức mã hóa công khai khác ở chỗ nó sử dụng khóa chung để mã hóa dữ liệu và chỉ cho phép cá nhân có khóa riêng phù hợp để truy cập dữ liệu không được mã hóa của nó (mặc dù cũng có ví dụ về mã hóa đồng hình khóa đối xứng). Tuy nhiên, điều làm cho nó khác biệt so với các hình thức mã hóa khác là nó sử dụng hệ thống đại số để cho phép bạn hoặc người khác thực hiện nhiều tính toán (hoặc thao tác) trên dữ liệu được mã hóa.

Trong thực tế, hầu hết các sơ đồ mã hóa đồng cấu hoạt động tốt nhất với dữ liệu được biểu diễn dưới dạng số nguyên và trong khi sử dụng phép cộng và phép nhân làm các hàm vận hành. Điều này có nghĩa là dữ liệu được mã hóa có thể được thao tác và phân tích như thể nó ở định dạng văn bản gốc mà không thực sự được giải mã . Nói cách khác, HE có thể cho phép nhân viên của bạn (hoặc bên thứ ba) làm việc và sử dụng dữ liệu được mã hóa mà không cần truy cập hoặc biết nội dung của dữ liệu được giải mã. Họ có thể tính toán và xử lý dữ liệu được mã hóa để có câu trả lời được mã hóa, nhưng chỉ bạn mới có thể giải mã được bản mã và hiểu ý nghĩa của nó. Homomorphic cryption đòi hỏi một vài vòng tương tác và sử dụng các mạch số học (tập trung vào phép cộng và phép nhân, cho phép bạn thêm và nhân số) thay vì các mạch Boolean như các phương pháp tính toán an toàn khác (như tính toán hai bên [2PC] hoặc đa tổng tính toán -party [MPC]).

Những thách thức trong thế giới thực mà mã hóa đồng hình có thể giúp giải quyết

Trong một thế giới lý tưởng, homomorphic cryption có vô số ứng dụng thực tế, từ hệ thống bỏ phiếu điện tử đến phân tích dữ liệu y tế để cho phép truy vấn riêng tư trong công cụ tìm kiếm . Một số ứng dụng cho mã hóa đồng cấu bao gồm:

  • Bảo mật dữ liệu được lưu trữ trong đám mây. Hãy quay trở lại ý tưởng rằng bạn sở hữu hoặc làm việc tại một công ty dịch vụ tài chính thu thập, lưu trữ và sử dụng thông tin cá nhân và thông tin tài chính nhạy cảm. Tổ chức của bạn sử dụng dữ liệu này để xem xét liệu khách hàng có đủ điều kiện cho vay hay không. Bạn muốn lưu trữ thông tin này trên đám mây để giải phóng tài nguyên CNTT nhưng không hoàn toàn tin tưởng vào bảo mật của nhà cung cấp dịch vụ phần mềm đám mây (SaaS) của bạn. (Xem xét rằng lưu trữ đám mây không phải lúc nào cũng an toàn như chúng ta muốn, đó không phải là mối quan tâm sâu rộng.) Sử dụng homomorphic cryption, bạn có thể bảo mật dữ liệu bạn lưu trữ trên đám mây trong khi vẫn giữ được khả năng tính toán và tìm kiếm thông tin được mã hóa mà sau này bạn có thể giải mã mà không ảnh hưởng đến tính toàn vẹn của dữ liệu như một toàn thể Đó là một kịch bản cùng có lợi cho doanh nghiệp cũng như khách hàng của bạn.
  • Kích hoạt phân tích dữ liệu trong các ngành được quy định. Homomorphic cryption cho phép dữ liệu được mã hóa và gia công vào môi trường đám mây thương mại cho mục đích nghiên cứu và chia sẻ dữ liệu – tất cả trong khi bảo vệ quyền riêng tư dữ liệu của người dùng hoặc bệnh nhân. Nó có thể được sử dụng cho các doanh nghiệp và tổ chức thuộc nhiều ngành công nghiệp bao gồm dịch vụ tài chính, bán lẻ, công nghệ thông tin và chăm sóc sức khỏe để cho phép mọi người sử dụng dữ liệu mà không thấy các giá trị không được mã hóa của nó. Ví dụ, homomorphic cryption cho phép các nhà cung cấp dịch vụ phân tích dự đoán phân tích dữ liệu y tế một cách an toàn mà không gây nguy hiểm cho quyền riêng tư dữ liệu.
  • Cải thiện an ninh bầu cử và minh bạch. Các nhà nghiên cứu đang nghiên cứu cách sử dụng homomorphic cryption để làm cho các cuộc bầu cử dân chủ an toàn và minh bạch hơn. Ví dụ, lược đồ mã hóa Paillier, sử dụng các hoạt động bổ sung, sẽ phù hợp nhất cho các ứng dụng liên quan đến bỏ phiếu vì nó cho phép người dùng thêm các giá trị khác nhau theo cách không thiên vị trong khi giữ giá trị riêng tư. Công nghệ này không chỉ có thể bảo vệ dữ liệu khỏi sự thao túng, nó có thể cho phép nó được xác minh độc lập bởi các bên thứ ba được ủy quyền.

Homomorphic cryption giúp bảo vệ tính toàn vẹn của dữ liệu của bạn bằng cách cho phép người khác thao tác dưới dạng mã hóa của nó trong khi không ai (ngoài bạn là người giữ khóa riêng) có thể hiểu hoặc truy cập các giá trị được giải mã của nó. So sánh điều này với các phương pháp mã hóa được sử dụng bởi các giải pháp lưu trữ và tính toán đám mây truyền thống, không thể chạy các tính toán trên dữ liệu được mã hóa. Điều này có nghĩa là nhà cung cấp đám mây và / hoặc ứng dụng sẽ yêu cầu quyền truy cập vào dữ liệu không được mã hóa để thực hiện các chức năng tính toán trên nó. Thực tiễn này cho thấy dữ liệu nhạy cảm của tổ chức hoặc khách hàng của bạn đối với các nhà khai thác đám mây và tin tặc có khả năng không an toàn, những người muốn có dữ liệu của bạn.

Bây giờ, đó là những gì chúng ta gọi là tiến trình – nhưng sẽ mất một thời gian trước khi chúng ta thấy ứng dụng homomorphic cryption ở quy mô lớn hơn.

Các loại mã hóa tương đồng

Có ba loại mã hóa đồng cấu chính. Sự khác biệt chính giữa chúng nắm rõ các loại và tần suất của các phép toán có thể được thực hiện trên bản mã của chúng. Ba loại mã hóa đồng cấu bao gồm:

  • Mã hóa một phần (Partially Homomorphic Encryption)
  • Một số mã hóa tương đồng (Somewhat Homomorphic Encryption)
  • Mã hóa hoàn toàn tương đồng (Fully Homomorphic Encryption)

Mã hóa đồng hình một phần (PHE) giúp dữ liệu nhạy cảm được giữ bí mật bằng cách chỉ cho phép các chức năng toán học được chọn được thực hiện trên các giá trị được mã hóa. Điều này có nghĩa là một thao tác có thể được thực hiện không giới hạn số lần trên bản mã. Mã hóa đồng hình một phần (liên quan đến các hoạt động nhân) là nền tảng cho mã hóa RSA, thường được sử dụng để thiết lập các kết nối an toàn thông qua SSL / TLS. Một số ví dụ về PHE bao gồm mã hóa ElGamal (sơ đồ nhân) và mã hóa Paillier (sơ đồ bổ sung).

Lược đồ mã hóa hơi đồng hình (SHE) là một lược đồ hỗ trợ các hoạt động hạn chế (ví dụ: cộng hoặc nhân) lên đến một độ phức tạp nhất định, nhưng các thao tác này chỉ có thể được thực hiện một số lần đã đặt. Đây là tiền thân của mã hóa đồng hình hoàn toàn, chúng ta sẽ thảo luận sâu hơn trong giây lát. 

Mã hóa hoàn toàn tương đồng là gì?

Mã hóa hoàn toàn đồng hình (FHE), trong khi vẫn đang trong giai đoạn phát triển, có rất nhiều tiềm năng để làm cho chức năng phù hợp với quyền riêng tư bằng cách giúp giữ an toàn thông tin mà vẫn có thể truy cập được. Được sinh ra từ một sơ đồ mã hóa tương đồng, loại mật mã thần thánh này có khả năng sử dụng bất kỳ chức năng tính toán hiệu quả nào (như cộng  nhân, không chỉ một hay nhiều lần) bất kỳ số lần nào và giúp tính toán đa bên an toàn hiệu quả hơn. Không giống như các hình thức mã hóa đồng cấu khác, nó có thể xử lý các tính toán tùy ý trên bản mã của bạn.

Mục tiêu đằng sau mã hóa đồng hình hoàn toàn là cho phép mọi người sử dụng dữ liệu được mã hóa để thực hiện các hoạt động hữu ích mà không cần truy cập vào khóa mã hóa. Đặc biệt, khái niệm này có các ứng dụng để cải thiện bảo mật điện toán đám mây. Nếu bạn muốn lưu trữ dữ liệu nhạy cảm, được mã hóa trong đám mây nhưng không tin tưởng nhà cung cấp đám mây của mình hoặc muốn có nguy cơ bị hacker xâm nhập vào tài khoản / ứng dụng đám mây của bạn, thì nó cung cấp cho bạn cách để kéo, tìm kiếm và thao tác dữ liệu của bạn mà không phải cho phép nhà cung cấp đám mây hoặc Google truy cập vào dữ liệu trên các tệp bạn muốn truy cập.

Craig Gentry, một nhà khoa học máy tính người Mỹ và Nghiên cứu viên tại Algorand Foundation, mô tả phiên bản mã hóa đồng cấu của anh ta – mã hóa hoàn toàn đồng hình – về mặt tương tự hộp đựng găng tay:

Vì vậy, về cơ bản, bất cứ ai cũng có thể đến và họ có thể dính tay vào găng tay và điều khiển những gì bên trong hộp bị khóa. Họ không thể kéo nó ra, nhưng họ có thể điều khiển nó; họ có thể xử lý nó. Họ có thể lấy nguyên liệu thô và sản xuất vòng cổ hoặc thứ gì đó bên trong hộp. Và, bạn biết đấy, họ kết thúc và [người có khóa riêng] phải đi kèm với khóa bí mật và mở nó ra, và chỉ họ mới có thể trích xuất thành phẩm ra khỏi đó.

Tại sao chúng ta không sử dụng mã hóa hoàn toàn đồng nhất? 

Điều hấp dẫn của việc sử dụng hình thức mã hóa này là tính linh hoạt của nó đi kèm với chi phí tốc độ. Thật không may, trong trạng thái hiện tại của nó, mã hóa đồng hình là thực sự chậm. Trong cuộc đua mã hóa, nó đang chạy ở vị trí cuối cùng. Điều này, một phần, bởi vì mã hóa đồng cấu có chi phí tính toán lớn hơn so với các hoạt động văn bản gốc.

Với mục tiêu làm cho mã hóa đồng hình trở nên phổ biến, IBM đã phát hành phiên bản đầu tiên của thư viện HElib C ++ vào năm 2016 – nhưng báo cáo đã chạy chậm hơn 100 nghìn tỷ lần so với các hoạt động của văn bản gốc. và hiện đã đưa ra một phiên bản nhanh hơn 75 lần, nhưng thậm chí nó vẫn cực kỳ chậm so với làm việc với dữ liệu không được mã hóa. Các nhà nghiên cứu, như Gentry, đang nỗ lực tìm cách tăng tốc quá trình dữ liệu đang sử dụng / dữ liệu trong các ứng dụng xử lý. Một công ty bảo mật dữ liệu, ENVEIL, tuyên bố sử dụng mã hóa đồng cấu như một phần trong khuôn khổ của họ để bảo vệ dữ liệu đang sử dụng. Một công ty khác, một công ty khởi nghiệp có tên Duality, đang làm việc để tạo ra các sản phẩm kinh doanhđiều đó sẽ cho phép các công ty chia sẻ dữ liệu thô với các bên thứ ba mà không có quyền truy cập vào nó. Chúng tôi chưa bao giờ sử dụng một trong hai dịch vụ của họ, vì vậy chúng tôi không thể nói đến sự thành công hoặc chức năng của dịch vụ của họ.

Để giúp các kỹ sư phần mềm trong quá trình sử dụng một hình thức mã hóa đồng cấu thực tế, nhóm Nghiên cứu Mật mã học của Microsoft đã đưa ra Thư viện Số học Mã hóa Đơn giản của Microsoft (Microsoft SEAL ), một thư viện mã hóa đồng cấu mã nguồn mở. Nền tảng công nghệ này, được viết bằng C ++, cho phép các kỹ sư phần mềm tạo ra các dịch vụ lưu trữ và tính toán dữ liệu cho các tổ chức cung cấp mã hóa đầu cuối trong khi không bao giờ yêu cầu họ chia sẻ khóa của họ. Mục tiêu, Microsoft nói , là để đưa thư viện của chúng tôi vào tay của mọi nhà phát triển, vì vậy chúng tôi có thể làm việc cùng nhau để tính toán an toàn, riêng tư và đáng tin cậy hơn.

Hy vọng, giữa công việc của các nhóm này và các nhà nghiên cứu như Gentry, chúng ta sẽ có thể thấy một phiên bản nhanh hơn của mã hóa đồng hình hoàn toàn trên đường chân trời mà chúng ta có thể áp dụng cho nhiều ứng dụng trong thế giới thực trong các ngành công nghiệp khác nhau.

Nguồn gốc của hệ thống mật mã đồng hình

Nguồn gốc của mã hóa đồng hình bắt nguồn từ năm 1978 – ngay sau khi Rivest, Shamir và Adman trình bày mã hóa RSA – một thời gian dài trong thế giới công nghệ. Rivest, Adman và Dertouzos đã đưa ra khái niệm đồng cấu riêng tư . Khái niệm mã hóa của họ đã bị Brickell và Yacobi cho vào dĩ vãng gần 10 năm sau đó. Các nhà nghiên cứu khác đã có một cuộc tranh luận về chủ đề này – chẳng hạn như Feigenbaum và Merritt – nhưng thực sự, không có tiến bộ lớn nào được thực hiện cho đến khi Gentry, một sinh viên tốt nghiệp tại Đại học Stanford, quyết định thử sức mình trong việc tạo ra một hệ thống mã hóa đồng hình đại số luận văn tốt nghiệp của mình .

Gentry, một thành viên của Quỹ MacArthur và làm nhà khoa học nghiên cứu trong Nhóm nghiên cứu mật mã tại Trung tâm nghiên cứu IBM Thomas J. Watson, đã thành lập sơ đồ mã hóa đồng hình hoàn toàn đầu tiên vào năm 2009. Nghiên cứu của ông được tiếp nối bởi các biến thể mã hóa đồng hình khác đề án trong những năm tới.

Suy nghĩ cuối cùng

Khái niệm về mã hóa đồng hình – đặc biệt là mã hóa đồng cấu – là một hứa hẹn cho các ứng dụng trong thế giới thực trên nhiều ngành công nghiệp. Tuy nhiên, điều ưu tiên vẫn là tìm cách giảm chi phí tính toán và tăng tốc quá trình sử dụng ở quy mô lớn hơn. Bất kể tiến trình đang dần được thực hiện trong lĩnh vực mã hóa đồng cấu, điều quan trọng là bạn cũng không được bỏ qua dữ liệu của mình trong lưu trữ và dữ liệu trong bảo vệ chuyển tuyến cũng như trong thời gian này.

bình luận

Leave a Comment