使用电子邮件的公共信息认证交换的制作方法

文档序号:7615970阅读:175来源:国知局
专利名称:使用电子邮件的公共信息认证交换的制作方法
技术领域
本发明一般涉及信息安全领域,尤其涉及认证协议。
背景技术
连接到因特网的计算机之间的一种常见的通信形式遵循行业中被称为客户机—服务器的范例。例如,现有服务器是电子邮件服务器、web服务器、文件服务器、联机银行服务器等等。客户机包括家用个人计算机、办公室个人计算机、膝上计算机、手持式设备、无线数字电话等等。各种客户机设备连接到各种服务器设备并与其交互。在这一模型中,不同的服务器采用其自己的认证和授权与其连接的客户机的方式。例如,某些电子邮件服务器签发并使用预注册的身份来认证和授权。某些银行组织使用其自己的成员标识和密码数据库来完成认证和授权。因此,一给定的客户机设备(如家里的个人计算机)需要符合它所连接并交互的不同服务器实施的不同认证方法。在客户机—服务器模型中,两个正在交互的计算机如何相互“认可”的主要问题当前通过令服务器计算机在客户机计算机上单边地实施其优先选择来解决。
尽管上述模型对客户机—服务器交互能够起很好的作用,然而对于各种客户机本身之间的交互,它变得不切实际。各种客户机设备之间的这一交互的行业术语被称为对等(P2P)通信。在这一情况下,没有一个客户机能够在另一个上强制实施其认证优先选择。例如,考虑第一用户Alice希望与同样具有个人计算机的第二用户Bob共享并交换来自她的个人计算机的视频和图片的需求。Bob可能希望认证Alice,以确信视频和图片的确由她发送,而非由冒名顶替者发送。
另外,Alice可能希望使用诸如RSA等加密技术来安全地发送视频和图片,使得窃听者无法察看到视频或图片。RSA是一种公钥密码技术,由此,任何人可以对给定的用户用该用户的公钥加密数据,但是仅用户能够通过使用对应的私钥来解密该数据。由此,Alice和Bob需要首先交换其各自的公钥以对每一RSA算法建立安全通道。交换公钥不是平凡的任务。恶意的黑客Charlie能够试图居于密钥交换通信的“中间”。Charlie向Alice发送其自己的公钥,但是假装他是Bob;他向Bob发送其自己的公钥,但是假装他是Alice。如果这一初始密钥交换通信本身是不安全的,则Alice和Bob没有简单的方法来认识到Charlie正“在中间”。如果他们倾心于Charlie的手法并且开始使用他的密钥进行通信,则他可以担当中间人,并传递Alice和Bob之间的所有通信,但是他能够窃听到来回传递的所有内容。当然,他可以通过改变所传递的内容而令这一情况变得更糟。
由此,Alice和Bob具有他们如何能够确信地将公钥交换“用程序引导(bootstrap)”到其通信会话上的问题。更一般地,P2P设置中的程序引导问题涉及交换任一种类的公共数据或数字对象,使得接收者确信它来自声称的发送者。

