Notes - MCS
Secure Execution Environments
Notes - MCS
Secure Execution Environments
  • Secure Execution Environments
  • Introduction
    • Trusted Computing Base (TCB)
    • TEE (Trusted Execution Environment)
    • Can you trust the operating system?
  • Security in Operating Systems
    • Operating system
    • Virtual machines and hypervisors
    • Computational model
    • Access control
    • Protection with capabilities
    • Unix file protection ACLs
    • Windows NTFS file protection
    • Unix file protection ACLs
    • Privilege elevation
    • Privilege reduction
    • Linux login
  • Virtualization on Intel Processors
    • Modes of Operation
    • Virtual memory
    • How to put assembly instructions inside C code
    • A more elaborate example
    • Useful assembly instructions
  • Intel Software Guard Extensions
    • What is SGX (Software Guard eXtensions)?
    • SGX Enclave Memory
    • Guidelines for designing applications using SGX
    • Performance Overhead
    • SDK compilation modes
    • Writing Enclave Functions
  • ARM TrustZone
    • SoC and IP
    • ARM TrustZone
    • Worlds
    • Architecture
    • TrustZone bootstrap
  • Linux Kernel Namespaces
    • Namespaces
    • Advantages
    • Process Namespace
    • Network namespace
    • Mount namespace
    • UTS namespace
    • User namespace
  • LXC Linux Containers
    • Container
    • LXC containers
  • AppArmor
    • Purpose
    • Enforcement
    • Benefits
    • Attack prevention
    • Enforcement policies
    • Enforcement modes
    • Logging and auditing
    • Profiles
  • TPM (Trusted Platform Module)
    • Trusted Platform Module (TPM)
    • History
    • Cryptographic Concepts
    • Use cases
    • TPM Software Stack (TSS)
    • TPM concepts
    • Entities
    • Key management
    • Restrict signatures
    • Sessions
    • Authorization roles
  • Bootstrap security
    • AEGIS
    • Trusted computing
    • Root of Trust Measurements
    • Trusted Computing Platform Alliance (TCPA)
    • TPM-based attestation
    • Trusted Platform identity credentials
    • UEFI (Unified Extensible Firmware Interface)
    • NSA Boot Security
    • UEFI secure boot & TPM measurements
    • Intel Trusted Execution Technology (TXT)
    • Smartcards
      • Java Cards
      • OpenCard Framework (OCF)
      • Cryptographic services
Powered by GitBook
On this page
  • Details
  • MMU / TLB / Cache Controllers
  • AXI (Advanced eXtensible Interface)
  • TZASC (TZ Address Space Controller)
  • TZMA (TZ Memory Adapter)
  • TZPC (TZ Protection Controller)
  • GIC (Generic Interrupt Controller)
  1. ARM TrustZone

Architecture

Last updated 10 months ago

Details

MMU / TLB / Cache Controllers

2 separate, virtual MMUs.

  • Indexed by NS.

Single TLB.

  • But entries keep the value of NS that created them.

  • No need to invalidate them when switching between worlds.

The Secure World can still access non-secure memory.

  • Extra bit on each entry in the secure translation table.

Single cache.

  • Cache lines keep the NS address bit.

AXI (Advanced eXtensible Interface)

Extra NS line for secure read/write operations.

  • Non-secure master cannot access a resource marked as secure.

TZASC (TZ Address Space Controller)

Allows a dynamic classification of AXI slave memory-mapped devices as secure or non-secure.

  • Partitioning of single memory units.

Controlled by the Secure world.

TZMA (TZ Memory Adapter)

Keeps a classification of in-SoC memory areas as secure and non-secure.

  • ROM or SRAM.

Non-secure accesses cannot access secured memory areas.

Controlled by the Secure World.

TZPC (TZ Protection Controller)

Allows to dynamically set the security of a peripheral connected to the APB (Advanced Peripheral Bus).

  • Protects non-secure access requests to reach peripherals marked as secure.

Controlled by the Secure World.

GIC (Generic Interrupt Controller)

Classifies interrupts as secure or non-secure.

  • Once set, cannot be changed.

Interrupts can be normal or fast (high-priority).

  • Secure interrupts usually have higher priority.

Interrupts with a security classification different from the current world force the switching to Monitor (EL3).

Controlled by the Secure World.

Overview
SoC internal bus