title: Privacy-Preserving Remote Attestation Protocol
Creators: name: George, Dominik Roy
Publisher: name: TU Wien
Year: 2021
Subjects: subject: Non-Interactive Zero-Knowledge Proof
subject: Remote Attestation
subject: Trusted Platform Module (TPM)
subject: Privacy-Enhancing Technologies
subject: Trusted Computing

description: Binary Attestation (BA) ist ein Sicherheitsmechanismus, der schon lange zur Sicherstellung der Integrität der auszuführenden Software auf einem Computerssystem verwendet wird. Dies wird durch die Anwendung der Konzepte von Trusted Computing Technologie erreicht. Die Konzepte der Trusted Computing Technologie sind: Trusted Platform Module (TPM), measured/trusted boot und Linux Integrity Measurement Architecture (IMA). Damit die Vertrauenswürdigkeit des Betriebszustandes des Systems überprüft werden kann, wird eine Logdatei erstellt. Diese enthält den Dateinamen und die Hash-Summe der Softwarekomponenten, welche an das TPM gebunden wird. Zu einem späteren Zeitpunkt kann eine entfernte Partei (Verifier) die Evidenz verifizieren, um zu sehen, ob der Betriebszustand des Systems vertrauenswürdig ist. Dies wird als Remote Attestation (RA) bezeichnet.Auf den Systemen im Bereich der Cyber-physische Systeme (z. B.: Energie Netze und Kernkraftwerke) und im Bereich der Verkehrsmittel (z. B.: Züge und Automobil Fahrzeuge) laufen mehrere Anwendungen von verschiedenen Herstellern. Bei bisherigen Ansätzen der BA, werden alle Einträge der Logdatei von allen laufenden Anwendungen aller Hersteller während der RA an die entfernte Partei preisgegeben. Daher gewährleistet die Binary Remote Attestation keine Privatheit. Diese Masterarbeit adressiert die genannte Schwäche von der Binary Remote Attestation indem es eine Privacy-Preserving Remote Attestation Ansatz erstellt. Im Kern der Arbeitsteht die Konzeptionierung eines Ansatzes, welches den Trusted Computing Sektor mit Privacy-Enhancing Technologie verknüpft. Der Ansatz bewahrt die Privatheit, indem alle Logeinträge verschleiert werden. Dabei werden dem Verifier nur die jeweilig zugehörigen Einträge offengelegt. Dadurch kann der Attester dem Verifier durch die Anwendung des Schnorr Non-Interactive Zero-Knowledge Proofs über eine elliptische Kurve (Schnorr-Signatur) beweisen, dass es sich bei den ausgeblendeten Einträgen um die tatsächlich laufende Anwendung auf dem System des Attesters handelt, ohne die anderen Einträge preiszugeben. Dieser Ansatz wird in dieser Arbeit als Proof-of-Concept umgesetzt. Die Leistung und die Privatheit des Proof-of-Concepts wurden in dieser Arbeit analysiert. Hierdruch wird gezeigt, dass die Privatheit gegenüber der entfernten Partei gewährleistet wird, während die Integrität und Authentizität des Betriebszustands des Systems vom Attester sichergestellt wird. Die Gewährleistung der Privatheit geht allerdings mit einem Anstieg der benötigten Ressourcen einher.
description: Binary Attestation (BA) is a security mechanism which has existed for decades. The goal of BA is to guarantee that the correct software is loaded on a computer system. This is accomplished by applying concepts of Trusted Computing technology. Trusted Computing technologies are: Trusted Platform Module (TPM), measured/trusted boot, and the Linux Integrity Measurement Architecture (IMA), to ensure that a system has booted correctly and authentic software is running. Further, to provide evidence that the system’s operational state is trustworthy, a log is generated which contains file names and hash sums of software components. The trustworthiness of the evidence is tied to a TPM. Later on, a remote party is able to verify the evidence if the operational state of the target system is trustworthy, in a process known as Remote Attestation (RA). Cyber-physical systems (such as power grids or nuclear power plants), and vehicular systems (such as railway- or automotive-transportation) are running multiple applications from various vendors. In the case of binary remote attestation, all log entries (such as file names and hash sums of software components) of all running software from all vendors are exposed to the remote party. Thus, the problem of binary remote attestation is that privacy is not preserved. This thesis resolves the privacy deficiency by designing a privacy-preserving remote attestation approach. The core idea of the approach is to combine the Trusted Computing technology sector with the privacy-enhancing technology area. The approach preserves privacy by blinding all log entries. Hence, the approach reveals the associated (blinded) log entries to the verifier by applying the Schnorr Non-Interactive Zero-Knowledge (NIZK) proof over an elliptic curve (Schnorr Signature). This allows the attester to convince the verifier that the blinded entry is the actual running software on the attester’s system without exposing the other entries. To demonstrate feasibility and practicability of the approach, this thesis implemented a Proof-of-Concept (PoC). This work evaluated the performance and privacy of the PoC. The results show that privacy against the remote party is guaranteed while ensuring integrity and authenticity of the operational state of the attester’s system (target system). However, the resource utilization increased during remote attestation while preserving privacy.