Firmware Authentication via Encrypted Salt and Hash Values
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Information handling systems face challenges in securely transmitting and verifying firmware between devices and applications, particularly in determining the authenticity of applications requesting to provide firmware, due to variations in technology and requirements across different users and applications.
Innovation Solution
The system generates and encrypts salt data and hash values using elliptic curve cryptography, with private and public encryption keys, to authenticate and verify the authenticity of firmware, ensuring secure transmission and execution by determining matching hash values stored in a data structure.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional firmware transmission methods are used, then device compatibility and ease of operation are improved, but security and authenticity verification are compromised
Solution Approach 1:
The system performs preliminary hashing of the application binary image (ABI) and combines it with salt data before encryption. This preliminary action ensures that authenticity verification is built into the transmission process from the start, rather than adding complex verification steps later, thus maintaining reliability while managing complexity.
Solution Approach 2:
The patent introduces encrypted salt data and hash combinations as intermediaries between the information handling system and the device. These intermediaries carry authenticity information in a secure, verifiable format that doesn't require the device to implement complex encryption logic, resolving the contradiction between security and operational simplicity.
2Reliability
If encryption is applied to all data transmissions, then security is improved, but processing time and energy consumption increase
Solution Approach 1:
The system extracts only the critical authenticity elements (salt data and ABI hash) for encryption, rather than encrypting entire firmware images or all transmission data. This selective approach maintains security for the most sensitive information while minimizing processing overhead and time loss.
Solution Approach 2:
The patent transforms the ABI into a hash value, fundamentally changing its parameter from large binary data to a compact numerical representation. This parameter change dramatically reduces the amount of data requiring encryption and verification, thus improving security efficiency while reducing processing time.
3Reliability
If strict authenticity verification is implemented, then firmware security is improved, but system adaptability to different applications is reduced
Solution Approach 1:
The system implements a universal authentication mechanism using hash functions and encrypted salt data that can verify the authenticity of any application ABI regardless of its specific function or origin. This universal approach maintains strict security verification while enabling broad adaptability across different applications and devices.
Solution Approach 2:
Instead of requiring each application to provide its own authentication mechanism (which would reduce adaptability), the system inverts the approach by having all applications subjected to the same verification process. This inversion ensures consistent security while maintaining versatility, as the verification method itself is application-agnostic.
Data Source
AI summary
In one or more embodiments, one or more systems, methods, and/or processes may provide, to a device coupled to an information handling system, a request for salt data; may receive the salt data from the device; may determine a first position in an application that is executed by at least one processor of the information handling system; may determine a second position in the application, different from the first position; may determine a hash value of the application between the first position and the second position; may encrypt, utilizing a private encryption key, the salt data and the hash value as encrypted data; may provide the encrypted data to a buffer associated with the application; may retrieve the encrypted data from the buffer; and may provide the encrypted data to the device.


