Abstraction Layer for Vendor Independent Secure Memory Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing secure memory devices from different manufacturers have varying implementations of access control, making it challenging for applications to access these devices in a standardized and independent manner, as commands and responses differ in syntax, format, and specifications.
Innovation Solution
An abstraction layer with a standardized application programming interface (API) is introduced, allowing applications to access secure memory devices uniformly, using utility programs and device drivers to translate commands into manufacturer-specific formats, and employing cryptography for access control, ensuring compatibility across different secure memory devices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If applications directly access secure memory devices from different manufacturers, then access control can be implemented with vendor-specific commands, but compatibility and standardization are compromised due to varying command syntax and formats
Solution Approach 1:
The patent introduces an abstraction layer as an intermediary between applications and secure memory devices. This abstraction layer includes a standardized API that applications interact with, and device drivers that translate these standardized commands into vendor-specific commands for different memory device manufacturers. This mediator resolves the contradiction by providing uniform access interfaces while accommodating underlying hardware diversity.
Solution Approach 2:
The standardized API provided by the abstraction layer serves multiple functions: it provides a universal interface for applications to access secure memory devices from any manufacturer, enables consistent command syntax across different devices, and allows the same application code to work with diverse hardware implementations. This universality resolves the compatibility issue without requiring application-specific code for each vendor.
2Ease of operation
If a standardized API is introduced to enable vendor-independent access, then application compatibility is improved, but the complexity of the access control system increases due to translation layers
Solution Approach 1:
The abstraction layer acts as a mediator that hides the complexity of vendor-specific command translations from applications. Applications interact with a simplified standardized API, while the device drivers handle the complex translation to specific vendor commands. This intermediary structure improves ease of operation for applications while managing complexity in the translation layer.
Solution Approach 2:
The access control system is segmented into distinct layers: a standardized API layer for application interaction, a device driver layer for vendor-specific communication, and the secure memory device layer for actual access control. This segmentation allows each layer to have well-defined responsibilities, making the overall system more manageable despite the added complexity of the abstraction layer.
3Reliability
If cryptographic validation is implemented for command execution, then security is enhanced, but processing time and computational overhead increase
Solution Approach 1:
Cryptographic keys and validation parameters are pre-loaded into the secure memory device during manufacturing or initialization. This preliminary action allows the device to perform rapid cryptographic validation of commands without requiring complex computational processes during normal operation, thus enhancing security while minimizing processing time overhead.
Data Source
AI summary
A system, apparatus and method to provide vendor independent access to secure memory devices via an abstraction layer, which can be implemented via an operating system kernel and one or more utility programs. After receiving a request to perform a function, the abstraction layer uses parameters provided in the request to generate at least one first command in a format independent of a specification of the memory device. The at least one first command is provided to a device driver of the memory device identified in the request, causing the memory device to generate at least one second command to the memory device according to the specification of the memory device. The second command includes a signature generated using a portion of the second command; and the function is implemented by execution of the at least one second command in the memory device.


