Los contenedores Docker se utilizan ampliamente para implementar aplicaciones en la nube. Utilizando Gramine Shielded Containers (GSC), proporcionamos la infraestructura para implementar contenedores Docker protegidos por enclaves Intel SGX utilizando el sistema operativo Gramine Library.
La herramienta GSC transforma una imagen de Docker en una nueva imagen que incluye el sistema operativo Gramine Library, archivos de manifiesto, información relacionada con Intel SGX y ejecuta la aplicación dentro de un enclave Intel SGX utilizando el sistema operativo Gramine Library. Sigue el enfoque común de Docker de crear primero una imagen y luego ejecutarla dentro de un contenedor. Al principio, una imagen de Docker debe graminizarse mediante el comando gsc build
. Cuando la imagen graminizada debe ejecutarse dentro de un enclave Intel SGX, la imagen debe firmarse mediante un comando gsc sign-image
. Posteriormente, la imagen se puede ejecutar usando docker run
.
NOTA : Como parte del paso gsc build
, GSC genera el archivo de manifiesto con una lista de archivos confiables (archivos con protección de integridad). Esta lista contiene hashes de todos los archivos presentes en la imagen original de Docker. Por lo tanto, la capacidad de creación de manifiestos de GSC depende del empaquetado de la imagen original de Docker: si la imagen original de Docker está inflada (contiene archivos innecesarios), entonces el manifiesto generado también estará inflado. Aunque esto no empeora las garantías de seguridad de Gramine/GSC, puede afectar el rendimiento del inicio. Tenga cuidado al incorporar solo las dependencias realmente necesarias para su imagen de Docker.
La documentación oficial del sistema operativo Gramine Library se puede encontrar en https://gramine.readthedocs.io.
La documentación oficial de GSC se puede encontrar en https://gramine-gsc.readthedocs.io.
Agradecemos las contribuciones a través de solicitudes de extracción de GitHub. Tenga en cuenta que se rigen por las mismas reglas que el proyecto principal.
Si tiene alguna pregunta, envíe un correo electrónico a [email protected] (archivo público).
Para informes de errores, publique un problema en nuestro repositorio de GitHub: https://github.com/gramineproject/gsc/issues.