IP Library Granted Patent US 8,555,377
Granted Patent B2
US 8,555,377 · App. 13/069,736 · Granted Oct 8, 2013

Secure virtual machine

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,555,377
App. No.
13/069,736
Granted
Oct 8, 2013
Kind
B2
Abstract

An approach to securely distributing and running virtual machines is described that addresses the inherent insecurity of mobile virtual machines by authenticating a user before establishing a specialized virtualization runtime environment that includes a filesystem driver inserted into the host operating system to provide secure access to a virtual machine by authorized hypervisors only. Further described is the creation of a SecureVM package that includes the various components used to perform the operations of installation, user authentication and establishment of the specialized virtualization runtime environment.

Claims (50)

1. A method for securely running a virtual machine on a computer, the method comprising:

establishing a host runtime environment on the computer using a host runtime component of a secure virtual machine package;

presenting to a user of the computer a choice of at least one virtual machine of the secure virtual machine package;

receiving a selection from the user of the computer of one of the at least one virtual machine of the secure virtual machine package;

accessing encrypted meta-data from the secure virtual machine package to obtain a user authentication security policy;

authenticating the user of the computer according to the obtained user authentication security policy;

establishing a virtual machine runtime environment on the computer including inserting a secure filesystem from the secure virtual machine package into a host operating system of the computer thereby authorizing a hypervisor of the host operating system; and

accessing encrypted virtual machine files of the user selected virtual machine of the secure virtual machine package via the secure filesystem for the authorized hypervisor of the host operating system by the secure filesystem intercepting read requests from the authorized hypervisor to a regular file system of the host operating system and performing decryption of the secure virtual machine files in response to the intercepted read requests from the authorized hypervisor.

2. The method of claim 1 wherein the secure virtual machine package is installed on the computer before establishing the host runtime environment on the computer.

3. The method of claim 1 wherein presenting to a user of the computer a choice of at least one virtual machine of the secure virtual machine package comprises displaying a list on a graphical user interface of the computer.

4. The method of claim 1 wherein accessing encrypted meta-data from the secure virtual machine package to obtain a user authentication security policy comprises the computer communicating with a remote server to obtain a key to decrypt the encrypted meta-data.

5. The method of claim 1 wherein accessing encrypted meta-data from the secure virtual machine package to obtain a user authentication security policy comprises obtaining a key embedded in a program included in the secure virtual machine package to decrypt the encrypted meta-data.

6. The method of claim 1 wherein authenticating the user of the computer according to the obtained user authentication security policy comprises receiving a username and password from the user of the computer and comparing the received username and password to motored username and password from the secure virtual machine package.

7. The method of claim 1 wherein authenticating the user of the computer according to the obtained user authentication security policy comprises establishing communication with a remote server.

8. The method of claim 1 wherein authenticating the user of the computer according to the obtained user authentication security policy comprises receiving a hardware token from the user of the computer and comparing the received hardware token to a stored token from the secure virtual machine package.

9. The method of claim 1 wherein establishing a virtual machine runtime environment on the computer including inserting a secure filesystem from the secure virtual machine package into a host operating system of the computer thereby authorizing a hvpervisor of the host operating system includes inserting a filter driver into a kernel of the host operating system.

10. A method for securely running a virtual machine on a computer, the method comprising:

establishing a host runtime environment on the computer using a host runtime component of a secure virtual machine package;

presenting to a user of the computer a choice of at least one virtual machine of the secure virtual machine package;

receiving a selection from the user of the computer of one of the at least one virtual machine of the secure virtual machine package;

accessing encrypted meta-data from the secure virtual machine package to obtain a user authentication security policy;

authenticating the user of the computer according to the obtained user authentication security policy;

establishing a virtual machine runtime environment on the computer including inserting a secure filesystem from the secure virtual machine package into a host operating system of the computer thereby authorizing a hypervisor of the host operating system; and

accessing encrypted virtual machine files of the user selected virtual machine of the secure virtual machine package via the secure filesystem for the authorized hypervisor of the host operating system by the secure filesystem intercepting write requests from the authorized hypervisor to a regular file system of the host operating system and performing encryption of a modified form of the secure virtual machine files in response to the intercepted write requests from the authorized hypervisor.

11. A non-transitory computer readable medium containing programming code executable by a processor, the programming code configured to perform a method comprising:

establishing a host runtime environment on the computer using a host runtime component of a secure virtual machine package;

presenting to a user of the computer a choice of at least one virtual machine of the secure virtual machine package;

