Введение в модуль доверенной платформы доверенных вычислений
Введение в модуль доверенной платформы доверенных вычислений
один. фон

Ранняя компьютерная безопасность в основном опиралась на антивирусное программное обеспечение. Однако эта чисто программная защита имела очевидные недостатки. Как только вредоносная программа получит те же разрешения, что и антивирус, она сможет легко отключить программу защиты и незаметно скрыться. Более того, как только вредоносное ПО начинает атаки на встроенное ПО и загрузчики, антивирусному программному обеспечению становится сложнее их обнаружить и уничтожить. В ответ на эти проблемы появился модуль Trusted Platform Module (TPM).

TPM — это международный стандарт безопасных криптографических процессоров, предназначенный для обработки ключей шифрования в устройстве через специальный микроконтроллер, встроенный в устройство (т. е. защищенное оборудование). Этот стандарт был стандартизирован как ISO/IEC 11889 Международной организацией по стандартизации (ISO) и Международной электротехнической комиссией (IEC) в 2009 году.

Разработка TPM прошла несколько этапов, начиная с первоначального крупномасштабного развертывания TPM1.1b и заканчивая версиями TPM1.2 и TPM2.0. В TPM1.2 добавлены и интегрированы функции на основе TPM1.1b. С одной стороны, это компенсирует недостатки предыдущей версии, но также значительно усложняет спецификацию. Позже TPM2.0 воспользовался возможностью устранить недостатки алгоритма SHA-1 и перепроектировал более интегрированную и унифицированную архитектуру, сделав поддержку алгоритма более гибкой.

2. Введение в TPM

2.1

композиция

Стандартный модуль доверенной платформы показан на рисунке 1 и обычно состоит из следующих частей:

Ввод и вывод (I/O): управляет передачей потока данных между различными компонентами внутри TPM и служит интерфейсом для взаимодействия TPM с внешней шиной.

Энергонезависимое хранилище: используется для хранения ключевых данных, в основном включая ключи (ключ подтверждения EK и корневой ключ хранилища SRK) и данные авторизации владельца.

Ключ аутентификации удостоверения платформы (AIK). Будучи специальным ключом RSA в TPM, он математически связан с EK и используется для аутентификации подписи платформы.

Регистр конфигурации платформы (PCR): обеспечивает криптографический способ записи состояния программного обеспечения и используется для хранения измерений состояния системы во время запуска системы.

Программный код: используется для инициализации прошивки устройства.

Механизм выполнения: отвечает за выполнение программного кода.

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

Генератор случайных чисел: генерирует качественные случайные числа, необходимые для ключей, соответствующие требованиям стандарта TPM.

Генератор ключей: генерируйте корневые ключи с помощью механизма ускорения криптографии и генератора случайных чисел.

Рисунок 1. Структура композиции TPM

2.2

Функция

2.2.1

Аутентификация личности

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

(1) Идентификация аутентификации VPN: устройство подписывает сообщение с помощью закрытого ключа в TPM, а открытый ключ используется в фоновом режиме для проверки подписи, тем самым гарантируя, что только определенные устройства и пользователи могут получить доступ к внутренним сетевым ресурсам;

(2) Подтверждение личности при обмене информацией: используйте закрытый ключ, хранящийся в TPM, для подписи данных, чтобы обеспечить надежность источника сообщения.

2.2.2

Шифрование и дешифрование

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

(1) Шифрование файлов и папок;

(2) Шифрование диска;

(3) Зашифруйте удаленно хранящиеся файлы.

2.2.3

Хранение ключей

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

(1) Большее количество ключей означает, что для шифрования разных данных можно использовать разные ключи. В сценариях защиты конфиденциальности различная информация шифруется с использованием разных ключей для повышения детализации защиты конфиденциальности и повышения безопасности;

(2) Используйте разные ключи для данных с разными уровнями безопасности;

(3) Зашифрованный ключ можно хранить на сервере и получать с него при необходимости, что делает его более гибким в использовании.

2.2.4

Генерация случайных чисел

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

(1) Предоставьте начальные числа случайных чисел для операционной системы.

(2) Укажите nonce (случайное число) для протокола безопасности.

(3) Создать ключ

2.2.5

авторитет

