Message transmission system with hardware security module

The hardware security module in the message transmission system addresses data security vulnerabilities by generating and isolating private keys, ensuring secure encryption/decryption and protecting against hacking, thereby enhancing data security in instant messaging.

JP7617047B2Active Publication Date: 2025-01-17INFOKEYVAULT TECH CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2022007581
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-01-29
Filing Date
2022-01-21
Publication Date
2025-01-17
Estimated Expiration
2042-01-21

AI Technical Summary

Technical Problem

Existing secure instant messaging software faces data security loopholes due to keys being generated and stored on the user device's CPU, making them vulnerable to hacking, which compromises data encryption.

Method used

A message transmission system incorporating a hardware security module that generates and stores private keys exclusively, using a key establishment algorithm to create public-private key pairs, ensuring secure key management and encryption/decryption processes, with identity verification and biometric authentication to protect against unauthorized access.

Benefits of technology

Enhances data security by isolating critical encryption keys from the operating system, preventing unauthorized access and ensuring secure end-to-end encryption/decryption, thus protecting sensitive data from interception and theft.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007617047000001
    Figure 0007617047000001
  • Figure 0007617047000002
    Figure 0007617047000002
  • Figure 0007617047000003
    Figure 0007617047000003
Patent Text Reader

Abstract

To provide a message transmission system and a user device that improve the data security of data transmission.SOLUTION: In a message transmission system, a first user device with a hardware security module installed and a second user device each communicate with a message exchange center. The first user device generates a first public-private key pair including a first private key stored only in the hardware security module. A first public key is transmitted to the message exchange center. The second user device establishes a shared key, encrypts a message with the shared key, and transmits the encrypted message to the first user device via the message exchange center. The hardware security module uses specific information to derive the shared key and uses the shared key to restore the message.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a message transmission system, in particular a message transmission system adapted for use in a mobile communication network, and also to a user device and a hardware security module for use in said message transmission system. [Background technology]

[0002] With the continuing development of mobile communication systems and the significant increase in data transmission bandwidth, it has become more common for people to use various instant messaging software to transmit voice conversations, text messages, image data, etc. Usually, all kinds of data transmission by instant messaging software is done through a message switching center, and backup copies of the transmitted data are stored on the software provider's server permanently or at least for a certain period of time.

[0003] Due to the high demand for data security nowadays, users are not satisfied with the above-mentioned ordinary instant messaging software that keeps private and secret data in the cloud. As a result, secure instant messaging software such as Signal and Telegram have been developed. In such new instant messaging software, data is encrypted before transmission. Therefore, even if data is intercepted during transmission or stolen from the cloud, the encrypted data is still protected from decryption. Signal Messenger further announces that no text messages and image data are stored in the data server. In other words, the problem of keeping private and secret data in the cloud can be avoided.

[0004] Conventionally, the key of the encrypted data used in the above secure instant messaging software is generated by the central processing unit (CPU) of the user device. Generally, the key is stored in a specific data storage zone in the user device and is managed by the operating system of the user device. In this state, once the device is hacked, the core of the user device, i.e., the operating system, can be manipulated. As a result, a hacker can obtain the key from the specific data storage zone of the user device and use the key to decrypt the encrypted data. In this way, a loophole in data security is created. Summary of the Invention [Problem to be solved by the invention]

[0005] SUMMARY OF THE PRESENT EMBODIMENT It is therefore an object of the present invention to provide a solution that improves data security for data transmission using instant messaging software. [Means for solving the problem]

[0006] One aspect of the present invention includes a message switching center, at least a first user device and a second user device communicating with the message switching center over a network for message switching, and a mobile terminal adapted to be inserted into the first user device. It is a secure digital memory card.and a hardware security module. After the hardware security module is inserted into the first user device, the hardware security module generates a first key establishment combination including at least a first public-private key pair according to a key establishment algorithm. A first private key of the first public-private key pair is stored only in the hardware security module, and a first public key of the first public-private key pair is sent to the message switching center. To transmit a first message from the second user device to the first user device, the second user device obtains a first public key from the message switching center, establishes or encrypts a shared key using the first public key, encrypts the plaintext of the first message into a ciphertext of the first message using the shared key, and transmits the ciphertext of the first message to the first user device via the message switching center, and the first user device receives the ciphertext of the first message from the second user device. The encrypted A shared key is obtained, the shared key is derived using specific information including a first private key stored in the hardware security module, and the shared key is used to decrypt the ciphertext of the first message to recover the plaintext of the first message.

