Trusted Platform Module

редактировать

Компоненты доверенного платформенного модуля, соответствующие стандарту TPM версии 1.2

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

Содержание

  • 1 История
  • 2 Обзор
  • 3 Использование
    • 3.1 Целостность платформы
    • 3.2 Шифрование диска
    • 3.3 Защита паролем
    • 3.4 Другое использование и проблемы
  • 4 TPM реализации
  • 5 TPM 1.2 против TPM 2.0
  • 6 Критика
  • 7 Атаки
    • 7.1 Разногласия по поводу генерации слабых ключей в 2017 г.
  • 8 Доступность
  • 9 См. также
  • 10 Ссылки
  • 11 Далее чтение

История

Trusted Platform Module (TPM) был разработан консорциумом компьютерной индустрии под названием Trusted Computing Group (TCG) и был стандартизирован Международная организация по стандартизации (ISO) и Международная электротехническая комиссия (IEC) в 2009 году как ISO / IEC 11889.

TCG продолжала пересматривать спецификации TPM. Последняя пересмотренная версия основной спецификации TPM версии 1.2 была опубликована 3 марта 2011 г. Она состоит из трех частей в зависимости от их назначения. Однако для второй основной версии TPM TCG выпустила спецификацию библиотеки TPM 2.0, которая основана на ранее опубликованной основной спецификации TPM. Его последняя редакция была выпущена 29 сентября 2016 года, с несколькими ошибками, последняя из которых датирована 8 января 2018 года.

Обзор

Trusted Platform Module предоставляет

  • A аппаратный генератор случайных чисел
  • Средства для безопасного создания криптографических ключей для ограниченного использования.
  • Удаленная аттестация : Создает практически неподдающийся подделке хэш-ключ сводку конфигурация оборудования и программного обеспечения. Программное обеспечение, отвечающее за хеширование данных конфигурации, определяет объем сводки. Это позволяет третьей стороне проверить, что программное обеспечение не было изменено.
  • Привязка: данные шифруются с помощью ключа привязки TPM, уникального ключа RSA, наследуемого от ключа хранилища.
  • Запечатывание : аналогично привязке, но, кроме того, определяет состояние TPM для данных, которые будут расшифрованы (распечатаны).
  • Другие функции Trusted Computing

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

Использует

Министерство обороны США (DoD) указывает, что "новые компьютерные активы (например, сервер, настольный компьютер, ноутбук, тонкий клиент, планшет, смартфон, персональный цифровой помощник, мобильный телефон), закупленные для поддержки DoD, будут включать TPM версии 1.2 или выше, если этого требует DISA STIGs и где такая технология доступна ». DoD предполагает, что TPM будет использоваться для идентификации, аутентификации, шифрования и проверки целостности устройства.

Целостность платформы

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

Ответственность за обеспечение указанной целостности с помощью TPM лежит на микропрограммном обеспечении и операционной системе. Например, Unified Extensible Firmware Interface (UEFI) может использовать TPM для формирования корня доверия : TPM содержит несколько регистров конфигурации платформы (PCR), которые обеспечивают безопасное хранение и отчетность о безопасности соответствующие показатели. Эти показатели можно использовать для обнаружения изменений в предыдущих конфигурациях и принятия решения о дальнейших действиях. Хорошие примеры можно найти в Linux Unified Key Setup (LUKS), BitLocker и PrivateCore vCage memory encryption. (См. Ниже.)

Примером использования TPM для обеспечения целостности платформы является Trusted Execution Technology (TXT), которая создает цепочку доверия. Он может удаленно подтвердить, что компьютер использует указанное оборудование и программное обеспечение.

Шифрование диска

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

Защита паролем

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

Другое применение и проблемы

Любое приложение может использовать микросхему TPM для:

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

Реализации TPM

Trusted Platform Module, установленный на материнской плате
Эталонная реализация TPM 2.0
Разработчик (и) Microsoft
Repository github.com / Microsoft / ms-tpm-20-ref
Написано наC, C ++
Тип Реализация TPM
Лицензия Лицензия BSD
Веб-сайтдоверенная вычислительная группа. org / tpm-library-спецификация

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

