Secure Software Transfer Between Hardware Entities
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Secure software transfer between hardware entities is compromised due to man-in-the-middle attacks during communication, as existing technologies lack effective methods to establish trust and ensure the integrity of the software across multiple hardware entities.
Innovation Solution
The solution involves using asymmetric encryption for software signing and optional symmetric encryption, with a trusted hardware entity verifying the signature and decrypting the software, while a non-trusted entity transfers the software over a communication link, ensuring authentication and authorization through permission blocks and secure storage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If secure software is transferred over a communication link between hardware entities, then software sharing between multiple hardware entities is enabled, but the security of the software may be compromised by man-in-the-middle attacks
Solution Approach 1:
The receiving hardware entity performs preliminary actions by verifying the digital signature and optionally decrypting the software before execution. This preliminary verification ensures that the software has not been compromised during transfer, even though the communication link itself is not secured. The signature verification is performed in advance before the software is executed, preventing any potential man-in-the-middle attacks.
2Reliability
If the communication link is made secure to prevent man-in-the-middle attacks, then software transfer security is improved, but the complexity of establishing trust between hardware entities increases
Solution Approach 1:
The security verification function is extracted from the communication link and placed at the receiving hardware entity. Instead of securing the communication channel itself, the system extracts the security verification to the destination, where the receiving entity independently verifies the software signature and optionally decrypts it. This eliminates the need for complex trust establishment between communicating entities.
Solution Approach 2:
Each hardware entity performs self-service by independently verifying the software signature and optionally decrypting it using its own stored public key and private key. The receiving hardware entity autonomously verifies the integrity and authenticity of the software without requiring complex trust protocols or secure communication channel establishment with the transmitting entity.
3Speed
If software is stored at the executing hardware entity, then immediate execution is enabled, but storage space is consumed
Solution Approach 1:
The software is transferred to the executing hardware entity just before execution is needed. The receiving hardware entity performs preliminary verification of the signature and optional decryption immediately before execution, ensuring the software is ready for immediate execution without requiring long-term storage. This preliminary action allows the software to be stored temporarily and then executed without consuming permanent storage space.
Data Source
AI summary
A method and a system embodying the method for a multi-entity secure software transfer are disclosed, the method operating by: configuring a communication interface controller at each trusted hardware entity of a first hardware entity and a second hardware entity to disallow all external access except a communication link configuration access; establishing the communication link between the first hardware entity and the second hardware entity; configuring write access from the second hardware entity to only a first storage at the first hardware entity; and writing the secure software received from the second hardware entity via the communication link to the first storage at the first hardware entity.