[0007] In another aspect, a message transmission system includes a first user device and a second user device in communication with the Internet, the second user device being adapted to be inserted into the first user device. It is a secure digital memory card.After being inserted into the first user device, the hardware security module generates a first key establishment combination including at least a first public-private key pair according to a key establishment algorithm, and a first private key of the first public-private key pair is stored only in the hardware security module. To transmit a first message from the second user device to the first user device, the second user device provides an IP address to the first user device over the Internet to perform an end-to-end connection between the first user device and the second user device, obtains a first public key from the first user device, establishes or encrypts a shared key using the first public key, encrypts the plaintext of the first message into a ciphertext of the first message using the shared key, and transmits the ciphertext of the first message to the first user device over the end-to-end connection, and the first user device receives the ciphertext of the first message from the second user device. The encrypted A shared key is obtained, the shared key is derived using specific information including a first private key stored in the hardware security module, and the shared key is used to decrypt the ciphertext of the first message to recover the plaintext of the first message.

[0009] In yet another aspect of the present invention, when a user device communicates with another user device via a message switching center or end-to-end connection, the user device may be securely connected to the message switching center or end-to-end connection. Digital Memory Cardand adapted to be inserted into a housing of the user device, generates a key establishment combination according to a key establishment algorithm after being inserted into the user device, the key establishment combination including at least a first public-private key pair, a first private key of the first public-private key pair being stored exclusively in the hardware security module, the hardware security module derives a shared key received from the other user device via the message switching center or end-to-end connection using specific information including the first private key stored in the hardware security module, and uses the shared key to process messages transmitted from the other user device to the user device by a specific application program.

[0010] The present invention will become readily apparent to those skilled in the art from the following detailed description and accompanying drawings. [Brief description of the drawings]

[0011] [Figure 1] 1 is a functional block diagram of a message transmission system according to an embodiment of the present invention.

[0012] [Diagram 2] 2 is a flowchart showing a schematic diagram of an encryption / decryption method in the message transmission system shown in FIG.

[0013] [Figure 3A] FIG. 11 is a functional block diagram of a message transmission system according to another embodiment of the present invention.

[0014] [Figure 3B] 3B is a flow chart showing a schematic diagram of an encryption / decryption method in the message transmission system shown in FIG. 3A.

[0015] [Figure 4A] FIG. 1 is a schematic diagram illustrating a hardware security module according to an embodiment of the present invention.

[0016] [Figure 4B] FIG. 4 is a schematic diagram illustrating a hardware security module according to another embodiment of the present invention.

[0017] [Diagram 5] 10 is a flowchart illustrating an encryption / decryption method in a message transmission system according to yet another embodiment of the present invention.

[0018] [Figure 6A] 4 is a flowchart illustrating a schematic diagram of another encryption / decryption method in the message transmission system shown in FIG.

[0019] [Figure 6B] 10 is a flowchart showing a schematic diagram of yet another encryption / decryption method in the message transmission system shown in FIG. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0020] The present invention will be more specifically described with reference to the following embodiments. It should be noted that the following description of preferred embodiments of the present invention is presented for purposes of illustration and description only. It is not intended to be exhaustive or limited to the precise form disclosed.

[0021] As shown in FIG. 1, a message transmission system according to an embodiment of the present invention includes a message switching center 10, a first user device 11, and a second user device 12. The first user device 11 has a communication module 112 installed therein, and the second user device 12 has a communication module 122 installed therein. The communication module 112 and the communication module 122 are implemented, for example, by a commonly used smart phone or similar wireless communication device. Both the first user device 11 and the second user device 12 are capable of communicating with the message switching center 10, for example, via the Internet 1, as shown. The first user device 11 is a data processing device capable of executing application programs and processing communication data, such as, for example, a smart phone, a tablet computer, or a personal computer, as is the second user device 12. In the following, a smart phone running instant messaging software is shown as an example of the present invention.

