为获得解密密钥请求密钥检索的安全电子消息系统的制作方法

文档序号:7892686阅读:219来源:国知局
专利名称:为获得解密密钥请求密钥检索的安全电子消息系统的制作方法
技术领域
本发明领域本发明涉及通过私有/公用密钥对的可审查使用,适用于用户群体的安全电子消息系统。
本发明背景有各种各样的系统允许用户安全地交换诸如电子邮件和即时消息这样的电子消息。为发送因特网电子邮件,发送器汇编消息内容,在消息上附加上所需接收器的因特网电子邮件地址,或者调用证明消息是由发送器编写且在运送中没有被修改的签名机制,或者调用确保仅仅由接收器访问消息内容的加密机制,并使用因特网电子邮件基础设备发送消息。
为了在即时消息(IM)系统中交换信息,用户对IM系统鉴别自己,选择可用用户群体中的接收器,准备消息内容并通过IM基础设备发送消息。加密服务可基于已鉴别用户的凭证由IM业务提供。


图1显示了允许发送器110和接收器120在网络130上交换已加密消息Me的现有技术的通信架构100。在这个例子中,发送器110和接收器120是为数字签名和加密他们通信而使用公用/私有密钥对的用户群体的一部分。密钥服务器140允许发送器110和接收器120获得其他用户的公用密钥和参与适用于约定消息对话的对称密钥段的产生和/或控制访问。与密钥服务器140相关的数据库142保留关于发送器和接收器的信息和他们使用的密钥。网络130可以是局域网(LAN)、广域网(WAN)、因特网或许多其他类型的通信基础设备的任何一种。
本发明概述本发明指的是适用于用户群体中,以他们为鉴别和加密的目的对私有/公用密钥对的使用被记录和审查这样的方法,使电子消息和电子数据流安全通信的系统和方法。
本发明中,主要实体是发送器、接收器和密钥服务器。发送器希望发送一个已加密消息给接收器,这个由密钥服务器来提供便利。密钥服务器发送密钥检索信息给发送器。密钥检索信息参考解密已加密消息所需的解码信息。发送器发送已加密消息和密钥检索信息给接收器。已加密消息本身不发送给密钥服务器。然后接收器发送密钥检索信息给密钥服务器并接收响应这个的解密信息。然后接收器使用解密信息来解密已加密消息。
在本发明的一个方面中,数据消息的发送器访问密钥服务器来获得关于数据消息所期望的接收器的公用密钥信息。密钥服务器或发送器或二者的结合体,都生成对称加密密钥或非对称加密密钥对。发送器使用适当的加密密钥来加密数据消息内容。解密密钥(是对称密钥或非对称密钥对的解密部分)被分离成第一部分和第二部分。第二部分由密钥服务器存储。发送器组成包括已加密数据消息、解密密钥的第一个部分和给接收器以获得解密密钥第二部分的密钥检索信息的传输数据包。在传输数据包中,解密密钥的第一部分和/或密钥检索信息可能自身被接收器的公用加密密钥随机地加密。在任何情况下,传输数据包然后被发送给接收器。接收器解开传输数据包,如果需要的话,解密解密密钥的第一部分和/或密钥检索信息。然后接收器创建并发送包括接收器鉴别信息和密钥检索信息的密钥检索请求给密钥服务器。响应适当的密钥检索请求,密钥服务器返回解密密钥的第二个互补部分给接收器。然后接收器组合解密密钥的第一和第二部分来解密已加密数据消息,从而得到原始数据消息。
在本发明的另一个方面,发送器不分解解密密钥为第一和第二部分。而是发送器发送整个解密密钥给密钥服务器,密钥服务器发送对应于已存储解密密钥的密钥检索信息返回给发送器。在这个例子中,发送器仅仅发送已加密数据消息和密钥检索信息给接收器,接收器然后发送密钥检索信息给服务器来获得整个解密密钥。
然而在本发明另一个方面,密钥服务器创建加密密钥,存储解密密钥并和密钥检索信息一起发送加密密钥给发送器。发送器发送已加密数据消息和密钥检索信息给接收器,然后接收器发送密钥检索信息给服务器以获得解密密钥。
本发明也针对消息审查系统。密钥服务器维护关于每个密钥的所有交易的数据库。发送器或其他授权实体被许可访问关于发送器的密钥的交易信息。许可发送器查看显示此发送器使用的各种密钥的状况的密钥交易日志。因此密钥交易日志可以显示接收器是否递交密钥检索请求以获得解密密钥信息,从而指示是否接收器能够读取此消息。假如密钥交易日志指示关于传输数据包的解密密钥信息还没有被检索,则发送器可以通过递交通知密钥服务器不再认同相应密钥检索请求的密钥取消请求,随机有效地取消消息。这防止接收器获取解密密钥信息,从而排除了接收器读取已加密消息。因为接收器尽管拥有已加密消息但不能读取它,因为它不再能获得读取已加密消息所需的解密密钥信息。
附图简述现在关于下面详细描述和附图来说明本发明。
图1显示了在密钥服务器的协助下,网络上发送器和接收器之间通常的现有技术的通信系统的结构;图2显示了根据本发明第一个实施例的消息流;图3显示了根据本发明第二个实施例的消息流;图4显示了根据本发明第三个实施例的消息流;图5a和5b是根据本发明第一个实施例,分别描述发送器和接收器动作的流程图;图6a和6b是根据本发明第二个实施例,分别描述发送器和接收器动作的流程图;图7a和7b是根据本发明第三个实施例,分别描述发送器和接收器动作的流程图;图8图示说明了希望在系统注册的新登记者的注册过程。
本发明的详细描述在本发明描述中,值得注释的是,术语“发送器”指的是发送消息的人或客户端程序,而术语“接收器”指的是接收发送器发送的消息的人或客户端程序。在本发明的说法中,“密钥服务器”指的是驻存的被编程用于执行关于这样的实体的工作的平台和服务器终端计算机程序。能够理解包括密钥服务器、发送器和接收器的可执行软件编码能够各自驻存在一般目的,或其他计算机或甚至专用计算机的计算机可读存储器中。此外,软件可被分布在任何数量的计算机可读存储器的形式中,如在web站点上的服务器、软盘、CD-ROM、磁带和其他类似的。
为了本揭示的目的,发送器和接收器自身每个可以在单独(或甚至共同)的具有一个或多个节点的网络上,通过这个网络发送器或接收器与外部世界通信。这样的网络其中具有因特网网关、存储和转寄电子邮件服务器和其他众所周知的资产。
在接下来的讨论中,呈现了消息对话的各种实施例,其中发送器通过因特网电子邮件基础设施和接收器通信,通过HTTP消息协议和密钥服务器通信。然而在此应该谨记,下面描述的系统是独立于基础设施的,因此可在无线网络上操作,除任何其他数据载体之外或与其他任何数据载体结合。然而也应该谨记的是,其他通信信道(即时消息)和其他通信协议(例如ftp、TCP-IP)可同样的在本发明的范围内被使用和考虑。
在电子邮件的情况,发送器和接收器是被与叫做邮件用户代理(MUA)的软件程序互动来组成和发送因特网电子邮件消息的人所使用。因此,和联系因特网电子邮件基础设备的必要装置一起,典型地提供MUA程序给与这样的用户相关的计算机(为方便称为“发送器计算机”和“接收器计算机”)。此外,通常提供给这些计算机一个或多个诸如键盘、鼠标的输入设备、以及易失和非易失存储器,所有这些都是为业内那些技术熟练人士所知的。然而,在此值得注释的是,发送器和接收器可以替代以通常不由用户操作,而是以无人值守的“服务器”模式运行的软件程序。
第一个实施例图2根据本发明第一个实施例,参考发送器210、接收器220和具有相应的包括数据库242的存储器的密钥服务器240,呈现消息流200。数据库242存储关于系统的已注册用户的信息,包括他们的电子邮件地址和他们的最佳公用加密密钥,也存储密钥使用信息、被检索信息(下面讨论的)索引的解密密钥信息,和其他信息。
先于图2中描述的任何动作,鉴别过程发生在发送器210和密钥服务器240之间,来开放二者之间的连接。为此,发送器发送鉴别请求消息给密钥服务器,后者用许多随机比特字符串来响应,一个这样的字符串被用于每个消息发送到密钥服务器。然后当一消息被发送时发送器数字签名每个随机比特字符串,密钥服务器能够证实那个消息是由发送器发送的。发送器可以使用任何建立好的使用私有签名密钥的标准签名技术,例如通过使用RSA密钥对进行分类和加密。密钥服务器,对它的一部分,可通过使用发送器的公用签名密钥校验发送器的签名。自此以后,这种类型的鉴别信息最好包括在由发送器发送到密钥服务器的每个消息中。
图5a呈现了图示说明在第一个实施例中发送器210经历的主要步骤的流程图500。
在步骤502中,发送器和密钥服务器建立通信链接且发送器被鉴别。鉴别可能承担例如检测诸如发送器的电子邮件地址的发送器鉴别信息,和确定发送器在系统已注册。
在步骤504中,发送器210发送接收器公用密钥请求251给密钥服务器240,且这个被服务器接收。接收器公用密钥请求最好包括鉴别信息、发送器的识别信息和包括所期望接收器的识别信息的标识(最好以接收器的电子邮件地址的形式)的数据字段。这个消息251请求接收器的公用加密密钥。假如电子邮件消息定位超过一个接收器,则接收器字段包括数据字段中指定的每个接收器的电子邮件地址。
在步骤506中,密钥服务器检测数据库242来确定发送器210的帐户是当前的。假如发送器的帐户不是当前,在步骤508密钥服务器通知发送器。
在步骤510中,假如发送器的帐户是当前的,则密钥服务器240接下来向数据库咨询以检索关于在接收器公用密钥请求中已识别的接收器220的信息。然后密钥服务器240准备接收器公用密钥响应252,其最好包括跟踪消息的消息标识符、包括接收器220的最佳公用加密密钥Ke的数据字段,和相关的审查信息。假如接收器公用密钥请求251列出超过一个接收器,则数据字段包括密钥阵列,每个接收器一个。然而消息标识符被唯一分配给由发送器发送给接收器们的这个消息。密钥服务器240也留意事件一在发送器210请求接收器220的公用加密密钥的时间。最后,密钥服务器240发送接收器公用密钥响应252给发送器210。
由发送器指定的接收器可能没有注册来使用系统。下面进一步讨论具有未注册接收器的这个情况。
在步骤512中,发送器210生成对称密钥Ks。然而在此值得注释的是,Ks可能在发送器发送接收器公用密钥请求给密钥服务器240之前已经产生。然后发送器使用接收器的公用加密密钥Ke(在接收器公用密钥响应中提供)来加密对称密钥Ks,从而组成仅仅能够被接收器220使用对应于接收器的公用加密密钥Ke的接收器的私有解密密钥Kd来解密的Kse。接下来发送器密码地分离Kse成第一个分离密钥段Kse1和第二个分离密钥段Kse2,二者都为形成Kse所需要。这个可以这样作,例如通过使用建立好的技术来组成两个段Kse1,Kse2,当“异或(XOR)”在一起时,产生已加密的对称密钥Kse。假如超过一个接收器被指定,则使用这个接收器的相应公用加密密钥来对每个这样的接收器执行这个过程。
在步骤514中,然后发送器210向密钥服务器240发送密钥段存储请求253。密钥段存储请求最好包括鉴别信息、消息标识符、发送器的标识信息、包含接收器的标识信息的第一个数据字段、包含接收器的第二个分离密钥段Kse2的第二个数据字段和也许还包括相关审查信息。假如超过一个接收器被涉及,则第一和第二个数据字段有效地包括映射每个接收器到该接收器的第二个分离密钥段的阵列。
在步骤516中,密钥服务器240向数据库242发送归档消息254,来存储包含被接收器电子邮件地址和消息标识符交叉参考的Kse2的解密密钥信息。解密密钥信息最好也被发送器标识信息交叉参考。密钥服务器240也生成密钥检索信息Kr。密钥检索信息Kr可以是通用资源定位器(URL)格式,或者可以是某些其他索引至少包含Kse2的记录的标识符。假如超过一个的接收器被指定,则对每一个均执行此过程。
在步骤518中,假如归档存储和Kr的生成是成功的,则密钥服务器240发送最好包括消息标识符和为检索Kse2的密钥检索信息Kr的密钥存储响应255。假如归档存储或Kr生成没有成功,则在步骤520中发送错误消息给发送器。
在步骤522中,发送器210接收密钥存储响应,随机签名(使用发送器自己的私有签名密钥)和随机安全地时标原始消息M,并且假如可适用,附加通过这两个过程产生的签名数据S和时标数据T。安全时标可以许多方法来执行,诸如在U.S.专利号5,136,646和5,136,647中所揭示的那些。发送器的签名数据S和时标数据T,假如存在,则被附加到原始消息,然后使用对称密钥Ks一起加密来组成加密消息Me。发送器接下来附加第一个分离密钥段Kse1和密钥检索信息Kr到加密消息Me。消息标识符和附加的审查信息也可以被附加。这个过程创建了合成消息C1。然而在此值得注释的是,加密步骤可以发生在密钥Kse被分离之前或之后,以及Ks生成和消息被随机签名和/或安全地时标之后的任何时间。
最后,在步骤524中,然后发送器210使用典型的MUA功能发送合成消息256给接收器220。或者,为了安全的原因,可以分离于剩余的数据发送已加密消息Me。
图5b呈现了图示说明在第一个实施例中由接收器220经历的主要步骤的流程图550。
在步骤552中,接收器220接收合成消息C1,和在步骤554中至少“解开”已加密消息Me、第一个分离密钥段Kse1而密钥检索信息Kr。
在步骤556中,接收器220和密钥服务器240建立通信链接,且接收器被鉴别。鉴别可以承担例如,校验接收器的标识信息,诸如接收器的电子邮件地址,并确认接收器在系统已注册。
在步骤558中,鉴别之后,接收器220发送且密钥服务器240接收密钥段检索请求257。密钥段检索请求具有大量字段,且最好包括接收器的鉴别信息、消息标识符(假如在合成消息C1中从发送器接收到)、接收器的标识信息(诸如接收器的电子邮件地址)、密钥检索信息Kr和也许还有附加的审查信息。应指示,消息识别符和密钥检查信息可以相同,此时仅一个字段可使用。假如超过一个的接收器被原始地指定,则每个接收器必须独立地发送这样的密钥段检索请求,来使得能够读取已加密消息。密钥服务器240在接收密钥段检索请求时,首先校验看接收器220的帐户是否是当前的,以及接收器是否有资格接收解密密钥信息。假如接收器的帐户不是当前的,则在步骤560接收器被这样通报。
在步骤562中,假设接收器的帐户是当前的,密钥服务器240检索被Kr参考的已归档第二个分离密钥段Kse2。假如Kse2的检索成功,则然后在步骤560中,密钥服务器240发送密钥段检索响应258返回到接收器220。密钥段检索响应最好包括消息标识符、第二个分离密钥段和也许还包括审查信息。密钥服务器240也更新数据库242来反映接收器递交密钥检索信息Kr,并被发送第二个分离密钥段Kse2的事实。通过记录到密钥服务器240上,发送器能够判断接收器是否检索了Kse2(且因此推测能够读取消息)。替换地,密钥服务器可以设定成自动地发送传真或电子邮件给发送器,来通知发送器对应于一个或多个发送器的呼出已加密消息的密钥检索信息已经被接收器呈现。
在步骤564中,接收器220在接收Kse2(在密钥段检索响应中由密钥服务器发送)时,用图表表示的密码组合Kse1(其在合成消息C1中)和Kse2来重新创建Kse。然后接收器使用他自己的私有解密密钥Kd解密Kse,从而产生对称密钥Ks。
在步骤566中,然后接收器使用对称密钥Ks来解密发送器发送的已加密消息Me。如果发送器原先被附加签名数据S和/或时标数据T,则这些可以被接收器以所知的方式校验,其可以承担对密钥服务器附加请求(诸如获得发送器的公用签名密钥)或为了时标数据T的验证对安全时标服务器的请求。
在上述第一个实施例中,密钥服务器240从来没有分离密钥段Kse1和Kse2两者。因此,在第一个实施例中,即使密钥服务器240由于某种原因获得已加密该消息Me,它也不能解密消息,因为它仅仅具有二个分离的密钥段中的一个。
第二个实施例图3根据本发明第二个实施例,关于发送器310、接收器320和拥有包括数据库342的相关存储器的密钥服务器340,呈现了消息流程300。在这个实施例中的消息序列大体与第一个实施例中的一样,主要的不同是一些消息流的内容不同。
图6a呈现了图示说明在第二个实施例中发送器310所经历的主要步骤的流程图600。
在步骤602中,发送器310和密钥服务器340建立通信链接且发送器被鉴别。鉴别可能承担例如校验诸如发送器的电子邮件地址的发送器识别信息,并确定发送器在系统已注册。
在步骤604中,发送器310发送接收器公用密钥请求351给密钥服务器340,且这个被密钥服务器所接收。接收器公用密钥请求最好包括鉴别信息、发送器的识别信息和包括所期望接收器的识别信息(最好以接收器的电子邮件地址的形式)标识的数据字段。这个消息351请求接收器的公用加密密钥。假如电子邮件消息定位超过一个接收器,则接收器字段包括数据字段中指定的每个接收器的电子邮件地址。
在步骤606中,密钥服务器340校验数据库242来确定发送器的310帐户是当前的。假如发送器的帐户不是当前的,则在步骤608密钥服务器通知发送器。
在步骤610中,假如发送器的帐户是当前的,则密钥服务器340接下来向数据库咨询检索关于在接收器公用密钥请求中已标识的接收器320的信息。然后密钥服务器340准备接收器公用密钥响应352,其最好包括最新创建的消息标识符、接收器320的最佳公用加密密钥Ke,和相关的审查信息。密钥服务器340也更新数据库342来包括接收器公用密钥请求事件。
在步骤612中,发送器310接收接收器公用密钥响应,生成对称密钥Ks并使用Ke加密对称密钥Ks,从而产生已加密对称密钥对Kse。
在步骤614中,发送器310向密钥服务器发送密钥存储请求353。然而,这个密钥存储请求包括整个已加密的对称密钥Kse,而不是已加密对称密钥的分离的密钥段。
在步骤616中,密钥服务器340向数据库242发送归档消息354,来存储包含Kse的解密密钥信息,并生成适当的密钥检索信息Kr。假如这个过程没有成功,则错误消息在步骤618被发送到发送器。然而假如归档消息和Kr的生成成功了,则然后在步骤620密钥服务器340发送密钥存储响应355。密钥存储响应包括给发送器310的消息标识符和密钥检索信息Kr。
在步骤622中,发送器310随机地签名和/或安全地时标原始消息,并附加由这两个过程生成的签名数据和/或时标数据。然后发送器使用对称密钥Ks来加密原始消息(和签名和/或时标数据一起,假如存在的话),以组成已加密消息Me。接下来发送器附加密钥检索信息Kr到已加密消息Me。附加的审查信息也可以被附加。这个过程创建了合成消息C2。
最后,在步骤624中,然后发送器310使用典型的MUA功能发送合成消息356给接收器320。替换地,为了安全的原因,可以分离于剩余的数据发送已加密消息Me。
图6b呈现了图示说明在第二个实施例中由接收器320经历的主要步骤的流程图650。
在步骤652中,接收器320接收合成消息C2,并在步骤654中至少“解开”它到已加密消息Me和密钥检索信息Kr中。
在步骤656中,接收器320和密钥服务器340建立通信链接,且接收器被鉴别。鉴别可以承担例如,校验接收器的标识信息,诸如接收器的电子邮件地址,并确认接收器在系统已注册。
在步骤658中,鉴别之后,接收器320发送且密钥服务器340接收密钥段检索请求357。密钥段检索请求最好包括鉴别信息、消息标识符(假如发送器发送的话)、接收器的标识信息(诸如接收器的电子邮件地址)、密钥检索信息Kr和也许还包括审查信息。密钥服务器340校验看接收器320帐户是否是当前的和有效的。假如不是,则在步骤660错误的消息被发送给发送器320。
在步骤662中,假设接收器的帐户是当前的和有效的,则密钥服务器340检索被Kr参考的已归档加密对称密钥Kse,并发送密钥检索响应358返回到接收器320。密钥检索响应最好包括消息标识符、已加密对称密钥Kse,和也许还包括相关审判信息。密钥服务器340也更新数据库342来反映接收器递交密钥检索信息Kr,并被发送已加密对称密钥Kse的事实。通过记录到密钥服务器340上,发送器能够判断接收器是否检索Kse(且因此推测能够读取消息)。
在步骤664中,接收器320在接收来自密钥服务器的Kse时,使用它自己的私有解密密钥Kd解密Kse,从而产生对称密钥Ks。
最后,在步骤666中,然后接收器使用对称密钥Ks来解密发送器发送的已加密消息Me。Me解密以后,然后假如存在的话,接收器可以验证签名数据S和时标数据T。
第三个实施例图4显示了本发明第三个实施例的消息流程400,参考发送器410、接收器420和拥有包含数据库442的相关存储器的密钥服务器440。在这个实施例中的消息序列稍微有些不同于第一个和第二个实施例的相应序列。
图7a呈现了图示说明在第三个实施例中发送器410所经历的主要步骤的流程图700。
在步骤702中,正如上述实施例一样,发送器410和密钥服务器440建立通信联接且发送器被鉴别。
在步骤704中,又正如在第一个和第二个实施例中一样,发送器410发送,密钥服务器440接收对所期望接收器420的接收器公用密钥请求。
在步骤706中,密钥服务器440校验看发送器的410帐户是否是当前的。假如发送器的帐户不是当前的,则在步骤708中密钥服务器440通知发送器410这个。
在步骤710中,假设发送器的帐户是当前的,则密钥服务器440生成对称密钥Ks,且用图表表示的密码分离对称密钥Ks成为两个分离密钥段Ks1和Ks2。然后密钥服务器440发送归档消息452给数据库442来存储包括Ks2(或用接收器的公用加密密钥Ke组成的它的已加密版本Kse2)的解密密钥信息,并生成合适的密钥检索信息Kr。然后密钥服务器440发送密钥存储响应453返回发送器。密钥存储响应最好包括消息标识符、接收器的最佳公用加密密钥Ke、足够组成Ks2的对称密钥信息和密钥检索信息Kr,和附加的有关审查信息一起。对称密钥信息最好包括分离密钥段Ks1和Ks2,尽管它本身可以简单的是Ks2。
在步骤712中,发送器410结合Ks1和Ks2来生成Ks。(替换地,假如密钥服务器440发送Ks而不是Ks1和Ks2作为对称密钥信息,则发送器以严格相同的方式如密钥服务器所作的分离Ks)。然后发送器410随机地签名和/或安全地时标原始消息,并假如被使用的话,附加通过这两个过程生成的签名数据S和/或时标数据T给原始消息。然后发送器加密原始消息M(假如使用的话,和签名和/或时标数据一起)使用对称密钥Ks来组成加密的消息Me。发送器也使用接收器的公用加密密钥Ke加密分离密钥段Ks1,来产生已加密的分离密钥段Kse1。然后发送器附加Kse1和密钥检索信息Kr到已加密的消息Me。消息标识符和附加审核信息也可以被附加。这个过程创建了合成消息C3。
最后,在步骤714中,然后发送器410使用典型的MUA功能发送合成消息454给接收器420。替换地,为了安全的原因,可以分离于剩余的数据发送已加密的消息Me。
图7b呈现了图示说明在第三个实施例中接收器420所经历的主要步骤的流程图750。
在步骤752中,接收器420接收合成消息C3,和在步骤754中“解开”它成为已加密的消息Me、已加密分离密钥段Kse1和密钥检索信息Kr中。
在步骤756中,接收器420和密钥服务器440建立通信链接,且接收器被鉴别。鉴别可以承担例如,校验接收器的标识信息,诸如接收器的电子邮件地址,并确认接收器在系统已注册。
在步骤758中,鉴别之后,接收器420发送且密钥服务器440接收密钥检索请求455。密钥检索请求最好包括接收器的鉴别信息、消息标识符(假如被发送器发送的话)、接收器的标识信息、密钥检索信息Kr和也许还包括审查信息。在接收密钥接收请求时,密钥服务器440校验看接收器420的帐户是否是当前的有效的。假如不是,则消息在步骤760中被发送给接收器420。
在步骤762中,假设接收器的帐户是当前的有效的,密钥服务器440检索被Kr参考的已归档的分离密钥段Ks2(或Kse2)。然后密钥服务器440发送密钥检索响应456返回到接收器420。密钥检索响应最好包括消息标识符、分离密钥段Ks2(或Kse2)和也许还包括审查信息。密钥服务器440还更新数据库442来反映接收器递交密钥检索信息Kr,并被发送分离密钥段Ks2(或Kse2)的事实。通过记录到密钥服务器440上,发送器410能够判断接收器是否检索了Ks2(或Kse2)(且因此推测能够读取消息)。
在步骤764中,接收器420在从密钥服务器接收Ks2(或Kse2)时,使用它自己的私有解密密钥Kd解密Kse1,来组成Ks1,组合Ks1和Ks2(也许被密钥服务器440发送的第一个解密Kse2获得)来组成对称密钥Ks。最后,在步骤766中,然后接收器440使用Ks解密已加密消息Me。然后接收器也可能验证如上所述的签名数据和时标。
实施例的比较在上述实施例的每一个中,每个由密钥服务器居间形成的已加密消息导致密钥服务器归档接收器必须获得来解密已加密消息的某些信息。然而,密钥服务器从来不接收消息本身(不管已加密还是没有加密)。这不仅节省了密钥服务器的带宽和存储空间,而且还提供发送器和接收器安全估量,因为消息本身不被提供给拥有解密消息所需要的密钥的任何部分的实体。
此外,在上述实施例的每一个中,发送器必须使用接收器的公用加密密钥Ke来加密来源于对称密钥Ks的某些信息。为了这个目的,来源于对称密钥Ks的信息可能是Ks本身,或者是分离密钥段Ks1和/或Ks2。此外,在接收器能够读取已加密消息Me之前,接收器必须使用他的私有解密密钥Kd,与接收器从密钥服务器获得的某些信息一起协力,来获得对称密钥Ks。
在上述实施例的每一个中,发送器和接收器如何连接没有任何不同。因此,他们可以使用不同的因特网服务提供商,并可以在不同的国家。所有的这些都要求,发送器和接收器拥有电子邮件地址,且他们都已经在运行密钥服务器的密钥服务器授权注册。
同样,虽然密钥服务器的主要任务是审查加密和密钥检索过程,密钥服务器也可以基于用户的选择或其他政策,设置密钥的访问限制。例如,用户可以指定密钥(或密钥段)不能被释放,直到未来的某个时间,或立刻或在未来某个时间不再可用。其他政策可以基于发送器或接收器的帐户历史或当前帐户状态;其中的方式;来自它的位置;或任何一方用户试图获得访问密钥的设备;或处理周围的其他因素的一个方面来释放密钥。还有其他政策可以允许密钥服务器永久地从它的归档区域删除解密密钥(或密钥段),使消息事实上不可解密。
在那些原始消息由发送器签名的情况下,签名可以被接收器通过请求来自密钥服务器的发送器的公用签名密钥来校验。在那些原始消息被安全时标的情况下,接收器可以执行适当的操作来校验接收的时标匹配被安全时标的数据。当然,接收器执行的操作取决于所使用时标协议的类型。
本发明的第一个实施例提供在发送器和接收器之间消息通信的最高安全等级。决不使密钥服务器240访问已加密分离密钥Kse1。此外,解码已加密消息要求(1)由密钥服务器存储的已加密分离密钥Kse2;(2)消息的内容和它附加的已加密分离密钥Kse1;和(3)接收器的私有解密密钥Kd;本发明的第二个实施例提供十分强大的安全等级。决不使密钥服务器340访问密钥Kse的未加密版本。另外,解密消息要求(1)由密钥服务器存储的已加密对称密钥Kse(密钥服务器不能解密它);(2)消息的内容;和(3)接收器的私有解密密钥Kd第三个实施例提供的强安全等级。在这个实施例中,密钥服务器生成对称密钥Ks,所以访问这个信息的实体可能解密已加密消息。解密消息要求(1)由密钥服务器存储的分离密钥Ks2(密钥服务器能够使用,因为它也访问Ks1)(2)消息的内容和附加的已加密分离密钥Kse1;和(3)接收器的私有解密密钥Kd。
在即时消息应用中,一旦用户与密钥服务器交互来建立对称密钥Ks,他们就可以独立于密钥服务器,假如可能以对等方式,使用已建立的密钥来维持安全消息连接的相互通信。这个减少了对信道通信量的负荷和对密钥服务器或者其他在密钥服务器的指示之下的服务器的要求,来实施即时消息对话。
密钥检索策略在上面的实施例中,密钥检索信息被密钥服务器发送到发送器,来向接收器传输。然而在此值得注释的是,密钥检索信息可替代地由发送器来创建和由接收器以其他方法来获得。
在一组情况中,密钥检索信息由发送器创建。一个例子可能是发送器诸如通过使用哈希(hash)函数,生成来自己加密消息的密钥检索信息,并发送产生的哈希值到密钥服务器作为解密密钥信息的索引来使用。接收器可以直接从发送器获得密钥检索信息,或独立地通过在从发送器接收的已加密消息上执行相同的哈希函数来创建密钥检索信息。作为另外一个例子,发送器可以替代地从原文消息创建密钥检索信息,并发送产生的哈希值到密钥服务器和接收器。再另外一个例子可以是发送器创建随机数字来作为索引使用,并发送它到密钥服务器和接收器来作为密钥检索信息使用。这个方法冒一个非常小的险,就是不同的消息将产生相同的随机值。
在另一组情况中,消息ID可用于与其他信息结合来索引解密密钥信息。例如,结合消息ID和接收器的电子邮件地址可足以作为密钥检索信息使用。在这样的情况下,密钥服务器在建立消息ID并得知谁是接收器的基础上,产生密钥检索索引。在从密钥服务器接收到的消息中的一个消息中,发送器接收消息ID,并能够阐明密钥检索信息。假如在合成消息中,消息ID被发送到接收器,接收器可以有效地重建密钥检索信息,因为接收器明显地知道它自己的电子邮件地址。因为每个实体能够通过它自身得知消息ID和接收器的电子邮件地址来创建密钥检索信息,没有必要将完整密钥检索信息从密钥服务器发送给发送器,或者从发送器发送到接收器。
在所有的情况中重要的是,接收器发送某些密钥检索信息给密钥服务器来接收解码密钥信息,作为回报。
注册本发明设想仅仅用户在密钥服务器注册,或其他相关的实体可以发送已加密消息给接收器。注册过程最好通过使用户填写在与密钥服务器相关的网络站点上定位的注册表格来完成。然而,包括电话或邮递的各种其他通信形式,能够用于提供注册所需的信息。基于网络的注册表格要求用户向系统呈现某些私有标识信息来建立帐户。至少,私有标识信息最好包括用户名和密码。为简单起见,用户名可以是用户的电子邮件地址,尽管这个不是必要条件。假如要求订金或其他用户费用,则注册过程也可以要求付款信息,诸如信用卡。
在一个实施例中,没有校验已注册用户的真实身份。因为电子邮件地址他们自身总是不揭示个人的身份,本发明能使一个人用假名发送已加密电子邮件给已知其电子邮件地址的接收器。然而,作为注册过程的一部分,系统可以通过发送电子邮件到用户已指定的电子邮件地址来“鉴别”用户。为了完成注册过程,用户必须遵循包含在电子邮件中的指令,诸如通过点击URL或进入网页,并为了未来鉴别目的回答额外问题。
然而在替代实施例中,个人标识信息可以被检验。在这样的情况下,注册时,用户也可能被要求提供额外的信任,诸如公用密钥证书、ITU X.509证书或类似的。然后这样的证书能被用于未来确定用户可以访问系统的特点。
一旦已经提供了标识信息,然后客户端软件被提交给用户的计算机并安装。作为安装过程的一部分,用户将建立新的密钥对Ke,Kd,对其用户将仅保留私有密钥Kd的所有权,而Ke作为与那个用户相关而被密钥服务器存储。用户任何时候可生成新的密钥对(Ke,Kd)为使用系统,并更新在密钥服务器注册的最佳公用加密密钥Ke。旧的密钥对最好在本机存储并能够用于解密为加密所使用的现在失效的公用密钥的消息。
在注册过程期间,用户也可能被提供机会来选择某些关于如何期望与密钥服务器交易的选项。其中包括的是(1)将如何通知用户-发送器密钥服务器被他的消息的接收器访问(例如,通过电子邮件或通过用户登陆网站并搜寻各种激活的状态);(2)用户愿意的特权(例如发送消息、接收消息、或二者);和(3)设备相关或其他规则相关的约束(例如,仅仅允许在周一到周五上午8点到下午6点发送来自工作计算机的已加密消息)。
图8呈现注册用户的步骤的流程图800。在步骤802中,用户联系注册过程。在步骤804中,用户提出一些唯一标识用户的数据项目给注册过程(例如,用户名、用户的全名、电话号码或电子邮件地址)。在步骤806中,用户下载并安装客户端软件。在步骤808中,用户在他们的本地机器上生成密钥对(Ke,Kd),或替代地,在他的所有权中使用公用密钥证书,诸如ITU X.509证书或高质量保密标准(PGP)证书。在步骤810中,用户提交公用加密密钥Ke给密钥服务器。在步骤812中,用户选择额外的选项。最后,在步骤814中,密钥服务器用新的用户信息更新他的数据库和相应证书。从那时以后,密钥服务器能够使用证书信息来确定哪个已注册用户请求特定加密或解密密钥,和用户请求哪项服务。
客户端软件客户端软件可以从任何数目的传统非易失性存储器存储设备来安装,诸如软盘、CD-ROM、PCMCIA卡和类似的。然而,在大多数例子中,客户端软件可从与密钥服务器相关的网站来获得。
客户端软件可以包括与用户的现有电子邮件系统合作的插入程序。安装的软件可以作为现有邮件用户代理(MUA)或自身包含的MUA的扩展;它也可以是一些可用于连接MUA的软件或基于网络的电子邮件软件。同样,在即时消息上下文中,软件可以被插入到现有即时消息代理(IMA)或自身包含的IMA或某些可以用于连接IMA的软件。
在用户的计算机上安装已下载软件的过程导致插入程序模块被安装入用户的MUA客户(例如,Microsoft Outlook、Qualcomm Eudora、和其他类似的程序)或即时消息客户,且新的设置被在操作系统环境中定义。基于用户的选择,软件可以安装自满足MUA客户或IM客户。
本发明的另一个软件的执行可以导致软件在网络的MTA(邮件传输代理)中作为扩展或插入模块来安装,例如,Microsoft Exchange、Lotus Notes和其他类似程序。在这样的情况下,MUA客户和已安装的软件之间的相互作用可由MTA管理者管理,而发送器和接收器的任务由MTA插入模块执行。
可以以许多方法基于安全要求,配置作为MUA扩展或用于景象邮件的其他应用的客户端软件。因此,例如MUA扩展可以结合一旦它被解密和显示时,约束用户拷贝消息的“单次读取”特点。在这样的情况下,用户不能被允许保存或缓存消息,一旦消息不再显示,它变成非可解密并潜在地删除。
未注册的接收器假如发送器指定的接收器不是用户群体的成员,即没有注册,则密钥服务器将没有用于指定的接收器的公用加密密钥Ke。可通过使服务器为接收器创建临时密钥对,或发送器为接收器创建临时密钥对来处理这种情况。
假如密钥服务器创建密钥对,则在它发送器和接收器之间相互作用中执行一些额外的步骤(1)密钥服务器生成代表非成员接收器的临时密钥对(Ket,Kdt),这个对被分配给在发送器的接收器公用密钥请求中指定的接收器的电子邮件地址;(2)密钥服务器返回临时公用加密密钥Ket给发送器,和表示所期望的接收器没有在服务器注册的适当信息一起,且加密密钥Ket不是由接收器,而是由它自己生成。给予发送器选项来继续或取消交互。假如继续,则发送器将发送密钥(或密钥段)存储请求给密钥服务器,照常密钥服务器将用密钥检索信息Kr来响应发送器。
代替使密钥服务器生成接收器的临时密钥对,这个可以由发送器使用贮存在发送器计算机内的客户端软件来实现。然后和对应于临时密钥对的接收器的电子邮件地址的标识一起发送器发送临时密钥对Ket,Kdt给密钥服务器。密钥服务器存储临时密钥对,并在接收器注册此服务时发送给接收器。
作为附加特征,未加密的消息可发送到接收器,通知接收器这个加密服务的性质。这个未加密消息可来自发送器,并为非注册接收器,自动地包括在已加密信息中。未加密消息可包括接收器可点击开始注册过程的链接。可替换地,未加密消息可进入来自密钥服务器的电子邮件格式,通知第一时间接收器接收器将从发送器接收到已加密消息,为了阅读此消息,第一时间接收器应该记录到与密钥服务器授权和作为用户的记录相关的网络站点。
从接收器的观点看,未加密消息(来自发送器或密钥服务器)指引接收器联系客户端软件可被下载或以其他方式被获得的适当位置。一旦接收器完成注册过程,用于来自发送器的首先接收的消息加密的临时密钥对(Ket,Kdt)被发送给接收器,并以上述同样的方法执行所接收的消息解密。因此,在上述第一个实施例中,对于原始消息,下载临时密钥对Ket,Kdt,并用于在第一时间接收器接收来自发送器的Kse1之后解密Kse,并从密钥服务器检索Kse2。其后,接收器成为用户群体的一员,并能够为将来发送和接收已加密消息创建新的密钥对(Ke,Kd)。已注册用户保留最近生成的私有解密密钥Kd的总所有权,而公用加密密钥Ke被作为这个用户的最佳公用密钥发送给密钥服务器。
密钥服务器能重新使用临时密钥对,并提供接收器的临时公用加密密钥Ket给此服务的其他在接收器注册此服务之前,试着发送电子邮件给同样接收器的已注册用户,让他们知道他们可在相同的时间接收临时公用密钥。可替代地,可以每次产生新临时密钥对,只要不同的发送器希望发送已加密消息给相同的接收器,而接收器还没有注册并生成它自己的密钥。然而在这个例子中,当他/她终于在系统注册时,所有已接收加密消息能被阅读之前,接收器必须下载多个密钥对。
在此值得注释的是,在低等级安全系统中,在发送器和未注册接收器之间初始通信加密对称密钥不是很严格的,总而言之,可以免除生成密钥对。对称密钥Ks将如之前一样用于消息加密,且每个步骤和之前一样,没有使用加密密钥Ke或解密密钥Kd。因此,在上述第一个实施例中,发送器创建Ks,接收器从发送器获得Ks1,从密钥服务器获得Ks2;在第二个实施例中,接收器从密钥服务器获得Ks;在第三个实施例中,密钥服务器生成Ks之后,当密钥服务器提供Ks2给接收器时,发送器发送Ks1给接收器。在所有这些实施例中,接收器不必为解密任何事情来获得密钥Ks而费心。
上述处理已加密消息发送到未注册接收器的方法,也可用于它自身作为一般目的方法来发送安全消息。然而,它不是和在这个发明的实施例中描述的方法一样的安全。
用户凭证代替或附加简单的用户名和密码,系统可以接收来自用户的多种凭证。因此,在注册期间,系统可提供用户指定多种凭证(ITU X.509凭证、电子邮件地址、即时消息IDs、信用卡号码和其他联系信息)的机会,假如需要的话,用户可稍后改变这些凭证。也提供了凭证管理。因此,用户可安全地时标用户要求所给凭证的准确时间和他们终止要求凭证的准确时间。然后这个信息可被用作审查过程的一部分进一步确定用户凭证的有效性。此外,用户可输出他的或她的本机凭证(密钥对或ITU X.509凭证)和设定,然后输入它们到在另一个机器上运行的客户端软件中。
系统提供的凭证服务是内容的一部分,通过它广大的用户群体获得每个用户的身份的信任。基于各种政策和用户选择,控制其他用户访问用户凭证。例如,某些或全部成员的凭证的细节可始终被隐藏,或仅仅向群体的指定成员显示,或向所有的公布。
当成员改变任何他的凭证时,可在改变的时候预先或在未来某个其他时刻向某些其他成员通知这个改变。例如,自发送器上次发送他或她消息之后,当接收器的(非临时)密钥对已改变时,将通知先前发送消息给已注册接收器的发送器。这用于通知成员接收器已交付服务但新成员现在存在相同电子邮件地址,或接收器没有改变但为安全的原因已生成新的密钥对。因此,可通知用户群体的成员在其他成员的凭证中消极的或积极的改变。另外,当发送消息给另外一个凭证是某些安全等级之上或之下的成员或从这个成员接收消息的时候,成员可规定他或她被积极地通知。
然而通常,允许成员通过各种诸如密钥签名(见PGP的“网络信用”)的手段,或其他诸如eBay,Inc.在线拍卖公司使用的自我衡量系统的用户能发展更好信誉的活动来证明他们凭证的真实性和说服力。群体成员还被给予通过其他手段提供关于用户的标识符的反馈的选项。
在较佳实施例中,当成员接收到来自其他成员的已加密电子邮件时,系统可允许成员证实其他成员的凭证的真实性。例如,发送器可激活在客户端软件请求中的选择,即接收器在阅读消息之后,特别地证实发送器的身份。接收器被给予接受发送器的身份,拒绝它或忽视请求的选项。正确的证实可增加发送器的级别,而拒绝可降低发送器的级别。发送器的级别的增加或降低依赖于执行证实的接收器的级别。
例如,假如成员Alice想要增加她在用户群体中的级别,则她可以编写一个消息给Bob,Bob是有好的等级的其他成员。发送消息之前,Alice激活使Bob证实她身份的选项。Alice发送她的ESP已加密消息给Bob。Bob获得消息,解密消息并阅读它。一旦他关闭该消息,他促成一个对话,通知他“Alice已要求你证实这个消息的真实性。假如你相信这个消息来自Alice,请单击Yes。假如你相当肯定这个消息不是来自Alice,则单击No。假如你不想回答,则单击忽略。”客户端软件向服务器汇报Bob是否单击“Yes”,“No”或“忽略”。当成员累积“Yes”单击时,她的等级将根据可基于响应证实请求的成员的等级的某些规则来提高。当成员累积“No”单击时,密钥服务器授权可更加密切地监控成员的帐户,重新检测成员的凭证,联系并询问成员,或甚至使帐户冻结并通知过去的接收器。可对任何给定成员的积极作为在回顾一件件案例的基础上进行评估,尽管默认的正式政策可作为基线对每个成员执行。
作为补充特性,成员最好还能够汇报非索要信息。能通过这样的方法执行,设置成员能通过简单运送非索要信息或甚至通过在客户端软件中建立“非索要信息报警按钮”在上面提供细节的网页。这个汇报的目的不是质凝成员的身份,而是汇报成员的系统不适当使用。
密钥访问规则系统可允许规则被建立的控制访问解密密钥或密钥段。这些规则可由密钥服务器授权来定义,或由个别群体成员来定义。例如,群体成员可指定密钥(或密钥段)直到未来的某个时间才能被释放,或应该立刻或在未来的某些时间不再可利用。其他规则也可以被执行。例如,这些规则可基于发送器的或接收器的帐户历史或当前帐户状态、其中的方法,来自其的位置或每个用户试图获得访问密钥的设备或其他交易周围的因素的一个方面来释放密钥。
密钥类型在上述实施例中采用的密钥对(Ke,Kd)最好使用诸如RSA算法、椭圆曲线算法、E1 Gamal算法和DSA算法的非对称加密算法来创建。在上述实施例中采用的对称密钥Ks最好使用诸如AES,DES,3DES和类似的对称加密算法来创建。所有的这些为在加密系统的领域中技术熟练人士所熟知。
在上述系统中,群体的每个成员可拥有用于密钥加密/解密和签名的单个密钥对,或拥有第一个对用于密钥的加密/解密,且第二个对用于签名的两个密钥对。
关于消息的加密和解密,最好使用对称加密/解密密钥Ks。如业内那些技术熟练人士所知,对称密钥显然有计算效率上的优势。然而,对消息也可替代地使用非对称的密钥对--消息加密密钥Kme和相应消息解密密钥Kmd。密钥服务器或发送器或二者的结合体,可生成非对称加密密钥对。在这样的情况下,它是解密密钥Kmd的已加密版本Kmde的部分Kmde2(第一个实施例),或解密密钥Kmd的整个已加密版本Kmde(第二个实施例)或解密密钥Kmd的未加密部分Kmd2(第三个实施例),这些都被存储在密钥服务器和/或发送给接收器。
通信协议在上面所有的实施例中,密钥服务器最好和发送器及接收器使用诸如TLS1.0或SSLv3或其他合适的密码协议的已加密通信来通信。例如,能够废止全部SSL类型实施而仍然使用密钥服务器的公用加密密钥,或使用X.509凭证安全地发送信息给密钥服务器(通过发送器或接收器)。同样,密钥服务器可使用密钥服务器所知的他们的公用加密密钥来发送诸如密钥的信息给发送器或接收器。
审查日志在上面的实施例中,和包含在行动中的识别访问计算机和用户(后者,也许通过电子邮件地址)的足够数据一起,密钥服务器记录关于密钥(生成、归档、访问)的交易。另外,在发送器和接收器机器上的客户端软件被配置成记录相同信息,无论何时机器与密钥服务器交互,允许用户交叉核对本地的存储记录和由密钥服务器存储的行为记录。可以以人工模式(用户指定请求检验)或自动模式(客户端计算机和密钥服务器无需指定操作员的行动而互相对话)来检验审查跟踪,并帮助发现密钥对的使用和误用。因此,加固关于发布之后所给密钥对的真实性。这些审查跟踪的用户检验的频率和透彻性可以被测量和作为用户的密钥对的安全和真实性的附加证据使用。另外,密钥服务器和客户端软件可安全地时标审查记录本身的所有或相关部分,来防止和探测任何干扰。
作为例子,密钥服务器可更新第一次审查记录来反应一次或多次发送加密密钥Ke,存储解密密钥信息并发送解密密钥信息给接收器。同样地,发送器可更新第二次审查记录来反应如请求和/或接收加密密钥这样的行为,发送密钥或密钥段给密钥服务器存储,接收密钥检查信息,并发送已加密消息(和/或密钥检索信息)给接收器。随后,以人工模式或自动模式,发送器可通过比较对应于由发送器发送的消息的第一次审查记录中密钥服务器生成的项目,和由发送器生成的在第二次审查记录中的相应项目,来校验消息审查跟踪。
用户可检验他的或她的审查记录和可以许多方式通信,诸如通过电子邮件发送的可审查信息,使信息对授权观众来说可在网站访问,通过另一种应用来提供信息,为自动的确认,直接从服务器发送信息到MUA,或通过其他应用方法。
本发明的任何实施例生成关于被用户使用来发送或接收消息的设备的准唯一设备标识符。在某个时间段,这些唯一的标识符可以被用作附加可审查信息或作为约束密钥对用于某些设备的规则的一部分。
虽然已参照某些较佳实施例描述了本发明,但本发明不限于此。上述实施例的各种变种也在本发明的范围内。本发明的范围由下述权利要求给出。还应记住实施所要求的发明并不必然产生上述优点和好处之任一,更不用说全部了。
权利要求
1.适用于在密钥服务器的协助下,发送器和接收器之间消息M安全通信的方法,此方法包括步骤发送器用对称密钥Ks加密消息M,来组成已加密的消息;发送器使用接收器的公用加密密钥Ke,来加密从对称密钥Ks获得的第一个信息;密钥服务器存储接收器所需要的用于组成适合解密已加密消息的解密密钥的解密密钥信息;发送器接收索引解密密钥信息的密钥检索信息Kr;发送器至少发送已加密消息和密钥检索信息Kr给接收器;接收器发送密钥检索信息Kr给密钥服务器,并接收响应这个的解密密钥信息;接收器组成至少来自解密密钥信息和接收器私有解密密钥Kd的对称密钥Ks;和接收器解密携带对称密钥Ks的已加密消息;没有消息或已加密消息被发送给密钥服务器。
2.如权利要求书1所述的方法,其特征在于第一个信息是对称密钥Ks;发送器用接收器公用加密密钥Ke加密对称密钥Ks,来组成已加密对称密钥Kse;和先于解密已加密消息,接收器用接收器私有解密密钥Kd解密已加密对称密钥Kse,从而组成对称密钥Ks。
3.如权利要求书2所述的方法,其特征在于发送器分离已加密对称密钥Kse成第一个和第二个分离密钥段Kse1和Kse2,发送器将第二个分离密钥段Kse2发送给密钥服务器;密钥服务器存储第二个分离密钥段Kse2作为解密密钥信息;除了已加密消息和密钥检索信息Kr之外,发送器还向接收器发送第一个分离密钥段Kse1;响应发送密钥检索信息Kr给密钥服务器,接收器接收第二个分离密钥段Kse2;以及接收器组成分别来自第一个和第二个分离密钥段Kse1和Kse2的已加密对称密钥Kse。
4.如权利要求书2所述的方法,其特征在于发送器向密钥服务器发送已加密对称密钥Kse;密钥服务器存储已加密对称密钥Kse作为解密密钥信息;和响应发送密钥检索信息Kr给密钥服务器,接收器接收已加密对称密钥Kse。
5.如权利要求书2所述的方法,其特征在于密钥服务器生成密钥检索信息Kr,发送器生成对称密钥Ks。
6.如权利要求书1所述的方法,其特征在于密钥服务器分离对称密钥Ks分别为第一个和第二个分离密钥段Ks1和Ks2,并存储第二个分离密钥段Ks2作为解密密钥信息;发送器分别获得第一个和第二个分离密钥段Ks1和Ks2;第一个分离密钥段Ks1是第一个信息,并由发送器使用接收器的公用加密密钥Ke来加密,以组成已加密的第一个分离密钥段Kse1;发送器向接收器发送已加密第一个分离密钥段Kse1,以及已加密的消息和检索信息Kr;接收器用接收器的私有解密密钥Kd解密已加密的第一个分离密钥段kse1,从而组成第一个分离密钥段Ks1;响应发送密钥检索信息Kr给密钥服务器,接收器接收第二个分离密钥段Ks2;以及先于解密已加密消息,接收器组成分别由第一个和第二个分离密钥段Ks1和Ks2构成的对称密钥Ks。
7.如权利要求书6所述的方法,其特征在于密钥服务器向发送器分别发送第一个和第二个分离密钥段Ks1和Ks2,以使发送器获得Ks1和Ks2;以及先于发送器加密消息M,发送器组合从密钥服务器接收到的Ks1和Ks2,来组成对称密钥Ks。
8.如权利要求书6所述的方法,其特征在于先于发送器加密消息M,密钥服务器向发送器发送对称密钥Ks;以及发送器分离对称密钥Ks分别成为上述第一个和第二个分离密钥段Ks1和Ks2。
9.如权利要求书6所述的方法,其特征在于密钥服务器生成密钥检索信息Kr,也生成对称密钥Ks。
10.适用于在密钥服务器的协助下,发送器和接收器之间消息M安全通信的方法,此方法包括步骤发送器获得对称密钥Ks并用上述对称密钥Ks加密消息M,从而组成已加密消息Me;发送器用与接收器相关的公用加密密钥Ke加密包括对称密钥Ks的第一个信息,从而组成已加密对称密钥Kse;发送器分别组成来自上述已加密对称密钥Kse的第一个和第二个分离密钥段Kse1和Kse2;发送器发送第二个分离密钥段Kse2给密钥服务器;密钥服务器存储接收器所需的、用来组成适用于解密已加密消息的解密密钥的解密密钥信息,解密密钥信息由第二个分离密钥段Kse2组成;密钥服务器向发送器传输索引解密密钥信息的密钥检索信息Kr;发送器向接收器传输已加密消息Me、第一个分离密钥段Kse1和密钥检索信息Kr;接收器向密钥服务器传输密钥检索信息Kr,并响应这个接收上述解密密钥信息;接收器组成由第一个分离密钥段Kse1和从解密密钥信息获得的Kse2构成的已加密对称密钥Kse;接收器用接收器私有解密密钥Kd解密已加密对称密钥Kse,从而组成对称密钥Ks;和接收器用对称密钥Ks解密已加密消息Me,来读取原始消息M。
11.如权利要求书10所述的方法,其特征在于,包括在用上述对称密钥Ks加密消息之前,给消息M附加至少一个签名数据和时标数据的附加步骤。
12.如权利要求书10所述的方法,其特征在于,解密密钥信息包括第二个分离密钥段Kse2。
13.如权利要求书10所述的方法,其特征在于,发送器生成对称密钥Ks。
14.适用于在密钥服务器的协助下,发送器和接收器之间M消息安全通信的方法,此方法包括步骤发送器获得对称密钥Ks并用上述对称密钥Ks加密消息M,从而组成已加密消息Me;发送器用与接收器相关的公用加密密钥Ke加密包括对称密钥Ks的第一个信息,从而组成已加密对称密钥Kse;发送器向密钥服务器发送已加密对称密钥Kse;密钥服务器存储接收器所需用于组成适合解密已加密消息的解密密钥的解密密钥信息;解密密钥信息由已加密对称密钥Kse组成;密钥服务器向发送器传输索引解密密钥信息的密钥检索信息Kr;发送器向接收器传输已加密消息和密钥检索信息Kr;接收器向密钥服务器传输密钥检索信息,并响应这个接收上述解密密钥信息;接收器从上述解密密钥信息获得已加密对称密钥Kse;接收器用接收器私有解密密钥Kd解密已加密对称密钥Kse,从而组成对称密钥Ks;以及接收器用对称密钥Ks解密已加密消息Me,来读取原始消息M。
15.如权利要求书14所述的方法,其特征在于,包括在用上述对称密钥Ks加密消息之前,给消息M附加至少一个签名数据和时标数据的附加步骤。
16.如权利要求书14所述的方法,其特征在于,解密密钥信息包括已加密对称密钥Kse。
17.如权利要求书14所述的方法,其特征在于,密钥服务器生成对称密钥Ks。
18.适用于在密钥服务器的协助下,发送器和接收器之间消息M安全通信的方法,此方法包括步骤密钥服务器获得分别对应于对称密钥Ks的第一个和第二个分离密钥段Ks1和Ks2;密钥服务器存储由接收器所需用于组成适合解密已加密消息的解密密钥的解密密钥信息,解密密钥信息由第二个分离密钥段Ks2组成;密钥服务器向发送器传输与接收器相关的公用加密密钥Ke、足够组成Ks的对称密钥信息和索引解密密钥信息的密钥检索信息Kr;发送器用Ks加密消息M从而组成已加密消息Me,发送器也用接收器公用加密密钥Ke加密包括第一个分离密钥段Ks1的第一个信息,从而组成已加密第一个分离密钥段Kse1;发送器向接收器传输已加密消息Me、密钥检索信息Kr和已加密第一个分离密钥段Kse1;接收器向密钥服务器传输密钥检索信息Kr,并响应这个接收上述解密密钥信息;接收器用接收器私有解密密钥Kd解密已加密第一个分离密钥段Kse1,从而组成第一个分离密钥段Ks1;接收器组成分别由第一个和第二个分离密钥段Ks1和Ks2构成的Ks,Ks2从解密密钥信息中获得;以及接收器用对称密钥Ks解密已加密消息Me,来读取原始消息M。
19.如权利要求书18所述的方法,其特征在于,包括用Ks加密消息之前,给消息M至少附加一个签名数据和时标数据的附加步骤。
20.如权利要求书18所述的方法,其特征在于,解密密钥信息包括第二个分离密钥段Ks2。
21.如权利要求书18所述的方法,其特征在于解密密钥信息包括通过用接收器公用加密密钥Ke加密第二个分离密钥段Ks2组成的已加密第二个分离密钥段Kse2;以及接收器通过用接收器私有解密密钥Kd解密Ks2来组成Ks2。
22.如权利要求书18所述的方法,其特征在于对称密钥信息包括对称密钥Ks,且发送器组成由从密钥服务器所接收到的对称密钥Ks构成的第一个分离密钥段Ks1。
23.如权利要求书18所述的方法,其特征在于对称密钥信息分别包括第一个和第二个分离密钥段Ks1和Ks2。
24.如权利要求书18所述的方法,其特征在于对称密钥信息分别包括第一个和第二个分离密钥段Ks1和Ks2;以及解密密钥信息包括第二个分离密钥段Ks2。
25.在安全通信系统中运行密钥服务器来便于在第一个实体和第二个实体之间安全传输消息M的方法,此方法包括步骤在交换的第一个序列期间从第一个实体接收一个请求,请求提供对应于第一个实体指定的第二个实体的公用加密密钥Ke;向第一个实体传输上述公用加密密钥Ke;存储第二个实体所需的解密密钥信息,来组成适合解密消息M的已加密版本的解密密钥;向第一个实体传输索引上述解密密钥信息的密钥检索信息Kr;以及在交换的第二个序列期间接收来自第二个实体的密钥检索信息Kr;以及向第二个实体传输上述解密密钥信息,不接收该消息或该消息的已加密版本。
26.如权利要求书25所述的方法,其特征在于包括先于存储解密密钥信息的步骤,从第一个实体接收解密密钥信息的步骤。
27.如权利要求书26所述的方法,其特征在于,解密密钥信息包括通过上述公用加密密钥Ke加密的对称密钥的分离密钥段。
28.如权利要求书26所述的方法,其特征在于,解密密钥信息包括用上述公用加密密钥Ke加密的对称密钥。
29.如权利要求书25所述的方法,其特征在于,进一步包括在交换的第一个序列期间的步骤分别提供与对称密钥Ks相关的第一个和第二个分离密钥段Ks1和Ks2;以及除了传输公用加密密钥Ke和密钥检索信息Kr之外,还向第一个实体传输上述第一个和第二个分离密钥段Ks1和Ks2。
30.如权利要求书29所述的方法,其特征在于,解密密钥信息包括第二个分离密钥段Ks2。
31.如权利要求书25所述的方法,其特征在于,进一步包括在交换的第一个序列期间的步骤密钥服务器校验第二个实体是否是一个安全通信系统的已注册用户,以及假如第二个实体不是已注册用户密钥服务器为第二个实体生成加密密钥和解密密钥,以及与第二个实体不是已注册用户的通知一起,密钥服务器发送加密密钥给第一个实体。
32.如权利要求书31所述的方法,其特征在于,进一步包括在交换的第二个序列期间的步骤假如第二个实体不是已注册用户,邀请第二个实体注册;以及发送解密密钥给第二个实体。
33.安全通信系统中的密钥服务计算机器配置成便于在发送器和接收器之间消息M的安全传输,密钥服务器计算机被编程为在交换的第一个序列期间接收来自第一个实体的请求,请求提供对应于由第一个实体指定的第二个实体的公用加密密钥Ke;发送上述公用加密密钥Ke给第一个实体;存储第二个实体所需的解密密钥信息,来组成适合于解密消息M已加密版本的解密密钥;发送索引上述解密密钥信息的密钥检索信息Kr给第一个实体;以及在交换的第二个序列期间接收来自第二个实体的密钥检索信息Kr;以及发送上述解密密钥信息给第二个实体,不必接收消息或消息的已加密版本。
34.可执行程序存储在其中的计算机可读存储器,程序包括第一组程序包括用于接收来自第一个实体,要求提供对应于由第一个实体指定的第二个实体的公用加密密钥Ke的请求的程序;发送上述公用加密密钥Ke给第一个实体的程序;存储第二个实体所需的解密密钥信息,来组成适合于解密消息M已加密版本的解密密钥的程序;发送索引上述解密密钥信息的密钥检索信息Kr给第一个实体的程序;以及第二组程序包括接收来自第二个实体的密钥检索信息Kr的程序;以及发送上述解密密钥信息给第二个实体的程序,
35.适用于在密钥服务器的协助下,发送器和接收器之间消息M安全通信的方法,此方法包括步骤发送器用消息加密密钥Kme加密消息M,来组成已加密消息;发送器使用接收器的公用加密密钥Ke,加密从对应消息加密密钥Kme的消息解密密钥Kmd中获得的第一个信息;密钥服务器存储接收器所需用于组成适合解密已加密消息的上述消息解密密钥Kmd的解密密钥信息;发送器接收索引解密密钥信息的密钥检索信息Kr;发送器向接收器至少发送已加密消息和密钥检索信息Kr;接收器向密钥服务器发送密钥检索信息Kr,并响应这个接收解密密钥信息;接收器组成至少由解密密钥信息和接收器的私有解密密钥Kd构成的消息解密密钥Kmd;以及接收器用消息解密密钥Kmd解密已加密消息;而没有消息或加密的消息发送给密钥服务器。
36.如权利要求书35所述的方法,其特征在于,消息加密密钥Kme和消息解密密钥Kmd组成非对称密钥对。
37.如权利要求书35所述的方法,其特征在于,消息加密密钥Kme和消息解密密钥Kmd是相同的且都是对称密钥Ks。
38.适用于在密钥服务器的协助下,发送器和接收器之间消息M安全通信的方法,此方法包括步骤发送器加密携带消息加密密钥Kme的消息M,来组成已加密消息;发送器使用接收器的公用加密密钥Ke,加密从对应消息加密密钥Kme的消息解密密钥Kmd中获得的第一个信息;密钥服务器存储接收器所需用于组成适合解密已加密消息的上述消息解密密钥Kmd的解密密钥信息;发送器向接收器至少发送已加密消息;接收器向密钥服务器发送索引解密密钥信息的密钥检索信息Kr,并响应这个接收解密密钥信息;接收器至少从解密密钥信息和接收器的私有解密密钥Kd中组成消息解密密钥Kmd;以及接收器解密携带消息解密密钥Kmd的已加密消息;没有消息或已加密消息被发送到密钥服务器。
39.如权利要求书38所述的方法,其特征在于,消息加密密钥Kme和消息解密密钥Kmd组成非对称密钥对。
40.如权利要求书38所述的方法,其特征在于,消息加密密钥Kme和消息解密密钥Kmd是相同的且都是对称密钥Ks。
41.如权利要求书38所述的方法,其特征在于,接收器基于从发送器接收到的信息创建密钥检索信息Kr。
42.如权利要求书1,10,14或18所述的方法,其特征在于,进一步包括,由发送器创建至少一个政策,以控制解密密钥信息的检索。
43.如权利要求书1,10,14,18或25所述的方法,其特征在于,进一步包括,由密钥服务器创建至少一个政策,以控制解密密钥信息的检索。
44.如权利要求书1,10,14或18所述的方法,其特征在于,进一步包括更新在密钥服务器的第一个审查日志,来反映至少一个存储的解密密钥信息,并发送解密密钥信息给接收器;以及更新在发送器的第二个审查日志,来反映从发送器到接收器的消息传输。
45.如权利要求书44所述的方法,其特征在于,进一步包括校验对应于由发送器发送的消息的第一个审查日志中的项目和第二个审查日志中的项目间的通信。
46.如权利要求书1,10,14或18所述的方法,其特征在于,进一步包括发送器请求接收器证明发送器身份。
全文摘要
安全电子消息系统在密钥服务器(240)的协助下允许已注册用户间的通信。系统要求接收器(220)发送密钥检索信息给密钥服务器(240),并获得解密密钥信息。对接收器(220)来说解密密钥信息是必要的,来组成用于读取被发送器(210)加密的消息的解密密钥。解密密钥信息可以是解密密钥的已加密版本,或它的一部分,或者可以是其中解密密钥的未加密版本的一些部分。密钥检索信息可以典型地由发送器(210)发送给接收器(220),或由接收器(220)基于发送器(210)发送的信息生成。
文档编号H04L9/08GK1647442SQ03807930
公开日2005年7月27日 申请日期2003年2月3日 优先权日2002年2月5日
发明者D·E·安迪瓦西斯, S·M·E·卡内尔, A·M·菲色尔, A·J·维特劳弗 申请人:舒尔蒂股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1