Implementación de certificados de dispositivo X.509
Durante el ciclo de vida de la solución de IoT, necesitará implementar certificados. Dos de las razones principales para implementar certificados sería una infracción de seguridad y la caducidad de los certificados.
La implementación de certificados es un procedimiento recomendado de seguridad para ayudar a proteger el sistema en caso de una infracción de seguridad. Como parte de la asunción de la metodología de infracción de seguridad, Microsoft recomienda la necesidad de contar con procesos de seguridad reactivos junto con medidas preventivas. La implementación de los certificados de dispositivo se debe incluir como parte de estos procesos de seguridad. La frecuencia con la que implementa los certificados dependerá de las necesidades de seguridad de la solución. Los clientes con soluciones que involucran datos altamente confidenciales pueden implementar el certificado diariamente, mientras que otros usuarios implementan sus certificados cada dos años.
La implementación de certificados de dispositivo implica actualizar el certificado almacenado en el dispositivo y el centro de IoT. Después, el dispositivo puede reaprovisionarse así mismo con el centro de IoT mediante el aprovisionamiento normal con Device Provisioning Service.
Obtención de nuevos certificados
Hay muchas maneras de obtener nuevos certificados para los dispositivos de IoT. Entre ellas se incluyen la obtención de certificados de la fábrica del dispositivo, generar sus propios certificados y hacer que un tercero administre la creación de certificados para usted.
Los certificados están firmados entre sí para formar una cadena de confianza a partir de un certificado de entidad de certificación raíz para un certificado de hoja. Un certificado de firma es el certificado que se usa para firmar el certificado de hoja al final de la cadena de confianza. Un certificado de firma puede ser un certificado de entidad de certificación raíz o un certificado intermedio en la cadena de confianza. Para más información, vea Certificados X.509.
Hay dos maneras diferentes de obtener un certificado de firma. La primera, que se recomienda para los sistemas de producción, consiste en adquirir un certificado de firma de una entidad de certificación raíz (CA). Esta manera encadena la seguridad a un origen de confianza.
La segunda consiste en crear sus propios certificados X.509 mediante una herramienta como OpenSSL. Este enfoque es muy útil para probar los certificados X.509, pero proporciona pocas garantías para la seguridad. Le recomendamos que utilice este enfoque solo para las pruebas a menos que se prepare para actuar como su propio proveedor de entidad de certificación.
Implementación del certificado en el dispositivo
Los certificados de un dispositivo deben almacenarse siempre en un lugar seguro, como un módulo de seguridad de hardware (HSM). La manera de implementar los certificados de dispositivo dependerá de cómo se crearon e instalaron en los dispositivos en primer lugar.
Si obtuvo los certificados de terceros, debe observar cómo implementan los certificados. El proceso puede estar incluido en sus acuerdos con ellos, o puede ser un servicio independiente que ofrecen.
Si está administrando sus propios certificados de dispositivo, tendrá que crear su propia canalización para actualizar los certificados. Asegúrese de que los certificados de hoja antiguos y nuevos tienen el mismo nombre común (CN). Al tener el mismo CN, el dispositivo puede reaprovisionarse así mismo sin necesidad de crear un registro duplicado.
La mecánica de la instalación de un nuevo certificado en un dispositivo a menudo implicará uno de los enfoques siguientes:
Puede desencadenar dispositivos afectados para enviar una nueva solicitud de firma de certificado (CSR) a la Entidad de certificación (CA) PKI. En este caso, es probable que cada dispositivo pueda descargar su nuevo certificado de dispositivo directamente desde la CA.
Puede conservar una CSR de cada dispositivo y usarla para obtener un nuevo certificado de dispositivo de la CA PKI. En este caso, deberá insertar el nuevo certificado en cada dispositivo, en una actualización de firmware mediante un servicio de actualización de OTA seguro, como Device Update for IoT Hub.
Implementación del certificado en DPS
Puede agregar manualmente el certificado del dispositivo a centro de IoT. El certificado también se puede automatizar mediante una instancia de Device Provisioning Service. En este artículo, supondremos que se utiliza una instancia de Device Provisioning Service para admitir el aprovisionamiento automático.
Cuando un dispositivo se ha aprovisionado inicialmente con el aprovisionamiento automático, arranca y se pone en contacto con el servicio de aprovisionamiento. El servicio de aprovisionamiento responde realizando una comprobación de identidad antes de crear una identidad de dispositivo en un centro de IoT mediante el certificado de hoja del dispositivo como la credencial. Después, el servicio de aprovisionamiento indica el dispositivo al que está asignado el centro de IoT y, después, usa su certificado de hoja para autenticarse y conectarse a dicho centro.
Una vez que se ha implementado un nuevo certificado de hoja en el dispositivo, ya no puede conectarse al centro de IoT porque está usando un nuevo certificado para conectarse. El centro de IoT solo reconoce el dispositivo con el certificado antiguo. El resultado del intento de conexión del dispositivo será un error de conexión "no autorizado". Para resolver este error, debe actualizar la entrada de inscripción del dispositivo para tener en cuenta el nuevo certificado de hoja del dispositivo. A continuación, el servicio de aprovisionamiento puede actualizar la información de registro del dispositivo de IoT Hub según sea necesario cuando se vuelve a aprovisionar el dispositivo.
Una posible excepción a este error de conexión sería un escenario donde ha creado un grupo de inscripción para el dispositivo en el servicio de aprovisionamiento. En este caso, si no implementa los certificados raíz o intermedios en la cadena de certificados del dispositivo de confianza, el dispositivo se reconocerá si el nuevo certificado forma parte de la cadena de confianza definida en el grupo de inscripción. Si este escenario se produce como respuesta a una infracción de seguridad, al menos debe denegar los certificados de dispositivo específicos en el grupo que se consideran que infringen la seguridad. Para más información, consulte Denegación de dispositivos específicos en un grupo de inscripción
La forma de controlar la actualización de la entrada de inscripción dependerá de si está utilizando inscripciones individuales o inscripciones de grupo. También los procedimientos recomendados difieren dependiendo de si está implementando certificados debido a una infracción de seguridad o porque los certificados han expirado. En las secciones siguientes se describe cómo controlar estas actualizaciones.
Implementación de certificados para inscripciones individuales
Si va a implementar certificados en respuesta a una infracción de seguridad, debe eliminar los certificados en peligro inmediatamente.
Si está implementando certificados para controlar las expiraciones de los certificados, debe usar la configuración del certificado secundario para reducir el tiempo de inactividad de los dispositivos que intentan aprovisionar. Más adelante, cuando se aproxima la expiración del certificado secundario y necesita implementarse, puede pasar al uso de la configuración principal. La rotación entre los certificados principales y secundarios de este modo reduce el tiempo de inactividad de los dispositivos que intentan aprovisionar.
La actualización de las entradas de inscripción para certificados implementados se realiza en la página Administrar inscripciones. Para acceder a esa página, siga estos pasos:
Inicie sesión en Azure Portal y vaya a la instancia Device Provisioning Service que tiene la entrada de inscripción para el dispositivo.
Seleccione Administrar inscripciones.
Seleccione la pestaña Inscripciones individuales y seleccione la entrada de id. de inscripción de la lista.
Active las casillas Quitar o reemplazar el certificado principal o secundario si desea eliminar un certificado existente. Seleccione el icono de carpeta de archivos para buscar y cargar los nuevos certificados.
Si alguno de sus certificados se ha visto comprometido, debería eliminarlo lo antes posible.
Si uno de los certificados está cerca de su expiración, puede mantenerlo en vigor siempre que el segundo certificado siga activo después de esa fecha.
Seleccione Save (Guardar) cuando termine.
Si se ha quitado el certificado en peligro del servicio de aprovisionamiento, todavía puede utilizarse para realizar conexiones de dispositivo a IoT Hub, siempre y cuando allí exista un registro para ese dispositivo. Esto se soluciona de dos maneras:
La primera sería ir de forma manual a IoT Hub y eliminar inmediatamente el registro del dispositivo relativo al certificado en peligro. Después, al aprovisionar el dispositivo de nuevo con el certificado actualizado, se creará un nuevo registro para el dispositivo.
La segunda manera consiste en reaprovisionar el dispositivo en la misma instancia de IoT Hub con la ayuda del servicio técnico de reaprovisionamiento. Este enfoque puede utilizarse para reemplazar el certificado de registro del dispositivo en IoT Hub. Para más información, consulte How to reprovision devices (Reaprovisionamiento de dispositivos).
Implementación de certificados para grupos de inscripción
Para actualizar la inscripción de un grupo en respuesta a una infracción de seguridad, debe eliminar inmediatamente el certificado de entidad de certificación raíz o intermedio comprometido.
Si está implementando certificados para controlar las expiraciones de los certificados, debe usar la configuración del certificado secundario para asegurarse de que no hay tiempo de inactividad para los dispositivos que intentan aprovisionar. Posteriormente, cuando se aproxima la expiración del certificado secundario y necesita implementarse, puede pasar al uso de la configuración principal. La rotación entre los certificados principales y secundarios de este modo asegura que no hay tiempo de inactividad para los dispositivos que intentan aprovisionar.
Actualización de certificados de entidad de certificación raíz
Seleccione Certificados en la sección Configuración del menú de navegación de la instancia de Device Provisioning Service.
Seleccione el certificado en peligro o expirado de la lista y, a continuación, seleccione Eliminar. Confirme la eliminación escribiendo el nombre del certificado y seleccione Aceptar.
Siga los pasos descritos en Realización de una prueba de posesión de certificados de entidad de certificación X.509 con el servicio Device Provisioning para agregar y comprobar los nuevos certificados de entidad de certificación raíz.
Seleccione Administrar inscripciones en la sección Configuración del menú de navegación de la instancia de Device Provisioning Service y seleccione la pestaña Grupos de inscripción.
Seleccione el nombre del grupo de inscripción en la lista.
En la sección Configuración del certificado X.509 seleccione el nuevo certificado de entidad de certificación raíz para reemplazar el certificado en peligro o expirado, o para agregarlo como certificado secundario.
Seleccione Guardar.
Si se ha quitado el certificado en peligro del servicio de aprovisionamiento, todavía puede utilizarse para realizar conexiones de dispositivo a IoT Hub, siempre y cuando allí exista un registro para ese dispositivo. Esto se soluciona de dos maneras:
La primera sería ir de forma manual a IoT Hub y eliminar inmediatamente el registro del dispositivo relativo al certificado en peligro. Después, al reaprovisionar de nuevo los dispositivos con los certificados actualizados, se creará un nuevo registro de dispositivo para cada uno de ellos.
La segunda manera consiste en reaprovisionar los dispositivos en la misma instancia de IoT Hub con la ayuda del servicio técnico de reaprovisionamiento. Este enfoque puede utilizarse para reemplazar los certificados de registro del dispositivo en IoT Hub. Para más información, consulte How to reprovision devices (Reaprovisionamiento de dispositivos).
Actualización de certificados intermedios
Seleccione Administrar inscripciones en la sección Configuración del menú de navegación de la instancia de Device Provisioning Service y seleccione la pestaña Grupos de inscripción.
Seleccione el nombre del grupo en la lista.
Active las casillas Quitar o reemplazar el certificado principal o secundario si desea eliminar un certificado existente. Seleccione el icono de carpeta de archivos para buscar y cargar los nuevos certificados.
Si alguno de sus certificados se ha visto comprometido, debería eliminarlo lo antes posible.
Si uno de los certificados está cerca de su expiración, puede mantenerlo en vigor siempre que el segundo certificado siga activo después de esa fecha.
Cada nuevo certificado intermedio debe firmarse mediante un certificado de entidad de certificación raíz comprobado que ya se haya agregado al servicio de aprovisionamiento. Para más información, vea Certificados X.509.
Si se ha quitado el certificado en peligro del servicio de aprovisionamiento, todavía puede utilizarse para realizar conexiones de dispositivo a IoT Hub, siempre y cuando allí exista un registro para ese dispositivo. Esto se soluciona de dos maneras:
La primera sería ir de forma manual a IoT Hub y eliminar inmediatamente el registro del dispositivo relativo al certificado en peligro. Después, al reaprovisionar de nuevo los dispositivos con los certificados actualizados, se creará un nuevo registro de dispositivo para cada uno de ellos.
La segunda manera consiste en reaprovisionar los dispositivos en la misma instancia de IoT Hub con la ayuda del servicio técnico de reaprovisionamiento. Este enfoque puede utilizarse para reemplazar los certificados de registro del dispositivo en IoT Hub. Para más información, consulte How to reprovision devices (Reaprovisionamiento de dispositivos).
Reaprovisionamiento del dispositivo
Una vez que el certificado se ha implementado tanto en el dispositivo como en Device Provisioning Service, el dispositivo se puede reaprovisionar a sí mismo poniéndose en contacto con Device Provisioning Service.
Una manera sencilla de programar dispositivos para reaprovisionamiento es programar el dispositivo para que se comunique con el servicio de aprovisionamiento para recorrer el flujo de aprovisionamiento si el dispositivo recibe un error de “no autorizado” al intentar conectarse al centro de IoT.
Otra manera es que los certificados antiguo y nuevo sean válidos para una superposición breve y usar el centro de IoT para enviar un comando a los dispositivos que se vuelvan a registrar mediante el servicio de aprovisionamiento para actualizar su información de conexión de IoT Hub. Dado que cada dispositivo puede procesar los comandos de forma diferente, tendrá que programar el dispositivo para saber qué hacer cuando el comando se invoca. Hay varias formas de controlar el dispositivo mediante IoT Hub; nosotros recomendamos usar métodos directos o trabajos para iniciar el proceso.
Cuando el reaprovisionamiento se ha completado, los dispositivos podrán conectarse a IoT Hub usando sus nuevos certificados.
Denegación de certificados
En respuesta a una infracción de seguridad, es posible que necesite denegar un certificado de dispositivo. Para denegar un certificado, deshabilite la entrada de inscripción del certificado o dispositivo de destino. Para más información, consulte cómo denegar dispositivos en el artículo Baja del servicio Azure IoT Hub Device Provisioning para un dispositivo.
Una vez que un certificado se incluye como parte de una entrada de inscripción deshabilitada, todo intento de registro con un centro de IoT mediante esos certificados producirá un error incluso si se habilita como parte de otra entrada de inscripción.
Pasos siguientes
- Para más información sobre los certificados X.509 en Device Provisioning Service, consulte Atestación de certificados X.509
- Para más información sobre cómo realizar una prueba de posesión de certificados de entidad de certificación X.509 con Azure IoT Hub Device Provisioning Service, consulte Realización de una prueba de posesión de certificados de entidad de certificación X.509 con el servicio Device Provisioning
- Para obtener información acerca de cómo usar el portal para crear un grupo de inscripción, consulte Administración de inscripciones de dispositivos con Azure Portal.