Защита Azure Sphere

Завершено

В этом уроке вы узнаете о безопасности Azure Sphere.

Приложения на Azure Sphere защищены по умолчанию. Вы должны предоставлять возможности приложению. Предоставление возможностей — главное в системе безопасности Azure Sphere. Это также называется принципом предоставления минимальных прав. Вы должны предоставлять только те возможности, которые необходимы для правильной работы приложения Azure Sphere.

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

Центр Интернета вещей и сетевые конечные точки DPS

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

При подключении к Центру Интернета вещей необходимо объявить глобальную конечную точку службы подготовки устройств, сетевую конечную точку DPS а также конечную точку для Центра Интернета вещей. В противном случае приложение Azure Sphere не сможет подключиться к Центру Интернета вещей.

Возможности сетевых конечных точек

Сетевые конечные точки объявляются в файле приложения app_manifest.json в разделе AllowedConnections.

{
    ...
    "AllowedConnections": [
      "global.azure-devices-provisioning.net",
      "your-iot-hub-network-endpoint",
      "your-dps-network-endpoint"
    ],
    ...
}

Доступ к оборудованию

Напомним, что приложения Azure Sphere приложения защищены по умолчанию, и вы должны объявить доступ к аппаратным периферийным устройствам, которые требуются вашему приложению. Если не объявить оборудование, необходимое для приложения, то приложению не удастся получить доступ к этому оборудованию. Безопасность доступа к оборудованию реализована в оборудовании в виде брандмауэра на микросхеме. Как дополнительный уровень безопасности брандмауэр на микросхеме можно назвать "липким" — его настройки сохраняются до перезапуска устройства.

Возможности оборудования

Оборудование объявляется в файле app_manifest.json в разделе Capabilities.

{
  ...
  "Capabilities": {
    "Gpio": [
      "$BUTTON_A",
      "$NETWORK_CONNECTED_LED",
      "$ALERT_LED"
    ],
    "I2cMaster": [
      "$I2cMaster2"
    ],
  ...
  },
  ...
}

Определения оборудования

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

В практических занятиях этого модуля обучения имеется ряд файлов определения оборудования для досок разработчика AVNET и SEEED Studio Azure Sphere. Файл определения оборудования azure_sphere_learning_path включен в main.c для каждого практического занятия.

#include "hw/azure_sphere_learning_path.h"