Сертификат веб-интерфейса устройства датчика

Вопрос или проблема

У меня есть сенсорные устройства с веб-интерфейсом конфигурации. Каждое устройство имеет уникальный серийный номер. Устройства развёрнуты в различных средах с частными IP-адресами, такими как 192.168.x.y или 10.x.y.z. Между различными средами эти IP-адреса часто пересекаются: среда A с сенсором с IP 192.168.100.200 и среда B с сенсором с тем же IP-адресом. Технические специалисты, которым необходимо получить доступ к сотням таких устройств в разных средах, будут подключаться к ним через обычный ноутбук с Windows. Сенсорные устройства и ноутбуки работают без доступа в Интернет. Существует частный ЦС (центр сертификации), который можно установить как доверенный для каждого браузера, используемого для доступа к веб-интерфейсу конфигурации.

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

Я могу заставить сенсорные устройства генерировать пару ключей и CSR на основе уникального серийного номера устройства в момент производства и получить его подписанным частным ЦС. Это позволит как идентифицировать устройство (серийный номер), так и проверять его (подписано доверенным частным ЦС). Однако, поскольку устройства обычно не имеют имени хоста и не знают IP-адреса, который они получат в момент генерации CSR, как можно создать CSR таким образом, чтобы браузер отображал его как «ОК»?

Лучшее, что я смог придумать, это создать CSR для “mysensordevice-serialnumber.private.something” и адаптировать файл хоста DNS ноутбуков, получающих доступ к устройству, установив DNS-запись “mysensordevice-serialnumber.private.something”, указывающую на IP-адрес, который получит сенсорное устройство. Однако это перемещает проблему из CSR в файл хоста DNS: каждое устройство нужно будет добавлять на ноутбук каждого техника после того, как станет известно, какой IP-адрес оно получит (что обычно происходит только тогда, когда техник получает доступ к устройству).

Я прочитал много вопросов и ответов по этому поводу на этом стеке обмена, и, похоже, лучшим разумным решением является просто принять тот факт, что у устройства не будет TLS-соединения, которое браузер сможет полностью отметить как безопасное? Мысли?

Вы можете использовать CMP (https://en.m.wikipedia.org/wiki/Certificate_Management_Protocol), то есть протокол управления сертификатами. Это протокол для получения сертификата x509 в PKI (инфраструктура открытых ключей). Он требует наличие ЦС (центра сертификации), RA (регистрационного органа) и конечных клиентов (клиентов CMP).

Таким образом, ваши клиенты, то есть сенсорные устройства, будут выступать в роли клиентов CMP, и после того как они будут обеспечены IP-адресом, вы можете инициировать запрос к RA на выдачу сертификата с IP-адресом в качестве CN. RA обработает запрос и отправит его в ЦС для выдачи сертификата и предоставит сертификат клиентам CMP (вашим устройствам).

Но есть одно ограничение: вам нужен один RA (регистрационный орган), который может подключаться к частному ЦС и выступать в роли посредника между частным ЦС и конечными клиентами, то есть сенсорными устройствами.

Как вы сказали, для сенсорных устройств нет сетевой связанности, вы можете установить RA локально в той среде, которая будет подключена к ЦС. Таким образом, ваши конечные клиенты будут подключаться только к RA, тогда как RA будет единственным сервером, который будет подключаться к частному ЦС. Вы можете запускать или останавливать RA в зависимости от требований, когда вам потребуется повторная выдача сертификата. RA просто действует как человек, который будет передавать CSR ЦС и запрашивать подпись. Единственное отличие в том, что это управляется автоматически RA.

Ответ или решение

Сертификаты для веб-интерфейса сенсорных устройств

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

Контекст и основные задачи

Ваши сенсорные устройства обладают уникальными серийными номерами и работают в закрытых сетях без доступа к Интернету, что создает сложности для получения и установки сертификатов. Традиционно, для обеспечения SSL/TLS-соединений требуется наличие четких DNS-имён. Однако в вашем случае это невозможно, поскольку устройство не знает, какой адрес получит в момент генерации запроса на сертификат (CSR).

Возможные решения

  1. Использование динамического DNS: Один из подходов заключается в том, чтобы назначить устройству динамическое DNS-имя. Хотя это требует дополнительных настроек для каждого отдельного устройства, этот метод позволяет избежать необходимости вручную вносить изменения на клиентских компьютерах. Тем не менее, это требует наличия серверов, которые будут обрабатывать запросы на обновление DNS.

  2. Использование действующего IP-адреса как CN: Более оптимизированный способ — это использование IP-адреса в качестве Common Name (CN) в CSR. При этом в момент обращения устройства к вашему локальному центру сертификации (CA), устройство может создать CSR с текущим IP-адресом.

  3. Протокол CMP: Как вы упомянули, Certificate Management Protocol (CMP) может быть отличным решением для автоматизации процесса получения сертификатов. Каждое устройство будет клиентом CMP и будет взаимодействовать с локальным Регистрационным Центром (RA), который, в свою очередь, будет связываться с вашим частным CA для выдачи сертификатов. Это позволит минимизировать ручную настройку на стороне техники и упростит управление сертификатами.

Практическая реализация

  • Настройка RA: Установите RA, который будет находиться в том же окружении, что и ваши сенсорные устройства. Этот сервер будет обрабатывать запросы на сертификаты и взаимодействовать с вашим частным CA за пределами локальной сети.

  • Клиентская команда: Каждое устройство будет инициировать запрос на сертификат, когда оно получит свою конфигурацию (включая IP-адрес). RA будет получать CSR, содержащий IP-адрес устройства в качестве CN, и отправлять его на подпись в CA.

  • Цикл обновления сертификатов: Обеспечьте механизм для регулярного обновления сертификатов. RA можно запускать по мере необходимости, что позволяет обеспечить актуальность SSL-соединений между клиентами и устройствами.

Заключение

Для достижения максимальной безопасности и минимизации предупреждений браузера вам необходимо тщательно продумать архитектуру сертификации и управления сертификатами. Применение протокола CMP в сочетании с локальным регистрационным центром и использованием IP-адреса как CN может значительно упростить процесс и повысить уровень безопасности ваших сенсорных устройств. Применение этих методов поможет избежать проблем, связанных с предсказанием IP-адресов и упростить управление инфраструктурой цифровых сертификатов.

Оцените материал
Добавить комментарий

Капча загружается...