1. Field of the Invention
Certain exemplary embodiments disclosed herein relate generally to an electronic messaging system that is capable of processing encoded and/or encrypted messages and information. In particular, certain exemplary embodiments disclosed herein are directed to a system and/or method in which one or more indicators are associated with an electronic message displayed on a mobile wireless communications device and activated to indicate to a user of the mobile wireless communications device an aspect of the message that is at least not initially known to the device. For example, one or more indicators may indicate whether a received message is encrypted and/or includes any attachments apart from the encoding and/or encryption data itself. Thus, any displayed indicators are consistent with the actual properties of the received message.
2. Related Art
Exchanging cryptographically encoded secure electronic messages and data, such as, for example, e-mail messages, is well known. In many known electronic message exchange schemes, signatures, encryption or both are commonly used to ensure the integrity and confidentiality of information being exchanged between a sender and a recipient of the electronic messages. In an e-mail system, for example, the sender of an e-mail message may either sign the message, encrypt the message or both sign and encrypt the message. These actions may be performed using well-known standards, such as, for example, Secure Multipurpose Internet Mail Extensions (S/MIME), OpenPGP, and numerous other secure e-mail standards.
Generally, an e-mail client operating on a mobile wireless communications device is responsible for receiving and processing received e-mail messages. For example, when an e-mail message is received, many aspects of the message can be conveyed in the indicators (e.g., icons, textual descriptions, flags, checkboxes, and the like) that are displayed in a message list of the e-mail client. Two such exemplary aspects are whether the message includes an attachment, and whether the message is an S/MIME message. Indicators often are helpful to a user of the mobile wireless communications device, for example, to sort through e-mail messages in search of a particular e-mail message or attachment to a particular e-mail message, to determine whether decryption will be necessary (in which case a key may need to be entered), etc.
Exemplary embodiments of the present invention will be better understood and appreciated in conjunction with the following detailed description of exemplary embodiments taken together with the accompanying drawings, in which:
In the case of encrypted S/MIME messages, a problem exists because some aspects of the message cannot be determined when an encrypted e-mail message is received, because the e-mail message is encrypted. For example, one such aspect that cannot be determined is whether the message includes logical attachments.
More particularly, when a message sender composes an encrypted S/MIME message, the sender may include message body text and any number of attachments. These logical message parts are encoded according to the MIME specification, and then the entire MIME structure is encrypted. The resulting binary data, in turn, is placed inside an “attachment” part of an e-mail message with a particular content type that identifies it as encrypted S/MIME data. Thus, the e-mail message that is actually sent to the recipient, at the internet transport level, may appear to be a message with a single attachment. However, as noted above, the logical contents of that message (e.g., what the recipient expects to see when the message is decrypted and rendered) may include message body text and any number of attachments. The outer S/MIME attachment is really just an “envelope” for the logical contents of the message. However, until that envelope is “opened” (e.g., decrypted) the recipient cannot detect any information about the logical contents. Specifically, for example, the recipient cannot determine whether the logical contents include an attachment.
Typically, e-mail clients will deal with the lack of information by choosing a consistent approach that is occasionally incorrect. For example, in Microsoft® Outlook®, the e-mail client always displays the attachment indicator for encrypted S/MIME messages, even though some of these messages do not contain logical attachments. In certain mobile wireless communication devices that accommodate S/MIME transmissions, the message list never displays the attachment indicator for encrypted S/MIME messages, even though some of these messages do contain attachments.
In view of the foregoing, we have now identified an efficient and easy to implement system and method for reducing inconsistencies with indicators indicating message properties and the actual message properties. Program logic is provided for opening at least a part of a message received by a mobile device and/or for enabling a user to open at least part of a message received by a mobile device, and for activating at least two indicators. At least one of the indicators corresponds to an aspect of the message that is at least not initially apparent based on the message's content. For example, indicators may correspond to whether the message is encoded and/or encrypted and whether the encoded and/or encrypted message includes any attachments independent of the encoding and/or encryption itself, e.g., indicating whether there are any logical attachments to the message.
According to an exemplary embodiment of the present disclosure, techniques for processing electronic messages are provided. A server is capable of receiving an encoded message intended for a mobile device. Program logic resident on the server is capable of processing the encoded message at the server to forward at least part of the encoded message to the mobile device. A wireless communications device capable of receiving messages from the server may include program logic for determining whether a message is encoded and whether a message includes an attachment independent of any encoding attachments. One or more indicators may be displayed on the wireless communications device to indicate whether the message is encoded and whether the message includes an attachment independent of any encoding attachments.
The foregoing exemplary embodiments provide a solution to the problem of having inconsistencies between message indicators and actual message properties. More particularly, indicators associated with messages received by an e-mail client may be updated once the required information becomes available so that the indicators become consistent with the message properties. These techniques may be used in connection with any message properties or aspects at least not initially apparent based on the message's content and/or information available to the e-mail client. The indicators may be updated via direct user action, or transparently and/or free from direct user input to said device.
Exemplary advantages attendant with various embodiments of the invention described above are provided by the method and system of dynamically updating message list indicators on the device disclosed and described herein with reference to the drawings.
An e-mail sender system 10 may, for example, be connected to an ISP (Internet Service Provider) on which a user of the system 10 has an account, located within a company, possibly connected to a local area network (LAN), and connected to the Internet 20, or connected to the Internet 20 through a large ASP (application service provider) such as America Online (AOL). Those skilled in the art will appreciate that the systems shown in
The message server 40 may be implemented, for example, on a network computer within the firewall of a corporation, a computer within an ISP or ASP system or the like, and acts as the main interface for e-mail exchange over the Internet 20. Although other messaging systems might not require a message server system 40, a mobile device 100 configured for receiving and possibly sending e-mail will normally be associated with an account on a message server. Perhaps the most common message servers are Microsoft Exchange™, Novell GroupWise™ and Lotus Domino™. These products are often used in conjunction with Internet mail routers that route and deliver mail. These intermediate components are not shown in
The wireless gateway 85 and infrastructure 90 provide a link between the Internet 20 and wireless network 105. The wireless infrastructure 90 determines the most likely network for locating a given user and tracks the user as they roam between countries or networks. A message is then delivered to the mobile device 100 via wireless transmission, typically at a radio frequency (RF), from a base station in the wireless network 105 to the mobile device 100. The particular network 105 may be virtually any wireless network over which messages may be exchanged with a mobile communication device.
As shown in
Regardless of the specific mechanism controlling the forwarding of messages to the mobile device 100, the message 15, or possibly a translated or reformatted version thereof, is sent to the wireless gateway 85. The wireless infrastructure 90 includes a series of connections to wireless network 105. These connections could be Integrated Services Digital Network (ISDN), Frame Relay or T1 connections using the TCP/IP protocol used throughout the Internet. As used herein, the term “wireless network” is intended to include at least one of three different types of networks, those being (1) data-centric wireless networks, (2) voice-centric wireless networks and (3) dual-mode networks that can support both voice and data communications over the same physical base stations. Combined dual-mode networks include, but are not limited to, (1) Code Division Multiple Access (CDMA) networks, (2) the Groupe Special Mobile or the Global System for Mobile Communications (GSM) and the General Packet Radio Service (GPRS) networks, and (3) third-generation (3G) networks or beyond like Enhanced Data-rates for Global Evolution (EDGE), Universal Mobile Telecommunications Systems (UMTS) and High-Speed Packet Access (HSPA). Some older examples of data-centric network include the Mobitex“M Radio Network and the DataTAC” Radio Network. Examples of older voice-centric data networks include Personal Communication Systems (PCS) networks like GSM, and TDMA systems.
The central host system 300 will typically be a corporate office or other LAN, but may instead be a home office computer or some other private system where mail messages are being exchanged. Within the host system 300 is the message server 400, running on some computer within the firewall of the host system, that acts as the main interface for the host system to exchange e-mail with the Internet 20. In the system of
As shown in
In the automatic redirection system of
With reference back to the port 50 and/or cradle 65 connectivity to the mobile device 100, this connection path offers many advantages for enabling one-time data exchange of large items, For those skilled in the art of personal digital assistants (PDAs) and synchronization, the most common data exchanged over this link is Personal Information Management (PIM) data 55. When exchanged for the first time this data tends to be large in quantity, bulky in nature and requires a large bandwidth to get loaded onto the mobile device 100 where it can be used on the road. This serial link may also be used for other purposes, including setting up a private security key 111 such as an S/MIME or PGP specific private key, the Certificate (Cert) of the user and their Certificate Revocation Lists (CRLs) 60. The private key is exchanged so that the desktop 35 and mobile device 100 share one personality and one method for accessing all mail. The Cert and CRLs are normally exchanged over such a link because they represent a large amount of the data that is required by the device for S/MIME, PGP and other public key security methods.
As depicted in
The mobile communications device 100 will also typically include a main control CPU 106 that operates under the control of a stored program in program memory 108, and which has access to data memory 110. CPU 106 also communicates with a conventional keyboard 112 and display 114 (for example, a liquid crystal display or LCD) and audio transducer or speaker 116. A portion of the data memory 310 is available for storing data required for decrypting encrypted messages, such as, for example, private keys, digital certificates, and the like. Suitable computer program executable code is stored in portions of the program memory 108 to constitute stored program logic for receiving and using new or added private keys and/or digital certificates or the like as described below (for example, via a wired serial I/O port or the wireless RF antenna 102).
As depicted in
As previously described, there is a communications link (for example, depicted in dotted lines at 30 in
L-mail messages generated using the S/MIME and PGP techniques may include encrypted information, a digital signature on the message contents, or both. In signed S/MIME operations the sender takes a digest of a message and signs the digest using the sender's private key. A digest generally refers to a checksum, cyclic redundancy check (CRC) or other non-reversible operation such as a hash of the message, which is then signed. The signed digest is appended to the outgoing message, possibly along with the certificate of the sender and possibly any required certificates or CRLs. The receiver of this signed message must also take a digest of the message, compare this digest with the digest appended to the message, retrieve the sender's public key, and verify the signature on the appended digest. If the message content has been changed, the digests will be different or the signature on the digest will not verify properly. If the message is not encrypted, this signature does not prevent anyone from seeing the contents of the message, but does ensure that the message has not been tampered with and is from the actual person as indicated on the “from” field of the message.
The receiver may also verify the certificate and CRL if they were appended to the message. A certificate chain comprises a certificate along with a number of other certificates required to verify that the original certificate is authentic. While verifying the signature on a signed message, the receiver of the message will also typically obtain a certificate chain for the signing certificate and verify that each certificate in the chain was signed by the next certificate in the chain, until a certificate is found that was signed by a root certificate from a trusted source, such as, for example, a large Public Key Server (PKS) associated with a Certificate Authority (CA), such as, for example, Verisign or Entrust, both prominent companies in the field of public key cryptography. Once such a root certificate is found, a signature can be verified and trusted, since both the sender and receiver trust the source of the root certificate.
In encrypted S/MIME message operations, a one-time session key is generated and used to encrypt the body of the message, typically with a symmetric cipher, such as, for example, Triple DES. The session key is then encrypted using the receiver's public key, typically with a public key encryption algorithm like RSA. If the message is addressed to more than one receiver, the same session key is encrypted using the public key of each receiver. The encrypted message body, as well as all encrypted session keys, is sent to every receiver. Each receiver must then locate its own session key, possibly based on a generated Recipient Info summary of the receivers that may be attached to the message, and decrypt the session key using its private key. Once the session key is decrypted, it is then used to decrypt the message body. The S/MIME Recipient Info attachment can also specify the particular encryption scheme that must be used to decrypt the message. This information is normally placed in the header of the S/MIME message. Those skilled in the art will appreciate that these operations relate to an illustrative example of S/MIME messaging and its associated encoding operations, namely encryption. It will also be understood that the instant disclosure is in no way limited thereto.
For example, when an encrypted S/MIME message arrives, it initially has an S/MIME indicator icon associated therewith, such as, for example, a key or lock. When the message is opened, if the message has any logical attachments, a separate indicator (e.g., a paperclip icon) may be activated, for example, to indicate that the message has one or more attachments. Initially, the device may not know whether the message has any logical attachments, as information pertaining to logical attachments may not be present in the data that is stored locally on the device. In such a case, the device may have to wait to update the indicator until after the attachment structure has been requested (e.g., from the server). In other words, the device does not necessarily receive all of the message data in a single transmission. Typically, the device receives and stores an initial portion of the message, possibly followed by additional portions of the message that are then appended to the data stored locally. These additional portions may include, for example, logical and other attachments.
It is understood that the indicators of certain exemplary embodiments are not limited to attachment indicators. Rather, indicators may be activated with respect to any aspect of the message that is at least not initially known to the device. For example, when a message is encrypted, information may not become available until some time after the message is received and, in some cases, until after the message has been decrypted.
Also provided is information pertaining to two received e-mail messages. As shown in
However, in
Some or all of the functionality may be performed automatically and directly by the device (e.g., without any substantial direct user interaction), an e-mail client running on the device, and/or other suitable message indicator circuitry. For example, if a user's private key, password, or other authentication credential is stored on the device (e.g., in cache), the message may be automatically opened and the indicators may be automatically updated. This process may be performed transparently such that, in addition to requiring no substantial direct user interaction, the user is not necessarily aware that the message is being decrypted, temporarily opened, and then closed again.
One or more sub-steps may be included during the process of decrypting the message and examining its contents to determine whether there are any attachments 910. For example, if the device has not downloaded the encrypted data in its entirety, it generally cannot detect attachments if they begin past the point at which the data was truncated. In such a case, the device may need to download the encrypted data completely before proceeding, or it may need to consult (e.g., query and/or exchange data with) a server in order to inquire whether there were attachments to the message. Furthermore, if a server is involved, the device may need to send cryptographic information to the server in order to grant the server access to the message contents. This “round-trip” idea for retrieving attachment information from a server is described, for example, in co-pending, commonly assigned U.S. patent application Ser. No. 10/805,932 entitled “System and Method for Viewing Message Attachments,” to inventors Brown et al., the disclosure of which is incorporated herein in its entirety.
As shown in
While the foregoing has been described in conjunction with specific exemplary embodiments, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art. Accordingly, the exemplary embodiments set forth herein are intended to be illustrative, not limiting. Various changes may be made without departing from the true spirit and full scope of the invention as defined in the appended claims.
As used herein, the wording “and/or” is intended to represent an inclusive-or. That is “X and/or Y” is intended to mean X or Y or both. Moreover, “X, Y, and/or Z” is intended to mean X or Y or Z or any combination thereof.