IP Library Granted Patent US 8,144,875
Granted Patent B2
US 8,144,875 · App. 11/899,742 · Granted Mar 27, 2012

Method and system for establishing real-time authenticated and secured communications channels in a public network

Assignee: Paul McGough
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,144,875
App. No.
11/899,742
Granted
Mar 27, 2012
Kind
B2
Abstract

A system and method comprising a computer useable medium having computer readable program code embodied therein for authenticating and encrypting and decrypting information transferred over a public network between a client application program running in a client computer and a server application program running in a server computer and a directory service application program running in a server computer. A method for secure communication by a processor with a server includes generating a message to the server by employing a one pass key generation probabilistic authentication process using a predetermined session master key and sending the message to the server. A method for secure communication between an application executable on a computer and a web server coupled to the computer includes participating by the application in an initial authentication process with the server and wrapping every GET and POST request message to the server in an SSLX-EA exchange after the initial authentication process.

Claims (121)

1. A method for secure communication by a processor with a server comprising:

generating an encrypted message to the server by employing a one pass key generation probabilistic authentication process using a predetermined session master key;

said one pass key generation probabilistic authentication process including:

combining a plurality of selected digits of a random number with a plurality of selected digits of the predetermined session master key to form an alphabet, wherein said combining includes:

using a plurality of successive digits of the random number as a plurality of pointers into the predetermined session master key to select the plurality of selected digits in the predetermined session master key; and

using a plurality of successive digits of the predetermined session master key as a plurality of pointers into the random number to select the plurality of selected digits in the random number;

extracting a message key from the alphabet by using successive digits of the predetermined session master key as a plurality of pointers into the alphabet to select a plurality of digits of the alphabet to form the message key digits; and

encrypting the message using the message key; and

sending the encrypted message to the server along with the random number in unencrypted form.

2. The method according to claim 1 , wherein said combining further comprises performing a hexadecimal add without carry operation on each of the plurality of selected digits of the random number with each of the plurality selected digits of the predetermined session master key to form the alphabet.

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

receiving a reply from the server, which reply includes a second random number.

4. The method according to claim 3 , wherein said reply was generated by the server by employing said one pass key generation probabilistic authentication process using a predetermined session master key and the second random number.

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

generating a message key to decrypt the reply using the second random number and a same predetermined session master key used by the server to create the reply.

6. The method according to claim 1 , wherein said generating and sending steps are performed even after an initial authentication process involving the processor and server.

7. A method for secure communication by a processor with a server comprising:

generating a message key from a random number and a master key by a one pass key generation probabilistic authentication process;

said one pass key generation probabilistic authentication process including:

combining a plurality of selected digits of the random number with a plurality of selected digits of the master key to form an alphabet, wherein said combining includes:

using a plurality of successive digits of the random number as a plurality of pointers into the master key to select the plurality of selected digits in the master key; and

using a plurality of successive digits of the master key as a plurality of pointers into the random number to select the plurality of selected digits in the random number; and

extracting the message key from the alphabet by using successive digits of the master key as a plurality of pointers into the alphabet to select a plurality of digits of the alphabet to form a plurality of digits of the message key; and

employing the message key to encrypt a request to the server.

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

sending an encrypted request and the random number to the server.

9. The method according to claim 7 , wherein said combining further comprises performing a hexadecimal add without carry operation on each of the plurality of selected digits of the random number with each of the plurality selected digits of the master key to form the alphabet.

10. A method for secure communication between a computer and a web server comprising:

communicating securely with the web server by an application resident on the computer, said application:

participating in an initial authentication process with the server; and

wrapping every GET and POST request message to the server in an SSLX-EA exchange after the initial authentication process;

said SSLX-EA exchange including:

combining a plurality of selected digits of a random number with a plurality of selected digits of a first key to form an alphabet, wherein said combining includes:

using a plurality of successive digits of the random number as a plurality of pointers into the first key to select the plurality of selected digits in the first key; and

using a plurality of successive digits of the first key as a plurality of pointers into the random number to select the plurality of selected digits in the random number;

extracting a message key from the alphabet by using successive digits of the first key as a plurality of pointers into the alphabet to select a plurality of digits of the alphabet to form the message key digits; and

said wrapping includes encrypting every GET and POST message using the message key and including the random number used to generate the message key along with the encrypted message in unencrypted form.

11. A method for secure communication between a computer and a web server comprising:

communicating securely with the web server by an application resident on the computer, said application:

participating in an initial authentication process with the server; and

