12 คะแนน โดย GN⁺ 2024-08-01 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • เปิดตัว swift-homomorphic-encryption แพ็กเกจโอเพนซอร์สใหม่ของ Swift
  • Homomorphic Encryption (HE) คือเทคโนโลยีการเข้ารหัสที่สามารถคำนวณบนข้อมูลที่เข้ารหัสไว้ได้โดยไม่ต้องถอดรหัส
  • ไคลเอนต์ส่งข้อมูลที่เข้ารหัสแล้วไปยังเซิร์ฟเวอร์ และเซิร์ฟเวอร์จะประมวลผลแล้วส่งผลลัพธ์กลับมา
  • เซิร์ฟเวอร์จะไม่ถอดรหัสข้อมูลต้นฉบับหรือเข้าถึงกุญแจถอดรหัส
  • เปิดโอกาสใหม่ในการปกป้องความเป็นส่วนตัวและความปลอดภัยของข้อมูลผู้ใช้ในบริการคลาวด์

กรณีการใช้งานของ Apple

  • ใช้ Homomorphic Encryption กับฟีเจอร์ใหม่ใน iOS 18 อย่าง Live Caller ID Lookup
  • Live Caller ID Lookup ส่งคำขอที่เข้ารหัสไปยังเซิร์ฟเวอร์เพื่อดึงข้อมูลเกี่ยวกับหมายเลขโทรศัพท์
  • เซิร์ฟเวอร์จะไม่ทราบหมายเลขโทรศัพท์เฉพาะที่อยู่ในคำขอ
  • สามารถทดสอบฟีเจอร์นี้ได้ผ่านแพ็กเกจ live-caller-id-lookup-example

คุณสมบัติหลัก

  • รองรับ Swift on Server, เฟรมเวิร์ก HTTP อย่าง Hummingbird และการทำงานข้ามแพลตฟอร์ม
  • ทำเบนช์มาร์กได้ง่ายผ่านไลบรารี Benchmark
  • ใช้ primitive ด้านการเข้ารหัสระดับล่างที่มีประสิทธิภาพจาก Swift Crypto

Private Information Retrieval (PIR)

  • Live Caller ID Lookup อาศัย Private Information Retrieval (PIR)
  • ไคลเอนต์ส่งคีย์เวิร์ดไปยังเซิร์ฟเวอร์เพื่อค้นหาค่าที่เกี่ยวข้อง
  • ออกแบบให้เซิร์ฟเวอร์ไม่ทราบคีย์เวิร์ดดังกล่าว
  • ใช้ Homomorphic Encryption เพื่อจัดการฐานข้อมูลขนาดใหญ่ได้อย่างมีประสิทธิภาพ

Homomorphic Encryption

  • Homomorphic Encryption สามารถคำนวณบนข้อมูลที่เข้ารหัสได้โดยไม่ต้องถอดรหัส
  • เวิร์กโฟลว์ทั่วไป:
    • ไคลเอนต์เข้ารหัสข้อมูลอ่อนไหวแล้วส่งไปยังเซิร์ฟเวอร์
    • เซิร์ฟเวอร์คำนวณบน ciphertext
    • เซิร์ฟเวอร์ส่ง ciphertext ของผลลัพธ์กลับไปยังไคลเอนต์
    • ไคลเอนต์ถอดรหัสผลลัพธ์
  • มีการอิมพลีเมนต์ Brakerski-Fan-Vercauteren (BFV) HE scheme
  • BFV มีพื้นฐานจากปัญหา RLWE ที่ทนทานต่อควอนตัม

ตัวอย่างการใช้งาน Homomorphic Encryption

  • มีประโยชน์กับแอปพลิเคชันหลากหลายแบบที่เน้นการปกป้องความเป็นส่วนตัว
  • ตัวอย่างโค้ด:
    import HomomorphicEncryption  
    
    // Bfv 체계에 대한 몇 가지 암호화 파라미터를 선택하는 것으로 시작  
    // *이 암호화 파라미터는 안전하지 않으며 테스트용으로만 적합*  
    let encryptParams = try EncryptionParameters(from: .insecure_n_8_logq_5x18_logt_5)  
    
    // 매개변수를 사용하여 HE 계산을 위한 사전 계산을 수행  
    let context = try Context(encryptionParameters: encryptParams)  
    
    // Coefficient 인코딩을 사용하여 N 값을 인코딩  
    let values: [UInt64] = [8, 5, 12, 12, 15, 0, 8, 5]  
    let plaintext: Bfv.CoeffPlaintext = try context.encode(values: values, format: .coefficient)  
    
    // 비밀 키를 생성하고 이를 사용하여 일반 텍스트를 암호화  
    let secretKey = try context.generateSecretKey()  
    let ciphertext = try plaintext.encrypt(using: secretKey)  
    
    // 일반 텍스트를 해독하면 원래 값을 얻을 수 있음  
    let decrypted = try ciphertext.decrypt(using: secretKey)  
    let decoded: [UInt64] = try decrypted.decode(format: .coefficient)  
    precondition(decoded == values)  
    