[0022] In this example, the first user device 11 has installed thereon a secure instant messaging software application program 111, such as Signal or Telegram. To efficiently secure data, the first user device 11 has a hardware security module 110 and a communication module 112 that can communicate with the instant messaging software application program 111, and is a physical computing device that protects and manages digital keys and performs encryption and decryption functions, as is commonly understood by those skilled in the art. The message transmission system performs encryption and decryption processes when a message transmission occurs between the first user device 11 and the second user device 12, as shown in the flow chart of FIG. 2. In step 21a, the hardware security module 110 generates a first key establishment combination according to a key establishment algorithm, such as a key establishment algorithm based on an elliptic curve. The first key establishment combination includes at least a first public-private key pair USER_1-Keypair_1, including a first private key USER_1-Private_key_1, stored only in the hardware security module 110 and not in an external device, so as to be protected from unauthorized access. Furthermore, by having the core of the first user device 11, e.g., an operating system, set the hardware security module 110 to a limited access state, keys stored in the hardware security module 110 and bound to encrypted data are further protected from access.

[0023] The first public-private key pair USER_1-Keypair_1 further includes a first public key USER_1-Public_key_1 accessible by the message exchange center 10. In step 22a, the first public key USER_1-Public_key_1 is transmitted to an identity registration center 100 included in the message exchange center 10, and the message exchange center 10 performs user identity verification in a specified manner. For example, the message exchange center 10 sends an SMS message including an authentication code to the first user device 11, which is a smartphone and has a telephone number registered in the message exchange center 10. In response, the first user device 11 inputs and transmits the authentication code to the message exchange center 10 to complete the user identity verification. The message exchange center 10 is, for example, an instant messaging software server. Similarly, the second user device 12, which has an instant messaging software application program 121 installed therein, communicates with the message exchange center 10. The application programs 111, 121 and the message exchange center 10 are cooperatively associated with instant messaging software and are usually supplied by the same program developer. Similarly, the second user device 12 performs steps 21b and 22b similar to steps 21a and 22a to generate a key establishment combination including at least a second public-private key pair USER_2-Keypair_1 consisting of a second public key USER_2-Public_key_1 and a second private key USER_2-Private_key_1. The second private key USER_2-Private_key_1 is stored only in the second user device 12, and the second public key USER_2-Public_key_1 is accessible by the message exchange center 10. The second public key USER_2-Public_key_1 can be transmitted to an identity registration center 100 included in the message exchange center 10 for verification of the user identity as described above.The second user device 12 may have a hardware security module (not shown) installed, and user identity verification may be performed without the hardware security module.

[0024] If the second user device 12 uses instant messaging software to send a message, e.g., text, emoticon, sticker, image, audio or video, to the first user device 11 in step 23, the second user device 12 obtains the first public key USER_1-Public_key_1 generated by the first user device 11 from the message switching center 10, establishes a shared key according to the first public key USER_1-Public_key_1 and its own second private key USER_2-Private_key_1, and encrypts the plain text of the message into a cipher text using the shared key (step 24). The second user device 12 then transmits the cipher text of the message to the message switching center 10, which further transmits the message in cipher text form to the first user device 11 (step 25). Upon receiving the cipher text of the message, the first user device 11 uses specific information (see below) to derive the shared key. In this embodiment, the shared key may be generated, for example, by the Diffie-Hellman key exchange algorithm or other suitable algorithms. Depending on practical requirements, for example, to minimize system load, the shared key derived when the second user device 12 communicates with the first user device 11 for the very first time may be used for subsequent communications up to a predetermined number of times or a predetermined period of time. It should be noted that although the shared key shown in this embodiment is established according to one public key and one private key, in practice, more than one public key and more than one private key may be used cooperatively to establish the shared key. For example, a first key establishment combination may include more public-private key pairs than a first public-private key pair USER_1-Keypair_1, a second key establishment combination may include more public-private key pairs than a second public-private key pair USER_2-Keypair_1, and a shared key may be established according to a first public key USER_1-Public_key_1, a second private key USER_2-Private_key_1, and further public and private keys selected from the first key establishment combination and the second key establishment combination.

[0025] Then, upon receiving the message in ciphertext form in step 26, the first user device 11 obtains the second public key USER_2-Public_key_1 generated by the second user device 12 from the message switching center 10, derives a shared key by using at least the second public key USER_2-Public_key_1 together with its first private key USER_1-Private_key_1 as identification information, and uses the shared key to recover the plaintext of the original message from the received ciphertext. The above operations performed in the first user device 11 are performed by the hardware security module 110 in this embodiment. In this way, the application program 111 of the first user device 11 and the application program 121 of the second user device 12 can cooperate with the message switching center 10 to achieve message transmission in a secure manner.

