Estoy mirando la privacidad de @OpenGradient Chat, no empiezo con "prometemos no ver datos". Me preocupa ese momento: cuando el usuario termina de escribir el prompt y presiona enviar, la solicitud acaba de salir del navegador. Ahí es cuando más peligro hay. Muchas filtraciones no ocurren cuando el modelo responde, sino en el trayecto.
Esta frase primero la guardo localmente. HPKE hace algo muy directo: mete el prompt en un sobre que solo el enclave objetivo puede abrir. El relay ve que llega un paquete, ve la hora, tal vez pueda adivinar el tamaño del paquete, pero no ve el mensaje original. Protege contra el espionaje en la capa de enrutamiento. También es claro donde no se puede mantener la seguridad: si la clave pública objetivo se cambia, o si el usuario se conecta a un punto de entrada falso, el sobre podría enviarse a la puerta equivocada.
Luego pasamos a OHTTP. Este nombre suena fuerte, pero en realidad es como romper un recibo en dos. El relay obtiene la información del remitente, pero no el contenido; el gateway lo envía, pero no debería saber quién lo envió originalmente. Aquí está la parte contraintuitiva: la privacidad de OpenGradient Chat no depende de que una capa esté limpia, sino de que incluso si una capa está sucia, no se puede reconstruir toda la información. Si el relay se cae, el atacante solo tiene la IP, la hora y el tamaño del paquete; si el gateway se cae, solo sabe que hay un mensaje cifrado que tiene que ir a algún lado.
El mensaje cifrado se abre solo después de entrar en el TEE. TEE es una pequeña habitación de aislamiento de hardware, que bloquea al host de leer la memoria o alterar el código de ejecución. Aquí no se trata de que "el servidor dice que es seguro", sino que el enclave presenta una atestación, probando que la habitación, el código y la identidad de ejecución coinciden. También tiene límites: si el código del enclave tiene agujeros, o si la interfaz externa del modelo guarda registros de texto plano, la privacidad podría filtrarse por una puerta trasera.
La utilidad más importante de este mecanismo es descomponer los riesgos comunes. Si la operación quiere ver el prompt, solo toca el mensaje cifrado. Si el relay quiere emparejar usuario y pregunta, solo obtiene media hoja. Si la plataforma quiere que confíes directamente en el entorno, la atestación cambia "confía en mí" por "verifica en mí". Pero aún estaré atento a una zona gris: si el relay guarda a largo plazo el tamaño del paquete y el tiempo, el gateway guarda registros de destino, y el modelo externo también registra el momento de la llamada, ¿podrían las tres partes de los registros reconstruir el comportamiento del usuario en una ventana de unos segundos? Este es el verdadero lugar que debe seguir siendo auditado detrás de la privacidad amigable de OpenGradient. $OPG #OPG @OpenGradient #opg $OPG
Esta frase primero la guardo localmente. HPKE hace algo muy directo: mete el prompt en un sobre que solo el enclave objetivo puede abrir. El relay ve que llega un paquete, ve la hora, tal vez pueda adivinar el tamaño del paquete, pero no ve el mensaje original. Protege contra el espionaje en la capa de enrutamiento. También es claro donde no se puede mantener la seguridad: si la clave pública objetivo se cambia, o si el usuario se conecta a un punto de entrada falso, el sobre podría enviarse a la puerta equivocada.
Luego pasamos a OHTTP. Este nombre suena fuerte, pero en realidad es como romper un recibo en dos. El relay obtiene la información del remitente, pero no el contenido; el gateway lo envía, pero no debería saber quién lo envió originalmente. Aquí está la parte contraintuitiva: la privacidad de OpenGradient Chat no depende de que una capa esté limpia, sino de que incluso si una capa está sucia, no se puede reconstruir toda la información. Si el relay se cae, el atacante solo tiene la IP, la hora y el tamaño del paquete; si el gateway se cae, solo sabe que hay un mensaje cifrado que tiene que ir a algún lado.
El mensaje cifrado se abre solo después de entrar en el TEE. TEE es una pequeña habitación de aislamiento de hardware, que bloquea al host de leer la memoria o alterar el código de ejecución. Aquí no se trata de que "el servidor dice que es seguro", sino que el enclave presenta una atestación, probando que la habitación, el código y la identidad de ejecución coinciden. También tiene límites: si el código del enclave tiene agujeros, o si la interfaz externa del modelo guarda registros de texto plano, la privacidad podría filtrarse por una puerta trasera.
La utilidad más importante de este mecanismo es descomponer los riesgos comunes. Si la operación quiere ver el prompt, solo toca el mensaje cifrado. Si el relay quiere emparejar usuario y pregunta, solo obtiene media hoja. Si la plataforma quiere que confíes directamente en el entorno, la atestación cambia "confía en mí" por "verifica en mí". Pero aún estaré atento a una zona gris: si el relay guarda a largo plazo el tamaño del paquete y el tiempo, el gateway guarda registros de destino, y el modelo externo también registra el momento de la llamada, ¿podrían las tres partes de los registros reconstruir el comportamiento del usuario en una ventana de unos segundos? Este es el verdadero lugar que debe seguir siendo auditado detrás de la privacidad amigable de OpenGradient. $OPG #OPG @OpenGradient #opg $OPG