IP Library Granted Patent US 8,370,899
Granted Patent B2
US 8,370,899 · App. 12/854,641 · Granted Feb 5, 2013

Disposable browser for commercial banking

Inventors: Asaf Shoval (Rishon Le-Zion, IL); Orit Yaron (Herzeliya, IL); Yedidya Dotan (Tel Aviv, IL)
Assignee: EMC Corporation
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,370,899
App. No.
12/854,641
Granted
Feb 5, 2013
Kind
B2
Abstract

Methods, computer program products, and apparatuses are provided for performing and facilitating secure communication between a client-side computing device and a remote application server through a virtual computing environment provided by an intermediate virtualization server. The virtual computing environment includes a disposable component, allowing all settings to be initialized to a secure state after each user session.

Claims (87)

1. A method, performed in a client-side computing device, of performing secured communications with an application server across a network, the method comprising:

loading a virtual machine client on the client-side computing device;

communicating with a remote virtualization server, the virtualization server being distinct from the application server, to establish an original virtual session of the virtualization server on the client-side computing device, the original virtual session being initialized to a pre-configured state upon establishment;

performing secured communications between the client-side computing device and the application server via the original virtual session of the virtualization server, wherein performing secured communications between the client-side computing device and the application server includes:

running a secure browser within the original virtual session of the virtualization server; and

communicating between the client-side computing device and the application server through the secure browser;

terminating the original virtual session;

after terminating the original virtual session, again communicating with the remote virtualization server to establish a new virtual session of the virtualization server on the client-side computing device, the new virtual session being initialized to a pre-configured state upon establishment and the new virtual session retaining no information from the original virtual session; and

performing additional secured communications between the client-side computing device and the application server via the new virtual session of the virtualization server.

2. A method as in claim 1 wherein performing secured communications between the client-side computing device and the application server via the original virtual session of the virtualization server further includes performing an online banking transaction.

3. A method, performed in a client-side computing device, of performing secured communications with an application server across a network, the method comprising:

loading a virtual machine client on the client-side computing device;

communicating with a remote virtualization server, the virtualization server being distinct from the application server, to establish a virtual session of the virtualization server on the client-side computing device, the virtual session being initialized to a pre-configured state upon establishment; and

performing secured communications between the client-side computing device and the application server via the virtual session of the virtualization server, wherein performing secured communications between the client-side computing device and the application server includes:

running a secure browser within the virtual session of the virtualization server; and

communicating between the client-side computing device and the application server through the secure browser

wherein:

communicating with the remote virtualization server to establish the virtual session of the virtualization server on the client-side computing device includes:

sending a request for establishment of the virtual session from the virtual machine client to the application server; and

in response to sending the request for establishment of the virtual session, receiving, at the virtual machine client, information regarding the virtual session, the virtual session being managed by the virtualization server; and

performing secured communications between the client-side computing device and the application server further includes logging a user into the application server via the secure browser by:

receiving a password from the user using keystroke re-mapping between the client-side computing device and the virtualization server; and

causing the secure browser to send the password to the application server for authentication.

4. A method as in claim 3 wherein performing secured communications between the client-side computing device and the application server further includes:

receiving, at the virtual machine client on the client-side computing device, communications from the application server via the virtualization server in fully rendered form, the secure browser rendering, on the virtualization server, web pages transmitted by the application server into images that can be readily interpreted by a human user, but not readily interpreted by a computer.

5. A method, performed in a client-side computing device, of performing secured communications with an application server across a network, the method comprising:

loading a virtual machine client on the client-side computing device;

communicating with a remote virtualization server, the virtualization server being distinct from the application server, to establish a virtual session of the virtualization server on the client-side computing device, the virtual session being initialized to a pre-configured state upon establishment;

performing secured communications between the client-side computing device and the application server via the virtual session of the virtualization server;

obtaining the virtual machine client at the client-side computing device, wherein obtaining the virtual machine client at the client-side computing device includes:

sending a registration request from the client-side computing device to the application server;

receiving an authentication request from an authentication server at the client-side computing device;

prompting a user to enter into the client-side computing device a one time password (OTP) from a token device, the token device being external to the client-side computing device;

sending the OTP from the client-side computing device to the authentication server; and

receiving, at the client-side computing device, the virtual machine client in response to the authentication server validating the OTP sent by the client-side computing device.

6. A method, performed in a client-side computing device, of performing secured communications with an application server across a network, the method comprising:

loading a virtual machine client on the client-side computing device;

communicating with a remote virtualization server, the virtualization server being distinct from the application server, to establish a virtual session of the virtualization server on the client-side computing device, the virtual session being initialized to a pre-configured state upon establishment;

performing secured communications between the client-side computing device and the application server via the virtual session of the virtualization server; and

