Skip to main content

Overview

The Trust Center is an open-source verification platform that automates the validation of TEE attestations for dstack-based applications. It performs multi-dimensional verification across hardware, operating system, source code, and domain ownership to provide cryptographic proof of deployment integrity. Architecture: Monorepo with TypeScript verifier library, background worker queue, and web dashboard. Repository: https://github.com/Phala-Network/trust-center

System Architecture

Components

  1. Verifier Package (@phala/dstack-verifier)
    • Core TypeScript library for attestation verification
    • Modular verifier classes with configurable flags
    • Supports Intel TDX quote validation
    • Platform-specific verifiers (PhalaCloud, Redpill.ai)
  2. Background Worker
    • Built on BullMQ for reliable job processing
    • PostgreSQL for task persistence
    • Redis for queue management
    • Asynchronous verification execution
  3. Web Application
    • Next.js dashboard for report visualization
    • Direct database access for read operations
    • Real-time verification status updates
    • Public report URLs for transparency
  4. Storage Layer
    • PostgreSQL: Verification tasks and results
    • Redis: Job queue state
    • S3-compatible: Raw attestation data and quotes

Verification Phases

The Trust Center performs verification in four distinct phases:

Phase 1: Hardware Attestation

Validates the TEE quote to prove execution on genuine Intel hardware. What’s verified:
  • Quote signature: ECDSA-P256 signature validation using Intel certificates
  • Certificate chain: Validates back to Intel root CA
  • TCB status: Checks Trusted Computing Base security version
  • Platform identity: Confirms genuine Intel TDX processor
  • Revocation status: Verifies no certificates or platforms are revoked
Tools used: Implementation:
Failure modes:
  • Invalid signature: Quote not signed by genuine TEE
  • Revoked certificates: Platform or attestation key compromised
  • Outdated TCB: Security patches not applied

Phase 2: Operating System Integrity

Confirms the OS image matches a known trusted dstack version. What’s verified:
  • MRTD: Measurement Root of Trust Domain (TD initial state)
  • RTMR0: Virtual hardware environment
  • RTMR1: Linux kernel measurement
  • RTMR2: Kernel command line and initrd
Tools used: Measurement calculation:
Verification logic:
Why it matters: Ensures the OS hasn’t been modified, backdoored, or replaced with an untrusted image.

Phase 3: Source Code Verification

Validates the application code matches the deployed version. What’s verified:
  • compose-hash: SHA256 hash of docker-compose.yaml
  • app-id: Application identifier (used for key derivation)
  • instance-id: Specific deployment instance
  • key-provider: KMS service address
  • RTMR3: Application measurement register containing above values
RTMR3 structure:
RTMR3 calculation:
Verification against blockchain:
Tools:

Phase 4: Domain Verification (Gateway Only)

For applications with custom domains, verifies zero-trust HTTPS. What’s verified:
  • TLS certificate: Private key generated in TEE
  • CAA records: DNS locked to TEE-controlled Let’s Encrypt account
  • Certificate Transparency: All certs logged to public CT logs
  • Domain control: Cryptographic proof of domain ownership
Verification process:
  1. Extract TLS public key from reportData field
  2. Query Certificate Transparency logs (via crt.sh)
  3. Verify all certificates for domain match the TEE public key
  4. Check CAA records point to TEE Let’s Encrypt account
  5. Confirm no unauthorized certificates exist
CAA record format:
CT Log monitoring:
Why it matters: Traditional cloud providers can intercept HTTPS traffic because they control certificate private keys. Zero-trust HTTPS proves even the cloud provider cannot decrypt your traffic.

Using the Verifier Package

Basic Usage

Configurable Verification Flags

Platform-Specific Configuration

Error Handling

Self-Hosting Trust Center

Organizations can run their own Trust Center instance for private verification.

Prerequisites

  • Node.js 18+ / Bun
  • PostgreSQL 14+
  • Redis 6+
  • S3-compatible storage (MinIO, AWS S3, etc.)

Setup

Configuration

.env file:

Docker Deployment

Next Steps

Additional Resources