Chris Conlon: Seguridad del dispositivo 101

Todos nos torcemos las manos por la seguridad (¡o la falta de ella!) De nuestros innumerables dispositivos inteligentes. Si no ha pirateado su red doméstica con su tostadora o cámara para bebés, se está perdiendo el espíritu. Pero no tiene por qué ser así: dispositivos inteligentes lata que se proyecte teniendo en cuenta la seguridad, y [Chris Conlon] vino a Pasadena para darnos una charla sobre los conceptos básicos.

Comienza la charla con tres amplias áreas conceptuales de seguridad de datos: datos en el tráfico, datos que descansan en el dispositivo y el firmware y cómo se actualiza. Un hilo común subyacente a todo esto es la criptografía, y dedica la última sección de su discurso a la corrección. Entonces, si desea un recorrido relámpago por la seguridad del dispositivo, ¡tenga cuidado!

Datos en tránsito

Es probable que su teléfono inteligente esté usando Internet para uno u otro servicio. Sus datos, mientras atraviesan la red, son vulnerables. Es posible que desee mantenerlo en privado e inalterado en el camino, y también asegurarse de que conduzca al destino correcto. Aquí tiene básicamente dos opciones: implementar TLS / SSL en la capa de sesión o asegurar sus conexiones más profundamente en la capa de red a través de IPSec.

Probablemente hayas oído hablar de TLS / SSL. Esto es exactamente lo que mantiene su navegación segura cuando escribe https:// en su navegador. TLS (seguridad de la capa de transporte) consta de cuatro componentes. Se realiza la conexión inicial, el protocolo de enlace, y el cliente y el servidor acuerdan qué algoritmo de cifrado utilizarán para la conexión. Aquí es donde tiene lugar la autenticación: su cliente está seguro de que el servidor es el que piensa, y eso depende de la cadena de certificados X.509. Una vez que se configura el cifrado, mantiene sus datos privados y sin modificaciones. Todo esto parece funcionar casi sin esfuerzo en el navegador de su computadora portátil.

Pero desde la perspectiva de un dispositivo integrado, TLS es difícil. Implica algoritmos de encriptación que pueden cargar el procesador de su microprocesador, requieren demasiada memoria y, en general, interfieren con su dispositivo. Para ayudar, puede elegir un algoritmo de cifrado que use menos RAM o ROM, dependiendo de lo que le falte. Puede comprar dispositivos con periféricos de cifrado integrados para descargar el trabajo de la CPU. Si está pensando en ejecutar RTOS, busque soporte TLS antes de profundizar demasiado en su proyecto.

Los datos en reposo

Los datos almacenados en el propio dispositivo también son vulnerables. Si tiene información sensible, al menos debería estar encriptada, y si es posible no almacenar la información en absoluto, eso evita por completo el problema. Suponiendo que su firmware utiliza cifrado, proteger las claves de cifrado es algo importante. Generar las claves localmente en el dispositivo evita que espíen durante el tránsito. [Chris] además sugiere no reutilizar las claves para diferentes propósitos y cambiarlas con frecuencia.

Pero, ¿cómo almacena el dispositivo las claves? Idealmente, su chip tiene un elemento de almacenamiento seguro: TPM o HSM, donde se pueden almacenar las claves. Si no tiene almacenamiento seguro, siempre puede solicitar al usuario que realice alguna acción para descifrar las claves o cancelarlas en caso de que se detecte un abuso.

Actualizaciones de firmware

Si alguna vez ha leído nuestra cobertura de codificación de hardware, ya sabe que el procedimiento de actualización del firmware está lleno de oportunidades para hacer bromas. Su dispositivo debe actualizarse de forma remota, pero también puede depender de la fuente del firmware, debe estar encriptado durante el tránsito y debe asegurarse de que el nuevo firmware haya llegado intacto.

[Chris]El método se basa en gran medida en el cifrado de clave pública para realizar el trabajo. Siempre que el dispositivo sea compatible con TLS, puede utilizar cualquier dispositivo de transporte en el medio. [Chris] sugiere que sería posible utilizar MQTT protegido por TLS para hacer frente a la distribución del firmware.

Criptografía

Si ha estado prestando atención, habrá notado que todo lo anterior depende mucho de cosas secretas, y eso significa pensar mucho en la criptografía a continuación. Y la criptografía se basa en gran medida en números aleatorios, lo que no es muy fácil en dispositivos pequeños y deterministas.

