U.S. patent application number 14/226598 was filed with the patent office on 2014-07-24 for message challenge response.
This patent application is currently assigned to SonicWALL, Inc.. The applicant listed for this patent is SonicWALL, Inc.. Invention is credited to Scott D. Eikenberry, David A. Koblas, Tim Nufire, Jonathan J. Oliver, Damon K. Uyeda, Brian K. Wilson.
Application Number | 20140207892 14/226598 |
Document ID | / |
Family ID | 47780551 |
Filed Date | 2014-07-24 |
United States Patent
Application |
20140207892 |
Kind Code |
A1 |
Oliver; Jonathan J. ; et
al. |
July 24, 2014 |
MESSAGE CHALLENGE RESPONSE
Abstract
A system and method are disclosed for registering a email sender
for the purpose of sending an email message to an email receiver
including receiving a challenge message wherein the challenge
message includes a machine answerable question; processing the
challenge message to determine that it is a challenge message sent
for the purpose of authorizing delivery of the email message;
analyzing the question to determine a valid response to the
challenge message; and sending the valid response that includes the
answer wherein a nontrivial amount of resources are required to
send the valid response.
Inventors: |
Oliver; Jonathan J.; (San
Carlos, CA) ; Wilson; Brian K.; (Palo Alto, CA)
; Uyeda; Damon K.; (San Francisco, CA) ;
Eikenberry; Scott D.; (Menlo Park, CA) ; Koblas;
David A.; (Los Altos, CA) ; Nufire; Tim; (San
Francisco, CA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
SonicWALL, Inc. |
San Jose |
CA |
US |
|
|
Assignee: |
SonicWALL, Inc.
San Jose
CA
|
Family ID: |
47780551 |
Appl. No.: |
14/226598 |
Filed: |
March 26, 2014 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
13787693 |
Mar 6, 2013 |
8732256 |
|
|
14226598 |
|
|
|
|
10387352 |
Mar 11, 2003 |
8396926 |
|
|
13787693 |
|
|
|
|
10197393 |
Jul 16, 2002 |
|
|
|
10387352 |
|
|
|
|
Current U.S.
Class: |
709/206 |
Current CPC
Class: |
G06Q 10/107 20130101;
H04L 63/1441 20130101; H04L 51/12 20130101 |
Class at
Publication: |
709/206 |
International
Class: |
H04L 12/58 20060101
H04L012/58 |
Claims
1. A method of registering an electronic-mail (e-mail) sender for
the purpose of sending e-mail messages to an e-mail recipient, the
method comprising: receiving an e-mail sent by the e-mail sender to
the e-mail recipient; executing instructions stored in memory,
wherein execution of the instructions by a processor of an
independent third-party auditor: generates a challenge message in
response to an e-mail message received by the e-mail recipient,
wherein: the challenge message includes a machine answerable
question, a nontrivial amount of resources are required to
determine a valid response to the machine answerable question, and
the non-trivial amount of resources is adjustable by the
independent third-party auditor; sending the challenge message to
the e-mail sender; receiving a response to the challenge message
sent by the e-mail sender, wherein the validity of the response is
evaluated by the independent third-party auditor; and sending a
report from the independent third-party auditor to the e-mail
recipient, the report indicating the validity of the response,
wherein the e-mail recipient registers the e-mail sender based on
the report.
2. The method of claim 1, wherein the nontrivial amount of
resources is adjustable to be greater than a minimum amount of
resources necessary to generate a properly formatted response to
the machine answerable question.
3. The method of claim 1, wherein the nontrivial amount of
resources includes dedication of processor cycles.
4. The method of claim 1, wherein the nontrivial amount of
resources includes dedication of system memory.
5. The method of claim 1, wherein the nontrivial amount of
resources includes micropayments, and wherein the e-mail sender
authorizes the independent third-party auditor to collect a
micropayment in the response to the challenge message.
6. The method of claim 5, wherein the micropayment is deducted from
an escrow account of the e-mail sender.
7. The method of claim 1, wherein the nontrivial amount of
resources includes licensing rights.
8. The method of claim 1, wherein the report indicates the response
is not valid, and wherein the e-mail recipient does not register
the e-mail sender based on the report.
9. The method of claim 1, wherein the challenge message further
includes a human answerable question.
10. A system of registering an electronic-mail (e-mail) sender for
the purpose of sending e-mail messages to an e-mail recipient, the
system comprising: a network interface for receiving an e-mail sent
by the e-mail sender to the e-mail recipient; an independent
third-party auditor server for: executing instructions stored in
memory, wherein execution of the instructions by a processor of an
independent third-party auditor: generates a challenge message in
response to an e-mail message received by the e-mail recipient,
wherein: the challenge message includes a machine answerable
question, a nontrivial amount of resources are required to
determine a valid response to the machine answerable question, and
the non-trivial amount of resources is adjustable by the
independent third-party auditor; sending the challenge message to
the e-mail sender; receiving a response to the challenge message
sent by the e-mail sender, wherein the validity of the response is
evaluated by the independent third-party auditor; and sending a
report from the independent third-party auditor to the e-mail
recipient, the report indicating the validity of the response,
wherein the e-mail recipient registers the e-mail sender based on
the report.
11. The system of claim 10, wherein the nontrivial amount of
resources is adjustable to be greater than a minimum amount of
resources necessary to generate a properly formatted response to
the machine answerable question.
12. The system of claim 10, wherein the nontrivial amount of
resources includes dedication of processor cycles.
13. The system of claim 10, wherein the nontrivial amount of
resources includes dedication of system memory.
14. The system of claim 10, wherein the nontrivial amount of
resources includes micropayments, and wherein the e-mail sender
authorizes the independent third-party auditor to collect a
micropayment in the response to the challenge message.
15. The system of claim 14, wherein the micropayment is deducted
from an escrow account of the e-mail sender.
16. The system of claim 10, wherein the nontrivial amount of
resources includes licensing rights.
17. The system of claim 10, wherein the report indicates the
response is not valid, and wherein the e-mail recipient does not
register the e-mail sender based on the report.
18. The method of claim 1, wherein the challenge message further
includes a human answerable question.
19. A non-transitory computer readable storage medium having
embodied thereon a program, wherein the program is executable by a
processor to perform a method of registering an electronic-mail
(e-mail) sender for the purpose of sending e-mail messages to an
e-mail recipient, the method comprising: receiving an e-mail sent
by the e-mail sender to the e-mail recipient; generating a
challenge message, using an independent third-party auditor, in
response to an e-mail message received by the e-mail recipient,
wherein: the challenge message includes a machine answerable
question, a nontrivial amount of resources are required to
determine a valid response to the machine answerable question, and
the non-trivial amount of resources is adjustable by the
independent third-party auditor; sending the challenge message to
the e-mail sender; receiving a response to the challenge message
sent by the e-mail sender, wherein the validity of the response is
evaluated by the independent third-party auditor; and sending a
report from the independent third-party auditor to the e-mail
recipient, the report indicating the validity of the response,
wherein the e-mail recipient registers the e-mail sender based on
the report.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] The present application is a continuation and claims the
priority benefit of U.S. patent application Ser. No. 13/787,693
filed Mar. 6, 2013, which is a continuation and claims the priority
benefit of U.S. patent application Ser. No. 10/387,352 filed Mar.
11, 2003, which is a continuation-in-part and claims the priority
benefit of U.S. patent application Ser. No. 10/197,393 filed Jul.
16, 2002, the disclosures of which are incorporated herein by
reference.
[0002] The present invention is related to U.S. patent application
Ser. No. 10/422,359 filed Apr. 23, 2003, the disclosure of which is
incorporated herein by reference.
BACKGROUND OF THE INVENTION
[0003] 1. Field of the Invention
[0004] The present invention relates generally to electronic
messages. More specifically, a technique for avoiding spam emails
is described.
[0005] 2. Description of the Related Art
[0006] Electronic messages have become an indispensable part of
modern communication. Electronic messages such as email or instant
messages are popular because they are fast, easy, and have
essentially no incremental cost. Unfortunately, these advantages of
electronic messages are also exploited by marketers who regularly
send out unsolicited junk messages (also referred to as "spam").
Spam messages are a nuisance for users. They clog people's email
box, waste system resources, often promote distasteful subjects,
and sometimes sponsor outright scams.
[0007] To reach a broad audience, the senders of spam (also
referred to as "spammers") usually generate a huge amount of
messages using automated computer programs. There are many existing
techniques for filtering spam messages, some of which attempt to
identify machine generated messages and block them. Upon receiving
a message, the recipient may issue a challenge that is difficult
for a computer to answer but easy for a person. For example, the
challenge may include a picture of three objects, with the question
"how many objects are in the picture?" The sender needs to choose
three from a number of available answers and send the answer to the
recipient. This type of question, referred to as a human answerable
question, is difficult for machines to answer correctly but easy
for human beings. The reply is then examined by the recipient's
computer. The message is delivered to the recipient if the answer
is correct, and processed as spam otherwise. This type of
challenge/response scheme incurs significant overhead in for the
sender of the email, making email no longer "free" and therefore
more difficult for the spammers.
[0008] The challenge/response scheme described above is effective
for blocking spam messages, but has many drawbacks. For example,
since the message is not delivered until the challenge is answered,
long delays may result if the sender is not available to answer the
challenge right away. Also, the scheme is inconvenient for
legitimate users that need to send out messages to new addresses
often, for example a business that has many new clients. It would
be desirable to have the benefit of the challenge/response scheme
for spam blocking purposes, but does not result in long delays in
message delivery or excessive burden for the sender.
[0009] In one exemplary embodiment of the present invention, a
method of registering an electronic-mail (e-mail) sender for the
purpose of sending e-mail to a recipient is provided. The e-mail
sender receives a challenge message in response to an e-mail
message previously sent by the e-mail sender, the challenge message
including a machine answerable question. The challenge message is
then processed to determine that the message is a challenge message
sent for the purpose of authorizing delivery of e-mail messages.
Processing the challenge message in this regard includes
identifying an indicator that the message is a challenge message.
The message is then parsed to locate the machine answerable
question in the challenge message. The question is then analyzed to
determine a valid response to the challenge message. A nontrivial
amount of resources are required to determine the valid response to
the challenge message. The response to the challenge (i.e., the
valid response) is then sent that includes an answer to the machine
answerable question. Receipt of the response subsequently results
in the e-mail sender being registered as a valid e-mail sender. As
such, subsequent e-mail messages sent by the e-mail sender will not
require sending a valid response to a challenge message.
[0010] Another embodiment of the present invention includes a
computer-readable storage medium having embodied thereon a program.
The program is executable by a computer processor to perform a
method of registering an electronic-mail (e-mail) sender for the
purpose of sending e-mail messages to an e-mail recipient.
[0011] A still further embodiment of the present invention
discloses an electronic-mail (e-mail) server configured to complete
a registration process for sending e-mail messages to art e-mail
recipient. The e-mail server includes a network interface for
receiving a challenge message in response to an e-mail message sent
by the e-mail server. The challenge message is received over a
communications network and includes a machine answerable question.
The server also includes memory configured to store
computer-executable instructions for answering the challenge
message and a processor configured to execute the instructions
stored in memory. When executed, the instructions provide for
processing the challenge message to determine that the message is a
challenge message for the purpose of authorizing delivery of e-mail
messages. Processing the challenge message includes identifying an
indicator that the message is a challenge message. The instructions
also provide for parsing the message to locate the machine
answerable question in the challenge message followed by analyzing
the question to determine a valid response to the challenge
message. A nontrivial amount of resources are required to determine
the valid response. Finally, the instructions provide for sending
the valid response via the network interface and communications
network. The valid response includes the answer to the machine
answerable question and receipt of the valid response results in
the email server being registered as a valid e-mail server. As a
result, subsequent e-mail messages sent by the e-mail server will
not require sending a valid response to a challenge message.
[0012] Another embodiment of the presently disclosed invention
provides a method of registering an electronic mail (e-mail) sender
for the purpose of sending e-mail messages to an e-mail recipient.
The e-mail sender receives a challenge message in response to an
e-mail message previously sent by the e-mail sender, the challenge
message including a machine answerable question. The challenge
message is then processed to determine that the message is a
challenge message sent for the purpose of authorizing delivery of
e-mail messages. Processing the challenge message in this regard
includes identifying an indicator that the message is a challenge
message. The message is then parsed to locate the machine
answerable question. in the challenge message. The question is then
analyzed to determine a valid response to the challenge message. A
nontrivial amount of resources are required to determine the valid
response to the challenge message. A response to the challenge
message is then sent to an auditor, which is a different entity
than the e-mail recipient. The auditor sends a report concerning
the response to the e-mail recipient that identifies that the
response includes an answer to the Machine answerable question and
that the e-mail sender should be registered as a valid e-mail
sender. As a result of being registered, subsequent e-mail messages
sent by the e-mail sender will not require sending a valid response
to a challenge message to the auditor.
[0013] In yet another embodiment of the presently disclosed
invention, a method of classifying electronic-mail (e-mail)
messages from an e-mail sender to an e-mail recipient is disclosed.
Through this particular method, a challenge message is generated.
The challenge message includes a machine answerable question and
for which a corresponding response may be generated by a machine
associated with the e-mail sender. Generating the response to the
message includes a nontrivial amount of resources with respect to
processing the challenge message to determine that the message is a
challenge message sent for the purpose of classifying e-mail
messages including identification of an indicator that the message
is a challenge message; parsing the message to locate the machine
answerable question in the challenge message; and analyzing the
question to determine a valid response to the challenge message.
The challenge message is then sent to the e-mail sender. A
determination is later made as to whether a valid response to the
challenge message has been sent by the e-mail sender. A valid
message `results in. the sender being classified as a valid sender
and excepted from future challenge messages.
[0014] Another embodiment of the present invention describes a
computer-readable storage medium having embodied thereon a program.
The program is executable by a computer processor to perform a
method of classifying electronic-mail (e-mail) messages from an
e-mail sender to an e-mail recipient.
[0015] In a still further embodiment of the present invention, an
electronic-mail (e-mail) server configured to classify an e-mail
message from an e-mail sender to an e-mail recipient is provided.
The server includes memory configured to store computer-executable
instructions for classifying an e-mail message and a processor
configured to execute the instructions stored in memory. When
executed, the instructions cause the generation of a challenge
message including a machine answerable question and for which a
corresponding response may be generated by a machine associated
with the e-mail sender. Generating the response requires a
nontrivial amount of resources with. respect to processing the
challenge message to determine that the message is a challenge
message sent for the purpose of classifying e-mail messages
including identification of an indicator that the message is a
challenge message; parsing the message to locate the machine
answerable question in the challenge message; and analyzing the
question to determine a valid response to the challenge message.
The message is then sent via a network interface configured to send
the challenge message over a communications network. A valid
response to the challenge message includes the answer to the
machine answerable question and results in the e-mail sender being
classified as a valid e-mail server and excepted from future
challenge messages.
[0016] Another embodiment of the present invention includes a
method of classifying an electronic-mail. (e-mail) message from a
message sender to a message recipient. A challenge message
including a machine answerable question is generated and for which
a corresponding response may be generated by a machine associated
with the e-mail sender. Generating the response requires a
nontrivial amount of resources with respect to processing the
challenge message to determine that the message is a challenge
message sent for the purpose of classifying e-mail messages
including identification of an indicator that the message is a
challenge message; parsing the message to locate the machine
answerable question in the challenge message; and analyzing the
question to determine a valid response to the challenge message.
The challenge message is sent to the e-mail sender and a response
is received at an auditor, wherein, the auditor is a different
entity than the message sender. The auditor is configured to send a
report concerning the response to the message recipient that
identifies that the response includes an answer to the machine
answerable question and that the e-mail sender should be classified
as a valid e-mail sender whereby subsequent e-mail messages sent by
the e-mail sender will not require sending a valid response to a
challenge message to the auditor.
BRIEF DESCRIPTION OF THE DRAWINGS
[0017] The present invention will be readily understood by the
following detailed description in conjunction with the accompanying
drawings, wherein like reference numerals designate like structural
elements, and in which:
[0018] FIG. 1 is a block diagram illustrating a challenge/response
system that includes a third party.
[0019] FIG. 2 is a flowchart illustrating an exemplary
challenge/response process. The process begins when mail sender 100
sends a message to mail receiver 102 (200).
[0020] FIG. 3 is a flowchart illustrating how mail sender 100
handles a challenge, according to one embodiment of the present
invention.
[0021] FIG. 4 is a flowchart illustrating the audit process
according to one embodiment of the present invention.
DETAILED DESCRIPTION
[0022] It should be appreciated that the present invention can be
implemented in numerous ways, including as a process, an apparatus,
a system, or a computer readable medium such as a computer readable
storage medium or a computer network wherein program instructions
are sent over optical or electronic communication links. It should
be noted that the order of the steps of disclosed processes may be
altered within the scope of the invention.
[0023] A detailed description of one or more preferred embodiments
of the invention is provided below along with accompanying figures
that illustrate by way of example the principles of the invention.
While the invention is described in connection with such
embodiments, it should be understood that the invention is not
limited to any embodiment. On the contrary, the scope of the
invention is limited only by the appended claims and the invention
encompasses numerous alternatives, modifications and equivalents.
For the purpose of example, numerous specific details are set forth
in the following description in order to provide a thorough
understanding of the present invention. The present invention may
be practiced according to the claims without some or all of these
specific details. For the purpose of clarity, technical material
that is known in the technical fields related to the invention has
not been described in detail so that the present invention is not
unnecessarily obscured.
[0024] An improved email registration system is disclosed. In this
specification, email registration is used to refer to any process,
task, or other requirement placed on a sender of an email (or the
system that sent the email) to allow the email to be delivered. One
type of registration is challenge/response, as described above.
Once the challenge is sent and the response is correctly returned,
the email is successfully registered so that it can be delivered.
Other emails from the same sender or associated with the sender in
some way may also be concurrently or subsequently delivered as a
result of the registration.
[0025] Several improvements to existing human answerable
challenge/response processes are disclosed. An auditor is included
in the challenge/response architecture that simplifies the response
procedure and optionally monitors and approves responses. A machine
answerable challenge is used that is directed to a module on a mail
sender that is configured to receive and answer the challenge. The
challenge may require a small but nontrivial amount of processing
by the mail sender so that an entity sending millions of mails to
addresses for which it has not registered would be taxed by the
process while a normal sender would be relatively unburdened
answering only challenges to register with new recipients. The
machine answerable challenge may also include a human answerable
element. In some embodiments, registration is accomplished using a
modified challenge wherein no response is required for
registration.
[0026] As used herein, an email sender may refer to any individual,
device, organization or other entity that is associated with the
sending of an email. Such an entity may be identified in any manner
that is appropriate for a given application. For example, the
sender may be identified by an email address, a domain name, an IP
address or other identifier that identifies a mail server or other
source of the email. When a sender is registered, the registration
may be only valid for the specific email that was challenged in
some cases. More likely, the sender wilt be listed as a valid
sender ("whitelisted"), or at least as a sender that can respond to
challenges. Email from whitelisted senders may be delivered without
further testing or challenges in some cases. The "sender" or entity
that is whitelisted may include just the source email address or
the all addresses in the domain of the source email address or any
other relevant set of entities identified in any useful manner
including by mail server or IP address. The registration of a
sender may be sufficient of itself to authorize delivery of an
email or group of emails, or the registration may be a factor
considered in classifying the email along with other factors.
[0027] FIG. 1 is a block diagram illustrating a challenge/response
system that includes a third party. Mail sender 100 and mail
receiver 102 include software and/or hardware capable of sending
and receiving messages. Mail sender 100 and mail receiver 102 may
be either clients or servers, depending on how a given mail system
is configured. They may be stand alone programs or systems, or plug
ins that are parts of other programs or systems. A message is sent
from mail sender 100 and is received by mail receiver 102 for an
intended recipient. If mail receiver 102 determines that the
message may possibly be spam, it generates a challenge and sends
the challenge to mail sender 100.
[0028] In some embodiments, mail sender 100 automatically processes
the challenge, generates a response, and sends the response to
auditor 104. In some embodiments, mail sender 100 alternatively
lets the user manually answer the challenge, then generates a reply
based on the answer and sends the reply to auditor 104. The auditor
is a third party server that independently verifies the reply and
sends a report to mail receiver 102. In some embodiments, the
auditor resides on the same device as mail receiver 102, and is
able to communicate the verification results to mail receiver
102.
[0029] The auditor provides several improvements to the
challenge/response process in various embodiments. First, the
process of responding to a challenge is simplified in some
embodiments by providing in the challenge one or more links to a
web server maintained by the auditor. For example, multiple links
may be provided, each corresponding to a possible answer. Thus,
only one action, selection of the correct link, is required of the
sender to manually respond to a challenge. In addition, the
auditor, because it sees all challenge/responses, can detect
patterns in responses such as many responses coming from the same
domain and determine if a spammer is attempting to defeat the
system. If such an event is detected, then the auditor can
determine not to authorize delivery in its report to mail receiver
102 or send additional information along with its report to mail
receiver 102 identifying the message as probably spam to facilitate
mail receiver 102 further analyzing the message and making a
correct classification decision. It should be noted that the report
from the auditor can be used as a factor in the mail classification
decision made by the mail receiver and that the auditor report does
not necessarily solely determine the classification.
[0030] In some embodiments, the challenge includes a machine
answerable question that is more easily answered by a machine than
a human. For example, the challenge may include a problem that
requires extensive computation or searching to solve. Mail sender
100 is capable of monitoring incoming challenges and automatically
answering the machine answerable question. Thus, problems
associated with having a person answer the challenge questions are
overcome. However, if spammers could copy the portion of the mail
client that answers challenges and then answer challenges in an
automated fashion without incurring any penalty, they could
possibly defeat the challenge/response system.
[0031] The machine answerable challenge is designed such that to
process and answer the challenge, a nontrivial amount of resources
is consumed. A nontrivial amount of resource is defined as an
amount of resources that is small in a single instance, but when
many instances (on the order of 1000) of such nontrivial amounts
are added together, the collective amount of resource is large
enough to incur significant costs. A nontrivial amount of system
resource may have a small impact on the system in a single instance
but may impact the system's operations significantly when many
instances are added together. As computer systems increase in
speed, the amount of processing that would be required to be
nontrivial would increase as well.
[0032] The nontrivial amount of resources may be adjusted as
desired in a specific system, but generally is greater than the
minimum amount of resource necessary to generate a properly
formatted reply message. The impact of consuming a nontrivial
amount of resource for processing a challenge, or even several
challenges, is relatively small and does not affect a regular user
very much. However, for a spammer who sends out millions of spam
messages, the number of challenges he receives would be on the
order of thousands and therefore the collective resource consumed
in handling the challenges would be significant. By associating a
small cost with every response to a challenge, the improved
challenge/response system makes it more difficult for the spammers
to successfully deliver large amounts of email.
[0033] Many different types of resources are applicable. For
example, the challenge question may be processing intensive, and
the resource consumed is CPU cycles. In one embodiment, the
challenge question asks how many prime factors are in a very large
integer. The algorithm used to calculate the number of prime factor
is computationally intensive, and takes between a fraction of a
second to a few minutes to run. While the machine is answering a
challenge and performing the computations, it may slow down a bit,
but the overall performance of the system does not appear to change
very much to the sender who's using the computer. On the other
hand, if a spammer receives thousands of challenge messages back,
the amount of CPU cycles needed to process the challenges would
significantly slow down the spammer's computer system, thus
hampering the spammer's operations. In different embodiments, the
machine answerable question consumes various types of resource,
such as memory and system resources.
[0034] One advantage of the number of prime Factors question is
that it lends itself to a multiple choice answer. The correct
answer may be, for example, three, and that may also be the answer
to an alternative question that a user may answer relating to the
number of objects in a graphic image. Other computationally
intensive challenges are used, such as asking for two prime factors
of a large number. The amount of resources may be adjusting the
size of the number that must be factored.
[0035] In some embodiments, the resource is money. Small amounts of
money (also referred to as micropayments) are required in the
response process. In one embodiment, the sender's response to a
challenge authorizes the auditor to collect a small micropayment
that would be insignificant unless a very large number of responses
are sent. The system may be structured so that the sender has some
money deposited in an escrow account, and a small amount of money
is deducted every time he answers a challenge. Alternatively, the
response may authorize payment and the sender is billed if a
significant payment accrues.
[0036] In some embodiments, the resource is some type of rights
such as licensing rights. For example, a legal copy of the mail
client may only be able to answer a limited number of challenges
within a period of time. Since it is unlikely that spammers would
actually acquire a large number of legal licenses for the mail
client, they would not be able to legitimately send out large
quantities of spam.
[0037] It should be noted that the various embodiments of
nontrivial response costs may be used with the architecture shown
in FIG. 1 or in an architecture that does not include the third
party auditor. For example, if factoring a large number is used,
the mail receiver may multiply two primes, store the factors along
with an identifier for the email, and wait to determine whether the
proper response is received from the mail sender.
[0038] FIG. 2 is a flowchart illustrating an exemplary
challenge/response process. The process begins when mail sender 100
sends a message to mail receiver 102 (200). Upon receiving the
message, mail receiver 102 sends a challenge to mail sender 100
(202). The challenge includes the question or problem, as well as a
mail identifier so that if a response is received, it can be
matched with the correct mail message and the corresponding
challenge. Meanwhile, the message is kept in a temporary location,
such as a temporary folder.
[0039] Mail sender 100 includes special software or hardware that
enables it to answer the challenge question automatically. Mail
sender 100 receives the challenge (204), processes the challenge to
determine the correct response, and sends a reply that includes the
response and the mail message identifier to the auditor (206). In
different embodiments, the auditor may either be on a separate
device or on the same device as mail receiver 102. In the
embodiment shown, the auditor is third party software that resides
on a server separate from mail receiver 102.
[0040] The auditor receives the reply from mail sender 100 and
performs an auditing process on the reply (208). The auditing
processing of the mail client by the auditor varies for different
embodiments and is described in detail later. The auditor generates
a report based on the processing results and sends the report to
mail receiver 102 (210). In some embodiments, the report is an
email message. The report may also be an http request or may be
sent using any appropriate communication link between the auditor
process, and the email delivery process. The report may include the
status of the sender's address and/or information regarding whether
the answer to the challenge question is correct. In some
embodiments, the auditor leaves the answer verification up to mail
receiver 102 and includes the answer received from mail sender 100
in its report to mail receiver 102. Alternatively, the auditor may
evaluate the response from the mail sender and send either an
authorization for the mail message or a confirmation that the mail
message is spam.
[0041] Based on the report from the auditor, mail receiver 102
processes the original message (212). In some embodiments, the
processing includes verification of the reply received from mail
sender 100. In some embodiments, the processing also includes
classifying the message. For example, if the message is not from a
known spammer and the answer to the challenge is correct, the
original message is moved from the temporary location that stores
the message to the recipient's inbox; otherwise, the message is
considered spam and is deleted. Mail receiver 102 then further
processes the report from the auditor, if necessary, and deletes
the report (214).
[0042] FIG. 3 is a flowchart illustrating how mail sender 100
handles a challenge, according to one embodiment of the present
invention. The process begins when mail sender 100 receives a
message from mail receiver 102 (300). It is then determined whether
the message is a challenge (302), using techniques such as
analyzing the header and/or the body of the message.
[0043] If the message is determined not to be a challenge, the
processing stops (303); otherwise, the message is further
processed. The message is parsed (304), and then analyzed to locate
the question (306). In one embodiment, the challenge is formatted
as a Hypertext Markup Language (HTML) document, and an attribute
marked with an HTML tag <alt> is used to store the question.
The text following the <alt> tag is a large integer, and the
question is to determine the number of prime factors in this large
integer. The mail client then proceeds to answer the question
(308). For questions such as the prime factor question, the mail
client uses built in functions to automatically perform such
computation.
[0044] Since computing the prime factors of a sufficiently large
number is a computationally intensive process, it takes the mail
client a nontrivial amount of time to arrive at the correct answer.
A reply that includes the answer is then formatted (310) and sent
to the auditor (312). In this embodiment, to format the reply, a
universal resource locator (URL) of the auditor is found in the
challenge. An HTTP request that includes the auditor URL, the
message identifier of the challenge, the answer and the address of
the original sender is formatted and sent to the auditor. In other
embodiments, other appropriate protocols are used to format the
response.
[0045] FIG. 4 is a flowchart illustrating the audit process
according to one embodiment of the present invention. In this
embodiment, the auditor is a third party that resides on a server
separate from the mail clients. The process begins when mail sender
100 sends its reply to the auditor (400). The auditor receives the
reply (402), and performs processing including parsing the reply
(404) and locating information within the reply (406).
[0046] In some embodiments, the auditor uses the information to
perform optional verification steps (408 and 410). The message
identifier (ID) of the original message is checked by the auditor
to verify that the reply is not fake (408). The auditor verifies
the answer to the question and determines whether the answer is
correct (410).
[0047] Based on the processed results, the auditor creates a report
and sends the report to mail receiver 102. In one embodiment, the
report is an HTTP request that includes the message identifier, the
original sender, and the answer to the challenge. In other
embodiments, the report gives an instruction to classify the
message or a probability that the message should be classified in a
certain way. The report may also provide further information about
the message and the results of the challenge/response process.
[0048] Specialized software code or a hardware component is used by
mail sender 100 to automatically answer the challenge question.
However, a given message sender may not have a mail client capable
of automatically answering the challenge question. To make the
challenge answerable even when the mail client does not have the
answering feature, in some embodiments, a human answerable
question, such as previously mentioned question concerning the
number of objects in a picture, is also included in the challenge.
As noted above, the correct answer to the human answerable question
may match the correct answer to the machine answerable
question.
[0049] A sender's reply is generated based on the answer selected
by the sender. The reply may be sent to the mail receiver directly,
or sent to a third party auditor that verifies the reply and
generates a report to the mail sender to aid in classifying the
message. In one embodiment, the challenge is formatted as an HTML
document, with answers embedded as URL links. Selecting the correct
answer causes an HTTP request to be sent, where the HTTP request
may include information about the answer, the message identifier of
the original message, information about the original sender, or
combinations thereof. Embedding the answers as links to a web
server maintained by the auditor simplifies the response process
for the mail senders and allows the response to be generated by a
single "click" or selection.
[0050] Many spammers send so many messages that it is not practical
for them to receive responses at all of the email addresses that
they have generated. If an email challenge is sent to in response
to such a spam message, that challenge will often bounce. This fact
is the basis of a null challenge used in one embodiment. The null
challenge simply sends a reply to the mail sender's email
acknowledging receipt of the email or including some other message,
but without inviting a response. If the reply from the mail
receiver is delivered successfully and no error message is received
within a certain period of time, then the mail receiver considers
the challenge to have been successful. Thus, the null challenge
simply pings the mail sender to make sure the from address in the
message is a valid address where mail may be sent. The null
challenge does not provide the same level of security as a
challenge that requires computational resources to generate a
response or a challenge that requires a human response, but since
many spammers do not provide resources to accept reply messages at
all of the addresses they use, the null challenge helps to classify
many messages.
[0051] Other variations of the architecture and processes described
are used in other embodiments. For example, it may not be desirable
to send a challenge directly from the mail receiver to the mail
sender, since that would confirm receipt by the sender. Instead,
the challenge may be sent from the auditor to the sender on behalf
of the receiver. The auditor monitors the response and sends the
report including results or instructions to the mail receiver.
[0052] Improved registration of a sender of electronic messages has
been described. The improved registration system enables mail
senders to respond to challenges efficiently while deterring
spammers. Registration may be accomplished by various techniques,
including challenge and response. In some embodiments, the
challenge includes a machine answerable question that requires a
nontrivial amount of resource to answer The need for a human
response in all cases is eliminated, while still making it
impractical for a spammer to respond to a large number of
challenges. The difficulty of the challenge may be adjusted to an
appropriate level to deter spammers but not require too many
resources from a legitimate sender. The challenge may alternatively
include a human answerable question. An auditor is integrated into
the challenge/response system that simplifies the response process.
The auditor may also provide additional analysis and reporting to
the mail receiver, and may help avoid having the mail receiver
interact directly with the mail sender. In some embodiments, the
challenge requires only that it be accepted by the mail sender and
that an error message not be generated in response to the
challenge.
[0053] Although the foregoing invention has been described in some
detail for purposes of clarity of understanding, it will be
apparent that certain changes and modifications may be practiced
within the scope of the appended claims. It should be noted that
there are many alternative ways of implementing both the process
and apparatus of the present invention. Accordingly, the present
embodiments are to be considered as illustrative and not
restrictive, and the invention is not to be limited to the details
given herein, but may be modified within the scope and equivalents
of the appended claims.
* * * * *