Когда TPM запускает систему, программное обеспечение рассчитает серию хэш-значений на основе состояния системы и сохранит их в регистре конфигурации платформы (PCR). Впоследствии эту серию измеренных значений можно подписать с помощью определенного идентификатора. закрытый ключ, а затем сообщается наружу. PCR основан на функции хранения отдельных элементов, чтобы гарантировать, что контент не будет подделан, поэтому, если значения в PCR совпадают с ожидаемыми значениями, эти значения считаются достоверными. Этот процесс измерения можно использовать для проверки целостности и безопасности системы и предотвращения ее заражения вредоносным ПО.

3. Программный стек TPM2.

Программный стек TPM2 (Trusted Platform Module 2.0 Software Stack, TPM2-TSS) — это серия программного обеспечения, предназначенная для облегчения взаимодействия приложений с устройствами TPM2.0. Этот программный стек реализует спецификацию TPM2.0 и предоставляет ряд инструментов и библиотек для облегчения доступа разработчиков.

Основные возможности:

(1) Кроссплатформенность. Общий дизайн не зависит от операционной системы и может использоваться в различных операционных системах и средах с хорошей переносимостью.

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

(3) Стандартизация. Проект соответствует спецификации TPM 2.0 и предоставляет набор стандартных API-интерфейсов, позволяющих разработчикам программного обеспечения и системным интеграторам взаимодействовать с устройствами TPM 2.0 стандартизированным образом.

TPM2-TSS предоставляет следующие различные уровни инфраструктур:

(1)TPM Command Transmission Interface

(TCTI): стандартный API для передачи/получения команд и результатов TPM. Он определяет способ взаимодействия с оборудованием TPM и является самым низким интерфейсом в TPM2-TSS.

(2) Маршалинг/демаршалинг (MU): библиотека функций для кодирования и декодирования структур данных TPM.

(3) Системный API (SAPI, иногда SYS): взаимно однозначное сопоставление команд TPM2, которое представляет собой интерфейс нижнего уровня. Использование SAPI требует от разработчиков глубокого понимания команд TPM, включая параметры команд, статус, обработку ошибок и т. д.

(4)Enhanced System API (ESAPI, sometimes ESYS): в системе Он инкапсулирован на основе API для уменьшения сложности программирования и упрощения расчета HMAC, а шифрование параметров реализовано с использованием контекста Безопасности. и дешифрование, проверка команд TPM и т.д. Хотя это проще, чем SAPI,Однако при его использовании вам все равно необходимо иметь глубокое понимание определения интерфейса TPM2.0.,Поэтому официально рекомендуется к использованию только профессионалами в профессиональных приложениях. Для общего применения,Рекомендуется использовать интерфейс более высокого уровня (FAPI).

(5) Feature API (FPAI): более высокий уровень абстракции, более простой и удобный в использовании, чем SAPI и ESAPI. Он предназначен для того, чтобы позволить разработчикам, не понимающим TPM, использовать возможности безопасности TPM. При обеспечении безопасности сокращается объем кода, который необходимо писать и поддерживать. Разработчикам не нужно беспокоиться о сложных спецификациях TPM2.0, что повышает эффективность разработки и снижает порог внедрения решений безопасности.

Рисунок 2. Программный стек TPM2

4. Резюме

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

Ссылки

https://en.wikipedia.org/wiki/Trusted_Platform_Module

Will, Arthur and Challener, David and Goldman, Kenneth (1015). A Practical Guide to TPM 2.0. Apress Open, Springer New York, 2015

Tomlinson, Allan. "Introduction to the TPM." Smart Cards, Tokens, Security and Applications (2017): 173-191.

https://tpm2-software.github.io/

Редактор контента: Институт инновационных исследований Ян Боцзе Ответственный редактор: Чэнь Фочжун, Институт инновационных исследований

Исходная статья в этом общедоступном аккаунте отражает только точку зрения автора и не отражает позицию NSFOCUS Technology. Авторские права на весь оригинальный контент принадлежат NSFOCUS Technology Research Communications. Без разрешения любым СМИ или официальным аккаунтам WeChat строго запрещено копировать, перепечатывать, извлекать или иным образом использовать эту информацию. Перепечатки должны быть указаны как исходящие от NSFOCUS Technology Research Communications и включать ссылку на эту статью.

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose