Нам необходимо защитить процесс аутентификации на производимых нами устройствах. Поскольку эти устройства установлены в клиентской (обычно непрофессиональной) сети, мы не можем получить обычный сертификат tls от центра сертификации. Есть ли способ получить доверенный сертификат в такой среде?
Это зависит от того, нужно ли вам брать на себя всю ответственность за безопасность или вы позволяете это делать заказчику.
Если вам нужно взять на себя ответственность, вы можете пойти по пути частного промежуточного и корневого ЦС. Есть два варианта - создать собственный или использовать поставщика, например DigiCert. Я бы порекомендовал последнее, даже если есть авансовые расходы и расходы на обслуживание.
Учитывая, что устройство обычно не имеет публичного доменного имени, вы не можете получить для него сертификат от публичного центра сертификации. И даже если у него есть публичное доменное имя, он обычно контролирует клиента, а не вы, поэтому вы также не можете получить для него публичный сертификат.
Обычный подход - создать уникальный самозаверяющий сертификат для каждого устройства и ожидать, что пользователь добавит исключение сертификата. Кроме того, клиенту следует предоставить возможность загрузки собственного сертификата, чтобы клиент мог лучше интегрировать устройство в свою собственную инфраструктуру.