wrapping every GET and POST request message to the server in an SSLX-EA exchange after the initial authentication process, wherein a setting on the server is provided that defines an SSLX-EA session length, wherein one setting for an SSLX session length in a web architecture comprises one HTML page so that each page will have a unique session master key exchange and message key to include the request and reply of all objects on each page.

12. A method for secure communication between an application executable on a computer and a web server coupled to the computer comprising:

participating by the application in an initial authentication process with the server; and

wrapping every GET and POST request message to the server in an SSLX-EA exchange after the initial authentication process, wherein one setting for an SSLX session length in a web architecture comprises one HTML page so that each page will have a unique session master key exchange and message key to include the request and reply of all objects on each page.

13. A method for secure communication by a server with a processor comprising:

generating an encrypted reply to the processor by employing a one pass key generation probabilistic authentication process using a predetermined session master key;

said one pass key generation probabilistic authentication process including:

combining a plurality of selected digits of a random number with a plurality of selected digits of the predetermined session master key to form an alphabet, wherein said combining includes:

using a plurality of successive digits of the random number as a plurality of pointers into the predetermined session master key to select the plurality of selected digits in the predetermined session master key; and

using a plurality of successive digits of the predetermined session master key as a plurality of pointers into the random number to select the plurality of selected digits in the random number;

extracting a message key from the alphabet by using successive digits of the predetermined session master key as a plurality of pointers into the alphabet to select a plurality of digits of the alphabet to form the message key digits; and

encrypting the reply using the message key; and

sending the encrypted reply to the server along with said random number used to generated the message key in unencrypted form.

14. The method according to claim 13 , wherein said reply includes the random number used by the server in the one pass key generation probabilistic authentication process.

15. The method according to claim 13 , further comprising:

receiving a request from the processor, which request includes a second random number.

16. The method according to claim 15 , wherein said request was generated by the processor by employing said one pass key generation probabilistic authentication process using a predetermined session master key and the second random number.

17. The method according to claim 15 , further comprising:

generating a message key to decrypt the request using the second random number and a same predetermined session master key used by the processor to create the request.

18. The method according to claim 13 , wherein said generating and sending steps are performed even after an initial authentication process involving the processor and server.

19. A method for secure communication by a server with a processor comprising:

generating a message key from a random number and a master key by:

combining a plurality of selected digits of the random number with a plurality of selected digits of the master key to form an alphabet, wherein said combining includes:

using a plurality of successive digits of the random number as a plurality of pointers into the master key to select the plurality of selected digits in the master key;

using a plurality of successive digits of the master key as a plurality of pointers into the random number to select the plurality of selected digits in the random number;

extracting a message key from the alphabet by using successive digits of the master key as a plurality of pointers into the alphabet to select a plurality of digits of the alphabet to form the message key digits; and

employing the message key to encrypt a reply to the processor.

20. The method according to claim 19 , further comprising:

sending an encrypted reply and the random number to the processor.

21. A method for secure communication between a computer and a web server comprising:

communicating securely with an application resident on the computer by the web server, said web server:

participating in an initial authentication process with the application; and

wrapping every reply to every received GET and POST request message from the application in an SSLX-EA exchange after the initial authentication process;

said SSLX-EA exchange including:

combining a plurality of selected digits of a random number with a plurality of selected digits of a master key to form an alphabet, wherein said combining includes:

using a plurality of successive digits of the random number as a plurality of pointers into the master key to select the plurality of selected digits in the master key;

using a plurality of successive digits of the master key as a plurality of pointers into the random number to select the plurality of selected digits in the random number;

extracting a message key from the alphabet by using successive digits of the master key as a plurality of pointers into the alphabet to select a plurality of digits of the alphabet to form the message key digits; and

encrypting the reply and sending the encrypted reply along with the random number in unencrypted form.

22. A method for secure communication between a computer and a web server comprising:

communicating securely by the web server with an application resident on the computer, said web server:

participating by the server in an initial authentication process with the application; and

wrapping every reply to every received GET and POST request message from the application in an SSLX-EA exchange after the initial authentication process, wherein a setting on the server is provided that defines an SSLX-EA session length, wherein one setting for an SSLX session length in a web architecture comprises one HTML page so that each page will have a unique session master key exchange and message key to include the request and reply of all objects on each page.

23. A method for communicating between a processor and a server comprising:

communicating securely with the server by a program resident on the processor;

performing an initial authentication process of authenticating the server to the program and authenticating the program to the server; and

authenticating and encrypting each message between the server and the program after performing the initial authentication process;

