i.MX6 para sistemas integrados para lograr un inicio seguro

Garantizar un proceso de inicio seguro es un primer paso para proteger cualquier sistema integrado y es una parte necesaria para evitar las barreras de malware en su aplicación ...

Con la Internet de los objetos (IO) es ampliamente dispositivos populares - de ciudad inteligente inalámbrico a la joyería, las cosas en casi todos los pasos de la vida diaria, por lo que los tipos de requisitos de seguridad incorporados del sistema de prioridad cada vez más urgente delineados para garantizar la seguridad. el proceso de inicio es el primer paso para proteger cualquier sistema embebido, así como las barreras para evitar que el software malicioso parte necesaria de la aplicación. veamos sus fortalezas y debilidades, y para la industria electrónica en un procesador común --i.MX6 Como un ejemplo para ilustrar.

¿Qué es seguro comenzar?

El "arranque seguro" es el proceso mediante el cual el sistema operativo (SO) debe autenticarse frente al hardware antes de iniciar la duplicación y el código para que esté disponible para el inicio. El hardware debe prepararse de antemano de esta manera: solo La autenticación utiliza código generado por credenciales de seguridad confiables. En resumen, garantiza que el software de arranque y el sistema operativo sean la versión del fabricante deseada y no sean manipulados por malware o terceros malintencionados.

Dispositivos de arranque seguros para cualquier uso, como lectores electrónicos que hacen un uso extensivo de procesadores i.MX6, como los controladores de pantalla E-Ink integrados i.MX6 Solo y DuaLite, que se utilizan principalmente en Leer eBooks, no operaciones generales, en cuyo caso es útil bloquear el entorno Linux en el momento del arranque.

Otras cosas, como teléfonos Android, pueden ser opcionales, por ejemplo, el uso de inicio seguro puede limitar la capacidad del usuario final para ejecutar la ROM de invitado. Esta puede ser una función característica, o puede estar basada en el diseño del producto o requisitos de seguridad Idealmente, el momento ideal para comenzar con un inicio seguro es básicamente cuando no desea que la otra parte cargue su sistema operativo u otro gestor de arranque en su dispositivo.

Para los sistemas que ejecutan Linux alto grado de integración de cámaras IP, más gente va a sugerir que use el arranque seguro, de arranque, porque de cualquier código o sistema operativo de software malicioso, puede poner su dispositivo se convierte en una red zombi O tal vez la imagen tomada desde la cámara se cargue públicamente en Internet o incluso se modifique para incluir información como el video clip que desea el host de video.

i.MX6 en el proceso seguro de puesta en marcha

una imagen de arranque en i.MX6 una vez, para tomar ventaja de arranque seguro, debe definir una serie de claves de seguridad para el certificado SSL generado para este propósito.

Estas claves se utilizan para generar un conjunto de instrucciones de seguridad y luego se compilan en la imagen de arranque utilizando las herramientas proporcionadas por proveedores como Freescale y NXP hoy. Luego, el procesador toma el cargador de arranque de la primera etapa, Y use sus credenciales para autenticar las credenciales generadas por las herramientas de compilación segura de inicio.

Al escribir en el medio de arranque, si los datos de imagen de la clave de arranque coinciden con los datos clave almacenados en el almacenamiento seguro del procesador, comenzará a ejecutar el comando de seguridad y luego se comprobará el valor hash de la contraseña duplicada para asegurarse de que coincida con la indicación de seguridad Si coinciden, el procesador comenzará a cargar y ejecutar su imagen de arranque.

Una vez que el cargador de arranque interno de la CPU inicia este proceso, puede invocar la biblioteca de inicio segura desde el código que inició el cargador, lo que le permite cargar la imagen del sistema operativo e iniciar el cargador con el cargador de arranque de la CPU Programe de la misma manera para obtener la certificación.

Al final de este proceso, el sistema operativo se iniciará en un entorno verificado y seguro, que usted sabe que es razonable porque cada etapa realiza una prueba de certificación de la clave hash almacenada en el procesador.

Diseño programable de una sola vez

Desde el punto de vista de la seguridad, este proceso genera una clave raíz del certificado SSL que es espuria y luego se quema en la CPU en un diseño programable por única vez (OTP). Una vez que la clave se quema en el procesador No se puede cambiar: una de las razones es la seguridad.

La imagen de inicio también se firma en función de la clave, y la información generada durante el proceso de firma se combina con la imagen. El procesador verifica su clave de imagen con su clave, y si coincide, La clave verifica su imagen. Si aún coincide, puede realizar un espejo. Este paso lo llevará a una cadena de nivel superior, iniciando el proceso de carga desde la CPU al cargador de arranque normal, al sistema operativo.

Por supuesto, esto puede ser el caso i.MX6 único, de hecho, hay una variedad de diferentes tipos de arranque de seguridad, tales como la utilización de UEFI arranque seguro de X86, pero para facilitar la comprensión, este enfoque está en el papel i.MX6.

Usa hardware

kit de hardware i.MX6 incluye una serie de mecanismos de seguridad específicos conducentes a asegurar el inicio. La parte clave de la seguridad para el inicio de un fusible de una sola vez (una sola vez fusible) cuando se quema en la clave utilizada. Una vez que el fusible no se puede trazar una línea después de arriba, así que una vez grabada a fuego en su clave, su valor hash tendrá una permanente teclas múltiples también se pueden integrar en un valor de clave hash, por lo que puede suprimir una clave si se siente amenazada.

