Verificación de enclave
La seguridad del enclave WaaS depende de la verificación de integridad del código usando enclaves verificados.
La seguridad del enclave WaaS se basa en la verificación de integridad del código.
Tiene dos opciones de verificación para un enclave en ejecución, según su tolerancia al riesgo y recursos técnicos.
Método de verificación simple
Requisitos
El proceso de verificación solo funciona en sistemas Linux o macOS. Debe tener instaladas y configuradas localmente las versiones actualizadas de estas herramientas:
- Docker
- git
- make
Determine el PCR0
Visite esta página en su navegador o usando curl: https://waas.sequence.app/status.
Tome nota de los valores ver
y pcr0
para usarlos más adelante.
La salida de ejemplo puede verse así:
Recuerde que el checksum puede variar entre ejecuciones, ya que verifica la integridad del archivo. Por otro lado, el PCR0 para el mismo código permanece constante, como se muestra en el ejemplo anterior.
La salida de ejemplo podría verse así:
Construya el archivo del enclave
- Clone el repositorio localmente, reemplazando
v1.1.1
por el valor dever
del paso anterior:
- Ejecute el siguiente comando, nuevamente reemplazando la versión como antes:
- Compare la salida del comando con el valor de PCR0 que anotó previamente, por ejemplo:
Tenga en cuenta que el checksum puede variar entre ejecuciones, ya que solo se utiliza para verificar la integridad del archivo. Sin embargo, el PCR0 para el mismo código siempre será igual, como se muestra en el ejemplo anterior.
Método de verificación complejo
El método simple nos permite comparar el PCR0 del archivo de enclave creado con el enclave “en vivo”. Esto no es infalible. Una simple comparación de dos valores no aporta evidencia real. El enclave podría haber sido manipulado y lo que vemos podría ser solo una ilusión. De hecho, los valores de PCR0 para cada versión están disponibles públicamente (https://github.com/0xsequence/waas-authenticator/releases).
Aquí es donde la atestación criptográfica se vuelve necesaria. Aún no hemos publicado herramientas para validación, pero es posible realizarla siguiendo esta guía de AWS (https://docs.aws.amazon.com/enclaves/latest/user/verify-root.html).
Cada solicitud al enclave devuelve el documento de atestación. Este viene en formato codificado en Base64 en el encabezado de respuesta X-Attestation-Document
. Una solicitud también puede incluir un encabezado X-Attestation-Nonce
, que contiene un valor que será firmado e incluido en el documento de atestación.
Por ejemplo, puede obtener el documento de atestación ejecutando: