Reducing unwanted and unsolicited electronic messages by exchanging electronic message transmission policies and solving and verifying solutions to computational puzzles
First Claim
1. In a sending domain that is network connectable to one or more receiving domains, the sending domain including a sending messaging server configured to send electronic messages to the receiving domains, a method for indicating to a receiving side domain that the sending messaging server expended computational resources to solve a predetermined computational puzzle before sending an electronic message to the receiving side domain, the method comprising:
- an act of the sending messaging server receiving electronic message data that is to be contained in an electronic message sent from the sending messaging server to the receiving side domain;
an act of the sending messaging server generating puzzle input from one or more components of the electronic message, the one or more components selected from a group consisting of;
a message body, a message attachment, and a message header, and wherein the act of generating puzzle input includes one or more of;
extracting portions of at least one of the one or more components, hashing portions of at least one of the one or more components, and concatenating portions of at least one of the one or more components;
an act of the sending messaging server identifying an answer document by applying a hashing algorithm to different answer documents until the hashing algorithm produces an answer hash value that is a solution to the predetermined computational puzzle,wherein the answer hash value is calculated by;
combining one of the different answer documents and the puzzle input; and
hashing the combination of the one of the different answer documents and the puzzle input using the hashing algorithm, wherein the hashing algorithm alters a standard application of SHA-1 sub functions; and
an act of sending the electronic message from the sending messaging server to the receiving side domain, wherein the electronic message includes the identified answer document and the electronic message data enabling verification by the receiving side domain that the sending messaging server expended computational resources without further communication with the sending messaging server.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides for generating inputs that can be provided to a message classification module to facilitate more reliable classification of electronic messages, such as, for example, as unwanted and/or unsolicited. In one embodiment, a sending messaging server provides an appropriate response to address verification data thereby indicating a reduced likelihood of the sending messaging server using a forged network address. In another embodiment, it is determined if a messaging server is authorized to send electronic messages for a domain. In yet another embodiment, electronic message transmission policies adhered to by a domain are identified. In yet a further embodiment, a sending computer system expends computational resources to solve a computational puzzle and includes an answer document in an electronic message. A receiving computer system receives the electronic message and verifies the answer document.
52 Citations
24 Claims
-
1. In a sending domain that is network connectable to one or more receiving domains, the sending domain including a sending messaging server configured to send electronic messages to the receiving domains, a method for indicating to a receiving side domain that the sending messaging server expended computational resources to solve a predetermined computational puzzle before sending an electronic message to the receiving side domain, the method comprising:
-
an act of the sending messaging server receiving electronic message data that is to be contained in an electronic message sent from the sending messaging server to the receiving side domain; an act of the sending messaging server generating puzzle input from one or more components of the electronic message, the one or more components selected from a group consisting of;
a message body, a message attachment, and a message header, and wherein the act of generating puzzle input includes one or more of;
extracting portions of at least one of the one or more components, hashing portions of at least one of the one or more components, and concatenating portions of at least one of the one or more components;an act of the sending messaging server identifying an answer document by applying a hashing algorithm to different answer documents until the hashing algorithm produces an answer hash value that is a solution to the predetermined computational puzzle, wherein the answer hash value is calculated by; combining one of the different answer documents and the puzzle input; and hashing the combination of the one of the different answer documents and the puzzle input using the hashing algorithm, wherein the hashing algorithm alters a standard application of SHA-1 sub functions; and an act of sending the electronic message from the sending messaging server to the receiving side domain, wherein the electronic message includes the identified answer document and the electronic message data enabling verification by the receiving side domain that the sending messaging server expended computational resources without further communication with the sending messaging server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. In a receiving domain that is network connectable to one or more sending domains, the receiving domain including one or more receiving messaging servers configured to receive electronic messages from the sending domains, a method for determining if a sending messaging server solved a predetermined computational puzzle before sending an electronic message, the method comprising:
-
an act of receiving an electronic message that includes electronic message data and an answer document; an act of reproducing a puzzle input from one or more predetermined components of the electronic message, the one or more predetermined components selected from a group consisting of;
a message body, a message attachment, and a message header, wherein reproducing puzzle input includes one or more of;
extracting portions of at least one of the one or more predetermined components, hashing portions of at least one of the one or more predetermined components, and concatenating portions of at least one of the one or more predetermined components, and wherein the act of reproducing a puzzle input from one or more predetermined components of the electronic message further comprises an act of applying a hashing algorithm that alters the standard application of SHA-1 sub-functions;an act of determining if a verifying hash value, is a solution to the predetermined computational puzzle, the verifying hash value being calculated by combining the answer document and the puzzle input and hashing the combination of the answer document and puzzle input using the hashing algorithm; and an act of providing results of the determination to a message classification module wherein the message classification module determines, based on the results, whether the received electronic message is spam. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22)
-
-
23. A computer program product for use in a sending domain that is network connectable to one or more receiving domains, the sending domain including a sending messaging server configured to send electronic messages to the receiving domains, the computer program product for implementing a method for indicating to a receiving side domain that the sending messaging server expended computational resources to solve a predetermined computational puzzle before sending an electronic message to the receiving side domain, the computer program product comprising one or more computer storage media having stored thereon computer executable instructions that, when executed by a processor, cause the sending domain to perform the following:
-
receive electronic message data that is to be contained in an electronic message; generate puzzle input from one or more components of the electronic message, the one or more components selected from a group consisting of;
a message body, a message attachment, and a message header, and wherein puzzle input generation includes one or more of;
extracting portions of at least one of the one or more components, hashing portions of at least one of the one or more components, and concatenating portions of at least one of the one or more components;identify an answer document by applying a hashing algorithm to different answer documents until the hashing algorithm produces an answer hash value that is a solution to the predetermined computational puzzle, wherein the answer hash value is calculated by; combining one of the different answer documents and the puzzle input; and hashing the combination of the one of the different answer documents and the puzzle input using the hashing algorithm. wherein the hashing algorithm alters a standard application of SHA-1 sub functions; and send the electronic message to the receiving side domain, wherein the electronic message includes the identified answer document and the electronic message and enables verification by the receiving side domain that the sending messaging server expended computational resources without further communication with the sending messaging server.
-
-
24. A computer program product for use in a receiving domain that is network connectable to one or more sending domains, the receiving domain including one or more receiving messaging servers configured to receive electronic messages from the sending domains, the computer program product for implementing a method for determining if a sending messaging server solved a predetermined computational puzzle before sending an electronic message, the computer program product comprising one or more computer storage media having stored thereon computer executable instructions that, when executed by a processor, cause the receiving domain to perform the following:
-
receive an electronic message that includes electronic message data and an answer document; reproduce a puzzle input from one or more predetermined components of the electronic message, the one or more predetermined components selected from a group consisting of;
a message body, a message attachment, and a message header, wherein reproducing puzzle input includes one or more of;
extracting portions of at least one of the one or more predetermined components, hashing portions of at least one of the one or more predetermined components, and concatenating portions of at least one of the one or more predetermined components, and wherein reproducing a puzzle input from one or more predetermined components of the electronic message comprises an act of applying a hashing algorithm that alters the standard application of SHA-1 sub-functions;determine if a verifying hash value, is a solution to the predetermined computational puzzle, the verifying hash value being calculated by combining the answer document and the puzzle input and hashing the combination of the answer document and the puzzle input using the hashing algorithm; and provide results of the determination to a message classification module such that the message classification module determines, based on the results, whether the received electronic message is spam.
-
Specification