По мере развития интеллектуальных и сетевых функций автомобиля безопасность бортовых сетей перестаёт быть опцией. Чтобы не бороться со сложной настройкой AUTOSAR SecOC и MACsec для Automotive Ethernet в разрозненных инструментах, в TSMaster есть модуль Security Management — единая точка конфигурации и активации протоколов безопасности.

Ключевые слова: управление безопасностью, протокол SecOC, PDU, протокол MACsec.

1. Обзор функции

Модуль Security Management служит для настройки и активации протоколов безопасности. Помимо стандартных протоколов поддерживаются пользовательские плагины безопасности. Сейчас поддерживаются AUTOSAR SecOC (Secure Onboard Communication) и MACsec (Media Access Control Security) для Ethernet.

Обозначения
Рис. 1. Условные обозначения в документе

2. Окно модуля в Windows

Главное окно модуля состоит из панели инструментов и рабочей области (рис. 2).

Главное окно модуля
Рис. 2. Главное окно Security Management

2.1. Архитектура: два уровня конфигурации

  • Security Configuration (безопасность) — глобальные параметры: ключи, сертификаты и т.п.
  • Project Configuration (проект) — привязка к конкретному проекту: какие сообщения или PDU защищаются.

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

2.2. Security Configuration (глобальная вкладка)

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

  • SecOC — алгоритм, формирующий для PDU код аутентичности. Принимающий узел проверяет его тем же алгоритмом и ключом; при несовпадении PDU отбрасывается. SecOC передаёт PDU открытым текстом, по уровню защиты выше E2E и на практике часто соседствует с E2E.
  • MACsec — стандарт безопасности Ethernet по IEEE 802.1AE: шифрование на канальном уровне (включая IP-адреса), с обменом ключами, как в TLS. Конфигурации добавляются и удаляются через контекстное меню.
ТипОписание
SecOC, проверка по даннымСвежесть (freshness) берётся из самих данных PDU; ARXML должен содержать соответствующее определение для каждого PDU.
SecOC, проверка по метке времениСвежесть на базе временной метки. Формат сообщений синхронизации не стандартизирован — обычно требуется плагин.
SecOC, проверка по синхронизацииСвежесть на базе счётчиков синхронизации и PDU.
СертификатыПока поддерживается разбор части полей сертификатов X.509.
MACsecКонфигурация MACsec для Ethernet; текущая реализация — программная.

2.3. Project Configuration (вкладка проекта)

Проектная конфигурация задаёт конкретную политику безопасности: на каких каналах включён протокол и какие сообщения/PDU проходят проверку (рис. 3).

Проектная конфигурация
Рис. 3. Вкладка проекта

Назначение иконок панели инструментов показано на рис. 4.

Панель инструментов
Рис. 4. Панель инструментов

3. MACsec

ПараметрОписание
ИмяИмя конфигурации, должно быть уникальным; при совпадении применяется первая.
Режим MACsecIntegrity_Only — только целостность; Confidentiality_Offset_0/30/50 — целостность + конфиденциальность со смещением 0/30/50 байт.
Наборы шифровАлгоритмы, допустимые при согласовании (мультивыбор).
Пропускать незащищённые кадрыРазрешить ли прохождение кадров без защиты MACsec.
Защита от задержкиВключение delay protection.
PSK: CKN / CAKИдентификатор ключа соединения / ключ ассоциации соединения.
Защита от повтораВключение replay protection и размер окна повтора.
Key ServerПолитика сервера ключей: согласование по приоритету или принудительное назначение; приоритет MKA (меньше — выше приоритет стать сервером); MKA hello time и bounded hello time (мс).
ПортНомер порта SCI; отправлять ли данные сразу после обнаружения партнёра.
Метка безопасностиВключать ли SCI в SecTAG; использовать ли флаг конечной станции.
Обновление ключейОграничения номера пакета (обычный и XPN), таймаут сессии (мс), ограничение полезной нагрузки.