สรุปของ GN⁺

  • Homomorphic Encryption เปิดความเป็นไปได้ใหม่ให้บริการคลาวด์ โดยยังคงปกป้องความเป็นส่วนตัวของข้อมูล
  • มีการนำไปใช้กับฟีเจอร์ใน iOS 18 ของ Apple ซึ่งพิสูจน์การใช้งานจริงได้แล้ว
  • ชุมชน Swift สามารถพัฒนาแอปพลิเคชันด้านการปกป้องความเป็นส่วนตัวได้หลากหลาย
  • โครงการอื่นที่มีความสามารถคล้ายกัน ได้แก่ Microsoft SEAL และ IBM HELib

1 ความคิดเห็น

 
GN⁺ 2024-08-01
ความเห็นจาก Hacker News
  • การค้นหาหมายเลขโทรศัพท์เป็นตัวอย่างตามตำราที่แสดงให้เห็นว่าโฮโมมอร์ฟิกเอนคริปชันใช้งานจริงไม่ได้
  • โฮโมมอร์ฟิกเอนคริปชันน่าสนใจราวกับเป็นการย้ายการจำลองไปยังจักรวาลคู่ขนานที่ไม่สามารถเข้าถึงได้
  • ใครที่สนใจ FHE ควรไปดู Zama.ai ที่เพิ่งทำ FHE เชิงปฏิบัติการได้เมื่อไม่นานนี้
  • นี่น่าจะเป็นกรณีใช้งานจริงครั้งแรกของ HE โดยปกติแล้วมันถูกมองว่าช้าเกินกว่าจะมีประโยชน์ แต่นี่เป็นกรณีใช้งานที่ยอดเยี่ยม
  • นี่เป็นการประกาศที่สำคัญมากในระยะยาว แม้จะยังไม่รู้สึกชัดเจนในทันที
    • นี่เป็นการประกาศครั้งใหญ่สำหรับกรณีใช้งานที่เกี่ยวข้องกับ AI และ PII
  • สงสัยว่าถ้าเทียบกับ FHE ของ Zama.ai แล้วจะเป็นอย่างไร
  • FHE เจ๋งมาก แต่ก็สงสัยว่าจริง ๆ แล้วมันเหมาะกับกรณีใช้งานได้มากแค่ไหน มันให้หลักประกันด้านความปลอดภัยที่ดีกว่าแก่ผู้ใช้ แต่ถ้าองค์กรบอกว่าจะรับประกันสภาพแวดล้อมการประมวลผลที่ปลอดภัยบนคลาวด์ ผู้ใช้จะสนใจจริงหรือ?
    • อีกอย่าง ในมุมวิศวกรรม การใช้ FHE ต้องรีแฟกเตอร์โฟลว์และต้องรับปากว่าการประมวลผลปลายน้ำทั้งหมดจะเป็นแบบคงที่ ถ้ากฎหมายไม่ได้บังคับ องค์กรจะมีแรงจูงใจมากพอหรือ?
  • ชื่อนี้ดูตลก เพราะ HME ไม่ได้เร็วเลยในหลายมิติ
    • คิดว่าทางออกที่แท้จริงคือ secure enclave แต่สิ่งนั้นก็มีความยากของมันเหมือนกัน
  • สิ่งที่อยากรู้เกี่ยวกับ FHE มาโดยตลอดคือ มาตรฐานทองคำของคริปโตกราฟีสมัยใหม่คือความปลอดภัยแบบ IND-CCA แต่ FHE โดยนิยามแล้วไม่สามารถผ่านเกณฑ์นั้นได้ (การแก้ไข ciphertext เพื่อให้เกิดผลที่คาดเดาได้กับ plaintext คือคำนิยามของ chosen-ciphertext attack) แล้ว FHE scheme สมัยใหม่เข้าใกล้แค่ไหน? กล่าวคือ ต้องยอมเสียความปลอดภัยไปมากแค่ไหนเพื่อให้ได้ข้อดีของ FHE?
  • ไม่เข้าใจว่าเซิร์ฟเวอร์จะจับคู่ ciphertext กับค่าได้อย่างไรโดยที่ไม่รู้คีย์ เซิร์ฟเวอร์ตัดสินได้อย่างไรว่า ciphertext นี้สอดคล้องกับค่าใด? ถ้าเซิร์ฟเวอร์เป็นผู้สร้างฐานข้อมูล ciphertext-ค่า นี้เอง แล้วมันจะรู้ได้อย่างไรว่าต้องใช้อัลกอริทึมอะไรในการแปลงค่าเป็น ciphertext และจัดเก็บมัน?