用于检验数字证书状态的系统和方法

文档序号:7852948阅读:313来源:国知局
专利名称:用于检验数字证书状态的系统和方法
技术领域
本发明一般地涉及安全电子消息传送领域,并且特别涉及检验数字证书的状态。
背景技术
包括例如运行在桌面计算机系统上的电子邮件软件应用的已知安全消息客户端保持数据存储器,或至少一个专用的数据存储区用于安全消息信息,诸如数字证书。数字证书通常包括一个实体的公钥及用一个或多个数字签名捆绑到公钥的标识信息。在安全多用途因特网邮件扩展(S/MIME)消息传送中,例如,使用公钥验证所接收的安全消息上的数字签名,并且加密用于加密要发送的消息的会话密钥。在其它安全消息方案中,可以使用公钥加密数据或消息。如果公钥当需要用于加密或数字签名验证时而在消息客户端中得不到时,那么在能够执行这些操作之前,数字证书被加载到消息客户端上。
通常,针对证书注销表(CRL)检验数字证书,以确定是否数字证书已经被其发行者注销。当数字证书首先被接收到时,并且之后周期地,例如当接收到新CRL时,通常执行该检验。然而,CRL趋于相对庞大,这样CRL传送到消息客户端消耗相当大的通信资源,并且在消息客户端处的CRL的存储可能消耗有效的存储器空间。基于CRL的注销状态检验也是处理器集中式的和费时的。这些影响在运行于无线移动通信设备上的消息客户端中特别明显,这些消息客户端运行在有限带宽的无限通信网络内,并且可能具有有限的处理和存储器资源。此外,只有当分发新CRL时,在基于CRL的系统中更新注销状态。
用于数字证书注销状态检验的另一方案涉及查询保持数字证书注销状态信息的远端系统。这种类型的方案需要传送较少的信息,减少了在消息客户端处执行的操作的复杂性,以检验数字证书的注销状态,并且还提供了与基于CRL方案有关更及时的数字证书注销状态信息。在线证书状态协议(OCSP)是这种方案的一个示例。然而,无线通信系统带宽限制和等待时间使得这些已知方案不适合于运行在无线移动通信设备上的安全消息客户端。

发明内容
按照本发明的一个方面,一种根据存储在状态提供器系统中的状态数据来确定数字证书的状态的系统,包括客户端系统,包括客户端模块,该客户端模块可操作用于产生和提供对应于数字证书状态请求的状态请求数据用于从客户端系统传输,并且响应于该状态请求,接收用于数字证书的数字证书状态数据;和代理系统,包括代理模块,该代理模块可操作用于接收从所述客户端系统传送的状态请求数据,并且响应于此,产生用于所述数字证书状态的查询数据,和提供所述查询数据用于从代理系统传送到状态提供器系统,和进一步可操作用于从所述状态提供器系统接收状态数据,基于接收的状态数据产生所述数字证书状态数据,和提供所述数字证书状态数据用于传送到客户端系统。
按照本发明的另一方面,一种用于处理用于客户端系统的数字证书状态检验服务的系统,包括代理系统,包括代理模块,可操作用于从客户端系统接收针对数字证书的第一数字证书状态检验服务请求数据,并且响应于此,产生第二数字证书状态检验服务请求数据和提供所述第二数字证书状态检验服务请求数据,用于传送到数字证书状态检验服务提供器系统,并且进一步可操作用于从所述数字证书状态检验服务提供器系统接收第一数字证书状态检验服务数据,基于接收的所述第一数字证书状态检验服务数据,产生第二数字证书状态检验服务数据,和提供所述第二数字证书状态检验服务数据,用于传送到客户端系统,其中,所述第二数字证书状态检验服务数据包括从所述服务提供器系统接收的第一数字证书状态检验服务数据的子集。
在本发明的另一个实施例中,一种用于处理用于数字证书的数字证书状态检验服务的系统,所述数字证书状态检验服务由数字证书状态检验服务提供器系统提供,该系统可操作用于接收用于数字证书状态检验服务请求的查询数据,该系统包括客户端系统,该客户端系统包括客户端模块,可操作用于准备并且提供传输对应于数字证书的数字证书状态检验服务的第一数字证书状态检验服务请求数据,和响应于第一数字证书状态检验服务请求数据,接收第一数字证书状态检验服务数据,其中,所述第一数字证书状态检验服务请求数据包括针对数字证书状态检验服务请求的查询数据的子集。
按照本发明的另一方面,一种用于处理用于数字证书的数字证书状态检验服务的方法,所述数字证书状态检验服务由数字证书状态检验服务提供器系统提供,该系统可操作用于接收针对数字证书状态检验服务请求的查询数据,所述方法包括步骤接收数据项,确定是否所述数据项包括数字证书,如果所述数据项包括数字证书,产生包括所述查询数据的子集的数字证书状态检验服务请求数据,提供所述数字证书状态检验服务请求数据,用于传送到代理系统,和响应于所述数字证书状态检验服务请求数据,从所述代理系统接收数字证书状态检验服务数据。
在本发明的另一个实施例中,一种处理客户端系统和代理系统之间的数字证书状态请求的方法,该方法包括步骤在所述代理系统接收从所述客户端系统传送的数字证书状态请求数据,响应于接收所述数字证书状态请求数据,产生针对所述数字证书状态的查询数据,传送所述查询数据到状态提供器系统,响应于所述查询数据,在所述代理系统从所述状态提供器系统接收状态数据,基于接收的所述状态数据,产生数字证书状态数据,和传送所述数字证书状态数据到所述客户端系统。


