CN1905449B - Method and apparatus for processing digitally signed messages to determine address mismatches - Google Patents
Method and apparatus for processing digitally signed messages to determine address mismatches 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
- sender
- 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.)
- Expired - Fee Related
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)
- Information Transfer Between Computers (AREA)
- Debugging And Monitoring (AREA)
Abstract
一种方法和设备,用于处理其中检测到地址失配的数字签名消息。在至少一个方面中,通过针对与出现在消息分隔符之后的已签名数据相对应的数字签名来执行至少一个预定动作,对于正确地并入由消息发送者之外的他人所签名的消息部分的消息,可以使报告给消息用户的地址失配错误的数目最小化,与消息包含谈话线程的情况相同。例如,消息分隔符可以指示消息包含来自旧的转发消息的数据或来自被回复的旧消息的数据。例如,所述至少一个预定动作可以包括:绕过针对这些数字签名的地址匹配的验证;或验证这些数字签名的地址匹配,但是禁止向用户通知任何地址失配错误。
A method and apparatus for processing digitally signed messages in which an address mismatch is detected. In at least one aspect, by performing at least one predetermined action on the digital signature corresponding to the signed data that appears after the message delimiter, correct incorporation of a message portion signed by someone other than the sender of the message message to minimize the number of address mismatch errors reported to the message user, as is the case if the message contains chat threads. For example, a message delimiter may indicate that the message contains data from an old forwarded message or data from an old message that was replied to. For example, the at least one predetermined action may include: bypassing verification that the digitally signed addresses match; or verifying that the digitally signed addresses match, but refraining from notifying the user of any address mismatch errors.
Description
本专利文献公开的一部分包含受版权保护的素材。版权所有人对于任何人复制专利文献或专利公开没有异议,因为它出现在专利商标局专利文件或记录中,但是仍然保留所有的版权。 Portions of the disclosure of this patent document contain material that is subject to copyright protection. The copyright owner has no objection to anyone's reproduction of the patent document or the patent disclosure as it appears in the Patent and Trademark Office patent file or records, but all copyright rights are reserved. the
技术领域technical field
本发明的实施例大体上涉及消息(例如电子邮件消息)的处理,更具体地,涉及计算设备(例如移动设备)的用户所接收的数字签名消息的处理。 Embodiments of the invention relate generally to the processing of messages, such as email messages, and more particularly, to the processing of digitally signed messages received by users of computing devices, such as mobile devices. the
背景技术Background technique
电子邮件(“e-mail”)消息通常可以使用多种已知协议之一来编码,以利于安全的消息通信。例如,安全多用途因特网邮件扩展(“S/MIME”)协议依靠公共和私有加密密钥要提供机密性和完整性,并且依靠公钥基础设施(PKI)来通信提供认证和授权的信息。使用私钥/公钥对的私钥编码的数据可以仅使用该对的相应公钥来进行解码,并且使用私钥/公钥对的公钥编码的数据可以仅使用该对的相应私钥来进行解码。可以采用其它公知标准和协议以利于安全消息通信,例如Pretty Good PrivacyTM(PGP)以及例如OpenPGP的PGP变体。基于PGP的系统同样使用公开和秘密加密密钥来提供机密性和完整性,尽管按照与S/MIME系统相比所不同的方式来验证在PGP消息的编码中使用的公钥的认证。可以在安全消息通信标准和协议中提供与包含公钥和密钥持有者信息的“证书”(例如,与S/MIME中使用的相同)类似的结构。这种结构的一个示例被公知为基于PGP系统中的“PGP密钥”。 Electronic mail ("e-mail") messages may typically be encoded using one of several known protocols to facilitate secure message communication. For example, the Secure Multipurpose Internet Mail Extensions ("S/MIME") protocol relies on public and private encryption keys to provide confidentiality and integrity, and relies on a public key infrastructure (PKI) to communicate information providing authentication and authorization. Data encoded using the private key of a private/public key pair can be decoded using only the pair's corresponding public key, and data encoded using the public key of a private/public key pair can be decoded using only the pair's corresponding private key to decode. Other well-known standards and protocols may be employed to facilitate secure messaging, such as Pretty Good Privacy ™ (PGP) and PGP variants such as OpenPGP. PGP-based systems also use public and secret encryption keys to provide confidentiality and integrity, although in a different manner than S/MIME systems verify the authentication of the public keys used in the encoding of PGP messages. A structure similar to a "certificate" (eg, the same as used in S/MIME) containing a public key and key holder information may be provided in secure messaging standards and protocols. One example of such a structure is known as a "PGP key" based in the PGP system.
可以对编码消息进行加密、数字签名(签名)或同时加密和数字签名。考虑由计算设备(例如移动设备)处的用户接收的签名消息。典型地,该消息包括使用签名者的私钥所产生的一个数字签名,尽管一些协议可以允许对消息的多个独立部分进行签名。在对消息的多个部分进行签名的情况下,消息可以包括多个数字签名。如果用户拥有能够成功解码由签名者的私钥所产生的给定数字签名的公钥,则用户能够认证该签名者并且验证已签名数据的完整性。在一些情况下,公钥伴随着接收消息。 Encoded messages can be encrypted, digitally signed (signed), or both encrypted and digitally signed. Consider a signed message received by a user at a computing device (eg, a mobile device). Typically, the message includes a digital signature generated using the signer's private key, although some protocols may allow separate parts of the message to be signed. Where multiple parts of a message are signed, the message may include multiple digital signatures. If a user possesses a public key capable of successfully decoding a given digital signature produced by the signer's private key, the user can authenticate the signer and verify the integrity of the signed data. In some cases, the public key accompanies the received message. the
尽管数字签名的使用提供了保护,然而,仍然存在会损害安全的情况。例如,可以使用个人的私钥来签名消息。用户接收该消息,并且伴随该消息的公钥成功地解码消息中的数字签名。数字签名的成功验证表明这个人对该消息进行签名并且在传送中没有修改该消息。然而,假定用户不知道用于编码数字签名的私钥不属于消息的报头中所识别的消息发送者。在该示例中,导致用户错误地认为由所识别的发送者对该消息进行签名,即使所识别的发送者实际上不是签名该消息的个人。 Although the use of digital signatures provides protection, however, there are still situations where security can be compromised. For example, an individual's private key can be used to sign a message. The user receives the message, and the public key accompanying the message successfully decodes the digital signature in the message. Successful verification of a digital signature indicates that the person signed the message and did not modify the message in transit. However, it is assumed that the user does not know that the private key used to encode the digital signature does not belong to the sender of the message identified in the header of the message. In this example, the user is led to mistakenly believe that the message was signed by the identified sender, even though the identified sender is not actually the individual who signed the message. the
发明内容Contents of the invention
根据本发明的一方面,提供了一种处理在计算设备处接收的签名消息的方法,所述方法包括步骤:接收消息,所述消息包括:报头,至少包括发送者地址;至少一部分已签名数据;与已签名数据的每一部分相对应的数字签名;以及至少一个消息分隔符,所述消息分隔符指示了至少一个旧消息被并入了所接收消息;确定第一消息分隔符是否出现在一部分已签名数据中,其中第一消息分隔符在接收消息中的出现表示出现在第一消息分隔符之前的消息中的数据来源于所接收消息的发送者,而第一消息分隔符之后的数据来源于所述发送者之外的他人;如果第一消息分隔符未出现在一部分已签名数据中,针对消息中出现在第一消息分隔符之后的每一个数字签名,执行至少一个预定动作,以使通知提供给计算设备用户的误导地址失配错误的数目最小化;以及如果第一消息分隔符出现在一部分已签名数据中,验证发送者地址同与密钥相关联的地址是否相匹配,所述密钥用于产生出现在第一消息分隔符之后且与第一消息分隔符出现的那部分已签名数据相 对应的一个数字签名,以及针对消息中出现在第一消息分隔符之后的其它数字签名中的每一个,执行至少一个预定动作,以使通知提供给计算设备用户的误导地址失配错误的数目最小化。 According to an aspect of the present invention there is provided a method of processing a signed message received at a computing device, the method comprising the steps of: receiving a message comprising: a header including at least a sender address; at least a portion of signed data ; a digital signature corresponding to each portion of the signed data; and at least one message delimiter indicating that at least one old message has been incorporated into the received message; determining whether the first message delimiter appears in a portion In signed data, where the occurrence of the first message delimiter in the received message indicates that the data in the message that appears before the first message delimiter originates from the sender of the received message, and that the data after the first message delimiter originates from other than said sender; if the first message delimiter does not appear in a portion of the signed data, for each digital signature in the message that appears after the first message delimiter, perform at least one predetermined action such that Informing the user of the computing device that the number of misleading address mismatch errors is minimized; and verifying that the sender address matches the address associated with the key if the first message delimiter appears in a portion of the signed data, said The key is used to generate one digital signature corresponding to the portion of the signed data that appears after the first message delimiter, and for other digital signatures in the message that appear after the first message delimiter For each of these, at least one predetermined action is performed to minimize the number of misleading address mismatch errors that notifications are provided to a user of the computing device. the
根据本发明的另一方面,提供了一种处理在计算设备处接收的签名消息的设备,包括:接收消息的装置,所述消息包括:报头,至少包括发送者地址;至少一部分已签名数据;与已签名数据的每一部分相对应的数字签名;以及至少一个消息分隔符,所述消息分隔符指示了至少一个旧消息被并入了所接收消息;确定装置,用于确定第一消息分隔符是否出现在一部分已签名数据中,其中第一消息分隔符在接收消息中的出现表示出现在第一消息分隔符之前的消息中的数据来源于所接收消息的发送者,而第一消息分隔符之后的数据来源于所述发送者之外的他人;执行装置,用于如果第一消息分隔符未出现在一部分已签名数据中,则针对消息中出现在第一消息分隔符之后的每一个数字签名,执行至少一个预定动作,以使通知给计算设备用户的误导地址失配错误的数目最小化;以及如果第一消息分隔符出现在一部分已签名数据中,验证装置,用于如果第一消息分隔符出现在一部分已签名数据中,则验证发送者地址同与密钥相关联的地址是否相匹配,所述密钥用于产生出现在第一消息分隔符之后且与第一消息分隔符出现的那部分已签名数据相对应的一个数字签名,以及针对消息中出现在第一消息分隔符之后的其它数字签名中的每一个来执行至少一个预定动作的装置,以使通知给计算设备用户的误导地址失配错误的数目最小化。 According to another aspect of the present invention, there is provided an apparatus for processing signed messages received at a computing device, comprising: means for receiving a message, the message comprising: a header including at least a sender address; at least a portion of signed data; a digital signature corresponding to each part of the signed data; and at least one message delimiter indicating that at least one old message has been incorporated into the received message; determining means for determining the first message delimiter is present in a portion of signed data where the presence of the first message delimiter in the received message indicates that the data in the message that appears before the first message delimiter originates from the sender of the received message, and the first message delimiter the subsequent data originates from someone other than said sender; implementing means for, if the first message delimiter does not appear in the part of the signed data, for each digit in the message that occurs after the first message delimiter signing, performing at least one predetermined action to minimize the number of misleading address mismatch errors notified to a user of the computing device; and if the first message delimiter appears in a portion of the signed data, verification means for if the first message delimiter appears in a portion of the signed data, verify that the sender's address matches the address associated with the key used to generate the message that occurs after and with the first message delimiter and means for performing at least one predetermined action for each of the other digital signatures in the message that appear after the first message delimiter, so that the notification to the computing device user of The number of misleading address mismatch errors is minimized. the
附图说明Description of drawings
为了更好地理解此处所述系统和方法的实施例,并且更清楚地显示怎样实现这些系统和方法,作为示例来参考附图,附图中: For a better understanding of embodiments of the systems and methods described herein, and to more clearly show how they may be implemented, reference is made to the accompanying drawings, by way of example, in which:
图1是一个示例实现中的移动设备的方框图; Figure 1 is a block diagram of a mobile device in an example implementation;
图2是图1所示移动设备的通信子系统组件的方框图; Figure 2 is a block diagram of the communication subsystem components of the mobile device shown in Figure 1;
图3是无线网络的节点的方框图; Fig. 3 is the block diagram of the node of wireless network;
图4是示出了一个示例配置中的主系统的组件的方框图; Figure 4 is a block diagram illustrating components of the main system in an example configuration;
图5是示出了编码消息的示例的组件的方框图; Figure 5 is a block diagram illustrating components of an example of an encoded message;
图6A至6E是消息的示例; Figures 6A to 6E are examples of messages;
图7A是示出了在一个实施例中处理签名消息的方法的步骤的流程图; Figure 7A is a flowchart illustrating the steps of a method of processing a signed message in one embodiment;
图7B是示出了在另一个实施例中处理签名消息的方法的步骤的流程图;以及 Figure 7B is a flowchart illustrating the steps of a method of processing a signed message in another embodiment; and
图7C是示出了在另一个实施例中处理签名消息的方法的步骤的流程图。 Figure 7C is a flowchart illustrating the steps of a method of processing signed messages in another embodiment. the
具体实施方式Detailed ways
如以上示例所示,尽管成功解码了消息中的数据签名,可能导致在计算设备处接收签名消息的用户错误地认为在消息的报头中所识别的发送者对消息进行签名,即使这不是真的。 As shown in the above example, despite successful decoding of the data signature in the message, it may be possible for a user receiving a signed message at a computing device to mistakenly believe that the sender identified in the message's header signed the message, even though this is not true . the
为了解决这种问题,可以采用适用于验证签名消息的地址匹配的计算设备。具体地,该设备适用于验证与用于产生给定数字签名的密钥相关联的地址(例如电子邮件地址)同与在消息的报头中所识别的发送者相关联的地址相匹配。如果检测到地址失配(即两个地址不匹配),则作为例如告警或向用户显示的错误消息,向用户通知地址失配。因此,通过处理其中检测到地址失配错误的签名消息,当消息(或其一部分)的签名者与消息所识别的发送者不是同一个人时,可以告警用户。 To address this problem, computing devices adapted to verify address matches of signed messages may be employed. In particular, the device is adapted to verify that an address (eg, an email address) associated with the key used to generate a given digital signature matches an address associated with the sender identified in a header of the message. If an address mismatch is detected (ie, the two addresses do not match), the user is notified of the address mismatch as, for example, an alert or an error message displayed to the user. Thus, by processing signed messages in which an address mismatch error is detected, the user can be alerted when the signer of the message (or a portion thereof) is not the same person as the sender identified by the message. the
如以上提到的,根据采用的安全消息通信协议,一些消息可以包含同一个私钥产生的多个数字签名。例如,个人可以使用私有PGP密钥来签名同一个消息的多个不同部分。因此,消息可以包含使用该个 人的私有PGP密钥所产生的多个数字签名。当由用户接收到这种消息时,对于每一个数字签名,可以按照上述设备的实施方式来执行与产生各个签名的个人私有PGP密钥相关联的地址同消息的报头中所识别的发送者的地址相匹配的验证。 As mentioned above, depending on the secure messaging protocol employed, some messages may contain multiple digital signatures generated by the same private key. For example, an individual can use a private PGP key to sign multiple different parts of the same message. Thus, a message can contain multiple digital signatures generated using that individual's private PGP key. When such a message is received by a user, for each digital signature, a matching of the address associated with the personal private PGP key that generated the respective signature with the sender identified in the header of the message can be performed according to an embodiment of the device described above. Verification that the address matches. the
然而,一些其它消息可以包含多个数字签名,但是与以上示例相反,同一个私钥不能产生这些其它消息。 However, some other messages may contain multiple digital signatures, but contrary to the above example, the same private key cannot produce these other messages. the
例如,尽管适用于处理编码消息的一些设备将在发送由用户所编撰的/并入旧消息的新消息之前,从旧消息中去除数字签名,其它设备也可以不按照这种方式去除数字签名。例如,并入旧消息的新消息可以是被送回旧消息的发送者的回复消息、或被发送到其它一些接收者的转发消息。关于这一点,可以理解,大多数已知系统允许用户合并“原始消息”(即旧消息)的文本作为新的回复或转发消息的文本。如果设备不适用于在发送并入旧消息的新消息之前从旧消息去除数字签名,则当消息包含两个或多个个体之间的谈话线程时,该消息可能包含也许使用不同私钥产生的多个数字签名。 For example, while some devices adapted to handle encoded messages will remove digital signatures from old messages before sending new messages composed/incorporated by the user, other devices may not remove digital signatures in this manner. For example, a new message incorporated into an old message may be a reply message sent back to the sender of the old message, or a forward message sent to some other recipient. In this regard, it will be appreciated that most known systems allow the user to incorporate the text of the "original message" (ie, the old message) as the text of a new reply or forward message. If the device is not adapted to remove the digital signature from the old message before sending the new message incorporating the old message, when the message contains conversation threads between two or more individuals, the message may contain Multiple digital signatures. the
当适用于验证地址匹配的计算设备接收到包含一个或多个数字签名的消息时,它也许没有意识到一些数字签名来源于已经签名的旧消息,作为例如一部分转发文本或对已经正确并入消息的回复的文本。实际上,即使在消息中仅存在一个数字签名,如果数字签名来源于旧消息,则数字签名不是由接收消息的发送者产生的。 When a computing device adapted to verify an address match receives a message containing one or more digital signatures, it may not realize that some of the digital signatures originate from older messages that were already signed, as, for example, part of forwarded text or references to messages that have been correctly incorporated The text of the reply. In fact, even if there is only one digital signature in a message, if the digital signature originates from an old message, then the digital signature was not generated by the sender who received the message. the
如果计算设备假定任意接收到的、包含一个或多个数字签名的消息应该由接收消息的发送者产生,并且随后试图针对每一个数字签名,验证与产生各个签名相关联的密钥同接收到消息的报头中所识别的发送者的地址相匹配,可能会检测到至少一个地址失配,并且向用户通知每一个地址失配。然而,在这些情况下,即使第三方攻击者没有恶意地试图假扮发送者,也会检测到地址失配。 If the computing device assumes that any received message containing one or more digital signatures should have been generated by the sender of the received message, and then attempts to verify, for each digital signature, that the key associated with generating each signature is header identified in the sender's header, at least one address mismatch may be detected and the user notified of each address mismatch. In these cases, however, the address mismatch will be detected even if the third-party attacker is not maliciously trying to impersonate the sender. the
即使在消息包含谈话线程或正确地并入发送者没有签名的数据时,地址失配错误的报告也会妨碍计算设备的适用性。 Reporting of address mismatch errors hampers the serviceability of computing devices even when messages contain conversation threads or correctly incorporate data that the sender did not sign. the
这里所述的实施例总体商涉及一种设备和方法,可以使报告给消息用户的地址失配错误数目最小化,尤其对于正确并入由发送者之外的他人签名的消息部分的消息,如消息包含谈话线程的情况一样。这 可以增强计算设备的适用性,并且当计算设备是移动设备时尤其有利。 Embodiments described herein generally relate to an apparatus and method that can minimize the number of address mismatch errors reported to message users, especially for messages that correctly incorporate message parts signed by someone other than the sender, such as The same is true for messages containing conversation threads. This can enhance the usability of the computing device and is especially advantageous when the computing device is a mobile device. the
在一个较广泛的方面中,提供了一种处理在计算设备处接收的签名消息的方法,该方法包括步骤:接收消息,所述消息包括至少识别消息的发送者地址的报头、至少一部分已签名数据、与已签名数据的每一部分相对应的数字签名以及至少一个消息分隔符;确定第一消息分隔符是否出现在一部分已签名数据中;如果第一消息分隔符未出现在一部分已签名数据中,针对消息中出现在第一消息分隔符之后的每一个数字签名,执行至少一个预定动作;以及如果第一消息分隔符出现在一部分已签名数据中,验证发送者地址同与用于产生出现在第一消息分隔符之后且与第一消息分隔符出现的那部分已签名数据相对应的一个数字签名的密钥相关联的地址相匹配,并针对消息中出现在第一消息分隔符之后的其它每一个数字签名,执行至少一个预定动作。 In one broader aspect, there is provided a method of processing a signed message received at a computing device, the method comprising the steps of: receiving a message including at least a header identifying the sender address of the message, at least a portion of the signed message data, a digital signature corresponding to each portion of the signed data, and at least one message delimiter; determining whether the first message delimiter is present in the portion of the signed data; if the first message delimiter is not present in the portion of the signed data , for each digital signature that appears in the message after the first message delimiter, perform at least one predetermined action; and if the first message delimiter appears in a portion of the signed data, verify the sender address with the same method used to generate the signature that appears after the first message delimiter The address associated with a digitally signed key that follows the first message delimiter and corresponds to the portion of the signed data in which the first message delimiter occurs matches, and for other parts of the message that appear after the first message Each digital signature performs at least one predetermined action. the
在另一个较广泛的方面,提供了一种处理在计算设备处接收的签名消息的方法,其中,针对出现在第一消息分隔符之后的数字签名的至少一个预定动作包括:绕过发送者地址同与用于产生数字签名的密钥相关联的地址相匹配的验证。 In another broader aspect, there is provided a method of processing a signed message received at a computing device, wherein at least one predetermined action for a digital signature that occurs after a first message delimiter includes: bypassing the sender address Verification that matches the address associated with the key used to generate the digital signature. the
在另一个较广泛的方面,提供了一种处理在计算设备处接收的签名消息的方法,其中,针对出现在第一消息分隔符之后的数字签名的至少一个预定动作包括:验证发送者地址同与用于产生数字签名的密钥相关联的地址相匹配;以及如果发送者地址同与用于产生数字签名的密钥相关联的地址不匹配,禁止向计算设备的用户通知地址失配。 In another broader aspect, there is provided a method of processing a signed message received at a computing device, wherein at least one predetermined action for a digital signature that appears after a first message delimiter includes: verifying that the sender address is the same as matching the address associated with the key used to generate the digital signature; and inhibiting notification of the address mismatch to a user of the computing device if the sender address does not match the address associated with the key used to generate the digital signature. the
在另一个较广泛的方面,提供了一种处理在计算设备处接收的签名消息的方法,其中,针对出现在第一消息分隔符之后的数字签名的至少一个预定动作包括:确定同与数字签名相对应的那部分已签名数据相关联的部分专用地址;验证部分专用地址同与用于产生数字签名的密钥相关联的地址相匹配;以及如果部分专用地址同与用于产生数字签名的密钥相关联的地址不匹配,向计算设备的用户通知地址失配。 In another broader aspect, there is provided a method of processing a signed message received at a computing device, wherein at least one predetermined action for a digital signature that occurs after a first message delimiter includes: determining the same as the digital signature the corresponding partial private address associated with that portion of the signed data; verify that the partial private address matches the address associated with the key used to generate the digital signature; and if the partial private address matches the key used to generate the digital signature If the address associated with the key does not match, a user of the computing device is notified of the address mismatch. the
在另一个较广泛的方面,提供了一种处理在计算设备处接收的签名消息的方法,其中确定部分专用地址的步骤包括:从出现在紧接在数字签名与之相对应的那部分已签名数据之前的消息分隔符和该部分之间的消息的文本中,提取前一发送者的地址。 In another broader aspect, there is provided a method of processing a signed message received at a computing device, wherein the step of determining a portion of the private address comprises: starting from the portion of the signed message that appears immediately before the digital signature to which it corresponds. Extract the previous sender's address from the message delimiter before the data and the text of the message between that part. the
在另一个较广泛的方面,提供一种处理在计算设备处接收的签名消息的方法,其中确定部分专用地址的步骤包括:从出现在紧接在数字签名与之相对应的那部分已签名数据之前的消息分隔符和该部分之间的消息的文本中,提取前一发送者的名称;以及从地址簿中检索与该名称相关联的前一发送者的地址。 In another broader aspect, there is provided a method of processing a signed message received at a computing device, wherein the step of determining a portion of the private address comprises: extracting from the portion of signed data that appears immediately after the digital signature corresponds to From the text of the message between the previous message delimiter and the portion, extract the name of the previous sender; and retrieve the address of the previous sender associated with the name from the address book. the
下面更详细地描述各个实施例的这些及其它方面和属性。 These and other aspects and attributes of various embodiments are described in more detail below. the
这里所述的系统和方法的一些实施例参考移动设备。移动设备是具有与其它计算机系统进行通信的先进数据通信能力的双向通信设备。移动设备还可以包括语音通信能力。根据移动设备所提供的功能,它可以被称为数据消息收发设备、双向寻呼机、具有数据消息收发能力的蜂窝电话、无线因特网设备或数据通信设备(具有或不具有电话能力)。移动设备通过收发站的网络与其它设备进行通信。 Some embodiments of the systems and methods described herein refer to mobile devices. Mobile devices are two-way communication devices with advanced data communication capabilities to communicate with other computer systems. Mobile devices may also include voice communication capabilities. Depending on the functionality provided by a mobile device, it may be called a data messaging device, a two-way pager, a cellular telephone with data messaging capabilities, a wireless Internet device, or a data communications device (with or without telephony capabilities). Mobile devices communicate with other devices through a network of transceiver stations. the
为了有助于读者理解移动设备的结构以及它怎样与其它设备进行通信,参考图1至3。 To help the reader understand the structure of the mobile device and how it communicates with other devices, reference is made to FIGS. 1 to 3 . the
首先参考图1,一个示例实现中的移动设备的方框图通常如100所示。移动设备100包括多个组件,控制组件是微处理器102。微处理器102控制移动设备100的整体操作。通过通信子系统104执行包括数据和语音通信的通信功能。通信子系统104从无线网络200接收消息并向其发送消息。在该移动设备100的示例实现中,根据全球移动通信系统(GSM)和通用分组无线业务(GPRS)标准来配置通信子系统104。GSM/GPRS无线网络在全世界范围内使用,并且预期这些标准将最终由改进数据GSM环境(EDGE)和通用移动通信系统(UMTS)代替。新标准正在定义中,但是我们相信它们将与此处所述的网络行为具有类似性,并且由本领域的技术人员也可以理解,本发明意欲使用将来开发的任意其它适当的标准。将通信子系统104与网络200相连的无线链路表示一个或多个不同的射频(RF)信道,根据针对GSM/GPRS通信所规范的定义协议而进行操作。利用新的网络协议,这些信道能够支持电路交换语音通信和分组交换数据通信。 Referring first to FIG. 1 , a block diagram of a mobile device in an example implementation is shown generally at 100 . The
尽管在移动设备100的一个示例实现中与移动设备100相关联的无线网络是GSM/GPRS无线网络,在变体实现中,其它无线网络可以与移动设备100相关联。可以采用的不同种类的无线网络包括例如数 据中心无线网络、语音中心无线网络和可以在同一个物理基站上同时支持语音和数据通信的双模式网络。组合的双模式网络包括但不局限于:码分多址(CDMA)或CDMA2000网络、GSM/GPRS网络(如上所述)以及将来的第三代(3G)网络(例如EDGE和UMTS)。数据中心网络的一些较早的示例包括MobitexTM无线电网络和DataTACTM无线电网络。较早的语音中心数据网络的示例包括个人通信系统(PCS)网络(例如GSM)和时分多址(TDMA)系统。 Although in one example implementation of
微处理器102还与其它子系统进行交互,例如随机存取存储器(RAM)106、闪存108、显示器110、辅助输入/输出(I/O)子系统112、串行端口114、键盘116、扬声器118、麦克风120、短距离通信122及其它设备124。
移动设备100的一些子系统执行通信相关功能,而其它子系统可以提供“驻留”或设备上功能。作为示例,显示器110和键盘116可以用于通信相关功能,例如输入用于在网络200上传输的文本消息,并且用于设备固有功能,例如计算器或任务列表。由微处理器102使用的操作系统软件通常存储在例如闪存108的持久存储器中,可选地,其也可以是只读存储器(ROM)或类似存储单元(未示出)。本领域的技术人员可以理解,可以将操作系统、专用设备应用程序或其一部分暂时地加载到例如RAM 106的易失性存储器中。 Some subsystems of the
在完成了所需的网络注册或激活过程之后,移动设备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供电。 The
除了其操作系统功能之外,微处理器102还能够在移动设备100上执行软件应用程序。通常在制造期间将控制基本设备操作的应用程序组(包括数据和语音通信应用程序)安装在移动设备100中。可以加载到移动设备100上的其它应用程序可以是个人信息管理器(PIM)。PIM具有组织和管理订户感兴趣的数据项的功能,这些数据项是例如但不局限于:电子邮件、日历事件、语音邮件、约会和任务项。PIM应用程序具有经由无线网络200发送和接收数据项的能力。可以经由无线网络200将PIM数据项与存储的和/或与主计算机系统相关的移动设备订户的相应数据项无缝地整合、同步和更新。该功能在移动设备100上产生关于该项的镜像主计算机。这在主计算机系统是移动设备订户的办公计算机系统的情况下尤其有利。 In addition to its operating system functions,
还可以通过网络200、辅助I/O子系统112、串行端口114、短距离通信子系统122或其它适当的子系统124,将其它应用程序加载到移动设备100上。这种应用程序安装的灵活性增加了移动设备100的功能性,并且可以提供增强的设备上功能、通信相关功能或两者。例如,安全通信应用程序能够使用移动设备100来执行电子商务功能和其它这种金融交易。 Other applications may also be loaded onto
串行端口114使订户能够通过外部设备或软件应用程序来设置优选项,并且除通过无线通信网络之外,通过向移动设备100提供信息或软件下载,扩展移动设备100的能力。可选的下载路径可以被用于例如通过直接并因此可靠且可信的连接将加密密钥加载到移动设备100,以提供安全设备通信。
短距离通信子系统122提供移动设备100和不同系统或设备之间的通信,不需要使用网络200。例如,子系统122可以包括红外设备以及短距离通信的相关电路和组件。短距离通信的示例包括红外数据联合会(IrDA)、蓝牙和由IEEE开发的802.11标准族。 The short-
在使用中,由通信子系统104处理例如文本消息、电子邮件消息或网页下载的接收信号并输入到微处理器102。然后,微处理器102处理接收信号,将其输出到显示器110或者可选地输出到辅助I/O子系统11。订户还可以使用键盘116结合显示器110以及可能的辅助I/O子系统112,编撰例如电子邮件消息的数据项。辅助子系统112可以包括例如触摸屏、鼠标、轨迹球、红外指纹检测器或具有动态钮按压能力的滚轮的设备。键盘116是字母数字键盘和/或电话类型小键盘。可以通过通信子系统104在网络200上发送编撰的项。 In use, received signals such as text messages, e-mail messages or web page downloads are processed by the
对于语音通信除了将接收信号输出到扬声器118、以及由麦克风120产生用于发送的信号之外,移动设备100的整体操作实质上是类似的。还可以在移动设备100上实现可选的语音或音频I/O子系统,例如语音消息记录子系统。尽管主要通过扬声器118来实现语音或音频信号的输出,显示器110也可以被用于提供附加信息,例如呼叫方的身份、语音呼叫的持续时间或其它语音呼叫相关的信息。 The overall operation of the
现在参考图2,示出了图1所示的通信子系统组件104的方框图。通信子系统104包括:接收机150;发射机152;一个或多个嵌入或内置天线单元154、156;本地振荡器(LO)158以及例如数字信号处理器(DSP)的处理模块160。 Referring now to FIG. 2, a block diagram of the
通信子系统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中施加到通信信号上的增益。 The specific design of the
移动设备100和网络200之间的无线链路可以包含一个或多个不同的信道(典型是不同的RF信道)并且与移动设备100和网络200之间使用的协议相关联。通常由于移动设备100的整个带宽和有限电池功率的限制,RF信道是必须保留的有限资源。 The wireless link between
当使移动设备100全功能运行时,通常只有当向网络200发送时才打开发射机152,否则关闭以节约资源。类似地,周期地关闭接收机150以节约电能,直到在指定时间段期间需要接收信号或信息(如果有的话)为止。 When making the
现在参考图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的通信中使用的组件列表。 Referring now to FIG. 3 , a block diagram of a node of a wireless network is shown at 202 . In practice,
在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的访问。 In a GSM network, the
站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,可以减少这些节点之间的通信量,因此可以向语音和数据服务提供更快速的响应时间,同时需要使用更少的计算资源。 Permanent configuration data such as user profiles are stored in the
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地址池。 Once the GPRS attachment is complete, the tunnel is created and all traffic is exchanged in standard IP packets using whatever protocol is supported in IP packets. This includes tunneling methods such as IP over IP in the case of some IP security protocol (IPsec) connections used by virtual private networks (VPNs). These tunnels are also known as Packet Data Protocol (PDP) contexts, and there are a limited number of these tunnels available in
现在参考图4,示出了一个示例配置中的主系统的组件的方框图。主系统250通常是公司办公处所或其它局域网(LAN),但是在变体实现中,也可以是例如家庭办公计算机或一些其它私人系统。在图4所示的该示例中,主系统250被描述为移动设备100的用户所属组织的LAN。 Referring now to FIG. 4 , a block diagram of components of the host system in an example configuration is shown. Host system 250 is typically a company office or other local area network (LAN), but in variant implementations it could be, for example, a home office computer or some other private system. In this example shown in FIG. 4, the host system 250 is depicted as the LAN of the organization to which the user of the
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的处理也被称为同步。 LAN 250 includes a plurality of network components connected to each other by LAN connection 260. For example, a user's desktop computing device ("desktop computer") 262a with an accompanying cradle 264 for the user's
本领域的技术人员可以理解,典型地,用户计算机262a、262b还与图4中未明确示出的其它外围设备相连。此外,图4中仅示出了LAN 250的网络组件的子集,并且本领域的技术人员可以理解,对于该示例配置,LAN 250包括图4中未明确示出的附加组件。更一般地,LAN 250可以表示该组织的更大网络(未示出)的较小一部分,并且可以包括不同的组件,和/或按照与图4的示例中所示不同的拓扑来布置。 Those skilled in the art can understand that typically, the user computers 262a, 262b are also connected to other peripheral devices not explicitly shown in FIG. 4 . Furthermore, only a subset of the network components of LAN 250 are shown in FIG. 4, and those skilled in the art will appreciate that for this example configuration, LAN 250 includes additional components not explicitly shown in FIG. More generally, LAN 250 may represent a smaller portion of the organization's larger network (not shown), and may include different components, and/or be arranged in a different topology than that shown in the example of FIG. 4 . the
在该示例中,移动设备100通过无线网络200的节点202以及诸如服务提供商网络或公共因特网之类的共享网络基础设施224,与LAN 250进行通信。可以通过一个或多个路由器(未示出)提供对LAN250的访问,并且LAN 250的计算设备可以在防火墙或代理服务器266之后操作。 In this example,
在变体实现中,LAN 250包括无线VPN路由器(未示出),以利于LAN 250和移动设备100之间的数据交换。无线VPN路由器的概念在无线行业是较新的,并且暗示可以直接通过专用无线网络与移动设备100建立VPN连接。使用无线VPN路由器近年来变得可能,并且当新的第六版因特网协议(IP)(IPv6)进入基于IP的无线网络时可以使用。这种新的协议将提供足够的IP地址,以向每一个移动设备提供IP地址,可以在任何时候将信息推送到移动设备。使用无线VPN路由器的优点在于它可以是不用定制的VPN组件,不需要使用独立的无线网关和独立的无线基础设施。在该变体实现中,优选地,VPN连接是传输控制协议(TCP)/IP或用户数据报协议(UDP)/IP连接,用以将消息直接传递给移动设备100。 In a variant implementation, LAN 250 includes a wireless VPN router (not shown) to facilitate data exchange between LAN 250 and
首先,由LAN 250的消息服务器268接收到意欲提供给移动设备100的用户的消息。这种消息可以来源于多个源中的任意一个。例如,消息可以经由共享网络基础设施224,并且可能通过例如应用服务提供商(ASP)或因特网服务提供商(ISP),由发送者发送自LAN 250内的计算机262b、来自与无线网络200或与不同无线网络相连的不同移动设备(未示出)、或来自不同的计算设备或能够发送消息的其它设 备。 First, a message intended for the user of the
消息服务器268通常作为在组织内且在共享网络基础设施224上的消息(尤其是电子邮件消息)交换的主接口。组织内被建立用于发送和接收消息的每一个用户通常与消息服务器268所管理的用户账户相关联。消息服务器268的一个示例是Microsoft ExchangeTM服务器。在一些实现中,LAN 250可以包括多个消息服务器268。消息服务器268还适用于提供消息管理之外的附加功能,例如,包括与日历和任务列表相关联的数据的管理。 The message server 268 typically serves as the primary interface for the exchange of messages, especially e-mail messages, within the organization and over the shared
当消息由管理服务器268接收到时,通常将它们存储在消息存储器(未示出)中,以后可以从该存储器中检索消息并传递给用户。例如,操作在用户计算机262a上的电子邮件客户端应用程序可以请求与存储在消息服务器268上的用户账户相关联的电子邮件消息。然后,通常可以从消息服务器268中检索这些消息并且本地地存储在计算机262a上。 As messages are received by the management server 268, they are typically stored in a message store (not shown) from which they can be later retrieved and delivered to users. For example, an email client application operating on user computer 262a may request email messages associated with a user account stored on message server 268 . These messages may then typically be retrieved from message server 268 and stored locally on computer 262a. the
当操作移动设备100时,用户也许希望检索电子邮件消息以传递给手持设备。运行在移动设备100上的电子邮件客户端应用程序还可以向消息服务器268请求与用户账户相关联的消息。电子邮件客户端可以被(用户或管理员,可能根据组织的信息技术(IT)政策)配置用于根据用户的指导、以预定时间间隔、或当发生预定事件时做出该请求。在一些实现中,向移动设备100分配其自身的电子邮件地址,并且当由消息服务器268接收到明确要发送到移动设备100的消息时,自动地将它们重定向到移动设备100。 While operating
为了利于移动设备100和LAN 250的组件之间的消息和消息相关数据的无线通信,可以提供多个无线通信支持组件270。在该示例实现中,例如,无线通信支持组件270包括消息管理服务器272。消息管理服务器272用于专门向要由移动设备处理的消息(例如电子邮件消息)管理提供支持。通常,尽管消息仍然被存储在消息服务器268上,消息管理服务器272被用于控制消息应该何时、是否以及怎样被发送到移动设备100。消息管理服务器272还利于对在移动设备100上编撰的发送到消息服务器268用于以后传递的消息的处理。 To facilitate wireless communication of messages and message-related data between components of the
例如,消息管理服务器272可以:监控新电子邮件消息的用户“邮 箱”(例如,与消息服务器268上的用户账户相关联的消息存储器);对新消息应用用户可定义的过滤器,以确定是否以及怎样将消息传递给用户的移动设备100;压缩并加密新消息(例如使用诸如数据加密标准(DES)或三迭DES)并经由共享网络基础设施224和无线网络20将它们推送到移动设备100;以及接收在移动设备100上编撰的(例如使用三迭DES加密的)消息,解密并解压缩编撰的消息,如果需要,重新格式化编撰的消息,使得它们表现为来源于用户计算机262a,并且将编撰的消息改换路由到消息服务器268以便传递。 For example, message management server 272 may: monitor a user's "mailbox" (e.g., a message store associated with a user account on message server 268) for new email messages; apply user-definable filters to new messages to determine Whether and how messages are delivered to the user's
可以(例如由管理员根据IT策略)定义发送自移动设备100和/或由移动设备100接收的与消息相关联的某些属性或限制,并且由消息管理服务器272实施。这些属性或限制可以包括例如:移动设备100是否可以接收加密和/或签名的消息、最小的加密密钥大小、是否必须对输出的消息加密和/或签名以及是否要将发送自移动设备100的所有安全消息的拷贝发送到预定义拷贝地址。 Certain attributes or restrictions associated with messages sent from and/or received by the
消息管理服务器272还可以适用于提供其它的控制功能,例如仅将存储在消息服务器268上的消息的特定消息信息或预定部分(例如“块”)推送到移动设备100。例如,当最初由移动设备100从消息服务器268中检索消息时,消息管理服务器272适用于仅将消息的第一部分推送到移动设备100,该部分是预定大小的(例如2KB)。然后,用户可以请求由消息管理服务器272将该消息的更多部分以相同大小的块传递给移动设备100,可能最多到最大的预定消息大小。 The message management server 272 may also be adapted to provide other control functions, such as pushing only certain message information or predetermined portions (eg, "chunks") of messages stored on the message server 268 to the
因此,消息管理服务器272利于更好地控制通信到移动设备100的数据类型和数据量,并且有助于使带宽或其它资源的可能浪费最小化。 Accordingly, the message management server 272 facilitates better control over the type and amount of data communicated to the
本领域的技术人员可以理解,消息管理服务器272不需要实现在LAN 250或其它网络中的独立物理服务器上。例如,可以使与消息管理服务器272相关联的一些或所有功能与消息服务器268或者LAN250中的其它服务器相结合。此外,LAN 250可以包括多个消息管理服务器272,具体地,在变体实现中,需要支持大量的移动设备。 Those skilled in the art will appreciate that the message management server 272 does not need to be implemented on a separate physical server in the LAN 250 or other networks. For example, some or all of the functionality associated with message management server 272 may be integrated with message server 268 or other servers in LAN 250 . In addition, LAN 250 may include multiple message management servers 272, specifically, in variant implementations, a large number of mobile devices need to be supported. the
尽管可以将简单邮件传输协议(SMTP)、RFC822报头以及多用途因特网邮件扩展协议(MIME)主体部分用于定义不需要编码的典 型的电子邮件消息的格式,还可以在编码消息的通信中(即在安全收发消息应用中)使用作为MIME协议的一种版本的安全/MIME(S/MIME)。S/MIME能够实现端到端的认证和秘密性,并且提供数据完整性和从消息的始发者发送消息到由消息接收者解码和阅读消息为止的秘密性。可以采用其它标准和协议以利于安全消息通信,例如Pretty Good PrivacyTM(PGP)和例如OpenPGP的PGP变体。可以理解,尽管此处一般引用“PGP”,该术语意欲包含根据更一般化的PGP方案的多种变体的实现之一。 Although the Simple Mail Transfer Protocol (SMTP), RFC822 headers, and Multipurpose Internet Mail Extensions (MIME) body parts can be used to define the format of a typical e-mail message that does not require encoding, it is also possible in the communication of encoded messages (i.e. In Secure Messaging applications) Secure/MIME (S/MIME), which is a version of the MIME protocol, is used. S/MIME enables end-to-end authentication and confidentiality, and provides data integrity and confidentiality from when the originator of the message sends the message to when the message is decoded and read by the recipient. Other standards and protocols may be employed to facilitate secure messaging, such as Pretty Good Privacy ™ (PGP) and PGP variants such as OpenPGP. It will be appreciated that although "PGP" is generally referred to herein, this term is intended to encompass implementations according to one of many variants of the more generalized PGP scheme.
例如S/MIME和基于PGP协议的安全收发消息协议依靠公共和私有的加密密钥来提供秘密性和完整性。使用私钥/公钥对的私钥加密的数据仅可以使用该对的相应公钥来解码,并且使用私钥/公钥对的公钥加密的数据仅可以使用该对的相应私钥来解码。意欲永不公开私钥信息,但共享公钥信息。 Secure messaging protocols such as S/MIME and PGP-based protocols rely on public and private encryption keys to provide confidentiality and integrity. Data encrypted with the private key of a private/public key pair can only be decoded with the pair's corresponding public key, and data encrypted with the public key of a private/public key pair can only be decoded with the pair's corresponding private key . It is intended to never disclose private key information, but share public key information. the
例如,如果发送者希望以加密形式将消息发送到接收者,接收者的公钥被用于加密消息,则该消息仅能够使用接收者的私钥来解码。可选地,在一些编码技术中,产生一次性会话密钥,并且通常利用对称加密技术(例如三迭DES),用于解码消息的主体。然后,使用接收者的公钥(例如利用例如RSA的公钥加密算法)加密会话密钥,则仅能够使用接收者的私钥来解密会话密钥。消息报头可以被用于指定必须用于解密消息的特定加密方案。在变体实现中,可以使用基于公钥密码术的其它加密技术。然而,在这些情况的每一个中,仅可以使用接收者的私钥以利于消息的成功解密,并且按照这种方式,可以保持消息的机密性。 For example, if a sender wishes to send a message in encrypted form to a recipient, the recipient's public key was used to encrypt the message, the message can only be decoded using the recipient's private key. Optionally, in some encoding techniques, a one-time session key is generated and used to decode the body of the message, typically using a symmetric encryption technique (eg Triple DES). The session key is then encrypted using the recipient's public key (eg using a public key encryption algorithm such as RSA), the session key can only be decrypted using the recipient's private key. Message headers can be used to specify a particular encryption scheme that must be used to decrypt the message. In variant implementations, other encryption techniques based on public key cryptography may be used. In each of these cases, however, only the recipient's private key can be used to facilitate successful decryption of the message, and in this way, the confidentiality of the message can be maintained. the
作为另一个示例,发送者可以使用数字签名来签名消息。数字签名是使用发送者的私钥加密的消息的提要(例如消息的哈希散列),然后,可以将数字签名添加到输出的消息上。为了在接收时验证消息的数字签名,接收者使用与发送者相同的技术(例如使用相同的标准哈希算法)来获得接收消息的提要。接收者还使用发送者的公钥来解码数字签名,以便获得接收消息的匹配提要。如果接收消息的提要不匹配,这表示在传输期间改变了消息内容和/或消息不是来源于其公钥被用于验证的发送者。按照一种方式设计数字签名算法,使得仅有知道 发送者私钥的人能够对接收者可以直接使用发送者的公钥来解码的签名进行编码。因此,通过按照这种方式验证数字签名,可以保持发送者的认证和消息的完整性。 As another example, a sender may sign a message using a digital signature. A digital signature is a digest of the message (such as a hash of the message) encrypted with the sender's private key. The digital signature can then be added to the outgoing message. To verify a message's digital signature upon receipt, the recipient uses the same techniques as the sender (eg using the same standard hashing algorithm) to obtain a digest of the received message. The receiver also uses the sender's public key to decode the digital signature in order to obtain a matching digest of the received message. If the digest of the received message does not match, this indicates that the message content was changed during transmission and/or the message did not originate from the sender whose public key was used for authentication. The digital signature algorithm is designed in such a way that only the person who knows the sender's private key can encode a signature that the recipient can directly use the sender's public key to decode. Therefore, by verifying the digital signature in this manner, the authentication of the sender and the integrity of the message are maintained. the
可以对编码的消息进行加密、签名或既加密还签名。在S/MIME中,使用证书来证实在这些操作中使用的公钥的可靠性。证书可以是认证授权中心(CA)发出的数字文献。证书被用于认证用户及其公钥之间的关联,并且实质上,提供了用户公钥的可靠性的可信度。证书包含关于证书持有人的信息,证书内容通常具有根据所接受标准(例如X.509)的格式。证书通常由认证授权中心进行数字地签名。 Encoded messages can be encrypted, signed, or both. In S/MIME, certificates are used to verify the authenticity of the public keys used in these operations. A certificate may be a digital document issued by a certificate authority (CA). Certificates are used to authenticate the association between a user and their public key and, in essence, provide confidence in the authenticity of the user's public key. A certificate contains information about the certificate holder, and the certificate content is usually in a format according to an accepted standard (eg X.509). Certificates are usually digitally signed by a certificate authority. the
在基于PGP的系统中,使用PGP密钥,PGP密钥与S/MIME证书一样包含包括公钥和关于密钥持有人或拥有者信息的公开信息。然而,与S/MIME证书不同,PGP密钥通常不是由认证授权中心发出的,并且典型地,PGP密钥的可靠性的可信度需要验证可靠个体已经担保给定PGP密钥的可靠性。 In PGP-based systems, PGP keys are used, which, like S/MIME certificates, contain public information including the public key and information about the key holder or owner. However, unlike S/MIME certificates, PGP keys are generally not issued by a certificate authority, and typically confidence in the authenticity of a PGP key requires verification that a trusted individual has vouched for the authenticity of a given PGP key. the
标准电子邮件安全协议通常利于非移动计算设备(例如图4的计算机262a、262b;远程桌面设备)之间的安全消息传输。为了可以从移动设备100中读取从发送者接收到的签名消息并且可以从移动设备100发送该加密消息,移动设备100适用于存储其它个体的公钥(例如S/MIME证书中的、PGP密钥)。例如,通常通过支架264将存储在用户计算机262a上的密钥从计算机262a下载到移动设备100。 Standard email security protocols generally facilitate secure messaging between non-mobile computing devices (eg, computers 262a, 262b of FIG. 4; remote desktop devices). In order that the signed message received from the sender can be read from the
移动设备100还可以适用于存储与用户相关联的公钥/私钥对的私钥,以便移动设备100的用户可以签名在移动设备100上编撰的输出消息,并且解密利用用户的公钥加密的发送到用户的消息。例如,可以通过支架264将私钥从用户的计算机262a下载到移动设备100。优选地,在计算机262a和移动设备100之间交换私钥,以便用户可以共享一个身份和一种方法,以便访问消息。 The
用户计算机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。 The user computers 262a, 262b may obtain S/MIME certificates and PGP keys from a variety of sources for storage, eg, in the keystores of the computers 262a, 262b and/or mobile devices (eg, mobile device 100). The source of these certificates and keys can be private (eg, dedicated within the organization) or public, can reside locally or remotely, and can be accessed from within the organization's private network or via, for example, the Internet. In the example shown in FIG. 4, a plurality of public key infrastructure (PKI) servers 280 associated with an organization reside on LAN 250. For example, PKI server 280 includes a CA server 282 that can be used to issue S/MIME certificates, Simplified Directory Access Protocol (SCA) that can be used to search and download S/MIME certificates and/or PGP keys (e.g., for individuals within an organization). LDAP) server 284 and an Online Certificate Status Protocol (OCSP) server 286 that can be used to verify the revocation status of S/MIME certificates. the
例如,可以由用户计算机262a从LDAP服务器284中检索证书和/或PGP密钥,以便经由支架264下载到移动设备100。然而,在变体实现中,LDAP服务器284可以由移动设备100直接访问(即,在该语境中的“空中下载”),并且移动设备100可以通过移动数据服务器288搜索并检索个人证书和PGP密钥。类似地,移动数据服务器288可以适用于使移动设备100可以直接查询ODSP服务器286以验证S/MIME证书的撤销状态。 For example, certificates and/or PGP keys may be retrieved by user computer 262 a from LDAP server 284 for download to
在变体实现中,移动设备仅可以访问选定的PKI服务器280(例如,使得仅仅可以从用户的计算机262a、262b下载证书,而可以从移动设备100检查证书的撤销状态)。 In a variant implementation, the mobile device can only access selected PKI servers 280 (eg, so that only certificates can be downloaded from the user's computer 262a, 262b, but the revocation status of the certificates can be checked from the mobile device 100). the
在变体实现中,如IT管理员所规定的,也可以根据IT策略,使特定PKI服务器280仅由注册了特定用户的移动设备访问。 In a variant implementation, a specific PKI server 280 may also be made accessible only by mobile devices registered with specific users, according to IT policy, as specified by the IT administrator. the
例如S/MIME证书和PGP密钥的其它源(未示出)可以包括:Windows证书或密钥存储器、LAN 250之上或之外的其它的安全证书或密钥存储器以及智能卡。 Other sources (not shown) such as S/MIME certificates and PGP keys may include: Windows certificate or key stores, other secure certificate or key stores on or off the LAN 250, and smart cards. the
在最后一个系统实施例中,策略引擎290驻留在LAN 250中。例如,可以作为PGP公司开发的PGP通用服务器来提供策略引擎290。这仅是一个示例。在变体实施例中,可以在除PGP通用服务器之外的其它设备或结构中实现策略引擎,并且可以在除PGP之外的协议的语境中(例如在S/MIME策略引擎中)应用。 In a last system embodiment, policy engine 290 resides in LAN 250. For example, policy engine 290 may be provided as PGP General Server developed by PGP Corporation. This is just an example. In variant embodiments, the policy engine may be implemented in other devices or structures than the PGP generic server, and may be applied in the context of protocols other than PGP (eg, in an S/MIME policy engine). the
关于上述示例,PGP通用服务器290适用于与用户桌面计算机(例如262a)以及用户的移动设备(例如100,经由消息管理服务器272)进行通信,并且还适用于例如根据管理员建立的策略,加密消息以及强制服从关于由用户发送的消息的安全需要。如图4所示的LAN 250中的PGP通用服务器290的布置仅仅作为示例,并且其它的布置和配 置也是可以的。根据PGP通用服务器290的布置以及其中可以采用PGP通用服务器290的LAN 250的特定配置,对经过安全编码的处理消息的控制(具体地,对用户发送的消息的控制)的等级可以改变。 With respect to the above example, the PGP general server 290 is adapted to communicate with the user's desktop computer (eg, 262a) as well as the user's mobile device (eg, 100, via the message management server 272), and is also adapted to encrypt messages, eg, according to policies established by the administrator. As well as enforce compliance with security requirements regarding messages sent by users. The arrangement of the PGP Universal Server 290 in the LAN 250 as shown in FIG. 4 is merely an example, and other arrangements and configurations are possible. Depending on the placement of the PGP Universal Server 290 and the particular configuration of the LAN 250 in which the PGP Universal Server 290 may be employed, the level of control over securely encoded process messages (in particular, user-sent messages) may vary. the
例如,PGP通用服务器290适用于直接处理所有的输出消息(即由用户从用户桌面计算机、移动设备或其它计算设备发送到一个或多个目的接收者的消息),其中,它根据管理员所配置的PGP通用服务器290上定义的策略(如果有的话),决定要加密和/或签名哪些消息。如果策略规定要使用PGP来加密和签名要由用户发送到特定域或属于特定主题的消息,PGP通用服务器290本身可以在发送之前加密和签名消息。 For example, PGP Universal Server 290 is adapted to directly process all outgoing messages (i.e., messages sent by a user from a user's desktop computer, mobile device, or other computing device to one or more intended recipients), where it Policies (if any) defined on the PGP general server 290 determine which messages are to be encrypted and/or signed. If policy dictates that PGP be used to encrypt and sign messages to be sent by a user to a particular domain or belonging to a particular subject, the PGP general server 290 itself can encrypt and sign the message before sending. the
可选地,例如通过与PGP通用服务器290进行通信的用户计算机设备上的其它PGP收发消息应用程序,用户可以将安全策略数据从PGP通用服务器290下载到用户计算设备。然后,可以根据获得的安全策略数据,命令用户或应用程序在发送之前加密且签名消息。 Alternatively, the user may download security policy data from the PGP general server 290 to the user computing device, such as through other PGP messaging applications on the user computer device in communication with the PGP general server 290 . Then, based on the obtained security policy data, the user or application can be instructed to encrypt and sign the message before sending it. the
因此,PGP通用服务器290根据域和其它机制,提供了强制集中策略的能力。 Thus, PGP Generic Server 290 provides the ability to enforce centralized policies based on domains and other mechanisms. the
PGP通用服务器290还适用于存储、证实以及管理PGP密钥,并且当需要密钥来编码(例如加密和/或签名)消息时,适用于从远程密钥存储器中检索PGP密钥。在由用户或应用程序请求时,PGP通用服务器290还可以按照需要将所存储或检索的PGP密钥提供给用户。 The PGP general server 290 is also adapted to store, validate, and manage PGP keys, and to retrieve PGP keys from remote key stores when keys are needed to encode (eg, encrypt and/or sign) messages. PGP Universal Server 290 may also provide stored or retrieved PGP keys to users as needed, upon request by the user or application. the
通过采用例如由作为示例所述的PGP通用服务器290所实现的策略引擎,可以将与处理安全消息(例如电子邮件)相关联的多数责任(具体地,是决定要安全地发送哪些消息以及根据情况应该应用哪个安全编码)转移到策略引擎上。 By employing a policy engine such as implemented by the PGP Generic Server 290 described by way of example, most of the responsibility associated with handling secure messages (e.g. e-mail) (in particular, deciding which messages to send securely and which which security encoding should be applied) is transferred to the policy engine. the
现在参考图5,可以由消息服务器(例如图4的消息服务器268)接收并且转发到用户(例如移动设备100)的编码消息的一个示例的组件的方框图如350所示。编码消息350通常包括一个或多个以下组件:报头352、主体或数据部分354、可选地一个或多个编码附件356、一个或多个加密会话密钥358(如果消息被加密)以及数字签名和签名相关的信息360。 Referring now to FIG. 5 , a block diagram of components of one example of an encoded message that may be received by a message server (eg, message server 268 of FIG. 4 ) and forwarded to a user (eg, mobile device 100 ) is shown at 350 . An encoded message 350 typically includes one or more of the following components: a header 352, a body or data portion 354, optionally one or more encoded attachments 356, one or more encrypted session keys 358 (if the message is encrypted), and a digital signature Information 360 related to the signature. the
例如,典型地,消息350的报头部分352包括地址信息,例如“到”、 “来自”以及“Cc”消息地址,并且还可以包括例如长度指示符以及加密和签名方案标识符。实际的消息内容通常包括在主体或数据部分354中,并且可能处于可以由发送者使用会话密钥加密的一个或多个附件356中。如果要使用会话密钥,通常针对每一个预期的接收者,使用每一个接收者的各自公钥来加密会话密钥,并且将所述会话密钥包含在消息的358处。 For example, header portion 352 of message 350 typically includes address information, such as "to," "from," and "Cc" message addresses, and may also include, for example, length indicators and encryption and signature scheme identifiers. The actual message content is typically included in a body or data portion 354 and possibly in one or more attachments 356 which may be encrypted by the sender using a session key. If a session key is to be used, it is typically encrypted for each intended recipient using each recipient's respective public key and included at 358 in the message. the
如果对消息进行签名,则包括数字签名和签名相关的信息360。例如,当使用例如S/MIME的协议时,这可以包括发送者的证书。作为另一个示例,如果签名是PGP签名,PGP签名将包括可以被用于识别签名消息的PGP密钥的PGP密钥标识符。典型地,消息不包括PGP密钥。典型地,意欲彼此安全地进行通信的个体可以在通信之前彼此交换PGP密钥。PGP密钥通常还包括与密钥持有人相关联的信息,例如与密钥持有人相关联的地址(例如电子邮件地址)。 If the message is signed, the digital signature and signature-related information 360 is included. For example, this may include the sender's certificate when using a protocol such as S/MIME. As another example, if the signature is a PGP signature, the PGP signature will include a PGP key identifier that can be used to identify the PGP key that signed the message. Typically, the message does not include the PGP key. Typically, individuals who intend to communicate securely with each other can exchange PGP keys with each other prior to communicating. PGP keys typically also include information associated with the key holder, such as an address (eg, an email address) associated with the key holder. the
签名的消息不必限制于在消息末端添加了单个数字签名360的消息。例如,一些协议允许签名消息主体354中数据的多个独立部分,并且产生的消息可以包括包含在消息中(可能嵌入在消息主体354本身中)的多个数字签名。 Signed messages need not be limited to messages with a single digital signature 360 added to the end of the message. For example, some protocols allow multiple independent portions of data in the message body 354 to be signed, and the resulting message may include multiple digital signatures contained within the message (possibly embedded in the message body 354 itself). the
仅作为示例提供如图5所示的编码消息的格式,并且本领域的技术人员可以理解,存在其它格式的编码消息。根据采用的特定安全收发消息标准或协议,编码消息的组件可以按照与图5所示不同的顺序出现,并且编码消息可以包括更少的、附加的或者不同的组件,这取决于是否加密、签名或既加密也签名编码消息。例如,在多种公知实现中,会话密钥358被设置在报头352之后而在消息主体354之前。 The format of the encoded message as shown in FIG. 5 is provided as an example only, and those skilled in the art will appreciate that there are other formats of the encoded message. Depending on the particular secure messaging standard or protocol employed, the components of an encoded message may appear in a different order than shown in Figure 5, and the encoded message may include fewer, additional, or different components, depending on whether encrypted, signed Or both encrypt and sign encoded messages. For example, in various known implementations, session key 358 is placed after header 352 but before message body 354 . the
为了利于更好地理解此处所述实施例的多个特征,仅作为演示,在图6A至6E中提供了多个消息示例。可以理解,消息的一般格式和内容在不同实现中是不同的。 To facilitate a better understanding of the various features of the embodiments described herein, a number of example messages are provided in FIGS. 6A through 6E by way of illustration only. It will be appreciated that the general format and content of the messages will vary from implementation to implementation. the
还可以理解,尽管这些示例中所示的多数消息包含已经使用基于PGP的协议签名的数据,此处所述实施例的特征也适用于包含使用其它安全收发消息协议签名的数据的消息。 It will also be appreciated that while most of the messages shown in these examples contain data that has been signed using a PGP-based protocol, features of the embodiments described herein are also applicable to messages containing data signed using other secure messaging protocols. the
为了简洁性,没有明确地示出将出现在这些图所示的消息中的实际PGP签名,并且为了方便,在这些示例中每一个签名被标识为“<... 签名出现在此...>”。 For the sake of brevity, the actual PGP signatures that would appear in the messages shown in these figures are not explicitly shown, and for convenience, each signature is identified in these examples as "<...the signature appears here... >". the
参考图6A,如消息400的报头402所示,从John Smith发送到地址janedoe@xyz.com的示例电子邮件消息400包括:开始消息报头404、已签名数据部分406以及与已签名数据部分406相对应并且由开始签名报头409所识别的PGP数字签名408。可以按照公知的方式使用数字签名408来验证已签名数据部分406实际上是由数字签名408中密钥ID所识别的密钥签名的,并且在传送中没有被修改。 Referring to FIG. 6A, as shown in
此外,在一个系统实施例中,可以通过从密钥/证书存储器中检索与密钥相关联的密钥持有人信息,确定与用于产生数字签名408的密钥相关联的地址。例如,在消息400的janedoe@xyz.com处的接收者可以预先与John Smith交换PGP密钥,并且将John Smith的PGP密钥存储在她计算设备(例如图4的移动设备100)的密钥存储器中。假定消息实际是由John Smith发送的,由数字签名408中密钥ID所识别的密钥与存储在密钥存储器中的John Smith的密钥相匹配。为了更好的安全性,可以执行与密钥相关联的地址与报头402中所识别的John Smith地址相匹配的验证。如果地址不匹配,则可以告警消息400的接收者检测到地址失配,与是否正确地验证数字签名408本身无关。 Additionally, in one system embodiment, the address associated with the key used to generate the
现在参考图6B,此处所示的示例电子邮件消息410是如消息410的报头412所示,从janedoe@xyz.com处消息400(图6A)的接收者Jane Doe到John Smith的回复。消息400的文本被并入消息410,在消息分隔符414之下,并且可以被认为表示John Smith和Jane Doe之间的谈话线程。 Referring now to FIG. 6B, an
在该示例中,消息分隔符414是“-----Original Message----”形式的原始消息分隔符。一般使用多个消息分隔符,用于从当前消息中的数据中分离所回复的消息数据,包括例如:直线分隔符(即从当前消息中的数据中划分所回复的消息数据的直线或虚线)、写作作者分隔符(即谁写出了所回复的消息的指示,也许是例如消息410中的“JohnSmith Wrote:”或“johnsmith@abc.xomwrote:”)、以及用于该目的的其它预定分隔符。类似地,可以使用转发消息分隔符(例如“----ForwardedMessage----”)、写作作者分隔符以及其它预定分隔符来从当前消息中的数据中分离被转发的消息数据。 In this example, the
在示例消息410中,Jane Doe没有数字地签名她向John Smith的回复的任何部分。然而,消息410包含所回复的旧消息400的文本。通过并入旧消息的文本,消息410现在包含一部分已签名数据406以及相应的数字签名408。适用于检测地址失配的设备可以假定与用于产生数字签名408的密钥相关联的地址应该与消息410的报头412中所识别的发送者Jane Doe的地址相匹配。在这种情况下,因为用于产生数字签名408的密钥属于John Smith,检测到地址失配。然而,会误导向用户通知该地址失配,因为该错误是被正确地并入当前消息410的旧消息400的结果,而不是例如设法假扮Jane Doe的恶意的第三方的结果。 In the
因此,在一个较广泛的方面,如将参考图7A至7C详细讨论的多个实施例所示,可以针对出现在第一消息分隔符之后的消息中的每一个数字签名执行至少一个预定动作,其目的是避免在上述情况下误导用户。例如,在图6B的示例中,John Smith的计算设备将适用于忽略出现在消息分隔符414之后的消息410的文本中的任何数字签名(例如408),因此绕过报头412中的发送者地址同与用于产生数字签名408的密钥相关联的密钥相匹配的验证。作为另一个示例,John Smith的计算设备适用于验证报头412中的发送者地址同与用于产生数字签名408的密钥相关联的地址相匹配,但是禁止向用户通知检测的地址失配。此处将描述变体实施例中的预定动作的其它示例。 Thus, in a broader aspect, at least one predetermined action may be performed for each digital signature in a message that appears after the first message delimiter, as shown in various embodiments that will be discussed in detail with reference to FIGS. 7A to 7C , Its purpose is to avoid misleading users in the above situations. For example, in the example of FIG. 6B, John Smith's computing device would be adapted to ignore any digital signature (eg, 408) in the text of
现在参考图6C,与图6B所示的回复相对,此处所示的示例电子邮件消息410b是来自Jane Doe的回复的不同示例。 Referring now to FIG. 6C, the
消息410b与消息410类似。同样将消息400的文本并入消息410b,在消息分隔符414之下。然而,在示例消息410b中,Jane Doe使用她自己的PGP密钥数字地对她向John Smith的回复消息的整个内容进行签名。由Jane Doe密钥所签名的数据在图6C中识别为416,并且与已签名数据416相对应的PGP数字签名被示为418。
已签名数据416还从所回复的消息400中并入了一部分已签名数据406和相应的数字签名408。 Signed
在出现在消息41ob中的两个数字签名408、418中,在该示例中,John Smith的计算设备检测最后的数字签名418与报头412所识别的 消息410b的发送者(即Jane Doe)之间的地址失配是适当的。然而,对于剩下的数字签名408,可以执行至少一个预定动作,如参考图6B所述一样。 Of the two
图6D和6E是消息420、420b的其它示例,包含John Smith和JaneDoe之间的更长的谈话线程。示出了如报头422所示由John Smith给Jane Doe的两个可选回复。所回复的消息被并入消息420、420b,在消息分隔符424之后。 Figures 6D and 6E are other examples of
在图6D中,对作为John Smith的回复所提供的新文本进行签名,并且已签名数据和相应的数字签名被分为示为426和428。在消息420中,消息分隔符424未出现在已签名数据426中。 In FIG. 6D , the new text provided as John Smith's reply is signed, and the signed data and corresponding digital signature are shown as 426 and 428 respectively. In
在图6E中,对作为回复所提供的新文本以及John Smith正回复的消息进行签名,并且已签名数据和相应的数字签名被分别示为426和428。在消息420b中,消息分隔符424出现在已签名数据426中。 In Figure 6E, the new text provided as a reply and the message that John Smith is replying to is signed, and the signed data and corresponding digital signature are shown as 426 and 428, respectively. In
在两个示例中,检测在数字签名428和报头422所识别的消息420的发送者之间是否存在地址失配的适当的。然而,关于出现在消息426中的其它数字签名,可以执行至少一个预定动作。下面所述的至少一个实施例提供这些特征。 In both examples, it is appropriate to detect whether there is an address mismatch between the
如本说明书的以上所述,此处所述的实施例总体上涉及一种设备和方法,可以使报告给消息用户的地址失配错误的数目最小化,尤其是对于正确地并入由发送者之外的他人签名的消息部分的消息,如消息包含谈话线程的情况。这可以增强计算设备的适用性,并且当计算设备是移动设备时是尤其有利的。 As noted above in this specification, the embodiments described herein generally relate to an apparatus and method that minimizes the number of address mismatch errors reported to message users, especially for correctly incorporated Messages that are part of a message other than someone else's signature, as in the case of a message containing a conversation thread. This can enhance the usability of the computing device and is especially advantageous when the computing device is a mobile device. the
首先参考图7A,一个示范实施例中处理签名消息的方法的步骤的流程图通常如500所示。在本说明书的前述部分已经讨论了在变体实施例中可以采用的关于方法500(以及方法500b和500c)的各个步骤以及关于属性的其它细节。 Referring first to FIG. 7A , a flowchart of steps in a method of processing a signed message in an exemplary embodiment is shown generally at 500 . The various steps of method 500 (and
由执行且驻留在计算设备上的应用程序执行方法500(以及方法500b和500c)的至少一些步骤。应用程序可以是电子邮件或其它收发消息的应用程序、与电子邮件或其它收发消息应用程序相结合或整合的其它应用程序(例如提供必须功能的附加组件)或者编程以执行这些步骤的其它应用程序。 At least some of the steps of method 500 (and
计算设备可以是桌面计算机(例如,可以包括膝上计算机或移动设备可以与之同步的某种其它计算设备)、移动设备或某种其它计算设备。计算设备可以与策略引擎(例如如图4的PGP通用服务器290中所实现的)相连。 A computing device may be a desktop computer (eg, may include a laptop computer or some other computing device with which a mobile device may be synchronized), a mobile device, or some other computing device. The computing device may be connected to a policy engine (eg, as implemented in PGP general server 290 of FIG. 4). the
在步骤510处,由在计算设备上执行的应用程序(例如电子邮件应用程序)在计算设备(例如图4的移动设备100)处接收消息(例如电子邮件消息)。接收的消息包括报头,典型地,报头包括发送者地址(即消息来自何处)、接收者地址、消息被发送或接收的日期和时间、消息的主题以及可能的其它信息,如图5的示例所示。 At
在步骤510处接收的、要根据方法500处理的消息也包含至少一部分已签名数据和与已签名数据的每一部分相对应的数字签名的消息。已签名数据部分可以包括整个消息主体。 The message received at
根据至少一个实施例,可以使用PGP密钥来签名已签名数据的所述至少一部分中的每一个。可以由PGP开始消息报头(例如“----BEGINPGP MESSAGE----”或“----BEGIN PGP SIGNED MESSAGE----”)在其开始处、由相同的PGP开始签名报头(例如“----BEGIN PGPSIGNATURE----”)在其末端处限定消息中已签名数据的所述至少一部分的每一个,其中已签名数据被设置在两个报头之间。 According to at least one embodiment, each of said at least one portion of signed data may be signed using a PGP key. A message can be started by a PGP header (e.g. "----BEGINPGP MESSAGE----" or "----BEGIN PGP SIGNED MESSAGE----") at its beginning, by the same PGP Begin Signed header (e.g. "----BEGIN PGPSIGNATURE----") defines at its end each of said at least one portion of signed data in the message, wherein the signed data is disposed between two headers. the
还可以作为已经并入在步骤510处接收的消息的旧消息的一部分(例如正回复或已经回复的消息、或者正转发或已经转发的消息)来包含已签名数据部分和相应的数字签名。在一些情况下,还可以再次签名已签名数据和相应的数字签名,并且相应地嵌入在步骤510处接收的消息中的已签名数据的另一部分中(参见图6E)。 The signed data portion and corresponding digital signature may also be included as part of an old message that has been incorporated into the message received at step 510 (eg, a message being or has been replied to, or a message being or has been forwarded). In some cases, the signed data and corresponding digital signature may also be re-signed and embedded accordingly in another part of the signed data in the message received at step 510 (see FIG. 6E ). the
在步骤510处接收的、要根据方法500处理的消息还包括至少一个消息分隔符,表示至少一个旧消息被并入了该接收消息中。例如,消息分隔符可以是原始消息分隔符(例如“----Original Message----”)、直线分隔符(例如“----”或水平线或条)、写作作者分隔符(例如“<thesender>wrote:”)、转发消息分隔符(例如“----Forwarded Message----”)或应用程序适用于检测的预定某种其它消息分隔符。因为消息分隔符可以在已知系统中广泛地变化,应用程序适用于检测常见的变体。 The message received at
在变体实施例中,应用程序还适用于在开始处利用第一开始消息报头所定义的一部分已签名数据内检测随后的开始消息报头,作为消息分隔符。例如,如果第一“----BEGIN PGP MESSAGE----”报头出现,表示跟随着已签名数据,并且在第一报头之后且在“----BEGIN PGP SIGNATURE----”出现之前,出现随后的“----BEGIN PGP MESSAGE----”报头,则可以将随后的报头当作消息分隔符。 In a variant embodiment, the application is also adapted to detect a subsequent start message header as a message delimiter within the portion of signed data defined at the beginning with the first start message header. For example, if the first "----BEGIN PGP MESSAGE----" header appears, it means signed data follows, and after the first header and after "----BEGIN PGP SIGNATURE----" Before, the following "----BEGIN PGP MESSAGE----" header appears, the following header can be used as a message delimiter. the
在步骤520处,定位在步骤510处接收的消息中的第一消息分隔符。典型地,第一消息分隔符在接收消息中的存在表示出现在第一消息分隔符之前的消息中的数据来源于在步骤510处接收的消息的发送者,而第一消息分隔符之后的数据来源于发送者之外的他人。例如,第一消息分隔符之后的数据可以属于在步骤510处接收的消息的发送者正回复或转发的旧消息。 At
消息可以包括也可以不包括已签名数据的一个或多个部分和相应的数字签名,两者都出现在第一消息分隔符之前。签名消息的这些部分最可能来源于在步骤510处接收的消息的发送者。可以按照公知的方式验证与出现在第一消息分隔符之前的已签名数据相对应的每一个数字签名(未示出该步骤)。 A message may or may not include one or more portions of signed data and a corresponding digital signature, both of which appear before the first message delimiter. These portions of the signed message most likely originated from the sender of the message received at
此外,在一个实施例中,对于与出现在第一消息分隔符之前的已签名数据相对应的每一个数字签名,应用程序适用于:(1)验证在步骤510处接收的消息的报头所识别的发送者地址同与用于产生与出现在第一消息分隔符之前的已签名数据相对应的各个数字签名的密钥相关联的地址相匹配;以及(2)如果发送者地址同与用于产生各个数字签名的密钥相关联的地址不匹配,向计算设备的用户通知地址失配,如步骤530所示。 Additionally, in one embodiment, for each digital signature corresponding to signed data that appears before the first message delimiter, the application is adapted to: (1) verify that the header of the message received at
为了确定与用于产生给定数字签名的密钥相关联的地址,必须在存储到可以提取地址的密钥存储器(例如在计算设备上或来自远程密钥存储器)中时,检索与密钥相关联的密钥持有人信息(未示出该步骤)。一旦确定了与密钥相关联的地址,则应用程序可以验证所确定的地址与发送者地址相匹配。 In order to determine the address associated with the key used to generate a given digital signature, the key associated with the key must be retrieved when stored into a key store from which the address can be extracted (for example, on a computing device or from a remote key store). Associated key holder information (this step is not shown). Once the address associated with the key is determined, the application can verify that the determined address matches the sender address. the
在变体实施例中,只有当管理计算设备使用的安全策略允许时,才可以执行在步骤530处的通知用户。例如,IT策略设置可以规定当检测到地址失配时在何种情况下应该通知计算设备的用户。 In a variant embodiment, notifying the user at
在步骤540处,确定在步骤520处定位的第一消息分隔符是否出现在在步骤510处接收的消息中的已签名数据的一部分中。例如,如果“----Original Message----”分隔符出现在消息中,在“----BEGIN PGPMESSAGE----”或“----BEGIN PGP SIGNED MESSAGE----”报头出现之后,但是在“----BEGIN PGP SIGNATURE----”出现之前,则这表示第一消息分隔符出现在已签名数据的一部分中。 At
如果确定第一消息分隔符未出现在已签名数据的一部分中,则这通常表示与被并入在步骤510处接收的消息的旧消息相关联的数据未由接收消息的发送者签名。如果确定第一消息分隔符未出现在已签名数据的一部分中,则可以针对消息中出现在第一消息分隔符之后的每一个数字签名,执行至少一个预定动作,这可以使通知给计算设备用户的误导地址失配错误的数目最小化。 If it is determined that the first message delimiter does not appear in a portion of the signed data, this generally indicates that the data associated with the old message incorporated into the message received at
例如,在本实施例中,如步骤550所示,针对出现在第一消息分隔符之后的数字签名的至少一个预定动作包括绕过发送者地址同与用于产生该数字签名的密钥相关联的地址相匹配的验证。作为另一种方式,为了检测地址失配,应用程序适用于忽略出现在第一消息分隔符之后的任何数字签名。 For example, in this embodiment, as shown in step 550, at least one predetermined action for a digital signature that appears after the first message delimiter includes bypassing the sender address associated with the key used to generate the digital signature The address matches the verification. Alternatively, to detect address mismatches, the application is adapted to ignore any digital signatures that appear after the first message delimiter. the
可以理解,应用程序可以验证数字签名本身(即解码数字签名以认证相应的已签名数据的签名人并确认消息完整性)(未示出该步骤)。 It will be appreciated that the application may verify the digital signature itself (ie decode the digital signature to authenticate the signer of the corresponding signed data and confirm message integrity) (this step is not shown). the
为了检测地址失配,通过忽略出现在第一消息分隔符之后的数字签名,可以消除用户被通知与旧消息相关的误导地址失配错误的可能性,只要正确地识别消息中的第一消息分隔符。这可以增强计算设备的适用性,并且当计算设备是移动设备时尤其有利。例如,对于用户,在移动设备上管理多个误导地址失配错误通知比较麻烦。 To detect address mismatches, by ignoring digital signatures that appear after the first message delimiter, the possibility of the user being notified of a misleading address mismatch error associated with an old message is eliminated, provided the first message delimiter in the message is correctly identified symbol. This can enhance the usability of the computing device and is especially advantageous when the computing device is a mobile device. For example, managing multiple misleading address mismatch error notifications on a mobile device is cumbersome for users. the
再次参考步骤540,如果确定第一消息分隔符出现在已签名数据的一部分中,则这通常表示与至少一个旧消息相关联的数据被并入了在步骤510处接收的消息并且由接收消息的发送者进行签名。应该存在与其中出现第一消息分隔符的该部分已签名数据相对应的数字签名,但是在第一消息分隔符之后。因此,在步骤560处,应用程序验证在步骤510处接收的消息报头所识别的发送者地址同与用于产生数字签名的密钥相关联的地址相匹配。在步骤570处,如果发送者地址 同与用于产生数字签名的密钥相关联的地址不匹配,向计算设备的用户通知地址失配。 Referring again to step 540, if it is determined that the first message delimiter is present in a portion of the signed data, this generally indicates that data associated with at least one old message was incorporated into the message received at
在两个或多个个体之间的谈话中例行地对消息的整个主体进行签名的情况下,通常将与在任意特定情况下接收的当前消息相对应的数字签名附加到消息的末端。因此,在这些情况下,当第一消息分隔符的确出现在已签名数据的一部分中时,与其中出现了第一消息分隔符的那部分已签名数据相对应的数字签名通常是消息中最后的数字签名(参见图5E)。 Where it is routine to sign the entire body of a message in a conversation between two or more individuals, a digital signature corresponding to the current message received under any particular circumstances is typically appended to the end of the message. Therefore, in these cases, when the first message delimiter does appear in a part of the signed data, the digital signature corresponding to that part of the signed data in which the first message delimiter occurs is usually the last in the message Digital signature (see Figure 5E). the
然而,通常,也可能与其中出现第一消息分隔符的那部分已签名数据相对应的数字签名不是消息中最后的数字签名。必须例如通过确定关于特定部分已签名数据成功地验证了出现在第一消息分隔符之后的哪个数字签名,确定正确的相应数字签名(未明确示出该步骤)。 In general, however, it is also possible that the digital signature corresponding to the portion of the signed data in which the first message delimiter occurs is not the last digital signature in the message. The correct corresponding digital signature must be determined, for example by determining which digital signature appearing after the first message delimiter was successfully verified with respect to a particular part of the signed data (this step is not explicitly shown). the
如上所述,为了确定与用于产生给定数字签名的密钥相关联的地址,必须在存储到从其可以提取地址的密钥存储器(例如在计算设备上或来自远程密钥存储器)中时检索与密钥相关联的密钥持有人信息(未示出该步骤)。一旦确定了与密钥相关联的地址,应用程序则可以验证其与发送者地址相匹配。 As noted above, in order to determine the address associated with the key used to generate a given digital signature, one must, when stored into a key store from which the address can be extracted (e.g., on a computing device or from a remote key store), Keyholder information associated with the key is retrieved (this step is not shown). Once the address associated with the key is determined, the application can verify that it matches the sender's address. the
在变体实施例中,只有当管理计算设备的使用的安全策略允许时,才可以执行在步骤570处的通知用户。例如,IT策略设置可以规定当检测到地址失配时,在何种情况下应该通知计算设备的用户。 In a variant embodiment, notifying the user at
在步骤580处,针对除了在步骤560处验证了地址匹配的数字签名之外出现在第一消息分隔符之后的消息中的每一个数字签名,执行至少一个预定动作,这可以使会通知给计算设备用户的误导地址失配错误的数目最小化。 At step 580, at least one predetermined action is performed for each digital signature in the message that appears after the first message delimiter except for the digital signature whose address was verified to match at
在该实施例中,针对除了在步骤560处验证了地址匹配的数字签名之外出现在第一消息分隔符之后的每一个数字签名的所述至少一个预定动作包括:绕过发送者地址同与用于产生数字签名的密钥相关联的地址相匹配的验证。作为另一种方式,为了检测地址失配,应用程序适用于忽略除了与其中出现了第一消息分隔符的已签名数据相对应的数字签名之外出现在第一消息分隔符之后的任何数字签名。 In this embodiment, the at least one predetermined action for each digital signature that appears after the first message delimiter except for the digital signature for which an address match was verified at
关于步骤550,可以理解,应用程序可以验证数字签名本身(即 解码数字签名以认证相应的已签名数据的签名人并确认消息完整性)(未示出该步骤)。 With regard to step 550, it is understood that the application may verify the digital signature itself (i.e., decode the digital signature to authenticate the signer of the corresponding signed data and confirm message integrity) (this step is not shown). the
此外,与关于步骤550所述类似,为了检测地址失配,通过忽略出现在第一消息分隔符之后的其它数字签名,可以消除用户被通知与旧消息相关的地址失配错误的可能性,只要正确地识别消息中的第一消息分隔符。这可以增强计算设备的适用性,并且当计算设备是移动设备时尤其有利。例如,对于用户,在移动设备上管理多个误导地址失配错误通知比较麻烦。 Furthermore, similar to that described with respect to step 550, for detecting address mismatches, by ignoring other digital signatures that appear after the first message delimiter, the possibility of the user being notified of an address mismatch error associated with an old message can be eliminated, as long as Correctly identify the first message delimiter in the message. This can enhance the usability of the computing device and is especially advantageous when the computing device is a mobile device. For example, managing multiple misleading address mismatch error notifications on a mobile device is cumbersome for users. the
参考图7B,另一个示范实施例中处理签名消息的方法的步骤的流程图如500b所示。 Referring to FIG. 7B , a flow chart of steps of a method for processing a signed message in another exemplary embodiment is shown at 500b. the
方法500b与方法500类似,除了针对出现在第一消息分隔符之后的数字签名所执行的所述至少一个预定动作(即,如果第一消息分隔符未出现在已签名数据的一部分中,则针对出现在第一消息分隔符之后的每一个数字签名,否则针对除了与其中出现了第一消息分隔符的那部分已签名数据相对应的数字签名之外出现在第一消息分隔符之后的每一个数字签名)包括:验证发送者地址同与用于产生数字签名的密钥相关联的地址相匹配,但是当发送者地址同与用于产生数字签名的密钥相关联的地址不匹配时,禁止向计算设备的用户通知地址失配。在步骤550b和580b处示出了该方法。前面已经参考图7A的方法500描述了方法500b的其它步骤。
在变体实施例中,只有当管理计算设备的使用的安全策略允许时,才可以执行在步骤550b和/或580b处的通知用户的禁止。例如,IT策略设置可以规定当检测到地址失配时在何种情况下应该通知计算设备的用户。 In a variant embodiment, the prohibition of notifying the user at
与参考图7A所述类似,为了确定与用于产生给定数字签名的密钥相关联的地址,必须在存储到从其可用提取地址的密钥存储器(例如在计算设备上或来自远程密钥存储器)中时检索与密钥相关联的密钥持有人信息(未示出该步骤)。一旦确定了与密钥相关联的地址,应用程序则可以验证它与发送者地址相匹配。 Similar to that described with reference to FIG. 7A , in order to determine the address associated with the key used to generate a given digital signature, it must be stored in the key store (e.g., on a computing device or from a remote key) from which the address can be extracted. memory) to retrieve the key holder information associated with the key (this step is not shown). Once the address associated with the key is determined, the application can verify that it matches the sender's address. the
还可以理解,应用程序可以验证数字签名本身(即解码数字签名以认证相应的已签名数据的签名人并确认消息完整性)(未示出该步 骤)。 It will also be appreciated that the application can verify the digital signature itself (i.e. decode the digital signature to authenticate the signer of the corresponding signed data and confirm message integrity) (this step is not shown). the
参考图7C,另一个示范实施例中处理签名消息的方法的步骤的流程图大致如500c所示。 Referring to FIG. 7C , a flow chart of the steps of the method for processing a signed message in another exemplary embodiment is generally shown at 500c. the
方法500c与方法500类似,除了试图针对出现在第一消息分隔符之后的数字签名提供语境以便可以进行地址匹配的正确验证。这可能向用户提供附加的安全性。例如,假设用户假定并入接收消息的一部分旧消息的发送者已经签名了该部分,如在谈话线程的文本中所示。然而,有可能谈话线程的旧消息中的“From:”行中所示的发送者或发送者地址改变了,使得看起来旧消息是由实际发送者之外的他人发送并签名。
关于方法550c所述的实施例通过确定同与并入在步骤510处接收的消息的旧消息相关联的、每一个特定部分已签名数据相关联的地址,来试图解决这种问题。 The embodiment described with respect to method 550c attempts to address this issue by determining the address associated with each particular portion of the signed data associated with the old message incorporated into the message received at
更具体地,除了假定与用于产生出现在接收消息中的数字签名的密钥相关联的地址应该与发送者地址相匹配之外,针对消息中每一部分已签名数据,试图确定部分专用地址,以便当检测到地址失配时可以匹配正确的地址。 More specifically, for each portion of signed data in a message, an attempt is made to determine a partial private address, in addition to assuming that the address associated with the key used to generate the digital signature that appears in the received message should match the sender's address, so that the correct address can be matched when an address mismatch is detected. the
具体地,在一个实施例中,针对出现在第一消息分隔符之后的数字签名的所述至少一个预定动作(即,如果第一消息分隔符未出现在已签名数据的一部分中,则针对出现在第一消息分隔符之后的每一个数字签名,否则针对除了与其中出现了第一消息分隔符的那部分已签名数据相对应的数字签名之外的、出现在第一消息分隔符之后的每一个数字签名)包括:(1)确定与数字签名对应于的那部分已签名数据相关联的部分专用地址,如步骤550c和580c处所示;(2)验证在步骤550c和580c处确定的部分专用地址同与用于产生数字签名的密钥相关联的地址相匹配,分别如步骤552c和582c处所示;以及(3)如果部分专用地址同与用于产生数字签名的密钥相关联的地址不匹配,向计算设备的用户通知地址失配,分别如步骤554c和584c处所示。前面已经参考图7A的方法500描述了方法500c的其它步骤。 Specifically, in one embodiment, said at least one predetermined action for a digital signature that occurs after a first message delimiter (i.e., if the first message delimiter does not occur in a part of the signed data, then for occurrences of For each digital signature that follows the first message delimiter, otherwise for each digital signature that occurs after the first message delimiter A digital signature) includes: (1) determining the portion private address associated with the portion of the signed data to which the digital signature corresponds, as shown at steps 550c and 580c; (2) verifying the portion determined at steps 550c and 580c The private address matches the address associated with the key used to generate the digital signature, as shown at steps 552c and 582c, respectively; and (3) if the partial private address matches the address associated with the key used to generate the digital signature The addresses do not match, and the user of the computing device is notified of the address mismatch, as indicated at
在一个实施例中,确定与对应于数字签名的那部分已签名数据相关联的部分专用地址的步骤(例如步骤550c、580c)包括:在可能的 情况下,从出现在紧接在数字签名与之相对应的那部分已签名数据之前的消息分隔符和那部分已签名数据之间的消息中的文本中,提取前一发送者的地址。通常,目的是首先确定被并入接收消息并且包含那部分已签名数据的旧消息开始之处,这通常由已签名数据之前最靠近的消息分隔符指示出。因此,在至少一些情况下,通常可以从出现在消息分隔符之后的报头中确定旧消息的发送者的部分专用地址,在这种情况下报头被设置在并入的文本中。 In one embodiment, the step of determining the portion of the private address associated with the portion of the signed data corresponding to the digital signature (e.g., steps 550c, 580c) includes, where possible, from the Extract the previous sender's address from the message delimiter preceding the corresponding portion of the signed data and from the text in the message between that portion of the signed data. Typically, the aim is to first determine where the old message that was incorporated into the received message and containing that portion of the signed data began, which is usually indicated by the closest message delimiter preceding the signed data. Thus, in at least some cases, the partial private address of the sender of the old message can often be determined from the header that appears after the message delimiter, in which case the header is set in the incorporated text. the
例如,考虑图6D的示例。已签名数据416是消息420中已经回复的来自报头412所示的Jane Doe的一部分原始消息。为了执行地址的正确匹配,可以提取出现在已签名数据416之前报头412中(即janedoe@xyz.com)的发送者地址,作为专门与已签名数据416以及相应的数字签名418相关联相对应的部分专用地址。然后,可以执行与相应的数字签名418相关联的地址同出现在报头412中的发送者的部分专用地址相匹配的验证,并且如果检测到地址失配,可以通知用户。类似地,关于数字签名408,可以提取出现在已签名数据406之前报头402中的发送者地址,作为专门与已签名数据406以及相应的数字签名406相关联的部分专用地址。然后可以执行与相应的数字签名408相关联的地址同出现在报头402中的发送者的部分专用地址相匹配的验证,并且如果检测到地址失配,可以通知用户。 For example, consider the example of Figure 6D. Signed
按照这种方式,即使当已签名数据和相应的数字签名是已经并入在计算设备处接收的消息的一部分旧消息时,也可以正确地检测地址失配错误。 In this way, address mismatch errors can be correctly detected even when the signed data and corresponding digital signature are part of an old message that has been incorporated into the message received at the computing device. the
与参考图7A所述类似,为了确定与用于产生给定数字签名的密钥相关联的地址,必须在存储到从其可以提取地址的密钥存储器(例如在计算设备上或来自远程密钥存储器)中时检索与密钥相关联的密钥持有人信息(未示出该步骤)。一旦确定了与密钥相关联的地址,则应用程序可以验证它与部分专用地址相匹配。 Similar to that described with reference to FIG. 7A , in order to determine the address associated with the key used to generate a given digital signature, it must be stored in a key store from which the address can be extracted (e.g., on a computing device or from a remote key). memory) to retrieve the key holder information associated with the key (this step is not shown). Once the address associated with the key is determined, the application can verify that it matches the partially private address. the
还可以理解,应用程序可以验证数字签名本身(即解码数字签名以认证相应的已签名数据的签名人并确认消息完整性)(未示出该步骤)。 It will also be appreciated that the application can verify the digital signature itself (ie decode the digital signature to authenticate the signer of the corresponding signed data and confirm message integrity) (this step is not shown). the
对于一些消息,在接收消息中也许没有明确地示出接收消息的发 送者地址或者已经被并入接收消息的旧消息的先前发送者地址。例如,当应用程序适用于处理消息使得发送者仅由给定消息的报头中的名称(例如容易由用户辨别的名称)识别时,会出现这种情况。 For some messages, the sender's address of the received message or the previous sender's address of an old message that has been incorporated into the received message may not be explicitly shown in the received message. This situation arises, for example, when an application is adapted to process messages such that the sender is identified only by a name in a header of a given message, such as a name that is easily discernible by a user. the
因此,在变体实施例中,确定与签名数字对应于的那部分已签名数据相关联的部分专用地址的步骤(例如步骤550c、580c)包括:(1)从出现在紧接在数字签名与之相对应的那部分已签名数据之前的消息分隔符和那部分已签名数据之间的消息中的文本中,提取前一发送者的名称;以及(2)在提取了名称的情况下,从地址簿中提取与提取的名称相关联的前一发送者地址,作为部分专用地址。通常,目的是首先确定已经被并入接收消息并且包含那部分已签名数据的旧消息开始之处,这通常由已签名数据之前最接近的消息分隔符指示。因此,在至少一些情况下,通常可以从出现在消息分隔符之后的报头中确定旧消息的发送者名称,在这种情况下报头被设置在并入的文本中。根据名称,可以试图从例如用户地址簿中的数据中确定与该名称相关联的部分专用地址。 Thus, in a variant embodiment, the step of determining the portion of the private address associated with the portion of the signed data to which the signature number corresponds (for example, steps 550c, 580c) includes: (1) starting from the from the message delimiter preceding the corresponding portion of the signed data and from the text in the message between that portion of the signed data, extracting the name of the previous sender; and (2) if the name is extracted, from The previous sender address associated with the extracted name is extracted from the address book as part of the private address. Typically, the aim is to first determine where an old message that has been incorporated into the received message and contains that portion of signed data begins, which is usually indicated by the closest message delimiter preceding the signed data. Thus, in at least some cases it is often possible to determine the sender name of an old message from a header that appears after the message delimiter, in which case the header is set in the incorporated text. From the name, an attempt can be made to determine the partial private address associated with the name from data in, for example, the user's address book. the
例如,考虑图6E的示例。已签名数据416是消息420中已经回复的、来自报头412所示的Jane Doe的一部分原始消息。为了执行地址的正确匹配,可以提取出现在已签名数据416之前报头412中的发送者名称(即Jane Doe)。然后,可以从用户地址簿中检索Jane Doe的地址,作为专门与已签名数据416和相应的数字签名418相关联的部分专用地址。然后,可以执行与相应的数字签名418相关联的地址同与出现在报头412中的名称相关联的发送者的部分专用地址相匹配的验证,并且如果检测到地址失配,可以通知用户。 For example, consider the example of Figure 6E. Signed
认为地址簿包括其中提供名称和相关地址的任何目录、列表或其它数据结构。地址簿的数据可以驻留在计算设备上,或者处于例如远程计算设备上的存储中。 An address book is considered to include any directory, list, or other data structure in which names and associated addresses are provided. The data of the address book may reside on the computing device, or be in storage on a remote computing device, for example. the
在该变体实施例中,仅在未在相应的报头中明确地提供前一发送者地址的情况下,可以从地址簿中检索前一发送者的地址。如果明确地提供了地址,提取的地址可以被用于如上所述地执行地址验证。 In this variant embodiment, the address of the previous sender can be retrieved from the address book only if the address of the previous sender is not explicitly provided in the corresponding header. If an address is explicitly provided, the extracted address can be used to perform address verification as described above. the
与参考图7A所述类似,为了确定与用于产生给定数字签名的密钥相关联的地址,必须在存储到从其可以提取地址的密钥存储器(例 如在计算设备上或来自远程密钥存储器)中时检索与密钥相关联的密钥持有人信息(未示出该步骤)。一旦确定了与密钥相关联的地址,则应用程序可以验证它与部分专用地址相匹配。 Similar to that described with reference to FIG. 7A , in order to determine the address associated with the key used to generate a given digital signature, it must be stored in a key store from which the address can be extracted (e.g., on a computing device or from a remote cryptographic key). Keyholder information associated with the key is retrieved when stored in the key store (this step is not shown). Once the address associated with the key is determined, the application can verify that it matches the partially private address. the
还可以理解,应用程序可以验证数字签名本身(即解码数字签名以认证相应的已签名数据的签名人并确认消息完整性)(未示出该步骤)。 It will also be appreciated that the application can verify the digital signature itself (ie decode the digital signature to authenticate the signer of the corresponding signed data and confirm message integrity) (this step is not shown). the
参考图7A至7C所述的方法的实施例仅作为示例,并且在变体实施例中可以使用其它技术,以使可能由适用于检测地址失配错误的计算设备所产生的误导或不正确的地址失配错误的数目最小化。具体地,可以应用其它的探索,以有助于确定对于特定消息结构、何时通知用户地址失配错误可能是不适当的。 The embodiment of the method described with reference to FIGS. 7A to 7C is by way of example only, and other techniques may be used in variant embodiments to make misleading or incorrect information that may be generated by a computing device adapted to detect an address mismatch error The number of address mismatch errors is minimized. In particular, other heuristics may be applied to help determine when it may be inappropriate to notify a user of an address mismatch error for a particular message structure. the
此外,在变体实施例中,在执行发送者地址或部分专用地址同与用于产生特定数字签名的密钥相关联的地址相匹配的验证的情况下,对于出现在第一消息分隔符之前或之后的数字签名,在检测到地址失配的情况下,计算设备还适用于禁止向用户显示消息本身或消息的一个或多个部分。只有当管理计算设备的使用的安全策略允许时,才可以执行禁止显示至少一部分消息。例如,IT策略设置可以规定当检测到地址失配时在何种情况下应该显示消息(或其一部分)。当禁止了至少一部分消息的显示时,通常向用户通知禁止消息显示的原因是检测到地址失配错误。 Furthermore, in a variant embodiment, in case a verification is performed that the address of the sender or part of the private address matches the address associated with the key used to generate the particular digital signature, for the or subsequent digital signatures, the computing device is further adapted to suppress display of the message itself or one or more parts of the message to the user in the event of an address mismatch being detected. Suppressing display of at least a portion of the message may be performed only if permitted by a security policy governing use of the computing device. For example, an IT policy setting may specify under what circumstances a message (or a portion thereof) should be displayed when an address mismatch is detected. When the display of at least a part of the message is suppressed, the user is generally notified that the reason for suppressing the display of the message is the detection of an address mismatch error. the
还可以理解,在给定实现中可以采用此处所述各个实施例的特征的组合。例如,可以针对消息中特定已签名数据部分做出确定部分专用地址的尝试,以便执行地址匹配验证,而仅仅绕过且忽略消息中其它数据部分。针对并入接收消息的特定旧消息是否执行地址匹配的验证可以取决于例如在给定谈话线程中特定旧消息有多旧。例如,可以由管理计算设备的使用的安全策略规定(例如,如IT策略设置中所指示的)应该应用于已签名数据的给定部分和并入接收消息中的旧消息的相应数字签名的技术。 It is also understood that combinations of the features of the various embodiments described herein may be employed in a given implementation. For example, an attempt to determine a portion-specific address may be made for a particular signed data portion in a message in order to perform address match verification, while other data portions in the message are simply bypassed and ignored. Whether a verification of an address match is performed for a particular old message incorporated into a received message may depend, for example, on how old the particular old message is in a given conversation thread. For example, the technique that should be applied to a given portion of signed data and the corresponding digital signature of an older message incorporated into a received message may be dictated by a security policy governing the use of the computing device (e.g., as indicated in an IT policy setting) . the
可以作为存储在包括传输型(transmission-type)介质的计算机可读介质上的可执行软件指令来提供此处所述的方法的步骤。 The steps of the methods described herein may be provided as executable software instructions stored on a computer-readable medium, including transmission-type media. the
可以参考多个实施例描述了本发明。然而,本领域的技术人员可 以理解,在不脱离所附权利要求所限定的本发明范围下,可以做出其它的变化和修改。 The invention has been described with reference to a number of embodiments. However, it will be appreciated by those skilled in the art that other changes and modifications can be made without departing from the scope of the present invention as defined in the appended claims. the
Claims (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 (en) | 2007-01-31 |
| CN1905449B true CN1905449B (en) | 2011-04-06 |
Family
ID=35079179
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN2006101055295A Expired - Fee Related CN1905449B (en) | 2005-07-29 | 2006-07-14 | Method and apparatus for processing digitally signed messages to determine address mismatches |
Country Status (6)
| Country | Link |
|---|---|
| EP (1) | EP1748614B1 (en) |
| CN (1) | CN1905449B (en) |
| AT (1) | ATE377900T1 (en) |
| CA (1) | CA2549585C (en) |
| DE (1) | DE602005003221T2 (en) |
| SG (1) | SG129350A1 (en) |
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 (en) * | 2008-08-07 | 2011-09-14 | 四川长城天讯数码技术有限公司 | Copyright protection method and system for downloading data by portable terminal |
| EP2458812B1 (en) * | 2010-11-29 | 2016-09-14 | BlackBerry Limited | Server and method of signing a message |
| LU102626B1 (en) * | 2021-03-01 | 2022-09-01 | Wenzl Ehm Alexander | Process for the transmission of encrypted messages |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1636365A (en) * | 2002-02-22 | 2005-07-06 | Rpost国际公司 | Systems and methods for authenticating delivery and content of electronic messages |
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 EP EP05107025A patent/EP1748614B1/en not_active Expired - Lifetime
- 2005-07-29 DE DE602005003221T patent/DE602005003221T2/en not_active Expired - Lifetime
- 2005-07-29 AT AT05107025T patent/ATE377900T1/en not_active IP Right Cessation
-
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/en not_active Expired - Fee Related
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1636365A (en) * | 2002-02-22 | 2005-07-06 | Rpost国际公司 | Systems and methods for authenticating delivery and content of electronic messages |
Also Published As
| Publication number | Publication date |
|---|---|
| CN1905449A (en) | 2007-01-31 |
| DE602005003221T2 (en) | 2008-08-28 |
| ATE377900T1 (en) | 2007-11-15 |
| DE602005003221D1 (en) | 2007-12-20 |
| SG129350A1 (en) | 2007-02-26 |
| EP1748614A1 (en) | 2007-01-31 |
| CA2549585C (en) | 2011-05-03 |
| EP1748614B1 (en) | 2007-11-07 |
| CA2549585A1 (en) | 2007-01-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8090786B2 (en) | Method and apparatus for processing digitally signed messages to determine address mismatches | |
| US9237148B2 (en) | System and method for displaying a security encoding indicator associated with a message attachment | |
| KR101072942B1 (en) | Providing certificate matching in a system and method for searching and retrieving certificates | |
| US8914860B2 (en) | System and method for associating message addresses with certificates | |
| US9350689B2 (en) | Systems and methods for protecting header fields in a message | |
| US8019085B2 (en) | System and method for sending encrypted messages to a distribution list | |
| CN100536395C (en) | System and method for verifying digital signatures on certificates | |
| US8542824B2 (en) | System and method for processing messages with encryptable message parts | |
| CN101027869B (en) | System and method for determining a security encoding to apply to an outgoing message | |
| US20090216678A1 (en) | System and method for facilitating secure communication of messages associated with a project | |
| CA2639092C (en) | System and method for displaying a security encoding indicator associated with a message attachment | |
| US8463863B2 (en) | Systems and methods for protecting header fields in a message | |
| CN1905449B (en) | Method and apparatus for processing digitally signed messages to determine address mismatches | |
| CN101420664B (en) | System and method for controlling message attachment handling functions on a mobile device | |
| CA2587155C (en) | System and method for processing messages with encryptable message parts |
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: 20240529 Address after: Ai Erlandubailin Patentee after: Maliki Innovation Co.,Ltd. Country or region after: Ireland Address before: Voight, Ontario, Canada Patentee before: BlackBerry Ltd. Country or region before: Canada |
|
| CF01 | Termination of patent right due to non-payment of annual fee | ||
| CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110406 |