Bootstrapping Mutual Attestation with Kleene's Second Recursion Theorem
This paper resolves the infinite regress of mutual attestation by applying Kleene's second recursion theorem to construct nodes that can mutually reconstruct and verify each other's exact source code from built-in data alone, thereby eliminating the need for trusted third parties or external reference values across different computing architectures.
Original paper licensed under CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). This is an AI-generated explanation of the paper below. It is not written or endorsed by the authors. For technical accuracy, refer to the original paper. Read full disclaimer
In the world of secure computing, there is a fundamental need to prove that a computer program is exactly what it claims to be. This process, known as remote attestation, is the digital equivalent of a security guard checking a driver's license before letting someone into a restricted building. The guard compares the photo and details on the license against a trusted database of what a valid license should look like. If the details match, the person is allowed in. In the digital realm, a computer program generates a unique fingerprint, called a measurement, which is compared against a reference value—a known, expected fingerprint—held by the verifier. This system works perfectly when one party checks another, but it hits a logical wall when two or more computers need to check each other simultaneously. If Computer A needs to know Computer B's fingerprint to verify it, and Computer B needs to know Computer A's fingerprint to verify it, neither can start the process without already having the answer. This creates a circular dependency where each machine waits for the other to provide the very proof it needs to begin.
Researchers at Acompany Co., Ltd. in Nagoya, Japan, have found a way to break this circle without relying on a central authority or a pre-existing list of trusted codes. They approached the problem not as a security puzzle, but as a question of logic and self-reference. By applying a mathematical principle known as Kleene's second recursion theorem, they demonstrated that a group of computers can be programmed to contain the exact source code of every other member within their own memory. This allows each machine to reconstruct the code of its peers from scratch, calculate the correct fingerprint on the fly, and verify the other's identity without ever needing to ask an outside party for the answer. The team built working prototypes to prove this concept, showing that two secure computers could successfully verify each other's integrity using only data they carried with them.
The core of the problem lies in the nature of modern secure environments, such as Trusted Execution Environments, which are isolated spaces where sensitive data can be processed without fear of being seen or tampered with. In a typical setup, a single computer proves its trustworthiness to a server. The server holds a list of approved code fingerprints and checks the computer's report against that list. However, in a decentralized network where multiple computers must collaborate on confidential tasks, every machine acts as both the checker and the checked. If they try to hard-code the expected fingerprints of their partners into their own software, they run into an infinite loop. To know the fingerprint of Partner B, Computer A must know Partner B's code. But Partner B's code contains the fingerprint of Computer A, which requires knowing Computer A's code, which contains the fingerprint of Partner B, and so on forever. Previous solutions to this dilemma involved bringing in a trusted third party to distribute the fingerprints, or relying on specific hardware features to inject the values at startup. These methods work, but they reintroduce a central point of trust or tie the solution to a specific type of hardware, limiting where and how it can be used.
The researchers proposed a different path by treating the group of computers as a single, interconnected system. They realized that the circular dependency could be solved if each computer could generate the code of its peers from a shared set of instructions. Using a concept from computer science that allows a program to refer to its own source code, they designed a method where a group of programs is transformed into a set of self-contained units. Each unit carries a complete description of the entire family of programs within it. When a computer starts up, it reads this internal description, reconstructs the exact source code of its partner, and then calculates the partner's fingerprint. Because the reconstruction is done from the inside, the computer does not need to trust an external list; it simply computes the answer based on the data it already possesses. This approach removes the need for a central authority and works across different types of secure hardware without requiring changes to the underlying security tools.
To prove this theory, the team created two working demonstrations. The first focused on systems that measure the code directly as it runs, such as standard Linux systems. They built a tool called PyReflect, which takes a template of code and automatically generates the self-referencing programs. In their test, two virtual machines backed by a software security module successfully exchanged verification reports. Each machine reconstructed the other's code, calculated the expected fingerprint, and confirmed that the peer was running the correct software. The second demonstration addressed systems that measure a compiled build artifact, such as AWS Nitro Enclaves, which are specialized secure containers. Here, the process is more complex because the computer must not only reconstruct the source code but also rebuild the final executable file exactly as it was created. They developed a tool called NixReflect to handle this. In their experiment, two secure enclaves were launched, and each one independently rebuilt the other's entire image from the data stored inside its own memory. They then calculated the fingerprint of the rebuilt image and compared it to the one reported by the peer. The results matched perfectly, proving that the machines could derive the correct reference values from their own internal data alone.
The researchers also measured the cost of this approach. In the case of the secure enclaves, the process of rebuilding the peer's image took significantly longer than simply calculating a hash of the code. For their specific test case, the reconstruction and rebuilding process took approximately 6.8 seconds, while a simple hash calculation took less than 0.1 seconds. This difference is expected to grow for more complex applications, as the computer must traverse the entire chain of dependencies to rebuild the software. Despite this time cost, the experiment confirmed that the method is feasible and does not require any new hardware or a trusted third party. The team noted that for more complex systems, it might be possible to offload the rebuilding process to a secure build environment before deployment, which would reduce the runtime cost, though this would introduce a different set of trust assumptions regarding the build environment itself.
The significance of this work lies in its ability to solve a logical deadlock that has long hindered fully decentralized secure computing. By showing that mutual attestation can be achieved through self-contained reconstruction, the researchers have provided a path forward for peer-to-peer networks where no single entity is trusted by all participants. The solution is architecture-independent, meaning it can be applied to various types of secure hardware without needing custom modifications to the hardware's security stack. It relies on the fundamental properties of computation rather than specific hardware features, making it a versatile tool for the future of confidential computing. While the current prototypes are proof-of-concept demonstrations, they establish that the reference-value bootstrapping problem can be solved without a trusted third party, opening the door for more robust and independent secure networks.
Drowning in papers in your field?
Get daily digests of the most novel papers matching your research keywords — with technical summaries, in your language.