Session-Based Firmware Encryption for SMM Security
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Firmware function calls in computing devices are vulnerable to tampering and information disclosure due to unsecured communication channels, where malicious entities can intercept and alter data in communication buffers, and credentials are exposed, leading to security vulnerabilities.
Innovation Solution
Implementing session-based security using symmetric and asymmetric key pairs to encrypt and decrypt firmware function call parameters and data, ensuring secure communication between the calling entity and platform firmware, with authentication integrated into session establishment to prevent repeated authentication processes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If firmware function calls use unsecured communication channels, then device complexity is reduced and ease of operation is improved, but security reliability deteriorates allowing tampering and information disclosure
Solution Approach 1:
The patent implements preliminary authentication and key exchange between the calling entity and firmware before actual function calls. Session keys are established in advance through an authenticated handshake process, allowing subsequent communications to be encrypted without repeated authentication overhead. This resolves the contradiction by preparing security measures beforehand, making them transparent during operation.
Solution Approach 2:
The patent introduces session keys and encryption/decryption functions as intermediaries between the calling entity and firmware. These intermediaries translate unsecured function calls into secured communications by automatically encrypting outgoing data and decrypting incoming data using the established session keys, thus protecting communications without requiring complex security management from the caller.
2Reliability
If session-based encryption is implemented for firmware function calls, then security against tampering and snooping is improved, but processing time and authentication overhead increase
Solution Approach 1:
The patent performs authentication and session key establishment as a preliminary action before function calls begin. Once the session is established with encrypted communication channels, subsequent function calls within the same session do not require repeated authentication, significantly reducing time loss for multiple sequential calls while maintaining strong security protection.
Solution Approach 2:
The patent maintains continuous encrypted communication throughout the session between the calling entity and firmware. By keeping the encryption/decryption mechanisms active and reusable across multiple function calls within a session, the system avoids repeated authentication overhead while ensuring continuous security protection, thus reducing time loss without compromising security.
3Loss of information
If credentials are transmitted in unencrypted form, then ease of operation is improved and device complexity is reduced, but information disclosure vulnerability increases
Solution Approach 1:
The patent uses encryption/decryption functions as intermediaries to protect credentials during transmission. The calling entity encrypts credentials using the session key before transmission, and the firmware decrypts them using the corresponding session key. This intermediary process protects against information disclosure while maintaining operational simplicity, as the encryption/decryption is automated and transparent to the user.
Solution Approach 2:
The patent creates encrypted copies of credentials for transmission rather than transmitting the original plaintext credentials. The session key establishes an encrypted channel where credential copies can be safely transmitted and processed. This approach prevents information disclosure of the original credentials while maintaining ease of operation through automated encryption processes.
Data Source
AI summary
Systems and methods for securing firmware function calls are discussed. More particularly, mechanisms for reducing the chance of tampering and information disclosure attacks against firmware function calls implemented in SMM/MM are described. Data may be passed to and from a calling entity to platform firmware via a communication channel where both the data and the means of decrypting the data are protected from potential snooping OS applications, drivers or DMA-enabled hardware devices.


