IP Library Granted Patent US 8,521,821
Granted Patent B2
US 8,521,821 · App. 12/406,001 · Granted Aug 27, 2013

Encrypted email based upon trusted overlays

Inventors: Timothy W. van der Horst (Provo, UT); Kent Eldon Seamons (Cedar Hill, UT)
Assignee: Brigham Young University
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,521,821
App. No.
12/406,001
Granted
Aug 27, 2013
Kind
B2
Abstract

Sending and receiving encrypted emails. At a web browser, user input is received requesting a compose email page user interface for a web-based email system. The compose email page user interface is requested from a server for the web-based mail system. Web page code is received from the server for the compose email page user interface. The web page code for the compose email page user interface is parsed to determine screen locations of one or more user input interface elements. The compose email page user interface is rendered in the browser. One or more browser-based interface elements implemented integral to the browser are overlaid onto the compose email page user interface. User input is received in the browser user interface elements. The user input received is encrypted. The encrypted user input is transferred into one or more elements of the compose email page user interface.

Claims (64)

1. At a web browser in a computing system, a method of sending a secure email via an email server, the method comprising:

receiving user input requesting a compose email page user interface for a web-based email system;

requesting the compose email page user interface from a server for the web-based mail system;

receiving web page code from the server for the compose email page user interface;

parsing the web page code for the compose email page user interface to determine screen locations of one or more user input interface elements including at least an email text box user input interface element;

rendering the compose email page user interface in the browser, the compose email page user interface configured to receive plain text user input from a user;

overlaying one or more browser-based user interface elements implemented integral to the browser and separate from the web page code from the server onto the compose email page user interface, wherein one or more of the browser-based interface elements are displayed at one or more of the determined screen locations, including overlaying a browser-based text box user input interface element over the email text box user input interface element;

receiving unencrypted plain text user input in the overlaid browser-based text box user input interface element, wherein the unencrypted plain text user input is not available to the email server ;

encrypting the unencrypted plain text user input received in the overlaid browser-based text box user input interface element to encrypted text, wherein encrypting the plain text user input comprises:

sending a request to a key server for a sender key, wherein the request includes an identification of an entity sending the secure email;

receiving a sender key, the sender key being derived from a master secret key and the identification of the entity sending the secure email;

generating a sender-recipient key using the sender key and an identification of a recipient of the secure email;

deriving an encryption key using the sender-recipient key; and

using the encryption key, encrypting the user input received in the overlaid browser-based text box user input interface element;

transferring the encrypted text from the overlaid browser-based text box user input interface element into the email text box user input interface element overlaid by the browser-based text box user input interface element;

sending the secure email comprising the transferred encrypted text to an intended recipient via an email server; and

wherein the email server is unable to decrypt the encrypted text.

2. The method of claim 1 further comprising modifying input into at least one of a subject line user interface element of the compose email page user interface, a to field user interface element of the compose email page user interface, a from field user interface element of the compose email page user interface; a cc field user interface element of the compose email page user interface or the email text box user input interface element of the compose email page user interface to indicate that a secure email is being sent.

3. The method of claim 1 , further comprising:

using the sender-recipient key to generate a plurality of purpose specific keys, including a method authentication code key, and a key identifier key;

using the method authentication code key to provide integrity to both encrypted text and plaintext in the email; and

using the key identifier key to create a keyed fingerprint of a recipient's identifier.

4. The method of claim 1 , wherein the one or more browser-based user interface elements are implemented integral to the browser through the use of a browser plug-in.

5. The method of claim 1 , wherein transferring the encrypted text from the overlaid browser-based text box user input interface element occurs periodically as user input is received in the browser-based text box user interface element to allow auto saving of an encrypted draft at a web-based mail system server.

6. The method of claim 1 , further comprising periodically, locally caching a plain text copy of the user input received in the browser-based text box user interface element.

7. The method of claim 1 , wherein overlaying one or more browser-based user interface elements implemented integral to the browser and separate from the web page code from the server onto the compose email page user interface, wherein one or more of the browser-based interface elements are displayed at one or more of the determined screen locations, comprises overlaying one or more of a subject line user interface element of the compose email page user interface or an attachments interface element of the compose email page user interface.

8. The method of claim 1 , wherein overlaying one or more browser-based user interface elements implemented integral to the browser and separate from the web page code from the server onto the compose email page user interface, wherein one or more of the browser-based interface elements are displayed at one or more of the determined screen locations comprises, overlaying one or more of a to field user interface of the compose email page user interface, a cc field user interface of the compose email page user interface, or a bcc field user interface of the compose email page user interface.