发明内容
本发明的实施例使用流行的简单邮件传输协议(SMTP)用于电子邮件交换,以解决计算机身份的程序引导问题,用于P2P通信。通常,这是使用诸如RSA等通过物理上不安全的网络建立逻辑上安全的通信信道的算法的先决条件。采用RSA算法,程序引导问题是如何令两个对等计算机交换其相互的公钥,而没有第三方调停(如证书授权机构)的问题。采用其它算法或技术,这一程序引导中涉及的数据可以是不同的,但是以没有电子欺骗(spoofing)的置信度交换某些公共数据的基本问题是相同的。
本发明的实施例使用现有的电子邮件协议,如SMTP来认证公共信息的交换。如果电子邮件协议是强壮的,即向给定地址发送电子邮件消息导致消息以高致信程度到达该地址,则依照本发明的实施例执行的公共信息交换被认证。
在本发明的一个方面,提供了一种方法用于认证数字对象的发送者,包括生成第一唯一标识符(UID)、通过电子邮件协议将包括第一UID的第一消息发送到先前已知的地址、通过电子邮件协议接收包括第二UID和第一UID副本的第二消息、以及通过电子邮件协议将包括第二UID副本的第三消息发送到先前已知的地址,其中,发送到先前已知的地址的消息中的至少一个还包括该数字对象。在本发明的一个实施例中,该数字对象是用于密码系统的公钥。在本发明的实施例中,电子邮件协议包括运行简单邮件传输协议(SMTP)的邮件服务器。
在本发明的另一方面,提供了一种方法用于认证数字对象的发送者,包括通过电子邮件协议接收包括第一唯一标识符(UID)的第一消息、生成第二UID、通过电子邮件协议将包括第二UID和第一UID副本的第二消息发送到先前已知的地址、以及通过电子邮件协议接收包括第二UID副本的第三消息,其中,接收到的消息中的至少一个还包括该数字对象。在一个实施例中,该数字对象是用于密码系统的公钥。在本发明的实施例中,电子邮件协议包括运行简单邮件传输协议(SMTP)的邮件服务器。
在本发明的另一方面,提供了一种包括计算机可执行指令的计算机可读介质,计算机可执行指令用于方便验证数字对象的发送者,计算机可执行指令执行以下步骤生成第一唯一标识符(UID)、通过电子邮件协议将包括第一UID的第一消息发送到先前已知的地址、通过电子邮件协议接收包括第二UID和第一UID副本的第二消息、以及通过电子邮件协议将包括第二UID副本的第三消息发送到先前已知的地址,其中,发送到先前已知的地址的消息中的至少一个还包括该数字对象。在本发明的实施例中,数字对象是用于密码系统的公钥。在本发明的实施例中,电子邮件协议包括运行简单邮件传输协议(SMTP)的邮件服务器。
从另一方面来观察,本发明包括一种装置,用于认证数字对象的发送者,它包括生成第一唯一标识符(UID)的随机数生成器、通过电子邮件协议将包括第一UID的第一消息发送到先前已知的地址的网络接口、通过电子邮件协议接收包括第二UID和第一UID副本的第二消息的网络接口、以及通过电子邮件协议将包括第二UID副本的第三消息发送到先前已知的地址的网络接口,其中,发送到先前已知的地址的消息中的至少一个还包括该数字对象。


