Скачать презентацию Trusted Hardware for Partitioned Multicore Alexandra Constantin James Скачать презентацию Trusted Hardware for Partitioned Multicore Alexandra Constantin James

017759453ae042c0baf2f50cbb1dc50c.ppt

  • Количество слайдов: 23

Trusted Hardware for Partitioned Multicore Alexandra Constantin James Cook Anindya De Computer Science, UC Trusted Hardware for Partitioned Multicore Alexandra Constantin James Cook Anindya De Computer Science, UC Berkeley

What is a TPM? TPM – Trusted Platform Module Specs by Trusted Computing Group What is a TPM? TPM – Trusted Platform Module Specs by Trusted Computing Group (TCG) Stores secret keys to be used for cryptographic protocols and authentication

Release data only if running Vista ! • How to ascertain if the server Release data only if running Vista ! • How to ascertain if the server is running Vista? • Trust TPM hardware and ask it for integrity measurements

Attestation TPM hardware is trusted AIK key pair AIK credential signed by trusted third Attestation TPM hardware is trusted AIK key pair AIK credential signed by trusted third party (privacy CA)

Boot Process BIOS boot block = Core Root of Trust Chain of trust ◦ Boot Process BIOS boot block = Core Root of Trust Chain of trust ◦ Boot block ◦ rest of the bios ◦ OS, etc. Integrity measurements = hash of code to be loaded Signed hash of code used to establish trust

TPM for Bulk Decryption Ascertained that it is Bob Alice Bob TPM for Bulk Decryption Ascertained that it is Bob Alice Bob

TPM for Bulk Decryption Pick K. Send Enc(K, PK) Alice Bob TPM for Bulk Decryption Pick K. Send Enc(K, PK) Alice Bob

TPM for Bulk Decryption Send Enc(K, Data) Alice Bob TPM for Bulk Decryption Send Enc(K, Data) Alice Bob

Trade-offs in implementation u TPM hardware requirements to maintain efficiency for a system with Trade-offs in implementation u TPM hardware requirements to maintain efficiency for a system with many partitions? u When to hash? u Some simulation results

Issues with TPM protocols: u Privacy: Critical data to be hashed but source to Issues with TPM protocols: u Privacy: Critical data to be hashed but source to remain undisclosed u Deflection attack: Server initially deflects communication to a TPM based server and later starts communication u Replay attacks : Continue to use certificate after switching OS u Snoopy attacks : Pry on the communication line for certificates and use them as your own

Non-network attacks u Have to trust some part of the kernel u DRAM is Non-network attacks u Have to trust some part of the kernel u DRAM is unsafe – freeze the computation u Pry on the system bus u. Side Channel Attacks

Trusted Hardware for Partitioned Multicore u Efficiency issues – Is the system reasonable when Trusted Hardware for Partitioned Multicore u Efficiency issues – Is the system reasonable when there are 20 cores and 120 partitions? u Some partitions trusted and some untrusted u Cannot even think of timestamping to prevent replay u More privacy issues : Should not be able to ascertain two partitions are physically on the same computer

Virtual TPMs for Partitioned Multicore Multiple partitions hosting operating systems Virtual operating systems reside Virtual TPMs for Partitioned Multicore Multiple partitions hosting operating systems Virtual operating systems reside in virtual machines Changing partitions Virtualize TPMs Create one VTPM per partition Each VTPM has its own keys and resources and can replicate the functions of a real TPM A VTPM manager connects the VTPM instance and the OS partitions VTPM manager collects integrity measurements of VTPM instances

Virtualization of TPM u. Virtualizing the TPM takes care of privacy issues u Chain Virtualization of TPM u. Virtualizing the TPM takes care of privacy issues u Chain of trust now goes through the virtual TPM u VTPM manager can give different privileges to different partitions. u Assurance on Quality of Service (Qo. S) can be given : we have a novel priority algorithm u Compromise of one partition ≠ Compromising the entire system

Hardware design for security TPM Secure DRAM Memory Encrypter Secure Box CPU Hardware design for security TPM Secure DRAM Memory Encrypter Secure Box CPU

More security measures u Security unusually dependent on correctness of kernel u Use the More security measures u Security unusually dependent on correctness of kernel u Use the Hi-Star labeling mechanism u There are categories and labels – {0, 1, 2, 3} u Rules for information flow – function of category, label tuple u We have one Hi-star category for information flow from secure box to rest of the world

Cryptographic issues u. RSA vs. ECC protocols u. Advantages of ECC : smaller key Cryptographic issues u. RSA vs. ECC protocols u. Advantages of ECC : smaller key size u. RSA is a malleable encryption scheme – cannot use for signing u. ECC arithmetic can be implemented very efficiently in hardware

Simulation results JAVA simulation of RSA and Elliptic curve cryptography ECC – GF(2233) 83 Simulation results JAVA simulation of RSA and Elliptic curve cryptography ECC – GF(2233) 83 milliseconds ECC – GF(2117) 18 milliseconds RSA - 2048 bits 186 milliseconds RSA -1024 bits 25 milliseconds

ECC FPGA Coprocessors for Improved Performance [Rebeiro and Mukhopadhyay] 3 main modules: ALU, register ECC FPGA Coprocessors for Improved Performance [Rebeiro and Mukhopadhyay] 3 main modules: ALU, register bank, control unit ALU components ◦ ◦ 14 cascaded circuits quad circuits, used for inversion Multiplier N x Squarer N x Adder Register Bank: 233 bit dual port registers; input to the registers = base point or output of ALU Control unit: Finite State Machine for 32 control signals Replicate coprocessor components according to partitioned multicore performance requirements

Use specialized hardware! Results from Software Simulation Operations Time Product – GF(2233) 0. 239 Use specialized hardware! Results from Software Simulation Operations Time Product – GF(2233) 0. 239 milliseconds Addition – GF(2233) 0. 001 milliseconds Inverse – GF(2233) 61. 722 millseconds Results from Hardware simulation Operations Time Clock Cycles Product – GF(2233) 0. 2178 μs 33 Inverse – GF(2233) 68 μs 10306

Efficient implementation of primitives u Efficient implementation of finite field primitives is of central Efficient implementation of primitives u Efficient implementation of finite field primitives is of central importance u Doubling a point on Elliptic curve: Can be done in 3 clock cycles (9 field multiplications) u Adding two points on elliptic curve: Can be done in 8 clock cycles (13 field multiplications)

Even more decisions? u Tradeoffs: chip area, time complexity, power u Even for basic Even more decisions? u Tradeoffs: chip area, time complexity, power u Even for basic multiplication (finite field or Zn), one can have the hardware scale as n(log 3)/(log 2) and time as log n or have the hardware scale as n and time n(log 3)/(log 2) u Circuits have been implemented in Verilog showing tradeoff