Стек MACsec от TOSUN использует протокол MKA для обмена ключами — прямое задание симметричного ключа пока не поддерживается. Сначала определите роль канала в MKA. Настройка канала проста: укажите Ethernet-канал, конфигурацию MACsec и MAC-адрес для MKA (MAC подтягивается из смежных настроек автоматически).

4. SecOC

4.1. Конфигурация SecOC

Поддерживаются три способа обработки свежести (freshness): часть данных, метка времени, синхронизирующее сообщение со счётчиком. Для свежести настраивается длина в битах; после вычисления кода аутентичности и свежесть, и код усекаются под пропускную способность (например, длину PDU в CAN). Усечение слегка снижает защищённость, но остаётся в допустимых пределах. Сумма длины усечённой свежести и длины усечённого кода определяет фактическую длину защищённого сообщения: SecOC берёт хвост свежести и начало кода аутентичности.

SecOC PDU
Рис. 5. Структура защищённого PDU

Ключи и алгоритм относятся к проверке. Если нужно несколько ключей, добавьте пары ключей через контекстное меню — система распределит их по Data ID из PDU; для неподошедших PDU используется общий ключ по умолчанию. Для режимов свежести нужны дополнительные настройки: формат отправки метки времени и синхросообщений протоколом не определён, поэтому может понадобиться плагин. ARXML может содержать конфигурацию свежести по метке времени, но не по синхросообщениям — её вводят вручную.

ПараметрОписание
Длина усечённого кода аутентичностиВ битах.
Длина усечённой свежестиВ битах. Сумма с длиной усечённого кода — полная длина поля безопасности; должна укладываться в ограничения протокола.
Длина свежестиВ битах.
АлгоритмАлгоритм формирования кода аутентичности.
КлючиКлючи проверки; при нескольких парах выбор идёт по Data ID защищённого PDU.

4.2. Конфигурация канала SecOC

Перед настройкой защищённых PDU сохраните проект. Затем через контекстное меню импортируйте информацию из ARXML пакетно или введите вручную (рис. 6).

Импорт ARXML
Рис. 6. Импорт PDU из ARXML
ПараметрОписание
Имя PDUДолжно совпадать с именем PDU в базе данных.
Data IDИспользуется в вычислении проверки и для поиска подходящего ключа.
Длина заголовка защищённого PDU0, 1, 2 или 4 байта.
НаправлениеPDU на отправку или на приём.
Максимальная длина PDUДля динамических PDU — предварительное выделение памяти.

5. Пример использования SecOC

В TSMaster есть готовый демонстрационный проект. Помните: security-конфигурация не переносится вместе с файлом проекта — на другом ПК создайте конфигурацию заново (можно без изменений, для справки).

В примере полная длина поля безопасности — 24 + 8 = 32 бита, то есть 4 байта с округлением вверх. ARXML-база резервирует это место под защищённый PDU. Если настроенная длина превышает зарезервированную, PDU ещё может отправиться, но при превышении предела канального уровня отправка не удастся (рис. 7).

Пример SecOC
Рис. 7. Пример конфигурации SecOC

Настройте канал в разделе «Аппаратное обеспечение → выбор канала» и загрузите базу данных в формате ARXML («Анализ → Базы данных → CAN»). SecOC работает на уровне PDU, поэтому база должна содержать определения PDU. После загрузки базы импортируйте определённые в ARXML защищённые PDU; в этом окне можно добавлять и править PDU, включая незащищённые (рис. 8).

Импорт PDU
Рис. 8. Импорт защищённых PDU

Включите отправку нужных PDU в RBS-симуляции и наблюдайте обмен (рис. 9).

RBS-отправка защищённых PDU
Рис. 9. Отправка защищённых PDU в RBS

Совет: свежую версию TSMaster скачивайте с официального сайта (рекомендуется beta); при подключении к интернету обновление доступно прямо из программы. Техподдержка TOSUN: support@tosunai.cn (указывайте компанию и контакты).