图1是一个示例消息系统的方框图。
图2是图示在消息系统中的安全电子邮件消息交换的方框图。
图3是实现数字证书注销状态检验系统的一个系统的方框图。
图4A是图示检验数字证书注销状态的方法的流程图。
图4B是图示检验数字证书注销状态的另一方法的流程图。
图5是实现具有多代理系统客户端模块的数字证书注销状态检验系统的系统的方框图。
图6是无线移动通信设备的方框图。
图7是图示数字证书状态请求的处理的功能方框图。
图8是展示一个通信系统的方框图。
图9是可选的通信系统的方框图。
图10是另一可选的通信系统的方框图。
具体实施例方式
安全消息是由消息发送器或者可能由消息发送器和消息接收器之间的中间系统已经进行处理的消息,以保证一个或多个数据保密性,数据整体性和用户验证。安全消息传送的通用技术包括利用数字签名对消息进行签名,和/或加密消息。例如,安全消息可以是按照诸如安全多用途因特网邮件扩展(S/MIME)的各种变体的已签名、加密、先加密然后签名或先签名然后加密的消息。
消息客户端(messaging client)允许它在其上运行的一个系统接收并且可能也发送消息。消息客户端可以运行在计算机系统、手持设备、或带有通信能力的任何其它系统或设备上。很多消息客户端还具有附加的非消息传送功能。
图1是一个示例消息系统的方框图。系统10包括广域网络(WAN)12;其连接到计算机系统14;无线网络网关16和公司局域网络(LAN)18。无线网络网关16还连接到无线通信网络20,其中,配置无线移动通信设备22(“移动设备”)以进行操作。
一个示例的移动设备22可以是在美国专利6,278,442,标题为“HAND-HELD ELECTRONIC DEVICE WITH A KEYBOARD OPTIMIZED FOR USEWITH THE THUMBS”中公开的类型,其全部公开通过引用被包含于此。计算机系统14是被配置用于对WAN 12进行通信的桌上型或膝上型PC。WAN 12可以是大的网络,诸如因特网。PC诸如计算机系统14通常通过因特网服务提供商(ISP),应用服务提供商(ASP)等访问因特网。
公司LAN 18图示为位于安全防火墙24的后面的基于网络的消息客户端的例子。在公司LAN 18内,运行在防火墙24后的计算机上的消息服务器26,作为主要接口,用于公司在LAN18内交换信息、和通过WAN12与其它外部消息客户端交换消息。两个所知的最普通的消息服务器26是MicrosoftTMExchange Server和Lotus DominoTM。这些服务器通常与路由和传递邮件的因特网邮件路由器一起使用。消息服务器26还可以提供附加功能,诸如用于涉及日历、to-do表、任务表、电子邮件和文档的数据的动态数据库存储。
消息服务器26向连接到LAN18的联网计算机系统28提供消息传送能力。典型的LAN18包括多个计算机系统28,每个均实现一消息客户端,诸如Microsoft OutlookTM,Lotus NotesTM等。在LAN 18内,消息由消息服务器26接收,分布给在接收的消息中所寻址的用户帐户的合适信箱,然后通过运行在计算机系统28上的消息客户端而由用户访问。
无线网关16给无线网络20提供接口,通过该接口,可与移动设备22交换消息。移动设备22例如可以包括数据通信设备、语音通信设备、双模式通信设备(诸如具有数据和语音通信功能的移动电话)、能够用于无线通信的个人数字助理(PDA)、或与膝上或桌面型计算机系统或某些其它设备一起工作的无线调制解调器。前面已经描述了一个示例的移动设备22,下面参照图6进一步描述。
这些功能,诸如移动设备22的寻址、用于无线传输的消息的编码或其它转换和任何其它需要的接口功能,可以由无线网络网关16来执行。可以配置无线网关16,以便与多于一个的无线网络20操作,在该情况下,无线网关16也可以确定用于定位给定的用户的最可能的网络,并且当用户在国家或网络之间漫游时,可跟踪其移动设备。
任何访问WAN 12的计算机系统可以通过无线网络网关16与移动设备22交换消息。或者,也可以实现专有无线网络网关,诸如无线虚拟专有网络(VPN)路由器,以给无线网络提供专有接口。例如,在LAN 18中实现的无线VPN可以通过无线网络20,提供从LAN 18到一个或多个无线移动设备诸如22的专有接口。通过提供与消息服务器26操作的消息转发或重定向系统,这种通过无线网络网关16和/或无线网络20到无线设备的专有接口被有效地扩展到LAN 18外部的实体。在该类型的系统中,由消息服务器26接收并且寻址到与移动设备诸如22的用户相关的一个信箱或数据存储器的输入消息通过无线网络接口,例如无线VPN路由器、无线网络网关16或其它接口,发送到无线网络20及到用户移动设备22。在消息服务器26上运行的示例重定向器系统可以具有在美国专利6,219,694中公开的类型,该专利标题为“SYSTEM AND METHODFOR PUSHING INFORMATION FROM A HOST SYSTEM TO A MOBILE DATACOMMUNICATION DEVICE HAVING A SHARED ELECTRONIC ADDRESS”,其全部公开通过引用包含在此。
到消息服务器26上的用户信箱的另一可选接口是无线应用协议(WAP)网关。通过WAP网关,可以将在消息服务器26上的用户信箱中的消息列表、或可能每个消息或每个消息的一部分发送到移动设备22。
无线网络通常通过无线网络中的基站和移动设备之间的RF传输,传递消息给移动设备或从移动设备传递消息。无线网络20例如可以是数据中心型无线网络、语音中心型无线网络、或通过相同的基础设施能够同时支持语音和数据通信的双模式网络。示出的无线网络包括码分多址(CDMA)网络,移动特别小组或全球移动通信系统(GSM)和通用分组无线业务(GPRS)、以及诸如用于全球演进的增强型数据率(EDGE)和通用移动电信系统(UMTS)等第三代(3G)网络。GPRS是在现有的GSM无线网络上的数据覆盖的数据中心型的。
某些老的数据中心网络的例子,包括但不限于MobitexTM无线网络(“Mobitex”),和DataTACTM无线网络(“DataTAC”)。语音中心型数据网络的例子包括个人通信系统(PCS)网络,象CDMA、GSM和已经使用了多年的时分多址(TDMA)系统。
也许当前使用的最普遍的消息是电子邮件。在标准的电子邮件系统中,电子邮件消息由电子邮件发送器发送,很可能通过消息服务器和/或服务提供者系统发送、并且典型地,经因特网路由到一个或多个消息接收器。电子邮件消息通常用明文发送,并且使用传统的简单邮件传递协议(SMTP)、RFC822报头和MIME主体部分,来定义电子邮件消息的格式。
在近些年,安全消息技术已经得到发展,以保护消息诸如电子邮件消息的内容和完整性。S/MIME和Pretty Good PrivacyTM(PGpTM)是两个公钥安全电子邮件消息协议,用于加密和签名,从而保护消息的完整性,以及用于由消息接收器进行的发送器验证。安全消息除了被加密和/或签名之外,还可以被编码,压缩或另外处理。
图2是图示在消息传送系统中安全电子邮件消息交换的方框图。系统包括连接到WAN 32和无线网关34的电子邮件发送者30,其提供了WAN 32和无线网络34之间的接口。移动设备38适合于运行在无线网络36内。在图2还示出了数字证书注销状态信息提供器37和代理系统39,二者连接到WAN 32。
电子邮件发送器30是PC诸如图1中的系统14、或联网的计算机诸如图1中的计算机系统28、或电子邮件消息A在其上构成和发送的另一移动设备。WAN32、无线网关34、无线网络36和移动设备38实际上与图1中类似标记的组件相同。
按照安全消息方案,诸如S/MIME和PGP,使用由电子邮件发送器30选择的一次性会话密钥来加密消息。使用会话密钥加密消息体,然后使用消息将要被发送到的每个所寻址的消息接收器的公钥,进行自身加密。如在40示出的,用该方法加密的消息包括加密的消息体44和加密的会话密钥46。在这种类型的消息加密方案中,消息发送器诸如电子邮件发送器30必须具有对加密的消息要发送到其的每个实体的公钥的访问能力。
按照一个已知的数字签名方案,安全电子邮件发送器30通常通过获取消息的摘要并且使用发送器的私钥签名摘要,来对消息进行签名。例如可以通过对消息执行检验和、循环冗余检验(CRC)、或某些其它优选的非可逆操作诸如散列,来产生摘要。然后,由发送器使用发送器私钥来签名该摘要。该私钥可用于对摘要执行加密或其它转换操作,以产生摘要签名。然后,将包括摘要和摘要签名的数字签名附加到输出消息。此外,发送器30的数字证书,其包括发送器公钥和利用一个或多个数字签名捆绑到公钥的发送器标识信息、及可能的任何链式数字证书、和与发送器数字证书及任何链式证书相关的CRL,也可以被附加到安全消息上。
由电子邮件发送者30发送的安全电子邮件消息40包括数字签名42、以及均被签名的加密的消息体44和加密的会话密钥46。发送器的数字证书、任何链式数字证书和一个或多个CRL也可以被包括在消息40中。在S/MIME安全消息技术中,数字证书、CRL和数字签名通常被放置在消息的开始,并且在文件附件中包括消息体。由其它安全消息方案产生的消息可以以与所示的不同的顺序放置消息组件,或包括附加的和/或不同的组件。例如,安全消息诸如40可以包括寻址信息,诸如“To(到)”和“From(从)”电子邮件地址和其它报头信息。
当从电子邮件发送器30发送安全电子邮件消息40时,它通过WAN32和无线网关34路由到无线网络36和移动设备38。电子邮件发送者30和移动设备38之间的传输路径还可以包括附加的或与图2所示的不同的组件。例如,安全电子邮件消息40可以寻址到与消息服务器或数据服务器相关的信箱或数据存储器,所述消息服务器或数据服务器已经能够无线地转发或发送接收的消息和数据到移动设备38。另外,中间系统也可以存储和/或路由安全消息到移动设备38。如先前描述并且在美国专利6,219,694中公开的示例重定向系统是一个这种系统的例子。
此外,消息可以通过其它传输机制而不是无线网关34,路由或转发到移动设备38。例如,路由到无线网络36可以利用以下方式来实现使用与电子邮件发送者30相关的无线VPN路由器、或在中间计算机系统处接收消息然后转发到移动设备38的情况下,与中间计算机系统或服务器相关的无线VPN路由器。
无论签名的消息直接发送到移动设备38还是重定向到移动设备38,当接收到签名的消息时,移动设备38通过产生消息体44和加密的会话密钥46的摘要,从数字签名42提取摘要(digest),比较产生的摘要与从数字签名42提取的摘要,和验证在数字签名42中的摘要签名,可以验证数字签名42。由安全消息接收者使用的摘要算法与由消息发送者使用的算法相同,并且例如可以在消息报头中或可能在数字签名42中被指定。一个通用的摘要算法是所说的安全散列算法1(SHA1),尽管也可以使用其它摘要算法,诸如消息摘要算法5(MD5)。
为了验证数字签名42,消息接收器检索发送者公钥,并且通过对摘要签名执行逆向变换,对数字签名42中的摘要验证签名。例如,如果消息发送者通过使用发送者私钥加密摘要产生摘要签名,那么接收者使用发送者公钥解密摘要签名,以恢复原始摘要。如果安全消息包括发送者数字证书,或发送者数字证书已经存储在移动设备38处的数据存储器中,那么可以从接收的或存储的数字证书中提取发送者公钥。作为替代,如果从来自发送者的较早消息提取公钥并且存储在接收者本地存储器中的密钥存储单元中,则可以从本地存储单元获取发送者的公钥。或者,可以从公钥服务器(PKS)请求发送者数字证书。PKS是通常与证书授权(CA)相关的服务器,从证书授权中,可得到一个实体的数字证书,包括实体的公钥。PKS可驻留在公司LAN,诸如图1的LAN 18内,或在消息接收者可以通过其与PKS建立通信的WAN 32、因特网或其它网络或系统上的任何位置。可能地,还可以将发送者的数字证书从PC或其他计算机系统加载到移动设备39上。
摘要算法最好是产生针对每个唯一输入的唯一输出的非可逆函数。因此,如果原始消息被改变或被破坏,那么由接收者产生的摘要将不同于从数字签名提取的摘要,因此签名验证失败。然而,因为摘要算法是公知的,实体可能会改变安全消息,产生被改变的消息的新摘要,和转发改变的消息到任何所寻址的消息接收者。在该情况下,基于改变的消息在接收器处产生的摘要将与由改变消息的实体添加的新摘要相匹配。摘要签名检验想要在这种情况下防止数字签名的验证。即使产生的和新摘要将会匹配,由于发送者使用其自己的私钥来签名原始摘要,改变消息的实体不能产生能够利用发送者公钥来验证的新摘要签名。因此,尽管在改变的消息中的摘要相匹配,但是,由于摘要签名验证将失败,将不验证所述数字签名。
这些数学操作不防止任何人看到安全消息的内容,但是保证消息没有被篡改,因为它由发送者签名,并且保证消息由在消息的“From(来自)”字段中所指示的人签名。
还应该理解,作为替代,可以使用其它数字签名产生和验证算法。上述的摘要和逆向转换方案是一个数字签名方案的例子。本发明决不限于此。
当数字签名42已经被验证,或者某些时候,即使数字签名验证失败,那么在被显示或进一步由运行在图2中的移动设备38上的接收消息客户端处理之前,加密的消息主体44被解密。接收消息客户端使用其私钥来解密被加密的会话密钥46,然后使用解密会话密钥来解密被加密的消息主体44,并且由此恢复原始消息。
被寻址到多于一个接收者的加密消息包括使用接收者的公钥加密的针对每个接收者的会话密钥的加密版本。每个接收者执行相同的数字签名验证操作,但是,使用其自己的私钥来解密不同的一个加密会话密钥。
因此,在安全消息系统中,发送消息客户端应该能够访问加密消息将发送到其的任何接收者的公钥。接收消息客户端必须能够获得发送者的公钥,这可通过各种机制对消息客户端有效,以便验证签名消息中的数字签名。尽管移动设备38是安全消息40的接收者,但是,移动设备38可以能够进行双向通信,并且因此可能需要用于消息发送和消息接收二个操作的公钥。
公钥通常设置在数字证书中。如上所述,针对任何特定的实体的数字证书典型地包括实体公钥和利用数字签名捆绑到公钥上的标识信息。几个类型的数字证书当前在被广泛使用,包括例如典型地用于S/MIME中的X.509数字证书。PGP使用具有稍微不同格式的数字证书。在此公开的系统和方法可以结合这些类型的数字证书的任何一个、以及其它类型的数字证书、当前已知类型以及将来可以开发的其它类型来使用。
数字证书中的数字签名由数字证书的发行者产生,并且能够由消息接收者检验。数字证书某些时候包括过期时间(expiry time)或有效期,根据其,消息客户端确定数字证书是否已经过期。数字证书的有效性的验证也可涉及通过数字证书链来跟踪认证路径,证书链包括用户的数字证书、和验证用户数字证书是可信的其它可能的数字证书。
还可以检验数字证书以保证它还没有被注销。如上所述,可以通过查询CRL或通过请求来自数字证书注销状态信息源的数字证书状态信息,来检验数字证书注销状态。在图2的系统中,移动设备38的用户可以针对存储在移动设备38处的任何数字证书,向注销状态信息提供器37提交注销状态请求。然后,提供器37返回针对该数字证书的注销状态信息给移动设备38。
OCSP是提供用于不需要CRL而确定数字证书注销状态的一个方案。例如已经在RFC 2560和在因特网草案“在线数字证书状态协议,版本2”(二者可从因特网工程任务组(IETF)得到)中定义了OCSP版本。OCSR是最广泛使用的数字证书注销状态检验协议之一,因此,在此用作这些方案的一个示例。然而,在此描述的系统和方法也可以用于涉及从远端源中获取注销状态信息的其它类型的数字证书注销状态检验方案。
按照OCSP,提交请求给通常称为OCSP响应器的状态信息提供器。一旦接收到合适格式的请求,OCSP响应器返回响应给请求器。OCSP请求至少包括OCSP协议版本号、服务请求、和与该请求相关的目标数字证书的标识。
版本号标识请求所遵从的OCSP的版本。服务请求指定正在被请求的服务的类型。对于OCSP版本2,已经定义了在线注销状态(ORS)、派遣路径有效(DPV)和派遣路径发现(DPD)服务。通过ORS服务,消息客户端获得数字证书的注销状态信息。DPV和DPD服务有效地派遣数字证书有效路径相关的处理给远端系统。
通常,使用数字证书发行者的区别名(DN)的散列、以及数字证书的序列号,在OCSP请求中识别目标数字证书。然而,由于多个数字证书发行者可以使用相同的DN,以发行者公钥的散列的形式的另外的标识信息也包括在该请求中。因此,在OCSP请求中的目标数字证书信息包括散列算法标识符、使用散列算法产生的数字证书发行者的DN的散列、也是使用散列算法产生的发行者公钥的散列、和目标数字证书的序列号。
该请求可以或可以不由请求器进行签名。另外可选的信息也可以包括在请求中,并且由OCSP响应器处理。
当消息客户端操作在移动设备22上时,OCSP可以是理想的,因为它相对于基于CRL的注销状态检验,减少了检验数字证书的注销状态需要的处理和存储器资源。然而,OCSP请求可能会相对较长,并且由此消耗了移动设备上可用的通常有限的无线通信资源和电能。代理系统39,连同适当能力的移动设备38,用于优化OCSP和涉及移动设备的远端系统的类似协议,这正如在下面进一步详细描述的。
图3是实现数字证书注销状态检验系统的系统方框图。该移动设备38包括存储器52、消息系统60、代理系统客户端模块62、用户接口(UI)64和无线收发器66。存储器52最好包括用于数字证书存储单元54的存储区域,以及诸如其中存储消息联系信息的地址本56的可能的其它数据存储单元、和存储与安装在移动设备38上的软件应用相关的数据的应用数据存储单元58。数据存储单元56和58是可以在移动设备38上的存储器52中实现的存储单元的示例。存储器52也可以由除了图3中所示的那些之外的其它设备系统来使用,以存储其它类型的数据。
存储器52是示例的其它设备组件可以向其中写入数据的可写存储单元,诸如RAM。数字证书存储单元54是专用于在移动设备38上存储数字证书的存储区。数字证书可以以它们被接收的格式,存储在数字证书存储单元54中,或者可选地,在写到存储单元54之前被解析或另外转换成存储格式。
消息系统60连接到无线收发器65,由此启动通过无线网络36的通信。在大多数实现中,消息系统60可以是以软件应用来实现的消息客户端。
最好也作为软件应用或组件实现的代理系统客户模块62连接到消息系统60、无线收发机66、数字证书存储单元54和UI 64。正如下面详细描述的,可以使用代理系统客户端模块62来检验针对存储在数字证书存储单元54中的任何数字证书的注销状态,以及由消息系统60接收但还没有存储在数字证书存储单元54中的数字证书的注销状态。
UI 64可以包括如键盘或小键盘、显示器、或从移动设备38的用户接收输入或提供输出给移动设备38的用户的其它组件这样的UI组件。尽管在图3中示为单个方框,移动设备典型地包括多于一个UI,和由此UI 64代表一个或多个用户接口。
无线网络36、无线网关34、WAN 32和注销状态信息提供器37基本上与图2中类似标出的组件相同。
代理系统39包括代理系统服务模块68和状态提供器客户端模块70。代理系统39图示包括连接到WAN 32和可操作用于从移动设备38或某些其它客户端系统接收加密项目状态请求的一个或多个计算机,并且代表移动设备38,执行状态请求和伴随的处理步骤。在一个实施例中,代理系统39是代表移动设备38来执行状态请求的中间计算机。该中间计算机进一步可操作用于向移动设备的地址提供状态请求。在另一个实施例中,代理系统39包括代理服务器,该代理服务器除了代表移动设备38执行状态请求以外,也可以操作用于执行代理服务器功能,诸如提供安全、管理控制和高速缓存。
配置代理系统服务模块68,以便与代理系统客户端模块62交换信息,并且状态客户端模块70适合于与注销状态提供器37交换信息。这些组件的每一个,状态提供器客户端模块70和代理系统服务模块68最好是操作在代理系统39处的软件应用或模块。这些软件应用可以以单个计算机程序来实现,或可选地,可以是独立地执行分离程序。
在运行中,如上所述,移动设备38上的消息系统60通过无线网络36接收和可能发送安全消息。当要对在接收的安全消息上的签名进行验证或要利用加密的会话密钥发送消息时,消息系统60可从数字证书中检索到针对实体(或接收到的消息的发送者或要发送的消息的接收者)的公钥。然而,在使用该公钥之前,消息系统60或其用户可能希望检验包含该公钥的数字证书是有效的并且还没有被注销。
例如在以预定的或用户配置的间隔,或当通过UI 64由用户调用时,在利用安全消息接收数字证书的情况下,可以自动执行数字证书验证操作。
不同类型的数字证书检验操作也可以取决于不同的控制。例如,当数字证书首先被加载进移动设备38上时,可以自动检验数字证书的有效性和注销状态,如果数字证书是有效的并且没有被注销,那么可以假定数字证书直到过期时间或在数字证书中指定的有效期内是有效的,而此后可以每星期一次,检验其注销状态以保证在其过期之前没有被注销。
如上所述,对远端信息提供器诸如37的数字证书状态信息请求可能相对较长,并且因此对于在移动设备38或其它带宽受限的通信系统中的实现并不是最优的。代理系统客户端和服务模块62和68适合于减少从移动设备38发送以请求数字证书的状态信息的信息量。
当移动设备38的用户希望检验数字证书的注销状态时,通过在UI64诸如象键盘上输入合适的命令,可以调用代理系统客户端模块62或可能协同代理系统客户端模块62一起操作的软件应用。用户也可以例如使用数字证书的序列号或主题名,指定要检验的特定数字证书。或者,代理系统客户端模块62可以访问数字证书存储单元54,以显示给用户当前存储的数字证书的列表,从该表中,用户可以选择一个或多个要检验的数字证书。
然后,代理系统客户端模块62最好或者从所选择的数字证书中提取、或者通过UI 64从用户中获得由代理系统服务模块68进行数字证书注销状态检验所需的任何信息。因为代理系统39提供移动设备38和状态信息提供器37之间的接口,代理系统客户端模块62和代理系统服务模块68之间的请求和响应不需要遵循在状态提供器客户端模块70和状态信息提供器37之间使用的协议。因此,尽管状态提供器37和状态提供器客户端模块70可以支持0CSP或类似协议,但是,代理系统服务模块68和客户端模块62最好支持涉及较少数据交换诸如较小请求的、更为无线友好的协议。
由代理系统客户端模块62提取或获得的特定信息依赖于在代理系统客户端模块62和代理系统服务模块68之间实现的通信协议。代理系统客户端模块62最好从数字证书存储单元54中的数字证书中提取数字证书主题名、序列号、发行者名字、和其它数字证书信息。如果数字证书首先被解析,然后将解析的数据存储在数字证书存储单元54中,那么这种信息可以由代理系统客户端模块62从数字证书存储单元54中的解析数据中提取。如果需要另外的信息,用户可被提示以输入数据。
当所有需要的信息已经被提取或者另外由代理系统客户端模块62获得时,格式化请求并且发送到代理系统服务模块68。该请求的内容还取决于在代理系统服务模块68和客户端模块62之间使用的通信协议。如果支持多于一个类型的服务,那么该请求可以指定请求哪个类型的服务。在某些实现中,仅有单一服务可被支持,这样,没有服务类型需要被指定。
由代理系统服务模块68接收的信息最好传递到状态提供器客户端模块70。然后,由状态提供器客户端模块70使用该信息以格式化对状态信息提供器37的请求。如果注销状态信息提供器37和状态提供器客户端模块70例如支持OCSP,则将由代理系统服务模块68提供的信息以及任何进一步需要的信息格式化成OCSP请求。在某些情况下,由代理系统服务模块68提供的信息包括所有需要的信息,而在其它情况下,可以从其它源中提取进一步的信息。例如,在配置代理系统39以存储保持数字证书发行者与序列号和/或主题名之间的对应关系的映射表等元素的情况下,那么,状态提供者客户端模块70可以只基于从代理系统客户端模块62由代理系统服务模块68接收的序列号或主题名,格式化针对正确的注销状态信息提供器37的状态请求。
在图3中,假定注销状态信息提供器37支持ORS等服务。一旦接收到请求,当提供器37及客户端模块70支持OCSP时作为OCSP响应器的注销状态信息提供器37检验该请求,以保证对适当地格式化、所请求的服务是被配置而提供的服务、并且该请求包括所请求的服务需要的所有信息。如果这些条件不满足,那么提供器37返回一个差错消息给客户端模块70。然后,客户端模块70执行差错处理,提供任何丢失的需要的信息,并且可能通过代理系统服务模块68从移动设备38中请求丢失的信息,或返回差错消息给代理系统服务模块68,代理系统服务模块68然后格式化并且发送差错消息给代理系统客户端模块62,作为对其初始服务请求的响应。其它条件,诸如当提供器37接收到未签名的请求但被配置为期望签名的请求时,或当提供器服务不能响应时,可能导致被返回到提供器客户端模块70的差错消息。
如果所述请求满足上述条件,那么确定的响应返回到提供器客户端模块70。确定的响应可以包括多个状态指示之一,诸如,当目标数字证书还没有注销时“有效”等指示,当目标数字证书已经被注销时的“注销”指示,或如果状态提供器37没有目标数字证书的记录或不知道目标数字证书时的“未知”指示。
此外,还可以操作代理系统客户端模块62,当发送请求后等待数字证书的状态时,将数字证书划分为“等待(pending)”。然后,在代理系统客户端模块62从代理系统39接收到相应的状态指示之后,数字证书的状态从等待改变到有效、注销或未知之一。如果数据项目包括带有等待、注销或未知状态的数字签名,还可以配置代理系统客户端模块62,以便通过在移动设备38上的I/O设备提醒用户确认要对该数据项目执行的动作。
将由状态信息提供器37返回到状态提供器客户端模块70的响应传递到代理系统服务模块68,其准备并发送响应到代理系统客户端模块62。当来自提供器37的响应被签名,并且代理系统客户端模块62或移动设备38上的另一组件被配置来验证状态响应签名时,那么来自状态提供器37的整个响应或可能其签名的部分,最好实质上未改变地转发到代理系统客户端模块62。然而,如果代理系统服务模块68或状态提供器客户端模块70代表移动设备38检验状态响应签名,那么仅响应的一部分,例如状态指示和数字证书序列号或主题名,最好由代理系统服务模块68提取,并且格式化成响应,然后将其发送到代理系统客户端模块62。然后,来自代理系统服务模块68的响应由代理系统客户端模块62处理,以确定是否该数字证书已经被注销。
代理系统客户端模块62的存在最好不排除按照已知技术的数字证书有效性和注销状态检验。这样,涉及远端系统诸如状态信息提供器37的数字证书状态检验是对移动设备38能够进行的其它状态检验操作的补充。
尽管图3的实施例将无线网关34、代理系统39和注销状态提供器37作为在WAN 32上作为分离的系统的通信进行了描述,但是,这些系统也可以被组合。例如,在可选的实施例中,包括代理系统服务模块68和状态提供器客户端模块70的软件应用在无线网关34上存储并且执行。
在另一个实施例中,包括代理系统服务模块68和状态提供器客户端模块70的软件应用在注销状态提供器37上存储并且执行。在另一个实施例中,包括代理系统服务模块68和状态提供器客户端模块70的软件应用在消息服务器26(图1)上存储并且执行。当然,也可以使用能够实现在此公开的客户端/代理数字证书状态系统的功能的、针对分布在一个或多个网络上的计算机系统的其它配置和通信路径。
在另一个可选实施例中,无线网关34是可操作的,以确定是否数据项,诸如要发送到移动设备38的S/MIME消息,利用数字签名进行签名或包括数字证书。如果这样,那么,无线网关34事先查询注销状态提供器37,以获得用于S/MIME消息的签名者的数字证书状态。
在S/MIME消息发送到移动设备38之前,最好获得数字证书状态,在该情况下,在无线网关34处存储S/MIME消息。如果数字证书不有效或过期,无线网关34可以进一步可操作用于丢弃S/MIME消息,或可选地,可以利用数字证书不是有效的或过期的通知,发送S/MIME消息给移动设备38。
图4A提供了图示检验数字证书注销状态的方法的流程图。在步骤80,标识要执行状态检验的任何数字证书。如上所述,该步骤能够自动执行或数字证书能够由用户选择。然后在步骤82,准备初始请求并且发送到代理系统。在步骤84,代理系统准备和发送服务请求给状态信息提供器诸如OCSP响应器。然后,状态信息提供器检验该请求,以保证它被合适地格式化、在该例中为数字证书注销状态的所请求的服务得到提供器支持、并且所有需要的信息包括在请求中。这些检验在步骤86被执行。
如果请求不满足这些条件,那么在步骤88,向代理系统返回差错消息。在步骤90,也可以返回给移动设备一个差错消息。或者在步骤90可以执行差错处理,例如,当该请求不包括所有需要的信息时,获得进一步的信息,之后,在步骤84可以准备新的服务请求和发送到提供器。
当在步骤86中该请求满足所述条件时,在步骤94,状态信息提供器返回状态指示给代理系统,以响应来自代理系统的服务请求。然后,在步骤96,代理系统返回来自状态信息提供器的整个响应、或至少响应的一部分给移动设备,作为对来自移动设备的初始服务请求的响应。
尽管上述的系统和方法涉及数字证书注销状态检验,数字证书有效性检验的示例,按照OCSP的DPV和DPD服务或其它协议,例如,可以通过代理系统客户端模块和服务模块,类似地优化用于移动设备和其他类型的处理受限、存储器受限或通信资源受限的系统。也可以使得代理系统39能够提供其代理服务给多个移动设备。
图4B提供了图示检验数字证书注销状态的另一方法的流程图。在该方法中,无线网关34(图3)执行先前描述的代理程序,并且进一步可操作用于确定要传送到移动设备38的数据项诸如S/MIME消息是否包括数字证书。如果是这样,无线网关34事先查询注销状态信息提供器37。
在步骤200,无线网关34接收要发送到移动设备38的数据项。在步骤202,无线网关确定是否所述数据项包括数字证书。如果该数据项不包括数字证书,那么如在步骤216所示的,发送数据项到移动设备38。
然而,如果数据项包括数字证书,那么如在步骤204中所示的,则无线网关34存储数据项和准备发送到状态提供器的服务请求。
在步骤206中接收状态信息,并且在步骤208,无线网关34确定是否该数字证书状态是有效的、被注销的、还是未知的。如果数字证书是有效的,那么如在步骤210和216中所示的,无线网关34将有效指示符附加到该数据项,然后该数据项重定向给移动设备38。如果数字证书被注销,那么如在步骤212和216中所示的,无线网关34将注销指示符附加到该数据项,然后该数据项发送给移动设备38。如果数字证书是未知的,那么在步骤214和216中,无线网关34将未知指示符附加到该数据项,然后该数据项发送给移动设备38。
这样,一旦接收到包括数字证书的数据项,移动设备通过参考附加到数据项的有效、注销或未知指示符,立即确定数字证书的状态。
在一个可选的实施例中,无线网关34事先查询注销状态信息提供器,但是用一个指示符例如指示数字证书状态已经被查询的“等待”指示符,转发所述接收的数据项给移动设备。然后,当从状态信息提供器接收到状态指示时,将证书状态的进一步指示发送给移动设备。
在另一个实施例中,消息服务器26(图1)还包括如上所述的重定向系统。重定向系统执行代理程序,并且进一步可操作用于确定是否要发送到移动设备38的数据项包括数字证书。如果是这样,重定向系统事先查询注销状态提供器37以获得数字证书状态,和执行如参照无线网关34和图4B描述的类似处理步骤。
在另一个实施例中,移动设备和代理系统包括多个客户端和服务模块。图5是实现具有多个代理系统客户端模块的数字证书注销状态检验系统的系统方框图。在图5中,存储器102、数据存储单元104、106和108、消息系统110、UI 114、无线收发器116、无线网络118、无线网关120和WAN 122基本上与在图3中类似标出的组件相同。
移动设备100包括含有代理系统客户端模块N 113和代理系统客户端模块A 111和可能其它代理系统客户端模块的客户端模块112。代理系统128包括相应的代理系统服务模块A和N、132和136。代理系统128还包括状态提供器客户端模块A和N、130和134,所述模块被配置用于分别与状态信息提供器A 124和状态信息提供器N 126通信。
图5所示的系统基本上如上所述操作。当一个或多个数字证书的状态诸如注销状态要被检验时,每个代理系统客户端模块111和113最好提取或另外获得在对其各代理系统服务模块132和136的服务请求中需要的信息。然后,状态提供器客户端模块130和134使用来自移动设备38的服务请求的信息、和可能在代理系统128处可得到的信息,以准备对状态信息提供器124和126的服务请求。然后,由状态信息提供器124和126返回的响应、或至少其一部分,如果需要,被重新格式化,并且返回到在移动设备100处的代理系统客户端模块111和113。
每个代理系统客户端模块111和113可以适合于收集请求信息并且处理用于不同的远端数字证书状态检验协议的响应信息。然而,由代理系统客户端模块111和113收集的信息可以被组合成对代理系统128的单个服务请求。然后,每个代理系统服务模块132和136从对其相关的状态信息提供器124和126的服务请求所需要的服务请求中提取信息。由状态提供器系统124和126返回到状态提供器客户端模块130和134的响应或者分开地或者以单个响应,返回到代理系统客户端模块111和113。例如,当状态信息提供器124和126的一个或两个签名其响应时,配置代理系统客户端模块132和136验证响应签名,然后分开的响应按照它们各自的协议最好返回到代理系统客户端模块111和113。然而如果响应没有被签名,响应可以被组合成单个响应。
图5中所示的多客户端模块系统当用户希望检验整个数字证书链的有效性和/或注销状态时,特别有用,所述数字证书链包括从不同的状态信息提供器得到状态信息的数字证书。在已知系统中,在所述链中对每个数字证书的分开的请求,必须被发送到状态信息提供者。然而,在图5的系统中,只有单个请求需要从移动设备100发送,以从任何数目的状态信息提供器获得状态信息。此外,由所有代理系统客户端模块和服务模块请求的公共信息需要仅在发送到代理系统128的初始服务请求中包括一次,由此减少了在初始服务请求中的冗余。
图6是无线移动通信设备的方框图。移动设备600最好是至少具有语音和数据通信能力的双向通信设备。移动设备600最好具有与因特网上的其它计算机系统通信的能力。根据移动设备提供的功能,移动设备可称为数据消息传送设备、双向寻呼机、带有数据消息传送能力的移动电话、无线因特网设备或数据通信设备(带有或不带有电话功能)。如上所述,这种设备在此简单统称为移动设备。
移动设备600包括收发器611、微处理器638、显示器622、快闪存储器624、随机存取存储器(RAM)626、辅助输入/输出(I/O)设备628、串行口630、键盘632、扬声器634、麦克风636和短距离无线通信子系统640、以及其它设备子系统642。收发器611包括发送和接收天线616、618、接收器(Rx)612、发送器(Tx)614、一个或多个本地振荡器(LO)613、和数字信号处理器(DSP)620。在快闪存储器624内,移动设备600包括多个可由微处理器638(和/或DSP 620)执行的软件模块624A-624N,包括语音通信模块624A、数据通信模块624B和多个用于执行多个其它功能的其它操作模块624N。
移动设备600最好是具有语音和数据通信能力的双向通信设备。于是,例如,移动设备600可以在语音网络诸如任何模拟或数字蜂窝网络上的任一个上进行通信,也可以在数据网络上通信。语音和数据网络在图6中由通信塔619表示。这些语音和数据网络可以是使用分离的基础设施诸如基站、网络控制器等的分离的通信网络,或它们可以集成为一个单个的无线网络。因此对网络619的引用应解释为包括单个语音和数据网络和分离的网络。
通信子系统611用于与网络619的通信。DSP 620用于向和从发送器614和从接收器612发送和接收通信信号,并且也可以与发送器614和接收器612交换控制信息。如果语音和数据通信发生在单个频率上,或近间隔的频率组上,那么单个LO 613可以与发送器614和接收器612一起使用。或者,如果不同频率用于语音和数据通信,那么能够使用多个LO产生对应于网络619的多个频率。尽管在图6中示出了两个天线616、618,移动设备600能够使用单天线结构。包括语音和数据信息二者的信息,经DSP 620和微处理器638之间的链路与通信模块611交互通信。
通信子系统611的详细设计诸如频带、分量选择和功率电平等取决于移动设备600将运行其中的通信网络619。例如,打算运行于北美市场的移动设备600可包括通信子系统611,该子系统设计运行于Mobitex或DataTAC移动数据通信网络,并且也设计运行于各种语音通信网络诸如AMPS,TDMA,CDMA,PCS等,而打算用在欧洲的移动设备600可被配置运行于GPRS数据通信网络和GSM语音通信网络。其它类型的数据和语音网络,分离的和集成的,也可以用于移动设备600。
根据网络619的类型,对于移动设备600的访问需要也可改变。例如,在Mobitex和DataTAC数据网络中,移动设备使用与每个设备相关的唯一标识号注册在网络上。然而,在GPRS数据网络中,网络访问与移动设备600的订户或用户相关。GPRS设备典型地需要用户标识模块(“SIM”),需要它,以便移动设备500运行于GPRS网络上。没有SIM,本地或非网络通信功能(如果有)可能是可运行的,但是移动设备600将不能执行涉及在网络619上通信的任何功能,除了任何合法需要的操作诸如‘911’紧急呼叫之外。
在已经完成任何需要的网络注册或激活过程之后,移动设备600可经网络619发送和接收通信信号,最好包括语音和数据两种信号。由天线616从通信网络619接收的信号被路由到接收器612,该接收器设有信号放大、降频转换、滤波、信道选择和模拟到数字转换的操作。接收信号的模拟到数字转换允许更复杂的通信功能,诸如将使用DSP 620执行的数字解调和解码。以类似方式,处理将发送到网络619的信号,包括例如由DSP 620执行的调制和编码,然后提供给发送器614用于数字模拟转换、升频变换、滤波、放大和经天线618发送给通信网络619。尽管图6中所示的单个接收器611用于语音和数据二种通信,移动设备611能够包括两个不同的收发器,用于发送和接收语音信号的第一收发器和用于发送和接收数据信号的第二收发器。也可以在移动设备中提供多个收发器,该移动设备用于操作于多于一个通信网络或多个频带内。
除了处理通信信号之外,DSP 620还可设有接收器和发送器控制。例如,应用到接收器612和发送器614中的通信信号的增益电平也可以通过在DSP 620中实现的自动增益控制算法得到自适应控制。其它收发器控制算法也能够在DSP 620中实现,以便提供更复杂的收发器611的控制。
微处理器638最好管理和控制移动设备600的整个操作。这里,可以使用很多类型的微处理器或微控制器,或者,可选地,能够使用单个DSP 620执行微处理器638的功能。低级通信功能,包括至少数据和语音通信,通过收发器611中的DSP 620执行。其它高级通信功能,诸如语音通信应用624A和数据通信应用624B,也可以存储在快闪存储器624中,用于由微处理器638执行。例如,语音通信模块624A可提供高级用户接口,该接口可操作用于经网络619在移动设备600和多个其它语音设备之间发送和接收语音呼叫。类似地,数据通信模块624B可提供高级用户接口,可操作用于经网络619在移动设备600和多个其它数据设备之间发送和接收数据,诸如电子邮件消息、文件、组织者信息、短文本消息等。在移动设备600上,安全消息软件应用,例如包含对应于消息系统60和代理系统客户端模块62或客户端模块113和111的软件模块,可与数据通信模块624B一起运行,以实现上述的技术。
微处理器638还与其它设备子系统交互,这些子系统诸如是显示器622、快闪存储器624、RAM 626、辅助输入/输出(I/O)子系统628、串行口630、键盘632、扬声器634、麦克风636、短距离通信子系统640和统一表示为642的任何其它设备子系统。例如,模块624A-N由微处理器638执行,并且可提供用户和移动设备600之间的高级接口。该接口典型包括通过显示器622提供的图形组件和通过辅助I/O 628、键盘632、扬声器634或麦克风636提供的输入/输出组件。这些接口在图3和5中总的表示为UI 64和114。
图6中所示的某些子系统执行与通信相关的功能,而其它子系统可提供“驻留”或设备内置功能。明显的是,某些子系统诸如键盘632和显示器622可以用于通信相关功能,诸如输入文本消息用于经数据通信网络传送,以及设备驻留功能,诸如计算器或任务列表或其它PDA型功能。
微处理器638使用的操作系统软件最好存储在非易失存储器诸如快闪存储器624中。除了操作系统和通信模块624A-N之外,快闪存储器624还可以包括用于存储数据的文件系统。最好还在快闪存储器624中提供存储区域以存储数字证书,地址本条目,和消息通信需要的其它可能的信息,如图3和5中的数据存储单元54,56和58。操作系统、特定的设备应用或模块或其部分,可以临时加载到易失存储器诸如RAM626用于较快操作。此外,在永久将它们写到位于快闪存储器624中的文件系统之前,接收的通信信号也可以临时存储到RAM 626。
可以加载到双模式设备600的示例应用模块624N是个人信息管理器(PIM)应用,其提供PDA功能,诸如日历事件、约会和任务项。该模块624N还能与语音通信模块624A交互,用于管理电话呼叫,语音邮件等,也可以与数据通信模块624B交互,用于管理电子邮件通信和其它数据传输。或者,语音通信模块624A和数据通信模块624B的所有功能可以集成到PIM模块中。
快闪存储器624最好提供文件系统,以方便在该设备上PIM数据项的存储。PIM应用最好包括经无线网络619,或者通过其自身或者结合语音和数据通信模块624A和624B来发送和接收数据项的能力。PIM数据项通过无线网络619,最好与所存储的或与主计算机系统相关的相应的数据项集合无缝地集成、同步和更新,由此,为与特定的用户相关的数据项建立镜像系统。
尽管示为快闪存储器624,本领域技术人员将理解除了闪存储器624之外或代替快闪存储器624,可以使用其它类型的非易失存储器,诸如电池支持RAM。
通过将移动设备600放置在连接移动设备600的串行口630到主系统的串行口的接口底座中,移动设备600还能与计算机系统人工同步。串行口630还可以用于使用户能够通过外部设备或软件应用程序设定优选项,以下载其它应用模块624N用于安装,并且可能加载数字证书到设备上。可以使用该有线下载路径,以将加密密钥加载到设备上,这个是比通过无线网络619交换加密信息更安全的方法。
附加的应用模块624N可通过网络619、通过辅助I/O子系统628、通过串行口630、通过短距离通信子系统640或通过任何其它合适的子系统642被加载到移动设备600上,并且由用户安装在快闪存储器624或RAM 626中。这种在应用安装方面的灵活性增加了移动设备600的功能,并且能够提供增强的设备内置功能、通信相关功能或二者。例如,安全通信应用可以使得电子商务功能和其它金融交易能够使用移动设备600执行。
当移动设备600运行于数据通信模式时,接收的信号诸如文本消息或网页下载,由收发器611处理并且提供给微处理器638,其最好进一步处理接收的信号用于输出到显示器622,或可选地输出到辅助I/O设备628。由收发器611接收的数字证书,例如响应对一PKS的请求或附加到一安全消息上的,将按如上所述进行处理,以将其加到快闪存储器624中的数字证书存储单元(如果它还没有被存储)。这样的数字证书的有效性和/或注销状态也可以如上所述被检验。移动设备600的用户也可以使用键盘632编辑数据项,诸如电子邮件信息,键盘632最好是QWERTY型的完整字母数字键盘布局,尽管也能使用其它类型的完整字母数字键盘诸如已知的DVORAK型。对移动设备600的用户输入利用多个辅助I/O设备628而得到进一步增强,该辅助设备可包括指轮输入设备、触板、各种开关、摇杆输入开关等。然后用户输入的编辑的数据项可经收发器611在通信网络619上被发送。
当移动设备600操作在语音通信模式中时,移动设备600的整个操作基本上类似于数据模式,除了接收的信号最好输出到扬声器634和用于发送的语音信号由麦克风636产生之外。此外,上述的安全消息技术可以不一定必须应用于语音通信。可选的语音或音频I/O子系统诸如语音消息记录子系统,也可以在移动设备600上实现。尽管语音或音频信号输出最好基本通过扬声器634完成,也可以使用显示器622提供呼叫方标识的指示、语音呼叫的持续时间或其它语音呼叫相关的功能。例如,微处理器638结合语音通信模块624A和操作系统软件,可以检测输入的语音呼叫的呼叫方标识信息并且将其显示在显示器622上。
短距离通信子系统640可以包括红外设备及相关电路和组件或诸如蓝牙模块或802.11模块的短距离无线通信模块,以提供与类似能力的系统和设备的通信。本领域技术人员将理解,“蓝牙”和“802.11”指从电气和电子工程师协会得到的规范组,分别涉及无线个人区域网络和无线LAN。
上述描述仅以示例方式涉及优选实施例,可以实现其它实施例。例如,尽管数字证书状态检验主要结合无线移动通信设备进行了描述。在此公开的系统和方法也可以应用到运行在其它平台上的消息客户端,包括那些运行在桌面和膝上型计算机系统的、联网的计算机工作站和可希望涉及远端系统的数字证书检验的其它类型的消息客户端。
尽管上述描述也主要涉及OCSP,通过结合远端系统和代理系统客户端模块运行的中间系统,可以类似优化其它协议。这些其它协议不限于数字证书状态检验协议。可以配置代理系统和代理系统客户端模块提供除了数字证书状态检验服务之外的其它服务。
图7提供了图示数字证书状态请求的处理的功能性方框图500。尽管数字证书状态请求的处理示于图7中,其它类型的状态请求也可以按照图7描述的被处理。客户端系统具有要由外部系统,诸如运行实现一个或多个代理系统服务模块和状态提供器客户端模块的代理系统程序504的代理系统,来提供服务的状态信息需求502。
将数字证书状态请求发送到运行在代理系统上的代理系统程序504。发送到代理系统程序504的数字证书状态请求遵循客户端/代理协议。正如参照代理系统服务模块68和状态提供器客户端模块70描述的,代理系统程序504可操作用于代表客户端系统来接收数字证书状态请求和执行状态请求和后续处理步骤。客户端/代理协议可以遵循已知的通信协议或可替换为一个专有协议。
然后,代理系统程序504准备数字证书状态请求,例如在映射表514中,包括在来自客户端系统的请求中的信息和在代理系统处可得到的可能信息,该数字证书状态请求要按照状态查询协议发送到运行状态提供器程序506的状态提供器系统。状态查询协议可以遵循一个已知的状态协议,诸如OCSP,或取而代之可以是一个专有协议。在一个实施例中,客户端/代理协议是第一协议诸如专有协议,和状态查询协议是第二协议,诸如OCSP。
然后,状态提供器程序506处理该查询和状态提供器系统提供数字证书状态数据给代理系统程序504。数字证书状态数据示例地包括一个数字证书状态指示符。如果数字证书包括一个数字证书链,那么相应数目的数字证书状态指示符被提供给代理系统程序504。此外,状态提供器程序506可能需要来自代理系统程序504的附加信息,这样,代理系统程序504和状态提供器程序506之间的多通信可能发生。相应地,多通信508和510表示在代理系统程序504和状态提供器程序506之间。
一旦完成数字证书状态请求,代理系统程序504准备用于传送回到客户端系统的数字证书状态数据。在一个实施例中,代理系统程序504选择要发送到客户端系统的、从状态提供器程序506接收的整组状态答复数据。在另一个实施例中,代理系统程序只选择将发送到客户端系统的单状态指示符,诸如有效、无效、未知或注销。例如,如果在数字证书链中的一个数字证书由状态提供器程序506发现是无效的,那么代理系统程序504可以只选择要发送到客户端系统的无效状态指示符。或者,代理系统程序504可以选择要发送到客户端系统的无效状态指示符、并且还选择指定在数字证书链中哪个数字证书是无效的数据。也可以推导出要发送回到客户端系统的其它数据组合。
客户端系统和代理系统存储保持数字证书发行者和序列号和/或主题名之间的对应关系的相应映射表512和514等元素。然后客户端系统可以只提供用于相应的数字证书的唯一指示符,诸如序列号或主题名。然后代理系统程序504可以只基于从客户端系统接收的序列号或主题名,按照用于运行状态提供器程序506的状态提供器系统的状态查询协议,格式化数字证书状态请求。类似地,如果需要,由代理系统返回到客户端系统的唯一标识符由客户端系统使用映射表512进行解析。这样,如果客户端系统包括可操作经无线网络与代理系统通信的移动设备,映射表512和514保持了RF网络相对有限的带宽。
在图8-10示出了在此公开的系统和方法的宽范围的其它例子。图8-10描述了不同的示例通信系统内的系统和方法的另外应用。
图8是展示通信系统的方框图。在图8中,示出了计算机系统802、WAN 804、安全防火墙808之后的公司LAN 806、无线基础设施810、无线网络812和814、和移动设备816和818。公司LAN 806包括消息服务器820、无线连接器系统828、包括至少多个信箱819的数据存储单元817、桌面计算机系统822(具有直接到移动设备的通信链路,诸如通过物理连接824到接口或连接器826)、和无线VAN路由器832。下面将参考消息833、834和836描述图8中的系统的操作。
计算机系统802例如可以是被配置连接到WAN 804的膝上、桌面或掌上型计算机系统。这样的计算机系统可以通过ISP或ASP连接到WAN804。或者,计算机系统802可以是联网的计算机系统,例如计算机系统822,其通过LAN或其它网络访问WAN 804。很多现代的移动设备能够通过各种基础设施和网关配置连接到WAN,这样计算机系统802也可以是一移动设备。
公司LAN 806是已经能够用于无线通信的、中央型、基于服务器的消息系统的例子。公司LAN 806可以称为“主系统”,因为它主持带有用于消息的信箱819的数据存储单元817,及可能地用于可以发送到移动设备816和818或从移动设备816和818接收的其它数据项的另外的数据存储单元(未示出),和无线连接器系统828,无线VAN路由器832,或能够进行公司LAN 806和一个或多个移动设备816和818之间的通信的其它可能的组件。用更通用的术语,主系统可以是无线连接器系统在其上运行或与无线连接器系统一起运行或相关运行的一个或多个计算机。公司LAN 806是主系统的一个优选实施例,其中主系统是在至少一个安全通信防火墙808之后操作并且由其保护的公司网络环境内运行的服务器计算机。其它可能的中央主系统包括ISP、ASP和其它服务提供商或邮件系统。尽管桌面计算机系统824和接口/连接器826可以位于这些主系统之外,无线通信操作可以类似于下面描述的那些。
公司LAN 806将无线连接器系统828作为相关无线通信功能组件实现,其将通常是软件程序、软件应用或建立与至少一个消息服务器820工作的软件组件。使用无线连接器系统828,通过一个或多个无线网络812和814发送用户选择的信息到一个或多个移动设备816和818,并且从这些移动设备接收信息。无线连接器系统828可以是消息系统的分离的组件,如图8所示,或者可以是部分或全部包含于其它通信系统组件中。例如,消息服务器820可以包含实现无线连接器系统828、无线连接器系统828的一部分、或某些功能或全部功能的软件程序、应用或组件。
运行在防火墙808后面的计算机上的消息服务器820充当主接口,用于公司与诸如因特网的WAN 804交换消息,该消息包括例如电子邮件、日历数据、语音邮件、电子文档和其它PIM数据。具体中间的操作和计算机将取决于经其交换消息的消息传递机制和网络的特定类型,因此没有在图8中示出。消息服务器820的功能可以扩展到超过消息发送和接收,如上所述,提供诸如动态数据库存储,用于数据如日历、to-do表、任务表、电子邮件和文档这些特征。
消息服务器诸如820通常在一个或多个数据存储单元诸如817中,保持多个信箱819,用于在服务器上具有帐户的每个用户。数据存储单元817包括信箱819,用于多个(“n个”)用户帐户。标识用户、用户帐号、信箱或与用户、帐号或信箱819相关的其它可能的地址作为消息接收者的、由消息服务器820接收的消息,通常被存储在相应的信箱819内。如果将消息寻址到多个接收者或分布表,那么相同消息的复制件可被存储在多于一个信箱819内。或者,消息服务器820可以在一数据存储单元中存储该消息的单个复制件,该数据存储单元对于具有在消息服务器820上的帐户的所有用户是可访问的,并且在每个接收者的信箱819中存储指针或其它标识符。在典型的消息系统中,每个用户于是可以使用通常运行于连接在LAN 806内的PC诸如桌面计算机系统822上的消息客户端(诸如Microsoft Outlook或Lotus Notes),访问他或她的信箱819和其内容。尽管在图8中仅示出了一个桌面计算机系统822,本领域技术人员应理解LAN将通常包含很多桌面、笔记本和膝上计算机系统。每个消息客户通常通过消息服务器820访问信箱819,尽管在某些系统中,消息客户能够直接访问由桌面计算机系统822在其上进行存储的信箱819和数据存储单元817。消息也可以从数据存储单元817下载到桌面计算机系统822上的本地数据存储单元(未示出)中。
在公司LAN 806内,无线连接器系统828结合消息服务器820操作。无线连接器系统828可驻留在与消息服务器820相同的计算机系统上,或作为替代,可以在不同的计算机系统上实现。实现无线连接器系统828的软件也可以部分或全部地与消息服务器820集成。最好设计无线连接器系统828和消息服务器820合作并且交互操作,以允许将信息推到移动设备816、818。在这样的安装中,最好配置无线连接器系统828,将存储在一个或多个与公司LAN 806相关的数据存储单元中的信息通过公司防火墙808和经WAN 804和无线网络812,814之一,发送到一个或多个移动设备816、818。例如,在数据存储单元817中具有一个帐户和相关信箱819的用户也可以具有移动设备诸如816。如上所述,标识用户、帐号或信箱819的由消息服务器820接收的消息由消息服务器820存储到相应的信箱819。如果用户具有移动设备,诸如816,由消息服务器820接收并且存储到用户信箱819的消息最好由无线连接器系统828检验,并且发送到用户的移动设备816。该类型的功能代表“推”消息发送技术。作为替代,无线连接器系统828可以采用“拉”技术,其中,存储在信箱819中的项目响应使用移动设备进行的请求或访问操作,被发送到移动设备816、818,或这两种技术的某些组合。
因此,无线连接器828的使用使得包括消息服务器820的消息系统能够被扩展,这样每个用户的移动设备816,818具有对消息服务器820的存储消息的访问能力。尽管在此描述的系统和方法不仅限于基于推的技术,但是,基于推消息传送的更详细描述可被发现于上述被引用参考的美国专利和申请中。该推技术使用无线友好编码、压缩和加密技术,以将所有信息传递到移动设备,于是,有效地扩展了公司防火墙808以使其包括移动设备816和818。
如图8所示,有多个路径用于从公司LAN 806与移动设备816,818交换信息。一个可能的信息传送路径是使用接口或连接器826,通过物理连接824,诸如串行口。该路径能够是有用的,例如用于在移动设备816,818初始化上经常执行的、或当移动设备816,818的用户工作于LAN 806上的计算机系统诸如计算机系统822时周期执行的庞大信息更新。例如,如上所述,PIM数据通常通过这样的连接,例如连接到一个移动设备816,818可以放入或放上的底座的串行口,被进行交换。物理连接824也可以用于从桌面计算机系统822到移动设备816,818传送其它信息,包括私有安全密钥(私钥),诸如与桌面计算机系统822相关的私有加密或数字签名密钥、或其它诸如数字证书和CRL等相对较大的信息。
使用物理连接824和连接器或接口826的私钥交换允许用户的桌面计算机系统822和移动设备816或818共享至少一个标识,用于访问所有加密和/或签名的邮件。用户的桌面计算机系统822和移动设备816或818由此也能够用于共享私钥,这样主系统822或移动设备816或818能够处理寻址到消息服务器820上的用户信箱或帐户的安全消息。需要经过这种物理连接传送证书和CRL,因为它们代表S/MIME、PGP和其它公钥安全方法需要的大量数据。用户自己的数字证书、用于验证用户数字证书的一连串证书和CRL、及用于其它用户的数字证书、数字证书链和CRL可以从用户桌面计算机系统822加载到移动设备816、818上。该其它用户数字证书和CRL到移动设备816,818的加载允许移动设备用户选择其它的实体或用户(这些实体或用户可能与移动设备用户正在交换安全消息),并且通过物理连接(代替无线)将大信息预加载到移动设备上,于是,节省了当从这些其它用户接收到安全消息或安全消息发送到这些用户时,或当数字证书的状态将被基于一个或多个CRL确定时的时间和无线带宽。在采用在此描述的系统和方法的情况下,也能避免基于CRL的状态检验。
在已知的“同步”型无线消息系统中,物理路径也已经用来从与消息服务器820相关的信箱819到移动设备816和818传送消息。
用于与移动设备816、818数据交换的另一方法是通过无线方式,通过无线连接器系统828和使用无线网络812、814。如图8所示,这能够涉及无线VPN路由器832(如果在网络806中存在的话),或可选地,涉及到无线基础设施810的传统WAN连接,其提供到一个或多个无线网络诸如814的接口。无线VPN路由器832用于创建直接通过特定无线网络812到无线设备816的VPN连接。这种无线VPN路由器832可以与静态寻址方案一起使用。例如,如果无线网络812是基于IP的无线网络。那么IPV6将提供足够的IP地址以分配一个IP地址给被配置操作在网络812内的每个移动设备816,由此能够在任何时间,将信息推到移动设备816。使用无线VPN路由器832的主要优点是它是不需要无线基础设施810的现成的VPN组件。VPN连接可以使用TCP/IP或UDP/IP连接,直接传递消息到移动设备816和从移动设备816传递信息。
如果无线VPN路由器832不是可用的,那么与WAN 804(通常是一因特网)的连接,是可由无线连接器系统828使用的常使用的连接机制。为了处理移动设备816的寻址和任何其它需要的接口功能,最好使用无线基础设施810。无线基础设施810也可以确定用于定位一个给定的用户的最可能的无线网络,并且当用户在国家或网络之间漫游时跟踪用户。在无线网络诸如812和814中,消息通常经基站和移动设备之间的RF传输,传递到移动设备或从该移动设备传递。
可以提供到无线网络812和814的多个连接,包括例如利用在整个因特网中使用的TCP/IP协议的ISDN、帧中继或T1连接。无线网络812和814能够表示清楚的、唯一的和不相关的网络,或它们能够表示不同国家中的相同网络,并且可以是下列不同类型的网络的任何一个,这些网络包括但不限于数据为核心的无线网络、语音为核心的无线网络、和能够支持经相同或类似基础设施诸如上述描述的那些中的语音和数据通信的双模式网络。
在某些实现中,可以在公司LAN 806中提供多于一个无线信息交换机制。例如,在图8例子中,配置与用户相关的移动设备816、818,以使其运行在不同的无线网络812和814中,所述用户具有与消息服务器820上的用户帐户相关的信箱819。如果无线网络812支持IPv6寻址,那么无线VPN路由器832可由无线连接器828使用,以与运行在无线网络812内的任何移动设备816交换数据。然而,无线网络814可以是不同类型的无线网络,诸如Mobitex网络,在该情况下,作为替代,信息可经到WAN 804和无线基础设施810的连接,与运行于无线网络814内的移动设备818交换。
现在,使用从计算机系统802发送并且寻址到具有帐号和信箱819或与消息服务器820和移动设备816或818相关的数据存储单元的至少一个接收者的电子邮件消息833的例子,描述图8中的系统的操作。然而,电子邮件消息833仅用于示例。公司LAN 806之间的其它类型信息的交换最好也能由无线连接器系统828进行。
从计算机系统802经WAN 804发送的电子邮件消息833根据使用的具体消息传送方案,可以是明文的或用数字签名进行签名的和/或被加密的。例如,如果使用S/MIME使得计算机系统802能够用于安全消息传送,那么电子邮件消息833可以被签名、加密、或签名并加密。
电子邮件消息诸如833通常使用传统SMTP,RFC822报头和MIME主体部分以定义电子邮件消息的格式。这些技术对于本领域技术人员全部公知的。电子邮件消息833到达消息服务器820,其确定电子邮件消息833应该存储进哪个信箱819。如上所述,消息诸如电子邮件消息833可以包括用户名、用户帐户、信箱标识符或可由消息服务器820映射到特定的帐户或相关信箱819的其它类型的标识符。对于电子邮件消息833,接收者通常使用对应于用户帐户和由此的一个信箱819的电子邮件地址被识别。
无线连接器系统828最好一旦检测到已经发生了一个或多个触发事件,通过无线网络812或814,从公司LAN 806到用户移动设备816或818发送或镜像某些用户选择的数据项或数据项的一部分。触发事件包括但不限于下列情况的一个或多个在用户联网的计算机系统822上的屏幕保护程序的激活;用户移动设备816或818从接口826断开;或接收从移动设备816或818发送到主系统以开始发送存储在主系统上的一个或多个消息的命令。这样,无线连接器系统828可以检测与消息服务器820相关的触发事件,诸如命令的接收,或与一个或多个联网的计算机系统822相关的触发事件,包括上述的屏幕保护程序和断开事件。当在LAN 806已经激活针对移动设备816或818的公司数据的无线访问时,例如,当无线连接器系统828检测到对于移动设备用户发生了触发事件时,由用户选择的数据项最好发送到用户移动设备。在电子邮件消息833的例子中,假定一旦已经检测到触发事件,由无线连接器系统828检测在消息服务器820处消息833的到达。这个例如可以通过监视或询问与消息服务器820相关的信箱819完成,或者如果消息服务器820是微软交换服务器(Microsoft Exchange server),那么,无线连接器系统828可以登记由微软消息应用编程接口(MAPI)提供的建议同步,由此当新消息存储到信箱819时接收通知。
当一数据项诸如电子邮件消息833将要发送到移动设备816或818时,无线连接器系统828最好以对移动设备816或818透明的方式重新打包数据项,这样,发送到移动设备816或818或由移动设备816或818接收的信息类似于存储在主系统、并且在主系统处(图8中的LAN 806)可访问的信息。一个优选的重新打包的方法包括在对应于消息将发送到其的移动设备816或818的无线网络地址的电子信封中,打包将通过无线网络812或814发送的所接收的消息。或者,可以使用其它重新打包的方法,诸如专用TCP/IP打包技术。这种重新打包的方法最好还导致从移动设备816或818发送的电子邮件消息,似乎来自一个相应的主系统帐户或信箱819,即使它们从移动设备编写并且发送。因此,移动设备816或818的用户最好在主系统帐户或信箱819和移动设备之间,可以有效地共享单个电子邮件地址。
电子邮件消息833的重新打包在834和836处指示。重新打包技术对于任何可用的传送路径可以是类似的,或可以取决于具体的传送路径,无线基础设施810或无线VPN路由器832。例如,电子邮件消息833最好被压缩和加密,在834处被重新打包之前或之后,由此,有效地提供到移动设备818的安全传送。压缩减少了发送消息需要的带宽,而加密保证了发送到移动设备816和818的任何消息或其它信息的保密性。相反,经VPN路由器832传送的消息可能仅被压缩,但不加密,因为由VPN路由器832建立的VPN连接是固有安全的。由此,经在无线连接器系统828处的加密,例如可被考虑一非标准的VPN隧道或类VPN连接,或者经VPN路由器832,消息安全发送到移动设备816和818。由此,使用移动设备816或818访问消息与使用桌面计算机系统822访问LAN 806处信箱同样安全。
当重新打包的消息834或836经无线基础设施810或经无线VPN路由器832到达移动设备816或818时,移动设备816或818从重新打包的消息834或836移去外面的电子信封,并且执行任何需要的解压缩和解密操作。从移动设备816或818发送并且寻址到一个或多个接收者的消息最好被类似重新打包,并且可能压缩和加密,和发送到主系统诸如LAN806。然后,主系统从重新打包的消息移去电子信封,如果需要,解密和解压缩消息,并且将消息路由到被寻址的接收者。
使用外部信封的另一目的是至少保持在原始电子邮件消息833中的某些寻址信息。尽管用来路由信息到移动设备816、818的外部信封使用一个或多个移动设备的网络地址而被寻址,外部信封最好将整个原始的电子邮件消息833,包括至少一个地址字段,可能以压缩和/或加密的形式,进行封装。这使得当外部信封被去除并且消息显示在移动设备816或818上时,电子邮件消息833的原始的“To(到)”“From(从)”和“CC(抄送)”地址得到显示。当从移动设备发送的重新打包的输出消息的外部信封由无线连接器系统828移去时,重新打包也使得利用反映主系统上移动设备用户帐户或信箱的地址的“From”字段,将答复消息传递到所寻址的接收者。使用来自移动设备816或818的用户帐户或信箱地址使得从移动设备发送的消息仿佛是来自主系统上用户信箱819或帐户的消息,而不是来自移动设备。
图9是可选的通信系统例子的方框图,其中无线通信由与无线网络的运营者相关的组件启动。如图9所示,该系统包括计算机系统802、WAN 804、位于安全防火墙808后面的公司LAN 807、网络运营者基础设施840、无线网络811、和移动设备813和815。计算机系统802、WAN 804、安全防火墙808、消息服务器820、数据存储单元817、信箱819和VPN路由器835实际上与图8中相同标记的组件相同。然而,由于VPN路由器835与网络运营者基础设施840通信,它不必一定是图9的系统中的无线VPN路由器。网络运营者基础设施840能够实现分别与计算机系统842和852相关并且配置运行在无线网络811中的LAN 807和移动设备813、815之间的无线信息交换。在LAN 807中,示出了多个桌面计算机系统842、852,每个具有到接口或连接器848或858的物理连接846或856。无线连接器系统844或854运行在每个计算机系统842和852上或与每个计算机系统842和852一起工作。
无线连接器系统844和854类似于上述的无线连接器系统828,因为它使得数据项诸如电子邮件消息和存储在信箱819中的其它项、以及可能存储在本地或网络数据存储单元中的数据项,能够从LAN 807发送到一个或多个移动设备813、815。然而在图9中,网络运营者基础设施840提供移动设备813和815和LAN 807之间的接口。如同上面,下面将以电子邮件消息作为可以发送到移动设备813和815的数据项的例子,描述图9所示的系统的操作。
当由消息服务器820接收寻址到具有消息服务器820上的帐户的一个或多个接收者的电子邮件消息833时,消息或可能是存储在中央信箱或数据存储单元中的消息的单个复制件的指针,被存储在每个这种接收者的信箱819中。一旦电子邮件消息833或指针已经存储在信箱819中,它最好能够使用移动设备813或815被访问。在图9示出的例子中,电子邮件消息833已经被寻址到与桌面计算机系统842和852以及由此与相应的移动设备813和815相关的信箱819。
正如本领域技术人员理解的,通常用在有线网络诸如LAN 807和/或WAN 804中的通信网络协议不适合于或不匹配在无线网络诸如811中使用的无线网络通信协议。例如,在无线网络通信中主要关心的通信带宽、协议开销和网络等待时间,在有线网络中不重要,有线网络比无线网络典型地具有更高容量和速度。因此,移动设备813和815通常不能直接访问数据存储单元817。网络运营者基础设施840提供无线网络811和LAN 807之间的桥接。
网络运营者基础设施840使得移动设备813或815能够通过WAN 804建立到LAN 807的连接,并且例如可以由无线网络811的运营者或为移动设备813和815提供无线通信服务的服务提供商来操作。在基于拉的系统中,使用无线网络匹配通信方案,当信息应该保持保密时最好使用安全方案诸如无线传输层安全(WTLS)、和无线网络浏览器诸如无线应用协议(WAP)浏览器,移动设备813或815可以建立与网络运营者基础设施840的通信会话。然后,用户可以请求(通过人工选择或驻留在移动设备里的软件中的预选择缺省)存储在LAN 807处的数据存储单元817中的信箱819中的任何或所有信息或例如仅仅新信息。然后如果没有会话已经建立,例如使用安全超文本传输协议(HTTPS),网络运营者基础设施840建立与无线连接器系统844或854的连接或会话。如上所述,可以经典型的WAN连接或通过VPN路由器835(如果有的话)进行网络运营者基础设施840和无线连接器系统844或854之间的会话。当接收来自移动设备813或815的请求和传递所请求的信息回到设备之间的时间延迟将被最小化时,可以配置网络运营者基础设施840和无线连接器系统844和854,使得通信连接一旦被建立保持开通。
在图9的系统中,来自移动设备A 813和B 815的请求将分别发送到无线连接器系统844和854。一旦接收到来自网络运营者基础设施840的信息请求,无线连接器系统844或854从数据存储单元中获得所请求的信息。对于电子邮件信息833,无线连接器系统844或854通常通过结合计算机系统842或852操作的消息客户端(或者经消息服务器820或者直接可访问信箱819),从适当的信箱819获取电子邮件消息833。或者,可以配置无线连接器系统844或854,直接或通过消息服务器820访问信箱819本身。此外,其它数据存储单元,类似于数据存储单元817的网络数据存储单元和与每个计算机系统842,852相关的本地数据存储单元,对于无线连接器系统844、854来说可以访问,并且由此对于移动设备813,815可以访问。
如果电子邮件消息833寻址到与计算机系统842和852及设备813和815两者相关的消息服务器帐户或信箱819,那么电子邮件消息833可发送到网络运营者基础设施840,如在860和862示出的那样,然后发送电子邮件消息的复制件到每个移动设备813和815,如在864和866指示的。信息经到WAN 804的连接或VPN路由器835,在无线连接器系统844和854和网络运营者基础设施840之间传送。当网络运营者基础设施840经不同的协议与无线连接器系统844、854和移动设备813,815通信时,可由网络运营者基础设施840执行转换操作。重新打包技术也可以在无线连接器系统844、854和网络运营者基础设施840之间、以及每个移动设备813和815和网络运营者基础设施840之间使用。
要从移动设备813或815发送的消息或其它信息能够以类似方式得到处理,这些信息首先从移动设备813或815传送到网络运营者基础设施840。然后,网络运营者基础设施840发送信息到无线连接器系统844或854,用于存储在信箱819中,并且例如通过消息服务器820传递到任何所寻址的接收者,或者可选地将信息传递到寻址的接收者。
图9中的系统的上述描述涉及基于拉的操作。作为替代,无线连接器系统844和854和网络运营者基础设施可配置为将数据项推到移动设备813和815。也能够是一组合的推/拉系统。例如,当前存储在LAN807处的数据存储单元中的数据项列表或新消息的通知可以推到移动设备813、815,然后可以用来经网络运营者基础设施840,从LAN 807请求消息或数据项。
如果与LAN 807上的用户帐户相关的移动设备被配置操作于不同的无线网络内,然后,每个无线网络可以具有类似于840的相关无线网络基础设施组件。
尽管在图9的系统中,为每个计算机系统842和852示出了分离的专用的无线连接器系统844和854。最好配置一个或多个无线连接器系统844和854,以与多于一个计算机系统842和852一起操作,或访问与多于一个计算机系统相关的数据存储单元或信箱819。例如,无线连接器系统844可被授权访问与计算机系统842和计算机系统852二者相关的信箱819。然后,来自移动设备A 813或B 815对数据项的请求可以由无线连接器系统844处理。该配置可用于启动LAN 807和移动设备813和815之间的通信,不需要针对每个移动设备用户运行桌面计算机系统842和852。作为替换,无线连接器系统可以与消息服务器820一起实现,以能够进行无线通信。
图10是另一个可选的通信系统的方框图。该系统包括计算机系统802、WAN 804、位于安全防火墙808后面的公司LAN 809、访问网关880、数据存储单元882、无线网络884和886、和移动设备888和890。计算机系统802、WAN 804、安全防火墙808、消息服务器820、数据存储单元817、信箱819、桌上型计算机系统822、物理连接824、接口或连接器826和VPN路由器835实质上与上述相应的组件相同。访问网关880和数据存储单元882给移动设备888和890提供对存储在LAN 809处的数据项的访问。在图10中,无线连接器系统878运行于消息服务器820上或与消息服务器820一起操作,尽管作为替换,无线连接器系统可以运行于LAN 809中的一个或多个桌面计算机系统上或与LAN 809中的一个或多个桌面计算机系统一起工作。
无线连接器系统878用于存储在LAN 809上的数据项到一个或多个移动设备888和890的传送。这些数据项最好包括,存储在数据存储单元817上的信箱819中的电子邮件消息、以及存储在数据存储单元817或另一网络数据存储单元或计算机系统诸如822的本地数据存储单元中的可能的其它数据项。
如上所述,寻址到具有消息服务器820上的帐户的一个或多个接收者并且由消息服务器820接收的电子邮件消息833可以存储到每个这样的接收者的信箱819中。在图10的系统中,外部数据存储单元882最好具有与数据存储单元817类似的结构,并且保持与数据存储单元817同步。存储在数据存储单元882中的PIM信息或数据最好可独立修改存储在主系统上的PIM信息或数据。在该种具体配置中,在外部数据存储单元882处独立可修改的信息可保持与用户相关的多个数据存储单元(例如移动设备上的数据、家中个人计算机上的数据、公司LAN上的数据)的同步。该同步可按照如下方式完成例如,可通过以一定的时间间隔、每次数据存储单元817中的一项被添加或改变时、在一天的某些时候、或当在LAN 809启动时,由无线连接器系统878发送到数据存储单元882的更新,通过消息服务器820或计算机系统822,在数据存储单元882处,或可能通过移动设备888,890经由访问网关880。
在电子邮件消息833的清况下,接收电子邮件消息833之后的某时间发送到数据存储单元882的更新指示消息833已经存储在存储单元817中的某一信箱819中,并且电子邮件消息的复制件将被存储到数据存储单元882中的相应的存储区域中。当电子邮件消息833已经存储在对应于移动设备888和890的信箱819中时,在图10中以892和894指示的电子邮件消息的一个或多个复制件将被发送到并且存储到数据存储单元882中的相应的存储区域或信箱中。正如示出的,在数据存储单元817中存储信息的更新或复制可通过到WAN 804的连接或VPN路由器835的连接发送到数据存储单元882。例如,无线连接器系统878可经HTTP投寄请求,投寄更新或存储的信息到数据存储单元882中的资源。或者,可以使用安全协议,诸如HTTPS或安全套接字层(SSL)。本领域技术人员将理解,存储在LAN 809处的数据存储单元中多于一个位置的数据项的单个复制件可以被替换为发送到数据存储单元882。然后,数据项的该复制件,利用存储在数据存储单元882中的每个相应位置中的所存储数据项的指针或其它标识符,能够存储在数据存储单元882中多于一个相应的位置,或者单个复制件可存储在数据存储单元882中。
访问网关880是一个有效的访问平台,因为它为移动设备888和890提供了对数据存储单元882的访问。数据存储单元882可以配置为在WAN 804上可访问的资源,并且访问网关880可以是ISP系统或WAP网关,通过其,移动设备888和890可以连接到WAN 804。然后,与无线网络884和886兼容的WAP浏览器或其它浏览器可被用于访问与数据存储单元817同步的数据存储单元882,并且或者自动地或者响应于来自移动设备888或890的请求,下载存储的数据项。如在896和898示出的,存储在数据存储单元817中的电子邮件消息833的复制件,可发送到移动设备888和890。由此,在每个移动设备888,890上的数据存储单元(未示处)可以与公司LAN 809上的数据存储单元817的一部分诸如信箱819同步。移动设备数据存储单元的变化可类似地反映在数据存储单元882和817中。
在此描述的实施例是具有对应于在权利要求中列举的发明单元的组件的系统和方法。该书面说明书可以使得本领域普通技术人员能够制造和使用具有同样对应于权利要求中列举的发明单元的可选组件的实施例。由此本发明的打算范围包括不同于权利要求的文字语言的其它结构、系统或方法,并且进一步包括具有与权利要求的文字语言无实质区别的其它结构,系统或方法。
权利要求
1.一种从存储在状态提供器系统中的状态数据确定数字证书的状态的系统,包括客户端系统,包括客户端模块,该客户端模块可操作产生和提供对应于数字证书状态请求的状态请求数据,用于从客户端系统传输,并且响应于该状态请求,接收用于数字证书的数字证书状态数据;和代理系统,包括代理模块,该代理模块可操作接收从所述客户端系统传送的状态请求数据,并且响应于此,产生用于所述数字证书状态的查询数据,和提供所述查询数据,用于从代理系统传送到状态提供器系统,和进一步可操作从所述状态提供器系统接收状态数据,基于接收的状态数据产生所述数字证书状态数据,和提供所述数字证书状态数据,用于传送到客户端系统。
2.如权利要求1所述的系统,其特征在于,所述客户端系统包括移动设备,该移动设备包括存储器子系统,并且可操作经无线网络与代理系统通信,经无线网络接收数据项,和在所述存储器子系统中存储所述数据项。
3.如权利要求2所述的系统,其特征在于,所述数字证书状态数据包括从所述状态提供器系统接收的状态数据的子集。
4.如权利要求3所述的系统,其特征在于,所述状态请求数据包括所述查询数据的子集。
5.如权利要求4所述的系统,其特征在于,所述查询数据包括在线证书状态协议(OCSP)查询。
6.如权利要求2所述的系统,其特征在于,所述客户端模块进一步可操作用于确定是否数据项包括数字证书,一旦确定所述数据项包括所述数字证书,产生对应于数字证书状态请求的状态请求数据和提供传输。
7.如权利要求6所述的系统,其特征在于,所述移动设备进一步包括输入/输出(I/O)设备,以及所述客户端模块进一步可操作以将数字证书状态划分为等待、有效、注销或未知之一,并且在I/O设备上显示相应的等待、有效、注销或未知状态指示符。
8.如权利要求7所述的系统,其特征在于,在对应于接收的数据项的数字证书的数字证书状态被划分为等待、注销或未知之一的情况下,所述客户端模块进一步可操作以通过I/O设备查询用户,用于确认以传送涉及接收的数据项的答复数据项。
9.如权利要求2所述的系统,其特征在于,从所述代理系统发送的所述数字证书状态数据包括有效指示符、注销指示符、和未知指示符。
10.如权利要求9所述的系统,其特征在于,所述客户端模块进一步可操作用于在传送所述状态请求数据之后,将数字证书状态划分为等待,并且一旦接收到从代理系统传送的数字证书状态数据,将数字证书状态重划分为有效、注销或未知之一。
11.如权利要求2所述的系统,其特征在于,所述数字证书状态数据包括指示数字证书的有效期的有效期数据,并且在数字证书的有效期内,所述客户端模块进一步可操作以周期产生和提供对应于状态请求的状态请求数据,用于传送到代理系统。
12.如权利要求2所述的系统,其特征在于,所述代理系统可操作以重定向数据项到所述移动设备,并且所述代理模块进一步可操作以确定是否所述数据项包括数字证书,一旦确定所述数据项包括所述数字证书,产生和提供对应于数字证书状态请求的状态请求数据,用于传送到状态提供器系统,和响应于所述状态请求来接收针对数字证书的数字证书状态数据。
13.如权利要求12所述的系统,其特征在于,所述代理系统进一步可操作用于在代理系统处存储所述数据项,直到接收到响应于状态请求的数字证书的数字证书状态数据,并且在将所述数据项重定向到所述移动设备之前,附加所述数字证书状态数据到所述数据项。
14.如权利要求3所述的系统,其特征在于,所述数字证书包括数字证书的数字证书链,并且所述状态请求数据包括对应于在所述数字证书链中的每个数字证书的数据。
15.如权利要求1所述的系统,其特征在于,所述代理系统包括计算机,该计算机包括计算机处理系统、计算机存储器子系统、和计算机通信子系统,并且所述系统还包括存储在所述计算机存储器子系统中的代理映射表,所述代理映射表被配置来存储数字证书和相应的数字证书标识符,并且将所述数字证书映射到相应的数字证书标识符,并且所述代理模块进一步可操作用于通过选择基于其相应的数字证书标识符的数字证书,产生所述查询数据。
16.如权利要求15所述的系统,其特征在于,所述客户端系统包括移动设备,所述移动设备包括移动处理系统、移动存储器子系统、和移动通信子系统,并且所述系统还包括存储在所述移动存储器子系统中的客户端映射表,所述客户端映射表被配置来存储数字证书和相应的数字证书标识符,并且将所述数字证书映射到相应的数字证书标识符,并且所述客户端模块进一步可操作用于通过选择一个数字证书和提供传输相应的数字证书标识符,来产生所述状态请求数据。
17.如权利要求16所述的系统,其特征在于,所述计算机包括可操作来提供代理服务的代理服务器。
18.如权利要求16所述的系统,其特征在于,所述计算机包括中间计算机。
19.一种用于处理针对客户端系统的数字证书状态检验服务的系统,包括代理系统,包括代理模块,可操作从客户端系统接收针对数字证书的第一数字证书状态检验服务请求数据,并且响应于此,产生第二数字证书状态检验服务请求数据和提供所述第二数字证书状态检验服务请求数据,用于传送到数字证书状态检验服务提供器系统,并且进一步可操作从所述数字证书状态检验服务提供器系统接收第一数字证书状态检验服务数据,基于接收的所述第一数字证书状态检验服务数据,产生第二数字证书状态检验服务数据,和提供所述第二数字证书状态检验服务数据,用于传送到客户端系统,其中,所述第二数字证书状态检验服务数据包括从所述服务提供器系统接收的第一数字证书状态检验服务数据的子集。
20.如权利要求19所述的系统,其特征在于,所述代理模块进一步可操作用于基于从所述服务提供器系统接收的第一数字证书状态检验服务数据,将数字证书的状态划分为有效、注销或未知,和在所述第二数字证书状态检验服务数据中包括指示所述数字证书的状态的数据。
21.如权利要求20所述的系统,其特征在于,所述第二数字证书状态检验服务请求数据包括在线证书状态协议(OCSP)查询。
22.一种用于处理针对数字证书的数字证书状态检验服务的系统,所述数字证书状态检验服务由数字证书状态检验服务提供器系统提供,该系统可操作接收针对数字证书状态检验服务请求的查询数据,所述系统包括客户端系统,包括客户端模块,可操作用于准备并且提供传输对应于数字证书的数字证书状态检验服务的第一数字证书状态检验服务请求数据,和响应于第一数字证书状态检验服务请求数据,接收第一数字证书状态检验服务数据,其中,所述第一数字证书状态检验服务请求数据包括针对数字证书状态检验服务请求的查询数据的子集。
23.如权利要求22所述的系统,其特征在于,所述客户端模块进一步可操作用于确定是否接收的数据项包括数字证书,并且在所述数据项包括数字证书的情况下,产生对应于数字证书的第一数字证书状态检验服务请求数据并且提供传输。
24.如权利要求23所述的系统,其特征在于,所述客户端系统进一步包括输入/输出(I/O)设备,并且所述客户端模块进一步可操作用于将数字证书状态划分为有效、注销或未知之一,并且在所述I/O设备上显示相应的有效、注销或未知状态指示符。
25.如权利要求24所述的系统,其特征在于,如果在接收的数据项中的数字证书的数字证书状态被划分为注销或未知之一,则所述客户端模块进一步可操作用于通过I/O设备查询用户,用于确认以传送涉及接收的数据项的答复数据项。
26.如权利要求23所述的系统,其特征在于,所述客户端模块进一步可操作用于在传送所述第一数字证书状态检验服务请求数据之后,将数字证书状态划分为等待,一旦接收到第一数字证书状态检验服务数据,将数字证书状态重划分为有效、注销或未知之一。
27.如权利要求22所述的系统,其特征在于,所述第一数字证书状态检验服务数据包括指示数字证书的有效期的有效期数据,其中,所述第一数字证书状态检验服务请求数据包括对应于所述数字证书的数字证书状态请求的状态请求数据,并且在数字证书的有效期内,所述客户端模块进一步可操作用于周期地产生对应于数字证书状态请求的状态请求数据并且传送。
28.如权利要求30所述的系统,其特征在于,所述客户端系统是移动电子邮件通信设备。
29.一种用于处理针对数字证书的数字证书状态检验服务的方法,所述数字证书状态检验服务由数字证书状态检验服务提供器系统提供,该系统可操作接收针对数字证书状态检验服务请求的查询数据,所述方法包括步骤接收数据项;确定是否所述数据项包括数字证书;在所述数据项包括数字证书的情况下,产生包括所述查询数据的子集的数字证书状态检验服务请求数据;提供所述数字证书状态检验服务请求数据,用于传送到代理系统;和响应于所述数字证书状态检验服务请求数据,从所述代理系统中接收数字证书状态检验服务数据。
30.如权利要求29所述的方法,其特征在于,所述数字证书状态检验服务数据指示数字证书的状态作为有效、注销或未知之一,并且其中,所述方法进一步包括步骤在传送所述数字证书状态检验服务请求数据给代理系统之后,将数字证书状态划分为等待;和基于所述数字证书状态检验服务数据,将数字证书状态重划分为有效、注销或未知之一。
31.如权利要求29所述的方法,其特征在于还包括步骤基于所述数字证书状态检验服务数据,确定所述数字证书的有效期;和在有效期内,周期地依次产生和提供针对数字证书的数字证书状态检验服务请求数据,用于传送到所述代理系统。
32.如权利要求30所述的方法,其特征在于,所述数字证书包括数字证书的数字证书链,并且产生数字证书状态检验服务请求数据的步骤包括以下步骤产生对应于在数字证书链中的每个数字证书的服务请求数据。
33.如权利要求32所述的方法,其特征在于还包括步骤映射所述数字证书到数字证书标识符,并且产生数字证书状态检验服务请求数据的步骤包括以下步骤选择所述数字证书标识符,用于传送到所述代理系统。
34.如权利要求29所述的方法,其特征在于,所述数字证书状态检验服务包括从下列组中选择的一个或多个服务在线注销状态(ORS)服务、派遣路径有效(DPV)服务、和派遣路径发现(DPD)服务。
35.一种处理客户端系统和代理系统之间的数字证书状态请求的方法,该方法包括步骤在所述代理系统,接收从所述客户端系统传送的数字证书状态请求数据;响应于所述数字证书状态请求数据的接收,产生针对所述数字证书状态的查询数据;传送所述查询数据到状态提供器系统;响应于所述查询数据,在所述代理系统,从所述状态提供器系统中接收状态数据;基于接收的所述状态数据,产生数字证书状态数据;和传送所述数字证书状态数据到所述客户端系统。
36.如权利要求35所述的方法,其特征在于,所述数字证书状态数据是从所述状态提供器接收的状态数据的子集。
37.如权利要求35所述的方法,其特征在于,所述数字证书状态请求数据包括所述查询数据的子集。
38.如权利要求37所述的方法,其特征在于,针对所述数字证书状态的所述查询数据包括在线证书状态协议(OCSP)查询数据。
全文摘要
提供了一种处理数字证书状态检验的方法和系统。在代理系统处,接收从客户端系统传送来的数字证书状态请求数据。代理系统响应数字证书状态请求数据的接收,产生针对数字证书状态的查询数据。将查询数据传送到状态提供器系统,并且在代理系统处,接收响应查询数据而来自状态提供器系统的状态数据。由代理系统产生基于接收到的状态数据的数字证书状态数据,并且将其传送到客户端系统。
文档编号H04L29/06GK1672380SQ03810928
公开日2005年9月21日 申请日期2003年3月20日 优先权日2002年3月20日
发明者赫伯特·A·利特尔, 斯蒂芬·E·扬胡宁 申请人:捷讯研究有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1