Trusted platform module

Возможные применения

Аутентификация

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

Защита данных от кражи

Это является основным назначением «защищённого контейнера». Самошифрующиеся устройства, реализованные на основе спецификаций Trusted Computing Group, делают доступными встроенное шифрование и контроль доступа к данным. Такие устройства обеспечивают полное шифрование диска, защищая данные при потере или краже компьютера.

Преимущества:

Улучшение производительности

Аппаратное шифрование позволяет оперировать со всем диапазоном данных без потерь производительности.

Усиление безопасности

Шифрование всегда включено. Кроме того, ключи генерируются внутри устройства и никогда не покидают его.

Низкие издержки использования

Не требуются модификации операционной системы, приложений и т. д. Для шифрования не используются ресурсы центрального процессора.
Большие перспективы имеет связка TPM+Bitlocker. Такое решение позволяет прозрачно от ПО шифровать весь диск.

Управление доступом к сети (NAC)

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

Защита ПО от изменения

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

Защита от копирования

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

Состояние OEM касательно доступности систем TPM 2.0 и сертифицированных компонентовOEM Status on TPM 2.0 system availability and certified parts

Пользователи государственных учреждений и корпоративные клиенты в регулируемых отраслях могут руководствоваться стандартами покупки, которые требуют использования общих сертифицированных компонентов TPM.Government customers and enterprise customers in regulated industries may have acquisition standards that require use of common certified TPM parts. В результате изготовители оборудования, которые предоставляют устройства, могут столкнуться с необходимостью использования только сертифицированных компонентов TPM в системах коммерческого уровня.As a result, OEMs, who provide the devices, may be required to use only certified TPM components on their commercial class systems. За дополнительными сведениями обратитесь к OEM или поставщику данного оборудования.For more information, contact your OEM or hardware vendor.

Доверенная платформа (англ. The trusted Platform)

Идея доверенной платформы или платформы, которой можно доверять (её ожидаемое поведение всегда совпадает с реальным), основана на понятии «корень доверия» (англ. Root of Trust) — набор компонентов, которым нужно доверять. Полный набор корней доверия имеет минимальную функциональность, необходимую для описания платформы, что влияет на доверенность этой платформе. Есть три корня доверия: корень доверия для измерений (RTM), корень доверия для хранения (RTS) и корень доверия для сообщений (RTR). RTM — вычислительный механизм, который производит надёжные измерения целостности платформы. RTS — вычислительный механизм, способный хранить хэши значений целостности. RTR — механизм, который надёжно сообщает о хранимой в RTS информации. Данные измерений описывают свойства и характеристики измеряемых компонентов. Хэши этих измерений — «снимок» состояния компьютера. Их хранение осуществляется функциональностью RTS и RTR. Сравнивая хэш измеренных значений с хэшом доверенного состояния платформы, можно судить о целостности системы.

Краткий обзор

Trusted Platform Module (TPM), содержащий в себе криптопроцессор, обеспечивает средства безопасного создания ключей шифрования, способных ограничить использование ключей (как для подписи, так и для шифрования/дешифрования) с той же степенью неповторяемости, что и генератор случайных чисел. Также этот модуль имеет следующие возможности: удалённую аттестацию, привязку и надёжное защищённое хранение. Удалённая аттестация создаёт связь аппаратных средств, загрузки системы и конфигурации хоста (ОС компьютера), разрешая третьему лицу (вроде цифрового магазина музыки) проверять, чтобы программное обеспечение или музыка, загруженная из магазина, не были изменены или скопированы пользователем (см. DRM). Криптопроцессор шифрует данные таким способом, что они могут быть расшифрованы только на компьютере, где были зашифрованы, под управлением того же самого программного обеспечения. Привязка шифрует данные, используя ключ подтверждения TPM — уникальный ключ RSA, записанный в чип в процессе его производства, или другой ключ, которому доверяют.

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

Что такое TPM и как его использовать в Windows

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

Доверенный платформенный модуль, или TPM (trusted platform module) – это отдельный микрочип на системной плате компьютера, который выполняет специфический круг задач, связанных с криптографией и защитой компьютера.

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

Расшифрование (decryption) иногда некорректно называют дешифрование (deciphering). Разница между ними в том, что при расшифровании вам известен алгоритм и секретный ключ, которым зашифрованы данные, а при дешифровании – нет.

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

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

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

  • Во-первых, чип нужно активировать в BIOS компьютера (если он не активирован).
  • Во-вторых, нужно стать его владельцем на уровне операционной системы.

Рассмотрим эти шаги более подробно.

