System and method of secure encryption for electronic data transfer
First Claim
1. A non-transitory computer-readable medium encoded with code segments for enabling a secure data transfer system, the computer-readable medium comprising:
- a code segment for enabling a first computer to receive input from a first user identifying transfer data and a recipient identifier to initiate a transaction;
a code segment for enabling the first computer to create a key for encoding and decoding the transfer data, wherein the key is unique for the transaction, encode the transfer data using the key, and communicate the key and the recipient identifier to a second computer;
a code segment for enabling the first computer to receive sender authentication information from the first user and to communicate the sender authentication information to the second computer;
a code segment for enabling the second computer to create a secure package identifier that uniquely identifies the transfer data, is unique for the transaction, and is associated with the recipient identifier and the key, to compare the sender authentication information received from the first computer with sender authentication information stored in a database, and to communicate the secure package identifier to the first computer only if the sender authentication information received from the first computer matches the sender authentication information stored in the database;
a code segment for enabling the first computer to communicate the encoded transfer data and the secure package identifier to a third computer;
a code segment for enabling the third computer to receive from a second user a user identifier and to communicate the user identifier and the secure package identifier to the second computer; and
a code segment for enabling the second computer to communicate the key to the third computer only if the secure package identifier received from the third computer matches the secure package identifier created by the second computer and if the user identifier matches the recipient identifier.
3 Assignments
0 Petitions
Accused Products
Abstract
A system for secure transfer of encrypted data involves a sender client (36), a recipient client (38), a main server (40), and a key server (42). The sender client (36) receives instructions from a first user identifying transfer data and a recipient identifier, creates an encoding key, encodes the transfer data using the key, and communicates the key and the recipient identifier to a main server (40). The main server (40) communicates the key and the recipient identifier to the key server (42), which associates the recipient identifier with a secure package identifier and communicates the secure package identifier to the main server (40), which communicates the secure package identifier to the sender client (36). The recipient client (38) receives and identifies the secure package identifier and the encoded transfer data, receives from a second user a user identifier, and communicates the user identifier and the secure package identifier to the main server (40), which communicates them to the key server (42). The key server (42) communicates the key to the main server (40) only if the secure package identifier received from the recipient client (38) matches the secure package identifier created by the main server (40) and if the user identifier matches the recipient identifier. The main server (40) communicates the key to the recipient client (38).
29 Citations
33 Claims
-
1. A non-transitory computer-readable medium encoded with code segments for enabling a secure data transfer system, the computer-readable medium comprising:
-
a code segment for enabling a first computer to receive input from a first user identifying transfer data and a recipient identifier to initiate a transaction; a code segment for enabling the first computer to create a key for encoding and decoding the transfer data, wherein the key is unique for the transaction, encode the transfer data using the key, and communicate the key and the recipient identifier to a second computer; a code segment for enabling the first computer to receive sender authentication information from the first user and to communicate the sender authentication information to the second computer; a code segment for enabling the second computer to create a secure package identifier that uniquely identifies the transfer data, is unique for the transaction, and is associated with the recipient identifier and the key, to compare the sender authentication information received from the first computer with sender authentication information stored in a database, and to communicate the secure package identifier to the first computer only if the sender authentication information received from the first computer matches the sender authentication information stored in the database; a code segment for enabling the first computer to communicate the encoded transfer data and the secure package identifier to a third computer; a code segment for enabling the third computer to receive from a second user a user identifier and to communicate the user identifier and the secure package identifier to the second computer; and a code segment for enabling the second computer to communicate the key to the third computer only if the secure package identifier received from the third computer matches the secure package identifier created by the second computer and if the user identifier matches the recipient identifier. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A non-transitory computer-readable medium encoded with code segments for enabling a secure data transfer system, the computer-readable medium comprising:
-
a code segment for enabling a first computer to receive transfer data and a plurality of recipient identifiers from a first user to initiate a transaction; a code segment for enabling the first computer to create a key for encrypting and decrypting the transfer data, wherein the key is unique to the transaction, encrypt the transfer data, and communicate the key and the recipient identifiers to a second computer; a code segment for enabling the second computer to communicate the key and the plurality of recipient identifiers to a third computer; a code segment for enabling the third computer to associate each of the recipient identifiers with a secure package identifier that uniquely identifies the transfer data and is unique for the transaction, and to communicate the secure package identifier to the second computer; a code segment for enabling the second computer to communicate the secure package identifier to the first computer; a code segment for enabling the first computer to communicate the secure package identifier and the encrypted transfer data to a fourth computer; a code segment for enabling the fourth computer to communicate a user identifier and the secure package identifier to the second computer; a code segment for enabling the second computer to communicate the user identifier and the secure package identifier to the third computer; a code segment for enabling the third computer to communicate the key to the second computer only if the secure package identifier received from the second computer matches the secure package identifier created by the third computer and if the user identifier received from the third computer matches one of the plurality of recipient identifiers associated with the secure package identifier; and a code segment for enabling the second computer to communicate the key to the fourth computer. - View Dependent Claims (13, 14, 15)
-
-
16. A non-transitory computer-readable medium encoded with code segments for enabling a secure data transfer system, the computer-readable medium comprising:
-
a code segment for enabling a first computer to receive from a first user, for initiating a transaction, transfer data, sender identification information, sender authentication information, and recipient identification information, to create a key for encrypting and decrypting the transfer data, wherein the key is unique for the transaction, to encrypt the transfer data using the key, and to communicate the sender identification information, sender authentication information, recipient identification information, and key to a second computer; a code segment for enabling the second computer to authenticate the first user by verifying that the sender identification information and sender authentication information received from the first computer match sender identification information and sender authentication information stored in a database, to generate a recipient anonymous indicator corresponding to the recipient identification information, and to communicate the recipient anonymous indicator and the key to a third computer only if the first user is authenticated; a code segment for enabling the third computer to create a secure package identifier that uniquely identifies the transfer data and is unique for the transaction, to associate the recipient anonymous indicator and the key with the secure package identifier, and to communicate the secure package identifier to the second computer; a code segment for enabling the second computer to communicate the secure package identifier to the first computer; a code segment for enabling the first computer to communicate the secure package identifier and the encrypted transfer data to a fourth computer; a code segment for enabling the fourth computer to receive user identification and authentication information from a second user, and to communicate the secure package identifier, the user identification, and the authentication information to a fifth computer; a code segment for enabling the fifth computer to create a user anonymous indicator corresponding to the user identification information, and to communicate the user anonymous identifier and the secure package identifier to the third computer; a code segment for enabling the third computer to match the secure package identifier received from the fifth computer with the secure package identifier created by the third computer, to compare the user anonymous identifier with the recipient anonymous identifier associated with the secure package identifier, and to communicate the key to the fifth computer only if the secure package identifier received from the fifth computer is the same as the secure package identifier created by the third computer and the user anonymous identifier is the same as the first recipient anonymous identifier associated with the secure package identifier; a code segment for enabling the fifth computer to communicate the key to the fourth computer; and a code segment for enabling the fourth computer to decrypt the encrypted transfer data using the key. - View Dependent Claims (17, 18, 19, 20, 21)
-
-
22. A method of secure data transfer, the method comprising:
-
using a first computer to receive from a first user transfer data and a recipient identifier to initiate a transaction; using the first computer to create a key for encoding and decoding the transfer data, wherein the key is unique for the transaction, encode the transfer data using the key, and communicate the key and the recipient identifier to a second computer; using the first computer to receive sender authentication information from the first user and to communicate the sender authentication information to the second computer; using the second computer to create a secure package identifier that uniquely identifies the transfer data, is unique for the transaction, and is associated with the recipient identifier and the key, to compare the sender authentication information received from the first computer with sender authentication information stored in a database, and to communicate the secure package identifier to the first computer only if the sender authentication information received from the first computer matches the sender authentication information stored in the database; transferring the secure package identifier and the encoded transfer data to a third computer; using the third computer to receive from a second user a user identifier and to communicate the user identifier and the secure package identifier to the second computer; and using the second computer to communicate the key to the third computer only if the secure package identifier received from the third computer matches the secure package identifier created by the second computer and if the user identifier matches the recipient identifier. - View Dependent Claims (23, 24, 25, 26, 27)
-
-
28. A method of secure data transfer, the method comprising:
-
initiating a transaction by communicating sender identification information and sender authentication information, a key for encrypting and decrypting transfer data, wherein the key is unique for the transaction, and a list of recipient identifiers from a first client computer to a first server computer; authenticating a sender at the first server computer by comparing the sender authentication information from the first client computer to sender authentication information stored in a database; encoding each of the recipient identifiers using the first server computer; communicating the encoded recipient identifiers and the key to a second server computer; creating a secure package identifier that uniquely identifies the transfer data, is unique for the transaction, and is associated with the key and the encoded recipient identifiers; communicating the secure package identifier from the second server computer and to, directly or indirectly, the first client computer; encrypting the transfer data at the first client computer and transferring the encrypted transfer data and the secure package identifier from the first client computer to a second client computer; communicating the secure package identifier, a recipient identifier pertaining to a recipient, and recipient authentication information pertaining to the recipient, from the second client computer to a third server computer; authenticating the recipient at the third server computer by comparing the recipient authentication information from the second client computer to recipient authentication information stored in a database; encoding the recipient identifier at the third server computer; communicating the encoded recipient identifier and the key to the second server computer; matching the secure package identifier received from the third server computer with the secure package identifier created by the second server computer, and communicating the key from the second server computer to the third server computer only if the encoded recipient identifier from the third server computer matches one of the encoded recipient identifiers received from the second server computer; and communicating the key from the third server computer to the second client computer.
-
-
29. A non-transitory computer-readable medium encoded with code segments for enabling a secure data transfer system, the computer-readable medium comprising:
-
a code segment for enabling a first computer to receive, from a second computer and at the start of a transaction, a key for encoding and decoding transfer data, wherein the key is unique for the transaction, sender authentication information, and a recipient identifier, and to communicate the recipient identifier and the key to a third computer only if the sender authentication information received by the first computer matches sender authentication information stored in a database; a code segment for enabling the third computer to create a first secure package identifier that uniquely identifies data to be transferred and is unique for the transaction, to associate the key and the recipient identifier with the first secure package identifier, and to communicate the first secure package identifier to the first computer; a code segment for enabling the first computer to communicate the first secure package identifier to the second computer; a code segment for enabling the first computer to receive a user identifier, user authentication information, and a second secure package identifier from a fourth computer, and to communicate the second secure package identifier and the user identifier to the third computer only if the user authentication information received by the first computer matches user authentication information stored in the database; a code segment for enabling the third computer to communicate the key to the first computer only if the second secure package identifier matches the first secure package identifier and if the user identifier received from the first computer matches the recipient identifier associated with the secure package identifier; and a code segment for enabling the first computer to communicate the key to the fourth computer. - View Dependent Claims (30)
-
-
31. A non-transitory computer-readable medium encoded with code segments for enabling a secure data transfer system, the computer-readable medium comprising:
-
a code segment for receiving, at the start of a transaction, first user authentication information, a key for encoding and decoding transfer data, wherein the key is unique for the transaction, and a recipient identifier from a first external location; a code segment for communicating a first user identifier and the key to a second external location; a code segment for enabling the first external location to receive sender authentication information from a first user and to communicate the sender authentication information to the second external location; a code segment for creating a secure package identifier that is unique for the transaction and uniquely identifies data to be transferred from the first external location to at least a third external location; a code segment for comparing the sender authentication information received from the first external location with sender authentication information stored in a database and communicating the secure package identifier to the first external location only if the sender authentication information received from the first external location matches the sender authentication information stored in the database; a code segment for receiving a second secure package identifier and second user authentication information from the third external location; a code segment for communicating the second secure package identifier to the second external location; a code segment for receiving the key from the second external location; and a code segment for communicating the key to the third external location.
-
-
32. A non-transitory computer-readable storage medium with an executable program stored thereon for enabling a secure data transfer system to perform a transaction, wherein the program instructs one or more microprocessors to perform the following steps:
-
enabling a sender client to receive input from a first user identifying transfer data and a recipient identifier to initiate the transaction; enabling the sender client to create a key for encoding and decoding the transfer data, wherein the key is unique for the transaction, encode the transfer data using the key, and communicate the key and the recipient identifier to a server; enabling the sender client to receive sender authentication information from the first user and to communicate the sender authentication information to the server; enabling the server to create a secure package identifier that is unique for the transaction, uniquely identifies the transfer data, and is associated with the recipient identifier and the key, to compare the sender authentication information received from the sender client with sender authentication information stored in a database, and to communicate the secure package identifier to the sender client only if the sender authentication information received from the sender client matches the sender authentication information stored in the database; enabling the sender client to communicate the encoded transfer data and the secure package identifier to a recipient client; enabling the recipient client to receive from a second user a user identifier and to communicate the user identifier and the secure package identifier to the server; and enabling the server to communicate the key to the recipient client only if the secure package identifier received from the recipient client matches the secure package identifier created by the server and if the user identifier matches the recipient identifier. - View Dependent Claims (33)
-
Specification