[0026] As mentioned above, the first private key USER_1-Private_key_1 is stored only in the hardware security module 110 of the first user device 11. In an embodiment according to the present invention, the hardware security module 110 will not issue the first private key USER_1-Private_key_1 even to the first user device 11 unless the first user device 11 passes the user identity verification. Only when the verification process is successfully achieved, the first private key USER_1-Private_key_1 can be provided to the first user device 11 for decrypting messages from the second user device 12 via the message switching center 10. After the message decryption is completed, the first private key USER_1-Private_key_1 can be deleted from the first user device 11 except the hardware security module 110. To minimize security risks, the hardware security module 110 can update the first public-private key pair periodically or conditionally. For example, the first public-private key pair may be updated at a predetermined time interval or a predetermined data volume interval, and if the operating capability of the hardware security module 110 is high enough to perform a large amount of computing, the decryption of the message may be performed by the hardware security module 110 itself without issuing the first private key USER_1-Private_key_1.

[0027] The verification process may be performed by inputting a password or a biometric characteristic such as a fingerprint. The verification process may include an initialization step during which a password or a biometric characteristic for verification is input and set by the user during installation of the application program 111 on the first user device 11 and connection of the application program 111 to the hardware security module 110. Afterwards, input of a correct password or biometric characteristic is required for logging into the instant messaging software by the application program 111. To prevent remote attacks by hackers, the verification process may further require that the input of the password and / or biometric characteristic is performed manually. If the input password and / or biometric characteristic match the pre-set ones, the first user device 11 is determined to have passed the verification of the user identity. Furthermore, whether a manual input has been performed is determined, for example, by an action sensor 1101 included in the first user device 11. It is understood that the manual input of the password and / or biometric characteristic causes a vibration of the user device. If no vibration is detected by the action sensor 1101, it is determined that the input has not been performed manually and is therefore fraudulent. In this embodiment, the action sensor 1101 may be located in the hardware security module 110.

[0028] Returning to steps 24 and 26 in FIG. 2, in this embodiment, a shared secret is first generated by key establishment to derive a shared key from at least the first public key USER_1-Public_key_1 and the second private key USER_2-Private_key_1 or the second public key USER_2-Public_key_1 and the first private key USER_1-Private_key_1. Then, a shared key is generated based on the shared secret and a key derivation function (KDF) commonly used in the art. It can be understood that different key derivation functions derive different shared keys even for the same shared secret. In order to minimize the possibility of being decrypted, it is preferable to update the shared key frequently or periodically.

[0029] Furthermore, the message transmission system and its operating method according to the present invention may be used for end-to-end encryption / decryption, in which the message switching center 10 of Fig. 1 is omitted from the system, as shown in Fig. 3A. An embodiment of the end-to-end encryption / decryption method performed when a second user device 12 sends a message, such as multimedia data including, for example, audio, video and / or text data, to a first user device 11 is described below with reference to the system of Fig. 3A and the flow chart of Fig. 3B.

[0030] As shown in FIG. 3B, in step 31, the hardware security module 110 of the first user device 11 generates a first key establishment combination according to a key establishment algorithm, such as, for example, an elliptic curve based key establishment algorithm. The first key establishment combination includes at least a first public-private key pair USER_1-Keypair_1 including a first private key USER_1-Private_key_1 stored only in the hardware security module 110 and not in an external device, so as to be protected from unauthorized access. Furthermore, the key stored in the hardware security module 110 and bound to the encrypted data is further protected from access by setting the hardware security module 110 to a limited access state by the core, e.g., the operating system, of the first user device 11. The first public-private key pair USER_1-Keypair_1 further includes a first public key USER_1-Public_key_1. Similarly, in step 32, a second user device 12 connected to the first user device 11 generates a key establishment combination including at least a second public-private key pair USER_2-Keypair_1 consisting of a second public key USER_2-Public_key_1 and a second private key USER_2-Private_key_1. The second private key USER_2-Private_key_1 is stored only in the second user device 12. The second user device 12 may have a hardware security module (not shown) installed therein.

