Обзор безопасного подключения с голографическим удаленным взаимодействием

Если вы не знакомы с голографическим удаленным взаимодействием, ознакомьтесь с нашим обзором.

Примечание

Это руководство предназначено для голографического удаленного взаимодействия на компьютерах HoloLens 2 и Windows под управлением Windows Mixed Reality.

На этой странице представлен обзор сетевой безопасности для голографического удаленного взаимодействия. Вы найдете сведения о:

  • Безопасность в контексте голографического удаленного взаимодействия и причины его необходимости
  • Рекомендуемые меры на основе различных вариантов использования

Безопасность голографического удаленного взаимодействия

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

Примеры приложений и голографический проигрыватель удаленного взаимодействия в Магазине Windows поставляются с отключенной безопасностью. Это упрощает понимание примеров. Это также помогает быстрее приступить к разработке.

Для тестирования на местах или в рабочей среде настоятельно рекомендуется включить безопасность в решении голографического удаленного взаимодействия.

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

  • Подлинность: как игрок, так и удаленное приложение могут быть уверены, что другая сторона является тем, кто они утверждают, что
  • Конфиденциальность: третья сторона не может считывать информацию, обмениваемую между проигрывателем и удаленным приложением
  • Целостность: проигрыватель и удаленный пульт управления могут обнаруживать любые изменения в обмене данными при передаче

Важно!

Чтобы иметь возможность использовать функции безопасности, необходимо реализовать как пользовательский проигрыватель, так и пользовательское удаленное приложение с помощью api Windows Mixed Reality или OpenXR.

Примечание

Начиная с версии 2.4.0 можно создавать удаленные приложения, использующие API OpenXR . Общие сведения о том, как установить безопасное подключение в среде OpenXR, можно найти здесь.

Планирование реализации безопасности

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

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

Важно!

В этой статье содержатся только общие рекомендации. Если вы не уверены, обратитесь к эксперту по безопасности, который может дать вам рекомендации, относящиеся к вашему варианту использования.

Сначала некоторые термины: при описании сетевых подключений будут использоваться термины клиент и сервер . Сервер — это сторона, прослушивающая входящие подключения по известному адресу конечной точки, а клиент — это клиент, который подключается к конечной точке сервера.

Примечание

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

Планирование проверки подлинности между серверами

Сервер использует цифровые сертификаты, чтобы подтвердить свое удостоверение клиенту. Клиент проверяет сертификат сервера на этапе подтверждения подключения. Если клиент не доверяет серверу, подключение будет завершено на этом этапе.

То, как клиент проверяет сертификат сервера и какие типы сертификатов сервера можно использовать, зависит от вашего варианта использования.

Вариант использования 1. Имя узла сервера не является фиксированным или сервер не обращается по имени узла.

В этом случае нецелесообразно (или даже невозможно) выдавать сертификат для имени узла сервера. Вместо этого рекомендуется проверить отпечаток сертификата. Как и человеческий отпечаток, отпечаток уникально идентифицирует сертификат.

Важно сообщить отпечаток клиенту вне сети. Это означает, что вы не можете отправить его через то же сетевое подключение, которое используется для удаленного взаимодействия. Вместо этого можно вручную ввести его в конфигурацию клиента или просканировать QR-код.

Вариант использования 2. К серверу можно получить стабильное имя узла.

В этом случае у сервера есть определенное имя узла, и вы знаете, что это имя вряд ли изменится. Затем можно использовать сертификат, выданный на имя узла сервера. Доверие будет установлено на основе имени узла и цепочки доверия сертификата.

При выборе этого параметра клиенту необходимо заранее знать имя узла сервера и корневой сертификат.

Планирование проверки подлинности между клиентом и сервером

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

Вариант использования 1. Необходимо только проверить удостоверение клиентского приложения.

В этом случае общего секрета может быть достаточно. Этот секрет должен быть достаточно сложным, чтобы его нельзя было догадаться.

Хороший общий секрет — это случайный GUID, который вводится вручную как в конфигурации сервера, так и в конфигурации клиента. Чтобы создать его, можно, например, использовать New-Guid команду в PowerShell.

Убедитесь, что этот общий секрет никогда не передается по небезопасным каналам. Библиотека удаленного взаимодействия гарантирует, что общий секрет всегда отправляется зашифрованным и только доверенным одноранговым узлам.

Вариант использования 2. Кроме того, необходимо проверить удостоверение пользователя клиентского приложения.

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

  • Клиент авторизует для поставщика удостоверений и запрашивает маркер.
  • Поставщик удостоверений создает маркер и отправляет его клиенту.
  • Клиент отправляет этот маркер на сервер через голографическое удаленное взаимодействие
  • Сервер проверяет маркер клиента по поставщику удостоверений.

Одним из примеров поставщика удостоверений является платформа удостоверений Майкрософт.

Как и в предыдущем случае использования, убедитесь, что эти маркеры не отправляются через небезопасные каналы или не предоставляются иным образом.

См. также: