SlideShare a Scribd company logo
1 of 31
Download to read offline
Никольский Алексей Валерьевич
2 
VT-x 
VT-d 
AES- NI 
vPro 
TPM 
AMT 
TXT 
IPT
3 
AES-NI 
TPM 
TXT 
Инструкция 
Opcode 
Описание 
AESENC 
66 0F 38 DC /r 
Выполнить один раунд шифрования 
AESENCLAST 
66 0F 38 DD /r 
Выполнить последний раунд шифрования 
AESDEC 
66 0F 38 DE /r 
Выполнить один раунд расшифрования 
AESDECLAST 
66 0F 38 DF /r 
Выполнить последний раунд расшифрования 
AESKEYGENASSIST 
66 0F 3A DF /r ib 
Поспособствовать в генерации раундового ключа 
AESIMC 
66 0F 38 DB /r 
Преобразование InvMixColumnдля ключа 
Intel® Advanced Encryption Standard New Instructions (AES-NI)
4 
AES-NI 
TPM 
TXT 
Позволяет повысить производительность в 7 раз! (проверим…) 
Использует 128-битные XMM регистры 
AESENC 
STATE ← SRC1; 
RoundKey←SRC2; 
STATE ← ShiftRows( STATE ); 
STATE ← SubBytes( STATE ); 
STATE ← MixColumns( STATE ); 
DEST[127:0] ←STATE XOR RoundKey; 
DEST[VLMAX-1:128] (Unmodified) 
AESENC xmm1, xmm2 
Данные 
Ключ 
__asm__ ( 
"moveax%2;" 
"movdqaxmm1, [eax];“ 
"aesencxmm1, [%1];" 
"movdqa[%0], xmm1;" 
: "=r"(ctext) 
: "r"(key), "r"(ptext) 
: "xmm1" 
);
5 
AES-NI 
TPM 
TXT 
Intel-lib: https://software.intel.com/en-us/articles/download-the-intel-aesni-sample-library 
Botan: http://fossies.org/linux/Botan/src/ 
Botan 
Botan::encrypt 
_mm_aesXXX_si128 
Botan::decrypt 
_mm_aesXXX_si128
6 
AES-NI 
TPM 
TXT 
https://communities.intel.com/community/itpeernetwork/datastack/blog/2014/ 06/18/disrupting-the-data-center-to-create-the-digital-services-economy
7 
AES-NI 
TPM 
TXT 
TPM –Trusted Platform Module 
TCPA -Trusted Computing Platform Alliance 
HP,IBM, Intel, Microsoft 1999 
TCG –Trusted Computing Group 
http://www.trustedcomputinggroup.org 
>1000 стр.
8 
AES-NI 
TPM 
TXT 
TPM 
Хранилище ключей 
Временное 
Временные ключи 
Контроль целостности 
Постоянное 
Собственный секрет 
Пользовательский секрет 
Крипто-ускоритель 
Крипто-процессор 
Генератор случайных чисел 
Генератор ключей (RSA) 
Устройство хэширования(SHA-1) 
RSA подпись/шифрование
9 
AES-NI 
TPM 
TXT 
TPM_Delegate_CreateKeyDelegation 
TPM_Delegate_CreateOwnerDelegation 
TPM_Init 
TPM_Startup 
TPM_SaveState 
TPM_SelfTestFull 
TPM_ContinueSelfTest 
TPM_GetTestResult 
TPM_SetOwnerInstall 
TPM_OwnerSetDisable 
TPM_PhysicalEnable 
TPM_PhysicalDisable 
TPM_PhysicalSetDeactivated 
TPM_SetTempDeactivated 
TPM_SetOperatorAuth 
TPM_TakeOwnership 
TPM_OwnerClear 
TPM_ForceClear 
TPM_DisableOwnerClear 
TPM_DisableForceClear 
TSC_PhysicalPresence 
TSC_ResetEstablishmentBit 
TPM_GetCapability 
TPM_SetCapability 
TPM_GetCapabilityOwner 
TPM_GetAuditDigest 
TPM_GetAuditDigestSigned 
TPM_SetOrdinalAuditStatus 
TPM_FieldUpgrade 
TPM_SetRedirection 
TPM_ResetLockValue 
TPM_Seal 
TPM_Unseal 
TPM_UnBind 
TPM_CreateWrapKey 
TPM_LoadKey 
TPM_CreateMigrationBlob 
TPM_ConvertMigrationBlob 
TPM_AuthorizeMigrationKey 
TPM_MigrateKey 
TPM_CMK_SetRestrictions 
TPM_CMK_ApproveMA 
TPM_CMK_CreateKey 
TPM_CMK_CreateTicket 
TPM_CMK_CreateBlob 
TPM_CMK_ConvertMigration 
TPM_CreateMaintenanceArchive 
TPM_LoadMaintenanceArchive 
TPM_KillMaintenanceFeature 
TPM_LoadManuMaintPub 
TPM_ReadManuMaintPub 
TPM_Delegate_LoadOwnerDelegation 
TPM_Delegate_ReadTable 
TPM_Delegate_UpdateVerification 
TPM_Delegate_VerifyDelegation 
TPM_NV_ReadValue 
TPM_NV_ReadValueAuth 
TPM_SetOwnerPointer 
TPM_Delegate_Manage 
TPM_GetTicks 
TPM_TickStampBlob 
TPM_EstablishTransport 
TPM_ExecuteTransport 
TPM_ReleaseTransportSigned 
TPM_CreateCounter 
TPM_IncrementCounter 
TPM_ReadCounter 
TPM_ReleaseCounter 
TPM_ReleaseCounterOwner 
TPM_DAA_Join 
TPM_DAA_Sign 
TPM_EvictKey 
TPM_Terminate_Handle 
TPM_SaveKeyContext 
TPM_LoadKeyContext 
TPM_SaveAuthContext 
TPM_LoadAuthContext 
TPM_DirWriteAuth 
TPM_DirRead 
TPM_ChangeAuthAsymStart 
TPM_ChangeAuthAsymFinish 
TPM_Reset 
TPM_OwnerReadPubek 
TPM_DisablePubekRead 
TPM_LoadKey 
TPM_GetCapabilitySigned 
TPM_GetOrdinalAuditStatus 
TPM_CertifySelfTest 
TPM_GetPubKey 
TPM_Sealx 
TPM_SHA1Start 
TPM_SHA1Update 
TPM_SHA1Complete 
TPM_SHA1CompleteExtend 
TPM_Sign 
TPM_GetRandom 
TPM_StirRandom 
TPM_CertifyKey 
TPM_CertifyKey 
TPM_CreateEndorsementKeyPair 
TPM_CreateRevocableEK 
TPM_RevokeTrust 
TPM_ReadPubek 
TPM_OwnerReadInternalPub 
TPM_MakeIdentity 
TPM_ActivateIdentity 
TPM_Extend 
TPM_PCRRead 
TPM_Quote 
TPM_PCR_Reset 
TPM_NV_DefineSpace 
TPM_NV_WriteValue 
TPM_NV_WriteValueAuth 
TPM_KeyControlOwner 
TPM_SaveContext 
TPM_LoadContext 
TPM_ChangeAuth 
TPM_ChangeAuthOwner 
TPM_OIAP 
TPM_OSAP 
TPM_DSAP 
TPM_FlushSpecific
10 
AES-NI 
TPM 
TXT 
TPM 
Управление состоянием 
Хранилище ключей 
Криптография 
Протоколы авторизации 
Таймер/Счетчик 
Контроль целостности
11 
AES-NI 
TPM 
TXT 
Включение питания 
TPM_Init 
TPM_Startup 
Самотестирование 
Использование 
TPM_SaveState 
Выключение питания 
BIOS 
BIOS 
Чипсет 
Программное обеспечение
12 
AES-NI 
TPM 
TXT 
Вычислители 
Постоянное хранилище 
Non-Volatile (NV) 
Временное хранилище 
RSA 
SHA-1 
HMAC 
RNG 
EK –Endorsement Key 
(2048b) 
SRK –Storage Root Key 
(2048b) 
Owner AuthSecret 
(160b) 
PCR –Platform Control Registers 
0..15 
RSA key Slots 0..9 
Temp Handles
13 
AES-NI 
TPM 
TXT 
TPM 
EK 
SRK 
AuthSecret 
RSA key slot 
Handles 
PCR
14 
AES-NI 
TPM 
TXT 
Owner AuthSecret 
TPM 
TPM_TakeOwnership 
SRK 
Создает
15 
AES-NI 
TPM 
TXT 
Owner AuthSecret 
TPM 
NewKey 
SRK 
NewKey 
Blob 
Вычисляет 
Возвращает
16 
AES-NI 
TPM 
TXT 
Owner AuthSecret 
TPM 
NewKey 
SRK 
NewKey 
Blob 
NewKey 
Handle 
Сохраняется 
Ассоциирует 
Возвращает
17 
AES-NI 
TPM 
TXT 
TPM 
PCR_#x 
Обнуляет 
PCR[x] 0 
Reset/Startup 
•Обнуление 
Extend 
•Добавление данных 
Read/Seal 
•Использование
18 
AES-NI 
TPM 
TXT 
TPM 
PCR_#x 
Обнуляет 
PCR[x] 0 
Reset/Startup 
•Обнуление 
Extend 
•Добавление данных 
Read/Seal 
•Использование 
Данные (D)
19 
AES-NI 
TPM 
TXT 
TPM 
PCR_#x 
Использует 
Reset/Startup 
•Обнуление 
Extend 
•Добавление данных 
Read/Seal 
•Использование
20 
AES-NI 
TPM 
TXT 
TPM 
TPM_Seal(x) 
PCR_#x 
Key handle 
(EK/Other) 
Data Blob 
NewKey 
Data 
Использует 
Вычисляет 
Возвращает 
Seal 
•Шифрование 
Unseal 
•Расшифровывание
21 
AES-NI 
TPM 
TXT 
TPM 
TPM_Unseal(x) 
PCR_#x 
Key handle 
(EK/Other) 
NewKey 
Data 
Использует 
Вычисляет 
Возвращает 
Data Blob 
Seal 
•Шифрование 
Unseal 
•Расшифровывание
22 
AES-NI 
TPM 
TXT 
On 
Enabled 
Active 
Owned 
Off 
Disabled 
Inactive 
Unowned 
Нельзя использовать ресурсы TPM 
Но можно Random/SHA-1 
То же что Disabled, но можно TakeOwnership 
Можно использовать дополнительные команды с ключемSRK 
Включен дополнительный контроль команд 
Можно использовать все основные команды, в частности PCR 
Нельзя использовать команды, использующие персональный ключ 
Позволяет сперва авторизоваться, а потом включить TPM 
Питание отсутствует 
Можно использовать ресурсы TPM 
Питание подключено
23 
AES-NI 
TPM 
TXT 
Требующие авторизации (Owned) 
Требующие ресурсы 
Не требующие ничего 
Контроль доступа к командам: 
On 
Owned 
+ Activated 
Activated 
No Access 
Physical Presence 
Owned
24 
AES-NI 
TPM 
TXT 
•BIOS 
•Драйвер TPM 
•Библиотеки и утилиты для работы с TPM 
bash 
Tpm-tools 
/dev/char/tpm 
TPM device
25 
AES-NI 
TPM 
TXT 
sudomodprobetpm_bios 
sudomodprobetpm 
sudomodprobetpm_tis 
sudotpm_version 
sudotpm_takeownership 
sudotpm_getpubek 
sudocat /sys/class/misc/tpm0/device/pcrr 
tpm_sealdata–I test.txt –o blob –p4 
tpm_unsealdata–I blob –o text_res.txt
26 
AES-NI 
TPM 
TXT 
PCR 
Данные 
0 
BIOS,расширения 
1 
КонфигурацияPCI/Motherboard 
2 
Настройки BIOS 
3 
Другие ROM 
4 
MBR –1 
5 
MBR –2 
6 
Код событий выхода изHybernate 
7 
Данные производителя компьютера 
8 
NTFS Boot Sector 
9 
NTFS Boot Block 
10 
Boot Manager 
11 
BitLockerAccess Control 
PIN 
Ключ 
шифрования 
Использует
27 
AES-NI 
TPM 
TXT 
Приложения 
КомандыTPM 
Пакет на отправку 
УстройствоTPM 
PortIO/MMIO 
Пакет на прием 
УстройствоTPM 
PortIO/MMIO 
TPM_Seal 
TPM_Unseal 
TPM_SaveState 
TPM_Enable 
TPM_Disable 
TPM_LoadKey 
… 
… 
BIOS 
tpm-seal 
Tboot 
U8 TPM_REG_ACCESS 
U32 TPM_REG_STS 
U8 TPM_REG_DATA_FIFO 
readb((TPM_LOCALITY_BASE_N(locality) | reg) + i); 
Writeb((TPM_LOCALITY_BASE_N(locality) | reg) + i, _raw[i]);
28 
AES-NI 
TPM 
TXT 
tboot 
Фаза 1 
 