[0031] If the second user device 12 uses instant messaging software to transmit messages, such as multimedia data, to the first user device 11 in step 33, the second user device 12 provides an IP address to the first user device 11 via the Internet 1 to perform an end-to-end connection between the first user device 11 and the second user device 12 (step 34). Once the connection is set up, the hardware security module 110 of the first user device 11 obtains a second public key USER_2-Public_key_1 from the second user device 12 through the end-to-end connection, and establishes a shared key according to at least the second public key USER_2-Public_key_1 and its own first private key USER_1-Private_key_1. Meanwhile, the second user device 12 obtains the first public key USER_1-Public_key_1 from the first user device 11, and establishes a counterpart shared key according to the first public key USER_1-Public_key_1 and its own second private key USER_2-Private_key_1 (step 35). The second user device 12 uses the shared key to encrypt the plain text of the message into a cipher text, and transmits the message in the cipher text form to the first user device 11 (step 36). Then, when the first user device 11 receives the message in the cipher text form, it derives a shared key using specific information, such as the second public key USER_2-Public_key_1 obtained from the second user device 12 through the end-to-end connection, and its own first private key USER_1-Private_key_1, and uses the shared key to restore the plain text of the message from the received cipher text (step 37).

[0032] The shared key may be generated, for example, by the Diffie-Hellman key exchange algorithm or other suitable algorithm. Depending on practical requirements, for example to minimize system load, the shared key derived the very first time the second user device 12 communicates with the first user device 11 may be used for subsequent communications up to a predetermined number of times or for a predetermined period of time.

[0033] In the above example, the shared key for decryption and the shared key for encryption are counterparts of the first and second public-private key pairs. Alternatively, the shared key can be used for both encryption and decryption to save system resources. For example, the hardware security module 110 uses the shared key to encrypt the plaintext of the multimedia data transmitted from the first user device 11 to the second user device 12 into ciphertext, and uses the same shared key to decrypt the ciphertext of the multimedia data transmitted from the second user device 12 and received by the first user device 11 into plaintext. Similarly, the second user device 12 generates a public-private key pair for communication with the first user device 11 and derives the shared key accordingly. The second user device 12 then uses the shared key to encrypt and decrypt messages transmitted to and from the first user device 11.

[0034] As described above, message transmission can be performed by the application program 111 of the first user device 11 and the application program 121 of the second user device 12 that are directly interconnected through end-to-end encryption / decryption via the Internet 1. Therefore, the security of the message transmission can be improved.

[0035] 4A and 4B show two examples of hardware security module 110 adapted for use in the system according to the present invention. In the example shown in FIG. 4A, the hardware security module 110 is implemented in an external memory card, such as a secure digital memory card, and includes the above-mentioned action sensor 1101 and secure element 1102 housed in a housing 1100. The characteristics of the secure digital memory card may vary depending on the actual application. For example, it may be a standard size (32.0*24.0*2.1 mm), a mini size (21.5*20.0*1.4 mm) or a micro size (15.0*11.0*1.0 mm), with the micro size secure digital memory card being particularly popular in smartphones currently on the market. In addition to a secure digital memory card, the hardware security module 110 may also be any other suitable form of external memory card, such as a memory stick. The example of the hardware security module 110 shown in FIG. 4B is similar to that shown in FIG. 4A, except that the action sensor 1101 is integrated into the secure element 110.

[0036] It can be seen from the above that the hardware security module 110 adapted to be used in the system according to the present invention is characterized in that it generates and stores a key establishment combination including one or more public-private key pairs based on a key establishment algorithm, performs key establishment using the stored key establishment combination to generate and store a shared secret, derives and stores a shared key using the stored shared secret, encrypts a plaintext of a message into a ciphertext or decrypts a ciphertext of a message into a plaintext using the stored shared key, and conditionally exports the shared secret or the shared key after a verification process. The above-mentioned message plaintexts are various digital data such as, for example, text files, image files, sound files, or multimedia files that combine two or more of these files. The key establishment combinations, the shared secrets, and the shared keys are stored in a hardware manner instead of a software manner.

[0037] The above operations regarding the generation of public-private key pairs and identity verification can be performed by the secure element 1102 of the hardware security module 110. To perform these operations, the secure element 1102 is required to have cryptographic algorithms built in, to be tamper-resistant, to have a secure OS installed, to have sensors for notifying invasive or non-invasive attacks, and to have a secure storage space for cryptographic keys. It should be noted that in the hardware security module 110 shown in FIG. 4A, the action sensor 1101 and the secure element 1102 are separate elements, and the secure element 1102 can be implemented by a general one. On the other hand, in the hardware security module 110 shown in FIG. 4B, the action sensor 1101 is integrated with the secure element 1102, and special characteristics of the secure element are required to be used as the secure element 1102. Nevertheless, the special characteristics of the secure element 1102 reduce the possibility of remote control by a hacker. Furthermore, the action sensor 1101 can work reliably.

