CN1905442A - 用于处理用户正在编写的消息的系统及方法 - Google Patents

用于处理用户正在编写的消息的系统及方法 Download PDF

Info

Publication number
CN1905442A
CN1905442A CNA2006100927501A CN200610092750A CN1905442A CN 1905442 A CN1905442 A CN 1905442A CN A2006100927501 A CNA2006100927501 A CN A2006100927501A CN 200610092750 A CN200610092750 A CN 200610092750A CN 1905442 A CN1905442 A CN 1905442A
Authority
CN
China
Prior art keywords
message
user
data
certificate
mobile device
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.)
Granted
Application number
CNA2006100927501A
Other languages
English (en)
Other versions
CN1905442B (zh
Inventor
迈克尔·K·布朗
迈克尔·S·布朗
迈克尔·G·科卡普
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
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 CN1905442A publication Critical patent/CN1905442A/zh
Application granted granted Critical
Publication of CN1905442B publication Critical patent/CN1905442B/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/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies 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/58Message adaptation for wireless communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/7243User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages
    • H04M1/72436User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages for text messaging, e.g. short messaging services [SMS] or e-mails

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Meter Arrangements (AREA)
  • Debugging And Monitoring (AREA)

Abstract

一种用于处理计算设备(如移动设备)的用户正在编写的消息的系统及方法。在描述的实施例中,在接收到来自用户的发送用户正在编写消息的指示之前,开始执行特定任务。这可包括,例如,“预取”为了安全发送用户在编写过程中的消息将所需的安全相关数据。这样的数据可包括例如安全策略数据、证书数据、以及/或者证书状态数据。

Description

用于处理用户正在编写的消息的系统及方法
本专利文献的公开的一部分包含了受到版权保护的材料。由于出现于专利商标局的专利档案或记录中,此版权所有者不反对任何人拓制此专利文献或专利公开,但是保留所有版权。
技术领域
本发明的实施例通常涉及消息(如电子邮件消息)的处理,以及更具体地,涉及用于处理计算设备(如移动设备)的用户正在编写的消息的系统及方法。
背景技术
电子邮件(“e-mail”)消息一般可使用一些已知协议中的一个协议进行编码,以促进安全消息通信。例如,安全多用途因特网邮件扩展(S/MIME)协议,依靠公共或专用加密密钥提供机密性和完整性,并依靠公共密钥基础结构(PKI)传送提供鉴权和授权的信息。使用专用密钥/公共密钥对中的专用密钥进行编码的数据仅能使用此对中相应的公共密钥进行解码,以及使用专用密钥/公共密钥对中的公共密钥进行编码的数据仅能使用此对中相应的专用密钥进行解码。在S/MIME中,用于消息编码中的公共密钥的真实性可通过使用证书而生效。可使用其它已知标准和协议,如高度保密协议TM(PGP)以及诸如开放PGP之类的PGP的变体来促进安全消息通信。可以理解的是,同基于S/MIME的系统相比,尽管用于PGP消息编码的公共密钥的真实性通过不同方式生效,但是基于PGP的系统也利用公共和专用加密密钥提供机密性和完整性。类似于“证书”(例如S/MIME中使用的)结构的用于在密钥储存器(key holder)上提供公共密钥和信息的结构,可在这样的其它安全消息通信标准和协议中提供。一个这样的结构通常被认为是在基于PGP系统中的“PGP密钥”。为了此说明书和权利要求,可认为术语“证书”包括这样的结构。
发明内容
通常,在可发送已由用户编写好的新的电子邮件消息之前,必须获取一定数据来处理此消息,包括例如:(1)安全策略数据,可识别此消息所需安全编码;(2)证书数据,典型地包括证书持有者的公共密钥以及其它与证书持有者相关的识别信息;以及/或者(3)证书状态数据,可用于验证证书状态(如,证书是否已无效)。当编写好电子邮件消息,典型地,它处于动态直到被发送。因此,仅在用户已完成编写电子邮件消息并指示计算设备发送此消息(如,通过选择由消息传送应用程序提供的“发送”选项)之后,典型地,才会获取数据,并在发送它之前将它用于下一步的消息处理。这避免了例如若正在编写消息的用户最终决定不发送此消息,则可能作出的不必要的数据请求。
在本发明的一个广义方面,提供了一种处理计算设备的用户正在编写的消息的方法,此方法包括几步骤:检索来自用户的请求编写消息;检测何时发生了至少一个与用户正在编写的消息相关的触发事件;并且对于每一触发事件,在检测到各个触发事件发生之后,在用户正编写此消息时,开始执行至少一个与各个触发事件相关的任务。
在本发明的另一广义方面,提供了一种处理计算设备的用户正在编写的消息的方法,其中,与至少一个触发事件相关的任务包括:如果用户指示消息要发送,则检索进一步处理用户正在编写的消息所需的数据。
附图说明
为了更好地理解在此描述的系统的实施例及方法,并且更清楚地示出它们是如何产生影响的,作为示例,将结合附图给出参考,其中:
图1为一个示例实现中的移动设备的结构框图;
图2为图1移动设备的通信子系统组件的结构框图;
图3为无线网络节点的结构框图;
图4为说明一示例配置中主机系统的组件的结构框图;
图5A为说明一示例性实施例中,处理移动设备的用户正在编写的消息的方法的步骤的流程图;
图5B为说明另一示例性实施例中,处理移动设备的用户正在编写的消息的方法的步骤的流程图。
具体实施方式
如以上示例所述,仅在用户完成编写电子邮件消息并指示计算设备发送此消息以激活发送过程之后,通常才会检索诸如安全策略数据、证书数据、和/或证书状态数据之类的数据,以对此消息进行下一步处理。在典型的有线网络中,典型地,完成必要请求以检索这样的数据的时间为最小,因此,为促进此消息的发送,获得此数据的过程通常对于用户来说是透明的。然而,在许多无线网络中,获得所需数据的时间会长得多,这会导致正如用户所体验到的,在发送过程中的极大时延。
现有技术的系统将检索这样的数据的开始一直推迟到接收来自用户的指示发送此消息之后,与此现有技术的系统形成对照,为了避免不必要的数据请求,仍然希望使用一种技术,其中,可将诸如移动设备之类的特定计算设备的用户可体验到的发送过程中的时延最小化,使得此发送过程对于这样的用户来说将更加透明。
在此描述的实施例一般涉及这样的系统及方法,其中,在用户正在编写消息时,并且在接收来自用户的指示发送此消息之前,开始执行特定任务。这会包括例如“预取”为发送用户在编写过程中的消息可能需要的数据。由于完成此发送过程所需的任务可能已被完成、或者至少将会在接收到来自用户的发送此消息的指示时开始此任务,因此,提前开始执行这样的任务通常将增加这样的可能性,即从用户角度,消息看似会快速地被发送。这会增强计算设备的可用性,尤其当计算设备是移动设备时,更具优势。
本发明的一个广义方面,提供了一种处理计算设备的用户正在编写的消息的方法,此方法包括这样的步骤:接收来自用户的请求以编写信息;检测何时至少一个与用户正在编写的消息相关的触发事件发生;以及对于每一触发事件,在检测各个触发事件发生之后,在用户正在编写此消息时,开始执行至少一个与各个触发事件相关的任务。
在本发明的另一广义方面,提供了一种处理计算设备的用户正在编写的消息的方法,其中,与至少一个触发事件相关的任务包括:如果用户指示消息要发送,则检索进一步处理用户正在编写的消息所需的数据。
在至少一个实施例中,计算设备为移动设备。
不同实施例的这些以及其它的方面和特征将在下面进行更加详细的描述。
在此描述的系统和方法的一些实施例指移动设备。移动设备是具有高级数据通信能力的双向通信设备,有着与其它计算机系统通信的能力。移动设备也可包括语音通信能力。依据通信设备提供的功能,可称其为数据消息发送设备、双向寻呼机、具有数据消息发送设备能力的蜂窝电话、无线因特网应用、或数据通信设备(具有或不具有电话通信能力)。移动设备通过收发台的网络与其它设备进行通信。
为帮助读者理解移动设备的结构以及它怎样与其它设备通信,图1至图3给出参考。
首先参照图1,一示例性实施方式中的移动设备的结构框图通常表示为100。移动设备100包括若干组件,控制部件为微处理器102。微处理器102控制移动设备100的所有操作。包括数据和语音通信的通信功能通过通信子系统104执行。通信子系统104从无线网络200接收消息并发送消息至无线网络200。在移动设备100的示例性实施方式中,通信子系统104配置为符合全球移动通信系统(GSM)以及通用分组无线业务(GPRS)标准。GSM/GPRS无线网络用于全世界,并且这些标准期望最终将被增强数据GSM环境(EDGE)以及通用移动通信业务(UMTS)所替代。新的标准仍在制定当中,但是相信它们将类似于这里描述的网络行为,并且本领域技术人员也将理解,本发明意指使用任何其它适合的发展于将来的标准。连接通信子系统104与网络200的无线链路表示一条或多条射频(RF)信道,根据GSM/GPRS通信说明定义的协议工作。对于更新的网络协议,这些信道能够既支持电路交换的语音通信又支持分组交换的数据通信。
尽管在移动设备100的示例性实施方式中,与无线设备100相关的无线网络是GSM/GPRS无线网络,在不同实现中,其它无线网络也可与无线设备100相关。可使用的无线网络的不同类型包括,例如,以数据为中心的无线网络、以语音为中心的无线网络、以及通过相同的物理基站既可支持语音通信又可支持数据通信的双模网络。合成的双模网络包括但不局限于:码分多址(CDMA)或CDMA2000网络、GSM/GPRS网络(如上所述)、以及如EDGE和UMTS的未来的第三代(3G)网络。以数据为中心的网络的一些较老的示例包括MobitexTM无线网络以及DataTACTM无线网络。较老的以语音为中心的数据网络的示例包括如GSM和时分多址(TDMA)系统的个人通信系统(PCS)网络。
微处理器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。没有SIM126,移动设备100不会完全用于与网络200的通信的操作。通过将SIM126插入SIM接口128,用户可接入所有定制的业务。业务可包括:诸如电子邮件、语音邮件、短消息业务(SMS)、以及多媒体消息传送业务(MMS)之类的网页浏览与信息发送。更多的高级业务可包括:销售点、现场服务以及销售自动化。SIM 126包括处理器和存储信息的存储器。一旦SIM 126插入SIM接口128,它连接至微处理器102。为了识别用户,SIM 126包含一些用户参数,比如国际移动用户身份(IMSI)。使用SIM126的优点在于:订户不必被任何一个物理移动设备所绑定。SIM 126也可存储移动设备的附加订户信息,包括数据簿(或日历)信息以及近来的呼叫信息。
移动设备100是电池供电的设备,并且包括容纳一个或多个可充电电池130的电池接口132。电池接口132连接至稳压器(regulator)(未示出),帮助电池130向移动设备100提供电压V+。尽管当前技术利用电池,诸如微型燃料电池之类的未来的技术可向移动设备100提供电压。
微处理器102,除了它的操作系统功能之外,可在移动设备100上执行软件应用程序。控制基本设备操作的应用程序集(包括数据和语音通信)通常将在制造期间安装在移动设备100上。可载入移动设备100的另一应用程序是个人信息管理者(PIM)。PIM具有组织和管理用户感兴趣的数据项的功能,比如但不局限于:电子邮件、日历事件、语音邮件、约会、以及任务项。PIM应用程序具有通过无线网络200发送和接收数据项的能力。PIM数据项可以通过无线网络200,与移动设备用户的存储于主机系统并/或与主机系统相关的相应的数据项进行无缝地集成、同步以及更新。所述功能在移动设备100上产生了与这样的项相关的镜像主机。这在主机系统是移动设备订户的办公计算机系统的情况下具有显著的优点。
附加的应用程序也可以通过网络200、辅助I/O子系统112、串行接口114、短距离通信子系统122、或任何其它适合的子系统124,来载入移动设备100。这种应用程序安装中的灵活性增加了移动设备100的功能性,也提供了增强的设备上功能、通信相关功能、或两者兼具。
例如,安全通信应用程序能够使用移动设备100,执行电子商务功能和其它这样的金融交易。
串行端口114使用户能够通过外部设备或软件应用程序设置优选项,并且除了通过无线通信网络之外,通过提供信息或软件的下载至移动设备100,扩展了移动设备100的能力。例如,通过直接以及可靠并可信的连接,可选择的下载途径可以用于将加密密钥载入移动设备100以提供安全设备通信。
短距离通信子系统122提供了在不使用网络200的情况下,移动设备100和不同的系统或设备之间的通信。例如,子系统122可包括用于短距离通信的红外设备和相关的电路和组件。短距离通信的示例包括由红外数据协会(IrDA)发展起来的标准、蓝牙、以及由IEEE发展起来的802.11家族的标准。
在使用中,诸如文本消息、电子邮件消息、或网页下载之类的接收信号将由通信子系统104进行处理,并输入微处理器102。微处理器102然后将处理接收信号以输出至显示器110,或可选地输出至辅助I/O子系统112。订户也可通过使用键盘116结合显示器110或可能的辅助I/O子系统112,编写诸如电子邮件消息之类的数据项。辅助子系统112可包括诸如:触摸屏、鼠标、跟踪球、红外指纹检测器、或具有动态按钮按压能力的滚轮之类的设备。键盘116是字母数字键盘和/或电话型小键盘。编写项可在网络200上通过通信子系统104传送。
对于语音通信,移动设备100的所有操作实质是相似的,除了接收信号将作为扬声器118的输出、以及传送信号将由麦克风产生。可选择的语音或视频I/O子系统,比如语音消息记录子系统,也可在移动设备100上实现。尽管语音或视频信号输出主要通过扬声器118完成,显示器110也可用于提供诸如呼叫方的身份、语音呼叫的持续时间、或其它语音呼叫相关信息之类的附加信息。
现在参照图2,示出了图1的通信子系统组件104的结构框图。通信子系统104包括接收机150、发射机152、一个或多个嵌入式或内置天线元件154、156、本振器(LOs)158、以及诸如数字信号处理器(DSP)160之类的处理模块。
通信子系统104的特定设计是依据移动设备100将要工作于其中的网络200,这样,图2中说明的此设计仅将作为示例理解。由天线154通过网络200接收的信号输入至接收机150,它可执行普通接收机功能用于信号放大、降频转换、滤波、信道选择、以及模数(A/D)转换。接收信号的A/D转换允许更复杂的通信功能,比如在DSP 160内执行的解调和解码。以类似方式,通过DSP 160处理要发送的信号,包括调制和编码。这样的DSP处理信号输入至发射机152,用于数模(D/A)转换、升频转换、滤波、放大、以及通过天线156在网络200上传送。DSP 160不仅处理通信信号,而且提供接收机和发射机控制。例如,作用于接收机150和发射机152中的通信信号的增益可通过DSP 160实现的自动增益控制算法得到适应性的控制。
移动设备100和网络200之间的无线链路可包括一条或多条不同信道,典型地,不同的RF信道;以及用于移动设备100和网络200之间的相关协议。RF信道是必须保留的有限资源,典型地,这是由于受限于整体带宽以及移动设备100的有限的电池能量。
当移动设备100完全工作时,典型地,将发射机152仅在它正向网络200传送的时候接通或启用,否则关闭以保留资源。类似地,在指定的时间周期内,接收机150周期性地关闭以保留功率,直到需要它接收信号或信息(如果存在)为止。
现在参照图3,示出了无线网络节点的结构框图202。实际中,网络200包括一个或多个节点202。移动设备100与无线网络200内的节点202进行通信。在图3的示例型实施方式中,节点202的配置符合通用分组无线业务(GPRS)以及全球移动通信系统(GSM)技术。节点202包括具有相关塔站206的基站控制器(BSC)204、为支持GPRS而在GSM中添加的分组控制单元(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以及一陆地网络,比如公共交换电话网络(PSTN)222,以满足电路交换需求。此连接通过PCU208、SGSN 216和GGSN 218连接至公共或专用网络(因特网)224(这里也称为共享网络基础结构),表示针对GPRS能力的移动设备的数据路径。在具有扩展的GPRS能力的GSM网络中,BSC 204也包括连接至SGSN216以控制分段、无线信道分配、以及满足分组交换需求的分组控制单元(PCU)208。为追踪无线设备的位置和对于电路交换和分组交换管理的可用性,HLR 212共享于MSC 210和SGSN 216之间。由MSC 210控制对VLR 214的接入。
基站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是在GSM内添加的用于支持GPRS的元件;即支持分组交换数据。SGSN 216和MSC 210在无线网络200内通过保持追踪每一移动设备100的位置,而具有相似的职责。SGSN 216在网络200上也执行安全功能以及数据通信量的接入控制。GGSN 218提供与外部分组交换网络的网络互连,并且通过操作于网络200中的网际协议(IP)骨干网络连接至一个或多个SGSN 216。在正常的运营中,给定的移动网络100必须执行“GPRS附加(GPRS Attach)”以请求IP地址并接入数据业务。由于综合业务数字网络(ISDN)用于对进入的和外发的呼叫进行路由,此需求不出现于电路交换语音信道。目前,所有的具有GPRS能力的网络使用的是专用的、动态分配的IP地址,从而需要连接至GGSN218的DHCP服务器220。有许多动态IP分配的机制,包括使用远程认证拨入用户服务(RADIUS)服务器和DHCP服务器。一旦完成GPRS接入,则建立起从移动设备100、通过PCU 208、以及SGSN 216至GGSN 218内的接入点节点(APN)的逻辑连接。APN表示接入直接因特网兼容业务、或者接入专用网络连接的IP隧道的逻辑端点。APN也表示网络200的安全机制,因而每一移动设备100必须分配至一个或多个APN、并且移动设备100不能在没有首先执行GPRS附加至已被授权使用的APN的情况下交换数据。可认为APN类似于诸如“myconnection.wireless.com”之类的因特网域名。
一旦完成GPRS接入,便产成了隧道,并且所有的通信量在标准IP分组内,使用任何IP分组中可支持的协议进行交换。这包括隧道方法,比如基于IP的IP,如在使用了一些IP安全(IPSec)连接的虚拟专用网络(VPN)的情况下。这些隧道也称为分组数据协议(PDP)上下文,并且在网络200中,这些中仅有限数量可用。为了最大化PDP上下文的使用,网络200将为每一PDP上下文运行一空闲的计时器,以决定是否有缺乏活动性的。当移动设备100未在使用它的PDP上下文时,可解除PDP上下文的分配,并且可将IP地址返回由DHCP服务器220管理的IP地址池。
现在参照图4,示出了说明在一个示例配置中的主机系统的组件的结构框图。主机系统250典型地是公司办公室或其它局域网(LAN),但是,在不同的实施例中,可替换为例如家庭办公室计算机或一些其它专用系统。在图4所示的这个示例中,将主机系统250描述为移动设备100的用户所属的组织的LAN。
LAN 250包括若干通过LAN连接260彼此相连的网络组件。例如,用户的台式计算设备(“台式计算机”)262a,其中具有使用户的移动设备100位于LAN 250上的附加的基座264。移动设备100的基座264可通过例如串口或通用串行总线(USB)的连接,连接至计算机262a。其它用户计算机262b也位于LAN 250上,并且每一个或配备或未配备移动设备的附加基座264。基座264促进了由用户计算机262a到移动设备100的信息(如促进移动设备100与LAN 250之间的安全通信的PIM数据、专用对称加密密钥)的加载,并且对于经常在初始化使用移动设备100中执行的批量信息的更新特别有用。下载至移动设备100的信息可包括用于信息交换的S/MIMIE证书或PDP密钥。从用户的台式计算机262a向用户的移动设备100下载信息的过程也可称为同步。
本领域的技术人员将理解,用户计算机262a、262b也将典型地连接至图4中未明确示出的其它外围设备。而且,图4中所示出的仅是用作说明的LAN 250的网络组件的子集,并且本领域的技术人员将理解,如此示例配置,LAN 250将包括图4中未明确示出的附加组件。更一般地,LAN 250可表示此组织的更大网络(未示出)的小部分,并且可包括不同的组件和/或以不同于图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。
打算供给移动设备100的用户的消息最初由LAN 250的消息服务器268来接收。这样的消息可源自于若干源中的任何一个。例如,由来自LAN 250内的计算机262b的发送者,经过共享网络基础结构224,并通过例如应用服务提供商(ASP)或因特网服务提供商(ISP),将消息从不同的连接于无线网络200或不同的无线网络的移动设备(未示出)、或从不同的计算设备或其它能够发送消息的设备发送出去。
典型地,消息服务器268作为此组织中以及在共享网络基础结构224上的消息交换的主要接口,尤其是电子邮件消息。典型地,此组织中的每一已准备好发送和接收消息的用户都与消息服务器268管理的用户帐户相关。消息服务器268的一个示例是微软交换TM服务器(Microsoft ExchangeTM Server)。在一些实施方式中,LAN 250可以包括多个消息服务器268。消息服务器268也可以适用于提供超越消息管理之外的附加功能,包括例如与日历和任务列表相关的数据的管理。
当消息服务器268接收到消息时,典型地,将它们存储于消息存储器中(未明确示出),从消息存储器中,随后可检索消息并发送给用户。例如,运行于用户计算机262a之上的电子邮件客户端应用程序可请求与存储于消息服务器268的用户帐户相关的电子邮件消息。典型地,这些消息然后将从消息服务器268处检索并且本地存储于计算机262a上。
当运行移动设备100时,用户会希望将检索的电子邮件消息发送给手持设备。运行于移动设备100之上的电子邮件客户端应用程序也可请求与消息服务器268的用户帐户相关的消息。此电子邮件客户可配置为(可能符合一组织的信息技术(IT)策略,或通过用户、或通过管理员),在用户指示下、在某预定时间间隙、或出现某预定事件时作出此请求。在一些实施方式中,移动设备100分配到它自己的电子邮件地址、以及特定寻址到移动设备100的消息在由消息服务器268接收时,自动重定向至移动设备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可接收加密和/或签名的消息、最小加密密钥大小;是否必须加密和/或签名输出的消息;以及是否所有从移动设备100发送的安全消息的拷贝都发送至预定义的拷贝地址。
消息管理服务器272也可适用于提供其它控制功能,如仅将存储于消息服务器268上的消息的特定消息信息或预定部分(如“块”)推送至移动设备100。例如,当最初通过移动设备100从消息服务器268检索消息时,消息管理服务器272适用于仅将消息的第一部分推送至移动设备100,此部分具有预定的大小(如2KB)。然后用户可通过消息管理服务器272,请求此消息中的更多以相同大小的块传递至移动设备100,可能会达到预定义消息大小的最大值。
此外,消息管理服务器272可促进更好地控制传送至移动设备100的数据类型和数据数量,并且有助于将带宽或其它资源的潜在浪费最小化。
本领域的技术人员将理解,消息管理服务器272不需要实现于LAN250或其它网络中的独立的物理服务器上。例如,一些或全部的与消息管理服务器272相关的功能可与消息服务器268、或LAN 250中的一些其它服务器集成在一起。而且,LAN 250可包括多重消息管理服务器272,尤其,在需要支持许多移动设备的不同实施例中。
在此描述的一些实施例中,证书用于处理加密和/或签名了的编码消息,如电子邮件消息。当简单邮件传送协议(SMTP)、RFC 822标题、以及多用途因特网邮件扩展(MIME)实体部分可用于定义典型的不需要编码的电子邮件消息的格式时,MIME协议的一个版本,安全/MIME(S/MIME)可用于编码消息的通信(即,在安全消息传送应用程序中)。S/MIME能从消息发起者发送消息直到被解码并由消息接收者读取的时间内,实现端到端的鉴权和机密性、并提供数据的完整性和私密性。在此描述的其它实施例中,可使用其它标准和协议以促进安全消息通信,比如高度保密协议TM(PGP)以及诸如开放PGP之类的PGP的变体。可理解的是,在对这里的“PGP”所做的一般性的参考中,术语“PGP”意指包含若干不同的基于更多一般性的PGP方案的实施方式中的任何一个。
诸如S/MIME和基于PGP的协议之类的安全消息传送协议依据公共和专用加密密钥,以提供机密性和完整性。使用专用密钥/公共密钥对中的专用密钥进行编码的数据仅能使用此对中相应的公共密钥进行解码,以及使用专用密钥/公共密钥对中的公共密钥进行编码的数据仅能使用此对中相应的专用密钥进行解码。这意味着专用密钥信息决不能成为公共的,而公共密钥信息是共享的。
例如,如果发送者想将消息以加密形式发送至接收者,接收者的公共密钥用于加密消息,此消息随后仅能使用接收者的专有密钥进行解密。可选地,在一些编码技术中,生成一次会话密钥并且将它用于加密消息实体,典型地,使用对称加密技术(如,三重DES)。此会话密钥继而使用接收者的公共密钥(如,以诸如RSA之类的公共密钥算法)进行加密,随后仅能使用接收者的专用密钥将其解密。解密会话密钥然后可用于解密此消息实体。消息报头可用于指定特殊的加密方案,也必须用此方案来解密此消息。其它基于公共密钥密码学的加密技术可用于不同的实施例中。然而,在其中的每一种情况中,都只有接收者的专用密钥可用于促进成功解密消息,这样,可保持消息的机密性。
作为另一示例,发送者可使用数字签名标记消息。数字签名是使用发送者的专用密钥进行编码的消息的摘要(如,散列消息),它能够附着于输出消息。为在接收到消息时验证其数字签名,接收者使用与发送者相同的技术(如,使用相同的标准散列算法)以获得接收消息的摘要。接收者也使用发送者的公共密钥来对数字签名进行解码,以便获取接收消息的匹配摘要。如果接收消息的摘要不匹配,这意味着在传送过程中消息内容改变了,并且/或者此消息不是源于使用验证所使用的公共密钥的发送者。数字签名算法以这样的方式进行设计,即,只有知道发送者的专用密钥的人才能对签名进行编码,这使得接收者可使用发送者的公共密钥进行正确解码。因此,通过以这种方式验证数字签名,可保持发送者的鉴权以及消息的完整性。
编码消息可被加密、签名、或既被加密又被签名。在S/MIME中,用于这些操作中的公共密钥的真实性可通过使用证书而生效。证书是由证书授权组织(CA)发行的数字文献。证书用于鉴别用户与他们的公共密钥之间的关联,本质上,提供对用户公共密钥真实性的信任度。证书包括证书持有者的信息,典型地,具有符合公认标准的格式的证书内容(如,X.509)。典型地,证书由证书授权组织进行数字签名。
在基于PGP的系统中,使用PGP密钥,因为包含了包括公共密钥以及密钥持有者或拥有者的信息,它类似于S/MIME证书。然而,不同于S/MIME证书的是,PGP密钥通常不通过证书授权组织发行,并且典型地,对于PGP密钥真实性的信任度需要验证被信任的个体已保证给定PGP密钥的真实性。
为了此说明书以及在权利要求中,名词“证书”一般用于描述这样的结构,即用于提供对消息进行编码和解码的公共密钥以及可能的密钥持有者的信息,并且可认为包括通常被认为是“PGP密钥”的结构以及其它的相似结构。
典型地,标准电子邮件安全协议促进了非移动计算设备(如,图4的计算机262a、262b;远程台式设备)之间的安全消息传送。为了从发送者处接收的签名消息可从移动设备100读取,并且加密消息可自移动设备100发送,移动设备100适用于存储其它个体中的公共密钥(如,在S/MIME中,PGP密钥)。典型地,例如,存储于用户计算机262a上的密钥通过基座264,从计算机262a下载至移动设备100。
移动设备100也适用于存储与用户相关的公共/专用密钥对中的专用密钥,使得移动设备100的用户可签名移动设备100上编写的输出消息,并且将发送至使用用户公共密钥加密的用户的消息进行解密。例如,可通过基座264,将专用密钥从用户计算机262a下载至移动设备100。优选地,专用密钥在计算机262a与移动设备100之间进行交换,使得用户可共享一个身份和一种接入消息的方法。
用户计算机262a、262b可从若干源中获得S/MIME证书和PGP密钥,以便存储于计算机262a、262b和/或移动设备(如移动设备100)。这些证书源例如,可为专用的(如,在一组织中使用的)或公共的、可位于本地或远程、以及可从组织专用网络中或通过互联网接入。在图4所示的示例中,与此组织相关的多重公共密钥基础结构(PKI)服务器280位于LAN 250上。PKI服务器280包括例如:可用于发行S/MIME证书的CA服务器282、可用于搜索并下载S/MIME证书以及/或者PGP密钥的轻量目录访问协议(LDAP)服务器284(如,针对此组织中的个体)、以及可用于验证S/MIME证书撤消状态的联机证书状态协议(OCSP)服务器286。
例如,证书和/或PGP密钥可由用户计算机262a从LDAP服务器284获取,通过基座264下载至移动设备。然而,在不同实施例中,LDAP服务器284可由移动设备100直接接入(即,在此环境中“无线方式”),并且移动设备100可通过移动数据服务器288,搜索和检索独立的证书和PGP密钥。类似地,移动数据服务器288可适用于允许移动设备100直接询问OCSP服务器286,以验证S/MIME证书的撤消状态。
在不同实施例中,只有已选PKI服务器280可接入移动设备(如,当允许从移动设备100检查证书的撤消状态时,允许证书仅从用户计算机262a、262b处下载)。
在不同实施例中,特定的PKI服务器280仅可接入向特定用户注册过的移动设备,如IT管理员指定的,例如,可能符合一IT策略。
S/MIME证书以及PGP密钥的其它来源(未示出)可包括例如:窗口证书或密钥存储器、在LAN 250之上或之外的另一安全证书或密钥存储器、以及智能卡。
在至少一个实施例中,策略引擎290位于LAN 250中。在此描述的系统和方法的一些实施例中,由PGP公司发展起来的PGP通用服务器来提供策略引擎290。这仅是一个示例。在不同实施例中,策略引擎可在一些不同于PGP通用服务器的其它设备或结构中实现,并且可用于不同于PGP的协议背景中(如,在S/MIME策略引擎中)。例如,可使用委托智能消息传递服务器(EMS)。
在此示例中,基于管理员建立的策略,PGP通用服务器290适用于例如与用户台式计算机(如,262a)和用户移动设备(如通过消息管理服务器272的100)通信,并且可适用于加密消息,并增强了对关于用户发送的消息的安全要求的满足。如图4所示,在LAN 250中设置PGP通用服务器290仅作为示例来提供,也可以是其它的设置和配置。依据PGP通用服务器290的设置以及LAN 250的特殊配置,此配置中,使用的是PGP通用服务器290,对经过安全编码的处理过的消息的控制程度(以及具体地,对用户发送的消息的控制程度)可发生变化。
例如,PGP通用服务器290可适用于直接处理全部输出消息(即,由用户将信息从用户台式计算机、移动设备、或其它计算设备发送至一个或更多所需的接收者),其中,将决定要在哪里加密和/或签名消息(如果需要),符合管理员配置的定义于PGP通用服务器290的策略。例如,如果策略指示使用PGP,对将要由用户发送至特定域或关于一特定主题的消息进行编码或签名,PGP通用服务器290可在传输之前对此消息进行编码和签名。
可选地,用户通过在与PGP通用服务器290通信的用户计算设备上的启用PGP的消息传送应用程序,可将安全策略数据从PGP通用服务器290下载至用户计算设备。然后基于获得的安全策略数据,可在传输之前指示用户或应用程序对消息进行编码和签名。
此外,PGP通用服务器290提供了增强了基于域以及其它机制的集中策略的能力。
PGP通用服务器290也可适用于存储、验证、以及管理PGP密钥,并在需要密钥对信息进行编码(编码和/或标记)时从远程密钥存储器中检索PGP密钥。在用户或应用程序请求时,PGP通用服务器290也可按照所需,向用户提供存储的或检索的PGP密钥。
通过采用比如由这里描述的PGP通用服务器290实现的策略引擎作为示例,大量与处理安全消息相关的负担(如电子邮件),以及具体地,与在逐个案例的基础上决定要安全发送什么消息、以及决定应该应用什么安全编码相关的负担、可被转发至策略引擎。
正如本描述在前面所提到的,在此描述的实施例一般涉及这样的系统及方法,其中,在用户正在编写消息时,并且在接收来自用户的指示发送此消息之前,开始执行特定任务。这会包括例如“预取”数据,这可能是发送用户在编写过程中的消息所需的。
例如,当计算设备上的用户正在编写消息时,可通过检索去往计算设备的安全策略数据,来获得由安全装置定义的安全策略(例如,在PGP通用服务器290或图4中未示出的EMS内实现的)。具体地,例如,用户一开始编写新消息,由策略引擎提供的安全策略数据就可在后台进程中更新。
作为另一示例,一旦用户在消息编写过程中确定特定接收者(如,通过在由消息传送应用程序提供的用户接口的“To:”、“Cc:”、或“Bcc”域中的一个域中确定接收者),潜在的接收者的证书(在一些实施方式中,可为PGP密钥)以及证书状态(如,从OCSP服务器286中获取的用于S/MIME证书的数据中)可在后台进程中检索。一些情况中,证书数据以及/证书状态可从计算设备上的证书存储器中检索(如,移动设备)。一些其它情况中,此证书数据以及/或者证书状态可能需要从远离计算设备的服务器中获取。
由于要求完成发送过程的任务可能已被完成,或者至少将会在接收到来自用户的发送此消息的指示时开始此任务,所以提前开始执行这样的任务通常会增加这样的可能性,即从用户角度,消息将表现为会快速地被发送。通过将这种方法集成于消息传送应用程序,例如电子邮件消息传送应用程序,可提供更加无缝的用户体验,尤其当计算设备是移动设备时。
在此描述的方法的实施例的至少一些步骤由运行于计算设备上的应用程序执行。此应用程序可为电子邮件或其它消息传送应用程序、连接至或与电子邮件或其它消息传送应用程序集成的另一应用程序、或一些其它编好的应用程序,以执行这样的步骤。
计算设备可为台式计算机(例如,它可包括可与移动设备同步的膝上型电脑或其它计算设备)、移动设备、或一些其它计算设备。计算设备可连接至策略引擎(如图4的PGP通用服务器290中所实现的)。
下列描述的实施例中,将参考计算设备用户正在编写的消息。通常,为开始编写消息的过程,典型地,首先请求用户选择合适的由消息传送应用程序提供的图标或菜单项(如,“编写新消息”)。如果用户想基于先前接收的消息来编写消息(如,“转发消息”或“回复消息”),用户首先会需要在选择合适的图标或菜单项之前,选择先前接收的消息。
一旦用户已完成编写此消息,用户然后可指示应用程序“发送”此消息(如,选择“发送消息”按钮或菜单项)。具体地,如下面的方法的一个实施例所描述的,如果要将此消息安全地转发至接收者,在此消息实际发送至经用户识别的接收者之前,应用程序通常将执行对此消息的进一步处理(如,检查可应用安全策略、对此信息加密等)。
首先参照图5A,这是一流程图,说明处理在一示例型实施例中的移动设备的用户正在编写的消息的方法中的步骤,通常如300所示。
在步骤310中,从用户处接收编写消息的请求。
在步骤320中,检测至少一个与计算设备上的用户正在编写的消息相关的预定义触发事件的发生。
在步骤330中,对于每一个已在步骤320检测到的已发生的触发事件,在检测各个触发事件发生之后,在消息正由用户编写时,开始执行至少一个与各个触发事件相关的预定任务。优选地,在检测到此事件发生之后,立即开始此与各个触发事件相关的任务。相应地,可在用户正在编写消息时以及在用户实际指示发送此消息之前,开始此任务。
在步骤330中要开始的每一任务将具有至少一个与之相关地特定的触发事件。如上所述,多个任务可与相同触发事件相关。
而后,在步骤340中,接收到来自用户的发送正编写于计算设备上的消息的指示。例如,用户可通过按下应用程序的用户接口提供的“发送消息”按钮来提供这样的指示,或通过选择对应“发送消息”的菜单项。
可选地,用户可通过指示应用程序取消或放弃此消息(未示出的步骤)来选择不发送此消息。在那样的情况中,将不执行方法300的其它步骤。
在步骤350中,如步骤340中用户所指示的、要发送的消息将进一步被处理,以准备发送此消息(在需要时)。例如,可重新格式化用于发送的消息,或者检查与管理计算设备用户的IT策略的兼容性。
在步骤360中,典型地,消息将发送至由用户确定的消息接收者。然而,作为步骤350中执行的进一步处理的结果,可检测到错误或一些其它条件,并且应用程序可适用于停止或取消步骤360中的消息的发送。
在另一实施例中,要由用户发送的消息将安全发送至其预计的接收者。因此,在此另一实施例中,将在方法300的步骤330中至少开始的一些任务包括:检索安全相关数据的任务,如果用户指示消息要发送,则这是进一步处理用户正在编写的消息所需的。可有若干种不同类型的所需的安全相关数据,并且不同的触发事件将与之相关。参考图5B,作为示例,描述方法300的变体。
参照图5B,这是一流程图,说明处理在一示例型实施例中的计算设备的用户正在编写的消息的方法中的步骤,通常如300b所示。
如在方法300中,方法300b的步骤310,首先接收来自用户的编写消息的请求。
然后,应用程序监视用户对不同触发事件的消息的编写,例如,如步骤320a和320b中所示。可以理解,在不同的实施例中,可监视与其它任务相关的其它触发事件。
例如,在步骤320a中,应用程序检测何时用户开始编写此消息。例如,在选择合适的图标或菜单项时(如,“编写新消息”、“转发消息”、“回复消息”)、在输入要编写的消息的文本的窗口出现时、在将文本实际输入到窗口中时或者当用户将文档附于此消息上时、或者基于如特殊实施方式定义的一些其它动作,可认为用户已经开始编写此消息。
在步骤330a中,开始决定是否需要从策略引擎中检索取更新的安全策略数据(如,指示并/或增强正在由用户发送的消息的特定编码的PGP通用服务器、EMS、或一些其它策略引擎或服务器中所实现的)。这可请求检查任何已经存储在计算设备(如移动设备)上的安全策略数据,并决定是否数据是旧的并请求更新。存在于计算设备上的数据在变旧之前的时间长度可由例如IT策略或其它安全策略或设备配置决定。
步骤330a在步骤320a中检测到用户已开始编写消息时启动,它将是与决定是否需要检索更新的安全策略数据的特定任务相关的触发事件。然而,在不同实施例中,不同的触发事件可与此特定任务相关。
随后,在步骤332a中,如果在步骤330a中决定需要从策略引擎中检索更新的安全数据,则开始从策略引擎检索安全策略数据。
在步骤340中,继续方法步骤的流程。可以理解,步骤330a和/或332a处开始的任务可以在或可以不在步骤340中接收到发送此消息的用户指示时完成。
在不同实施例中,可不执行步骤330a,而且可在步骤320a中检测用户一开始编写此消息(或基于一些其它相关的触发事件的发生)时,在步骤332a中从策略引擎自动检索安全策略数据。这正是以下情况所需要的,例如,在要在每次正在编写新消息时检索最新的安全数据的情况下,而不管何时最后检索安全策略数据至计算设备。
尽管存在最终可能不发送正在编写的消息、更新或获取计算设备上的安全策略数据可能会成为不必要的这样的风险,但是在执行步骤330a和/或332a时要做出折中。如果实际发送了编写的消息,则可提前花费一些(如果不是所有)更新或获取安全策略数据所需的时间(否则可仅耗费在用户指示要发送消息之后),因而使得发送过程从用户角度表现为更加无缝。
同时,在步骤320b,应用程序检测何时用户已识别接收者,即要将正在编写的消息发送到的那个接收者。例如,通过例如在由消息传送应用程序提供的用户接口的“To:”、“Cc:”、或“Bcc”域中的一个域中识别接收者、或基于特定实现方式所定义的一些其它动作,可认为用户已经识别了消息接收者。
在步骤330b中,在检测用户已在步骤320b中编写消息时已经识别消息接收者的基础上,这是为特定任务接收者检索证书数据的特定任务相关的触发事件,开始从证书存储器中检索证书数据。然而,在不同实施例中,其它触发事件也可与此特定任务相关。
例如,证书数据可为S/MIME证书、或PGP密钥。证书数据可位于计算设备、或可位于远离从中必须请求证书数据的计算设备的服务器上(如,图4的LDAP服务器284)。
典型地,在步骤330b中开始的证书数据的检索与发行至个人或实体的证书相关,具体地,与由用户识别的消息接收者相关。如果消息接收者是多个个体接收者的化名(alias)(如,由邮件列表或分配列表地址识别的),那么,可开始步骤330b中的每一个体接收者的证书的检索。
可以理解,例如由于不是所有个体都有发行的证书,所以步骤330b中开始的特定个体的证书数据检索并非总是成功的。
尽管存在最终不发送正在编写的消息、更新或获取计算设备上的安全策略数据会成为不必要的这样的风险,但是在执行步骤330b时要做出折中。如果实际发送了编写的消息,那么可提前花费一些(如果不是所有)检索必需的证书所需的时间(否则可仅耗费在用户指示发送消息上),因而使得发送过程从用户角度表现为更加无缝。
在作为执行步骤330b结果的所检索的证书数据提供于可验证证书状态的证书时,可执行下面描述的步骤332b至336b。
在步骤332b中,应用程序检测何时已检索针对已识别的消息接收者的证书数据至计算设备,如在步骤330b处所开始的。
在步骤334b中,开始决定是否需要为获取的证书检索更新的证书状态数据(如,从图4的OCSP服务器286中)。例如,这可能需要检查何时对作为已执行步骤330b结果的检索证书作撤消状态的最后验证的记录。存在于计算设备上的数据在变旧之前的时间长度可由例如IT策略或其它安全策略或设备配置决定。
随后,在步骤336b中,如果在步骤334b中决定需要检索更新的证书状态数据,则开始检索一个或多个证书的证书状态数据(如,撤消状态)。
在步骤340中,继续方法步骤的流程。可以理解,步骤330b、334b和/或336b开始的任务可以在或可以不在步骤340中接收到发送此消息的用户指示时完成。
在不同实施例中,可不执行步骤334b,而且可在作为执行的步骤330b的结果、检测到已检索到针对消息接收者的证书的基础上、或在检测一些其它触发事件发生之后,开始在步骤336b中自动获取证书状态数据。这正是以下情况所需要的,例如,在要在每次获取要使用的证书时检索最新的证书状态数据的情况下,而不管何时最后验证证书的撤消状态。
尽管存在最终不发送正在编写的消息、因而一个或多个证书的证书状态数据的更新或获取会成为不必要的这样的风险,在执行步骤334b和/或336b时要做出折中。如果实际发送了编写的消息,那么可提前花费一些(如果不是所有)更新或获取证书状态数据所需的时间(否则可仅耗费在用户指示发送消息之后),因而使得发送过程从用户角度表现为更加无缝。
在步骤336b中开始检索的证书状态数据可包括不同于用于验证撤消状态的证书相关数据。例如,检索用于验证信任状态、有效性(如,期满)、或作为所执行的步骤330b的结果的所检索证书的密钥强度的数据也可在此步骤开始执行。
在此示例性实施例中,当用户正在编写消息时“预取”的数据包括安全策略数据、证书数据、以及证书状态数据。在不同实施例中,可开始对此数据、附加数据和/或不同数据的子集的检索,并且特定数据的检索可与一个或多个不同触发事件相关。
可以理解,为开始获取证书数据以及任意地获取多个消息接收者的证书状态数据,可重复并同时执行步骤320b和336b中的附加示例、以及步骤332b到336b的示例,可以对证书状态进行验证,其中,针对用户的同一消息确定多个消息接收者。类似地,可同时在后台过程并行执行步骤320b至336b以及步骤320a至332a的示例。可监视其它触发事件,并且也可在并行后台程序过程同时开始它们的相关任务。
在步骤340中,接收到来自用户的发送正在计算设备上编写的消息的指示。用户可通过例如按下提供于应用程序的用户界面上的“发送消息”按钮、或通过选择对应的“发送消息”的菜单项,来提供这样的指示。可选地,用户可通过指示应用程序取消或丢弃消息(未示出步骤),来选择不发送此消息。在该情况下,将不执行方法300b中的其它步骤。
在步骤350中,如步骤340中用户所指示的要发送的消息将进一步被处理,以准备发送此消息(如果需要)。例如,可重新格式化用于发送的消息,或者检查与IT策略的兼容性。
在此步骤中,可使用在方法300b的先前步骤中检索的数据对此消息进行进一步处理。例如,作为所执行的步骤332a结果的检索的安全策略数据可用于决定在发送之前要用于此消息的特定安全编码。作为所执行的步骤330b结果的获取的证书数据可用于编码要发送的消息,以及作为所执行的步骤336b结果的获取的策略状态数据可用于在允许证书用于对要发送的消息进行编码之前,来验证此证书的状态。
在步骤350的进一步处理消息时可能需要来自用户的附加输入。例如,如果证书状态存在问题或者如果未发现特定接收者的证书,则可提醒用户确认是否仍然发送此消息。如果已检索到与所识别的接收者可能相关的多个证书,那么可要求用户选择合适的证书。如果用户选择特定的消息编码,但是选择的编码不符合检索的安全策略数据,那么可提醒用户确认是否仍要发送此消息。
这些仅是示例,并且在不同实施例中,在对消息的进一步处理中,可在步骤350执行其它任务。
在步骤360中,典型地,消息将发送至由用户识别的消息接收者。然而,作为步骤350执行进一步处理的结果,可检测到错误或一些其它条件,并且在步骤360中,应用程序可适用于停止或取消此消息的发送。
在此描述的方法的步骤可提供为可执行的存储于计算机可读介质的软件指令,它可包括传输型介质。
本发明已对若干实施例进行描述。然而,本领域的技术人员可以理解,在不偏离所附权利要求中定义的本发明范围的情况下,可作出其它变化和修改。

Claims (22)

1、一种用于处理计算设备的用户正在编写的消息的方法,所述方法包括以下步骤:
接收(310)来自用户的请求以编写消息;
检测(320)何时发生了至少一个与用户正在编写的消息相关的触发事件;并且对于每一触发事件,在检测到各个触发事件的发生之后,在用户正在编写所述消息的同时,开始(330)执行至少一个与各个触发事件相关的任务。
2、如权利要求1所述的方法,其中,与至少一个触发事件相关的任务包括:如果用户指示消息要发送,则检索进一步处理用户正在编写的消息所需的数据。
3、如权利要求1或2所述的方法,还包括以下步骤:
接收(340)来自用户的指示以发送正在计算设备上编写的消息;
使用所检索的数据来进一步处理(350)所述消息,并且任意地发送(360)此消息。
4、如权利要求1至3中的任何一个所述的方法,其中,对于至少一个触发事件中的第一事件,开始(330)执行至少一个与各个触发事件相关的任务的步骤包括:开始从策略引擎检索安全策略数据。
5、如权利要求4所述的方法,其中,对于所述第一事件,从策略引擎检索安全策略数据在检测到用户已经开始编写此消息时开始。
6、如权利要求4所述的方法,其中,对于所述第一事件,开始(330)执行至少一个与各个触发事件相关的任务的步骤还包括,开始确定是否需要从策略引擎检索更新的安全策略数据,并且仅在确定需要从策略引擎中检索更新的安全策略数据时,才开始从策略引擎检索安全策略数据。
7、如权利要求6所述的方法,其中,对于所述第一事件,所述确定是否需要从策略引擎检索更新的安全策略数据在检测到用户已开始编写消息时开始。
8、如权利要求1至7中的任何一个所述的方法,其中,对于至少一个触发事件中的第二事件,开始(330)执行至少一个与各个触发事件相关的任务的步骤包括:开始从证书存储器检索证书数据。
9、如权利要求8所述的方法,其中,对于所述第二事件,在检测到用户正在编写所述消息的同时已经识别消息接收者时,针对与消息接收者相关的证书,开始从证书存储器检索证书数据。
10、如权利要求8或9所述的方法,其中,所述证书存储器驻留在远离计算设备的服务器上。
11、如权利要求8至10中的任何一个所述的方法,其中,所述证书数据为S/MIME证书。
12、如权利要求8至10中的任何一个所述的方法,其中,所述证书数据为PGP密钥。
13、如权利要求1至12中的任何一个所述的方法,其中,对于至少一个触发事件中的第三事件,开始(330)执行至少一个与各个触发事件相关的任务的步骤包括:开始检索证书状态数据。
14、如权利要求13所述的方法,其中,对于所述第三事件,在检测到与用户正在编写消息的同时已经识别的消息接收者相关的证书已被检索至计算设备时,开始检索证书状态数据以验证与消息接收者相关的证书的状态。
15、如权利要求13所述的方法,其中,对于所述第三事件,开始(330)执行至少一个与各个触发事件相关的任务的步骤还包括:开始确定是否需要检索更新的证书状态数据,并且仅在确定需要检索更新的证书状态数据时,才开始检索证书状态数据。
16、如权利要求15所述的方法,其中,对于所述第三事件,在检测到与用户正在编写消息的同时已经识别的消息接收者相关的证书已被检索至计算设备时,开始决定是否需要检索更新的证书数据以验证与消息接收者相关的证书状态。
17、一种计算机可读介质,其上存储了多条指令,所述指令用于执行如前述权利要求任一个所述的处理由计算设备的用户正在编写的消息的方法。
18、一种用于处理计算设备的用户正在编写的消息的系统,其中,所述系统包括连接至计算设备的策略引擎,并且在计算设备处执行如权利要求1至16中的任何一个中所述的方法的步骤。
19、如权利要求18所述的系统,其中,所述策略引擎驻留于远离计算设备的设备上。
20、如权利要求18或19所述的系统,其中,所述策略引擎实现于PGP通用服务器(290)中。
21、如权利要求18或19所述的系统,其中,所述策略引擎实现于EMS中。
22、如权利要求18至21中的任何一个所述的系统,其中,所述计算设备为移动设备(100)。
CN2006100927501A 2005-07-29 2006-06-13 用于处理用户正在编写的消息的系统及方法 Active CN1905442B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP05107027.4 2005-07-29
EP05107027A EP1748608B1 (en) 2005-07-29 2005-07-29 Prefetching of security data in a mobile network

Publications (2)

Publication Number Publication Date
CN1905442A true CN1905442A (zh) 2007-01-31
CN1905442B CN1905442B (zh) 2010-09-08

Family

ID=35510505

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006100927501A Active CN1905442B (zh) 2005-07-29 2006-06-13 用于处理用户正在编写的消息的系统及方法

Country Status (6)

Country Link
EP (1) EP1748608B1 (zh)
CN (1) CN1905442B (zh)
AT (1) ATE377891T1 (zh)
CA (1) CA2549616C (zh)
DE (1) DE602005003220T2 (zh)
SG (1) SG129352A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8244820B2 (en) 2005-07-29 2012-08-14 Research In Motion Limited System and method for processing messages being composed by a user

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8886760B2 (en) * 2009-06-30 2014-11-11 Sandisk Technologies Inc. System and method of predictive data acquisition

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1108685C (zh) * 1997-08-06 2003-05-14 塔奇勇公司 预取对象的分布系统和方法
US7283992B2 (en) * 2001-11-30 2007-10-16 Microsoft Corporation Media agent to suggest contextually related media content
EP1661356B1 (en) * 2003-08-12 2008-07-09 Research In Motion Limited System and method of accessing keys for secure messaging
ATE405077T1 (de) * 2003-11-26 2008-08-15 Totemo Ag Verfahren und vorrichtung zur verschlüsselung von elektronischer post

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8244820B2 (en) 2005-07-29 2012-08-14 Research In Motion Limited System and method for processing messages being composed by a user
US8516068B2 (en) 2005-07-29 2013-08-20 Research In Motion Limited System and method for processing messages being composed by a user

Also Published As

Publication number Publication date
CA2549616C (en) 2010-02-23
EP1748608A1 (en) 2007-01-31
DE602005003220T2 (de) 2008-09-04
DE602005003220D1 (de) 2007-12-20
ATE377891T1 (de) 2007-11-15
EP1748608B1 (en) 2007-11-07
SG129352A1 (en) 2007-02-26
CN1905442B (zh) 2010-09-08
CA2549616A1 (en) 2007-01-29

Similar Documents

Publication Publication Date Title
CN1744489A (zh) 在系统中提供证书匹配以及用于搜索和获得证书的方法
CN101027869B (zh) 用于确定应用于输出消息的安全编码的系统和方法
JP4570626B2 (ja) 再生可能なセッションキーを生成するためのシステムおよび方法
CN101453708B (zh) 用于处理发送到移动设备的消息附件的系统和方法
JP4491402B2 (ja) 証明書におけるデジタル署名を確証するためのシステムおよび方法
US8542824B2 (en) System and method for processing messages with encryptable message parts
CN100574180C (zh) 用于将证书与消息地址关联的系统和方法
US7613304B2 (en) System and method for sending encrypted messages to a distribution list
CN1816997A (zh) 询问响应系统和方法
CN1565112A (zh) 用于处理已编码消息的系统和方法
CN1799240A (zh) 证书信息存储系统和方法
CN1674590A (zh) 用于查看消息附件的系统和方法
CN101061662A (zh) 用于保护主加密密钥的系统和方法
CN1764922A (zh) 消息设置选择
CN1868177A (zh) 处理编码消息的系统和方法
CN1653779A (zh) 支持移动通信设备上多个证书状态提供器的系统和方法
CN1717697A (zh) 压缩安全电子邮件用于与移动通信设备交换的系统和方法
CN1608367A (zh) 处理编码消息的多阶段系统和方法
CN1700699A (zh) 提供用于对数据数字签名、认证或加密的签名密钥的方法和移动终端
CN100531029C (zh) 用于搜索和获得证书的系统和方法
TWI313552B (en) System and method for updating message trust status
CN1650595A (zh) 用于提供安全消息签名状态和信任状态指示的系统和方法
EP1701501B1 (en) System and method for sending encrypted messages to a distribution list
CA2549585C (en) Method and apparatus for processing digitally signed messages to determine address mismatches
CN1905442A (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: Voight, Ontario, Canada

Patentee after: BlackBerry Ltd.

Country or region after: Canada

Address before: Voight, 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: Illinois

Patentee after: Ot patent trusteeship Co.,Ltd.

Country or region after: U.S.A.

Address before: Voight, Ontario, Canada

Patentee before: BlackBerry Ltd.

Country or region before: Canada

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240627

Address after: Ai Erlandubailin

Patentee after: Maliki Innovation Co.,Ltd.

Country or region after: Ireland

Address before: Illinois

Patentee before: Ot patent trusteeship Co.,Ltd.

Country or region before: U.S.A.