Disclosure of Invention
The application provides a data integrity verification method, a data integrity verification device and a storage medium.
In order to achieve the above purpose, the application adopts the following technical scheme:
in a first aspect, the disclosure provides a data integrity verification method, which includes receiving first indication information from a data receiving end, wherein the first indication information is used for indicating a data integrity verification server DIVS AS to inquire data integrity verification information corresponding to a first identifier, the first identifier is a storage identifier of the data integrity verification information of a data sending end in the DIVS AS, inquiring the data integrity verification information corresponding to the first identifier, and sending the data integrity verification information to the data receiving end.
With reference to the first aspect, in one possible implementation manner, the first identifier belongs to target data sent by the data sending end to the data receiving end, the target data includes data to be verified, a first digital signature and the first identifier, the first digital signature is a digital signature generated after the data to be verified is signed according to a first private key, the first private key is a private key in a first key pair generated by the data sending end, and the data integrity verification information includes a first public key, and the first public key is a public key in the first key pair generated by the data sending end.
With reference to the first aspect, in one possible implementation manner, the method further includes receiving second indication information from the data sending end, where the second indication information is used to carry first data, the first data includes a first public key, a signature algorithm set supported by the data sending end and first terminal information of the data sending end, acquiring subscription information of the data sending end according to the first terminal information in the second indication information, where the subscription information includes subscription validity information of the data sending end, determining data integrity verification information according to the first data and the subscription information, and storing the data integrity verification information in a blockchain.
With reference to the first aspect, in one possible implementation manner, the acquiring the subscription information of the data sending end according to the first terminal information includes sending a subscription information acquisition request to the capability open platform NEF, where the subscription information acquisition request includes the first terminal information, receiving the subscription information from the NEF, where the subscription information is the subscription information of the data sending end acquired in the user data management network element UDM according to the first terminal information and returned by the NEF.
With reference to the first aspect, in a possible implementation manner, the first data further includes a second digital signature, the second digital signature is a digital signature generated by signing the first public key and the first terminal information according to the first public key and the first signature algorithm, after receiving the second instruction information from the data sending end, the method further includes verifying the second digital signature according to the first public key and the first signature algorithm, acquiring the first terminal information in the first data if the verification of the second digital signature is passed, and generating a subscription information acquisition request according to the first terminal information.
With reference to the first aspect, in one possible implementation manner, determining the data integrity verification information according to the first data and the subscription information includes generating a first data set to be signed according to the first data and the subscription data, signing the first data set to be signed according to a second private key and a second signing algorithm, determining a third digital signature, attributing the second private key to a second key pair generated by the DIVS AS, and determining the data integrity verification information according to the first data set to be signed, a certificate corresponding to the second private key, and the third digital signature.
With reference to the first aspect, in a possible implementation manner, the method further includes sending a first transaction identifier to the data sending end, where the first transaction identifier is used to characterize storage information of the data integrity verification information in the blockchain.
With reference to the first aspect, in a possible implementation manner, the method further includes sending first address information to the data sending end, where the first address information is address information of a DIVS AS storing data integrity verification information corresponding to the first transaction identifier.
With reference to the first aspect, in one possible implementation manner, the method further includes receiving a subscription information update message from the NEF, where the subscription information update message includes second terminal information and subscription information updated by the data sending end, querying a blockchain for latest target data integrity verification information including the second terminal information, updating the latest target data integrity verification information according to the updated subscription information, and storing the updated latest target data integrity verification information in the blockchain.
With reference to the first aspect, in one possible implementation manner, updating the latest target data integrity verification information according to the updated subscription information includes performing a first operation on the latest target data integrity verification information to determine the updated latest target data integrity verification information, where the first operation includes generating a second data set to be signed according to the first data and the updated subscription information, signing the second data set to be signed according to a second private key and a second signing algorithm to determine a fourth data signature, and determining the updated latest target data integrity verification information according to the second data set to be signed, a certificate corresponding to the second private key, and the fourth digital signature.
With reference to the first aspect, in a possible implementation manner, the method further includes sending a second transaction identifier to the data sending end, where the second transaction identifier is used to characterize the stored information of the updated latest target data integrity verification information in the blockchain.
With reference to the first aspect, in a possible implementation manner, the method further includes sending second address information to the data sending end, where the second address information is address information of a DIVS AS storing updated latest target data integrity verification information.
The second aspect provides a data integrity verification method, which comprises the steps of receiving target data from a data sending end, wherein the target data comprises data to be verified, a first digital signature and a first identifier, the first digital signature is a digital signature obtained by carrying out signature determination on the data to be verified according to a first private key, the first identifier is a storage identifier of data integrity verification information of the data sending end in a DIVS AS, the first private key is a private key in a first key pair generated by the data sending end, sending first indication information to the DIVS AS, the first indication information is used for indicating the DIVS AS to inquire data integrity verification information corresponding to the first identifier, and receiving the data integrity verification information from the DIVS AS.
With reference to the second aspect, in one possible implementation manner, the data integrity verification information includes a first public key, the first public key is a public key in a first key pair generated by a data sending end, the method further includes verifying the first digital signature according to the first public key in the data integrity verification information, and determining the data integrity of the data to be verified according to a verification result of the first digital signature.
With reference to the second aspect, in one possible implementation manner, the target data further includes a timestamp of the first digital signature, the data integrity verification information further includes a subscription validity period of the data sending end, the method further includes determining whether the timestamp of the first digital signature is within the subscription validity period of the data sending end, and if so, determining that the data integrity verification of the data to be verified is successful.
With reference to the second aspect, in one possible implementation manner, the data integrity verification information specifically includes a first data set to be signed, a certificate corresponding to a second private key, and a third digital signature, where the first data set to be signed includes first data and subscription information, the first data includes a first public key, a signature algorithm set supported by a data transmitting end and first terminal information of the data transmitting end, the subscription information includes subscription validity information of the data transmitting end and second terminal information of the data transmitting end, the second private key is a private key in a second key pair generated by the DIVS AS, the third digital signature is a digital signature generated after signing the first data set to be signed according to the second private key and the second signature algorithm, and after receiving the data integrity verification information from the DIVS AS, the method further includes verifying the third digital signature according to the certificate corresponding to the second private key and the second signature algorithm, and obtaining the first public signature in the first data set to be signed if the third digital signature verification is successful.
The third aspect provides a data integrity verification method, which comprises the steps of generating target data, wherein the target data comprises data to be verified, a first digital signature and a first identifier, the first digital signature is a digital signature generated after the data to be verified is signed according to a first private key, the first private key is a private key in a first key pair generated by a data sending end, the first identifier is a storage identifier of data integrity verification information of the data sending end in a DIVS AS, and the target data is sent to a data receiving end, so that the data receiving end determines the data integrity of the data to be verified according to the first identifier and the first digital signature.
With reference to the third aspect, in a possible implementation manner, the method further includes generating first data, the first data includes a first public key, a signature algorithm set supported by a data sending end and first terminal information of the data sending end, generating second indication information including the first data, and sending the second indication information to the DIVS AS.
With reference to the third aspect, in one possible implementation manner, generating the first data includes generating a first key pair, where the first key pair includes a first public key and a first private key, obtaining first terminal information of the data transmitting end, signing the first public key and the first terminal information according to the first private key and a first signature algorithm, determining a second digital signature, and generating the first data according to the first public key, the first terminal information, a signature algorithm set supported by the data transmitting end, and the second digital signature.
With reference to the third aspect, in one possible implementation manner, the method further includes receiving at least one of a first transaction identifier and a second transaction identifier from the DIVS AS, where the first transaction identifier is a transaction identifier generated according to storage information of the data integrity verification information in the blockchain, the second transaction identifier is a transaction identifier generated according to storage information of the updated data integrity verification information in the blockchain, and generating the first identifier according to a latest transaction identifier in the first transaction identifier and the second transaction identifier.
With reference to the third aspect, in a possible implementation manner, the target data further includes a verification access address, where the verification access address is used for representing an address of a DIVS AS storing data integrity verification information of the data transmitting end, the method further includes receiving at least one of first address information and second address information from the DIVS AS, where the first address information is address information of the DIVS AS storing data integrity verification information corresponding to the first transaction identifier, the second address information is address information of the DIVS AS storing updated data integrity verification information corresponding to the second transaction identifier, and generating the verification access address according to an latest address in the first address information and the second address information.
With reference to the third aspect, in one possible implementation manner, the first terminal information includes at least one of an embedded universal integrated circuit card identifier euiccid/integrated circuit card identifier ICCID, an international mobile equipment identifier IMEI, and a mobile subscriber number MSISDN of the data transmitting end.
The fourth aspect provides a data integrity verification device, which comprises a communication unit and a processing unit, wherein the communication unit is used for receiving first indication information from a data receiving end, the first indication information is used for indicating a data integrity verification server DIVS AS to inquire data integrity verification information corresponding to a first identifier, the first identifier is a storage identifier of the data integrity verification information of a data sending end in the DIVS AS, the processing unit is used for inquiring the data integrity verification information corresponding to the first identifier, and the processing unit is also used for indicating the communication unit to send the data integrity verification information to the data receiving end.
With reference to the fourth aspect, in one possible implementation manner, the first identifier belongs to target data sent by the data sending end to the data receiving end, the target data includes data to be verified, a first digital signature and the first identifier, the first digital signature is a digital signature generated after the data to be verified is signed according to a first private key, the first private key is a private key in a first key pair generated by the data sending end, and the data integrity verification information includes a first public key, and the first public key is a public key in the first key pair generated by the data sending end.
With reference to the fourth aspect, in one possible implementation manner, the device further includes a communication unit, configured to receive second indication information from the data sending end, the second indication information is used for carrying first data, the first data includes a first public key, the signature algorithm set supported by the data sending end and first terminal information of the data sending end, the communication unit is further configured to obtain subscription information of the data sending end according to the first terminal information in the second indication information, the subscription information includes subscription validity information of the data sending end, the processing unit is further configured to determine data integrity verification information according to the first data and the subscription information, and the processing unit is further configured to store the data integrity verification information in a blockchain.
With reference to the fourth aspect, in one possible implementation manner, the communication unit is specifically configured to send a subscription information acquisition request to the capability open platform NEF, where the subscription information acquisition request includes first terminal information, receive subscription information from the NEF, and the subscription information is subscription information of a data sending end acquired in the user data management network element UDM according to the first terminal information and returned by the NEF.
With reference to the fourth aspect, in one possible implementation manner, the first data further includes a second digital signature, the second digital signature is a digital signature generated by signing the first public key and the first terminal information according to the first public key and the first signature algorithm, the processing unit is further configured to verify the second digital signature according to the first public key and the first signature algorithm, acquire the first terminal information in the first data if the second digital signature is verified, and generate a subscription information acquisition request according to the first terminal information.
With reference to the fourth aspect, in a possible implementation manner, the processing unit is specifically configured to generate a first data set to be signed according to the first data and the subscription data, sign the first data set to be signed according to a second private key and a second signing algorithm, determine a third digital signature, attribute the second private key to a second key pair generated by the DIVS AS, and determine data integrity verification information according to the first data set to be signed, a certificate corresponding to the second private key, and the third digital signature.
With reference to the fourth aspect, in a possible implementation manner, the communication unit is further configured to send a first transaction identifier to the data sending end, where the first transaction identifier is used to characterize storage information of the data integrity verification information in the blockchain.
With reference to the fourth aspect, in one possible implementation manner, the communication unit is further configured to send first address information to the data sending end, where the first address information is address information of a DIVS AS storing data integrity verification information corresponding to the first transaction identifier.
With reference to the fourth aspect, in one possible implementation manner, the communication unit is further configured to receive a subscription information update message from the NEF, where the subscription information update message includes second terminal information and subscription information updated by the data sending end, the processing unit is further configured to query a blockchain for latest target data integrity verification information including the second terminal information, the processing unit is further configured to update the latest target data integrity verification information according to the updated subscription information, and the processing unit is further configured to store the updated latest target data integrity verification information in the blockchain.
With reference to the fourth aspect, in a possible implementation manner, the processing unit is further configured to perform a first operation on the latest target data integrity verification information to determine updated latest target data integrity verification information, where the first operation includes generating a second data set to be signed according to the first data and updated subscription information, signing the second data set to be signed according to a second private key and a second signing algorithm to determine a fourth data signature, and determining updated latest target data integrity verification information according to the second data set to be signed, a certificate corresponding to the second private key, and the fourth digital signature.
With reference to the fourth aspect, in a possible implementation manner, the communication unit is further configured to send a second transaction identifier to the data sending end, where the second transaction identifier is used to characterize the stored information of the updated latest target data integrity verification information in the blockchain.
With reference to the fourth aspect, in a possible implementation manner, the communication unit is further configured to send second address information to the data sending end, where the second address information is address information of a DIVS AS that stores updated latest target data integrity verification information.
The fifth aspect provides a data integrity verification device, which comprises a communication unit and a processing unit, wherein the communication unit is used for receiving target data from a data sending end, the target data comprises data to be verified, a first digital signature and a first identifier, the first digital signature is a digital signature which is obtained by carrying out signature determination on the data to be verified according to a first private key, the first identifier is a storage identifier of data integrity verification information of the data sending end in a DIVS AS, the first private key is a private key of a first key pair generated by the data sending end, the processing unit is used for indicating the communication unit to send first indication information to the DIVS AS, the first indication information is used for indicating the DIVS AS to inquire data integrity verification information corresponding to the first identifier, and the processing unit is also used for indicating the communication unit to receive the data integrity verification information from the DIAS.
With reference to the fifth aspect, in one possible implementation manner, the data integrity verification information includes a first public key, the first public key is a public key in a first key pair generated by a data sending end, and the processing unit is further configured to verify the first digital signature according to the first public key in the data integrity verification information, and determine the data integrity of the data to be verified according to a verification result of the first digital signature.
With reference to the fifth aspect, in one possible implementation manner, the target data further includes a timestamp of the first digital signature, the data integrity verification information further includes a subscription validity period of the data sending end, and the processing unit is further configured to determine whether the timestamp of the first digital signature is within the subscription validity period of the data sending end, and if so, determine that the data integrity verification of the data to be verified is successful.
With reference to the fifth aspect, in one possible implementation manner, the data integrity verification information specifically includes a first data set to be signed, a certificate corresponding to a second private key, and a third digital signature, where the first data set to be signed includes first data and signing information, the first data includes a first public key, a signing algorithm set supported by a data transmitting end and first terminal information of the data transmitting end, the signing information includes signing validity information of the data transmitting end and second terminal information of the data transmitting end, the second private key is a private key in a second key pair generated by the DIVS AS, the third digital signature is a digital signature generated after signing the first data set to be signed according to the second private key and the second signing algorithm, and the processing unit is further configured to verify the third digital signature according to the certificate corresponding to the second private key and the second signing algorithm, and obtain the first public key in the first data set to be signed if verification of the third digital signature is successful.
The sixth aspect provides a data integrity verification device, which comprises a communication unit and a processing unit, wherein the processing unit is used for generating target data, the target data comprises data to be verified, a first digital signature and a first identifier, the first digital signature is a digital signature generated after the data to be verified is signed according to a first private key, the first private key is a private key in a first key pair generated by a data sending end, the first identifier is a storage identifier of data integrity verification information of the data sending end in a DIVS AS, and the communication unit is used for sending the target data to a data receiving end so that the data receiving end can determine the data integrity of the data to be verified according to the first identifier and the first digital signature.
With reference to the sixth aspect, in one possible implementation manner, the processing unit is further configured to generate first data, the first data includes a first public key, a signature algorithm set supported by a data sending end and first terminal information of the data sending end, the processing unit is further configured to generate second indication information including the first data, and the communication unit is further configured to send the second indication information to the DIVS AS.
With reference to the sixth aspect, in one possible implementation manner, the processing unit is specifically configured to generate a first key pair, where the first key pair includes a first public key and a first private key, obtain first terminal information of the data sending end, sign the first public key and the first terminal information according to the first private key and a first signature algorithm, determine a second digital signature, and generate first data according to the first public key, the first terminal information, a signature algorithm set supported by the data sending end, and the second digital signature.
With reference to the sixth aspect, in a possible implementation manner, the communication unit is further configured to receive at least one of a first transaction identifier and a second transaction identifier from the DIVS AS, where the first transaction identifier is a transaction identifier generated according to storage information of the data integrity verification information in the blockchain, the second transaction identifier is a transaction identifier generated according to storage information of the updated data integrity verification information in the blockchain, and the processing unit is further configured to generate the first identifier according to an latest transaction identifier in the first transaction identifier and the second transaction identifier.
With reference to the sixth aspect, in one possible implementation manner, the target data further includes a verification access address, where the verification access address is used for characterizing an address of a DIVS AS storing data integrity verification information of the data transmitting end, the communication unit is further used for receiving at least one of first address information and second address information from the DIVS AS, the first address information is address information of the DIVS AS storing data integrity verification information corresponding to the first transaction identifier, the second address information is address information of the DIVS AS storing updated data integrity verification information corresponding to the second transaction identifier, and the processing unit is further used for generating the verification access address according to an latest address in the first address information and the second address information.
With reference to the sixth aspect, in one possible implementation manner, the first terminal information includes at least one of an embedded universal integrated circuit card identifier euiccid/integrated circuit card identifier ICCID, an international mobile equipment identifier IMEI, and a mobile subscriber number MSISDN of the data transmitting end.
In a seventh aspect, the present application provides a data integrity verification apparatus comprising a processor and a communication interface, the communication interface and the processor being coupled, the processor being operable to execute a computer program or instructions to implement a data integrity verification method as described in any one of the possible implementations of the first aspect and the first aspect.
In an eighth aspect, the present application provides a data integrity verification apparatus comprising a processor and a communications interface, the communications interface and the processor being coupled, the processor being operable to execute a computer program or instructions to implement a data integrity verification method as described in any one of the possible implementations of the second aspect and the second aspect.
In a ninth aspect, the present application provides a data integrity verification apparatus comprising a processor and a communication interface, the communication interface and the processor being coupled, the processor being operable to execute a computer program or instructions to implement a data integrity verification method as described in any one of the possible implementations of the third aspect and the third aspect.
In a tenth aspect, the present application provides a computer readable storage medium having instructions stored therein which, when executed by a processor of a data integrity verification apparatus, enable the data integrity verification apparatus to perform a data integrity verification method as described in any one of the possible implementations of the first aspect and the first aspect.
In an eleventh aspect, the present application provides a computer readable storage medium having instructions stored therein which, when executed by a processor of a data integrity verification apparatus, enable the data integrity verification apparatus to perform a data integrity verification method as described in any one of the possible implementations of the second aspect and the second aspect.
In a twelfth aspect, the application provides a computer readable storage medium having instructions stored therein which, when executed by a processor of a data integrity verification apparatus, enable the data integrity verification apparatus to perform a data integrity verification method as described in any one of the possible implementations of the third aspect and the third aspect.
In the present application, the names of the above-described data integrity verification apparatuses do not constitute limitations on the devices or function modules themselves, and in actual implementations, these devices or function modules may appear under other names. Insofar as the function of each device or function module is similar to the present application, it falls within the scope of the claimed application and the equivalent thereof.
These and other aspects of the invention will be more readily apparent from the following description.
The technical scheme provided by the application has the advantages that after the data is acquired by the data transmitting end in the embodiment of the disclosure, the data is digitally signed by adopting the first private key, and then the digital signature and the data to be verified are uniformly transmitted to the data receiving end. After the data receiving end receives the data, acquiring data integrity verification information of the data transmitting end from the DIVS AS, and verifying the first digital signature by using a first public key in the data integrity verification information, wherein if the verification is successful, the first digital signature is a signature performed according to a first private key, and the first private key is a key inside the data transmitting end and cannot be stolen by the outside. Therefore, under the condition that the first digital signature verification is successful, the digital signature obtained after the first digital signature is signed by the data sending end to be verified is described, so that the data to be verified is the original data sent by the data sending end. Based on the method, the data receiving end can determine whether the received data is the original data sent by the data sending end according to the method, so that the data integrity of the data to be verified is effectively verified.
In the present application, the names of the above-described data integrity verification apparatuses do not constitute limitations on the devices or function modules themselves, and in actual implementations, these devices or function modules may appear under other names. Insofar as the function of each device or function module is similar to the present application, it falls within the scope of the claimed application and the equivalent thereof.
Detailed Description
The data integrity verification system provided by the embodiment of the application is described in detail below with reference to the accompanying drawings.
The term "and/or" is merely an association relationship describing the associated object, and means that three relationships may exist, for example, a and/or B may mean that a exists alone, while a and B exist together, and B exists alone.
The terms "first" and "second" and the like in the description and in the drawings are used for distinguishing between different objects or between different processes of the same object and not for describing a particular order of objects.
Furthermore, references to the terms "comprising" and "having" and any variations thereof in the description of the present application are intended to cover a non-exclusive inclusion. For example, a process, method, system, article, or apparatus that comprises a list of steps or elements is not limited to only those listed but may optionally include other steps or elements not listed or inherent to such process, method, article, or apparatus.
It should be noted that, in the embodiments of the present application, words such as "exemplary" or "such as" are used to mean serving as an example, instance, or illustration. Any embodiment or design described herein as "exemplary" or "e.g." in an embodiment should not be taken as preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary" or "such as" is intended to present related concepts in a concrete fashion.
In the following, for ease of understanding, terms related to the embodiments of the present application will be explained first.
1. Machine type terminal
Machine type terminals are commonly used to collect generated data and are widely used in the vertical industry. The use of machine-type terminals has effectively facilitated the digital transformation of vertical industries such as agriculture, logistics, transportation, medical, environmental, supply chain finance, smart city, etc.
With the development of 5G networks, machine type terminals are increasingly used, and after a mass of machine type terminals collect data, the data are sent to service provider terminals, and the service provider terminals collect, aggregate and analyze the collected data. In addition, the service provider terminal may forward data collected by the machine type terminal to an upstream data consumer terminal. The data consumer terminal may obtain valuable data within the industry by analyzing the data. For example, in the agricultural industry, the data consumption terminal may determine environmental data (e.g., temperature and wind speed) for agricultural insurance based on data collected by the machine type terminal. In the second-hand vehicle industry, the data consumption terminal may determine driving behavior data for the second-hand transaction vehicle based on data collected by the machine type terminal. In the traffic industry, data consuming terminals may determine traffic data for AI algorithm training based on data collected by machine type terminals.
The current machine type terminal directly reports the collected data to the service provider terminal after collecting the data, and the data is not directly provided to the data consumption terminal. The data consuming terminal can only acquire the acquired data from the service provider terminal, but cannot acquire the data directly from the machine type terminal. However, after the data consumption terminal receives the collected data, it cannot be determined whether the data provided by the service provider terminal is tampered, and it is difficult to verify whether the received collected data is the original data collected by the machine type terminal.
In many industries, such as agricultural insurance and distributed artificial intelligence applications, the requirements for data integrity (data authenticity) are very high, and if data consuming terminals in these industries perform data analysis and decision making based on tampered data, unnecessary economic losses may be caused, and security attacks are suffered. Therefore, for the data consumption terminal, how to perform data integrity verification on the acquired data, so as to ensure that the acquired data is original data acquired by the source terminal and the data is not tampered, and the problem to be solved is currently urgent.
2. Data integrity
In the embodiments of the present disclosure, the data integrity is mainly used for verifying, by a data receiving end (for example, the above-described data consuming terminal), whether the received data is the original data sent by the data sending end (for example, the above-described machine type terminal). Preventing data from being tampered in the middle forwarding process. Based on the above description in machine type terminals, there is a need for a current data consuming terminal to verify the data integrity of the data provided by the service provider terminal.
In the related art, the data integrity may be verified by using a symmetric key+one-way Hash function or an asymmetric key Hash manner. However, these schemes have at least the following problems.
The data integrity verification mode of the symmetric key and the unidirectional Hash function can only verify the data integrity of the data in the point-to-point transmission process, but cannot verify whether the data is the original data provided by the source end. This may result in the service provider terminal tampering with the data before sending the data to the data consuming terminal, which cannot verify whether the data has been tampered with.
In the process of adopting the data integrity verification mode of the asymmetric key hash, the data integrity is verified by adopting the mode of private key signature and public key signature verification (for example, ITU-T X.509, IETF RFC 4880). But in this way it is also not possible to verify whether the data is the original data provided by the source. For example, after the machine type terminal collects data, the collected data is forwarded by the service provider terminal to the data consuming terminal. The data consumption terminal can only take the received data as the original data for subsequent processing, or restrict the service provider to provide the original data in a declaration and contract mode. However, these methods cannot avoid that the service provider terminal provides the original data, and it is difficult to ensure the data integrity.
3. Embedded subscriber identity module (Embedded subscriber identity module, eSIM) and trusted execution environment (trusted execution environment, TEE) technology.
The eSIM and TEE may store confidential data and perform trusted operations at the machine-type terminal, such as generating a public-private key pair in the eSIM of the machine-type terminal or issuing public key endorsement information to the eSIM by way of OTA.
In the machine type terminal, when the machine type terminal needs to transmit data, the machine type terminal may call a predetermined interface through the OS to sign the collected data using a private key stored in the TEE or eSIM, and then transmit the signed data to the service provider terminal.
4. 5G open capability architecture
As shown in fig. 1, a system architecture diagram of a 5G capability open architecture according to an embodiment of the present application is shown. In the 5G capability open architecture shown in fig. 1, there are included an application server (application server, AS), a Network element function (Network element function, NEF), a unified data management function (unified DATA MANAGEMENT, UDM), a policy control function (Policy Control Function, PCF), an access and mobility management function (ACCESS AND mobility management function, AMF), a session management function (session management function, SMF), a Network repository function (Network repository function, NRF), a Network Entity.
The AS is an application server of an operator or a third party application server, and is used for providing network service capability of the operator or service capability of a third party application. The AS accesses the API interface of the NEF of the operator 5G network through Nnef and communicates with the NEF through the API interface.
The NEF is a capability open network element of an operator, configured to open network capabilities of the operator to a third party service, open data (such AS location information) in a core network to an AS, or transmit service requirements (such AS QoS policies) of the AS to a network element in a 5G core network.
The NEF is connected to the UDM via NUDM interface, to the PCF via Npcf interface, to the AMF via Namf, to the SMF via Nsmf, to the NRF via Nnrf, and to the Network Entity via 3GPP interface.
It should be noted that in the embodiments of the present disclosure, a long-term data integrity verification service may be provided for data collected by a machine type terminal through an AS function of an operator.
5. Block chain
Blockchains are a data storage technology commonly maintained by multiple parties, storing data in a blockchain structure, and securing transmission and access using cryptography. The block chain technology can achieve the effects of consistent storage, incapability of tampering and incapability of repudiation of data.
The blockchain generally comprises a plurality of blockchain nodes, the nodes respectively store the account books in the blockchain, and the P2P technology is used for synchronizing the account books, so that the consistency of the stored account books of each node is ensured. When the data in the account book needs to be updated, a plurality of nodes adopt a consensus mechanism to confirm the record written into the account book. Therefore, the data written into the ledger can be ensured to be written under the condition that a plurality of nodes jointly confirm, and the data which is not confirmed by the plurality of nodes jointly cannot be written, so that the data written into the blockchain ledger cannot be tampered and the data is traceable.
Blockchains are classified into three types of blockchains, namely public chains, alliance chains and private chains, according to the types of users that are allowed to access. Wherein the public chain allows any terminal to access and use ledger accounting. The federation chain allows access to and billing using only specific individual terminals or specific enterprise terminals. The private chain allows only the enterprise internal nodes to maintain and use the blockchain.
Fig. 2 is a schematic block chain structure according to an embodiment of the disclosure. As shown in FIG. 2, the blockchain includes a plurality of blockchain link points Peer, with each blockchain node being interconnected. The blockchain node is provided with an intelligent contract (only the blockchain node 3 is taken as an example in the figure, and other nodes are similar to the blockchain node 3).
Each blockchain node includes a blockchain ledger (Ledger) therein for storing data, for example, in the form of a hash.
It should be noted that in embodiments of the present disclosure, the data integrity verification information may be stored via blockchain techniques. Such as public key information, mobile station international subscriber number (Mobile Station International Subscriber Directory Number, MSISDN), integrated circuit card identification code (INTEGRATE CIRCUIT CARD IDENTITY, ICCID), device sequence information, hash algorithm, time stamp, etc., and provide a data integrity verification server for the terminal through the open capabilities of the 5G network. Therefore, the data integrity verification of the whole data life cycle when the vertical industry collects data through the machine type terminal is ensured, the trust cost generated in the data circulation and reapplication process is reduced, and the digital transformation and the data application of the vertical industry are promoted.
The technical terms related to the embodiment of the present application are described in detail above.
As can be seen from the above description of machine type terminals and data integrity verification, in the current data transmission process (especially in the process of forwarding data by a third party), there is a need for verifying the data integrity of the received data at the data receiving end.
For example, in a vertical industry application scenario, a machine type terminal sends collected data to a service provider terminal, which forwards the data to a data consuming terminal. In this scenario, it is difficult for the data consuming terminal to verify whether the service provider terminal tampers with the data collected by the machine type terminal. Resulting in the inability of the data consuming terminal to determine the data integrity of the received data.
In order to solve the problems in the related art, the embodiment of the application provides a data integrity verification system, wherein data integrity verification information of a data transmitting end is stored in a data integrity verification server DIVS AS, after a data receiving end receives data to be verified and a first digital signature of the data to be verified, the data integrity verification information of the data transmitting end is obtained from the DIVS AS, the first digital signature is verified according to the data integrity verification information, and under the condition that the first digital signature verification is passed, the data is represented AS original data acquired by a data acquisition terminal, and further the data integrity verification of the data is represented AS successful.
Fig. 3 is a system architecture diagram of a data integrity verification system according to an embodiment of the present application in a vertical industry scenario.
AS shown in fig. 3, the data integrity verification system includes a machine type terminal 301, a data integrity verification server (DATA INTEGRITY verification service application server, DIVS AS) 302, a data consumption terminal 303, a capability open function network element 304, a user data storage network element 305, and other data integrity verification service network elements 306.
The machine type terminal 301 is internally provided with an APP for implementing different application functions. The machine type terminal has an operating system OS built therein. The machine-type terminal has an eSIM installed therein, which may enable the machine-type terminal to transmit data over an operator network (e.g., a 5G network). An applet may also be installed in the machine type terminal eSIM, which applet is used to generate a key pair (e.g., the first public key and the first private key described above). The first private key is always stored in the applet, so that the first private key is prevented from being revealed, and the first public key can be sent to other terminals, so that the other terminals decrypt the data encrypted by the first private key according to the first public key. Optionally, the machine type terminal may further integrate a 5G communication module and an embedded universal integrated circuit card identifier (Embedded Universal Integrated Circuit Card, eUICC) with the eUICC, so that the machine type terminal has 5G communication capability.
The data integrity verification server 302 is configured to store data integrity verification information of the data transmitting end and provide the data integrity verification information for the data receiving end. Alternatively, the data integrity verification server may be a third party entity deployed in an operator network. The data integrity verification server 302 may specifically include a signaling processing module 3021, an access control module 3022, a data management module 3023, and a blockchain ledger 3024.
The data consuming terminal 303 is a third party terminal for collecting, using, and streaming data collected by the machine type terminal. For example, it may be a personal terminal or a terminal in an enterprise.
The capability open function network element 304 may be illustratively a capability open function network element in a 5G core network, such as a NEF, for enabling communication between third party applications (e.g., a data integrity verification server) and an operator core network.
The user data storage network element 305 is configured to store data of a user terminal, for example, in the embodiment of the present disclosure, the user data storage network element 305 is configured to store subscription information of a machine type terminal.
The other data integrity verification service network elements 306 are data integrity verification servers deployed in different core networks of the same operator or data integrity verification servers of other operators, and the blockchain ledger functions of the data integrity verification servers form a blockchain network.
In the above, a system architecture diagram of a data integrity verification system in a vertical industry scenario is described in detail.
The data integrity verification method according to the embodiment of the present application will be described in detail below.
Fig. 4 is a data integrity verification method according to an embodiment of the present application, as shown in fig. 4, the method includes the following steps:
S401, the data transmitting end generates target data.
The target data comprises data to be verified, a first digital signature and a first identifier, wherein the first digital signature is a digital signature generated after the data to be verified is signed according to a first private key, the first private key is a private key in a first key pair generated by a data sending end, and the first identifier is a storage identifier of data integrity verification information of the data sending end in a DIVS AS.
In a specific implementation manner, a data transmitting end collects data, and the collected data is used as data to be verified. The data sending end signs the data to be verified by adopting a first private key, and generates a first digital signature. The data transmitting end obtains a first identifier for representing the storage of the data integrity verification information of the data transmitting end in the DIVS AS.
The data transmitting end takes the data to be verified, the first digital signature and the first identifier as target data.
In a possible implementation, the target data further includes a timestamp of the first digital signature. The timestamp of the first digital signature is used to represent the time of generation of the first digital signature.
S402, the data transmitting end transmits target data to the data receiving end. Correspondingly, the data receiving end receives the target data sent by the data sending end.
In one possible implementation, the data transmitting end may send the target data to the data receiving end through the operator network.
Or the data transmitting terminal transmits the target data to the data forwarding device, and the data forwarding device transmits the target data to the data receiving terminal.
For example, in a vertical industry scenario, a data transmitting end (machine type terminal) transmits target data to a service provider terminal, which forwards the data to a data receiving end (data consuming terminal).
It should be noted that the data transmitting end may also transmit the target data to the data receiving end in other manners, which is not limited in the present application.
S403, the data receiving end sends first indication information to the DIVS AS. Correspondingly, the DIVS AS receives the first indication information from the data receiving end.
The first indication information is used for indicating the DIVS AS to inquire data integrity verification information corresponding to the first identifier, the data integrity verification information comprises a first public key, and the first public key is a public key in a first key pair generated by a data transmitting end.
In a specific implementation manner, after receiving target data, a data receiving end extracts a first identifier in the target data and generates first indication information according to the first identifier. The data receiving end sends first indication information to the DIVS AS.
In one possible implementation manner, the data integrity verification information may further include a subscription validity period of the data sending end.
S404, the DIVS AS inquires data integrity verification information corresponding to the first identifier.
In one possible implementation, the DIVS AS includes a blockchain ledger, where the blockchain ledger is used to store data integrity verification information of at least one data sender.
After the DIVS AS receives the first identifier, inquiring data integrity verification information corresponding to the first identifier in the blockchain ledger according to the first identifier.
S405, the DIVS AS sends data integrity verification information to the data receiving end. Accordingly, the data receiver receives the data integrity verification information from the DIVS AS.
It should be noted that, after receiving the data integrity verification information from the DIVS AS, the data receiving end may verify the received data from the data transmitting end through the data integrity verification information, thereby completing the data integrity verification of the data to be verified.
The scheme at least has the advantages that after the data sending end collects the data, the data sending end adopts the first private key to carry out digital signature on the data, and then the digital signature and the data to be verified are sent to the data receiving end in a unified mode. After the data receiving end receives the data, acquiring data integrity verification information of the data transmitting end from the DIVS AS, and verifying the first digital signature by using a first public key in the data integrity verification information, wherein if the verification is successful, the first digital signature is a signature performed according to a first private key, and the first private key is a key inside the data transmitting end and is not easy to be stolen by the outside. Therefore, under the condition that the first digital signature verification is successful, the digital signature obtained after the first digital signature is signed by the data sending end to be verified is described, so that the data to be verified is the original data sent by the data sending end. Based on the method, the data receiving end can determine whether the received data is the original data sent by the data sending end according to the method, so that the data integrity of the data to be verified is effectively verified.
In a possible implementation manner, as shown in fig. 4, after S405 above, the method further includes:
S406, the data receiving end verifies the first digital signature according to the first public key in the data integrity verification information.
In a possible implementation manner, when the data transmitting end generates the target data, the data to be verified (or hash of the data to be verified) is signed according to the first private key and the first signature algorithm, and a first digital signature is generated.
The data receiving end analyzes the first digital signature according to the first public key and the first signature algorithm, and determines whether the analyzed data is consistent with the data to be verified (or the hash of the data to be verified). If so, the first digital signature is determined to be valid. If the digital signature is inconsistent, the first digital signature is determined to be invalid.
S407, the data receiving end determines the data integrity of the data to be verified according to the verification result of the first digital signature.
And under the condition that the first digital signature is valid, the data receiving end determines that the data integrity verification of the data to be verified is successful. In the event that the first digital signature is invalid, a data integrity verification failure of the verification data is determined.
In one possible implementation manner, when the target data further comprises a timestamp of the first digital signature, the data integrity verification information further comprises a subscription validity period of the data transmitting end;
the data receiving end can also verify whether the time stamp of the first digital signature is in the signing validity period of the data sending end, and if so, the data integrity verification of the data to be verified is successful. If not, determining that the data integrity verification of the data to be verified fails.
That is, the data receiving end may jointly verify the data integrity of the data to be verified according to the first digital signature and the timestamp of the first digital signature.
In this way, the data receiving end can specifically judge whether the terminal is in the signing validity period or not when collecting data according to whether the time stamp of the first digital signature is in the signing validity period, and determine that the data integrity verification of the data transmitting end collected in the signing validity period is successful, and the data integrity verification of the data collected outside the signing validity period is failed.
In one possible implementation, before the data receiving end performs verification according to the data integrity verification information provided by the DIVS AS, the DIVS AS may interact with the data sending end to obtain the data integrity verification information of the data sending end, and store the data integrity verification information in the blockchain.
AS shown in fig. 5, the method of DIVS AS storing data integrity verification information in a blockchain includes the steps of:
S501, the data transmitting end generates first data.
The first data comprises a first public key, a signature algorithm set supported by the data transmitting end and first terminal information of the data transmitting end.
In a specific implementation manner, a data transmitting end obtains a first public key, a signature algorithm set supported by the data transmitting end and first terminal information of the data transmitting end. The data transmitting end takes the first public key, the signature algorithm set supported by the data transmitting end and the first terminal information as first data.
Optionally, the first data further includes a first signature algorithm and a second digital signature. At this time, the step can be specifically realized in that the data transmitting end generates a first key pair, and the first key pair comprises a first public key and a first private key.
The data transmitting terminal acquires first terminal information of the data transmitting terminal.
The data transmitting terminal signs the first public key and the first terminal information according to the first private key and the first signature algorithm, and determines a second digital signature.
The data transmitting end generates first data according to the first public key, the first signature algorithm and the second digital signature.
Thus, the data transmitting end generates the first public key and the first private key, the data transmitting end stores the first private key and transmits the first public key to the DIVS AS. In addition, the data transmitting end signs the metadata by adopting the first private key and the first signature algorithm to generate a second digital signature, so that the DIVS AS can verify the second digital signature according to the first public key and the first signature algorithm, and the accuracy of the received first data is ensured.
S502, the data transmitting end generates second indication information comprising the first data.
Specifically, the data transmitting end generates second instruction information, loads the first data in the second instruction information, and transmits the second instruction information to the DIVS AS.
S503, the data transmitting end transmits second indication information to the DIVS AS. Correspondingly, the DIVS AS receives the second indication information from the data transmitting end.
S504, the DIVS AS acquires subscription information of the data transmitting end according to the first terminal information in the second indication information.
The subscription information comprises subscription validity information of the data transmitting end.
In a specific implementation manner, AS shown in fig. 6, the process of obtaining subscription information of the data sending end by the DIVS AS may be specifically implemented by the following steps:
S601, the DIVS AS sends a subscription information acquisition request to the NEF. Accordingly, the NEF receives the subscription information acquisition request from the DIVS AS.
The subscription information acquisition request includes first terminal information.
In a specific implementation manner, the first data further comprises a second digital signature, the second digital signature is a digital signature generated by signing the first public key and the first terminal information according to the first public key and a first signature algorithm, and the steps can be specifically implemented as follows:
the second digital signature is verified according to the first public key and the first signature algorithm.
And under the condition that the second digital signature passes verification, acquiring first terminal information in the first data.
And generating a subscription information acquisition request according to the first terminal information.
Thus, based on the signature, the DIVS AS signs the data integrity verification information again, so that after the data integrity verification information is received by the data receiving end, the signature is checked according to the signature information of the blockchain, and the data integrity verification information is ensured to be information from the DIVS AS.
S602, the NEF forwards the subscription information acquisition request to the UDM.
S603, the UDM transmits subscription information to the NEF.
The subscription information comprises subscription information of the data sending end.
In a specific implementation manner, after receiving the subscription information acquisition request, the UDM queries subscription information corresponding to the first terminal information according to the first terminal information in the subscription information acquisition request. The UDM generates subscription information according to the subscription information corresponding to the first terminal information, and sends the subscription information to the NEF.
S604, the NEF sends subscription information to the DIVS AS. Accordingly, the DIVS AS receives subscription information from the NEF.
S605, after the DIVS AS receives the subscription information, the subscription information of the data transmitting end is obtained from the subscription information.
According to the above S601-S606.Divs AS can obtain subscription information of the data transmitting end through NEF and UDM.
S505, the DIVS AS determines data integrity verification information according to the first data and the subscription information.
In a possible implementation, this step may be implemented in particular in that the DIVS AS generates the first data set to be signed from the first data and the subscription data. The DIVS AS signs the first data set to be signed according to a second private key and a second signature algorithm to determine a third digital signature, wherein the second private key belongs to a second key pair generated by the DIVS AS. The DIVS AS determines data integrity verification information according to the first data set to be signed, the certificate corresponding to the second private key and the third digital signature.
Optionally, the subscription information further includes a subscription validity period, and at this time, the DIVS AS first verifies whether the subscription of the data sending end is in the subscription validity period.
If the subscription of the data sending end is in the subscription validity period, the DIVS AS determines data integrity verification information according to the first data and the subscription information.
If the subscription of the data sending end is not in the subscription validity period, the DIVS AS returns a registration failure message to the data sending end.
S506, the DIVS AS stores the data integrity verification information in the blockchain.
Based on this, the data sender may store data integrity verification information in the blockchain by interacting with the DIVS AS before performing the data integrity verification. Thus, when the data receiving end requests the data integrity verification information, the data transmitting end can acquire the data integrity verification information from the blockchain so as to avoid the data integrity verification information from being tampered.
In addition, before storing the data integrity verification information in the blockchain, the DIVS AS acquires subscription information of the data transmitting end from the operator network, compares whether terminal information of the data transmitting end is consistent with terminal information in the subscription information, and stores the data integrity verification information in the blockchain under the condition of consistency. The data stored in the block chain by the DIVS AS is ensured to be the data integrity verification information of the data transmitting end.
S507, the DIVS AS generates a first transaction identifier according to the storage information of the data integrity verification information in the blockchain.
The first transaction identifier is used for determining the first identifier by the data transmitting end.
S508, the DIVS AS sends the first transaction identification to the data sending end. Correspondingly, the data sender receives the first transaction identification from the DIVS AS.
Optionally, the DIVS AS may further send address information of the DIVS AS to the data sending end, so that the data sending end and the data receiving end acquire data integrity verification information from the DIVS AS according to the address information. The method specifically comprises the following steps:
s509, generating first address information by the DIVS AS, wherein the first address information is the address information of the DIVS AS for storing the data integrity verification information corresponding to the first transaction identifier;
S510, the DIVS AS sends first address information to the data sending end. Accordingly, the data sender receives the first address information from the DIVS AS.
Optionally, after the data transmitting end receives the first transaction identifier, the data transmitting end may generate the first identifier according to the first transaction identifier.
After the data transmitting end receives the first address information, the data transmitting end can further add the first address information to the target data, so that the data receiving end can determine a DIVS AS for storing the data integrity verification information of the data transmitting end according to the first address information.
It should be noted that, in the foregoing description, the DIVS AS generates and sends the first transaction identifier and the first address information respectively AS an example, in an actual process, the DIVS AS may send the first transaction identifier and the first address information to the data sending end in the same message after generating the first transaction identifier and the first address information respectively.
Based on the data, the DIVS AS sends the transaction identifier and the DIVS AS entry address to the data sending end, so that the data sending end can generate the first identifier according to the transaction identifier and carry the DIVS AS entry address in the data, and the data receiving end can acquire the data integrity verification information from the DIVS AS according to the DIVS AS entry address.
In a possible implementation manner, after the subscription information of the data sending end is updated, the embodiment of the application further provides a method for updating the data integrity verification information of the data sending end according to the updated subscription information.
As shown in fig. 7, the method includes:
s701, triggering a UDM subscription contract change event by eSIM subscription update of a data transmitting end.
Specifically, if the subscription information needs to be updated by the installation terminal of a certain eSIM, the process of updating the subscription information by the eSIM is triggered. The UDM listens for contract change events and instructs the NEF to update subscription information for the eSIM.
S702, the UDM sends an eSIM subscription update message to the NEF.
S703, the NEF sends a subscription information update message to the DIVS AS. Accordingly, the DIVS AS receives the subscription information update message from the NEF.
The subscription information updating message comprises second terminal information and subscription information updated by the data sending end.
S704, the DIVS AS inquires the latest target data integrity verification information including the second terminal information in the blockchain.
It should be noted that, in the embodiment of the present application, the latest target data integrity verification information refers to the data integrity verification information updated last time. For example, the DIVS AS may determine the latest updated data integrity verification information according to the time tag of the data integrity verification information, and take the latest updated data integrity verification information AS the latest target data integrity verification information.
And S705, the DIVS AS updates the latest target data integrity verification information according to the updated subscription information.
In a specific implementation manner, a first operation is executed on each piece of target data integrity verification information, and each piece of updated target data integrity verification information is determined;
generating a second data set to be signed according to the first data and the updated subscription information;
signing the second data set to be signed according to the second private key and a second signing algorithm, and determining a fourth data signature;
And determining updated target data integrity verification information according to the second data set to be signed, the certificate corresponding to the second private key and the fourth digital signature.
S706, the DIVS AS stores the updated latest target data integrity verification information in the blockchain.
Based on this, after the subscription information of the data transmitting end is changed, the UDM can timely notify the DIVS AS to update the subscription information. After that, the DIVS AS stores the subscription information updated by the data transmitting end in the blockchain, so that the data receiving end can verify the data integrity of the data to be verified according to the updated subscription information.
Optionally, after S706, the method further includes:
S707, the DIVS AS determines updated latest target data integrity verification information.
S708, the DIVS AS generates a second transaction identifier corresponding to the updated latest target data integrity verification information according to the updated latest target data integrity verification information stored in the blockchain, wherein the second transaction identifier is used for determining the first identifier.
S709, the DIVS AS sends the second transaction identifier to the data sender.
S710, the DIVS AS generates second address information, wherein the second address information is the address information of the DIVS AS storing updated data integrity verification information corresponding to the second transaction identifier.
S711, the DIVS AS sends the second address information to the data sender.
Based on the above, the DIVS AS sends the updated transaction identifier (the second transaction identifier) and the DIVS AS entry address to the data sending end, so that the data sending end can generate the first identifier according to the updated transaction identifier, and the DIVS AS entry address is carried in the data, so that the data receiving end can acquire updated data integrity verification information from the DIVS AS according to the DIVS AS entry address.
In a possible implementation, after S707-S711, the method further includes the steps of:
S712, the data transmitting end generates a first identifier according to the latest transaction identifier in the first transaction identifier and the second transaction identifier.
Optionally, the second transaction identifier is a transaction identifier generated from stored information of the last updated data integrity verification information in the blockchain. At this time, the data transmitting end generates the first identifier according to the second transaction identifier.
S713, the data transmitting end generates a verification access address according to the latest address information in the first address information and the second address information.
Optionally, the second address information is address information of a DIVS AS storing the latest updated data integrity verification information corresponding to the second transaction identifier. At this time, the data transmitting end generates a verification access address according to the second address information.
Based on the above, the data transmitting end can generate the first identifier according to the updated transaction identifier, so that the data receiving end obtains the latest data integrity verification information according to the first identifier. Similarly, the data transmitting end generates the verification access address according to the address of the DIVS AS corresponding to the updated transaction identifier, so that the data receiving end can quickly and accurately determine the DIVS AS for acquiring the data integrity verification information.
As shown in fig. 8, the method provided by the embodiment of the application further includes that the data sending end registers in the account opening platform to determine subscription information.
S801, the data transmitting end user transmits third indication information to the account opening platform. Correspondingly, the account opening platform receives third indication information from the data sending end.
The third indication information is used for indicating the equipment information of the registration data transmitting end of the account opening platform.
S802, the account opening platform generates first terminal information according to the third indication information.
S803, the account opening platform sends first terminal information to the data sending end. Correspondingly, the data transmitting end receives the first terminal information from the account opening platform.
Based on the above, the data transmitting end completes signing in the operator network, so that the UDM can obtain the signing information of the data transmitting end, and the UDM can provide verification basis for the DIVS AS in the data integrity verification information uplink process.
The technical scheme provided by the embodiment of the application is described in detail.
The data integrity verification method provided by the embodiment of the application will be described in detail below in connection with specific application of the data integrity verification information provided by the embodiment of the application in the vertical industry.
In the embodiment of the present disclosure, the process of performing data integrity verification according to the data integrity verification method provided by the present application in the vertical industry may specifically include the following procedures:
The method comprises a first flow, a signing flow of a machine type terminal in an operator network, a second flow, a data integrity verification information uplink flow, a third flow, a data integrity verification information updating flow, and a fourth flow and a data integrity verification flow. The following describes the above-described flow respectively:
The first flow is a flow that the machine type terminal signs up in the operator network.
As shown in fig. 9, the flow of signing up of the machine type terminal in the operator network includes the following S901 to S904.
And S901, the machine type terminal sends the equipment subscription information to the account opening platform.
The device subscription information comprises at least one of a Common Name, a location (country, region), a home organization Name, and a mailbox address.
S902, an account opening platform opens an account for a machine type terminal.
The method specifically comprises the steps that a machine type terminal opens an account in an account opening platform, and information such as an eUICC ID, an IMEI, a device serial number SN, a device attribution entity name, a deployment position, a contact mailbox and the like of the machine type terminal is registered.
The account opening platform triggers the eSIM management platform to generate eSIM profile and a secure applet. And in the process of generating the eSIM profile, the eSIM management platform distributes ICCID for the machine type terminal.
The account opening platform binds ICCID with IMEI and eUICC ID.
It should be noted that the information required in the above procedure includes at least one of a Common Name, a location (country, region), a home organization Name, and a mailbox address.
S903, the machine type terminal accesses the network of the operator to acquire and install the eSIM profile and the security applet.
In a specific implementation, after the machine type terminal accesses the operator network, the eSIM management platform is requested to download the eSIM profile and the secure applet. After the download is completed, the machine type terminal installs the eSIM profile and the secure applet in the eUICC.
Thus, the machine type terminal can encrypt data to be encrypted by generating a key pair through an applet using a web service through the eSIM.
S904, the account opening platform sends subscription information to the UDM. Accordingly, the UDM receives and stores subscription information of the machine type terminal.
In this way, after the subscription information of the machine type terminal is stored in the UDM, the subscription information in the machine type may be sent to the DIVS AS, so that the DIVS AS verifies the machine type terminal according to the subscription information.
It should be noted that the specific implementation manner of S901-S904 may be referred to with S801-S803, which is not described in detail in the present application.
The above describes the process of signing a machine type terminal in an operator network, and based on this process, unique identification of the machine type terminal can be completed through the above information by binding the ICCID with the IMEI and the euiccid. After this, the DIVS AS and the data consuming terminal may verify the machine type terminal based on the above information.
And a second flow, a data integrity verification information uplink flow.
As shown in fig. 10, the flow of data integrity verification information uplink may be implemented by the following S1001-S1012.
S1001, the machine type terminal generates a first key pair.
In one possible implementation, the machine type terminal invokes a secure applet in the eUICC, generating a first key pair (ECC or RSA based). The first key pair includes a first public key and a first private key.
It should be noted that the first private key will always be stored in the secure applet and not be available to the machine type terminal or other device, so that it is avoided that the other device may steal the first private key and then send data to the data consuming terminal according to the first private key.
S1002, the machine type terminal acquires metadata and generates first data according to the metadata.
The metadata includes at least one of a first public key, an IEMI, an ICCID, an eUICC ID, a device serial number SN, an MSISDN.
In one possible implementation, the machine type terminal application obtains the first public key generated by the secure applet via the ADPU instruction. The machine type terminal obtains first terminal information of the machine type terminal from the operating system interface and the communication module interface, wherein the first terminal information comprises at least one of IEMI, ICCID, eUICC ID, equipment serial number SN and MSISDN.
The first data comprises metadata, a first signature algorithm for signing the metadata and a first digital signature obtained after signing the metadata.
In one possible implementation, the machine type terminal application sends metadata to the secure applet. The secure applet digitally signs the metadata according to a first private key of the public-private key pair and a first signature algorithm to obtain a first digital signature.
The machine type terminal generates first data according to the metadata, the first signature algorithm and the first digital signature.
S1003, the machine type terminal sends second indication information to the DIVS AS.
The second indication information is used for bearing the first data.
In one possible implementation, the second indication information is NDIVS AS _ DEVICEMETADATA _registration.
Optionally, the data carried by the second indication information is shown in table 1 below.
TABLE 1
S1004, the DIVS AS verifies the first data according to the first public key and the first digital signature.
Optionally, the DIVS AS decrypts the first digital signature according to the first public key to obtain the decrypted data. The DIVS AS determines whether the decrypted data is consistent with the metadata or the hash of the metadata, and if so, determines that the verification is successful.
S1005, the DIVS AS sends the first subscription request information to the NEF.
The subscription request information is used for requesting to acquire subscription information of the machine type terminal.
Optionally, the DIVS AS accesses NEF via a query interface (RP-EDI). The access message carries MSISDN, ICCID and IMEI, and requests to acquire subscription information of the machine type terminal corresponding to the MSISDN, ICCID and IMEI.
In one possible implementation, the subscription Request information is Nnef _ Subscribersdata _request.
Alternatively, the data carried by Nnef _ Subscribersdata _request is shown in table 2 below.
TABLE 2
S1006, the NEF sends a second subscription request message to the UDM.
Specifically, the NEF determines, according to the user identifier in the second subscription request message, the UDM to which the machine type terminal belongs. The NEF sends a second subscription request message to the home UDM.
Optionally, the NEF forwards at least one of the MSISDN, the ICCID, and the IMEI to the UDM, and requests to obtain subscription information of a machine type terminal corresponding to the at least one of the MSISDN, the ICCID, and the IMEI. The UDM queries subscription information having at least one of MSISDN, ICCID, and IMEI through at least one of the MSISDN, ICCID, and IMEI, and returns the queried subscription information to the NEF.
In one possible implementation, the second subscription Request message is Nusm _ Subscribersdata _request.
Alternatively, the data carried by Nusm _ Subscribersdata _request is shown in table 3 below.
TABLE 3 Table 3
S1007, the UDM sends a first subscription response message to the NEF.
Specifically, after receiving the second subscription request message, the UDM queries subscription data corresponding to at least one of the MSISDN, ICCID, and IMEI carried by the second subscription request message, generates a first subscription response message according to the queried subscription data, and sends the first subscription response message to the NEF.
In one possible implementation, the first subscription Response message is Nusm _ Subscribersdata _response.
Alternatively, nusm _ Subscribersdata _response carries the data shown in table 4 below.
TABLE 4 Table 4
It should be noted that if the UDM cannot query the subscription data corresponding to at least one of the MSISDN, ICCID, and IMEI, a failure message is returned to the NEF.
S1008, the NEF sends a second subscription response message to the DIVS AS.
Specifically, after receiving the first subscription response message from the UDM, the NEF generates a second subscription response message according to the first subscription response message, and sends the second subscription response message to the DIVS AS.
In one possible implementation, the second subscription Response message is Nnef _ Subscribersdata _response.
Alternatively, nnef _ Subscribersdata _response carries the data shown in table 5 below.
TABLE 5
It should be noted that if the NEF does not receive the first subscription response message from the UDM, a failure message is returned to the DIVS AS.
S1009, the DIVS AS determines whether the first terminal information in the metadata and the second terminal information in the subscription information are consistent, and generates a first data set to be signed if they are consistent.
Specifically, the DIVS AS compares the IEMI and MSISDN in the metadata and the ICCID with the IEMI and MSISDN in the subscription information, and determines whether or not the IEMI and MSISDN and the ICCID match. And if the metadata, the subscription information, the public key and the first signature algorithm information are consistent, the metadata, the subscription information, the public key and the first signature algorithm information are used as a first data set to be signed.
Optionally, the DIVS AS may directly use the metadata, the subscription information, the public key, and the first signing algorithm information AS the first data set to be signed, or may construct hash values of the metadata, the subscription information, the public key, and the first signing algorithm information AS the first data set to be signed. The application is not limited in this regard.
S1010, the DIVS AS generates data integrity verification information according to the first data set to be signed, and uploads the data integrity verification information to the blockchain ledger.
Specifically, the DIVS AS signs the first set of data to be signed according to the second private key of the blockchain ledger and a second signing algorithm, generating a second digital signature. The DIVS AS uploads the first set of data to be signed, the second digital signature, and the CA certificate of the second private key AS data integrity verification information into the blockchain ledger.
It is noted that the blockchain ledger includes a previous transaction identification (Transation ID) of the data integrity verification information. After uploading the data integrity verification information into the blockchain ledger, the DIVS AS sets the value of the previous transaction identification of the data integrity verification information to null and sets the record status to available.
S1011, the DIVS AS generates a transaction identifier of the data complete line verification information.
S1012, the DIVS AS sends the transaction identification to the machine type terminal.
Optionally, the DIVS AS also generates a URL of the DIVS AS portal, and the URL and the transaction identifier are synchronously sent to the machine type terminal.
In one possible implementation, the transaction identity and URL are carried in a NDIVS AS _ DEVICEMETADATA _registration_response message sent by the DIVS AS to the machine type terminal.
Alternatively, the data carried by NDIVS AS _ DEVICEMETADATA _registration_response is shown in Table 6 below.
TABLE 6
It is noted that the machine type terminal, upon receiving the transaction identification and URL, can store the transaction identification and URL in a secure applet in the eUICC.
It should be noted that, in the second process, the certificate corresponding to the second private key provided by the DIVS AS may be a CA certificate generated by the blockchain system member management based on the public-private key pair, or may be a CA certificate generated by an authoritative CA structure, or may be a self-signed CA certificate, which is not limited in this application.
Alternatively, the second signature algorithm and the first signature algorithm may be the same signature algorithm.
Optionally, the blockchain ledger includes a blockchain client, and the client is used for executing the data reading and writing of the blockchain ledger and the execution of the intelligent contract.
It will be appreciated that the above-described signaling messages may be transmitted via the HTTP GET method.
It should be noted that in the second procedure, the data communication between the machine type terminal and the DIVS AS may be implemented by opening a dedicated data interface. Data communication between the corresponding DIVS AS and NEF may also be achieved by opening a dedicated data interface. The interactive function between the NEF and the UDM related to the present disclosure can be realized by enhancing the existing interface function between the NEF and the UDM.
And thirdly, updating the data integrity verification information.
AS shown in the figure 11 of the drawings, the DIVS AS first initiates subscription data event subscription/unsubscribion to the UDM. After the subscription data update of the data transmitting end, the UDM informs the DIVSAS of the subscription information update. The method specifically comprises the following steps:
s1101, the DIVS AS sends the first subscription data event subscription/unsubscribion to the NEF.
The first subscription data event subscription/unsubscribe message carries machine type terminal identification data such as user identification data MSISDN.
In one possible implementation, the first subscription data event subscription is Nnef _ EventExposure _ SubscribersSignData _ SubscribeRequest.
The first subscription data event is unsubscribed to Nnef _ EventExposure _ SubscribersSignData _ UnSubscribeRequest
Alternatively, nnef _ EventExposure _ SubscribersSignData _ SubscribeRequest carry data as shown in table 7 below.
TABLE 7
S1102, NEF sends a second subscription data event subscription/unsubscribion to the UDM.
Specifically, the NEF queries the home subscriber data storage network element UDM based on the user identity in the first subscription data event subscription/unsubscribe request. The NEF performs subscriber identity translation, translates the subscriber identity to IMSI or SUPI, and translates the Nnef _ EventExposure _ SubscribersSignData _ SubscribeRequest message to: nusm _ EventExposure _ SubscribersSignData _ SubscribeRequest, and the converted message carries the parameters carried by the Nnef _ EventExposure _ SubscribersSignData _ SubscribeRequest message.
Alternatively, nusm _ EventExposure _ SubscribersSignData _ SubscribeRequest carry data as shown in table 8 below.
TABLE 8
It should be noted that the second subscription data event is unsubscribed to Nusm _ EventExposure _ SubscribersSignData _ UnSubscribeRequest.
S1103, the UDM sends a first subscription data event subscription/unsubscribe response to the NEF.
Specifically, the UDM monitors the user subscription data event based on the user identity and sends a first subscription data event subscription/unsubscribe response to the NEF.
In one possible implementation, the first subscription data event subscription response is Nusm _ EventExposure _ SubscribersSignData _ SubscribeResponse.
Alternatively, nusm _ EventExposure _ SubscribersSignData _ SubscribeRequest carry data as shown in table 9 below.
TABLE 9
It should be noted that the first subscription data event/unsubscribe response is Nusm _ EventExposure _ SubscribersSignData _ UnSubscribeRequest.
S1104, NEF sends a second subscription data event subscription/unsubscribe response to the DIVS AS.
In one possible implementation, the second subscription data event subscription response is Nnef _ EventExposure _ SubscribersSignData _ SubscribeResponse.
Alternatively, nnef _ EventExposure _ SubscribersSignData _ SubscribeResponse carry data as shown in table 10 below.
Table 10
It should be noted that, the user subscription event change mainly includes the following cases:
Case 1, eSIM card de-registered or deactivated.
Case 2, user account logout.
Case 3, eSIM is separate from IMEI binding.
Case 4, eUICC bound to eSIM changes.
Case 5, MSISDN change corresponding to ICCID.
Case 6, applet deactivation.
Case 7, others.
The above signaling is used to subscribe to the user subscription information change notification from the DIVS AS to the NEF, and the NEF to the UDM (DIVS AS cannot subscribe directly to the UDM). Once the UDM is informed of subscription cancellation, machine card binding changes, etc. involving the subscribed MSISDN, the UDM will be triggered to actively send notifications.
It will be appreciated that the signaling messages described above are transmitted using a POST method, which may be HTTP.
It can be understood that, the above description is mainly given by taking subscription as an example, and the flow and signaling content in the process of unsubscribing are similar, so that the disclosure will not be repeated.
The process of time subscribing the DIVS AS to the UDM is described above in connection with S1001-S1004. Hereinafter, a procedure of event notification performed by the UDM after subscription data update will be described.
S1105, eSIM sign-up logout triggers a UDM monitoring event.
Specifically, if the installation terminal of a certain eSIM needs to log off, the eSIM subscription log-off flow is triggered. UDM indicates NEF, the eSIM signs up for deregistration.
S1106, the UDM sends a first eSIM sign-up cancellation message to the NEF.
The first eSIM subscription cancellation message comprises at least one of ICCID, MSISDN and binding IMEI, and eSIM subscription cancellation time.
In one possible implementation, the first eSIM subscription cancellation message is Nusm _ EventExposure _ SubscribersSignData _notify.
Alternatively, the data carried by Nusm _ EventExposure _ SubscribersSignData _notify is shown in table 11 below.
TABLE 11
S1107, the NEF sends a second eSIM sign-up cancellation message to the DIVS AS.
Specifically, the NEF triggers a subscription notification event, sending a second eSIM subscription cancellation message to the DIVS AS.
In one possible implementation, the second eSIM subscription cancellation message is Nnef _ EventExposure _ SubscribersSignData _notify.
Alternatively, the data carried by Nusm _ EventExposure _ SubscribersSignData _notify is shown in table 12 below.
Table 12
S1108, the DIVS AS determines the corresponding transaction identification according to the second eSIM signing cancellation message.
Specifically, after receiving the second eSIM subscription cancellation message, the DIVS AS obtains the ICCID, MSISDN, and IMEI in the second eSIM subscription cancellation message. The DIVS AS determines all transaction identities associated with the ICCID, MSISDN and IMEI.
S1109, the DIVS AS updates the first data set to be signed corresponding to the transaction identifier to obtain a second data set to be signed.
Specifically, the DIVS AS updates eSIM sign-off time in a first to-be-signed data set corresponding to each transaction identifier, and takes the updated first to-be-signed data set AS a second to-be-signed data set.
And the DIVS AS signs the second data set to be signed according to the second private key and a second signature algorithm to obtain a fourth digital signature.
S1110, the DIVS AS uploads the second data set to be signed, the fourth digital signature and the CA certificate of the second private key to the blockchain ledger AS updated data integrity verification information.
S1111, DIVS AS generates transaction identification of the updated data integrity verification information.
S1112, the DIVS AS sends the transaction identification of the updated data integrity verification information to the machine type terminal.
For specific implementation of S1111 and S1112, reference may be made to S1010 and S1011 described above, which are not described here again.
The above description has been given of the process of updating the subscription information.
And fourthly, verifying the data integrity.
As shown in fig. 12, the flow of data integrity verification may be implemented specifically by the following S1201-S1207.
S1201, the machine type terminal acquires data to be verified.
Optionally, after the machine type terminal collects the data, the collected data is used as the data to be verified
S1202, the machine type terminal generates target data according to the data to be verified.
The machine type terminal signs the data to be verified by adopting a first private key and a first signature algorithm to obtain a first digital signature.
The machine type terminal calls ADPU an instruction, sends the data to the secure applet, signs the data to be verified by using the first private key and the first signature algorithm, and obtains a first digital signature and a timestamp of the first digital signature.
And S1203, the machine type terminal sends target data to the data consumption terminal.
Specifically, the machine type terminal generates target data from the data to be verified, the first digital signature, a timestamp of the first digital signature, and the first identification.
The machine type terminal transmits the target data to the data consuming terminal.
It should be noted that the machine type terminal may directly send the target data to the data consumption terminal, or may send the target data to the data consumption terminal after forwarding the target data by other devices, which is not limited in the present application.
And S1204, the data consumption terminal sends a data integrity verification information request message to the DIVS AS.
Wherein the data integrity verification information request message includes a first identifier.
In one possible implementation, the data integrity verification information Request message is Ndivs _ IntergrityVerification _request.
Optionally, the data carried by Ndivs _ IntergrityVerification _request is shown in table 13 below.
TABLE 13
S1205, the DIVS AS inquires data integrity verification information associated with the first identifier.
Specifically, the DIVS AS determines the first identity after receiving the request message. The DIVS AS queries the blockchain ledger for data integrity verification information associated with the first identity.
Optionally, the DIVS AS first queries the query blockchain ledger for the first identification data integrity verification information and determines metadata in the data integrity verification information. The DIVS AS then determines updated data integrity verification information based on IEMI, MSISDN, ICCID in the metadata.
The DIVS AS sends the data integrity verification information and the updated data integrity verification information to the data consumption terminal together
S1206, the DIVS AS sends data integrity verification information to the data consuming terminal.
In one possible implementation, the data integrity verification information request message is Ndivs _ IntergrityVerification _response.
Alternatively, the data carried by Ndivs _ IntergrityVerification _response is shown in table 14 below.
TABLE 14
S1207, the data consumption terminal verifies the data integrity of the data to be verified according to the data integrity verification information.
Specifically, the DIVS AS verifies the third digital signature or the fourth digital signature from the CA integers of the second public key and the first private key in the data integrity verification information after receiving the data integrity verification information. After verification is successful, a first public key in the data integrity verification information is obtained, and the first digital signature is verified according to the first public key and a first signature algorithm. After the first digital signature verification passes, it is determined whether a timestamp of the first digital signature is within a subscription expiration date of the machine type terminal. If yes, the data integrity verification of the data to be verified is successful.
It will be appreciated that the above-described signaling messages may be transmitted by means of HTTP GET.
The data integrity verification system and the functions of each device in the data integrity verification system according to the embodiments of the present application are described in detail above.
It can be seen that the technical solution provided by the embodiment of the present application is mainly described from the method perspective. To achieve the above functions, it includes corresponding hardware structures and/or software modules that perform the respective functions. Those of skill in the art will readily appreciate that the various illustrative modules and algorithm steps described in connection with the embodiments disclosed herein may be implemented as hardware or combinations of hardware and computer software. Whether a function is implemented as hardware or computer software driven hardware depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
The embodiment of the application can divide the functional modules of the data integrity verification device (the data integrity verification device can be any one of the data sending end, the data receiving end, the DIVS AS, the NEF or the UDM) according to the method example, for example, each functional module can be divided corresponding to each function, or two or more functions can be integrated in one processing module. The integrated modules may be implemented in hardware or in software functional modules. Optionally, the division of the modules in the embodiment of the present application is schematic, which is merely a logic function division, and other division manners may be implemented in practice.
Fig. 13 is a schematic structural diagram of a data integrity verification device according to an embodiment of the present application, where the data integrity verification device may be the above-mentioned DIVS AS. The data integrity verification apparatus includes a communication unit 1301 and a processing unit 1302.
The communication unit 1301 is configured to receive first indication information from a data receiving end, the first indication information is configured to instruct a data integrity verification server DIVS AS to query data integrity verification information corresponding to a first identifier, where the first identifier is a storage identifier of the data integrity verification information of the data sending end in the DIVS AS, the processing unit 1302 is configured to query the data integrity verification information corresponding to the first identifier, and the processing unit 1302 is further configured to instruct the communication unit 1301 to send the data integrity verification information to the data receiving end.
In one possible implementation manner, the first identifier belongs to target data sent by the data sending end to the data receiving end, the target data comprises data to be verified, a first digital signature and the first identifier, the first digital signature is a digital signature generated after the data to be verified is signed according to a first private key, the first private key is a private key in a first key pair generated by the data sending end, and the data integrity verification information comprises a first public key, and the first public key is a public key in the first key pair generated by the data sending end.
In a possible implementation manner, the device further comprises a communication unit 1301, which is further used for receiving second indication information from the data sending end, wherein the second indication information is used for carrying first data, the first data comprises a first public key, a signature algorithm set supported by the data sending end and first terminal information of the data sending end, the communication unit 1301 is further used for obtaining subscription information of the data sending end according to the first terminal information in the second indication information, the subscription information comprises subscription validity information of the data sending end, the processing unit 1302 is further used for determining data integrity verification information according to the first data and the subscription information, and the processing unit 1302 is further used for storing the data integrity verification information in a blockchain.
In a possible implementation manner, the communication unit 1301 is specifically configured to send a subscription information acquisition request to the capability open platform NEF, where the subscription information acquisition request includes first terminal information, receive subscription information from the NEF, and the subscription information is subscription information of a data sending end acquired in the user data management network element UDM according to the first terminal information and returned by the NEF.
In a possible implementation manner, the first data further includes a second digital signature, the second digital signature is a digital signature generated by signing the first public key and the first terminal information according to the first public key and the first signature algorithm, the processing unit 1302 is further configured to verify the second digital signature according to the first public key and the first signature algorithm, acquire the first terminal information in the first data if the second digital signature is verified, and generate a subscription information acquisition request according to the first terminal information.
In a possible implementation manner, the processing unit 1302 is specifically configured to generate a first data set to be signed according to the first data and the subscription data, sign the first data set to be signed according to a second private key and a second signing algorithm, determine a third digital signature, attribute the second private key to a second key pair generated by the DIVS AS, and determine data integrity verification information according to the first data set to be signed, a certificate corresponding to the second private key, and the third digital signature.
In one possible implementation, the communication unit 1301 is further configured to send a first transaction identifier to the data sending end, where the first transaction identifier is used to characterize the storage information of the data integrity verification information in the blockchain.
In a possible implementation manner, the communication unit 1301 is further configured to send first address information to the data sending end, where the first address information is address information of a DIVS AS storing data integrity verification information corresponding to the first transaction identifier.
In one possible implementation, the communication unit 1301 is further configured to receive a subscription information update message from the NEF, where the subscription information update message includes second terminal information and subscription information updated by the data sending end, the processing unit 1302 is further configured to query the blockchain for latest target data integrity verification information including the second terminal information, the processing unit 1302 is further configured to update the latest target data integrity verification information according to the updated subscription information, and the processing unit 1302 is further configured to store the updated latest target data integrity verification information in the blockchain.
In a possible implementation manner, the processing unit 1302 is further configured to perform a first operation on the latest target data integrity verification information to determine updated latest target data integrity verification information, where the first operation includes generating a second data set to be signed according to the first data and the updated subscription information, signing the second data set to be signed according to the second private key and the second signing algorithm to determine a fourth data signature, and determining updated latest target data integrity verification information according to the second data set to be signed, a certificate corresponding to the second private key, and the fourth digital signature.
In one possible implementation, the communication unit 1301 is further configured to send a second transaction identifier to the data sending end, where the second transaction identifier is used to characterize the stored information of the updated latest target data integrity verification information in the blockchain.
In a possible implementation manner, the communication unit 1301 is further configured to send second address information to the data sending end, where the second address information is address information of the DIVS AS storing the updated latest target data integrity verification information.
Wherein the processing unit 1302 may be a processor or a controller. Which may implement or perform the various exemplary logic blocks, modules and circuits described in connection with this disclosure. A processor may also be a combination of computing functions, including for example, one or more microprocessor combinations, a combination of DSPs and microprocessors, and the like. The communication unit 1301 may be a transceiver circuit or a communication interface, etc. The memory module may be a memory. When the processing unit 1302 is a processor, the communication unit 1301 is a communication interface, and the storage module is a memory, the data integrity verification apparatus according to the embodiment of the present application may be a DIVS AS shown in fig. 3 to 12.
Fig. 14 is a schematic structural diagram of a data integrity verification device according to an embodiment of the present application, where the data integrity verification device may be the data receiving end. The data integrity verification apparatus includes a communication unit 1401 and a processing unit 1402.
The communication unit 1401 comprises a communication unit 1401 and a processing unit 1402, wherein the communication unit 1401 is used for receiving target data from a data sending end, the target data comprises data to be verified, a first digital signature and a first identifier, the first digital signature is a digital signature which is obtained by carrying out signature determination on the data to be verified according to a first private key, the first identifier is a storage identifier of data integrity verification information of the data sending end in a DIVS AS, the first private key is a private key in a first key pair generated by the data sending end, the processing unit 1402 is used for indicating the communication unit 1401 to send first indication information to the DIVS AS, the first indication information is used for indicating the DIVS AS to inquire the data integrity verification information corresponding to the first identifier, and the processing unit 1402 is also used for indicating the communication unit 1401 to receive the data integrity verification information from the DIVS AS.
In one possible implementation, the data integrity verification information includes a first public key, a public key in a first key pair generated by the first public key for the data transmitting end, a processing unit 1402 further configured to verify the first digital signature according to the first public key in the data integrity verification information, and determine the data integrity of the data to be verified according to the verification result of the first digital signature.
In one possible implementation manner, the target data further comprises a timestamp of the first digital signature, the data integrity verification information further comprises a subscription validity period of the data transmitting end, and the processing unit 1402 is further configured to determine whether the timestamp of the first digital signature is within the subscription validity period of the data transmitting end, and if so, determine that the data integrity verification of the data to be verified is successful.
In one possible implementation manner, the data integrity verification information specifically comprises a first data set to be signed, a certificate corresponding to a second private key and a third digital signature, wherein the first data set to be signed comprises first data and signing information, the first data comprises a first public key, a signing algorithm set supported by a data sending end and first terminal information of the data sending end, the signing information comprises signing validity information of the data sending end and second terminal information of the data sending end, the second private key is a private key in a second key pair generated by a DIVS AS, the third digital signature is a digital signature generated after the first data set to be signed is signed according to the second private key and a second signing algorithm, and the processing unit 1402 is further used for verifying the third digital signature according to the certificate corresponding to the second private key and the second signing algorithm, and under the condition that the third digital signature verification is successful, the first public key in the first data set to be signed is obtained.
Wherein the processing unit 1402 may be a processor or a controller. Which may implement or perform the various exemplary logic blocks, modules and circuits described in connection with this disclosure. A processor may also be a combination of computing functions, including for example, one or more microprocessor combinations, a combination of DSPs and microprocessors, and the like. The communication unit 1401 may be a transceiver circuit, a communication interface, or the like. The memory module may be a memory. When the processing unit 1402 is a processor, the communication unit 1401 is a communication interface, and the storage module is a memory, the data integrity verification device according to the embodiment of the present application may be a data receiving end shown in fig. 3 to 12.
Fig. 15 is a schematic structural diagram of a data integrity verification device according to an embodiment of the present application, where the data integrity verification device may be the data transmitting end. The data integrity verification apparatus includes a communication unit 1501, and a processing unit 1502.
The system comprises a communication unit 1501, a processing unit 1502, the processing unit 1502 and the communication unit 1501, wherein the target data comprises data to be verified, a first digital signature and a first identifier, the first digital signature is a digital signature generated after the data to be verified is signed according to a first private key, the first private key is a private key in a first key pair generated by a data sending end, the first identifier is a storage identifier of data integrity verification information of the data sending end in a DIVS AS, and the communication unit 1501 is used for sending the target data to a data receiving end so that the data receiving end can determine the data integrity of the data to be verified according to the first identifier and the first digital signature.
In one possible implementation, the processing unit 1502 is further configured to generate first data, where the first data includes a first public key, a signature algorithm set supported by a data sending end and first terminal information of the data sending end, the processing unit 1502 is further configured to generate second indication information including the first data, and the communication unit 1501 is further configured to send the second indication information to the DIVS AS.
In one possible implementation, the processing unit 1502 is specifically configured to generate a first key pair, where the first key pair includes a first public key and a first private key, obtain first terminal information of a data sending end, sign the first public key and the first terminal information according to the first private key and a first signature algorithm, determine a second digital signature, and generate first data according to the first public key, the first terminal information, a signature algorithm set supported by the data sending end, and the second digital signature.
In one possible implementation, the communication unit 1501 is further configured to receive at least one of a first transaction identifier and a second transaction identifier from the DIVS AS, where the first transaction identifier is a transaction identifier generated according to the stored information of the data integrity verification information in the blockchain, the second transaction identifier is a transaction identifier generated according to the stored information of the updated data integrity verification information in the blockchain, and the processing unit 1502 is further configured to generate the first identifier according to the latest transaction identifier in the first transaction identifier and the second transaction identifier.
In one possible implementation, the target data further includes a verification access address, the verification access address is used for representing an address of a DIVS AS storing data integrity verification information of the data transmitting end, the communication unit 1501 is further used for receiving at least one of first address information and second address information from the DIVS AS, the first address information is address information of the DIVS AS storing data integrity verification information corresponding to the first transaction identifier, the second address information is address information of the DIVS AS storing updated data integrity verification information corresponding to the second transaction identifier, and the processing unit 1502 is further used for generating the verification access address according to a latest address in the first address information and the second address information.
In one possible implementation, the first terminal information includes at least one of an embedded universal integrated circuit card identification euiccid/integrated circuit card identification ICCID, an international mobile equipment identification IMEI, and a mobile subscriber number MSISDN of the data transmitting end.
Wherein the processing unit 1502 may be a processor or a controller. Which may implement or perform the various exemplary logic blocks, modules and circuits described in connection with this disclosure. A processor may also be a combination of computing functions, including for example, one or more microprocessor combinations, a combination of DSPs and microprocessors, and the like. The communication unit 1501 may be a transceiver circuit or a communication interface, etc. The memory module may be a memory. When the processing unit 1502 is a processor, the communication unit 1501 is a communication interface, and the storage module is a memory, the data integrity verification device according to the embodiment of the present application may be a data transmitting end shown in fig. 3 to 12.
The embodiment of the application provides an electronic device which is used for executing a method required to be executed by any device in the data integrity determination system. The electronic device may be a data transmitting end, a data receiving end, a DIVS AS, a NEF, a UDM, or the like, which is not limited in the present application. The electronic device may be an electronic device or a module in the electronic device, or a chip in the electronic device, or may be other devices for executing the network quality determining method, which is not limited in the present application.
Fig. 16 is a schematic structural diagram of an electronic device according to an embodiment of the present application. As shown in fig. 16, the electronic device 100 comprises at least one processor 101, a communication line 102, and at least one communication interface 104, and may further comprise a memory 103. The processor 101, the memory 103, and the communication interface 104 may be connected through a communication line 102.
The processor 101 may be a central processing unit (central processing unit, CPU), an Application SPECIFIC INTEGRATED Circuit (ASIC), or one or more integrated circuits configured to implement embodiments of the present application, such as one or more digital signal processors (DIGITAL SIGNAL processors, DSPs), or one or more field programmable gate arrays (field programmable GATE ARRAY, FPGAs). In particular implementations, the processor 101 may perform the actions described above as being performed by the processing unit 1302 in fig. 13, the processing unit 1402 in fig. 14, or the processing unit 1502 in fig. 15.
Communication line 102 may include a pathway for communicating information between the aforementioned components.
The communication interface 104, for communicating with other devices or communication networks, may use any transceiver-like device, such as ethernet, radio access network (radio access network, RAN), wireless local area network (wireless local area networks, WLAN), etc. In specific implementations, the communication interface 104 may perform the actions performed by the communication unit 1301 in fig. 13 described above, the actions performed by the communication unit 1401 in fig. 14, or the actions performed by the communication unit 1501 in fig. 15.
The memory 103 may be, but is not limited to, a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a random access memory (random access memory, RAM) or other type of dynamic storage device that can store information and instructions, or an electrically erasable programmable read-only memory (ELECTRICALLY ERASABLE PROGRAMMABLE READ-only memory, EEPROM), a compact disc read-only memory (compact disc read-only memory) or other optical disc storage, a compact disc storage (including compact disc, laser disc, optical disc, digital versatile disc, blu-ray disc, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to include or store the desired program code in the form of instructions or data structures and that can be accessed by a computer.
In a possible design, the memory 103 may exist separately from the processor 101, i.e. the memory 103 may be a memory external to the processor 101, where the memory 103 may be connected to the processor 101 through a communication line 102 for storing execution instructions or application program codes, and the execution is controlled by the processor 101 to implement a network quality determining method provided by the embodiments of the present application described below. In yet another possible design, the memory 103 may be integrated with the processor 101, i.e., the memory 103 may be an internal memory of the processor 101, e.g., the memory 103 may be a cache, and may be used to temporarily store some data and instruction information, etc.
As one implementation, processor 101 may include one or more CPUs, such as CPU0 and CPU1 in fig. 16. As another implementation, the electronic device 100 may include multiple processors, such as the processor 101 and the processor 107 in fig. 16. As yet another implementation, the electronic device 100 may also include an output device 105 and an input device 106.
From the foregoing description of the embodiments, it will be apparent to those skilled in the art that, for convenience and brevity of description, only the above-described division of functional modules is illustrated, and in practical application, the above-described functional allocation may be implemented by different functional modules according to needs, i.e. the internal structure of the network node is divided into different functional modules to implement all or part of the functions described above. The specific working processes of the above-described system, module and network node may refer to the corresponding processes in the foregoing method embodiments, which are not described herein.
The embodiment of the application also provides a computer readable storage medium, wherein the computer readable storage medium stores instructions, when the computer executes the instructions, the computer executes each step in the method flow shown in the method embodiment.
Embodiments of the present application provide a computer program product comprising instructions which, when run on a computer, cause the computer to perform the communication method of the method embodiments described above.
Embodiments of the present application provide a chip comprising a processor and a communication interface coupled to the processor for running a computer program or instructions to implement a communication method as in the method embodiments described above.
The computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or a combination of any of the foregoing. More specific examples (a non-exhaustive list) of the computer-readable storage medium would include an electrical connection having one or more wires, a portable computer diskette, and a hard disk. Random access Memory (Random Access Memory, RAM), read-Only Memory (ROM), erasable programmable Read-Only Memory (Erasable Programmable Read Only Memory, EPROM), registers, hard disk, optical fiber, portable compact disc Read-Only Memory (CD-ROM), an optical storage device, a magnetic storage device, or any other form of computer-readable storage medium suitable for use by a person or in combination with any other form of data in the art. An exemplary storage medium is coupled to the processor such the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an Application SPECIFIC INTEG RATED Circuit (ASIC). In embodiments of the present invention, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
Since the apparatus, device, computer readable storage medium, and computer program product in the embodiments of the present application can be applied to the above-mentioned method, the technical effects that can be obtained by the apparatus, device, computer readable storage medium, and computer program product can also refer to the above-mentioned method embodiments, and the embodiments of the present application are not described herein again.
The foregoing is merely illustrative of specific embodiments of the present application, and the scope of the present application is not limited thereto, but any changes or substitutions within the technical scope of the present application should be covered by the scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.