[0038] The data securing capability of the message transmission system can be further enhanced by the hardware security module 110 including the secure element 1102. FIG. 5 shows a schematic diagram of a message transmission system according to a further embodiment of the present invention and its operation principle. Compared with the system shown in FIG. 1, the system shown in FIG. 5 is more secure against cracking. First, the secure element 1102 generates a key establishment combination including at least a third public-private key pair consisting of a third public key and a third private key, and a fourth public-private key pair consisting of a fourth public key and a fourth private key. The secure element 1102 also randomly generates a main key for encrypting the third private key (step 41). Alternatively, the main key can be generated in another way instead of being randomly generated. For example, the main key is derived by a key derivation function according to a constant value stored in the secure element 1102 or a string input by a user. The main key is stored only in the secure element 1102. In order to save storage space in the secure element 1102, the third private key encrypted with the main key can be stored in an external source other than the secure element 1102 and deleted from the secure element 1102. Later, when the third private key is needed by the system to obtain a shared secret or a shared key, the secure element 1102 reads the encrypted third private key from the external source and recovers the encrypted third private key with the main key stored in the secure element 1102 to the third private key. Then, the shared secret or the shared key can be derived by a key establishment algorithm, such as the Diffie-Hellman key exchange algorithm, based on the recovered third private key and the public key of the second user device 12.

[0039] It should be noted that since the shared secret or key is derived in the device based on its own private key and the public key of the counterpart, it is important to verify the authenticity of the received public key to prevent man-in-the-middle attacks. Therefore, in the present invention, a digital signature is introduced to avoid the risk. For example, after the first user device 11 completes identity registration, as in steps 22a, 22b of the flowchart shown in FIG. 2, a digital signature can be generated at this point using one of the private keys of the first user device 11. The thing to be signed is certain information that is known to both the first user device 11 and the second user device 12. For example, the information is a public key or some public information related to the first user device 11. The above-mentioned digital signature may be implemented by currently available technologies, such as those used in the secure instant messaging software Signal. The above-mentioned key establishment process using the private key of the second user device 12 and the public key of the first user device 11 is not performed until the digital signature is successfully verified.

[0040] Then, once the third private key has been used to generate the first digital signature according to step 41 of the flowchart shown in Fig. 5, the third public key, the third private key encrypted by the main key and the first digital signature are transmitted outside the secure element 1102 and stored in another storage space of the first user device 11 (step 42). Optionally, copies of the third public key, the third private key encrypted by the main key and the first digital signature can be deleted from the secure element 1102 to save storage space and the main key can remain stored in the secure element 1102.

[0041] Then, in response to a message sending action (step 44) performed by the second user device 12 and directed to the first user device 11, the first user device 11 transmits the third public key and the first digital signature to the message switching centre 10 (step 43). The message switching centre 10 then transmits the third public key and the first digital signature to the second user device 12 (step 45), and the second user device 12 can verify the first user device 11 by verifying the first digital signature according to the third public key and the first digital signature (step 46).

[0042] Once the first user device 11 passes the verification, the second user device 12 performs a key establishment to generate a shared key using a key combination including at least the third public key of the first user device 11 and its own private key, uses the shared key to encrypt a message to be sent to the first user device 11, and transmits the encrypted message to the message switching center 10 (step 47). The message switching center 10 then transmits the encrypted message to the first user device 11 (step 48). After receiving the encrypted message, the first user device 11 obtains the public key of the second user device 12. Then, the encrypted third private key stored in the secure element 1102 or returned to the secure element 1102 from the external storage space is decrypted by the main key to recover the third private key. The secure element 1102 uses the public key and the third private key of the second user device 12 for key exchange and key establishment to derive the shared key. Using this shared key, the plaintext can be recovered from the ciphertext to decrypt the message (step 49). In this way, the message is transmitted from the first user device 11 to the second user device 12 while being protected from man-in-the-middle attacks.

