Information transmission method, device and terminal
By using the blockchain certificate to obtain the encrypted public key and directly generate the message during information transmission, the problem of mutual trust between CAs and the problem of large computational load is solved, and efficient information transmission is achieved.
Patent Information
- Application Number
- CN202011051790.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-09-29
- Publication Date
- 2025-01-21
- Estimated Expiration
- 2040-09-29
AI Technical Summary
The information transmission scheme for public keys in the prior art has problems of mutual trust among CAs, large amount of computing and waste of resources.
By using the blockchain certificate to obtain the encrypted public key of the called terminal, and directly generating the calling message based on the encrypted public key and shared key, and sending it to the called terminal, mutual trust issues between multiple CAs and problems with asymmetric key algorithms are avoided. Repeat operations.
It reduces the computational load of public key transmission, avoids waste of resources, expands the scope of application, and improves the efficiency of information transmission.
Smart Images

Figure CN114362950B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of communication technologies, and in particular to an information transmission method, device and terminal. Background Art
[0002] IP-based multimedia communications (including IP-based voice transmission VoIP) have become the mainstream of real-time communications. Due to the connectionless and public access characteristics of IP networks, VoIP communications are vulnerable to various attacks, including the possibility of voice eavesdropping (violation of confidentiality) and voice data tampering (violation of integrity). In this regard, a series of standards have been developed to ensure the security of VoIP communications: [1] The SRTP secure real-time transport protocol is defined to encrypt and integrity protect the RTP (real-time transport protocol) or RTCP (real-time transport control protocol) packets carrying multimedia; [2] A protocol framework is designed for both parties in VoIP communication to establish a shared key TGK (TEK (Traffic-Encrypting Key, communication key) Generation Key). TGK can further derive the key TEK (Traffic-Encrypting Key) used in SRTP to protect the security of RTP or RTCP packets.
[0003] Specifically, three methods for generating the key TGK are defined: (1) based on a pre-set key; (2) based on public key encryption to transmit the key TGK; (3) based on the DH (Diffie-Hellman) key exchange protocol negotiation to generate TGK.
[0004] The above-mentioned pre-set keys can only be used in a small range because they require pre-configuration on both sides of the communication. The methods for generating the key TGK used on a large scale are the methods (2) and (3) mentioned above. Among them, method (2) transmits the key TGK based on public key encryption, that is, the key TGK is transmitted from the caller to the called party based on public key encryption. Figure 1 As shown:
[0005] The calling party (terminal) generates a key TGK. In order to transmit it to the called party (terminal), the calling party sends an I_MESSAGE message to the called party. The main idea is to use envelope encryption to achieve secure transmission of TGK. The envelope key is randomly generated by the calling party. The envelope key is used to encrypt TGK, and the called party's public key then encrypts the envelope key.
[0006] The I_MESSAGE message includes: a message header HDR, a timestamp T, a random number RAND, a caller identity IDi and its certificate CERTi, a called identity IDr, a security policy identifier SP, a key transfer payload KEMAC, an encryption envelope payload PKE, and a digital signature SIGNi for the entire message.
[0007] The timestamp T is used to prevent replay attacks, and the random number RAND is used to increase the freshness of the key TEK when the key TEK is derived from the key TGK. The encrypted envelope payload is calculated as follows: PKE = E (PKr, env_key), that is, the envelope key env_key is encrypted using the called party's public key PKr. The key transmission payload KEMAC is composed as follows:
[0008] KEMAC=E(encr_key,IDi||{TGK})||MAC);
[0009] That is, the caller uses the envelope key env_key to encrypt its identity IDi and key TGK, and performs a message integrity operation on the encrypted message to generate a MAC.
[0010] After receiving the I_MESSAGE message, the called party uses its own private key to decrypt PKE to obtain the envelope key env_key, and then uses the key env_key to process KEMAC. First, verify MAC, then decrypt the encrypted part to obtain the key TGK. The called party generates an R_MESSAGE message and sends it to the calling party. The R_MESSAGE message includes: message header HDR, timestamp T, called party identity IDr, and verification information V. V is an integrity operation for the entire message, and its main purpose is to allow the calling party to verify the called party.
[0011] The entire solution is completely dependent on PKI (Public Key Infrastructure). The caller needs to use the called party's public key to encrypt the envelope key and use his private key to sign the entire message. The called party needs to use his private key to decrypt the encrypted envelope and use the caller's public key to verify the message.
[0012] However, for the above method (2), since there are multiple CAs (authorization centers) in the actual public key infrastructure PKI, the existence of multiple CAs brings about the problem of mutual trust between CAs; and both the caller and the called party need to use the asymmetric key algorithm twice for calculation, resulting in a large amount of calculation; in addition, the called party will also feedback the called party message (R_MESSAGE message) to the caller in response to the calling message (I_MESSAGE message) sent by the calling party, resulting in a waste of message resources.
[0013] From the above, we can see that the existing information transmission schemes for public keys have problems such as small application scope, mutual trust issues between CAs, large amount of calculation, and waste of resources. Summary of the invention
[0014] The purpose of the present invention is to provide an information transmission method, device and terminal to solve the problems of mutual trust between CAs and large amount of calculation in the information transmission scheme for public keys in the prior art.
[0015] In order to solve the above technical problems, an embodiment of the present invention provides an information transmission method, which is applied to a calling terminal, comprising:
[0016] Obtaining an encrypted public key corresponding to the called terminal according to the blockchain certificate corresponding to the called terminal;
[0017] The calling message is obtained according to the encrypted public key and the shared key, and is sent to the called terminal.
[0018] Optionally, obtaining an encrypted public key corresponding to the called terminal according to a blockchain certificate corresponding to the called terminal includes:
[0019] According to the identity identifier of the called terminal, obtaining a blockchain certificate corresponding to the called terminal from the blockchain;
[0020] According to the blockchain certificate, an encrypted public key corresponding to the called terminal is obtained.
[0021] Optionally, the calling message includes a message authentication code;
[0022] The obtaining of the calling message according to the encrypted public key and the shared key comprises:
[0023] Obtain the message authentication code according to the shared public key, the message header, the timestamp, the random number, the caller identity, the called identity, the security policy identifier and the encrypted payload;
[0024] The encrypted payload is a payload of the shared key encrypted using the encryption public key.
[0025] Optionally, obtaining the message authentication code according to the shared public key, the message header, the timestamp, the random number, the caller identity, the called identity, the security policy identifier, and the encrypted payload includes:
[0026] Formula 1 is used to obtain the message authentication code according to the shared public key, the message header, the timestamp, the random number, the caller identity, the called identity, the security policy identifier and the encrypted payload;
[0027] Wherein, the formula 1 is:
[0028] MAC=HASH(TGK,HDR║T║RAND║[IDi]║[IDr]║{SP}║E(PKr,TGK));
[0029] MAC represents the message authentication code; HASH represents the hash function; TGK represents the shared key; HDR represents the message header; T represents the timestamp; RAND represents the random number; [IDi] represents the calling identity; [IDr] represents the called identity; {SP} represents the security policy identifier; E(PKr,TGK) represents the encrypted payload; ║ represents the information concatenation character.
[0030] Optionally, the calling message further includes the message header, a timestamp, a random number, a calling party identity, a called party identity, a security policy identifier, and an encrypted payload.
[0031] The embodiment of the present invention further provides an information transmission method, which is applied to a called terminal, comprising:
[0032] Receiving a calling message sent by a calling terminal;
[0033] Decrypting the encrypted payload in the calling message to obtain a shared key according to the private key of the called terminal;
[0034] Verifying the message authentication code in the calling message according to the shared key;
[0035] If the verification is successful, confirm that the shared key is the target shared key;
[0036] The encrypted payload is a payload of the shared key encrypted using an encryption public key corresponding to the called terminal.
[0037] Optionally, the message authentication code is obtained according to the shared public key, a message header, a timestamp, a random number, a caller identity, a called identity, a security policy identifier and the encrypted payload.
[0038] Optionally, the message authentication code is obtained by using Formula 1 according to the shared public key, the message header, the timestamp, the random number, the caller identity, the called identity, the security policy identifier and the encrypted payload;
[0039] Wherein, the formula 1 is:
[0040] MAC=HASH(TGK,HDR║T║RAND║[IDi]║[IDr]║{SP}║E(PKr,TGK));
[0041] MAC represents the message authentication code; HASH represents the hash function; TGK represents the shared key; HDR represents the message header; T represents the timestamp; RAND represents the random number; [IDi] represents the calling identity; [IDr] represents the called identity; {SP} represents the security policy identifier; E(PKr,TGK) represents the encrypted payload; ║ represents the information concatenation character.
[0042] Optionally, the calling message further includes the message header, a timestamp, a random number, a calling party identity, a called party identity, a security policy identifier, and an encrypted payload.
[0043] Optionally, before receiving the calling message sent by the calling terminal, the method further includes:
[0044] The encrypted public key and identity of the called terminal are written into the blockchain in the form of a blockchain certificate.
[0045] The embodiment of the present invention further provides an information transmission device, which is applied to a calling terminal, and includes:
[0046] A first processing module, configured to obtain an encryption public key corresponding to the called terminal according to a blockchain certificate corresponding to the called terminal;
[0047] The second processing module is used to obtain a calling message according to the encrypted public key and the shared key, and send the message to the called terminal.
[0048] Optionally, the first processing module includes:
[0049] A first acquisition submodule, configured to acquire a blockchain certificate corresponding to the called terminal from the blockchain according to the identity identifier of the called terminal;
[0050] The first processing submodule is used to obtain the encryption public key corresponding to the called terminal according to the blockchain certificate.
[0051] Optionally, the calling message includes a message authentication code;
[0052] The second processing module comprises:
[0053] A second processing submodule, configured to obtain the message authentication code according to the shared public key, the message header, the timestamp, the random number, the caller identity, the called identity, the security policy identifier and the encrypted payload;
[0054] The encrypted payload is a payload of the shared key encrypted using the encryption public key.
[0055] Optionally, obtaining the message authentication code according to the shared public key, the message header, the timestamp, the random number, the caller identity, the called identity, the security policy identifier, and the encrypted payload includes:
[0056] Formula 1 is used to obtain the message authentication code according to the shared public key, the message header, the timestamp, the random number, the caller identity, the called identity, the security policy identifier and the encrypted payload;
[0057] Wherein, the formula 1 is:
[0058] MAC=HASH(TGK,HDR║T║RAND║[IDi]║[IDr]║{SP}║E(PKr,TGK));
[0059] MAC represents the message authentication code; HASH represents the hash function; TGK represents the shared key; HDR represents the message header; T represents the timestamp; RAND represents the random number; [IDi] represents the calling identity; [IDr] represents the called identity; {SP} represents the security policy identifier; E(PKr,TGK) represents the encrypted payload; ║ represents the information concatenation character.
[0060] Optionally, the calling message further includes the message header, a timestamp, a random number, a calling party identity, a called party identity, a security policy identifier, and an encrypted payload.
[0061] The embodiment of the present invention further provides an information transmission device, which is applied to a called terminal, comprising:
[0062] A first receiving module, used for receiving a calling message sent by a calling terminal;
[0063] A first decryption module, configured to decrypt the encrypted payload in the calling message to obtain a shared key according to the private key of the called terminal;
[0064] A first verification module, used to verify the message authentication code in the calling message according to the shared key;
[0065] A first confirmation module, used for confirming that the shared key is a target shared key when the verification passes;
[0066] The encrypted payload is a payload of the shared key encrypted using an encryption public key corresponding to the called terminal.
[0067] Optionally, the message authentication code is obtained according to the shared public key, a message header, a timestamp, a random number, a caller identity, a called identity, a security policy identifier and the encrypted payload.
[0068] Optionally, the message authentication code is obtained by using Formula 1 according to the shared public key, the message header, the timestamp, the random number, the caller identity, the called identity, the security policy identifier and the encrypted payload;
[0069] Wherein, the formula 1 is:
[0070] MAC=HASH(TGK,HDR║T║RAND║[IDi]║[IDr]║{SP}║E(PKr,TGK));
[0071] MAC represents the message authentication code; HASH represents the hash function; TGK represents the shared key; HDR represents the message header; T represents the timestamp; RAND represents the random number; [IDi] represents the calling identity; [IDr] represents the called identity; {SP} represents the security policy identifier; E(PKr,TGK) represents the encrypted payload; ║ represents the information concatenation character.
[0072] Optionally, the calling message further includes the message header, a timestamp, a random number, a calling party identity, a called party identity, a security policy identifier, and an encrypted payload.
[0073] Optionally, also include:
[0074] The third processing module is used to write the encrypted public key and identity of the called terminal into the blockchain in the form of a blockchain certificate before receiving the calling message sent by the calling terminal.
[0075] The embodiment of the present invention further provides a terminal, the terminal is a calling terminal, and the terminal includes: a processor and a transceiver;
[0076] The processor is used to obtain an encrypted public key corresponding to the called terminal according to the blockchain certificate corresponding to the called terminal;
[0077] A calling message is obtained according to the encrypted public key and the shared key, and is sent to the called terminal through the transceiver.
[0078] Optionally, the processor is specifically configured to:
[0079] According to the identity identifier of the called terminal, obtaining a blockchain certificate corresponding to the called terminal from the blockchain;
[0080] According to the blockchain certificate, an encrypted public key corresponding to the called terminal is obtained.
[0081] Optionally, the calling message includes a message authentication code;
[0082] The processor is specifically used for:
[0083] Obtain the message authentication code according to the shared public key, the message header, the timestamp, the random number, the caller identity, the called identity, the security policy identifier and the encrypted payload;
[0084] The encrypted payload is a payload of the shared key encrypted using the encryption public key.
[0085] Optionally, the processor is specifically configured to:
[0086] Formula 1 is used to obtain the message authentication code according to the shared public key, the message header, the timestamp, the random number, the caller identity, the called identity, the security policy identifier and the encrypted payload;
[0087] Wherein, the formula 1 is:
[0088] MAC=HASH(TGK,HDR║T║RAND║[IDi]║[IDr]║{SP}║E(PKr,TGK));
[0089] MAC represents the message authentication code; HASH represents the hash function; TGK represents the shared key; HDR represents the message header; T represents the timestamp; RAND represents the random number; [IDi] represents the calling identity; [IDr] represents the called identity; {SP} represents the security policy identifier; E(PKr,TGK) represents the encrypted payload; ║ represents the information concatenation character.
[0090] Optionally, the calling message further includes the message header, a timestamp, a random number, a calling party identity, a called party identity, a security policy identifier, and an encrypted payload.
[0091] An embodiment of the present invention further provides a terminal, which is a called terminal and includes: a processor and a transceiver;
[0092] The processor is used to receive a calling message sent by a calling terminal through the transceiver;
[0093] Decrypting the encrypted payload in the calling message to obtain a shared key according to the private key of the called terminal;
[0094] Verifying the message authentication code in the calling message according to the shared key;
[0095] If the verification is successful, confirm that the shared key is the target shared key;
[0096] The encrypted payload is a payload of the shared key encrypted using an encryption public key corresponding to the called terminal.
[0097] Optionally, the message authentication code is obtained according to the shared public key, a message header, a timestamp, a random number, a caller identity, a called identity, a security policy identifier and the encrypted payload.
[0098] Optionally, the message authentication code is obtained by using Formula 1 according to the shared public key, the message header, the timestamp, the random number, the caller identity, the called identity, the security policy identifier and the encrypted payload;
[0099] Wherein, the formula 1 is:
[0100] MAC=HASH(TGK,HDR║T║RAND║[IDi]║[IDr]║{SP}║E(PKr,TGK));
[0101] MAC represents the message authentication code; HASH represents the hash function; TGK represents the shared key; HDR represents the message header; T represents the timestamp; RAND represents the random number; [IDi] represents the calling identity; [IDr] represents the called identity; {SP} represents the security policy identifier; E(PKr,TGK) represents the encrypted payload; ║ represents the information concatenation character.
[0102] Optionally, the calling message further includes the message header, a timestamp, a random number, a calling party identity, a called party identity, a security policy identifier, and an encrypted payload.
[0103] Optionally, the processor is further configured to:
[0104] Before receiving the calling message sent by the calling terminal, the encrypted public key and identity of the called terminal are written into the blockchain in the form of a blockchain certificate.
[0105] The embodiment of the present invention further provides a terminal, comprising a memory, a processor, and a program stored in the memory and executable on the processor; when the processor executes the program, the above-mentioned information transmission method on the calling terminal side is implemented; or,
[0106] When the processor executes the program, the above-mentioned information transmission method on the called terminal side is implemented.
[0107] The embodiment of the present invention further provides a readable storage medium on which a program is stored. When the program is executed by a processor, the steps in the above-mentioned information transmission method on the calling terminal side are implemented; or,
[0108] When the program is executed by the processor, the steps in the above-mentioned information transmission method on the called terminal side are implemented.
[0109] The beneficial effects of the above technical solution of the present invention are as follows:
[0110] In the above scheme, the information transmission method obtains the encrypted public key corresponding to the called terminal according to the blockchain certificate corresponding to the called terminal; obtains the calling message according to the encrypted public key and the shared key, and sends it to the called terminal; it can obtain information based on the blockchain certificate, thereby avoiding the mutual trust problem between multiple CAs; in addition, this scheme can directly obtain the calling message according to the encrypted public key and the shared key, and no longer needs to use the asymmetric key algorithm twice for calculation, thereby reducing the amount of calculation for public key transmission; in addition, this scheme no longer needs to be pre-configured so that it can be applied to various public key transmission scenarios, thereby ensuring the scope of application; further, this scheme can support the implementation of not requiring the called terminal to feed back the corresponding called message to the calling terminal, thereby avoiding resource waste and reducing communication delay; it is a good solution to the problems of mutual trust between CAs and large amount of calculation in the information transmission scheme for public keys in the prior art. BRIEF DESCRIPTION OF THE DRAWINGS
[0111] Figure 1 It is a schematic diagram of a public key encryption scheme in the prior art;
[0112] Figure 2 The information transmission method according to the embodiment of the present invention is shown in FIG. Figure 1 ;
[0113] Figure 3 The information transmission method according to the embodiment of the present invention is shown in FIG. Figure 2 ;
[0114] Figure 4 A schematic diagram of a specific implementation flow of the information transmission method according to an embodiment of the present invention;
[0115] Figure 5 The structure of the information transmission device according to the embodiment of the present invention is shown in FIG. Figure 1 ;
[0116] Figure 6 The structure of the information transmission device according to the embodiment of the present invention is shown in FIG. Figure 2 ;
[0117] Figure 7 The terminal structure of the embodiment of the present invention is shown in FIG. Figure 1 ;
[0118] Figure 8 The terminal structure of the embodiment of the present invention is shown in FIG. Figure 2 . DETAILED DESCRIPTION
[0119] In order to make the technical problems, technical solutions and advantages to be solved by the present invention more clear, a detailed description will be given below with reference to the accompanying drawings and specific embodiments.
[0120] The present invention aims at the problems of mutual trust between CAs and large amount of calculation in the information transmission scheme for public keys in the existing technology, and provides an information transmission method applied to a calling terminal, such as Figure 2 As shown, including:
[0121] Step 21: Obtain the encryption public key corresponding to the called terminal according to the blockchain certificate corresponding to the called terminal;
[0122] Step 22: Obtain a calling message according to the encrypted public key and the shared key, and send it to the called terminal.
[0123] The information transmission method provided in the embodiment of the present invention obtains the encrypted public key corresponding to the called terminal according to the blockchain certificate corresponding to the called terminal; obtains the calling message according to the encrypted public key and the shared key, and sends it to the called terminal; it can realize obtaining information based on the blockchain certificate, thereby avoiding the mutual trust problem between multiple CAs; in addition, this scheme can directly obtain the calling message according to the encrypted public key and the shared key, and no longer needs to use the asymmetric key algorithm twice for calculation, thereby reducing the amount of calculation for public key transmission; in addition, this scheme no longer needs to be pre-configured, so that it can be applicable to various public key transmission scenarios, thereby ensuring the scope of application; further, this scheme can support the implementation of not requiring the called terminal to feed back the corresponding called message to the calling terminal, avoiding resource waste and reducing communication delay; it well solves the problems of mutual trust between CAs and large amount of calculation in the information transmission scheme for public keys in the prior art.
[0124] Among them, obtaining the encrypted public key corresponding to the called terminal according to the blockchain certificate corresponding to the called terminal includes: obtaining the blockchain certificate corresponding to the called terminal from the blockchain according to the identity identifier of the called terminal; and obtaining the encrypted public key corresponding to the called terminal according to the blockchain certificate.
[0125] In an embodiment of the present invention, the calling message includes a message authentication code; the calling message is obtained according to the encrypted public key and the shared key, including: obtaining the message authentication code according to the shared public key, a message header, a timestamp, a random number, a calling identity, a called identity, a security policy identifier and an encrypted load; wherein the encrypted load is a load of the shared key encrypted using the encrypted public key.
[0126] The message authentication code MAC can be used by the called terminal to verify the integrity of the calling message.
[0127] Specifically, the obtaining of the message authentication code according to the shared public key, the message header, the timestamp, the random number, the calling identity, the called identity, the security policy identifier and the encrypted payload comprises: using formula 1 to obtain the message authentication code according to the shared public key, the message header, the timestamp, the random number, the calling identity, the called identity, the security policy identifier and the encrypted payload; wherein the formula 1 is:
[0128] MAC=HASH(TGK,HDR║T║RAND║[IDi]║[IDr]║{SP}║E(PKr,TGK));
[0129] MAC represents the message authentication code; HASH represents the hash function; TGK represents the shared key; HDR represents the message header; T represents the timestamp; RAND represents the random number; [IDi] represents the calling identity; [IDr] represents the called identity; {SP} represents the security policy identifier; E(PKr,TGK) represents the encrypted payload; ║ represents the information concatenation character.
[0130] The timestamp T can be used to prevent replay attacks, and the random number RAND can be used to increase the freshness of the calling message.
[0131] In the embodiment of the present invention, the calling message further includes the message header, a timestamp, a random number, a calling identity, a called identity, a security policy identifier, and an encrypted payload.
[0132] The embodiment of the present invention also provides an information transmission method, which is applied to a called terminal, such as Figure 3 As shown, including:
[0133] Step 31: receiving a calling message sent by the calling terminal;
[0134] Step 32: Decrypt the encrypted payload in the calling message according to the private key of the called terminal to obtain a shared key;
[0135] Step 33: Verify the message authentication code in the calling message according to the shared key;
[0136] Step 34: If the verification is successful, confirm that the shared key is the target shared key; wherein the encrypted payload is a payload of the shared key encrypted using the encryption public key corresponding to the called terminal.
[0137] The information transmission method provided by the embodiment of the present invention receives a calling message sent by a calling terminal; decrypts the encrypted payload in the calling message according to the private key of the called terminal to obtain a shared key; verifies the message authentication code in the calling message according to the shared key; and confirms that the shared key is the target shared key if the verification is successful; wherein the encrypted payload is a payload of the shared key encrypted using the encryption public key corresponding to the called terminal; and can support the calling terminal to obtain information based on the blockchain certificate, thereby avoiding the mutual trust problem between multiple CAs; in addition, the scheme can directly obtain the shared key by decrypting the private key, and no longer needs to use the asymmetric key algorithm twice for calculation, thereby reducing the amount of calculation for public key transmission; in addition, the scheme no longer needs to be pre-configured, so that it can be applicable to various public key transmission scenarios, thereby ensuring the scope of application; further, the scheme does not need to feed back the corresponding called message to the calling terminal, thereby avoiding resource waste and reducing communication delay; and well solves the problems of mutual trust between CAs and large amount of calculation in the information transmission scheme for public keys in the prior art.
[0138] The message authentication code is obtained according to the shared public key, the message header, the timestamp, the random number, the calling party identity, the called party identity, the security policy identifier and the encrypted payload.
[0139] Specifically, the message authentication code is obtained by using formula 1 according to the shared public key, the message header, the timestamp, the random number, the caller identity, the called identity, the security policy identifier and the encrypted payload; wherein the formula 1 is:
[0140] MAC=HASH(TGK,HDR║T║RAND║[IDi]║[IDr]║{SP}║E(PKr,TGK));
[0141] MAC represents the message authentication code; HASH represents the hash function; TGK represents the shared key; HDR represents the message header; T represents the timestamp; RAND represents the random number; [IDi] represents the calling identity; [IDr] represents the called identity; {SP} represents the security policy identifier; E(PKr,TGK) represents the encrypted payload; ║ represents the information concatenation character.
[0142] The timestamp T can be used to prevent replay attacks, and the random number RAND can be used to increase the freshness of the calling message.
[0143] In the embodiment of the present invention, the calling message further includes the message header, a timestamp, a random number, a calling identity, a called identity, a security policy identifier, and an encrypted payload.
[0144] Furthermore, before receiving the calling message sent by the calling terminal, it also includes: writing the encrypted public key and identity of the called terminal into the blockchain in the form of a blockchain certificate.
[0145] This can further support the calling terminal to use blockchain certificates to obtain information to solve the mutual trust problem between multiple CAs.
[0146] The information transmission method provided by the embodiment of the present invention is further described below in conjunction with multiple parties such as a calling terminal and a called terminal, and the shared key TGK is taken as an example.
[0147] In response to the above technical problems, an embodiment of the present invention provides an information transmission method, which can be specifically implemented as a public key encryption method based on blockchain, involving: the user's encrypted public key and its identity are written to the blockchain in the form of a blockchain certificate (for the blockchain certificate format and the management method of the blockchain certificate, please refer to the existing method, which will not be repeated here). Before the calling terminal sends the I_MESSAGE message (that is, the above-mentioned calling message), it can find the blockchain certificate corresponding to the called terminal from the blockchain, and use the encrypted public key in the blockchain certificate to directly encrypt the key TGK, and use TGK to protect the integrity of the entire I_MESSAGE message (specifically, TGK can be used to generate MAC). After receiving the I_MESSAGE message, the called terminal uses its own private key to decrypt it to obtain the key TGK, and uses the key TGK to verify the integrity of the message (specifically, it can verify MAC), so that the calling and called parties obtain the shared key TGK.
[0148] Specifically, the solution provided by the embodiment of the present invention can be as follows Figure 4 As shown, the calling terminal sends an I_MESSAGE message to the called terminal, which specifically involves:
[0149] First, the initial conditions: the encrypted public key and identity of each user (i.e., terminal) are written to the blockchain in the form of a blockchain certificate; it can be written by the user himself or by the operator, and there is no limitation here.
[0150] Secondly, the public key encryption process based on blockchain specifically includes:
[0151] (1) Before sending the I_MESSAGE message, the calling terminal finds the blockchain certificate of the called terminal from the blockchain and obtains the encrypted public key PKr of the called terminal from the blockchain certificate;
[0152] (2) The calling terminal generates an I_MESSAGE message based on the encrypted public key PKr and the secret key TGK, and sends it to the called terminal. Specifically, the I_MESSAGE message may include: a message header HDR, a timestamp T, a random number RAND, a calling identity IDi and a called identity IDr, a security policy identifier SP, a payload E(PKr,TGK) encrypted with PKr using TGK, and MAC; specifically, the entire message is protected with the secret key TGK, and MAC may be obtained by performing integrity calculation using TGK. The formula for calculating MAC may be as follows:
[0153] MAC=HASH(TGK,HDR║T║RAND║[IDi]║[IDr]║{SP}║E(PKr,TGK));
[0154] Here, HASH is a hash function, such as SHA-256. ║ represents an information concatenation symbol, which is used to indicate the concatenation of information.
[0155] (3) After receiving the I_MESSAGE message, the called terminal uses its own private key to decrypt the payload E(PKr,TGK) to obtain the key TGK, and then uses the key TGK to verify the MAC. If the verification is successful, it means that the I_MESSAGE message has not been tampered with and the received key TGK is correct; thus, both the calling and called parties know the key TGK.
[0156] In the embodiment of the present invention, the called terminal no longer returns an R_MESSAGE message (ie, called message) to the calling terminal.
[0157] As can be seen from the above, in the solution provided by the embodiment of the present invention: the encryption public key and identity of each user are written into the blockchain in the form of a blockchain certificate, thereby solving the multi-CA trust problem; since the encryption public key is used to directly encrypt the key TGK, and the encrypted key TGK is used to perform integrity protection on the I_MESSAGE message instead of using a digital signature, the amount of calculation is significantly reduced compared with the existing public key encryption scheme; since the caller and the called party only need to perform the operation of the asymmetric key algorithm once, and the R_MESSAGE message is omitted, the communication delay is reduced, resource waste is avoided, and it has good application value.
[0158] The embodiment of the present invention also provides an information transmission device, which is applied to a calling terminal, such as Figure 5 As shown, including:
[0159] The first processing module 51 is used to obtain the encryption public key corresponding to the called terminal according to the blockchain certificate corresponding to the called terminal;
[0160] The second processing module 52 is used to obtain a calling message according to the encrypted public key and the shared key, and send the message to the called terminal.
[0161] The information transmission device provided in the embodiment of the present invention obtains the encrypted public key corresponding to the called terminal according to the blockchain certificate corresponding to the called terminal; obtains the calling message according to the encrypted public key and the shared key, and sends it to the called terminal; it can realize obtaining information based on the blockchain certificate, thereby avoiding the mutual trust problem between multiple CAs; in addition, this scheme can directly obtain the calling message according to the encrypted public key and the shared key, and no longer needs to use the asymmetric key algorithm twice for calculation, thereby reducing the amount of calculation for public key transmission; in addition, this scheme no longer needs to be pre-configured, so that it can be applicable to various public key transmission scenarios, thereby ensuring the scope of application; further, this scheme can support the implementation of not requiring the called terminal to feed back the corresponding called message to the calling terminal, avoiding resource waste and reducing communication delay; it well solves the problems of mutual trust between CAs and large amount of calculation in the information transmission scheme for public keys in the prior art.
[0162] Among them, the first processing module includes: a first acquisition submodule, used to obtain the blockchain certificate corresponding to the called terminal from the blockchain according to the identity identification of the called terminal; a first processing submodule, used to obtain the encrypted public key corresponding to the called terminal according to the blockchain certificate.
[0163] In an embodiment of the present invention, the calling message includes a message authentication code; the second processing module includes: a second processing sub-module, used to obtain the message authentication code according to the shared public key, message header, timestamp, random number, calling identity, called identity, security policy identifier and encrypted load; wherein the encrypted load is a load of the shared key encrypted using the encrypted public key.
[0164] Specifically, the obtaining of the message authentication code according to the shared public key, the message header, the timestamp, the random number, the calling identity, the called identity, the security policy identifier and the encrypted payload comprises: using formula 1 to obtain the message authentication code according to the shared public key, the message header, the timestamp, the random number, the calling identity, the called identity, the security policy identifier and the encrypted payload; wherein the formula 1 is:
[0165] MAC=HASH(TGK,HDR║T║RAND║[IDi]║[IDr]║{SP}║E(PKr,TGK));
[0166] MAC represents the message authentication code; HASH represents the hash function; TGK represents the shared key; HDR represents the message header; T represents the timestamp; RAND represents the random number; [IDi] represents the calling identity; [IDr] represents the called identity; {SP} represents the security policy identifier; E(PKr,TGK) represents the encrypted payload; ║ represents the information concatenation character.
[0167] In the embodiment of the present invention, the calling message further includes the message header, a timestamp, a random number, a calling identity, a called identity, a security policy identifier, and an encrypted payload.
[0168] Among them, the implementation embodiments of the above-mentioned information transmission method on the calling terminal side are all applicable to the embodiments of the information transmission device and can achieve the same technical effect.
[0169] The embodiment of the present invention also provides an information transmission device, which is applied to a called terminal, such as Figure 6 As shown, including:
[0170] The first receiving module 61 is used to receive a calling message sent by a calling terminal;
[0171] A first decryption module 62, configured to decrypt the encrypted payload in the calling message to obtain a shared key according to the private key of the called terminal;
[0172] A first verification module 63, configured to verify the message authentication code in the calling message according to the shared key;
[0173] A first confirmation module 64 is used to confirm that the shared key is a target shared key when the verification is successful;
[0174] The encrypted payload is a payload of the shared key encrypted using an encryption public key corresponding to the called terminal.
[0175] The information transmission device provided by the embodiment of the present invention receives a calling message sent by a calling terminal; decrypts the encrypted payload in the calling message according to the private key of the called terminal to obtain a shared key; verifies the message authentication code in the calling message according to the shared key; and confirms that the shared key is the target shared key if the verification is successful; wherein the encrypted payload is a payload of the shared key encrypted using the encryption public key corresponding to the called terminal; and can support the calling terminal to obtain information based on the blockchain certificate, thereby avoiding the mutual trust problem between multiple CAs; in addition, the scheme can directly obtain the shared key by decrypting the private key, and no longer needs to use the asymmetric key algorithm twice for calculation, thereby reducing the amount of calculation for public key transmission; in addition, the scheme no longer needs to be pre-configured, so that it can be applicable to various public key transmission scenarios, thereby ensuring the scope of application; further, the scheme does not need to feed back the corresponding called message to the calling terminal, thereby avoiding resource waste and reducing communication delay; and well solves the problems of mutual trust between CAs and large amount of calculation in the information transmission scheme for public keys in the prior art.
[0176] The message authentication code is obtained according to the shared public key, the message header, the timestamp, the random number, the calling party identity, the called party identity, the security policy identifier and the encrypted payload.
[0177] Specifically, the message authentication code is obtained by using formula 1 according to the shared public key, the message header, the timestamp, the random number, the caller identity, the called identity, the security policy identifier and the encrypted payload; wherein the formula 1 is:
[0178] MAC=HASH(TGK,HDR║T║RAND║[IDi]║[IDr]║{SP}║E(PKr,TGK));
[0179] MAC represents the message authentication code; HASH represents the hash function; TGK represents the shared key; HDR represents the message header; T represents the timestamp; RAND represents the random number; [IDi] represents the calling identity; [IDr] represents the called identity; {SP} represents the security policy identifier; E(PKr,TGK) represents the encrypted payload; ║ represents the information concatenation character.
[0180] In the embodiment of the present invention, the calling message further includes the message header, a timestamp, a random number, a calling identity, a called identity, a security policy identifier, and an encrypted payload.
[0181] Furthermore, the information transmission device also includes: a third processing module, which is used to write the encrypted public key and identity of the called terminal into the blockchain in the form of a blockchain certificate before receiving the calling message sent by the calling terminal.
[0182] Among them, the implementation embodiments of the information transmission method on the called terminal side are all applicable to the embodiments of the information transmission device and can achieve the same technical effects.
[0183] The embodiment of the present invention further provides a terminal, wherein the terminal is a calling terminal, such as Figure 7 As shown, the terminal includes: a processor 71 and a transceiver 72;
[0184] The processor 71 is used to obtain an encryption public key corresponding to the called terminal according to the blockchain certificate corresponding to the called terminal;
[0185] The calling message is obtained according to the encrypted public key and the shared key, and is sent to the called terminal through the transceiver 72.
[0186] The terminal provided in the embodiment of the present invention obtains the encrypted public key corresponding to the called terminal according to the blockchain certificate corresponding to the called terminal; obtains the calling message according to the encrypted public key and the shared key, and sends it to the called terminal; it can obtain information based on the blockchain certificate, thereby avoiding the mutual trust problem between multiple CAs; in addition, this scheme can directly obtain the calling message according to the encrypted public key and the shared key, and no longer needs to use the asymmetric key algorithm twice for calculation, thereby reducing the amount of calculation for public key transmission; in addition, this scheme no longer needs to be pre-configured, so that it can be applicable to various public key transmission scenarios, thereby ensuring the scope of application; further, this scheme can support the implementation of not requiring the called terminal to feed back the corresponding called message to the calling terminal, thereby avoiding resource waste and reducing communication delay; it well solves the problems of mutual trust between CAs and large amount of calculation in the information transmission scheme for public keys in the prior art.
[0187] Among them, the processor is specifically used to: obtain a blockchain certificate corresponding to the called terminal from the blockchain according to the identity identifier of the called terminal; and obtain an encrypted public key corresponding to the called terminal according to the blockchain certificate.
[0188] In an embodiment of the present invention, the calling message includes a message authentication code; the processor is specifically used to: obtain the message authentication code according to the shared public key, message header, timestamp, random number, calling identity, called identity, security policy identifier and encrypted load; wherein the encrypted load is a load of the shared key encrypted using the encrypted public key.
[0189] Specifically, the processor is specifically used to: use formula 1 to obtain the message authentication code according to the shared public key, the message header, the timestamp, the random number, the caller identity, the called identity, the security policy identifier and the encrypted payload; wherein the formula 1 is:
[0190] MAC=HASH(TGK,HDR║T║RAND║[IDi]║[IDr]║{SP}║E(PKr,TGK));
[0191] MAC represents the message authentication code; HASH represents the hash function; TGK represents the shared key; HDR represents the message header; T represents the timestamp; RAND represents the random number; [IDi] represents the calling identity; [IDr] represents the called identity; {SP} represents the security policy identifier; E(PKr,TGK) represents the encrypted payload; ║ represents the information concatenation character.
[0192] In the embodiment of the present invention, the calling message further includes the message header, a timestamp, a random number, a calling identity, a called identity, a security policy identifier, and an encrypted payload.
[0193] Among them, the implementation embodiments of the information transmission method on the calling terminal side are all applicable to the embodiments of the terminal and can achieve the same technical effects.
[0194] The embodiment of the present invention further provides a terminal, which is a called terminal. Figure 8 As shown, the terminal includes: a processor 81 and a transceiver 82;
[0195] The processor 81 is used to receive a calling message sent by a calling terminal through the transceiver 82;
[0196] Decrypting the encrypted payload in the calling message to obtain a shared key according to the private key of the called terminal;
[0197] Verifying the message authentication code in the calling message according to the shared key;
[0198] If the verification is successful, confirm that the shared key is the target shared key;
[0199] The encrypted payload is a payload of the shared key encrypted using an encryption public key corresponding to the called terminal.
[0200] The terminal provided in the embodiment of the present invention receives a calling message sent by a calling terminal; decrypts the encrypted payload in the calling message according to the private key of the called terminal to obtain a shared key; verifies the message authentication code in the calling message according to the shared key; and confirms that the shared key is the target shared key if the verification is passed; wherein the encrypted payload is a payload of the shared key encrypted using the encryption public key corresponding to the called terminal; and can support the calling terminal to obtain information based on the blockchain certificate, thereby avoiding the mutual trust problem between multiple CAs; in addition, the present solution can directly obtain the shared key by decrypting the private key, and no longer needs to use the asymmetric key algorithm twice for calculation, thereby reducing the amount of calculation for public key transmission; in addition, the present solution no longer needs to be pre-configured, so that it can be applicable to various public key transmission scenarios, thereby ensuring the scope of application; further, the present solution does not need to feed back the corresponding called message to the calling terminal, thereby avoiding resource waste and reducing communication delay; and well solves the problems of mutual trust between CAs and large amount of calculation in the information transmission scheme for public keys in the prior art.
[0201] The message authentication code is obtained according to the shared public key, the message header, the timestamp, the random number, the calling party identity, the called party identity, the security policy identifier and the encrypted payload.
[0202] Specifically, the message authentication code is obtained by using formula 1 according to the shared public key, the message header, the timestamp, the random number, the caller identity, the called identity, the security policy identifier and the encrypted payload; wherein the formula 1 is:
[0203] MAC=HASH(TGK,HDR║T║RAND║[IDi]║[IDr]║{SP}║E(PKr,TGK));
[0204] MAC represents the message authentication code; HASH represents the hash function; TGK represents the shared key; HDR represents the message header; T represents the timestamp; RAND represents the random number; [IDi] represents the calling identity; [IDr] represents the called identity; {SP} represents the security policy identifier; E(PKr,TGK) represents the encrypted payload; ║ represents the information concatenation character.
[0205] In the embodiment of the present invention, the calling message further includes the message header, a timestamp, a random number, a calling identity, a called identity, a security policy identifier, and an encrypted payload.
[0206] Furthermore, the processor is also used to: before receiving the calling message sent by the calling terminal, write the encrypted public key and identity of the called terminal into the blockchain in the form of a blockchain certificate.
[0207] Among them, the implementation embodiments of the information transmission method on the called terminal side are all applicable to the embodiments of the terminal and can achieve the same technical effect.
[0208] An embodiment of the present invention also provides a terminal, including a memory, a processor, and a program stored in the memory and executable on the processor; when the processor executes the program, the above-mentioned information transmission method on the calling terminal side is implemented; or, when the processor executes the program, the above-mentioned information transmission method on the called terminal side is implemented.
[0209] Among them, the implementation embodiments of the information transmission method on the calling terminal side or the called terminal side are all applicable to the embodiments of the terminal and can also achieve the corresponding same technical effects.
[0210] An embodiment of the present invention also provides a readable storage medium on which a program is stored. When the program is executed by a processor, the steps in the above-mentioned information transmission method on the calling terminal side are implemented; or, when the program is executed by a processor, the steps in the above-mentioned information transmission method on the called terminal side are implemented.
[0211] Among them, the implementation embodiments of the above-mentioned information transmission method on the calling terminal side or the called terminal side are all applicable to the embodiments of the readable storage medium, and can also achieve the corresponding same technical effects.
[0212] It should be noted that many functional components described in this specification are referred to as modules / sub-modules in order to more particularly emphasize the independence of their implementation methods.
[0213] In the embodiment of the present invention, module / submodule can be implemented with software so that it can be performed by various types of processors. For example, an executable code module of an identification can include one or more physical or logical blocks of computer instructions, for example, it can be constructed as an object, process or function. Nevertheless, the executable code of the identified module does not need to be physically located together, but can include different instructions stored in different positions, and when these instructions are logically combined together, it constitutes a module and realizes the specified purpose of this module.
[0214] In fact, executable code module can be a single instruction or many instructions, and can even be distributed on a plurality of different code segments, distributed among different programs, and distributed across a plurality of memory devices. Similarly, operating data can be identified in the module, and can be implemented and organized in the data structure of any appropriate type according to any appropriate form. The operating data can be collected as a single data set, or can be distributed in different locations (including on different storage devices), and can only be present on a system or network as an electronic signal at least in part.
[0215] When a module can be implemented by software, considering the level of existing hardware technology, a person skilled in the art can build a corresponding hardware circuit to implement the corresponding function of the module that can be implemented by software without considering the cost. The hardware circuit includes a conventional very large scale integration (VLSI) circuit or gate array and existing semiconductors such as logic chips, transistors, or other discrete components. The module can also be implemented by a programmable hardware device, such as a field programmable gate array, a programmable array logic, a programmable logic device, etc.
[0216] The above is a preferred embodiment of the present invention. It should be pointed out that for ordinary personnel in this technical field, several improvements and modifications can be made without departing from the principles of the present invention. These improvements and modifications should also be regarded as the scope of protection of the present invention.
Claims
1. An information transmission method, applied to a calling terminal, characterized in that: include: Obtaining an encrypted public key corresponding to the called terminal according to the blockchain certificate corresponding to the called terminal; Obtaining a calling message according to the encrypted public key and the shared key, and sending the message to the called terminal; The calling message includes a message authentication code; The obtaining of the calling message according to the encrypted public key and the shared key comprises: Obtaining the message authentication code according to the shared key, the message header, the timestamp, the random number, the calling identity, the called identity, the security policy identifier and the encrypted payload; The encrypted payload is a payload of the shared key encrypted using the encryption public key.
2. The information transmission method according to claim 1, characterized in that: The obtaining, according to the blockchain certificate corresponding to the called terminal, an encrypted public key corresponding to the called terminal, comprises: According to the identity identifier of the called terminal, obtaining a blockchain certificate corresponding to the called terminal from the blockchain; According to the blockchain certificate, an encrypted public key corresponding to the called terminal is obtained.
3. The information transmission method according to claim 1, characterized in that: The obtaining of the message authentication code according to the shared key, the message header, the timestamp, the random number, the calling identity, the called identity, the security policy identifier and the encrypted payload includes: Formula 1 is used to obtain the message authentication code according to the shared key, the message header, the timestamp, the random number, the caller identity, the called identity, the security policy identifier and the encrypted payload; Wherein, the formula 1 is: MAC=HASH(TGK,HDR║T║RAND║[IDi]║[IDr]║{SP}║E(PKr,TGK)); MAC represents the message authentication code; HASH represents the hash function; TGK represents the shared key; HDR represents the message header; T represents the timestamp; RAND represents the random number; [IDi] represents the calling identity; [IDr] represents the called identity; {SP} represents the security policy identifier; E(PKr,TGK) represents the encrypted payload; ║ represents the information concatenation character.
4. The information transmission method according to claim 3, characterized in that: The calling message also includes the message header, a timestamp, a random number, a calling identity, a called identity, a security policy identifier, and an encrypted payload.
5. A method for transmitting information, applied to a called terminal, characterized in that: include: Receiving a calling message sent by a calling terminal; Decrypting the encrypted payload in the calling message to obtain a shared key according to the private key of the called terminal; Verifying the message authentication code in the calling message according to the shared key; If the verification is successful, confirm that the shared key is the target shared key; The encrypted payload is a payload of the shared key encrypted using the encryption public key corresponding to the called terminal; The message authentication code is obtained according to the shared key, the message header, the timestamp, the random number, the calling party identity identifier, the called party identity identifier, the security policy identifier and the encrypted payload.
6. The information transmission method according to claim 5, characterized in that: The message authentication code is obtained by using formula 1 according to the shared key, the message header, the timestamp, the random number, the calling identity, the called identity, the security policy identifier and the encrypted payload; Wherein, the formula 1 is: MAC=HASH(TGK,HDR║T║RAND║[IDi]║[IDr]║{SP}║E(PKr,TGK)); MAC represents the message authentication code; HASH represents the hash function; TGK represents the shared key; HDR represents the message header; T represents the timestamp; RAND represents the random number; [IDi] represents the calling identity; [IDr] represents the called identity; {SP} represents the security policy identifier; E(PKr,TGK) represents the encrypted payload; ║ represents the information concatenation character.
7. The information transmission method according to claim 5 or 6, characterized in that: The calling message also includes the message header, a timestamp, a random number, a calling identity, a called identity, a security policy identifier, and an encrypted payload.
8. The information transmission method according to claim 5, characterized in that: Before receiving the calling message sent by the calling terminal, the method further includes: The encrypted public key and identity of the called terminal are written into the blockchain in the form of a blockchain certificate.
9. An information transmission device, applied to a calling terminal, characterized in that: include: A first processing module, configured to obtain an encryption public key corresponding to the called terminal according to a blockchain certificate corresponding to the called terminal; A second processing module, configured to obtain a calling message according to the encryption public key and the shared key, and send the message to the called terminal; The calling message includes a message authentication code; The second processing module comprises: A second processing submodule, configured to obtain the message authentication code according to the shared key, the message header, the timestamp, the random number, the caller identity, the called identity, the security policy identifier and the encrypted payload; The encrypted payload is a payload of the shared key encrypted using the encryption public key.
10. The information transmission device according to claim 9, characterized in that: The first processing module comprises: A first acquisition submodule, configured to acquire a blockchain certificate corresponding to the called terminal from the blockchain according to the identity identifier of the called terminal; The first processing submodule is used to obtain the encryption public key corresponding to the called terminal according to the blockchain certificate.
11. The information transmission device according to claim 9, characterized in that: The obtaining of the message authentication code according to the shared key, the message header, the timestamp, the random number, the calling identity, the called identity, the security policy identifier and the encrypted payload includes: Formula 1 is used to obtain the message authentication code according to the shared key, the message header, the timestamp, the random number, the caller identity, the called identity, the security policy identifier and the encrypted payload; Wherein, the formula 1 is: MAC=HASH(TGK,HDR║T║RAND║[IDi]║[IDr]║{SP}║E(PKr,TGK)); MAC represents the message authentication code; HASH represents the hash function; TGK represents the shared key; HDR represents the message header; T represents the timestamp; RAND represents the random number; [IDi] represents the calling identity; [IDr] represents the called identity; {SP} represents the security policy identifier; E(PKr,TGK) represents the encrypted payload; ║ represents the information concatenation character.
12. The information transmission device according to claim 11, characterized in that: The calling message also includes the message header, a timestamp, a random number, a calling identity, a called identity, a security policy identifier, and an encrypted payload.
13. An information transmission device, applied to a called terminal, characterized in that: include: A first receiving module, used for receiving a calling message sent by a calling terminal; A first decryption module, configured to decrypt the encrypted payload in the calling message to obtain a shared key according to the private key of the called terminal; A first verification module, used to verify the message authentication code in the calling message according to the shared key; A first confirmation module, used to confirm that the shared key is a target shared key when the verification passes; The encrypted payload is a payload of the shared key encrypted using the encryption public key corresponding to the called terminal; The message authentication code is obtained according to the shared key, the message header, the timestamp, the random number, the calling party identity identifier, the called party identity identifier, the security policy identifier and the encrypted payload.
14. The information transmission device according to claim 13, characterized in that: The message authentication code is obtained by using formula 1 according to the shared key, the message header, the timestamp, the random number, the calling identity, the called identity, the security policy identifier and the encrypted payload; Wherein, the formula 1 is: MAC=HASH(TGK,HDR║T║RAND║[IDi]║[IDr]║{SP}║E(PKr,TGK)); MAC represents the message authentication code; HASH represents the hash function; TGK represents the shared key; HDR represents the message header; T represents the timestamp; RAND represents the random number; [IDi] represents the calling identity; [IDr] represents the called identity; {SP} represents the security policy identifier; E(PKr,TGK) represents the encrypted payload; ║ represents the information concatenation character.
15. The information transmission device according to claim 13 or 14, characterized in that: The calling message also includes the message header, a timestamp, a random number, a calling identity, a called identity, a security policy identifier, and an encrypted payload.
16. The information transmission device according to claim 13, characterized in that: Also includes: The third processing module is used to write the encrypted public key and identity of the called terminal into the blockchain in the form of a blockchain certificate before receiving the calling message sent by the calling terminal.
17. A terminal, the terminal being a calling terminal, characterized in that: The terminal includes: a processor and a transceiver; The processor is used to obtain an encrypted public key corresponding to the called terminal according to the blockchain certificate corresponding to the called terminal; Obtaining a calling message according to the encrypted public key and the shared key, and sending the calling message to the called terminal through the transceiver; The calling message includes a message authentication code; The obtaining of the calling message according to the encrypted public key and the shared key comprises: Obtain the message authentication code according to the shared key, the message header, the timestamp, the random number, the caller identity, the called identity, the security policy identifier and the encrypted payload; The encrypted payload is a payload of the shared key encrypted using the encryption public key.
18. A terminal, the terminal being a called terminal, characterized in that: The terminal includes: a processor and a transceiver; The processor is used to receive a calling message sent by a calling terminal through the transceiver; Decrypting the encrypted payload in the calling message to obtain a shared key according to the private key of the called terminal; Verifying the message authentication code in the calling message according to the shared key; If the verification is successful, confirm that the shared key is the target shared key; The encrypted payload is a payload of the shared key encrypted using the encryption public key corresponding to the called terminal; The message authentication code is obtained according to the shared key, the message header, the timestamp, the random number, the calling party identity identifier, the called party identity identifier, the security policy identifier and the encrypted payload.
19. A terminal comprising a memory, a processor, and a program stored in the memory and executable on the processor; characterized in that: When the processor executes the program, the information transmission method according to any one of claims 1 to 4 is implemented; or, When the processor executes the program, the information transmission method according to any one of claims 5 to 8 is implemented.
20. A readable storage medium having a program stored thereon, characterized in that: When the program is executed by a processor, the steps of the information transmission method according to any one of claims 1 to 4 are implemented; or, When the program is executed by a processor, the steps of the information transmission method according to any one of claims 5 to 8 are implemented.
Citation Information
Patent Citations
Method, device, and system for establishing secure connection
US20170026174A1
System and method for authenticating a caller of a telephonic call
US20200220725A1