Los ingenieros de Intel tienen sugirió Nuevo protocolo, HTTPA (HTTPS Attestable), que amplía HTTPS con garantías adicionales para la seguridad de los cálculos realizados. HTTPA ayuda a garantizar que la integridad de la solicitud del usuario se procese en el servidor y garantiza que el servicio web sea confiable y esté en TÉ -okruzhenii (Trusted Execution Environment) el código del servidor no se modificó al piratear o sabotear al administrador.
HTTPS protege los datos transmitidos durante la transmisión a través de la red, pero no puede descartar una violación de su integridad por ataques al servidor. Los enclaves aislados creados con tecnologías como Intel SGX (Software Guard Extension), ARM TrustZone y AMD PSP (Platform Security Processor) protegen la informática crítica y reducen el riesgo de pérdida o cambio de información confidencial en el punto final.
HTTPA permite el uso de Certificado Herramientas Intel SGX para asegurar la autenticidad de la información transmitida, que validan la autenticidad del enclave en el que se realizaron los cálculos. En esencia, HTTPA amplía HTTPS con la capacidad de verificar de forma remota un enclave para verificar que se está ejecutando en un verdadero entorno Intel SGX y que se puede confiar en el servicio web. El protocolo se desarrollará inicialmente como un protocolo universal y, además de Intel SGX, también se puede implementar para otros sistemas TEE.
Además del método HTTPS estándar para establecer una conexión segura, HTTPA también requiere la negociación de una clave de sesión confiable. El protocolo introduce un nuevo método HTTP «ATTEST» con el que puede procesar tres tipos de solicitudes y respuestas:
- «Preflight» para comprobar que el sitio remoto admite la verificación del enclave;
- “Atestiguar”, para acordar los parámetros de atestación (selección de un algoritmo criptográfico, intercambio de secuencias aleatorias únicas para la sesión, generación de un identificador de sesión y transmisión de la clave pública del enclave al cliente);
- «Sesión confiable»: generación de una clave de sesión para el intercambio confiable de información. La clave de sesión se genera en base a un secreto de presidencia previamente acordado generado por el cliente utilizando la clave pública TEE recibida del servidor y secuencias aleatorias generadas por cada lado.
HTTPA asume que el cliente es confiable y el servidor no, por lo que el cliente puede usar este protocolo para verificar los cálculos en un entorno TEE. Al mismo tiempo, HTTPA no garantiza que otros cálculos no TEE realizados durante la operación del servidor web no se hayan visto comprometidos, lo que requiere un enfoque separado para el desarrollo del servicio web. Por lo tanto, HTTPA está principalmente orientado al uso con servicios especializados que tienen mayores demandas sobre la integridad de la información, como los sistemas financieros y médicos.
Para situaciones en las que hay que confirmar cálculos en TEE tanto para el servidor como para el cliente, se proporciona una variante del protocolo mHTTPA (Mutual HTTPA), que realiza una verificación bidireccional. Esta opción es más complicada porque las claves de sesión para el servidor y el cliente deben generarse en ambas direcciones.