[0043] In the above embodiment, the first user device 11 including the hardware security module 110 is used to illustrate the securing means of the present invention. Of course, the second user device 12 may include a similar hardware security module or be equipped with software performing similar functions to perform the securing operations. Furthermore, the digital signature verification of the second user device 12 may additionally be requested by the first user device 11 before the message transmission. That is, the second user device 12 transmits its public key and digital signature to the first user device 11 via the message switching center 10 for digital signature verification and identity verification. The digital signature verification of the second user device 12 may be performed at any time before step 49. If the verification fails, the first user device 11 will not decrypt the encrypted message even if it receives it. Although the digital signature verification for additional security has been described with reference to the embodiment of FIG. 5, it may be used in any of the other embodiments described above.

[0044] Preferably, but not necessarily, the secure element 1102 of the hardware security module 110 performs an identity verification of the first user device 11 before performing any requested operation, such as generating a key establishment combination or recovering a message or digital signature. The identity verification is performed by the secure element 1102 and may be performed, for example, by manual entry of a password and / or biometric detection. The identity verification may also include vibration detection performed by the action sensor 1101 as described above. Furthermore, in order to reduce the risk of misuse of the message, the message switching centre 10 preferably erases any encrypted message stored therein upon receiving a confirmation signal from the first user device 11 notifying the successful receipt of the encrypted message.

[0045] FIG. 6A is a flow chart showing a schematic diagram of another encryption / decryption method in the message transmission system shown in FIG. 1. The encryption / decryption method of this embodiment is similar to that shown in FIG. 2, except for the establishment of a shared key by the second user device and the derivation of the shared key by the first user device. In this embodiment, after steps 61a, 62a, 63 similar to steps 21a, 22a, 23 shown in the flow chart of FIG. 2, the shared key is established (step 64) in one of the following ways: the shared key is randomly generated by the second user device; the shared key is implemented by a constant stored in the second user device; or the shared key is derived from a key derivation function using a string entered by the user into the second user device. The shared key is used by the second user device to encrypt a message (step 65). Furthermore, in step 66, the second user device encrypts the shared key using the first public key obtained from the message switching center. The encrypted message and the encrypted shared key are then transmitted from the second user device to the first user device via the message switching center (step 67), and the shared key is derived from the encrypted shared key using specific information, such as the first private key stored in the hardware security module (step 68), and is used to decrypt the encrypted message to recover the message (step 69).

[0046] FIG. 6B is a flow chart showing a schematic diagram of another encryption / decryption method in the message transmission system shown in FIG. 1. The encryption / decryption method of this embodiment is similar to that shown in FIG. 3B, except for the establishment of a shared key by the second user device and the derivation of the shared key by the first user device. In this embodiment, after steps 71 and 73 similar to steps 31 and 33 shown in the flow chart of FIG. 3B, the shared key is established in one of the following ways (step 74): the shared key is randomly generated by the second user device; the shared key is implemented by a constant stored in the second user device; or the shared key is derived from a key derivation function using a string entered by the user into the second user device. The second user device uses the shared key to encrypt the message (step 75). Furthermore, in step 76, the second user device encrypts the shared key using the first public key obtained from the first user device in an end-to-end connection manner. The encrypted message and the encrypted shared key are then transmitted from the second user device to the first user device over the end-to-end connection (step 77), and the shared key is derived from the encrypted shared key using specific information, such as the first private key stored in the hardware security module (step 78), and is used to decrypt the encrypted message to recover the message (step 79).

[0047] In order to improve information security implemented in instant messaging software currently available on user devices by installing the hardware security module of the present invention on the user device, the instant messaging software needs to be appropriately modified to function with the hardware security module. For example, in the instant messaging software Signal, which is open source software, the source code is directly edited to comply with the protocol of the present system. The modified application program may be pre-installed on the user device at the factory or may be made available by remote download. Alternatively, the modified application program may be stored in the hardware security module and installed on the user device after the hardware security module is inserted into the user device.

[0048] In the above embodiment, the hardware security device can be implemented by, for example, a secure digital memory card that is simply inserted into a user device such as a smartphone. In addition to instant messaging software, the hardware security module of the present invention can be used in other communication systems, such as email and online conferences, to protect message transmissions. Since the critical keys are well protected inside the hardware security device, message transmissions in the communication systems can be effectively protected.

Claims

