Estado de la implementación de computación confiable y certificación remota

18

El soporte de hardware para varios controles del lado del cliente basados en Trusted Computing (Wikipedia) ha ido evolucionando a lo largo de los años, por ejemplo. TCPM, TPM, TXT (LaGrande, DRTM).

He oído hablar de una aplicación práctica, para el cifrado de disco conveniente a través del "Modo de operación transparente" de BitLocker.

¿Qué otros ejemplos hay de aplicaciones de tecnología informática confiable? Voy a separar dos categorías de interés.

  • Independiente, protege "yo el usuario y el propietario" de los archivos modificados. Bitlocker es un ejemplo, pero esto también incluye, por ejemplo, "Lanzamiento tardío de TXT" desde un entorno no confiable a una máquina virtual confiable, como se explica en Atacar TXT (Joanna Rutkowska) )
  • "Certificación remota": demuestre a otro sistema que este está ejecutando un software aprobado (por ejemplo, para permitir que un servidor confíe en un navegador, para una reproducción justa del juego en línea, etc.)

Las aplicaciones de código abierto son las que más me interesan.

Nota: Soy muy consciente del problema de que TC puede verse como "computación traicionera", debido a las diversas amenazas para el control del usuario, por ejemplo. A través de un DRM más efectivo, y cuestiones políticas asociadas. Pero, por favor, no hables de ese lado aquí.

    
pregunta nealmcb 21.05.2011 - 01:05
fuente

3 respuestas

18

En general, uno tiene que saber de qué están protegidos los TPM y TXT y todas estas tecnologías, porque hay malentendidos. Los TPM, generalmente, permiten 5 procesos distintos, y solo aquellos:

  • Medición de integridad: cálculo de un hash criptográfico de un componente de plataforma
  • Arranque autenticado: un proceso mediante el cual el estado de una plataforma (la suma de sus componentes) se mide y almacena de forma confiable
  • Almacenamiento sellado: el proceso de almacenamiento de datos en una plataforma de tal manera que los datos solo pueden recuperarse si la plataforma está en un estado particular
  • Certificación: el proceso de informar de manera confiable el estado actual de la plataforma
  • Ejecución aislada: permite la ejecución sin obstáculos del software

Desde la perspectiva de Intel, TXT es la totalidad de las funciones informáticas de confianza, incluido el TPM, las modificaciones en el funcionamiento del procesador y las modificaciones en el funcionamiento del conjunto de chips.

Las características principales de la tecnología TXT son todas las de TPMs plus

  • ejecución protegida (separación de dominio basada en hardware)
  • páginas de memoria protegidas (que brindan protección contra las cuatro formas diferentes en que se puede acceder a la memoria: a través del software, a través de DMA, a través de tarjetas de GPU, a través de SMM)
  • entrada protegida
  • gráficos protegidos
  • habilitar canales confiables (entre dos computadoras o dispositivos entre una computadora)

La función de inicio tardío que menciona es una característica opcional de TXT para permitir que se realicen las mediciones después de que se haya iniciado un sistema en lugar de cada paso de los procesos de arranque, es algo complicado.

En general, Trusted Computing es un proyecto enorme, con mucha investigación en todo el mundo durante años, y tiene objetivos a corto, mediano y largo plazo. Debo revelar aquí que soy parte de esa investigación.

Ahora en implementaciones reales (aunque están fuera de mi campo)

En primer lugar, todos los principales fabricantes de sistemas tienen hardware y software empresarial que hace uso de los TPM, al menos algunas de sus características. Compañías como Dell y HP que producen la mayoría de los sistemas empresariales usan software como ( HP ProtectTools ). En este ejemplo, la autenticación previa al arranque se usa con la ayuda de un TPM. Microsoft ha estado en esta investigación desde siempre y ha relasificado bitlocker con soporte para TPM antes de Vista. En realidad, bitlocker no solo se trata de cifrado: tiene una función separada llamada Inicio seguro que implementa la parte de comprobación de integridad (podría estar allí sin el componente de cifrado). La operación transparente tiene que ver con la autenticación, también puede funcionar en el modo de autenticación previa al arranque. También los usuarios de software de seguridad, como Symantec y mcaffee, tienen un software que se basa o utiliza TPM.

Ahora, no tengo conocimiento de ningún otro software de código abierto comercial o listo para usar que se ocupe de los TPM y la certificación o cualquier otra característica. (pero como dije no he visto mucho, tal vez otro miembro sepa más).

