IP Library Granted Patent US 11,824,840
Granted Patent B1
US 11,824,840 · App. 16/704,475 · Granted Nov 21, 2023

System and method for web-browser based end-to-end encrypted messaging and for securely implementing cryptography using client-side scripting in a web browser

Inventor: Michael A. Meixler (New Hope, PA)
Assignee: Meixler Technologies, Inc.
H04L63/0428G06F16/958G06F21/565G06F40/14H04L9/0643H04L9/3247G06F2221/033H04L67/02
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,824,840
App. No.
16/704,475
Granted
Nov 21, 2023
Kind
B1
Abstract

A system and method for sending end-to-end encrypted messages comprising a sender's web browser, a recipient's web browser, and a server. The system and method avoid both the sender and the recipient having to download encryption programs themselves onto their respective computers. In addition, the system and method ensure that unencrypted messages are never disclosed to the server. The system and method operate by first downloading the web browser files, verifying them and then preventing the web browser page from refreshing, thereby preventing malicious code from entering the web browser each time the web browser page would normally be refreshed. The system and method also provide for securely implementing cryptography using client-side scripting in a web browser.

Claims (58)

1. A method for implementing web browser based end-to-end encryption between a first device associated with a sender and a second device associated with a recipient over internet, said method comprising:

running a first web browser on said first device associated with the sender;

downloading, by said first web browser, a first set of files that defines a first web page, wherein said first set of files contains code for presenting a form for composing a message, and wherein said first set of files contains a first client-side scripting for implementing message encryption;

composing, by said sender, the message using said form;

executing, by said first web browser, said first client-side scripting to:

encrypt said message composed by said sender, and

upload said encrypted message to a server;

running a second web browser on said second device associated with the recipient;

downloading, by said second web browser, a second set of files that define a second web page, wherein said second set of files contains code for displaying messages, and wherein said second set of files contains a second client-side scripting for implementing message decryption;

executing, by said second web browser, said second client-side scripting to:

download said encrypted message from said server,

decrypt said encrypted message, and

display said decrypted message,

said method further comprising:

verifying, by the first web browser, integrity of a root document of said first set of files by performing a cryptographic analysis of said root document in conjunction with a cryptographic value obtained from a trusted source.

2. The method of claim 1 , wherein:

said cryptographic value includes a reference hash; and

said performing a cryptographic analysis on the root document in said first set of files in conjunction with said cryptographic value includes deriving a hash of the root document in said first set of files and comparing said derived hash with said reference hash; and

said verifying the integrity of said root document of said first set of files only upon confirmation by said cryptographic analysis, where said confirmation includes confirming that said derived hash matches said reference hash.

3. The method of claim 1 , wherein:

said cryptographic value includes a public key and a digital signature; and

said performing a cryptographic analysis of the root document in said first set of files in conjunction with said cryptographic value includes verifying said digital signature of the root document in said first set of files using said public key; and

said verifying the integrity of said first set of files only upon confirmation by said cryptographic analysis includes confirmation only upon verification of the digital signature.

4. A method of verifying integrity of a root document in a set of files that define a web page, where said root document is downloaded from an untrusted web server to a user's web browser running on a computer that prevents entry of malicious code into said root document, said method comprising:

providing said root document and making said root document available for download from said untrusted web server;

downloading, by said user's web browser, said root document from said untrusted web server;

obtaining, by said user's web browser, a cryptographic value from a trusted source, where said cryptographic value includes a reference hash;

performing, by said user's web browser, a cryptographic analysis of the root document in conjunction with said cryptographic value, where said cryptographic analysis includes deriving a hash of the root document and comparing the derived hash with the reference hash; and

verifying, by said user's web browser, the integrity of said root document only upon confirmation by said cryptographic analysis, where said confirmation includes confirming that the derived hash matches the reference hash.

5. A system that enables web browser-based end-to-end encryption of messages and files, said system comprising:

a first computer associated with a sender;

a second computer associated with a recipient;

