Ethemba Trusted Host EnvironmentMainly Based on Attestation
Ethemba provides a framework and demonstrator for TPM applications.
đĄ Research Summary
The paper presents Ethemba, a comprehensive framework and demonstrator for Trusted Platform Module (TPM) applications, focusing on attestationâbased trusted host environments. Authored by Andreas Brett and Andreas Leicher in 2008, the work is supported by the CREAâTEâNET project and FraunhoferâSIT. The authors structure the system into several functional layers, each implemented as Java modules that build on the jTSS (Java TPM Software Stack).
1. TPM Ownership Tools â The âClearOwnershipâ and âTakeOwnershipâ utilities wrap the original jTpmtools commands. ClearOwnership resets a TPM to its factory state, optionally using a fixedâmode switch (/f) that reads a globally configured owner password. TakeOwnership sets a new owner password, creates a new Storage Root Key (SRK), and stores the SRK password. Both tools accept commandâline arguments and provide usage help when invoked without parameters.
2. KnownâHashes Management â The âManageKnownHashesListâ application processes IMAâformatted measurement files, converting them into a persistent âKnownHashesListâ. It supports append mode (/a), overwrite mode (/o), and an interactive console for viewing, searching, and deleting entries. This database is later used by the Remote Attestation (RA) server to verify that a clientâs measured software matches a trusted baseline.
3. AIK Certification (PCA) â The PCAclient and PCAserver implement the Attestation Identity Key (AIK) certification protocol. The client creates an AIK via TPM_CollateIdentityRequest, encrypts the AIK public part and the Endorsement Certificate (EK) with the serverâs public key, and sends them to the server. The server decrypts, validates the EK, generates a random nonce, and returns a package containing: (i) a symmetric session key and the hash of the AIK public key encrypted with the EK public key, (ii) the nonce encrypted with the session key. The client activates the identity (TPM_ActivateIdentity) to retrieve the nonce, proves possession of the AIK, and sends the decrypted nonce back. Upon verification, the server creates an AIK certificate, encrypts it with an AES key, wraps the AES key as before, and sends the threeâpart response. The client finally decrypts the AES key, retrieves the AIK certificate, stores it in a UUIDâlabeled entry in client.TpmKeyDB, and registers the AIK in client.CertDB.
4. Remote Attestation (RA) â The RAclient and RAserver realize the remote measurement protocol. The client obtains a TPM Quote (nonceâsigned PCR values) via the QuoteRetrieval module and sends it, together with a measurement log, to the server. The server uses the preâpopulated KnownHashesList to compare the received measurements against trusted hashes. QuoteValidation checks the signature and nonce freshness. Successful verification yields an attestation of trust; failures are reported with detailed diagnostics.
5. Modular Architecture â
- client package: classes for key creation, certification, data binding/unbinding, quote retrieval, and TPM key database handling.
- server package: corresponding services (PCAserver, RAserver, QuoteValidation, CertifyKeyValidation, ExternalDataBinding, KeyStorage, QuoteValidation).
- net package: NetEntity and NetCommand abstract TCP communication, handling object serialization, encryption, and command framing.
- utils package: cryptographic helpers â AES (encryption/decryption, key/IV generation), SHAâ1 hashing, byteâhex conversion, object persistence utilities.
- types package: domain objects such as MeasurementList and KnownHashesList, providing constructors, file I/O, search, and containment checks.
6. Supporting Scripts â Two demonstration scripts (demogood.sh and demoevil.sh) showcase a normal attestation flow and a malicious scenario, respectively, allowing users to experiment with both success and failure cases.
7. Configuration & Deployment â Global settings (owner/SRK passwords, server IP/port, etc.) are stored in a configuration file, enabling a âfixed modeâ for automated testing. Each component can be packaged as an independent JAR, facilitating deployment in heterogeneous environments.
Key Insights
- The framework tightly integrates TPM command handling with higherâlevel security protocols, offering a readyâtoâuse stack for researchers and developers.
- By providing both the clientâside and serverâside implementations, Ethemba enables endâtoâend testing of AIK certification and remote attestation without requiring external services.
- The inclusion of a KnownHashesList management tool bridges the gap between lowâlevel TPM measurements and policyâdriven trust decisions.
- Hybrid cryptography (EKâbased asymmetric encryption for session keys, AES for bulk data) is employed consistently, preserving confidentiality and integrity across the network.
- The modular design, clear separation of concerns, and extensive documentation make the framework extensible for future TPM features (e.g., TPMâŻ2.0, sealed storage, or policyâbased access control).
In summary, Ethemba delivers a fullâfeatured, Javaâbased TPM ecosystem that covers ownership provisioning, AIK certification, remote attestation, measurement management, and supporting cryptographic utilities. It serves as both a pedagogical platform and a practical foundation for building trusted computing solutions that rely on TPMâbacked attestation.
Comments & Academic Discussion
Loading comments...
Leave a Comment