Si desea herramientas experimentales, software de prueba de concepto o solo documentos y especificaciones, hay muchas de ellas, como dije, hay metas a largo plazo en el proyecto y la certificación es una de las metas a largo plazo. Aquí hay un ejemplo, la implementación de referencia de la pila de software necesaria para admitir todas las características de un TPM en Linux: enlace (el software está en enlace )

Solo para intrigar a los lectores, el Control de acceso a la red es un área activa de investigación: es posible que ya existan herramientas comerciales. La idea general en NAC utilizando TPM es, por supuesto, permitir solo un dispositivo en una red si puede verificarse como seguro proporcionando mediciones específicas, no solo sobre la integridad del software de arranque, sino también en el nivel de parches aplicados, el Definiciones de antivirus, la configuración del cortafuegos ... Otros ejemplos de investigación: descarga segura de software, como en un operador de telefonía móvil que necesita actualizar el firmware de un teléfono de forma segura, específicamente el software de la Radio definida por software. Por supuesto, la transmisión de video digital (DVB) es un área o investigación: los receptores dvb ya usan tarjetas inteligentes para almacenar claves, en su lugar se pueden usar TPM.

¿Objetivos a muy largo plazo? Imagine un mundo donde cada sistema y dispositivo móvil tiene un TPM: un coprocesador criptográfico, almacenamiento seguro ... y puede generar pares de claves públicas a pedido, sin interacción del usuario: una PKI mundial: se está investigando cómo administrar y qué hacer con ellos. eso!

Creo que me he alejado mucho del alcance de la pregunta, por lo que debería ser suficiente.

    
respondido por el john 21.05.2011 - 05:02
fuente
8

Todas las herramientas relevantes están disponibles para Linux, probablemente incluso más que en cualquier otro lugar.

Gran parte del espíritu de código abierto, tienes que construir todo tú mismo. Se sugiere una versión gratuita de MS Bitlocker si busca en Google "IBM blueprint eCryptFS TPM". Los pantalones también admiten una interfaz PKCS # 11 que permite la integración con, por ejemplo, Firefox. Con Linux IMA, obtiene una arquitectura de medición flexible y agradable incluso en Linux. Flicker también te permite iniciar programas simples con la tecnología LateLaunch.

Sin embargo, la "atestación remota", uno de los objetivos principales, sigue siendo imposible / poco práctica, a excepción de configuraciones muy limitadas. Simplemente hay demasiadas configuraciones posibles y actualizaciones demasiado frecuentes para basar cualquier aplicación de seguridad en una lista típica (de varios miles de elementos) de mediciones de SHA-1. La arquitectura de SO diferente ayudaría (google 'Turaya'), pero la administración de MS archivó NGSCB en 2004 y Linux 3.0 todavía no es un microkernel.

Según mi conocimiento, el "hardware confiable" para la E / S del usuario fue pensado hace mucho tiempo pero nunca se dio cuenta. Intel TXT implementa VT-d pero no ayuda contra, por ejemplo, un registrador de teclado basado en hardware. Hay poca demanda de tales cosas. También hay algunos problemas conceptuales con la implementación actual de DRTM / LateLaunch en x86. AMT y SMM esencialmente le impiden crear un RTM verdaderamente independiente. Esto no es trivial de arreglar e Intel se negó más o menos a hacerlo debido a la falta de demanda: no tiene sentido romper la arquitectura x86 para los ataques "Ring -3" oscuros si aún obtiene una nueva vulnerabilidad del navegador cada 1-2 semanas.

Un buen recurso para problemas de DRTM: enlace

Además, Flicker se extendió recientemente y se trasladó a SF: enlace

Además de usar el TPM como una tarjeta inteligente, Flicker es probablemente la herramienta más interesante para el escritorio. Los desarrollos interesantes en el área móvil son 'Onboard Credentials (ObC)' y la atestación basada en software (SWATT, Pioneer, últimamente también "atestación basada en PUF"). La certificación es más práctica aquí debido a las pilas de software mucho menos complejas y los ciclos de desarrollo más lentos.

    
respondido por el pepe 23.06.2011 - 03:29
fuente
2

Esta pregunta ya ha sido respondida, pero siento que se está haciendo vieja.

Aquí hay algunas novedades sobre la informática de confianza:

respondido por el northox 25.10.2013 - 04:20
fuente

Lea otras preguntas en las etiquetas