WO2014175830A1 - Method performed by at least one server for processing a data packet from a first computing device to a second computing device to permit end-to-end encryption communication - Google Patents

Method performed by at least one server for processing a data packet from a first computing device to a second computing device to permit end-to-end encryption communication Download PDF

Info

Publication number
WO2014175830A1
WO2014175830A1 PCT/SG2014/000181 SG2014000181W WO2014175830A1 WO 2014175830 A1 WO2014175830 A1 WO 2014175830A1 SG 2014000181 W SG2014000181 W SG 2014000181W WO 2014175830 A1 WO2014175830 A1 WO 2014175830A1
Authority
WO
WIPO (PCT)
Prior art keywords
encrypted
encryption
encryption key
server
computing device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/SG2014/000181
Other languages
French (fr)
Inventor
Tse Chin TEO
Chee Wah CHONG
Ngai Kain YIP
Hon Tat Lau
Li Huang NG
Siew Yen Wendy CHAN
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
TREEBOX SOLUTIONS Pte Ltd
Original Assignee
TREEBOX SOLUTIONS Pte Ltd
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 TREEBOX SOLUTIONS Pte Ltd filed Critical TREEBOX SOLUTIONS Pte Ltd
Priority to JP2016510656A priority Critical patent/JP6573600B2/en
Priority to HK16100897.6A priority patent/HK1213108B/en
Priority to SG11201508725SA priority patent/SG11201508725SA/en
Priority to US14/786,526 priority patent/US10009321B2/en
Priority to GB1520329.2A priority patent/GB2528226B/en
Priority to CN201480023651.0A priority patent/CN105164968A/en
Priority to AU2014257953A priority patent/AU2014257953B2/en
Publication of WO2014175830A1 publication Critical patent/WO2014175830A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • 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/045Network 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 wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • 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
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/041Key generation or derivation
    • 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/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Definitions

  • the present invention relates to a method performed by at least one server for processing a data packet from a first computing device to a second computing device to permit end-to-end encryption communication, and a corresponding system.
  • certain messaging solutions perform two different encryption- decryption methods, for example in a scenario where a server is arranged between two computing devices, a sender and a recipient, in a communication network.
  • the sender encrypts a message using a symmetric key which is randomly generated.
  • the sender then encrypts the symmetric key using the server's public key, and thereafter transmits a data package, comprising the encrypted message and symmetric key, to the server.
  • the server decrypts the encrypted symmetric key using its own private key, after which the server then re-encrypts the symmetric key with the recipient's public key and the re- formatted data package is forwarded to the recipient.
  • the server since the server has the symmetric key, the server is however then able to access the encrypted message.
  • the recipient On receiving the data package, the recipient decrypts the encrypted symmetric key with its own private key to retrieve the symmetric key which is used to decrypt the encrypted message.
  • the server has a copy of the symmetric key and is able to decrypt the encrypted message for audit purposes or archival of the decrypted message.
  • the server may be configured to regenerate a new symmetric key and re-encrypt the message with the new symmetric key, and encrypt the new symmetric key with the recipient's public key.
  • One object of the present invention is therefore to address at least one of the problems of the prior art and/or to provide a choice that is useful in the art. Summary
  • a method performed by at least one server for processing a data packet from a first computing device to be transmitted to a second computing device, wherein the data packet includes a message encrypted using a first encryption key to form an encrypted message, identification data of the second computing device encrypted using a second encryption key to form encrypted identification data, and encrypted first and second encryption keys.
  • the method comprises decrypting the encrypted second encryption key; decrypting the encrypted identification data using the decrypted second encryption key; and transmitting the data packet based on the decrypted identification data.
  • the encrypted message and first encryption key are arranged to be undecryptable by the server to permit end-to-end encryption communication between the first and second computing devices.
  • the method advantageously enables realisation of a multiple-key encryption scheme that allows a sender to send encrypted messages to a recipient(s) by forwarding the encrypted messages through an intermediate server to perform re-routing of the data packet, but the server is however not enabled with the ability to decrypt the encrypted messages. This beneficially ensures that a true end-to-end encryption is achieved between the sender and the recipient(s).
  • decrypting the encrypted second encryption key may include using a private key of the server to perform the decryption.
  • transmitting the data packet may include transmitting via an SMS, an MMS, instant messaging, an email, an attachment or an electronic document delivery service.
  • the message may include text, images, animation, video or audio.
  • the first encryption key may be encrypted using a public key of the second computing device, or alternatively, the first encryption key may be encrypted using a public key of the server. More preferably, the second encryption key may be encrypted using a public key of the server.
  • the data packet may further include an initialization vector, and a digital signature generated based on the encrypted message.
  • a method performed by a first computing device for processing information to be transmitted to a second computing device via at least one server to permit end-to-end encryption communication between the first and second computing devices.
  • the method comprises encrypting a message and identification data of the second computing device respectively using first and second encryption keys; encrypting the first and second encryption keys; and transmitting the encrypted message, identification data, first and second encryption keys collectively as a data packet.
  • the message may include text, images, animation, video or audio.
  • transmitting the data packet may include transmitting via an SMS, an MMS, instant messaging, an email, an attachment or an electronic document delivery service.
  • encrypting the first encryption key may include encrypting using an encryption key of the second computing device, or an encryption key of the server.
  • the encryption key of the second computing device may include a public key thereof
  • the encryption key of the server may include a public key thereof.
  • Encrypting the second encryption key may include encrypting using an encryption key of the server.
  • the encryption key of the server may include a public key thereof.
  • the method may further comprise displaying an interface to enable a user of the first computing device to select the message from a plurality of messages, and the second computing device from a plurality of computing devices able to receive the data packet.
  • the data packet may further include an initialization vector, and a digital signature generated based on the encrypted message.
  • a method performed by a first computing device for processing a data packet from a second computing device forwarded via at least one server to permit end-to-end encryption communication between the first and second computing devices, wherein the data packet includes a message encrypted using a first encryption key to form an encrypted message, identification data of the first computing device encrypted using a second encryption key to form encrypted identification data, and encrypted first and second encryption keys.
  • the method comprises decrypting the encrypted first encryption key; and decrypting the encrypted message using the decrypted first encryption key to obtain the message.
  • decrypting the encrypted first encryption key may include using a private key of the first computing device to perform the decryption.
  • a system for exchanging a data packet between first and second computing devices via at least one server to permit end-to-end encryption communication between the first and second computing devices comprises the first and second computing devices, and the server.
  • the first computing device includes an encryption module for: encrypting a message and identification data of the second computing device respectively using first and second encryption keys; and encrypting the first and second encryption keys; and a transmission module for transmitting the encrypted message, identification data, first and second encryption keys collectively as the data packet to the server.
  • the server is configured to process the data packet received from the first computing device and includes a decryption module for: decrypting the encrypted second encryption key of the data packet; and decrypting the encrypted identification data of the data packet using the decrypted second encryption key; and a transmission module for transmitting the data packet to the second computing device based on the decrypted identification data, wherein the encrypted message and first encryption key are arranged to be undecryptable by the server.
  • the second computing device is configured to process the data packet received from the server and includes a decryption module for: decrypting the encrypted first encryption key of the data packet; and decrypting the encrypted message of the data packet using the decrypted first encryption key to obtain the message.
  • the decryption module of the server may include being configured to use a private key of the server to decrypt the encrypted second encryption key.
  • the transmission module of the server may include being configured to transmit the data packet using an SMS, an MMS, instant messaging, an email, an attachment or an electronic document delivery service.
  • the message may include text, images, animation, video or audio.
  • the encryption key of the second computing device used by the encryption module of the first computing device to encrypt the first encryption key may preferably include a public key of the second computing device.
  • the encryption module of the first computing device may further be configured to encrypt the first encryption key using an encryption key of the second computing device, or an encryption key of the server.
  • the encryption module of the first computing device may yet further be configured to encrypt the second encryption key using an encryption key of the server.
  • the encryption key of the server used by the encryption module of the first computing device to encrypt the second encryption key may include a public key of the server.
  • the data packet may further include an initialization vector, and a digital signature generated based on the encrypted message.
  • an encryption device for processing information to be transmitted to a computing device via at least one server to permit end-to-end encryption communication between the encryption and computing devices.
  • the encryption ' device comprises an encryption module for: encrypting a message and identification data of the computing device respectively using first and second encryption keys; and encrypting the first and second encryption keys; and a transmission module for transmitting the encrypted message, identification data, first and second encryption keys collectively as a data packet.
  • a decryption device for processing a data packet from a computing device forwarded via at least one server to permit end-to-end encryption communication between the decryption and computing devices, wherein the data packet includes a message encrypted using a first encryption key to form an encrypted message, identification data of the first computing device encrypted using a second encryption key to form encrypted identification data, and encrypted first and second encryption keys.
  • the decryption device comprises a decryption module for: decrypting the encrypted first encryption key; and decrypting the encrypted message using the decrypted first encryption key to obtain the message.
  • a method performed by at least one server for processing a data packet from a first computing device to be transmitted to a second computing device; wherein the data packet includes a message encrypted using a first encryption key to form an encrypted message, identification data of the second computing device encrypted using a second encryption key to form encrypted identification data, an encrypted first encryption key formed by encrypting the first encryption key using a third encryption key associated with the second computing device, and an encrypted second encryption key formed by encrypting the second encryption key using an encryption key associated with the server.
  • the method comprises decrypting the encrypted second encryption key; decrypting the encrypted identification data using the decrypted second encryption key; and transmitting the data packet based on the decrypted identification data.
  • the encrypted first encryption key is arranged to be decryptable only using a fourth encryption key associated with the second computing device; and the third and fourth encryption keys of the second computing device are configured as a pair of asymmetric keys.
  • the encryption key associated with the server may include a public key of the server.
  • decrypting the encrypted second encryption key may include using a private key of the server to perform the decryption.
  • transmitting the data packet may include transmitting via an SMS, an MMS, instant messaging, an email, an attachment or an electronic document delivery service.
  • the message may include text, images, animation, video or audio.
  • the third and fourth encryption keys respectively may include a public key and a private, key of the second computing device.
  • the data packet may further include an initialization vector, and a digital signature generated based on the encrypted message.
  • Figure 1 is a schematic diagram depicting a system for exchanging a data packet between first and second computing devices via a server to permit end- to-end encryption communication, according to an embodiment of the present invention
  • Figure 2 includes Figures 2a to 2c, shows the configurations of the first and second computing devices, and the server of Figure 1 ;
  • Figure 3 is a flow diagram of a method performed by the first computing device of Figure 1 for processing information to be transmitted to the second computing device as the data packet;
  • Figure 4 shows a format of the data packet
  • Figure 5 is a flow diagram of a method performed by the server of Figure 1 for processing the data packet received from the first computing device
  • Figure 6 is a flow diagram of a method performed by the second computing device of Figure 1 for processing the data packet received from the server.
  • a system 100 i.e. see Figure 1
  • corresponding method 500 i.e. see Figure 5
  • the system 100 includes the first and second computing devices 104, 106, and the server 108, which is configurationally arranged intermediate to the first and second computing devices 104, 106.
  • the server 108 is configured with associated public key and private key, as per the public-key infrastructure (i.e. asymmetric keys cryptography) terminology.
  • the second computing device 106 is also configured with associated public key and private key.
  • the first computing device 104 is a sender of the data packet 102
  • the second computing device 106 is an eventual intended recipient of the data packet 102.
  • the opposite relationship is possible in other instances, i.e. the second computing device 106 becomes the sender, while the first computing device 104 becomes the recipient.
  • the system 100 enables true end-to-end encryption communication between the sender and recipient, while still allowing the server 108 to route the data packet 102 in a secure manner, but without being able to decrypt a secure message embedded in the data packet 102 to access the contents of the message.
  • each of the servers 108 is configured to have access to a common set of public key and private key (e.g. which may be stored locally on each server 108, or be stored on a storage server equally accessible by all the multiple servers 108).
  • the common set of public key and private key is to be used for the purpose of encrypting and decrypting identification data of the second computing device 106, which will be elaborated below.
  • the first and second computing devices 104, 106, and the server 108 resides in a communication network.
  • Examples of the first and second computing devices 104, 106 include mobile computing devices (e.g. smartphones like iPhoneTM or tablets like iPadTM), wired computers (e.g. desktop personal computers) or the like. However, for the purpose of this embodiment, the first and second computing devices 104, 106 are mobile computing devices running on a predetermined suitable mobile operating system (e.g. iOSTM from Apple IncTM). For ease of referencing hereinafter, the first and second computing devices 104, 106 are respectively referred to as the encryption device 104 and the decryption device 106 (in the context of true end-to-end encryption communication relationship), unless otherwise explicitly stated.
  • a predetermined suitable mobile operating system e.g. iOSTM from Apple IncTM.
  • the first and second computing devices 104, 106 are respectively referred to as the encryption device 104 and the decryption device 106 (in the context of true end-to-end encryption communication relationship), unless otherwise explicitly stated.
  • server 108 examples include any types of server suitably configured for performing the task of routing the data packet 102 between the encryption device 104 and decryption device 106.
  • the encryption device 104 is configured to execute an encryption program code (not shown) for processing information into the data packet 102 to be provided to the decryption device 106
  • the decryption device 106 is configured to execute a decryption program code (not shown) for processing the received data packet 102
  • the server 108 is configured to execute a data-packet processing code (not shown), which is based on the method 500 of Figure 5, for processing the data packet 102 sent by the encryption device 104 to the decryption device 106.
  • the encryption and decryption program codes are locally installed on the encryption device and decryption device 104, 106, and further, the encryption and decryption program codes are realised as native mobile applications (e.g. as a software usable by users).
  • the encryption device 104 includes the following modules: an encryption module 1042, a display module 1046, a transmission module 1048 and a processor module 10410
  • the decryption device 106 includes the following modules: a receiver module 1062, and a decryption module 1064.
  • the data-packet processing code is implemented as an application specific program (which may be configured to run as a background process) and locally installed on the server 108.
  • the server 108 the following modules are arranged therewithin: a receiver module 1082, a decryption module 1084, and a transmission module 1086.
  • a receiver module 1082 the respective said modules of the encryption device 204 and decryption device 206 are implemented in software, and thus are incorporated respectively into the encryption program code and decryption program code. This applies mutatis mutandis to the said modules of the server 108.
  • the display module 1046 is arranged to display a software interface (not shown) to enable a user (not shown) of the encryption device 104 to select a desired message (i.e. input data) from a plurality of messages to be sent to the decryption device 106.
  • the message includes text, images, animation, video, audio or the like.
  • the user also uses the software interface to select a recipient (from a plurality of devices) of the selected message, which in this context is the decryption device 106. Further, the interface also displays an option on whether end-to-end encryption is desired by the user. If the user selects the end-to-end encryption option, the encryption device 104 proceeds to prepare the data packet 102, to embed the selected message, based on a secure packet format 400 as shown in Figure 4. Also, to proceed with the end-to-end encryption communication, the encryption device 104 is configured to then randomly generate a symmetric message encryption key (not shown) and a recipient info encryption key (not shown), the purposes of which are elaborated below. In addition, a new unique set of message encryption key and recipient info encryption key is generated for each data packet 102 to be transmitted by the encryption device 104. It is further to be appreciated that the data packet 102 may be embedded as a payload of a standard IP packet.
  • the packet format 400 includes seven data fields 401-407 in total, although additional necessary data fields may be added if required.
  • the seven data fields 401-407 include (based on an arranged order of data sequence in the packet format 400): a version-number field 401 , an encrypted-message-key field 402, an encrypted-recipient-information-key field 403, an initialization-vector field 404, an encrypted-recipient-information field 405, an encrypted-message field 406, and a digital-signature 407 field.
  • the version-number field 401 defines a present version of the packet format 400 in use
  • the encrypted-message-key field 402 stores the message encryption key encrypted using the public key of the decryption device 106
  • the encrypted-recipient-information-key field 403 stores the recipient info encryption key encrypted using the public key of the server 108.
  • the encrypted-recipient-information- key field 403 stores the recipient info encryption key which is encrypted instead using the common public key accessible by all the servers 108, " as afore explained.
  • the initialization-vector field 404 defines a starting variable used for encryption (as will be appreciated by skilled persons), the encrypted-recipient- information field 405 stores identification data of the decryption device 106 encrypted using the recipient info encryption key, whereas the encrypted- message field 406 stores the selected message encrypted using the message encryption key, and the digital-signature field 407 stores an authentication checksum generated based on the encrypted message (as stored in the encrypted-message field 406).
  • the identification data of the decryption device 106 refers to associated location information, such as an IP address, of the decryption device 106, which would enable the server 108 to identify, forward and route the data packet 102 from the encryption device 104 to the decryption device 106.
  • the identification data is location information associated with the recipient, since the decryption device 106 is the recipient of the data packet 102 in this instance. It is to be appreciated that the encryption device 104 obtains the identification data of the decryption device 106, as distributed by the server 108 through a separate communication channel/means, which is not the focus of the discussion of the present invention.
  • the software interface displayed by the display module 1046 of the encryption device 104, automatically separates the identification data from the message (without requiring any user intervention), for the purpose of enabling the identification data to be encrypted separately from the message (which will also be encrypted).
  • the encryption module 1042 (of the encryption device 104) encrypts the selected message and identification data of the decryption device 106 respectively using the message encryption key and the recipient info encryption key, and stores the encrypted message and identification data respectively in the encrypted- message field 406 and encrypted-recipient-information field 405 (of the data packet 102).
  • a corresponding authentication checksum is also generated by the processor module 10410 (of the encryption device 104) based on the encrypted message (using any suitable existing checksum algorithms), and stored in the digital-signature field 407.
  • the encryption module 1042 (of the encryption device 104) encrypts the message encryption key and the recipient info encryption key using respectively the public key of the decryption device 106, and the public key of the server 108.
  • the recipient info encryption key is instead encrypted using the common public key accessible by all the servers 108, as above explained.
  • the encrypted message encryption key, and recipient info encryption key are then respectively stored in the encrypted- message-key field 402 and encrypted-recipient-information-key field 403 (of the data packet 102).
  • the data packet 102 is then assembled into a complete form by the encryption device 104.
  • the transmission module 1048 (of the encryption device 104) transmits the (assembled) data packet 102 to the server 108.
  • the data packet may be transmitted via suitable digital messaging schemes such as using an SMS, an MMS, instant messaging (IM), an email, an attachment, an electronic document delivery service or the like.
  • the server 108 then performs a method 500 (as depicted in Figure 5) for processing the data packet 102 that is received from the encryption device 104, which permits true end-to-end encryption communication between the encryption device 104 and decryption device 106.
  • the server 108 first receives the data packet 102 via the receiver module 1082 (of the server 108) at step 502.
  • the server 108 performs an authentication check using data retrieved from the digital-signature field 407 of the received data packet 102 to ensure that the encrypted message in the encrypted-message field 406 has not been tampered with at any point during transit from the encryption device 104 to the server 108.
  • the decryption module 1084 of the server 108 is configured to decrypt the encrypted recipient info encryption key, as stored in the encrypted-recipient-information-key field 403 of the received data packet 102, using the private key of the server 108. This allows retrieval of the recipient info encryption key "in the clear” (i.e. unencrypted). It is to be appreciated that for a scenario which comprises multiple servers 108, the encrypted recipient info encryption key is instead decrypted using the common private key which is accessible by all the servers 108, as already above explained.
  • the decryption module 1084 of the server 108 proceeds to decrypt the encrypted identification data, as stored in the encrypted-recipient- information field 405- of the data packet 02, using the recipient info encryption key obtained in step 504. This allows retrieval of the identification data "in the clear”.
  • the transmission module 1086 of the server 108 transmits and forwards the data packet 102 to the destination specified in the identification data.
  • the identification data is associated with the decryption device 106, and thus the data packet is to be forwarded to the decryption device 106.
  • the data packet 102 is forwarded by the server 108 verbatim to the decryption device 106; that is, the server 108 does not (in anyway) alter, re-encrypt or re-format the data packet 102 which it receives from the encryption device 104.
  • the server 108 will not be able to decrypt the encrypted-message field 406 and the encrypted-message-key field 402 of the data packet 102. This is because the server 108 is not configured to have a copy of the private key of the decryption device 106, which is required in order to decrypt the encrypted- message-key field 402. Only with retrieval of the message encryption key "in the clear” would enable the encrypted-message field 406 to be decrypted to obtain the message "in the clear". That is, the server 108 is unable to decrypt and access the message intended for the decryption device 106, which beneficially permits secure end-to-end encryption communication between the sender and intended recipient.
  • Figure 6 depicts a method 600 performed by the decryption device 106 for processing the data packet 102 received from the server 108.
  • the receiver module 1062 (of the decryption device 106) receives the data packet 102 forwarded by the server 108, and at step 604, the decryption module 1064 (of the decryption device 106) is configured to decrypt the encrypted-message- key field 402 of the data packet 102 to obtain the message encryption key "in the clear".
  • the decryption module 1064 (of the decryption device 106) is then arranged to use the message encryption key (obtained at step 604) to decrypt the encrypted- message field 406 of the data packet 102 to obtain the decrypted message at step 606.
  • the decryption device 106 may then access and read the message that was transmitted by the encryption device 104.
  • the encryption module 1042 (of the encryption device 104) encrypts the identification data of each decryption device 106 using the recipient info encryption key associated with the corresponding decryption device 106, thereafter stores all of the encrypted identification data into the encrypted- recipient-information field 405 of a new data packet 102 to be transmitted.
  • all of the encrypted identification data are concatenated into a data string which is stored into the encrypted-recipient-information field 405 of the new data packet 102.
  • All the recipient info encryption keys of the multiple decryption devices 106 are then arranged to be encrypted (by the encryption module 1042 of the encryption device 104) using the public key of the server 108, and collectively stored in the encrypted-recipient-information-key field 403 of the data packet 102. Furthermore, the encryption module 1042 (of the encryption device 104) also uses the public key of each decryption device 106 to encrypt the message encryption key, which is then stored into the encrypted- message-key field 402 of the data packet 102. More specifically, the message encryption key is independently and singly encrypted using the corresponding public key of each decryption device 106 to form an associated encrypted message encryption key.
  • this process is performed for the public keys of all the decryption devices 106, and the resulting encrypted message encryption keys generated are then subsequently concatenated into a data string, that is stored into the encrypted-message-key field 402 of the data packet 102. It is to be appreciated that in this embodiment, the steps 302-308 in the method 300 of Figure 3 are still performed similarly by the encryption device 104; only the type and amount of data stored in the data packet 102 varies in respect of the first embodiment.
  • the decryption module 1084 of the server 108 When the server 108 receives the data packet 102 transmitted by the encryption device 104, the decryption module 1084 of the server 108 then decrypts the encrypted recipient info encryption key, as stored in the encrypted-recipient- information-key field 403 of the received data packet 102, using the private key of the server 108. This enables the server 108 to retrieve all the decrypted recipient info encryption keys of the multiple decryption devices 106, which are then further respectively used to decrypt the corresponding segment of the data string as stored in the encrypted-recipient-information field 405 of the data packet 102 to obtain the decrypted identification data of all the multiple decryption devices 106.
  • the server 108 is then able to re-route the data packet 102 to each of the intended decryption devices 106.
  • the respective decryption devices 106 decrypts the corresponding encrypted message encryption keys (stored in the data string in the encrypted-message-key field 402 of the received data packet 102) using the associated private keys of the respective decryption devices 106 to obtain a copy of the message encryption key.
  • each decryption device 106 is able to decrypt the encrypted-message field 406 of the data packet 102 to obtain the decrypted message.
  • the steps 502-508 in the method 500 of Figure 5 are still performed similarly by the server 108. It is also further to be appreciated that the server 108 does not need to re-encrypt the message, and neither is the server 108 able to re-encrypt the message, for reasons already stated in the first embodiment and thus not repeated for brevity.
  • the public key of the server 108 is now used to encrypt the message encryption key at step 306 in the method 300 of Figure 3 (as selected by the user of the encryption device 104).
  • the server 108 is then able to access the encrypted message, because the server 108 can subsequently decrypt the encrypted message encryption key using the private key of the server 108.
  • the server 108 can thus decrypt the encrypted message to access it. That is, this means that the user of the encryption device 104 may also want the server 108 to be granted access to the contents of the encrypted message (e.g. for security verification purposes).
  • the remaining of the described details of the first embodiment apply to the third embodiment, with no other changes.
  • the proposed system 100 (and corresponding method) enables realisation and implementation of a multiple-key encryption scheme that allows a sender to send encrypted messages to one or multiple recipients by forwarding the encrypted messages through at least one (intermediate) server to perform the re-routing, but however does not permit the server to have the ability to decrypt the encrypted messages.
  • This advantageously ensures that a true end- to-end encryption is maintained and achieved between the sender and the recipient(s), without allowing the server to actually decrypt the encrypted messages.
  • the proposed system 100 is configured to allow the sender to make a determination on whether the sender wants the server to be able to access an encrypted message. If the sender wants the server to access the said encrypted message, the sender can select an option whereby the public key of the server may instead be used to encrypt the message encryption key (i.e. the third embodiment). But, if the sender instead wants a true end-to-end encryption, in which the server is unable to decrypt the encrypted message, then the first and second embodiments apply.
  • the proposed system 100 and method enable true end-to-end encryption communication between the sender and multiple recipients through the (at least one) server, in which the server is configured to route (and archive) data packets arranged with customized secure packet format having multiple encryption fields.
  • One of the encryption fields stores an encrypted message intended for the recipient by the sender, and the server is not able to decrypt and access the encrypted message (which is encrypted using a public key of the recipient).
  • the secure packet format defines information required by different parties, either for the purpose of archival, re-routing or the actual intended recipient(s).
  • the identification data of the recipient is encrypted to prevent unauthorized access to the recipient's identification information.
  • the data packet is encrypted using a proposed multiple-key encryption scheme using a customized encryption software application, and is transmitted to the recipient(s) via a digital messaging platform and is received by the recipient(s) on the same type of digital messaging platform.
  • the recipient then decrypts the encrypted message (using the recipient's own private key) to view the message.
  • the server receives the same data packet in the process of forwarding the data packet to the recipient, and is able to decrypt specific encryption fields of the data packet, i.e. the encrypted-recipient-information field 405 of the data packet to determine whether to re-route the data packet or to archive the data packet.
  • the server is not configured with an encryption key (i.e.
  • the (intermediate forwarding) server performs a critical role for routing messages between senders and recipients, the server is not able to decrypt the encrypted message and access the associated content.
  • the proposed system enables a true end-to-end encryption system and scheme for the sender and recipients, but yet allows the server to participate in the forwarding/routing communications without compromising the security and authenticity of the content of the encrypted message transmitted by the sender to the recipient.
  • a method performed by at least one server for processing a data packet from a first computing device to be transmitted to a second computing device, wherein the data packet includes a message encrypted using a first encryption key to form an encrypted message, identification data of the second computing device encrypted using a second encryption key to form encrypted identification data, an encrypted first encryption key formed by encrypting the first encryption key using a third encryption key associated with the second computing device, and an encrypted second encryption key formed by encrypting the second encryption key using an encryption key associated with the server.
  • the method comprises decrypting the encrypted second encryption key; decrypting the encrypted identification data using the decrypted second encryption key; and transmitting the data packet based on the decrypted identification data.
  • the encrypted first encryption key is arranged to be decryptable only using a fourth encryption key associated with the second computing device, wherein the third and fourth encryption keys of the second computing device are configured as a pair of asymmetric keys. That is, the pair of asymmetric keys comprises a public key (i.e. the third encryption key) and a private key (i.e. the fourth encryption key) as per the established concept of public-key cryptography.
  • the encryption and decryption devices 104, 106 may be any other types of suitable devices besides mobile computing devices.
  • the respective modules of the encryption device 104 and decryption device 106 (if implemented in software) may be programmatically integrated and provided as respective single, complete software applications that are installable on and executable by similar computing devices that may be envisaged for processing the data packet 102.
  • the single complete software applications may be implemented in entirety in hardware, and a copy of such an implemented hardware is incorporated on each of the encryption device 104 and the decryption device 106.
  • the encryption and decryption program codes may be stored on external storage devices, and are downloadable "on-demand" to be executed on the encryption device and decryption device 104, 106 respectively when required.
  • the software interface as displayed by the display module 1046 of the encryption device 104, an option to allow the user to select the server 108 as the recipient, instead of the decryption device 106, may also be displayed.
  • the servers 18 may be collectively configured with a set of load balancing rules which determine where the data packet 102 is to be forwarded to.
  • the packet format 400 as shown in Figure 4 may be modified as necessary to include new data fields, or remove existing data fields, based on requirements of an intended application.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

A method (500) performed by at least one server for processing a data packet from a first computing device to be transmitted to a second computing device is disclosed, in which the data packet includes a message encrypted using a first encryption key to form an encrypted message, identification data of the second computing device encrypted using a second encryption key to form encrypted identification data, and encrypted first and second encryption keys. The method comprises decrypting (504) the encrypted second encryption key; decrypting (506) the encrypted identification data using the decrypted second encryption key; and transmitting (508) the data packet based on the decrypted identification data, wherein the encrypted message and first encryption key are arranged to be undecryptable by the server to permit end-to-end encryption communication between the first and second computing devices. A related system is also disclosed.

Description

Method Performed by at Least One Server for Processing a Data Packet from a First Computing Device to a Second Computing Device to Permit
End-to-End Encryption Communication Field & Background
The present invention relates to a method performed by at least one server for processing a data packet from a first computing device to a second computing device to permit end-to-end encryption communication, and a corresponding system.
Presently, certain messaging solutions perform two different encryption- decryption methods, for example in a scenario where a server is arranged between two computing devices, a sender and a recipient, in a communication network. The sender encrypts a message using a symmetric key which is randomly generated. The sender then encrypts the symmetric key using the server's public key, and thereafter transmits a data package, comprising the encrypted message and symmetric key, to the server. The server decrypts the encrypted symmetric key using its own private key, after which the server then re-encrypts the symmetric key with the recipient's public key and the re- formatted data package is forwarded to the recipient. It will be appreciated that since the server has the symmetric key, the server is however then able to access the encrypted message. On receiving the data package, the recipient decrypts the encrypted symmetric key with its own private key to retrieve the symmetric key which is used to decrypt the encrypted message. For such a scenario, the server has a copy of the symmetric key and is able to decrypt the encrypted message for audit purposes or archival of the decrypted message. However, this is not considered true end-to-end encryption communication, since the server has access to the content of the message. For other conventional implementations, the server may be configured to regenerate a new symmetric key and re-encrypt the message with the new symmetric key, and encrypt the new symmetric key with the recipient's public key. In this situation, the server nonetheless still has access to the encrypted message and thus also does not enable true end-to-end encryption communication. One object of the present invention is therefore to address at least one of the problems of the prior art and/or to provide a choice that is useful in the art. Summary
According to a 1st aspect of the invention, there is provided a method performed by at least one server for processing a data packet from a first computing device to be transmitted to a second computing device, wherein the data packet includes a message encrypted using a first encryption key to form an encrypted message, identification data of the second computing device encrypted using a second encryption key to form encrypted identification data, and encrypted first and second encryption keys. The method comprises decrypting the encrypted second encryption key; decrypting the encrypted identification data using the decrypted second encryption key; and transmitting the data packet based on the decrypted identification data. The encrypted message and first encryption key are arranged to be undecryptable by the server to permit end-to-end encryption communication between the first and second computing devices.
The method advantageously enables realisation of a multiple-key encryption scheme that allows a sender to send encrypted messages to a recipient(s) by forwarding the encrypted messages through an intermediate server to perform re-routing of the data packet, but the server is however not enabled with the ability to decrypt the encrypted messages. This beneficially ensures that a true end-to-end encryption is achieved between the sender and the recipient(s).
Preferably, decrypting the encrypted second encryption key may include using a private key of the server to perform the decryption. Also, transmitting the data packet may include transmitting via an SMS, an MMS, instant messaging, an email, an attachment or an electronic document delivery service. The message may include text, images, animation, video or audio. It is to be appreciated that the first encryption key may be encrypted using a public key of the second computing device, or alternatively, the first encryption key may be encrypted using a public key of the server. More preferably, the second encryption key may be encrypted using a public key of the server. Yet preferably, the data packet may further include an initialization vector, and a digital signature generated based on the encrypted message.
According to a 2nd aspect of the invention, there is provided a method performed by a first computing device for processing information to be transmitted to a second computing device via at least one server to permit end-to-end encryption communication between the first and second computing devices. The method comprises encrypting a message and identification data of the second computing device respectively using first and second encryption keys; encrypting the first and second encryption keys; and transmitting the encrypted message, identification data, first and second encryption keys collectively as a data packet.
Preferably, the message may include text, images, animation, video or audio. Further, transmitting the data packet may include transmitting via an SMS, an MMS, instant messaging, an email, an attachment or an electronic document delivery service. More preferably, encrypting the first encryption key ma include encrypting using an encryption key of the second computing device, or an encryption key of the server. In addition, the encryption key of the second computing device may include a public key thereof, and the encryption key of the server may include a public key thereof. Encrypting the second encryption key may include encrypting using an encryption key of the server. The encryption key of the server may include a public key thereof.
Preferably, the method may further comprise displaying an interface to enable a user of the first computing device to select the message from a plurality of messages, and the second computing device from a plurality of computing devices able to receive the data packet. The data packet may further include an initialization vector, and a digital signature generated based on the encrypted message.
According to a 3rd aspect of the invention, there is provided a method performed by a first computing device for processing a data packet from a second computing device forwarded via at least one server to permit end-to-end encryption communication between the first and second computing devices, wherein the data packet includes a message encrypted using a first encryption key to form an encrypted message, identification data of the first computing device encrypted using a second encryption key to form encrypted identification data, and encrypted first and second encryption keys. The method comprises decrypting the encrypted first encryption key; and decrypting the encrypted message using the decrypted first encryption key to obtain the message.
Preferably, decrypting the encrypted first encryption key may include using a private key of the first computing device to perform the decryption.
According to a 4th aspect of the invention, there is provided a system for exchanging a data packet between first and second computing devices via at least one server to permit end-to-end encryption communication between the first and second computing devices. The system comprises the first and second computing devices, and the server. The first computing device includes an encryption module for: encrypting a message and identification data of the second computing device respectively using first and second encryption keys; and encrypting the first and second encryption keys; and a transmission module for transmitting the encrypted message, identification data, first and second encryption keys collectively as the data packet to the server. The server is configured to process the data packet received from the first computing device and includes a decryption module for: decrypting the encrypted second encryption key of the data packet; and decrypting the encrypted identification data of the data packet using the decrypted second encryption key; and a transmission module for transmitting the data packet to the second computing device based on the decrypted identification data, wherein the encrypted message and first encryption key are arranged to be undecryptable by the server. The second computing device is configured to process the data packet received from the server and includes a decryption module for: decrypting the encrypted first encryption key of the data packet; and decrypting the encrypted message of the data packet using the decrypted first encryption key to obtain the message.
Preferably, the decryption module of the server may include being configured to use a private key of the server to decrypt the encrypted second encryption key. On the other hand, the transmission module of the server may include being configured to transmit the data packet using an SMS, an MMS, instant messaging, an email, an attachment or an electronic document delivery service. The message may include text, images, animation, video or audio. The encryption key of the second computing device used by the encryption module of the first computing device to encrypt the first encryption key may preferably include a public key of the second computing device.
Preferably, the encryption module of the first computing device may further be configured to encrypt the first encryption key using an encryption key of the second computing device, or an encryption key of the server. In addition, the encryption module of the first computing device may yet further be configured to encrypt the second encryption key using an encryption key of the server.
Preferably, the encryption key of the server used by the encryption module of the first computing device to encrypt the second encryption key may include a public key of the server. The data packet may further include an initialization vector, and a digital signature generated based on the encrypted message.
According to a 5th aspect of the invention, there is provided an encryption device for processing information to be transmitted to a computing device via at least one server to permit end-to-end encryption communication between the encryption and computing devices. The encryption' device comprises an encryption module for: encrypting a message and identification data of the computing device respectively using first and second encryption keys; and encrypting the first and second encryption keys; and a transmission module for transmitting the encrypted message, identification data, first and second encryption keys collectively as a data packet.
According to a 6th aspect of the invention, there is provided a decryption device for processing a data packet from a computing device forwarded via at least one server to permit end-to-end encryption communication between the decryption and computing devices, wherein the data packet includes a message encrypted using a first encryption key to form an encrypted message, identification data of the first computing device encrypted using a second encryption key to form encrypted identification data, and encrypted first and second encryption keys. The decryption device comprises a decryption module for: decrypting the encrypted first encryption key; and decrypting the encrypted message using the decrypted first encryption key to obtain the message.
According to a 7th aspect of the invention, there is provided a method performed by at least one server for processing a data packet from a first computing device to be transmitted to a second computing device; wherein the data packet includes a message encrypted using a first encryption key to form an encrypted message, identification data of the second computing device encrypted using a second encryption key to form encrypted identification data, an encrypted first encryption key formed by encrypting the first encryption key using a third encryption key associated with the second computing device, and an encrypted second encryption key formed by encrypting the second encryption key using an encryption key associated with the server. The method comprises decrypting the encrypted second encryption key; decrypting the encrypted identification data using the decrypted second encryption key; and transmitting the data packet based on the decrypted identification data. The encrypted first encryption key is arranged to be decryptable only using a fourth encryption key associated with the second computing device; and the third and fourth encryption keys of the second computing device are configured as a pair of asymmetric keys.
Preferably, the encryption key associated with the server may include a public key of the server. Following on, decrypting the encrypted second encryption key may include using a private key of the server to perform the decryption. Further, transmitting the data packet may include transmitting via an SMS, an MMS, instant messaging, an email, an attachment or an electronic document delivery service. The message may include text, images, animation, video or audio. Yet preferably, the third and fourth encryption keys respectively may include a public key and a private, key of the second computing device. The data packet may further include an initialization vector, and a digital signature generated based on the encrypted message. It should be apparent that features relating to one aspect of the invention may also be applicable to the other aspects of the invention.
These and other aspects of the invention will be apparent from and elucidated with reference to the embodiments described hereinafter.
Brief Description of the Drawings
Embodiments of the invention are disclosed hereinafter with reference to the accompanying drawings, in which:
Figure 1 is a schematic diagram depicting a system for exchanging a data packet between first and second computing devices via a server to permit end- to-end encryption communication, according to an embodiment of the present invention;
Figure 2, includes Figures 2a to 2c, shows the configurations of the first and second computing devices, and the server of Figure 1 ;
Figure 3 is a flow diagram of a method performed by the first computing device of Figure 1 for processing information to be transmitted to the second computing device as the data packet;
Figure 4 shows a format of the data packet;
Figure 5 is a flow diagram of a method performed by the server of Figure 1 for processing the data packet received from the first computing device; and
Figure 6 is a flow diagram of a method performed by the second computing device of Figure 1 for processing the data packet received from the server.
Detailed Description of Preferred Embodiments
A system 100 (i.e. see Figure 1 ) and corresponding method 500 (i.e. see Figure 5) for exchanging a data packet 102 between first and second computing devices 104, 106 (i.e. two parties) via at least one server 108 to permit end-to- end encryption communication is disclosed, according to a first embodiment. The system 100 includes the first and second computing devices 104, 106, and the server 108, which is configurationally arranged intermediate to the first and second computing devices 104, 106. It is to be appreciated that the server 108 is configured with associated public key and private key, as per the public-key infrastructure (i.e. asymmetric keys cryptography) terminology. Similarly, the second computing device 106 is also configured with associated public key and private key. In the context of Figure 1 , the first computing device 104 is a sender of the data packet 102, and the second computing device 106 is an eventual intended recipient of the data packet 102. But it will also be appreciated that the opposite relationship is possible in other instances, i.e. the second computing device 106 becomes the sender, while the first computing device 104 becomes the recipient. In particular, the system 100 enables true end-to-end encryption communication between the sender and recipient, while still allowing the server 108 to route the data packet 102 in a secure manner, but without being able to decrypt a secure message embedded in the data packet 102 to access the contents of the message. Also for sake of simplicity in illustrating and describing, only one server 102 is shown in Figure 1 , although it will be understood that the data packet 102 may be forwarded through multiple servers 108 (i.e. a server cluster) before being received by the second computing device 106. In the said scenario of multiple servers 108, it is to be appreciated that each of the servers 108 is configured to have access to a common set of public key and private key (e.g. which may be stored locally on each server 108, or be stored on a storage server equally accessible by all the multiple servers 108). Specifically, the common set of public key and private key is to be used for the purpose of encrypting and decrypting identification data of the second computing device 106, which will be elaborated below. It is further to be appreciated that the first and second computing devices 104, 106, and the server 108 resides in a communication network.
Examples of the first and second computing devices 104, 106 include mobile computing devices (e.g. smartphones like iPhone™ or tablets like iPad™), wired computers (e.g. desktop personal computers) or the like. However, for the purpose of this embodiment, the first and second computing devices 104, 106 are mobile computing devices running on a predetermined suitable mobile operating system (e.g. iOS™ from Apple Inc™). For ease of referencing hereinafter, the first and second computing devices 104, 106 are respectively referred to as the encryption device 104 and the decryption device 106 (in the context of true end-to-end encryption communication relationship), unless otherwise explicitly stated. It will also be appreciated that there can be multiple encryption devices 104 and decryption devices 106 arranged within the system 100 in the communication network to exchange different data packets 102 with one another, but not however specifically shown in Figure 1 in this instance, for sake of brevity. As for the server 108, examples include any types of server suitably configured for performing the task of routing the data packet 102 between the encryption device 104 and decryption device 106.
Referring to Figure 2, the encryption device 104 is configured to execute an encryption program code (not shown) for processing information into the data packet 102 to be provided to the decryption device 106, whereas the decryption device 106 is configured to execute a decryption program code (not shown) for processing the received data packet 102. On the other hand, the server 108 is configured to execute a data-packet processing code (not shown), which is based on the method 500 of Figure 5, for processing the data packet 102 sent by the encryption device 104 to the decryption device 106. It will be appreciated that, in this embodiment, the encryption and decryption program codes are locally installed on the encryption device and decryption device 104, 106, and further, the encryption and decryption program codes are realised as native mobile applications (e.g. as a software usable by users). Specifically, the encryption device 104 includes the following modules: an encryption module 1042, a display module 1046, a transmission module 1048 and a processor module 10410, while the decryption device 106 includes the following modules: a receiver module 1062, and a decryption module 1064. Similarly, the data-packet processing code is implemented as an application specific program (which may be configured to run as a background process) and locally installed on the server 108. For the server 108, the following modules are arranged therewithin: a receiver module 1082, a decryption module 1084, and a transmission module 1086. In this instance, it is to be understood that the respective said modules of the encryption device 204 and decryption device 206 are implemented in software, and thus are incorporated respectively into the encryption program code and decryption program code. This applies mutatis mutandis to the said modules of the server 108.
Reference is now made to Figures 3 and 4 to describe a method 300 performed by the encryption device 104 (i.e. the sender) for processing information to be transmitted to the decryption device 106 (i.e. the recipient) via the server 108 to permit end-to-end encryption communication. At step 302 of the method 300, the display module 1046 is arranged to display a software interface (not shown) to enable a user (not shown) of the encryption device 104 to select a desired message (i.e. input data) from a plurality of messages to be sent to the decryption device 106. It will be appreciated that the message includes text, images, animation, video, audio or the like. In addition, at the step 302, the user also uses the software interface to select a recipient (from a plurality of devices) of the selected message, which in this context is the decryption device 106. Further, the interface also displays an option on whether end-to-end encryption is desired by the user. If the user selects the end-to-end encryption option, the encryption device 104 proceeds to prepare the data packet 102, to embed the selected message, based on a secure packet format 400 as shown in Figure 4. Also, to proceed with the end-to-end encryption communication, the encryption device 104 is configured to then randomly generate a symmetric message encryption key (not shown) and a recipient info encryption key (not shown), the purposes of which are elaborated below. In addition, a new unique set of message encryption key and recipient info encryption key is generated for each data packet 102 to be transmitted by the encryption device 104. It is further to be appreciated that the data packet 102 may be embedded as a payload of a standard IP packet.
Referring to Figure 4, the packet format 400 includes seven data fields 401-407 in total, although additional necessary data fields may be added if required. Specifically, the seven data fields 401-407 include (based on an arranged order of data sequence in the packet format 400): a version-number field 401 , an encrypted-message-key field 402, an encrypted-recipient-information-key field 403, an initialization-vector field 404, an encrypted-recipient-information field 405, an encrypted-message field 406, and a digital-signature 407 field. To briefly explain, the version-number field 401 defines a present version of the packet format 400 in use, the encrypted-message-key field 402 stores the message encryption key encrypted using the public key of the decryption device 106, while the encrypted-recipient-information-key field 403 stores the recipient info encryption key encrypted using the public key of the server 108. For a scenario comprising multiple servers 108, the encrypted-recipient-information- key field 403 stores the recipient info encryption key which is encrypted instead using the common public key accessible by all the servers 108, " as afore explained. The initialization-vector field 404 defines a starting variable used for encryption (as will be appreciated by skilled persons), the encrypted-recipient- information field 405 stores identification data of the decryption device 106 encrypted using the recipient info encryption key, whereas the encrypted- message field 406 stores the selected message encrypted using the message encryption key, and the digital-signature field 407 stores an authentication checksum generated based on the encrypted message (as stored in the encrypted-message field 406). It is to be appreciated that the identification data of the decryption device 106 refers to associated location information, such as an IP address, of the decryption device 106, which would enable the server 108 to identify, forward and route the data packet 102 from the encryption device 104 to the decryption device 106. Thus, the identification data is location information associated with the recipient, since the decryption device 106 is the recipient of the data packet 102 in this instance. It is to be appreciated that the encryption device 104 obtains the identification data of the decryption device 106, as distributed by the server 108 through a separate communication channel/means, which is not the focus of the discussion of the present invention.
It is to be appreciated that the software interface, displayed by the display module 1046 of the encryption device 104, automatically separates the identification data from the message (without requiring any user intervention), for the purpose of enabling the identification data to be encrypted separately from the message (which will also be encrypted). This is now elaborated below. Resuming our description of the method 300 in Figure 3, at step 304, the encryption module 1042 (of the encryption device 104) encrypts the selected message and identification data of the decryption device 106 respectively using the message encryption key and the recipient info encryption key, and stores the encrypted message and identification data respectively in the encrypted- message field 406 and encrypted-recipient-information field 405 (of the data packet 102). A corresponding authentication checksum is also generated by the processor module 10410 (of the encryption device 104) based on the encrypted message (using any suitable existing checksum algorithms), and stored in the digital-signature field 407. Thereafter at step 306, the encryption module 1042 (of the encryption device 104) encrypts the message encryption key and the recipient info encryption key using respectively the public key of the decryption device 106, and the public key of the server 108. It is to be appreciated that for a scenario which comprises multiple servers 108, the recipient info encryption key is instead encrypted using the common public key accessible by all the servers 108, as above explained. The encrypted message encryption key, and recipient info encryption key are then respectively stored in the encrypted- message-key field 402 and encrypted-recipient-information-key field 403 (of the data packet 102). The data packet 102 is then assembled into a complete form by the encryption device 104. At step 308, the transmission module 1048 (of the encryption device 104) transmits the (assembled) data packet 102 to the server 108. It is to be appreciated that the data packet may be transmitted via suitable digital messaging schemes such as using an SMS, an MMS, instant messaging (IM), an email, an attachment, an electronic document delivery service or the like.
The server 108 then performs a method 500 (as depicted in Figure 5) for processing the data packet 102 that is received from the encryption device 104, which permits true end-to-end encryption communication between the encryption device 104 and decryption device 106. In particular, the server 108 first receives the data packet 102 via the receiver module 1082 (of the server 108) at step 502. The server 108 performs an authentication check using data retrieved from the digital-signature field 407 of the received data packet 102 to ensure that the encrypted message in the encrypted-message field 406 has not been tampered with at any point during transit from the encryption device 104 to the server 108. Then, at step 504, the decryption module 1084 of the server 108 is configured to decrypt the encrypted recipient info encryption key, as stored in the encrypted-recipient-information-key field 403 of the received data packet 102, using the private key of the server 108. This allows retrieval of the recipient info encryption key "in the clear" (i.e. unencrypted). It is to be appreciated that for a scenario which comprises multiple servers 108, the encrypted recipient info encryption key is instead decrypted using the common private key which is accessible by all the servers 108, as already above explained. Thereafter, the decryption module 1084 of the server 108 proceeds to decrypt the encrypted identification data, as stored in the encrypted-recipient- information field 405- of the data packet 02, using the recipient info encryption key obtained in step 504. This allows retrieval of the identification data "in the clear". Once the server 108 determines where the data packet 102 needs to be routed to next, based on the identification data obtained in afore said step 506, the transmission module 1086 of the server 108 then transmits and forwards the data packet 102 to the destination specified in the identification data. Of course, in the context of the current discussion, the identification data is associated with the decryption device 106, and thus the data packet is to be forwarded to the decryption device 106. Importantly, it is to be appreciated that the data packet 102 is forwarded by the server 108 verbatim to the decryption device 106; that is, the server 108 does not (in anyway) alter, re-encrypt or re-format the data packet 102 which it receives from the encryption device 104.
It is to be understood that during the performance of the method 500 of Figure 5, the server 108 will not be able to decrypt the encrypted-message field 406 and the encrypted-message-key field 402 of the data packet 102. This is because the server 108 is not configured to have a copy of the private key of the decryption device 106, which is required in order to decrypt the encrypted- message-key field 402. Only with retrieval of the message encryption key "in the clear" would enable the encrypted-message field 406 to be decrypted to obtain the message "in the clear". That is, the server 108 is unable to decrypt and access the message intended for the decryption device 106, which beneficially permits secure end-to-end encryption communication between the sender and intended recipient.
Figure 6 then depicts a method 600 performed by the decryption device 106 for processing the data packet 102 received from the server 108. At step 602, the receiver module 1062 (of the decryption device 106) receives the data packet 102 forwarded by the server 108, and at step 604, the decryption module 1064 (of the decryption device 106) is configured to decrypt the encrypted-message- key field 402 of the data packet 102 to obtain the message encryption key "in the clear". With successful retrieval of the decrypted message encryption key, the decryption module 1064 (of the decryption device 106) is then arranged to use the message encryption key (obtained at step 604) to decrypt the encrypted- message field 406 of the data packet 102 to obtain the decrypted message at step 606. The decryption device 106 may then access and read the message that was transmitted by the encryption device 104.
Further embodiments of the invention will be described hereinafter. For the sake of brevity, description of like elements, functionalities and operations that are common between the embodiments are not repeated; reference will instead be made to similar parts of the relevant embodiment(s).
According to a second embodiment, in a scenario where there are multiple decryption devices 106 (i.e. more than one recipients for group communications), the encryption module 1042 (of the encryption device 104) encrypts the identification data of each decryption device 106 using the recipient info encryption key associated with the corresponding decryption device 106, thereafter stores all of the encrypted identification data into the encrypted- recipient-information field 405 of a new data packet 102 to be transmitted. In particular, all of the encrypted identification data are concatenated into a data string which is stored into the encrypted-recipient-information field 405 of the new data packet 102. All the recipient info encryption keys of the multiple decryption devices 106 are then arranged to be encrypted (by the encryption module 1042 of the encryption device 104) using the public key of the server 108, and collectively stored in the encrypted-recipient-information-key field 403 of the data packet 102. Furthermore, the encryption module 1042 (of the encryption device 104) also uses the public key of each decryption device 106 to encrypt the message encryption key, which is then stored into the encrypted- message-key field 402 of the data packet 102. More specifically, the message encryption key is independently and singly encrypted using the corresponding public key of each decryption device 106 to form an associated encrypted message encryption key. As will be appreciated, this process is performed for the public keys of all the decryption devices 106, and the resulting encrypted message encryption keys generated are then subsequently concatenated into a data string, that is stored into the encrypted-message-key field 402 of the data packet 102. It is to be appreciated that in this embodiment, the steps 302-308 in the method 300 of Figure 3 are still performed similarly by the encryption device 104; only the type and amount of data stored in the data packet 102 varies in respect of the first embodiment. When the server 108 receives the data packet 102 transmitted by the encryption device 104, the decryption module 1084 of the server 108 then decrypts the encrypted recipient info encryption key, as stored in the encrypted-recipient- information-key field 403 of the received data packet 102, using the private key of the server 108. This enables the server 108 to retrieve all the decrypted recipient info encryption keys of the multiple decryption devices 106, which are then further respectively used to decrypt the corresponding segment of the data string as stored in the encrypted-recipient-information field 405 of the data packet 102 to obtain the decrypted identification data of all the multiple decryption devices 106. With the decrypted identification data, the server 108 is then able to re-route the data packet 102 to each of the intended decryption devices 106. When the data packet 102 is delivered to each of the decryption devices 106, the respective decryption devices 106 then decrypts the corresponding encrypted message encryption keys (stored in the data string in the encrypted-message-key field 402 of the received data packet 102) using the associated private keys of the respective decryption devices 106 to obtain a copy of the message encryption key. With the message encryption key, each decryption device 106 is able to decrypt the encrypted-message field 406 of the data packet 102 to obtain the decrypted message. It is to be appreciated that in this embodiment, the steps 502-508 in the method 500 of Figure 5 are still performed similarly by the server 108. It is also further to be appreciated that the server 108 does not need to re-encrypt the message, and neither is the server 108 able to re-encrypt the message, for reasons already stated in the first embodiment and thus not repeated for brevity.
According to a third embodiment, in a slight variation to the first embodiment, instead of the public key of the decryption device 106, the public key of the server 108 is now used to encrypt the message encryption key at step 306 in the method 300 of Figure 3 (as selected by the user of the encryption device 104). This means that the server 108 is then able to access the encrypted message, because the server 108 can subsequently decrypt the encrypted message encryption key using the private key of the server 108. Indeed, with retrieval of the message encryption key, the server 108 can thus decrypt the encrypted message to access it. That is, this means that the user of the encryption device 104 may also want the server 108 to be granted access to the contents of the encrypted message (e.g. for security verification purposes). Other than the above said variation, it will be appreciated that the remaining of the described details of the first embodiment apply to the third embodiment, with no other changes.
In summary, the proposed system 100 (and corresponding method) enables realisation and implementation of a multiple-key encryption scheme that allows a sender to send encrypted messages to one or multiple recipients by forwarding the encrypted messages through at least one (intermediate) server to perform the re-routing, but however does not permit the server to have the ability to decrypt the encrypted messages. This advantageously ensures that a true end- to-end encryption is maintained and achieved between the sender and the recipient(s), without allowing the server to actually decrypt the encrypted messages.
Also, the proposed system 100 is configured to allow the sender to make a determination on whether the sender wants the server to be able to access an encrypted message. If the sender wants the server to access the said encrypted message, the sender can select an option whereby the public key of the server may instead be used to encrypt the message encryption key (i.e. the third embodiment). But, if the sender instead wants a true end-to-end encryption, in which the server is unable to decrypt the encrypted message, then the first and second embodiments apply.
To reiterate, the proposed system 100 and method enable true end-to-end encryption communication between the sender and multiple recipients through the (at least one) server, in which the server is configured to route (and archive) data packets arranged with customized secure packet format having multiple encryption fields. One of the encryption fields stores an encrypted message intended for the recipient by the sender, and the server is not able to decrypt and access the encrypted message (which is encrypted using a public key of the recipient). Specifically, the secure packet format defines information required by different parties, either for the purpose of archival, re-routing or the actual intended recipient(s). The identification data of the recipient is encrypted to prevent unauthorized access to the recipient's identification information. Particularly, the data packet is encrypted using a proposed multiple-key encryption scheme using a customized encryption software application, and is transmitted to the recipient(s) via a digital messaging platform and is received by the recipient(s) on the same type of digital messaging platform. To access the message, the recipient then decrypts the encrypted message (using the recipient's own private key) to view the message. It will be appreciated that the server receives the same data packet in the process of forwarding the data packet to the recipient, and is able to decrypt specific encryption fields of the data packet, i.e. the encrypted-recipient-information field 405 of the data packet to determine whether to re-route the data packet or to archive the data packet. However, the server is not configured with an encryption key (i.e. private key of the recipient) for decrypting the encrypted message stored in the data packet. This ensures that in a digital messaging system, where the (intermediate forwarding) server performs a critical role for routing messages between senders and recipients, the server is not able to decrypt the encrypted message and access the associated content. Hence, the proposed system enables a true end-to-end encryption system and scheme for the sender and recipients, but yet allows the server to participate in the forwarding/routing communications without compromising the security and authenticity of the content of the encrypted message transmitted by the sender to the recipient.
To also broadly summarise the proposed method, there is disclosed a method performed by at least one server for processing a data packet from a first computing device to be transmitted to a second computing device, wherein the data packet includes a message encrypted using a first encryption key to form an encrypted message, identification data of the second computing device encrypted using a second encryption key to form encrypted identification data, an encrypted first encryption key formed by encrypting the first encryption key using a third encryption key associated with the second computing device, and an encrypted second encryption key formed by encrypting the second encryption key using an encryption key associated with the server. The method comprises decrypting the encrypted second encryption key; decrypting the encrypted identification data using the decrypted second encryption key; and transmitting the data packet based on the decrypted identification data. Specifically, the encrypted first encryption key is arranged to be decryptable only using a fourth encryption key associated with the second computing device, wherein the third and fourth encryption keys of the second computing device are configured as a pair of asymmetric keys. That is, the pair of asymmetric keys comprises a public key (i.e. the third encryption key) and a private key (i.e. the fourth encryption key) as per the established concept of public-key cryptography.
The described embodiments should not however be construed as limitative. For example, it is to be appreciated that the encryption and decryption devices 104, 106 may be any other types of suitable devices besides mobile computing devices. Also, the respective modules of the encryption device 104 and decryption device 106 (if implemented in software) may be programmatically integrated and provided as respective single, complete software applications that are installable on and executable by similar computing devices that may be envisaged for processing the data packet 102. Optionally, the single complete software applications may be implemented in entirety in hardware, and a copy of such an implemented hardware is incorporated on each of the encryption device 104 and the decryption device 106. The alternative configurations described in the immediate preceding two statements may also apply mutatis mutandis to the said modules of the server 108. Moreover, alternatively, the encryption and decryption program codes may be stored on external storage devices, and are downloadable "on-demand" to be executed on the encryption device and decryption device 104, 106 respectively when required. Further, in the software interface, as displayed by the display module 1046 of the encryption device 104, an option to allow the user to select the server 108 as the recipient, instead of the decryption device 106, may also be displayed. It is also to be appreciated that for a scenario of multiple servers 108, the servers 18 may be collectively configured with a set of load balancing rules which determine where the data packet 102 is to be forwarded to. Further, the packet format 400 as shown in Figure 4 may be modified as necessary to include new data fields, or remove existing data fields, based on requirements of an intended application.
While the invention has been illustrated and described in detail in the drawings and foregoing description, such illustration and description are to be considered illustrative or exemplary, and not restrictive; the invention is not limited to the disclosed embodiments. Other variations to the disclosed embodiments can be understood and effected by those skilled in the art in practising the claimed invention.

Claims

Claims
1. A method performed by at least one server for processing a data packet from a first computing device to be transmitted to a second computing device, wherein the data packet includes a message encrypted using a first encryption key to form an encrypted message, identification data of the second computing device encrypted using a second encryption key to form encrypted identification data, and encrypted first and second encryption keys, the method comprising: decrypting the encrypted second encryption key;
decrypting the encrypted identification data using the decrypted second encryption key; and
transmitting the data packet based on the decrypted identification data, wherein the encrypted message and first encryption key are arranged to be undecryptable by the server to permit end-to-end encryption communication between the first and second computing devices.
2. The method of claim 1 , wherein decrypting the encrypted second encryption key includes using a private key of the server to perform the decryption.
3. The method of any preceding claims, wherein transmitting the data packet includes transmitting via an SMS, an MMS, instant messaging, an email, an attachment or an electronic document delivery service.
4. The method of any preceding claims, wherein the message includes text, images, animation, video or audio.
5. The method of any preceding claims, wherein the first encryption key is encrypted using a public key of the second computing device.
6. The method of any of claims 1 to 4, wherein the first encryption key is encrypted using a public key of the server.
7. The method of any preceding claims, wherein the second encryption key is encrypted using a public key of the server.
8. The method of any preceding claims, wherein the data packet further includes an initialization vector, and a digital signature generated based on the encrypted message.
9. A method performed by a first computing device for processing information to be transmitted to a second computing device via at least one server to permit end-to-end encryption communication between the first and second computing devices, the method comprising:
encrypting a message and identification data of the second computing device respectively using first and second encryption keys;
encrypting the first and second encryption keys; and
transmitting the encrypted message, identification data, first and second encryption keys collectively as a data packet.
10. The method of claim 9, wherein the message includes text, images, animation, video or audio.
1 1. The method of claim 9 or 10, wherein transmitting the data packet includes transmitting via an SMS, an MMS, instant messaging, an email, an attachment or an electronic document delivery service.
12. The method of any of claims 9 to 1 1 , wherein encrypting the first encryption key includes encrypting using an encryption key of the second computing device, or an encryption key of the server.
13. The method of claim 12, wherein the encryption key of the second computing device includes a public key thereof.
14. The method of claim 12, wherein the encryption key of the server includes a public key thereof.
15. The method of any of claims 9 to 1 1 , wherein encrypting the second encryption key includes encrypting using an encryption key of the server.
16. The method of claim 15, wherein the encryption key of the server includes a public key thereof.
17. The method of any of claims 9 to 16, further comprising displaying an interface to enable a user of the first computing device to select the message from a plurality of messages, and the second computing device from a plurality of computing devices able to receive the data packet.
18. The method of any of claims 9 to 17, wherein the data packet further includes an initialization vector, and a digital signature generated based on the encrypted message.
19. A method performed by a first computing device for processing a data packet from a second computing device forwarded via at least one server to permit end-to-end encryption communication between the first and second computing devices, wherein the data packet includes a message encrypted using a first encryption key to form an encrypted message, identification data of the first computing device encrypted using a second encryption key to form encrypted identification data, and encrypted first and second encryption keys, the method comprising:
decrypting the encrypted first encryption key; and
decrypting the encrypted message using the decrypted first encryption key to obtain the message.
20. The method of claim 19, wherein decrypting the encrypted first encryption key includes using a private key of the first computing device to perform the decryption.
21. A system for exchanging a data packet between first and second computing devices via at least one server to permit end-to-end encryption communication between the first and second computing devices, the system comprising:
the first computing device which includes
an encryption module for: encrypting a message and identification data of the second computing device respectively using first and second encryption keys; and
encrypting the first and second encryption keys; and a transmission module for transmitting the encrypted message, identification data, first and second encryption keys collectively as the data packet to the server;
the server configured to process the data packet received from the first computing device and includes
a decryption module for:
decrypting the encrypted second encryption key of the data packet; and
decrypting the encrypted identification data of the data packet using the decrypted second encryption key; and a transmission module for transmitting the data packet to the second computing device based on the decrypted identification data, wherein the encrypted message and first encryption key are arranged to be undecryptable by the server; and
the second computing device configured to process the data packet received from the server and includes
a decryption module for:
decrypting the encrypted first encryption key of the data packet; and
decrypting the encrypted message of the data packet using the decrypted first encryption key to obtain the message.
22. The system of claim 21 , wherein the decryption module of the server includes being configured to use a private key of the server to decrypt the encrypted second encryption key.
23. The system of claim 21 or 22, wherein the transmission module of the server includes being configured to transmit the data packet using an SMS, an MMS, instant messaging, an email, an attachment or an electronic document delivery service.
24. The system of any of claims 21 to 23, wherein the message includes text, images, animation, video or audio.
25. The system of any of claims 21 to 24, wherein the encryption key of the second computing device used by the encryption module of the first computing device to encrypt the first encryption key includes a public key of the second computing device.
26. The system of any of claims 21 to 25, wherein the encryption module of the first computing device is further configured to encrypt the first encryption key using an encryption key of the second computing device, or an encryption key of the server.
27. The system of any of claims 21 to 25, wherein the encryption module of the first computing device is further configured to encrypt the second encryption key using an encryption key of the server.
28. The system of any of claims 21 to 27, wherein the encryption key of the server used by the encryption module of the first computing device to encrypt the second encryption key includes a public key of the server.
29. The system of any of claims 21 to 28, wherein the data packet further includes an initialization vector, and a digital signature generated based on the encrypted message.
30. An encryption device for processing information to be transmitted to a computing device via at least one server to permit end-to-end encryption communication between the encryption and computing devices, the encryption device comprising:
an encryption module for:
encrypting a message and identification data of the computing device respectively using first and second encryption keys; and
encrypting the first and second encryption keys; and a transmission module for transmitting the encrypted message, identification data, first and second encryption keys collectively as a data packet.
31. A decryption device for processing a data packet from a computing device forwarded via at least one server to permit end-to-end encryption communication between the decryption and computing devices, wherein the data packet includes a message encrypted using a first encryption key to form an encrypted message, identification data of the first computing device encrypted using a second encryption key to form encrypted identification data, and encrypted first and second encryption keys, the decryption device comprising:
a decryption module for:
decrypting the encrypted first encryption key; and
decrypting the encrypted message using the decrypted first encryption key to obtain the message.
32. A method performed by at least one server for processing a data packet from a first computing device to be transmitted to a second computing device, wherein the data packet includes a message encrypted using a first encryption key to form an encrypted message, identification data of the second computing device encrypted using a second encryption key to form encrypted identification data, an encrypted first encryption key formed by encrypting the first encryption key using a third encryption key associated with the second computing device, and an encrypted second encryption key formed by encrypting the second encryption key using an encryption key associated with the server, the method comprising:
decrypting the encrypted second encryption key; '
decrypting the encrypted identification data using the decrypted second encryption key; and
transmitting the data packet based on the decrypted identification data, wherein the encrypted first encryption key is arranged to be decryptable only using a fourth encryption key associated with the second computing device; and
wherein the third and fourth encryption keys of the second computing device are configured as a pair of asymmetric keys.
33. The method of claim 32, wherein the encryption key associated with the server includes a public key of the server.
34. The method of claim 33, wherein decrypting the encrypted second encryption key includes using a private key of the server to perform the decryption.
35. The method of any of claims 32 to 34, wherein transmitting the data packet includes transmitting via an SMS, an MMS, instant messaging, an email, an attachment or an electronic document delivery service.
36. The method of any of claims 32 to 35, wherein the message includes text, images, animation, video or audio.
37. The method of any of claims 32 to 36, wherein the third and fourth encryption keys respectively include a public key and a private key of the second computing device.
38. The method of any of claims 32 to 37, wherein the data packet further includes an initialization vector, and a digital signature generated based on the encrypted message.
PCT/SG2014/000181 2013-04-25 2014-04-23 Method performed by at least one server for processing a data packet from a first computing device to a second computing device to permit end-to-end encryption communication Ceased WO2014175830A1 (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2016510656A JP6573600B2 (en) 2013-04-25 2014-04-23 A method performed by at least one server for processing data packets from a first computing device to a second computing device to allow end-to-end encrypted communication
HK16100897.6A HK1213108B (en) 2013-04-25 2014-04-23 Method performed by at least one server for processing a data packet from a first computing device to a second computing device to permit end-to-end encryptio
SG11201508725SA SG11201508725SA (en) 2013-04-25 2014-04-23 Method performed by at least one server for processing a data packet from a first computing device to a second computing device to permit end-to-end encryption communication
US14/786,526 US10009321B2 (en) 2013-04-25 2014-04-23 Method performed by at least one server for processing a data packet from a first computing device to a second computing device to permit end-to-end encryption communication
GB1520329.2A GB2528226B (en) 2013-04-25 2014-04-23 Method performed by at least one server for processing a data packet from a first computing device to a second computing device to permit end-to-end encryptio
CN201480023651.0A CN105164968A (en) 2013-04-25 2014-04-23 Method performed by at least one server for processing a data packet from a first computing device to a second computing device to permit end-to-end encryption communication
AU2014257953A AU2014257953B2 (en) 2013-04-25 2014-04-23 Method performed by at least one server for processing a data packet from a first computing device to a second computing device to permit end-to-end encryption communication

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
SG2013032602 2013-04-25
SG201303260-2 2013-04-25

Publications (1)

Publication Number Publication Date
WO2014175830A1 true WO2014175830A1 (en) 2014-10-30

Family

ID=54771484

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/SG2014/000181 Ceased WO2014175830A1 (en) 2013-04-25 2014-04-23 Method performed by at least one server for processing a data packet from a first computing device to a second computing device to permit end-to-end encryption communication

Country Status (7)

Country Link
US (1) US10009321B2 (en)
JP (1) JP6573600B2 (en)
CN (1) CN105164968A (en)
AU (1) AU2014257953B2 (en)
GB (1) GB2528226B (en)
SG (1) SG11201508725SA (en)
WO (1) WO2014175830A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106599698A (en) * 2015-10-19 2017-04-26 腾讯科技(深圳)有限公司 Method and device for picture encryption, and method and device for picture decryption
WO2018130761A1 (en) 2017-01-10 2018-07-19 Wallix Method for end-to-end transmission of a piece of encrypted digital information, application of this method and object implementing this method
CN114302258A (en) * 2021-12-21 2022-04-08 广东纬德信息科技股份有限公司 Intelligent gas meter safety meter reading method and system
CN117336100A (en) * 2023-11-27 2024-01-02 湖南湘科智慧科技有限公司 Data processing method and device based on escort service multiparty flattened communication

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9285981B1 (en) 2012-07-16 2016-03-15 Wickr Inc. Discouraging screen capture
US9735967B2 (en) * 2014-04-30 2017-08-15 International Business Machines Corporation Self-validating request message structure and operation
US11665145B1 (en) * 2014-05-02 2023-05-30 Navroop Mitter Method of providing end to end encryption with auditability
US10419223B2 (en) * 2015-01-07 2019-09-17 Cyph, Inc. Method of using symmetric cryptography for both data encryption and sign-on authentication
US10038675B2 (en) * 2015-10-13 2018-07-31 Google Llc Storing decrypted body of message and key used to encrypt and decrypt body of message
CN107623625A (en) * 2016-07-14 2018-01-23 忻宏德 Communication system with hidden content and communication method thereof
US20180063105A1 (en) * 2016-09-01 2018-03-01 AtCipher.com Limited Management of enciphered data sharing
US20180124063A1 (en) * 2016-11-03 2018-05-03 Motorola Mobility Llc Composite security identifier
FR3067546A1 (en) * 2017-06-19 2018-12-14 Orange METHODS OF OPERATOR IDENTIFICATION OF EMBRITTING FRAMES, AND OPERATOR MEMBERSHIP VERIFICATION, COMMUNICATION DEVICE AND COMMUNICATION GATEWAY
CN108011879B (en) * 2017-11-30 2020-10-16 广州酷狗计算机科技有限公司 File encryption and decryption method, device, equipment and storage medium
CN110557738B (en) * 2019-07-12 2022-06-07 安徽中科美络信息技术有限公司 Vehicle monitoring information safe transmission method and system
CN112448808B (en) * 2019-08-29 2024-09-20 斑马智行网络(香港)有限公司 Communication method, device, access point, server, system and storage medium
EP4022841A4 (en) * 2019-08-30 2023-10-04 Thunderport, Inc. Secure data exchange network
US12126603B2 (en) 2019-08-30 2024-10-22 Henry Verheyen Secure data exchange network
US11317288B2 (en) * 2019-10-21 2022-04-26 Jpmorgan Chase Bank, N.A. Systems and methods for securing communication between a native application and an embedded hybrid component on an electronic device
US11347895B2 (en) * 2019-12-03 2022-05-31 Aptiv Technologies Limited Method and system of authenticated encryption and decryption
US11159497B2 (en) * 2020-01-29 2021-10-26 Citrix Systems, Inc. Secure message passing using semi-trusted intermediaries
US11349644B1 (en) * 2020-04-29 2022-05-31 Wells Fargo Bank, N.A. Database exclusion (DBX) for multi party access (MPA) to sensitive personal information (SPI)
US11729154B2 (en) * 2021-02-25 2023-08-15 Comcast Cable Communications, Llc Systems and methods for network privacy
US11539671B1 (en) 2021-11-17 2022-12-27 Uab 360 It Authentication scheme in a virtual private network
US11943201B2 (en) 2021-11-28 2024-03-26 Uab 360 It Authentication procedure in a virtual private network
US11601401B1 (en) 2022-03-29 2023-03-07 Uab 360 It Secure configuration of a virtual private network server
US11463412B1 (en) * 2022-03-29 2022-10-04 Uab 360 It Protected configuration of a virtual private network server
TWI840837B (en) * 2022-06-16 2024-05-01 莊連豪 Management system for encrypted multimedia information and implementation method thereof
CN115426187B (en) * 2022-09-02 2025-03-28 数界(深圳)科技有限公司 A message forwarding control method, device, equipment and medium
US12603884B2 (en) * 2022-10-26 2026-04-14 Whatsapp Llc Accessing an encrypted platform
KR20240137844A (en) * 2023-03-09 2024-09-20 주식회사 애브체인 Method and system for processing personal information using trust execution environment based on smart contract

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000068814A1 (en) * 1999-05-06 2000-11-16 General Dynamics Information Systems, Inc. Transient network architecture
US6304659B1 (en) * 1996-03-15 2001-10-16 Tandberg Television Asa Secure data broadcasting

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5237610A (en) * 1990-02-01 1993-08-17 Scientific-Atlanta, Inc. Independent external security module for a digitally upgradeable television signal decoder
US5751813A (en) * 1996-04-29 1998-05-12 Motorola, Inc. Use of an encryption server for encrypting messages
JPH10126406A (en) * 1996-10-23 1998-05-15 Toyo Commun Equip Co Ltd Data encryption method in network
US6009173A (en) * 1997-01-31 1999-12-28 Motorola, Inc. Encryption and decryption method and apparatus
JP3604264B2 (en) * 1997-10-06 2004-12-22 株式会社東芝 Caller terminal device, network system, and call information monitoring method
JP2001274786A (en) * 2000-01-21 2001-10-05 Victor Co Of Japan Ltd Contents information transmission method, contents information recording method, contents information transmitter, contents information recorder, transmission medium and recording medium
US7039190B1 (en) * 2000-08-18 2006-05-02 Nortel Networks Limited Wireless LAN WEP initialization vector partitioning scheme
SE522794C2 (en) * 2001-02-23 2004-03-09 Ericsson Telefon Ab L M Device and method for communicating electronic data via a network infrastructure having a unicast mechanism and multicast mechanism
US20030046534A1 (en) * 2001-08-31 2003-03-06 Alldredge Robert L. Method and apparatus for secured electronic commerce
JP2003244122A (en) * 2002-02-14 2003-08-29 Sony Corp Information processing system, information processing apparatus and method, recording medium, and program
JP2004201038A (en) * 2002-12-18 2004-07-15 Internatl Business Mach Corp <Ibm> Data storage device, information processing apparatus mounted therewith, and data processing method and program thereof
US20050108523A1 (en) * 2003-02-22 2005-05-19 Earle West Method and apparatus for collecting remote data
JP2005236728A (en) * 2004-02-20 2005-09-02 Matsushita Electric Ind Co Ltd Server device, request issuing device, request accepting device, communication system, and communication method
JP2006301887A (en) * 2005-04-19 2006-11-02 Toshiba Corp Information storage / reproduction system, information terminal thereof, and information backup device
EP1947853A1 (en) * 2005-08-08 2008-07-23 Matsushita Electric Industrial Co., Ltd. Encrypted content and decryption key providing system
JP4909668B2 (en) * 2006-07-24 2012-04-04 Kddi株式会社 Hybrid encryption apparatus and hybrid encryption method
US8412947B2 (en) * 2006-10-05 2013-04-02 Ceelox Patents, LLC System and method of secure encryption for electronic data transfer
US20090138714A1 (en) * 2007-11-26 2009-05-28 Kabushiki Kaisha Toshiba Communication apparatus, key server, management server, communication server, content distribution system, communication method, and recording medium
US20110131138A1 (en) * 2008-08-07 2011-06-02 Icon Corp. Collective suspension/settlement representation processing server device and program
JP5390844B2 (en) * 2008-12-05 2014-01-15 パナソニック株式会社 Key distribution system and key distribution method
JP4519935B2 (en) * 2008-12-26 2010-08-04 株式会社東芝 Information communication method, communication terminal device, and information communication system
WO2011024298A1 (en) * 2009-08-28 2011-03-03 リプレックス株式会社 Service system
US8775794B2 (en) * 2010-11-15 2014-07-08 Jpmorgan Chase Bank, N.A. System and method for end to end encryption
WO2014002280A1 (en) * 2012-06-29 2014-01-03 富士通株式会社 Communication program, recording medium, communication apparatus, and communication method
DE102012111903B4 (en) * 2012-12-06 2015-11-19 Deutsche Post Ag Method for establishing a secure connection between clients
US9767299B2 (en) * 2013-03-15 2017-09-19 Mymail Technology, Llc Secure cloud data sharing
JP6199730B2 (en) * 2013-12-25 2017-09-20 株式会社東芝 Current sensor and current sensor module
WO2018031702A1 (en) * 2016-08-10 2018-02-15 Nextlabs, Inc. Sharing encrypted documents within and outside an organization

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6304659B1 (en) * 1996-03-15 2001-10-16 Tandberg Television Asa Secure data broadcasting
WO2000068814A1 (en) * 1999-05-06 2000-11-16 General Dynamics Information Systems, Inc. Transient network architecture

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106599698A (en) * 2015-10-19 2017-04-26 腾讯科技(深圳)有限公司 Method and device for picture encryption, and method and device for picture decryption
WO2017067369A1 (en) * 2015-10-19 2017-04-27 腾讯科技(深圳)有限公司 Method and device for encrypting picture, method and device for decrypting picture, and equipment
CN106599698B (en) * 2015-10-19 2019-09-20 腾讯科技(深圳)有限公司 A kind of method and apparatus for encrypting picture, decrypting picture
US10454905B2 (en) 2015-10-19 2019-10-22 Tencent Technology (Shenzhen) Company Limited Method and apparatus for encrypting and decrypting picture, and device
WO2018130761A1 (en) 2017-01-10 2018-07-19 Wallix Method for end-to-end transmission of a piece of encrypted digital information, application of this method and object implementing this method
US11265298B2 (en) 2017-01-10 2022-03-01 Wallix Method for end-to-end transmission of a piece of encrypted digital information, application of this method and object implementing this method
CN114302258A (en) * 2021-12-21 2022-04-08 广东纬德信息科技股份有限公司 Intelligent gas meter safety meter reading method and system
CN117336100A (en) * 2023-11-27 2024-01-02 湖南湘科智慧科技有限公司 Data processing method and device based on escort service multiparty flattened communication
CN117336100B (en) * 2023-11-27 2024-02-23 湖南湘科智慧科技有限公司 Data processing method and device based on escort service multiparty flattened communication

Also Published As

Publication number Publication date
JP6573600B2 (en) 2019-09-11
SG11201508725SA (en) 2015-11-27
AU2014257953B2 (en) 2018-05-10
GB201520329D0 (en) 2015-12-30
US10009321B2 (en) 2018-06-26
CN105164968A (en) 2015-12-16
JP2016517248A (en) 2016-06-09
GB2528226B (en) 2021-02-03
HK1213108A1 (en) 2016-06-24
AU2014257953A1 (en) 2015-12-10
US20160134594A1 (en) 2016-05-12
GB2528226A (en) 2016-01-13

Similar Documents

Publication Publication Date Title
US10009321B2 (en) Method performed by at least one server for processing a data packet from a first computing device to a second computing device to permit end-to-end encryption communication
US9426126B2 (en) Method and system for automatic generation of context-aware cover message
EP2406917B1 (en) Push notification service
KR101508360B1 (en) Apparatus and method for transmitting data, and recording medium storing program for executing method of the same in computer
US9485096B2 (en) Encryption / decryption of data with non-persistent, non-shared passkey
US11621835B2 (en) Relay network for encryption system
CN106576043B (en) Virally allocatable trusted messaging
US20160134642A1 (en) Secure content and encryption methods and techniques
US8891764B2 (en) Quarantine method for sellable virtual goods
US20140133655A1 (en) Secure communication method
CN112637230B (en) Instant messaging method and system
US12238078B2 (en) Distributed trust-based communication
KR20170084802A (en) Methdo and system for transmitting secure data in a terminal
CA2849174C (en) System and method for the safe spontaneous transmission of confidential data over unsecure connections and switching computers
JP6167598B2 (en) Information processing apparatus, information processing method, and computer program
WO2024012964A1 (en) Privacy routing system
KR101767307B1 (en) Device, server, method and application for message service

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201480023651.0

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14788659

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
WWE Wipo information: entry into national phase

Ref document number: 14786526

Country of ref document: US

ENP Entry into the national phase

Ref document number: 2016510656

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 1520329

Country of ref document: GB

Kind code of ref document: A

Free format text: PCT FILING DATE = 20140423

ENP Entry into the national phase

Ref document number: 2014257953

Country of ref document: AU

Date of ref document: 20140423

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 14788659

Country of ref document: EP

Kind code of ref document: A1