said encrypting by:

combining a plurality of selected digits of a random number with a plurality of selected digits of a master key to form an alphabet, wherein said combining includes:

using a plurality of successive digits of the random number as a plurality of pointers into the master key to select the plurality of selected digits in the master key;

using a plurality of successive digits of the master key as a plurality of pointers into the random number to select the plurality of selected digits in the random number;

extracting a message key from the alphabet by using successive digits of the master key as a plurality of pointers into the alphabet to select a plurality of digits of the alphabet to form the message key digits; and

encrypting the message using the message key.

24. The method according to claim 23 , wherein said authenticating and encrypting includes employing a one pass key generation probabilistic authentication process to create every GET and POST request message from the program to the server using a predetermined session master key and a unique random number included with every GET and POST request message.

25. The method according to claim 23 , wherein said authenticating and encrypting includes employing a one pass key generation probabilistic authentication process to create every reply from the server using a predetermined session master key and a unique random number included with every reply.

26. A method for communicating between a computer and a server comprising:

during each session of communication between the computer and the server:

wrapping each request by the computer in an SSLX-EA key exchange and cipher text at a start of the session and sending each wrapped request to the server; and

wrapping each request by the computer in cipher text only if not at the start of a session and sending each wrapped request to the server;

said wrapping each request in an SSLX-EA key exchange including:

encrypting each request by:

combining a plurality of selected digits of a random number with a plurality of selected digits of a first key to form an alphabet, wherein said combining includes:

using a plurality of successive digits of the random number as a plurality of pointers into the first key to select the plurality of selected digits in the first key;

using a plurality of successive digits of the first key as a plurality of pointers into the random number to select the plurality of selected digits in the random number;

extracting a message key from the alphabet by using successive digits of the first key as a plurality of pointers into the alphabet to select a plurality of digits of the alphabet to form the message key digits; and

encrypting the request using the message key and transmitting the random number in unencrypted form with the encrypted request.

27. The method according to claim 26 , further comprising:

unwrapping by the server the SSLX-EA key exchange and decrypting the request if at the start of the session; and

decrypting the request only by the server if not at the start of the session.

28. A method for communicating between a computer and a server comprising:

during each session of communication between the computer and the server:

wrapping each request by the computer in an SSLX-EA key exchange and cipher text at a start of the session and sending each wrapped request to the server; and

wrapping each request by the computer in cipher text only if not at the start of a session and sending each wrapped request to the server, further comprising:

wrapping by the server a reply in an SSLX-EA key exchange if a session length is set for every communication;

wrapping by the server the reply in cipher text only using the session key if the session length has not been exceeded; and

returning the reply by the server to the computer.

29. A method for communicating between a computer and a server comprising:

during each session of communication between the computer and the server:

wrapping each request by the computer in an SSLX-EA key exchange and cipher text at a start of the session and sending each wrapped request to the server; and

wrapping each request by the computer in cipher text only if not at the start of a session and sending each wrapped request to the server, further comprising:

unwrapping by the computer the reply and performing an SSLX-EA key exchange decrypt or a cipher decrypt only based on the session length setting.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 3, 2025
From: QWYIT LLC
To: HST GLOBAL, INC.
Reel/Frame 071015/0593 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 24, 2019
From: MCGOUGH, R PAUL
To: QWYIT LLC
Reel/Frame 050817/0434 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 25, 2013
From: RELEVANT SECURITY CORP.
To: MCGOUGH, PAUL
Reel/Frame 031497/0016 →
OPTION Recorded Apr 8, 2011
From: SSLNEXT, INC.
To: RELEVANT SECURITY CORP.
Reel/Frame 026099/0074 →
LICENSE Recorded Apr 8, 2011
From: SSLNEXT, INC.
To: RELEVANT SECURITY CORP.
Reel/Frame 026099/0096 →
MUTUAL GENERAL RELEASE AND SETTLEMENT AGREEMENT FOR PURCHASE OPTION AGREEMENT Recorded Apr 8, 2011
From: SSLNEXT, INC.
To: RELEVANT SECURITY CORP.
Reel/Frame 026101/0076 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2011
From: SSLNEXT, INC.
To: MCGOUGH, PAUL
Reel/Frame 025694/0328 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 6, 2007
From: MCGOUGH, R. PAUL
To: SSLNEXT INC.
Reel/Frame 019851/0974 →
Continuity (2)
Provisional Application 60842595 · Sep 6, 2006
Related Publication 20080065886A1 · Mar 13, 2008