Cosas que podría pensar que son aleatorias, pero no, incluyen relojes y números de serie. Lo que realmente desea es un generador de números aleatorios real, algo que obtenga su oportunidad del entorno. Si su dispositivo no tiene suficiente entropía, puede sembrar un generador de números pseudoaleatorios periódicamente con cualquier entropía que tenga, y espero que sea suficiente. Actualmente, muchos dispositivos tienen generadores de números aleatorios de dispositivos en el silicio que se encargan de eso.

A continuación, debe asegurarse de que está utilizando una clave bastante larga para el cifrado, y esto depende del algoritmo que esté utilizando y de la cantidad real de bits en la clave. La elección del algoritmo afecta su velocidad y los requisitos de memoria y los recursos de su microcontrolador. Si el chip que está usando tiene un dispositivo SHA-2 especial, por ejemplo, probablemente quiera usarlo, y luego puede elegir la longitud de clave apropiada en consecuencia. Entonces sabrá cuánta entropía necesita y podrá averiguar cómo obtenerla.

Resumen

[Chris] señala que este discurso es un gran resumen. Si realmente tiene la tarea de diseñar hardware seguro, deberá investigar todos y cada uno de estos puntos con gran detalle. Sin embargo, tiene una diapositiva de resumen con buenos consejos y le dará una buena base para comenzar su propio aprendizaje.

  • OLD_HACK dice:

    Las paradojas de las pautas de diseño están formadas por productos de gama baja.

    * Optimice el costo, la duración de la batería y el uso de recursos de la CPU ...
    pero también requiere criptografía de rendimiento.

    * Hacer la conexión segura, secreta y robusta ...
    pero los requisitos legales federales ya han puesto en peligro los sistemas de certificación.
    SSL como protocolo web de extremo a extremo verdaderamente secreto ha desaparecido, pero es seguro si se configura correctamente.
    Tenga en cuenta que la falsificación de certificados es común en los sistemas IDS de redes corporativas para MiM SSL, por lo que no puede considerarse seguro debido al comportamiento del usuario.

    * Puede confiar en algunas características de hardware para manejar la criptografía ...
    Incluso la mayoría de Intel no sabe qué hace el silicio operativo con su propio chip ...

    * Tal vez agregue una nueva capa de burocracia para que las personas se sientan más seguras ...
    Cada vez que el DHS me atrapa en el aeropuerto ... recuerdo lo "importante" que la gente está en una fila diferente a la gente común.

    "La locura es rara en individuos, pero en grupos, partidos, naciones y edades es la regla". (Nietzsche)

    • cassmo dice:

      No confío en que ninguna agencia gubernamental mire mis datos para tener mis mejores intereses en juego, pero confío en que no volarán mi lavadora evitando la estabilización de la carga, simplemente porque no puedo imaginar lo que deberían ganar al hacerlo. asi que. Hay un subconjunto de cosas que tiene sentido proteger contra individuos o grupos, pero no contra naciones.

  • kriptilomese dice:

    Lol - un chico haciendo una presentación de seguridad en una Mac

    • Nitori dice:

      Seguro que es un hardware demasiado caro y que OSX puede no ser tan seguro como una distribución de Linux hecha específicamente para alta seguridad, pero sigue siendo mucho más seguro que Windows por defecto.

      • kriptilomese dice:

        Por favor, muestre pruebas de que OSX es mejor incluso que Windows en seguridad porque no pude encontrar esa información.

  • Allan H dice:

    Este documento ofrece buenos consejos de diseño para la seguridad física, con el objetivo de cumplir con varios niveles de FIPS 140-2:
    http://www.plusfive.com/DEV-104_Baldwin_v7a.pdf

  • h4rm0n1c dice:

    > DESCANSO DE DATOS

    ¡Temba, sus brazos abiertos!

    • K dice:

      Sokath, sus ojos descubiertos.

  • Santiago dice:

    Un aspecto es que las personas suelen ser el eslabón más débil. Ejemplo: alguien podría intentar adivinar la contraseña de wifi escrita en la publicación y el código de desbloqueo del teléfono de ese tipo (1:39)

    ESSID: ¿Dlab?
    pasos: endm04? finmuelilo?

  • Un dron dice:

    Vaya, Chris Conlon declara lo INVISIBLE. Pérdida de tiempo…

Ricardo Vicente
Ricardo Vicente

Deja una respuesta

Tu dirección de correo electrónico no será publicada.