Trusted Computing Group (TCG) сертифицировала микросхемы TPM, произведенные Infineon Technologies, Nuvoton и STMicroelectronics, присвоив идентификаторы поставщиков TPM в Advanced Micro Devices, Atmel, Broadcom, IBM, Infineon, Intel, Lenovo, National Semiconductor, Nationz Technologies, Nuvoton, Qualcomm, Rockchip, Standard Microsystems Corporation, STMicroelectronics, Samsung, Sinosun, Texas Instruments и Winbond.

Существует пять различных типов реализаций TPM 2.0:

  • Дискретные TPM - это выделенные микросхемы, которые реализуют функции TPM самостоятельно. устойчивый к взлому полупроводниковый корпус. Теоретически они являются наиболее безопасным типом TPM, поскольку процедуры, реализованные на оборудовании, должны быть более устойчивыми к ошибкам по сравнению с подпрограммами, реализованными в программном обеспечении, а их пакеты должны обеспечивать некоторую защиту от несанкционированного доступа.
  • Интегрированные TPM являются частью другого чип. Хотя они используют оборудование, устойчивое к программным ошибкам, они не обязаны обеспечивать защиту от несанкционированного доступа. Intel интегрировала TPM в некоторые из своих наборов микросхем..
  • Микропрограммное обеспечение TPM - это программные решения, работающие в доверенной среде выполнения ЦП. Поскольку эти доверенные платформенные модули являются полностью программными решениями, работающими в надежных средах выполнения, эти доверенные платформенные модули с большей вероятностью будут уязвимы для ошибок программного обеспечения. AMD, Intel и Qualcomm внедрили TPM микропрограмм.
  • TPM гипервизора - это виртуальные TPM, предоставляемые гипервизорами и полагающиеся на них, в изолированной среде выполнения, которая скрыта от программного обеспечения, работающего внутри виртуальные машины для защиты своего кода от программного обеспечения виртуальных машин. Они могут обеспечивать уровень безопасности, сравнимый с TPM микропрограмм.
  • Программные TPM - это программные эмуляторы TPM, которые работают с не большей защитой, чем обычная программа в операционной системе. Они полностью зависят от среды, в которой они работают, поэтому они не обеспечивают большей безопасности, чем то, что может обеспечить обычная среда выполнения, и они уязвимы для собственных программных ошибок и атак, проникающих в обычную среду выполнения. Они полезны в целях разработки.

Официальная эталонная реализация TCG спецификации TPM 2.0 была разработана Microsoft. Он под лицензией BSD License, а исходный код доступен на GitHub. Microsoft предоставляет решение Visual Studio и сценарии сборки Linux autotools.

В 2018 году Intel открыла исходный код своего программного стека Trusted Platform Module 2.0 (TPM2) с поддержкой Linux и Microsoft Windows. Исходный код размещен на GitHub и под лицензией BSD License.

Infineon профинансировал разработку промежуточного программного обеспечения TPM с открытым исходным кодом, которое соответствует спецификации API расширенной системы (ESAPI) программного стека (TSS) TCG.. Он был разработан Институтом Фраунгофера для безопасных информационных технологий (SIT).

Программное обеспечение IBM TPM 2.0 является реализацией спецификации TCG TPM 2.0. Он основан на частях 3 и 4 спецификации TPM и исходном коде, предоставленном Microsoft. Он содержит дополнительные файлы для завершения реализации. Исходный код размещен на SourceForge и лицензируется по лицензии BSD.

TPM 1.2 vs TPM 2.0

В то время как TPM 2.0 обращается ко многим из тех же сценариев использования и имеет аналогичные функции, детали разные. TPM 2.0 не имеет обратной совместимости с TPM 1.2.

