12 điểm bởi GN⁺ 2024-08-01 | 1 bình luận | Chia sẻ qua WhatsApp
  • Công bố swift-homomorphic-encryption, một gói mã nguồn mở mới cho Swift
  • Mã hóa đồng hình (HE) là kỹ thuật mã hóa cho phép thực hiện phép toán trên dữ liệu đã mã hóa mà không cần giải mã
  • Client gửi dữ liệu đã mã hóa lên server, và server thực hiện tính toán rồi trả về kết quả
  • Server không giải mã dữ liệu gốc cũng như không truy cập vào khóa giải mã
  • Mở ra cơ hội mới để bảo vệ quyền riêng tư và bảo mật dữ liệu người dùng trong các dịch vụ đám mây

Trường hợp sử dụng của Apple

  • Apple sử dụng mã hóa đồng hình trong Live Caller ID Lookup, một tính năng mới của iOS 18
  • Live Caller ID Lookup gửi truy vấn đã mã hóa đến server để cung cấp thông tin về số điện thoại
  • Server không biết số điện thoại cụ thể trong yêu cầu
  • Có thể thử nghiệm tính năng này thông qua gói live-caller-id-lookup-example

Tính năng chính

  • Hỗ trợ Swift on Server, framework HTTP Hummingbird và đa nền tảng
  • Benchmarking dễ dàng thông qua thư viện Benchmark
  • Các primitive mật mã mức thấp hiệu năng cao của Swift Crypto

Private Information Retrieval (PIR)

  • Live Caller ID Lookup phụ thuộc vào Private Information Retrieval (PIR)
  • Client gửi từ khóa lên server và truy xuất giá trị liên quan
  • Được triển khai để server không biết từ khóa
  • Xử lý cơ sở dữ liệu quy mô lớn hiệu quả bằng cách sử dụng mã hóa đồng hình

Mã hóa đồng hình

  • Mã hóa đồng hình cho phép thực hiện phép toán trên dữ liệu đã mã hóa mà không cần giải mã
  • Quy trình làm việc điển hình:
    • Client mã hóa dữ liệu nhạy cảm và gửi lên server
    • Server thực hiện phép toán trên bản mã
    • Server gửi bản mã kết quả lại cho client
    • Client giải mã kết quả
  • Triển khai lược đồ HE Brakerski-Fan-Vercauteren (BFV)
  • BFV dựa trên bài toán RLWE có khả năng kháng lượng tử

Ví dụ sử dụng mã hóa đồng hình

  • Hữu ích cho nhiều ứng dụng bảo vệ quyền riêng tư khác nhau
  • Mã ví dụ:
    import HomomorphicEncryption  
    
    // Bắt đầu bằng việc chọn một số tham số mã hóa cho lược đồ Bfv  
    // *Các tham số mã hóa này không an toàn và chỉ phù hợp cho mục đích thử nghiệm*  
    let encryptParams = try EncryptionParameters(from: .insecure_n_8_logq_5x18_logt_5)  
    
    // Sử dụng các tham số để thực hiện tiền tính toán cho phép tính HE  
    let context = try Context(encryptionParameters: encryptParams)  
    
    // Mã hóa giá trị N bằng cách sử dụng Coefficient encoding  
    let values: [UInt64] = [8, 5, 12, 12, 15, 0, 8, 5]  
    let plaintext: Bfv.CoeffPlaintext = try context.encode(values: values, format: .coefficient)  
    
    // Tạo khóa bí mật và dùng nó để mã hóa plaintext  
    let secretKey = try context.generateSecretKey()  
    let ciphertext = try plaintext.encrypt(using: secretKey)  
    
    // Giải mã plaintext sẽ thu được các giá trị ban đầu  
    let decrypted = try ciphertext.decrypt(using: secretKey)  
    let decoded: [UInt64] = try decrypted.decode(format: .coefficient)  
    precondition(decoded == values)  
    

Tóm tắt của GN⁺

  • Mã hóa đồng hình mở ra những khả năng mới cho dịch vụ đám mây đồng thời bảo vệ quyền riêng tư dữ liệu
  • Đã được áp dụng vào một tính năng của Apple trên iOS 18, cho thấy tính thực tiễn
  • Cộng đồng Swift có thể phát triển nhiều ứng dụng bảo vệ quyền riêng tư khác nhau
  • Các dự án khác cung cấp tính năng tương tự gồm có Microsoft SEAL, IBM HELib, v.v.

1 bình luận

 
GN⁺ 2024-08-01
Ý kiến trên Hacker News
  • Tra cứu số điện thoại là một ví dụ kinh điển cho thấy mã hóa đồng hình không thực sự hiệu quả
  • Mã hóa đồng hình thú vị như thể chuyển một mô phỏng sang một vũ trụ song song mà bạn không thể truy cập
  • Ai quan tâm đến FHE nên xem Zama.ai, bên gần đây đã tạo ra FHE thực tiễn
  • Đây có thể sẽ là trường hợp sử dụng thực tế đầu tiên của HE. Nhìn chung nó bị xem là quá chậm để hữu ích, nhưng đây là một trường hợp sử dụng rất tốt
  • Đây là một công bố rất quan trọng về lâu dài, dù sẽ không tạo cảm giác như vậy ngay lập tức
    • Đây là một công bố lớn cho các trường hợp sử dụng liên quan đến AI và PII
  • Tò mò không biết nó sẽ như thế nào khi so với FHE của Zama.ai
  • FHE rất ngầu, nhưng tôi tự hỏi thực tế nó phù hợp với bao nhiêu trường hợp sử dụng. Nó mang lại cho người dùng các đảm bảo bảo mật tốt hơn, nhưng liệu người dùng có thực sự quan tâm chỉ vì một tổ chức hứa hẹn môi trường thực thi an toàn trên đám mây không?
    • Ngoài ra, từ góc độ kỹ thuật, để dùng FHE thì phải refactor luồng xử lý và cam kết mọi xử lý downstream đều cố định. Nếu pháp luật không bắt buộc, liệu các tổ chức có đủ động lực không?
  • Cái tên này buồn cười, vì HME hoàn toàn không nhanh ở nhiều khía cạnh
    • Tôi nghĩ giải pháp thực sự là secure enclave, nhưng cái đó cũng có những khó khăn riêng
  • Điều tôi luôn muốn biết về FHE: tiêu chuẩn vàng của mật mã hiện đại là bảo mật IND-CCA. Theo định nghĩa, FHE không thể đáp ứng tiêu chuẩn đó (việc sửa đổi bản mã để tạo ảnh hưởng có thể dự đoán lên bản rõ chính là định nghĩa của tấn công chọn bản mã). Vậy các scheme FHE hiện đại tiến gần đến mức nào? Nói cách khác, phải hy sinh bao nhiêu bảo mật để đổi lấy lợi ích của FHE?
  • Tôi không hiểu bằng cách nào máy chủ có thể đối chiếu bản mã với giá trị mà không biết khóa. Làm sao máy chủ xác định được bản mã này tương ứng với một giá trị cụ thể? Nếu máy chủ xây dựng cơ sở dữ liệu bản mã-giá trị này, thì làm sao nó biết phải dùng thuật toán nào để biến giá trị thành bản mã rồi lưu lại?