receiving a selection from the user of the computer of one of the at least one virtual machine of the secure virtual machine package;

accessing encrypted meta-data from the secure virtual machine package to obtain a user authentication security policy;

authenticating the user of the computer according to the obtained user authentication security policy;

establishing a virtual machine runtime environment on the computer including inserting a secure filesystem from the secure virtual machine package into a host operating system of the computer thereby authorizing a hypervisor of the host operating system; and

accessing encrypted virtual machine files of the user selected virtual machine of the secure virtual machine package via the secure filesystem for the authorized hypervisor of the host operating system by the secure filesystem intercepting read requests from the authorized hypervisor to a regular file system of the host operating system and performing decryption of the secure virtual machine files in response to the intercepted read requests from the authorized hypervisor.

12. A non-transitory computer readable medium containing programming code executable by a processor, the programming code configured to perform a method comprising:

establishing a host runtime environment on the computer using a host runtime component of a secure virtual machine package;

presenting to a user of the computer a choice of at least one virtual machine of the secure virtual machine package;

receiving a selection from the user of the computer of one of the at least one virtual machine of the secure virtual machine package;

accessing encrypted meta-data from the secure virtual machine package to obtain a user authentication security policy;

authenticating the user of the computer according to the obtained user authentication security policy;

establishing a virtual machine runtime environment on the computer including inserting a secure filesystem from the secure virtual machine package into a host operating system of the computer thereby authorizing a hypervisor of the host operating system; and

accessing encrypted virtual machine files of the user selected virtual machine of the secure virtual machine package via the secure filesystem for the authorized hypervisor of the host operating system by the secure filesystem intercepting write requests from the authorized hypervisor to a regular file system of the host operating system and performing encryption of a modified form of the secure virtual machine files in response to the intercepted write requests from the authorized hypervisor.

13. The method of claim 10 wherein the secure virtual machine package is installed on the computer before establishing the host runtime environment on the computer.

14. The method of claim 10 wherein presenting to a user of the computer a choice of at least one virtual machine of the secure virtual machine package comprises displaying a list on a graphical user interface of the computer.

15. The method of claim 10 wherein accessing encrypted meta-data from the secure virtual machine package to obtain a user authentication security policy comprises the computer communicating with a remote server to obtain a key to decrypt the encrypted meta-data.

16. The method of claim 10 wherein accessing encrypted meta-data from the secure virtual machine package to obtain a user authentication security policy comprises obtaining a key embedded in a program included in the secure virtual machine package to decrypt the encrypted meta-data.

17. The method of claim 10 wherein authenticating the user of the computer according to the obtained user authentication security policy comprises receiving a username and password from the user of the computer and comparing the received username and password to a stored username and password from the secure virtual machine package.

18. The method of claim 10 wherein authenticating the user of the computer according to the obtained user authentication security policy comprises establishing communication with a remote server.

19. The method of claim 10 wherein authenticating the user of the computer according to the obtained user authentication security policy comprises

receiving a hardware token from the user of the computer and comparing the received hardware token to a stored token from the secure virtual machine package.

20. The method of claim 10 wherein establishing a virtual machine

runtime environment on the computer including inserting a secure filesystem from the secure virtual machine package into a host operating system of the computer thereby authorizing a hypervisor of the host operating system includes inserting a filter driver into a kernel of the host operating system.

Assignments (7)
SECURITY INTEREST Recorded Mar 27, 2024
From: ENTRUST CORPORATION
To: BMO BANK N.A., AS COLLATERAL AGENT
Reel/Frame 066917/0024 →
MERGER Recorded Mar 18, 2024
From: HYTRUST, INC.
To: ENTRUST CORPORATION
Reel/Frame 066806/0262 →
SECURITY AGREEMENT Recorded Feb 1, 2021
From: HYTRUST, INC.
To: BMO HARRIS BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 055190/0660 →
TERMINATION OF INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jan 7, 2021
From: SILICON VALLEY BANK
To: HYTRUST, INC.
Reel/Frame 054925/0059 →
SECURITY INTEREST Recorded Sep 24, 2019
From: HYTRUST, INC.
To: SILICON VALLEY BANK
Reel/Frame 050474/0933 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 8, 2013
From: HIGH CLOUD SECURITY, INC.
To: HYTRUST, INC.
Reel/Frame 031570/0669 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 23, 2011
From: PATE, STEPHEN D.
To: HIGH CLOUD SECURITY
Reel/Frame 026005/0110 →