СпецификацияTPM 1.2TPM 2.0
АрхитектураУниверсальная спецификация состоит из из трех частей.Полная спецификация состоит из специфической для платформы спецификации, которая ссылается на общую библиотеку TPM 2.0, состоящую из четырех частей. Спецификации платформы определяют, какие части библиотеки являются обязательными, необязательными или запрещенными для этой платформы; и подробно описать другие требования для этой платформы. Спецификации платформы включают клиент для ПК, мобильный и тонкий автомобильный.
Требуются алгоритмыSHA-1 и RSA. AES не является обязательным. Triple DES когда-то был необязательным алгоритмом в более ранних версиях TPM 1.2, но был запрещен в TPM 1.2 версии 94. Функция генерации маски на основе хэша MGF1, которая определена в PKCS # 1 Спецификация профиля TPM клиентской платформы ПК (PTP) требует SHA-1 и SHA-256 для хэшей; RSA, ECC с использованием 256-битной кривой Баррето-Нерига и кривой NIST P-256 для криптографии с открытым ключом и асимметричной электронная подпись создание и проверка; HMAC для создания и проверки симметричной цифровой подписи; 128-битный AES для алгоритма с симметричным ключом ; и функция генерации маски на основе хэша MGF1, которая определена в PKCS # 1, требуются Спецификацией профиля TPM клиентской платформы TCG PC (PTP). Также определены многие другие алгоритмы, но они не являются обязательными. Обратите внимание, что Triple DES был считан в TPM 2.0, но с ограничениями некоторых значений в любом 64-битном блоке.
Crypto PrimitivesA генератор случайных чисел, открытый ключ требуются криптографический алгоритм, криптографическая хеш-функция, функция генерации маски, генерация и проверка цифровой подписи и прямая анонимная аттестация. Алгоритмы с симметричным ключом и исключающие или являются необязательными. Также требуется генерация ключа.A генератор случайных чисел, криптографические алгоритмы с открытым ключом, криптографические хеш-функции, алгоритмы симметричного ключа, генерация и проверка цифровой подписи, функции генерации масок, эксклюзивное или, и На основе ECC Прямая анонимная аттестация с использованием 256-битной кривой Баррето-Наерига требуется в соответствии со спецификацией профиля TPM клиентской платформы TCG PC (PTP). Спецификация общей библиотеки TPM 2.0 также требует генерации ключей и функций деривации ключей.
ИерархияОдин (хранилище)Три (платформа, хранилище и подтверждение)
Корневые ключиОдин (SRK RSA-2048)Несколько ключей и алгоритмов на иерархию
АвторизацияHMAC, PCR, местонахождение, физическое присутствиеПароль, HMAC и политика (которая охватывает HMAC, PCR, местонахождение и физическое присутствие).
NVRAMНеструктурированные данныеНеструктурированные данные, счетчик, растровое изображение, расширение

Авторизация политики TPM 2.0 включает 1.2 HMAC, местоположение, физическое присутствие и PCR. Он добавляет авторизацию на основе асимметричной цифровой подписи, косвенного обращения к другому секрету авторизации, счетчиков и временных ограничений, значений NVRAM, конкретной команды или параметров команды и физического присутствия. Он позволяет выполнять операции И и ИЛИ этих примитивов авторизации для построения сложных политик авторизации.

Критика

TCG столкнулась с сопротивлением развертыванию этой технологии в некоторых областях, где некоторые авторы не видят возможных применений. конкретно относится к Trusted Computing, что может вызвать проблемы с конфиденциальностью. Проблемы включают злоупотребление удаленной проверкой программного обеспечения (когда производитель‍ - а не пользователь, владеющий компьютерной системой‍ - решает, какое программное обеспечение разрешено запускать) и возможные способы отслеживания действий, предпринятых пользователем, записываемых в базу данных, в способ, который полностью не обнаруживается пользователем.

