CN1532758A - 协调减少非期望和非征求的电子邮件消息 - Google Patents

协调减少非期望和非征求的电子邮件消息 Download PDF

Info

Publication number
CN1532758A
CN1532758A CNA2004100286823A CN200410028682A CN1532758A CN 1532758 A CN1532758 A CN 1532758A CN A2004100286823 A CNA2004100286823 A CN A2004100286823A CN 200410028682 A CN200410028682 A CN 200410028682A CN 1532758 A CN1532758 A CN 1532758A
Authority
CN
China
Prior art keywords
electronic information
action
data
message
territory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2004100286823A
Other languages
English (en)
Other versions
CN1532758B (zh
Inventor
R��G�����ؽ�ɭ
R·G·阿特金森
��˹��ŵ��
J·T·古德曼
J·M·莱昂
��������ķ������
R·威廉姆斯
K·E·艾哈麦德
H·S·凯茨
ά
R·L·罗斯维特
���dz�
A·V·戈登伯格
�������ֿ�
C·德沃克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US10/683,624 external-priority patent/US7552176B2/en
Priority claimed from US10/684,020 external-priority patent/US7398315B2/en
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN1532758A publication Critical patent/CN1532758A/zh
Application granted granted Critical
Publication of CN1532758B publication Critical patent/CN1532758B/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/60Business processes related to postal services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/212Monitoring or handling of messages using filtering or selective blocking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/48Message addressing, e.g. address format or anonymous messages, aliases

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供来生成输入,它能够被提供给一个消息分类模块以有利于更可靠地电子消息的分类,例如,作为非期望的和/或非征求的。在一个实施例中,发送消息服务器提供一个恰当的对地址确认数据的响应,从而指示减少发送消息服务器使用伪造网络地址的可能性。在另一个实施例中,消息服务器是否被授权为域发送电子消息被作出判断。还在另一个实施例中,电子消息传输策略由一个域坚持被识别。还在一个进一步的实施例中,发送计算机系统扩充计算资源以解决计算难题并且在一个电子消息中包含一个答案文档。接收计算机系统接收该电子消息并且验证该答案文档。

Description

协调减少非期望和非征求的电子邮件消息
相应申请的交叉引用
本申请要求序列号60/454,517的美国临时专利申请的权益,该申请发表于2003年3月12日,标题为“协调减少非期望和非征求的电子邮件消息”。
技术领域
本发明涉及电子邮件技术,特别涉及减少非期望和非征求的电子消息。
背景技术
计算机系统和相应的技术影响社会的各个方面。的确,计算机系统处理信息的能力已转变了我们生活和工作的方式。计算机系统目前普遍地执行大量的任务(例如,字处理、日程安排、数据管理),这些在计算机系统到来之前是由人工完成的。近来,计算机系统相互连接构成了有线的及无线计算机网络,通过它计算机系统能够电子地通信以共享数据。结果,很多任务在计算机系统上完成(例如,语音通信、存取电子邮件、电子会议、Web浏览)包括与一个或多个其它的计算机系统通过有线和/或无线的计算机网络进行电子通信
非期望和非征求的电子邮件(一般称为“SPAM”)随着电子邮件的出现实际上也就出现了。历史上,SPAM的麻烦及负担(虽然可注意到)还是相当小,因此没有形成明显的问题。然而近来,SPAM在用户电子邮箱中出现的比率已明显地增加。大量商业电子邮箱提供来日常观览已不再是不普遍的,它已占它的用户接收到的电子邮件的一半或四分之三都是SPAM。问题已达到一个明显的比例。用户费用、工业上的、和大量显著的时间及金融资源的节省、威胁或许已破坏作为有用的通信媒体的电子邮件的生存能力。
传统上,电子邮件客户端软件和电子邮件服务器端软件的设计起初注重于构成用户的体验,处理它们的电子邮件时的效率、利用、和尽可能地愉快。软件,即使有,也是很少地理解用户可能具有的对给定的电子邮件消息中的实际的兴趣。这样所有接收到的电子邮件消息都被打算作相同的、类似的处理以提交给用户,而不管电子邮件消息的具体内容。不幸的是,这样的电子邮件消息处理方法导致SPAM的表述实际上不可能从合法的电子邮件消息的表述中区别出来(例如,从已知的发送者来的电子消息、用户发送的电子消息的响应、等等)。
相应地,若干种技术被开发于电子邮件消息的归类到SPAM,从而从其它合法的电子邮件消息中区分出SPAM。某些技术检查接收到的电子邮件消息并且根据其中发现的单词或短语来归类接收到的电子邮件消息到SPAM。另外的归类SPAM的技术利用SPAM类电子邮件消息往往发送给大量用户这样一个特点。另一些技术使用收集选票的方法来识别SPAM电子邮件消息。另一个普通的、特别有用的技术是按用户利益管理一个它所认识的通信者的清单,手段通常称为“熟人发信者清单”或“白清单”。
在归类SPAM之后,SPAM电子邮件消息可能不同于合法的电子邮件的处理,例如自动删除电子邮件消息到用户的“SPAM文件夹”或者甚至可能删除SPAM电子邮件消息而用户根本不知道它的发送。
然而,很多传统的电子邮件分类技术在判定电子邮件消息是合法的或者是SPAM时很少依赖于电子邮件消息的内容(例如,电子邮件消息的信头或信体)。这是有问题的,因为打算发送SPAM的实体能够(经常是很容易的)有意识地改换SPAM电子邮件消息使其看上去像合法的电子邮件消息。例如打算发送SPAM的实体配置电子邮件消息的信体使电子邮件过滤器探测的机会被减少。进一步,打算发送SPAM的实体可能改换在电子邮件消息信头部分的特定的地址信息,通常称为“域欺骗”。
域名欺骗包括改变发送者电子邮件地址的域名(即,在电子邮件地址中@之后的文本),以使它看上去电子邮件消息是由特定的实体所发送,而这个特定的实体事实上并没有发送电子邮件消息。这样电子邮件分类技术可能不正确地按照欺骗的域名把电子邮件消息归类到合法的中去,而事实上该电子邮件消息应该被归类到SPAM。相应地,传统电子邮件的分类技术的效率被降低。
典型地,在电子邮件消息从发送邮件服务器传送到接收邮件服务器之前,一种连接,例如“传送控制协议”(“TCP”)连接在发送和接收邮件服务器之间被建立。连接建立能包括交换配置信息,包括网络地址、端口号、和序列号。例如,TCP连接建立包括一个著名的三次握手系列。不幸的是,由于TCP三次握手序列是众听周知的,打算发送SPAM的实体可能伪造网络地址并然后发送配置信息(例如,序列号)假设得到源于伪造的原始网络地址。接收邮件服务器可能不正确地判定源于伪造的原始网络地址的配置信息。
这样,实体可以伪造网络地址并且建立起对于接收邮件服务器的连接接收邮件服务器取得发源于伪造的网络地址。相应地,然后实体可以使用建立起来的连接发送电子邮件消息,看上去具有发源于伪造的网络地址。如果实体然后再欺瞒伪造网络地址的域名,那么将是非常困难(如果不是不可能)的去判定电子邮件消息的真实的原始的网络地址。基于伪造网络地址和欺骗的域名,接收邮件服务器可能会不正确地归类电子邮件消息到合法类。因此,用于协调地减少非期望的和非征求的电子消息的机制将是有帮助的。
发明内容
早期技术情况的上述问题由本发明的原则可以克服,本发明引导出方法、系统、计算机程序产品,以及数据结构用于减少非期望的和非征求的电子消息。根据所要求的功能,一个或多个不同的所产生的输入能被潜在地附带于电子消息中内容的消息数据中,提供给消息分类模块。根据接收的输入,消息分类摸块能够分类电子消息为是合法的或者是非期望的和/或非征求的。当一个多输入(每个输入表示不同的与电子消息的传输相关联的信息)被采用时,消息分类模块能够更可靠地归类电子消息,例如,更可靠地归类电子消息为非期望的和/或非征求的。
在一个实施例中,一个标准化连接交换建立数据被改变,以减少实体从一个伪造的网络地址(即,伪造的“内连协议”(“IP”)地址)发送电子消息的可能性。发送方计算机系统发送连接初始数据(即,端口、序列号、等等)包括一个假设的发送网络地址。接收方计算机系统接收连接初始数据包括该假设的发送地址。接收方计算机系统改变标准的连接建立数据以包括地址有效性数据。接收计算机发送该被改变的连接建立数据到假设的发送的网络地址。
当该假设的发送网络地址附合发送的计算机系统时,发送方计算机系统可能接收该改变的连接建立数据包括该地址有效性数据。相应地,发送方计算机系统能够产生恰当的,响应于以地址有效性数据为基础的数据的连接。另一方面,当假设的发送方网络地址不附合发送的计算机系统时(即,当网络地址是伪造的)该发送计算机系统不接收该改变了的包括地址有效性数据的连接建立数据。
可能是这样:发送方计算机系统发送标准连接响应数据到接收计算机系统(即,在试图模拟从计算机系统来的标准连接响应数据中符合假设的发送地址)。然而,由于发送方计算机系统并不意识到该地址有效数据,发送方计算机系统不能恰当地响应于该地址有效数据。该接收方计算机系统判定相应于假设的发送网络地址的计算机系统是否恰当地响应于地址有效性数据。
在另一个实施例中,名字服务(即“域名服务”)对一个域的入口被配置成对计算机系统包含网络地址(即IP地址),该系统被授权处理此域的输出消息。也就是,名字服务入口配置以计算机系统的网络地址,该系统被授权传输域的电子消息。接收消息服务器接收假设地从发送方域发送的电子消息。该接收消息服务器识别实际的发送方网络地址,它相应于发送电子消息的发送消息服务器(即,从连接建立数据)。
该接收消息服务器查询名字服务器找一个用于发送域的授权发送电子消息的网络地址清单。该接收消息服务器判定实际的发送方网络地址是否包含在授权的网络地址清单之中。接收消息服务器提供判定的结果(例如,发送计算机系统对于域发送电子消息是授权的或未授权的)给消息分类模块。
还在另一个实施例中,“电子消息传输策略”(“ETPS”)被包含在一个对于域名字服务入口中或者被包括在接收电子消息之中。ETP证书能够被用于指引接收计算机系统坚持发送域的该ETP。接收消息服务从发送域接收电子消息。接收消息服务器接收一个或多个相应于发送域的ETP(即,包含在ETP证书中的)。接收消息服务器能够接收ETP。例如,通过查询一个名字服务器或者从接收电子消息中提取ETP。
该接收消息服务器分析有关的ETP。该有关的ETP是指示性的由发送域坚持该ETP。接收消息服务器提供该有关的ETP给消息分类模块。
在再进一步的实施例中,发送计算机系统对接收计算机系统论证计算资源在发送电子消息之前被扩展。当发送计算机系统提供一个相应的结果给计算难题时,扩展的计算资源至少可以由接收计算机系统所评估,计算难题能被配置以使被要求来扩充增加计算资源的发送计算机系统以生成一个相应的结果(即,用一个强制方法识别的结果,)。然而,显著减少的计算资源被扩展在接收计算机系统以验证相应的结果。验证结果的计算基本上由电子消息发送者购买(通过扩展的处理器周期)票子以发送电子消息给电子消息接收者。一个这样的计算难题完成一个答案文档的强制性的计算。
一个发送消息服务器接收将被包含在一个电子消息中的电子消息数据。发送消息服务器生成一个原始的文档,例如,从电子消息数据和/或其它的状态信息的不同部分来的原始文档。难题的输入是从一个或多个电子消息部件产生。难题输入提供给一个难题散列(Hash)算法,它专门设计用于判定非期望和/或非征求电子消息。例如,难题散列算法能利用SHA-1算法的散列子函数,但应用此子函数是以与SHA-1算法不同的次序进行。按不同的次序应用子函数使得难题散列算法在硬件上更难完成并且把它区别于那些为合法需要而设计散列算法硬件加速的问题范围。
在某些实施例中,难题输入是原始的文档。在另一些实施例中,难题输入是由原始文档和其它邮件消息数据计算得到。
发送消息服务器认别一个答案文档,这样,一个回答的散列值(用难题散列算法从答案文档和难题输入(或者是原始文档、或者是难题输入散列值)组合计算而得的)是对计算的难题的散列回答。例如,答案文档可能被用来计算具有指定数量引导零的回答散列值。该服务器中的发送消息发送一个包含消息数据和答案文档的电子消息给一个接收域。
在接收域的接收计算机系统接收电子消息。接收计算机系统重新产生原始的文档,例如,从用与发送计算机系统的消息数据和/或其它的状态信息的不同部分来产生。该接收计算机系统重新计算从原始文档来的难题输入(潜在地使用难题散列算法以计算难题输入散列值)。接收计算机系统判定:验证散列值,它是用难题散列算法从答案文档和难题输入(或者是原始文档,或者是难题输入散列值)组合计算而得到的散列值,是否是指示该计算难题结果的回答(如,验证的散列值是否具有指定数量的引导零)。接收计算机系统提供判定的结果(如,该发送消息服务器提供了可证实的或不可证实的结果,或者提供完全的无结果)给消息分类模块。
附加的本发明的特点和优点将在以下的描述中阐述,并且将从描述中部分发现或可以由发明的实践来学习。本发明的特点和优点可以通过特别在所附的权利要求书中听指出的仪器及组合的方法来实现和获得。本发明的这些和其它的特点从以下的描述和附加的权利要求将变得更加明显,或者可以通过如以下阐明的实践来学习。
附图说明
为了描述能获得本发明的上述内容及其它优点和特点的方式,以上简述的本发明的更严格的描述将参照特定的实施例展现,它在所附的图例中说明。应理解这些例图仅仅描述了本发明的典型的实施例而并不因此而限制它的范围,本发明将通过使用伴随的例图以更加的明确和详细来描述和解释,在其中:
图1表示一个网络结构的例子,它有利于按照本发明的原则减少连结劫持。
图2表示一个例子的方法流程图用于按照本发明的原则减少连结劫持。
图3表示一个网络结构的例子,它有利用于根据本发明识别授权的输出消息服务器。
图4表示一个例子的方法流程图,用于按照本发明识别授权的输出消息服务器。
图5表示一个网络结构的例子,它有利于判定一个发送域的电子消息传送策略和根据本发明对于计算的难题验证结果。
图6表示一个例子的方法流程图,用于按照本发明判定一个发送域的电子消息传送策略。
图7表示一个例子的方法流程图,用于按照本发明验证对于计算的难题的结果。
图8表示一个适合于本发明原则的操作环境。
具体实施方式
本发明的原则涉及用于协调减少非期望和非征求的电子消息的方法、系统、计算机程序产品、和数据结构。连接建立数据的交换被改变以减少和潜在地防止一个实体通过发送包括伪造网络地址的电子消息的危险。接收消息服务器检查授权输出服务器清单以识别授权对域发送电子消息的服务器。发送消息服务器计算以及接收消息服务器验证对计算难题的回答。输出服务器清单检查的结果、识别的电子消息传送策略、和难题回答的验证能够和其它输入一起提供给一个电子消息分类模块。
在本发明范围内的实施例包括计算机可读介质用于执行或具有存储在其上的计算机可执行的指令或数据结构。这样的计算机可读介质可能是任何有效的介质,它可由通用目的或专用目的计算机访问。作为例子,而非限制这样的计算机可读介质能够包括物理存储介质如RAM、ROM、EPROM、CD-ROM或其它光盘存储器、磁盘存储器或其它磁存储设备、或任何其它能被用来执行或贮存所要求的程序代码的介质,程序代码意指计算机可执行指令、计算机可读指令、或数据结构等的格式,并且它能被通用目的或专用目的计算机系统所访问。
当消息通过网络或其它的通信连接(或者硬连线、无线、或者硬连线与无线的组合)传输或提供给一个计算机系统时,该连接被恰当地看作是计算机可读介质。这样,任何这样的连接可恰当地称作计算机可读介质。上述的组合也应被包括在计算机可读介质范围内。计算机可执行或计算机可读指令包括,例如,指令和数据,它们使通用目的计算机系统或专用目的计算机系统执行特定的功能或功能组。计算机可执行或计算机可读指令可能是,例如,二进制的、中间格式指令如汇编语言、或甚至源代码。
在这里的描述和以下权利要求中,“计算机系统”定义为一个或多个硬件模块或者其组合,它们共同工作在电子数据上实行操作。例如,计算机系统的定义包括个人计算机的硬件模块,同样软件模块,例如个人计算机的操作系统。模块的物理布局并不重要。计算机系统可能包括一个或多个通过网络耦合的计算机。同样,计算机系统可能包括一个单一的物理设备(例如移动电话或者个人数字助理“PDA”)其中内部模块(如处理器和存储器)一起工作在电子数据上以实行操作。
熟悉本领域的技术人员应知道,本发明可以在很多类型计算机系统配置的网络计算环境中实践,包括集线器、路由器、无线访问点(“APs”)、无线站点、个人计算机、膝上型计算机、手持式设备、多处理机系统、基于微处理器或可编程消费电器、网络PC、小型计算机、大型计算机、移动电话机、PDA、寻呼机、从及类似者。本发明还能够在分布式系统环境中实践,在其中本地的和远程的计算机系统,它们通过网络连接(或者通过硬连、无线、或者硬连和无线连接的组合),都执行任务。在分布式系统环境中,程序模块可以被定位在本地的或远程的存储器贮存设备之中。
图1表示网络结构100的例子,它有利于按照本发明的原则减少连接劫持。在网络结构100中,发送消息服务器107,接收消息服务器109,和消息服务器184由相应的链路102,104和103各自连接到网络101。类似地,名字服务器108由链路106连接到网络101。链路102,103,104和106以及网络101能够包括系统总线的一部分、局域网的部分(“LAN”)、广域网的一部分(“WAN”)和/或甚至因特网的一部分。如双向箭头108所示,名字服务器108还能够与其它名字服务器185通信用于递归查询之目的。类似地,在网络系统100中的计算机系统能够直接查询其它名字服务器185用于迭代查询的目的(虽然在网络结构100中连接计算机系统100与其它名字服务器185之间的链路并没有被明显地描述)。
消息客户机132和133通过相应的链路136和137分别被连接到接收消息服务器109。消息实体(如,用户或公司)能够使用消息客户机132和133以访问存储在接收消息服务器109中的电子消息。
发送消息服务器107,接收消息服务器109和消息服务器184能够是电子消息服务器,它们使用“传送控制协议”(“TCP”)以建立相互之间以及与其它计算机系统间的连接。发送消息服务器107,接收消息服务器109和消息服务器184也能够使用“简单邮件传送协议”(“SMTP”)以与其它消息服务器以及其它计算机系统之间交换电子邮件消息(如,通过已建立的TCP连接)。名字服务器108能够是“域名系统”(“DNS”)服务器,它传递域名(如,www.test.com)进入“互连协议”(“IP”)地址(如,112.45.123.99)。
名字服务器108能够存储一个或多个记录指示域支持非标准连接建立数据的交换,例如,支持改进的NOOP命令或支持其它的SMTP扩展命令。指示支持非标准连接建立数据的交换的一个记录可以是一个DNS记录,例如,一个特别的NOOP记录、一个TXT记录、或者一组TXT记录。一个TXT记录或者一组TXT记录能够包含文本数据或者以字符形式编码的其它数据,例如,“可扩展标记语言”(“XML”)指令。指引支持非标准连接建立数据交换的记录可以是包括在一个DNS记录集中,它为域指引电子邮件策略。
图2表示方法200的实例流程图,此方法用于根据本发明的原则减少连接劫持。方法200将借助于在网络结构100中表示的部件来描述。方法200包括发送连接初始数据到接收计算机系统的动作,连接初始数据包括一个假设的发送地址(行动201)。行动201能够包括一个发送计算机系统发送连接初始数据给接收计算机系统。连接初始数据能够是用于在发送消息服务器和另一个计算机系统之间的初始化连接建立的数据,例如,TCP或SMTP连接。相应地,连接初始数据也能够包括一个序列号、一个端口号、或者其它为初始化连接建立的相应的命令。
例如,发送消息服务器能够发送连接初始数据111,它包括地址112,到接收消息服务器109。可能是发送消息服务器107试图劫持一个相应于消息服务器184的网络地址(如,一个IP地址)。这样,地址112可能是一个相应于消息服务器184的网络地址。另一方面,发送消息服务器可能并不试图劫持网络地址并且地址112可能是相应于发送消息服务器107的网络地址。连接初始数据111能够被包括在例如,SMTP HELO命令中或者SMTP EHLO命令中,它是从发送消息服务器107发送的。
方法200包括从发送计算机系统接收连接初始数据的动作,该连接初始数据包括假设的发送地址(行动205)。行动205能够包括一个接收服务器系统接收从发送计算机系统来的连接初始数据。接收的连接初始数据能够是用于在接收消息服务器和另一个计算机系统之间的初始化连接建立的数据,例如TCP或SMTP连接。例如,接收消息服务器109能够从接收消息服务器109接收连接初始数据111,它包括地址112。连接初始数据111能够包括在接收消息服务器109所接收的SMTP HELO命令中。
方法200包括改变标准连接建立数据以包括地址有效性数据的行动(行动206)。行动206能够包括接收计算机系统改变标准连接建立数据以包含地址有效性数据。例如接收消息服务器108能够改变标准连接建立数据,它否则将被发送到地址112作为对接收连接初始数据111的响应。当连接初始数据111指示要建立一个TCP连接时,接收消息服务器109能够打断该标准连接响应数据成为多个网络数据包。可改变地,当连接初始数据111指示要建立一个TCP连接时,接收消息服务器109能够取消连接初始数据111。在某些实施例中,为响应接收的连接建立数据111,接收消息服务器109改变连接建立数据以包括一个随机的字符串(或者其它的非标准数据部分)。
方法200包括发送改变的连接建立数据到假设的发送地址的行动(行动207)。行动207能够包括一个接收计算机系统发送改变的连接建立数据到假设的发送地址。例如,当地址112相应于发送消息服务器107时,接收消息服务器109能发送改变的连接建立数据113(它包含地址有效性数据)到发送消息服务器107。另一方面,当地址112相应于消息服务器184时,接收消息服务器109能发送改变的连接建立数据118(它包含地址有效性数据114)到消息服务器184。
改变的连接建立数据113和118能是包括连接建立数据的分组序列的最后一个分组、一个重新发送连接初始数据的请求、或者一个SMTP HELO或SMTP EHLO响应命令,它包含一个随机的字符串(或者其它的非标准数据部分)。这些连接建立数据类型能与标准连接建立数据不同。相应地,存在较少的可能性,指计算机系统试图劫持网络地址能正确地预测对改变的连接建立数据的恰当的响应。
方法200包括接收包括地址有效性数据的改变的连接建立数据的行动(行动202)。行动202能够包括一个发送计算机系统,接收包括地址有效性数据的改变的连接建立数据。例如,发送消息服务器107能从接收消息服务器109接收包括地址有效性数据114的改变的连接建立数据113。
在某些实施例中,没有发送连接初始数据的消息服务器接收改变的连接建立消息。例如,当地址112相应于消息服务器184时,消息服务器184能从接收消息服务器109接收包含地址有效性数据114的改变的连接建立数据118。当接收的改变的连接建立数据118没有响应于相应的连接初始数据被接收时,消息服务器184可能简单地丢弃改变连接建立数118。这样,当发送消息服务器107正试图模拟(和这样劫持)一个从消息服务器184来的连接时,接收消息服务器109可能没有接收到恰当的对地址有效性数据114的响应。例如,接收消息服务器109可能没有接收到返回应包括在地址有效性数据114中的随机字符序列的改进的NOOP命令。
相应地,接收消息服务器109能够查询名字服务器108以判定消息服务器184(相应于地址112的消息服务器)是否支持替换的连接建立数据。入口176可以是一个包括消息服务器184的域的DNS入口。接收消息服务器109能够向入口176查询一个替换的连接建立支持记录138(一个特殊的NOOP支持记录或者一个TXT记录)。当指示为消息服务器184支持替换的连接建立时,例如,改进的NOOP命令,失败于接收对地址有效性数据114的恰当的响应能够表明连接初始数据111没有从消息服务器184发送。
方法200包括基于地址有效性数据生成恰当的连接响应数据的行动(行动203)。行动203能够包括一个发送计算机系统,它基于地址有效性数据生成恰当的连接响应数据。例如,发送消息服务器107能够基于地址有效性数据114生成恰当的连接响应数据117。当连接建立数据113是多个网络分组中的最后一个网络分组时,发送消息服务器107能够产生恰当的序列号以确认最后一个网络分组的接收。当连接建立数据113是一个再发送连接建立数据111的请求时,发送消息服务器107能够再生成连接初始数据111。当连接建立数据是一个包含非标准数据(如,一个随机字符序列)的SMTP HELO响应命令或者是SMTPEHLO响应命令时,发送消息服务器107能够生成一个包含该非标准数据的改进的NOOP命令。
方法200包括发送恰当的连接响应数据给接收计算机系统的行动(行动204)。行动204能够包括该接收计算机系统,它发送恰当的连接响应数据给接收计算机系统。例如,发送消息服务器107能够发送包含恰当的连接响应117的连接响应数据116给接收消息服务器109。恰当的连接响应117能够包括,例如,一个恰当的确认序列号、再生成连接初始数据,或者非标准数据。可能是发送消息服务器107包含一个,例如,从接收到的SMTP HELO命令或SMTPEHLO命令来的,或在改进的NOOP命令中的,随机字符序列。
接收消息服务器109能够接收连接响应数据116。然而,可能是接收消息服务器接收到不包含恰当连接响应的其他的连接响应,或者根本没有接收到连接响应。例如,如果发送消息服务器107试图劫持相应于消息服务器184的网络地址,发送消息服务器107可能没有接收到地址有效性数据114(因为地址有效性数据114发送给消息服务器184)。这样,发送消息服务器107可能试图预测并不基于地址有效性数据114的连接响应数据。相应地,存在增加的机会,发送消息服务器107预测不恰当的(如,标准的)连接响应数据。
方法200包括判定相应于假设的发送地址的计算机系统是否恰当地响应于地址有效性数据的行动(行动208)。行动208能够包括一个接收计算机系统,判定相应于假设的发送地址的计算机系统是否恰当地响应于地址有效性数据。例如,接收消息服务器109能够判定相应于地址112的计算机系统是否恰当地响应于地址有效性数据114。恰当的连接响应117的接收能够向接收消息服务器109指示相应于地址112的计算机系统的确恰当地响应于地址有效性数据114。例如,一个恰当地包含连接建立数据113的网络分组的确认序列号、一个响应于再传输请求的连接初始数据111的再传输、或者一个包含回应随机字符序列的改进的SMTP NOOP命令,可以指示一个恰当的连接响应。当接收消息服务器109接收一个恰当的连接响应时,存在较少的、假设的网络地址被劫持的机会。
响应于非恰当的连接数据,接收消息服务器能够按照假设的发送地址查询一个名字服务器入口。例如,接收消息服务器109能够查询入口176(相应于地址112的入口)以判定消息服务器184是否支持替换连接建立。当被指示消息服务器184支持替换连接建立数据时,例如,改进的NOOP命令,接收到假设从消息服务器184来的非恰当的响应数据能够指示连接初始数据111不是从消息服务器184发送的。
现在参照图3,图3表示一个网络结构300的例子,它有利于根据本发明识别授权的输出消息服务器。在网络结构300中描述的是域305、306和307。域305、306和307用虚线描述表示域305、306和307逻辑地包含被描述在域305、306和307内部的相应的计算机系统。然而,包含在域中的计算机系统的物理位置能够是各不相同的。例如,消息客户机341和消息客户机343能够是被物理地定位在很近邻处(如,同一个房间)或者能够是物理地分隔一个较远的距离(如,不同的大陆)。
在网络结构300中还描述了名字服务器308。名字服务器308通常存储有名字消息,例如,把计算机系统关联到相应的数字网络地址的文字串识别符,以有利于在不同的域中的计算机系统之间的通信。名字服务器308可以是一个“域名系统”(“DNS”)服务器,它翻译域名(如,www.test.com)成为“内连协议”(“IP”)地址(如,102.33.23.112)。
名字服务器308(原文108,译者注)能够存储一个或多个表示域的授权输出消息服务器的记录。一个指示域的授权输出消息服务器的记录能够是一个DNS记录,例如,一个RMX记录、一个TXT记录、或者一个TXT记录集合。TXT记录或者TXT记录集合能够包含文本数据或其他的以文字格式编码的数据,例如XML指令。指向授权输出消息服务器的记录能够是包括DNS记录集,它指出域的电子邮件的策略。
在网络结构300中还描述了网络301。域305、域306、域307、和名字服务器308通过相应的链接391、392、393和394各自地链接到网络301。链接391、392、393和394以及网络301能够包括系统总线部分、局域网络部分(“LAN”)、“广域网络”(“WAN”)部分和/或甚至因特网部分。在网络结构300中描述的域和计算机系统交换电子消息,例如,电子邮件消息、DNS查询和通过所描述的链接的DNS回答。如由双向箭头386所示,名字服务器308还能够与其他名字服务器385为递归查询的目的进行通信。类似地,在网络结构300中的计算机系统可以为了迭代查询的目的而直接地查询其他名字服务器385(虽然,连接在网络300中的其他计算机系统网络到其他名字服务器385的链路并没有被清楚地描述)。
在域307之中,消息客户机341和343通过相应的链路396和397各自连接到消息服务器(原文无“服务器”,译者注)317。消息客户机341和343的每一个都能够包括相应的消息接口模块(未显示),例如,包括电子邮件客户端软件。消息接口模块为消息客户端之一的用户提供一种机制,以访问和观看从消息服务器317来的电子消息。用户(如,John Doe)能够观看发送给电子消息地址(如,jdoe@test2.com)的电子消息,该地址已被设定为和/或授权给该用户使用。
图4表示一个实例方法400的流程图,用于按照本发明识别授权的输出消息服务器。未授权的计算机系统能够替换一个或多个电子消息的字段(它在以下被称为“域欺骗”)以使电子消息看上去已从一个特定的域被传送,而事实上电子消息(如,电子邮件消息)从该特定的域并未传送。相应地,方法400也能被看作是提供一个输入,指出包含在消息中的域名是虚假的可能性。域名是虚假的高可能性可能表示(或者单独地或者与其他输入组合地)电子消息是一个非期望的和/或非征求的电子消息。
方法400结合表示在网络结构300中的部件进行讨论。方法400包括接收假设从发送方域发送电子消息的行动(行动401)。行动401能够包括一个在接收域中的接收消息服务器,接收假设从发送方域发送电子消息。例如,消息服务器317(在域307中)能够从消息服务器316接收电子消息371。电子消息371包括虚假域名372,它指出电子消息371是由域305发送。
一个假设的发送域能够从电子消息所包含的参数值来识别。例如,消息服务器317能够从在电子消息371中(如,从虚假域名372)所包含的参数值来识别域305。假设的发送域能够从假设的发送实体的域部分(如,在“@”字符之后的字符串)来识别。在电子消息中的其他的参数值能够包括实际的发送网络地址。例如,实际的发送网络地址能够被包括在电子消息的“反向-路径”中(它可以被称作为“来”地址信封)。“反向路径”能够被包括在电子消息中,作为发送计算机系统发布一个SMTP“MAIL FROM”命令结果。这样,消息服务器317(原文371,译者注)能够为电子消息371检查这个参数值以试图识别实际的发送网络地址(如,实际的消息服务器316的IP地址)。
然而,还可能实际的发送网络地址被包含在电子消息的第一个“最近-发送者”头部中、在电子消息的“最近-发源”头部的第一个邮件箱中、在电子消息的“发送者”头部中、或者在电子消息的“发源”头部的第一个邮件箱中。相应地,消息服务器317(原文371,译者注)也能够为电子消息371检查这些参数值的每一个(或者是分别地,或者是与检查“反向-路径”参数值相组合地),以试图识别实际发送网络地址(如,消息服务器316的实际IP地址)。由于若干电子消息的若干不同部分被检查,存在增加的电子消息的实际发送网络地址能够被识别的可能性。有些电子邮件的实现需要电子邮件以空“反向-路径”来发送。本发明的实施例能够具有优点,当电子邮件不包括“反向-路径”参数值时也识别实际的发送地址。
基于虚伪的域名372,消息服务器317可能为电子消息371识别域305作为假设的发送域。电子消息没有包含“反向-路径”或没有至少一个列出的头部就可以被认为是非期望的和非征求的。考虑把这样的电子消息作为非期望的和非征求的,就减少了实体有意地取消“反向-路径”和所有的头部以挫败消息分类模块的可能性。
方法400包括检查电子消息的多个参数值以试图识别相应与发送计算机系统的实际的发送方网络地址的行动(行动402)。行动402能够包括一个识别相应于发送计算机系统的实际发送方网络地址用的接收方计算机系统。该接收方计算机系统能够从电子消息371的:例如,一个或多个“反向-路径”中、第一个“最近-发送者”头部中、“最近-发源”头部的第一个邮件箱中、电子消息的“发送者”头部中、或者“发源”头部的第一个邮件箱中,识别实际发送方网络地址。消息服务器317能够识别相应于消息服务器316的实际发送方IP地址。方法400能够用于减少IP地址被欺骗的可能性。
方法400包括向名字服务器查询对于发送方域被授权发送电子消息的网络地址的清单(行动403)。行动403能够包括向名字服务器查询对于发送方域被授权发送电子消息的网络地址的清单的接收计算机系统。例如,消息服务器317能够促使域307对名字服务器308发布名字服务消息375,它包括授权的服务器查询379。名字服务消息375能够包括识别域305的标识符。
名字服务器308能够接收名字服务消息375和相应的授权服务器查询379。在名字服务器308处,入口376可能是相应于域305的DNS入口。入口376能够包含一个或多个对于域305的记录(如,RMX和/或TXT记录),包括授权服务器记录336。接收的TXT记录能够包括XML指令。授权服务器记录336能够包含相应于消息服务器的网络地址(如,IP地址),它被授权为域105发送电子消息。
可能是消息服务器315被设计成是被授权从域305发送电子消息的计算机系统,而消息服务器316被设计成是没有被授权从域305发送电子消息的计算机系统。这样,授权服务器记录336能够是配置成包含相应于消息服务器315的网络地址(并可能其他的计算机系统的网络地址)但不包含相应于消息服务器316的网络地址。相应地,响应于接收名字服务器消息375,名字服务器308能够对域307发送名字服务响应377,它包括授权服务清单378。域307能够接收名字服务响应377(原文337,译者注)并且传送名字服务响应377给消息服务器317。
方法400包括判定发送方网络地址是否被授权对于发送域发送输出电子消息的行动(行动404)。行动404能够包括判定发送方网络地址是否被授权对于发送域发送输出电子消息的接收计算机系统。例如,消息服务器317能够判定相应于消息服务器316的网络地址是否被授权对于发送域305发送电子消息。
接收的计算机系统能够比较实际的发送方网络地址和包含在授权服务器清单中的网络地址,该清单用于判定实际的发送方网络地址是否被授权。例如,消息服务器317能够比较相应于消息服务器316的网络地址和包含在授权服务器清单378中的网络地址,该清单用于判定消息服务器316是否被授权对域305发送电子消息。当实际的发送方网络地址没有被包含在对于域的授权网络地址清单中时,表明该发送方计算机系统没有如同由域假设的被授权发送电子消息。相应地,由于消息服务器316通过在电子消息371中包含虚假的域名372欺骗域305,消息服务器316能够被发现是一个未授权的计算机系统。由一个未授权的计算机系统传输的电子消息可能指示该消息是一个非期望的和非征求的电子消息。
另一方面,当实际的发送方网络地址被包含在对于域的授权网络地址清单中时,表明发送方计算机系统是如同由域假设的被授权传送电子消息。例如,消息服务器315可能合法地在电子消息中包含域305并且能够被发现是一个授权的计算机系统。由一个授权的计算机系统(如消息服务器315)传输的电子消息可能指示该消息是一个合法的电子消息。
方法400包括把判定的结果提供给消息分类模块的行动(行动405)。消息分类模块能够基于提供给消息分类模块的输入把电子消息归类为合法的、非期望的、和/或非征求的。例如,消息服务器317能够提供关于消息服务器计算机系统316(非授权)或者关于消息服务器315(授权)的判定结果给消息分类模块328。基于所提供的、指出消息服务器316是非授权(或者单独,或者与其他的输入组合指出)的结果,电子邮件分类模块328可能把电子消息371归类为非期望的和/或非征求的类。
在某些实施例中,消息分类模块驻留在消息客户机上。例如,消息客户机343包含消息分类模块353。这样,适当的时候,消息服务器317能够交替地对电子邮件分类模块353提供判定的结果(关于发送计算机系统对于域传送电子消息的授权)。
现在参照图5,图5表示一个网络结构500的实例,它利用识别发送域的电子消息传送策略和验证相应于本发明难题的计算结果。在网络结构500中描述的是域506和507。域506和507采用虚线描述表示域506和507逻辑上包含在域506和507内部表示的计算机系统。然而,类似于网络结构300,包含在网络结构500的域中的计算机系统的位置能够是彼此不同的。
在网络结构500中还描述了名字服务器508。名字服务器508通常存储名字消息,例如,把用于计算机系统的文字串识别符关联到相应的数字网络地址,以有利于不同域中的计算机系统之间的通信。名字服务器508可能是“域名系统”(“DNS”)服务器,它翻译域名(如,www.test1.com)成为“内连协议”(“IP”)地址(如,119.46.122.87)。名字服务器508还存储了记录,指明域遵守一个或几个“电子消息传送协议”的记录(以下称为“ETPs”),和域能够解决和/或验证计算难题的结果。
ETPs能够被包括在一个DNS记录中,例如,一个专门的ETP记录中、一个TXT记录中、或者TXT记录集中。一个TXT记录或者TXT记录集能够包含文本数据或者按照文字格式编码的其他数据,例如,XML指令。识别ETPs的记录能够被包含在一个DNS记录集中,它指出一个域的电子邮件策略。ETPs能够被包括在存在的授权框架和技术中以重现与电子消息策略相关联的证明。例如,ETPs能够被包括在存储在DNS记录中的:X.509证书、“可扩展权限标记语言”(“XrML”)许可证、或Kerberos PACs等之中。
一个ETP能够包括参照文本,它绑定到域并且能够通过共同的信任源发布。例如,发布的X.509证书能够包括一个与域匹配的路由地址。这将提供某些已表明的对域的策略的绑定和以上的从DNS检索的策略。
计算难题支持指示器能够被包括在DNS记录中,例如,一个特定的“难题支持”记录、一个TXT记录、或者TXT记录集。一个TXT记录或TXT记录集能够包含文本数据或者文字格式的其他记录,例如,XML指令。指明支持计算难题的记录能够被包含在指明用于域的电子邮件策略的DNS记录集中。
而且在网络结构500中描述的是网络501。域506、域507和名字服务器508由相应的链接592、593和594分别地连接网络501。链接592、593和594以及网络501能够包含系统总线部分、局域网(“LAN”)部分、广域网(“WAN”)部分和/或甚至因特网部分。在网络结构500中描述的域和计算机系统能够通过所述的链接交换电子消息,例如,电子邮件消息、DNS查询、和DNS回答(包括资源记录)。如双向箭头586所示,名字服务器508也能够和其他为递归查询目的的名字服务器585通信。类似地,在网络结构500中的计算机系统能够为了迭代查询的目的而直接地查询其他名字服务器585(尽管在结构500中其他计算机系统网络与名字服务器585的连接的链路并没有明显地被表示)。
在域507中,邮件客户机541、542、和543通过相应的链接596、597和598分别地连接到消息服务器517。每一个邮件客户机541、542、和543能够包括相应的电子消息接口模块(未示出),例如,在电子邮件客户机中包含的软件。电子消息接口模块提供一种机制供一个邮件客户机的用户访问和浏览电子消息。一个用户(如,Jane Smith)能够浏览电子消息发送一个电子消息地址(如,jsmith@test12.net),它被设置为和/或授权由用户使用。
图6表示方法600的一个实例流程图,该方法用于根据本发明决定发送域的电子消息传输策略。可能是一个域发送电子消息遵守一个或多个ETPs。一个域的对特定ETPs的遵循可能指出一个减少的、域发送(或者允许其他的域发送)非期望的和/或非征求的电子消息的可能性。另一方面,一个域的对特定ETPs的不遵循可能指出一个增加的、域发送(或者允许其他的域发送)非期望的和/或非征求的电子消息的可能性。在某些实施例中,在判定一个实际的发送网络地址没有被劫持(如,按照相应的方法200)之后和在判定一个发送域没有被欺骗(如,按照相应的方法400)之后可能能恰当地识别一个域的ETPs。
方法600将论及在网络结构500中表示的组件来进行讨论。方法600包括从发送域接收电子消息的行动(行动601)。行动601能够包括一个接收计算机系统,接收从发送域来的电子消息(如,一个电子邮件消息)。例如,消息服务器517能够接收从消息服务器516来的电子消息575(如,一个电子邮件消息)。电子消息575有选择地包括ETP证书576,它重申由域506遵守的ETPs。
方法600包括一个功能性的面向结果的步骤,用于识别由发送方域所遵守的相应的电子消息传送策略(如在某些预定义标准中所包括的)(步骤605)。步骤605能够包括全部相应于识别由发送方域所遵守的相应的电子消息传送策略的行动。然而,在图6所表示的方法中,步骤605包括相应的接收一个或多个相应于发送方域的电子消息传送策略的行动(行动602)。
行动602能够包括一个接收计算机系统接收一个或多个相应于发送方域的电子消息传送策略。例如,消息服务器517能够接收电子消息575,它包括ETP证书576。ETP证书576能够是一个或多个X.509证书,它表明由域506遵守的EPT。
在某些实施例中,一个“安全多目标因特网邮件扩展”(“S/MIME消息)电子消息(它在以下可能被称为ETP S/MIME消息)被签署,以用于传送合理的电子消息行为的策略。一个ETP S/MIME能够是一个S/MIMEv3compiant电子消息。一个ETP S/MIME能够是一种多部分/签署的格式和能够包括两个MIME部分。第一个MIME部分能够包括要被签署的电子消息部分。第二个MIME部分能够包括一个分离的第一个MIME部分的签名。分离的签名能够在ETP证书的支持下创建。ETP S/MIME消息能够以“全-在-头部”的模式实现,该模式提供较高的签署邮件对“非-签名-意识”消息系统的向后兼容性。
电子消息收件人能够识别违反他们的ETP协定的实体。相应地,电子消息收件人可以试图判定是不是在一个ETP S/MIME中的证书已经被废除。至少存在四种方式让电子消息收件人能够试图判定是否证书已经被废除。在一个实施例中,电子消息收件人向证书发布者询问是否证书已经被废除。在另一个实施例中,电子消息收件人维护一个被废除证书的清单,周期地由信任的证书发布者更新该清单。当一个ETP S/MIME消息被接收时,电子消息收件人能够检查该清单以判定是否包含的证书已经被废除。在又一个实施例中,电子消息收件人维护一个所有当前信任证书的清单。当一个ETP S/MIME消息被接收时,电子消息收件人能够检查该清单以判定是否包含的证书是被信任的。
在一个进一步的实施例中,新近性检验被包含在与包含的证书一起的ETPS/MIME消息中。例如,一个ETP S/MIME消息能够包含一个从发布者来的证书,指明在某些(潜在地是当前)时间帧(如,1分钟或15分钟)期间,该证书仍然有效。如果电子消息收件人在该时间帧期间接收该ETP S/MIME消息,该证书被认为是新近的。另一方面,如果电子消息收件人在该时间帧之后的若干明显数量时间才接收该ETP S/MIME消息,电子消息收件人可能采用其他的机制之一,例如,询问该证书发布者以了解该证书是否已被废除。
在一个ETP S/MIME消息中包含新近性检验对于电子消息收件人可能具有高效率的优点。例如,在一个ETP S/MIME消息中包含新近性检验能够明显地减少电子消息收件人启动的询问的次数。在一个ETP S/MIME消息中包含新近性检验还具有有限的(如果有)电子消息发送者的冲突。例如,电子消息的发送能够被配置成仅仅偶然地(如,每15分钟)请求一个新的新近性检验,从而它能够被包含在任何号电子消息中。这样,对证书发布者询问的次数减少了一个较大的比率。
消息服务器517也能够引起一个名字服务器对于相应于发送方域的ETPs的查询。例如,消息服务器517能够引起域507发布名字服务器消息585,它包含ETP查询586。名字服务器消息585可能是一个恰当的DNS查询消息。名字服务器消息585能够包含一个识别域506的标识符。
名字服务器508能够接收名字服务消息585并且相应地处理ETP询问586。在名字服务器508上,入口576可能是一个相应于域506的DNS入口。入口576能够包含一个或多个对于域305的记录(如,专门的ETP记录和/或一个TXT记录),它包含证书记录556。一个TXT记录或者TXT记录集能够包含XML指令。证书记录556能够包含一个或多个ETP证书(例如,X.509证书),它表明ETPs由域506坚持。
可能是域506被配置成并不坚持于ETPs。这样,入口576可能包含电子消息配置信息指明域506不是坚持ETPs的。相应地证书记录556可以不包含任何证书,或者证书556甚至不包括在入口576中。当域506并不坚持于ETPs时,名字服务器响应514能够被配置成指示域506不坚持于ETPs。相应地,在对接收的名字服务器消息585的响应中,名字服务器508能够发送名字服务器响应513,它带有域506不支持ETPs的指示。
在另一方面,可能是域506被配置成坚持于一个或多个ETPs。这样,证书记录556能够被配置成带有包含一个或多个ETPs的证书。相应地,在对接收的名字服务器消息585的响应中,名字服务器508能够发送名字服务器响应513,它包含域507的ETP证书514。域507能够接收名字服务器响应513并且传递名字服务器响应给消息服务器响应给服务器517。
步骤605包括从一个或多个接收的电子消息传输策略暂停有关的电子消息传输策略的相应的行动(行动603)。行动603能够包括一个接收计算机系统,它从一个或多个接收的电子消息传输策略暂停有关的电子消息传输策略。例如,消息服务器517能够为域506暂停从ETP证书576和/或ETP证书514来的ETP。某些ETPs可能被若干表明什么是合理的消息传输行为的组织所认同。
策略能够基于对特定的组织群什么是恰当的行为来开发。然而,并不存在要求任何一组策略普遍地被所有的消息用户所坚持。虽然,一个域对某些策略的坚持,例如,以相当低的速率发送电子消息和/或制止对大数量地址发送电子消息,可能表示从域来的子消息具有较少的非期望的和/或非征求的可能性。另一方面,对这些策略的非坚持可能表示从域来的电子消息具有较大的非期望的和/或非征求的可能性。
方法600包括对消息分类模块提供有关的电子消息传输策略的行动(行动604)。行动604能够包括一个接收计算机系统,它对消息分类模块提供有关的电子消息传输策略。例如消息服务器517能够对消息分类模块529提供用于域506的有关的ETPs。基于有关的ETPs(或者单独地,或者和其它提供的输入相组合地),消息分类模块529可能归类电子消息575为合法的电子消息或者非期望的和/或非征求的电子消息。作为替换,当恰当时,消息服务器517能够向消息分类模块553提供用于域106的有关的ETPs。基于有关的ETPs(或者单独地,或者和其它提够的输入相组合地),消息分类模块553能够归类电子消息575为合法的电子消息或者为非期望的和/或非征求的电子消息。
图7表示方法700的实例性流程图,该方法验证相应于本发明的计算难题的结果。计算难题的完成能够指示发送计算机系统在发送电子消息之前扩展若干个处理器周期。提供扩展处理器周期的指示是发送计算机系统没有以相当高的速率发送出电子消息的证据和消费财政资源的证据。这样,从发送计算机系统来的电子消息潜在地具有较少的为非期望的和/或非征求的可能性。
方法700将相关于在网络结构500中描绘的计算机系统和模块来描述。方法700包括接收将被包含在一个电子消息中的电子消息数据的行动(行动701)。行动701能够包括一个发送消息服务器或者一个发送消息客户机,它们接收将被包含在一个电子消息(如,电子邮件消息)中的电子消息数据。消息数据能够包括任何被包括在电子消息的头部或主体部分的数据。例如,连接在消息服务器516上的一个消息客户机能够接收消息数据(如,电子邮件、一个主题、一个主体等等),它们被包含在将被递送电子消息545的头部和/或主体部分之中。相应地,消息服务器516能够在相应的电子消息被递送出去之前提取电子消息数据的部分(如,消息数据546的部分)用于处理。
在计算出一个计算难题结果之前,能够验证接收方域是被配置成用于对计算难题的结果验证的。可能是接收计算机系统,例如,接收消息服务器,在名字入口处通告它被配置成用于对计算难题的结果验证。例如,可能是入口577为域507储存名字信息。包括的入口577是回答验证支持记录537,它指出域507被配置用于验证对计算难题的回答。回答验证支持记录537能够是DNS记录,例如,一个专门的“难题支持”记录、一个TXT记录、或者一个TXT记录集。一个TXT记录或TXT记录集包含文本数据或其它以文字格式编码的数据,例如,XML指令。
相应地,消息服务器516能够询问名字服务器计算机系统508(如,通过发送一个恰当的DNS查询消息)以判定域507是否能够验证计算难题的结果。在对查询的响应中,名字服务器508能够返回一个包括回答验证支持记录537的指示(如,通过发送一个恰当的DNS响应消息),它是在域506处被接收。域506能够恰当地传送该接收到的指示给消息服务器516。
方法700包括从状态信息的不同部分产生一个初始文档的行动(行动702)。行动702能够包括一个发送计算机系统,它从状态信息不同部分产生一个初始文档。例如,消息服务器516能够从消息数据546的不同部分产生一个初始文档。在某些实施例中,从消息数据的不同部分产生的一个初始文档能够包括从一个电子消息提取消息数据的不同部分。可能是一个发送消息服务器接收将传送给接收消息服务器的电子消息(如,从一个消息客户机)。例如,消息服务器516能够接收包含将被传送给消息服务器517的消息数据546的电子消息。
消息服务器516能够提取被包括在电子消息545中的消息数据546的部分。例如,消息服务器516能够提取被包含在电子消息545的以下字段中的数据部分,这些字段是:“从”字段、“到”字段、“非之前”字段、“非之后”字段、“数据”字段、“主体”字段、“连接”字段、“主题”字段、和/或“消息-ID”字段等等。提取数据部分能够包括提取实际上任何数据类型,例如,文本数据、图形数据、“统一资源识别符”(“URI”)数据、可执行数据等等,它们能被包括在电子消息之中。然后消息服务器516能够串接被提取的部分以产生一个初始文档。
初始文档也能由状态信息产生,例如,消息唯一的现时符(nonce)(如,随机产生的号码或字串)。例如,消息服务器516能够产生唯一的128位的随机字串用于包括在电子消息545之中。一个现时符能够被结合到产生初始文档的消息数据的一个或多个部分。
方法700包括产生从一个或多个电子消息的部件来的一个难题输入的行动(行动703)。行动703能够包括一个发送计算机系统,产生从一个或多个电子消息部件来的一个难题输入。例如,难题计算模块528能够产生从一个或多个电子消息545的部件(如,消息主体、消息附件、和消息头部)来的难题输入。产生一个难题输入能够包括:在电子消息的部件上提取、散列、连接、或完成其它操纵。
在某些实施例中,难题输入是一个初始文档。在其它的实施例中,难题输入能够是一个由所提供的初始文档计算的难题输入散列值,作为对初始散列算法的输入。一个初始散列算法能够被利用来产生统一长度输入导致多个统一的难题解决时间。一个初始散列算法能够是在计算答案文档时使用的难题散列算法。
一个初始散列算法能够是特别地设计用于判定非期望和/或非征求电子消息中。可能是散列算法,例如,SHA-1算法,包括多个子函数用于在散列值建立期间的不同时间的输入的不同的相应部分。本发明的实施例通过改变相应的在子函数及输入部分之间的标准来改变散列算法的标准操作。同样的子函数能够被利用,然而该子函数将被用于不同的数据部分,而不是在标准操作期间它们必须被应用。例如,一个难题散列算法能够利用SHA-1算法的散列子函数,但应用该子函数是以与SHA-1算法不同的次序进行。按不同的次序应用子函数使难题散列算法更难在硬件中实现。例如,SHA-1根据下列公式指定80个子函数:
ft(B,C,D)=(B AND C)OR((NOT B)AND D)              (0≤t≤19)
ft(B,C,D)=B XOR C XOR D                          (20≤t≤39)
ft(B,C,D)=(B AND C)OR(B AND D)OR(C AND D)        (40≤t≤59)
ft(B,C,D)=B XOR C XOR D                          (60≤t≤79)
该改变SHA-1算法根据下列公式指定80个子函数:
ft(B,C,D)=B XOR C XOR D                          (0≤t≤19)
ft(B,C,D)=(B AND C)OR((NOT B)AND D)              (20≤t≤39)
ft(B,C,D)=B XOR C XOR D                          (40≤t≤59)
ft(B,C,D)=(B AND C)OR(B AND D)OR(C AND D)        (60≤t≤79)
表1表示文本数据和与它们相应的改变的SHA-1散列输入一起的例子:
测试数据                                                 改变的SHA-1散列输出
字串″abc″                                                     6092C49D
                                                                8092E074
                                                                4B14298E
                                                                12E00ED2
                                                                DE4611A0
字串                                                            7D3E33E1
″abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq″    8BB7F842
                                                                9055CB29
                                                                40BE227F
                                                                CF562276
由1,000,000个a组成的字串                                        21F4D548
                                                                88AF926B
                                                                9DF19A69
                                                                EC753DDD
                                                                850D7E20
空字串                                                          D212F400
                                                                92F2D374
                                                                E86AB4E4
                                                                C1BE75D3
                                                                7853FDBA
方法700包括识别答案文档,这样,由答案文档和难题输入组合来的回答散列值是用于计算难题的回答值的行动(行动704)。行动704能够包括一个发送计算机系统用于识别答案文档,这样,由答案文档和难题输入组合来的回答散列值是用于计算难题的回答值。例如,难题计算模块528能够识别答案文档,它导致是计算难题的回答的回答散列值。
在一个实施例中,计算难题是用于识别当与难题输入组合时的答案文档,(如,该初始文档或一个难题输入散列值)并且该答案文档和难题输入的组合然后被散列化,(如,使用改变的SHA-1算法)导致在一个多二进制位位置中的具有指定值的散列值(如,二进制为的位置分散在整个的结果散列值之中)。例如,计算难题可能是识别一个答案文档导致在散列值中在第二个位的位置上有一个“1”的值,而在第十三及五十四位的位置上有“0”的值。然而,本发明的实施例并不限制任何特定的多个二进制位的位置或指定值。
在另一个指定的实现中,计算难题是用于识别当预先考虑对于难题输入时的一个答案文档,并且该答案文档与难题输入的连接然后是被散列,导致散列值在至少开头的n个二进制位中具有”0”值(如,首先按次序取每个字节的最高有效位)。例如,计算难题可能是用于识别一个答案文档它导致散列值在首先的16位中具有“0”值。一般而言,识别一个答案文档能够包括构成H(“答案文档”°“难题输入”)。更特殊地,识别一个答案文档可能包括构成H(“答案文档”°“初始文档”)或H(“答案文档”°H(“初始文档”))。对于某些被认为足够大的n,可能是除了强力而无其他方法能满足于识别答案文档。
为了减少在希望的时间内解决计算难题的差异,第多个位的位置(“集A”)和指定的在“集A”中的每一个位的值被选择。第二个不连接的多个位的位置(“集B”)也被选择。难题结果是一个具有指定大小的多答案文档(“集S”),那里每个答案文档,当与难题输入和散列结合时在“集A”的每个位的位置上具有该指定的值并且适用于在“集B”的每个位的位置中的用于每个其他答案文档的相应的散列值。
在另一个指定的差异减少的实现中,“集A”是一个结果散列值的前缀,并且“集B”是一个结果散列值的后缀。这样,计算难题可能是用于识别一个“集S”,这样,当每个回答文件是为难题输入准备好时,并且每个答案文档和难题输入的结合然后被散列,导致散列值至少在第一个是n个位(“集A”)中具有“0”值,并且具有同样的最后m个位(“集B”)。例如,计算难题能够是用于识别16个答案文档,它导致散列值具有在第一个24位中的“0”值和在最后12位其中的同样的值(或“0”或“1”)。也可改变,第一个24位和/或该最后12位能够是一个指定的内部分散的位图案的“0”值和“1”值的。
该希望解决计算难题的时间能够通过改变集A、集B、和/或集S的大小而被配置。集A的大小能够被改变以获得一个恰当的希望的解决时间。集B的大小能够被改变以获得一个恰当的解答差异。配置一个具有较长的解答时间的计算问题会导致相应的计算资源的增加,该资源被扩展用于识别解答。另一方面,配置一个具有较短的解答时间的计算问题会导致相应的计算资源的减少,该资源被扩展用于识别解答。消息服务器(如,消息服务器516和517)能够同意一个指定的解答时间或者能够询问相应的源记录以识别一个指定的解答时间。例如,消息服务器516能够查询入口577以识别一个指定的对于域507的解答时间。
在某些实施例中,一个单路难题散列函数被利用。可能是一个单路难题散列函数特别地被设计用于判定非期望和非征求电子消息中。一个单路难题散列函数能够是一个已知的单路散列的变种,以便打算或防止硬件加速。更特别地,单路难题散列函数能够包括一个显著的除法操作的数量,而除法操作是很难被硬件加速的。
发送计算机系统能够包括一个与在电子消息中的电子消息数据一起的识别的答案文档(或者多个答案文档)。例如,消息服务器516能够包括与在电子消息545(如,电子邮件消息)中的电子消息数据546一起的答案文档547。方法700包括发送包括识别答案文档和该电子消息数据的一个电子消息给接收方域的行动(行动705)。行动705能够包括一个发送计算机系统,它发送包括识别答案文档(或答案文档)和该电子消息数据的一个电子消息给接收方域。例如,消息服务器516能够发送电子消息545,它包括答案文档547和消息数据546,给域507。域507能够传送电子消息545给消息服务器517。虽然电子消息545被描述为包括一个单一的答案文档(答案文档547),可能是电子消息545包括一个或多个附加的答案文档。
方法700包括一个接收包括电子消息数据和答案文档的电子消息的行动(行动706)。行动706能够包括一个接收计算机系统,它接收包括电子消息数据和一个答案文档(或多个答案文档)的电子消息。例如,消息服务器517能够接收电子信息545,它包括答案文档547和消息数据546。当一个电子消息将被递送给一个特殊的消息客户机时,消息服务器能够向前传递该电子消息给该消息客户机。例如,在恰当时,消息服务器517能够传送电子消息545给消息客户机542。消息客户机542能够接收电子消息545。
方法700包括从状态信息的不同部分再产生初始文档的行动(行动707)。行动707能够包括一个接收计算机系统,它从状态信息的不同部分再产生一个初始文档。例如,回答验证模块527和/或回答验证模块552能够从包含在电子消息454(如,一个现时符(nonce))中的消息数据546或其它状态信息的部分再产生初始文档。类似于初始文档的计算,回答验证模块527和/或回答验证模块552能够提取和结合消息数据546或其它状态信息的部分以再产生初始文档。
方法700包括再计算从一个或多个电子消息的部件来的难题输入的行动(行动708)。难题输入能够被再计算以成为初始文档或一个难题输入散列值,计算是采用在发送计算机系统上使用的同样的难题散列算法(如,一个改变的SHA-1算法)。例如,回答验证模块527和/或回答验证模块552能够使用由难题计算模块528使用的同样的难题散列算法来重新计算从再产生的初始文档来的难题输入散列值。这样,在发送计算机系统上计算的难题输入在接收计算机系统上被重新计算。
方法700包括一个判定,从答案文档和难题输入的组合而计算的验证散列值是否是一个表示对计算难题结果的回答值的行动(行动709)。行动709能够包括一个接收计算机系统,它判定从答案文档和难题输入的组合而计算的验证散列值是否是一个表示对计算难题结果的回答值。例如,回答验证模块527和/或回答验证模块522能够利用通用公式H(“答案文档”°“难题输入”)以判定验证的散列值是否指示结果。当该验证的散列值在多个分散在全部验证的散列值中的固定位的位置上(如,开头的n个位)具有指定的值时,一个验证的散列值能够是结果的指示。
在某些实施例中,多个验证的散列值从多个答案文档和难题输入的组合来计算。在这些实施例中,当验证散列值时,在开始的多个位的位置上(如,在散列值前缀中)具有指定的值并且在第二个多个位的位置中(如,在散列值后缀中)具有从其他答案文档导出的与其他验证散列值相等的值时,一个验证的散列值能够是结果的指示。
当一个验证散列值是一个计算问题的结果时,扩展的计算资源至少能够被估计。这就是,对计算难题的可计算的结果能够对接收计算机系统指明发送计算机系统扩展的处理器周期和存储资源以强制手段来解决计算难题。例如,在验证散列值是基于消息数据546对计算难题的结果时,它对回答验证模块527和/或回答验证模块552表明消息服务器516扩展了处理器周期。另一方面,当一个验证散列值不是一个计算问题的结果时,它表明发送计算机系统潜在地在强制手段以解决计算难题中没有扩展处理器周期。例如,当验证散列值不是基于消息数据546对计算难题的结果时,它对回答验证模块527和/或回答验证模块552表明消息服务器516没有潜在地扩展处理器周期。
方法700包括对消息分类模块提供判定结果的行动(行动710)。行动710包括一个接收计算机系统,它对消息分类模块提供判定的结果。例如,消息服务器517能够有关于消息服务器516(指明消息服务器516有或没有扩展处理器周期)对信息分类模块529提供判定的结果。基于所提供的指明消息服务器516确实扩展了计算资源(或单独或与其它提供的输入组合)的判定,消息分类模块529可以归类电子信息545为合法的。另一方面,基于所提供的指明消息服务器516没有潜在地扩展计算资源(或单独或与其它提供的输入组合)的判定,消息分类模块529可以归类电子消息545为非期望和/或非征求的。当恰当时可改变,消息服务器517能够提供指明消息服务器516有或者潜在地没有扩展计算资源的结果给消息分类模块553。
在某些本发明的实施例中,或者域支持指定的ETPs的指示或者发送计算机系统已解决了计算难题的指示,都提供了足够的电子消息是合法的证据。例如,可能是发送实体缺乏财政资源或者打算利用ETP证书。然而,发送实体可能仍然打算对接收计算机系统指出电子消息是合法的。这样,发送实体能够配置一个发送计算机系统以计算一个计算难题的答案并且在电子消息中包括答案文档。
接收计算机系统能够被配置以试图为与发送实体关联的域识别ETP证书。该接收计算机实体能够被进一步配置用以识别计算难题的答案。这样,该接收计算机系统可以为相应于与发送实体关联的域ETP证书初始地暂停电子消息或者询问一个名字服务器。如果ETP证书被识别并且该ETP证书指明对特定ETPs的支持,对特定ETPs的支持能够是电子消息是合法的足够的证据。然而,如果没有ETP证书被验证或者验证的ETP证书不指明对特定ETPs的支持,该接收计算机系统能够接着顺序地试图验证一个包括的计算难题的结果。
一个方案能够被用于限制电子消息信息的含义。以下实例XML方案能够被用来限制与该域相关联的电子消息信息的含义:
<?xml version=″1.0″encoding=″UTF-8″?>
<xs:schema targetNamespace=″http://lessspam.org/1″xmlns=″http://lessspam.org/1″
xmlns:xs=″http://www.w3.org/2001/XMLSchema″elementFormDefault=″qualified″
attributeFormDefault=″unqualified″blockDefault=″#all″>
 <xs:element name=″emailPolicy″>
  <xs:complexType>
   <xs:sequence>
    <xs:element name=″inbound″minOccurs=″0″>
     <xs:annotation>
      <xs:documentation>Policies regarding mail that is received by the entity.
            </xs:documentation>
           </xs:annotation>
           <xs:complexType>
            <xs:choice minOccurs=″0″maxOccurs=″unbounded″>
             <xs:element name=″hashedSpam″>
              <xs:complexType>
               <xs:attribute name=″minDifficulty″type=″xs:nonNegativeInteger″>
                <xs:annotation>
                 <xs:documentation>The minimum acceptable level of difficultyin
                     the puzzle solution.
                 </xs:documentation>
                </xs:annotation>
               </xs:attribute>
               <xs:attribute name=″maxIntervalWidth″type=″xs:duration″>
                <xs:annotation>
                 <xs:documentation>The maximum acceptable width of the time
                     interval parameter of the puzzle.
                  </xs:documentation>
                </xs:annotation>
               </xs:attribute>
               <xs:attribute name=″dateRequired″type=″xs:boolean″default=″false″>
                <xs:annotation>
                 <xs:documentation>Whether a the inclusion of a date parameteris
                     required(it is always acceptable if present).
                  </xs:documentation>
                </xs:annotation>
               </xs:attribute>
               <xs:attribute name=″subjectRequired″type=″xs:boolean″
                       default=″false″>
             <xs:annotation>
              <xs:documentation>Whether a the inclusion of a subjectparameter
                   is required(it is always acceptable if present).
                </xs:documentation>
             </xs:annotation>
           </xs:attribute>
            <xs:anyAttribute namespace=″##other″processContents=″lax″/>
         </xs:complexType>
       </xs:element>
      <xs:any namespace=″##other″processContents=″lax″/>
     </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name=″outbound″minOccurs=″0″>
    <xs:annotation>
     <xs:documentation>Policies regarding mail that is sent from the entity.
     </xs:documentation>
    </xs:annotation>
    <xs:complexType>
     <xs:choice minOccurs=″0″maxOccurs=″unbounded″>
      <xs:element name=″mailServer″>
       <xs:annotation>
        <xs:documentation>One group of outbound mail servers.The
             usesEnhancedSMTPNoop attribute,if present indicates theirknown
             behaviour with respect to that feature.
         </xs:documentation>
         </xs:annotation>
         <xs:complexType>
          <xs:choice minOccurs=″0″>
           <xs:element name=″indirect″type=″xs:string″>
              <xs:annotation>
                <xs:documentation>An indirection to another domain.
               </xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:choice maxOccurs=″unbounded″>
              <xs:element name=″address″type=″xs:string″/>
              <xs:element name=″addressV6″type=″xs:string″/>
              <xs:element name=″addressRange″type=″xs:string″/>
            </xs:choice>
           </xs:choice>
           <xs:attribute name=″usesEnhancedSmtpNoop″type=″xs:boolean″
                   use=″optional″/>
           <xs:attribute name=″allMailIsETPSigned″type=″xs:boolean″
                   use=″optional″/>
           <xs:anyAttribute namespace=″$#other″processContents=″lax″/>
          </xs:complexType>
         </xs:element>
         <xs:any namespace=″##other″processContents=″lax″/>
        </xs:choice>
      </xs:complexType>
     </xs:element>
     <xs:element name=″otherInfo″minOccurs=″0″>
      <xs:annotation>
        <xs:documentation>General other information regarding the entity,suchas
             certificates that may pertain to it.
         </xs:documentation>
      </xs:annotation>
      <xs:complexType>
        <xs:choice minOccurs=″0″maxOccurs=″unbounded″>
         <xs:element name=″x509Certificate″type=″xs:base64Binary″/>
       <xs:any namespace=″##other″processContents=″lax″/>
      </xs:choice>
     </xs:complexType>
    </xs:element>
   </xs:sequence>
   <xs:anyAttribute namespace=″##other″processContents=″lax″/>
  </xs:complexType>
 </xs:element>
 <xs:element name=″ocspResponse″type=″xs:base64Binary″>
  <xs:annotation>
   <xs:documentation>Base64 encoding of an RFC2560 OCSPResponse.
   </xs:documentation>
  </xs:annotation>
 </xs:element>
</xs:schema>
方案的使用允许开发者灵活地定义(或者甚至重新定义)电子消息配置信息如何被结构化而不需要重新定义处理电子消息配置信息的应用程序。TXT记录能够被用于存储XML指令,它通过实例XML方案加以限制。XML指令能够在同样的DNS记录中延伸一个多TXT记录并且能够在接收DNS记录集的计算机系统上被汇编成XML事例。例如,每个TXT记录能够以非负整数的、由4个10进制数字表示(带有所需要的引导零)为特征的4字符为开头,它们对于多TXT记录是唯一的。根据所接收的,该TXT记录由十进制号码排序。开头4个字符(10进制数字)从每个TXT记录中删去并且结果结合在一起以构成单一的邻近字符序列(一个XML事例)。
以下是一个DNS配置文件实例,表示一个对一个域的XML策略文件:
_emailPolicy TXT(″0002T0H45M0S′/>″
                 ″<hashedSpam minDifficulty=′13′
                      maxIntervalWidth=′P0Y0M7DT0H0M0S″′
                 ″dateRequired=′true′subjectRequired=′true′/>″
                 ″</inbound>″
                 ″</emailPolicy>″)
             TXT(″0001<emailPolicy xmlns=′http://lessspam.org/1′>″
                 ″<inbound>″
                 ″<hashedSpam minDifficulty=′13′maxIntervalWidth=′P0Y0M0D″)
该实例DNS配置文件片段包括二个TXT记录,一个包括字符“0002”的序列和另一个包括字符“0001”的序列。字符序列能够被用在接收计算机系统以判定恰当的包含在TXT记录中的XML指令的次序。然而,对本领域熟悉的技术人员应看到,在浏览了本说明之后,其它排序机制能够被使用并且DNS配置文件能够包括附加的TXT记录。该二个TXT记录在一个计算机系统上被接收(如,对DNS询问的响应)和TXT记录的部分能够被结合进一个XML事例中。跨越一个多TXT记录生成XML事例允许增加被运送的电子消息配置信息的数量(超过2000个字符)。进一步,由于XML事例的不同部分能够被包括在同样的DNS记录集中,该不同部分能够以单一的DNS查询来寻回。
该实例DNS配置文件片断或其它DNS配置文件片断能够被包括在一个DNS子-域中(如,一个电子邮件“策略”子-域。这样,包含电子消息配置信息的可能是一个或多个TXT记录(如,该实例DNS配置文件片断的TXT记录)的所有的记录都是在一个特别的DNS子-域中。相应地TXT记录存在的使用上的混淆或冲突(在其它子-域中)能够被减少。
以下是实例XML事例它能够从实例DNS配置文件片断的部分连接而得到:
 <?xml version=″1.0″encoding=″UTF-8″?>
 <emailPolicy xmlns=″http://lessspam.org/1″>
   <inbound>
        <hashedSpam minDifficulty=″13″
 maxIntervalWidth=″P0Y0M0DT0H45M0S″/>
        <hashedSpam minDifficulty=″29″
maxIntervalWidth=″P0Y0M7DT0H0M0S″
                     dateRequired=″true″subjectRequired=″true″/>
   </inbound>
</emailPolicy>
该实例XML事例包括一个电子邮件“策略”元素根据实例XML方案受限制。该实例XML事例描述二个关于该“散列垃圾邮件”计算难题的回归的策略。第一个回归策略指出一个难题解答,它带有至少13个“0”位和小于或等于45分钟的时间间隔参数,该周期是可接收的。第二个回归策略指出一个难题介答,它带有至少29个“0”位和在周期中小于或等于一个星期的时间间隔参数,以及一个特定的日期并且主题的头部也是可接收的。
实例XML事例的部分,同样其它的XML事例,能够被包括在一个名字服务器TXT记录中,该名字服务器运送与域或电子消息服务器相关联的电子消息配置信息。例如,这样的XML事例能够运送对于改变的连接建立数据的支持、授权的输出邮件服务器、对ETP证书的参照、和对计算难题的支持。包括在TXT记录中的XML事例部分也允许电子消息信息的新的类型被加入到DNS,而没有客户机和/或服务器DNS软件必须被更新。
可能是名字服务器明白地被配置以利用一个协议,它在返回电子消息配置信息时要求序列号。这样,任何欺骗名字服务器企图将会具有附加的猜测由名字服务器使用的序列号的负担。例如,一个名字服务器能够被明白地配置以通过TCP(与“用户数据报协议”(“UDP”)相反)返回电子消息配置信息。这样,任何欺骗名字服务器的企图,将被要求猜测一个由名字服务器使用的恰当的TCP/IP序列号。在某些实施例中,要求序列号的协议的使用来源于被返回的电子消息配置信息的长度。例如,当一个XML事例大于512字节时,TCP的使用可能自动地产生。
可能是一个电子消息发送器被配置成利用多种机制来减少非期望的和非征求的电子消息。这样,电子消息发送器在发送电子消息时可能选择一个、一些、或者配置机制的全部。同样,可能是电子消息接收器被配置成利用多种机制来减少非期望的和/或非征求的电子信息。这样,电子消息接收器当接收一个电子消息时可能选择一个、一些、或配置机制的全部。然而,在电子消息发送器的配置机制可能不同于电子信息接收器的配置机制。
相应地,电子消息发送器或接收器可能共同地同意用于减少非期望和非征求电子消息配置机制。这样,可能是来源于不同配置机制的组合被提供给消息分类模块。例如,一个电子消息接收器可能既检查对ETP的坚持又检查电子消息发送器检验的努力并且提供二个检查的结果给消息分类模块。检验的努力能够包括提供一个散列冲突、一个对加密问题的介决办法,一个对存贮器限制的解决办法、一个对反向图灵测试的解决办法。一个接收域能够检查所提供的检验的努力和提供检查的结果给消息分类模块。
在此说明和以下的权利要求中,“纲要”被定义为在多个计算机系统之间的一个共享的词汇的表述,它允许该多个计算机系统根据表述的共享的词汇来处理文档。例如一个“可扩展标记语言”(“XML”)纲要能定义并且利用XML纲要语言的构想描述一个XML文档的类。这些纲要构想能够被用来约束和文档化其含义、用途、和数据类型的关系、元素和它们的内各、属性和它们的值、以及注释,如同在XML文档中使用的那样。这样,任何可以访问XML纲要的计算机系统能够根据XML纲要处理XML文档。进一步,任何可以访问XML纲要的计算机系统能够撰写或修改XML文档,以便其它能够访问XML纲要的计算机系统来使用。
根据要求的功能,一个或多个不同生成的多输入能够潜在地和包含电子消息的消息数据一起被提供给消息分类模块。基于接收的输入,消息分类模块能够归类电子消息为合法的或者为非期望的和非征求的。当一个多输入(每个输入表示不同的与电子消息传输相关联的信息)被利用,一个消息分类模块能够更加可靠地归类电子消息,例如,更加可靠地归类一个电子消息消息为非期望的或非征求的。
在本领域中熟悉的技术人员将理解:本发明可以在具有很多计算机系统配置环境的网络计算环境中被实践,包括,个人计算机、膝上型计算机、手持式设备、多处理机系统、基于微处理器的或者可编程的消费电器、网络PCs、小型计算机、大型计算机、移动电话机、PDAs、寻呼机、和类似者。本发明还可以在分布式系统环境中实践,那里本地的和远程的计算机系统通过网络被链接(或者通过硬连线数据链路、无线数据链路、或者通过硬连线和无线数据链路的组合),都实行任务。在分布式系统环境中,程序模块可能被安放在本地的或者远程的存储器储存设备中。
图8和以下的讨论试图提供一个简要的普通的适当的计算环境的描述,在其中本发明可能被实现。虽然并不要求,本发明将在普通的计算机可执行指令的上下文中被描述,例如将被计算机执行的程序模块。一般地,程序模块包括程序段、程序、对象、部件、数据结构、和类似者,它完成特殊的任务或者实行特殊的抽象数据类型。与数据结构相关联的计算机可执行指令和程序模块表示程序代码手段的实例,用于在此揭示的方法的执行的动作。
参照图8,一个实现本发明的系统实例包括一个计算机系统820形态的通用目的的计算机设备,包括处理单元821,一个系统存储器822,和一个系统总线823,它耦合包括系统存储器822的各种系统部件到处理部件821。处理部件821能够执行设计来实现计算机系统820的特点的计算机可执行指令,也包括本发明的特点。系统总线823可能是包括存储总线和存储控制器的若干种总线结构类型中的任何一种,一种外设总线,和一种采用各种总线结构之一的局部总线。该系统存储器包括只读存储器(“ROM”)824和随机存取存储器(“RAM“)825。一个被存储在ROM 824中的基本输入/输出系统(“BIOS”)826,包括基本的程序段,帮助在计算机系统820中的元件之间传送信息(例如在启动时)。
计算机系统820还可能包括硬磁盘驱动器827用来对硬磁盘839读出或写入,磁盘驱动器828用来对磁盘829读出或写入,和光盘驱动器830用来对光盘831读出或写入,例如,一个CD-ROM或者其他的光介质。该硬磁盘驱动器827,磁盘驱动器828,和光盘驱动器830通过硬盘驱动接口832,软盘驱动接口833,和光盘驱动接口834分别地连接到系统总线823。这些驱动器和它们相应的计算机可读介质为计算机系统820提供计算机可执行指令、数据结构、程序模块、和其它数据的非易失性储存。虽然在此描述的环境的实例采用硬磁盘839、可移动磁盘829和可移动光盘831、其它类型的计算机可读介质用于存储能被使用的数据,包括磁带、快闪存储卡、数字通用盘、伯努利磁带、RAMs、ROMs、和类似者。
包括一个或多个程序模块的程序代码工具能够被存储在硬盘839、磁盘829、光盘831、ROM825或RAM825上、包含一个操作系统835、一个或多个应用程序836、其它程序模块837、和程序数据838。用户可能通过键盘840、定点设备842、或其它输入设备(未显示),例如话筒、游戏杆、游戏平板、扫描仪或类似者来输入命令和信息到计算机系统820。这些和其它的输入设备能够通过耦合到系统总线823的输入/输出接口846连接到处理单元821。输入/输出接口846逻辑地表示很多不同接口的任何一种,例如,串型端口接口PS/2接口、并行端口接口、“通用串型总线”(“USB”)接口、或者“电子电器工程师协会”(“IEEE”)1394接口(即,“火线”接口)、或者甚至可能逻辑地表示不同接口的组合。
监视器847或者其它显示设备也通过视频借口848连接到系统总线823。扬声器869或者其它音频输出设备也通过音频接口849连接到系统总线823。其它外围输出设备(未显示),例如,打印机,也能被连接到计算机系统820。
计算机系统820可被连接到网络,例如,一个办公室范围或者企业范围计算机网络、一个家庭网络、一个内部网络、和/或因特网。计算机系统820能够通过这样的网络与外部源交换数据,例如,远程计算机系统、远程应用程序、和/或远程数据库。例如,计算机系统820能够和与计算机系统820一起连接到普通网络的其它计算机系统交换消息。
计算机系统820包括网络接口853,通过它计算机系统820从外部源接收数据和/或传输数据到外部源。如在图8中所描述,网络接口853有利于通过链接851与远程计算机系统883交换数据。网络接口853能够逻辑地表示一个或多个软件和/或硬件模块,例如,一个网络接口卡和相应的“网络驱动器接口说明”(“NDIS”)堆站。数据链接851表示网络的一部分(如,“已太”网段),和远程计算机系统883表示一个网络结点。例如,远程计算机系统883能够是一个查询计算机系统,它发送DNS询问给计算机系统820。另一方面,远程计算机系统883能够是一个DNS服务器,它发送一个DNS回答给计算机系统820作为对接收的DNS查询的响应。
同样,计算机系统820包括输入/输出接口846,通过它计算机系统820从外部源接收数据和/或传输数据给外部源。输入/输出接口846通过数据链接859耦合到调制解调器554(如,标准调制解调器、电缆调制解调器或者数字用户线(“DSL”)调制解调器),通过它计算机系统820从外部源接收数据和/或传输数据给外部源。如在图8所述,输入/输出借口846和调制解调器854有利于通过链接852与远程计算机系统893交换数据。链接852表示网络的一部分和远程计算机系统893表示网络的结点。例如,远程计算机系统893可以是一个发送计算机系统,它发送电子消息到计算机系统820。另一方面,远程计算机系统893可以是一个接收计算机系统,它从计算机系统820接收电子邮件消息。
当图8表示一个对于本发明适合的操作环境时本发明的原则可以被用于任何系统,它是有能力实行本发明的原则,如果需要带有适当的修改。在图8所表示的环境仅作为演示,并且不表示大范围的各种环境的即使是一小部分,在大范围的各种环境中,本发明的原则是可以实现的。
本发明可以在其他指定的形式中被实现而没有脱离它的精神或基本特征。描述的实施例被看作在各方面仅作演示而非限制。因此本发明的范围是由所附的权利要求书指出而非由以上描述指出。所有来自于权利的等同的意义和范围的改变都被包含在它的范围内。

Claims (97)

1.在一个发送计算机系统中,它是能连接一个或多个接收计算机系统的网络,该发送计算机系统被配置成向接收计算机系统发送电子消息,一种方法用于对接收计算机系统指出发送计算机系统正从接收计算机系统接收连接响应,该方法包含:
一个发送连接初始数据给接收计算机系统的行动,该连接初始数据包括一个假设的发送地址;
一个接收包括地址有效性数据的改变的连接建立数据的行动;
一个基于地址有效性数据生成恰当的连接响应的行动;以及
发送该恰当的连接响应给接收计算机系统。
2.如权利要求1所述的方法,其特征在于,在发送连接初始数据给接收计算机系统的行动中,包括发送“传输控制协议(TCP)”连接初始数据的行动。
3.如权利要求1所述的方法,其特征在于,在发送连接初始数据给接收计算机系统的行动中,包括发送SMTP HELO命令和SMTP EHLO命令的行动。
4.如权利要求1所述的方法,其特征在于,在接收改变的包括地址验证数据的连接建立数据的行动中包含一个接收改变的连接建立数据的行动,在此,该改变的连接建立数据是从再发送连接初始数据的要求和被分散在多个网络分组中的连接建立数据之中选择而来。
5.如权利要求1所述的方法,其特征在于,在接收改变的包括地址验证数据的连接建立数据的行动中包含一个接收包括随机字符序列的HELO响应命令或EHLO响应命令的行动的行动。
6.如权利要求1所述的方法,其特征在于,在基于地址有效数据而生成恰当的连接响应的行动包括一个生成恰当的连接响应的行动,在此,该恰当的连接响应是从再发送的该连接初始数据和带有恰当的确认序列号的发送的网络分组中选择而来。
7.如权利要求1所述的方法,其特征在于,在基于地址有效数据而生成恰当的连接响应的行动包括一个在改进的NOOP命令中包括随机字符序列的行动,从接收计算机系统被接收到的该随机字符序列是连接初始数据的响应。
8.如权利要求1所述的方法,其特征在于,在发送恰当的连接响应数据给接收计算机系统的行动中包含发送包括随机字符序列的改进的NOOP命令的行动,从接收计算机系统被接收到的该随机字符序列是连接初始数据的响应。
9.在一个能连接一个或多个接收计算机系统的网络的接收计算机系统中,该接收计算机系统被配置成从发送计算机系统接收电子消息,一种方法为接收计算机系统检测发送计算机系统是否接收连接建立响应,该方法包含:
一个从发送计算机系统接收连接初始数据的行动,该连接初始数据包括一个假设的发送地址;
一个改变标准连接建立数据成为包括地址有效性数据的行动;
一个发送该改变的连接建立数据到假设的发送地址的行动;以及
一个判定相应于该假设的发送地址的计算机系统是否恰当地响应该地址有效数据的行动。
10.如权利要求9所述的方法,其特征在于,在从发送计算机系统接收连接初始数据的行动中包括接收“传输控制协议(TCP)”连接初始数据的行动。
11.如权利要求9所述的方法,其特征在于,在从发送计算机系统接收连接初始数据的行动中包括接收一个STMP HELO命令或STMP EHLO命令的行动。
12.如权利要求9所述的方法,其特征在于,在改变标准连接建立数据成为包括地址有效数据的行动中包括改变标准的对“传输控制协议(TCP)”连接初始数据的响应成为该“传输控制协议(TCP)”连接初始数据的请求再传输的行动。
13.如权利要求9所述的方法,其特征在于,在改变标准连接建立数据成为包括地址有效数据的行动中包括分隔“传输控制协议(TCP)”连接建立数据成为多个网络分组的行动。
14.如权利要求9所述的方法,其特征在于,在改变标准连接建立数据成为包括地址有效数据的行动中包括在STMP HELO响应命令或STMP EHLO响应命令中包括随机字符序列的行动。
15.如权利要求9所述的方法,其特征在于,在发送该改变的连接建立数据到假设的发送地址的行动中包括发送改变的“传输控制协议(TCP)”连接建立数据到假设的“内连网协议IP”地址的行动。
16.如权利要求9所述的方法,其特征在于,在发送该改变的连接建立数据到假设的发送地址的行动中包括发送STMP HELO响应命令、或包括随机字符序列的STMP EHLO响应命令的行动。
17.如权利要求9所述的方法,其特征在于,在判定相应于该假设的发送地址的计算机系统是否恰当地响应该地址有效数据的行动中包括判定该假设的发送地址是否恰当地对改变的“传输控制协议(TCP)”连接建立数据响应的行动。
18.如权利要求9所述的方法,其特征在于,在判定相应于该假设的发送地址的计算机系统是否恰当地响应该地址有效数据的行动中包括判定该假设的发送地址是否恰当地对改变的“传输控制协议(TCP)”连接建立数据响应的行动。
19.如权利要求9所述的方法,其特征在于,在判定相应于该假设的发送地址的计算机系统是否恰当地响应该地址有效数据的行动中包括判定该假设的发送地址是否响应于一个在地址有效数据中的、包括随机字符串的标准NOOP命令。
20.如权利要求9所述的方法,其特征在于,进一步包括:
在假设的发送地址没有恰当地响应于地址有效数据时,为了相应于假设的发送地址的DNS记录集发布一个DNS查询的行动;和
接收一个或多个包含XML指令的TXT记录,它指明假设的发送地址是否支持地址有效数据的使用。
21.在一个可以连接到一个或多个发送域的网络的接收域中,该接收域包括一个或多个被配置成从发送域接收电子消息的接收消息服务器,一个用于判定发送消息服务器是否被授权为一个发送域发送电子消息的方法,该方法包括:
一个接收从发送域假设地发送的电子消息的行动;
一个检查该电子消息的多个参数值以试图识别相应于发送计算机系统的实际的发送方网络地址的行动;
一个为了一个授权为发送域发送电子消息的网络地址的清单而查询名字服务器的行动;
一个判定实际发送方网络地址是否是被授权为发送域发送电子消息的行动;和
一个对消息分类模块提供判定结果的行动,这样该消息分类模块能够作出一个更可靠的决定来归类接收到的电子消息。
22.如权利要求21所述的方法,其特征在于,在接收从发送方域假设地发送的电子消息的行动中包含一个接收电子邮件消息的行动。
23.如权利要求21所述的方法,其特征在于,在接收从发送方域假设地发送的电子消息的行动中包含一个接收电子消息的行动,该消息不包括“反向-路径”参数值。
24.如权利要求21所述的方法,其特征在于,在检查电子消息的多个参数值以试图识别实际的发送方网络地址的行动中包括一个识别相应于发送计算机系统的“内联网协议(IP)”地址的行动。
25.如权利要求21所述的方法,其特征在于,在检查电子消息的多个参数值以试图识别实际的发送方网络地址的行动中包括一个检查多个参数值的行动,其中至少有一个多参数值是在第一个“再发送-发送器”头部值、“再发送源”头部中的第一个邮箱值、一个“发送器”头部值、或者一个在“源”头部的第一个邮箱值中被选择的一个。
26.如权利要求21所述的方法,其特征在于,在该为了一个对发送域授权发送电子消息的网络地址的清单而查询名字服务器的行动中包括一个对发送域授权发送电子消息的网络地址的清单查询一个“域名服务”服务器的行动。
27.如权利要求26所述的方法,其特征在于,在对发送域授权发送电子消息的网络地址的清单查询一个“域名服务”服务器的行动中包括对发送域授权发送电子邮件消息的“内联网协议”的地址的清单查询一个“域名服务”的行动。
28.如权利要求21所述的方法,其特征在于,进一步包括:
一个接收网络地址清单的行动,该清单对发送域授权发送电子消息。
29.如权利要求28所述的方法,其特征在于,在接收授权发送电子消息的网络地址的清单的行动中包括一个接收一个或多个DNS TXT记录的行动。
30.如权利要求29所述的方法,其特征在于,在接收授权发送电子消息的网络地址的清单的行动中包括一个接收一个或多个编码在XML指令中的网络地址的清单的DNS TXT记录的行动。
31.如权利要求30所述的方法,其特征在于,在接收一个或多个编码在XML指令中的网络地址的清单的DNS TXT记录的行动中包含一个接收电子消息配置信息的行动,该信息覆盖跨越多个DNS TXT记录从而电子消息配置信息能够被结合到一个XML事例中。
32.如权利要求31所述的方法,其特征在于,一个接收电子消息配置信息的行动,该信息覆盖跨越多个DNS TXT记录从而电子消息配置信息能够被结合到一个XML事例中,该行动包括一个接收多个DNS TXT记录的行动,记录包括指出XML指令如何包含在将被排序的该DNS TXT记录的排序数据。
33.如权利要求32所述的方法,其特征在于,进一步包括:
把该XML指令结合到该排序数据中以生成一个XML事例中。
34.如权利要求21所述的方法,其特征在于,在判定该实际的发送方网络地址是否是对发送域授权发送电子消息的行动中包含一个判定该实际的发送方网络地址被包含在接收的授权网络地址清单之中的行动。
35.如权利要求21所述的方法,其特征在于,在判定该实际的发送方网络地址是否对该发送域授权发送电子消息的中,包含一个判定实际的发送方网络地址不包含在接收的授权网络地址的清单中的行动。
36.如权利要求21所述的方法,其特征在于,在对消息分类模块提供判定结果的行动的行动中包括一个对消息分类模块指出实际发送方网络地址是对发送域授权发送电子消息的行动。
37.如权利要求21所述的方法,其特征在于,在对消息分类模块提供判定结果的行动的行动中包括一个对消息分类模块指出实际发送方网络地址不是对发送域授权发送电子消息的行动。
38.一个用在可连接到一个或多个接收计算机系统的网络的发送计算机系统中的计算机程序产品,该发送计算机系统被配置成对接收计算机系统发送电子消息,该计算机程序产品用于实现一种方法,对接收计算机系统指出该发送计算机系统正接收从接收计算机系统来的连接响应,该计算机程序产品包括一个或多个具有存储在其上的计算机可执行指令的计算机可读介质,在由一个处理器执行时,使发送计算机系统实行以下事项:
发送连接初始数据给接收计算机系统,该连接初始数据包括一个假设的发送地址;
接收改变的连接建立数据,它包括地址有效数据;
基于地址有效数据生成恰当的连接响应;和
发送恰当的连接响应数据给接收计算机系统。
39.如权利要求38所述的计算机程序产品,其特征在于,计算机可执行指令,当由一个处理器执行时将引起该发送计算机系统接收包含地址有效数据的改变的连接建立数据,它包括计算机可执行指令,当由一个处理器执行时将引起该发送计算机系统接收一个包含随机字符序列的SMTP HELO命令或者SMTP EHLO命令。
40.如权利要求38所述的计算机程序产品,其特征在于,计算机可执行指令,当由一个处理器执行时将引起该发送计算机系统发送该恰当的连接响应数据给该接收计算机系统,它包括计算机可执行指令,当由一个处理器执行时将引起该发送计算机系统发送包括包含在接收的地址有效数据中的随机字符序列的一个改进的SMTP NOOP命令。
41.一个用在可连接到一个或多个发送计算机系统的网络的接收计算机系统中的计算机程序产品,该接收计算机系统被配置成从发送计算机系统接收电子消息,该计算机程序产品用于实现一种方法,用于接收计算机系统检测发送计算机系统是否在接收连接建立响应,该计算机程序产品包括一个或多个具有存储在其上的计算机可执行指令的计算机可读介质,在由一个处理器执行时,使接收计算机系统实行以下事项:
从发送计算机系统接收连接初始数据,该连接初始数据包括假设的发送地址;
改变标准的连接建立数据以包括地址有效数据;
发送改变的连接建立数据到假设的发送地址;和
判定相应于假设的发送地址的一个计算机系统是否恰当地响应于地址有效数据。
42.如权利要求41所述的计算机程序产品,其特征在于,计算机可执行指令,当由一个处理器执行时将引起该接收计算机系统改变标准的连接建立数据以包括地址有效数据,它包括计算机可执行指令,当由一个处理器执行时将引起该接收计算机系统在一个SMTP HELO响应命令或者SMTP EHLO响应命令中包含一个随机字符序列。
43.如权利要求41所述的计算机程序产品,其特征在于,计算机可执行指令,当由一个处理器执行时将引起该接收计算机系统发送改变的连接建立数据给假设的发送地址,它包括计算机可执行指令,当由一个处理器执行时将引起该接收计算机系统发送一个包括一个随机字符序列的SMTP HELO响应命令或者SMTP EHLO响应命令。
44.如权利要求41所述的计算机程序产品,其特征在于,进一步包括:
一个或多个具有存储在其上的计算机可执行指令的计算机可读介质,在由一个处理器执行时,使接收计算机系统实行以下事项:
当该假设的发送地址没有恰当地响应于地址有效数据时,相应于假设的发送地址为一个DNS记录发布一个DNS请求;和
接收一个或多个包含XML指令的TXT记录,它指出该假设的发送地址是还是不是支持该地址有效数据的使用。
45.一个用在可连接到一个或多个发送域的网络的接收域中的计算机程序产品,该接收域包括一个或多个接收消息服务器被配置成从发送域接收电子消息,该计算机程序产品用于实现一种方法,用于发送消息服务器判定是否被授权为一个发送域发送电子消息,该计算机程序产品包括一个或多个具有存储在其上的计算机可执行指令的计算机可读介质,在由一个处理器执行时,使接收域实行以下事项:
接收从发送域假设地发送的一个电子消息;
检查该电子消息的多个参数值以试图识别相应于发送计算机系统的实际的发送方网络地址;
为了一个授权为发送域发送电子消息的网络地址的清单而查询名字服务器;
判定实际发送方网络地址是否是被授权为发送域发送电子消息;和
对消息分类模块提供判定的结果,这样该消息分类模块能够作出一个更可靠的决定来归类接收到的电子消息。
46.如权利要求45所述的计算机程序产品,其特征在于,在其中计算机可执行指令,当由一个处理器执行时将引起该接收域检查该电子消息的多个参数值以试图识别实际的发送方网络地址,包括计算机可执行指令,当由一个处理器执行时将引起该接收域检查多个参数值,其中至少一个多参数值是从第一个“再发送-发送器”头部值、“再发送源”头部中的第一个邮箱值、一个“发送器”头部值、或者一个在“源”头部中的第一个邮箱值中被选择的一个。
47.如权利要求45所述的计算机程序产品,其特征在于,进一步包括:
一个或多个具有存储在其上的计算机可执行指令的计算机可读介质,在由一个处理器执行时,使接收域实行以下事项:
接收一个网络地址清单,它们被授权为该发送域发送电子消息。
48.如权利要求45所述的计算机程序产品,其特征在于,在其中计算机可执行指令,当由一个处理器执行时将引起该接收域接收一个网络地址清单,它们被授权为该发送域发送电子消息,包括计算机可执行指令,当由一个处理器执行时将引起该接收域接收一个或多个包括XML指令的DNS TXT记录。
49.在一个可以连接到一个或多个发送域的网络的接收域中,该接收域包括一个或多个被配置成从发送域接收电子消息的接收消息服务器,一个用于判定发送域的电子消息传输策略的方法,该方法包括:
一个接收从发送域来的电子消息的行动;
一个接收相应于发送域的一个或多个电子消息传输策略的行动;
一个从该一个或多个接收到的电子消息传输策略中分析适当的电子消息传输策略的行动;和
一个提供适当的电子消息传输策略给一个消息分类模块的行动,这样,当归类接收到的电子消息时,该消息分类模块能够作出一个更可靠的决定。
50.如权利要求49所述的方法,其特征在于,在接收从发送域来的电子消息的行动中,包括接收电子邮件消息的行动。
51.如权利要求49所述的方法,其特征在于,在接收相应于发送域的一个或多个电子消息传输策略的行动中,包括接收包括在接收的电子消息中的一个或多个电子消息传输策略的行动。
52.如权利要求51所述的方法,其特征在于,在接收包括在接收的电子消息中的一个或多个电子消息传输策略的行动中包括接收一个或多个电子消息传输策略证书的行动。
53.如权利要求52所述的方法,其特征在于,在接收一个或多个电子消息传输策略的行动中包含一个接收“新近-证明”(proof-of-freshness)的行动,该证明是对于在一个或多个电子消息传输策略中的至少一个的。
54.如权利要求51所述的方法,其特征在于,在接收包括在接收的电子消息中的一个或多个电子消息传输策略的行动中包括接收一个ETP S/MIME消息。
55.如权利要求54所述的方法,其特征在于,在接收一个ETP S/MIME消息的行动中包括一个接收对一个证书的一个“新近-证明”指示的行动。
56.如权利要求49所述的方法,其特征在于,进一步包括:
为相应于该发送域的电子信息策略询问一个服务器的行动。
57.如权利要求56所述的方法,其特征在于,在为相应于该发送域的电子信息策略询问一个服务器的行动中包括询问一个DNS服务器的行动。
58.如权利要求49所述的方法,其特征在于,在接收相应于发送域的一个或多个电子消息传输策略的行动中,包括一个从一个服务器接收一个或多个电子消息传输策略证书的行动。
59.如权利要求58所述的方法,其特征在于,在从一个服务器接收一个或多个电子消息传输策略证书的行动中包括接收至少的电子策略消息证明的行动,其中,该至少一个的电子策略消息证明是一个X.509证明、一个XrML许可证、或者一个Kerberos PAC。
60.如权利要求49所述的方法,其特征在于,在接收相应于发送域的一个或多个电子消息传输策略的行动中包括接收一个或多个DNS TXT的一个行动。
61.如权利要求60所述的方法,其特征在于,在接收一个或多个DNS TXT的一个行动中包括接收至少一个DNS TXT记录,它驻留在发送域的子-域中。
62.如权利要求58所述的方法,其特征在于,在接收相应于发送域的一个或多个电子消息传输策略的行动中,包括接收一个或多个DNS TXT记录的行动,该记录按照XML指令编码电子消息传输策略。
63.如权利要求62所述的方法,其特征在于,在接收一个或多个按照XML指令编码电子消息传输策略的DNS TXT记录的行动中,包括接收一个信息的行动,该信息覆盖跨越多个DNS TXT记录从而该电子消息配置信息能够被结合到一个XML事例中。
64.如权利要求63所述的方法,其特征在于,在接收一个信息,它覆盖跨越多个DNS TXT记录从而该电子消息配置信息能够被结合到一个XML事例中,的行动中,包括接收多个DNS TXT记录的行动,这些记录包含指出包含在该DNS TXT记录中的该XML指令如何被制定的制定数据。
65.如权利要求64所述的方法,其特征在于,进一步包括:
根据制定数据结合XML指令生成一个XML事例的行动。
66.如权利要求49所述的方法,其特征在于,在从该一个或多个接收到的电子消息传输策略中分析适当的电子消息传输策略的行动中包括为了适当的电子消息传输策略而分析一个或多个电子消息传输策略证书的行动。
67.在一个可以连接到一个或多个发送域的网络的接收域中,该接收域包括一个或多个被配置成从发送域接收电子消息的接收消息服务器,一个用于判定发送域的电子消息传输策略的方法,该方法包括:
一个接收从发送域来的电子消息的行动;
一个识别由发送域坚持的适当的电子消息传输策略的步骤;和
一个提供适当的电子消息传输策略给一个消息分类模块的行动,这样,当归类接收到的电子消息时,该消息分类模块能够作出一个更可靠的决定。
68.如权利要求67所述的方法,其特征在于,在识别由发送域坚持的适当的电子消息传输策略的步骤中包括一个判定发送域没有坚持任何电子消息传输策略的行动。
69.在一个可以连接到一个或多个接收域的网络的发送域中,该发送域包括一个被配置成对接收域发送电子消息的发送消息服务器,一个用于对接收方域指出该发送域服务器在发送电子消息数据给接收方域之前已扩展了计算资源以解决计算难题的方法,该方法包括:
一个接收被包含在一个电子消息中的电子消息的行动;
一个从不同部分状态信息生成一个初始文档的行动;
一个从一个或多个电子消息部件生成难题输入的行动,该一个或多个部件是从至少是一个消息主体、一个消息附件、和一个消息头部、包含一个或多个提取的部件的部分的难题输入生成、一个部件的散列部分、和一个部件连接部分之一选择,
一个识别答案文档的行动,从而从答案文档和难题输入散列值的一个组合计算得到的一个答案散列值是一个对于计算难题的答案值,该答案值使用一个难题散列算法计算;和
一个发送包括该被识别的答案文档和该电子消息数据的电子消息给接受方域。
70.如权利要求69所述的方法,其特征在于,在接收被包含在一个电子消息中的电子消息的行动中包括一个接收被包含在一个电子邮件消息中的电子消息的行动。
71.如权利要求69所述的方法,其特征在于,在从不同部分状态信息生成一个初始文档的行动中包括一个从该电子消息数据的至少一个字段中提取数据的行动,其中该至少一个字段是从一个“源”字段、一个“到达”字段、一个“不在前”字段、一个“不在后”字段、一个“数据”字段、一个“主体”字段、一个“附加”字段、一个“主题”字段、和一个“消息-ID”字段之中选择。
72.如权利要求69所述的方法,其特征在于,在从不同部分状态信息生成一个初始文档的行动中包含一个从一个或多个数据范围字段中提取数据的行动。
73.如权利要求69所述的方法,其特征在于,在从不同部分状态信息生成一个初始文档的行动中包括一个提取数据的的行动,其中该数据是文本数据、图形数据、统一资源识别符(“URI”)数据、或者可执行的数据。
74.如权利要求69所述的方法,其特征在于,在识别一个答案文档的行动中包括一个识别答案文档的行动,它是当和该难题输入组合并且该答案文档和该难题输入的组合被散列运算时,导致一个在多个固定的位的位置上具有指定值的一个散列值。
75.如权利要求74所述的方法,其特征在于,在识别一个答案文档的行动中包括一个识别答案文档的行动,它是当扩展(preprended)到难题输入并且该答案文档和该难题输入的结合被散列运算时,导致一个在至少是初始的指定数量的位上具有一个“0”值的一个散列值。
76.如权利要求69所述的方法,其特征在于,在识别一个答案文档的行动中包括一个识别答案文档的行动,它是当连接到难题输入并且该答案文档和该难题输入的结合被散列运算时,导致一个在初始的多个位的位置中具有指定的位值并且在第二个多个位的位置中具有等于从其他答案文档得到的散列的相应位的值。
77.如权利要求76所述的方法,其特征在于,在识别一个答案文档的行动中包括一个识别答案文档的行动,它是当连接到难题输入并且该答案文档和该难题输入的结合被散列运算时,导致一个在散列值前缀的每个位的位置中具有指定的值并且在散列值后缀中一个值等于从其他答案文档得到的散列的相应位的值的散列值。
78.如权利要求69所述的方法,其特征在于,在识别一个答案文档的行动中包括一个使用难题散列算法的行动,该难题散列算法被专门地设计来增加对该难题散列算法实现硬件加速的难度。
79.如权利要求69所述的方法,其特征在于,在识别一个答案文档的行动中包括一个使用改变SHA-1子功能的该标准应用的散列算法来计算一个答案散列值的行动。
80.如权利要求69所述的方法,其特征在于,在发送一个包括识别答案文档的电子消息和该电子消息数据到该接收方域的行动中,包括一个发送包括多个答案文档的一个电子消息的行动。
81.如权利要求69所述的方法,其特征在于,进一步包括:
一个查询一个服务器以决定该接收域是否被配置成对计算难题验证答案的行动;和
一个接收一个或多个包含对接收域的电子消息配置信息的DNS TXT记录的行动。
82.如权利要求80所述的方法,其特征在于,查询一个服务器的行动包括一个查询一个服务器的行动,响应于该发送域不支持电子消息传输策略证书。
83.如权利要求80所述的方法,其特征在于,在接收一个或多个DNS TXT记录的行动中包含一个接收一个或多个按照XML指令编码电子消息配置信息的DNSTXT记录的行动。
84.在一个可以连接到一个或多个发送域的网络的接收域中,该接收域包括一个或多个被配置成从发送域接收电子消息的接收消息服务器,一个用于判定一个发送域在发送一个电子消息之前是否解决一个计算难题,该方法包括:
一个接收包括电子消息数据和答案文档的一个电子消息的行动;
一个从包含在该消息中的不同部分状态信息重新产生一个初始文档的行动;
一个从该电子消息的一个或多个部件重新计算一个难题输入的行动,该一个或多个部件是从至少一个消息主体、一个消息附件、和一个消息头部、包括一个或多个一个部件的提取部分的难题输入生成、一个部件的散列部分、和一个部件的连接部分中选择;
一个判定从答案文档和难题输入散列值的组合计算得到的验证散列值是否是指出计算难题结果的答案值的行动,该验证的散列值使用一个难题散列算法计算得到;和
一个对消息分类模块提供判定结果的行动,这样,当归类接收到的电子消息时该消息分类模块能够作出一个更可靠的决定。
85.如权利要求84所述的方法,其特征在于,在接收包括电子消息数据和答案文档的一个电子消息的行动中包括接收电子邮件消息的行动。
86.如权利要求84所述的方法,其特征在于,在接收包括电子消息数据和答案文档的一个电子消息的行动中包括接收包括多个答案文档的一个电子消息的行动。
87.如权利要求84所述的方法,其特征在于,在从包含在该消息中的不同部分状态信息重新产生一个初始文档的行动中包括从该电子消息数据的一个字段中提取数据的行动,其中该字段是从一个“源”字段、一个“到达”字段、一个“不在前”字段、一个“不在后”字段、一个“数据”字段、一个“主体”字段、一个“附加”字段、一个“主题”字段、和一个“消息-ID”字段之中选择。
88.如权利要求84所述的方法,其特征在于,在从包含在该消息中的不同部分状态信息重新产生一个初始文档的行动中包括一个从该电子消息数据中提取数据的的行动,其中该数据是文本数据、图形数据、统一资源识别符(“URI”)数据、或者可执行的数据。
89.如权利要求84所述的方法,其特征在于,在从该电子消息的一个或多个部件重新计算一个难题输入的行动中包括一个应用改变的散列算法的行动,该改变的散列算法被专门地设计来增加实现硬件加速的难度,这样可以被用来改进改变的散列算法的效率。
90.如权利要求84所述的方法,其特征在于,在从该电子消息的一个或多个部件重新计算一个难题输入的行动中包括一个应用一个改变SHA-1子-功能的该标准应用的散列算法的行动。
91.如权利要求84所述的方法,其特征在于,在判定一个从一个答案文档和该难题输入的组合而计算来的验证散列值是否是一个指出计算难题结果的散列值的行动中包括一个判定该验证散列值是否在散布在整个该验证散列值中的多个固定的位的位置中具有一个特定的值的行动。
92.如权利要求84所述的方法,其特征在于,在判定一个从一个答案文档和该难题输入的组合而计算来的验证散列值是否是一个指出计算难题结果的散列值的行动中包括一个判定验证散列值是否在初始的多个位的位置中具有指定的值并且在第二个多个位的位置中具有等于从其他答案文档得到的其他验证散列值的行动。
93.一个用在可连接到一个或多个发送域的网络的接收域中的计算机程序产品,该接收域包括一个或多个被配置成从发送域接收电子消息的接收消息服务器,该计算机程序产品用于实现一种方法,用于判定一个发送域的电子消息传输策略,该计算机程序产品包括一个或多个具有存储在其上的计算机可执行指令的计算机可读介质,在由一个处理器执行时,使接收域实行以下事项:
接收从发送域来的一个电子消息;
接收相应于该发送域的一个或多个电子消息传输策略;
从一个或多个接收的电子消息传输策略分析;和
对消息分类模块提供该适当的电子消息传输策略,从而该消息分类模块能够在归类该接收到的电子消息时作出一个更加可靠的决定。
94.一个用在可连接到一个或多个接收域的网络的发送域中的计算机程序产品,该发送域包括一个发送消息服务器被配置成对接收域发送电子消息,该计算机程序产品用于实现一种方法,用于对接收方域指出该发送消息服务器扩展了计算资源以便在对接收方域发送一个电子消息之前解决一个计算难题,该计算机程序产品包括一个或多个具有存储在其上的计算机可执行指令的计算机可读介质,在由一个处理器执行时,使该发送域实行以下事项:
接收将被包含在一个电子消息中的电子消息数据;
从不同部分状态信息生成一个初始文档;
从该电子消息的一个或多个部件生成难题输入,该一个或多个部件是从至少是一个消息主体、一个消息附件、和一个消息头部、包含一个或多个提取的部件的部分的难题输入生成、一个部件的散列部分、和一个部件结合部分之一选择;
识别一个答案文档,从而从答案文档和难题输入散列值的一个组合计算得到的一个答案散列值是一个对于计算难题的答案值,该答案值使用一个难题散列算法计算;和
发送包括该被识别的答案文档和该电子消息数据的一个电子消息给该接受方域。
95.一个用在可连接到一个或多个发送域的网络的接收域中的计算机程序产品,该接收域包括一个或多个被配置成从发送域接收电子消息的接收消息服务器,该计算机程序产品用于实现一种方法,用于判定一个发送消息服务器在发送消息之前是否解决了一个计算难题,该计算机程序产品包括一个或多个具有存储在其上的计算机可执行指令的计算机可读介质,在由一个处理器执行时,使接收域实行以下事项:
接收一个包括电子消息数据和一个答案文档的电子消息;
从包含在该消息中的不同部分状态信息重新产生一个初始文档;
从该电子消息的一个或多个部件重新计算一个难题输入,该一个或多个部件是从至少一个消息主体、一个消息附件、和一个消息头部、包括一个或多个一个部件的提取部分的难题输入生成、一个部件的散列部分、和一个部件的连接部分中选择;
判定从答案文档和难题输入散列值的组合计算得到的验证散列值是否是指出计算难题结果的答案值,该验证的散列值使用一个难题散列算法计算得到;和
对一个消息分类模块提供判定结果,这样,当归类接收到的电子消息时该消息分类模块能够作出一个更可靠的决定。
96.一个用在可连接到一个或多个发送域的网络的接收域中的计算机程序产品,该接收域包括一个或多个被配置成从发送域接收电子消息的接收消息服务器,该计算机程序产品用于实现一种方法,用于生成提供给消息分类模块的输入,该计算机程序产品包括一个或多个具有存储在其上的计算机可执行指令的计算机可读介质,在由一个处理器执行时,使接收域实行以下事项:
接收一个电子消息;
利用一个或多个不同的机制以试图判定该接收到的电子消息是否是一个非期望的或非征求的电子消息;和
提供该一个或多个不同机制的每一个的结果给一个消息分类模块,这样,当归类接收到的电子消息时该消息分类模块能够作出一个更可靠的决定。
97.如权利要求96所述的方法,其特征在于,其中计算机可执行指令在执行时使得该接收域利用一个或多个不同的机制以试图判定该接收到的电子消息是否是一个非期望的或非征求的电子消息,包括计算机可执行指令在执行时使得该接收域利用一个或多个对于坚持对一个电子邮件传输策略的检查和对于由一个发送域努力的证明的检查。
CN2004100286823A 2003-03-12 2004-03-11 协调减少非期望和非征求的电子邮件消息 Expired - Lifetime CN1532758B (zh)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US45451703P 2003-03-12 2003-03-12
US60/454517 2003-03-12
US60/454,517 2003-03-12
US10/684,020 2003-10-10
US10/684020 2003-10-10
US10/683,624 US7552176B2 (en) 2003-03-12 2003-10-10 Reducing unwanted and unsolicited electronic messages by exchanging electronic message transmission policies and solving and verifying solutions to computational puzzles
US10/683,624 2003-10-10
US10/684,020 US7398315B2 (en) 2003-03-12 2003-10-10 Reducing unwanted and unsolicited electronic messages by preventing connection hijacking and domain spoofing
US10/683624 2003-10-10

Publications (2)

Publication Number Publication Date
CN1532758A true CN1532758A (zh) 2004-09-29
CN1532758B CN1532758B (zh) 2011-02-23

Family

ID=32777038

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2004100286823A Expired - Lifetime CN1532758B (zh) 2003-03-12 2004-03-11 协调减少非期望和非征求的电子邮件消息

Country Status (6)

Country Link
EP (2) EP1457905B1 (zh)
JP (2) JP4537738B2 (zh)
KR (3) KR101043550B1 (zh)
CN (1) CN1532758B (zh)
AT (1) ATE402454T1 (zh)
DE (1) DE602004015178D1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7552176B2 (en) 2003-03-12 2009-06-23 Microsoft Corporation Reducing unwanted and unsolicited electronic messages by exchanging electronic message transmission policies and solving and verifying solutions to computational puzzles
EP1922631B1 (en) * 2005-08-09 2015-04-15 Message Level, LLC System and method for preventing delivery of unsolicited and undesired electronic messages by key generation and comparison
DE102005046965B3 (de) * 2005-09-30 2007-02-15 Siemens Ag Verfahren und Anordnung zur Verifikation einer im Zuge einer Verbindungsanfrage zum Zweck des Aufbaus einer Sprach-Kommunikationsverbindung übermittelten Absenderadresse in einem IP-Kommunikationsnetzwerk
US8121624B2 (en) * 2006-07-25 2012-02-21 Alcatel Lucent Message spoofing detection via validation of originating switch
US8935766B2 (en) 2011-01-19 2015-01-13 Qualcomm Incorporated Record creation for resolution of application identifier to connectivity identifier
KR20170003112A (ko) 2015-06-30 2017-01-09 삼성전기주식회사 전력 반도체 모듈 및 그 제조 방법

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU8759098A (en) * 1997-07-24 1999-02-16 Tumbleweed Communications Corporation E-mail firewall with stored key encryption/decryption
US6199102B1 (en) * 1997-08-26 2001-03-06 Christopher Alan Cobb Method and system for filtering electronic messages
US6393465B2 (en) 1997-11-25 2002-05-21 Nixmail Corporation Junk electronic mail detector and eliminator
US6321267B1 (en) * 1999-11-23 2001-11-20 Escom Corporation Method and apparatus for filtering junk email
KR100316812B1 (ko) * 2000-03-09 2001-12-22 박춘우 온라인 광고를 위한 전자 우표 제공 시스템 및 그 운영 방법
DE10115428A1 (de) * 2001-03-29 2002-10-17 Siemens Ag Verfahren zum Erkennen einer unerwünschten E-Mail
JP2002334162A (ja) * 2001-05-11 2002-11-22 Yoshitsugu Tsujita 本人及び事物情報管理システム
US20030009698A1 (en) * 2001-05-30 2003-01-09 Cascadezone, Inc. Spam avenger
JP2003036230A (ja) * 2001-07-23 2003-02-07 Kobo Itonaga 電子メール等適切通信方法及び装置
KR100434672B1 (ko) * 2001-08-24 2004-06-07 김성주 약정코드를 이용한 스팸메일 차단방법
JP4007797B2 (ja) * 2001-11-14 2007-11-14 日本電信電話株式会社 迷惑メール防止方法及びその実施装置並びにその処理プログラムと記録媒体

Also Published As

Publication number Publication date
EP1457905A3 (en) 2005-06-08
JP2010198636A (ja) 2010-09-09
ATE402454T1 (de) 2008-08-15
KR101043550B1 (ko) 2011-06-21
DE602004015178D1 (de) 2008-09-04
KR101238527B1 (ko) 2013-02-28
EP1457905B1 (en) 2008-07-23
JP5079844B2 (ja) 2012-11-21
CN1532758B (zh) 2011-02-23
KR20120049194A (ko) 2012-05-16
KR20110009729A (ko) 2011-01-28
KR20040081345A (ko) 2004-09-21
JP4537738B2 (ja) 2010-09-08
EP1986144A2 (en) 2008-10-29
EP1986144A3 (en) 2009-02-04
KR101213935B1 (ko) 2012-12-20
EP1457905A2 (en) 2004-09-15
JP2004280827A (ja) 2004-10-07

Similar Documents

Publication Publication Date Title
CN1729460A (zh) 通信方法、通信系统、中继系统、通信程序、中继系统用程序、邮件发送的系统、方法及程序
CN1636365A (zh) 验证电子消息的传递和内容的系统及方法
CN1299222C (zh) 存在管理的实现
CN1222896C (zh) 用户简档数据的管理
CN1154935C (zh) 设备控制装置及设备判断方法
CN1653458A (zh) 验证电子消息的传递和内容的系统及方法
CN1154298C (zh) 分布式网络计算系统及该系统用的信息交换装置和方法
CN1160616C (zh) 用于检测并清除邮件附件中的计算机病毒的方法和系统
CN1918865A (zh) 生成和处理可任意处理的电子邮件地址的方法、系统以及计算机程序产品
CN1928861A (zh) 用于进行项目共享的即时通信客户机和方法
CN1720525A (zh) 电子发送消息的翻译
CN1864377A (zh) 邮件投递系统、邮件投递方法和邮件投递程序
CN1783792A (zh) 动态内容改变通知
CN1510875A (zh) 用于控制信息处理设备的系统和方法
CN1276575A (zh) 数据库存取系统
CN1711784A (zh) 用于发送sms以及文本消息的系统和方法
CN101052946A (zh) 用于控制对电子消息接收者的访问的系统和方法
CN1787495A (zh) 可靠地传输排队的应用程序消息
CN1574865A (zh) 移动通信终端及其计算机程序以及通信目的地的选择方法
CN1859332A (zh) 一种采用数据同步处理电子邮件的系统、装置及方法
CN1836235A (zh) 用于确定网络系统的用户之间的关系的系统和方法
CN1783083A (zh) 动态概要模块
CN1801727A (zh) 一种网络服务信息处理系统及方法
CN1422035A (zh) 密钥交换设备、方法、程序和记录这种程序的记录媒体
CN1450483A (zh) 信息处理装置及信息处理程序

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150423

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150423

Address after: Washington State

Patentee after: MICROSOFT TECHNOLOGY LICENSING, LLC

Address before: Washington State

Patentee before: Microsoft Corp.

CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20110223