Otra característica del sistema es la seguridad interna del cargador de arranque de la CPU, esto es un mismo código estático de seguridad comprobada. Corresponde al sistema operativo de toda la cadena para mantener la seguridad de una base importante.

Además, tener un hardware criptográfico algoritmos aceleradores i.MX6. Hash tal como AES, hachís Triple DES, Shal y el algoritmo SHA256, etc., puede ser acelerado a través del procesador i.MX6, por lo tanto aumentar significativamente la velocidad del proceso de seguridad.

Desventajas

La desventaja más obvia es que debe ser responsable de su propia seguridad. Si la llave se filtró al mundo exterior, la gente utiliza claves almacenadas en el procesador para codificar las firmas, por lo que debe asegurarse de que la seguridad de los procesos y de hardware.

Además, un procesador configurado para un arranque seguro solo se inicia después de que la imagen se haya firmado correctamente, por lo que grabar cualquier valor hash en el procesador puede ocasionar que el procesador no ejecute el código si se produce algún error, Debido a que el valor hash no coincide, convirtiéndose así en un procesador inútil.

Una vez que el procesador está configurado para una ejecución segura, debe cargar un código de seguridad que solo le permitirá cargarlo de manera segura desde el almacenamiento (como una tarjeta SD o memoria flash NAND) o cargar el software de otra manera. Procesador (carga de imagen USB).

Por lo tanto, se debe garantizar la preparación del hardware y del procesador, y también debe asegurarse de que su gestor de arranque esté bien preparado para esto.

Como se mencionó anteriormente, el gestor de arranque debe llamar a la biblioteca en el procesador de arranque de seguridad, con el fin de iniciar la siguiente fase de la cadena de certificación. Gestor de arranque de codificación incorrecta con el fin de asegurar el uso correcto de la biblioteca, entonces no puede ser capaz garantizar plenamente la seguridad del sistema operativo.

No caiga en la trampa de una falsa sensación de seguridad

Que averiguar es seguro y no comenzará i.MX6 bloqueo de todo el sistema, sino simplemente bloquear el software del sistema operativo, por lo que era posible escribir algunos programas maliciosos Linux se ejecuta en el sistema operativo, si se cargan correctamente, se poner en peligro todo el sistema.

i.MX6 autenticación de inicio seguro

Si necesita una seguridad más completa, sino también otras partes del sistema de código y archivo de certificación. I.MX6 principio proceso de arranque seguro es un bloque específico de memoria con un valor hash criptográfica específica y la información relacionada con la firma. Por lo que puede sistema de ficheros raíz del sistema operativo y otros archivos importantes cargados de memoria en una posición fija, mientras que cargar el conjunto de instrucciones de seguridad correcta. esto permite a otros parte de su sistema de autenticación, si es necesario.

i.MX6 seguro iniciar trucos importantes

1. Asegúrese de que el proceso de arranque es seguro una vez que se decide iniciar tenga que ir camino de seguridad, se deberá garantizar que el proceso relevante puede seguir el ritmo. Se filtran clave comenzará con el entorno de producción.

2. Para garantizar métodos de cifrado fuerte para asegurar que el método de cifrado usado es lo suficientemente fuerte. Es posible establecer la clave del usuario es débil, pero arranque seguro en i.MX6 también apoyan algunos de los más viejos o se ve ahora como un compromiso de un compromiso combinación. Por lo tanto, asegúrese de que su algoritmo es el último en cumplir con los objetivos y requisitos.

3. Consulte el código para garantizar un arranque seguro, significa que cualquier cosa, incluyendo el programa de carga de arranque en el resto del código, el sistema operativo y otro software deben estar escritos correctamente en el principio de arranque seguro, pero no es una vulnerabilidad de seguridad.

Además, cada fase del proceso de arranque debe verificarse para los siguientes pasos antes de que se ejecute, y si esto no se hace, o si se hace en parte, el alcance de lo que se puede llamar seguridad del proceso será mucho menor.

4. Autenticar en todos lados Para una seguridad real, intente autenticar la mayor cantidad de código que desee y asegúrese de seguir las instrucciones para construir su biblioteca.

Debe asegurarse de que todo el proceso sea seguro, es decir, cómo generar y almacenar su clave. El arranque seguro solo verifica la firma, y ​​el procesador considera segura toda imagen firmada.

Por lo tanto, asegúrese de que cada parte de código que escriba se invoque en la biblioteca de inicio segura del procesador para continuar autenticando su duplicación porque la mayoría de las placas i.MX6 tienen múltiples etapas Durante el proceso de arranque, el cargador de arranque interno de la CPU carga primero el SPL y luego el SPL carga el gestor de arranque completo para cargarlo en el sistema operativo. Cada paso debe certificarse en el paso anterior para confirmar que es seguro.

5. Verifique que el proceso esté validado para asegurarse de que el código realmente realiza un arranque seguro. Es importante que incluso el código seguro pueda saltar a cualquier parte de la memoria porque el procesador funciona bien. Para mantenerlo seguro Es importante asegurarse de que el código autentique el siguiente paso.

El cargador de arranque más utilizado para i.MX6 es U-Boot, que realmente admite el arranque seguro en i.MX6. Necesita ser configurado, pero es más fácil. Cuando se ha hecho mucho trabajo, Debe haber menos errores. Escribir seguridad desde cero no es una buena idea, pero es mejor adoptar un enfoque conocido e ideal para construir y adaptarlo a sus necesidades de diseño.

2016 GoodChinaBrand | ICP: 12011751 | China Exports