Утилита шифрования диска TrueCrypt, а также ее производная VeraCrypt не поддерживают TPM. Первоначальные разработчики TrueCrypt придерживались мнения, что исключительная цель TPM - «защита от атак, требующих от злоумышленника прав администратора или физического доступа к компьютеру». Злоумышленник, имеющий физический или административный доступ к компьютеру, может обойти TPM, например, установив аппаратный регистратор нажатий клавиш, сбросив TPM или захватив содержимое памяти и получив ключи, выданные TPM. Таким образом, осуждающий текст заходит так далеко, что утверждает, что TPM полностью избыточен. Издатель VeraCrypt воспроизвел первоначальное утверждение без каких-либо изменений, кроме замены TrueCrypt на VeraCrypt.

Атаки

В 2010 году Кристофер Тарновски представил атаку на TPM на Black Hat Briefings, где он утверждал, что может извлекать секреты из одного TPM. Он смог сделать это после 6 месяцев работы, вставив зонд и проследив за внутренней шиной для ПК Infineon SLE 66 CL.

В 2015 году в рамках проекта Разоблачения Сноудена, было обнаружено, что в 2010 году команда ЦРУ США заявила на внутренней конференции, что провела анализ дифференциальной мощности атаку против TPM, которая смогла извлечь секреты.

В 2018 году было сообщено о недостатке конструкции в спецификации TPM 2.0 для статического корня доверия для измерения (SRTM) (CVE - 2018-6622 ). Это позволяет злоумышленнику сбрасывать и подделывать регистры конфигурации платформы, которые предназначены для безопасного хранения измерений программного обеспечения, которое используется для начальной загрузки компьютера. Для его исправления требуются исправления прошивки для конкретного оборудования. Злоумышленник злоупотребляет прерываниями питания и восстанавливает состояние TPM, чтобы заставить TPM думать, что он работает на незащищенных компонентах.

Основные Trusted Boot (tboot) распределения до ноября 2017 г. подвержены влиянию Атака динамического корня доверия для измерения (DRTM) CVE -2017-16837, которая затрагивает компьютеры, работающие на технологии Intel Trusted eXecution Technology (TXT) для процедуры загрузки.

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

Споры о создании слабого ключа в 2017 г.

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

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

Доступность

В настоящее время TPM используется почти всеми производителями ПК и ноутбуков.

TPM реализуется несколькими поставщиками:

  • В 2006 году, с появлением первых моделей Macintosh с процессорами Intel, Apple начала поставлять Mac с TPM. Apple никогда не предоставляла официального драйвера, но был доступен порт под GPL. Apple не поставляла компьютеры с TPM с 2006 года.
  • Atmel производит устройства TPM, которые, по ее утверждению, соответствуют спецификации Trusted Platform Module версии 1.2, редакция 116 и предлагаются с несколькими интерфейсами (LPC, SPI и I2C), режимы (сертифицированный FIPS 140-2 и стандартный режим), температурные классы (коммерческие и промышленные) и пакеты (TSSOP и QFN). TPM Atmel поддерживает ПК и встроенные устройства. Atmel также предоставляет комплекты разработки TPM для поддержки интеграции своих устройств TPM в различные встраиваемые конструкции.
  • Google включает TPM в Chromebook как часть своей модели безопасности.
  • Google Compute Engine предлагает виртуализированные TPM (vTPM) как часть продукта Google Cloud для экранированных виртуальных машин.
  • Infineon предоставляет как микросхемы TPM, так и программное обеспечение TPM, которое поставляется как OEM версии с новыми компьютерами, а также отдельно Infineon для продуктов с технологией TPM, соответствующей стандартам TCG. Например, Infineon предоставила Broadcom Corp. лицензию на программное обеспечение для управления TPM в 2004 году.
  • Операционные системы Microsoft Windows Vista и более поздние версии используют микросхему в сочетании с включенным компонентом шифрования диска под названием BitLocker.. Microsoft объявила, что с 1 января 2015 года все компьютеры должны быть оснащены модулем TPM 2.0, чтобы пройти сертификацию оборудования Windows 8.1 . Однако в обзоре программы сертификации Windows в декабре 2014 г. это было сделано как необязательное требование. Однако TPM 2.0 требуется для подключенных резервных систем. Виртуальные машины, работающие на Hyper-V, могут иметь собственный виртуальный модуль TPM, начиная с Windows 10 1511 и Windows Server 2016.
  • В 2011 году тайваньский производитель MSI выпустил свой планшет Windpad 110W с AMD CPU и TPM Infineon Security Platform, который поставляется с управляющим программным обеспечением версии 3.7. По умолчанию чип отключен, но его можно включить с помощью прилагаемого предустановленного программного обеспечения.
  • Nuvoton предоставляет устройства TPM, реализующие спецификации Trusted Computing Group (TCG) версии 1.2 и 2.0 для приложений ПК. Nuvoton также предоставляет устройства TPM, реализующие эти спецификации для встроенных систем и приложений IoT (Интернет вещей) через хост-интерфейсы I2C и SPI. TPM Nuvoton соответствует Common Criteria (CC) с расширенным уровнем гарантии EAL 4, требованиям FIPS 140-2 уровня 1 и TCG Compliance, все они поддерживаются на одном устройстве.
  • Oracle поставляет TPM в своих последних версиях X- и T. -Системы серии, такие как серверы серии T3 или T4. Поддержка включена в Solaris 11.
  • PrivateCore vCage использует микросхемы TPM в сочетании с Intel Trusted Execution Technology (TXT) для проверки систем при загрузке.
  • VMware ESXi гипервизор поддерживает TPM с 4.x, а с 5.0 он включен по умолчанию.
  • Xen гипервизор поддерживает виртуализированные TPM. Каждый гость получает свой собственный уникальный эмулируемый программный TPM.
  • KVM в сочетании с QEMU поддерживает виртуализированные TPM. По состоянию на 2012 год он поддерживает передачу через физический чип TPM одному выделенному гостю. QEMU 2.11, выпущенный в декабре 2017 года, также предоставляет гостям эмулируемые TPM.

