An authentication information management, identity authentication method, device, and storage medium
By managing the KGC information block and user identification abolishment list on the alliance chain, the caller identity is directly verified between the SIP clients, solving the trust problem and excessive KGC permissions in the existing STIR solution and IBS system, and efficient and reliable verification of caller identity in VoIP is achieved.
Patent Information
- Application Number
- CN202011359814.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-11-27
- Publication Date
- 2025-05-30
- Estimated Expiration
- 2040-11-27
AI Technical Summary
The existing STIR solution and IBS system have shortcomings such as single point failure, trust problems, multi-CA trust problems and excessive KGC permissions, which are difficult to effectively solve the authenticity verification of caller identity in VoIP.
By generating KGC information blocks, including public keys, algorithm parameters and signature verification algorithms, and writing them to the consortium chain, the cross-domain delivery of KGC information and the management of user identification abolishment lists are realized, and the caller identity is directly verified between SIP clients.
It solves the multi-CA trust problem in traditional PKI systems, realizes cross-domain delivery of KGC information and cross-domain query of user identification abolished list, and directly verifies the calling identity between SIP clients, improving the efficiency and reliability of calling identity verification in VoIP.
Smart Images

Figure CN114630000B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of wireless communication technologies, and particularly relates to an authentication information management, an identity authentication method, a device, and a storage medium. Background Art
[0002] The PSTN (Public Switched Telephone Network) is generally considered to be a closed and trusted network. Telephone companies rely on other operators to comply with rules to ensure the normal operation of the network. When providing the caller's telephone number, the originating switch can control which calling number (ID) is sent on a call-by-call basis. In the PSTN, for a caller to customize the caller ID, control of the SS7 switch is required. Therefore, there are few spoofing attacks on the caller identity in the PSTN.
[0003] However, with the recent rise of IP (Internet Protocol) access to the PSTN, inexpensive IP-based client protocols (such as SIP (Session Initiation Protocol)) are replacing expensive traditional telephone services (such as ISDN (Integrated Service Digital Network)). Inexpensive VoIP (Voice over IP) telephone services are now becoming the norm. The bearer of the PSTN is also evolving towards an IP-based direction. The following possible telephone call patterns currently exist: VoIP-to-VoIP call, VoIP-PSTN-VoIP call, PSTN-to-VoIP call, VoIP-to-PSTN call, PSTN-VoIP-PSTN call, PSTN-PSTN call.
[0004] The interconnection between VoIP and traditional telephone network systems has reduced the guarantee of the authenticity of the calling number. In the above telephone call patterns, except for the PSTN-PSTN call, an attacker can use new and inexpensive tools to spoof any calling party number for a false call, such as the tool Asterisk IP PBX. It can generate millions of calls, and each call can be a separate, random, or carefully selected calling number. Using a spoofed calling number, an attacker can launch the following attacks:
[0005] Voice spam: Telemarketing, surveys, debt collectors, etc. Although some "legitimate" telemarketers use legitimate numbers, many numbers are spoofed. Unless a telemarketer wants the consumer or victim to be able to call back using a real number, spoofed numbers are almost always used.
[0006] Fraud: IRS fraud, technical support fraud, other impersonation fraud. These calls almost always use spoofed phone numbers to impersonate legitimate organizations and deceive victims.
[0007] Phishing: Calls are designed to collect information from victims. This includes attempts to trick victims into saying "yes" or something that can be recorded for future use.
[0008] Voicemail attacks: Some voicemail systems use only the caller ID for authentication. If you call these voicemail systems using a spoofed phone number, you can gain immediate access.
[0009] TDoS (Telephony Denial of Service): A large number of calls intended to disrupt operations, usually to public contact centers such as 10086. By forging the numbers used for TDoS calls, it is much more difficult to distinguish them from legitimate calls. It can also be that the attacker forges the caller ID of a specific person being attacked and makes a large number of calls, causing the caller ID of the person being attacked to be entered into the blacklist, so that the calls of the person being attacked will be blocked when received.
[0010] For false calls, there are mainly the following two solutions:
[0011] Blacklists: Most carriers use blacklists to address the problem of false calls, that is, maintaining blacklists and blocking calls on that list from reaching. Carriers will update these lists based on their traffic monitoring capabilities and user reviews. The biggest challenge faced by the blacklist method is that they are not applicable to new calls not on the list, nor to calls using random spoofed call numbers. Spoofers know about blacklists, and if they really want to make calls, they either know which numbers are on the blacklist or can easily try out which numbers are on the blacklist. Additionally, since there is currently no effective way to ensure the authenticity of the caller ID in VoIP, numbers on the blacklist are not necessarily spoofed numbers.
[0012] STIR / SHAKEN (Secure Telephone Identity Revisited / Using toKENs for Secure Handling of Asserted Information): The industry, including the IETF (Internet Engineering Task Force), ATIS (Alliance for the Telecommunications Industry Solutions), the SIP Forum, and service providers, is working on the Secure Telephone Identity Revisited (STIR) IETF standard (RFC) and Signature-based Handling of Asserted Information using toKENs (SHAKEN). These efforts are attempts to provide calling number verification to target users. STIR has been around for some time, and SHAKEN is an implementation based on STIR in practice.
[0013] In the STIR solution, a security mechanism is defined to identify the identity of the SIP request initiator. Figure 1 For the STIR architecture schematic diagram, as Figure 1 shown, it is achieved by defining a SIP identity field (Identity) for transmitting the signature of the identity and the certificate download address of the signer.
[0014] The specific process is mainly as follows:
[0015] The SIP client A sends a SIP invitation message to the authentication server;
[0016] The authentication server signs the DATA (data), FROM (source), and TO (destination) fields in the SIP invitation message header. The FROM field contains the identity of the inviter (SIP URI (Uniform Resource Identifiers) or phone number), the TO field contains the identity of the invitee (SIP URI or phone number), and the DATA field contains the timestamp of the SIP invitation message. Signing the FROM field can ensure the authenticity of the inviter's identity, signing the TO field can ensure that the identity of the invitee has not been tampered with, and signing the DATA field can prevent replay attacks. The authentication server puts the signature and the address indicating the authentication server certificate into the newly defined identity field;
[0017] The authentication server sends the signed invitation message to the verification server;
[0018] The verification server connects to the PKI (PublicKey Infrastructure) according to the address of the authentication server certificate to obtain the authentication server certificate;
[0019] The verification server uses the public key in the authentication server certificate to verify the signature. After successful verification, the verification server sends a SIP invitation message to SIP client B.
[0020] The identity-based key system is introduced below.
[0021] In the traditional certificate-based key system, the verifiability propagation of user identity and public key is achieved through the binding of the public key and identity in the certificate and the signature of a trusted third-party CA (Certificate Authority). Although this system has been widely applied, it has some disadvantages: (1) Certificates need to be exchanged in security applications; (2) The validity of certificates needs to be verified during use; (3) The issuance and management of certificates are very complex.
[0022] To solve these problems of traditional PKI, the Israeli cryptographer Shamir proposed the identity-based cryptosystem, i.e., IBC (Identity-Based Cryptograph) in 1984. Its main idea is that instead of using certificates to transmit public keys, user identities such as names, IP addresses, email addresses, mobile phone numbers, etc., which represent the identity information of users, are used as public keys, and the private keys are calculated by the KGC (Key Generate Center) based on the system master key and user identity. Such systems no longer rely on certificates and certificate management systems such as PKI, thus greatly simplifying the complexity of managing the cryptosystem. At the same time as proposing the IBC concept, Shamir proposed an identity-based signature algorithm (IBS) using the RSA algorithm. However, an effective solution for the identity-based encryption algorithm (IBE: Identity Based Encryption) has not been found for a long time. It was not until 2001 that the secure IBE system was realized based on the pairing on elliptic curves proposed by D. Boneh and M. Franklin. Currently, the relatively efficient identity-based signature algorithm is the ECCSI scheme using elliptic curves.
[0023] The STIR scheme has at least one of the following deficiencies:
[0024] 1. Single point of failure: In a communication domain, once the authentication server fails, all outgoing calls within the domain cannot be made. Similarly, in a communication domain, once the verification server fails, all incoming calls within the domain cannot be made.
[0025] 2. Trust issue: The SIP client must trust the authentication server, the verification server, and the PKI. Direct trust between SIP clients cannot be achieved.
[0026] 3. Issues with Multiple CAs: In principle, one CA can issue certificates to all users globally. However, considering certificate management and different security level requirements, multiple CAs need to exist in practice, whether at the national level, industry level, or enterprise level. The existence of multiple CAs brings the issue of mutual trust between CAs.
[0027] The identity-based key system has at least one of the following disadvantages:
[0028] 1. Excessive KGC Privilege: Since the user's private key is generated by the KGC, the KGC can decrypt all encrypted information of users.
[0029] 2. Scope of IBE Algorithm Usage: It can only be used within a trusted scope (such as within an enterprise's internal system) because the KGC can decrypt all encrypted information.
[0030] 3. Complex Identity Management: The user's identity is relatively complex. Similar to the PKI system's certificate management, the revoked identities need to be managed.
[0031] 4. Cross-Domain Transfer of KGC System Parameters: The KGC system parameters can be securely transferred to users within its own management scope, but these parameters cannot be securely transferred to users outside its management scope.
[0032] 5. Limited Scope of IBS Algorithm Usage: In principle, the IBS algorithm can be used for all users because it only signs information rather than encrypts it. However, due to the inability of the KGC system parameters to be transferred across domains, the IBS algorithm can only be used within the scope managed by the KGC. Summary of the Invention
[0033] The present invention provides an authentication information management, authentication method, device, and storage medium to at least solve one of the disadvantages of the existing STIR solution and IBS system.
[0034] The present invention provides the following technical solutions:
[0035] An authentication information management method includes:
[0036] Generating a KGC information block, which contains a public key, algorithm parameters, and signature verification algorithm for the called user to authenticate the SIP invitation message header during a VoIP call. The calling user obtains the private key and signature algorithm corresponding to the algorithm parameters and signature verification algorithm for signing the SIP invitation message header when registering with the KGC;
[0037] Using a consensus mechanism to write the KGC information block into the consortium blockchain.
[0038] In implementation, the KGC information block further includes: the status of the KGC information block including two states of valid and invalid;
[0039] When writing the KGC information block into the consortium blockchain, mark the KGC information block as valid.
[0040] In implementation, it further includes:
[0041] Update the KGC information block that has been uploaded to the blockchain.
[0042] In implementation, updating the KGC information block that has been uploaded to the blockchain includes:
[0043] Generate a first KGC information block with the same content as the KGC information block that has been uploaded to the blockchain, and mark the first KGC information block as invalid;
[0044] Use the consensus mechanism to write the first KGC information block into the consortium blockchain;
[0045] Generate a second KGC information block with updated content, and mark the second KGC information block as valid;
[0046] Use the consensus mechanism to write the second KGC information block into the consortium blockchain.
[0047] In implementation, the KGC information block further includes:
[0048] The KGC information block identifier is used for the called user to query the KGC information block when authenticating the SIP invitation message header based on the KGC information block identifier during a VoIP call.
[0049] In implementation, it further includes:
[0050] Generate a user identifier revocation list to identify users who are not managed by the KGC.
[0051] In implementation, the KGC information block further includes:
[0052] The hash algorithm name is used to indicate the hash function used for the user identifiers in the user identifier revocation list.
[0053] In implementation, it further includes:
[0054] Use the consensus mechanism to write the user identifier revocation list into the consortium blockchain.
[0055] In implementation, the user identifier revocation list is used for the called user to perform a hash operation based on the calling username and serial number SN in the SIP invitation message header, and use the hash operation result to query the consortium blockchain.
[0056] An authentication method based on an authentication information management method includes:
[0057] The called user receives the SIP invitation message sent by the calling user, and the information in the message header includes the KGC name, and the information in the message header is signed by the calling user using the private key through the signature algorithm;
[0058] The called user obtains the KGC information block corresponding to the calling user from the consortium blockchain according to the KGC name;
[0059] After the called user obtains the public key, algorithm parameters, and signature verification algorithm from the KGC information block, the user signature is verified.
[0060] In implementation, the called user obtains the KGC information block corresponding to the calling user from the consortium blockchain according to the KGC name corresponding to the user identifier.
[0061] In implementation, before obtaining the KGC information block, it further includes:
[0062] Query the user identifier revocation list from the consortium blockchain according to the hash value of the user identifier and the SIP client identifier serial number SN. If the hash value exists in the user identifier revocation list, the connection is interrupted.
[0063] In implementation, the information in the message header further includes the calling user name and the serial number SN after being processed by the hash algorithm;
[0064] It further includes:
[0065] After obtaining the hash algorithm name from the KGC information block obtained from the consortium blockchain, perform a hash operation on the calling user name and the serial number SN, and use the hash operation result to query the consortium blockchain.
[0066] An authentication method based on an authentication information management method, including:
[0067] The calling user determines the called user for the VoIP call;
[0068] The calling user sends a SIP invitation message to the called user, and the information in the message header includes the KGC name, and the information in the message header is signed by the calling user using the private key through the signature algorithm.
[0069] In implementation, the information in the message header further includes the calling user name and the serial number SN after being processed by the hash algorithm.
[0070] An authentication information management system, including:
[0071] A processor, configured to read a program in a memory and execute the following processes:
[0072] Generate a KGC information block, which contains a public key, algorithm parameters, and a signature verification algorithm for the called user to authenticate the SIP invitation message header during a VoIP call. The calling user obtains the private key and signature algorithm corresponding to the algorithm parameters and signature verification algorithm for signing the SIP invitation message header during KGC registration;
[0073] Use a consensus mechanism to write the KGC information block into the consortium blockchain;
[0074] A transceiver for receiving and sending data under the control of a processor.
[0075] In implementation, the KGC information block further includes: the status of the KGC information block, which includes two states: valid and invalid;
[0076] When writing the KGC information block into the consortium blockchain, mark the KGC information block as valid.
[0077] In implementation, it further includes:
[0078] Update the KGC information block that has been written to the blockchain.
[0079] In implementation, updating the KGC information block that has been written to the blockchain includes:
[0080] Generate a first KGC information block with the same content as the KGC information block that has been written to the blockchain, and mark the first KGC information block as invalid;
[0081] Use a consensus mechanism to write the first KGC information block into the consortium blockchain;
[0082] Generate a second KGC information block with updated content, and mark the second KGC information block as valid;
[0083] Use a consensus mechanism to write the second KGC information block into the consortium blockchain.
[0084] In implementation, the KGC information block further includes:
[0085] A KGC information block identifier for the called user to query the KGC information block based on the KGC information block identifier when authenticating the SIP invitation message header during a VoIP call.
[0086] In implementation, it further includes:
[0087] Generate a user identification revocation list to identify users who are not managed by the KGC.
[0088] In implementation, the KGC information block further includes:
[0089] The name of the hash algorithm, which is used to indicate the hash function used for the user identities in the user identity revocation list.
[0090] In implementation, it further includes:
[0091] Using a consensus mechanism, write the user identity revocation list to the consortium blockchain.
[0092] In implementation, the user identity revocation list is used by the called user to perform a hash operation based on the calling username and sequence number SN in the SIP invitation message header, and use the hash operation result to query the consortium blockchain.
[0093] An authentication information management system, including:
[0094] A generation module, which is used to generate a KGC information block. The KGC information block contains a public key, algorithm parameters, and a signature verification algorithm used by the called user to authenticate the SIP invitation message header during a VoIP call. The calling user obtains a private key and a signature algorithm corresponding to the algorithm parameters and the signature verification algorithm for signing the SIP invitation message header when registering with the KGC;
[0095] An on-chain module, which is used to write the KGC information block to the consortium blockchain using a consensus mechanism.
[0096] In implementation, the KGC information block further includes: the status of the KGC information block, including two states: valid and invalid;
[0097] The on-chain module is further used to mark the KGC information block as valid when writing the KGC information block to the consortium blockchain.
[0098] In implementation, it further includes:
[0099] An update module, which is used to update the KGC information block that has been written to the chain.
[0100] In implementation, the update module is further used to include the following when updating the KGC information block that has been written to the chain:
[0101] Generate a first KGC information block with the same content as the KGC information block that has been written to the chain, and mark the first KGC information block as invalid;
[0102] Use a consensus mechanism to write the first KGC information block to the consortium blockchain;
[0103] Generate a second KGC information block with updated content, and mark the second KGC information block as valid;
[0104] Use a consensus mechanism to write the second KGC information block to the consortium blockchain.
[0105] In implementation, the generation module is further configured to generate a KGC information block identifier in the KGC information block for the called user to query the KGC information block when authenticating the SIP invitation message header during a VoIP call based on the KGC information block identifier.
[0106] In implementation, the generation module is further configured to generate a user identifier revocation list to identify that the user is not a user managed by the KGC.
[0107] In implementation, the generation module is further configured to generate a hash algorithm name in the KGC information block to indicate the hash function used for the user identifiers in the user identifier revocation list.
[0108] In implementation, the blockchain uploading module is further configured to use a consensus mechanism to write the user identifier revocation list into the consortium blockchain.
[0109] In implementation, the user identifier revocation list is for the called user to perform a hash operation based on the calling user name and the serial number SN in the SIP invitation message header, and use the hash operation result to query the consortium blockchain.
[0110] A user terminal based on an authentication information management method, comprising:
[0111] A processor, configured to read a program in a memory and execute the following processes:
[0112] Receive a SIP invitation message sent by a calling user, where the information in the message header includes a KGC name, and the information in the message header is signed by the calling user using a private key through a signature algorithm;
[0113] Obtain the KGC information block corresponding to the calling user from the consortium blockchain according to the KGC name;
[0114] After obtaining the public key, algorithm parameters, and signature verification algorithm from the KGC information block, verify the user signature;
[0115] A transceiver, configured to receive and send data under the control of the processor.
[0116] In implementation, obtain the KGC information block corresponding to the calling user from the consortium blockchain according to the KGC name corresponding to the user identifier.
[0117] In implementation, before obtaining the KGC information block, it further includes:
[0118] Query the user identifier revocation list from the consortium blockchain according to the hash value of the user identifier and the SIP client identifier serial number SN. If the hash value exists in the user identifier revocation list, interrupt the connection.
[0119] In implementation, the information in the message header further includes the calling username and the serial number SN processed by a hashing algorithm;
[0120] Further included:
[0121] After obtaining the hashing algorithm name from the KGC information block retrieved from the consortium blockchain, perform a hashing operation on the calling username and the serial number SN, and use the result of the hashing operation to query the consortium blockchain.
[0122] A user terminal based on an authentication information management method, comprising:
[0123] A called receiving module, configured to receive a SIP invitation message sent by a calling user, where the information in the message header includes the KGC name, and the information in the message header is signed by the calling user using a private key through a signature algorithm;
[0124] A called obtaining module, configured to obtain a KGC information block corresponding to the calling user from the consortium blockchain according to the KGC name;
[0125] A called verification module, configured to verify the user signature after obtaining the public key, algorithm parameters, and signature verification algorithm from the KGC information block.
[0126] In implementation, the called obtaining module is further configured to obtain a KGC information block corresponding to the calling user from the consortium blockchain according to the KGC name corresponding to the user identifier.
[0127] In implementation, before obtaining the KGC information block, the called obtaining module is further configured to query the user identifier revocation list from the consortium blockchain according to the hash value of the user identifier and the SIP client identifier serial number SN. If the hash value exists in the user identifier revocation list, interrupt the connection.
[0128] In implementation, the information in the message header further includes the calling username and the serial number SN processed by a hashing algorithm;
[0129] The called obtaining module is further configured to perform a hashing operation on the calling username and the serial number SN after obtaining the hashing algorithm name from the KGC information block retrieved from the consortium blockchain, and use the result of the hashing operation to query the consortium blockchain.
[0130] A user terminal based on an authentication information management method, comprising:
[0131] A processor, configured to read a program in a memory and execute the following processes:
[0132] Determine the called user for a VoIP call;
[0133] Send a SIP invitation message to the called user, where the information in the message header includes the KGC name, and the information in the message header is signed by the calling user using a private key through a signature algorithm;
[0134] A transceiver, configured to receive and send data under the control of a processor.
[0135] In implementation, the information in the message header further includes the calling user name and the serial number SN processed by a hash algorithm.
[0136] A user terminal based on an authentication information management method, including:
[0137] A calling determination module, configured to determine the called user for a VoIP call;
[0138] A calling sending module, configured to send a SIP invitation message to the called user, where the information in the message header includes the KGC name, and the information in the message header is signed by the calling user using a private key through a signature algorithm.
[0139] In implementation, the information in the message header further includes the calling user name and the serial number SN processed by a hash algorithm.
[0140] A computer-readable storage medium, which stores a computer program for executing the above authentication information management method and / or authentication method.
[0141] The beneficial effects of the present invention are as follows:
[0142] In the technical solution provided by the embodiment of the present invention, the authentication KGC information block is written into the consortium blockchain and provided to the called user for signature authentication of the calling user. By using the consortium blockchain, the KGC information can be transmitted across domains, so as to directly verify the identity of the calling user by the SIP client, and overcome the problem of multi-CA trust in the traditional PKI system.
[0143] Furthermore, the user identification revocation list is also written into the consortium blockchain. By using the consortium blockchain, the user identification revocation list can also be queried across domains.
[0144] The solution solves at least one of the disadvantages of the existing STIR solution and IBS system. Description of the Drawings
[0145] The drawings described herein are used to provide a further understanding of the present invention, and constitute a part of the present invention. The illustrative embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute an improper limitation to the present invention. In the drawings:
[0146] Figure 1 It is a schematic diagram of the STIR architecture in the background technology;
[0147] Figure 2 This is a schematic diagram of the implementation process of the authentication information management method in the embodiment of the present invention;
[0148] Figure 3 This is a schematic diagram of the KGC information block format in the embodiment of the present invention;
[0149] Figure 4 This is a schematic diagram of the implementation process of the authentication method on the called user side in the embodiment of the present invention;
[0150] Figure 5 This is a schematic diagram of the implementation process of the authentication method on the calling user side in the embodiment of the present invention;
[0151] Figure 6 This is a schematic diagram of the VOIP calling identity authentication process based on the consortium blockchain and IBS in the embodiment of the present invention;
[0152] Figure 7 This is a schematic diagram of the structure of the authentication information management system in the embodiment of the present invention;
[0153] Figure 8 This is a schematic diagram of the structure of user terminal 1 in the embodiment of the present invention;
[0154] Figure 9 This is a schematic diagram of the structure of user terminal 2 in the embodiment of the present invention. Detailed implementation manners
[0155] The technical solution provided in the embodiment of the present invention realizes the authentication of the identity of VOIP based on the consortium blockchain and IBS, so as to solve at least one of the problems of the STIR scheme and the identity-based key system.
[0156] The technical solution provided in the embodiment of the present invention will involve blockchain, consortium blockchain, IBS, VoIP, public key infrastructure (PKI), calling identity, SIP, etc. A brief description will be given below.
[0157] A consortium blockchain refers to a blockchain jointly managed by several institutions. Multiple preselected nodes are designated as accounting nodes within the consortium blockchain. The generation of each block is jointly determined by all the preselected nodes using a consensus mechanism. Other access nodes can read the information on the chain but do not interfere with the accounting process. The consortium blockchain uses distributed ledger and distributed consensus technologies to form a distributed database with immutable data. This also solves the problem of multi-party trust.
[0158] The basic idea of the technical solution provided in the embodiments of the present invention is to write the KGC information block (including algorithm parameters and algorithm name) and the user identity revocation list into the consortium blockchain through the consensus mechanism of the consortium blockchain, so as to solve the problem of cross-domain transfer of KGC parameters. In the solution, the authentication server and the verification server are not used to implement the authentication of the calling VOIP caller identity.
[0159] In the solution, the calling SIP client A signs the DATA field, FROM field, TO field, KGC name, SIP client identification serial number SN in the SIP invitation message header, and the hash algorithm name used for the user identity revocation list, using the IBS algorithm. After receiving the invitation, the invited SIP client B finds the KGC information block that issued the key to the SIP client A and the user identity revocation list from the consortium blockchain. After comparing whether the received user identity is in the user identity revocation list, if not, the signature of the SIP invitation message header is verified using the indicated algorithm parameters and algorithm.
[0160] The following will describe the specific implementation manners of the present invention with reference to the accompanying drawings.
[0161] Figure 2 As shown in the figure, it is a schematic flowchart of the authentication information management method, which may include:
[0162] Step 201, generate a KGC information block, where the KGC information block contains a public key, algorithm parameters, and a signature verification algorithm used by the called user to authenticate the SIP invitation message header during a VoIP call. The calling user obtains a private key and a signature algorithm used for signing the SIP invitation message header corresponding to the algorithm parameters and the signature verification algorithm when registering with the KGC;
[0163] Step 202, use the consensus mechanism to write the KGC information block into the consortium blockchain.
[0164] The following will be described with examples. The example of KGC information management in this proposal will mainly take telecommunications operators as an example, and its principles and processes can be adapted to the operation and management departments of other industries.
[0165] First, the content in the KGC information block will be described with an example.
[0166] The KGC information block may include one or a combination of all publicly available parameters of the KGC, and its management is as follows.
[0167] Figure 3It is a schematic diagram of the KGC information block format. As shown in the figure, the KGC information block can include algorithm parameters, algorithm names, as well as the generation time and status of the information block, etc. These messages can be publicly obtained, but cannot be tampered with. The format definition of the KGC information block is as follows:
[0168] KGC Name: Used to distinguish different KGCs. Each operator can have more than one KGC. Generally, each prefecture-level city's telecommunications network should set up a KGC for the issuance and management of local users' private keys (such as issuing users' private keys to users by storing them in the users' SIM (Subscriber Identity Module) cards). To facilitate querying the information blocks of KGCs, the KGCs of each operator can be named hierarchically according to regions, such as KGC.TANSHAN.HEBEI.CMCC.CN.
[0169] System Algorithm Parameters: Used to describe the parameters of the key algorithm used by the system, such as the elliptic curve parameters used when using the elliptic curve key algorithm.
[0170] KGC Public Key: The public key of the KGC system, which participates in verifying signatures.
[0171] Signature and Signature Verification Algorithm: Used to indicate the algorithm used for signing and the algorithm used for verifying signatures.
[0172] Hash Algorithm: Used to indicate the hash function for user identifiers in the user identifier revocation list.
[0173] Generation Time: The time when the information block is generated.
[0174] Status of KGC Information Block: Includes two statuses: valid and invalid.
[0175] The implementation of uploading the KGC information block to the blockchain is described below.
[0176] In specific implementation, the KGC information block can further include: the status of the KGC information block, which includes two statuses: valid and invalid;
[0177] When writing the KGC information block into the consortium blockchain, mark the KGC information block as valid.
[0178] The following is illustrated with an example.
[0179] The specific process of uploading the KGC information block to the blockchain can be as follows:
[0180] The operator management department generates the KGC information block and marks its status as valid.
[0181] One or several accounting nodes of the operator on the consortium blockchain, together with the accounting nodes of other operators, use the consensus mechanism to write the KGC information block into the consortium blockchain.
[0182] The accounting nodes can write all the KGC information blocks of the operator into the blockchain at one time, or write all the KGC information blocks into the blockchain separately and multiple times according to regions.
[0183] The following describes the implementation of the update of the KGC information block.
[0184] During the implementation, it can further include:
[0185] Update the KGC information block that has been written to the chain.
[0186] In the specific implementation, updating the KGC information block that has been written to the chain includes:
[0187] Generate a first KGC information block with the same content as the KGC information block that has been written to the chain, and mark the first KGC information block as invalid;
[0188] Use the consensus mechanism to write the first KGC information block into the consortium blockchain;
[0189] Generate a second KGC information block with updated content, and mark the second KGC information block as valid;
[0190] Use the consensus mechanism to write the second KGC information block into the consortium blockchain.
[0191] The following is illustrated with an example.
[0192] The information in the KGC information block may need to be updated, such as when the signature algorithm and signature verification algorithm have changed. Since the messages on the chain cannot be deleted, it is necessary to generate an information block that is the same as the original KGC information block, mark its status as invalid, and write it to the chain. Then generate a KGC information block with updated information content, mark its status as valid and write it to the chain, so as to complete the update of the KGC information block. Specifically, it can be as follows:
[0193] The operator management department generates an information block with the same content as the KGC information block that has been written to the chain (except for the status item and generation time, other items are the same), and marks its status as invalid.
[0194] One or several accounting nodes of the operator on the consortium blockchain, together with the accounting nodes of other operators, use the consensus mechanism to write the newly generated KGC information block into the consortium blockchain.
[0195] The operator management department generates a KGC information block with updated information content and marks its status as valid.
[0196] One or several accounting nodes of the operator on the alliance chain, together with the accounting nodes of other operators, use the consensus mechanism to write the KGC information block with updated information content into the alliance chain.
[0197] The query implementation of the KGC information block is described below.
[0198] In implementation, the KGC information block further includes:
[0199] The KGC information block identifier is used for the called user to query the KGC information block when authenticating the SIP invitation message header during a VoIP call according to the KGC information block identifier.
[0200] The following is an example to illustrate.
[0201] In order for the called party to obtain the KGC information that manages the caller, it first uses the KGC name field in the SIP message to initiate a query to the consortium blockchain.
[0202] The search starts from the latest block on the blockchain. If the KGC name to be queried is not found on the blockchain, the search is terminated and an error message is returned to the called party (the KGC information block does not exist). If it exists, the latest KGC information block obtained is checked. If its status is invalid, an error message is returned to the called party (the KGC information block exists but the status is invalid); if the status of the KGC information block is valid, the KGC information block that the called party wants to obtain is returned.
[0203] The following is an explanation of user identity management.
[0204] During implementation, the method may further include:
[0205] Generate a user ID revocation list to identify users who are not managed by KGC.
[0206] That is, the users in the list are no longer managed by KGC and are not legal users.
[0207] In a specific implementation, the KGC information block further includes:
[0208] The hash algorithm name is used to indicate the hash function used by the user identifiers in the user identifier revocation list.
[0209] In the specific implementation, it further includes:
[0210] Using a consensus mechanism, the user identification revocation list is written into the alliance chain.
[0211] In implementation, the user identification revocation list is used by the called user to perform a hash operation on the calling user name and the serial number SN in the SIP invitation message header, and then query the alliance chain using the hash operation result.
[0212] The following is an example for illustration.
[0213] The user identification ID can be composed of the user name Name and the serial number SN (serial number, Sequence Number), that is, ID = Name || SN. The user name can be the user's telephone number or a SIP URI. SN can be the sequence added by the KGC when generating the ID for the user, so as to facilitate the reallocation of the telephone number and the abolition of the telephone number. If the user identification ID is directly the user name Name, once the telephone number is abolished, it cannot be reallocated to other users.
[0214] Because the telephone number and SIP URI may be reallocated or abolished, the KGC needs to regularly publish a user identification abolition list to manage the user identification. The format of an available user identification abolition list can be as shown in the following table:
[0215]
[0216] KGC name: used to distinguish different KGCs.
[0217] Hash algorithm name: The user indicates the hash algorithm used for the user identification abolition list
[0218] Hash(ID1), Hash(ID2), Hash(ID3),...: are the hash values of the IDs to be abolished. Here, the user's ID is not directly used to protect the user's privacy.
[0219] Generation time: is the generation time of this user identification abolition list.
[0220] The user identification abolition list can be managed on another server at the same location as the KGC. The same location refers to the management location. In a management area, there will be a KGC server and a user identification abolition list server. Generally, users in another management area cannot access the servers in another area. In this way of management, users who do not belong to this KGC management are not easy to obtain the user identification abolition list. Therefore, the user identification abolition list can be issued on the consortium blockchain, specifically as follows:
[0221] 1) The KGC of the operator management department generates the user identification abolition list;
[0222] 2) The operator, together with the accounting nodes of other operators on one or several accounting nodes on the consortium blockchain, uses the consensus mechanism to write the user identification abolition list into the consortium blockchain.
[0223] When the called party queries whether the calling party is in the user identification revocation list, it performs a hash operation on the calling party's user name and serial number SN in the received SIP message, and uses the operation result to query the consortium blockchain. The consortium blockchain compares the hash operation result with the latest user identification revocation list. If there is an identical value, this user identification has been revoked, and an error message (this user identification has been revoked) is returned to the called party; if no identical value is found, this user identification is valid, and a correct message (this user identification is valid) is returned to the called party.
[0224] The implementation of VoIP calling party authentication based on the consortium blockchain and IBS is described below.
[0225] Figure 4 It is a schematic diagram of the implementation process of the authentication method on the called user side. As shown in the figure, it includes:
[0226] Step 401: The called user receives the SIP invitation message sent by the calling user. The information in the message header includes the KGC name, and the information in the message header is signed by the calling user using the private key through the signature algorithm.
[0227] Step 402: The called user obtains the KGC information block corresponding to the calling user from the consortium blockchain according to the KGC name.
[0228] Step 403: After obtaining the public key, algorithm parameters, and signature verification algorithm from the KGC information block, the called user verifies the user signature.
[0229] In the implementation, the called user obtains the KGC information block corresponding to the calling user from the consortium blockchain according to the KGC name corresponding to the user identification.
[0230] In the implementation, before obtaining the KGC information block, it further includes:
[0231] Query the user identification revocation list from the consortium blockchain according to the hash value of the user identification and the SIP client identification serial number SN. If the hash value exists in the user identification revocation list, the connection is interrupted.
[0232] In the implementation, the information in the message header further includes the calling user name and serial number SN processed by the hash algorithm;
[0233] It further includes:
[0234] After obtaining the hash algorithm name from the KGC information block obtained from the consortium blockchain, perform a hash operation on the calling user name and serial number SN, and use the hash operation result to query the consortium blockchain.
[0235] Figure 5 It is a schematic diagram of the implementation process of the authentication method on the calling user side. As shown in the figure, it includes:
[0236] Step 501: The calling user determines the called user for the VoIP call.
[0237] Step 502: The calling user sends a SIP invitation message to the called user. The information in the message header includes the KGC name, and the information in the message header is signed by the calling user using a private key through a signature algorithm.
[0238] In implementation, the information in the message header further includes the calling user name and serial number SN processed by a hash algorithm.
[0239] The following is illustrated with an example.
[0240] Figure 6 For the VoIP calling identity authentication process diagram based on the consortium blockchain and IBS, as shown in the figure, it can be:
[0241] Initial conditions:
[0242] (1) Each user registers with the KGC and obtains its own private key from the KGC.
[0243] (2) The KGC of each administrative domain writes its KGC information block and user identity revocation list into the consortium blockchain. As shown in the figure, it is assumed that SIP client A and SIP client B belong to KGC A and KGC B . KGC A and KGC B write the KGC information block and user identity revocation list into the consortium blockchain.
[0244] The specific VoIP calling verification can be as follows:
[0245] SIP client A uses its own private key to sign the DATA field, FROM field, TO field, KGC name, SIP client identification serial number SN, and the hash algorithm name used for the user identity revocation list in the SIP invitation message header based on the IBS algorithm, and puts the signature result into the identity field.
[0246] SIP client A sends the signed invitation to SIP client B.
[0247] After receiving the signed invitation, SIP client B uses a hash function to calculate SIP client's IDA (Name||SN), that is, Hash(IDA), where Name comes from the FROM field in the SIP invitation message header.
[0248] The SIP client B initiates a query to the consortium blockchain using Hash(IDA) and the KGC name, and obtains whether the SIP client A is on the user identity revocation list and the information block of the KGC. A If the SIP client A is on the user identity revocation list, the connection is interrupted; if not, the signature is verified using the algorithm parameters and algorithm indicated by the KGC A information block. If the verification is successful, it proves the authenticity of the identity of the SIP client A.
[0249] Based on the same inventive concept, embodiments of the present invention also provide an authentication information management system, a user terminal, and a computer-readable storage medium. Since the principles of these devices for solving problems are similar to those of the authentication information management method and the identity authentication method based on the authentication information management method, the implementation of these devices can refer to the implementation of the method, and the repeated parts will not be elaborated.
[0250] When implementing the technical solution provided by the embodiments of the present invention, it can be implemented in the following manner.
[0251] Figure 7 As shown in the figure, it is a schematic structural diagram of an authentication information management system. The system includes:
[0252] A processor 700, configured to read the program in the memory 720 and execute the following processes:
[0253] Generate a KGC information block, which contains a public key, algorithm parameters, and a signature verification algorithm for the called user to authenticate the SIP invitation message header during a VoIP call. The calling user obtains the private key and signature algorithm used for signing the SIP invitation message header corresponding to the algorithm parameters and signature verification algorithm when registering with the KGC;
[0254] Use a consensus mechanism to write the KGC information block into the consortium blockchain;
[0255] A transceiver 710, configured to receive and send data under the control of the processor 700.
[0256] In implementation, the KGC information block further includes: the status of the KGC information block including two states, valid and invalid;
[0257] When writing the KGC information block into the consortium blockchain, mark the KGC information block as valid.
[0258] In implementation, it further includes:
[0259] Update the KGC information block that has been uploaded to the blockchain.
[0260] In implementation, updating the KGC information block that has been uploaded to the blockchain includes:
[0261] Generate a first KGC information block with the same content as the uploaded KGC information block, and mark the first KGC information block as invalid;
[0262] Use a consensus mechanism to write the first KGC information block into the consortium blockchain;
[0263] Generate a second KGC information block with updated content, and mark the second KGC information block as valid;
[0264] Use a consensus mechanism to write the second KGC information block into the consortium blockchain.
[0265] In implementation, the KGC information block further includes:
[0266] A KGC information block identifier for the called user to query the KGC information block when authenticating the SIP invitation message header based on the KGC information block identifier during a VoIP call.
[0267] In implementation, it further includes:
[0268] Generate a user identifier revocation list to identify users who are not managed by the KGC.
[0269] In implementation, the KGC information block further includes:
[0270] The name of the hash algorithm, used to indicate the hash function used for the user identifiers in the user identifier revocation list.
[0271] In implementation, it further includes:
[0272] Use a consensus mechanism to write the user identifier revocation list into the consortium blockchain.
[0273] In implementation, the user identifier revocation list is for the called user to perform a hash operation based on the calling username and serial number SN in the SIP invitation message header, and use the hash operation result to query the consortium blockchain.
[0274] Among them, in Figure 7In this case, the bus architecture may include any number of interconnected buses and bridges, and various circuits represented by one or more processors represented by processor 700 and a memory represented by memory 720 are linked together. The bus architecture may also link together various other circuits such as peripheral devices, voltage regulators, and power management circuits, which are well known in the art and thus will not be further described herein. The bus interface provides an interface. The transceiver 710 may be multiple components, that is, including a transmitter and a receiver, and provides a unit for communicating with various other devices on a transmission medium. The processor 700 is responsible for managing the bus architecture and general processing, and the memory 720 may store data used by the processor 700 when performing operations.
[0275] An authentication information management system is further provided in an embodiment of the present invention, including:
[0276] A generation module is configured to generate a KGC information block, where the KGC information block contains a public key, algorithm parameters, and a signature verification algorithm used by a called user to authenticate a SIP invitation message header during a VoIP call. The calling user obtains a private key and a signature algorithm used to sign the SIP invitation message header corresponding to the algorithm parameters and the signature verification algorithm during KGC registration;
[0277] An on-chain module is configured to write the KGC information block into a consortium blockchain using a consensus mechanism.
[0278] In implementation, the KGC information block further includes: the status of the KGC information block including two states of valid and invalid;
[0279] The on-chain module is further configured to mark the KGC information block as valid when writing the KGC information block into the consortium blockchain.
[0280] In implementation, it further includes:
[0281] An update module is configured to update the KGC information block that has been on the chain.
[0282] In implementation, the update module is further configured to, when updating the KGC information block that has been on the chain, include:
[0283] Generate a first KGC information block with the same content as the KGC information block that has been on the chain, and mark the first KGC information block as invalid;
[0284] Use a consensus mechanism to write the first KGC information block into the consortium blockchain;
[0285] Generate a second KGC information block with updated content, and mark the second KGC information block as valid;
[0286] Use a consensus mechanism to write the second KGC information block to the consortium blockchain.
[0287] In implementation, the generation module is further configured to generate a KGC information block identifier in the KGC information block for the called user to query the KGC information block when authenticating the SIP invitation message header during a VoIP call based on the KGC information block identifier.
[0288] In implementation, the generation module is further configured to generate a user identifier revocation list to identify users who are not managed by the KGC.
[0289] In implementation, the generation module is further configured to generate a hash algorithm name in the KGC information block to indicate the hash function used for the user identifiers in the user identifier revocation list.
[0290] In implementation, the blockchain uploading module is further configured to use a consensus mechanism to write the user identifier revocation list to the consortium blockchain.
[0291] In implementation, the user identifier revocation list is for the called user to perform a hash operation based on the calling username and serial number SN in the SIP invitation message header and use the hash operation result to query the consortium blockchain.
[0292] For the convenience of description, each part of the above-described device is described separately as various modules or units according to functions. Of course, when implementing the present invention, the functions of the various modules or units can be implemented in the same or multiple software or hardware.
[0293] Figure 8 It is a schematic structural diagram of a user terminal. As shown in the figure, the user terminal includes:
[0294] A processor 800, configured to read a program in a memory 820 and execute the following processes:
[0295] Receive a SIP invitation message sent by a calling user, where the information in the message header includes a KGC name, and the information in the message header is signed by the calling user using a private key through a signature algorithm;
[0296] Obtain the KGC information block corresponding to the calling user from the consortium blockchain according to the KGC name;
[0297] After obtaining the public key, algorithm parameters, and signature verification algorithm from the KGC information block, verify the user signature;
[0298] A transceiver 810, configured to receive and send data under the control of the processor 800.
[0299] In implementation, obtain the KGC information block corresponding to the calling user from the consortium blockchain according to the KGC name corresponding to the user identifier.
[0300] During implementation, before obtaining the KGC information block, it further includes:
[0301] Query the user identity revocation list from the federated blockchain according to the hash value of the user identity and the SIP client identity serial number SN. If the hash value exists in the user identity revocation list, interrupt the connection.
[0302] During implementation, the information in the message header further includes the calling username and the serial number SN after being processed by the hash algorithm;
[0303] It further includes:
[0304] After obtaining the hash algorithm name from the KGC information block obtained from the federated blockchain, perform a hash operation on the calling username and the serial number SN, and use the hash operation result to query the federated blockchain.
[0305] Among them, in Figure 8 The bus architecture may include any number of interconnected buses and bridges, specifically, various circuits represented by one or more processors represented by the processor 800 and the memory represented by the memory 820 are linked together. The bus architecture can also link various other circuits such as peripheral devices, voltage regulators, and power management circuits, which are well known in the art. Therefore, they will not be further described herein. The bus interface provides an interface. The transceiver 810 may be multiple components, that is, including a transmitter and a receiver, and provides a unit for communicating with various other devices on the transmission medium. For different user devices, the user interface 830 may also be an interface capable of externally connecting and internally connecting required devices, and the connected devices include but are not limited to a keypad, a display, a speaker, a microphone, a joystick, etc.
[0306] The processor 800 is responsible for managing the bus architecture and general processing, and the memory 820 can store the data used by the processor 800 when performing operations.
[0307] An embodiment of the present invention also provides a user terminal based on an authentication information management method, including:
[0308] A called receiving module, configured to receive a SIP invitation message sent by a calling user, where the information in the message header includes the KGC name, and the information in the message header is signed by the calling user using a private key through a signature algorithm;
[0309] A called obtaining module, configured to obtain the KGC information block corresponding to the calling user from the federated blockchain according to the KGC name;
[0310] A called verification module, configured to verify the user signature after obtaining the public key, algorithm parameters, and signature verification algorithm from the KGC information block.
[0311] In implementation, the callee acquisition module is further configured to obtain the KGC information block corresponding to the calling user from the consortium blockchain according to the KGC name corresponding to the user identifier.
[0312] In implementation, before the callee acquisition module obtains the KGC information block, it queries the user identifier revocation list from the consortium blockchain according to the hash value of the user identifier and the SIP client identifier serial number SN. If the hash value exists in the user identifier revocation list, the connection is interrupted.
[0313] In implementation, the information in the message header further includes the calling user name and the serial number SN processed by the hash algorithm;
[0314] After the callee acquisition module obtains the hash algorithm name from the KGC information block obtained from the consortium blockchain, it performs a hash operation on the calling user name and the serial number SN, and uses the hash operation result to query the consortium blockchain.
[0315] For the convenience of description, each part of the above-described device is described as various modules or units according to functions. Of course, when implementing the present invention, the functions of the various modules or units can be implemented in the same or multiple software or hardware.
[0316] Figure 9 It is a schematic structural diagram of user terminal two. As shown in the figure, the user terminal includes:
[0317] A processor 900, configured to read a program in a memory 920 and execute the following processes:
[0318] Determine the callee user for a VoIP call;
[0319] Send a SIP invitation message to the callee user, where the information in the message header includes the KGC name, and the information in the message header is signed by the calling user using a private key through a signature algorithm;
[0320] A transceiver 910, configured to receive and send data under the control of the processor 900.
[0321] In implementation, the information in the message header further includes the calling user name and the serial number SN processed by the hash algorithm.
[0322] Among them, in Figure 9Among them, the bus architecture may include any number of interconnected buses and bridges, specifically various circuits represented by one or more processors represented by processor 900 and a memory represented by memory 920 are linked together. The bus architecture may also link together various other circuits such as peripheral devices, voltage regulators, and power management circuits, etc., which are well known in the art, so they will not be further described herein. The bus interface provides an interface. The transceiver 910 may be a plurality of components, that is, including a transmitter and a receiver, and provides a unit for communicating with various other devices on the transmission medium. For different user devices, the user interface 930 may also be an interface capable of externally connecting and internally connecting required devices, and the connected devices include but are not limited to a keypad, a display, a speaker, a microphone, a joystick, etc.
[0323] The processor 900 is responsible for managing the bus architecture and general processing, and the memory 920 may store data used by the processor 900 when performing operations.
[0324] An embodiment of the present invention also provides a user terminal based on an authentication information management method, including:
[0325] A calling determination module, configured to determine a called user for a VoIP call;
[0326] A calling sending module, configured to send a SIP invitation message to the called user, and the information in the message header includes the KGC name, and the information in the message header is signed by the calling user using a private key through a signature algorithm.
[0327] In implementation, the information in the message header further includes the calling user name and the serial number SN processed through a hashing algorithm.
[0328] For the convenience of description, each part of the above-mentioned device is described separately as various modules or units according to functions. Of course, when implementing the present invention, the functions of each module or unit may be implemented in the same or multiple software or hardware.
[0329] A computer-readable storage medium stores a computer program for executing the above-mentioned authentication information management method and / or authentication method.
[0330] Specifically, reference may be made to the implementation of the authentication information management method and / or authentication method.
[0331] In summary, in the technical solution provided by the embodiment of the present invention, a solution for ensuring the calling identity in a VoIP network based on a consortium chain and IBS is proposed, specifically providing a VoIP calling identity authentication process based on a consortium chain and IBS; the management of the KGC information block; and the management of the user identity revocation list.
[0332] The solution addresses the drawbacks of the STIR solution and the IBS system. By using a consortium blockchain, the KGC information can be transmitted across domains, and the user identity revocation list can be queried across domains. Thus, direct verification of the caller's identity by the SIP client is achieved, and the problem of multi-CA trust in the traditional PKI system is overcome.
[0333] Those skilled in the art should understand that the embodiments of the present invention can be provided as a method, a system, or a computer program product. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present invention can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage and optical storage, etc.) containing computer-usable program code.
[0334] The present invention is described with reference to the flowcharts and / or block diagrams of methods, apparatuses (systems), and computer program products according to embodiments of the present invention. It should be understood that each flow and / or block in the flowchart and / or block diagram, and the combination of flows and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing devices to generate a machine, such that the instructions executed by the processor of the computer or other programmable data processing devices generate means for implementing the functions specified in Figure 1 one or more of the flows Figure 1 or a plurality of flows and / or blocks
[0335] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a specific manner, such that the instructions stored in the computer-readable memory generate a manufactured article including instruction means that implement the functions specified in Figure 1 one or more of the flows Figure 1 or a plurality of flows and / or blocks
[0336] These computer program instructions can also be loaded onto a computer or other programmable data processing device, such that a series of operation steps are performed on the computer or other programmable device to generate a computer-implemented process. Thus, the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in Figure 1 one or more of the flows Figure 1 or a plurality of flows and / or blocks
[0337] Obviously, those skilled in the art can make various changes and modifications to the present invention without departing from the spirit and scope of the present invention. Thus, if these modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalent technologies, the present invention also intends to include these modifications and variations.
Claims
1. An authentication information management method, characterized in that, it includes: generating a key generation center (KGC) information block, which contains a public key, algorithm parameters, and a signature verification algorithm used by the called user to authenticate the session initiation protocol (SIP) invitation message header during an IP-based voice transmission (VoIP) call. The calling user obtains the private key and signature algorithm used to sign the SIP invitation message header corresponding to the algorithm parameters and signature verification algorithm when registering with the KGC; using a consensus mechanism to write the KGC information block into a consortium blockchain.
2. The method according to claim 1, characterized in that, the KGC information block further includes: the status of the KGC information block, including two states: valid and invalid; when writing the KGC information block into the consortium blockchain, mark the KGC information block as valid.
3. The method according to claim 2, characterized in that, it further includes: updating the KGC information block that has been written to the blockchain.
4. The method according to claim 3, characterized in that, updating the KGC information block that has been written to the blockchain includes: generating a first KGC information block with the same content as the KGC information block that has been written to the blockchain, and marking the first KGC information block as invalid; using a consensus mechanism to write the first KGC information block into the consortium blockchain; generating a second KGC information block with updated content, and marking the second KGC information block as valid; using a consensus mechanism to write the second KGC information block into the consortium blockchain.
5. The method according to claim 1, characterized in that, the KGC information block further includes: a KGC information block identifier for the called user to query the KGC information block when authenticating the SIP invitation message header during a VoIP call according to the KGC information block identifier.
6. The method according to claim 1, characterized in that, it further includes: generating a user identity revocation list to identify users who are not managed by the KGC.
7. The method according to claim 6, characterized in that, the KGC information block further includes: a hash algorithm name for indicating the hash function used for the user identities in the user identity revocation list.
8. The method according to claim 6, characterized in that, it further includes: using a consensus mechanism to write the user identity revocation list into the consortium blockchain.
9. The method according to claim 6, characterized in that, the user identity revocation list is used by the called user to perform a hash operation based on the calling user name and serial number (SN) in the SIP invitation message header, and use the hash operation result to query the consortium blockchain.
10. An authentication method based on any one of the methods according to claims 1 to 9, characterized in that, it includes: the called user receives a SIP invitation message sent by the calling user, and the information in the message header includes the KGC name, and the information in the message header is signed by the calling user using the private key through the signature algorithm; the called user obtains the KGC information block corresponding to the calling user from the consortium blockchain according to the KGC name; After the called user obtains the public key, algorithm parameters, and signature verification algorithm from the KGC information block, the user signature is verified.
11. The method according to claim 10, wherein, the called user obtains the KGC information block corresponding to the calling user from the consortium blockchain according to the KGC name corresponding to the user identifier.
12. The method according to claim 10, wherein, before obtaining the KGC information block, further comprising: querying the user identifier revocation list from the consortium blockchain according to the hash value of the user identifier and the SIP client identifier serial number SN, and if the hash value exists in the user identifier revocation list, the connection is interrupted.
13. The method according to claim 12, wherein, the information in the message header further comprises the calling username and the serial number SN after being processed by the hash algorithm; further comprising: after obtaining the hash algorithm name from the KGC information block obtained from the consortium blockchain, performing a hash operation on the calling username and the serial number SN, and using the hash operation result to query the consortium blockchain.
14. An authentication method based on any one of the methods according to claims 1 to 9, wherein, comprising: the calling user determines the called user for the VoIP call; the calling user sends a SIP invitation message to the called user, and the information in the message header includes the user identifier, and the information in the message header is signed by the calling user using the private key through the signature algorithm.
15. The method according to claim 14, wherein, the information in the message header further comprises the calling username and the serial number SN after being processed by the hash algorithm.
16. An authentication information management system, wherein, comprising: a processor, configured to read the program in the memory and execute the following processes: generating a KGC information block, where the KGC information block contains a public key, algorithm parameters, and a signature verification algorithm for the called user to authenticate the SIP invitation message header during the VoIP call, and the calling user obtains the private key and signature algorithm used for signing the SIP invitation message header corresponding to the algorithm parameters and signature verification algorithm during KGC registration; using a consensus mechanism to write the KGC information block into the consortium blockchain; a transceiver, configured to receive and send data under the control of the processor.
17. An authentication information management system, wherein, comprising: a generation module, configured to generate a KGC information block, where the KGC information block contains a public key, algorithm parameters, and a signature verification algorithm for the called user to authenticate the SIP invitation message header during the VoIP call, and the calling user obtains the private key and signature algorithm used for signing the SIP invitation message header corresponding to the algorithm parameters and signature verification algorithm during KGC registration; an on-chain module, configured to use a consensus mechanism to write the KGC information block into the consortium blockchain.
18. A user terminal based on any one of the methods according to claims 1 to 9, wherein, comprising: a processor, configured to read the program in the memory and execute the following processes: Receive the SIP invitation message sent by the calling user. The information in the message header includes the KGC name, and the information in the message header is signed by the calling user using the private key through the signature algorithm; Obtain the KGC information block corresponding to the calling user from the consortium blockchain according to the KGC name; After obtaining the public key, algorithm parameters, and signature verification algorithm from the KGC information block, verify the user signature; A transceiver for receiving and sending data under the control of a processor.
19. A user terminal based on the method according to any one of claims 1 to 9, characterized in that, comprising: A called receiving module for receiving the SIP invitation message sent by the calling user. The information in the message header includes the KGC name, and the information in the message header is signed by the calling user using the private key through the signature algorithm; A called obtaining module for obtaining the KGC information block corresponding to the calling user from the consortium blockchain according to the KGC name; A called verification module for verifying the user signature after obtaining the public key, algorithm parameters, and signature verification algorithm from the KGC information block.
20. A user terminal based on the method according to any one of claims 1 to 9, characterized in that, comprising: A processor for reading the program in the memory and performing the following processes: Determine the called user for the VoIP call; Send a SIP invitation message to the called user. The information in the message header includes the user identifier, and the information in the message header is signed by the calling user using the private key through the signature algorithm; A transceiver for receiving and sending data under the control of a processor.
21. A user terminal based on the method according to any one of claims 1 to 9, characterized in that, comprising: A calling determination module for determining the called user for the VoIP call; A calling sending module for sending a SIP invitation message to the called user. The information in the message header includes the user identifier, and the information in the message header is signed by the calling user using the private key through the signature algorithm.
22. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program for executing the method according to any one of claims 1 to 15.
Citation Information
Patent Citations
Anti-stealing link method and system using identity-based signature in video application
CN105657474A
An efficient authentication method for an alliance chain
CN109902480A