Using TPM 1.2

Drivers

TPM drivers are natively supported in modern kernels, but might need to be loaded:

# modprobe tpm

Depending on your chipset, you might also need to load one of the following:

# modprobe -a tpm_{atmel,infineon,nsc,tis,crb}

Usage

TPM 1.2 is managed by , a userspace daemon that manages Trusted Computing resources and should be (according to the TSS spec) the only portal to the TPM device driver. is part of the AUR AUR package, which was created and released by IBM, and can be configured via .

To start tcsd and watch the output, run:

# tcsd -f

or simply start and enable .

Once is running you might also want to install AUR which provides many of the command line tools for managing the TPM.

Some other tools of interest:

tpmmanager — A Qt front-end to tpm-tools

opencryptoki — A PKCS#11 implementation for Linux. It includes drivers and libraries to enable IBM cryptographic hardware as well as a software token for testing.

Basics

Start off by getting basic version info:

$ tpm_version

and running a selftest:

$ tpm_selftest -l info
 TPM Test Results: 00000000 ...
 tpm_selftest succeeded

Securing SSH Keys

There are several methods to use TPM to secure keys, but here we show a simple method based on AUR.

First, create a new directory and generate the key:

$ mkdir ~/.simple-tpm-pk11
$ stpm-keygen -o ~/.simple-tpm-pk11/my.key

Point the config to the key:

~/.simple-tpm-pk11/config
key my.key

Now configure SSH to use the right PKCS11 provider:

~/.ssh/config
Host *
    PKCS11Provider /usr/lib/libsimple-tpm-pk11.so

It’s now possible to generate keys with the PKCS11 provider:

$ ssh-keygen -D /usr/lib/libsimple-tpm-pk11.so

Note: This method currently does not allow for multiple keys to be generated and used.

Accessing PCR registers