1. A message exchange center; at least a first user device and a second user device in communication with the message switching center via a network for message exchange; a hardware security module that is a secure digital memory card adapted to be inserted into the first user device; After the hardware security module is inserted into the first user device, the hardware security module generates a first key establishment combination including at least a first public-private key pair according to a key establishment algorithm, a first private key of the first public-private key pair being stored solely on the hardware security module, and a first public key of the first public-private key pair being transmitted to the message switching center; 1. A message transmission system comprising: a first user device that transmits a first message from the second user device to the first user device; wherein the second user device obtains a first public key from the message switching center, establishes or encrypts a shared key using the first public key, encrypts the plaintext of the first message into a ciphertext of the first message using the shared key, and transmits the ciphertext of the first message to the first user device via the message switching center; and the first user device obtains the encrypted shared key from the second user device, derives the shared key using specific information stored in the hardware security module, including a first private key, and uses the shared key to decrypt the ciphertext of the first message to recover the plaintext of the first message.

2. 2. The message transmission system of claim 1, wherein the second user device generates a second key establishment combination including at least a second public-private key pair according to a key establishment algorithm, a second private key of the second public-private key pair is stored only on the second user device, a second public key of the second public-private key pair is transmitted to the message switching center, and the shared key is established by the second user device according to at least the first public key and the second private key.

3. 3. The message transmission system of claim 2, wherein the message exchange center includes an identity registration center that receives the first public key and the second public key for identity verification of the first user device and the second user device, respectively, and the hardware security module performs identity verification of the first user device and does not generate the first key establishment combination and / or recover the shared key unless the first user device is successfully verified.

4. 4. The message transmission system of claim 3, wherein after the first user device is successfully authenticated, the first user device generates a digital signature using the first private key or another private key of the first user device, the second user device receives the digital signature via the message switching center, and authenticates the first user device by verifying the digital signature based on the first public key or another public key of the first user device, and after successfully verifying the digital signature, derives the shared key from a shared secret generated according to at least the first public key and the second private key.

5. The message transmission system of claim 3 or claim 4, characterized in that the first user device further includes an action sensor in the hardware security module for detecting vibration of the first user device, and if vibration is not detected by the action sensor, it is determined that identity verification has failed.

6. the shared key is randomly generated by the second user device. the shared key is implemented by a constant stored on the second user device; or the shared key is derived from a key derivation function using a string entered by a user into the second user device; 2. The message transmission system of claim 1, wherein the shared key is further encrypted by the second user device according to a first public key obtained from the message switching center, and then transmitted to the first user device via the message switching center.

7. 3. The message transmission system of claim 2, wherein the specific information further includes the second public key obtained from the message exchange center, and the hardware security module derives the shared key by performing key establishment using the second public key and the first private key.

8. A system comprising a first user device and a second user device in communication with the Internet, a hardware security module, the hardware security module being a secure digital memory card adapted to be inserted into the first user device, generates a first key establishment combination including at least a first public-private key pair according to a key establishment algorithm after being inserted into the first user device, the first private key of the first public-private key pair being stored solely in the hardware security module; 1. A message transmission system comprising: a first user device that transmits a first message from the second user device to the first user device; the second user device provides an IP address to the first user device via the Internet to perform an end-to-end connection between the first user device and the second user device; obtains a first public key from the first user device; establishes or encrypts a shared key using the first public key; encrypts the plaintext of the first message into a ciphertext of the first message using the shared key; and transmits the ciphertext of the first message to the first user device via the end-to-end connection; the first user device obtains the encrypted shared key from the second user device; derives the shared key using specific information stored in the hardware security module, including a first private key; and decrypts the ciphertext of the first message using the shared key to recover the plaintext of the first message.

9. A hardware security module having a secure digital memory card and adapted to be inserted into a housing of a user device when a user device communicates with another user device via a message switching center or an end-to-end connection, wherein after being inserted into the user device, the hardware security module generates a key establishment combination in accordance with a key establishment algorithm, the key establishment combination including at least a first public-private key pair, a first private key of the first public-private key pair being stored exclusively in the hardware security module, the hardware security module deriving a shared key received from the other user device via the message switching center or end-to-end connection using specific information including the first private key stored in the hardware security module, and using the shared key to process messages transmitted from the other user device to the user device by a specific application program.

Citation Information

Patent Citations

  • Device and system for managing key

    JP2003188866A

  • Operation recognition device

    JP2005092722A

  • Terminal equipment, security module and authentication method

    JP2007013439A

  • Settlement device, settlement method, and settlement program

    JP2016139291A

  • Assisted device provisioning in networks

    JP2017513265A