IP Library Granted Patent US 11,550,964
Granted Patent B2
US 11,550,964 · App. 17/154,062 · Granted Jan 10, 2023

Account-specific security in an email client

Inventor: Ratna Paul Saka (Atlanta, GA)
Assignee: VMWare, INC.
G06F21/78H04L9/0866H04L9/0891H04L9/0894H04L51/212
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 11,550,964
App. No.
17/154,062
Granted
Jan 10, 2023
Kind
B2
Abstract

Examples of account-specific security in an email client are disclosed. A master key can be generated by the email client. The master key can be used to encrypt account specific account keys. Email data in the email database accessed by the email client can be encrypted by the account keys.

Claims (118)

1. A method for account-specific security in an email client, comprising:

generating, by an email client in response to an initial launch of the email client, a master key corresponding to the email client, the master key generated based upon an aspect of a user associated with a client device running the email client;

storing, by the email client, the master key in a secure storage area of an operating system executed by the client device;

receiving, by the email client, a request to access a first email account;

generating, by the email client, a first account key associated with the first email account;

encrypting, by the email client, the first account key using the master key;

storing, by the email client, the first account key in the secure storage area;

encrypting, by the email client, first email account data in an email database associated with the email client using the first account key;

receiving, by the email client, a request to access a second email account;

generating, by the email client, a second account key associated with the second email account, wherein the second account key is different from the first account key;

encrypting, by the email client, the second account key using the master key;

storing, by the email client, the second account key in the secure storage area; and

encrypting, by the email client, second email account data in the email database associated with the email client using the second account key.

2. The method according to claim 1 , further comprising:

receiving, by the email client; a request to access the first email account;

authenticating, in response to the request to access the first email account, access to the secure storage area of the operating system;

obtaining, by the email client, the encrypted first account key from the secure storage area in response to authenticating access to the secure storage area;

obtaining, by the email client, the master key from the secure storage area in response to authenticating access to the secure storage area;

decrypting, by the email client, the encrypted first account key using the master key;

decrypting, by the email client, the first email account data using the first account key; and

providing, by the email client, access to the first email account.

3. The method according to claim 2 , further comprising:

receiving, by the email client; a request to access the first email account;

authenticating, in response to the request to access the first email account, access to the secure storage area of the operating system;

obtaining, by the email client, the encrypted first account key from the secure storage area in response to authenticating access to the secure storage area;

obtaining, by the email client, the master key from the secure storage area in response to authenticating access to the secure storage area;

decrypting, by the email client, the encrypted first account key using the master key;

decrypting, by the email client, the first email account data using the first account key; and

providing, by the email client, access to the first email account.

4. The method according to claim 1 , wherein storing the master key in the secure storage area of an operating system executed by the client device further comprises:

obtaining, by the email client, a biometric input or a passcode associated with the user;

accessing, by the email client, the secure storage area based upon the biometric input or the passcode associated with the user; and

storing the master key in the secure storage area.

5. The method according to claim 4 , wherein the biometric input or the passcode associated with the user are discarded from memory after storage of the master key in the secure storage area.

6. The method according to claim 1 , further comprising:

escrowing, by the email client, the first account key to a remotely executed key service, wherein the remotely executed key service periodically rotates the first account key.

7. The method according to claim 6 , further comprising:

obtaining, by the email client, a rotated first account key from the remotely executed key service, wherein the rotated first account key is different from the first account key;

encrypting, by the email client, the rotated first account key with the master key; and

replacing, by the email client, the encrypted first account key with the encrypted rotated account key in the secure storage area.

8. A non-transitory computer-readable medium embodying program code for account-specific security in an email client executable by at least one computing device, the program code, when executed, causing the at least one computing device to at least:

generate, in response to an initial launch of the email client, a master key corresponding to the email client, the master key generated based upon an aspect of a user associated with a client device running the email client;

store, by the email client, the master key in a secure storage area of an operating system executed by the client device;

receive, by the email client, a request to access a first email account;

generate, by the email client, a first account key associated with the first email account;

encrypt, by the email client, the first account key using the master key;

store, by the email client, the first account key in the secure storage area;

encrypt, by the email client, first email account data in an email database associated with the email client using the first account key;

receive, by the email client, a request to access a second email account;

generate, by the email client, a second account key associated with the second email account, wherein the second account key is different from the first account key;

encrypt, by the email client, the second account key using the master key;

store, by the email client, the second account key in the secure storage area; and

encrypt, by the email client, second email account data in the email database associated with the email client using the second account key.

9. The non-transitory computer-readable medium according to claim 8 , wherein the client device is further directed to at least:

receive, by the email client; a request to access the first email account;

authenticate, in response to the request to access the first email account, access to the secure storage area of the operating system;

obtain, by the email client, the encrypted first account key from the secure storage area in response to authenticating access to the secure storage area;

obtain, by the email client, the master key from the secure storage area in response to authenticating access to the secure storage area;