尽管所附权利要求书用细节阐明了本发明的特征,然而结合附图阅读以下详细描述,可以最好地理解本发明及其优点,附图中图1所示是依照本发明的一个实施例用于实现认证协议的计算装置的示例性体系结构的简化示意图;图2是依照本发明的一个实施例用于认证数字对象的发送者的一个示例性网络通信方案;图3示出了依照本发明的一个实施例用于认证的示例性组件体系结构;图4示出了依照本发明的一个实施例用于发送和认证的示例电子邮件消息;图5描述了依照本发明的一个实施例用于认证数字对象的发送者的协议的流程图;图6所示是依照本发明的一个实施例用于认证数字对象的发送者的发送者采用的方法的流程图;以及图7所示是依照本发明的一个实施例用于认证数字对象的发送者的接收者采用的方法的流程图。
具体实施例方式
现在将参考若干实施例描述支持使用电子邮件的安全密钥交换的方法和系统;然而,本发明的方法和系统不限于所示的实施例。此外,本领域的技术人员将很容易理解,此处所描述的方法和系统仅为示例性的,并且可以在不脱离本发明的精神和范围的情况下作出各种变化。
结合附图阅读以下详细描述,可以完全理解本发明。在本描述中,相同的标号指本发明的各种实施例中相似的元素。本发明被示出为在一合适的计算环境中实现。尽管并非所需,但本发明将在诸如由个人计算机执行的过程等计算机可执行指令的一般上下文环境中描述。一般而言,过程包括程序模块、例程、程序、对象、组件、数据结构等等,执行特定的任务或实现特定的抽象数据类型。此外,本领域的技术人员可以理解,本发明可以用其它计算机系统配置来实施,包括手持式设备、多处理器系统、基于微处理器或可编程消费者电子设备、网络PC、小型机、大型机等等。本发明也可以在分布式计算环境中实践,其中,任务由通过通信网络连接的远程处理设备来执行。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备中。术语计算机系统可用于指诸如在分布式计算环境中找到的计算机的系统。
图1示出了适合在其中实现本发明的计算系统环境100的一个示例。计算系统环境100仅为合适的计算环境的一个示例,并非暗示对本发明的使用范围或功能的局限。也不应将计算环境100解释为对示例性操作环境100中示出的任一组件或其组合具有依赖或需求。尽管本发明的一个实施例的确包括示例性操作环境100中示出的每一组件,然而本发明的另一更典型的实施例排除了非必需的组件,如除网络通信所需要的那些之外的输入/输出设备。
参考图1,用于实现本发明的示例性系统包括计算机110形式的通用计算装置。计算机110的组件可包括但不限于,处理单元120、系统存储器130以及将包括系统存储器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。基本输入/输出系统133(BIOS)包括如在启动时帮助在计算机110内的元件之间传输信息的基本例程,通常储存在ROM 131中。RAM 132通常包含处理单元120立即可访问或者当前正在操作的数据和/或程序模块。作为示例而非局限,图1示出了操作系统134、应用程序135、其它程序模块136和程序数据137。
计算机110也可包括其它可移动/不可移动、易失/非易失计算机存储介质。仅作示例,图1示出了对不可移动、非易失磁介质进行读写的硬盘驱动器141、对可移动、非易失磁盘152进行读写的磁盘驱动器151以及对可移动、非易失光盘156,如CD ROM或其它光介质进行读写的光盘驱动器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给予不同的标号来说明至少它们是不同的副本。用户可以通过输入设备,如输入板或电子数字化仪164、麦克风163、键盘162和定位设备161(通常指鼠标、跟踪球或触摸板)向计算机110输入命令和信息。其它输入设备(未示出)可包括操纵杆、游戏垫、圆盘式卫星天线、扫描仪等等。这些和其它输入设备通常通过耦合至系统总线的用户输入接口160连接至处理单元120,但是也可以通过其它接口和总线结构连接,如并行端口、游戏端口或通用串行总线(USB)。监视器191或其它类型的显示设备也通过接口,如视频接口190连接至系统总线121。监视器191也可以与触摸屏面板或其类似物集成。注意,监视器和/或触摸屏面板可以物理地耦合至包含计算装置110的外壳,如图形输入板类型的个人计算机。另外,诸如计算装置110的计算机也可包括其它外围输出设备,如扬声器197和打印机196,通过输出外围接口194或其类似物连接。
计算机110可以在使用到一个或多个远程计算机,如远程计算机180的逻辑连接的网络化环境中操作。远程计算机180可以是个人计算机、服务器、路由器、网络PC、对等设备或其它公用网络节点,并通常包括许多或所有上述与计算机110相关的元件,尽管在图1中仅示出了存储器存储设备181。图1描述的逻辑连接包括局域网(LAN)171和广域网(WAN)173,但也可包括其它网络。这类网络环境常见于办公室、企业范围计算机网络、内联网以及因特网。例如,在本发明中,计算机110可包括从其移植数据的源机器,而远程计算机180可包括目标机器。然而注意,源机器和目标机器不需要通过网络或任何其它装置来连接,相反,数据可以通过能够由源平台写入并由一个或多个目标平台读取的任一介质来移植。
当在LAN网络环境中使用时,计算机110通过网络接口或适配器170连接至LAN 171。或者,计算机110包含按如802.11b协议运行的无线LAN网络接口,从而允许计算机在没有物理连接的情况下连接到LAN 171。当在WAN网络环境中使用时,计算机110通常包括调制解调器172或其它装置,用于通过WAN 173,如因特网建立通信。调制解调器172可以是内置或外置的,通过用户输入接口160或适当的机制连接至系统总线121。或者,计算机110包含通过例如通用分组无线业务(GPRS)运行的无线WAN网络接口,从而允许计算机在没有物理连接的情况下连接到WAN 173。在网络化环境中,描述的与计算机110相关的程序模块或其部分可储存在远程存储器存储设备中。作为示例而非局限,图1示出了远程应用程序185驻留在远程设备181中。可以理解,示出的网络连接是示例性的,也可以使用在计算机之间建立通信链路的其它装置。或者,计算机110的变种可以被结合到用于实现本发明的其它示例性系统中,如蜂窝电话、个人数字助理等等。
本发明潜在地被结合到用于各种联网环境的计算装置/机器中。转向图2,描述了可在其中利用本发明的联网环境的一个简单示例。希望通过电子邮件向用户“B”发送其公钥的用户“A”使用的第一计算机202与邮件服务器204通信。计算机202包含,例如邮件应用程序,用户“A”用它来编写消息并将它们发送到邮件服务器204。邮件服务器204使用已知且已接受的邮件协议,如简单邮件传输协议(SMTP)来发送电子消息。由用户“A”创建的消息通常包含“userB@domain.com”形式的接收者地址。本示例中“@”符号右边的字符“domain.com”构成域名,它是接收用户“B”的邮件的计算机的逻辑域名。邮件服务器204通过查询域名系统(DNS)服务器206获取逻辑地址的对应物理地址。DNS服务器206属于分布式DNS服务器的分层结构,它担当逻辑地址和物理地址之间的映射服务。物理地址采用互联网协议(IP)地址的形式,它标识了因特网210上的计算机208。本发明的实施例通过使用传输层安全性在发送邮件服务器204和接收邮件服务器212之间建立了安全的通信信道,由此确保了两个服务器之间的通信无法被窃听。邮件服务器204使用TCP/IP协议发送具有所获取的物理地址的电子消息,促使它通过因特网210路由。消息到达与该IP地址相关联的计算机208,该地址担当用户“B”的邮件服务器。消息的预期接收者用户“B”使用计算机212来获取预期供他使用的电子邮件消息。计算机212与邮件服务器208通信并接收适当的消息。类似地,当用户“B”试图通过因特网210发送电子消息时,邮件服务器208查询DNS服务器214以获取预期接收者的物理地址。
图3示出了依照本发明的一个实施例在用户计算机202上执行的一组软件组件。用户与邮件应用程序302交互以发送和接收电子邮件消息。一个示例性邮件应用程序是华盛顿州雷蒙德市微软公司的Outlook。邮件应用程序302发送和接收文本和二进制文件两者,如可执行程序、文档或其它文件。邮件应用程序302发送或接收的单个消息可包含文本、二进制文件或两者。本发明的实施例方便了如RSA密码方案中使用的公钥的交换。在这一方案中,用户数学地创建两个密钥私钥304和公钥306。用户令公钥306对任何人可用,而保持私钥304机密。尽管任何人可以使用公钥306加密消息,然而仅私钥304的持有者能够解密经加密的消息。该方案的数学性质也允许用户通过用其私钥304加密消息来数字地“签署”消息。持有公钥306的任何人可以解密该消息以验证它由用户书写。示例性RSA方案在美国专利4,405,829中有完整的描述,其通过引用整体结合于此。在本发明的一个实施例中,用户计算机202包含加密/解密引擎308,用于操纵涉及私钥304和公钥306的加密和解密操作。
本发明的实施例也包含随机数生成器310。随机数生成器310较佳地产生一串比特,使得在给定该序列的任何其它比特时预测该序列的任一比特实际上是不可能的。由此,并不需要该序列是真正随机的,但是该序列必须在足够的不可预测程度上看似为随机的。实施例调用由微软开发者网络提供的诸如UuidCreate函数等函数,它们使用利用算法的伪随机数生成器来生成全局唯一标识符。
图4示出了如本发明的一个实施例中所使用的具有头部的典型电子邮件消息400。在本发明的实施例中,电子邮件消息的格式符合RFC 822。在示例消息400中,声称具有地址“john@uchicagox.edu”的发送者向地址“arf@arfdomainx.com”的接收者发送包含Microsoft Excel文件401的消息。也可选地附加其它附件,如用于密码协议的公钥。消息顶部的若干头部402包含跟踪从发送者到接收者的消息400的路由的路由信息。发送者在“From(自)”头部404中指示他的名字是“JohnSmith”,其地址是“john@uchicagox.edu”。发送者也在消息正文的签名字段405中确认这是他的地址。然而,其它头部,如“Received(接收)”头部406和“Retrun-Path(返回路径)”头部408指示该消息实际上是从一个不同的地址“john@realaddress.org”发送的。实际上,指示发送者地址的头部可以用可变的难度来伪装或“电子欺骗”。对于某些消息,机智的发送者可电子欺骗返回地址,以使得用确定性来确定发送者的实际地址是不可能的。换言之,消息接收者并不总是能够确信消息实际上来自声称的发送者。
消息400也包含“To(至)”头部410。“To”头部410指示消息应当被发送到何处,在本情况中为“arf@arfdomainx.com”。与“From”头部404、405、406和408不同,“To”头部很难电子欺骗。即,如果发送者向“To”字段中写明地址的接收者发送消息,则可以很高程度地确信该消息将到达该接收者,并且不会被重新定向到别处。
转向图5,依照本发明的一个实施例描述了一种方法,其中,联网计算机的两个用户A和B交换公钥,使得其每一个都信任另一个的真实性。该方法假定两个计算机的每一用户具有另一用户的电子邮件地址的先验知识。在步骤502,由用户A使用的第一计算机使用一随机或伪随机数生成器生成一唯一标识符UID1。该唯一标识符足够大,使其很难猜测。实际上,128比特足以确保该标识符是唯一的。在步骤504,第一计算机储存由用户B的电子邮件地址索引的UID1。在步骤505,第一计算机通过使用先前已知的用户B的电子邮件地址将UID1连同用户A的公钥一起发送给第二计算机。
在步骤506,第二计算机接收该消息,并储存UID1的副本、用户A的公钥以及该消息的“From”字段中列出的电子邮件地址。作为示例,在步骤508,第二计算机然后使用一随机或伪随机数生成器来创建一唯一标识符UID2。UID2较佳地在长度上至少为128比特。在步骤510,第二计算机将用户B的公钥连同UID2和UID1的副本一起发送给第一计算机。然而,该消息是使用用户A的先前已知的地址来寻址的,而不管第一消息的“From”或“Reply To”字段中的任何返回电子邮件地址。
在步骤512,第一计算机从第二计算机接收消息,并使用“From”字段中的电子邮件地址来索引本地储存的UID1,以验证UID1的副本是准确的。在步骤514,用户A然后信任从用户B接收的公钥是真实的(即,它的确来自用户B)。在步骤516,第一计算机然后将UID2的副本发送回用户B。
在步骤518,第二计算机接收消息,并使用“From”字段中的电子邮件地址来索引本地储存的UID2,以验证UID2的副本是准确的。在步骤520,用户B然后信任从用户A接收的公钥是真实的(即,它的确来自用户A)。
图6依照本发明的一个实施例示出了一种方法,它使用电子邮件来发送用户的公钥,使得接收者确信公钥来自该用户。在步骤602,用户首先使用例如随机或伪随机数发生器生成一唯一标识符(UID1)。该唯一标识符足够大,使其很难被猜测。实际上,128比特足以确保该标识符是唯一的。在步骤604,用户向接收者的先前已知的地址发送包含其公钥和UID1的电子邮件消息。在步骤606,用户监控包含第二唯一标识符UID2的适时响应。在某些实施例中,用于在步骤606监控的时间间隔可由用户配置。如果未接收到适时响应,则用户再次在步骤602开始。否则,用户在步骤608核查该响应包含UID1的副本。如果UID1的副本是不正确的,则用户在步骤602再次开始。否则,用户在步骤610向接收者发送包含UID2的副本的电子邮件。
图7依照本发明的一个实施例示出了一种方法,它使用电子邮件来接收发送者的公钥,使得用户能够确信公钥的确来自该发送者。用户在步骤702接收包含公钥和唯一标识符UID1的电子邮件。尽管该消息包含标识发送者的“From”字段,然而用户不能确信该消息的确来自声称的发送者。用户在步骤704使用随机或伪随机数发生器生成唯一标识符UID2。他在步骤706仅通过使用发送者的先前已知的地址将包含UID2和UID1的副本的电子邮件消息发送给声称的发送者。在步骤708,用户监控适时响应。在某些实施例中,用于在步骤708监控的时间量可由用户配置。如果未接收到适时响应,则用户在步骤710结束协议。或者,如果未接收适时响应,则用户在步骤706重新发送包含UID2和UID1的副本的消息。否则,在步骤712,用户检查该相应是否包含UID2的相应。如果UID2的副本是不正确的,则该协议在步骤710结束。否则,用户确信公钥的确来自声称的发送者,并在步骤714开始信任该密钥。
本发明的实施例还允许除公钥之外的数字对象的交换。例如,第一用户可使用本发明的实施例向第二用户发送文档,使得第二用户确信的确是发送该文档的第一用户。更一般地,本发明的实施例通过将对象“用程序引导”到电子邮件,启用了同时具有数字对象发送的各方之间的认证。在数字对象是公钥的情况下,经认证的密钥可以随后用于各方之间的安全通信。
鉴于可应用本发明的原理的许多可能的实施例,应当认识到,此处相对于附图所描述的实施例仅意味着说明性的,并不应作为对本发明的范围的局限。例如,本领域的技术人员将认识到,可以在不脱离本发明的精神的情况下在排列和细节上修改所示的实施例。尽管本发明是按照软件模块或组件来描述的,然而本领域的技术人员将认识到,这也可以用硬件组件来等效替换。因此,此处描述的本发明考虑所有这样的实施例都落入所附权利要求书及其等效技术方案的范围之内。
权利要求
1.一种用于认证数字对象的发送者的方法,其特征在于,包括生成第一唯一标识符(UID);通过一电子邮件协议将包括所述第一UID的第一消息发送到一先前已知的地址;通过所述电子邮件协议接收包括所述第一UID的副本和第二UID的第二消息;以及通过所述电子邮件协议将包括所述第二UID的副本的第三消息发送到所述先前已知的地址;其中,发送到所述先前已知地址的消息中的至少一个还包括所述数字对象。
2.如权利要求1所述的方法,其特征在于,所述第一消息还包括所述数字对象。
3.如权利要求1所述的方法,其特征在于,所述第三消息还包括所述数字对象。
4.如权利要求1所述的方法,其特征在于,所述数字对象是用于密码系统的公钥。
5.如权利要求4所述的方法,其特征在于,所述第二消息还包括用于密码系统的第二公钥。
6.如权利要求1所述的方法,其特征在于,所述电子邮件协议包括运行简单邮件传输协议(SMTP)的邮件服务器。
7.如权利要求1所述的方法,其特征在于,所述电子邮件协议的至少一部分使用传输层安全性(TLS)协议来安全地运作。
8.如权利要求1所述的方法,其特征在于,所述第一UID包含至少128个比特。
9.一种用于认证数字对象的发送者的方法,其特征在于,包括通过一电子邮件协议接收包括第一唯一标识符(UID)的第一消息;生成第二UID;通过所述电子邮件协议将包括所述第二UID和所述第一UID副本的第二消息发送到一先前已知的地址;以及通过所述电子邮件协议接收包括所述第二UID副本的第三消息;其中,所接收的消息中的至少一个还包括所述数字对象。
10.如权利要求9所述的方法,其特征在于,所述第一消息还包括所述数字对象。
11.如权利要求9所述的方法,其特征在于,所述第三消息还包括所述数字对象。
12.如权利要求9所述的方法,其特征在于,所述数字对象是用于密码系统的公钥。
13.如权利要求12所述的方法,其特征在于,所述第二电子邮件消息还包括用于密码系统的第二公钥。
14.如权利要求9所述的方法,其特征在于,所述电子邮件协议包括运行简单邮件传输协议(SMTP)的邮件服务器。
15.如权利要求9所述的方法,其特征在于,所述电子邮件协议的至少一部分使用传输层安全性(TLS)协议来安全地运作。
16.如权利要求9所述的方法,其特征在于,所述第一UID包含至少128个比特。
17.一种包括便于验证数字对象的发送者的计算机可执行指令的计算机可读介质,其特征在于,所述计算机可执行指令执行以下步骤生成第一唯一标识符(UID);通过一电子邮件协议将包括所述第一UID的第一消息发送到一先前已知的地址;通过所述电子邮件协议接收包括第二UID和所述第一UID副本的第二消息;通过所述电子邮件协议将包括所述第二UID副本的第三消息发送到所述先前已知的地址;其中,发送到所述先前已知的地址的消息中的至少一个还包括所述数字对象。
18.如权利要求17所述的计算机可读介质,其特征在于,所述数字对象是用于密码系统的公钥。
19.如权利要求18所述的计算机可读介质,其特征在于,所述第二消息还包括用于密码系统的第二公钥。
20.一种用于认证数字对象的发送者的装置,其特征在于,包括一随机数生成器,它生成第一唯一标识符(UID);一网络接口,它通过一电子邮件协议将包括所述第一UID的第一消息发送给一先前一致的地址;所述网络接口通过所述电子邮件协议接收包括第二UID和所述第一UID副本的第二消息;以及所述网络接口通过所述电子邮件协议将包括所述第二UID副本的第三消息发送到所述先前已知的地址;其中,发送到所述先前已知的地址的消息中的至少一个还包括所述数字对象。
全文摘要
提供了使用诸如SMTP等现有电子邮件传输协议以认证方式交换数字对象的方法和系统。所提供的方法和系统通过认证公共信息的交换解决了P2P通信的计算机身份的程序引导问题。如果电子邮件协议是强壮的,即向给定的地址发送电子邮件消息将导致该消息以高置信程度到达该地址,则依照本发明的实施例执行的公共信息交换被确信地认证。
文档编号H04L29/06GK1677975SQ20051005317
公开日2005年10月5日 申请日期2005年3月2日 优先权日2004年4月2日
发明者N·桑达拉间 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1