obtaining the virtual machine client at the client-side computing device, wherein obtaining the virtual machine client at the client-side computing device includes:

sending a registration request from the client-side computing device to the application server across a first communication channel;

receiving an authentication request from an authentication server at the client-side computing device across the first communication channel;

prompting a user to enter into the client-side computing device a one time password (OTP) from a portable communication device, the portable communication device (PCD) being external to the client-side computing device, the OTP being received by the PCD from the authentication server across a second communication channel, the second communication channel being distinct from the first communication channel;

sending the OTP from the client-side computing device to the authentication server across the first communication channel; and

receiving, at the client-side computing device, the virtual machine client in response to the authentication server validating the OTP sent by the client-side computing device.

7. A method as in claim 6 wherein:

the PCD is a cellular telephone;

the second communication channel is a wireless cellular communication channel; and

the PCD receives the OTP over the second communication channel via a short message service message.

8. A computer program product comprising a tangible non-transitory computer-readable medium storing instructions, which, when performed by a computer, cause the computer to:

communicate with a remote virtualization server, the virtualization server being distinct from the computer, to establish a virtual session of the virtualization server on the computer, the virtual session being initialized to a pre-configured state upon establishment; and

perform secured communications between the computer and an application server via the virtual session of the virtualization server;

wherein the instructions, when causing the computer to:

perform secured communications between the computer and the application server, cause the computer to:

run a secure browser within the virtual session of the virtualization server; and

communicate between the computer and the application server through the secure browser;

communicate with the remote virtualization server to establish the virtual session of the virtualization server on the computer, cause the computer to:

send a request for establishment of the virtual session from the virtual machine client to the application server; and

in response to sending the request for the virtual session, receive, at the virtual machine client, information regarding the virtual session, the virtual session being managed by the virtualization server; and

perform secured communications between the computer and the application server, further cause the computer to log a user into the application server via the secure browser by:

receiving a password from the user using keystroke re-mapping between the computer and the virtualization server; and

causing the secure browser to send the password to the application server for authentication.

9. A computer program product as in claim 8 wherein the instructions, when causing the computer to perform secured communications between the computer and the application server, further cause the computer to:

receive, at the virtual machine client on the computer, communications from the application server via the virtualization server in fully rendered form, the secure browser rendering, on the virtualization server, web pages transmitted by the application server into images that can be readily-interpreted by a human user, but not readily-interpreted by the computer.

10. A computer program product as in claim 8 wherein the instructions, when causing the computer to perform secured communications between the computer and the application server via the virtual session of the virtualization server, further cause the computer to perform an online banking transaction.

11. A computer program product as in claim 8 wherein:

the virtual session is an original virtual session; and

the instructions, when performed by the computer, further cause the computer to:

terminate the original virtual session;

after terminating the original virtual session, again communicate with the remote virtualization server to establish a new virtual session of the virtualization server on the client-side computing device, the new virtual session being initialized to a pre-configured state upon establishment and the new virtual session retaining no information from the original virtual session; and

perform additional secured communications between the client-side computing device and the application server via the new virtual session of the virtualization server.

12. A method, performed in a virtualization server, of facilitating secured communications between a client-side computing device and an application server across a network, the method comprising:

receiving, at the virtualization server, a request to establish a virtual session;

in response to receiving the request, dispatching a virtual machine instance on the virtualization server;

in response to dispatching the virtual machine instance, initializing the virtual session to a pre-configured state;

sending, across the network, information regarding the virtual machine instance to a virtual machine client running on the client-side computing device;

via the virtual session, receiving secure communications from the client-side computing device and securely forwarding these communications to the application server;

via the virtual session, receiving secure communications from the application server and securely forwarding these communications to the client-side computing device; and

upon completion of communication between the client-side computing device and the application server, destroying the virtual machine instance without maintaining state information regarding the virtual machine instance.

13. A method as in claim 12 wherein receiving secure communications from the application server and securely forwarding these communications to the client-side computing device includes:

rendering, on the virtualization server, web pages transmitted by the application server into rendered images that can be readily interpreted by a human user, but not readily interpreted by a computer; and

sending the rendered images to the client-side computing device.

14. A method as in claim 12 wherein receiving secure communications from the client-side computing device and securely forwarding these communications to the application server includes:

receiving, at the virtualization server, an indication that a user has pressed a certain key on the client-side compting device;

mapping, at the virtualization server, the certain key to a translated character not ordinarily represented by the certain key; and

sending the translated character from the virtualization server to the application server.

15. A method as in claim 12 wherein the secured communications between the client-side computing device and the application server include an online banking transaction.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 5, 2011
From: SHOVAL, ASAF; YARON, ORIT; DOTAN, YEDIDYA
To: EMC CORPORATION
Reel/Frame 025588/0286 →
Continuity (1)
Related Publication 20120042365A1 · Feb 16, 2012