CN100531029C - 用于搜索和获得证书的***和方法 - Google Patents

用于搜索和获得证书的***和方法 Download PDF

Info

Publication number
CN100531029C
CN100531029C CNB2005100980123A CN200510098012A CN100531029C CN 100531029 C CN100531029 C CN 100531029C CN B2005100980123 A CNB2005100980123 A CN B2005100980123A CN 200510098012 A CN200510098012 A CN 200510098012A CN 100531029 C CN100531029 C CN 100531029C
Authority
CN
China
Prior art keywords
certificate
data
mobile device
equipment
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CNB2005100980123A
Other languages
English (en)
Other versions
CN1744490A (zh
Inventor
尼尔·P·亚当斯
迈克尔·S·布朗
赫伯特·A·利特尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Maliki Innovation Co ltd
BlackBerry Ltd
Original Assignee
Research in Motion Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Research in Motion Ltd filed Critical Research in Motion Ltd
Publication of CN1744490A publication Critical patent/CN1744490A/zh
Application granted granted Critical
Publication of CN100531029C publication Critical patent/CN100531029C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/222Monitoring or handling of messages using geographical location information, e.g. messages transmitted or received in proximity of a certain spot or area
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/58Message adaptation for wireless communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Liquid Crystal Substances (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Control Of Vending Devices And Auxiliary Devices For Vending Devices (AREA)
  • Storage Device Security (AREA)
  • Multi Processors (AREA)

Abstract

一种用于搜索和获得证书的***和方法,其可以用在对已解密消息的处理中。在一个更为广泛的方案中,提出了一种方法,其中接收证书搜索请求;针对满足所述请求的证书,执行对一个或多个证书服务器的搜索;在第一计算设备处,获得并处理已定位证书,以确定惟一地识别每个已定位证书的数据;以及与第二设备(如移动设备等)通信包括所确定的数据的搜索结果数据,以便用于确定每个已定位证书是否已被存储在第二设备上。

Description

用于搜索和获得证书的***和方法
技术领域
本发明大体上涉及如电子邮件消息等消息的处理,更具体地,涉及一种用于搜索和获得用在处理已编码消息中的***和证书的方法。
背景技术
可以利用多种已知协议之一对电子邮件(“e-mail”)消息进行编码。如安全多用途因特网邮件扩展(“S/MIME”)等一些协议依赖于公用和私用加密密钥来提供保密性和完整性,以及依赖于公用密钥基础结构(PKI)来通信提供了验证和授权的信息。只能利用私用密钥/公用密钥对的公用密钥来解密利用该对的对应私用密钥进行了加密的数据,反之亦然。利用证书来确认用在消息编码中的公用密钥的真实性。具体地,如果计算设备的用户想要在将消息发送给特定的个体之前对消息进行解密,则该用户需要针对该个体的证书。所述证书典型地包括该个体的公用密钥以及其他标识相关信息。类似地,如果计算设备的用户希望验证已签名消息的发送方,该用户需要针对该发送方的证书。
如果针对所需接收者的所需证书并未存储在用户的计算设备上,则必须首先获得证书。搜索并获得特定的证书是涉及通过使用户在显示在计算设备上的搜索表格中手动输入要请求其证书的个体的姓名和/或电子邮件地址来查询证书服务器的处理。通常,随后将搜索中所定位的证书暂时下载到计算设备上,以便进行考虑,于是可以向用户显示已定位证书列表。然后,用户可以手动识别列表中的选定证书,从而存储在计算设备的非易失性存储器中,以便于可能的将来使用。
但是,在一些实施方式中,作为在第一示例中将搜索中定位的全部证书暂时下载到计算设备上的替代,只是最初将产生搜索中所定位的证书的列表所需的特定数据下载到计算设备上。将此列表显示给用户,典型地,利用各个证书所颁发给的个人的通用名称和电子邮件地址来识别每个已定位证书。只有在用户从列表中选择特定的证书进行存储,以便将来使用之后,才将证书下载到计算设备上进行存储。具体地,如果计算设备是移动设备,推迟证书到移动设备的下载,并且只下载用户选择的证书可以极大地缩减资源的浪费。
不幸地,在延迟证书下载的这些实施方式中,通常不能只根据用于产生列表的下载数据,肯定地确定此列表中所识别的证书是否已经被存储在计算设备的证书存储器中。例如,为了使计算设备上的应用程序能够肯定地确定该列表中所识别的给定证书是否已经被存储在证书存储器中,典型地需要将实际证书下载到计算设备上,从而可以获得进行确定所需的必要数据。这将是耗时和昂贵的任务(例如,对于带宽而言),并且如果所下载的证书事实上已经位于证书存储器中,则可能是浪费。
发明内容
本发明的实施例大体上涉及一种用于更有效地搜索计算设备上的证书并获得证书以便存储在计算设备上的***和方法。
在本发明的一个更为广泛的方案中,提出了一种用于搜索和获得证书的方法,包括以下步骤:接收证书搜索请求;在一个或多个证书服务器上进行搜索,其中向所述一个或多个证书服务器提交至少一个查询,以请求获得满足所述证书搜索请求的证书;从所述一个或多个证书服务器获得至少一个证书;在第一计算设备处,处理所获得的每个证书,以确定搜索结果数据,其中所述搜索结果数据包括惟一地识别了各个证书的数据;以及针对所获得的每个证书,将与之相关的搜索结果数据从第一计算设备传输到第二设备,以便用于确定各个证书是否被存储在所述第二设备上。
在另一更为广泛的方案中,惟一地识别了各个证书的数据包括针对各个证书的序列号和颁发者数据;以及所述处理步骤包括解析所获得的每个证书,以获得各自的序列号和颁发者数据。
在另一更为广泛的方案中,惟一地识别了各个证书的数据包括各个证书的至少一部分的散列信息;以及所述处理步骤包括将散列算法应用于所获得的每个证书,以获得各自的散列信息。
在本发明的另一更为广泛的方案中,提出了一种用于搜索和获得证书的***,至少包括第一计算设备和第二设备,其中所述第一计算设备用于:接收证书搜索请求;通过向一个或多个证书服务器提交至少一个查询,在所述一个或多个证书服务器上进行搜索,以请求获得满足所述证书搜索请求的证书;从所述一个或多个证书服务器获得至少一个证书;处理所获得的每个证书,以确定搜索结果数据,其中所述搜索结果数据包括惟一地识别了各个证书的数据;以及针对所获得的每个证书,将与之相关的搜索结果数据从第一计算设备传输到第二设备,以便用于确定各个证书是否被存储在所述第二设备上。
附图说明
为了更好地理解本发明的实施例,以及更为清楚地示出其如何实现所述效果,以下将参照附图,作为示例,对其进行描述,其中:
图1是一个示例实施方式中的移动设备的方框图;
图2是图1所示移动设备的通信子***组件的方框图;
图3是无线网络的节点的方框图;
图4是示出了一个示例结构中的主机***的组件的方框图;
图5是示出了证书链的示例的方框图;
图6是示出了已编码消息的示例的组件的方框图;
图7A是示出了本发明一个实施例中的搜索和获得证书的方法中的步骤的流程图;以及
图7B是示出了本发明另一实施例中的搜索和获得证书的方法中的步骤的流程图。
具体实施方式
本发明的一些实施例使用移动台。移动台是具有高级数据通信能力的双向通信设备,具有与其他计算机***进行通信的能力,并且以下被统称为移动设备。移动设备还可以包括语音通信能力。根据移动设备所提供的功能,可以将其称为数据消息收发设备、双向寻呼机、具有数据消息收发能力的蜂窝电话、无线因特网设备或数据通信设备(具有或不具有电话功能)。移动设备通过收发机站网络与其他设备进行通信。
为了帮助读者理解移动设备的结构及其如何与其他设备进行通信,将参照图1到3。
首先,参考图1,将一个示例实施方式中的移动设备的方框图总体表示为100。移动设备100包括多个组件,控制组件是微处理器102。微处理器102控制移动设备100的总体操作。通过通信子***104执行包括数据和语音通信在内的通信功能。通信子***104从和向无线网络200接收和发送消息。在移动设备100的示例实施方式中,根据全球移动通信***(GSM)和通用分组无线业务(GPRS)标准来配置通信子***104。GSM/GPRS无线网络得到了广泛的使用,并且预期这些标准将被全球发展增进型数据比率(EDGE)和通用移动电信***(UMTS)所取代。仍在定义新标准,但可以确信其将具有与这里所描述的网络行为的类似性,并且本领域普通技术人员应当理解的是本发明倾向于使用未来开发的任何适当的标准。连接通信子***104和网络200的无线链路表示一个或多个不同的射频(RF)信道,根据针对GSM/GPRS通信而规定的已定义协议进行操作。利用更新的网络协议,这些信道能够支持电路交换语音通信和分组交换数据通信。
尽管在移动设备100的一个典型实施方式中,与移动设备100相关联的无线网络是GSM/GPRS无线网络,在变体实施方式中,其他无线网络也可以与移动设备100相关联。例如,可以采用的不同类型的无线网络包括:数据中心型无线网络、语音中心型无线网络和通过相同的物理基站能够支持语音和数据通信的双模式网络。组合双模式网络包括但不限于码分多址(CDMA)或CDMA2000网络、GSM/GPRS网络(如上所述)和将来第三代(3G)网络,如EDGE和UMTS。数据中心网络的一些较早示例包括MobitexTM无线网络和DataTACTM无线网络。较早的语音中心型数据网络的示例包括个人通信***(PCS)网络,如GSM和时分多址(TDMA)***。
微处理器102还与其他子***进行交互,如随机存取存储器(RAM)106、闪速存储器108、显示器110、辅助输入/输出(I/O)子***112、串行端口114、键盘116、扬声器118、麦克风120、短距离通信子***122和其他设备124。
移动设备100的一些子***执行通信相关的功能,而其他子***可提供“驻留”或设备内置功能。作为示例,显示器110和键盘116可以用于如输入用于通过网络200传送的文本消息等通信相关功能以及如计算器或任务表等设备驻留功能。通常将微处理器102使用的操作***软件存储在如闪速处理器108等永久存储器中,或者可以是只读存储器(ROM)或类似的存储元件(未示出)。本领域普通技术人员应当清楚的是,可以将操作***、设备专用应用程序或其一部分暂时加载到如RAM 106等易失性存储器中。
在已经完成所需的网络登记或激活程序之后,移动设备100可以在网络200上发送和接收通信信号。网络接入与移动设备100的订户或用户相关联。为了识别订户,移动设备100需要将订户身份模块或“SIM”卡126***SIM接口128中,以便与网络进行通信。特别地,SIM 126是用于识别移动设备100的订户和使移动设备100个性化的一类传统“智能卡”。没有SIM 126,移动设备100不能完全操作与网络200的通信。通过将SIM 126***SIM接口128,订户可以访问全部已订阅服务。服务可以包括:网络浏览和消息收发,如电子邮件、语音邮件、短消息服务(SMS)和多媒体消息服务(MMS)。更多的高级服务可以包括:销售点、现场服务和销售力量自动控制(sales forceautomation)。SIM 126包括处理器和用于存储信息的存储器。一旦将SIM 126***SIM接口128中,其与微处理器102相连。为了识别订户,SIM 126包含一些用户参数,如国际移动订户身份(IMSI)等。使用SIM 126的优点是用户不必与任何单一的物理移动设备绑定。SIM126也可以存储针对移动设备的额外订户信息,包括记事册(或日历)信息和最近呼叫信息。
移动设备100是电池供电的设备,并包括电池接口132,用于容纳一个或多个可充电电池130。电池接口132与稳压器(未示出)相连,其辅助电池130将电源V+提供给移动设备100。尽管目前的技术使用电池,但如微型燃料电池等未来的技术也可以为移动设备100提供能量。
除了其操作***功能外,微处理器102能够在移动设备100上执行软件应用程序。通常在制造期间,将控制基本设备操作的应用程序组(包括数据和语音通信应用程序)安装到移动设备100上。可以加载到移动设备100上的其他应用程序是个人信息管理器(PIM)。PIM具有组合和管理用户所关心的数据项的功能,例如但不限于电子邮件、日历事件、语音邮件、约会和任务项。PIM应用程序具有通过无线网络200发送和接收数据项的能力。PIM数据项可以通过无线网络200与所存储的和/或与主计算机***相关的、移动设备订户的相应数据项无缝集成、同步和更新。此功能在移动设备100上创建了针对这些数据项的镜像主机。这在主计算机***是移动设备订户的办公室计算机***的情况下尤为有利。
附加的应用程序也可以通过网络200、通过辅助I/O子***112、通过串行端口114、通过短距离通信子***122或通过任何其他合适的子***124加载到移动设备100上。这种在应用程序安装方面的灵活性增加了移动设备100的功能,并且能够提供增强的设备内置功能、通信相关功能或这二者。例如,安全通信应用程序可以使得电子商务功能和其他财务交易能够使用移动设备100执行。
通过提供除了通过无线通信网络以外、到移动设备100的信息或软件下载,串行端口114使订户能够通过外部设备或软件应用程序来设置偏好,并扩展移动设备100的能力。例如,可选的下载路径可以用于通过直接、从而可靠、可信的连接,将加密密钥加载到移动设备100上,以提供安全设备通信。
短距离通信子***122用于移动设备100和不同***或设备之间的通信,无需使用网络200。例如,子***122可以包括红外设备以及用于短距离通信的相关电路和组件。短距离通信的示例将包括由红外数据协会(IrDA)、蓝牙开发的标准和由IEEE开发的802.11标准族。
在使用中,通信子***104将处理如文本消息、电子邮件消息或网页下载等接收信号,并输入微处理器102。然后,微处理器102处理接收信号,以便输出到显示器110或者代替地输出到辅助I/O子***112。订户也可以构造数据项,如电子邮件消息等,例如,与显示器110和可能的辅助I/O子***112相结合地使用键盘116。辅助子***112可以包括以下设备:触摸屏、鼠标、轨迹球、红外指纹检测器或具有动态按钮按下能力的滚轮。键盘116是字母数字键盘和/或电话型小键盘。可以通过通信子***104、在网络200上传输所构造的数据项。
对于语音通信,移动设备100的总体操作实质上是类似的,除了将接收到的信号输出到扬声器118和用于传输的语音信号由麦克风120产生之外。可选的语音或音频I/O子***,如语音消息记录子***,也可以在移动设备100上实现。尽管语音或音频信号输出主要通过扬声器118完成,也可以使用显示器110提供如呼叫方身份、语音呼叫的持续时间或其他语音呼叫相关信息等附加信息。
现在参照图2,示出了图1所示的通信子***组件104的方框图。通信子***104包括接收机150、发射机152、一个或多个嵌入式或内部天线元件154、156、本地振荡器(LO)158和如数字信号处理器(DSP)160等处理模块。
通信子***104的详细设计取决于移动设备100将运行其中的网络200,因此应当理解的是图2所示的涉及只用作一个示例。将天线154通过网络200接收的信号输入接收机150,接收机150可以进行如信号放大、频率下转换、滤波、信道选择和模拟到数字(A/D)转换等普通接收机功能。接收信号的A/D转换允许更复杂的通信功能,如要在DSP 160中执行的数字解调和解码。以类似方式,处理要发射的信号,包括DSP 160执行的调制和编码。将这些DSP处理后的信号输入发射机152,进行数字模拟(D/A)转换、频率上变换、滤波、放大和经天线156在网络200上传输。DSP 160不仅处理通信信号,还提供接收机和发射机控制。例如,可以通过在DSP 160中实现的自动增益控制算法,自适应控制施加到接收机150和发射机152中的通信信号的增益。
移动设备100和网络200之间的无线链路可以包含一个或多个不同的信道(典型地是不同的RF信道)以及用在移动设备100和网络200之间的相关协议。典型地,由于移动设备100的总体带宽和有限电池功率,RF信道是有限的资源,必须加以保留。
当移动设备100可完全操作时,发射机152通常只在其向网络200进行发送时接通,而在其他时刻关闭,以保留资源。类似地,在指定的时间段内,接收机150周期性地关闭,以保留电力,直到其需要接收信号或信息为止。
现在参照图3,将无线网络的节点的方框图表示为202。具体地,网络200包括一个或多个节点202。移动设备100与无线网络200中的节点202进行通信。在图3所示的示例实施方式中,根据通用分组无线业务(GPRS)和全球移动通信***(GSM)技术来配置节点202。节点202包括与塔站206相关联的基站控制器(BSC)204、添加了对GSM中的GPRS支持的分组控制单元(PCU)208、移动交换中心(MSC)210、归属位置寄存器(HLR)212、拜访位置寄存器(VLR)214、服务GPRS支持节点(SGSN)216、网关GPRS支持节点(GGSN)218和动态主机配置协议(DHCP)220。此组件列表并不表示GSM/GPRS网络中的每个节点202的穷尽组件列表,而是通常用在通过网络200的通信中的组件列表。
在GSM网络中,MSC 210与BSC 204和陆上传输网络(如公用交换电话网络(PTSN)222等)相连,以满足电路交换的需求。通过PCU208、SGSN 216和GGSN 218到公用或专用网络(因特网)224(也统称为共享网络基础结构)的连接表示针对GPRS使能移动设备的数据路径。在以GPRS能力加以扩展的GSM网络中,BSC 204还包含与SGSN 216相连的分组控制单元(PCU)208,用于控制分段、无线电信道分频,以及满足分组交换需要。为了跟踪移动设备位置和可用性,以便进行电路交换和分组交换管理,在MSC 210和SGSN 216之间共享HLR 212。对VLR 214的访问由MSC 210控制。
站点206是固定收发机站。站点206和BSC 204一起形成了固定收发机设备。固定收发机设备提供针对通常被称作“小区”的特定覆盖区域的无线网络覆盖。固定收发机设备通过站点206向和从其小区内的移动设备发射和接收通信信号。固定收发机设备通常在其控制器的控制下,根据特定、通常是预定的通信协议和参数,执行对要发送到移动设备的信号的调制和可能的编码和/或加密等处理。固定收发机设备类似地解调和可能地解码和解密(如果需要的话)从其小区内的移动设备100接收到的任意通信信号。通信协议和参数可以在不同的节点间不同。例如,一个节点可以采用不同的调制方案,并在与其他节点不同的频率进行操作。
对于与特定网络进行登记的全部移动设备100,将如用户简档表等永久配置数据存储在HLR 212中。HLR 212还包含针对每个已登记移动设备的位置信息,并且可以被查询,以确定移动设备的当前位置。MSC 210负责一组位置区域,并将当前位于其负责区域内的移动设备的数据存储在VLR 214中。其他VLR 214也包含与拜访其他网络的移动设备有关的信息。VLR 214中的信息包括从HLR 212传送到VLR 214的部分永久移动设备数据,以便进行更快的访问。通过将额外的信息从远程HLR 212节点移动到VLR 214,可以减少这些节点间的业务量,从而能够以更快的响应时间提供语音和数据服务,并且同时需要较少地使用计算资源。
SGSN 216和GGSN 218为添加了对GPRS的支持的元件;即在GSM内支持分组交换数据。SGSN 216和MSC 210在无线网络200内具有类似的职责,保持对每个移动设备100的位置的跟踪。SGSN 216还执行安全功能和对网络200上的数据业务的访问控制。GGSN 218提供与外部分组交换网络的联网连接,并通过在网络200内进行操作的因特网协议(IP)骨干网与一个或多个SGSN 216相连。在正常操作期间,给定的移动设备100必须执行“GPRS附属”以获取IP地址并访问数据服务。由于将集成服务数字网络(ISDN)地址用于路由呼入和呼出呼叫,这一要求并不出现在电路交换语音信道中。目前,所有GPRS使能网络使用专用、动态分配IP地址,因而需要与GGSN 218相连的DHCP服务器220。存在多种针对动态IP分配的机制,包括使用远程验证拨入用户服务(RADIUS)服务器和DHCP服务器的组合。一旦GPRS附属完成,则建立从移动设备100通过PCU 208和SGSN 216到GGSN 218内的接入点节点(APN)的逻辑连接。APN表示能够访问直接因特网兼容服务或专用网络连接的IP隧道的逻辑端点。在每个移动设备100必须被分配给一个或多个APN,并且如果未执行对以授权其使用的APN的GPRS附属,移动设备100不能交换数据这一点上,APN还表示针对网络200的安全机制。可以认为APN与如“myconnection.wireless.com”等因特网域名相似。
一旦GPRS附属完成,则创建了隧道,并利用IP分组中能够支持的任何协议,在标准IP分组内交换所有业务。这包括如在与虚拟专用网络(VPN)一起使用的一些IP安全(IPsec)连接的情况下的IP overIP等隧道方法。这些隧道也被称为分组数据协议(PDP)上下文,并且在网络200中存在有限的可用数量。为了最大化对PDP上下文的使用,网络200将运行针对每个PDP上下文的空闲定时器,以确定是否缺乏活动性。当移动设备100并未使用其PDP上下文时,可以取消对PDP上下文的分配,并将IP地址返回给由DHCP服务器220管理的IP地址库。
现在参照图4,示出了一个示例结构中的主机***的组件的方框图。主机***250将典型地是公司办公室或其他局域网(LAN),但也可以是家庭办公室计算机或一些其他私有***,例如在变体实施方式中。在图4所示的示例中,将主机***250图示为移动设备100的用户所属的组织的LAN。
LAN 250包括通过LAN连接260彼此相连的多个网络组件。例如,具有用于用户移动设备100的附属底座264的用户桌面计算机262a适用于LAN 250上。例如,针对移动设备100的底座264可以通过串行或通用串行总线(USB)连接与计算机262a相连。其他用户计算机262b也适用于LAN 250,并且每个计算机可以配备有或不配备有针对移动设备的附属底座264。底座264有利于信息(例如PIM数据、有利于移动设备100和LAN 250之间的安全通信的私用对称密钥等)从用户计算机262a到移动设备100的加载,并且对于通常在初始化移动设备100以便使用时执行的批量信息更新尤为有用。下载到移动设备100上的信息可以包括用在消息交换中的证书。本领域普通技术人员应当理解,用户计算机262a、262b还将典型地与图4未示出的其他***设备相连。
本发明的实施例大体上涉及消息的处理,如电子邮件消息等,以及一些实施例大体上涉及这种消息到和从移动设备100的通信。因此,为了便于公开,图4只示出了LAN 250的网络组件的子集,并且本领域普通技术人员应当理解的是,对于此示例结构,LAN 250将包括图4中未详尽示出的额外组件。更一般地,LAN 250可以表示所述组织的较大网络[未示出]的一小部分,并且可以包括与图4所示的示例不同的组件和/或按照与图4所示的示例不同的拓扑进行排列。
在此示例中,移动设备100通过无线网络200的节点202和如服务提供商网络或公用因特网等共享网络基础结构224与LAN 250进行通信。可以通过一个或多个路由器[未示出]提供对LAN 250的接入,并且LAN 250的计算设备可以在防火墙或代理服务器266的后面进行操作。
在变体实施方式中,LAN 250包括无线VPN路由器[未示出],便于LAN 250和移动设备100之间的数据交换。无线VPN路由器的概念在无线产业中是新的,并且意味着可以通过特定的无线网络直接建立对移动设备100的VPN连接。使用无线VPN路由器的可能性在最近才成为可能,并且可以在新的因特网协议(IP)版本6(IPv6)出现在基于IP的无线网络中时使用。这种新协议将提供足够的IP地址,从而使IP地址专用于每个移动设备,使其能够在任意时刻将信息推入移动设备。使用无线VPN路由器的优点是其可以是不需要使用分离的无线网关和分离的无线基础设施的现成的VPN组件。优选地,在此变体实施方式中,VPN连接可以是传输控制协议(TCP)/IP或用户数据报协议(UDP)/IP连接,直接将消息传递到移动设备100。
最初,由LAN 250的消息服务器268接收针对移动设备100的用户的消息。这些消息可以来自于多个源中的任意一个。例如,可以由发送方从LAN 250内的移动设备262b、从与无线网络200或不同无线网络相连的不同移动设备[未示出]、或从不同的计算设备或能够发送消息的其他设备,通过共享网络基础结构224,并可能通过应用服务提供商(ASP)或因特网服务提供商(ISP),发送消息。
消息服务器268典型地作为交换消息的主要接口,尤其是电子邮件消息,在所述组织内部,在共享网络基础结构224上。已经建立用于发送和接收消息的组织中的每个用户典型地与由消息服务器268管理的用户帐户相关联。消息服务器268的一个示例是MicrosoftExchangeTM服务器。在一些实施方式中,LAN 250可以包括多个消息服务器268。消息服务器268也可以适用于提供除消息管理以外的附加功能,例如,包括与日历和任务列表相关的数据的管理等。
当消息服务器268接收到消息时,通常将其存储在消息存储器[未详尽示出]中,随后可以从中检索消息并传递给用户。例如,在用户计算机262a上操作的电子邮件客户端应用程序可以请求与存储在消息服务器268上的用户帐户相关联的电子邮件消息。然后,从消息服务器268获得这些消息,并本地存储在计算机262a上。
当操作移动设备100时,用户可能希望将所获得的电子邮件消息传递到手持设备上。在移动设备100上进行操作的电子邮件客户端应用程序也可以向消息服务器268请求与用户帐户相关联的消息。可以配置电子邮件客户端(由用户或管理员进行,可能根据组织的信息技术(IT)策略),以某些预定的时间间隔或者在一些预定时间发生时,使此请求指向该用户。在一些实施方式中,向移动设备100分配其自身的电子邮件地址,并在消息服务器268接收到专门寻址于移动设备100的消息时,将其自动重新定向到移动设备100。
为了有利于移动设备100和LAN 250的组件之间的消息和消息相关数据的无线通信,可以设置多个无线通信支持组件270。例如,在此示例实施方式中,无线通信支持组件270包括消息管理服务器272。消息管理服务器272专门用于提供对消息管理的支持,如电子邮件消息等将由移动设备处理的消息。通常,在消息仍被存储在消息服务器268上时,消息服务器272可以用于控制何时、是否以及如何将消息发送给移动设备100。消息管理服务器272还有利于处理在移动设备100上构成的消息,该消息被发送到消息服务器268,以便进行随后的传递。
例如,消息管理服务器272可以:针对新电子邮件消息,监视用户的“邮箱”(例如消息服务器268上、与用户帐户相关联的消息存储器);将用户定义过滤器应用于新消息,以确定是否和如何将消息中继到用户的移动设备100;压缩并加密新消息(例如,使用如数据加密标准(DES)或三重DES等加密技术),并通过共享网络基础结构224和无线网络200将其推入移动设备100;以及接收在移动设备100上构成的消息(例如利用三重DES进行加密),解密并解压缩所构成的消息,如果需要,对所构成的消息重新格式化,从而使其看上去来自用户的计算机262a,并将所构成的消息重新路由到消息服务器268,以便进行传递。
消息管理服务器272可以定义(由管理员根据IT策略)和强化与要从和/或要由移动设备100发送和/或接收的消息相关联的特定属性或约束。可以包括移动设备100是否可以接收已加密和/或已签名消息、最小加密密钥尺寸、是否必须加密和/或签名输出消息、以及是否要向预定副本地址发送从移动设备100发送的全部安全消息的副本等。
消息管理服务器272也可以用于提供其他控制功能,例如,只将存储在消息服务器268上的特定消息信息或消息的预定部分(如“块”)推入移动设备100。例如,当移动设备100最初从消息服务器268检索消息时,消息管理服务器272用于只将消息的第一部分推入移动设备100,该部分具有预定尺寸(如2KB)。然后,用户可以请求消息管理服务器272将更多的消息按照类似的尺寸传递给移动设备100,可能直到最大预定消息尺寸。
因此,消息管理服务器272有利于更好地控制与移动设备100进行通信的数据类型和数据量,并有助于最小化带宽或其他资源的潜在浪费。
本领域普通技术人员应当理解的是不必将消息管理服务器272实现在LAN 250或其他网络中的分离物理服务器上。例如,可以将与消息管理服务器272相关联的一些或全部功能与消息服务器268或LAN250中的一些其他服务器集成。此外,LAN 250可以包括多个消息管理服务器272,尤其是在需要支持大量移动设备的变体实施方式中。
本发明的实施例大体上涉及对已编码消息的处理,如已加密和/或已签名的电子邮件消息。在简单邮件传送协议(SMTP)、RFC 822报头和多用途因特网邮件扩展(MIME)体部分可以用于定义不需要编码的典型电子邮件消息的格式时,可以在通信已编码消息时(即在安全消息收发应用程序中),使用安全/MIME(S/MIME),MIME协议的一种版本。S/MIME实现了端到端验证和保密性,并且从消息的发起者发送消息的时刻开始直到消息接收方解码并使其可用为止,保护数据完整性和私密性。也可以采用其他已知的标准和协议,以有助于安全消息通信,如Pretty Good PrivacyTM(PGP)、OpenPGP或其他已知技术。
如S/MIME等安全消息收发协议依赖于公用和私用加密密钥来提供保密性和完整性,并依赖于公用密钥基础结构(PKI)来通信提供了验证和授权的信息。只能利用私用密钥/公用密钥对的公用密钥来解密利用该对的对应私用密钥进行了加密的数据,反之亦然。私用密钥信息永不公开,而公用密钥信息是共享的。
例如,如果发送方希望以加密形式向接收方发送消息,利用接收方的公用密钥来加密消息,之后将只能利用接收方的私用密钥进行解密。或者,在一些编码技术中,产生一次性的会话密钥,并用于加密消息体,典型地利用对称加密技术(如三重DES等)。然后,利用接收方的公用密钥对会话密钥进行加密(例如,利用如RSA等公用密钥加密算法),之后将只能利用接收方的私用密钥进行解密。然后,利用解密后的会话密钥来解密消息体。消息报头可以用于规定必须用于解密消息的特定解密方案。在变体实施方式中,可以使用基于公用密钥加密法的其他加密技术。但是,在每种情况下,只有接收方的私用密钥可以用于有利于消息的解密,并且按照这种方式,可以保持消息的保密性。
作为另一示例,发送方可以利用数字签名来签名消息。数字签名是利用发送方的私用密钥进行加密的消息的摘要(例如消息的散列信息),然后将其附加到输出消息上。为了在接收时验证消息的签名,接收方使用与发送方相同的技术(例如,使用相同的标准散列算法),以获得接收消息的摘要。接收方还使用发送方的公用密钥来解密数字签名,以便获得什么是接收消息的匹配摘要。如果接收消息的摘要不匹配,这意味着在传送期间消息内容被改变和/或所述消息并非来自将其公用密钥用于验证的发送方。通过按照这种方式验证数字签名,可以保持发送方的验证和消息完整性。
可以加密、签名、既加密又签名已编码消息。利用证书来确保用在这些操作中的公用密钥的真实性。证书是由证书权威机构(CA)颁发的数字文档。证书用于验证用户及其公用密钥之间的关联性,实质上提供了用户公用密钥的真实性的可信程度。证书包含与证书持有者有关的信息,典型地根据已接受标准(如X.509)来格式化证书内容。
考虑图5,其中示出了示例证书链300。颁发给“John Smith”的证书310是颁发给个人的证书的示例,可以将其称为终端实体证书。终端实体证书310典型地识别证书持有者(即此示例中的John Smith)和证书的颁发者314,并包括颁发者的数字签名316和证书持有者的公用密钥318。证书310还将典型地包括识别证书持有者的其他信息和属性(如电子邮件地址、组织名称、组织单位名称、地点等)。当个人构建要发送给接收方的消息时,通常将个人的证书310包括在消息内。
对于可信的公用密钥,其颁发组织必须是可信的。可以通过一系列相关证书来表示可信CA和用户的公用密钥之间的关系,也被称作证书链。可以跟踪证书链,以确定证书的有效性。
例如,在图5所示的示例证书链300中,声称由John Smith发送的消息的接收方可能希望验证附属于接收消息的证书310的可信状态。例如,为了在接收方计算设备(例如图4的计算机262a)上验证证书310的可信状态,获得颁发者ABC的证书320,并用于验证证书310确实是由颁发者ABC签名的。证书320可能已经被存储在计算设备上的证书存储器中,或者可能需要从证书源(例如图4的LDAP服务器284或一些其他公用或专用LDAP服务器)获得。如果证书320已经被存储在接收方的计算设备中,则接收方将该证书指定为可信的,并认为证书310是可信的,因为其链接到已存储的可信证书上。
但是,在图5所示的示例中,还需要证书330来验证证书310的可信度。证书330是自签名的,并被称作“根证书”。因此,可以将证书320称为证书链300中的“中间证书”;假设可以针对特定的终端实体证书确定到达根证书的链,到达根证书的任意给定证书链可以包含零个、一个或多个中间证书。如果证书330是由可信源(来自较大的证书权威机构,如Verisign或Entrust)颁发的根证书,则可以认为证书310是可信的,因为其链接到可信证书。这意味着消息的发送方和接收方都信任根证书330的源。如果证书不能链接到可信证书,则认为证书是“不可信的”。
证书服务器存储与证书有关的信息和用于识别已经被调用的证书的列表。可以访问这些证书服务器,以获得证书,并验证证书真实性和撤消状态。例如,轻载目录访问协议(LDAP)服务器可以用于获得证书,以及在线证书状态协议(OCSP)服务器可以用于验证证书撤消状态。
标准电子邮件安全协议典型地有利于非移动计算设备(如图4所示的计算机262a、262b;远程桌面设备)之间的安全消息传输。再次参照图4,为了能够从移动设备100读取从发送方接收到的已签名消息以及要发送到这些发送方的已加密消息,移动设备100用于存储证书和其他个体的关联公用密钥。例如,存储在用户的计算机262a上的证书通常是从计算机262a通过底座264下载到移动设备100上的。
存储在计算机262a上并被下载到移动设备100上的证书并不局限于与个人相关的证书,还可以包括如由CA颁发的证书等。存储在计算机262a和移动设备100上的特定证书也可以被用户明确地指定为“可信的”。因此,当用户在移动设备100上接收到证书时,其可以通过将所述证书与存储在移动设备100上并被指定为可信的证书或者被确定为链接到可信证书的证书进行匹配,在移动设备100上进行验证。
移动设备100还可以用于存储与用户相关联的公用密钥/私用密钥对的私用密钥,从而移动设备100的用户可以签名在移动设备100上构成的输出消息,并解密以用户的公用密钥加密的、发送到用户的消息。例如,私用密钥可以从用户的计算机262a通过底座264下载到移动设备100上。优选地,在计算机262a和移动设备100之间交换私用密钥,从而使用户可以共享用于访问消息的一个身份和一种方法。
用户计算机262a、262b可以获得来自多个源的证书,以便存储在计算机262a、262b和/或移动设备(如移动设备100)上。例如,这些证书源可以是私用的(例如,专用于组织内部的用户)或公用的,可以位于本地或远程,并且可以从组织的专用网络内部或通过因特网进行访问。在图4所示的示例中,与所述组织相关联的多个PKI服务器280位于LAN 250上。PKI服务器280包括用于颁发证书的CA服务器282、用于搜索和下载证书(例如,针对组织内部的个人)的LDAP服务器284、和用于验证证书的撤消状态的OCSP服务器286。
例如,用户计算机262a可以从LDAP服务器284中检索证书,以便通过底座264下载到移动设备100。但是,在变体实施方式中,移动设备100也可以直接访问LDAP服务器284(即,在这种情况下,“在空中”),以及移动设备100可以通过移动数据服务器288搜索并获得个人证书。类似地,移动数据服务器288可以用于允许移动设备100直接查询OCSP服务器286,以验证证书的撤消状态。
本领域普通技术人员应当理解的是移动数据服务器288不必物理上位于与LAN 250的其他组件分离的计算设备上,在变体实施方式中,可以将移动数据服务器288设置在与LAN 250的另一组件相同的计算设备上。此外,在变体实施方式中,可以将移动数据服务器288的功能与LAN 250中的另一组件(如消息管理服务器272)的功能进行集成。
在变体实施方式中,只允许选定的PKI服务器280访问移动设备(例如,只允许从用户的计算机262a、262b下载证书,同时允许从移动设备100检查证书的撤消状态)。
在变体实施方式中,例如,只允许特定的PKI服务器280访问登记给特定用户的移动设备,由IT管理员规定,并可能根据IT策略来规定。
例如,其他证书源[未示出]可以包括Windows证书源、位于LAN250上或之外的另一安全证书存储器、以及智能卡等。
现在参照图6,将示出了可以由消息服务器(例如图4的消息服务器268)接收的已编码消息示例的组件的方框图总体表示为350。已编码消息350典型地包括以下的一个或多个部分:报头部分352、已编码体部分354、可选的一个或多个已编码附件356、一个或多个加密会话密钥358、以及签名和签名相关信息360。例如,报头部分352典型地包括地址信息,如“到”、“来自”和“抄送”地址等,也可以包括消息长度指示符以及发送方加密和签名方案标识符等。实际消息内容通常包括消息体或数据部分354和可能的一个或多个附件356,可以由发送方利用会话密钥进行加密。如果使用了会话密钥,利用每个接收方的相应公用密钥,针对每个预期的接收方,对会话密钥进行加密,并且包括在消息358中。如果签名消息,则还包括签名和签名相关信息360。例如,这可以包括发送方的证书。
图6所示的已编码消息的格式只是作为示例,本领域普通技术人员应当理解本发明的实施例可以应用于其他形式的已编码消息。根据所使用的特定消息收发方案,已编码消息的组件可以表现出与图6所示不同的次序,并且已编码消息可以包括更少、更多或不同的组件,可以依赖于是否对已编码消息进行了加密、签名或这二种操作。
本发明的实施例大体上涉及一种用于搜索和获得证书的***和方法。在一个实施例中,对驻留在移动设备上并在移动设备(例如,图4所示的移动设备100)上执行的证书搜索应用程序进行编程,以便在一个或多个证书服务器(例如,图4所示的LDAP服务器284)上发起证书搜索。在此实施例中,移动设备通过中间计算设备(例如,图4所示的移动数据服务器288)从证书服务器中搜索并获得证书。
参考图4,考虑其中移动设备100上的证书搜索应用程序通过移动数据服务器288从LDAP服务器284中搜索并获得个人证书的示例实施方式。证书搜索应用程序接收搜索请求,典型地从用户处接收,用户提供了用户想要定位证书的个人的名、姓和电子邮件地址。也可以更为广泛地进行特定的搜索请求,例如,通过构成只输入姓名的较少字母将返回以包含这些字母作为前缀的姓名颁发的全部证书的搜索查询,或者通过在输入字段中使用通配符或空白条目来扩展搜索。然后,将搜索请求从移动设备100通信到移动数据服务器288,然后,移动数据288针对所请求的证书查询LDAP服务器284。在此示例实施方式中,由移动数据服务器288获得已定位证书,并将与每个所获得的证书有关的特定搜索结果数据(如向其颁发了相应证书的个人(或实体)的通用名称和电子邮件地址)通信到移动设备100,从而可以根据搜索结果产生列表,并将其显示给用户。然后,用户可以从所述列表中选择特定的证书进行下载并存储到移动设备100上。然后,将所述选择通信给移动数据服务器288,根据该选择,将选定的证书下载到移动设备100上。
一方面,通过只将用于产生已定位证书的特定搜索结果数据而不是整个证书通信到移动设备100,并通过只下载由用户选定的特定证书,可以更为有效地执行证书的搜索和获得(例如,在时间和带宽方面)。但是,现有***不适合于确定或向用户提供指示列表中的哪些证书已经被存储在移动设备100上的证书存储器中,而无需将证书下载到移动设备100上,从而有助于确定。在这种***中,需要下载选定的证书,以便确认其是否已经被存储在证书存储器中。这将消耗时间和带宽,并且可能是没有必要的。
因此,本发明的实施例大体上涉及能够有助于确定证书是否已经被存储在设备(如移动设备100等)上的方法,而无需将证书完整地下载到所述设备上。
参照图7A,将示出了本发明一个实施例中的用于搜索和获得证书的方法的步骤的流程图总体表示为400。
在步骤410,第一计算设备接收来自第二设备的请求,以针对证书搜索至少一个证书服务器。在一个示例实施方式中,第一计算设备用作第二设备和至少一个证书服务器之间的中间设备,例如在第二设备是移动设备(如图4所示的移动设备100)的情况下的移动数据服务器(如图4所示的移动数据服务器288)。在一个示例实施方式中,要搜索的证书服务器是LDAP服务器(如图4所示的LDAP服务器284)。
所述请求可以包括由在第二设备上执行并驻留在第二设备上的证书搜索应用程序提供的数据。所述数据可以来自用户对证书搜索应用程序的输入(例如在用户发起搜索时),或者在变体实施方式中,来自由发起搜索的应用程序产生的数据。典型地,所述数据将包括至少一个名称和/或电子邮件地址,尽管本领域普通技术人员应当理解可以构造多种搜索请求,而不会偏离本发明的范围。
为了方便,将参照第一计算设备是移动数据服务器,第二设备是移动设备的示例实施方式,来描述方法400的其他步骤。但是,参照方法400或图7B的方法400b所描述的本发明的实施例可以应用于第一计算设备不是移动数据服务器而是一些其他计算设备和/或第二设备不是移动设备而是一些其他计算设备的实施方式。例如,包括第一和第二设备和至少一个证书服务器的***体系结构(通常第一和第二设备之间的数据传输比第一设备和至少一个证书服务器之间的数据传输更为昂贵(例如,在时间和/或带宽方面))可以从本发明实施例的应用中获益。
在步骤420,移动数据服务器根据在步骤410从移动设备的证书搜索应用程序接收到的搜索请求,向至少一个证书服务器查询证书。移动数据服务器从至少一个证书服务器获得搜索中所定位的证书。
在步骤430,移动数据服务器将与每个已定位证书相关的搜索结果数据返回移动设备的证书搜索应用程序。所返回的搜索结果数据典型地包括各个证书被颁发给的个人(或实体)的通用名称和电子邮件地址。但是,根据本发明的这个实施例,移动数据服务器进一步处理每个所获得的证书,解析每个所获得证书,以识别各个证书的序列号和颁发者,将其作为搜索结果数据的一部分返回。
在一些实施方式中,只是暂时存储在步骤420获得的证书,直到在步骤430将搜索结果数据返回移动设备,此时删除所获得的证书。在其他实施方式中,可以缓存或者更为永久地保存在步骤420获得的证书(例如直到从移动设备接收到对返回搜索结果数据的响应,或者保存预定的持续时间)。
在步骤440,证书搜索应用程序将与每个已定位证书相关联的序列号和颁发者数据与存储在移动设备上的一个或多个指定证书存储器中的与证书相关联的序列号和颁发者数据进行比较,以确定各个证书是否已经被存储在移动设备上。
在步骤450,产生已定位证书的列表,并显示给移动设备的用户。根据在步骤430返回到移动设备的搜索结果数据的至少一个子集,产生此列表。例如,此列表可以通过证书被颁发给其的个人(或实体)的通用名称和/或电子邮件地址来识别每个已定位证书。在本发明的一个实施例中,还可以根据在步骤440做出的确定,与针对每个已定位证书的列表上的各个条目一起提供指示符,所述指示符指示各个证书是否已经被存储在移动设备上。因此,用户不必选择已经存储在移动设备上的证书进行下载,从而不会将重复的证书下载到移动设备上。例如,所述指示符可以包括选中框和非选中框。作为另一示例,可以根据指示符的状态,突出显示或不突出显示列表上的每个条目。
在步骤460,例如由移动设备的用户来选择证书进行下载。
在步骤470,移动数据服务器从移动设备接收表示在步骤460所做出的选择的数据,并随后将选定证书返回移动设备,典型地存储在移动设备上。在一些实施方式中,在移动数据服务器由于先前进行了下载而未保留证书的情况下,需要移动数据服务器在将证书返回移动设备之前,针对选定证书,再次查询证书服务器[未示出此步骤]。
现在参照图7B,将示出了本发明另一实施例中的用于搜索和获得证书的方法的步骤的流程图总体表示为400b。方法400b类似于方法400,除了由第一计算设备返回第二设备的、与证书相关联的搜索结果数据包括每个已定位证书的至少一部分的散列信息。
具体地,在步骤430b,移动数据服务器将与每个已定位证书有关的搜索结果数据返回移动设备的证书搜索应用程序。所返回的搜索结果数据典型地包括各个证书被颁发给其的个人(或实体)的通用名称和电子邮件地址。根据本发明的这个实施例,移动数据服务器进一步处理每个所获得的证书,应用散列算法,对每个所获得的证书的至少一部分进行散列运算。然后,返回所述散列信息,作为搜索结果数据的一部分。在一个实施方式中,对整个证书进行散列运算,以产生返回的散列信息。但是,在变体实施方式中,可以对证书的一个或多个特定部分或字段进行散列运算,以产生返回的散列信息,尽管根据散列的部分或字段,散列信息惟一且正确地识别相同证书的可能性会有所降低。
在步骤440,证书搜索应用程序针对存储在移动设备上、一个或多个指定证书存储器中的每个证书,产生散列信息,并将每个所产生的散列信息与关联于每个已定位证书的散列信息进行比较,以便确定各个证书是否已经被存储在移动设备上。将与步骤430b所采用的相同的散列算法应用于此步骤(如果未对整个证书进行散列运算,则将散列算法应用于已存储证书的相同部分或字段),以产生已存储证书的散列信息。因此,如果给定证书的所产生的散列信息与在步骤430b从移动数据服务器接收到的散列信息匹配,则认为已经确定了匹配。
与图7B所示的其余步骤有关的详细描述参照图7A。
在本发明的变体实施例中,可以将能够用于惟一地识别证书并且比通信整个证书更为有效地进行通信(例如在时间和/或带宽方面)的其他数据返回第二设备,作为搜索结果数据的一部分,并用于确定所述证书是否已经被存储在第二设备上
上述本发明的实施例大体上允许用户快速地确定是否需要将证书下载到其计算设备上,而无需进行昂贵的请求。在本发明的变体实施例中,证书搜索请求可以不由用户发起,而是代替地由在第二设备上执行的应用程序发起(可以由证书搜索应用程序或一些其他应用程序发起)。在这些实施例中,可以不产生列表显示给用户(如图7A和图7B中的步骤450),并且可以在识别证书可能已经被存储在第二设备上之后(例如图7A和7B的步骤440),自动指定要下载的证书,而无需用户的干预。
在变体实施例中,本发明还可以应用于不涉及证书的其他应用。例如,前述的一些技术可以用于确定特定的联系数据记录或电子文档是否已经被存储在计算设备上。
本发明实施例中用于搜索和获得证书的方法的步骤可以作为存储在计算机可读介质上的可执行软件指令来提供,所述计算机可读介质包括传输型介质。
已经针对多个实施例对本发明进行了描述。但是,本领域普通技术人员应当理解的是,在不偏离由所附权利要求所限定的本发明的范围的前提下,可以进行多种变化和修改。

Claims (16)

1、一种用于搜索和获得证书的方法,其中由第一计算设备(262a,288)来执行所述方法,所述方法包括以下步骤:
接收证书搜索请求;
在一个或多个证书服务器(284)上进行搜索,其中向所述一个或多个证书服务器提交至少一个查询,以请求获得满足所述证书搜索请求的证书;以及
从所述一个或多个证书服务器(284)获得至少一个证书;
在第一计算设备(262a,288)处,处理获得的每个证书,以确定搜索结果数据,其中所述搜索结果数据并非整个证书并且包括唯一地识别了各个证书的数据;以及
针对所处理的每个证书,将与之相关的搜索结果数据从第一计算设备(262a,288)传输到第二设备(100),以便用于确定各个证书是否被存储在所述第二设备(100)上。
2、根据权利要求1所述的方法,其特征在于唯一地识别了各个证书的数据包括针对各个证书的序列号和颁发者数据;以及所述处理步骤包括解析所获得的每个证书,以获得各自的序列号和颁发者数据。
3、根据权利要求1所述的方法,其特征在于唯一地识别了各个证书的数据包括各个证书的至少一部分的散列信息;以及所述处理步骤包括将散列算法应用于所获得的每个证书,以获得各自的散列信息。
4、根据权利要求3所述的方法,其特征在于针对每个证书而获得的散列信息是整个相应证书的散列信息。
5、根据权利要求1到4之一所述的方法,其特征在于所述第二设备包括移动设备(100)。
6、根据权利要求5所述的方法,其特征在于所述第一计算设备包括移动数据服务器(288)。
7、根据权利要求1到4之一所述的方法,其特征在于还包括将所获得的证书的列表显示在第二设备(100)上,其中所述列表表示哪些证书被确定要存储在第二设备上。
8、根据权利要求7所述的方法,其特征在于还包括识别从所述列表中选择的一个或多个证书,并向所述第二设备(100)通信所选择的证书。
9、一种用于搜索和获得证书的***(100,200,250),所述***(100,200,250)至少包括第一计算设备(262a,288)和第二设备(100),其中所述第一计算设备用于:
接收证书搜索请求;
通过向一个或多个证书服务器(284)提交至少一个查询,在所述一个或多个证书服务器(284)上进行搜索,以请求获得满足所述证书搜索请求的证书;
从所述一个或多个证书服务器(284)获得至少一个证书;
处理所获得的每个证书,以确定搜索结果数据,其中所述搜索结果数据并非整个证书并且包括唯一地识别了各个证书的数据;以及
针对所获得的每个证书,将与之相关的搜索结果数据传输到第二设备(100),以便用于确定各个证书是否被存储在所述第二设备上。
10、根据权利要求9所述的***,其特征在于唯一地识别了各个证书的数据包括针对各个证书的序列号和颁发者数据;以及在处理每个证书时,所述第一计算设备用于解析所获得的每个证书,以获得各自的序列号和颁发者数据。
11、根据权利要求9所述的***,其特征在于唯一地识别了各个证书的数据包括各个证书的至少一部分的散列信息;以及在处理每个证书时,所述第一计算设备(262a,288)用于将散列算法应用于所获得的每个证书,以获得各自的散列信息。
12、根据权利要求11所述的***,其特征在于针对每个证书而获得的散列信息是整个相应证书的散列信息。
13、根据权利要求9到12之一所述的***,其特征在于所述第二设备包括移动设备(100)。
14、根据权利要求13所述的***,其特征在于所述第一计算设备包括移动数据服务器(288)。
15、根据权利要求9到12之一所述的***,其特征在于所述第一计算设备(262a,288)还用于将所获得的证书的列表显示在第二设备(100)上,其中所述列表表示哪些证书被确定要存储在第二设备上。
16、根据权利要求15所述的***,其特征在于所述第一计算设备(262a,288)还用于识别从所述列表中选择的一个或多个证书,并向所述第二设备(100)通信所选择的证书。
CNB2005100980123A 2004-09-02 2005-09-01 用于搜索和获得证书的***和方法 Active CN100531029C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP04104240.9 2004-09-02
EP04104240A EP1633101B1 (en) 2004-09-02 2004-09-02 System and method for searching and retrieving certificates

Publications (2)

Publication Number Publication Date
CN1744490A CN1744490A (zh) 2006-03-08
CN100531029C true CN100531029C (zh) 2009-08-19

Family

ID=34929525

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100980123A Active CN100531029C (zh) 2004-09-02 2005-09-01 用于搜索和获得证书的***和方法

Country Status (11)

Country Link
EP (1) EP1633101B1 (zh)
JP (1) JP4530953B2 (zh)
KR (1) KR100650432B1 (zh)
CN (1) CN100531029C (zh)
AT (1) ATE392080T1 (zh)
AU (1) AU2005204223B2 (zh)
BR (1) BRPI0503811B1 (zh)
CA (1) CA2517211C (zh)
DE (1) DE602004013000T2 (zh)
HK (1) HK1087274A1 (zh)
SG (1) SG120313A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8209530B2 (en) 2004-09-02 2012-06-26 Research In Motion Limited System and method for searching and retrieving certificates
US8296829B2 (en) 2004-09-01 2012-10-23 Research In Motion Limited Providing certificate matching in a system and method for searching and retrieving certificates
US8589677B2 (en) 2004-09-01 2013-11-19 Blackberry Limited System and method for retrieving related certificates
US8943156B2 (en) 2006-06-23 2015-01-27 Blackberry Limited System and method for handling electronic mail mismatches

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1871060A1 (en) * 2006-06-23 2007-12-26 Research In Motion Limited System and method for searching a sender certificate when an e-mail address of the certificate and the sender address do not coincide
JP5014847B2 (ja) 2007-03-19 2012-08-29 株式会社リコー 情報処理装置及び情報処理方法
US10248791B2 (en) * 2015-07-20 2019-04-02 Intel Corporation Technologies for secure hardware and software attestation for trusted I/O
CN110213249A (zh) * 2019-05-20 2019-09-06 网宿科技股份有限公司 基于请求粒度的证书动态加载方法、装置和服务器

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4508331B2 (ja) * 2000-01-07 2010-07-21 新日鉄ソリューションズ株式会社 認証代行装置、認証代行方法、認証代行サービスシステム、及びコンピュータ読取可能な記録媒体
JP2001265216A (ja) * 2000-03-16 2001-09-28 Nippon Telegr & Teleph Corp <Ntt> 公開鍵証明書の掲載方法および公開鍵証明書の掲載装置
JP3761432B2 (ja) * 2001-08-03 2006-03-29 日本電気株式会社 通信システムおよびユーザ端末およびicカードおよび認証システムおよび接続および通信の制御システムおよびプログラム
JP2005521142A (ja) * 2002-03-20 2005-07-14 リサーチ イン モーション リミテッド 証明情報記憶装置および証明情報記憶方法
JP4239497B2 (ja) * 2002-07-09 2009-03-18 株式会社ニコン 画像伝送システム、画像中継装置および電子画像機器
JP2005259332A (ja) * 2004-02-13 2005-09-22 Konica Minolta Opto Inc 光ピックアップ装置及び光ピックアップ装置用回折光学素子

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BlackBerry Security with the S/MIME Support Package. Research In Motion.BlackBerry,No.1.5. 2003
BlackBerry Security with the S/MIME Support Package. Research In Motion.BlackBerry,No.1.5. 2003 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8296829B2 (en) 2004-09-01 2012-10-23 Research In Motion Limited Providing certificate matching in a system and method for searching and retrieving certificates
US8561158B2 (en) 2004-09-01 2013-10-15 Blackberry Limited Providing certificate matching in a system and method for searching and retrieving certificates
US8589677B2 (en) 2004-09-01 2013-11-19 Blackberry Limited System and method for retrieving related certificates
US8209530B2 (en) 2004-09-02 2012-06-26 Research In Motion Limited System and method for searching and retrieving certificates
US8566582B2 (en) 2004-09-02 2013-10-22 Blackberry Limited System and method for searching and retrieving certificates
US8943156B2 (en) 2006-06-23 2015-01-27 Blackberry Limited System and method for handling electronic mail mismatches

Also Published As

Publication number Publication date
JP4530953B2 (ja) 2010-08-25
JP2006074786A (ja) 2006-03-16
AU2005204223B2 (en) 2007-11-29
CA2517211A1 (en) 2006-03-02
CN1744490A (zh) 2006-03-08
BRPI0503811B1 (pt) 2021-01-26
KR100650432B1 (ko) 2006-11-29
BRPI0503811A (pt) 2006-04-11
CA2517211C (en) 2011-05-03
EP1633101B1 (en) 2008-04-09
AU2005204223A1 (en) 2006-03-16
SG120313A1 (en) 2006-03-28
DE602004013000T2 (de) 2009-05-07
DE602004013000D1 (de) 2008-05-21
KR20060050933A (ko) 2006-05-19
HK1087274A1 (en) 2006-10-06
EP1633101A1 (en) 2006-03-08
ATE392080T1 (de) 2008-04-15

Similar Documents

Publication Publication Date Title
CN100566236C (zh) 在***中提供证书匹配以及用于搜索和获得证书的方法
CN100536395C (zh) 用于验证证书上的数字签名的***和方法
CN100380895C (zh) 用于处理已编码消息的***和方法
US8296829B2 (en) Providing certificate matching in a system and method for searching and retrieving certificates
US8566582B2 (en) System and method for searching and retrieving certificates
CN101027869B (zh) 用于确定应用于输出消息的安全编码的***和方法
CN1653779B (zh) 支持移动通信设备上多个证书状态提供器的***和方法
JP4463815B2 (ja) 安全なメッセージを送信するシステムおよび方法
CN1674590B (zh) 用于查看消息附件的***和方法
CN100531029C (zh) 用于搜索和获得证书的***和方法
US7613304B2 (en) System and method for sending encrypted messages to a distribution list
CN101453708A (zh) 用于处理发送到移动设备的消息附件的***和方法
CN1985461A (zh) 用于将证书与消息地址关联的***和方法
US20060036849A1 (en) System and method for certificate searching and retrieval
TWI282231B (en) System and method for searching and retrieving certificates
CN1905442B (zh) 用于处理用户正在编写的消息的***及方法
CN101420664B (zh) 用于控制移动设备上的消息附件处理功能的***和方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Ontario, Canada

Patentee after: BlackBerry Ltd.

Country or region after: Canada

Address before: Ontario, Canada

Patentee before: RESEARCH IN MOTION Ltd.

Country or region before: Canada

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240520

Address after: Ai Erlandubailin

Patentee after: Maliki Innovation Co.,Ltd.

Country or region after: Ireland

Address before: Ontario, Canada

Patentee before: BlackBerry Ltd.

Country or region before: Canada