Существуют также гибридные типы; например, TPM может быть интегрирован в контроллер Ethernet, что устраняет необходимость в отдельном компоненте материнской платы.

Trusted Platform Module 2.0 (TPM 2.0) поддерживается Ядро Linux, начиная с версии 3.20.

См. Также

Ссылки

Дополнительная литература

  1. Профиль защиты TPM 1.2 (Common Criteria Профиль защиты ), Trusted Computing Group.
  2. Профиль TPM клиентской платформы ПК (PTP) Спецификация (Дополнительные спецификации TPM 2.0 применительно к TPM для клиентов ПК), Trusted Computing Group.
  3. Профиль защиты клиента ПК для TPM 2.0 (Common Criteria Protectio n Профиль для TPM 2.0 применительно к клиентам ПК), Trusted Computing Group.
  4. Trusted Platform Module (TPM) (веб-страница рабочей группы и список ресурсов), Trusted Computing Group.
  5. "OLS: Linux и доверенные вычисления ", LWN.
  6. Trusted Platform Module (подкаст), GRC, 24:30.
  7. Настройка TPM (для Mac OS X), Comet way.
  8. " Безопасность доверенного платформенного модуля (TPM): заявление в Принстонском документе от 26 февраля » (PDF), бюллетень (пресс-релиз), Trusted Computing Group, февраль 2008 г..
  9. « Взять под контроль TCPA », Linux журнал.
  10. Атака сброса TPM, Dartmouth.
  11. Trusted Platforms (white paper), Intel, IBM Corporation, CiteSeerX 10.1.1.161.7603.
  12. Гарретт, Мэтью, Краткое введение в TPM, Dream width.
  13. Мартин, Эндрю, Trusted Infrastructure "101" (PDF), PSU.
  14. Использование TPM: аутентификация и аттестация машины (PDF), Введение в доверенные вычисления, Открытый тренинг по безопасности.
  15. Корень доверия для измерения: смягчение последствий Проблема ложной конечной точки TNC (PDF), CH : HSR, 2011.
Последняя правка сделана 2021-06-11 13:01:19
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте