FPGA Trusted Execution Environment for Blockchain Security
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current blockchain networks rely on external entities for trust mechanisms, which can be insecure due to potential interception or tampering, and lack direct control over security configurations for field-programmable gate arrays (FPGAs) used in trusted execution environments (TEEs).
Innovation Solution
Configuring an FPGA-based TEE on a blockchain node that allows for self-contained trust mechanisms by using a programmable integrated circuit with a unique device ID and one-time programmable area to authenticate and encrypt bitstreams, enabling secure execution of blockchain-related tasks without external certification.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If external entities are used for trust mechanisms in blockchain networks, then trust verification can be established, but security is compromised due to potential interception or tampering
Solution Approach 1:
The patent extracts the trust verification function from external entities and embeds it directly into the FPGA device through hardware-based cryptographic operations. The FPGA performs local cryptographic verification of blockchain transactions and smart contracts, eliminating the need to trust external verification entities and preventing interception or tampering of verification processes.
Solution Approach 2:
The patent introduces an FPGA-based trusted execution environment as an intermediary between blockchain nodes. This intermediary performs cryptographic operations and smart contract execution in a hardware-isolated environment, providing secure verification without requiring trust in external entities while preventing tampering through hardware-based protection.
2Adaptability or versatility
If FPGAs are used in trusted execution environments, then security configurations can be controlled, but lack of direct control over security configurations reduces security
Solution Approach 1:
The patent applies preliminary action by pre-configuring the FPGA with security-critical logic and cryptographic functions before deployment. The FPGA's reconfigurable logic is programmed with trusted execution environments and security policies in advance, ensuring that security configurations are established before any potentially harmful operations can occur.
Solution Approach 2:
The patent leverages the dynamic reconfigurability of FPGAs to adapt security configurations based on operational requirements. The FPGA can dynamically reconfigure its logic to implement different security policies, cryptographic algorithms, or verification mechanisms while maintaining hardware-based isolation, providing both adaptability and reliability.
3Reliability
If centralized trust authorities are used (e.g., Intel SGX), then TEE functionality is provided, but external control and potential security risks are introduced
Solution Approach 1:
The patent implements self-service by enabling blockchain nodes to perform their own trust verification and cryptographic operations using embedded FPGA hardware. Each node independently executes smart contracts and verifies transactions through hardware-based cryptographic functions, eliminating the need for centralized trust authorities and external control while maintaining TEE functionality.
Solution Approach 2:
The patent extracts the trust authority function from external centralized entities and embeds it into the local FPGA hardware of each blockchain node. This extraction enables nodes to autonomously perform cryptographic verification and smart contract execution without relying on external control, preventing security risks associated with centralized authorities.
4Reliability
If FPGAs are configured with unique device IDs and one-time programmable areas, then authentication and encryption capabilities are enhanced, but device complexity increases
Solution Approach 1:
The patent applies local quality by implementing different security mechanisms in different regions of the FPGA device. Unique device IDs are stored in specific non-volatile memory regions, while one-time programmable areas are dedicated to cryptographic key storage and authentication logic. This localized organization enhances authentication and encryption capabilities while managing device complexity through structured design.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Disclosed herein are methods, systems, and apparatus, including computer programs encoded on computer storage media, for configuring a field programmable gate array (FPGA) based trusted execution environment (TEE) for use in a blockchain network. One of the methods includes storing a device identifier (ID), a first random number, and a first encryption key in a field programmable gate array (FPGA) device; sending an encrypted bitstream to the FPGA device, wherein the encrypted bitstream can be decrypted by the first key into a decrypted bitstream comprising a second random number; receiving an encrypted message from the FPGA device; decrypting the encrypted message from the FPGA device using a third key to produce a decrypted message; in response to decrypting the encrypted message: determining a third random number in the decrypted message; encrypting keys using the third random number; and sending the keys to the FPGA device.