Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
NZ625590B2 - Secure messaging - Google Patents
[go: Go Back, main page]

NZ625590B2 - Secure messaging - Google Patents

Secure messaging Download PDF

Info

Publication number
NZ625590B2
NZ625590B2 NZ625590A NZ62559012A NZ625590B2 NZ 625590 B2 NZ625590 B2 NZ 625590B2 NZ 625590 A NZ625590 A NZ 625590A NZ 62559012 A NZ62559012 A NZ 62559012A NZ 625590 B2 NZ625590 B2 NZ 625590B2
Authority
NZ
New Zealand
Prior art keywords
handset
messaging server
message
identifier
application
Prior art date
Application number
NZ625590A
Other versions
NZ625590A (en
Inventor
Richard Francis Favero
Original Assignee
Soprano Design Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Soprano Design Limited filed Critical Soprano Design Limited
Priority claimed from PCT/AU2012/001391 external-priority patent/WO2013067601A2/en
Publication of NZ625590A publication Critical patent/NZ625590A/en
Publication of NZ625590B2 publication Critical patent/NZ625590B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • G06F21/35User authentication involving the use of external additional devices, e.g. dongles or smart cards communicating wirelessly
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/42User authentication using separate channels for security data
    • G06F21/43User authentication using separate channels for security data wireless channels
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2103Challenge-response
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2115Third party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0471Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying encryption by an intermediary, e.g. receiving clear information at the intermediary and encrypting the received information at the intermediary before forwarding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0838Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/18Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • H04W12/033Protecting confidentiality, e.g. by encryption of the user plane, e.g. user's traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements

Abstract

Disclosed is a method for transmitting a message from a sender computer (102) through a messaging server (106) to a handset (104). The method comprises the messaging server (106) receives a message to be sent to the handset (104) and a handset identifier associated with the handset (104) from the sender computer (102). The handset identifier is a public network address. The server (106) determines whether the handset (104) is registered with the messaging server (106) in response to receiving the message from the sender computer (102). The server (106) facilitates the registration of the handset (104) by sending a notification to the handset (104) requesting registration using the public network address of the handset identifier from the messaging server (106); receiving a handset encryption key associated with the handset identifier from the handset (104); and storing the handset encryption key against the handset identifier at the messaging server (106). The server (106) encrypts the message received from the sender computer (102) using the handset encryption key and sending the encrypted message to the handset (104). nder computer (102). The handset identifier is a public network address. The server (106) determines whether the handset (104) is registered with the messaging server (106) in response to receiving the message from the sender computer (102). The server (106) facilitates the registration of the handset (104) by sending a notification to the handset (104) requesting registration using the public network address of the handset identifier from the messaging server (106); receiving a handset encryption key associated with the handset identifier from the handset (104); and storing the handset encryption key against the handset identifier at the messaging server (106). The server (106) encrypts the message received from the sender computer (102) using the handset encryption key and sending the encrypted message to the handset (104).

Description

Secure messaging Field of the invention The present invention relates to secure messaging. In one form the secure messaging of the present invention relates to the ission and t of encrypted messages to a handset.
The invention also extends to the interim secure storage of a message on a messaging server, ’ prior to sending the message on to a handset. - , Background of the invention In some stances the secure delivery of private information over mobile networks is desirable. An example of such private information is implied health information such as the ' doctor’s name, time, and the specialty that may indicate tion being treated which ation forms part of appointment reminders or other information exchange with. health professionals sent to ts, Banks may also wish to send private ation to their customers. The ubiquity of mobile handsets has ed an ive means fer the delivery of information using short message service (SMS) and other data channels. '15 Existing ons that support secure messaging encrypt messages at an ediate messaging server before forwarding the encrypted message to a‘ smart phone. An application is typically downloaded to the smart phone (or is natively resident on the smart phone), and is used to decrypt messages that have been encrypted prior to transmission. The encryption typically uses a symmetric key encryption, for example Advanced Encryption Standard (ABS) with 256 bit encryption. When this type of solution is used, the same key is used for both encryption and decryption, and is stored on both the handset and the messaging server that is used invtransferring the message. This represents a risk to security should the key be compromised at either the messaging server or handset. If the ing server or handset is hacked then the key used for some or all the handsets receiving messages from this server may be compromised and all handsets would need to be issued a new key which, considering the large number of handsets that may be supported by such a system, would represent a complicated implementation process to many handsets.
There remains a need for a solution to provide encrypted or secured messaging to handsets to securely e messages that does not suffer from. the disadvantages of existing solutions. Alternatively, or in addition, it would be desirable to provide the public with a useful Reference to any prior art in the cation is not, and, should not be taken as, an acknowledgment or any form of suggestion that this prior art forms part of the common general knowledge in Australia or any other jurisdiction or that this prior art could ably be expected to be ascertained, understood and regarded as relevant by a person skilled in the art.
Summary of the invention In accordance with one aspect there is provided a method for transmitting an encrypted message from a meSsaging server‘to a handset comprising the steps: ing at the messaging server a message to be sent to the handset and a handset identifier assoCiated'with the t from a sender computer; determining that the t is not ered with the messaging server; facilitating. the registration of the handset by:\ sending a notification to the handset ting registration; receiving from the handset a handset encryption key associated with the handset identifier; and storing the handset encryption key against the handset identifier at the ing server; and encrypting the received message using the handset encryption key and sending the encrypted message to the handset.
Preferably, determining that the t has not been registered comprises determining that the handset identifier does not have an associated handset encryption key stored at the messaging server. _ It will-be appreciated that the handset is to be identified by the handset identifier in the form‘of e.g., a MSISDN number, and that the notification and all other correspondence sent to the handset will be sent to a t incorporating an identification card, e.g.,‘ a SIM card with the particular handset identifier.
Preferably the message received at the messaging server may be in the form of a text message, an image, video or the like.- ‘ The step of sending a notification to the handset may include notifying the user ofthe handset that a secure message is awaiting delivery. ally, the step may further include identifying the address from where a handset ation is to be downloaded.
The method may further comprise performing intermediate encryption of the message to create an intermediate encrypted message and storing the intermediate encrypted message at the messaging . The intermediate encryption may uSe a messaging server encryption key.
The method may further comprise decrypting the intermediate encrypted e befOre ’ encrypting the message with the handset encryption key.
.The step of facilitating the registration of the handset may further comprise, at the messaging server, ticating the handset (i.e. the'handset identifier or MSISDN number) prior to accepting from the handset the received t encryption key.
The tion key may be generated by a handset application installed on or native to the handset. ' Preferably, the encryption key is a public key generated" during asymmetric key . generation by the handSet application. The handset ation may accordingly also generate an asymmetric key, namely a private key, which is stored in the handset application on the handset.
The private key is used by the handset application to decrypt the encrypted message after receipt thereof.
The asymmetric keys are ted by a random number generator of the handset application, seeded by the handset’s identifier, i.e. the MSISDN/mobile number of the handset.
A standard asymmetric key generation algorithm is typically used.
The step Of authenticating the t may comprise: providing a ary password to the handset; receiving a return d back from the handset; and comparing the temporary password and the return rd thereby to authenticate the handset.
Preferably different ication channels are used for providing the temporary password ‘to the handset and receiving the return password back from the handset.
The temporary password may be sent to the handset as part of an SMS, while the return" password is received from the handset using a public mobile network ting data communication.
The step of comparing the rds may further include comparing a handset identifier received with the return password, with the handset identifier to which the temporary password was sent.
Alternatively, the step of authenticating the handset may comprise: receiving a first ary password from the handset; receiving a second temporary password from the handset; and comparing the two temporary passwords thereby to authenticate the handset.
Preferably different communication channels are used for receiving the first and second temporary password from the handset, with the one channel being a public mObile network supporting ommunication and the other channel being an SMS channel.
Typically, the first temporary password is automatically transmitted over a_ public mobile network supporting data communication from the handset once it has been generated by the handset application program, and is transmitted with the handset identifier entered by the user through the handset application. The second temporary password is obtained along with the handset identifier as an SMS sent to the messaging server from the handset ation. The SMS may be sent automatically, t user interaction, from the handset ation. lly, the handset identifier is obtained through caller identification functionality.
In accordance withanother aspect there is provided a computer system comprising: a memory with instructions for performing the steps of the method as described above; and a sor configured to execute the instructions. 2012/001391 In accordance with a r aspect there is ed a method for registering a handset to enable the secure sending of _a e to the handset, the method comprising the steps: generating, at the messaging server, a temporary password; itting the ary password to the handset; receiving a return password back from the handset; comparing the temporary password with the return password; in the event that they match, transmitting an authentication acknowledgement back to the handset; and receiving a handset encryption key. from the handset which is stored at the ing server against an identification number of the handset.
In ance with a further aspect there is provided a method for ering a handset to enable the secure sending of a message to the handset, the method sing the steps: receiving, at the ing server, a first temporary rd from the handset through a public mobile network supporting data communication; receiving a second temporary password from the handset\as part of an SMS; comparing the first and second temporary passwords with-each other; in the event of a match, transmitting an authentication acknowledgement back to the handset; and receiving a handset encryption key from the handset which is stored at the messaging server against an identification number of the handset.
In accordance with a further aspect there is provided a method for transmitting an. encrypted message froma messaging server to a handset comprising the Steps: receiving, at the messaging server, a message to be sent to the handset and a handset identifier associated with the handset from'a sender computer; deterrnining that the handset is not registered with the messaging server by determining that the handset identifier does not have an associated handset encryption key stored at the' messaging server; performing intermediate encryption of the message to create an intermediate encrypted message and storing the intermediate encrypted e at the messaging server; facilitating the registration of the handset; afler registration, obtaining a handset encryption key from the handset; decrypting the stored intermediate encrypted message; and WO 67601 encrypting the message with the handset encryption key prior to sending the encrypted message to the handset.
As used herein, except where the context es ise, the term "comprise" and variations of the term, such as "com risin fl " P g , comprises" and "comPrised", are not intended to exclude further additives, components, integers or steps.
' Further aspects of the present invention and further embodiments of the aspects described in the preceding paragraphs will become apparent from the following description, given by way V of example and with reference to the accompanying gs.
Brief description of the drawings Figure l is a schematic diagram of a secure messaging system including a messaging server and a handset; Figure 2 is a flow diagram of the l functions performed by a handset‘application of the handset of Figure 1 Figure 3 is a flow diagram of one example of registration functions of the t of ’15 Figure l forming part of the flow diagram of Figure 2; Figure 4 is a flow diagram of another e of ration functions of the handsetvof - Figure l forming part of the flow diagram of Figure 2; Figure 5 is a representation of the message flow from sender to recipient when the recipient is not prior registered, in accordance with the registration functions of the example embodiment of Figure 3; Figure 6 is a entation of the message flow from sender to recipient when the recipient is not prior registered, in accordance with the registration functions of the example embodiment of Figure 4; Figure 7 is a representation of the message flow from sender to recipient when the recipient is prior registered; and Figure 8 is a flow diagram of the functions performed by the messaging server, in accordance With the registration functions of the example ment of Figure 3.
Detailed description of the embodiments 1. System ew ' Figure 1 is a schematic diagram of a secure messaging system 100 for sending secure messages from a sender computer 102 to a recipient handset 104 via a messaging server 106.
Communication between the sender computer 102 and the messaging server 106 is over a network 108 that may be a private or a public data k (for example, the computer may use application accessed via a' website, and using tion). ' a web an HTTP or HTTPS ‘10 Communication n the ing server 106 and the handset 104 is over‘both a public mobile network 110 that supports the sending/receiving of SMS (Short Message System) messages and over a public mobile k 112 that supports data- communication using, for e, a 3G or 4G communication protocol. The messaging’server 106 interfaces with one or more storage devices 114 used, amongst others, for maintaining a se with‘information about ered users.(recipients). The database stored on the storage device 114 may also be' used for storing messages received from one or more senders before being forwarded to one or more recipients. In one embodiment the messages being stored on the database may be encrypted (secured). V The sender er 102 and messaging server 106 both include hardware Components such as a processor, memory, storage and a network interface. The sender computer 102 and - messaging server 106 may also include input—output interfaces (such as a keyboard and monitor).
Standard hardware of the sender computer 102 and the messaging server 106 also includes a bus for communication between hardware ents. The computer hardware operates with a software ent of a secure messaging application (described in further detail below), which! .25 application is stored in the memory and is executed by the processor of each machine. The messaging server 106 interfaces with the one or more storage devices 114 which may also comprise a hard disk, a RAID system or other direct-attached storage.
It will be appreciated that there are many different possible computer architectures that may be used to implement the present invention and that the foregoing description is ' entative of only one example architecture. The term ‘computer’ is used herein in a general sense and includes, without limitation, the computational devices of personal computers, personal l assistants, smart phones, tablet computers and servers. Those skilled in the relevant ans will recognise which of these classes of computer can be used for each aspect of the system 100. For example, personal digital assistants, smart phones and tablet computers may be suitable alternatives to the sender computer 102 shown in Figure 1.
The handset 104 is the type of handset that is able to e SMS messages and is also able to communicate over a data network such as a 3G or 4G network; Suitable handsets include, for example, personal digital assistants, smart phones, tablet computers, or the like. 2. t application The system 100 supports the sending of secure messages from the sender computer 102‘ to the ent handset 104 via the messaging server. 106, both when the recipient is prior registered with the messaging server 106 and also when the recipient is not prior registered With . the messaging server 106. If a recipient is not registered, it means that the messaging server 106 does not have encryption credentials of the recipient handset 104 (namely a handset encryption, key suchas a handset public key), which typically means that the recipient handset 104 has not activated a handset application. The handset application is used for registration of the recipient handset 104, for generating encryption/decryption ' keys and for decrypting secured short messages received from the ing server 106.
For a recipient to register with the messaging server 106 the handset application on the handset‘104 sends a handset encryption key to the messaging server 106, and the key is then stored at the ing server (on the server memory and/or on the server e device 114) for use when a message needs to be sent to the particular handset. To do this, the recipient t 104 installs a handset application and configures the handset application for receiving secure messages. Configuring the handset application so that the recipient t 104 is registered and d to decrypt es may further entail, for example, authenticating the handset 104 by ng the handset’s handset identifier in the form of the mobile number/MSISDN number associated with the handset and ing a temporary password such as a one time password (OTP). Additionally, configuration includes the creation of tion and decryption keys used for messages sent to the handset 104. As used herein the terms “authenticating” and ating” are used interchangeably to describe the ison between the password sent the identifier of a handset and the password d by a user of the handset.
Additionally, a person skilled in the art will appreciate that a handset is always to be ' identified by a handset identifier in the form of e.g., Ia MSISDN number, and that ations and all other correspondence will be sent to a- handset incorporating an identification card, e.g., a SIM card, with the ular handset identifier.
The handset the which is a client handset 104 . application application running 'On application is obtained by the recipient, for example, from“ an application store. Such application: stores may include handset-specific stores such as Apple, Android, Windows, Blackberry or J2ME_ application stores. The functionality, provided by the handset application includes providing authentication and registration of the recipient handset 104 at the messaging server 106, and ting secure messaging between the messaging server 106 and the handset 104 by a) generating and providing an encryption key to the ing server 106, and b) ing the ation layer forSMS and data (e.g. 3G) communication between the messaging server 106_ and the handset 104 over the public mobile networks 110, 112. It will be appreciated that the handset application may also be native to the handset by being pre-installed on the handset 104. a. Authentication and ration Figure 2 shows a flow diagram 200 of the overall functions med by the handset application. Once the handset ation has been installed on: the handset 104, the handset application at step 202 authenticates the handset 104.
During the authentication process, pairs of temporary passwords and mobile numbers are compared and if these pairs match, the handset application is able to authenticate the recipient handset 104 with the messaging server 106, and the handset 104 is then also registered with the messaging server 106 (see ‘step 204). Preferably, the temporary. passwords are to be received through separate communication channels. The registration data for the handset 104 that the messaging server.106 maintains es the handset 104 identifier, i.e. the mobile number (MSISDN number) associated with the handset, the device type (such as the type‘of smart phone) as well as the public encryption key that» the handset application sends to the messaging server 106.
More detailed functions performed by the handset 104 during the registration s are now sed with reference to Figures 3' and 4.
Turning first to Figure 3, a registration process 220 is described where a temporary password is generated at the messaging server 106. At step 222 the t application is. prompted to request from the user the t identifier, i.e. the mobile number (MSISDN). The handset application obtains the mobile number associated with the handset 104 from the handset user who enters the number via the application user interfaCe (e.g. a graphical user interface (GUI)), as shown by step 224. The handset application then sends the mobile number, for example via an HTTP or an HTTPS connection, to the messaging server 106 at step 226., At step 228 the messaging server 106 generates a temporary password, in the form of a one time password (OTP) that is associated with the mobile number of the handset 104. The OTP may be a character string that is randomly created by the messaging server 106. It will be understood‘that the length and character composition may be configured in a number of different ways, so that the OTP may be an alphanumeric string of any length. In one embodiment the OTP ns 6 s. The OTP is valid for a limited period of time, for example five minutes,'one hour, one day, or one week.
The messaging server 106 sends a copy of the OTP to the handset 104 by sending an SMS to the handset’s fier (e.g. to the MSISDN/mobile number of the handset). A single identifier may be used to er multiple portable devices (for example an iPhone and an associated iPad) so that the multiple portable devices may be used to view secure messages sent to the one identifier.
At step 230 the handset application prompts the user of the handset 104 to enter the. OTP (which the messaging server 106 has sent to the mobile number of the handset 104) via the handset ation user interface. 2‘5 The handset application sends the entered OTP to the messaging server 106 yia an HTTP or an HTTPS connection. The messaging server 106 then compares the required mobile number/OTP pair with the mobile /OTP pair entered by the user.
The authentication process is performed at step 232 which is indicated in broken lines in Figure 3, as this step is performed at the messaging server 106. if the mobile number/OTP pairs .- do not match, the handset application may provide the user with an opportunity to re-enter an . 2012/001391 OTP. If the pairs again do not match the handset application may be cOnfigured to inform the ing server 106 that the handset 104 cannot be authenticated or registered and the application terminates (step 234).
If the pairs do match, the handset is authenticated and an acknowledgement is sent to the handset application at step 236. Registration of the handset 104 then s at step 238, which is the same registration step 204 shown in Figure 2.
- In one variation of this embodiment, the authentication occurs at the t. In this scenario, in addition to the ,OTP that is sent to the handset via SMS, themessaging server 106 also sends the OTP to the handset application using an HTTP or HTTPS connection. The handset '10 application then has two copies of the OTP, one received via SMS and one received via HTTP or HTTPS connection,- i.e. via different communication channels. The handsetapplication now authenticates the handset by comparing the OTPs received thereby validating the handset. ' With'reference now to Figure 4, an alternative registration process 240 is described where a temporary password is generated at the handset application 104. At step 242 the handset application is prompted to start the registration s. The handset application generates, at the handset 104, an OTP (step 244). The OTP may have similar [features as described above with reference to Figure 3. In response to the prompt, the handset application is also configured to get the handset to send an SMS containing the OTP tothe messaging server 106, as shown by step 246. This SMS is in effect an automatic SMS, ing no user input. By using nt “caller identification” functionality of the SMS message, the messaging server 106 is able to Obtain the mobile number N) of the handset from the SMS.’ The OTP is also extracted from the SMS message. At step 248 the handset application prompts the user of the handset 104 to enter the handset identifier (mobile number), which number is sent, with the OTP, over a public ' mobile network ting data communication, such as a HTTP or HTTPS connection, to the messaging server 106 (see step 250).
Similar to the process shown in Figure 3, the authentication process-is performed at step 252, again indicated in broken lines as this step is med at the messaging server 106. If the mobile number/OTP pairs do match, the handset 104 is authenticated and an acknowledgement is sent to the handset application at step 254. Registration of the ’handset 104 then follows at step 256, which is the same registration step 204 shown in Figure 2. b. Generating encryption/decryption keys Returning now to the functions after the registration step 204 in Figure 2, the handset application is shown to be configured to te encryption and decryption keys. A new and separate key is created for each t based on that handset’s mobile number which is used to, - seed a random number generator. This means that if the handset application is hacked and one private key is compromised, then only one handset is affected; At step 208 the handset application generates the encryption key and the decryption key associated with the handset 104. The handset’s mobile nUmber (MSISDN) is used by the handset application to seed a random number generator to generate the keys. In one embodiment, the encryption is. asymmetric and the keys are RSA 1024 keys. In another ment, if the handset 104 has the computing power to support the key length of an RSA 2048 key, then the keys are RSA 2048 keys. It will beunderstood that there are l types of encryption that may be used. It will be appreciated that the encryption key length will1ncrease over time as computer power es.
When asymmetric encryption is used, then the encryption key is referred to as .a public key, and the decryption key is referred to as a private key. After generating the keys, the handset application sends the public key to the messaging server 106 (step 210), preferably through the handset ation using a secure channel such as HTTPS, and does net share the private key.
The handset’s public key will then be used by the mesSaging server 106 to encrypt all messages going to that specific handset 104. The private key will be storedin the handset application on the recipient’s handset 104 and used by the handset application to decrypt the messages sent to the handset 104 from the messaging server 106 via the handset ation. -' c. Server/handset ication If a message is receiVed by the messaging server 106 from the'sender computer 102 for which the destination is the recipient handset 104, then the messaging server 106 sends an SMS message 'to the handset to notify the handset 104 of the message that is waiting. This communication happens via the public mobile network 110 that supports’SMS messaging. Once the recipient has seen the SMS message, then the ent will know to access the handset application in order to view the waiting d message. atively, the handset application may be automatically opened by way of ‘a particular t configuration. The handset ation es the application layer for the network tion between the messaging server 106 and the recipient handset 104 over the data (e.g. 3G) public mobile k 112. The handset application provides a user interface where messages that have been received from the messaging server (e.g. via an HTTP or HTTPS connection) are displayed so that the recipient can view them.
The t application also provides a user interface that the recipient can use to send a reply to the message. Replies from the handset 104 to the messaging server 106 may use a communication protocol such as HTTP, HTTPS, SMPP,~ email, WSDL, etc; In some embodiments the messaging server 106 forwards the reply messages to the sender computer 102.
In one embodiment, when the recipient performs one of: starting the handset ation, opening the handset application inbox, refreshing the handset application inbox or selecting a listed message in the handset application inbox, then the handset application is triggered to contact the messaging server 106 (step 212) and to perform the following at step 214: retrieve one or more yet to be received encrypted messages from the server 106; . decrypt the e; and y the message on the handset application user interface for the recipient to view the message.
The encrypted message that is received has been encrypted by the server 106 using the handset public key. A copy of this encrypted message remains on themessaging server 106 after the encrypted message has been sent to the handset. The copy of the message may remain on the server for a predetermined period of time (e.g. one day), or the copy of the message may be saved in the storage 114 for a longer period of time (e.g. one week, or until the user requests the server to remove the copy of the message). It will be understood that management and storage of the messages at the server 106 may be performed in any number of ways, for, example depending on the amount of memory or storage used by the server or the type of service provided to the recipient. 3. Message flow between sender,.messaging server and recipient Figures 5 to 7 represent the’message flow from the sender er 102 to the recipient - handset 104 via the messaging server 106 when the recipient is not prior registered (Figures 5 and 6), and when the recipient is prior registered (Figure 7).
Referring firstly to Figure 5, which shows the ication in terms of the functionality of the handset application described above with reference to Figures 2 and 3, at step 302 the sender er 102 uses a customer application to send a message (‘Msgl’) to the messaging server 106 that is to be delivered encrypted to the handset-"104. The sender computer 102 sends the e Msgl together with a handset identifier to the server 106. As mentioned above, the handset identifier maybe a public network address such as a directory number for a mobile handset using a national numbering plan formobile phones (e.g. an MSISDN mobile number).
The messaging server 106 determines whether the t is registered at step 304 by checking the registration database 114' to ine whether there is a handset encryption key (such as a handset public key) associated with the identifier (e.g. public network address) of the handset 104.
For the scenario shown in Figure 5, the handset 104‘is not registered at this stage, in other words the messaging server 106 does not have an encryption key to use for forwarding an encrypted message to the handset 104. At step 306 the messaging server 106 therefore encrypts the received message (‘Msgl’) arily on the platform using a messaging server encryption.» key (‘serv.enc’). The encrypted e (‘Msg2’) is stored on the server 106 and/or on the , server’s storage 114. Therefore, in this embodiment, the received message 'Msgl is not stored on the server 104.
This intermediate encryption may be symmetric or asymmetric encryption. Examples of / types of tion that may be used include RSA with key length 1024, RSA with key length 2048 or ABS with key length 256.
At step 308 the messaging server 106 sends a ation to the handset 104 indicating that there is an encrypted message g and providing details for downloading the ed handset application, for example by prbviding a hyperlink to a website of an application store. In '30 one embodiment this notification is sent via SMS.
In another embodiment, the notification step 308 may precede the intermediate encryption step 306.
At step 310 the user dewnloads and installs the handset application from the appropriate application store. If the handset application is already on the handset (for example if the user has previously aded it or if it is preinstalled on the handset), or alternatively, afier the user has now downloaded the handset ation, the user then starts the handset application on the handset 104 and, on being prompted, enters the handset’s mobile number using the handset application user interface.
- After the handset application has forwarded the entered mobile number to the ing server 106 as described above (step 312), then the messaging server 106 generates and sends an OTP to the handset 104 via SMS at step 314.
.The user provides the OTP to the handset application in order to validate the handset 104. In the embodiment shown in Figure 5, the handset application prompts the user for the OTP and then sends the user entered OTP to the server 106 (step 316). The server 106 then compares the ed mobile /OTP pair with the mobile number/OTP pair entered by- the user, noting that only the OTP— was ehtered by the user but that the application would have sent the mobile number of the handset with the OTP to the ing server 106. If the pairs match, then the server 106 authenticates the ent handset with the server 106 (see step 318), and the handset 104 is then also ered with the server 106. Typically, an ledgement of authentication will be sent to the handset application (step 320).
In another—embodiment (not shown) the messaging server 106 may send the OTP to the handset application and the application then compares the mobile number/OTP pair required by the server with the mobile number/OTP pair entered by the user.
At step 322 the handset ation createsa handset public key and t private key .25 for the handset 104. 'At step 324 the handset application provides the handset public key to the messaging server 106. At. this step other data may also be sent from the handset application to , the server 106 (for example data regarding the deVice type) that will be saved on the server storage 114 together with other registration data pertaining to the specific handset. In one embodimentthe registration data is maintained on the server storage 114 for future use, so that if a second message needs to be sent to the handset 104, the handset 104 will berdetermined to already be registered so that the second message can be a) encrypted using the saved handset public key and b) securely sent to the handset 104.
In one embodiment, when the user opens the handset application inbox to retrieve the secured message this provides a trigger (or pull) to the handset application to send a request to e the messaging server 106 in order to prompt the messaging server 106 to send the e. This is shown at step 326.
At step 328 the messaging server 106 decrypts-the intermediate encrypted message Msg2 using the messaging server decryption key._ At step 330 the messaging server 106 ts the message using the handset public key and this encrypted message (‘Msg4’) is delivered to the handset application. In one embodiment the encrypted message Msg4>is also stored on the database.
At step 332 the t ation decrypts the message using the handset e key and displays the message on the application user interface for the recipient to View, Referring now to Figure 6, communication in terms of the onality of the handset application described above with reference to Figures 2 and 4, is shown. As only the steps of authentication differ between the communication processes described in terms of Figures 5 and 6, the sarhe reference numerals have been used for steps that are the same and a ption of these steps are not repeated below.
Starting thus from step 310 in Figure 6, the user downloads and installs the handset application from the appropriate application store.
At step 340, the handset application tes an OTP. The handset application is configured to get the t'lO4 automatically to send, i.e. without user input, an SMS message to the messaging server 106 (step 342), containing the ted OTP. At step 344, the handset application prompts the user to enter the user’s mobile number (i.e. the handset ID), which is ' sent by the handset application, together with the generated OTP, via the private or public data network 112 (e.g., via an HTTP or HTTPS connection) to the messaging server 106 (see step 346).
It will be appreciated that the OTP is again sent via different communication ls from the handset to the messaging server 106.
WO 67601 On receipt of the SMS ”message, the messaging server 106 obtains the handset identifier through ‘identification functionality from the SMS. Similar to the communication process described above with reference toiFigure 5, the server 106 compares the mobile number/DTP, pairs and if the pairs match, authentication and registration'follow.
Referring to Figure 7, at step 302 the sender computer 102 uses a customer application to . Send a message ’) to the messaging server 106 that is to be delivered encrypted to the handset 104. The messaging server 106 determines whether the handset is registered at step 304.
For the scenario shown in Figure 7, the t 104 is already registered at this stage and the messaging server 106 therefore has the handset’s public key.
At step 350 the ing server 106 sends a notification via SMS to the handset that tes that there is a message waiting to be delivered.
In one embodiment, when the user opens the handset application inbox to retrieve the secured message this provides a trigger (or pull) to the handset application to send a request to the messaging server 1061n order to prompt themessaging server 106 to send the message. This is shown at step 352.
At step 354 the messaging server 106 ts the message using the handsetpublic key and this encrypted message (‘Msg4’) is delivered to the handset application. In another embodiment the ing server 106 encrypts the message using the handset public key to generate the ted message Msg4 before the handset 104 is notified, and this encrypted message Msg4 is stored on the messaging server 106 and/or the messaging server’s storage 114 'until the messaging server 106 is prompted by the r (step 356) to send the encrypted message Msg4 to the handset 104. 4. Functions performed by» the messaging server - The onality supported by the messaging server 106 may be understood with reference to Figure 8 which shows a flow diagram 400 of the steps performed at the messaging server 106, with reference to the example embodiment of Figure 3. .
At step 402 the messaging server 106 receives an unencrypted message from a sender computer 102 together with the mobile number of the recipient handset 104 to which the WO 67601 message is to be sent. At step 404 the messaging server 106 checks the database that the messaging server 106 maintains to determine whether the recipientkhandset 104 associated with the mobile number is already registered. If the handset is already ered, then at step 406 the messaging server 106 encrypts the received unencrypted message (Msgl) using the handset_ public key that the messaging server 106 has already saved together with the registration data, ated with the prior registered handset. At step 408 the messaging server 106 sends an SMS ' to the handset 104 to notify the recipient that a message is waiting. Once the recipient attempts to access the g message, a trigger is sent to the messaging server 106 at step 410 to prompt ‘ the messaging server 106 to send the message. At'step 412 theencrypted message (Msg4) is delivered to the handset application.
.’In a variation the message is encrypted (step 406) after the user is notified of the g message (step 408). In yet another ion, the message is encrypted (step 406) after the user has been notified (step 408) but before the messaging server 106 receives the r to send the encrypted message (step 410).
If, at step. 404 the messaging server 106 checks the se that the messaging server . 106 maintains to determine whether the recipient handset 104 associated with the mobile number is already registered and determines that it is not, then the messaging server 106 provides intermediate encryption to the message. At‘ step 414 the edunencrypted message (Msgl) is encrypted uSing the messaging server encryption key/At step 416 the messaging server 106 sends a notification to the handset 104 indicating that there is an ted message waiting and providing details for downloading the required handset application. At step 418 the mesSaging server 106 sends an OTP to the handset 104 via SMS.
The authentication of the handset 104 may occur either at the messaging server 106, in which case the handset application is to prompt the user to enter the OTP as received via SMS, or may occur at the handset, in which case the OTP is to be sent to the handset application via a data communication network.
Irrespective, once the ent handset 104 has been authenticated and registered, then at step 420 the messaging server 106 receives the handset public key from the t application.
At step 422 the ing server 106 receives a trigger from the handset application that prompts the messaging server 106 to send the message to the handset 104. The messaging server 166 then decrypts the intermediate encrypted message Msg2 using the server decryption key, and again encrypts the message this time using the handset public key (step 410). At step 412 the ted message lS delivered to the handset application.
In another embodiment, the intermediate encrypted e Msg2 is decrypted (step 424) and encrypted using the handset public key (step 510) to provide encrypted message Msg4, after the messaging server 106 receives the t public key from the application server (step 520). In such an embodiment, the messaging server 106 stores the message in the final encrypted form (Msg4) until a trigger is received (step 422). 1 1 Although not shown, it follows from all the descriptions above, that the step 418 described with reference to Figure 8 may be replaced by a step of receiving an SMS comprising the OTP from the handset and receiving, through a data communication k, an handset identifier entered by the user with the OTP generated by the handset application. With all this information at hand, the messaging server 106 is equipped to compare pairs of OTP/mobile numbers'thereby to authenticate and register the handset 104. This is in line with the descriptions above.
The system and method bed herein have a number of ages including: should the messaging server be compromised, messages sent to all the handsets cannot be decrypted because the private keys are not known at the messaging server~~106; should a handset 104 be compromised, only that recipient’s messages are compromised and the ation can re-establish a new public/private key for that recipient (for example using a different seed for the random number generator to obtain the keys, instead of using the mobile all handsets are validated via a temporary password such as a one time password associated with the handset, thereby improving the security of the system; the g computer does not need to pre-indica'te to a recipient that a handset application is required to receive the ted message; and 2012/001391 a handset does not need to be pre—registered for a sending computer to send an encrypted ' message to the t. As such, message recipients do not need’to download nor register the handset application until an encrypted message is to be retrieved.
It will be understood that the invention disclosed and defined in this specification extends to all altemative'combinations of two or more of the individual features mentioned or evident from the text or drawings. All of these different combinations constitute various alternative aspects of the invention. 1001038080

Claims (19)

1. A method for itting a e, ed from a sender computer, from a messaging server to a handset comprising the steps: receiving, at the messaging server and from the sender computer, a message to be sent to the handset and a handset identifier ated with the handset, the handset identifier being a public network address; in response to receiving the e from the sender computer, determining that the handset is not registered with the messaging server; facilitating the registration of the handset by: sending, from the messaging server, a notification to the handset requesting registration using the public network address of the handset identifier; receiving, from the handset, a t encryption key associated with the handset identifier; and storing the handset encryption key against the handset identifier at the messaging server; and ting the message received from the sender computer using the handset encryption key and sending the encrypted message to the handset.
2. A method as claimed in claim 1 wherein determining that the t is not registered comprises determining that the handset identifier does not have an associated handset encryption key stored at the messaging server.
3. A method as claimed in claim 1 or claim 2 further comprising ming intermediate encryption of the message to create an intermediate encrypted message and storing the intermediate encrypted message at the messaging server.
4. A method as d in claim 3 wherein the intermediate encryption uses a messaging server encryption key. 1001038080
5. A method as claim in claim 3 or claim 4 wherein the method further comprises decrypting the intermediate encrypted message before encrypting the message with the handset encryption key.
6. A method as claimed in any one of claims 1 to 5 n the step of facilitating the registration of the handset further comprises, at the messaging server, authenticating the handset prior to accepting from the handset the received handset encryption key.
7. A method as d in any one of claims 1 to 6 wherein the encryption key is ted by a handset application installed on or native to the handset.
8. A method as d in claim 7 wherein the encryption key is a public key generated during asymmetric key generation by the handset application and wherein the handset application also generates a e key, which is stored in the handset ation on the t and used to t the encrypted message after receipt f.
9. A method as claimed in claim 8 wherein the asymmetric keys are generated by a random number generator of the handset application, seeded by the handset’s identifier.
10. A method as claimed in claim 6 wherein the step of authenticating the handset comprises: providing a temporary password to the handset; receiving a return password back from the handset; and comparing the temporary password and the return password thereby to authenticate the handset.
11. A method as claimed in claim 10 wherein different communication channels are used for providing the temporary rd to the handset and receiving the return password back from the handset.
12. A method as claimed in claim 11 wherein the temporary password is sent to the handset as part of an SMS, while the return password is received from the handset using a public mobile network supporting data communication. 1001038080
13. A method as claimed in any one of claims 10 to 12 wherein the step of comparing the passwords further comprises comparing a handset identifier received with the return password, with the handset identifier to which the ary password was sent.
14. A method as d in claim 6 wherein the step of ticating the handset comprises: receiving a first temporary password from the handset; receiving a second temporary password from the handset; and comparing the two temporary passwords thereby to authenticate the handset.
15. A method as claimed in claim 14 wherein different ication channels are used for receiving the first and second temporary password from the handset, with the one channel being a public mobile network supporting data communication and the other channel being an SMS channel.
16. A method as claimed in claim 15 wherein the first temporary password is automatically transmitted over a public mobile network supporting data ication from the handset once it has been generated by the handset application program, and is itted with the handset identifier entered by the user through the handset application.
17. A method as d in claim 16 wherein the second temporary password is obtained along with the handset identifier as an SMS sent to the messaging server from the handset application, the SMS being sent automatically, without user interaction, from the handset application.
18. A computer system comprising: a memory with instructions for performing the steps of the method as d in any one of claims 1 to 17; and a processor ured to execute the ctions.
19. A method sending a secure message from a sender computer to a handset via a messaging server comprising the steps: 1001038080 receiving, at the messaging server and from the sender computer, a message to be sent to the handset and a handset identifier associated with the t; in response to receiving the message from the sender er, determining that the handset is not registered with the messaging server by determining that the handset identifier does not have an associated handset encryption key stored at the messaging server; performing intermediate encryption of the message to create an intermediate encrypted message and storing the intermediate encrypted message at the messaging ; facilitating the registration of the handset by sending, from the messaging server, a notification to the handset requesting registration using the t identifier as a public network address; obtaining a handset encryption key from the handset; decrypting the stored intermediate encrypted message; and encrypting the message with the handset tion key prior to sending the encrypted message to the handset.
NZ625590A 2011-11-11 2012-11-12 Secure messaging NZ625590B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
AU2011904705A AU2011904705A0 (en) 2011-11-11 Secure messaging
AU2011904705 2011-11-11
PCT/AU2012/001391 WO2013067601A2 (en) 2011-11-11 2012-11-12 Secure messaging

Publications (2)

Publication Number Publication Date
NZ625590A NZ625590A (en) 2015-05-29
NZ625590B2 true NZ625590B2 (en) 2015-09-01

Family

ID=

Similar Documents

Publication Publication Date Title
AU2012334829B2 (en) Secure messaging
EP2856735B1 (en) Method and system for automatic generation of context-aware cover message
EP2743855B1 (en) Secure configuration of mobile application
US8166299B2 (en) Secure messaging
US9530013B2 (en) Supporting the use of a secret key
US20140140508A1 (en) Method, System and Program Product for Secure Storage of Content
US9331995B2 (en) Secure configuration of mobile application
US9363088B2 (en) Automated provisioning of a network appliance
IL257616A (en) Email attachment security system and method using out-of-band authentication
US11095620B1 (en) Secure method, system, and computer program product for exchange of data
US10904243B2 (en) Authenticate a first device based on a push message to a second device
EP1387239A2 (en) Secure messaging
US20210258287A1 (en) Secure communication of payload data
NZ625590B2 (en) Secure messaging
HK1233799B (en) Automated provisioning of a network appliance
HK1179441B (en) Automated provisioning of a network appliance