CN1905449B - 处理数字签名消息以确定地址失配的方法和设备 - Google Patents
处理数字签名消息以确定地址失配的方法和设备 Download PDFInfo
- Publication number
- CN1905449B CN1905449B CN2006101055295A CN200610105529A CN1905449B CN 1905449 B CN1905449 B CN 1905449B CN 2006101055295 A CN2006101055295 A CN 2006101055295A CN 200610105529 A CN200610105529 A CN 200610105529A CN 1905449 B CN1905449 B CN 1905449B
- Authority
- CN
- China
- Prior art keywords
- message
- address
- digital signature
- key
- separator character
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/126—Applying verification of the received information the source of the received data
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)
- Storage Device Security (AREA)
- Debugging And Monitoring (AREA)
- Information Transfer Between Computers (AREA)
Abstract
一种方法和设备,用于处理其中检测到地址失配的数字签名消息。在至少一个方面中,通过针对与出现在消息分隔符之后的已签名数据相对应的数字签名来执行至少一个预定动作,对于正确地并入由消息发送者之外的他人所签名的消息部分的消息,可以使报告给消息用户的地址失配错误的数目最小化,与消息包含谈话线程的情况相同。例如,消息分隔符可以指示消息包含来自旧的转发消息的数据或来自被回复的旧消息的数据。例如,所述至少一个预定动作可以包括:绕过针对这些数字签名的地址匹配的验证;或验证这些数字签名的地址匹配,但是禁止向用户通知任何地址失配错误。
Description
本专利文献公开的一部分包含受版权保护的素材。版权所有人对于任何人复制专利文献或专利公开没有异议,因为它出现在专利商标局专利文件或记录中,但是仍然保留所有的版权。
技术领域
本发明的实施例大体上涉及消息(例如电子邮件消息)的处理,更具体地,涉及计算设备(例如移动设备)的用户所接收的数字签名消息的处理。
背景技术
电子邮件(“e-mail”)消息通常可以使用多种已知协议之一来编码,以利于安全的消息通信。例如,安全多用途因特网邮件扩展(“S/MIME”)协议依靠公共和私有加密密钥要提供机密性和完整性,并且依靠公钥基础设施(PKI)来通信提供认证和授权的信息。使用私钥/公钥对的私钥编码的数据可以仅使用该对的相应公钥来进行解码,并且使用私钥/公钥对的公钥编码的数据可以仅使用该对的相应私钥来进行解码。可以采用其它公知标准和协议以利于安全消息通信,例如Pretty Good PrivacyTM(PGP)以及例如OpenPGP的PGP变体。基于PGP的系统同样使用公开和秘密加密密钥来提供机密性和完整性,尽管按照与S/MIME系统相比所不同的方式来验证在PGP消息的编码中使用的公钥的认证。可以在安全消息通信标准和协议中提供与包含公钥和密钥持有者信息的“证书”(例如,与S/MIME中使用的相同)类似的结构。这种结构的一个示例被公知为基于PGP系统中的“PGP密钥”。
可以对编码消息进行加密、数字签名(签名)或同时加密和数字签名。考虑由计算设备(例如移动设备)处的用户接收的签名消息。典型地,该消息包括使用签名者的私钥所产生的一个数字签名,尽管一些协议可以允许对消息的多个独立部分进行签名。在对消息的多个部分进行签名的情况下,消息可以包括多个数字签名。如果用户拥有能够成功解码由签名者的私钥所产生的给定数字签名的公钥,则用户能够认证该签名者并且验证已签名数据的完整性。在一些情况下,公钥伴随着接收消息。
尽管数字签名的使用提供了保护,然而,仍然存在会损害安全的情况。例如,可以使用个人的私钥来签名消息。用户接收该消息,并且伴随该消息的公钥成功地解码消息中的数字签名。数字签名的成功验证表明这个人对该消息进行签名并且在传送中没有修改该消息。然而,假定用户不知道用于编码数字签名的私钥不属于消息的报头中所识别的消息发送者。在该示例中,导致用户错误地认为由所识别的发送者对该消息进行签名,即使所识别的发送者实际上不是签名该消息的个人。
发明内容
根据本发明的一方面,提供了一种处理在计算设备处接收的签名消息的方法,所述方法包括步骤:接收消息,所述消息包括:报头,至少包括发送者地址;至少一部分已签名数据;与已签名数据的每一部分相对应的数字签名;以及至少一个消息分隔符,所述消息分隔符指示了至少一个旧消息被并入了所接收消息;确定第一消息分隔符是否出现在一部分已签名数据中,其中第一消息分隔符在接收消息中的出现表示出现在第一消息分隔符之前的消息中的数据来源于所接收消息的发送者,而第一消息分隔符之后的数据来源于所述发送者之外的他人;如果第一消息分隔符未出现在一部分已签名数据中,针对消息中出现在第一消息分隔符之后的每一个数字签名,执行至少一个预定动作,以使通知提供给计算设备用户的误导地址失配错误的数目最小化;以及如果第一消息分隔符出现在一部分已签名数据中,验证发送者地址同与密钥相关联的地址是否相匹配,所述密钥用于产生出现在第一消息分隔符之后且与第一消息分隔符出现的那部分已签名数据相 对应的一个数字签名,以及针对消息中出现在第一消息分隔符之后的其它数字签名中的每一个,执行至少一个预定动作,以使通知提供给计算设备用户的误导地址失配错误的数目最小化。
根据本发明的另一方面,提供了一种处理在计算设备处接收的签名消息的设备,包括:接收消息的装置,所述消息包括:报头,至少包括发送者地址;至少一部分已签名数据;与已签名数据的每一部分相对应的数字签名;以及至少一个消息分隔符,所述消息分隔符指示了至少一个旧消息被并入了所接收消息;确定装置,用于确定第一消息分隔符是否出现在一部分已签名数据中,其中第一消息分隔符在接收消息中的出现表示出现在第一消息分隔符之前的消息中的数据来源于所接收消息的发送者,而第一消息分隔符之后的数据来源于所述发送者之外的他人;执行装置,用于如果第一消息分隔符未出现在一部分已签名数据中,则针对消息中出现在第一消息分隔符之后的每一个数字签名,执行至少一个预定动作,以使通知给计算设备用户的误导地址失配错误的数目最小化;以及如果第一消息分隔符出现在一部分已签名数据中,验证装置,用于如果第一消息分隔符出现在一部分已签名数据中,则验证发送者地址同与密钥相关联的地址是否相匹配,所述密钥用于产生出现在第一消息分隔符之后且与第一消息分隔符出现的那部分已签名数据相对应的一个数字签名,以及针对消息中出现在第一消息分隔符之后的其它数字签名中的每一个来执行至少一个预定动作的装置,以使通知给计算设备用户的误导地址失配错误的数目最小化。
附图说明
为了更好地理解此处所述系统和方法的实施例,并且更清楚地显示怎样实现这些系统和方法,作为示例来参考附图,附图中:
图1是一个示例实现中的移动设备的方框图;
图2是图1所示移动设备的通信子系统组件的方框图;
图3是无线网络的节点的方框图;
图4是示出了一个示例配置中的主系统的组件的方框图;
图5是示出了编码消息的示例的组件的方框图;
图6A至6E是消息的示例;
图7A是示出了在一个实施例中处理签名消息的方法的步骤的流程图;
图7B是示出了在另一个实施例中处理签名消息的方法的步骤的流程图;以及
图7C是示出了在另一个实施例中处理签名消息的方法的步骤的流程图。
具体实施方式
如以上示例所示,尽管成功解码了消息中的数据签名,可能导致在计算设备处接收签名消息的用户错误地认为在消息的报头中所识别的发送者对消息进行签名,即使这不是真的。
为了解决这种问题,可以采用适用于验证签名消息的地址匹配的计算设备。具体地,该设备适用于验证与用于产生给定数字签名的密钥相关联的地址(例如电子邮件地址)同与在消息的报头中所识别的发送者相关联的地址相匹配。如果检测到地址失配(即两个地址不匹配),则作为例如告警或向用户显示的错误消息,向用户通知地址失配。因此,通过处理其中检测到地址失配错误的签名消息,当消息(或其一部分)的签名者与消息所识别的发送者不是同一个人时,可以告警用户。
如以上提到的,根据采用的安全消息通信协议,一些消息可以包含同一个私钥产生的多个数字签名。例如,个人可以使用私有PGP密钥来签名同一个消息的多个不同部分。因此,消息可以包含使用该个 人的私有PGP密钥所产生的多个数字签名。当由用户接收到这种消息时,对于每一个数字签名,可以按照上述设备的实施方式来执行与产生各个签名的个人私有PGP密钥相关联的地址同消息的报头中所识别的发送者的地址相匹配的验证。
然而,一些其它消息可以包含多个数字签名,但是与以上示例相反,同一个私钥不能产生这些其它消息。
例如,尽管适用于处理编码消息的一些设备将在发送由用户所编撰的/并入旧消息的新消息之前,从旧消息中去除数字签名,其它设备也可以不按照这种方式去除数字签名。例如,并入旧消息的新消息可以是被送回旧消息的发送者的回复消息、或被发送到其它一些接收者的转发消息。关于这一点,可以理解,大多数已知系统允许用户合并“原始消息”(即旧消息)的文本作为新的回复或转发消息的文本。如果设备不适用于在发送并入旧消息的新消息之前从旧消息去除数字签名,则当消息包含两个或多个个体之间的谈话线程时,该消息可能包含也许使用不同私钥产生的多个数字签名。
当适用于验证地址匹配的计算设备接收到包含一个或多个数字签名的消息时,它也许没有意识到一些数字签名来源于已经签名的旧消息,作为例如一部分转发文本或对已经正确并入消息的回复的文本。实际上,即使在消息中仅存在一个数字签名,如果数字签名来源于旧消息,则数字签名不是由接收消息的发送者产生的。
如果计算设备假定任意接收到的、包含一个或多个数字签名的消息应该由接收消息的发送者产生,并且随后试图针对每一个数字签名,验证与产生各个签名相关联的密钥同接收到消息的报头中所识别的发送者的地址相匹配,可能会检测到至少一个地址失配,并且向用户通知每一个地址失配。然而,在这些情况下,即使第三方攻击者没有恶意地试图假扮发送者,也会检测到地址失配。
即使在消息包含谈话线程或正确地并入发送者没有签名的数据时,地址失配错误的报告也会妨碍计算设备的适用性。
这里所述的实施例总体商涉及一种设备和方法,可以使报告给消息用户的地址失配错误数目最小化,尤其对于正确并入由发送者之外的他人签名的消息部分的消息,如消息包含谈话线程的情况一样。这 可以增强计算设备的适用性,并且当计算设备是移动设备时尤其有利。
在一个较广泛的方面中,提供了一种处理在计算设备处接收的签名消息的方法,该方法包括步骤:接收消息,所述消息包括至少识别消息的发送者地址的报头、至少一部分已签名数据、与已签名数据的每一部分相对应的数字签名以及至少一个消息分隔符;确定第一消息分隔符是否出现在一部分已签名数据中;如果第一消息分隔符未出现在一部分已签名数据中,针对消息中出现在第一消息分隔符之后的每一个数字签名,执行至少一个预定动作;以及如果第一消息分隔符出现在一部分已签名数据中,验证发送者地址同与用于产生出现在第一消息分隔符之后且与第一消息分隔符出现的那部分已签名数据相对应的一个数字签名的密钥相关联的地址相匹配,并针对消息中出现在第一消息分隔符之后的其它每一个数字签名,执行至少一个预定动作。
在另一个较广泛的方面,提供了一种处理在计算设备处接收的签名消息的方法,其中,针对出现在第一消息分隔符之后的数字签名的至少一个预定动作包括:绕过发送者地址同与用于产生数字签名的密钥相关联的地址相匹配的验证。
在另一个较广泛的方面,提供了一种处理在计算设备处接收的签名消息的方法,其中,针对出现在第一消息分隔符之后的数字签名的至少一个预定动作包括:验证发送者地址同与用于产生数字签名的密钥相关联的地址相匹配;以及如果发送者地址同与用于产生数字签名的密钥相关联的地址不匹配,禁止向计算设备的用户通知地址失配。
在另一个较广泛的方面,提供了一种处理在计算设备处接收的签名消息的方法,其中,针对出现在第一消息分隔符之后的数字签名的至少一个预定动作包括:确定同与数字签名相对应的那部分已签名数据相关联的部分专用地址;验证部分专用地址同与用于产生数字签名的密钥相关联的地址相匹配;以及如果部分专用地址同与用于产生数字签名的密钥相关联的地址不匹配,向计算设备的用户通知地址失配。
在另一个较广泛的方面,提供了一种处理在计算设备处接收的签名消息的方法,其中确定部分专用地址的步骤包括:从出现在紧接在数字签名与之相对应的那部分已签名数据之前的消息分隔符和该部分之间的消息的文本中,提取前一发送者的地址。
在另一个较广泛的方面,提供一种处理在计算设备处接收的签名消息的方法,其中确定部分专用地址的步骤包括:从出现在紧接在数字签名与之相对应的那部分已签名数据之前的消息分隔符和该部分之间的消息的文本中,提取前一发送者的名称;以及从地址簿中检索与该名称相关联的前一发送者的地址。
下面更详细地描述各个实施例的这些及其它方面和属性。
这里所述的系统和方法的一些实施例参考移动设备。移动设备是具有与其它计算机系统进行通信的先进数据通信能力的双向通信设备。移动设备还可以包括语音通信能力。根据移动设备所提供的功能,它可以被称为数据消息收发设备、双向寻呼机、具有数据消息收发能力的蜂窝电话、无线因特网设备或数据通信设备(具有或不具有电话能力)。移动设备通过收发站的网络与其它设备进行通信。
为了有助于读者理解移动设备的结构以及它怎样与其它设备进行通信,参考图1至3。
首先参考图1,一个示例实现中的移动设备的方框图通常如100所示。移动设备100包括多个组件,控制组件是微处理器102。微处理器102控制移动设备100的整体操作。通过通信子系统104执行包括数据和语音通信的通信功能。通信子系统104从无线网络200接收消息并向其发送消息。在该移动设备100的示例实现中,根据全球移动通信系统(GSM)和通用分组无线业务(GPRS)标准来配置通信子系统104。GSM/GPRS无线网络在全世界范围内使用,并且预期这些标准将最终由改进数据GSM环境(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,订户可以访问所有的订阅服务。服务可以包括:web浏览和收发例如电子邮件、语音邮件、短消息服务(SMS)以及多媒体消息服务(MMS)的消息。更先进的服务可以包括:销售点(point of sale)、现场服务以及销售业务自动化(sale force automation)。SIM 126包括处理器和用于存储信息的存储器。一旦将SIM 126插入了SIM接口128,它就与微处理器 102相连。为了识别订户,SIM 126包含一些用户参数,例如国际移动订户身份(IMSI)。使用SIM 126的优点在于订户不需要绑定于单个物理移动设备。SIM 126也可以存储移动设备的附加订户信息,包括数据簿(或日历)信息以及近期的呼叫信息。
移动设备100是一种电池供电设备,并且包括电池接口132,用于容纳一个或多个可充电电池130。电池接口132与调节器(未示出)相连,调节器辅助电池130向移动设备100供电V+。尽管当前的技术使用电池,例如微燃料电池之类的未来技术也可以向移动设备100供电。
除了其操作系统功能之外,微处理器102还能够在移动设备100上执行软件应用程序。通常在制造期间将控制基本设备操作的应用程序组(包括数据和语音通信应用程序)安装在移动设备100中。可以加载到移动设备100上的其它应用程序可以是个人信息管理器(PIM)。PIM具有组织和管理订户感兴趣的数据项的功能,这些数据项是例如但不局限于:电子邮件、日历事件、语音邮件、约会和任务项。PIM应用程序具有经由无线网络200发送和接收数据项的能力。可以经由无线网络200将PIM数据项与存储的和/或与主计算机系统相关的移动设备订户的相应数据项无缝地整合、同步和更新。该功能在移动设备100上产生关于该项的镜像主计算机。这在主计算机系统是移动设备订户的办公计算机系统的情况下尤其有利。
还可以通过网络200、辅助I/O子系统112、串行端口114、短距离通信子系统122或其它适当的子系统124,将其它应用程序加载到移动设备100上。这种应用程序安装的灵活性增加了移动设备100的功能性,并且可以提供增强的设备上功能、通信相关功能或两者。例如,安全通信应用程序能够使用移动设备100来执行电子商务功能和其它这种金融交易。
串行端口114使订户能够通过外部设备或软件应用程序来设置优选项,并且除通过无线通信网络之外,通过向移动设备100提供信息或软件下载,扩展移动设备100的能力。可选的下载路径可以被用于例如通过直接并因此可靠且可信的连接将加密密钥加载到移动设备100,以提供安全设备通信。
短距离通信子系统122提供移动设备100和不同系统或设备之间的通信,不需要使用网络200。例如,子系统122可以包括红外设备以及短距离通信的相关电路和组件。短距离通信的示例包括红外数据联合会(IrDA)、蓝牙和由IEEE开发的802.11标准族。
在使用中,由通信子系统104处理例如文本消息、电子邮件消息或网页下载的接收信号并输入到微处理器102。然后,微处理器102处理接收信号,将其输出到显示器110或者可选地输出到辅助I/O子系统11。订户还可以使用键盘116结合显示器110以及可能的辅助I/O子系统112,编撰例如电子邮件消息的数据项。辅助子系统112可以包括例如触摸屏、鼠标、轨迹球、红外指纹检测器或具有动态钮按压能力的滚轮的设备。键盘116是字母数字键盘和/或电话类型小键盘。可以通过通信子系统104在网络200上发送编撰的项。
对于语音通信除了将接收信号输出到扬声器118、以及由麦克风120产生用于发送的信号之外,移动设备100的整体操作实质上是类似的。还可以在移动设备100上实现可选的语音或音频I/O子系统,例如语音消息记录子系统。尽管主要通过扬声器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全功能运行时,通常只有当向网络200发送时才打开发射机152,否则关闭以节约资源。类似地,周期地关闭接收机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相连,并且与例如公共交换电话网络(PSTN)222的陆地网络相连,以满足电路交换的需要。通过PCU 208、SGSN 216以及GGSN 218到公共或专用网络(因特网)224的连接(通常也被称为共享网络基础设施)表示能够具有GPRS能力的移动设备的数据路径。在利用GPRS能力扩展的GSM网络中,BSC 204还包含与SGSN 216相连的分组控制单元(PCU)208,用以控制分割、无线信道分配,并且满足分组交换的需要。为了跟踪移动设备的位置以及能够进行电路交换和分组交换管理,在MSC 210和SGSN 216之间共享HLR 212。由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的用于快速访问的永久移动设备数据的一部分。通过将附加信息从远程的HLR212移动到VLR 214,可以减少这些节点之间的通信量,因此可以向语音和数据服务提供更快速的响应时间,同时需要使用更少的计算资源。
SGSN 216和GGSN 218是用于支持GPRS而添加的单元;即,在GSM中支持分组交换数据。通过跟踪每一个移动设备100的位置,SGSN 216和MSC 210在无线网络200中具有类似的职责。SGSN 216还针对网络200上的数据流量执行安全功能和访问控制。GGSN 218向外部分组交换网络提供因特网网络连接,并且经由在网络200内操作的因特网协议(IP)骨干网络与一个或多个SGSN 216相连。在正常操作期间,给定的移动设备100必须执行“GPRS附加”以获取IP地址并且访问数据服务。这种需要不出现在电路交换语音信道中,因为集成服务数字网络(ISDN)地址被用于路由输入和输出呼叫。当前,具有GPRS能力的所有网络使用专用的、动态分配的IP地址,因此需要DHCP服务器220与GGSN 218相连。存在多种动态IP分配的机制, 包括使用远程验证拨号用户服务(RADIUS)服务器和DHCP服务器的组合。一旦完成了GPRS附加,就建立了从移动设备100、通过PCU208和SGSN 216到GGSN 218内的接入节点(APN)的逻辑连接。APN表示可以直接访问因特网兼容服务或专用网络连接的IP隧道的逻辑端。APN还表示网络200的安全机构,因此必须向每一个移动设备100分配一个或多个APN并且移动设备100在没有首先执行GPRS附加时,不能与已经被授权使用的APN交换数据。APN可以被认为与例如“myconnection.wireless.com”的因特网域名类似。
一旦完成了GPRS附加,就创建了隧道,并且使用IP分组中支持的任意协议在标准IP分组中交换所有通信量。这包括隧道方法,例如虚拟专用网(VPN)所使用的一些IP安全协议(IPsec)连接的情况下的IP over IP。这些隧道还被称为分组数据协议(PDP)语境,并且在网络200中有有限数目的这些隧道可供使用。为了使PDP语境的使用最大化,网络200将针对每一个PDP语境运行空闲定时器,以确定是否没有活动。当移动设备100没有使用其PDP语境时,可以释放PDP语境,并且IP地址返回到由DHCP服务器220管理的IP地址池。
现在参考图4,示出了一个示例配置中的主系统的组件的方框图。主系统250通常是公司办公处所或其它局域网(LAN),但是在变体实现中,也可以是例如家庭办公计算机或一些其它私人系统。在图4所示的该示例中,主系统250被描述为移动设备100的用户所属组织的LAN。
LAN 250包括彼此由LAN连接260相连的多个网络组件。例如,具有用户移动设备100的附随支架(accompanying cradle)264的用户桌面计算设备(“桌面计算机”)262a位于LAN 250上。移动设备100的支架264可以通过例如串连或通用串行总线(USB)连接与计算机262a相连。其它用户计算机262b也位于LAN 250上,并且每一个计算机可以具有或不具有移动设备的附随支架264。支架264利于将信息(例如PIM数据、用以利于移动设备100和LAN 250之间的安全通信的专用对称加密密钥)从用户计算机262a加载到移动设备100,并且对于在初始化移动设备100中经常使用的大量信息更新尤其有用。下载到移动设备100的信息可以包括在消息交换中使用的S/MIME 证书或PGP密钥。将信息从用户桌面计算机262a下载到用户移动设备100的处理也被称为同步。
本领域的技术人员可以理解,典型地,用户计算机262a、262b还与图4中未明确示出的其它外围设备相连。此外,图4中仅示出了LAN 250的网络组件的子集,并且本领域的技术人员可以理解,对于该示例配置,LAN 250包括图4中未明确示出的附加组件。更一般地,LAN 250可以表示该组织的更大网络(未示出)的较小一部分,并且可以包括不同的组件,和/或按照与图4的示例中所示不同的拓扑来布置。
在该示例中,移动设备100通过无线网络200的节点202以及诸如服务提供商网络或公共因特网之类的共享网络基础设施224,与LAN 250进行通信。可以通过一个或多个路由器(未示出)提供对LAN250的访问,并且LAN 250的计算设备可以在防火墙或代理服务器266之后操作。
在变体实现中,LAN 250包括无线VPN路由器(未示出),以利于LAN 250和移动设备100之间的数据交换。无线VPN路由器的概念在无线行业是较新的,并且暗示可以直接通过专用无线网络与移动设备100建立VPN连接。使用无线VPN路由器近年来变得可能,并且当新的第六版因特网协议(IP)(IPv6)进入基于IP的无线网络时可以使用。这种新的协议将提供足够的IP地址,以向每一个移动设备提供IP地址,可以在任何时候将信息推送到移动设备。使用无线VPN路由器的优点在于它可以是不用定制的VPN组件,不需要使用独立的无线网关和独立的无线基础设施。在该变体实现中,优选地,VPN连接是传输控制协议(TCP)/IP或用户数据报协议(UDP)/IP连接,用以将消息直接传递给移动设备100。
首先,由LAN 250的消息服务器268接收到意欲提供给移动设备100的用户的消息。这种消息可以来源于多个源中的任意一个。例如,消息可以经由共享网络基础设施224,并且可能通过例如应用服务提供商(ASP)或因特网服务提供商(ISP),由发送者发送自LAN 250内的计算机262b、来自与无线网络200或与不同无线网络相连的不同移动设备(未示出)、或来自不同的计算设备或能够发送消息的其它设 备。
消息服务器268通常作为在组织内且在共享网络基础设施224上的消息(尤其是电子邮件消息)交换的主接口。组织内被建立用于发送和接收消息的每一个用户通常与消息服务器268所管理的用户账户相关联。消息服务器268的一个示例是Microsoft ExchangeTM服务器。在一些实现中,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和无线网络20将它们推送到移动设备100;以及接收在移动设备100上编撰的(例如使用三迭DES加密的)消息,解密并解压缩编撰的消息,如果需要,重新格式化编撰的消息,使得它们表现为来源于用户计算机262a,并且将编撰的消息改换路由到消息服务器268以便传递。
可以(例如由管理员根据IT策略)定义发送自移动设备100和/或由移动设备100接收的与消息相关联的某些属性或限制,并且由消息管理服务器272实施。这些属性或限制可以包括例如:移动设备100是否可以接收加密和/或签名的消息、最小的加密密钥大小、是否必须对输出的消息加密和/或签名以及是否要将发送自移动设备100的所有安全消息的拷贝发送到预定义拷贝地址。
消息管理服务器272还可以适用于提供其它的控制功能,例如仅将存储在消息服务器268上的消息的特定消息信息或预定部分(例如“块”)推送到移动设备100。例如,当最初由移动设备100从消息服务器268中检索消息时,消息管理服务器272适用于仅将消息的第一部分推送到移动设备100,该部分是预定大小的(例如2KB)。然后,用户可以请求由消息管理服务器272将该消息的更多部分以相同大小的块传递给移动设备100,可能最多到最大的预定消息大小。
因此,消息管理服务器272利于更好地控制通信到移动设备100的数据类型和数据量,并且有助于使带宽或其它资源的可能浪费最小化。
本领域的技术人员可以理解,消息管理服务器272不需要实现在LAN 250或其它网络中的独立物理服务器上。例如,可以使与消息管理服务器272相关联的一些或所有功能与消息服务器268或者LAN250中的其它服务器相结合。此外,LAN 250可以包括多个消息管理服务器272,具体地,在变体实现中,需要支持大量的移动设备。
尽管可以将简单邮件传输协议(SMTP)、RFC822报头以及多用途因特网邮件扩展协议(MIME)主体部分用于定义不需要编码的典 型的电子邮件消息的格式,还可以在编码消息的通信中(即在安全收发消息应用中)使用作为MIME协议的一种版本的安全/MIME(S/MIME)。S/MIME能够实现端到端的认证和秘密性,并且提供数据完整性和从消息的始发者发送消息到由消息接收者解码和阅读消息为止的秘密性。可以采用其它标准和协议以利于安全消息通信,例如Pretty Good PrivacyTM(PGP)和例如OpenPGP的PGP变体。可以理解,尽管此处一般引用“PGP”,该术语意欲包含根据更一般化的PGP方案的多种变体的实现之一。
例如S/MIME和基于PGP协议的安全收发消息协议依靠公共和私有的加密密钥来提供秘密性和完整性。使用私钥/公钥对的私钥加密的数据仅可以使用该对的相应公钥来解码,并且使用私钥/公钥对的公钥加密的数据仅可以使用该对的相应私钥来解码。意欲永不公开私钥信息,但共享公钥信息。
例如,如果发送者希望以加密形式将消息发送到接收者,接收者的公钥被用于加密消息,则该消息仅能够使用接收者的私钥来解码。可选地,在一些编码技术中,产生一次性会话密钥,并且通常利用对称加密技术(例如三迭DES),用于解码消息的主体。然后,使用接收者的公钥(例如利用例如RSA的公钥加密算法)加密会话密钥,则仅能够使用接收者的私钥来解密会话密钥。消息报头可以被用于指定必须用于解密消息的特定加密方案。在变体实现中,可以使用基于公钥密码术的其它加密技术。然而,在这些情况的每一个中,仅可以使用接收者的私钥以利于消息的成功解密,并且按照这种方式,可以保持消息的机密性。
作为另一个示例,发送者可以使用数字签名来签名消息。数字签名是使用发送者的私钥加密的消息的提要(例如消息的哈希散列),然后,可以将数字签名添加到输出的消息上。为了在接收时验证消息的数字签名,接收者使用与发送者相同的技术(例如使用相同的标准哈希算法)来获得接收消息的提要。接收者还使用发送者的公钥来解码数字签名,以便获得接收消息的匹配提要。如果接收消息的提要不匹配,这表示在传输期间改变了消息内容和/或消息不是来源于其公钥被用于验证的发送者。按照一种方式设计数字签名算法,使得仅有知道 发送者私钥的人能够对接收者可以直接使用发送者的公钥来解码的签名进行编码。因此,通过按照这种方式验证数字签名,可以保持发送者的认证和消息的完整性。
可以对编码的消息进行加密、签名或既加密还签名。在S/MIME中,使用证书来证实在这些操作中使用的公钥的可靠性。证书可以是认证授权中心(CA)发出的数字文献。证书被用于认证用户及其公钥之间的关联,并且实质上,提供了用户公钥的可靠性的可信度。证书包含关于证书持有人的信息,证书内容通常具有根据所接受标准(例如X.509)的格式。证书通常由认证授权中心进行数字地签名。
在基于PGP的系统中,使用PGP密钥,PGP密钥与S/MIME证书一样包含包括公钥和关于密钥持有人或拥有者信息的公开信息。然而,与S/MIME证书不同,PGP密钥通常不是由认证授权中心发出的,并且典型地,PGP密钥的可靠性的可信度需要验证可靠个体已经担保给定PGP密钥的可靠性。
标准电子邮件安全协议通常利于非移动计算设备(例如图4的计算机262a、262b;远程桌面设备)之间的安全消息传输。为了可以从移动设备100中读取从发送者接收到的签名消息并且可以从移动设备100发送该加密消息,移动设备100适用于存储其它个体的公钥(例如S/MIME证书中的、PGP密钥)。例如,通常通过支架264将存储在用户计算机262a上的密钥从计算机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。
例如,可以由用户计算机262a从LDAP服务器284中检索证书和/或PGP密钥,以便经由支架264下载到移动设备100。然而,在变体实现中,LDAP服务器284可以由移动设备100直接访问(即,在该语境中的“空中下载”),并且移动设备100可以通过移动数据服务器288搜索并检索个人证书和PGP密钥。类似地,移动数据服务器288可以适用于使移动设备100可以直接查询ODSP服务器286以验证S/MIME证书的撤销状态。
在变体实现中,移动设备仅可以访问选定的PKI服务器280(例如,使得仅仅可以从用户的计算机262a、262b下载证书,而可以从移动设备100检查证书的撤销状态)。
在变体实现中,如IT管理员所规定的,也可以根据IT策略,使特定PKI服务器280仅由注册了特定用户的移动设备访问。
例如S/MIME证书和PGP密钥的其它源(未示出)可以包括:Windows证书或密钥存储器、LAN 250之上或之外的其它的安全证书或密钥存储器以及智能卡。
在最后一个系统实施例中,策略引擎290驻留在LAN 250中。例如,可以作为PGP公司开发的PGP通用服务器来提供策略引擎290。这仅是一个示例。在变体实施例中,可以在除PGP通用服务器之外的其它设备或结构中实现策略引擎,并且可以在除PGP之外的协议的语境中(例如在S/MIME策略引擎中)应用。
关于上述示例,PGP通用服务器290适用于与用户桌面计算机(例如262a)以及用户的移动设备(例如100,经由消息管理服务器272)进行通信,并且还适用于例如根据管理员建立的策略,加密消息以及强制服从关于由用户发送的消息的安全需要。如图4所示的LAN 250中的PGP通用服务器290的布置仅仅作为示例,并且其它的布置和配 置也是可以的。根据PGP通用服务器290的布置以及其中可以采用PGP通用服务器290的LAN 250的特定配置,对经过安全编码的处理消息的控制(具体地,对用户发送的消息的控制)的等级可以改变。
例如,PGP通用服务器290适用于直接处理所有的输出消息(即由用户从用户桌面计算机、移动设备或其它计算设备发送到一个或多个目的接收者的消息),其中,它根据管理员所配置的PGP通用服务器290上定义的策略(如果有的话),决定要加密和/或签名哪些消息。如果策略规定要使用PGP来加密和签名要由用户发送到特定域或属于特定主题的消息,PGP通用服务器290本身可以在发送之前加密和签名消息。
可选地,例如通过与PGP通用服务器290进行通信的用户计算机设备上的其它PGP收发消息应用程序,用户可以将安全策略数据从PGP通用服务器290下载到用户计算设备。然后,可以根据获得的安全策略数据,命令用户或应用程序在发送之前加密且签名消息。
因此,PGP通用服务器290根据域和其它机制,提供了强制集中策略的能力。
PGP通用服务器290还适用于存储、证实以及管理PGP密钥,并且当需要密钥来编码(例如加密和/或签名)消息时,适用于从远程密钥存储器中检索PGP密钥。在由用户或应用程序请求时,PGP通用服务器290还可以按照需要将所存储或检索的PGP密钥提供给用户。
通过采用例如由作为示例所述的PGP通用服务器290所实现的策略引擎,可以将与处理安全消息(例如电子邮件)相关联的多数责任(具体地,是决定要安全地发送哪些消息以及根据情况应该应用哪个安全编码)转移到策略引擎上。
现在参考图5,可以由消息服务器(例如图4的消息服务器268)接收并且转发到用户(例如移动设备100)的编码消息的一个示例的组件的方框图如350所示。编码消息350通常包括一个或多个以下组件:报头352、主体或数据部分354、可选地一个或多个编码附件356、一个或多个加密会话密钥358(如果消息被加密)以及数字签名和签名相关的信息360。
例如,典型地,消息350的报头部分352包括地址信息,例如“到”、 “来自”以及“Cc”消息地址,并且还可以包括例如长度指示符以及加密和签名方案标识符。实际的消息内容通常包括在主体或数据部分354中,并且可能处于可以由发送者使用会话密钥加密的一个或多个附件356中。如果要使用会话密钥,通常针对每一个预期的接收者,使用每一个接收者的各自公钥来加密会话密钥,并且将所述会话密钥包含在消息的358处。
如果对消息进行签名,则包括数字签名和签名相关的信息360。例如,当使用例如S/MIME的协议时,这可以包括发送者的证书。作为另一个示例,如果签名是PGP签名,PGP签名将包括可以被用于识别签名消息的PGP密钥的PGP密钥标识符。典型地,消息不包括PGP密钥。典型地,意欲彼此安全地进行通信的个体可以在通信之前彼此交换PGP密钥。PGP密钥通常还包括与密钥持有人相关联的信息,例如与密钥持有人相关联的地址(例如电子邮件地址)。
签名的消息不必限制于在消息末端添加了单个数字签名360的消息。例如,一些协议允许签名消息主体354中数据的多个独立部分,并且产生的消息可以包括包含在消息中(可能嵌入在消息主体354本身中)的多个数字签名。
仅作为示例提供如图5所示的编码消息的格式,并且本领域的技术人员可以理解,存在其它格式的编码消息。根据采用的特定安全收发消息标准或协议,编码消息的组件可以按照与图5所示不同的顺序出现,并且编码消息可以包括更少的、附加的或者不同的组件,这取决于是否加密、签名或既加密也签名编码消息。例如,在多种公知实现中,会话密钥358被设置在报头352之后而在消息主体354之前。
为了利于更好地理解此处所述实施例的多个特征,仅作为演示,在图6A至6E中提供了多个消息示例。可以理解,消息的一般格式和内容在不同实现中是不同的。
还可以理解,尽管这些示例中所示的多数消息包含已经使用基于PGP的协议签名的数据,此处所述实施例的特征也适用于包含使用其它安全收发消息协议签名的数据的消息。
为了简洁性,没有明确地示出将出现在这些图所示的消息中的实际PGP签名,并且为了方便,在这些示例中每一个签名被标识为“<... 签名出现在此...>”。
参考图6A,如消息400的报头402所示,从John Smith发送到地址janedoe@xyz.com的示例电子邮件消息400包括:开始消息报头404、已签名数据部分406以及与已签名数据部分406相对应并且由开始签名报头409所识别的PGP数字签名408。可以按照公知的方式使用数字签名408来验证已签名数据部分406实际上是由数字签名408中密钥ID所识别的密钥签名的,并且在传送中没有被修改。
此外,在一个系统实施例中,可以通过从密钥/证书存储器中检索与密钥相关联的密钥持有人信息,确定与用于产生数字签名408的密钥相关联的地址。例如,在消息400的janedoe@xyz.com处的接收者可以预先与John Smith交换PGP密钥,并且将John Smith的PGP密钥存储在她计算设备(例如图4的移动设备100)的密钥存储器中。假定消息实际是由John Smith发送的,由数字签名408中密钥ID所识别的密钥与存储在密钥存储器中的John Smith的密钥相匹配。为了更好的安全性,可以执行与密钥相关联的地址与报头402中所识别的John Smith地址相匹配的验证。如果地址不匹配,则可以告警消息400的接收者检测到地址失配,与是否正确地验证数字签名408本身无关。
现在参考图6B,此处所示的示例电子邮件消息410是如消息410的报头412所示,从janedoe@xyz.com处消息400(图6A)的接收者Jane Doe到John Smith的回复。消息400的文本被并入消息410,在消息分隔符414之下,并且可以被认为表示John Smith和Jane Doe之间的谈话线程。
在该示例中,消息分隔符414是“-----Original Message----”形式的原始消息分隔符。一般使用多个消息分隔符,用于从当前消息中的数据中分离所回复的消息数据,包括例如:直线分隔符(即从当前消息中的数据中划分所回复的消息数据的直线或虚线)、写作作者分隔符(即谁写出了所回复的消息的指示,也许是例如消息410中的“JohnSmith Wrote:”或“johnsmith@abc.xomwrote:”)、以及用于该目的的其它预定分隔符。类似地,可以使用转发消息分隔符(例如“----ForwardedMessage----”)、写作作者分隔符以及其它预定分隔符来从当前消息中的数据中分离被转发的消息数据。
在示例消息410中,Jane Doe没有数字地签名她向John Smith的回复的任何部分。然而,消息410包含所回复的旧消息400的文本。通过并入旧消息的文本,消息410现在包含一部分已签名数据406以及相应的数字签名408。适用于检测地址失配的设备可以假定与用于产生数字签名408的密钥相关联的地址应该与消息410的报头412中所识别的发送者Jane Doe的地址相匹配。在这种情况下,因为用于产生数字签名408的密钥属于John Smith,检测到地址失配。然而,会误导向用户通知该地址失配,因为该错误是被正确地并入当前消息410的旧消息400的结果,而不是例如设法假扮Jane Doe的恶意的第三方的结果。
因此,在一个较广泛的方面,如将参考图7A至7C详细讨论的多个实施例所示,可以针对出现在第一消息分隔符之后的消息中的每一个数字签名执行至少一个预定动作,其目的是避免在上述情况下误导用户。例如,在图6B的示例中,John Smith的计算设备将适用于忽略出现在消息分隔符414之后的消息410的文本中的任何数字签名(例如408),因此绕过报头412中的发送者地址同与用于产生数字签名408的密钥相关联的密钥相匹配的验证。作为另一个示例,John Smith的计算设备适用于验证报头412中的发送者地址同与用于产生数字签名408的密钥相关联的地址相匹配,但是禁止向用户通知检测的地址失配。此处将描述变体实施例中的预定动作的其它示例。
现在参考图6C,与图6B所示的回复相对,此处所示的示例电子邮件消息410b是来自Jane Doe的回复的不同示例。
消息410b与消息410类似。同样将消息400的文本并入消息410b,在消息分隔符414之下。然而,在示例消息410b中,Jane Doe使用她自己的PGP密钥数字地对她向John Smith的回复消息的整个内容进行签名。由Jane Doe密钥所签名的数据在图6C中识别为416,并且与已签名数据416相对应的PGP数字签名被示为418。
已签名数据416还从所回复的消息400中并入了一部分已签名数据406和相应的数字签名408。
在出现在消息41ob中的两个数字签名408、418中,在该示例中,John Smith的计算设备检测最后的数字签名418与报头412所识别的 消息410b的发送者(即Jane Doe)之间的地址失配是适当的。然而,对于剩下的数字签名408,可以执行至少一个预定动作,如参考图6B所述一样。
图6D和6E是消息420、420b的其它示例,包含John Smith和JaneDoe之间的更长的谈话线程。示出了如报头422所示由John Smith给Jane Doe的两个可选回复。所回复的消息被并入消息420、420b,在消息分隔符424之后。
在图6D中,对作为John Smith的回复所提供的新文本进行签名,并且已签名数据和相应的数字签名被分为示为426和428。在消息420中,消息分隔符424未出现在已签名数据426中。
在图6E中,对作为回复所提供的新文本以及John Smith正回复的消息进行签名,并且已签名数据和相应的数字签名被分别示为426和428。在消息420b中,消息分隔符424出现在已签名数据426中。
在两个示例中,检测在数字签名428和报头422所识别的消息420的发送者之间是否存在地址失配的适当的。然而,关于出现在消息426中的其它数字签名,可以执行至少一个预定动作。下面所述的至少一个实施例提供这些特征。
如本说明书的以上所述,此处所述的实施例总体上涉及一种设备和方法,可以使报告给消息用户的地址失配错误的数目最小化,尤其是对于正确地并入由发送者之外的他人签名的消息部分的消息,如消息包含谈话线程的情况。这可以增强计算设备的适用性,并且当计算设备是移动设备时是尤其有利的。
首先参考图7A,一个示范实施例中处理签名消息的方法的步骤的流程图通常如500所示。在本说明书的前述部分已经讨论了在变体实施例中可以采用的关于方法500(以及方法500b和500c)的各个步骤以及关于属性的其它细节。
由执行且驻留在计算设备上的应用程序执行方法500(以及方法500b和500c)的至少一些步骤。应用程序可以是电子邮件或其它收发消息的应用程序、与电子邮件或其它收发消息应用程序相结合或整合的其它应用程序(例如提供必须功能的附加组件)或者编程以执行这些步骤的其它应用程序。
计算设备可以是桌面计算机(例如,可以包括膝上计算机或移动设备可以与之同步的某种其它计算设备)、移动设备或某种其它计算设备。计算设备可以与策略引擎(例如如图4的PGP通用服务器290中所实现的)相连。
在步骤510处,由在计算设备上执行的应用程序(例如电子邮件应用程序)在计算设备(例如图4的移动设备100)处接收消息(例如电子邮件消息)。接收的消息包括报头,典型地,报头包括发送者地址(即消息来自何处)、接收者地址、消息被发送或接收的日期和时间、消息的主题以及可能的其它信息,如图5的示例所示。
在步骤510处接收的、要根据方法500处理的消息也包含至少一部分已签名数据和与已签名数据的每一部分相对应的数字签名的消息。已签名数据部分可以包括整个消息主体。
根据至少一个实施例,可以使用PGP密钥来签名已签名数据的所述至少一部分中的每一个。可以由PGP开始消息报头(例如“----BEGINPGP MESSAGE----”或“----BEGIN PGP SIGNED MESSAGE----”)在其开始处、由相同的PGP开始签名报头(例如“----BEGIN PGPSIGNATURE----”)在其末端处限定消息中已签名数据的所述至少一部分的每一个,其中已签名数据被设置在两个报头之间。
还可以作为已经并入在步骤510处接收的消息的旧消息的一部分(例如正回复或已经回复的消息、或者正转发或已经转发的消息)来包含已签名数据部分和相应的数字签名。在一些情况下,还可以再次签名已签名数据和相应的数字签名,并且相应地嵌入在步骤510处接收的消息中的已签名数据的另一部分中(参见图6E)。
在步骤510处接收的、要根据方法500处理的消息还包括至少一个消息分隔符,表示至少一个旧消息被并入了该接收消息中。例如,消息分隔符可以是原始消息分隔符(例如“----Original Message----”)、直线分隔符(例如“----”或水平线或条)、写作作者分隔符(例如“<thesender>wrote:”)、转发消息分隔符(例如“----Forwarded Message----”)或应用程序适用于检测的预定某种其它消息分隔符。因为消息分隔符可以在已知系统中广泛地变化,应用程序适用于检测常见的变体。
在变体实施例中,应用程序还适用于在开始处利用第一开始消息报头所定义的一部分已签名数据内检测随后的开始消息报头,作为消息分隔符。例如,如果第一“----BEGIN PGP MESSAGE----”报头出现,表示跟随着已签名数据,并且在第一报头之后且在“----BEGIN PGP SIGNATURE----”出现之前,出现随后的“----BEGIN PGP MESSAGE----”报头,则可以将随后的报头当作消息分隔符。
在步骤520处,定位在步骤510处接收的消息中的第一消息分隔符。典型地,第一消息分隔符在接收消息中的存在表示出现在第一消息分隔符之前的消息中的数据来源于在步骤510处接收的消息的发送者,而第一消息分隔符之后的数据来源于发送者之外的他人。例如,第一消息分隔符之后的数据可以属于在步骤510处接收的消息的发送者正回复或转发的旧消息。
消息可以包括也可以不包括已签名数据的一个或多个部分和相应的数字签名,两者都出现在第一消息分隔符之前。签名消息的这些部分最可能来源于在步骤510处接收的消息的发送者。可以按照公知的方式验证与出现在第一消息分隔符之前的已签名数据相对应的每一个数字签名(未示出该步骤)。
此外,在一个实施例中,对于与出现在第一消息分隔符之前的已签名数据相对应的每一个数字签名,应用程序适用于:(1)验证在步骤510处接收的消息的报头所识别的发送者地址同与用于产生与出现在第一消息分隔符之前的已签名数据相对应的各个数字签名的密钥相关联的地址相匹配;以及(2)如果发送者地址同与用于产生各个数字签名的密钥相关联的地址不匹配,向计算设备的用户通知地址失配,如步骤530所示。
为了确定与用于产生给定数字签名的密钥相关联的地址,必须在存储到可以提取地址的密钥存储器(例如在计算设备上或来自远程密钥存储器)中时,检索与密钥相关联的密钥持有人信息(未示出该步骤)。一旦确定了与密钥相关联的地址,则应用程序可以验证所确定的地址与发送者地址相匹配。
在变体实施例中,只有当管理计算设备使用的安全策略允许时,才可以执行在步骤530处的通知用户。例如,IT策略设置可以规定当检测到地址失配时在何种情况下应该通知计算设备的用户。
在步骤540处,确定在步骤520处定位的第一消息分隔符是否出现在在步骤510处接收的消息中的已签名数据的一部分中。例如,如果“----Original Message----”分隔符出现在消息中,在“----BEGIN PGPMESSAGE----”或“----BEGIN PGP SIGNED MESSAGE----”报头出现之后,但是在“----BEGIN PGP SIGNATURE----”出现之前,则这表示第一消息分隔符出现在已签名数据的一部分中。
如果确定第一消息分隔符未出现在已签名数据的一部分中,则这通常表示与被并入在步骤510处接收的消息的旧消息相关联的数据未由接收消息的发送者签名。如果确定第一消息分隔符未出现在已签名数据的一部分中,则可以针对消息中出现在第一消息分隔符之后的每一个数字签名,执行至少一个预定动作,这可以使通知给计算设备用户的误导地址失配错误的数目最小化。
例如,在本实施例中,如步骤550所示,针对出现在第一消息分隔符之后的数字签名的至少一个预定动作包括绕过发送者地址同与用于产生该数字签名的密钥相关联的地址相匹配的验证。作为另一种方式,为了检测地址失配,应用程序适用于忽略出现在第一消息分隔符之后的任何数字签名。
可以理解,应用程序可以验证数字签名本身(即解码数字签名以认证相应的已签名数据的签名人并确认消息完整性)(未示出该步骤)。
为了检测地址失配,通过忽略出现在第一消息分隔符之后的数字签名,可以消除用户被通知与旧消息相关的误导地址失配错误的可能性,只要正确地识别消息中的第一消息分隔符。这可以增强计算设备的适用性,并且当计算设备是移动设备时尤其有利。例如,对于用户,在移动设备上管理多个误导地址失配错误通知比较麻烦。
再次参考步骤540,如果确定第一消息分隔符出现在已签名数据的一部分中,则这通常表示与至少一个旧消息相关联的数据被并入了在步骤510处接收的消息并且由接收消息的发送者进行签名。应该存在与其中出现第一消息分隔符的该部分已签名数据相对应的数字签名,但是在第一消息分隔符之后。因此,在步骤560处,应用程序验证在步骤510处接收的消息报头所识别的发送者地址同与用于产生数字签名的密钥相关联的地址相匹配。在步骤570处,如果发送者地址 同与用于产生数字签名的密钥相关联的地址不匹配,向计算设备的用户通知地址失配。
在两个或多个个体之间的谈话中例行地对消息的整个主体进行签名的情况下,通常将与在任意特定情况下接收的当前消息相对应的数字签名附加到消息的末端。因此,在这些情况下,当第一消息分隔符的确出现在已签名数据的一部分中时,与其中出现了第一消息分隔符的那部分已签名数据相对应的数字签名通常是消息中最后的数字签名(参见图5E)。
然而,通常,也可能与其中出现第一消息分隔符的那部分已签名数据相对应的数字签名不是消息中最后的数字签名。必须例如通过确定关于特定部分已签名数据成功地验证了出现在第一消息分隔符之后的哪个数字签名,确定正确的相应数字签名(未明确示出该步骤)。
如上所述,为了确定与用于产生给定数字签名的密钥相关联的地址,必须在存储到从其可以提取地址的密钥存储器(例如在计算设备上或来自远程密钥存储器)中时检索与密钥相关联的密钥持有人信息(未示出该步骤)。一旦确定了与密钥相关联的地址,应用程序则可以验证其与发送者地址相匹配。
在变体实施例中,只有当管理计算设备的使用的安全策略允许时,才可以执行在步骤570处的通知用户。例如,IT策略设置可以规定当检测到地址失配时,在何种情况下应该通知计算设备的用户。
在步骤580处,针对除了在步骤560处验证了地址匹配的数字签名之外出现在第一消息分隔符之后的消息中的每一个数字签名,执行至少一个预定动作,这可以使会通知给计算设备用户的误导地址失配错误的数目最小化。
在该实施例中,针对除了在步骤560处验证了地址匹配的数字签名之外出现在第一消息分隔符之后的每一个数字签名的所述至少一个预定动作包括:绕过发送者地址同与用于产生数字签名的密钥相关联的地址相匹配的验证。作为另一种方式,为了检测地址失配,应用程序适用于忽略除了与其中出现了第一消息分隔符的已签名数据相对应的数字签名之外出现在第一消息分隔符之后的任何数字签名。
关于步骤550,可以理解,应用程序可以验证数字签名本身(即 解码数字签名以认证相应的已签名数据的签名人并确认消息完整性)(未示出该步骤)。
此外,与关于步骤550所述类似,为了检测地址失配,通过忽略出现在第一消息分隔符之后的其它数字签名,可以消除用户被通知与旧消息相关的地址失配错误的可能性,只要正确地识别消息中的第一消息分隔符。这可以增强计算设备的适用性,并且当计算设备是移动设备时尤其有利。例如,对于用户,在移动设备上管理多个误导地址失配错误通知比较麻烦。
参考图7B,另一个示范实施例中处理签名消息的方法的步骤的流程图如500b所示。
方法500b与方法500类似,除了针对出现在第一消息分隔符之后的数字签名所执行的所述至少一个预定动作(即,如果第一消息分隔符未出现在已签名数据的一部分中,则针对出现在第一消息分隔符之后的每一个数字签名,否则针对除了与其中出现了第一消息分隔符的那部分已签名数据相对应的数字签名之外出现在第一消息分隔符之后的每一个数字签名)包括:验证发送者地址同与用于产生数字签名的密钥相关联的地址相匹配,但是当发送者地址同与用于产生数字签名的密钥相关联的地址不匹配时,禁止向计算设备的用户通知地址失配。在步骤550b和580b处示出了该方法。前面已经参考图7A的方法500描述了方法500b的其它步骤。
在变体实施例中,只有当管理计算设备的使用的安全策略允许时,才可以执行在步骤550b和/或580b处的通知用户的禁止。例如,IT策略设置可以规定当检测到地址失配时在何种情况下应该通知计算设备的用户。
与参考图7A所述类似,为了确定与用于产生给定数字签名的密钥相关联的地址,必须在存储到从其可用提取地址的密钥存储器(例如在计算设备上或来自远程密钥存储器)中时检索与密钥相关联的密钥持有人信息(未示出该步骤)。一旦确定了与密钥相关联的地址,应用程序则可以验证它与发送者地址相匹配。
还可以理解,应用程序可以验证数字签名本身(即解码数字签名以认证相应的已签名数据的签名人并确认消息完整性)(未示出该步 骤)。
参考图7C,另一个示范实施例中处理签名消息的方法的步骤的流程图大致如500c所示。
方法500c与方法500类似,除了试图针对出现在第一消息分隔符之后的数字签名提供语境以便可以进行地址匹配的正确验证。这可能向用户提供附加的安全性。例如,假设用户假定并入接收消息的一部分旧消息的发送者已经签名了该部分,如在谈话线程的文本中所示。然而,有可能谈话线程的旧消息中的“From:”行中所示的发送者或发送者地址改变了,使得看起来旧消息是由实际发送者之外的他人发送并签名。
关于方法550c所述的实施例通过确定同与并入在步骤510处接收的消息的旧消息相关联的、每一个特定部分已签名数据相关联的地址,来试图解决这种问题。
更具体地,除了假定与用于产生出现在接收消息中的数字签名的密钥相关联的地址应该与发送者地址相匹配之外,针对消息中每一部分已签名数据,试图确定部分专用地址,以便当检测到地址失配时可以匹配正确的地址。
具体地,在一个实施例中,针对出现在第一消息分隔符之后的数字签名的所述至少一个预定动作(即,如果第一消息分隔符未出现在已签名数据的一部分中,则针对出现在第一消息分隔符之后的每一个数字签名,否则针对除了与其中出现了第一消息分隔符的那部分已签名数据相对应的数字签名之外的、出现在第一消息分隔符之后的每一个数字签名)包括:(1)确定与数字签名对应于的那部分已签名数据相关联的部分专用地址,如步骤550c和580c处所示;(2)验证在步骤550c和580c处确定的部分专用地址同与用于产生数字签名的密钥相关联的地址相匹配,分别如步骤552c和582c处所示;以及(3)如果部分专用地址同与用于产生数字签名的密钥相关联的地址不匹配,向计算设备的用户通知地址失配,分别如步骤554c和584c处所示。前面已经参考图7A的方法500描述了方法500c的其它步骤。
在一个实施例中,确定与对应于数字签名的那部分已签名数据相关联的部分专用地址的步骤(例如步骤550c、580c)包括:在可能的 情况下,从出现在紧接在数字签名与之相对应的那部分已签名数据之前的消息分隔符和那部分已签名数据之间的消息中的文本中,提取前一发送者的地址。通常,目的是首先确定被并入接收消息并且包含那部分已签名数据的旧消息开始之处,这通常由已签名数据之前最靠近的消息分隔符指示出。因此,在至少一些情况下,通常可以从出现在消息分隔符之后的报头中确定旧消息的发送者的部分专用地址,在这种情况下报头被设置在并入的文本中。
例如,考虑图6D的示例。已签名数据416是消息420中已经回复的来自报头412所示的Jane Doe的一部分原始消息。为了执行地址的正确匹配,可以提取出现在已签名数据416之前报头412中(即janedoe@xyz.com)的发送者地址,作为专门与已签名数据416以及相应的数字签名418相关联相对应的部分专用地址。然后,可以执行与相应的数字签名418相关联的地址同出现在报头412中的发送者的部分专用地址相匹配的验证,并且如果检测到地址失配,可以通知用户。类似地,关于数字签名408,可以提取出现在已签名数据406之前报头402中的发送者地址,作为专门与已签名数据406以及相应的数字签名406相关联的部分专用地址。然后可以执行与相应的数字签名408相关联的地址同出现在报头402中的发送者的部分专用地址相匹配的验证,并且如果检测到地址失配,可以通知用户。
按照这种方式,即使当已签名数据和相应的数字签名是已经并入在计算设备处接收的消息的一部分旧消息时,也可以正确地检测地址失配错误。
与参考图7A所述类似,为了确定与用于产生给定数字签名的密钥相关联的地址,必须在存储到从其可以提取地址的密钥存储器(例如在计算设备上或来自远程密钥存储器)中时检索与密钥相关联的密钥持有人信息(未示出该步骤)。一旦确定了与密钥相关联的地址,则应用程序可以验证它与部分专用地址相匹配。
还可以理解,应用程序可以验证数字签名本身(即解码数字签名以认证相应的已签名数据的签名人并确认消息完整性)(未示出该步骤)。
对于一些消息,在接收消息中也许没有明确地示出接收消息的发 送者地址或者已经被并入接收消息的旧消息的先前发送者地址。例如,当应用程序适用于处理消息使得发送者仅由给定消息的报头中的名称(例如容易由用户辨别的名称)识别时,会出现这种情况。
因此,在变体实施例中,确定与签名数字对应于的那部分已签名数据相关联的部分专用地址的步骤(例如步骤550c、580c)包括:(1)从出现在紧接在数字签名与之相对应的那部分已签名数据之前的消息分隔符和那部分已签名数据之间的消息中的文本中,提取前一发送者的名称;以及(2)在提取了名称的情况下,从地址簿中提取与提取的名称相关联的前一发送者地址,作为部分专用地址。通常,目的是首先确定已经被并入接收消息并且包含那部分已签名数据的旧消息开始之处,这通常由已签名数据之前最接近的消息分隔符指示。因此,在至少一些情况下,通常可以从出现在消息分隔符之后的报头中确定旧消息的发送者名称,在这种情况下报头被设置在并入的文本中。根据名称,可以试图从例如用户地址簿中的数据中确定与该名称相关联的部分专用地址。
例如,考虑图6E的示例。已签名数据416是消息420中已经回复的、来自报头412所示的Jane Doe的一部分原始消息。为了执行地址的正确匹配,可以提取出现在已签名数据416之前报头412中的发送者名称(即Jane Doe)。然后,可以从用户地址簿中检索Jane Doe的地址,作为专门与已签名数据416和相应的数字签名418相关联的部分专用地址。然后,可以执行与相应的数字签名418相关联的地址同与出现在报头412中的名称相关联的发送者的部分专用地址相匹配的验证,并且如果检测到地址失配,可以通知用户。
认为地址簿包括其中提供名称和相关地址的任何目录、列表或其它数据结构。地址簿的数据可以驻留在计算设备上,或者处于例如远程计算设备上的存储中。
在该变体实施例中,仅在未在相应的报头中明确地提供前一发送者地址的情况下,可以从地址簿中检索前一发送者的地址。如果明确地提供了地址,提取的地址可以被用于如上所述地执行地址验证。
与参考图7A所述类似,为了确定与用于产生给定数字签名的密钥相关联的地址,必须在存储到从其可以提取地址的密钥存储器(例 如在计算设备上或来自远程密钥存储器)中时检索与密钥相关联的密钥持有人信息(未示出该步骤)。一旦确定了与密钥相关联的地址,则应用程序可以验证它与部分专用地址相匹配。
还可以理解,应用程序可以验证数字签名本身(即解码数字签名以认证相应的已签名数据的签名人并确认消息完整性)(未示出该步骤)。
参考图7A至7C所述的方法的实施例仅作为示例,并且在变体实施例中可以使用其它技术,以使可能由适用于检测地址失配错误的计算设备所产生的误导或不正确的地址失配错误的数目最小化。具体地,可以应用其它的探索,以有助于确定对于特定消息结构、何时通知用户地址失配错误可能是不适当的。
此外,在变体实施例中,在执行发送者地址或部分专用地址同与用于产生特定数字签名的密钥相关联的地址相匹配的验证的情况下,对于出现在第一消息分隔符之前或之后的数字签名,在检测到地址失配的情况下,计算设备还适用于禁止向用户显示消息本身或消息的一个或多个部分。只有当管理计算设备的使用的安全策略允许时,才可以执行禁止显示至少一部分消息。例如,IT策略设置可以规定当检测到地址失配时在何种情况下应该显示消息(或其一部分)。当禁止了至少一部分消息的显示时,通常向用户通知禁止消息显示的原因是检测到地址失配错误。
还可以理解,在给定实现中可以采用此处所述各个实施例的特征的组合。例如,可以针对消息中特定已签名数据部分做出确定部分专用地址的尝试,以便执行地址匹配验证,而仅仅绕过且忽略消息中其它数据部分。针对并入接收消息的特定旧消息是否执行地址匹配的验证可以取决于例如在给定谈话线程中特定旧消息有多旧。例如,可以由管理计算设备的使用的安全策略规定(例如,如IT策略设置中所指示的)应该应用于已签名数据的给定部分和并入接收消息中的旧消息的相应数字签名的技术。
可以作为存储在包括传输型(transmission-type)介质的计算机可读介质上的可执行软件指令来提供此处所述的方法的步骤。
可以参考多个实施例描述了本发明。然而,本领域的技术人员可 以理解,在不脱离所附权利要求所限定的本发明范围下,可以做出其它的变化和修改。
Claims (24)
1.一种处理在计算设备处接收的签名消息的方法,所述方法包括步骤:
接收消息,所述消息包括:
报头,至少包括发送者地址;
至少一部分已签名数据;
与已签名数据的每一部分相对应的数字签名;以及
至少一个消息分隔符,所述消息分隔符指示了至少一个旧消息被并入了所接收消息;
确定第一消息分隔符是否出现在一部分已签名数据中,其中第一消息分隔符在接收消息中的出现表示出现在第一消息分隔符之前的消息中的数据来源于所接收消息的发送者,而第一消息分隔符之后的数据来源于所述发送者之外的他人;
如果第一消息分隔符未出现在一部分已签名数据中,
针对消息中出现在第一消息分隔符之后的每一个数字签名,执行至少一个预定动作,以使通知给计算设备用户的误导地址失配错误的数目最小化;以及
如果第一消息分隔符出现在一部分已签名数据中,
验证发送者地址同与密钥相关联的地址是否相匹配,所述密钥用于产生出现在第一消息分隔符之后且与第一消息分隔符出现的那部分已签名数据相对应的一个数字签名,以及
针对消息中出现在第一消息分隔符之后的其它数字签名中的每一个,执行至少一个预定动作,以使通知给计算设备用户的误导地址失配错误的数目最小化。
2.根据权利要求1所述的方法,还包括步骤:如果第一消息分隔符出现在一部分已签名数据中,当发送者地址同与密钥相关联的地址不匹配时,向计算设备的用户通知地址失配,所述密钥用于产生出现在第一消息分隔符之后且与第一消息分隔符出现的那部分已签名数据相对应的一个数字签名。
3.根据权利要求2所述的方法,其中,只有当管理计算设备的使用的安全策略允许时,才执行通知步骤。
4.根据权利要求1至3之一所述的方法,其中,针对出现在第一消息分隔符之后的数字签名执行的至少一个预定动作包括:绕过(550,580)发送者地址同与用于产生所述数字签名的密钥相关联的地址是否相匹配的验证。
5.根据权利要求1至3之一所述的方法,其中,针对出现在第一消息分隔符之后的数字签名执行的至少一个预定动作包括:
验证发送者地址同与用于产生所述数字签名的密钥相关联的地址是否相匹配;以及
如果发送者地址同与用于产生所述数字签名的密钥相关联的地址不匹配,禁止向计算设备的用户通知地址失配。
6.根据权利要求5所述的方法,其中,只有当管理计算设备的使用的安全策略允许时,才禁止向用户通知地址失配。
7.根据权利要求1至3之一所述的方法,其中,针对出现在第一消息分隔符之后的数字签名执行的至少一个预定动作包括:
验证发送者地址同与用于产生所述数字签名的密钥相关联的地址是否相匹配;以及
如果发送者地址同与用于产生所述数字签名的密钥相关联的地址不匹配,禁止向计算设备的用户显示至少一部分消息。
8.根据权利要求7所述的方法,其中,只有当管理计算设备的使用的安全策略允许时,才禁止向计算设备的用户显示至少一部分消息。
9.根据权利要求1至3之一所述的方法,其中,针对出现在第一消息分隔符之后的数字签名执行的至少一个预定动作包括:
确定同与所述数字签名相对应的那部分已签名数据相关联的部分专用地址;
验证部分专用地址同与用于产生所述数字签名的密钥相关联的地址是否相匹配;以及
如果部分专用地址同与用于产生所述数字签名的密钥相关联的地址不匹配,向计算设备的用户通知地址失配。
10.根据权利要求9所述的方法,其中,只有当管理计算设备的使用的安全策略允许时,才通知地址失配。
11.根据权利要求9所述的方法,其中,针对出现在第一消息分隔符之后的数字签名执行的至少一个预定动作还包括:如果部分专用地址同与用于产生所述数字签名的密钥相关联的地址不匹配,禁止向计算设备的用户显示至少一部分消息。
12.根据权利要求11所述的方法,其中,只有当管理计算设备的使用的安全策略允许时,才禁止向用户显示至少一部分消息。
13.根据权利要求9所述的方法,其中,确定部分专用地址的步骤包括:从出现在紧接在数字签名与之相对应的那部分已签名数据之前的消息分隔符和所述那部分已签名数据之间的消息的文本中,提取所接收消息的发送者的前一发送者的地址。
14.根据权利要求9所述的方法,其中,确定部分专用地址的步骤包括:
从出现在紧接在数字签名与之相对应的那部分已签名数据之前的消息分隔符和所述那部分已签名数据之间的消息的文本中,提取所接收消息的发送者的前一发送者的名称;以及
从地址簿中检索与名称相关联的所述前一发送者的地址。
15.根据权利要求1至3之一所述的方法,还包括步骤:针对出现在第一消息分隔符之前的消息中的每一个数字签名,
验证发送者地址同与用于产生所述数字签名的密钥相关联的地址是否相匹配;以及
如果发送者地址同与用于产生所述数字签名的密钥相关联的地址不匹配,向计算设备的用户通知地址失配。
16.根据权利要求15所述的方法,其中,只有当管理计算设备的使用的安全策略允许时,才执行通知步骤。
17.根据权利要求1至3之一所述的方法,针对出现在第一消息分隔符之前的消息中的每一个数字签名,还包括步骤:
验证发送者地址同与用于产生所述数字签名的密钥相关联的地址是否相匹配;以及
如果发送者地址同与用于产生所述数字签名的密钥相关联的地址不匹配,禁止向计算设备的用户显示至少一部分消息。
18.根据权利要求17所述的方法,其中,只有当管理计算设备的使用的安全策略允许时,才禁止向用户显示至少一部分消息。
19.根据权利要求1-3之一所述的方法,还包括步骤:通过从密钥存储器中检索与用于产生数字签名的密钥相关联的密钥持有人信息,来确定与所述密钥相关联的地址。
20.根据权利要求1-3之一所述的方法,其中,至少一个消息分隔符包括从以下组中选出的一个或多个消息分隔符:直线分隔符、原始消息分隔符、转发消息分隔符、写作作者分隔符、部分地由第一开始消息报头所限定的一部分已签名数据中的随后开始消息报头以及预定分隔符。
21.根据权利要求1至3之一所述的方法,其中,使用PGP密钥对所述至少一部分已签名数据的每一个进行签名,并且由PGP开始消息报头和消息中相应的PGP开始签名报头限定所述至少一部分已签名数据的每一个。
22.根据权利要求1至3之一所述的方法,其中,使用S/MIME对所述至少一部分已签名数据的每一个进行签名。
23.根据权利要求1-3之一所述的方法,其中,计算设备是移动设备。
24.一种处理在计算设备处接收的签名消息的设备,包括:
接收消息的装置,所述消息包括:
报头,至少包括发送者地址;
至少一部分已签名数据;
与已签名数据的每一部分相对应的数字签名;以及
至少一个消息分隔符,所述消息分隔符指示了至少一个旧消息被并入了所接收消息;
确定装置,用于确定第一消息分隔符是否出现在一部分已签名数据中,其中第一消息分隔符在接收消息中的出现表示出现在第一消息分隔符之前的消息中的数据来源于所接收消息的发送者,而第一消息分隔符之后的数据来源于所述发送者之外的他人;
执行装置,用于如果第一消息分隔符未出现在一部分已签名数据中,则针对消息中出现在第一消息分隔符之后的每一个数字签名,执行至少一个预定动作,以使通知给计算设备用户的误导地址失配错误的数目最小化;以及
如果第一消息分隔符出现在一部分已签名数据中,
验证装置,用于验证发送者地址同与密钥相关联的地址是否相匹配,所述密钥用于产生出现在第一消息分隔符之后且与第一消息分隔符出现的那部分已签名数据相对应的一个数字签名,以及
针对消息中出现在第一消息分隔符之后的其它数字签名中的每一个来执行至少一个预定动作的装置,以使通知给计算设备用户的误导地址失配错误的数目最小化。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP05107025A EP1748614B1 (en) | 2005-07-29 | 2005-07-29 | Method and apparatus for processing digitally signed messages to determine address mismatches |
EP05107025.8 | 2005-07-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1905449A CN1905449A (zh) | 2007-01-31 |
CN1905449B true CN1905449B (zh) | 2011-04-06 |
Family
ID=35079179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006101055295A Active CN1905449B (zh) | 2005-07-29 | 2006-07-14 | 处理数字签名消息以确定地址失配的方法和设备 |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP1748614B1 (zh) |
CN (1) | CN1905449B (zh) |
AT (1) | ATE377900T1 (zh) |
CA (1) | CA2549585C (zh) |
DE (1) | DE602005003221T2 (zh) |
SG (1) | SG129350A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7653696B2 (en) | 2005-07-29 | 2010-01-26 | Research In Motion Limited | Method and apparatus for processing digitally signed messages to determine address mismatches |
CN101340653B (zh) * | 2008-08-07 | 2011-09-14 | 四川长城天讯数码技术有限公司 | 用于便携终端下载数据的版权保护方法及系统 |
CA2753779C (en) * | 2010-11-29 | 2014-12-30 | Research In Motion Limited | System and method of signing a message |
LU102626B1 (de) * | 2021-03-01 | 2022-09-01 | Wenzl Ehm Alexander | Verfahren zur Übertragung von verschlüsselten Nachrichten |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1636365A (zh) * | 2002-02-22 | 2005-07-06 | Rpost国际公司 | 验证电子消息的传递和内容的系统及方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7127741B2 (en) * | 1998-11-03 | 2006-10-24 | Tumbleweed Communications Corp. | Method and system for e-mail message transmission |
US20030050981A1 (en) * | 2001-09-13 | 2003-03-13 | International Business Machines Corporation | Method, apparatus, and program to forward and verify multiple digital signatures in electronic mail |
US20040092310A1 (en) * | 2002-11-07 | 2004-05-13 | Igt | Identifying message senders |
US6986049B2 (en) * | 2003-08-26 | 2006-01-10 | Yahoo! Inc. | Method and system for authenticating a message sender using domain keys |
-
2005
- 2005-07-29 DE DE602005003221T patent/DE602005003221T2/de active Active
- 2005-07-29 AT AT05107025T patent/ATE377900T1/de not_active IP Right Cessation
- 2005-07-29 EP EP05107025A patent/EP1748614B1/en active Active
-
2006
- 2006-05-18 SG SG200603349A patent/SG129350A1/en unknown
- 2006-06-05 CA CA2549585A patent/CA2549585C/en active Active
- 2006-07-14 CN CN2006101055295A patent/CN1905449B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1636365A (zh) * | 2002-02-22 | 2005-07-06 | Rpost国际公司 | 验证电子消息的传递和内容的系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
ATE377900T1 (de) | 2007-11-15 |
SG129350A1 (en) | 2007-02-26 |
DE602005003221D1 (de) | 2007-12-20 |
EP1748614B1 (en) | 2007-11-07 |
CA2549585A1 (en) | 2007-01-29 |
CA2549585C (en) | 2011-05-03 |
EP1748614A1 (en) | 2007-01-31 |
CN1905449A (zh) | 2007-01-31 |
DE602005003221T2 (de) | 2008-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1816997B (zh) | 询问响应系统和方法 | |
CN100536395C (zh) | 用于验证证书上的数字签名的系统和方法 | |
CN100566236C (zh) | 在系统中提供证书匹配以及用于搜索和获得证书的方法 | |
CN101027869B (zh) | 用于确定应用于输出消息的安全编码的系统和方法 | |
US8090786B2 (en) | Method and apparatus for processing digitally signed messages to determine address mismatches | |
CN1729476B (zh) | 消息设置选择 | |
CN101061662B (zh) | 用于保护主加密密钥的系统和方法 | |
JP4570626B2 (ja) | 再生可能なセッションキーを生成するためのシステムおよび方法 | |
CN100574180C (zh) | 用于将证书与消息地址关联的系统和方法 | |
CN1674590B (zh) | 用于查看消息附件的系统和方法 | |
EP1397932A1 (en) | Authentication in data communication | |
CN1856957B (zh) | 用于保证无线数据安全的系统和方法 | |
US8429413B2 (en) | Systems and methods for server aided processing of a signed receipt | |
CN100531029C (zh) | 用于搜索和获得证书的系统和方法 | |
CN1905449B (zh) | 处理数字签名消息以确定地址失配的方法和设备 | |
US20050086481A1 (en) | Naming of 802.11 group keys to allow support of multiple broadcast and multicast domains | |
US20070124586A1 (en) | Dedicated communication system and dedicated communicating method | |
CN101098234B (zh) | 发送安全消息的方法和系统 | |
WO2018107398A1 (zh) | 验证消息合法性的方法和服务器 | |
CN1905442B (zh) | 用于处理用户正在编写的消息的系统及方法 | |
CN101420664B (zh) | 用于控制移动设备上的消息附件处理功能的系统和方法 | |
WO2012052818A1 (en) | Method and system for secure communication | |
CA2649100C (en) | Systems and methods for server aided processing of a signed receipt | |
CN101088246A (zh) | 用于传送消息的系统、终端、方法、和软件 | |
Kim et al. | Weaknesses of a dynamic ID-based remote user authentication scheme with session key agreement for multi-server environment |
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 |