12 puntos por GN⁺ 2024-08-01 | 1 comentarios | Compartir por WhatsApp
  • Se presentó swift-homomorphic-encryption, un nuevo paquete open source de Swift
  • El cifrado homomórfico (HE) es una tecnología de cifrado que permite realizar operaciones sobre datos cifrados sin necesidad de descifrarlos
  • El cliente envía datos cifrados al servidor, y el servidor realiza operaciones sobre ellos y devuelve el resultado
  • El servidor no descifra los datos originales ni accede a la clave de descifrado
  • Ofrece nuevas oportunidades para proteger la privacidad y la seguridad de los datos de los usuarios en servicios en la nube

Casos de uso de Apple

  • Apple usa cifrado homomórfico en Live Caller ID Lookup, una nueva función de iOS 18
  • Live Caller ID Lookup envía una consulta cifrada al servidor para obtener información sobre un número telefónico
  • El servidor no conoce el número telefónico específico de la solicitud
  • La función se puede probar mediante el paquete live-caller-id-lookup-example

Funciones principales

  • Soporte para Swift on Server, el framework HTTP Hummingbird y multiplataforma
  • Benchmarking sencillo mediante la biblioteca Benchmark
  • Primitivas criptográficas de bajo nivel y alto rendimiento de Swift Crypto

Private Information Retrieval (PIR)

  • Live Caller ID Lookup depende de Private Information Retrieval (PIR)
  • El cliente envía una palabra clave al servidor y recupera el valor relacionado
  • Está implementado para que el servidor no conozca la palabra clave
  • Usa cifrado homomórfico para procesar bases de datos grandes de forma eficiente

Cifrado homomórfico

  • El cifrado homomórfico permite operar sobre datos cifrados sin descifrarlos
  • Flujo de trabajo general:
    • El cliente cifra datos sensibles y los envía al servidor
    • El servidor realiza operaciones sobre el texto cifrado
    • El servidor envía el texto cifrado resultante al cliente
    • El cliente descifra el resultado
  • Implementa el esquema HE Brakerski-Fan-Vercauteren (BFV)
  • BFV se basa en el problema RLWE con resistencia cuántica

Ejemplo de uso del cifrado homomórfico

  • Es útil para diversas aplicaciones de protección de privacidad
  • Código de ejemplo:
    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)  
    

Resumen de GN⁺

  • El cifrado homomórfico abre nuevas posibilidades para los servicios en la nube al proteger la privacidad de los datos
  • Su aplicación en una función de iOS 18 de Apple demuestra su utilidad práctica
  • La comunidad de Swift podrá desarrollar diversas aplicaciones de protección de privacidad
  • Otros proyectos con funciones similares incluyen Microsoft SEAL e IBM HELib

1 comentarios

 
GN⁺ 2024-08-01
Comentarios en Hacker News
  • La búsqueda de números telefónicos es un ejemplo de manual de algo para lo que el cifrado homomórfico no funciona en la práctica
  • El cifrado homomórfico es interesante, como mover la simulación a un universo paralelo al que no se puede acceder
  • Quien esté interesado en FHE debería revisar Zama.ai, que recientemente hizo FHE práctico
  • Este probablemente sea el primer caso de uso real de HE. Por lo general se considera demasiado lento para ser útil, pero este es un gran caso de uso
  • Este es un anuncio muy importante a largo plazo; no se sentirá de inmediato
    • Es un gran anuncio para casos de uso relacionados con IA y PII
  • Me pregunto cómo se comparará con el FHE de Zama.ai
  • FHE es genial, pero me pregunto para cuántos casos de uso realmente es adecuado. Les da a los usuarios mejores garantías de seguridad, pero si una organización promete un entorno de ejecución seguro en la nube, ¿de verdad a los usuarios les importará?
    • Además, desde una perspectiva de ingeniería, usar FHE requiere refactorizar el flujo y comprometerse a que todo el procesamiento downstream sea fijo. Si la ley no lo exige, ¿tendrán las organizaciones suficiente incentivo?
  • El nombre da risa, porque HME no es nada rápido en varios sentidos
    • Creo que la verdadera solución son los enclaves seguros, pero eso también tiene sus dificultades
  • Algo que siempre he querido saber sobre FHE: el estándar de oro de la criptografía moderna es la seguridad IND-CCA. Por definición, FHE no puede cumplir ese estándar (modificar un texto cifrado para causar un efecto predecible en el texto plano es la definición de un ataque de texto cifrado elegido). Entonces, ¿qué tan cerca están los esquemas modernos de FHE? Es decir, ¿cuánta seguridad se sacrifica para obtener las ventajas de FHE?
  • No entiendo cómo un servidor puede hacer coincidir un texto cifrado con un valor sin conocer la clave. ¿Cómo decide el servidor que este texto cifrado corresponde a un valor específico? Si el servidor construye esta base de datos de texto cifrado-valor, ¿cómo sabe qué algoritmo debe usar para convertir el valor en texto cifrado y almacenarlo?