具体实施方式
本发明提供一种用于认证在消息通信系统处接收到的消息的系统和方法。该方法包括通过检查所接收到的消息中的标识符,来验证所接收到的消息是用接收系统或是另一个已知系统发出的。
图1示出其中可实现本发明的合适的通用计算系统环境100的示例。计算系统环境100仅为合适的计算环境的一个示例,且并不旨在对本发明的使用范围或功能提出任何限制。也不应将计算环境100解释成对于示例性操作环境100中所示的组件中的任何一个或其组合具有任何依赖性或要求。
本发明可用许多其它通用或专用的计算系统环境或配置来操作。适用于本发明的公知的计算系统、环境、和/或配置的例子包括,但不限于,个人计算机、服务器计算机、手持式或膝上设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费者电子设备、网络PC、小型计算机、大型计算机、包括以上系统或设备的任一个的分布式计算环境等等。
本发明可在诸如程序模块等由计算机执行的计算机可执行指令的通用环境中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。本发明还可在分布式计算环境中实施,其中任务是由通过通信网络连接的远程处理设备来执行的。在分布式计算环境中,程序模块可位于包括记忆存储设备在内的本地和远程计算机存储介质中。
参考图1,用于实现本发明的一个示例性系统包括计算机110形式的通用计算设备。计算机110的组件可包括,但不限于,处理单元120、系统存储器130、以及将包括系统存储器在内的各个系统组件耦合到处理单元120的系统总线121。系统总线121可以是若干类型的总线结构中的任何一种,包括存储器总线或存储器控制器、外围总线、以及使用各种总线体系结构中的任何一种的局部总线。作为示例,而非限制,此类体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、扩展ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线、外围部件互联(PCI)总线(也称Mezzanine总线)。
计算机110通常包括各种计算机可读介质。计算机可读介质可以是计算机110可访问的任何可用介质,包括易失性和非易失性介质、可移动和不可移动介质。作为示例,而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以任何方法或技术实现的用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的易失性和非易失性,可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁存储设备、或可用于存储期望信息并可由计算机110访问的任何其它介质。通信介质通常具体化为诸如载波或其它传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据,并包括任何信息传送介质。术语“已调制数据信号”指以在信号中对信息编码的方式设置或改编其一个或多个特征的信号。作为示例而非限制,通信介质包括诸如有线网络或直接连线等有线介质,及诸如声学、RF、红外及其它无线介质等无线介质。以上的任意组合也应被包括在计算机可读介质的范畴内。
系统存储器130包括易失性和/或非易失性存储器形式的计算机存储介质,诸如只读存储器(ROM)131和随机存取存储器(RAM)132。包含诸如在启动期间在计算机110内部各元件间传送信息的基本例程的基本输入/输出系统133(BIOS)通常存储在ROM 131中。RAM 132通常包含可由处理单元120立即访问和/或当前正在操作的数据和/或程序模块。作为示例而非限制,图1示出了操作系统134、应用程序135、其它程序模块136及程序数据137。
计算机110还可包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图1示出读或写不可移动、非易失性磁介质的硬盘驱动器141、读或写可移动、非易失性磁盘152的磁盘驱动器151、以及读或写诸如CD-ROM或其它光介质等可移动、非易失性光盘156的光盘驱动器155。在示例性操作环境中可使用的其它可移动/不可移动、易失性/非易失性计算机存储介质包括,但不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等等。
硬盘驱动器141通常通过诸如接口140等不可移动存储器接口连到系统总线121,而磁盘驱动器151和光盘驱动器155通常通过诸如接口150等可移动存储器接口连到系统总线121。
以上讨论并在图1中示出的各驱动器及其相关联的计算机存储介质为计算机110提供了计算机可读指令、数据结构、程序模块及其它数据的存储。例如,在图1中,示出硬盘驱动器141存储操作系统144、应用程序145、其它程序模块146和程序数据147。注意,这些组件可以和操作系统134、应用程序135、其它程序模块136和程序数据137相同或者相异。此处给操作系统144、应用程序145、其它程序模块146和程序数据147不同的标号,以说明至少它们是不同的副本。用户可通过诸如键盘162和一般指鼠标、跟踪球或触摸垫的定位设备161等的输入设备来输入命令和信息到计算机110中。其它输入设备(未示出)可包括话筒、操纵杆、游戏垫、圆盘式卫星天线、扫描仪等等。这些及其它输入设备常通过耦合到系统总线的用户输入接口160连接到处理单元120,但也可通过其它接口和总线结构连接,诸如并行端口、游戏端口或通用串行总线(USB)等。监视器191或其它类型的显示设备也通过诸如视频接口190等接口连到系统总线121。除了监视器之外,计算机还可包括其它外围输出设备,诸如扬声器197和打印机196,它们可通过输出外围接口195连接。
计算机110可使用到诸如远程计算机180等一个或多个远程计算机的逻辑连接在联网环境中操作。远程计算机180可以是个人计算机、服务器、路由器、网络PC、对等设备或其它普通网络节点,且通常包括以上相对于计算机110所描述的许多或全部元件,尽管在图1中仅示出记忆存储设备181。图1描绘的逻辑连接包括局域网(LAN)171和广域网(WAN)173,但也可包括其它网络。诸如此类的网络环境常见于办公室、企业范围计算机网络、内联网和因特网。
当在LAN网络环境中使用时,计算机110通过网络接口或适配器170连到LAN 171。当在WAN网络环境中使用时,计算机110通常包括调制解调器172或用于通过诸如因特网等WAN 173建立通信的其它装置。可以是内置或外置的调制解调器172可经由用户输入接口160或其它适当的机制连到系统总线121。在联网环境中,相对于计算机110描绘的程序模块或其部分可存储于远程记忆存储设备中。作为示例而非限制,图1示出远程应用程序185驻留在存储器设备181中。可以理解,所示网络连接是示例性的,且可使用在计算机之间建立通信链路的其它装置。
图2示出向用户发送或从用户发来的各种类型的电子邮件消息。一般而言,在用户发起出站邮件消息,且涉及该出站消息的入站消息由该用户的消息通信服务所接收的情况下,该入站消息应被返回给该用户。此情形可以用三种一般方式表现:出站邮件消息由该出站消息的预期接收者回复;出站消息无法投递,因此该用户或收件人的消息通信系统生成未能投递报告;或者用户将消息定址到他/她自己。在图2的示例中,每个消息通信系统都被描述为一个电子邮件系统。但是,应当认识到,可从本发明中获益的消息通信系统并非仅限于电子邮件系统。例如,根据本发明,可使用任何能够根据即时描述来提供用于使用的潜在标识字段的消息通信系统,诸如短消息服务(SMS)和多媒体消息通信服务(MMS)。
第一种情形由向用户B发送原始出站电子邮件210的用户A示出。原始电子邮件将由用户A的消息通信系统202经由因特网50发送到用户B的系统。用户B生成回复电子邮件212,该回复邮件212经由因特网发送到用户A的消息通信系统202。因为原始电子邮件是由用户A生成的,且该电子邮件是有效的回复,所以用户A的系统应当总是将回复212传递给用户A。目前,取决于电子邮件域202上现用的垃圾消息过滤器的特性,无法确保回复212会到达用户A。本发明改正了此可能的假肯定。
第二种情形由用户B示出。在此情形中,用户B生成原始电子邮件216,该原始电子邮件216经由因特网发送到特定用户的目标邮件服务器。如果在目标邮件服务器中没有找到该用户,或该用户的限额超过规定的限制,则目标邮件服务器可生成未能投递报告218A并发送给用户B。(还可能在本地邮件服务器向目标邮件服务器投递邮件时,目标邮件服务器将报告一个协议级的错误,在该情形下NDR将由本地邮件服务器生成。)或者,如果电子邮件域202不能找到目标邮件服务器,则NDR218B由域202生成。在这两种情形下,因为NDR是响应于用户B的出站消息,所以用户B应接收该NDR。如上文所提及,垃圾消息过滤器可被训练成捕捉由于对用户D所示出的情形而产生的NDR:垃圾消息发送者可能生成伪造的NDR 214,它向用户发送垃圾内容或病毒。在此情形下,该NDR是伪造的,且消息通信系统应当过滤掉来自用户D的伪造NDR 214。
对于用户C示出最后一种情形——其中用户发送收件人为自己的电子邮件。例如,当用户在向其它人发送的电子邮件上复写他们自己时,可能发生这一情形。同样,因为原始电子邮件220是来自用户C的目标为他自己或他自己和(可能)其它人的出站消息,所以应确保该电子邮件被投递给用户D。因为垃圾消息发送者和病毒作者已开发出各种伪造电子邮件消息中的返回地址头部的技术,所以过滤器可能将向本人发送的电子邮件视为假肯定。
本发明通过在入站消息中使用潜在标识符来解决确认入站消息的问题,该标识符被捆绑到由消息通信系统生成的出站消息上。该标识符是潜在的,因为它存在于消息中,但却是由消息通信系统在不受用户干扰或甚至用户对此一无所知的情况下生成的。在一个实施例中,它使用现有的消息通信字段来携带该标识符。根据认可的消息通信标准,原始消息中的标识符在入站消息中被发回,并由消息通信系统用来特征化该消息。以此方式,经确认的消息可与未经确认的消息受到区别的对待。
图3概括地示出用于为每个电子邮件消息创建密码标识的方法。在步骤302,用户起草新的出站消息并将该消息提交给消息通信系统。接下来,在步骤304,消息通信系统使用密钥和来自该出站消息的元数据来构建密码ID。如以下将要讨论的,该密钥可以是对称或非对称密码的形式,并可用来验证所接收的消息中密码标识符的存在。最后,在步骤306,消息通信系统将附带密码标识符的电子邮件发送到其预期接收者。
图4A示出示例性的出站电子邮件402和回复电子邮件404。这些邮件在题为“Standard for the Format of ARPA Internet Text Messages”(ARPA因特网文本消息格式标准)的IETF请求注解(RFC)822和题为“Internet Message Format”(因特网消息格式)的RFC 2822中有描述。这些标准为在“电子邮件”消息的框架之内在计算机用户之间发送的文本消息指定了句法。RFC 2822取代了RFC822,对其进行更新以反映最新实践,并且结合了在其它RFC中指定的增加的改变。
如图4A中所示,出站消息包括若干必需的字段和若干可任选但推荐的字段。一个这样的可任选但强烈推荐的字段(在RFC 2822中被称为“应有”字段)是消息ID(Message-ID)字段。消息ID字段一般提供涉及特定消息的特定版本的唯一消息标识符。通常,消息标识符必须是对每一消息的全局唯一标识符。消息标识符的生成器必需确保消息ID是唯一的。回复404也包括其自身的消息ID,并且由于这是对消息402的回复,还包括“回复给(In-Reply-To)”字段404a。“回复给”字段包含消息402的唯一消息ID。和消息ID字段类似,根据RFC 2822,“回复给”字段也是“应有”字段。“回复给”字段将包含此消息所要回复的消息(“父”消息)的“消息ID”字段的内容。“回复给”字段将包含所有父“消息ID”字段的内容。如果在任何一个父消息中都没有“消息ID”字段,那么该新消息将没有“回复给”或“引用(References)”字段。
根据本发明,在出站消息的消息ID中结合了密码标识符。在本发明的一个实施例中使用的密码标识符的格式在图4B中示出,创建该密码标识符的方法在图4C中示出。
根据本发明,消息ID字段406将包括本地部分[本地部分]、随机数据字节[R]、加密的标识符[MAC]、一个或多个优化“提示”(包括接收者提示[RH]和时间间隔提示[TH])和版本信息[V]。在以下示例中,密码标识符至少包括加密ID,在本例中加密ID由消息认证码(MAC)组成。MAC一般被定义为通过将认证方案以及密钥应用于消息所获得的认证标签。一般而言,用同样的密钥来计算和验证MAC,从而使加密是“对称的”。但是,应当理解,以上描述中的加密ID可包括使用任何加密方法验证的任何数字标识符,包括数字签名,无论是对称还是非对称的。密码ID包括消息ID的各个部分和加密ID。本地部分和随机数据确保消息ID是唯一的。应当认识到,唯一性可由除了使用随机数据以外的其它手段来确保。提示用来加快消息的特征化,如下所述。这些提示为消息通信系统提供了关于是否要对加密标识符进行偶校验的快捷指示。在一个实施例中,接收者指示和账户名的所有字节异或(XOR)在一起是相同的。在一个实施例中,时间间隔提示可以是时间间隔标识符异或成一个字节。应当认识到,可使用任何缩减字节数来创建优化提示的方法,并且本发明不限于散列或XOR函数。时间间隔标识符可以只需是给定的一天的标识符,或时间的某一其它量化表示。如以下所讨论的,当接收到入站消息时检查范围间隔,因此ID具有生命周期值。在加密ID中使用随机数向散列添加了随机性。在一个实施例中,散列是该资料的SHA-1散列。利用版本标识符,使得签名组件可改变,同时允许接收系统适应此类改变。在替换实施例中,提示或版本标识符之一或其两者都不是必需的。
在图4B中,加密ID被标识为MAC。如图4C中所示,MAC是通过使用密钥资料416、发送账户名408(例如,User@domain.com)、量化的时间间隔标识符410和随机数据412的散列来生成的。密钥资料416对于安全性来说是根本的。发送账户名是该消息的发送用户的电子邮件地址。为创建MAC,串接若干随机字节(在此例中是5个随机字节)。接下来,将该散列与其自身异或(XOR)缩减成5个字节,然后附加上两个提示的两个单字节。此12字节的序列随后被十六进制(HEX)编码以防与非字母数字字符有任何兼容性问题,由此构成一个24字节的串。最后,将附加版本标识符,在一个实施例中它是十六进制编码的二进制的零。
在图4B的406处标识出构成消息ID的示例性密码ID各个部分。在前述示例中,用于生成散列的密钥资料被用来生成对照入站消息来测试的测试签名。如上文所提及的,根据本发明,可使用创建加密标识符的其它替换方案,包括诸如PKI签名等非对称加密替换方案。
一般而言,ID可由消息通信系统生成,该系统可包括邮件用户代理(MUA)和/或消息传输代理(MTA),以及各种过滤器和与MUA和MTA交互的其它应用程序。执行该方法,以用发送者默认决定参加该过程的方式来生成ID。
图5示出用于为特定用户确定所接收的消息是否有效的方法。当在步骤502接收到电子邮件时,步骤504首先确定是否存在密码标识符。确定是否存在加密标识符的步骤在图6中详述。因为不是所有消息通信系统都遵从RFC 822/2822的“应有”规范,所以如果不存在密码标识符,则消息仍可能是有效消息。关于如何处理不具有密码标识符的入站回复、NDR和收件人为自己的消息的决策应由消息通信系统的管理员或用户作出。根据该方法,如果密码ID不存在,则在步骤506根据用户、管理员或实现所定义的规范来处理不具有密码标识符的消息。在一个实施例中,系统管理员可选择将此类消息直接转发给“垃圾消息”过滤器、可将它们作为将在系统中处理的其它电子邮件消息来处理、可在用户收件箱中用不同的图标对它们进行标记、或可将它们定向到用户的专用文件夹。
如果确定密码ID存在,在步骤508,首先检查以确定优化提示是否有益,接着检查密码标识符。对于要测试的每个不同的接收者/时间组合,首先在步骤508检查这些提示以迅速标识不合格的消息。在步骤508,如果优化没有通过,同样,在步骤510,该电子邮件可按用户或系统管理员所定义的进行处理。应当注意,在步骤510,这样的处理可考虑到已知标识符无效、而不是如在步骤506中未知的事实。因此,对该消息的处理可更加否定。如果优化指示该电子邮件应受检查,则对照计算所得的签名值来检查密码标识符。
在步骤512,通过在散列计算中使用接收该电子邮件的账户(信封接收者)以及当前有效的时间间隔标识符范围产生有效的测试签名来生成测试,以特征化入站消息。随即将测试签名与所提取的ID进行比较。如果测试签名匹配消息ID中的签名,则在步骤514,该信息用于特征化该电子邮件为有效。如果不匹配,则在步骤516根据用户或管理员的指定对其进行处理。如果它通过处理,则在步骤518被发送给用户。该方法在步骤520完成。当前有效的时间间隔标识符范围是由消息通信系统用于防止垃圾消息发送者绕过该系统的范围。每一签名被给予一生命周期。此生命周期是在当消息ID被返回给系统时所检查的范围中定义的。可在任何时间范围内配置此签名生命周期,其中一个例子是1到30天。
图6示出为用于各类电子邮件提取消息ID的方法。当在步骤602接收到电子邮件,在步骤604检查该邮件以确定其是否是未能投递报告。NDR是根据IETI RFC1894“An Extensible Message Format for Delivery Status Notifications(DSNs)”(投递状态通知(DSN)的可扩展消息格式)来定义的。DSN可用于向消息的发送者通知以下各种条件中的任意一种:失败的投递(NDR)、延迟投递、成功投递等等。如果消息是NDR(如由“◇”的“返回路径:(Return-Path)”和/或“multipart/report;report-type=delivery-status”的消息“内容类型:(Content-Type)”所确定的),则确定根据RFC 1894来自所附消息的消息ID。如果入站消息不是NDR,则在步骤608进行测试以确定该消息是否是回复消息。如果是,则在步骤610,使用入站消息中的“回复给”字段。在一个实施例中,仅检查第一个“回复给”字段。这防止垃圾消息发送者使用蛮力攻击来攻击实现本方法的系统。如果消息不是回复,则在步骤612对照所有接收者检查消息ID字段以确定这是否是收件人为自己的电子邮件。这在步骤612将入站消息标识为收件人为自己的电子邮件。如果未满足任何条件,则在步骤616确定密码标识符不存在。
图7示出适用于实施本发明的消息通信系统。该消息系统可包括一个或多个用户设备700、710,一个消息通信服务器750和一个或多个服务接口702、704、706。设备700、710和750均可由如图1中所述的一个或多个处理设备100组成。服务器750可包括消息传输代理720,它将消息通信数据传输到消息数据存储730。垃圾消息过滤器应用程序740可与消息传输代理720结合,或可联合传输代理操作,以在消息由消息传输代理处理之前或之后过滤垃圾消息。在一个实施例中,邮件服务器750包括ID模块应用程序,该应用程序包括使处理设备实现以上相对于图3-6所描述的方法的指令。ID模块725可被并入消息传输代理720或与其协作。每个用户设备都可包括邮件用户代理712,它将出站消息传输到邮件服务器750,并将入站消息传输到本地数据存储716。可任选地,可通过将ID模块714结合到用户的处理设备中,在邮件用户代理处执行以上所描述的各个方法。在一个实施例中,ID模块可配合遵从MIME的MTA使用,并可被并入由消息传输代理编译的至少一个源代码文件和可提供以下功能的头文件中:
·初始化密钥、随机数据;
·使用账户名来生成消息ID,并输出加密的消息ID;
·使用“回复给”的值和接收者来确认是否是有效消息;
·使用“回复给”的值和接收者来确认是否是有效回复;
·使用消息ID和接收者来确认是否是有效NDR。
可在MTA中提供MIME语法分析器,以允许库从NDR中取得内容类型、MIME部分和原始消息ID。还可使用其它替换方案。
对由其密码标识符特征化的消息的后续处理可采取若干种形式。但是,因为某些类型的电子邮件系统不依赖于RFC 822/2822“应”指定的“回复给”或“引用”行为,不能单方面地对不包含密码标识符的消息进行敌对处理。但是,可确认和确知包含标识符的消息是来自始发的电子邮件域系统。
一旦系统已特征化了消息,该信息即可用于以若干方式来处理该消息。在一个示例中,可肯定地使用该信息——处理可包括允许“有效的”消息绕过垃圾消息过滤器。此外,可使用已知的“有效”签名以便于监视和度量消息通信系统。例如,可将已知的“有效”消息提交给垃圾消息过滤器,并确定这些过滤器的假肯定率。此外,可将验证过程作为投诉验证过程的一部分来使用。发送到接收者的被指控来自实现本发明的验证方法的特定消息通信系统的消息可被确切地确定来自或并非来自该系统。在又一个替换方案中,可基于测得的垃圾消息过滤器的性能与已知的有效消息的关系来调整过滤器的处理。同样,可通过基于测得的假肯定仅在一部分时间运行垃圾消息过滤器来节省处理设备上的处理时间。
此外,对系统中的垃圾消息,可使用关于非垃圾消息行为的度量。可使用用户行为模式的推断来测量总的非垃圾消息入站通信量。
消息的特征化可导致对消息的肯定或否定处理。在消息被确定为有效时,后续处理可包括在“自动安全”列表上自动提供回复用户。安全列表是垃圾消息过滤器所存储的允许绕过垃圾消息过滤器的已知电子邮件发送者的列表。系统可自动向此列表添加已确认的消息。或者,可用独特的图标向用户显示被标记为有效或无效的消息。
当对经特征化的消息进行否定处理时,必需注意,要认识到并非能够生成回复或NDR的所有消息通信系统都遵从RFC 822/2822。还可想到,可能接收到密码标识符落在时间范围以外的有效回复。因此,可基于前述的各种度量,可以使对未经确认的入站消息的否定处理成为概率性的。
尽管本发明的系统使用包含密码标识符的消息ID作为电子邮件消息的组件,但是可以利用其它字段或消息组件。消息ID字段是有利的,因为一般确保它是随回复、NDR或收件人是自己的电子邮件被返回的。此外,尽管本发明的系统利用某些组件来构建MAC,但是可利用其它组件。可在消息认证生成散列中使用的元素包括账户名、账户的域名、消息发送的时间、消息的主题、消息主题中包括主题的最后若干字符的一部分、或其它组件。在另一个实施例中,仅检查RFC 822/2822“回复给:”头部。在又一个实施例中,仅将RFC 1894消息视为正确的不合格报告。
在另一个实施例中,应当理解,上述提示是可任选的。在又一个实施例中,不使用对称散列。相反,使用可用来认证消息发送者身份的其它签名。非对称加密包括两个单独的密钥,其中一个可用来对密码标识符进行解密。还应认识到,生成密码标识符的系统不必是验证该密码标识符的消息通信系统。密钥信息可与其它可信电子邮件实体共享,以允许这些实体验证该电子邮件为来自另一个可信或已知系统。
在又一个实施例中,密钥资料可被分成一个代码密钥和一个单独的保密密钥。以此方式,该代码可被内建到电子邮件域中所使用的电子邮件服务器中,使得试图窃取密钥的潜在攻击者必须窃得代码密钥和保密密钥(两个独立的元素)才能成功。在一个实施例中,消息通信服务器是用于诸如MicrosoftHotmail等服务的基于web的电子邮件域。在此类情形下,可使用特征化方法来对出站邮件日志进行检查以优化系统的垃圾消息过滤器。
如上文所提及的,在一个方面,密钥信息被分成保密密钥和代码密钥。在这一实施例中,保密密钥和代码密钥在生成和接收电子邮件的所有计算机(认可的系统)之间共享。但是,知悉此密钥将使垃圾消息发送者向所有域用户发送免受反垃圾消息过滤的消息。这将使垃圾消息发送者产生入侵域邮件服务器的念头。类似的情形可包括攻击者在域服务器之一中安装后门,并在其获得更新的任何时候窃取密钥。入侵将不会被检测到,除非垃圾消息发送者因对过多数量的域用户发送垃圾消息而暴露。
保护域免受此威胁的一种方法是在不同的服务器机器上使用不同的密钥。这允许一旦检测到入侵即可轻易地废除密钥。在另一个实施例中,携带有效标识符的消息可接受随机检查,并且破坏可被自动检测到。
可用若干种方法完成不同机器之间的密钥分用。在一方面,这可通过使用签名来实现。签名是用私钥(仅存储在出站服务器上)生成并用公钥(存储在入站服务器上)来验证的。可能有多少个传出服务器就会有多少个私钥-公钥对。称为群签名的一类特殊的签名通过使可被独立废除和更新的大量私钥共享同一个公钥来简化密钥管理。在此情形中,每个出站服务器都有其自己的私钥(对攻击者很有价值,但能轻易废除),且所有入站服务器共享同一个(低安全性)公钥。对系统的成功攻击将在时间和范围上受到限制,因为通过手动地入侵一个出站服务器,攻击者仅仅获得对该服务器密钥的临时访问。
不涉及公钥密码的一种较简单的方法是使MAC密钥依赖于出站服务器(主机)。用于该方法的一种机制是令密钥成为保密密钥“K”、主机名和计数器的散列。主机接收彼此独立的密钥。入站服务器具有保密密钥,并可为每个主机重新计算密钥。通过为每个主机重新计算密钥,将高安全性密钥分发到入站服务器受到限制。如同在前一实施例中,主机密钥可被独立更新。
本发明的以上详细描述是出于说明和描述的目的而给出的。它不是穷举性的或将本发明限于所揭示的精确形式。根据以上教导,许多修改和变体都是可能的。
选择所描述的实施例是为了最好地解释本发明的原理及其实际应用,从而使本领域的其它技术人员能够以适合所构想的特定用途的各种实施例和各种修改来最好地利用本发明。本发明的范围旨在由所附权利要求书定义。