Desde Linux Darkcrizt  

Swift Homomorphic Encryption, la biblioteca open source de Apple para el cifrado homomórfico

Apple-swift-homomorphic-encryption

Hace pocos días, Apple dio a conocer mediante un anuncio el desarrollo de una biblioteca de código abierto que implementa métodos de cifrado homomórfico en Swift. Muchos pensarán que Apple es una compañía de software 100% cerrado (esto gracias a sus sistemas operativos iOS y MacOS), pero lo cierto es que no es asi, ya que Apple también contribuye al software libre y existen diversos proyectos de la manzanita que se distribuyen bajo el emblema de código abierto.

Un claro ejemplo de ello es el lenguaje de programación Swift, asi como también ciertos componentes de MacOS. Puedes consultar estos y los demás códigos fuente de los proyectos de Apple que se encuentran liberados bajo licencias open source en el sitio web Open Source at Apple, asi como también en repositorios de GitHub.

Ahora, pasado al asunto principal de la publicación, que es «Swift Homomorphic Encryption», podemos mencionar que esta biblioteca permite a los desarrolladores crear aplicaciones que procesan datos encriptados sin necesidad de descifrado intermedio en ninguna etapa del cálculo. El resultado final también es un dato cifrado, equivalente a haber cifrado el resultado de los mismos cálculos realizados en datos no cifrados.

El cifrado homomórfico es una técnica criptográfica que permite realizar cálculos sobre datos cifrados sin revelar los datos subyacentes no cifrados al proceso operativo. Proporciona un medio para que los clientes envíen datos cifrados a un servidor, que opera sobre esos datos cifrados y devuelve un resultado que el cliente puede descifrar. Durante la ejecución de la solicitud, el propio servidor nunca descifra los datos originales ni tiene acceso a la clave de descifrado. 

Sobre Swift Homomorphic Encryption

Se menciona que la implementación se basa en el esquema Brakerski-Fan-Vercauteren, que utiliza un problema de aprendizaje de errores en anillo (RLWE) resistente al criptoanálisis mediante computadoras cuánticas. Para las primitivas de cifrado de bajo nivel, se apoya en la biblioteca Swift Crypto.

Este tipo de cifrado es particularmente útil en servicios en la nube para el procesamiento de información confidencial, sistemas de votación electrónica, manejo de datos cifrados en sistemas de gestión de bases de datos (DBMS), y el entrenamiento seguro de sistemas de aprendizaje automático.

En Apple, utilizamos cifrado homomórfico en nuestro propio trabajo; por eso, estamos encantados de compartir esta implementación de Swift en la comunidad para que otros la utilicen y contribuyan.

Un ejemplo de cómo usamos esta implementación en iOS 18 es la nueva función Live Caller ID Lookup , que proporciona servicios de identificación de llamadas y bloqueo de spam. Live Caller ID Lookup utiliza cifrado homomórfico para enviar una consulta cifrada a un servidor que puede proporcionar información sobre un número de teléfono sin que el servidor conozca el número de teléfono específico en la solicitud. Para demostrar esto, también compartimos live-caller-id-lookup-example , que proporciona un backend de ejemplo funcional para probar la función Live Caller ID Lookup utilizando cifrado homomórfico.

¿Como funciona el cifrado homomórfico Swift?

El proceso de trabajo con datos cifrados implica que el usuario cifra los datos y los envía a un servidor externo sin revelar las claves. El servidor realiza los cálculos necesarios y genera un resultado cifrado, sin tener acceso a la información original. Luego, el usuario descifra el resultado con sus propias claves, obteniendo los datos en texto claro.

Actualmente Apple hace uso del del cifrado homomórfico en la infraestructura de verificación del «identificador de llamadas» y el modo de funcionamiento es el siguiente:

  • El usuario cifra su número de teléfono utilizando el cifrado homomórfico y lo envía al servidor de Apple.
  • El cifrado homomórfico permite realizar cálculos sobre datos cifrados sin necesidad de descifrarlos.
  • El servidor de Apple recibe el número cifrado y verifica su presencia en listas negras para bloquear spam o en bases de datos sobre la propiedad de números.
  • La verificación se realiza directamente sobre los datos cifrados sin descifrarlos, utilizando el cifrado homomórfico.

Live Caller ID Lookup

Ademas de ello, se menciona que a diferencia de los métodos tradicionales donde toda la base de datos debe ser transferida al cliente para su verificación, este sistema permite enviar solo una pequeña porción de metadatos al cliente. Esto facilita la verificación de bases de datos muy grandes que serían

Finalmente cabe mencionar que el código del lado del servidor se publica bajo la licencia Apache 2.0. Si estas interesado en poder conocer mas al respecto, puedes consultar los detalles en el siguiente enlace.

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.