a first web browser running on said first computer associated with the sender, wherein said first web browser downloads a first set of files that defines a first web page, wherein said first set of files contains code for presenting a form for composing a message and wherein said first set of files contains a first client-side scripting for implementing message encryption;

said sender composes the message by using said form;

said first web browser executes said first client-side scripting to encrypt said message composed by said sender and to upload said encrypted message to a server;

a second web browser running on said second computer associated with the recipient, wherein said second web browser downloads a second set of files that defines a second web page, wherein said second set of files contains code for displaying messages and wherein said second set of files contains a second client-side scripting that downloads said encrypted message from said server and decrypts said encrypted message and displays said decrypted message;

said first set of files comprising a root document, wherein said system verifies integrity of said root document by performing a cryptographic analysis of said root document in conjunction with a cryptographic value obtained from a trusted source.

6. The system of claim 5 , wherein said cryptographic value comprises a reference hash and wherein said cryptographic analysis comprises deriving a hash of said root document in said first set of files and comparing said derived hash with said reference hash and wherein the integrity of said first set of files is verified only when said derived hash matches said reference hash.

7. The system of claim 5 , wherein said cryptographic value comprises a public key and a digital signature and wherein said cryptographic analysis comprises verifying said digital signature of said root document of said first set of files using said public key and verifying the integrity of said first set of files only upon confirmation of the verification of the digital signature.

8. A system for verifying integrity of a root document in a set of files that define a web page, where said root document is downloaded from an untrusted web server to a web browser that prevents entry of malicious code into said root document, said system comprising:

a computer associated with a user;

a root document that is made available for download from said untrusted web server;

a user's web browser, running on said computer, that downloads said root document from said untrusted web server;

a cryptographic value that is obtained, by said user's web browser, from a trusted source, where said cryptographic value comprises a public key and a digital signature; and

wherein the integrity of said root document of said set of files is verified by performing a cryptographic analysis on said root document, where said cryptographic analysis comprises verifying said digital signature of said root document by using said public key, wherein said user's web browser performs said cryptographic analysis and verify the integrity of said root document.

9. A system for verifying the integrity of a root document in a set of files that define a web page, where said root document is downloaded from an untrusted web server to a user's web browser that prevents entry of malicious code into said root document, said system comprising:

a computer associated with a user;

said root document that is made available for download from said untrusted web server;

said user's web browser, running on said computer, that downloads said root document from said untrusted web server;

a cryptographic value that is obtained, by said user's web browser, from a trusted source, where said cryptographic value includes a reference hash; and

wherein the integrity of said root document is verified by performing a cryptographic analysis on said root document, where said cryptographic analysis comprises deriving a hash of the root document and comparing the derived hash with the reference hash; and

wherein said user's web browser verifies the integrity of said root document only upon confirmation by said cryptographic analysis that the derived hash matches the reference hash.

10. A method for verifying the integrity of a root document in a set of files that define a web page, wherein said root document is downloaded from an untrusted web server to a user's web browser that prevents entry of malicious code into said root document, said method comprising:

providing said root document and making said root document available for download from said untrusted web server;

downloading, by said user's web browser, said root document from said untrusted web server;

obtaining, by said user's web browser, a cryptographic value from a trusted source, where said cryptographic value comprises a public key and a digital signature;

performing, by said user's web browser, a cryptographic analysis of said root document in conjunction with said cryptographic value, where said cryptographic analysis comprises verifying said digital signature of said root document by using said public key; and

verifying, by said user's web browser, the integrity of said root document by verifying said digital signature of said root document using said public key.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 10, 2019
From: MEIXLER, MICHAEL A.
To: MEIXLER TECHNOLOGIES, INC.
Reel/Frame 051227/0992 →
Continuity (2)
Provisional Application 62928737 · Oct 31, 2019
Provisional Application 62800800 · Feb 4, 2019
Cited By (8)
US 12,212,561 US 12,278,910 US 12,368,756 US 12,470,528 US 12,483,536 US 12,542,681 US 12,640,932 US 12,739,097