IP Library Granted Patent US 10,331,471
Granted Patent B1
US 10,331,471 · App. 15/472,488 · Granted Jun 25, 2019

Browser credential management for virtual execution environments

Inventors: Sergey Viktorov (Moscow, RU); Nikolay Dobrovolskiy (Moscow, RU); Serguei M. Beloussov (Singapore, SG)
Assignee: PARALLELS INTERNATIONAL GMBH
G06F9/45558G06F9/44526G06F21/45G06F2009/45587
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 10,331,471
App. No.
15/472,488
Granted
Jun 25, 2019
Kind
B1
Abstract

Systems and methods for browser credential management for virtual clients. An example method comprises: receiving, by a virtualization server application, a credential manager API request intercepted by a hook module installed into a browser running within a virtual execution environment managed by the virtualization server; forwarding the intercepted API request to a virtualization client application associated with the virtualization server; receiving, from the virtualization client application, a client response to the intercepted API request; producing, using the client response, a virtualization server response to the intercepted API request; and forwarding the virtualization server response to the hook module.

Claims (46)

1. A method, comprising:

upon initializing a virtual machine (VM) managed by a virtual machine manager (VMM) running on a host computer system, communicating credential manager data stored in a local database of the host computer system to a credential manager application programming interface (API) of the VM;

receiving, by the VMM, a credential manager API request intercepted by a hook module installed into a browser running on the VM;

forwarding the intercepted API request to a VM client application;

receiving, from the VM client application, a client response to the intercepted API request;

producing, using the client response, a VMM response to the intercepted API request; and forwarding the VMM response to the hook module.

2. The method of claim 1 , wherein producing the VMM response further comprises:

forwarding the intercepted API request to a credential manager API; receiving, from the credential manager API, a credential manager response to the intercepted API request; selecting, among the client response and the credential manager response, a response having a more recent timestamp.

3. The method of claim 2 , further comprising:

responsive to determining that a first timestamp associated with the credential manager response is more recent than a second timestamp associated with the client response, forward at least part of the credential manager response to the VM client application.

4. The method of claim 1 , wherein the intercepted API request represents a request to perform one of:

enumerate items in a credential database, find items in the credential database, retrieve an item from the credential database, add an item to the credential database, or remove an item from the credential database.

5. A non-transitory computer-readable storage medium comprising executable instructions that, when executed by a computer system, cause the computer system to:

receive, by a virtualization server application, a credential manager application programming interface (API} request intercepted by a hook module installed into a browser running within a virtual execution environment managed by the virtualization server;

forward the intercepted API request to a virtualization client application associated with the virtualization server;

receive, from the virtualization client application, a client response to the intercepted API request;

forward the intercepted API request to a credential manager API;

receive, from the credential manager API, a credential manager response to the intercepted API request;

select, among the client response and the credential manager response, a response having a more recent timestamp; and

forward selected response to the hook module.

6. The non-transitory computer-readable storage medium of claim 5 , wherein the virtualization server application is provided by one of: a virtual machine manager or a terminal server.

7. The non-transitory computer-readable storage medium of claim 5 , wherein the virtual execution environment is provided by one of: a virtual machine or a terminal session.

8. The non-transitory computer-readable storage medium of claim 5 , wherein the virtualization client application is provided by one of: a VM client application or a terminal service client application.

9. The non-transitory computer-readable storage medium of claim 5 , wherein the intercepted API request represents a request to perform one of:

enumerate items in a credential database, find items in the credential database, retrieve an item from the credential database, add an item to the credential database, or remove an item from the credential database.

10. The non-transitory computer-readable storage medium of claim 5 , further comprising executable instructions to:

responsive to determining that a first timestamp associated with the credential manager response is more recent than a second timestamp associated with the client response, forward at least part of the credential manager response to the VM client application.

11. The non-transitory computer-readable storage medium of claim 5 , further comprising executable instructions to:

cause the virtualization client application to install the hook module into the browser to monitor browser-initiated requests to the credential manager API.

12. The non-transitory computer-readable storage medium of claim 11 , wherein installing the hook module further comprises:

responsive to detecting a new browser window being opened within the virtualization client application, installing the hook into a processing thread associated with the new browser window.

13. The non-transitory computer-readable storage medium of claim 11 , wherein installing the hook module further comprises:

responsive to detecting a new browser process having been initiated within the virtualization client application, installing the hook into a processing thread associated with the new browser process.

14. A method, comprising:

responsive to detecting a new browser process having been initiated on a virtual machine (VM) managed by a virtual machine manager (VMM) running on a host computer system, causing the VM to install a hook module into a processing thread associated with the new browser process, wherein the hook is configured to monitor browser-initiated requests to a credential manager application programming interface (API) of the VM;

receiving, by the VMM, a credential manager API request intercepted by the hook module;

forwarding the intercepted API request to a VM client application;

receiving, from the VM client application, a client response to the intercepted API request;

producing, using the client response, a VMM response to the intercepted API request; and

forwarding the VMM response to the hook module.

15. The method of claim 14 , wherein producing the VMM response further comprises:

forwarding the intercepted API request to a credential manager API; receiving, from the credential manager API, a credential manager response to the intercepted API request; selecting, among the client response and the credential manager response, a response having a more recent timestamp.

16. The method of claim 14 , further comprising:

responsive to determining that a first timestamp associated with the credential manager response is more recent than a second timestamp associated with the client response, forward at least part of the credential manager response to the VM client application.

17. The method of claim 14 , wherein the intercepted API request represents a request to perform one of:

enumerate items in a credential database, find items in the credential database, retrieve an item from the credential database, add an item to the credential database, or remove an item from the credential database.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Jul 18, 2019
From: UBS AG, STAMFORD BRANCH, AS ADMINISTRATIVE AND COLLATERAL AGENT
To: COREL CORPORATION; CLEARSLIDE, INC.; PARALLELS INTERNATIONAL GMBH
Reel/Frame 049787/0073 →
RELEASE OF SECURITY INTEREST RECORDED AT : REEL 047973 FRAME 0797 Recorded Jul 17, 2019
From: UBS AG, STAMFORD BRANCH
To: PARALLELS INTERNATIONAL GMBH
Reel/Frame 049773/0590 →
SECURITY INTEREST Recorded Dec 21, 2018
From: PARALLELS INTERNATIONAL GMBH
To: UBS AG, STAMFORD BRANCH
Reel/Frame 047973/0797 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2017
From: VIKTOROV, SERGEY; DOBROVOLSKIY, NIKOLAY; BELOUSSOV, SERGUEI M.
To: PARALLELS INTERNATIONAL GMBH
Reel/Frame 041782/0294 →
Cited By (1)
US 12,238,101