TPM_CreateWrapKey(PIN) 
Key.dat 
TPM_Seal 
MBR -> PCR 
Mbr.dat 
Botan::encrypt (data.txt) 
Фаза 2 
TPM_LoadKey(PIN) 
TPM_Unseal 
Botan::decrypt (data.txt)
29 
AES-NI 
TPM 
TXT 
BIOS ROM 
BIOS Code 
MBR 
Loader 
OS Kernel 
TPM 
PCR 
Static Root of trust (SRT)
30 
AES-NI 
TPM 
TXT 
BIOS ROM 
BIOS Code 
MBR 
Loader 
OS Kernel 
Сотни проверок при загрузке -долго 
Необходимо обновлять все проверки в случае легальных 
модификаций 
Как быть, если не совпал код на ранней стадии? Не загружаться? 
Все компоненты доверенные 
Возможность удаленной проверки (TPM_Sealс удаленным Challange)
31 
AES-NI 
TPM 
TXT 
Intel Trusted Execution Technology (TXT) 
AMD Secure Virtual Machines

More Related Content

What's hot

«Отладка приложений с помощью dtrace» — Станислав Краснояров, Redsteep
«Отладка приложений с помощью dtrace» — Станислав Краснояров, Redsteep «Отладка приложений с помощью dtrace» — Станислав Краснояров, Redsteep
«Отладка приложений с помощью dtrace» — Станислав Краснояров, Redsteep e-Legion
 