Platform Configuration Registers (PCR) contain hashes which intended to be used for platform hardware and software integrity checking between boots (protection against Evil Maid attack. AUR facilitates this check with an human observer and dedicated trusted devise.

# cat /sys/kernel/security/tpm0/ascii_bios_measurements

Взломы

На конференции по компьютерной безопасности Black Hat 2010 было объявлено о взломе чипа Infineon SLE66 CL PE, изготовленного по спецификации TPM. Данный чип используется в компьютерах, оборудовании спутниковой связи и игровых приставках. Для взлома использовался электронный микроскоп (стоимостью около $70 000). Оболочка чипа была растворена кислотой, для перехвата команд были использованы мельчайшие иголки. В Infineon утверждают, что они знали о возможности физического взлома чипа. Борчерт (Borchert), вице-президент компании, заверил, что дорогое оборудование и техническая сложность взлома не представляет опасности для подавляющего большинства пользователей чипов.

History

Trusted Platform Module (TPM) was conceived by a computer industry consortium called Trusted Computing Group (TCG), and was standardized by International Organization for Standardization (ISO) and International Electrotechnical Commission (IEC) in 2009 as ISO/IEC 11889.

TCG continued to revise the TPM specifications. The last revised edition of TPM Main Specification Version 1.2 was published on March 3, 2011. It consisted of three parts, based on their purpose. For the second major version of TPM, however, TCG released TPM Library Specification 2.0, which builds upon the previously published TPM Main Specification. Its latest edition was released on September 29, 2016, with several errata with the latest one being dated on January 8, 2018.

История разработки

В январе 1999 года была создана рабочая группа производственных компаний «Альянс доверяемых компьютерных платформ» (англ. Trusted Computing Platform Alliance, TCPA) с целью развития механизмов безопасности и доверия в компьютерных платформах. Первоначально в TCPA входили ведущие разработчики аппаратного и программного обеспечения — HP, Compaq (в настоящее время подразделение HP), IBM, Intel, Microsoft.

В октябре 1999 года была анонсирована проектная спецификация и открыта возможность другим компаниям присоединиться к альянсу. В августе 2000 года была выпущена для обсуждения предварительная публичная версия спецификации. Спецификация TCPA версии 1.0 была опубликована в феврале 2001 года, в ней были определены основные требования к TPM с точки зрения производителя электронных устройств.

Затем была создана рабочая группа по созданию TPM, которая пересмотрела общую спецификацию с точки зрения практического применения доверяемого модуля (TPM). В августе 2001 года была выпущена спецификация версии 1.1 и создана рабочая группа по проектированию платформы ПК, на которую устанавливается доверяемый модуль.

В апреле 2003 года была организована некоммерческая организация «Trusted Computer Group» (TCG), которая стала преемником TCPA и продолжила работать над развитием уже выпущенных спецификаций. В дополнение к уже созданным рабочим группам по проектированию TPM и платформы ПК были созданы группы по разработке спецификаций для мобильных устройств, ПК-клиентов, серверов, запоминающих устройств, инфраструктуры доверяемых вычислений, программного обеспечения (англ. Trusted Software Stack, TSS) и доверяемого сетевого соединения. В ноябре 2003 года была опубликована спецификация TPM версии 1.2, последняя версия с существенными изменениями, в которой по существу описана функциональность TPM.

Как в UEFI BIOS поставить загрузку с диска?

В UEFI BIOS загрузка с диска осуществляется проще всего

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

Загрузка с диска в uefi bios

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

Или можете попробовать воспользоваться описанным в начале статьи загрузочным меню. (Может называться boot menu, загрузочное меню, меню загрузки в виде отдельной кнопки).

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

Принцип работы

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

Система Trusted Platform Module является одной из попыток удовлетворить насущную потребность в подобной технологии. Хотя она и не является панацеей, тем не менее, она способна значительно повысить степень защиты информации как на уровне компьютерных сетей, так и на уровне отдельных компьютеров и прочих устройств, содержащих важные данные.

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

Что немаловажно, компьютерные системы, оснащенные аппаратными модулями TPM, стоят не намного дороже, чем аналогичные по характеристикам системы, не оснащенные TPM

Основные свойства данных, которые призвана обеспечить технология TPM:

Стандарт TPM был разработан рядом известных производителей программного и аппаратного обеспечения, в число которых входят Microsoft, HP, Intel, IBM. Впоследствии к их числу присоединились такие компании, как Sun, AMD, Sony и Verisign.

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

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

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

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

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

На программном уровне для работы TPM необходима поддержка технологии со стороны операционной системы, а также наличие специального программного обеспечения. Технология Trusted Platform Module поддерживается большинством современных операционных систем линейки Windows, начиная с Windows XP SP2, а также современными версиями Linux.

Опция Trusted Platform Module позволяет включить в BIOS поддержку данной технологии. Она доступна лишь в том случае, если материнская плата компьютера оснащена криптопроцессором-микросхемой TPM. Выбор значения Enabled позволяет пользователю включить эту микросхему, а значения Disabled – выключить.

tpm2-abrmd

is a daemon. It should be started as part of the OS boot process.
Communication between the daemon and clients using the TPM is done with a
combination of DBus and Unix pipes. DBus is used for discovery, session
management and the ‘cancel’, ‘setLocality’, and ‘getPollHandles’ API calls
(mostly these aren’t yet implemented). Pipes are used to send and receive
TPM commands and responses (respectively) between client and server.

The daemon owns the com.intel.tss2.Tabrmd name on dbus. It can be configured
to connect to either the system or the session bus. Configuring name
selection would be a handy feature but that’s future work.

Check out the man page TPM2-ABRMD(8) for the currently supported options.

Versions

There are two very different TPM specifications: 1.2 and 2.0, which also use different software stacks.

TPM 1.2 uses the «TrouSerS» TSS (TCG software stack) by IBM, which is packaged as trousersAUR (tcsd) and tpm-toolsAUR (userspace). All software access the TPM through the tcsd daemon.

TPM 2.0 allows direct access via /dev/tpm0 (one client at a time), managed access through the tpm2-abrmd resource manager daemon, or kernel-managed access via /dev/tpmrm0. There are two choices of userspace tools, tpm2-tools by Intel and ibm-tssAUR by IBM.

TPM 2.0 requires UEFI (native); BIOS or CSM systems can only use TPM 1.2.

Some TPM chips can be switched between 1.2 and 2.0 through a firmware upgrade (which can be done only a limited number of times).

Описание компонентаFeature description

Технология доверенных платформенных модулей (TPM) предназначена для предоставления аппаратных функций, связанных с безопасностью.Trusted Platform Module (TPM) technology is designed to provide hardware-based, security-related functions. Микросхема TPM — это надежный криптографический процессор, спроектированный для выполнения операций шифрования.A TPM chip is a secure crypto-processor that is designed to carry out cryptographic operations. Микросхема содержит несколько механизмов физической защиты, чтобы предотвратить взлом, и вредоносные программы не могут обойти функции безопасности TPM.The chip includes multiple physical security mechanisms to make it tamper resistant, and malicious software is unable to tamper with the security functions of the TPM. Некоторые из основных преимуществ использования технологии TPM:Some of the key advantages of using TPM technology are that you can:

  • создание, сохранение и ограничение использования криптографических ключей;Generate, store, and limit the use of cryptographic keys.

  • технологию TPM можно использовать для проверки подлинности устройства с помощью уникального RSA-ключа TPM, записанного в модуль;Use TPM technology for platform device authentication by using the TPM’s unique RSA key, which is burned into itself.

  • обеспечение целостности платформы за счет хранения измерений безопасности.Help ensure platform integrity by taking and storing security measurements.

Самые распространенные функции TPM используются для оценки целостности системы, а также для создания и применения ключей.The most common TPM functions are used for system integrity measurements and for key creation and use. Во время загрузки системы загружаемый загрузочный код (в том числе встроенное ПО и компоненты операционной системы) можно проверить и записать в модуль TPM.During the boot process of a system, the boot code that is loaded (including firmware and the operating system components) can be measured and recorded in the TPM. Оценку целостности можно использовать для проверки запуска системы и подтверждения того, что ключ на основе TPM использовался, только когда система была загружена с правильным программным обеспечением.The integrity measurements can be used as evidence for how a system started and to make sure that a TPM-based key was used only when the correct software was used to boot the system.

Ключи на основе TPM можно настраивать различными способами.TPM-based keys can be configured in a variety of ways. Например, можно сделать ключ на основе TPM недоступным за пределами модуля.One option is to make a TPM-based key unavailable outside the TPM. Это удобно для защиты от фишинга, так как в этом случае ключ не может быть скопирован и использован без TPM.This is good to mitigate phishing attacks because it prevents the key from being copied and used without the TPM. Ключи на основе TPM также можно настроить для ввода значения авторизации.TPM-based keys can also be configured to require an authorization value to use them. Если число неудачных попыток авторизации слишком велико, TPM активирует свою логику защиты от атак перебором по словарю и предотвращает дальнейшие попытки подбора.If too many incorrect authorization guesses occur, the TPM will activate its dictionary attack logic and prevent further authorization value guesses.

Разные версии TPM определены в спецификации организации TCG.Different versions of the TPM are defined in specifications by the Trusted Computing Group (TCG). Дополнительные сведения см. на веб-сайте TCG.For more information, consult the TCG Web site.

Uses

The United States Department of Defense (DoD) specifies that «new computer assets (e.g., server, desktop, laptop, thin client, tablet, smartphone, personal digital assistant, mobile phone) procured to support DoD will include a TPM version 1.2 or higher where required by DISA STIGs and where such technology is available.» DoD anticipates that TPM is to be used for device identification, authentication, encryption, and device integrity verification.

Platform integrity

The primary scope of TPM is to assure the integrity of a platform. In this context, «integrity» means «behave as intended», and a «platform» is any computer device regardless of its operating system. It is to ensure that the boot process starts from a trusted combination of hardware and software, and continues until the operating system has fully booted and applications are running.

The responsibility of assuring said integrity using TPM is with the firmware and the operating system. For example, Unified Extensible Firmware Interface (UEFI) can use TPM to form a root of trust: The TPM contains several Platform Configuration Registers (PCRs) that allow secure storage and reporting of security relevant metrics. These metrics can be used to detect changes to previous configurations and decide how to proceed. Good examples can be found in Linux Unified Key Setup (LUKS),BitLocker and PrivateCore vCage memory encryption. (See below.)

An example of TPM use for platform integrity is the Trusted Execution Technology (TXT), which creates a chain of trust. It could remotely attest that a computer is using the specified hardware and software.

Disk encryption

Full disk encryption utilities, such as dm-crypt and BitLocker, can use this technology to protect the keys used to encrypt the computer’s storage devices and provide integrity authentication for a trusted boot pathway that includes firmware and boot sector.

Password protection

Operating systems often require authentication (involving a password or other means) to protect keys, data or systems. If the authentication mechanism is implemented in software only, the access is prone to dictionary attacks. Since TPM is implemented in a dedicated hardware module, a dictionary attack prevention mechanism was built in, which effectively protects against guessing or automated dictionary attacks, while still allowing the user a sufficient and reasonable number of tries. Without this level of protection, only passwords with high complexity would provide sufficient protection.

Other uses and concerns

Any application can use a TPM chip for:

  • Digital rights management
  • Protection and enforcement of software licenses
  • Prevention of cheating in online games

Other uses exist, some of which give rise to privacy concerns. The «physical presence» feature of TPM addresses some of these concerns by requiring BIOS-level confirmation for operations such as activating, deactivating, clearing or changing ownership of TPM by someone who is physically present at the console of the machine.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector