¿Por qué los sistemas integrados almacenan el certificado público del servidor en la ROM?

8

En el escenario de automatización del hogar, la puerta de enlace inteligente puede conectar los muchos dispositivos inteligentes con Internet. En muchos casos, el certificado público de un servidor se almacena en la ROM del sistema integrado durante la fabricación.

Por ejemplo, en el caso de AlertMe , cada dispositivo de puerta de enlace se fabrica con una ID única. Además, también posee el certificado público de los servidores AlertMe en ROM. En el primer arranque, el dispositivo de puerta de enlace genera un par de claves RSA aleatorias, se conecta a los servidores AlertMe, verifica la identidad del servidor (mediante el certificado público ROM) y le da al servidor su clave pública aleatoria.

Mi pregunta es que, dado que en la conexión SSL / TLS el servidor enviará su certificado a la puerta de enlace, ¿por qué la puerta de enlace tiene que almacenar un certificado público en la ROM, antes de su primer arranque? Si, como dice, es para fines de verificación, ¿cómo verifica la pasarela la identidad del servidor? ¿Simplemente compara el certificado de la puerta de enlace en la ROM con el certificado del servidor enviado a un protocolo de enlace SSL? ¿No puede el sistema integrado ponerse en contacto con la CA para verificar la identidad del servidor?

Además, en el primer arranque, la puerta de enlace generará un par de claves RSA y luego el certificado. ¿Dónde está el lugar más seguro en la puerta de enlace basada en Linux / sistema integrado para almacenar la clave?

    
pregunta user824624 21.06.2013 - 06:01
fuente

2 respuestas

7

Para su pregunta de por qué el certificado del servidor se guarda en la ROM:

El certificado guardado se compara con el certificado enviado por el servidor. Esta es una suposición correcta de usted. Por lo tanto, solo un servidor es de confianza en este momento.

Usted pregunta por qué el dispositivo no se conecta simplemente a una CA. Esta sería otra forma de trabajar. Pero incluso entonces el certificado raíz de la entidad emisora de certificados debe estar incrustado en la ROM. Esto es necesario porque si no, ¿cómo te conectarías a la CA? También necesita SSL / TLS para conectarse a la CA porque de lo contrario, toda la PKI no tendría sentido. Por lo tanto, al menos un certificado debe estar incorporado en la ROM.

    
respondido por el Uwe Plonus 21.06.2013 - 08:11
fuente
3

Todo el negocio de los certificados tiene que ver con un único objetivo: asegurarse de que la clave pública del par sea la correcta. Si un dispositivo puede conocer "innatamente" (es decir, desde la ROM) la clave pública del servidor, tanto mejor; El dispositivo ni siquiera tiene que mirar el certificado que envió el servidor. Un modelo más genérico pero más complejo es cuando el dispositivo conoce una clave pública de CA "raíz" y realiza validación del certificado X.509 . Eso es lo que sucede con la PC básica: el sistema operativo y / o el navegador vienen con un conjunto de a priori claves públicas de la CA raíz conocidas, y cada certificado se valida de estas CA raíz.

Como sea que lo hayas puesto, el dispositivo debe iniciar en algún lugar . La confianza no se materializa de la nada; es transportado a través de firmas, desde el conocimiento de la clave pública del firmante hasta la firma. Debe haber cierta confianza inicial, que, para un dispositivo, es su ROM. Esto se llama, apropiadamente, un ancla de confianza . Hacer que la clave pública del servidor sea el ancla de confianza es el modelo menos flexible (porque esto evita que el servidor cambie su clave pública, para que los dispositivos existentes no acepten la nueva clave), sino también el más simple (el código de descodificación del certificado del cliente ganó). no tengo ningún error si el cliente ni siquiera intenta descodificar ningún certificado).

En cuanto a almacenamiento de claves privadas , el dispositivo lo pondrá donde pueda . La mayoría de los dispositivos no tienen muchas opciones: esa clave debe generarse a bordo (por lo que no puede ir en la ROM) y debe resistir el apagado (por lo que no puede permanecer solo en la memoria RAM). Esto apunta a algún chip EEPROM o Flash. Independientemente de dónde se almacene, debe ser legible desde el software del dispositivo, por lo que si el software se piratea, la clave es la tostada.

Los dispositivos con fuertes requisitos de seguridad (por ejemplo, terminales de pago ) a menudo incorporarán un chip resistente a la manipulación indebida que cometerá un suicidio digital si se detecta un robo (un pequeño chip RAM estático con una batería de litio, siempre encendida). Ese tipo de almacenamiento no hace nada contra las intrusiones lógicas , pero al menos evita el robo de claves de ataques físicos.

    
respondido por el Thomas Pornin 23.07.2013 - 19:05
fuente

Lea otras preguntas en las etiquetas