- 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
Comentarios en Hacker News