For personnal use only
|
|
- Piers Dorsey
- 6 years ago
- Views:
Transcription
1 UEFI Utility to Read TPM 1.2 PCRs Finnbarr P. Murphy A Trusted Platform Module (TPM) supports many security functions including a number of special registers called Platform Configuration Registers (PCRs) which can hold data in a shielded location in a manner that prevents tampering or spoofing. A PCR is a 20-byte register. which incidentally is the length of a SHA-1 (Secure Hash Algorithm) hash. Most modern TPMs have 24 or even more PCRs; older ones have 16 PCRs. The TPM 1.2 specification, developed by the Trusted Computing Group (TCG) only requires 16 PCRs. Typically PCRs are used to store measurements. Measurements can be of code, data structures, configuration, information, or anything that can be loaded into memory with code measurement being the most common use case. The idea is that no code is executed until it has been measured. Measurements consist of a cryptographic hash using SHA-1. To further protect the integrity of the measurements, hashes are not written directly to PCRs; instead a PCR is extended with a measurement. This means that the TPM takes the current value of the PCR and the measurement to be extended, hashes them together, and replaces the content of the PCR with that hash result. Note that a TPM is not responsible for actually measuring anything; only for securely storing the measurement. Extend works like this: New PCR value = SHA-1 hash (Current PCR value new SHA-I hash) The TPM retrieves the current value of a PCR, concatenates the new SHA-1 hash to the end of the retrieved value in order to obtain a 40-byte value, calculates the SHA-1 of this 40-byte value to obtain a 20-byte hash and sets the PCR value to this SHA-1. The result is that the only way to arrive at a particular measurement in a PCR is to extend exactly the same measurements in exactly the same order. Therefore, if any module being measured has been modified, the resulting PCR measurement will be different and thus it is easy to detect if any code, configuration, data, etc. that has been measured was been modified or corrupted as it is computationally infeasible to forge the resulting PCR value. PCRs can never be arbitrarily overwritten but many can be reset while the platform is powered on to a known value, either all zero bits or all one bits, using the TPM PCR_Reset command. Whether a specific PCR can be reset or not is defined by various platform specifications and requires appropriate permissions. All PCRs can be reset at power on. Before I go any further, here is the source code for my ShowPCR12 utility: // // Copyright (c) 2017 Finnbarr P. Murphy. All rights reserved. // // Retrieve and print TPMi 1.2 PCR digests // // License: BSD License // #include <uefi.h> #include <library /UefiLib.h> #include </library><library /ShellCEntryLib.h> #include </library><library /ShellLib.h> Copyright Finnbarr P. Murphy. All rights reserved. 1/8
2 #include </library><library /BaseMemoryLib.h> #include </library><library /UefiBootServicesTableLib.h> #include <protocol /EfiShell.h> #include </protocol><protocol /LoadedImage.h> #include </protocol><protocol /TcgService.h> #include </protocol><protocol /Tcg2Protocol.h> #include <industrystandard /UefiTcgPlatform.h> #define UTILITY_VERSION L"0.8" #define EFI_TCG2_PROTOCOL_GUID \ {0x607f766c, 0x7455, 0x42be, { 0x93, 0x0b, 0xe4, 0xd7, 0x6d, 0xb2, 0x72, 0x0f VOID Print_PcrDigest(TPM_PCRINDEX PcrIndex, TPM_PCRVALUE *PcrValue) { int size = sizeof(tpm_pcrvalue); UINT8 *buf = (UINT8 *)PcrValue; Print(L"[%02d] ", PcrIndex); for (int i = 0; i < size; i++) { Print(L"%02x ", 0xff & buf[i]); Print(L"\n"); BOOLEAN CheckForTpm20() { EFI_STATUS Status = EFI_SUCCESS; EFI_TCG2_PROTOCOL *Tcg2Protocol; EFI_GUID gefitcg2protocolguid = EFI_TCG2_PROTOCOL_GUID; Status = gbs->locateprotocol( &gefitcg2protocolguid, NULL, (VOID **) &Tcg2Protocol); if (EFI_ERROR (Status)) { return FALSE; return TRUE; VOID Usage(CHAR16 *Str) { Print(L"Usage: %s [--version]\n", Str); INTN EFIAPI ShellAppMain(UINTN Argc, CHAR16 **Argv) { EFI_STATUS Status = EFI_SUCCESS; EFI_TCG_PROTOCOL *TcgProtocol; EFI_GUID gefitcgprotocolguid = EFI_TCG_PROTOCOL_GUID; TPM_RSP_COMMAND_HDR *TpmRsp; UINT32 TpmSendSize; UINT8 CmdBuf[64]; TPM_PCRINDEX PcrIndex; TPM_PCRVALUE *PcrValue; if (Argc >= 2) { if (!StrCmp(Argv[1], L"--version")) { Print(L"Version: %s\n", UTILITY_VERSION); else { Usage(Argv[0]); return Status; Status = gbs->locateprotocol( &gefitcgprotocolguid, NULL, (VOID **) &TcgProtocol); if (EFI_ERROR (Status)) { if (CheckForTpm20()) { Print(L"ERROR: Platform configured for TPM 2.0, not TPM 1.2\n"); else { Print(L"ERROR: Failed to locate EFI_TCG_PROTOCOL [%d]\n", Status); Copyright Finnbarr P. Murphy. All rights reserved. 2/8
3 ) { UEFI Utility to Read TPM 1.2 PCRs return Status; // Loop through all the PCRs and print each digest for (PcrIndex = 1; PcrIndex < = TPM_NUM_PCR; PcrIndex++) { TpmSendSize = sizeof (TPM_RQU_COMMAND_HDR) + sizeof (UINT32); *(UINT16*)&CmdBuf[0] = SwapBytes16 (TPM_TAG_RQU_COMMAND); *(UINT32*)&CmdBuf[2] = SwapBytes32 (TpmSendSize); *(UINT32*)&CmdBuf[6] = SwapBytes32 (TPM_ORD_PcrRead); *(UINT32*)&CmdBuf[10] = SwapBytes32 (PcrIndex); Status = TcgProtocol->PassThroughToTpm( TcgProtocol, TpmSendSize, CmdBuf, sizeof (CmdBuf), CmdBuf); if (EFI_ERROR (Status)) { if (CheckForTpm20()) { Print(L"ERROR: Platform configured for TPM 2.0, not TPM 1.2\n"); else { Print(L"ERROR: PassThroughToTpm failed [%d]\n", Status); return Status; TpmRsp = (TPM_RSP_COMMAND_HDR *) &CmdBuf[0]; if ((TpmRsp->tag!= SwapBytes16(TPM_TAG_RSP_COMMAND)) (TpmRsp->returnCode!= 0) Print(L"ERROR: TPM command result [%d]\n", SwapBytes16(TpmRsp->returnCode)); return EFI_DEVICE_ERROR; PcrValue = (TPM_PCRVALUE *) &CmdBuf[sizeof (TPM_RSP_COMMAND_HDR)]; Print_PcrDigest(PcrIndex, PcrValue); return Status; I developed it using the Tianocore UDK2015 (UEFI Development Kit, 2015 release). UDK2017 is not yet released; it is scheduled for early 2017Q1. Here is my build configuration file: [Defines] INF_VERSION = 0x BASE_NAME = ShowPCR12 FILE_GUID = 4ea87c ccd f3ce51 MODULE_TYPE = UEFI_APPLICATION VERSION_STRING = 0.1 ENTRY_POINT = ShellCEntryLib VALID_ARCHITECTURES = X64 [Sources] ShowPCR12.c [Packages] MdePkg/MdePkg.dec ShellPkg/ShellPkg.dec [LibraryClasses] ShellCEntryLib ShellLib BaseLib BaseMemoryLib UefiLib [Protocols] Copyright Finnbarr P. Murphy. All rights reserved. 3/8
4 [BuildOptions] [Pcd] To assist you in understanding the code I have included a copy of the TPM_PCRRead specification from Part 3 of the TPM 1.2 specification. In UDK2015, the assigned ordinal for TPM_PCRRead is TPM_ORD_PcrRead and that is what you will see in the above code. I also include a copy of the relevant section of the TPM 1.2 EFI specification detailing the PassThroughToTpm API which is exposed via the EFI_TCG_PROTOCOL_GUID guid Copyright Finnbarr P. Murphy. All rights reserved. 4/8
5 Note this utility interacts with a TPM at a very low level, i.e. what Will Arthur et al in their excellent book A Practical Guide to TPM 2.0 in Figure 7.1 call the System API (SAPI) layer. Could I have used one of the two other higher levels API layers? Yes, but frankly SAPI is easier for me to use when coding a UEFI shell utility as I am quite familiar with it. Here is the output of this utility when run against the hardware TPM on my Lenovo T450: fs1> ShowPCR12.EFI [01] 11 EE 11 E D7 88 EC 99 BE D D D2 [02] B2 A8 3B 0E BF 2F A 5B 2B DF C3 1E A9 55 AD [03] B2 A8 3B 0E BF 2F A 5B 2B DF C3 1E A9 55 AD [04] A4 32 BC 6C 7F CC 7F CB AD 41 0A 6E [05] 45 A B D9 33 F0 8E 7F 0E 25 6B C8 24 9E B1 EC [06] A9 CD BE 97 0A A5 DD AA A8 C A0 EB DC 4D 50 FE [07] DD 38 9D FA 9A D1 D9 D9 CF 41 B4 94 8E DD 7D BC [08] [09] [10] [11] [12] [13] Copyright Finnbarr P. Murphy. All rights reserved. 5/8
6 [14] [15] [16] fs1> As you can see the first eight PCRs have non-zero values. The Trusted Computing Group only defined a Static Chain of Trust for TPM 1.2 starting from a Static Core Root of Trust for Measurements (S-CRTM) and assigns the following meanings to measurements in the first 8 PCRs: PCR0 CRTM, BIOS code, and Platform Extensions PCR1 Platform Configuration PCR2 Option ROM Code PCR3 Option ROM Configuration and Data PCR4 IPL (Initial Program Loader) Code PCR5 IPL Code Configuration and Data PCR6 State Transition and Wake Events PCR7 Platform Manufacturer Control PCRs 8 to 15 are assigned for use by the operating system. For example, a trusted boot loader typically uses PCR8 and PCR9. The following diagram shows the difference between a Static Chain of Trust which I have discussed and a Dynamic Chain of Trust which I am about to briefly introduce Copyright Finnbarr P. Murphy. All rights reserved. 6/8
7 TPM 1.2 only supports a Static Chain of Trust. Here, the first thing measured at boot is called the Core Root of Trust for Measurements (CRTM) whereby the firmware (AKA BIOS) boot block will measure the firmware and store the resultant value in PCR0 before executing it. On Intel platforms, it does this by invoking an Intel-supplied chunk of code called Authenticated Code Module (BIOS ACM) which is embedded in the firmware and can authenticate and validate the firmware. Then the firmware will measure the next thing in the boot chain before executing it and store the value in PCR1. This process continues for each component in the boot sequence. On the other hand, Dynamic Root of Trust for Measurements DRTM) is quite different as you can see from the above diagram. The goal of DRTM is to create a trusted environment from an initially untrusted state. Intel calls their implementation Trusted Execution Technology (TXT) and AMD uses the name Secure Virtual Machine (SVM). A detailed discussion of the differences between SRTM and DRTM is outside the scope of this post. Do a search, SRTM versus DRTM, on StackExchange for more information. By the way, if you have access to the Intel TXT (Trusted Execution Technology) EFI compliance testing toolkit, the included utility, pcrdump.efi, provides similar functionality to the utility described in this post Copyright Finnbarr P. Murphy. All rights reserved. 7/8
8 Copyright Finnbarr P. Murphy. All rights reserved. 8/8
For personnal use only
UEFI Shell Utility to Display TPM TrEE Capabilities Finnbarr P. Murphy (fpm@fpmurphy.com) With the drive towards hardening platform firmware, for example Microsoft s Secure Boot initiative, I have decided
More informationFor personnal use only
Check Available Text And Graphics Modes From UEFI Shell Finnbarr P. Murphy (fpm@fpmurphy.com) Some time ago a reader of this blog contacted me for assistance with enumerating possible screen modes from
More informationFor personnal use only
Lenovo ThinkPwn POC Ported to UDK2015 Finnbarr P. Murphy (fpm@fpmurphy.com) The Lenovo ThinkPwn zeroday (Oday) proof of concept (POC) that a UEFI application can write via SMM to SMRAM has been very widely
More informationFor personnal use only
EDID Utility Ported to UDK Finnbarr P. Murphy (fpm@fpmurphy.com) Some time ago, actually September 2012, I wrote a UEFI shell utility to parse and display connected monitor EDID information. The build
More informationFor personnal use only
Using PCI.IDS Database to Show PCI Vendor and Device Information in UEFI Shell Finnbarr P. Murphy (fpm@fpmurphy.com) The UEFI Shell has a built-in command called pci for enumerating PCI (Peripheral Component
More informationFor personnal use only
UEFI Shell Application Examples Finnbarr P. Murphy (fpm@fpmurphy.com) The three examples listed in the EFI Shell Developers Guide (the latest version is 0.91 dated June 27, 2005) have never been updated
More informationSirrix AG security technologies. TPM Laboratory I. Marcel Selhorst etiss 2007 Bochum Sirrix AG
TPM Laboratory I Marcel Selhorst m.selhorst@sirrix.com etiss 2007 Bochum What's this? 00 00 DC 76 4A 0B 1E 53 2F FF 81 13 92 5D A8 33 E4 2 C4 00 FC 8E 81 E1 24 6F 09 79 EA 84 32 9B 67 C8 76 00 0C C6 FD
More informationTCG. TCG EFI Protocol Specification For TPM Family 1.1 or 1.2. TCG Published Copyright TCG Contact:
TCG EFI Protocol Specification For TPM Family 1.1 or 1.2 Specification Version 1.22 Revision 5 27 January 2014 Contact: admin@trustedcomputinggroup.org Copyright TCG 2004-2014 TCG Disclaimers, Notices,
More informationOVAL + The Trusted Platform Module
OVAL + The Trusted Platform Module Charles Schmidt June 14, 2010 Overview OVAL Can assess a vast diversity of system state Usually software based software attacks can compromise Trusted Platform Module
More informationCIS 4360 Secure Computer Systems Secured System Boot
CIS 4360 Secure Computer Systems Secured System Boot Professor Qiang Zeng Spring 2017 Previous Class Attacks against System Boot Bootkit Evil Maid Attack Bios-kit Attacks against RAM DMA Attack Cold Boot
More informationPast, Present, and Future Justin Johnson Senior Principal Firmware Engineer
Dell Firmware Security Past, Present, and Future Justin Johnson Senior Principal Firmware Engineer justin.johnson1@dell.com Dell Security 2 What does BIOS do? Configure and Test System Memory Configure
More informationI Don't Want to Sleep Tonight:
I Don't Want to Sleep Tonight: Subverting Intel TXT with S3 Sleep Seunghun Han, Jun-Hyeok Park (hanseunghun parkparkqw)@nsr.re.kr Wook Shin, Junghwan Kang, HyoungChun Kim (wshin ultract khche)@nsr.re.kr
More informationThe cache is 4-way set associative, with 4-byte blocks, and 16 total lines
Sample Problem 1 Assume the following memory setup: Virtual addresses are 20 bits wide Physical addresses are 15 bits wide The page size if 1KB (2 10 bytes) The TLB is 2-way set associative, with 8 total
More informationTLS 1.2 Protocol Execution Transcript
Appendix C TLS 1.2 Protocol Execution Transcript In Section 2.3, we overviewed a relatively simple protocol execution transcript for SSL 3.0. In this appendix, we do something similar for TLS 1.2. Since
More informationCIS-331 Exam 2 Fall 2015 Total of 105 Points Version 1
Version 1 1. (20 Points) Given the class A network address 117.0.0.0 will be divided into multiple subnets. a. (5 Points) How many bits will be necessary to address 4,000 subnets? b. (5 Points) What is
More informationIA32 OS START-UP UEFI FIRMWARE. CS124 Operating Systems Fall , Lecture 6
IA32 OS START-UP UEFI FIRMWARE CS124 Operating Systems Fall 2017-2018, Lecture 6 2 Last Time: IA32 Bootstrap Computers and operating systems employ a bootstrap process to load and start the operating system
More informationCIS-331 Fall 2014 Exam 1 Name: Total of 109 Points Version 1
Version 1 1. (24 Points) Show the routing tables for routers A, B, C, and D. Make sure you account for traffic to the Internet. Router A Router B Router C Router D Network Next Hop Next Hop Next Hop Next
More informationTPM v.s. Embedded Board. James Y
TPM v.s. Embedded Board James Y What Is A Trusted Platform Module? (TPM 1.2) TPM 1.2 on the Enano-8523 that: How Safe is your INFORMATION? Protects secrets from attackers Performs cryptographic functions
More informationSecure, Trusted and Trustworthy Computing
http://www.trust.cased.de Assignments for the Course Secure, Trusted and Trustworthy Computing WS 2011/2012 Prof. Dr.-Ing. Ahmad-Reza Sadeghi Authors: Sven Bugiel Based on work by: B.Cubaleska, L. Davi,
More informationThe TPM 2.0 specs are here, now what?
presented by The TPM 2.0 specs are here, now what? UEFI Spring Plugfest March 29-31, 2016 Presented by Dick Wilkins, Ph.D. Phoenix Technologies, Ltd. Updated 2011-06-01 UEFI Plugfest March 2016 www.uefi.org
More informationNo Trade Secrets. Microsoft does not claim any trade secret rights in this documentation.
[MS-FSSHTTPD]: Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications documentation for protocols, file formats, languages,
More informationTriple DES and AES 192/256 Implementation Notes
Triple DES and AES 192/256 Implementation Notes Sample Password-to-Key and KeyChange results of Triple DES and AES 192/256 implementation For InterWorking Labs customers who require detailed information
More information4. Specifications and Additional Information
4. Specifications and Additional Information AGX52004-1.0 8B/10B Code This section provides information about the data and control codes for Arria GX devices. Code Notation The 8B/10B data and control
More informationUNH-IOL MIPI Alliance Test Program
DSI Receiver Protocol Conformance Test Report UNH-IOL 121 Technology Drive, Suite 2 Durham, NH 03824 +1-603-862-0090 mipilab@iol.unh.edu +1-603-862-0701 Engineer Name engineer@company.com Panel Company
More informationFor personnal use only
Use 010 Editor to Obtain Header Fields From Intel Microcode Binary Files Finnbarr P. Murphy (fpm@fpmurphy.com) In my last blog post, I used the well-known 010 text and hex editor (010 Editor) to examine
More informationC1098 JPEG Module User Manual
C1098 JPEG Module User Manual General Description C1098 is VGA camera module performs as a JPEG compressed still camera that can be attached to a wireless or PDA host. Users can send out a snapshot command
More informationCIS-331 Exam 2 Fall 2014 Total of 105 Points. Version 1
Version 1 1. (20 Points) Given the class A network address 119.0.0.0 will be divided into a maximum of 15,900 subnets. a. (5 Points) How many bits will be necessary to address the 15,900 subnets? b. (5
More informationCIS-331 Fall 2013 Exam 1 Name: Total of 120 Points Version 1
Version 1 1. (24 Points) Show the routing tables for routers A, B, C, and D. Make sure you account for traffic to the Internet. NOTE: Router E should only be used for Internet traffic. Router A Router
More informationTCG TPM2 Software Stack & Embedded Linux. Philip Tricca
TCG TPM2 Software Stack & Embedded Linux Philip Tricca philip.b.tricca@intel.com Agenda Background Security basics Terms TPM basics What it is / what it does Why this matters / specific features TPM Software
More information[MS-FSSHTTPD]: Binary Data Format for File Synchronization via SOAP. Intellectual Property Rights Notice for Open Specifications Documentation
[MS-FSSHTTPD]: Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications documentation ( this documentation ) for protocols,
More informationHow to create a trust anchor with coreboot.
How to create a trust anchor with coreboot. Trusted Computing vs Authenticated Code Modules Philipp Deppenwiese About myself Member of a hackerspace in germany. 10 years of experience in it-security. Did
More informationIntel Platform Innovation Framework for EFI Boot Script Specification. Version 0.91 April 1, 2004
Intel Platform Innovation Framework for EFI Boot Script Specification Version 0.91 April 1, 2004 Boot Script Specification THIS SPECIFICATION IS PROVIDED "AS IS" WITH NO WARRANTIES WHATSOEVER, INCLUDING
More informationTechnical Specification. Third Party Control Protocol. AV Revolution
Technical Specification Third Party Control Protocol AV Revolution Document AM-TS-120308 Version 1.0 Page 1 of 31 DOCUMENT DETAILS Document Title: Technical Specification, Third Party Control Protocol,
More informationTUX : Trust Update on Linux Kernel
TUX : Trust Update on Linux Kernel Suhho Lee Mobile OS Lab, Dankook university suhho1993@gmail.com -- Hyunik Kim, and Seehwan Yoo {eternity13, seehwan.yoo}@dankook.ac.kr Index Intro Background Threat Model
More informationPlatform Configuration Registers
Chapter 12 Platform Configuration Registers Platform Configuration Registers (PCRs) are one of the essential features of a TPM. Their prime use case is to provide a method to cryptographically record (measure)
More informationJonathan M. McCune. Carnegie Mellon University. March 27, Bryan Parno, Arvind Seshadri Adrian Perrig, Michael Reiter
Jonathan M. McCune Carnegie Mellon University March 27, 2008 Bryan Parno, Arvind Seshadri Adrian Perrig, Michael Reiter 1 Password Reuse People often use 1 password for 2+ websites Banking, social networking,
More informationDepartment of Computer Science Institute for System Architecture, Operating Systems Group TRUSTED COMPUTING CARSTEN WEINHOLD
Department of Computer Science Institute for System Architecture, Operating Systems Group TRUSTED COMPUTING CARSTEN WEINHOLD THIS LECTURE... Today: Technology Lecture discusses basics in context of TPMs
More informationCS 537: Introduction to Operating Systems Fall 2015: Midterm Exam #1
CS 537: Introduction to Operating Systems Fall 2015: Midterm Exam #1 This exam is closed book, closed notes. All cell phones must be turned off. No calculators may be used. You have two hours to complete
More informationLecture Embedded System Security Trusted Platform Module
1 Lecture Embedded System Security Prof. Dr.-Ing. Ahmad-Reza Sadeghi System Security Lab Technische Universität Darmstadt (CASED) Germany Summer Term 2015 Roadmap: TPM Introduction to TPM TPM architecture
More informationTRUSTED COMPUTING TRUSTED COMPUTING. Overview. Why trusted computing?
Overview TRUSTED COMPUTING Why trusted computing? Intuitive model of trusted computing Hardware versus software Root-of-trust concept Secure boot Trusted Platforms using hardware features Description of
More informationCIS-331 Spring 2016 Exam 1 Name: Total of 109 Points Version 1
Version 1 Instructions Write your name on the exam paper. Write your name and version number on the top of the yellow paper. Answer Question 1 on the exam paper. Answer Questions 2-4 on the yellow paper.
More informationCIS-331 Final Exam Spring 2015 Total of 115 Points. Version 1
Version 1 1. (25 Points) Given that a frame is formatted as follows: And given that a datagram is formatted as follows: And given that a TCP segment is formatted as follows: Assuming no options are present
More informationECHO Process Instrumentation, Inc. Modbus RS485 Module. Operating Instructions. Version 1.0 June 2010
ECHO Process Instrumentation, Inc. Modbus RS485 Module Operating Instructions Version 1.0 June 2010 ECHO Process Instrumentation, Inc. PO Box 800 Shalimar, FL 32579 PH: 850-609-1300 FX: 850-651-4777 EM:
More informationCIS-331 Exam 2 Spring 2016 Total of 110 Points Version 1
Version 1 1. (20 Points) Given the class A network address 121.0.0.0 will be divided into multiple subnets. a. (5 Points) How many bits will be necessary to address 8,100 subnets? b. (5 Points) What is
More informationThe FAT File System. 1. FAT Overview. 2. Boot Sector, FAT, Root Directory, and Files The FAT F 䤀耄 le System
CIS 24 Home http://www.c jump.com/cis24/cis24syllabus.htm The FAT File System 1. FAT Overview 2. Boot Sector, FAT, Root Directory, and Files 3. FAT File System Layout 4. FAT Clusters and Sectors 5. FAT,
More informationIntel Platform Innovation Framework for EFI ACPI Specification
Intel Platform Innovation Framework for EFI ACPI Specification Version 0.91 August 8, 2006 ACPI Specification THIS SPECIFICATION IS PROVIDED "AS IS" WITH NO WARRANTIES WHATSOEVER, INCLUDING ANY WARRANTY
More informationLecture Secure, Trusted and Trustworthy Computing Trusted Platform Module
1 Lecture Secure, Trusted and Trustworthy Computing Trusted Platform Module Prof. Dr.-Ing. Ahmad-Reza Sadeghi System Security Lab Technische Universität Darmstadt Germany Winter Term 2016/17 Roadmap: TPM
More informationZN-DN312XE-M Quick User Guide
ZN-DN312XE-M Quick User Guide This manual provides instructions for quick installation and basic configuration of your IP device. Step1. Connect cables to IP device Connect required cables to the device
More informationHere is a C function that will print a selected block of bytes from such a memory block, using an array-based view of the necessary logic:
Pointer Manipulations Pointer Casts and Data Accesses Viewing Memory The contents of a block of memory may be viewed as a collection of hex nybbles indicating the contents of the byte in the memory region;
More informationDepartment of Computer Science Institute for System Architecture, Operating Systems Group TRUSTED COMPUTING CARSTEN WEINHOLD
Department of Computer Science Institute for System Architecture, Operating Systems Group TRUSTED COMPUTING CARSTEN WEINHOLD THIS LECTURE... Today: Technology Lecture discusses basics in context of TPMs
More informationLecture Secure, Trusted and Trustworthy Computing Trusted Platform Module
1 Lecture Secure, Trusted and Trustworthy Computing Trusted Platform Module Prof. Dr.-Ing. Ahmad-Reza Sadeghi System Security Lab Technische Universität Darmstadt Germany Winter Term 2017/18 Roadmap: TPM
More informationBinary Encodings for JavaScript Object Notation: JSON-B, JSON-C, JSON-D
Internet Engineering Task Force P. Hallam-Baker Internet-Draft Comodo Group Inc. Intended status: Standards Track June 11, 2013 Expires: December 13, 2013 Binary Encodings for JavaScript Object Notation:
More informationM2351 Trusted Boot. Application Note for 32-bit NuMicro Family
M2351 Trusted Boot Application Note for 32-bit NuMicro Family Document Information Abstract Apply to Introduce the M2351 Secure Bootloader, Secure Boot verification mechanism, and how it works to perform
More informationUnicorn: Two- Factor Attestation for Data Security
ACM CCS - Oct. 18, 2011 Unicorn: Two- Factor Attestation for Data Security M. Mannan Concordia University, Canada B. Kim, A. Ganjali & D. Lie University of Toronto, Canada 1 Unicorn target systems q High
More informationRS 232 PINOUTS. 1. We use RJ12 for all of our RS232 interfaces (Link-2-Modbus & Link-2-PC- Serial/RS232). The diagram below shows our pin out.
RS 232 PINOUTS 1. We use RJ12 for all of our RS232 interfaces (Link-2-Modbus & Link-2-PC- Serial/RS232). The diagram below shows our pin out. 2. A DB9 Female to RJ12 Female Serial/Terminal Modular Adaptor
More informationBig and Bright - Security
Big and Bright - Security Big and Bright Security Embedded Tech Trends 2018 Does this mean: Everything is Big and Bright our security is 100% effective? or There are Big security concerns but Bright solutions?
More informationScan Results - ( Essentials - Onsharp )
Scan Results - www.onsharp.com ( Essentials - Onsharp ) Overview Open Ports (18) Scan ID: 7675527 Target: www.onsharp.com Max Score: 2.6 Compliance: Passing PCI compliance, Expires undefined Profile: 15
More informationYHY502CTG++ DATASHEET MHz RFID Mifare Read/Write Module. YHY502CTG++ Datasheet Revision 2.0 Oct, 2009 Page 1 of 21
YHY5CTG++ Datasheet Revision 2.0 Oct, 29 Page 1 of 21 YHY5CTG++ 13.56MHz RFID Mifare Read/Write Module DATASHEET Complete Read/Write module with built-in transceiver antenna Auto checks for presence of
More informationPL-I Assignment Broup B-Ass 5 BIOS & UEFI
PL-I Assignment Broup B-Ass 5 BIOS & UEFI Vocabulary BIOS = Basic Input Output System UEFI = Unified Extensible Firmware Interface POST= Power On Self Test BR = Boot Record (aka MBR) BC =Boot Code (aka
More informationTCG Physical Presence Interface Specification
TCG Physical Presence Interface Specification Specification Version 1.2 Revision 1.00 February 10 th, 2011 Contact: admin@trustedcomputinggroup.org TCG Published Copyright TCG 2003-2011 Disclaimers, Notices,
More informationA Hijacker's Guide to the LPC bus IAIK/EUROPKI2011/HIJACKER'S GUIDE 1
A Hijacker's Guide to the LPC bus IAIK/EUROPKI2011/HIJACKER'S GUIDE 1 Motivation Endpoint security and Trusted Computing How about resilience against simple hardware attacks? IAIK/EUROPKI2011/HIJACKER'S
More informationOverview. Wait, which firmware? Threats Update methods request_firmware() hooking Regression testing Future work
http://outflux.net/slides/2014/lss/firmware.pdf Linux Security Summit, Chicago 2014 Kees Cook (pronounced Case ) Overview Wait, which firmware? Threats Update methods request_firmware()
More informationUEFI Development Anti- Patterns
presented by UEFI Development Anti- Patterns Spring 2017 UEFI Seminar and Plugfest March 27-31, 2017 Presented by Chris Stewart (HP Inc.) Lead Security Developer, Firmware Updated 2011-06- 01 UEFI Plugfest
More informationAxProtector Exposed. Integrity Protection of a Modular Application. Rüdiger Kügler Security Expert
AxProtector Exposed Integrity Protection of a Modular Application Rüdiger Kügler Security Expert Ruediger.Kuegler@wibu.com Wolfgang Völker Director Product Management Wolfgang.Voelker@wibu.com Introduction
More informationDigital Lighting Systems, Inc. CD400-DMX DMX512 Four Channel Dimmer and Switch module
, Inc. DMX512 Four Channel Dimmer and Switch module Input: 5 Amps @ 6-24 VDC Outputs: 5 Amps Maximum each, total 4 outputs 8 Amps Maximum. FRONT BACK USER'S MANUAL -UM User's Manual - Page 1 GENERAL DESCRIPTION
More informationWHERE THE GUARDIANS OF THE BIOS ARE FAILING
BETRAYING THE BIOS: Presenter s Name Presenter's Position WHERE THE GUARDIANS OF THE BIOS ARE FAILING Alex Matrosov @matrosov Have a lot of fun with UEFI Security and RE Who We Are: Alex Matrosov Former
More informationimetos LoRa Data payload structure
imetos LoRa Data payload structure Pessl Instruments, GmbH Version 1.0, 06-2018 Content 1. SCOPE OF THIS DOCUMENT... 2 2. PARSING THE DATA FROM THE PAYLOAD VERSUS API DATA ACCESS... 3 3. IMETOS LORA FIRMWARE
More informationTCG. TCG PC Client Platform Firmware Profile Specification. TCG Published. Family 2.0. Level 00 Revision 1.03 v51 May 1, 2017.
Family 2.0 Level 00 Revision 1.03 v51 May 1, 2017 Published Contact: admin@trustedcomputinggroup.org TCG Published Copyright TCG 2003-2017 TCG Disclaimers, Notices, and License Terms THIS SPECIFICATION
More informationDepartment of Computer Science Institute for System Architecture, Operating Systems Group TRUSTED COMPUTING CARSTEN WEINHOLD
Department of Computer Science Institute for System Architecture, Operating Systems Group TRUSTED COMPUTING CARSTEN WEINHOLD THIS LECTURE... Today: Technology Lecture discusses basics in context of TPMs
More informationIntel Platform Innovation Framework for EFI SMBus Host Controller Protocol Specification. Version 0.9 April 1, 2004
Intel Platform Innovation Framework for EFI SMBus Host Controller Protocol Specification Version 0.9 April 1, 2004 SMBus Host Controller Protocol Specification THIS SPECIFICATION IS PROVIDED "AS IS" WITH
More informationDigital Lighting Systems, Inc.
Digital Lighting Systems, Inc. Four Channel Dry Contacts Relays Switch Pack DMX512 compatible USER'S MANUAL -UM User's Manual - Page 1 GENERAL DESCRIPTION The is a 4-channel DMX-512 compatible electro-mechanical
More informationLecture 08 Control-flow Hijacking Defenses
Lecture 08 Control-flow Hijacking Defenses Stephen Checkoway University of Illinois at Chicago CS 487 Fall 2017 Slides adapted from Miller, Bailey, and Brumley Control Flow Hijack: Always control + computation
More informationCreating the Complete Trusted Computing Ecosystem:
FEBRUARY 2018 Creating the Complete Trusted Computing Ecosystem: An Overview of the Trusted Software Stack (TSS) 2.0 Trusted Computing Group 3855 SW 153rd Drive Beaverton, OR 97003 Tel (503) 619-0562 Fax
More informationMember of the ams Group
Cambridge CMOS Sensors is now Member of the ams Group The technical content of this Cambridge CMOS Sensors (CCS) document is still valid. Contact information: Headquarters: ams AG Tobelbader Strasse 30
More informationHardware: Logical View
Hardware: Logical View CPU Memory Bus Disks Net USB Etc. 1 Hardware: Physical View USB I/O controller Storage connections CPU Memory 2 Hardware: 351 View (version 0) instructions? Memory CPU data CPU executes
More informationGSE/Belux Enterprise Systems Security Meeting
MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. 1 In the news Microsoft Exposes Scope of Botnet Threat By Tony Bradley, October 15, 2010 Microsoft's
More informationCS , Spring 2002 Exam 2
Full Name: CS 15-213, Spring 2002 Exam 2 March 28, 2002 Instructions: Make sure that your exam is not missing any sheets, then write your full name and Andrew login ID on the front. Write your answers
More informationUEFI Firmware Security Concerns and Best Practices
presented by UEFI Firmware Security Concerns and Best Practices UEFI Security Resources - July 2017 Dick Wilkins, PhD & Jim Mortensen Phoenix Technologies, Ltd. 1 Legal Stuff All rights reserved. PHOENIX
More informationOne-Stop Intel TXT Activation Guide
One-Stop Intel TXT Activation Guide IBM X-Series, idataplex and BladeCenter Server Systems Intel Trusted Execution Technology (Intel TXT) for Intel Xeon processor-based servers is commonly used to enhance
More informationTrusted Disk Loading in the Emulab Network Testbed. Cody Cutler, Eric Eide, Mike Hibler, Rob Ricci
Trusted Disk Loading in the Emulab Network Testbed Cody Cutler, Eric Eide, Mike Hibler, Rob Ricci 1 Emulab Public network testbed Create complex experiments quickly 500+ nodes at Utah Emulab 2 Emulab Nodes
More informationFor personnal use only
Finnbarr P. Murphy (fpm@fpmurphy.com) I use the EFI STUB method to boot Fedora 17 directly from a UEFI shell without using GRUB. When I got a new Lenovo T430 laptop in July, I found that when I installed
More informationFor personnal use only
Inverting Large Images Using CUDA Finnbarr P. Murphy (fpm@fpmurphy.com) This is a simple example of how to invert a very large image, stored as a vector using nvidia s CUDA programming environment and
More informationJuly Registration of a Cyrillic Character Set. Status of this Memo
Network Working Group Request for Comments: 1489 A. Chernov RELCOM Development Team July 1993 Status of this Memo Registration of a Cyrillic Character Set This memo provides information for the Internet
More informationB: Modbus Map and Retrieving Logs
B: Modbus Map and Retrieving Logs B.: Introduction Communicator EXT User Manual B.: Modbus Register Map Sections B.3: Data Formats # B.4: Floating Point Values The formula to interpret a Floating Point
More informationTPM AOM-TPM-9670V AOM-TPM-9670H AOM-TPM-9670V(H)-S
TPM AOM-TPM-9670V AOM-TPM-9670H AOM-TPM-9670V(H)-S USER S MANUAL 1.1a The information in this user s guide has been carefully reviewed and is believed to be accurate. The vendor assumes no responsibility
More informationCOMP 2355 Introduction to Systems Programming
COMP 2355 Introduction to Systems Programming Christian Grothoff christian@grothoff.org http://grothoff.org/christian/ 1 Functions Similar to (static) methods in Java without the class: int f(int a, int
More informationUnited States Naval Academy Electrical and Computer Engineering Department EC310-6 Week Midterm Spring AY2017
United States Naval Academy Electrical and Computer Engineering Department EC310-6 Week Midterm Spring AY2017 1. Do a page check: you should have 8 pages including this cover sheet. 2. You have 50 minutes
More informationFor personnal use only
Efivars and Efivarfs Finnbarr P. Murphy (fpm@fpmurphy.com) Recently a new filesystem was added to the 3.8 Linux kernel and backported to the Fedora kernel-3.6.10-4.fc18 and others. Here is the scant documentation
More informationECE264 Fall 2013 Exam 3, November 20, 2013
ECE264 Fall 2013 Exam 3, November 20, 2013 In signing this statement, I hereby certify that the work on this exam is my own and that I have not copied the work of any other student while completing it.
More informationThe Early System Start-Up Process. Group Presentation by: Tianyuan Liu, Caiwei He, Krishna Parasuram Srinivasan, Wenbin Xu
The Early System Start-Up Process Group Presentation by: Tianyuan Liu, Caiwei He, Krishna Parasuram Srinivasan, Wenbin Xu 1 Boot Process Booting is the initialization of a computerized system In Linux,
More informationCS 33. Data Representation, Part 1. CS33 Intro to Computer Systems VII 1 Copyright 2017 Thomas W. Doeppner. All rights reserved.
CS 33 Data Representation, Part 1 CS33 Intro to Computer Systems VII 1 Copyright 2017 Thomas W. Doeppner. All rights reserved. Number Representation Hindu-Arabic numerals developed by Hindus starting in
More informationProgram Flow. Instructions and Memory. Why are these 16 bits? C code. Memory. a = b + c. Machine Code. Memory. Assembly Code.
Instructions and Memory C code Why are these 16 bits? a = b + c Assembly Code ldr r0, [sp, #4] ldr adds r1, [sp] r0, r0, r1 str r0, [sp, #8] Machine Code 09801 09900 01840 09002 Memory 0 0 0 0 0 0 0 1
More informationAri Singer. November 7, Slide #1
Introduction to Using the TSS Ari Singer NTRU Cryptosystems November 7, 2005 Slide #1 Outline Motivating Use Cases TPM overview Summary of TCG (PC) Architecture Accessing the TPM TSS overview Coding to
More informationFor personnal use only
Manipulating Binary Data Using The Korn Shell Finnbarr P. Murphy (fpm@fpmurphy.com) Most people are unaware that ksh93 (Korn Shell 93) can handle binary data. As the following examples will demonstrate,
More informationTechnical Brief Distributed Trusted Computing
Technical Brief Distributed Trusted Computing Josh Wood Look inside to learn about Distributed Trusted Computing in Tectonic Enterprise, an industry-first set of technologies that cryptographically verify,
More informationAuthenticated Booting, Remote Attestation, Sealed Memory aka Trusted Computing. Hermann Härtig Technische Universität Dresden Summer Semester 2007
Authenticated Booting, Remote Attestation, Sealed Memory aka Trusted Computing Hermann Härtig Technische Universität Dresden Summer Semester 2007 Goals Understand: authenticated booting the difference
More informationCIS 4360 Secure Computer Systems. Trusted Platform Module
CIS 4360 Secure Computer Systems Trusted Platform Module Professor Qiang Zeng Spring 2017 Some slides were stolen from Stanford s Security Course, Bruce Maggs, and Bryan Parno Previous Class Does a b concern
More informationCIS 4360 Secure Computer Systems. Trusted Platform Module
CIS 4360 Secure Computer Systems Trusted Platform Module Professor Qiang Zeng Spring 2017 Some slides were stolen from Stanford s Security Course, Bruce Maggs, and Bryan Parno Signed Integer Representation
More informationENGI 8868/9877 Computer and Communications Security III. BLOCK CIPHERS. Symmetric Key Cryptography. insecure channel
(a) Introduction - recall symmetric key cipher: III. BLOCK CIPHERS k Symmetric Key Cryptography k x e k y yʹ d k xʹ insecure channel Symmetric Key Ciphers same key used for encryption and decryption two
More informationAuditing TPM Commands
Chapter 16 Auditing TPM Commands As used in the TPM, audit is the process of logging TPM command and response parameters that pass between the host and the TPM. The host is responsible for maintaining
More information