Аврора TEE
Операционная система Аврора TEE (Trusted Execution Environment) является доверенной средой исполнения доверенных программ (Trusted Application, TA или же трастлет). Подробнее о системной архитектуре TEE можно прочитать здесь. ОС Аврора TEE функционирует на устройстве совместно с универсальной средой исполнения (Regular Execution Environment или же REE) — ОС Аврора. При этом ОС Аврора TEE изолирована от ОС Аврора с использованием аппаратной технологии ARM Trustzone, за счёт чего обеспечивается:
-
аппаратное разделение ресурсов между двумя состояниями процессора: Normal World/Secure World (доверенный режим исполнения). Взаимодействие Normal World и Secure World режимов ARM Trustzone выглядит следующим образом:
-
разграничение доступа к памяти и периферии, переключение между основным и доверенными режимами исполнения ядра процессора осуществляется путём вызова специальной инструкции (SMC) или прерываниями;
-
изолированная среда исполнения доверенного режима, позволяющая организовать дальнейшую изоляцию сервисов внутри ТЕЕ;
-
cнижение размера объема доверенного кода;
-
уменьшение поверхности атаки.
Таким образом, основная ОС не может оказывать влияния на исполнение трастлетов в TEE и обрабатываемые данные. Разграничение ОС Аврора и ОС Аврора TEE выглядит следующим образом:
ОС Аврора TEE разрабатывается на базе ОС с открытыми исходными текстами OP-TEE, которая развивается с учётом международных спецификаций.
ОС Аврора TEE интегрирована в цепочку доверия — проверяется электронная подпись в процессе доверенной загрузки ПО. Возможна интеграция партнерских сервисов (трастлетов). В настоящий момент разработкой трастлетов занимается только ООО "Открытая мобильная платформа". Теоретически ОС Аврора TEE может работать с любым Linux-дистрибутивом. В настоящий момент поддерживается только ОС Аврора. Аврора ТЕЕ поставляется на устройстве вместе с ОС Аврора, отдельно не лицензируется. ООО "Открытая мобильная платформа" стремится к обеспечению работы ОС Аврора ТЕЕ на максимально возможном количестве актуальных устройств, поддерживающих ОС Аврора.
ОС Аврора TEE выпускается в двух исполнениях: base (базовое) и standard (стандартное). Исполнение standard является расширенным по отношению к base, и отличается от него наличием в своем составе программного средства ATIC. На момент выпуска ОС Аврора версии 5.1.3 поддерживаются следующие устройства:
- Исполнение base:
- КПК Aquarius NS M21;
- планшет Aquarius NS208RH;
- планшет Aquarius NS220RE;
- смартфон Mashtab TrustPhone T1;
- планшет Fplus T1100;
- планшет Fplus T800.
- Исполнение standard:
- КПК Aquarius NS M12;
- смартфон Fplus R570Е.
Установка ОС Аврора ТЕЕ выполняется вместе с остальным ПО ОС Аврора средствами fastboot ("по проводу"). Дооборудование беспроводным способом ("по воздуху") устройств, на которые Аврора ТЕЕ не прошивалась, в данный момент невозможна.
Содержание:
- Основные функции ОС Аврора TEE
- Основные функции TEE Keystore
- Основные функции Aurora Trusted Intergrity Checker
Основные функции ОС Аврора TEE
ОС Аврора TEE обеспечивает:
- безопасное хранилище данных и обработка данных:
- хранение данных в зашифрованном виде;
- обеспечение целостности данных;
- обеспечение доверенности трастлетов, за счет проверки их электронной подписи.
- криптографический сервис — TEE Keystore;
- контроль целостности кода и данных ядра основной ОС (ОС Аврора) — Aurora Trusted Intergrity Checker (ATIC).
Возможно расширение функций доверенной вычислительной базы (Trusted Computing Base или же TCB) за счёт реализации необходимых доверенных приложений.
Аналогом Аврора ТЕЕ является Google Trusty.
Основные функции TEE Keystore
TEE Keystore обеспечивает:
- реализацию ряда криптографических алгоритмов;
- хранение ключевых данных в зашифрованном виде;
- неизвлекаемость ключевых данных в ОС Аврора (предоставляет прикладным приложениям результат выполнения криптофункции, ключевые данные не предоставляет).
ПС TEE Keystore используется программным обеспечением из состава ОС Аврора. Например, браузер на базе gecko хранит в TEE Keystore пользовательскую ключевую пару для обеспечения TLS соединения c двусторонней аутентификацией. Сторонние пользовательские приложения также имеют возможность использования TEE Keystore посредством QCA криптоAPI и PKCS#11 интерфейса. Документация, описывающая Keystore и QCA криптоAPI, представлена в разделе Программное средство (ПС) Aurora Keystore. Пример взаимодействия с Keystore посредством QCA криптоAPI можно найти здесь.
Основные функции Aurora Trusted Intergrity Checker
Aurora Trusted Intergrity Checker (ATIC) — механизм безопасности, осуществляющий:
- контроль статических данных и кода ядра ОС Аврора, таблицы системных вызовов и прерываний ядра;
- контроль внутренних структур ядра по событиям (системные вызовы, работа модулей, т.д.);
- контроль целостности основывается на периодической проверке контрольных сумм контролируемых участков памяти на соответствие эталонному значению;
- инициирование проверки целостности безопасным прерыванием, контролируемым ТЕЕ, с заданным интервалом;
- перезагрузку устройства и информирование пользователя о нарушении целостности устройства.
Пример сообщения об ошибке: