基于域名层次认证机构的邮件传输代理原发抗抵赖方法

文档序号:7589576阅读:1364来源:国知局
专利名称:基于域名层次认证机构的邮件传输代理原发抗抵赖方法
技术领域
本发明涉及互联网电子邮件安全技术,特别指一种基于域名(DomainName System,DNS)层次认证机构(Certificate Authority,CA)的邮件传输代理(Mail Transfer Agent,MTA)原发抗抵赖方法。
背景技术
电子邮件是Internet上使用最广泛的服务之一,但电子邮件也是Internet上最不安全的服务之一。一方面,电子邮件在电子政务、电子商务等方面的大量应用使电子邮件进行安全通信的需求正在以惊人的速度增长;另一方面,垃圾邮件,恶意邮件、邮件的仿冒和抵赖等一系列的邮件安全问题影响着邮件的正常使用。因此,电子邮件的安全问题越来越得到人们的重视。
电子邮件用户必须对其的通信行为承担社会责任,电子邮件系统也必须考虑承担社会责任的问题。新华网消息,美国总统布什2003年12月16日在白宫签署了一项旨在应对垃圾电子邮件的联邦法案,并已于今年1月1日起正式生效。如果邮件系统能够做到事后的责任追查和审计,为司法调查提供足够的证据证实邮件的真实发送者,即邮件的原发抗抵赖(邮件发送方不可否认性),则会给垃圾邮件发送者以威慑作用而不敢发送。有了邮件的原发抗抵赖服务,可以解决电子邮件的假冒、否认、恶意邮件、垃圾邮件等相关安全问题。
国内外在电子邮件的原发抗抵赖的研究已开展了许多工作,目前采用的主要方法是通过数字签名技术来解决。
在邮件的原发抗抵赖系统中,应用比较广泛的是PGP(Pretty GoodPrivacy)和S/MIME(Secure/Multipurpose Internet Mail Extension)。PGP是Pretty Good Privacy的简称,其特点是对邮件内容进行签名,以保证信件内容无法修改,使用公钥和私钥技术保证邮件内容保密且不可否认。发信人与收信人的公钥都分布在公开的地方,如TFP站点,而公钥本身的权威性则可以由第三方、特别是收信人所熟悉或信任的第三方进行签名认证,没有统一的集中的机构进行公钥/私钥的签发。在PGP系统中,信任是双方之间的直接关系,或是通过第三者、第四者的间接关系,但任意两方之间是对等的。S/MIME是从PEM(Privacy Enhanced Mail)和MIME发展而来的。同PGP一样,S/MIME也利用单向散列算法和公钥与私钥的加密体系。与PGP不同的主要有两点首先,它的认证机制依赖于层次结构的证书认证机构,所有下一级的组织和个人的证书由上一级的组织负责认证,而最上一级的组织(根证书)之间相互认证,整个信任关系基本是树状的。
PGP和S/MIME是端到端的安全电子邮件技术,即通过邮件的最初发送者对邮件内容进行签名和加密,邮件的最终接收者验证签名和解密来保证端到端的邮件发送方不可否认性。此项技术和具体的通讯机制相独立开来,灵活性比较好,实现也比较方便,所有的工作只是在应用层上对现有邮件用户代理(UA)添加相应的安全功能插件。但仍存在以下问题(1)端到端的电子邮件发送方不可否认性问题依赖于发送者是否对其发送的邮件进行签名,端到端的方法中邮件传输系统无法强制发送方履行不可否认性的责任。若发送者对邮件内容进行了签名,则邮件的接收者可以验证邮件的发送者身份以实现邮件发送方的不可否认性。但在现实中,垃圾邮件发送者不需要对信件的内容保密,它本身就是具有散发性,而且也不愿意为自己的行为负责。这时,垃圾邮件的发送者不对邮件内容进行加密和签名,邮件接收者则无法判定邮件的完整性和发送邮件者的真实身份。(2)本地MTA对发送者UA没有做身份认证,也就意味着攻击者可以冒用合法的UA身份发送大量垃圾邮件。这样,既会造成MTA资源的大量浪费,也会占用大量的网络带宽资源。
要强制实现邮件的原发抗抵赖,根据电子邮件的传输过程,可采取原发抗抵赖权标链的方式,即层层负责制,用逐级追责任的方法。本地MTA在接收UA的邮件时,必须验证UA是否对其所发的邮件进行的数字签名是否正确,只有验证签名正确的邮件才被接收,并将签名信息做日志,作为发送端UA发送此封邮件的原发抗抵赖权标。在接收端MTA接收发送端MTA发送的邮件时,也同样验证发送端MTA对邮件的签名信息的正确性,只有验证通过的邮件才被接收。在接收端UA接收MTA发的邮件时,也同样验证数字签名的信息。本地MTA是拥有该服务器的所有用户的标识和相关信息,所以很容易通过相关的信息进行认证,即MTA与UA之间的原发抗抵赖较容易实现,而MTA之间的通信则,MTA的身份不是预先所能知道的,可能要与很多未知的MTA通信。所以MTA之间的原发抗抵赖是重点同时也是一个难点。
某MTA要与很多未知的MTA通信,MTA的身份不是预先所能知道的,如何安全地、正确地获得这些公钥又是另外一个难点和关键点。最初的公钥分配(即一方获得另一方的公钥)是基于私人之间的信任关系。然而随着公钥密码技术在网络安全的应用规模不断扩大,这种分配方式已不能适应了,这时就需要PKI(Public Key Infrastructure)来解决大量的密钥分配和管理。PKI是一种完全符合X.509标准的密钥管理平台,它能够为所有网络应用透明地提供采用加密和数字签名等密码服务所必须地密钥和证书管理。在PKI中,公钥一般是采取证书的形式存放,所以证书的信任模型和证书的认证是关键技术。而域名有以下特点(1)邮件在Internet上传输时,邮件路由是通过接收者邮件地址的域名进行路由的。
(2)在国际互联网中,网络中心所管理的DNS域和IP范围都是经申请后授权的,网络中心控制这个域就必须要对其负责任,正式的DNS域名具有严格的层次关系和责任关系。
(3)DNS域名在Internet中是唯一的。
DNS的优势已经是不言而喻的了,而建立基于DNS域的CA结构,不但具有了DNS已有的优点,而且可以充分利用已有的资源、技术。

发明内容
本发明的技术解决问题是克服现有技术的不足,提供一种可以实现邮件MTA之间通信的原发抗抵赖方法,以实现MTA与MTA之间强制不可否认性。
本发明的技术解决方案是基于DNS域层次CA的邮件传输代理原发抗抵赖方法,该方法包括基于DNS域层次的CA建立步骤、邮件发送步骤和邮件接收步骤,其中,基于DNS域层次的CA建立步骤,包括(1)根据需要选择一个DNS域作为根域建立对应的根CA以充当信任的根或“信任锚(trust anchor)”,也就是认证的起点或终点。根域是可自定义的,即部署者可以自行决定自己的根域。
(2)根据DNS的层次模型,在根CA下建立与DNS根域的一级子域相应的一级子CA,在一级CA下再建立与DNS二级子域相对应的二级CA,同样可根据需要再建立与DNS三级子域相对应的三级CA等,依此类推,最终建立一个与整个DNS域层次结构对应的层次结构的CA。
在根CA下建立一级子CA,如EDU-CA、CN-CA、COM-CA等(如图2所示)。在一级CA下再建立二级CA,如EDU.CN-CA。同样可根据需要再建立三级CA等。与非CA的PKI实体相对应的树叶通常称作终端实体(endentities)或被称作终端用户(end users),例SINA.COM和GXNU.EDU.CN终端实体。层次结构中的所有实体都信任唯一的根CA,而倒数第二层CA认证终端实体。
(3)DNS域所对应的CA负责产生、分配并管理该域下的所有MTA的数字证书。
数字证书,采用ISO和CCITT/ITU-T(国际电信联盟的电信标准化部门)的X.509 v3证书协议。这是目前众多数字证书协议中应用最为广泛的一个。
图1是X.509 v3证书的结构定义。
身份标识,数字证书中的身份标识采用DNS域名作为MTA的身份标识,将MTA与域名捆绑在一起。即X.509数字证书结构中的主体用DNS域名来标识证书拥有者的信息。
证书的生产方法,根据Internet的DNS域的申请流程,以及基于DNS域层次的CA结构,本发明采用集中式生产方法,每个EE(终端实体)在申请域名时,由上一级CA直接产生该EE的证书。
证书的分发方式,本方法推荐带外分发的形式,使用软盘、光盘等物理介质对证书进行分发。这种分发的优越性在于对证书分发时的安全性有比较好的保障;是一种集中式的分发管理模式。
证书的验证,在认证机构的严格层次结构模型中进行证书验证的过程为一个持有根CA公钥的终端实体A可以通过下述方法检验另一个终端实体B的证书。假设B的证书是由CA2签发的,而CA2的证书是由CA1签发的,CA1的证书又是由根CA签发的。A(拥有根CA的公钥KR)能够验证CA1的公钥K1,因此它可以提取出可信的CA1的公钥。然后,这个公钥可以被用作验证CA2的公钥,类似地就可以得到CA2的可信公钥K2。公钥K2能够被用来验证B的证书,从而得到B的可信公钥KB。A现在就可以根据密钥的类型来使用密钥KB,如对发给B的消息加密或者用来验证据称是B的数字签名,从而实现A和B之间的安全通信。
每个MTA的证书库中必须有两类证书,分别是(1)本MTA被CA签名的MTA证书和MTA所在域以及上层域直到根域的所有这些域的证书所构成的证书链。这些证书的获得是在申请域名时,由上级域名授权机构用安全的方式分发下来的。
(2)本MTA所信任的证书,这些证书是通过证书验证的,被本MTA所信任。
如图2所示的CA结构中,SINA.COM邮件服务器中的证书库中应该有根CA、COM-CA和终端实体SINA.COM的证书;GXNU.EDU.CN邮件服务器中的证书库中应该有根CA、CN-CA、EDU.CN-CA和终端实体SINA.COM的证书。
当SINA.COM的MTA发邮件给GXNU.EDU.CN的MTA时,同时将COM-CA和SINA.COM的证书发给GXNU.EDU.CN的MTA,GXNU.EDU.CN的MTA对SINA.COM的证书进行验证(1)首先查看当前时间是否还在证书的有效期内,如果不是,说明该证书已经过期,验证失败,否则继续第二步。
(2)查看本MTA的证书库中是否已有SINA.COM的证书(该证书已被验证过),根据如果有,则比较证书的颁发时间,如果接收到的证书比证书库中的颁发时间早或一样,则用证书库中的证书进行数字签名的验证即可。否则,继续第三步。
(3)用本地根CA的证书验证COM-CA的证书,再用COM-CA的证书验证SINA.COM的证书,若其中有一个验证失败,则整个验证过程失败。如果,验证成功,则说明GXNU.ED U.CN的MTA已经信任,SINA.COM的MTA所发过来的SINA.COM的证书。在验证证书的过程中,每一次验证通过的证书都将其写入证书库,可提高下一次证书验证效率。
邮件发送步骤,包括(1)源MTA将要发送的邮件M计算哈希值H=h(M),然后用自己的私钥对H进行数字签名,数字签名信息为sig。
(2)源MTA将本域一直到根域下一层次域的证书,形成证书链,记做mcerts;所谓证书链,就是将源MTA本域一直到根域下一层次域的证书看成一个整体,记为mcerts,这些证书的获得是在申请域名时,由上级域名授权机构用安全的方式分发下来的。
(3)源MTA发送{M,sig,mcerts}到下一MTA,其中,mcerts指附在邮件后面。
邮件接收步骤,包括(1)接收端MTA收到后,根据证书验证算法,验证源MTA的证书,若验证不通过,将证书验证的相关信息做日志并将邮件M抛弃,若验证通过进行下一步,具体步骤如下接收端MTA首先查看当前时间是否还在证书的有效期内,如果不是,说明该证书已经过期,验证失败,否则继续第二步;其次查看本MTA的证书库中是否已有源MTA的证书(该证书已被验证过),根据如果有,则比较证书的颁发时间,如果接收到的证书比证书库中的颁发时间早或一样,则用证书库中的证书进行数字签名的验证即可;否则,继续第三步;最后,用本地根CA的证书验证源MTA证书链最上一层CA的证书,再用后者的证书验证证书链下一层的证书,直至验证完源MTA的证书为止,若其中有一个验证失败,则整个验证过程失败;如果,验证成功,则说明接收端MTA已经信任源MTA所发过来源MTA的证书。在验证证书的过程中,每一次验证通过的证书都将其写入证书库,可提高下一次证书验证效率。
(2)接收端MTA从经过证书验证的源MTA的证书中提取公钥,用公钥验证源MTA对M的数字签名信息sig,如验证不通过,将签名验证的相关信息做日志并将邮件M抛弃,若验证通过进行下一步。由于本发明的证书ISO和CCITT/ITU-T的X.509标准系列的X.509 v3证书,接收端MTA从经过证书验证的源MTA的证书中提取公钥将也采用X.509 v3系统提供的公钥提取方法;(3)将邮件M直接写用户邮箱或发往下一MTA,若发往下一MTA,又从邮件发送步骤开始。
本发明与现有的电子邮件抗抵赖类似技术相比的优点在于以下(1)它实现了MTA与MTA之间的强制不可否认性。
(2)具有可缩放层次的CA结构。基于DNS域层次的CA结构,它是一种可缩放层次的CA结构。一方面,设立CA的个数可根据用户的数量,如在cn.域已设立了CA,而在cn.域下的一个子域用户数很少,我们可不在该子域设立CA,该子域用户下的证书可直接由CN-CA签发。当该子域中用户数量逐渐增加,这时可考虑在该子域下建立CA。另一方面,如果要将邮件的抗抵赖应用于整个Internet,则根CA就对应着Internet的DNS根,如果只是要应用于某个域,如只想在中国教育科研网内提供邮件的原发抗抵赖服务,则根CA就对应着中国教育科研网所在的域edu.cn.
(3)验证证书时,不需要CA的在线参与。从证书验证算法知,验证证书时,不需要在线的去CA查询证书,也就不需要通常的目录服务器,易于实现。
(4)证书认证与其有关证书的应用相独立。前面提出的证书算法,不仅可用于电子邮件中,还可应用于其它的很多有关证书的应用。
(5)邮件的抗抵赖和和机密性是独立的系统,可只提供单项服务,也很容易和其他服务相结合,提供综合的服务。
如有些邮件系统的需求只是抗抵赖,不希望提供机密性服务。由于本方法不是建立在邮件机密性之上的,只是提供了抗抵赖,所以直接用此方法即可。若有些邮件系统在要求抗抵赖服务的同时,还要求提供机密性,则可以在执行方法的第1步前,先对邮件进行加密即可。


