Бөлісу құралы:


Удостоверение и безопасность устройства

Одновременно можно развертывать множество устройств и управлять ими. Управление устройствами основано на возможности идентификации и доступа к каждому устройству по отдельности при необходимости. Для этого каждому устройству Azure Sphere присваивается уникальный внутренний идентификатор устройства, который сохраняется при любых обновлениях устройства, включая операции восстановления.

Однако в цифровых системах идентификатор устройства можно легко подделал, подделал или неправильно. В результате следует разрешить только устройствам, удостоверения которых можно проверить и проверить, чтобы получить доступ к высокоценным данным и подключаться к вашим службам.

Azure Sphere предоставляет процесс, позволяющий устройству идентифицировать себя (проверка подлинности) и подтвердить удостоверение устройства (аттестация). В процессе проверки подлинности и аттестации, используемом службой безопасности Azure Sphere , используются предварительно известные ключи, безопасные коммуникации и специализированное оборудование для подтверждения удостоверения устройства. Если проверка подлинности и аттестация устройства успешно завершены, на устройство выдается сертификат. Допустимый сертификат указывает, что:

  • Удостоверение устройства проверено.
  • Устройство может быть доверенным.

С помощью Azure Sphere сертификаты устройств сначала прикрепляются к сертификату уровня каталога (что позволяет организации легко доверять только устройствам из собственных каталогов), а затем к сертификату Майкрософт, который отражает, что корпорация Майкрософт подтвердила, что это оборудование является проверенным экземпляром сертифицированной микросхемы Azure Sphere под управлением защищенной ОС Майкрософт.

Следующие понятия помогут использовать удостоверение устройства наиболее безопасными и эффективными способами:

  • Доверие является временным
    Доверие к системе может быть потеряно, и оно может быть восстановлено. Принцип реализации архитектуры "Никому не доверяй" в системе Интернета вещей заключается в явной проверке. Это означает, что каждый раз, когда вы взаимодействуете с устройством, явно определять подлинность устройства и доказывать, что транзакция данных является надежной. Устройства Azure Sphere автоматически выполняют проверку подлинности и аттестацию каждые 24 часа с помощью облачных служб безопасности Azure Sphere. Свидетельством того, что удостоверение устройства успешно проверено, является наличие криптографически подписанного сертификата, который укореняется в облачную службу безопасности Microsoft Azure Sphere.

  • Identity = идентификаторы + аттестация
    Идентификаторы можно копировать и дублировать. В результате устройство не может быть просто известно по его идентификатору. Удостоверение устройства (или удостоверение пользователя) должно рассматриваться как сочетание идентификатора и подтверждения того, что такой идентификатор действителен в определенном контексте. Не следует назначать идентификаторы устройствам и использовать их независимо от процесса аттестации. По возможности объединяйте идентификаторы с свидетельством аттестации на каждом уровне взаимодействия в системах.

  • Идентификаторы + сертификаты доверия
    Идентификатор должен считаться не более чем ссылкой. В одиночку не следует предполагать, что он указывает на надежность объекта, на который он ссылается. Например, используйте идентификатор для подписки на сообщения MQTT, используйте идентификатор для группировки доверенных данных на портале и используйте идентификаторы для маршрутизации трафика и данных в системе. Тем не менее, когда дело доходит до доверия, вместо того чтобы доверять идентификатору, доверяйте криптографически подписанному и привязанным к цепочкам сертификату. Сертификаты особенно полезны для потока данных без пароля между компонентами системы и являются свидетельством идентификации, проверенной и проверенной как заслуживающая доверия в определенном контексте.

При использовании Центр Интернета вещей Azure, если они настроены в соответствии с документируемыми рекомендациями, эти понятия уже включены, что упрощает развертывание защищенной и устойчивой системы.

Эти понятия также необходимо применять при подключении к конечным точкам или службам, которые вы напрямую контролируете не в Azure. Например, при использовании MQTT устройство может включать собственное удостоверение как часть раздела MQTT, в который оно публикуется. Однако перед принятием обновления раздела с устройства сервер MQTT должен убедиться, что сертификат, который предоставляет устройство, проверяет подлинность для публикации в этом конкретном разделе.

Доступ к сертификату устройства Azure Sphere и идентификатору устройства

  • Чтобы получить доступ к сертификату устройства в приложении, используйте функцию DeviceAuth_GetCertificatePath .

  • Чтобы получить доступ к уникальному идентификатору устройства, выполните синтаксический анализ субъекта из сертификата, предоставленного функцией DeviceAuth_GetCertificatePath() с помощью функции wolfSSL_X509_get_subject_name .

В фрагменте кода Get Azure Sphere Device ID (Получить идентификатор устройства Azure Sphere ) показано, как получить идентификатор устройства Azure Sphere в высокоуровневом приложении. Он возвращает идентификатор устройства в виде буфера символов из 128 символов. Этот фрагмент содержит команду wolfSSL, чтобы открыть сеанс с сертификатом, извлечь контекст и сертификат, проанализировать идентификатор субъекта сертификата, являющийся идентификатором устройства Azure Sphere, и вернуть его в качестве char указателя.