QA Fest 2018. Святослав Логин. Что такое Metasploit? Как его использовать для...
QA Fest 2018. Святослав Логин. Что такое Metasploit? Как его использовать для...QA Fest 2018. Святослав Логин. Что такое Metasploit? Как его использовать для...
QA Fest 2018. Святослав Логин. Что такое Metasploit? Как его использовать для...QAFest
 
Performance optimization of virtual network infrastructure (RUS, OpenStack Me...
Performance optimization of virtual network infrastructure (RUS, OpenStack Me...Performance optimization of virtual network infrastructure (RUS, OpenStack Me...
Performance optimization of virtual network infrastructure (RUS, OpenStack Me...Vadim Ponomarev
 
[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/Linux
[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/Linux[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/Linux
[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/LinuxDefconRussia
 
ногинов Aoe Stripped
ногинов Aoe Strippedногинов Aoe Stripped
ногинов Aoe StrippedLiudmila Li
 
Антон Карпов - Обзорная лекция по безопасности
Антон Карпов - Обзорная лекция по безопасностиАнтон Карпов - Обзорная лекция по безопасности
Антон Карпов - Обзорная лекция по безопасностиYandex
 
Использование Time-Stamp Counter для измерения времени выполнения кода на пр...
Использование Time-Stamp Counter для измерения времени выполнения кода  на пр...Использование Time-Stamp Counter для измерения времени выполнения кода  на пр...
Использование Time-Stamp Counter для измерения времени выполнения кода на пр...Mikhail Kurnosov
 
Виртуальный хостинг на Амазоне: телефон, кредитка, немного времени
Виртуальный хостинг на Амазоне: телефон, кредитка, немного времениВиртуальный хостинг на Амазоне: телефон, кредитка, немного времени
Виртуальный хостинг на Амазоне: телефон, кредитка, немного времениAnton Moiseev
 
monit — простой мониторинг
monit — простой мониторингmonit — простой мониторинг
monit — простой мониторингAndrew Pantyukhin
 
Михаил Белопухов: OpenBSD: Куда катится крипто?
Михаил Белопухов: OpenBSD: Куда катится крипто?Михаил Белопухов: OpenBSD: Куда катится крипто?
Михаил Белопухов: OpenBSD: Куда катится крипто?Yandex
 
Технополис: Сетевой стек
Технополис: Сетевой стекТехнополис: Сетевой стек
Технополис: Сетевой стекDmitry Samsonov
 
Apache Storm: от простого приложения до подробностей реализации
Apache Storm: от простого приложения до подробностей реализацииApache Storm: от простого приложения до подробностей реализации
Apache Storm: от простого приложения до подробностей реализацииCEE-SEC(R)
 
20201021 Технополис: Сетевой стек
20201021 Технополис: Сетевой стек20201021 Технополис: Сетевой стек
20201021 Технополис: Сетевой стекDmitry Samsonov
 
стриминг видео на ок
стриминг видео на окстриминг видео на ок
стриминг видео на окAlexander Tobol
 
Пишем свой протокол поверх UDP или платформа потокового видео с нуля на милли...
Пишем свой протокол поверх UDP или платформа потокового видео с нуля на милли...Пишем свой протокол поверх UDP или платформа потокового видео с нуля на милли...
Пишем свой протокол поверх UDP или платформа потокового видео с нуля на милли...Ontico
 

What's hot (15)

«Отладка приложений с помощью dtrace» — Станислав Краснояров, Redsteep
«Отладка приложений с помощью dtrace» — Станислав Краснояров, Redsteep «Отладка приложений с помощью dtrace» — Станислав Краснояров, Redsteep
«Отладка приложений с помощью dtrace» — Станислав Краснояров, Redsteep
 
QA Fest 2018. Святослав Логин. Что такое Metasploit? Как его использовать для...
QA Fest 2018. Святослав Логин. Что такое Metasploit? Как его использовать для...QA Fest 2018. Святослав Логин. Что такое Metasploit? Как его использовать для...
QA Fest 2018. Святослав Логин. Что такое Metasploit? Как его использовать для...
 
Performance optimization of virtual network infrastructure (RUS, OpenStack Me...
Performance optimization of virtual network infrastructure (RUS, OpenStack Me...Performance optimization of virtual network infrastructure (RUS, OpenStack Me...
Performance optimization of virtual network infrastructure (RUS, OpenStack Me...
 
[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/Linux
[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/Linux[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/Linux
[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/Linux
 
ногинов Aoe Stripped
ногинов Aoe Strippedногинов Aoe Stripped
ногинов Aoe Stripped
 
Антон Карпов - Обзорная лекция по безопасности
Антон Карпов - Обзорная лекция по безопасностиАнтон Карпов - Обзорная лекция по безопасности
Антон Карпов - Обзорная лекция по безопасности
 
Использование Time-Stamp Counter для измерения времени выполнения кода на пр...
Использование Time-Stamp Counter для измерения времени выполнения кода  на пр...Использование Time-Stamp Counter для измерения времени выполнения кода  на пр...
Использование Time-Stamp Counter для измерения времени выполнения кода на пр...
 
Виртуальный хостинг на Амазоне: телефон, кредитка, немного времени
Виртуальный хостинг на Амазоне: телефон, кредитка, немного времениВиртуальный хостинг на Амазоне: телефон, кредитка, немного времени
Виртуальный хостинг на Амазоне: телефон, кредитка, немного времени
 
monit — простой мониторинг
monit — простой мониторингmonit — простой мониторинг
monit — простой мониторинг
 
Михаил Белопухов: OpenBSD: Куда катится крипто?
Михаил Белопухов: OpenBSD: Куда катится крипто?Михаил Белопухов: OpenBSD: Куда катится крипто?
Михаил Белопухов: OpenBSD: Куда катится крипто?
 
Технополис: Сетевой стек
Технополис: Сетевой стекТехнополис: Сетевой стек
Технополис: Сетевой стек
 
Apache Storm: от простого приложения до подробностей реализации
Apache Storm: от простого приложения до подробностей реализацииApache Storm: от простого приложения до подробностей реализации
Apache Storm: от простого приложения до подробностей реализации
 
20201021 Технополис: Сетевой стек
20201021 Технополис: Сетевой стек20201021 Технополис: Сетевой стек
20201021 Технополис: Сетевой стек
 
стриминг видео на ок
стриминг видео на окстриминг видео на ок
стриминг видео на ок
 
Пишем свой протокол поверх UDP или платформа потокового видео с нуля на милли...
Пишем свой протокол поверх UDP или платформа потокового видео с нуля на милли...Пишем свой протокол поверх UDP или платформа потокового видео с нуля на милли...
Пишем свой протокол поверх UDP или платформа потокового видео с нуля на милли...
 

Viewers also liked

Cisco ASA CX - новый прикладной МСЭ
Cisco ASA CX - новый прикладной МСЭCisco ASA CX - новый прикладной МСЭ
Cisco ASA CX - новый прикладной МСЭCisco Russia
 
Технологии Интел по обеспечению безопасности корпоративных пользователей.
 Технологии Интел по обеспечению безопасности корпоративных пользователей. Технологии Интел по обеспечению безопасности корпоративных пользователей.
Технологии Интел по обеспечению безопасности корпоративных пользователей.Cisco Russia
 
Security cores 1.10.13
Security cores   1.10.13Security cores   1.10.13
Security cores 1.10.13Boris Kizko
 
Создание и управление кластерами
Создание и управление кластерамиСоздание и управление кластерами
Создание и управление кластерамиAleksandr Dvoeglazov
 
Cisco Web Security - обзор технологии и функционала
Cisco Web Security - обзор технологии и функционалаCisco Web Security - обзор технологии и функционала
Cisco Web Security - обзор технологии и функционалаCisco Russia
 
Новые вызовы кибербезопасности
Новые вызовы кибербезопасностиНовые вызовы кибербезопасности
Новые вызовы кибербезопасностиCisco Russia
 
ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...
ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...
ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...Alexey Paznikov
 
Как защитить сеть от web-угроз с помощью Cisco WSA (ex IronPort)
Как защитить сеть от web-угроз с помощью Cisco WSA (ex IronPort)Как защитить сеть от web-угроз с помощью Cisco WSA (ex IronPort)
Как защитить сеть от web-угроз с помощью Cisco WSA (ex IronPort)SkillFactory
 
Trusted Platform Module (TPM)
Trusted Platform Module (TPM)Trusted Platform Module (TPM)
Trusted Platform Module (TPM)k33a
 
Presentation on Total Productive Maintenance
Presentation on Total Productive MaintenancePresentation on Total Productive Maintenance
Presentation on Total Productive MaintenanceMahendra K SHUKLA
 

Viewers also liked (13)

Cisco ASA CX - новый прикладной МСЭ
Cisco ASA CX - новый прикладной МСЭCisco ASA CX - новый прикладной МСЭ
Cisco ASA CX - новый прикладной МСЭ
 
Fedoseev Sofs
Fedoseev SofsFedoseev Sofs
Fedoseev Sofs
 
Технологии Интел по обеспечению безопасности корпоративных пользователей.
 Технологии Интел по обеспечению безопасности корпоративных пользователей. Технологии Интел по обеспечению безопасности корпоративных пользователей.
Технологии Интел по обеспечению безопасности корпоративных пользователей.
 
Security cores 1.10.13
Security cores   1.10.13Security cores   1.10.13
Security cores 1.10.13
 
20 intel
20 intel20 intel
20 intel
 
Создание и управление кластерами
Создание и управление кластерамиСоздание и управление кластерами
Создание и управление кластерами
 
Cisco Web Security - обзор технологии и функционала
Cisco Web Security - обзор технологии и функционалаCisco Web Security - обзор технологии и функционала
Cisco Web Security - обзор технологии и функционала
 
Новые вызовы кибербезопасности
Новые вызовы кибербезопасностиНовые вызовы кибербезопасности
Новые вызовы кибербезопасности
 
ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...
ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...
ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...
 
Как защитить сеть от web-угроз с помощью Cisco WSA (ex IronPort)
Как защитить сеть от web-угроз с помощью Cisco WSA (ex IronPort)Как защитить сеть от web-угроз с помощью Cisco WSA (ex IronPort)
Как защитить сеть от web-угроз с помощью Cisco WSA (ex IronPort)
 
Trusted Platform Module (TPM)
Trusted Platform Module (TPM)Trusted Platform Module (TPM)
Trusted Platform Module (TPM)
 
Presentation on Total Productive Maintenance
Presentation on Total Productive MaintenancePresentation on Total Productive Maintenance
Presentation on Total Productive Maintenance
 
Trusted Computing Base
Trusted Computing BaseTrusted Computing Base
Trusted Computing Base
 

Similar to NeoQUEST: Tpm.txt.на что способно заморское железо

Positive Hack Days. Павлов. Мастер-класс: Анализ защищенности сетевой инфраст...
Positive Hack Days. Павлов. Мастер-класс: Анализ защищенности сетевой инфраст...Positive Hack Days. Павлов. Мастер-класс: Анализ защищенности сетевой инфраст...
Positive Hack Days. Павлов. Мастер-класс: Анализ защищенности сетевой инфраст...Positive Hack Days
 
Техники пентеста для активной защиты - Николай Овчарук
Техники пентеста для активной защиты - Николай ОвчарукТехники пентеста для активной защиты - Николай Овчарук
Техники пентеста для активной защиты - Николай ОвчарукHackIT Ukraine
 
Методики и инструменты для самостоятельного решения проблем в сети
Методики и инструменты для самостоятельного решения проблем в сетиМетодики и инструменты для самостоятельного решения проблем в сети
Методики и инструменты для самостоятельного решения проблем в сетиCisco Russia
 
Руководство по началу самостоятельной работы с CSPC
Руководство по началу самостоятельной работы с CSPCРуководство по началу самостоятельной работы с CSPC
Руководство по началу самостоятельной работы с CSPCCisco Russia
 
Управление большим количеством физических серверов, Александр Берсенев, Инст...
 Управление большим количеством физических серверов, Александр Берсенев, Инст... Управление большим количеством физических серверов, Александр Берсенев, Инст...
Управление большим количеством физических серверов, Александр Берсенев, Инст...it-people
 
Статический анализ Си++ кода
Статический анализ Си++ кодаСтатический анализ Си++ кода
Статический анализ Си++ кодаTatyanazaxarova
 
ADD 2011: Статический анализ Си++ кода
ADD 2011: Статический анализ Си++ кодаADD 2011: Статический анализ Си++ кода
ADD 2011: Статический анализ Си++ кодаAndrey Karpov
 
Кадры решают все, или стриминг видео в «Одноклассниках». Александр Тоболь
Кадры решают все, или стриминг видео в «Одноклассниках». Александр ТобольКадры решают все, или стриминг видео в «Одноклассниках». Александр Тоболь
Кадры решают все, или стриминг видео в «Одноклассниках». Александр Тобольodnoklassniki.ru
 
Кадры решают все, или стриминг видео, Александр Тоболь (Одноклассники)
Кадры решают все, или стриминг видео, Александр Тоболь (Одноклассники)Кадры решают все, или стриминг видео, Александр Тоболь (Одноклассники)
Кадры решают все, или стриминг видео, Александр Тоболь (Одноклассники)Ontico
 
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...Ontico
 
Разработка систем управления для отечественных АКПП
Разработка систем управления для отечественных АКППРазработка систем управления для отечественных АКПП
Разработка систем управления для отечественных АКППMATLAB
 
Netmap (by luigi rizzo) простой и удобный opensource фреймворк для обработк...
Netmap (by luigi rizzo)   простой и удобный opensource фреймворк для обработк...Netmap (by luigi rizzo)   простой и удобный opensource фреймворк для обработк...
Netmap (by luigi rizzo) простой и удобный opensource фреймворк для обработк...Ontico
 
Филипп Торчинский «Анализ производительности и отладка приложений с помощью D...
Филипп Торчинский «Анализ производительности и отладка приложений с помощью D...Филипп Торчинский «Анализ производительности и отладка приложений с помощью D...
Филипп Торчинский «Анализ производительности и отладка приложений с помощью D...Yandex
 
Тюним память и сетевой стек в Linux: история перевода высоконагруженных сер...
Тюним память  и сетевой стек в Linux: история перевода высоконагруженных  сер...Тюним память  и сетевой стек в Linux: история перевода высоконагруженных  сер...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных сер...Dmitry Samsonov
 
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...odnoklassniki.ru
 
Александр Коротин. Безопасность систем управления турбинами в электроэнергетике
Александр Коротин. Безопасность систем управления турбинами в электроэнергетикеАлександр Коротин. Безопасность систем управления турбинами в электроэнергетике
Александр Коротин. Безопасность систем управления турбинами в электроэнергетикеKaspersky
 
Контейнеры в OpenStack: простое решение сложных проблем
Контейнеры в OpenStack: простое решение сложных проблемКонтейнеры в OpenStack: простое решение сложных проблем
Контейнеры в OpenStack: простое решение сложных проблемYandex
 
Контейнеры в OpenStack: простое решение сложных проблем
Контейнеры в OpenStack: простое решение сложных проблемКонтейнеры в OpenStack: простое решение сложных проблем
Контейнеры в OpenStack: простое решение сложных проблемOpenVZ
 
Использование шаблонов и RTTI для конфигурации симулятора флеш-накопителя - Г...
Использование шаблонов и RTTI для конфигурации симулятора флеш-накопителя - Г...Использование шаблонов и RTTI для конфигурации симулятора флеш-накопителя - Г...
Использование шаблонов и RTTI для конфигурации симулятора флеш-накопителя - Г...Yandex
 

Similar to NeoQUEST: Tpm.txt.на что способно заморское железо (20)

Positive Hack Days. Павлов. Мастер-класс: Анализ защищенности сетевой инфраст...
Positive Hack Days. Павлов. Мастер-класс: Анализ защищенности сетевой инфраст...Positive Hack Days. Павлов. Мастер-класс: Анализ защищенности сетевой инфраст...
Positive Hack Days. Павлов. Мастер-класс: Анализ защищенности сетевой инфраст...
 
Техники пентеста для активной защиты - Николай Овчарук
Техники пентеста для активной защиты - Николай ОвчарукТехники пентеста для активной защиты - Николай Овчарук
Техники пентеста для активной защиты - Николай Овчарук
 
Методики и инструменты для самостоятельного решения проблем в сети
Методики и инструменты для самостоятельного решения проблем в сетиМетодики и инструменты для самостоятельного решения проблем в сети
Методики и инструменты для самостоятельного решения проблем в сети
 
Руководство по началу самостоятельной работы с CSPC
Руководство по началу самостоятельной работы с CSPCРуководство по началу самостоятельной работы с CSPC
Руководство по началу самостоятельной работы с CSPC
 
Управление большим количеством физических серверов, Александр Берсенев, Инст...
 Управление большим количеством физических серверов, Александр Берсенев, Инст... Управление большим количеством физических серверов, Александр Берсенев, Инст...
Управление большим количеством физических серверов, Александр Берсенев, Инст...
 
Continuous monitoring
Continuous monitoringContinuous monitoring
Continuous monitoring
 
Статический анализ Си++ кода
Статический анализ Си++ кодаСтатический анализ Си++ кода
Статический анализ Си++ кода
 
ADD 2011: Статический анализ Си++ кода
ADD 2011: Статический анализ Си++ кодаADD 2011: Статический анализ Си++ кода
ADD 2011: Статический анализ Си++ кода
 
Кадры решают все, или стриминг видео в «Одноклассниках». Александр Тоболь
Кадры решают все, или стриминг видео в «Одноклассниках». Александр ТобольКадры решают все, или стриминг видео в «Одноклассниках». Александр Тоболь
Кадры решают все, или стриминг видео в «Одноклассниках». Александр Тоболь
 
Кадры решают все, или стриминг видео, Александр Тоболь (Одноклассники)
Кадры решают все, или стриминг видео, Александр Тоболь (Одноклассники)Кадры решают все, или стриминг видео, Александр Тоболь (Одноклассники)
Кадры решают все, или стриминг видео, Александр Тоболь (Одноклассники)
 
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
 
Разработка систем управления для отечественных АКПП
Разработка систем управления для отечественных АКППРазработка систем управления для отечественных АКПП
Разработка систем управления для отечественных АКПП
 
Netmap (by luigi rizzo) простой и удобный opensource фреймворк для обработк...
Netmap (by luigi rizzo)   простой и удобный opensource фреймворк для обработк...Netmap (by luigi rizzo)   простой и удобный opensource фреймворк для обработк...
Netmap (by luigi rizzo) простой и удобный opensource фреймворк для обработк...
 
Филипп Торчинский «Анализ производительности и отладка приложений с помощью D...
Филипп Торчинский «Анализ производительности и отладка приложений с помощью D...Филипп Торчинский «Анализ производительности и отладка приложений с помощью D...
Филипп Торчинский «Анализ производительности и отладка приложений с помощью D...
 
Тюним память и сетевой стек в Linux: история перевода высоконагруженных сер...
Тюним память  и сетевой стек в Linux: история перевода высоконагруженных  сер...Тюним память  и сетевой стек в Linux: история перевода высоконагруженных  сер...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных сер...
 
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
 
Александр Коротин. Безопасность систем управления турбинами в электроэнергетике
Александр Коротин. Безопасность систем управления турбинами в электроэнергетикеАлександр Коротин. Безопасность систем управления турбинами в электроэнергетике
Александр Коротин. Безопасность систем управления турбинами в электроэнергетике
 
Контейнеры в OpenStack: простое решение сложных проблем
Контейнеры в OpenStack: простое решение сложных проблемКонтейнеры в OpenStack: простое решение сложных проблем
Контейнеры в OpenStack: простое решение сложных проблем
 
Контейнеры в OpenStack: простое решение сложных проблем
Контейнеры в OpenStack: простое решение сложных проблемКонтейнеры в OpenStack: простое решение сложных проблем
Контейнеры в OpenStack: простое решение сложных проблем
 
Использование шаблонов и RTTI для конфигурации симулятора флеш-накопителя - Г...
Использование шаблонов и RTTI для конфигурации симулятора флеш-накопителя - Г...Использование шаблонов и RTTI для конфигурации симулятора флеш-накопителя - Г...
Использование шаблонов и RTTI для конфигурации симулятора флеш-накопителя - Г...
 

More from Neo_QUEST

NeoQUEST-2016: Сложно ли стать "хамелеоном" в социальных сетях?
NeoQUEST-2016: Сложно ли стать "хамелеоном" в социальных сетях?NeoQUEST-2016: Сложно ли стать "хамелеоном" в социальных сетях?
NeoQUEST-2016: Сложно ли стать "хамелеоном" в социальных сетях?Neo_QUEST
 
NeoQUEST: Автомобиль – смартфон на колесах. пристегните кибер ремни безопасно...
NeoQUEST: Автомобиль – смартфон на колесах. пристегните кибер ремни безопасно...NeoQUEST: Автомобиль – смартфон на колесах. пристегните кибер ремни безопасно...
NeoQUEST: Автомобиль – смартфон на колесах. пристегните кибер ремни безопасно...Neo_QUEST
 
NeoQUEST: В заMESHательстве. насколько безопасны mesh сети?
NeoQUEST: В заMESHательстве. насколько безопасны mesh сети?NeoQUEST: В заMESHательстве. насколько безопасны mesh сети?
NeoQUEST: В заMESHательстве. насколько безопасны mesh сети?Neo_QUEST
 
NeoQUEST: небесполезный Pc speaker
NeoQUEST: небесполезный Pc speakerNeoQUEST: небесполезный Pc speaker
NeoQUEST: небесполезный Pc speakerNeo_QUEST
 
NeoQUEST: Интернет в порядке вещей
NeoQUEST: Интернет в порядке вещейNeoQUEST: Интернет в порядке вещей
NeoQUEST: Интернет в порядке вещейNeo_QUEST
 
NeoQUEST: как украсть кота по Usb
NeoQUEST: как украсть кота по UsbNeoQUEST: как украсть кота по Usb
NeoQUEST: как украсть кота по UsbNeo_QUEST
 

More from Neo_QUEST (6)

NeoQUEST-2016: Сложно ли стать "хамелеоном" в социальных сетях?
NeoQUEST-2016: Сложно ли стать "хамелеоном" в социальных сетях?NeoQUEST-2016: Сложно ли стать "хамелеоном" в социальных сетях?
NeoQUEST-2016: Сложно ли стать "хамелеоном" в социальных сетях?
 
NeoQUEST: Автомобиль – смартфон на колесах. пристегните кибер ремни безопасно...
NeoQUEST: Автомобиль – смартфон на колесах. пристегните кибер ремни безопасно...NeoQUEST: Автомобиль – смартфон на колесах. пристегните кибер ремни безопасно...
NeoQUEST: Автомобиль – смартфон на колесах. пристегните кибер ремни безопасно...
 
NeoQUEST: В заMESHательстве. насколько безопасны mesh сети?
NeoQUEST: В заMESHательстве. насколько безопасны mesh сети?NeoQUEST: В заMESHательстве. насколько безопасны mesh сети?
NeoQUEST: В заMESHательстве. насколько безопасны mesh сети?
 
NeoQUEST: небесполезный Pc speaker
NeoQUEST: небесполезный Pc speakerNeoQUEST: небесполезный Pc speaker
NeoQUEST: небесполезный Pc speaker
 
NeoQUEST: Интернет в порядке вещей
NeoQUEST: Интернет в порядке вещейNeoQUEST: Интернет в порядке вещей
NeoQUEST: Интернет в порядке вещей
 
NeoQUEST: как украсть кота по Usb
NeoQUEST: как украсть кота по UsbNeoQUEST: как украсть кота по Usb
NeoQUEST: как украсть кота по Usb
 

NeoQUEST: Tpm.txt.на что способно заморское железо

  • 2. 2 VT-x VT-d AES- NI vPro TPM AMT TXT IPT
  • 3. 3 AES-NI TPM TXT Инструкция Opcode Описание AESENC 66 0F 38 DC /r Выполнить один раунд шифрования AESENCLAST 66 0F 38 DD /r Выполнить последний раунд шифрования AESDEC 66 0F 38 DE /r Выполнить один раунд расшифрования AESDECLAST 66 0F 38 DF /r Выполнить последний раунд расшифрования AESKEYGENASSIST 66 0F 3A DF /r ib Поспособствовать в генерации раундового ключа AESIMC 66 0F 38 DB /r Преобразование InvMixColumnдля ключа Intel® Advanced Encryption Standard New Instructions (AES-NI)
  • 4. 4 AES-NI TPM TXT Позволяет повысить производительность в 7 раз! (проверим…) Использует 128-битные XMM регистры AESENC STATE ← SRC1; RoundKey←SRC2; STATE ← ShiftRows( STATE ); STATE ← SubBytes( STATE ); STATE ← MixColumns( STATE ); DEST[127:0] ←STATE XOR RoundKey; DEST[VLMAX-1:128] (Unmodified) AESENC xmm1, xmm2 Данные Ключ __asm__ ( "moveax%2;" "movdqaxmm1, [eax];“ "aesencxmm1, [%1];" "movdqa[%0], xmm1;" : "=r"(ctext) : "r"(key), "r"(ptext) : "xmm1" );
  • 5. 5 AES-NI TPM TXT Intel-lib: https://software.intel.com/en-us/articles/download-the-intel-aesni-sample-library Botan: http://fossies.org/linux/Botan/src/ Botan Botan::encrypt _mm_aesXXX_si128 Botan::decrypt _mm_aesXXX_si128
  • 6. 6 AES-NI TPM TXT https://communities.intel.com/community/itpeernetwork/datastack/blog/2014/ 06/18/disrupting-the-data-center-to-create-the-digital-services-economy
  • 7. 7 AES-NI TPM TXT TPM –Trusted Platform Module TCPA -Trusted Computing Platform Alliance HP,IBM, Intel, Microsoft 1999 TCG –Trusted Computing Group http://www.trustedcomputinggroup.org >1000 стр.
  • 8. 8 AES-NI TPM TXT TPM Хранилище ключей Временное Временные ключи Контроль целостности Постоянное Собственный секрет Пользовательский секрет Крипто-ускоритель Крипто-процессор Генератор случайных чисел Генератор ключей (RSA) Устройство хэширования(SHA-1) RSA подпись/шифрование
  • 9. 9 AES-NI TPM TXT TPM_Delegate_CreateKeyDelegation TPM_Delegate_CreateOwnerDelegation TPM_Init TPM_Startup TPM_SaveState TPM_SelfTestFull TPM_ContinueSelfTest TPM_GetTestResult TPM_SetOwnerInstall TPM_OwnerSetDisable TPM_PhysicalEnable TPM_PhysicalDisable TPM_PhysicalSetDeactivated TPM_SetTempDeactivated TPM_SetOperatorAuth TPM_TakeOwnership TPM_OwnerClear TPM_ForceClear TPM_DisableOwnerClear TPM_DisableForceClear TSC_PhysicalPresence TSC_ResetEstablishmentBit TPM_GetCapability TPM_SetCapability TPM_GetCapabilityOwner TPM_GetAuditDigest TPM_GetAuditDigestSigned TPM_SetOrdinalAuditStatus TPM_FieldUpgrade TPM_SetRedirection TPM_ResetLockValue TPM_Seal TPM_Unseal TPM_UnBind TPM_CreateWrapKey TPM_LoadKey TPM_CreateMigrationBlob TPM_ConvertMigrationBlob TPM_AuthorizeMigrationKey TPM_MigrateKey TPM_CMK_SetRestrictions TPM_CMK_ApproveMA TPM_CMK_CreateKey TPM_CMK_CreateTicket TPM_CMK_CreateBlob TPM_CMK_ConvertMigration TPM_CreateMaintenanceArchive TPM_LoadMaintenanceArchive TPM_KillMaintenanceFeature TPM_LoadManuMaintPub TPM_ReadManuMaintPub TPM_Delegate_LoadOwnerDelegation TPM_Delegate_ReadTable TPM_Delegate_UpdateVerification TPM_Delegate_VerifyDelegation TPM_NV_ReadValue TPM_NV_ReadValueAuth TPM_SetOwnerPointer TPM_Delegate_Manage TPM_GetTicks TPM_TickStampBlob TPM_EstablishTransport TPM_ExecuteTransport TPM_ReleaseTransportSigned TPM_CreateCounter TPM_IncrementCounter TPM_ReadCounter TPM_ReleaseCounter TPM_ReleaseCounterOwner TPM_DAA_Join TPM_DAA_Sign TPM_EvictKey TPM_Terminate_Handle TPM_SaveKeyContext TPM_LoadKeyContext TPM_SaveAuthContext TPM_LoadAuthContext TPM_DirWriteAuth TPM_DirRead TPM_ChangeAuthAsymStart TPM_ChangeAuthAsymFinish TPM_Reset TPM_OwnerReadPubek TPM_DisablePubekRead TPM_LoadKey TPM_GetCapabilitySigned TPM_GetOrdinalAuditStatus TPM_CertifySelfTest TPM_GetPubKey TPM_Sealx TPM_SHA1Start TPM_SHA1Update TPM_SHA1Complete TPM_SHA1CompleteExtend TPM_Sign TPM_GetRandom TPM_StirRandom TPM_CertifyKey TPM_CertifyKey TPM_CreateEndorsementKeyPair TPM_CreateRevocableEK TPM_RevokeTrust TPM_ReadPubek TPM_OwnerReadInternalPub TPM_MakeIdentity TPM_ActivateIdentity TPM_Extend TPM_PCRRead TPM_Quote TPM_PCR_Reset TPM_NV_DefineSpace TPM_NV_WriteValue TPM_NV_WriteValueAuth TPM_KeyControlOwner TPM_SaveContext TPM_LoadContext TPM_ChangeAuth TPM_ChangeAuthOwner TPM_OIAP TPM_OSAP TPM_DSAP TPM_FlushSpecific
  • 10. 10 AES-NI TPM TXT TPM Управление состоянием Хранилище ключей Криптография Протоколы авторизации Таймер/Счетчик Контроль целостности
  • 11. 11 AES-NI TPM TXT Включение питания TPM_Init TPM_Startup Самотестирование Использование TPM_SaveState Выключение питания BIOS BIOS Чипсет Программное обеспечение
  • 12. 12 AES-NI TPM TXT Вычислители Постоянное хранилище Non-Volatile (NV) Временное хранилище RSA SHA-1 HMAC RNG EK –Endorsement Key (2048b) SRK –Storage Root Key (2048b) Owner AuthSecret (160b) PCR –Platform Control Registers 0..15 RSA key Slots 0..9 Temp Handles
  • 13. 13 AES-NI TPM TXT TPM EK SRK AuthSecret RSA key slot Handles PCR
  • 14. 14 AES-NI TPM TXT Owner AuthSecret TPM TPM_TakeOwnership SRK Создает
  • 15. 15 AES-NI TPM TXT Owner AuthSecret TPM NewKey SRK NewKey Blob Вычисляет Возвращает
  • 16. 16 AES-NI TPM TXT Owner AuthSecret TPM NewKey SRK NewKey Blob NewKey Handle Сохраняется Ассоциирует Возвращает
  • 17. 17 AES-NI TPM TXT TPM PCR_#x Обнуляет PCR[x] 0 Reset/Startup •Обнуление Extend •Добавление данных Read/Seal •Использование
  • 18. 18 AES-NI TPM TXT TPM PCR_#x Обнуляет PCR[x] 0 Reset/Startup •Обнуление Extend •Добавление данных Read/Seal •Использование Данные (D)
  • 19. 19 AES-NI TPM TXT TPM PCR_#x Использует Reset/Startup •Обнуление Extend •Добавление данных Read/Seal •Использование
  • 20. 20 AES-NI TPM TXT TPM TPM_Seal(x) PCR_#x Key handle (EK/Other) Data Blob NewKey Data Использует Вычисляет Возвращает Seal •Шифрование Unseal •Расшифровывание
  • 21. 21 AES-NI TPM TXT TPM TPM_Unseal(x) PCR_#x Key handle (EK/Other) NewKey Data Использует Вычисляет Возвращает Data Blob Seal •Шифрование Unseal •Расшифровывание
  • 22. 22 AES-NI TPM TXT On Enabled Active Owned Off Disabled Inactive Unowned Нельзя использовать ресурсы TPM Но можно Random/SHA-1 То же что Disabled, но можно TakeOwnership Можно использовать дополнительные команды с ключемSRK Включен дополнительный контроль команд Можно использовать все основные команды, в частности PCR Нельзя использовать команды, использующие персональный ключ Позволяет сперва авторизоваться, а потом включить TPM Питание отсутствует Можно использовать ресурсы TPM Питание подключено
  • 23. 23 AES-NI TPM TXT Требующие авторизации (Owned) Требующие ресурсы Не требующие ничего Контроль доступа к командам: On Owned + Activated Activated No Access Physical Presence Owned
  • 24. 24 AES-NI TPM TXT •BIOS •Драйвер TPM •Библиотеки и утилиты для работы с TPM bash Tpm-tools /dev/char/tpm TPM device
  • 25. 25 AES-NI TPM TXT sudomodprobetpm_bios sudomodprobetpm sudomodprobetpm_tis sudotpm_version sudotpm_takeownership sudotpm_getpubek sudocat /sys/class/misc/tpm0/device/pcrr tpm_sealdata–I test.txt –o blob –p4 tpm_unsealdata–I blob –o text_res.txt
  • 26. 26 AES-NI TPM TXT PCR Данные 0 BIOS,расширения 1 КонфигурацияPCI/Motherboard 2 Настройки BIOS 3 Другие ROM 4 MBR –1 5 MBR –2 6 Код событий выхода изHybernate 7 Данные производителя компьютера 8 NTFS Boot Sector 9 NTFS Boot Block 10 Boot Manager 11 BitLockerAccess Control PIN Ключ шифрования Использует
  • 27. 27 AES-NI TPM TXT Приложения КомандыTPM Пакет на отправку УстройствоTPM PortIO/MMIO Пакет на прием УстройствоTPM PortIO/MMIO TPM_Seal TPM_Unseal TPM_SaveState TPM_Enable TPM_Disable TPM_LoadKey … … BIOS tpm-seal Tboot U8 TPM_REG_ACCESS U32 TPM_REG_STS U8 TPM_REG_DATA_FIFO readb((TPM_LOCALITY_BASE_N(locality) | reg) + i); Writeb((TPM_LOCALITY_BASE_N(locality) | reg) + i, _raw[i]);
  • 28. 28 AES-NI TPM TXT tboot Фаза 1  TPM_CreateWrapKey(PIN) Key.dat TPM_Seal MBR -> PCR Mbr.dat Botan::encrypt (data.txt) Фаза 2 TPM_LoadKey(PIN) TPM_Unseal Botan::decrypt (data.txt)
  • 29. 29 AES-NI TPM TXT BIOS ROM BIOS Code MBR Loader OS Kernel TPM PCR Static Root of trust (SRT)
  • 30. 30 AES-NI TPM TXT BIOS ROM BIOS Code MBR Loader OS Kernel Сотни проверок при загрузке -долго Необходимо обновлять все проверки в случае легальных модификаций Как быть, если не совпал код на ранней стадии? Не загружаться? Все компоненты доверенные Возможность удаленной проверки (TPM_Sealс удаленным Challange)
  • 31. 31 AES-NI TPM TXT Intel Trusted Execution Technology (TXT) AMD Secure Virtual Machines