decrypt, by the email client, the encrypted first account key using the master key;

decrypt, by the email client, the first email account data using the first account key; and

providing, by the email client, access to the first email account.

10. The non-transitory computer-readable medium according to claim 9 , wherein the client device is further directed to at least:

receive, by the email client; a request to access the first email account;

authenticate, in response to the request to access the first email account, access to the secure storage area of the operating system;

obtain, by the email client, the encrypted first account key from the secure storage area in response to authenticating access to the secure storage area;

obtain, by the email client, the master key from the secure storage area in response to authenticating access to the secure storage area;

decrypt, by the email client, the encrypted first account key using the master key;

decrypt, by the email client, the first email account data using the first account key; and

provide, by the email client, access to the first email account.

11. The non-transitory computer-readable medium according to claim 9 , wherein storing the master key in the secure storage area of an operating system executed by the client device further comprises:

obtaining, by the email client, a biometric input or a passcode associated with the user;

accessing, by the email client, the secure storage area based upon the biometric input or the passcode associated with the user; and

storing the master key in the secure storage area.

12. The non-transitory computer-readable medium according to claim 11 , wherein the biometric input or the passcode associated with the user are discarded from memory after storage of the master key in the secure storage area.

13. The non-transitory computer-readable medium according to claim 8 , wherein the client device is further directed to at least:

escrow, by the email client, the first account key to a remotely executed key service, wherein the remotely executed key service periodically rotates the first account key.

14. The non-transitory computer-readable medium according to claim 13 , wherein the program code causes the at least one computing device to at least:

obtain, by the email client, a rotated first account key from the remotely executed key service, wherein the rotated first account key is different from the first account key;

encrypt, by the email client, the rotated first account key with the master key; and

replace, by the email client, the encrypted first account key with the encrypted rotated account key in the secure storage area.

15. A system, comprising:

a client device; and

an email client executed by the client, the client device causing the client device to at least:

generate, in response to an initial launch of the email client, a master key corresponding to the email client, the master key generated based upon an aspect of a user associated with a client device running the email client;

store, by the email client, the master key in a secure storage area of an operating system executed by the client device;

receive, by the email client, a request to access a first email account;

generate, by the email client, a first account key associated with the first email account;

encrypt, by the email client, the first account key using the master key;

store, by the email client, the first account key in the secure storage area;

encrypt, by the email client, first email account data in an email database associated with the email client using the first account key;

receive, by the email client, a request to access a second email account;

generate, by the email client, a second account key associated with the second email account, wherein the second account key is different from the first account key;

encrypt, by the email client, the second account key using the master key;

store, by the email client, the second account key in the secure storage area; and

encrypt, by the email client, second email account data in the email database associated with the email client using the second account key.

16. The system according to claim 15 , wherein the client device is further directed to at least:

receive, by the email client; a request to access the first email account;

authenticate, in response to the request to access the first email account, access to the secure storage area of the operating system;

obtain, by the email client, the encrypted first account key from the secure storage area in response to authenticating access to the secure storage area;

obtain, by the email client, the master key from the secure storage area in response to authenticating access to the secure storage area;

decrypt, by the email client, the encrypted first account key using the master key;

decrypt, by the email client, the first email account data using the first account key; and

providing, by the email client, access to the first email account.

17. The system according to claim 16 , wherein the client device is further directed to at least:

receive, by the email client; a request to access the first email account;

authenticate, in response to the request to access the first email account, access to the secure storage area of the operating system;

obtain, by the email client, the encrypted first account key from the secure storage area in response to authenticating access to the secure storage area;

obtain, by the email client, the master key from the secure storage area in response to authenticating access to the secure storage area;

decrypt, by the email client, the encrypted first account key using the master key;

decrypt, by the email client, the first email account data using the first account key; and

provide, by the email client, access to the first email account.

18. The system according to claim 16 , wherein storing the master key in the secure storage area of an operating system executed by the client device further comprises:

obtaining, by the email client, a biometric input or a passcode associated with the user;

accessing, by the email client, the secure storage area based upon the biometric input or the passcode associated with the user; and

storing the master key in the secure storage area.

19. The system according to claim 18 , wherein the biometric input or the passcode associated with the user are discarded from memory after storage of the master key in the secure storage area.

20. The system according to claim 15 , wherein the client device is further directed to at least:

escrow, by the email client, the first account key to a remotely executed key service, wherein the remotely executed key service periodically rotates the first account key.

Assignments (4)
PATENT ASSIGNMENT Recorded Aug 5, 2024
From: VMWARE LLC
To: OMNISSA, LLC
Reel/Frame 068327/0365 →
SECURITY INTEREST Recorded Jul 3, 2024
From: OMNISSA, LLC
To: UBS AG, STAMFORD BRANCH
Reel/Frame 068118/0004 →
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 22, 2021
From: SAKA, RATNA PAUL
To: VMWARE, INC.
Reel/Frame 055002/0054 →