El cifrado totalmente homomórfico (FHE) permite el cálculo de datos cifrados. Esta es esencialmente la máxima garantía de privacidad: un servidor que funciona para sus usuarios (como obtener correos electrónicos, tweets o resultados de búsqueda), sin saber nunca qué están haciendo sus usuarios: con quién hablan, a quién siguen o incluso qué hacen. buscar. Los servidores que usan FHE le brindan una prueba criptográfica de que no lo están espiando.
Desafortunadamente, realizar cálculos generales usando FHE es notoriamente lento. Nos hemos centrado en resolver un problema simple y específico: recuperar un elemento de un almacén de clave-valor, sin revelar al servidor qué elemento se recuperó.
Al centrarnos en las recuperaciones, logramos enormes aceleraciones que hacen que Blyss sea práctico para aplicaciones del mundo real: un escáner de contraseñas como “¿Me han robado?” que verifica sus credenciales contra infracciones, pero nunca aprende nada sobre su contraseña (https://playground.blyss.dev/contraseñas), servidores de nombres de dominio que no pueden ver qué dominios está obteniendo (https://sprl.it/) y aplicaciones sociales que le permiten saber cuáles de sus contactos ya están en la plataforma, sin permitir que el servicio vea sus contactos (https://stackblitz.com/edit/blyss-private-contact-intersecti…).
Las grandes empresas (Apple, Google, Microsoft) ya están usando la recuperación privada: Chrome y Edge usan esta tecnología hoy para comparar las URL con las listas de bloqueo de sitios de phishing conocidos y verificar las contraseñas de los usuarios con los volcados de credenciales pirateados, sin ver ninguna de las URL o contraseñas subyacentes. .
Blyss facilita a los desarrolladores el uso de cifrado homomórfico desde una interfaz familiar similar a Firebase. Puede crear depósitos de datos clave-valor, llenarlos con datos y luego realizar recuperaciones criptográficamente privadas. Ninguna entidad, ni siquiera el propio servicio de Blyss, puede saber qué elementos se recuperan de un depósito de Blyss. Manejamos toda la infraestructura del servidor y mantenemos clientes JS robustos de código abierto, con la criptografía escrita en Rust y compilada en WebAssembly. También tenemos un servidor de código abierto que puede alojar usted mismo.
(Nota al margen: gran parte de lo que nos atrajo a este problema es lo paradójico que suena la garantía de recuperación privada: parece intuitivamente que debería ser imposible obtener datos de un servidor sin que aprenda lo que recupera. La idea básica de cómo esto lo que realmente es posible es: el cliente encripta un vector único (todos los 0 excepto un solo 1) usando encriptación homomórfica, y el servidor puede ‘multiplicarlos’ por la base de datos sin aprender nada sobre los valores encriptados subyacentes. de la consulta cifrada y la base de datos arroja un resultado cifrado. El cliente descifra esto y obtiene el elemento de la base de datos que desea. Para el servidor, todas las entradas y salidas permanecen completamente opacas. Tenemos una publicación de blog que explica más, con imágenes, que estaba en HN anteriormente: https://news.ycombinator.com/item?id=32987155)
Neil y yo nos conocimos hace ocho años el primer día del primer año de universidad; hemos sido mejores amigos (¡y compañeros de cuarto!) desde entonces. Somos nerds de la privacidad: antes de Blyss, trabajé en Yubico y Neil trabajó en Apple. He tenido un interés académico en el cifrado homomórfico durante años, pero se convirtió en un interés práctico cuando una demostración privada de Wikipedia que publiqué en HN ( se hizo popular y la gente comenzó a pedir una forma sencilla de crear productos utilizando esta tecnología.
Nuestro cliente y servidor son de código abierto MIT (https://github.com/blyssprivacy/sdk), y planeamos ganar dinero como servidor alojado. Dado que el servidor es complicado de operar a escala y no es parte del modelo de confianza, creemos que esto tiene sentido tanto para nosotros como para nuestros clientes. La gente ha usado Blyss para construir exploradores de bloques, solucionadores de DNS y escáneres de malware; Puedes ver algunos aspectos destacados en nuestro patio de recreo: https://playground.blyss.dev.
Tenemos un generoso nivel gratuito y obtiene una clave API tan pronto como inicia sesión. Para uso de producción, nuestro precio se basa en el uso: $ 1 le brinda 10 000 lecturas privadas en una base de datos de 1 GB (las bases de datos más grandes escalan los costos linealmente). También puede ejecutar el servidor usted mismo.
La recuperación privada es un bloque de construcción totalmente nuevo para la privacidad: ¡estamos ansiosos por ver qué construirás con él! Háganos saber lo que piensa, o si tiene alguna pregunta sobre Blyss o el cifrado homomórfico en general.