Identidad y seguridad del dispositivo

Puedes implementar y administrar numerosos dispositivos a la vez. La administración de dispositivos se basa en la capacidad de identificar y acceder a cada dispositivo individualmente cuando sea necesario. Para que pueda hacer esto, a cada dispositivo Azure Sphere se le asigna un id. de dispositivo interno único que se mantiene a través de las actualizaciones del dispositivo, incluidas las operaciones de recuperación.

Sin embargo, en los sistemas digitales, el id. de un dispositivo se puede falsificar, falsificar o utilizar fácilmente. Como resultado, solo debe permitir que los dispositivos cuyas identidades se puedan comprobar y validar para acceder a sus datos de gran valor y conectarse a sus servicios.

Azure Sphere proporciona un proceso para habilitar un dispositivo para identificarse a sí mismo (autenticación) y para confirmar la identidad del dispositivo (atestación). El proceso de autenticación y atestación empleado por el Servicio de Seguridad de Azure Sphere usa claves pre-conocidas, comunicaciones seguras y hardware especializado para confirmar la identidad de un dispositivo. Si la autenticación y atestación del dispositivo son correctas, se emite un certificado para el dispositivo. Un certificado válido indica que:

  • Se ha comprobado la identidad del dispositivo.
  • El dispositivo puede ser de confianza.

Con Azure Sphere, los certificados de dispositivo se encadenan primero en un certificado de nivel de catálogo (facilitando que una organización confíe solo en los dispositivos de sus propios catálogos) y, después, en un certificado de Microsoft, que refleja que Microsoft ha validado que este hardware es una instancia verificada de un chip Azure Sphere certificado que ejecuta un so microsoft protegido.

Los siguientes conceptos pueden ayudar a usar la identidad del dispositivo de las maneras más seguras y eficaces:

  • La confianza es transitorio
    La confianza en un sistema se puede perder y se puede recuperar. Un principio de implementación de Confianza cero arquitectura en un sistema IoT es verificar explícitamente. Esto significa que cada vez que tenga una interacción con un dispositivo, determine explícitamente la autenticidad del dispositivo y demuestre que la transacción de datos es de confianza. Los dispositivos Azure Sphere realizan automáticamente un proceso de autenticación y atestación cada 24 horas con los servicios de seguridad en la nube de Azure Sphere. Una indicación de que la identidad de un dispositivo se ha comprobado correctamente es la presencia de un certificado firmado criptográficamente, con raíz en el Servicio de Seguridad en la nube de Microsoft Azure Sphere.

  • Identity = identifiers + attestation
    Los identificadores se pueden copiar y duplicar. Como resultado, un dispositivo no puede ser simplemente conocido por su identificador. La identidad de un dispositivo (o la identidad de un usuario) debe considerarse una combinación de un identificador y la certificación de que dicho identificador es válido en un contexto específico. No debe asignar identificadores a los dispositivos y usarlos independientemente del proceso de atestación. Cuando sea posible, combine identificadores con evidencia de atestación en cada nivel de interacción dentro de sus sistemas.

  • Identificadores y certificados de confianza
    Un identificador no debe considerarse más que una referencia. Por sí solo, no se debe suponer que indique nada sobre la fiabilidad del objeto al que hace referencia. Por ejemplo, utilice un identificador para suscribirse a mensajes MQTT, utilice un identificador para agrupar datos de confianza dentro de un portal y use identificadores para redirigir el tráfico y los datos de un sistema. Sin embargo, cuando se trata de confiar, en lugar de confiar en el identificador, confiar en un certificado firmado criptográficamente y encadenado. Los certificados son especialmente beneficiosos para el flujo de datos sin contraseña entre los componentes del sistema y son evidencia de identificación que se ha probado y demostrado ser de confianza en un contexto específico.

Al usar Azure IoT Hub, si se configura según las recomendaciones documentadas, estos conceptos ya están incorporados, lo que simplifica la implementación de un sistema seguro y resistente.

También debe aplicar estos conceptos al conectarse a servicios o puntos de conexión que no son de Azure que controla directamente. Por ejemplo, si utiliza MQTT, un dispositivo puede incluir su propia identidad como parte del tema MQTT en el que se publica. Sin embargo, antes de aceptar una actualización de tema desde el dispositivo, el servidor MQTT debe verificar que el certificado que proporciona el dispositivo lo autentica para publicar en este tema específico.

Certificado de dispositivo Azure Sphere y acceso al id. de dispositivo

  • Para acceder a un certificado de dispositivo en la aplicación, use la función DeviceAuth_GetCertificatePath .

  • Para acceder al id. de dispositivo único del dispositivo, analiza el asunto desde el certificado proporcionado por la función DeviceAuth_GetCertificatePath() usando la función wolfSSL_X509_get_subject_name .

El fragmento de código Get Azure Sphere Device ID muestra cómo obtener el Id. de dispositivo de Azure Sphere en una aplicación de alto nivel. Devuelve el Id. de dispositivo como búfer de caracteres de 128 caracteres. Este fragmento de código comandos wolfSSL para abrir una sesión con el certificado, extraer el contexto y el certificado, analizar el id. de asunto del certificado que es el id. de dispositivo para dispositivos Azure Sphere y devolverlo como un char puntero.