Source: http://www.freepatentsonline.com/9628269.html
Timestamp: 2018-02-17 21:30:12
Document Index: 450236456

Matched Legal Cases: ['Application No. 028197984', 'Application No. 2', 'Application No. 02752898', 'Application No. 02752898', 'Application No. 02752898', 'Application No. 02754007', 'Application No. 02754007']

System and method for secure message key caching in a mobile communication device - BlackBerry Limited
United States Patent 9628269
Kirkup, Michael G. (Kingston, CA)
10/483282
G06F17/30; G06F21/00; G06F21/60; H04L9/08; H04L9/32; H04L12/28; H04L12/56; H04L12/58; H04L29/06; H04W12/00; H04W12/02; H04W12/08; H04W74/00
380/270, 380/277, 713/153, 713/155, 713/156, 713/160, 713/163, 726/5
Download PDF 9628269 PDF help
8661267 System and method for processing encoded messages 2014-02-25 Little
20110320807 SYSTEM AND METHOD FOR PROCESSING ENCODED MESSAGES 2011-12-29 Little et al.
8019081 System and method for processing encoded messages 2011-09-13 Little
20100124333 System and Method for Processing Encoded Messages for Exchange with a Mobile Data Communication Device 2010-05-20 Godfrey et al.
20100122089 SYSTEM AND METHOD FOR COMPRESSING SECURE E-MAIL FOR EXCHANGE WITH A MOBILE DATA COMMUNICATION DEVICE 2010-05-13 Godfrey et al.
20100115264 System and Method for Processing Encoded Messages for Exchange with a Mobile Data Communication Device 2010-05-06 Godfrey et al.
20090292916 Certificate Management and Transfer System and Method 2009-11-26 Little
7499551 Public key infrastructure utilizing master key encryption 2009-03-03 Mire 380/279
20080016359 SYSTEM AND METHOD FOR COMPRESSING SECURE E-MAIL FOR EXCHANGE WITH A MOBILE DATA COMMUNICATION DEVICE 2008-01-17 Godfrey et al.
7299502 System and method for providing customized secure access to shared documents 2007-11-20 Schmeling et al. 726/29
20070083749 Systems and methods for automated exchange of electronic mail encryption certificates 2007-04-12 Fang
7028186 Key management methods for wireless LANs 2006-04-11 Stenman et al. 713/173
20060059332 System and method for searching and retrieving certificates 2006-03-16 Adams et al.
20060036848 System and method for enabling bulk retrieval of certificates 2006-02-16 Brown et al.
6993137 Method and system to securely distribute content via a network 2006-01-31 Fransdonk 380/279
20060015722 Security systems and services to provide identity and uniform resource identifier verification 2006-01-19 Rowan et al.
20050222991 Information providing apparatus, information providing method, information providing program, and recording medium 2005-10-06 Ikenoya
20050210289 System and method for viewing message attachments 2005-09-22 Brown
6925568 Method and system for the processing of messages in a telecommunication system 2005-08-02 Heinonen 713/193
6921532 Biological Bioadhesive composition and methods of preparation and use 2005-07-26 Davis et al.
6918038 System and method for installing an auditable secure network 2005-07-12 Smith et al. 726/22
20050149442 Certificate information storage system and method 2005-07-07 Adams et al.
20050148323 System and method for supporting multiple certificate status providers on a mobile communication device 2005-07-07 Little et al.
20050039100 Method and system for automatic error recovery in an electronic mail system 2005-02-17 Bade et al.
6819766 Method and system for managing keys for encrypted data 2004-11-16 Weidong 380/277
20040205248 System and method for secure message key caching in a mobile communication device 2004-10-14 Little et al.
20040202327 System and method for processing encoded messages 2004-10-14 Little
20040196978 System and method for processing encoded messages for exchange with a mobile data communication device 2004-10-07 Godfrey et al.
6754276 System stream creating apparatus which adjusts system clock reference based on total number of pictures to be stored and decoded during certain time period 2004-06-22 Harumoto et al.
6693964 Methods and arrangements for compressing image based rendering data using multiple reference frame prediction techniques that support just-in-time rendering of an image 2004-02-17 Zhang et al.
20030206635 APPARATUS AND METHOD FOR ENCODING AND STORAGE OF DIGITAL IMAGE AND AUDIO SIGNALS 2003-11-06 Morley et al. 380/269
6577734 Data encryption key management system 2003-06-10 Etzel et al. 380/277
20030002671 Delivery of electronic content over a network using a hybrid optical disk for authentication 2003-01-02 Inchalik et al. 380/202
20020138722 Encrypted key cache 2002-09-26 Douceur et al. 713/153
20020136410 Method and apparatus for extinguishing ephemeral keys 2002-09-26 Hanna 380/277
20020112168 System and method for computerized global messaging encryption 2002-08-15 Filipi-Martin 713/183
20020019935 Encrypting file system and method 2002-02-14 Andrew et al. 713/165
6229894 Method and apparatus for access to user-specific encryption information 2001-05-08 Van Oorschot et al. 713/150
6209098 Circuit and method for ensuring interconnect security with a multi-chip integrated circuit package 2001-03-27 Davis 713/194
6141422 Secure cryptographic multi-exponentiation method and coprocessor subsystem 2000-10-31 Rimpo et al. 380/44
6128724 Computation using codes for controlling configurable computational circuit 2000-10-03 Lee et al.
6084968 Security token and method for wireless applications 2000-07-04 Kennedy et al.
6009173 Encryption and decryption method and apparatus 1999-12-28 Sumner 713/156
5778346 System and methods for appointment reconcilation 1998-07-07 Frid-Nielson
5410602 Method for key management of point-to-point communications 1995-04-25 Finkelstein et al. 380/281
CA2476914A1 2006-02-09 SYSTEM AND METHOD FOR CERTIFICATE SEARCHING AND RETRIEVAL
CA2454218A1 2003-01-23 SYSTEM AND METHOD FOR SECURE MESSAGE KEY CACHING IN A MOBILE COMMUNICATION DEVICE
CNZL200810009944 December, 2011
CN1554176B 2012-12-05 Method for processing encrypted message in wireless mobile communication device and device for processing multiple access for encrypted contents
EP0500222 1992-08-26 Method for reconciling entries in a plurality of lists
GB2328125A 1999-02-10 Network control system
JP06276221 September, 1994
JP07162407 June, 1995
JP09046330 February, 1997
JP10107832 April, 1998
JP11272581 October, 1999
JP11272582 October, 1999
JP2001103571A 2001-04-13 MOBILE COMMUNICATION SERVICE PROVIDING SYSTEM
JP2001197055A 2001-07-19 DEVICE, METHOD, AND SERVICE SYSTEM FOR PROXY AUTHENTICATION AND COMPUTER-READABLE RECORDING MEDIUM
JP2002535884A 2002-10-22 ウェブをベースとする機密保護電子メールメッセージの配布
JP2004048139A 2004-02-12 IMAGE TRANSMISSION SYSTEM, IMAGE RELAY APPARATUS AND ELECTRONIC IMAGE APPARATUS
WO1994012938A1 1994-06-09 HANDHELD COMPUTER WITH AUTOMATIC DATA SYNCHRONIZATION WITH HOST COMPUTER
WO1999017564A1 1999-04-08 METHOD AND APPARATUS FOR PROVIDING SUBSCRIBER IDENTIFICATION PROTECTION TO A RECEIVER
WO1999063709A2 1999-12-09 SYSTEM AND METHOD FOR PUSHING INFORMATION FROM A HOST SYSTEM TO A MOBILE DATA COMMUNICATION DEVICE
WO2001001644A1 2001-01-04 APPARATUS FOR SECURING USER'S INFORMATION IN A MOBILE COMMUNICATION SYSTEM CONNECTED TO THE INTERNET AND METHOD THEREOF
WO2001016933A1 2001-03-08 DEVICE FOR DATA REPRODUCTION
WO2001041353A2 2001-06-07 METHOD AND APPARATUS FOR SENDING ENCRYPTED ELECTRONIC MAIL THROUGH A DISTRIBUTION LIST EXPLODER
WO2001071608A2 2001-09-27 SYSTEM, METHOD AND APPARATUS FOR CONTROLLING THE DISSEMINATION OF DIGITAL WORKS
WO2002101580A1 2002-12-19 CERTIFICATE MANAGEMENT AND TRANSFER SYSTEM AND METHOD
WO2003009561A2 2003-01-30 A SYSTEM AND METHOD FOR SUPPORTING MULTIPLE CERTIFICATE AUTHORITIES ON A MOBILE COMMUNICATION DEVICE
WO2003015367A2 2003-02-20 SYSTEM AND METHOD FOR PROCESSING ENCODED MESSAGES
WO2003079627A2 2003-09-25 SYSTEM AND METHOD FOR SUPPORTING MULTIPLE CERTIFICATE STATUS PROVIDERS ON A MOBILE COMMUNICATION DEVICE
WO2003079628A1 2003-09-25 CERTIFICATE INFORMATION STORAGE SYSTEM AND METHOD
CN200810009944A 2002-08-06
WO2001063386A1 2001-08-30
JPH0946330A 1997-02-14
JPH10107832A 1998-04-24
JPH07162407A 1995-06-23
JPH11272581A 1999-10-08
JPH06276221A 1994-09-30
JPH11272582A 1999-10-08
S. Dusse et al.: “S/MIME Version 2 Certificate Handling,” Database IETF RFC Online IETF; RFC 2312, Mar. 1998, XP902220385, pp. 1-20 (Chapter 2.1, Chapter 4.1).
M. Brown et al.: “PGP in Constrained Wireless Devices,” Proceedings of the Usenix Security Symposium, Aug. 14, 2000, pp. 247-261, XP002210575 (Chapter 1, Chapter 2, Chapter 3, Chapter 4).
Hoffman: “Enhanced Services for S/MIME,” Database IETF RFC Online IETF; RFC 2634, Jun. 1999, pp. 1-58, XP002220386 (Chapter 3, pp. 24-32).
Chinese Office Action, issued Mar. 9, 2007, for Chinese Patent Application 02817741.X, along with an English translation thereof.
Stallings, W.: “S/MIME: E-Mail Gets Secure”. Byte, McGraw-Hili Inc., St. Peterborough, US, vol. 23, No. 7, Jul. 1998, pp. 41-42, XP000774260.
Research in Motion Limited, Blackberry Security White Paper Release 4.0. 2005 Internet Address: http://blackberry.comlknowledgecenterpublicIlivelink.exe?func=II&objld=S2S044&objAction=browse&sort=name.
Brown I., et al.: “A Proxy Approach to E-Mail Security”, Software Practice & Experience, John Wiley & Sons Ltd. Chichester, GB, vol. 29, No. 12, Oct. 1999 (Oct. 1999), pp. 1049-1060, XP000852351.
Subramanyam V., et al.: “Security in mobile systems”, Reliable Distributed Systems, 1998 Proceedings. 17th IEEE Symposium on W. Lafayette, in, USA, Oct. 20-23, 1998, Los Alamitos, CA, USA, IEEE Comput. Soc., US, Oct. 20, 1998 (Oct. 20, 1998), pp. 407-412, XP010319125.
Lai, M.K.E., et al.: “A Mobile Subscriber Proxy Preserving Writer-to-Reader Message Security”, Military Communications Conference, 1996, Milcom '96, Conference Proceedings, IEEE McLean, VA, USA Oct. 21-24, 1996, New York, NY, USA, IEEE, US, Oct. 21, 1996 (Oct. 21, 1996), pp. 461-467, XP010203896.
Cole R., et al: “An Acrhitecture for a Mobile OSI Mail Access System”, IEEE Journal on Selected Areas in Communications, IEEE Inc., New York, US, vol. 7, No. 2, Feb. 1989 (Feb. 1989), pp. 249-256, XP000904914.
Harris A.: “Content Privacy and Content Security Working Together”, Internet Article. Content Technologies White Paper, ′Online! Sep. 1999 (Sep. 1999), XP002223158, pp. 8-9.
Torvinen V.: “Wireless PKI: Fundamentals”, Internet Article, Radicchio White Paper, ′Online! 2000, XP002223159, pp. 12-13.
Mambo M., et al: “Proxy Signatures: Delegation of the Power to Sign Messages” IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences, IEICE Tokyo, JP, vol. E79-A, No. 9, Sep. 1, 1996 (Sep. 1, 1996), pp. 1338-1353, XP000679624.
Schumacher: “AutoPGP FAQ, Version 1,” Internet Newsgroup, ′Online! (Apr. 19, 1994), XP002230742.
International Search Report of Application No. PCT/CA02/00889, date of mailing Dec. 13, 2002, 10 pages.
Berson T et al: “Cryptography as a network service” 8th Annual Symposium on Network and Distributed System Security. (NDSS' 01) Internet Soc Reston, VA, USA, Feb. 7, 2001 (Feb. 7, 2001),—Feb. 9, 2001 (Feb. 9, 2001) pp. 1-12, XP002551706 *the whole document*.
Butrico M et al: “Enterprise data access from mobile computers: an end-to-end story” Research Issues in Data Engineering, 2000. RIDE 2000. Proceedings. Tenth International Workshop on San Diego, CA, USA Feb. 28-29, 2000, Los Alamitos, CA, USA, IEEE Comput. Soc, US Feb. 28, 2000 (Feb. 28, 2000), pp. 9-16, XP010377083.
Deroest J.: “Ubiquitous Mobile Computing” Sunexpert Magazine, ′Online! Jul. 1998 (Jul. 1998), pp. 54-56, SP002213003 Retrieved from the Internet: ′retrieved on Sep. 10, 2002!.
Dusse et al.: “S/MIME Version 2 Certifcate Handling,” Database IETF RFC Online IETF: RFC 2312, Mar. 1998, pp. 1-20 (Chapter 2.1, Chapter 4.1), XP002220385.
Hoffman: “Enhanced Services for S/MIME,” Database IETF RFC Online IETF; RFC 2634, Jun. 1999, pp. 1-58 (Chapter 3, pp. 24-32), XP002220386.
Nakajima T et al: “Adaptive continuous media applications in mobile computing environments” Multimedia Computing Systems '97. Proceedings., IEEE International Conference on Ottawa, Ont., Canada Jun. 3-6, 1997, Los Alamitos, CA, USA, IEEE Comput. Soc. US, Jun. 3, 1997 (Jun. 3, 1997), pp. 152-160, XP010239184.
Russell S: “Fast checking of individual certificate revocation on small systems” Computer Security Applications Conference, 1999. (ACSAC '99). Proceedings. 15th Annual Phoenix, AZ, USA Dec. 6-10, 1999, Los Alamitos, CA, USA, IEEE Comput. Soc. US, Dec. 6, 1999 (Dec. 6, 1999), pp. 249-255, XP010368617.
Wasley D.L. et al: “Improving Digital Credential Management in Browsers” Internet Article. HEPKI-TAG Recommendation, ′Online! Jul. 21, 2000 (Jul. 21, 2000), XP002213004 Retrieved from the Internet: ′retrieved on Sep. 10, 2002.
Zollner J: “Gateway to overcome incompatibilities of security mechanisms” Reliable Distributed Systems, 1999. Proceedings of the 19th IEEE Sympo Sium on Lausanne, Switzerland Oct. 19-22, 1999, Los Alamitos, CAL, USA, IEEE Comput. Soc, US Oct. 19, 1999 (Oct. 19, 1999), pp. 372-377, XP010357040 ISBN: 978-0-7695-0290-8 *the whole document*.
Notice of Allowance (Notification for the Grant of Invention), Chinese Application No. 028197984, dated Nov. 30, 2007.
Request for Continued Examination (RCE) dated Aug. 22, 2007 for U.S. Appl. No. 10/486,406.
Notice of Appeal and Pre-Brief Appeal Conference Request to USPTO dated Jun. 24, 2009 for U.S. Appl. No. 10/486,406.
Request for Continued Examination (RCE) dated Jun. 21, 2011 for U.S. Appl. No. 10/486,406.
Co-pending U.S. Appl. No. 13/228,485 entitled, “System and Method for Processing Encoded Messages”, filed Sep. 9, 2011.
Patent Certificate dated Jan. 15, 2013, Canadian Patent Application No. 2,454,218.
Response in connection with European Application No. 02752898.3-2413, dated Dec. 9, 2004.
Response in connection with European Application No. 02752898.3-2413, dated Sep. 12, 2006.
Response in connection with European Application No. 02752898.3-2413, dated Nov. 15, 2010.
Response in connection with European Application No. 02754007.9-2413, dated Nov. 27, 2006.
Response in connection with European Application No. 02754007.9-2413, dated Feb. 27, 2008.
Previously co-pending U.S. Appl. No. 13/228,485 entitled, “System and Method for Processing Encoded Messages” issued as U.S. Pat. No. 8,661,267 on Feb. 25, 2014.
Documents related to U.S. Appl. No. 13/228,485 (Prosecution Documents).
This application claims priority to U.S. provisional application Ser. No. 60/304,396 (entitled “System and Method for Secure Message Key Caching in a Mobile Communication Device” filed Jul. 10, 2001). By this reference, the full disclosure, including the drawings, of U.S. provisional application Ser. No. 60/304,396 is incorporated herein.
1. A method for processing encrypted e-mail messages at a communication device, the method comprising: receiving at the communication device an encrypted e-mail message comprising at least one encrypted session key and encrypted content, the at least one encrypted session key comprising an individual encrypted session key associated with the communication device, the individual encrypted session key encrypted with a public key and usable, when decrypted using a private key associated with the public key, to decrypt the encrypted content of the encrypted e-mail message; accessing the encrypted e-mail message; identifying the individual encrypted session key associated with the communication device; decrypting the individual encrypted session key to obtain a decrypted session key that is unique to the encrypted e-mail message; and storing the decrypted session key to memory; wherein, when the encrypted content of the encrypted e-mail message is accessed multiple times, the stored decrypted session key is used each of the multiple times to decrypt the encrypted content of the encrypted e-mail message, and wherein the decrypted session key is removed from the memory based upon a sensitivity level of the encrypted e-mail message.
2. The method of claim 1, wherein the encrypted e-mail message is received by the communication device through a wireless infrastructure and a wireless network.
3. The method of claim 2, wherein a message server transmits the encrypted e-mail message through the wireless infrastructure and the wireless network to the communication device.
4. The method of claim 3, wherein the message server receives the encrypted e-mail message from a message sender.
5. The method of claim 4, wherein the communication device requests in a pull message access scheme that stored e-mail messages be forwarded by the message server to the communication device.
6. The method of claim 4, wherein the message server routes the encrypted e-mail message to the communication device when the encrypted e-mail message is received at the message server, and wherein the encrypted e-mail message is addressed by the message sender using a specific e-mail address associated with the communication device.
7. The method of claim 4, wherein the message server redirects the encrypted e-mail message to the communication device.
8. The method of claim 7, wherein, before the encrypted e-mail message is redirected to the communication device, a redirection program re-envelopes the encrypted e-mail message so as to maintain addressing information of the encrypted e-mail message.
9. The method of claim 8, wherein the redirection program re-envelopes the encrypted e-mail message so as to allow a reply message generated by the communication device to reach the message sender.
10. The method of claim 1, further comprising, after the step of identifying, the steps of: determining whether the encrypted session key has been decrypted and stored to the memory; and retrieving the decrypted session key from the memory and using the stored decrypted session key to decrypt the encrypted content of the encrypted e-mail message when the encrypted session key has been decrypted and stored to the memory.
12. The method of claim 1, wherein certificate information of a user of the communication device is transferred to the communication device through a wireless communication module.
13. The method of claim 1, wherein certificate revocation lists are transferred to the communication device through a wireless communication module.
14. The method of claim 1, wherein a message server transmits the encrypted e-mail message through a wireless infrastructure and a wireless network to the communication device, wherein the encrypted e-mail message comprises a plurality of encrypted session keys, wherein the message server determines the encrypted session key associated with the communication device, and wherein the message server reorganizes the encrypted e-mail message such that the encrypted e-mail message is sent to the communication device without containing at least one encrypted session key that is not associated with the communication device.
15. The method of claim 14, wherein the encrypted e-mail message comprises a digital signature, and wherein the message server verifies the digital signature and sends to the communication device a result of the digital signature verification.
16. The method of claim 1, wherein the encrypted e-mail message comprises a plurality of encrypted session keys, wherein the encrypted session keys are associated with different recipients, and wherein the encrypted e-mail message is reorganized prior to transmission to the communication device containing only the encrypted session key associated with the communication device.
17. The method of claim 16, wherein the encrypted e-mail message comprises a digital signature, and wherein the message server verifies the digital signature and sends to the communication device a result of the digital signature verification.
18. The method of claim 1, wherein the encrypted session key is a one-time session key that is generated and used for the encrypted e-mail message.
19. The method of claim 18, wherein the session key was encrypted using a public key associated with the communication device.
20. The method of claim 19, wherein the encrypted e-mail message was addressed to a plurality of recipients, and wherein the same session key is encrypted using a public key associated with each recipient.
22. The method of claim 1, wherein the encrypted e-mail message was encrypted using Secure Multipurpose Internet Mail Extensions (S/MIME) techniques.
23. The method of claim 1, wherein the encrypted e-mail message was encrypted using Pretty Good Privacy techniques.
24. The method of claim 1, wherein the encrypted e-mail message was encrypted using OpenPGP techniques.
25. The method of claim 1, wherein the encrypted e-mail message comprises a digital signature.
26. The method of claim 1, wherein the decrypted session key is removed from the memory after a preselected time has elapsed.
27. The method of claim 26, wherein the preselected time is selected by a user.
28. The method of claim 1, wherein the decrypted session key is removed from the memory based upon electrical power being removed from the communication device.
29. The method of claim 1, wherein the decrypted session key is removed from the memory based upon an identity of a sender of the encrypted e-mail message.
30. The method of claim 29, wherein the identity of the sender of the encrypted e-mail message comprises an e-mail address of the sender.
31. The method of claim 1, wherein the sensitivity level is determined based upon a subject line contained within the encrypted e-mail message.
32. The method of claim 1, wherein the sensitivity level is determined based upon the encrypted content.
33. The method of claim 1, further comprising the step of: setting a disabling flag so that the decrypted session key is not continuously stored in the memory for use in additional accesses of the encrypted content.
34. The method of claim 1, further comprising the step of: setting a disabling flag so that the decrypted session key is removed from the memory after accessing the encrypted content.
35. The method of claim 1, wherein the decrypted session key is stored to a volatile memory of the communication device.
36. The method of claim 1, wherein the decrypted session key is stored to a volatile and non-persistent memory of the communication device.
37. The method of claim 1, wherein the decrypted session key is stored to a random access memory (RAM) of the communication device.
38. The method of claim 1, wherein a user interface of the communication receives security information in order to have the encrypted session key decrypted.
39. The method of claim 38, wherein the security information comprises a password.
40. Non-transitory computer-readable memory encoded with program code for processing an encrypted e-mail message at a communication device when the encrypted e-mail message is accessed, wherein the encrypted e-mail message comprises at least one encrypted session key and encrypted content, the at least one encrypted session key comprising an individual encrypted session key associated with the communication device, the individual encrypted session key encrypted with a public key and usable, when decrypted using a private key associated with the public key, to decrypt the encrypted content of the encrypted e-mail message, wherein execution of the program code results in: identifying the individual encrypted session key associated with the communication device; decrypting the individual encrypted session key to obtain a decrypted session key that is unique to the encrypted e-mail message; storing the decrypted session key to memory; and when the encrypted content of the encrypted e-mail message is accessed multiple times, using the stored decrypted session key each of the multiple times to decrypt the encrypted content of the encrypted e-mail message, wherein the decrypted session key is removed from the memory based upon a sensitivity level of the encrypted e-mail message.
41. An apparatus on a communication device for handling multiple accesses to encrypted e-mail messages, wherein an encrypted e-mail message comprises at least one encrypted session key and encrypted content, wherein the at least one encrypted session key comprises an individual encrypted session key associated with the communication device, the individual encrypted session key encrypted with a public key and usable, when decrypted using a private key associated with the public key, to decrypt the encrypted content of the encrypted e-mail message, and wherein the encrypted e-mail message is transmitted to the communication device, the apparatus comprising: a storage software module that executes on a data processor of the communication device and that identifies the individual encrypted session key associated with the communication device, decrypts the individual encrypted session key to obtain a decrypted session key that is unique to the encrypted e-mail message, and stores the decrypted session key in memory which is volatile and non-persistent, wherein the stored decrypted session key allows access to the encrypted content; and an accessing software module that executes on the data processor of the communication device and that retrieves from the memory the stored decrypted session key, wherein, when the encrypted content of the encrypted e-mail message is accessed multiple times, the retrieved stored decrypted session key is used each of the multiple times to decrypt the encrypted content of the encrypted e-mail message, wherein the decrypted session key is removed from the memory based upon a sensitivity level of the encrypted e-mail message.
42. The apparatus of claim 41, wherein the encrypted e-mail message further comprises a digital signature, wherein the storage software module is configured to store, in the memory, verification information about the digital signature, and wherein the accessing software module is configured to retrieve from the memory the verification information when the encrypted content is accessed multiple times.
43. The apparatus of claim 42, further comprising a data structure stored in the memory for containing the verification information and the at least one encrypted session key.
44. The apparatus of claim 43, wherein the data structure includes an association that is indicative of which at least one encrypted session key is associated with which of a plurality of encrypted e-mail messages.
45. The apparatus of claim 44, wherein the data structure includes an association that is indicative of which verification information is associated with which of the plurality of encrypted e-mail messages.
In many known secure message exchange schemes, signatures, encryption, or both are commonly used to ensure the integrity and confidentiality of information being transferred from a sender to a recipient In an e-mail system for example, the sender of an e-mail message could either sign the message, encrypt the message or both sign and encrypt the message. These actions may be performed using such standards as Secure Multipurpose Internet Mail Extensions (S/MIME), Pretty Good Privacy™ (PGP™), OpenPGP and many other secure e-mail standards.
When an encrypted message is received, it is decrypted before being displayed or otherwise processed. Decryption is a processor-intensive operation which, on a wireless mobile communication device (“mobile device”) with limited processing resources, tends to take a relatively long time. Such time delays may be unacceptable for many mobile device users.
Since the content of encrypted messages should generally remain secure even after receipt, such messages are normally saved to long term storage only in encrypted form. Therefore, each time a received encrypted message is to be opened or displayed for example, the decryption operations are to be repeated. Those skilled in the art will appreciate that there are often two decryption operations that are performed to decrypt the content of many types of encrypted messages such as S/MIME or PGP e-mail messages for example. The key which is used to decrypt the message, referred to as the session key, is first decrypted using a key associated with the recipient. The decrypted session key is then used to decrypt the message. Of these two decryption operations, decryption of the session key, which typically involves public key cryptographic operations, may require a user to enter a password or passphrase, and may be more processor intensive than the actual message decryption. As described above, these operations must normally be repeated each time the message is opened, displayed or accessed, resulting in possibly significant delays in message-related functions.
In accordance with the teachings provided herein, a method and system are provided for processing encrypted messages at a mobile device. A mobile device receives an encrypted message that comprises encrypted content as well as encryption accessing information for accessing the encrypted content. At the mobile device, the encryption accessing information is obtained and stored to memory. The encryption accessing information is retrieved from memory in order to decrypt the encrypted content when the encrypted message is subsequently accessed.
When addressed to a plurality of receivers, an encrypted message may include more than one session key. The encrypted message may also be signed by a sender before or after the message is encrypted, such that a receiver verifies a signature either after or before the encrypted content is decrypted. The received messages may be e-mail messages that have been encrypted using S/MIME, PGP, OpenPGP or other secure e-mail standards.
FIG. 3 illustrates a system for transferring messages that were encrypted and possibly signed using S/MIME or similar techniques.
The message server 40 may be implemented 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. Two common message servers are Microsoft Exchange™ 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 FIG. 1, as they do not directly play a role in the secure message processing described below. Message servers such as server 40 typically extend beyond just e-mail sending and receiving; they also include dynamic database storage engines that have predefined database formats for data like calendars, to-do lists, task lists, e-mail and documentation.
As shown in FIG. 1, a composed e-mail message 15 is sent from by the e-mail sender 10, located somewhere on the Internet 20. This message 15 is normally fully in the clear and uses traditional Simple Mail Transfer Protocol (SMTP), RFC822 headers and Multipurpose Internet Mail Extension (MIME) body parts to define the format of the mail message. These techniques are all well known to those skilled in the art. The message 15 arrives to the message server 40 and is normally stored in a message store. Most known messaging systems support a so-called “pull” message access scheme, wherein a mobile device requests that stored messages be forwarded by the message server to the device. Some systems provide for automatic routing of such messages which are addressed using a specific e-mail address associated with the mobile device. Messages may be addressed to a message server account associated with a host system such as a home computer or office computer which belongs to the user of a mobile device 100 are redirected from the message server 40 to the mobile device 100 as they are received.
Regardless of the specific mechanism controlling the forwarding of messages to a 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. The term “wireless network” may include different types of networks, such as (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. The newest of these combined dual-mode networks include, but are not limited to (1) modern 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) network both developed by the standards committee of CEPT, and (3) the future third-generation (3G) networks like Enhanced Data-rates for Global Evolution (EDGE) and Universal Mobile Telecommunications Systems (UMTS). GPRS is a data overlay on the very popular GSM wireless network, operating in virtually every country in Europe. Some older examples of data-centric network include the Mobitex™ 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 that have been available in North America and world-wide for nearly 10 years.
FIG. 2 is a block diagram of a further example communication system including multiple networks and multiple mobile devices. The system of FIG. 2 is substantially similar to the FIG. 1 system, but includes a host system 30, a redirection program 45, a mobile device cradle 65, a wireless virtual private network (VPN) router 75, an additional-wireless network 110 and multiple mobile devices 100. As described above in conjunction with FIG. 1, FIG. 2 represents an overview of a sample network topology. Although the secure message processing systems and methods described herein may be applied to networks having many different topologies, the network of FIG. 2 is useful in understanding an automatic e-mail redirection system mentioned briefly above.
The central host system 30 will typically be a corporate office or other LAN, but may instead be a home office computer or some other secure system where mail messages are being exchanged. Within the host system 30 is the message server 40, 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 FIG. 2, the redirection program 45 enables redirection of data items from the server 40 to a mobile device 100. Although the redirection program 45 is shown to reside on the same machine as the message server 40 for ease of presentation, there is no requirement that it must reside on the message server. The redirection program 45 and the message server 40 are designed to co-operate and interact to allow the pushing of information to mobile devices 100. In this installation, the redirection program 45 takes confidential and non-confidential corporate information for a specific user and redirects it out through the corporate firewall to mobile devices 100. A more detailed description of the redirection software 45 may be found in the commonly assigned U.S. Pat. No. 6,219,694 (“the '694 Patent”), entitled “System and Method for Pushing Information From A Host System To A Mobile Data Communication Device Having A Shared Electronic Address”, and issued to the assignee of the instant application on Apr. 17, 2001, and U.S. patent application Ser. No. 09/401,868, Ser. No. 09/545,963, Ser. No. 09/528,495, Ser. No. 09/545,962, and Ser. No. 09/649,755, all of which are hereby incorporated into the present application by reference. This push technique may use a wireless friendly encoding, compression and encryption technique to deliver all information to a mobile device thus effectively extending the security firewall to include each mobile device 100 associated with the host system.
As shown in FIG. 2, there may be many alternative paths for getting information to the mobile device 100. One method for loading information onto the mobile device 100 is through a port 50 designated, using a device cradle 65. This method tends to be useful for bulk information updates often performed at initialization of a device 100 with the host system or a computer 35 within the system 30. The other main method for data exchange is over-the-air using wireless networks to deliver the information. As shown in FIG. 2, this may be accomplished through a wireless VPN router 75 or through a traditional Internet connection 95 to a wireless gateway 85 and a wireless infrastructure 90, as described above. The concept of a wireless VPN router 75 is new in the wireless industry and implies that a VPN connection could be established directly through a specific wireless network 110 to a wireless device 100. The possibility of using a wireless VPN router 75 has only recently been available and could be used when the new Internet Protocol (IP) Version 6 (IPV6) arrives into IP-based wireless networks. This new protocol will provide enough IP addresses to dedicate an IP address to every mobile device 100 and thus make it possible to push information to a mobile device 100 at any time. A principal advantage of using this wireless VPN router 75 is that it could be an off-the-shelf VPN component, thus it would not require a separate wireless gateway 85 and wireless infrastructure 90 to be used. A VPN connection may be a Transmission Control Protocol (TCP)/IP or User Datagram Protocol (UDP)/IP connection to deliver the messages directly to the mobile device 100. If a wireless VPN 75 is not available then a link 95 to the Internet 20 is the most common connection mechanism available and has been described above.
In the automatic redirection system of FIG. 2, a composed e-mail message 15 leaving the e-mail sender 10 arrives to the message server 40 and is redirected by the redirection program 45 to the mobile device 100. As this redirection takes place, the message 15 is re-enveloped, as indicated at 80, and a possibly proprietary compression and encryption algorithm can then be applied to the original message 15. In this way, messages being read on the mobile device 100 are no less secure than if they were read on a desktop workstation such as 35 within the firewall. All messages exchanged between the redirection program 45 and the mobile device 100 may use this message repackaging technique. Another goal of this outer envelope is to maintain the addressing information of the original message except the sender's and the receiver's address. This allows reply messages to reach the appropriate destination, and also allows the “from” field to reflect the mobile user's desktop address. Using the user's e-mail address from the mobile device 100 allows the received message to appear as though the message originated from the user's desktop system 35 rather than the mobile device 100.
Turning back to the port 50 and 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 210 such as an S/MIME specific private key, the Certificate (Cert) of the user and their Certificate Revocation Lists (CRLs) 60. The private key may be 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 because they represent the largest part of S/MIME, PGP and other public key security methods. A certificate chain involves an individual getting a Cert and then including other Certs to verify the original Cert. Eventually in the Cert chain the receiver of the message is able to confirm a root Cert from a trusted source, perhaps from a large Public Key Server (PKS) associated with a Certificate Authority (CA) such as Verisign or Entrust for example, both prominent companies in the area of public key cryptography. Once such a root Cert is found, a signature can be verified and trusted, since both the sender and receiver trust the source of the root Cert, Verisign for example.
Secure e-mail messages generated using the S/MIME and PGP techniques normally include encrypted information, a session key which is used to decrypt the encrypted information and possibly a digital signature. This is generally referred to in the art as the hybrid approach, in that information content is encrypted using a less intensive session key and encryption algorithm, whereas the more processor-intensive public key crypto is used to encrypt only the session key in order to send the session key to the device. Those skilled in the art will appreciate that S/MIME messages might only be signed and not necessarily be encrypted, however the processing systems and methods described herein are applicable to encrypted messages, whether signed or not signed.
A digital signature may, for example, be generated by a message sender by taking a digest of a message and signing the digest using the sender's private key. A digest may be a check-sum, CRC or other non-reversible operation such as a hash on the message, which is then signed. The signed digest, the Cert of the sender, and any chained Certs and CRLs may all be appended to the outgoing message. The receiver of this signed message also takes a digest of the message, then retrieves the sender's public key, checks the Cert and CRLs to ensure that the Cert is valid and trusted, and verifies the digest signature. Finally, the two digests are compared to see if they match. If the message content has been changed, then the digests will be different or the digest signature will not be verified. A digital signature does not prevent anyone from seeing the contents of the message, but does ensure the message has not been tampered with and is from the actual person as indicated on the ‘From’ field of the message.
In encrypted S/MIME message operations, a one-time session key is generated and used for each message, and is never re-used for other messages. The session key is then further encrypted using the receiver's public key. If the message is addressed to more than one receiver, the same'session key is encrypted using the public key of each receiver. Only when all receivers have an encoded session key is the message then sent to each receiver. Since the e-mail retains only one form, all encrypted session keys are sent to every receiver, even though they cannot use these other session keys. Each receiver then locates its own session key, possibly based on a generated recipient information summary of the receivers that may be attached to the message, and decrypts 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 information attachment can also specify a particular encryption scheme that is used to decrypt the message. This information is normally placed in the header of the S/MIME message.
Referring now to FIG. 3, secure message transfer will be described in further detail. FIG. 3 illustrates a system for transferring messages that were encrypted Land possibly signed using S/MIME or similar techniques. FIG. 3 shows an encrypted and signed message as an illustrative example only. The secure message processing systems and methods described herein may be applied to both signed and unsigned encrypted messages.
In FIG. 3, User X at system 10 creates a mail message 15 and decides to encrypt and sign the message. To achieve this, the system 10 first creates a session key and encrypts the message. Then the public key for each recipient is retrieved from either local storage or a Public Key Server (PKS) (not shown) on the Internet 20, for example, if public key cryptography is used. Other crypto schemes may instead be used, although public key cryptography tends to be common, particularly when a system includes a large number of possible correspondents. In a system such as shown in FIG. 3, there may be millions of e-mail systems such as 10 that may from time to time wish to exchange messages with any other e-mail systems. Public key cryptography provides for efficient key distribution among such large numbers of correspondents. For each recipient, the session key is encrypted, as shown at A, B and C for three intended recipients, and attached to the message preferably along with the recipient information (e.g., RecipientInfo section). Once the encryption is complete, a digest of the new message, including the encrypted session keys, is taken and this digest is signed using the sender's private key. In the case where the message is signed first a digest of the message would be taken without the encrypted session keys. This digest, along with all the signed components, would be encrypted using a session key and each session key would be further encrypted using each recipients public key if public key crypto is used, or another key associated with each recipient if the sender is able to securely exchange e-mail with one or more recipients through some alternate crypto arrangement.
Although FIG. 3 shows entire messages, with all encrypted session keys and signature-related attachments, at each mobile device 100, the present encrypted message processing techniques require only that the encrypted session key be forwarded to the mobile device with the message. Other encrypted session keys and signature information may or may not necessarily be received at the mobile device. For example, when an encrypted message includes a plurality of encrypted session keys associated with different recipients, the encrypted message may be reorganized prior to transmission to a mobile device 100 such that the encrypted message is transmitted to the mobile device containing only the encrypted session key associated with the mobile device. Referring again to FIG. 3; the message server 40 may, for example, determine the encrypted session key associated with the mobile device of User A, and reorganize the received encrypted message such that the encrypted message is sent to User A's mobile device 100 without containing an encrypted session key that is not associated with User A or User A's mobile device 100.
The temporary storage area in which the decrypted session key is stored is preferably in a volatile and non-persistent store. The decrypted key may, for example, be stored for only a particular period of time, which may preferably be set by a user. A single key storage time period may be set and applied to all messages, although more customized settings are also contemplated. Particularly sensitive messages that normally arrive from certain senders or from senders whose e-mail addresses have the same domain name, for example, may have as specific relatively short decrypted session key storage period, whereas decrypted session keys for encrypted e-mails received from other senders, perhaps personal contacts, may be stored for a longer period of time. Alternatively, a user may be prompted for a storage time period each time a message is opened or closed. The decrypted key storage feature might also be disabled for certain messages or messages received from certain senders. Session key storage operations may possibly be automatically controlled by detection of specific predetermined keywords in a message. For example, the text “Top Secret” in an e-mail subject line may be detected by the device when the e-mail is decrypted and prevent the decrypted session key from being stored or delete the session key from storage if it had already been stored.
If the message was not signed after being encrypted (step 404), when the digital signature is verified (step 406), or processing should continue after a failed signature verification attempt (step 408), the receiving device then locates its corresponding session key in the message at step 410. However, if the session key could not be found or the key required to decrypt the session key is not available, as determined at step 412, for example if the user does not input a correct password or passphrase, then the device cannot decrypt the session key or the message (414) and an error is preferably returned to the user at step 416. When a session key is found and the required decryption key is available (i.e. a correct password or passphrase is entered) on the device, the session key is then decrypted at step 420 and used to decrypt the message, at step 422. The decrypted session key is then preferably stored to a non-persistent store at step 424. Any determinations relating to whether or not the decrypted session key should be stored or for how long the decrypted key should be stored would be performed as part of step 424.
If the digital signature need not be verified, is verified, or processing should continue even if a digital signature could not be verified, then the mobile device, or more likely crypto software operating on the mobile device, checks to see if the decrypted session key for the message is currently in storage, at step 512. As described above, the session key is preferably stored in a non-persistent store and may be stored for a certain time period. If a time period has expired, the device has lost power or been turned off since the session key was stored, or the session key was not stored at all, then processing reverts to initial message processing at step 410 (FIG. 4), as indicated at 514. Since the session key is not in memory, it is decrypted again in order to decrypt the message.
Those skilled in the art will appreciate that a secure message processing method need not necessarily include all of the steps shown in FIGS. 4 and 5 or may include further steps and operations in addition thereto. If the secure messaging scheme does not involve signatures, then the signature verification steps would not be executed. The operations may also be performed in a different order. For example, the decrypted session key may be stored before the message is decrypted. Other variations of the methods and systems described above will be apparent to those skilled in the art and as such are considered to be within the scope of the invention.
Message servers such as 820 normally maintain a plurality of mailboxes 819 in one or more data stores such as 817 for each user having an account on the server. The data store 817 includes mailboxes 819 for a number of (“n”) user accounts. Messages received by the message server 820 that identify a user, a user account, a mailbox, or possibly another address associated with a user, account or mailbox 819 as a message recipient will typically be stored in the corresponding mailbox 819. If a message is addressed to multiple recipients or a distribution list, then copies of the same message may be stored to more-than one mailbox 819. Alternatively, the message server 820 may store a single copy of such a message in a data store accessible to all of the users having an account on the message server, and store a pointer or other identifier in each recipient's mailbox 819. In typical messaging systems, each user may then access his or her mailbox 819 and its contents using a messaging client such as Microsoft Outlook or Lotus Notes, which normally operates on a PC, such as the desktop computer system 822, connected in the LAN 806. Although only one desktop computer system 822 is shown in FIG. 8, those skilled in the art will appreciate that a LAN will typically contain many desktop, notebook and laptop computer systems. Each messaging client normally accesses a mailbox 819 through the message server 820, although in some systems, a messaging client may enable direct access to the data store 817 and a mailbox 819 stored thereon by the desktop computer system 822. Messages may also be downloaded from the data store 817 to a local data store (not shown) on the desktop computer system 822.
Private key exchange using a physical connection 824 and connector or interface 826 allows a user's desktop computer system 822 and mobile device 816 or 818 to share at least one identity for accessing all encrypted and/or signed mail. The user's desktop computer system 822 and mobile device 816 or 818 can also thereby share private keys so that either the host system 822 or mobile device 816 or 818 can process secure messages addressed to the user's mailbox or account on the message server 820. The transfer of Certs and CRLs over such a physical connection may be desirable in that they represent a large amount of the data that is required for S/MIME, PGP and other public key security methods. A user's own Cert, a chain of Cert(s) used to verify the user's Cert, and CRL as well as Certs, Cert chains and CRLs for other users, may be loaded onto a mobile device 816, 818 from the user's desktop computer system 822. This loading of other user's. Certs and CRLs onto a mobile device 816, 818 allows a mobile device user to select other entities or users with whom they might be exchanging secure messages, and to pre-load the bulky information onto the mobile device through a physical connection instead of over the air, thus saving time and wireless bandwidth when a secure message is received from or to be sent to such other users, or when the status of a Cert is to be determined.
Operation of the system in FIG. 8 will now be described using an example of an e-mail message 833 sent from the computer system 812 and addressed to at least one recipient having both an account and mailbox 819 or like data store associated with the message server 820 and a mobile device 816 or 818. However, the e-mail message 833 is intended for illustrative purposes only. The exchange of other types of information between the corporate LAN 806 is preferably also enabled by the wireless connector system 828.
As described above, an e-mail message 833 addressed to one or more recipients having an account on the message server 820 and received by the message server 820 may be stored into the mailbox 819 of each such recipient In the system of FIG. 10, the external data store 882 preferably has a similar structure to, and remains synchronized with, the data store 817. PIM information or data stored at data store 882 preferably is independently modifiable to the PIM information or data stored at the host system. In this particular configuration, the independently modifiable information at the external data store 882 may maintain synchronization of a plurality of data stores associated with a user (i.e., data on a mobile device, data on a personal computer at home, data at the corporate LAN, etc.). This synchronization may be accomplished, for example, through updates sent to the data store 882 by the wireless connector system 878 at certain time intervals, each time an entry in the data store 817 is added or changed, at certain times of day, or when initiated at the LAN 809, by the message server 820 or a computer system 822, at the data store 882, or possibly by a mobile device 888, 890 through the access gateway 880. In the case of the e-mail message 833 for example, an update sent to the data store 882 some time after the e-mail message 833 is received may indicate that the message 833 has been stored in a certain mailbox 819 in the store 817, and a copy of the e-mail message will be stored to a corresponding storage area in the data store 882. When the e-mail message 833 has been stored in the mailboxes 819 corresponding to the mobile devices 888 and 890 for example, one or more copies of the e-mail message, indicated at 892 and 894 in FIG. 10, will be sent to and stored in corresponding storage areas or mailboxes in the data store 882. As shown, updates or copies of stored information in the data store 817 may be sent to the data store 882 via a connection to the WAN 804 or the VPN router 835. For example, the wireless connector system 878 may post updates or stored information to a resource in the data store 882 via an HTTP post request. Alternatively, a secure protocol such as HTTPS or Secure Sockets Layer (SSL) may be used. Those skilled in the art will appreciate that a single copy of a data item stored in more than one location in a data store at the LAN 809 may instead be sent to the data store 882. This copy of the data item could then be stored either in more than one corresponding location in the data store 882, or a single copy may be stored in the data store 882, with a pointer or other identifier of the stored data item being stored in each corresponding location in the data store 882.
The access gateway 880 is effectively an access platform, in that it provides mobile devices 888 and 890 with access to the data store 882. The data store 882 may be configured as a resource accessible on the WAN 804, and the access gateway 880 may be an ISP system or WAP gateway through which mobile devices 888 and 890 may connect to the WAN 804. A WAP browser or other browser compatible with the wireless networks 884 and 886 may then be used to access the data store 882, which is synchronized with the data store 817, and download stored data items either automatically or responsive to a request from a mobile device 888, 890. As shown at 896 and 898, copies of the e-mail message 833, which was stored in the data store 817, may be sent to the mobile devices 888 and 890. A data store (not shown) on each mobile device 888, 890 may thereby be synchronized with a portion, such as a mailbox 819, of a data store 817 on a corporate LAN 809. Changes to a mote device data store may similarly be reflected in the data stores 882 and 817.
The transceiver 1111 is used to communicate with the network or networks 1119, and includes the receiver 1112, the transmitters 1114, the one or more local oscillators 1113 and may also include the DSP 1120. The DSP 1120 is used to send and receive signals to and from the transceivers 1116 and 1118, and may also provide control information to the receiver 1112 and the transmitter 1114. If the voice and data communications occur at a single frequency, or closely-spaced sets of frequencies, then a single local oscillator 1113 may be used in conjunction with the receiver 1112 and the transmitter 1114. Alternatively, if different frequencies are utilized for voice communications versus data communications for example, then a plurality of local oscillators 1113 can be used to generate a plurality of frequencies corresponding to the voice and data networks 1119. Information, which includes both voice and data information, is communicated to and from the transceiver 1111 via a link between the DSP 1120 and the microprocessor 1138.
In addition to processing the communication signals, the DSP 1120 also provides for transceiver control. For example, the gain levels applied to communication signals in the receiver 1112 and transmitter 1114 may be adaptively controlled through automatic gain control algorithms implemented in the DSP 1120. Other transceiver control algorithms could also be implemented in the DSP 1120 in order to provide more sophisticated control of the transceiver 1111.
<- Previous Patent (Remote key managemen...) | Next Patent (Cryptographically-ve...) ->