- PVSM.RU - https://www.pvsm.ru -
Представляем вашему вниманию последнюю статью из цикла «Безопасность в IoT», а также приглашаем принять участие в конференции [1] от Microsoft «Бизнес.IoT: открывая интернет вещей». В этой статье детально рассматриваются средства обеспечения безопасности IoT-инфраструктуры на базе Azure IoT и описывается уровень реализации в процессе настройки и развертывания отдельных компонентов. Представлен также сравнительный анализ различных методик.
1. Azure IoT Suite для тех, кто начинает с нуля [2].
2. Стратегия всесторонней защиты [3].
3. Архитектура системы безопасности [4].
4. Обеспечение безопасности развертывания Azure IoT [5].
Обеспечение безопасности развертывания Azure IoT следует оценивать в разрезе трёх областей безопасности:
Azure IoT Suite использует два метода обеспечения безопасности устройств IoT:
Токен безопасности выполняет проверку подлинности всех вызовов, отправленных устройством в службу IoT Hub. Для этой цели выполняется настройка связи симметричного ключа для каждого отдельного вызова. Проверка подлинности на основе сертификата X.509 позволяет проверять подлинность устройства IoT на физическом уровне в ходе установки соединения по протоколу TLS. Метод с использованием токена безопасности можно использовать и без проверки подлинности на основе сертификата X.509, хотя этот сценарий не гарантирует такого же высокого уровня безопасности. Выбор одного из двух указанных методов, в основном, зависит от требуемого уровня безопасности при проверке подлинности устройства, а также от доступности безопасного хранилища на устройстве (где будет храниться закрытый ключ).
IoT Hub использует токены безопасности для проверки подлинности устройств и служб, что позволяет избежать отправки ключей по сети. Кроме того, токены безопасности ограничены по времени и области действия. Пакеты SDK Azure IoT Hub создают токены автоматически, специальная настройка не требуется. Тем не менее иногда вам придется создавать и использовать токены безопасности, например, в случае непосредственного использования протоколов AMQP, MQTT или HTTP либо при развертывании шаблона службы токенов.
Дополнительные сведения о структуре токена безопасности и способах его использования см. в следующих статьях: «Структура токена безопасности [7]» и «Использование токенов SAS в качестве устройства [8]».
Каждый экземпляр службы IoT Hub содержит реестр удостоверений устройства [9], который можно использовать для создания в службе ресурсов отдельных устройств (например, очередь, которая содержит текущие сообщения, передаваемые в настоящий момент между облаком и устройством), а также для настройки разрешения доступа к конечным точкам, взаимодействующим с устройством. Реестр удостоверений IoT Hub обеспечивает безопасное хранение удостоверений устройства, а также ключей безопасности решения. Добавляя в белый или черный список отдельные удостоверения устройств или группы удостоверений, можно полностью контролировать доступ к устройствам.
IoT Hub поддерживает [10] такие протоколы, как AMQP, MQTT и HTTPS. Каждый из этих протоколов по-разному использует токены безопасности, полученные от устройства IoT и отправляемые в службу IoT Hub.
Реестр удостоверений устройства IoT Hub можно использовать для настройки учётных данных безопасности устройства и контроля доступа. Тем не менее если значительный объем ресурсов решения IoT уже выделен реестру удостоверений пользовательского устройства и (или) схеме проверки подлинности [11], то, создав службу токена, можно интегрировать решение в существующую инфраструктуру, где используется служба IoT Hub.
Использование сертификата X.509 на основе устройства [12] и связанной с ним пары закрытого и открытого ключа позволяет выполнять дополнительную проверку подлинности на физическом уровне. Закрытый ключ хранится в защищённом хранилище на устройстве. Его обнаружение за пределами устройства невозможно. Сертификат X.509 содержит сведения об устройстве (идентификатор устройства и другие организационные данные). Подпись сертификата создается с помощью закрытого ключа.
Процесс подготовки устройства высокого уровня:
В процессе установки защищённого соединения TLS со службой IoT Hub устройство IoT выполняет проверку подлинности службы с помощью корневого сертификата, который входит в пакет SDK устройства. Сертификат для пакета SDK клиента С находится в папке «ccerts» в корне репозитория. Хотя эти корневые сертификаты выдаются на длительное время, срок их действия всё равно может истечь или они могут быть отозваны. Если сертификат невозможно обновить на устройстве, то последующее подключение устройства к IoT Hub (или другой облачной службе) может также быть недоступным. Эти риски можно уменьшить благодаря эффективным инструментам для обновления корневых сертификатов после развертывания устройства IoT.
Защита интернет-соединения между устройством IoT и службой IoT Hub обеспечивается посредством стандарта TLS. Azure IoT поддерживает протоколы TLS 1.2 [13], TLS 1.1 и TLS 1.0. Протокол TLS 1.0 поддерживается только в целях обратной совместимости. Рекомендуется использовать TLS 1.2, поскольку эта версия протокола обеспечивает максимальный уровень безопасности.
В Azure IoT Suite поддерживаются следующие комплекты шифров.
Комплект шифров |
Длина |
---|---|
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (0xc028) ECDH secp384r1 (eq. 7680 bits RSA) FS | 256 |
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (0xc027) ECDH secp256r1 (eq. 3072 bits RSA) FS | 128 |
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014) ECDH secp384r1 (eq. 7680 bits RSA) FS | 256 |
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013) ECDH secp256r1 (eq. 3072 bits RSA) FS | 128 |
TLS_RSA_WITH_AES_256_GCM_SHA384 (0x9d) | 256 |
TLS_RSA_WITH_AES_128_GCM_SHA256 (0x9c) | 128 |
TLS_RSA_WITH_AES_256_CBC_SHA256 (0x3d) | 256 |
TLS_RSA_WITH_AES_128_CBC_SHA256 (0x3c) | 128 |
TLS_RSA_WITH_AES_256_CBC_SHA (0x35) | 256 |
TLS_RSA_WITH_AES_128_CBC_SHA (0x2f) | 128 |
TLS_RSA_WITH_3DES_EDE_CBC_SHA (0xa) | 112 |
Azure IoT Hub позволяет определять политики контроля доступа [14] для каждого отдельного ключа безопасности. В такой политике используется следующий набор разрешений, с помощью которых можно настроить доступ к каждой из конечных точек IoT Hub. Разрешения ограничивают доступ к службе IoT Hub в зависимости от требуемых функций.
Получить разрешения DeviceConnect для IoT Hub с помощью токенов безопасности [16] можно двумя способами: используя ключ удостоверения устройства или общий ключ политики доступа. Кроме того, важно учесть, что все функции, доступные на устройствах, по умолчанию предоставляются на конечных точках с префиксом /devices/{deviceId}.
Компоненты службы могут создавать [17] токены безопасности только с помощью общих политик доступа, которые предоставляют соответствующие разрешения.
Управление пользователями в службе Azure IoT Hub и других службах в рамках решения осуществляется с помощью Azure Active Directory.
Данные, принятые службой IoT Hub, могут использоваться различными службами (например, Azure Stream Analytics, хранилище больших двоичных объектов и так далее). Эти службы предоставляют доступ для управления.
В этой статье представлен обзор уровня реализации в процессе проектирования и развертывания инфраструктуры IoT, использующей службу Azure IoT. Настройка безопасности каждого конкретного компонента имеет ключевое значение для безопасности всей инфраструктуры IoT. Средства проектирования, доступные в Azure IoT, предоставляют определенную гибкость и возможность выбора. Однако в отношении любого из выбранных вариантов могут действовать собственные требования к безопасности. Рекомендуется оценить каждый из доступных вариантов с помощью процедуры оценки рисков и затрат. Напоминаем, что бесплатно попробовать Microsoft Azure можно здесь [23].
30 марта 2017 года пройдёт онлайн-конференции Microsoft «Бизнес.IoT: открывая интернет вещей» [1]. В программе будет два параллельных трека (бизнес и технологический) с лучшими практиками и рекомендациями от ведущих экспертов в области интернета вещей, машинного обучения и предиктивной аналитики.
Среди спикеров будут присутствовать: Михаил Черномордиков (Microsoft), Сергей Осипов (MAYKOR-GMCS), Дмитрий Бергельсон (GuaranaCam), Анна Кулашова (Microsoft), Дмитрий Марченко (Microsoft), Андрей Мелузов (ГК «КОРУС Консалтинг») и Василий Есипов (КПМГ).
Чтобы принять участие, необходимо зарегистрироваться здесь [24].
Хотим также поделиться с вами списком сообществ по IoT для технических специалистов:
Мероприятия: Meetup.com [25]. Здесь можно найти встречи, которые проводит русское сообщество IoT.
Социальные сети: VK [26], Facebook [27], канал в Telegram [28], чат в Telegram [29].
Автор: Microsoft
Источник [30]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/microsoft/246631
Ссылки в тексте:
[1] конференции: https://aka.ms/habr_322600_18
[2] Azure IoT Suite для тех, кто начинает с нуля: https://aka.ms/habr_322600_20
[3] Стратегия всесторонней защиты: https://aka.ms/habr_322600_21
[4] Архитектура системы безопасности: https://aka.ms/habr_322600_22
[5] Обеспечение безопасности развертывания Azure IoT: https://aka.ms/habr_322600_23
[6] сертификата X.509: https://aka.ms/habr_322600_1
[7] Структура токена безопасности: https://aka.ms/habr_322600_2
[8] Использование токенов SAS в качестве устройства: https://aka.ms/habr_322600_3
[9] реестр удостоверений устройства: https://aka.ms/habr_322600_4
[10] поддерживает: https://aka.ms/habr_322600_5
[11] реестру удостоверений пользовательского устройства и (или) схеме проверки подлинности: https://aka.ms/habr_322600_6
[12] сертификата X.509 на основе устройства: https://aka.ms/habr_322600_7
[13] TLS 1.2: https://aka.ms/habr_322600_8
[14] политики контроля доступа: https://aka.ms/habr_322600_9
[15] реестра удостоверений устройства: https://aka.ms/habr_322600_10
[16] токенов безопасности: https://aka.ms/habr_322600_11
[17] создавать: https://aka.ms/habr_322600_12
[18] Azure DocumentDB: https://aka.ms/habr_322600_13
[19] Azure Stream Analytics: https://aka.ms/habr_322600_14
[20] Службы приложений Azure: https://aka.ms/habr_322600_15
[21] Приложения логики: https://aka.ms/habr_322600_16
[22] Хранилище больших двоичных объектов: https://aka.ms/habr_322600_17
[23] здесь: https://azure.microsoft.com/ru-ru/free/?wt.mc_id=AID570629_QSG_SCL_139068%20https://azure.microsoft.com/ru-ru/free/?wt.mc_id=AID570629_QSG_BLOG_139069
[24] здесь: https://aka.ms/habr_322600_19
[25] Meetup.com: https://aka.ms/habr_322600_24
[26] VK: https://aka.ms/habr_322600_25
[27] Facebook: https://aka.ms/habr_322600_28
[28] канал в Telegram: https://aka.ms/habr_322600_26
[29] чат в Telegram: https://aka.ms/habr_322600_27
[30] Источник: https://habrahabr.ru/post/322600/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best
Нажмите здесь для печати.