9. The method of claim 1 , wherein overlaying one or more browser-based user interface elements implemented integral to the browser and separate from the web page code from the server onto the compose email page user interface, wherein one or more of the browser-based interface elements are displayed at one or more of the determined screen locations is performed in response to user input indicating a desire to send a secure email.

10. The method of claim 1 , wherein overlaying one or more browser-based user interface elements implemented integral to the browser and separate from the web page code from the server onto the compose email page user interface, wherein one or more of the browser-based interface elements are displayed at one or more of the determined screen locations is performed as a default behavior.

11. In a computing system, a system for sending a secure email via an email server, the system comprising:

one or more processors;

one or more computer readable media coupled to the one or more processors, wherein the one or more computer readable media comprise computer executable instructions that when executed by the one or more processors cause the one or more processors to perform the following:

receiving user input requesting a compose email page user interface for a web-based email system;

requesting the compose email page user interface from a server for the web-based mail system;

receiving web page code from the server for the compose email page user interface;

parsing the web page code for the compose email page user interface to determine screen locations of one or more user input interface elements including at least an email text box user input interface element;

rendering the compose email page user interface in the browser, the compose email page user interface configured to receive plain text user input from a user;

overlaying one or more browser-based user interface elements implemented integral to the browser and separate from the web page code from the server onto the compose email page user interface, wherein one or more of the browser-based interface elements are displayed at one or more of the determined screen locations, including overlaying a browser-based text box user input interface element over the email text box user input interface element;

receiving unencrypted plain text user input in the overlaid browser-based text box user input interface element, wherein the unencrypted plain text user input is not available to the email server;

encrypting the unencrypted plain text user input received in the overlaid browser-based text box user input interface element to encrypted text, wherein encrypting the plain text user input comprises:

sending a request to a key server for a sender key, wherein the request includes an identification of an entity sending the secure email;

receiving a sender key, the sender key being derived from a master secret key and the identification of the entity sending the secure email;

generating a sender-recipient key using the sender key and an identification of a recipient of the secure email; deriving an encryption key using the sender-recipient key; and

using the encryption key, encrypting the user input received in the overlaid browser-based text box user input interface element;

transferring the encrypted text from the overlaid browser-based text box user input interface element into the email text box user input interface element overlaid by the browser-based text box user input interface element;

sending the secure email comprising the transferred encrypted text to an intended recipient via an email server; and

wherein the email server is unable to decrypt the encrypted text.

12. A computer program product for sending a secure email via an email server, the computer program product comprising a non-transitory computer readable device, the computer readable device comprising computer executable instructions that when executed by one or more processors cause the one or more processors to perform the following:

receiving user input requesting a compose email page user interface for a web-based email system;

requesting the compose email page user interface from a server for the web-based mail system;

receiving web page code from the server for the compose email page user interface;

parsing the web page code for the compose email page user interface to determine screen locations of one or more user input interface elements including at least an email text box user input interface element;

rendering the compose email page user interface in the browser, the compose email page user interface configured to receive plain text user input from a user;

overlaying one or more browser-based user interface elements implemented integral to the browser and separate from the web page code from the server onto the compose email page user interface, wherein one or more of the browser-based interface elements are displayed at one or more of the determined screen locations, including overlaying a browser-based text box user input interface element over the email text box user input interface element;

receiving unencrypted plain text user input in the overlaid browser-based text box user input interface element, wherein the unencrypted plain text user input is not available to the email server;

encrypting the unencrypted plain text user input received in the overlaid browser-based text box user input interface element to encrypted text, wherein encrypting the plain text user input comprises:

sending a request to a key server for a sender key, wherein the request includes an identification of an entity sending the secure email;

receiving a sender key, the sender key being derived from a master secret key and the identification of the entity sending the secure email;

generating a sender-recipient key using the sender key and an identification of a recipient of the secure email;

deriving an encryption key using the sender-recipient key; and

using the encryption key, encrypting the user input received in the overlaid browser-based text box user input interface element;

transferring the encrypted text from the overlaid browser-based text box user input interface element into the email text box user input interface element overlaid by the browser-based text box user input interface element;

sending the secure email comprising the transferred encrypted text to an intended recipient via an email server; and

wherein the email server is unable to decrypt the encrypted text.

Assignments (2)
CONFIRMATORY LICENSE Recorded Dec 29, 2009
From: BRIGHAM YOUNG UNIVERSITY
To: NATIONAL SCIENCE FOUNDATION
Reel/Frame 023714/0140 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 17, 2009
From: VAN DER HORST, TIMOTHY W.; SEAMONS, KENT ELDON
To: BRIGHAM YOUNG UNIVERSITY
Reel/Frame 022410/0549 →
Continuity (1)
Related Publication 20100241847A1 · Sep 23, 2010