图1为本发明的证书格式,即X.509 v3证书结构;图2为本发明基于DNS域层次的CA结构例图;图3为本发明实现的系统0层数据流图;图4为本发明的系统程序流程图;图5为本发明的证书验证和签名验证的数据流图;图6为本发明的匹配证书和验证证书的算法图;图7为本发明的数字签名模块的数据流图;图8为本发明的日志模块的数据流图。
图3、5、7、8中所用数据流说明M0000M-邮件第1个0-证书验证是否通过标识(T通过,F未通过)第2个0-签名验证是否通过标识(T通过,F未通过)第3个0-接收者标识(L本地,R非本地)第4个0-邮件来源标识(U来自UA,M来自MTA)
sig签名;Icert本地MTA证书;mcerts证书链;邮件标识符;DNS域名信息;pass验证通过与否;SM要发送的邮件;signature本地MTA签名;publickey公钥;privatekey私钥;Hash对邮件内容的哈希值。
具体实施例方式
本发明的实施方式将在上述发明内容的基础上设计一套邮件传输代理原发抗抵赖系统并对其予以实现。
OpenCA是互联网上广为使用的证书发放软件,Sendmail是互联网上目前使用得最为广泛的邮件传输代理软件,有鉴于此,本发明的系统使用OpenCA作为证书认证系统发放CA的软件,Sendmail作为消息传输代理软件。在本发明实施过程中,使用到了OpenSSL-0.9.7软件包,该软件包所包含的加密库、规范数字证书、数据封装等功能,为系统的实现提供了最底层的API。
对电子邮件传输原发抗抵赖系统的设计和实现,遵循以下原则(1)不改变原有电子邮件系统中相关的SMTP协议、RFC822文本协议和MIME协议;(2)证书采用X.509V3标准格式的证书;(3)该系统对电子邮件用户来说应该是透明的;(4)邮件的发送方和接收方都进行详细的日志记录,为事后的责任追查和审计提供服务;(5)对试图冒充的攻击者,保持沉默,不给出显示的答复,以防止攻击者采用反复试探的方式窃取信息。同时将攻击者的攻击情况及时记录下来,以便管理员分析以及采取相应得防范对策;(6)系统的模块化分尽可能清晰,有较强的可重用性。
证书认证系统的搭建如前面发明内容部分描述,本实现中我们仅搭建了根CA,并将经过该根CA签名的MTA证书发放给两个MTA。CA发放证书的方法可参阅相关文档,这里不作详细说明。
下面详细说明邮件接收和发送步骤在一个邮件传输代理中的实现,事实上,为了对本专利提出的方法进行验证,我们在两个MTA上同时作了该实现。
根据软件工程的方法,对邮件传输代理系统设计了系统数据流图,系统的模块图和系统流程图。
系统0层数据流图如图3所示,源MTA发送{M,sig,mcerts}到下一MTA,其中,mcerts指附在邮件后面。MTA接收源MTA传来的{M,sig,mcerts},进入加工Verify。加工Verify的加工逻辑为判断所接收邮件是UA还是MTA发送。如果是UA,则将邮件流向加工Classify。如果是MTA则验证其证书信息和签名信息(证书验证的详细算法步骤见后面图6及其说明)。验证通过将邮件流向加工Classify,验证不通过将其写入本地垃圾邮件管理信箱,通过验证的证书写入到本地证书库,验证的结果做相应的日志记录。加工Classify的加工逻辑为判断所接收的邮件的接收者为本地还是非本地,如果为本地直接写用户邮箱;如果为非本地,将邮件进行数字签名,再将邮件和数字签名信息流给加工Send。加工Log的加工逻辑为将来自加工Verify的邮件ID号、邮件域名、证书验证与签名验证通过与否信息和当前时间存入到文件ReceiveLog。对加工Sign中的邮件签名信息、邮件ID号、当前时间存入到文件SendLog。加工Sign的加工逻辑为对要法往下一个MTA的邮件进行数字签名。加工Send的加工逻辑为将邮件、邮件的签名信息、本MTA以及所有上级CA(不包括根CA)的证书所构成的证书链发给下一MTA,即将{M,sig,mcerts}又发送给下一MTA。如此在每一个MTA上都进行上述处理。
本发明实现的系统程序流程图如4所示(1)每个MTA在工作前,都已经通过安全方式获得了本MTA的私钥和所在DNS域的证书链。
(2)MTA对所接收的邮件进行判断,判断邮件是来自UA还是MTA,如果来自UA,则直接传递给签名模块,将邮件签名发往下一MTA或是直接写用户邮箱。
(3)如果邮件来自MTA,则对邮件内容后面所附的证书链和签名信息进行验证(证书验证的详细算法步骤见后面图4及其说明)。验证不通过将其写入本地垃圾邮件管理信箱,通过验证的证书写入到本地证书库,验证的结果做相应的日志记录。
(4)将通过证书和签名验证的邮件或由本地UA发送的邮件进行判断,判断邮件的接收者为本地还是非本地。
(5)如果为本地直接写用户邮箱;如果为非本地,将邮件进行数字签名,再将邮件和数字签名信息以及本MTA所在DNS域的签名链信息一起发给下一MTA,并做相应的日志记录。
本发明实施的硬件环境选择主要从系统的开发成本考虑,选用intel X86的计算机作为硬件平台。
MTA软件的选择由于sendmail是使用很广泛的一种电子报文传输代理软件(MTA),并且该软件是开放源码的软件,所以选择sendmail作为MTA软件。
操作系统的选择选择Solaris.该操作系统非常稳定,是Unix的一种。
开发工具的选择美国国家标准化协会根据各种版本对C的发展和扩充,制定了新的标准ANIS C。在核心方法的实现中选用符合ANSI C标准的gcc(GUN C)作为开发语言,有利于系统的移植。系统的开发中使用到了OpenSSL-0.9.7软件包。该软件包所包含的加密库、规范数字证书、数据封装等功能,为系统的实现提供了底层的API。
证书验证和签名验证模块的数据流图如图5所示,证书验证和签名验证模块的功能是判断所接收邮件是UA还是MTA发送。如果是UA,则将邮件流向加工Classify;如果是MTA则验证其证书信息和签名信息,验证通过将邮件流向加工Classify,验证不通过将其写入本地垃圾邮件管理信箱,通过验证的证书写入到本地证书库,验证的结果做相应的日志记录。
匹配证书和验证证书的算法如图6所示(1)首先查看当前时间是否还在证书的有效期内,如果不是,说明该证书已经过期,验证失败,否则继续第二步。
(2)查看本MTA的证书库中是否已有源MTA的证书(该证书已被验证过),根据如果有,则比较证书的颁发时间,如果接收到的证书比证书库中的颁发时间早或一样,则用证书库中的证书进行数字签名的验证即可。否则,继续第三步。
(3)用本地根CA的证书验证源MTA证书链最上一层CA的证书,再用后者的证书验证证书链下一层的证书,直至验证完源MTA的证书为止,若其中有一个验证失败,则整个验证过程失败。如果,验证成功,则说明接收端MTA已经信任源MTA所发过来源MTA的证书。在验证证书的过程中,每一次验证通过的证书都将其写入证书库,可提高下一次证书验证效率。验证签名用上一MTA证书中的公钥来验证签名,用公钥解密邮件的签名信息,将解密后的值与邮件的HASH值匹配,如果匹配,则说明签名验证成功,如果不匹配,则说明签名验证失败。同时,将签名验证的相关信息做日志。
数字签名模块的功能是报文传输代理用其私钥对所发出的邮件进行数字签名。数字签名模块的数据流图如图7所示MTA对将要发往下一MTA的邮件用哈希算法算出一个哈希值,然后读取本MTA的私钥文件,从私钥文件里获取私钥,用该私钥对哈希值加密,即对邮件做了数字签名。该模块将邮件的ID号,邮件的签名信息以及时间等相关信息传给日志模块。其中的哈希算法采用MD5,数字签名算法采用RSA,私钥的位数为1024位。
日志模块日志模块的功能是记录报文传输代理所接收的上一MTA所发送邮件的证书验证和签名验证信息和报文传输代理发往下一个MTA(报文传输代理)的签名信息。日志模块的数据流图如图8所示,对接收邮件的证书、证书验证信息、发送该邮件的MTA的域名、邮件的ID号和所接收邮件的数字签名信息及记录到Receive Log文件;对发送邮件的ID号、数字签名信息记录到Send Log文件。
以上实现,仅为本发明的较佳实现而已,并非用于限定本发明的保护范围。
权利要求
1.基于域名层次认证机构的邮件传输代理原发抗抵赖方法,其特征在于包括基于DNS域层次的CA建立步骤、邮件发送步骤和邮件接收步骤,其中基于DNS域层次的CA建立步骤(1)根据需要选择一个DNS域作为根域建立对应的根CA以充当信任的根;(2)根据DNS的层次模型,在根CA下建立与DNS根域的一级子域相应的一级子CA,在一级CA下再建立与DNS二级子域相对应的二级CA,同样可根据需要再建立与DNS三级子域相对应的三级CA等,依此类推,最终建立一个与整个DNS域层次结构对应的层次结构的CA;(3)DNS域所对应的CA负责产生、分配并验证该域下的所有MTA的证书;邮件发送步骤(4)源MTA将要发送的邮件M计算哈希值H=h(M),然后用自己的私钥对H进行数字签名,数字签名信息为sig;(5)源MTA将本域一直到根域下一层次域的证书,形成证书链,记做mcerts;(6)源MTA发送{M,sig,mcerts}到下一MTA,其中,mcerts指附在邮件后面;邮件接收步骤(7)接收端MTA收到后,根据证书验证算法,验证源MTA的证书,若验证不通过,将证书验证的相关信息做日志并将邮件M抛弃,若验证通过进行下一步;(8)接收端MTA从经过证书验证的源MTA的证书中提取公钥,用公钥验证源MTA对M的数字签名信息sig,如验证不通过,将签名验证的相关信息做日志并将邮件M抛弃,若验证通过进行下一步;(9)将邮件M直接写用户邮箱或发往下一MTA,若发往下一MTA,又从步骤(4)开始。
2.根据权利要求1所述的基于DNS域层次CA的邮件传输代理原发抗抵赖方法,其特征在于所述步骤(3)中的数字证书采用ISO和CCITT/ITU-T的X.509 v3标准格式,并且证书中的身份标识采用DNS域名作为MTA的身份标识。
3.根据权利要求1所述的基于DNS域层次CA的邮件传输代理原发抗抵赖方法,其特征在于所述步骤(3)中证书的生产方法为每个终端实体在申请域名时,由上一级CA直接产生其证书,并且通过安全渠道将MTA被CA签名的证书和MTA所在域以及上层域直到根域的所有域的证书所构成的证书链分发给对应MTA。
4.根据权利要求1所述的基于DNS域层次CA的邮件传输代理原发抗抵赖方法,其特征在于所述的步骤(5)是将源MTA本域一直到根域下一层次域的证书看成一个整体,记为mcerts。
5.根据权利要求1所述的基于DNS域层次CA的邮件传输代理原发抗抵赖方法,其特征在于所述的步骤(7)接收端MTA收到后,根据证书验证算法,验证源MTA的证书的步骤如下(1)首先查看当前时间是否还在证书的有效期内,如果不是,说明该证书已经过期,验证失败,否则继续第二步;(2)查看本MTA的证书库中是否已有源MTA的证书,根据如果有,则比较证书的颁发时间,如果接收到的证书比证书库中的颁发时间早或一样,则用证书库中的证书进行数字签名的验证即可,否则,继续第三步;(3)用本地根CA的证书验证源MTA证书链最上一层CA的证书,再用后者的证书验证证书链下一层的证书,直至验证完源MTA的证书为止,若其中有一个验证失败,则整个验证过程失败;如果,验证成功,则说明接收端MTA已经信任源MTA所发过来源MTA的证书,在验证证书的过程中,每一次验证通过的证书都将其写入证书库,提高下一次证书验证效率。
全文摘要
基于域名层次认证机构的邮件传输代理原发抗抵赖方法,包括下列步骤基于DNS域层次的CA建立步骤(1)建立根CA;(2)建立与整个DNS域层次结构对应的层次结构CA;(3)产生、分配MTA证书;邮件发送步骤(4)源MTA将要发送的邮件M计算哈希值H,用私钥对H进行数字签名,签名信息为sig;(5)将本域一直到根域下一层次域的证书形成证书链mcerts;(6)发送{M,sig,mcerts}到下一MTA;邮件接收步骤(7)接收端MTA收到后,验证源MTA证书;(8)从经过证书验证的源MTA证书中提取公钥,用公钥验证源MTA对M的数字签名sig;(9)将邮件M直接写用户邮箱或发往下一MTA。本发明实现MTA与MTA之间强制的原发抗抵赖性,且具有可缩放的层次CA结构。
文档编号H04L9/28GK1783848SQ200410009919
公开日2006年6月7日 申请日期2004年12月2日 优先权日2004年12月2日
发明者李肖坚, 夏春和, 彭红艳 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1