Abstract: This document discloses a module and method for establishing application-to-application (app-to-app) mutual trust so that exchange of information and data between applications takes place in a secure manner. This document discloses a secure module that comprises an identification and trusted-storage modules. The identification module is configured to establish a cryptographic bond between an application provided within a standard operating system of a computing device and the secure module. Secure communication may then be established between the application and the secure module. The application may then make use of the cryptographic keys in the secure module to establish secure communications with other applications. The integrity of the application is authenticated based on the cryptographic bond and information contained in the trusted-storage module. The application may then proceed to process an action as an authenticated application bearing a set of trust attributes issued by a trusted third party.
Abstract: A cryptosystem having a secure Cryptographic Virtual Machine (CVM) protected by a Tamper-Proof Virtual Layer (TPVL) for performing cryptography in software is described. The CVM and TPVL allow software applications to store and process cryptographic keys and data in a secure and tamper-proof manner, without requiring the use of a Hardware Security Module (HSM).
Abstract: A cryptosystem having a secure Cryptographic Virtual Machine (CVM) protected by a Tamper-Proof Virtual Layer (TPVL) for performing cryptography in software is described. The CVM and TPVL allow software applications to store and process cryptographic keys and data in a secure and tamper-proof manner, without requiring the use of a Hardware Security Module (HSM).