WO2018177124A1 - 业务处理方法、装置、数据共享系统及存储介质 - Google Patents

业务处理方法、装置、数据共享系统及存储介质 Download PDF

Info

Publication number
WO2018177124A1
WO2018177124A1 PCT/CN2018/079075 CN2018079075W WO2018177124A1 WO 2018177124 A1 WO2018177124 A1 WO 2018177124A1 CN 2018079075 W CN2018079075 W CN 2018079075W WO 2018177124 A1 WO2018177124 A1 WO 2018177124A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
service
service data
sharing system
user client
Prior art date
Application number
PCT/CN2018/079075
Other languages
English (en)
French (fr)
Inventor
郭锐
李茂材
赵琦
张建俊
屠海涛
王宗友
梁军
朱大卫
陈立生
刘斌华
Original Assignee
腾讯科技(深圳)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 腾讯科技(深圳)有限公司 filed Critical 腾讯科技(深圳)有限公司
Publication of WO2018177124A1 publication Critical patent/WO2018177124A1/zh
Priority to US16/382,663 priority Critical patent/US20190236300A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Definitions

  • the present invention relates to the field of network technologies, and in particular, to a service processing method, apparatus, and data sharing system.
  • a blockchain refers to a string of blocks generated by cryptographic methods.
  • the block data in each block in the blockchain is associated with the block data in the previous block, and therefore cannot be tampered with.
  • Block data for cheating can ensure that the block data on any block is transparent and transparent, improving the security of the input information.
  • the embodiment of the invention provides a service processing method, device and data sharing system.
  • the technical solution is as follows:
  • An embodiment of the present invention provides a service processing method, where the method includes:
  • An embodiment of the present invention provides a service processing apparatus, the apparatus comprising: a processor and a non-volatile memory, the processor executing machine readable instructions in the non-volatile memory, for:
  • An embodiment of the present invention provides a data sharing system, including: a data sharing system gateway and a plurality of nodes;
  • the data sharing system gateway is configured to receive a service processing request from a user client, where the service processing request is generated according to a table structure provided by the data sharing system, where the service processing request carries the service data and the service data. Signing information; extracting the service data and the signature information from the service processing request according to the pre-stored table structure; generating a service data record request of the data sharing system, the service data record request carrying the service Data and the signature information; transmitting the service data record request to at least one node in the data sharing system;
  • Any one of the plurality of nodes is configured to acquire the service data and the signature information from the service data record request for storage.
  • the client can trigger a business processing request in the form of a database statement in the database based on the table structure, thereby receiving a business processing request in the form of such a database statement on the data sharing system side.
  • the service processing request is identified and processed, the technical threshold of the data sharing system is greatly reduced, and various existing database service systems can be seamlessly connected with the data sharing system, thereby improving the blockchain technology. Universality.
  • FIG. 1 is a schematic structural diagram of a data sharing system according to an embodiment of the present invention.
  • FIG. 2 is a flowchart of a service processing method according to an embodiment of the present invention.
  • FIG. 3 is a diagram showing an interface display of a user client according to an embodiment of the present invention.
  • FIG. 4 is an adaptation relationship diagram between a user client and a data sharing system according to an embodiment of the present invention
  • FIG. 5 is a schematic diagram of block data content according to an embodiment of the present invention.
  • FIG. 6 is a flowchart of a service processing method according to an embodiment of the present invention.
  • FIG. 7 is a data interaction diagram between an enterprise client and a data sharing system according to an embodiment of the present invention.
  • FIG. 8 is a schematic diagram of a method for generating address information according to an embodiment of the present invention.
  • FIG. 9 is a schematic diagram of a generation according to an embodiment of the present invention.
  • FIG. 10 is a layer diagram of a data sharing system according to an embodiment of the present invention.
  • FIG. 11 is a schematic diagram of functions of a data sharing system according to an embodiment of the present invention.
  • FIG. 12 is a schematic structural diagram of a service processing apparatus according to an embodiment of the present invention.
  • FIG. 13 is a schematic structural diagram of a service processing apparatus according to an embodiment of the present disclosure.
  • FIG. 14 is a schematic structural diagram of a service processing apparatus according to an embodiment of the present disclosure.
  • FIG. 15 is a structural block diagram of a terminal 1500 according to an embodiment of the present invention.
  • FIG. 16 is a block diagram of a service processing apparatus 1600, according to an exemplary embodiment.
  • the data sharing system 100 refers to a system for data sharing between nodes, and the data sharing system 100 can provide data services for user clients.
  • the data sharing system 100 includes a data sharing system gateway 101 and a plurality of nodes 102, such as terminal devices.
  • the data sharing system 100 can include a data sharing system gateway 101 and a plurality of nodes 102.
  • the data sharing system gateway 101 is used for performing functions such as request conversion and address information verification.
  • the plurality of nodes 102 may refer to servers provided by various enterprises and financial institutions in the data sharing system.
  • the data sharing system gateway 101 is configured to receive a service processing request, where the service processing request is generated according to a table structure provided by a data sharing system, where the service processing request carries service data of the user and the user Signing information of the service data; extracting the service data of the user and the signature information from the service processing request; generating a service data record request of the data sharing system, where the service data record request carries the service of the user Data and the signature information; the service data record request is sent to at least one node 102 in the data sharing system. Any one of the plurality of nodes 102 is configured to provide a data service based on the received service data record request, such as writing a shared account or an account information query.
  • Each node 102 can receive input information (such as business data) of the user client during normal work, and maintain the shared data in the data sharing system based on the received input information.
  • any communication protocol may be adopted between each node in the data sharing system, so that information transmission between nodes can be performed.
  • the communication protocol may include a peer-to-peer (P2P), a Transmission Control Protocol (TCP), a User Datagram Protocol (UDP), and a multicast form.
  • P2P peer-to-peer
  • TCP Transmission Control Protocol
  • UDP User Datagram Protocol
  • multicast form When any node in the data sharing system receives the input information, other nodes in the data sharing system acquire the input information according to the consensus algorithm, and store the input information as data in the shared data, so that all nodes in the data sharing system The data stored on it is consistent.
  • the data sharing system can be a trading system, and the trading system refers to a system for financial transactions.
  • the transaction system may include a plurality of nodes, each node generating ledger data when conducting a transaction, and maintaining a shared ledger within the transaction system based on the ledger data.
  • the existing data sharing system generally uses a low key strength.
  • bitcoin bitcoin system
  • SHA256 digest algorithm is simply used.
  • the embodiments of the present invention provide corresponding solutions, and the corresponding solutions are introduced based on different aspects.
  • the embodiment of the invention provides a service processing method for reducing the technical threshold of the data sharing system, enabling multiple existing database service systems to be seamlessly connected with the data sharing system, and improving the blockchain technology. Universality.
  • the user processing method is described by taking the user client and the data sharing system as an interaction subject as an example:
  • step 201 the user client obtains a service processing request, which is generated according to a table structure provided by the data sharing system, where the service processing request carries the user's service data and the user's signature information for the service data.
  • the user client is a client used by a user who has previously registered to the data sharing system, and the user can perform business processing with the data sharing system through the user client.
  • the table structure provided by the data sharing system may be displayed in the service processing interface, so that the user client can obtain the service processing request based on the table structure.
  • the table structure includes: a name of a table for storing data in the database, a field, a field as a primary key, and the like. The above information is used for business processing such as data query and data insertion.
  • the process of constructing a service processing request may be: a database statement in which a user directly inputs a service processing request according to a table structure, and a signature information is added by the user client to the statement, or may be based on the user by the user client.
  • the input business data is used to generate a statement, and the signature information of the business data is added to the statement.
  • the specific process may include: the user client obtains the service data of the user; the user client obtains the private key of the user, and uses the private key to sign the service data to obtain signature information of the user;
  • the signature information of the user is encapsulated into the service processing request.
  • the service data input by the user is subsequently stored in the information field of the block generated by the data sharing system.
  • the service data may refer to the transaction information of the user.
  • the service data may include: a transferee address information, a transfer party address information, and a transaction amount.
  • the user client when it signs, it can select different lengths of data in the service data for signature based on the service type corresponding to the different service processing requests. For example, some business processing requests the database statement itself. If it is long, it can obtain a short piece of business data for signature, and some database processing statements of the business processing request are shorter, so that a long piece of business data can be obtained for signature, thereby achieving signatures for different service levels. Automatically do business level signatures for ordinary SQL statements.
  • the database system used by the user client is mysql
  • the data sharing system is named trustsql as an example.
  • the trustsql gateway (that is, the access layer (API)) is adapted to mysql, and the developer can connect to the trustsql through the mysql self-driven driver.
  • API access layer
  • the structure can support operations such as insert and select accounts in the info field of the block of the data sharing system.
  • the sql statement obtained by the user client can be:
  • From_address '1H3ktZnx6XtxkC4Ck31r4GzjpjWaLHvGVj',//Transfer address information
  • To_address (1MZLjFBPgXTgWSxZJEhFkgwaTf93cStDCA", / / transfer party address information
  • Amount 100, / / transaction amount is 100
  • Publickey 'BHSgdFFuE8p0FQ5+Ge1AO5XAj8su5B8UpAtWo9zNXifUk9+6T4L5r VxhxRWU7t83zek7EYTYap6EY1LWl2Qc/Ro';//The public key of the transaction information
  • the private_key is the private key held by the user, and "from_address+to_address+amount" is the transaction information. Since the private key is generated and saved by the user client, the signature information can prevent the user's business data from being tampered with.
  • the specific generation process of the private key can be referred to the details of the key management section described below.
  • the data sharing system can compare the signature information carried in the query request with the signature information stored in the corresponding block. Once the query determines that the signature information is inconsistent twice, the data has been tampered with. And the block feature value can be used to determine which part of the service data has been tampered with, thereby returning an error code to the user to indicate that the data has been tampered with.
  • the mysql display interface can be changed from the display of the original table (as shown in the upper figure in FIG. 3) to the block linked list. (As shown in the figure below in Figure 3).
  • step 202 the user client sends the service processing request to the data sharing system.
  • the user client can send the service request to the data sharing system through a connection with the data sharing system, and the sending can be implemented based on prior system adaptation, so that the user client can use the database driver of the client to the data sharing system. Send a business processing request.
  • step 203 when the service processing device of the data sharing system receives the service processing request, the service data of the user and the signature information are extracted from the service processing request according to the pre-stored table structure.
  • the data sharing system may have a data sharing system gateway for isolating the external network and nodes inside the system, so that the nodes inside the system are not transparent to the external network users, and are not externally Network users perceive that no specific data protocol is used by external network users.
  • the data sharing system gateway can be used to receive the service processing request and perform the step of converting the service processing request into a service data recording request.
  • the gateway of the data sharing system can extract the key data in the service processing request after receiving the service processing request.
  • the step 203 can also include the following process: identifying a database type that generates the service processing request, such as a database type carried in the service processing request; a type, from a correspondence between a database type and a table structure, determining a table structure used to generate the service processing request; extracting the user from a corresponding field of the service processing request based on a table structure used to generate the service processing request Business data and the signature information. Because the database statements corresponding to different database types may be different, you can provide different table structures to generate business processing requests.
  • the database types supported by the data sharing system include: database types such as Oracle, MySQL, SQL server, Redis, memcche, and File, which are not specifically limited in the embodiment of the present invention.
  • the database protocol can be directly adapted in the data sharing system, that is, the table structure for the database type is set on the data sharing system gateway.
  • the extraction method without modifying the existing data protocol in the data sharing system, and for the user system side, since there is no need to isolate the user system side and the data sharing system, the user system side only needs to know the data sharing system.
  • the table structure that is, the business process request can be generated by the existing database driver based on the table structure, so that the shared account is written (insert), selected (selected), and operated in the data sharing system.
  • To_address (1MZLjFBPgXTgWSxZJEhFkgwaTf93cStDCA"
  • Amount 100, / / above for business data
  • Publickey 'BHSgdFFuE8p0FQ5+Ge1AO5XAj8su5B8UpAtWo9zNXifUk9+6T4L5r VxhxRWU7t83zek7EYTYap6EY1LWl2Qc/Ro';//public key
  • the verification address information of the user client may be generated according to the public key of the user client carried in the service processing request; if the user client verifies the address information and the service If the address information included in the data is consistent, in response to the service processing request, step 203 and subsequent steps are performed. If not, the service processing request is intercepted, and the subsequent steps are not performed. Further, the user may be reminded of the current service processing of the client. The request was tampered with. The process of generating the verification address information of the user client is detailed in the subsequent key management part, and is not described here.
  • step 204 the data sharing system generates a service data record request of the data sharing system, the service data record request carrying the user's service data and the signature information.
  • the data sharing system regenerates a service data record request based on the extracted service data of the user and the signature information according to the request format supported by the data sharing system, so as to implement data processing within the data sharing system.
  • This process can be thought of as a format conversion of business processing requests so that database statements can be identified and processed by the data sharing system. Through this format conversion, the applicability of the data sharing system is greatly enhanced, and the technical threshold is lowered.
  • step 205 the data sharing system sends the service data record request to at least one node in the data sharing system, so that the at least one node obtains the service data and the signature information from the service data record request. And store it.
  • the service data record request may be globally transmitted in the data sharing system, that is, the service data record request is broadcasted by the data sharing system gateway to each node in the data sharing system, or may be used by the data sharing system gateway.
  • the block link-in request broadcasts to the key node of the data sharing system or the transaction node, instead of all the nodes, and further broadcasts by these nodes.
  • the embodiment of the present invention does not limit which nodes are specifically sent to.
  • the node when the node receives the service data record request, the node generates a feature value of the current block according to the service data of the user and the signature information.
  • the block feature value of the parent block may be obtained, the parent block is the previous block associated with the current block, and the block of each block in the block chain
  • the data includes input information (that is, business data), signature information, block header feature values of the parent block, input information feature values, version numbers, time stamps, and difficulty values.
  • multiple hash algorithms may be used for parallel calculation.
  • the user's business data, the signature information, and the like may be used to generate information of the feature values.
  • the data is at least two parts; the at least two pieces of data are respectively calculated by using different hash algorithms to obtain a hash value of the at least two parts of data; and the hash values of the at least two parts of data are spliced to obtain the current block.
  • Characteristic value For example, the different hash algorithm may include a SHA256 algorithm, an SM3 algorithm, and the like.
  • the dividing the service data and the signature information of the user into at least two parts of data includes: determining, according to the service data of the user, the data amount of the signature information, the number of shares to be divided; the service data of the user, the The signature information is divided into data of the determined number of copies.
  • the information used to generate the feature value can be divided into two parts.
  • the data of 256 bits is divided into two parts, the first 128 bits adopts the SHA256 algorithm, and the latter 128 bits adopts the SM3 algorithm.
  • three different algorithms may be used, that is, the information used to generate the feature values is divided into three parts, different parts adopt different algorithms, or different parts adopt different algorithms, and the embodiment of the present invention does not specifically limited.
  • the eigenvalues after the parallel algorithm are more irreversible, which greatly improves the security.
  • the algorithm used to generate the feature value can be changed at any time, so as to play the role of relief in the case of being cracked.
  • the node generates the current block based on the service data of the user, the signature information, the feature value of the previous block in the blockchain, and the feature value of the current block.
  • the foregoing verification may refer to that multiple nodes in the data sharing system use a consensus algorithm to determine that the current service data may be added to the blockchain.
  • the node may re-sign the information to be stored in the block based on the private key of the node, so as to achieve the tamper-proof of the signature information of the service data.
  • the second layer of tamper-proof mechanism can greatly improve security. That is, the step may include: the node uses the private key of the node to sign the service data of the user, the signature information, the feature value of the previous block in the blockchain, and the feature value of the current block, to obtain The signature information of the current block; the service data of the user, the signature information, the feature value of the previous block in the blockchain, the feature value of the current block, and the signature information of the current block are correspondingly stored, and generated The current block.
  • Node_sign refers to the signature information of the current block. Node_sign can prevent the node from being hacked and tampering with local data because it records that the node uses its own private key to sign the digest of the data.
  • the Index attribute in Figure 5 identifies the order of each service data, starting from 1 and incrementing sequentially. If there is a problem node (that is, a node with incorrect data in the block), the other nodes can be re-acquired according to the index number. Correct data repair yourself, the new join node can also follow the snapshot made on a certain index, pull the latest snapshot data, and the incremental record to catch up with the data of the existing node as fast as possible.
  • the pre-hash refers to the block feature value of the parent block
  • the hash refers to the block feature value of the current block. Info indicates the business data of the user.
  • the embodiment of the present invention provides a management service, which includes a key management method, which can be extended by the number of key bits and/or more scalable. High-intensity hashing algorithms are connected in parallel to avoid the risk of being cracked due to a single algorithm.
  • the key management method can be a user for a data sharing system.
  • a user is a user who performs business processing through a data sharing system and can be an individual user or a corporate user.
  • the client used by such a user is hereinafter referred to as a user client, and in order to be able to use the service provided by the data sharing system, the user client needs to register in the data sharing system, see FIG. 6, the following Steps 601 to 610 are the registration process and the business process after the registration is successful.
  • step 601 the user client sends a registration request to the data sharing system.
  • This registration request can be used to register a data sharing system for business processing.
  • a user client as an individual user can perform registration by providing basic information such as personally identifiable information.
  • step 602 the data sharing system registers the user client when receiving the registration request, and provides a key generation tool for the user client when the registration is successful.
  • the key generation tool is used to indicate an algorithm used when generating a key by a user client, such as an algorithm used when generating a private key, an algorithm used when generating a public key, and an algorithm used when generating address information. Algorithm.
  • the registration request may only carry some information required for registration, such as personal identification information, and for the enterprise user, in order to submit the registration request, the corresponding enterprise identity information, etc.
  • Information so that the data sharing system can review its information and be able to register it when the review is approved.
  • the enterprise submits the data for registration, and after reviewing, returns the key generation tool to the enterprise client, and after the enterprise client generates the public key and the address information based on the key generation tool, the data is generated.
  • the key management service of the shared system can record the corresponding information of the public key, address information and enterprise identity of the enterprise.
  • the public key can be made public, and each business processing request can carry the signature information and the public key of the enterprise client to identify the identity of a person.
  • the enterprise client can perform the account information query based on the public key, and the data sharing system queries all the corresponding address information of the enterprise client according to the public key, and obtains each address information to return the account information.
  • the account information actually refers to information such as the account balance corresponding to the address information of the enterprise client.
  • other service processing requests may be performed based on the public key, which is not specifically limited in this embodiment of the present invention.
  • step 603 the user client generates a private key of the user client based on the key generation tool.
  • the private key is generated by the user client based on the key generation tool of the data sharing system, for example, using an asymmetric encryption algorithm to generate a random number of the first specified number of digits;
  • the random number of the number of bits is expanded by the number of bits to obtain a random number of the second specified number of bits, and the random number of the second specified number of bits is used as the private key of the user client.
  • the bit number expansion may be an integral multiple of the extension, such as expanding a 256-bit random number to a 512-bit random number.
  • the specific bit number expansion manner may be performed based on the character of the acquired random number itself, for example, splicing two random numbers of the first specified number of bits to obtain a random number of the second specified number of bits.
  • a tail of a random number of the first specified number of bits is connected to a header of another random number of the first specified number of bits to obtain a random number of the second specified number of bits.
  • This method of closing and splicing makes the same random number repeat twice.
  • This splicing method is simpler and the calculation amount is small, which can avoid excessive occupation of computing resources. For example, for the random number abc, it can be extended to abcabc.
  • This kind of insertion and interpolation is actually a misalignment of random numbers.
  • This splicing method is also relatively simple, and the calculation amount is small. It is only necessary to shift one of the random numbers backwards and merge with another random number. For example, for the random number abcde, an abcde can be shifted back two bits, as follows:
  • Abcadbecde is obtained by inserting and mixing the above-mentioned misplaced random numbers.
  • the private key obtained by the above-mentioned digit expansion is taken as an example of the strength of the algorithm using the random number generated by the algorithm as 256 bits. If the scalable key length is designed to support up to 512 bits, the current quantum computer is used. Calculating the speed, suppose a supercomputer can violently try 1 billion passwords in 1 second, and it takes 24.3 billion years to crack 15 digits. The difficulty of cracking is enough to ensure the security of the key.
  • there may be other splicing methods there may be other splicing methods, and the description will not be repeated here. It should be noted that as long as the digital splicing method can be applied to the present invention.
  • step 604 the user client generates a public key of the user client based on the private key and key generation tool of the user client, and sends the public key of the user client to the data sharing system.
  • the generating the public key of the user client includes: generating a public key of the user client according to the private key of the user client and an algorithm for generating a public key indicated by the key generation tool.
  • the algorithm for generating the public key indicated by the key generation tool is a hash operation
  • the private key may be calculated according to a specific algorithm of the hash operation to obtain a public key.
  • the specific algorithm of the hash operation is SECO256K1 (elliptic curve algorithm)
  • the public key of the user client is obtained based on the algorithm.
  • the public key of the user client may be used to represent the displacement identity of the user client. Therefore, the public key may also be sent to the data sharing system to generate a public key list based on the public keys of the plurality of user clients. And broadcast to each node, so that each node can verify the service processing request when performing the service processing.
  • step 605 the user client obtains the service data and acquires the private key of the user client.
  • the process of obtaining the service data and the private key is the same as the process described in the foregoing step 201, and details are not described herein.
  • step 606 the user client signs the service data by using the private key of the user client, and obtains signature information of the user client.
  • the specific process of obtaining the signature information may be the same as the signature information generation process in step 201, and details are not described herein.
  • step 607 the user client generates a public key of the user client according to the private key of the user client.
  • the step 607 refers to a process of generating a public key in real time.
  • the public key may also be generated in advance and stored in a user client, so as to be extracted and used from the memory when there is a business requirement, without real-time generation. To reduce the computing resources required in actual operation.
  • step 608 the user client encapsulates the service data, the signature information of the user client, and the public key of the user client into a service processing request, and sends the service processing request to the data sharing system.
  • step 608 is the same as the process of generating the service request in step 201, and details are not described herein.
  • step 609 after receiving the service processing request of the user client, the data sharing system generates the verification address information of the user client according to the public key of the user client, where the service processing request carries the service data and the publicity of the user client. Key, the service data includes address information of the user client.
  • the specific process of generating the check address information of the user client according to the public key of the user client may include: obtaining a public key hash value of the user client; performing at least two hash operations on the public key hash value Obtaining a hash value of the public key hash value; extracting a byte of the preset number of bits from the hash value of the public key hash value as a check code; the public key hash value and the checksum
  • the code is spliced, and the spliced character string is subjected to encoding processing conforming to the data format supported by the data sharing system, and the address information of the user client is obtained.
  • version information for indicating the system version may also be added, that is, the version information of the data sharing system, the public key hash value, and the check code are spliced.
  • the process of generating the public key includes: the user client generates a private key based on a random number algorithm (random (256) bits), and then performs a SECO256K1 operation on the private key to obtain a public key, and the data sharing system is based on
  • the public key uses SHA256 for a hash operation, and then performs a hash operation based on the obtained hash value again based on RIPEMD160 to obtain a public key hash value, and then performs two hash operations on the public key hash value using the national secret SM3.
  • the BASE58 algorithm operation is performed to obtain the address information of the user client.
  • the generation of the address information is actually performed by the flow of the private key-public key-public key hash value-address information.
  • multiple irreversible operations are experienced, and multiple irreversible operations are performed.
  • the data length of the final address information is greatly reduced, thereby further increasing the irreversibility of the address information, so that the public key cannot be pushed out based on the address information, that is, the private key of the user client cannot be pushed out, because the private key is necessary for business processing. Information, thus protecting the security of the user's property.
  • the address information actually represents the account of the user client in the data sharing system, and the user client can perform business processing with other user clients or servers through the address information, such as transfer, subscription, and the like.
  • the algorithm can be inserted and removed in the above steps, and the necessary scene can be switched to the national secret system.
  • SEKO256K1 elliptic curve
  • the algorithm is replaced by the national secret SM2 algorithm.
  • the currently used SHA256 algorithm can be replaced with the national secret SM3 algorithm
  • the check code is generated, the currently used SHA256 algorithm can be replaced with National secret SM3 algorithm.
  • step 610 if the verification address information of the user client is consistent with the address information included in the service data, the service processing request is responded to, and if not, the service processing request is intercepted.
  • the service data carried in the service processing request of the embodiment of the present invention may include contract data, where the contract data includes: an execution condition parameter of the contract and an execution parameter.
  • the execution condition parameter of the contract refers to the conditions that need to be fulfilled to execute the contract, such as the expiration of the contract or the payment has arrived.
  • the private chain and the alliance chain there are different problems, for example, in the fully controlled private chain, by directly embedding the binary code of the function name and parameters in the business data to form a contract call, when the caller When the smart contract flow is written into the chain, other nodes will synchronize the binary code, and finally make a consensus based on the execution result to complete a smart contract call.
  • non-turing-complete script code is executed by embedding well-written script code in business data, executing rules in the stack language, and preventing infinite loops by limiting the length of the script. If the execution condition parameter is satisfied, the business process indicated by the contract data is executed based on the execution parameter.
  • the data sharing system may include an access layer adaptation plug-in, where the access layer adaptation plug-in may be used to perform format conversion of the service processing request, so that the data sharing system It can be applied to clients using different database protocols, and the service processing request can be further processed by the business logic layer after being processed by the access layer adaptation plug-in, for example, sent to each node, performing identity verification and other processing.
  • the processing involves the storage plug-in, the consensus plug-in, and also needs to be based on a certain communication protocol.
  • the underlying storage can be based on DB (Data Base), file (File) and key value KV (Key- Value), etc., and its consensus plug-in is mainly used to verify the consistent use of data on the nodes in the data sharing system. It can use any consensus algorithm such as Raft, Paxcos and Pbft, and in the data sharing system, it also supports multiple Communication protocols, such as P2P, TCP, and broadcast, to implement data interaction within the system. Based on the layer architecture of such a data sharing system, the above three functionally functional architectures can also be managed as shown in FIG. 11, managing services, data services, and smart contract services.
  • the management service can provide key related management services, which are divided into key management, identity recognition, and node management.
  • key management can be implemented based on an enhanced key algorithm or the like.
  • Node management that is, for each node that needs to join and exit the alliance chain and the private chain, it can be operated in the node management service.
  • the node When the new node is approved, the node is in the alliance chain and the private chain. It will have identity information and broadcast to other nodes at the same time.
  • Each node has its own public-private key pair, which can sign the broadcast data of its own node. After receiving the request, other nodes will verify the signed data and intercept the illegal information. Prevent the possibility of being tampered with.
  • the identity is mainly based on the public key, and a public key can represent the identity of a user client for service processing request verification, query verification, and the like. Further, regarding the data service part, the data service of the data sharing service may perform related processing of the blockchain based on the user data.
  • the intelligent contract service mainly adopts Ethernet virtual machine (EVM), which is the operating environment of intelligent contract in Ethernet.
  • the code of the smart contract is not only encapsulated by the sandbox, in fact its operation is completely isolated, that is to say, it runs in the virtual machine, because the code running inside the virtual machine can not touch the network, file system or other processes, so Achieving maximum security and intelligent contract services can provide users with more diversified and more secure transaction services, greatly expanding the flexibility of the data sharing system.
  • FIG. 12 is a schematic structural diagram of a service processing apparatus according to an embodiment of the present invention.
  • the apparatus includes:
  • the receiving module 1201 is configured to receive a service processing request from a user client, where the service processing request is generated according to a table structure provided by the data sharing system, where the service processing request carries the user's service data and the user performs the service data.
  • Signature information ;
  • the extracting module 1202 is configured to extract the service data of the user and the signature information from the service processing request;
  • the generating module 1203 is configured to generate a service data record request of the data sharing system, where the service data record request carries the service data of the user and the signature information;
  • the sending module 1204 is configured to send the service data record request to at least one node in the data sharing system, so that the at least one node obtains the service data and signature information from the service data record request, And store it.
  • the extraction module 1202 is configured to identify a database type that generates the service processing request, and determine, according to the database type, a correspondence between the database type and the table structure to generate the service processing request.
  • the adopted table structure based on the table structure used to generate the service processing request, extracting the service data of the user and the signature information from a corresponding field of the service processing request.
  • the user client acquires service data input by the user based on the table structure
  • the user client obtains the private key of the user from the user client, and signs the service data by using the private key to obtain signature information of the user; and the service data and the user The signature information is encapsulated into the service processing request.
  • the node of the data sharing system includes:
  • the feature value generating module is configured to: when receiving the service data record request, generate a feature value of the current block according to the service data of the user and the signature information;
  • a block generating module configured to generate the current block based on the service data of the user, the signature information, a feature value of a previous block in the blockchain, and a feature value of the current block.
  • the block generation module includes:
  • a splitting module configured to divide the user's business data and the signature information into at least two parts of data
  • a calculation submodule configured to calculate, by using a different hash algorithm, the at least two pieces of data, to obtain a hash value of the at least two parts of data
  • a splicing submodule configured to splicing the hash values of the at least two pieces of data to obtain eigenvalues of the current block.
  • the splitting module is configured to determine the number of copies to be divided according to the service data of the user and the data amount of the signature information; and divide the service data and the signature information of the user into Data for the determined number of copies.
  • the block generating module is configured to use the private key of the node to compare the service data of the user, the signature information, the feature value of the previous block in the blockchain, and the current block.
  • the feature value is signed to obtain signature information of the current block; the service data of the user, the signature information, the feature value of the previous block in the blockchain, the feature value of the current block, and
  • the signature information of the current block is correspondingly stored, and the current block is generated.
  • the business data includes contract data including execution condition parameters of the contract and execution parameters.
  • the contract data is a binary code including a function name and a parameter; or the contract data is a script code.
  • the node further includes a contract execution module, configured to perform the service processing indicated by the contract data based on the execution parameter if the execution condition parameter is satisfied.
  • FIG. 13 is a schematic structural diagram of a service processing apparatus according to an embodiment of the present invention.
  • the apparatus includes:
  • the receiving module 1301 is configured to receive a service processing request of the user client, where the service processing request carries service data and a public key of the user client, where the service data includes address information of the user client;
  • a generating module 1302 configured to generate check address information of the user client according to the public key of the user client;
  • the service request processing module 1303 is configured to: if the check address information of the user client is consistent with the address information included in the service data, respond to the service processing request, and if not, intercept the service processing request.
  • the generating module 1302 includes:
  • a public key hash value obtaining submodule configured to obtain a public key hash value of the user client
  • a hash value obtaining submodule configured to perform at least two hash operations on the public key hash value to obtain a hash value of the public key hash value
  • a check code obtaining submodule configured to extract, from the hash value of the public key hash value, a byte of a preset number of bits as a check code
  • An address information obtaining sub-module configured to splicing the public key hash value and the check code, and performing encoding processing on the spliced character string according to a data format supported by the data sharing system, to obtain a The address information of the user client.
  • the address information obtaining submodule is configured to splicing the version information of the data sharing system, the public key hash value, and the check code.
  • the service processing request further includes signature information, and the signature information is obtained by the user client by using the private key of the user client to sign the service data.
  • FIG. 14 is a schematic structural diagram of a service processing apparatus according to an embodiment of the present invention.
  • the apparatus includes:
  • the service data obtaining module 1401 is configured to acquire service data.
  • the private key obtaining module 1402 is configured to acquire a private key of the user client.
  • the signing module 1403 is configured to sign the service data by using a private key of the user client, to obtain signature information of the user client;
  • the public key generating module 1404 is configured to generate a public key of the user client according to the private key of the user client;
  • the request sending module 1405 is configured to encapsulate the service data, the signature information of the user client, and the public key of the user client into a service processing request, and send the service processing request to the data sharing system.
  • the private key obtaining module includes:
  • a random number generation submodule for generating a random number of the first specified number of bits by using an asymmetric encryption algorithm
  • the extension submodule is configured to perform bit number expansion on the random number of the first specified number of bits to obtain a random number of the second specified number of bits.
  • the extension sub-module is configured to splicing two random numbers of the first specified number of bits to obtain a random number of the second specified number of bits.
  • the extension submodule is configured to connect a tail of a random number of the first specified number of bits with a header of another random number of the first specified number of bits to obtain the Two specified number of random numbers; or,
  • the service processing device provided by the foregoing embodiment is only illustrated by the division of each functional module. In actual applications, the function distribution may be completed by different functional modules as needed. The internal structure of the device is divided into different functional modules to perform all or part of the functions described above.
  • the service processing device and the service processing method embodiment provided in the foregoing embodiments are in the same concept, and the specific implementation process is described in detail in the method embodiment, and details are not described herein again.
  • This embodiment provides a terminal that runs the user client in the foregoing method, and is configured to perform the service processing method provided in the foregoing embodiments.
  • the terminal 1500 includes:
  • the terminal 1500 may include an RF (Radio Frequency) circuit 110, a memory 120 including one or more computer readable storage media, an input unit 130, a display unit 140, a sensor 150, an audio circuit 160, and a WiFi (Wireless Fidelity, wireless).
  • the fidelity module 170 includes a processor 180 having one or more processing cores, and a power supply 190 and the like. It will be understood by those skilled in the art that the terminal structure shown in FIG. 15 does not constitute a limitation to the terminal, and may include more or less components than those illustrated, or a combination of certain components, or different component arrangements. among them:
  • the RF circuit 110 can be used for transmitting and receiving information or during a call, and receiving and transmitting signals. Specifically, after receiving downlink information of the base station, the downlink information is processed by one or more processors 180. In addition, the data related to the uplink is sent to the base station. .
  • the RF circuit 110 includes, but is not limited to, an antenna, at least one amplifier, a tuner, one or more oscillators, a Subscriber Identity Module (SIM) card, a transceiver, a coupler, an LNA (Low Noise Amplifier). , duplexer, etc.
  • RF circuitry 110 can also communicate with the network and other devices via wireless communication.
  • the wireless communication may use any communication standard or protocol, including but not limited to GSM (Global System of Mobile communication), GPRS (General Packet Radio Service), CDMA (Code Division Multiple Access). , Code Division Multiple Access), WCDMA (Wideband Code Division Multiple Access), LTE (Long Term Evolution), e-mail, SMS (Short Messaging Service), and the like.
  • GSM Global System of Mobile communication
  • GPRS General Packet Radio Service
  • CDMA Code Division Multiple Access
  • WCDMA Wideband Code Division Multiple Access
  • LTE Long Term Evolution
  • e-mail Short Messaging Service
  • the memory 120 can be used to store software programs and modules, and the processor 180 executes various functional applications and data processing by running software programs and modules stored in the memory 120.
  • the memory 120 may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application required for at least one function (such as a sound playing function, an image playing function, etc.), and the like; the storage data area may be stored according to The data created by the use of the terminal 1500 (such as audio data, phone book, etc.) and the like.
  • memory 120 can include high speed random access memory, and can also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid state storage device. Accordingly, memory 120 may also include a memory controller to provide access to memory 120 by processor 180 and input unit 130.
  • the input unit 130 can be configured to receive input numeric or character information and to generate keyboard, mouse, joystick, optical or trackball signal inputs related to user settings and function controls.
  • input unit 130 can include touch-sensitive surface 131 as well as other input devices 132.
  • Touch-sensitive surface 131 also referred to as a touch display or trackpad, can collect touch operations on or near the user (such as a user using a finger, stylus, etc., on any suitable object or accessory on touch-sensitive surface 131 or The operation near the touch-sensitive surface 131) and driving the corresponding connecting device according to a preset program.
  • the touch-sensitive surface 131 can include two portions of a touch detection device and a touch controller.
  • the touch detection device detects the touch orientation of the user, and detects a signal brought by the touch operation, and transmits the signal to the touch controller; the touch controller receives the touch information from the touch detection device, converts the touch information into contact coordinates, and sends the touch information.
  • the processor 180 is provided and can receive commands from the processor 180 and execute them.
  • the touch-sensitive surface 131 can be implemented in various types such as resistive, capacitive, infrared, and surface acoustic waves.
  • the input unit 130 can also include other input devices 132.
  • other input devices 132 may include, but are not limited to, one or more of a physical keyboard, function keys (such as volume control buttons, switch buttons, etc.), trackballs, mice, joysticks, and the like.
  • Display unit 140 can be used to display information entered by the user or information provided to the user and various graphical user interfaces of terminal 1500, which can be constructed from graphics, text, icons, video, and any combination thereof.
  • the display unit 140 may include a display panel 141.
  • the display panel 141 may be configured in the form of an LCD (Liquid Crystal Display), an OLED (Organic Light-Emitting Diode), or the like.
  • the touch-sensitive surface 131 may cover the display panel 141, and when the touch-sensitive surface 131 detects a touch operation thereon or nearby, it is transmitted to the processor 180 to determine the type of the touch event, and then the processor 180 according to the touch event The type provides a corresponding visual output on display panel 141.
  • touch-sensitive surface 131 and display panel 141 are implemented as two separate components to implement input and input functions, in some embodiments, touch-sensitive surface 131 can be integrated with display panel 141 for input. And output function.
  • Terminal 1500 can also include at least one type of sensor 150, such as a light sensor, motion sensor, and other sensors.
  • the light sensor may include an ambient light sensor and a proximity sensor, wherein the ambient light sensor may adjust the brightness of the display panel 141 according to the brightness of the ambient light, and the proximity sensor may close the display panel 141 when the terminal 1500 moves to the ear. / or backlight.
  • the gravity acceleration sensor can detect the magnitude of acceleration in all directions (usually three axes). When it is stationary, it can detect the magnitude and direction of gravity.
  • the gesture of the mobile phone such as horizontal and vertical screen switching, related Game, magnetometer attitude calibration), vibration recognition related functions (such as pedometer, tapping), etc.; as for the terminal 1500 can also be configured with gyroscopes, barometers, hygrometers, thermometers, infrared sensors and other sensors, here Let me repeat.
  • the audio circuit 160, the speaker 161, and the microphone 162 can provide an audio interface between the user and the terminal 1500.
  • the audio circuit 160 can transmit the converted electrical data of the received audio data to the speaker 161 for conversion to the sound signal output by the speaker 161; on the other hand, the microphone 162 converts the collected sound signal into an electrical signal by the audio circuit 160. After receiving, it is converted into audio data, and then processed by the audio data output processor 180, transmitted to the terminal, for example, via the RF circuit 110, or outputted to the memory 120 for further processing.
  • the audio circuit 160 may also include an earbud jack to provide communication of the peripheral earphones with the terminal 1500.
  • WiFi is a short-range wireless transmission technology
  • the terminal 1500 can help users to send and receive emails, browse web pages, and access streaming media through the WiFi module 170, which provides wireless broadband Internet access for users.
  • FIG. 15 shows the WiFi module 170, it can be understood that it does not belong to the essential configuration of the terminal 1500, and may be omitted as needed within the scope of not changing the essence of the invention.
  • the processor 180 is the control center of the terminal 1500, which connects various portions of the entire handset using various interfaces and lines, by running or executing software programs and/or modules stored in the memory 120, and recalling data stored in the memory 120, The various functions and processing data of the terminal 1500 are performed to perform overall monitoring of the mobile phone.
  • the processor 180 may include one or more processing cores; preferably, the processor 180 may integrate an application processor and a modem processor, where the application processor mainly processes an operating system, a user interface, an application, and the like.
  • the modem processor primarily handles wireless communications. It can be understood that the above modem processor may not be integrated into the processor 180.
  • the terminal 1500 also includes a power source 190 (such as a battery) for powering various components.
  • the power source can be logically coupled to the processor 180 through a power management system to manage functions such as charging, discharging, and power management through the power management system.
  • Power supply 190 may also include any one or more of a DC or AC power source, a recharging system, a power failure detection circuit, a power converter or inverter, a power status indicator, and the like.
  • the terminal 1500 may further include a camera, a Bluetooth module, and the like, and details are not described herein again.
  • the display unit of the terminal is a touch screen display
  • the terminal further includes a memory, and one or more programs, wherein one or more programs are stored in the memory and configured to be processed by one or more Execution.
  • the one or more programs include instructions for performing user client operations in the business process method.
  • FIG. 16 is a block diagram of a service processing apparatus 1600, according to an exemplary embodiment.
  • device 1600 can be a data sharing system gateway or node in a data sharing system.
  • apparatus 1600 includes a processing component 1622 that further includes one or more processors, and memory resources represented by memory 1632 for storing instructions executable by processing component 1622, such as an application, machine readable instruction.
  • An application stored in memory 1632 can include one or more modules each corresponding to a set of instructions.
  • processing component 1622 is configured to execute instructions to perform the business processing methods described above, such as the methods illustrated in Figures 2 and 6, and the functions performed by the apparatus illustrated in Figure 12.
  • Apparatus 1600 can also include a power supply component 1626 configured to perform power management of apparatus 1600, a wired or wireless network interface 1650 configured to connect apparatus 1600 to the network, and an input/output (I/O) interface 1658.
  • Apparatus 1600 may operate based on an operating system stored in the memory 1632, for example, Windows Server TM, Mac OS X TM , Unix TM, Linux TM, FreeBSD TM or the like.
  • non-transitory computer readable storage medium comprising instructions, such as a memory comprising instructions executable by a processor in a terminal to perform a resource issuance method in the embodiments described below Or resource collection method.
  • the non-transitory computer readable storage medium may be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, and an optical data storage device.
  • a person skilled in the art may understand that all or part of the steps of implementing the above embodiments may be completed by hardware, or may be instructed by a program to execute related hardware, and the program may be stored in a computer readable storage medium.
  • the storage medium mentioned may be a read only memory, a magnetic disk or an optical disk or the like.

Abstract

本发明公开了一种业务处理方法、装置以及数据共享系统,所述方法包括:从用户客户端接收业务处理请求,所述业务处理请求是根据数据共享系统提供的表结构生成,所述业务处理请求携带业务数据和所述业务数据的签名信息;根据预存的所述表结构从所述业务处理请求中提取所述业务数据和所述签名信息;生成所述数据共享系统的业务数据记录请求,所述业务数据记录请求携带所述业务数据以及所述签名信息;将所述业务数据记录请求发送至所述数据共享系统中的至少一个节点以使所述至少一个节点从所述业务数据记录请求中获取所述业务数据以及签名信息,并进行存储。

Description

业务处理方法、装置、数据共享系统及存储介质
本申请要求于2017年3月30日提交中国专利局、申请号为201710203678.3、发明名称为“业务处理方法、装置以及数据共享系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及网络技术领域,特别涉及一种业务处理方法、装置以及数据共享系统。
背景技术
随着信息技术的不断发展,区块链作为一项全新的技术得到大力的发展。区块链技术脱胎于2008年出现的比特币技术,是比特币的底层技术。区块链是指一串使用密码学方法相关联产生的区块,区块链中每个区块中的区块数据均与上一个区块中的区块数据存在关联,因此,无法通过篡改区块数据来进行作弊,能够确保任何区块上的区块数据均是公开透明的,提高了输入信息的安全性。
发明内容
本发明实施例提供了一种业务处理方法、装置以及数据共享系统。所述技术方案如下:
本发明一实施例提供了一种业务处理方法,所述方法包括:
从用户客户端接收业务处理请求,所述业务处理请求是根据数据共享系统提供的表结构生成,所述业务处理请求携带业务数据和所述业务数据的签名信息;
根据预存的所述表结构从所述业务处理请求中提取所述业务数据和所述签名信息;
生成所述数据共享系统的业务数据记录请求,所述业务数据记录请求携带所述业务数据以及所述签名信息;
将所述业务数据记录请求发送至所述数据共享系统中的至少一个节点以使所述至少一个节点从所述业务数据记录请求中获取所述业务数据以及签名信息,并进行 存储。
本发明一实施例提供了一种业务处理装置,所述装置包括:处理器和非易失性存储器,所述处理器执行所述非易失性存储器中的机器可读指令,用于:
从用户客户端接收业务处理请求,所述业务处理请求是根据数据共享系统提供的表结构生成,所述业务处理请求携带业务数据和所述业务数据的签名信息;
根据预存的所述表结构从所述业务处理请求中提取所述业务数据和所述签名信息;
生成所述数据共享系统的业务数据记录请求,所述业务数据记录请求携带所述业务数据以及所述签名信息;
将所述业务数据记录请求发送至所述数据共享系统中的至少一个节点,以使所述至少一个节点从所述业务数据记录请求中获取所述业务数据以及签名信息,并进行存储。
本发明一实施例提供了一数据共享系统,包括:数据共享系统网关和多个节点;
其中,所述数据共享系统网关,用于从用户客户端接收业务处理请求,所述业务处理请求是根据数据共享系统提供的表结构生成,所述业务处理请求携带业务数据和所述业务数据的签名信息;根据预存的所述表结构从所述业务处理请求中提取所述业务数据和所述签名信息;生成所述数据共享系统的业务数据记录请求,所述业务数据记录请求携带所述业务数据以及所述签名信息;将所述业务数据记录请求发送至所述数据共享系统中的至少一个节点;
所述多个节点中的任一个节点,用于从所述业务数据记录请求中获取所述业务数据以及签名信息,进行存储。
通过为客户端提供数据共享系统所支持的表结构,使得客户端能够基于表结构在数据库中触发数据库语句形式的业务处理请求,从而在数据共享系统侧接收到这类数据库语句形式的业务处理请求时,可以实现对业务处理请求的识别和处理,大大降低了数据共享系统的技术门槛,能够多种现有的数据库业务系统均可以与数据共享系统实现无缝对接,提高了区块链技术的普适性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需 要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的数据共享系统的结构示意图;
图2是本发明实施例提供的一种业务处理方法的流程图;
图3是本发明实施例提供一种用户客户端的界面显示图;
图4是本发明实施例提供的用户客户端以及数据共享系统之间的适配关系图;
图5是本发明实施例提供的一种区块数据内容的示意图;
图6是本发明实施例提供的一种业务处理方法的流程图;
图7是本发明实施例提供的一种企业客户端与数据共享系统之间的数据交互图;
图8是本发明实施例提供的一种地址信息生成方式的示意图;
图9是本发明实施例提供的一种生成原理图;
图10是本发明实施例提供的一种数据共享系统的层示意图;
图11是本发明实施例提供的一种数据共享系统的功能示意图;
图12是本发明实施例提供的一种业务处理装置的结构示意图;
图13是本发明实施例提供的一种业务处理装置的结构示意图;
图14是本发明实施例提供的一种业务处理装置的结构示意图;
图15是本发明实施例提供的一种终端1500的结构框图;
图16是根据一示例性实施例示出的一种业务处理装置1600的框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
参见图1所示的数据共享系统,数据共享系统100是指用于在节点之间进行数据共享的系统,该数据共享系统100可以为用户客户端提供数据服务。所述数据共享系统100包括:数据共享系统网关101和多个节点102,例如终端设备。该数据共享系统100可以包括:数据共享系统网关101和多个节点102。数据共享系统网 关101用于进行请求转换、地址信息校验等功能,多个节点102可以是指数据共享系统中各个企业和金融机构提供的服务器等。其中,所述数据共享系统网关101用于接收业务处理请求,所述业务处理请求是根据数据共享系统提供的表结构生成的,所述业务处理请求携带用户的业务数据和所述用户对所述业务数据的签名信息;从所述业务处理请求中提取所述用户的业务数据和所述签名信息;生成所述数据共享系统的业务数据记录请求,所述业务数据记录请求携带所述用户的业务数据以及所述签名信息;将所述业务数据记录请求发送至所述数据共享系统中的至少一个节点102。所述多个节点中的任一个节点102用于基于接收到的业务数据记录请求提供数据服务,例如写入共享账本或是账户信息查询等服务。
每个节点102在进行正常工作时可以接收用户客户端的输入信息(如业务数据),并基于接收到的输入信息维护该数据共享系统内的共享数据。为了保证数据共享系统内的信息互通,数据共享系统中的每个节点之间可以采用任一种通信协议,以使得节点之间可以进行信息传输。该通信协议可以包括点对点(Peer to Peer,P2P)、传输控制协议(Transmission Control Protocol,TCP)、用户数据报协议(User Datagram Protocol,UDP)以及多播形式。当数据共享系统中的任意节点接收到输入信息时,数据共享系统中的其他节点便根据共识算法获取该输入信息,将该输入信息作为共享数据中的数据进行存储,使得数据共享系统中全部节点上存储的数据均一致。其中,数据共享系统可为交易系统,交易系统指用于金融交易的系统。交易系统中可以包括多个节点,每个节点在进行交易时生成账本数据,并基于账本数据维护该交易系统内的共享账本。
1、由于区块链技术独特的系统架构以及数据处理方式,很难与传统业务无缝对接,传统的数据库业务,对技术门槛的要求比较高,在适用性上较弱,不利于区块链技术的推广和应用。
2、现有的数据共享系统一般采用的密钥强度较低,例如,bitcoin(比特币系统)采用单纯256bits的随机数,单纯采用SHA256摘要算法,将来有可能存在被破解可逆的风险。
3、智能合约的安全性与灵活性不兼备。现有的智能合约技术存在很多安全问题,而比特币机制所提供的图灵不完备,其语言不具备多种业务场景使用的灵活性。
针对上述缺陷,本发明实施例提供了相应解决方式,下面基于不同侧面对相应 解决方式进行介绍。
本发明实施例提供了一种业务处理方法,用以降低数据共享系统的技术门槛,能够使多种现有的数据库业务系统均可以与数据共享系统实现无缝对接,提高了区块链技术的普适性。参见图2,以用户客户端以及数据共享系统为交互主体为例对该业务处理方法进行说明:
在步骤201中,用户客户端获取业务处理请求,该业务处理请求是根据数据共享系统提供的表结构生成,该业务处理请求中携带用户的业务数据和该用户对该业务数据的签名信息。
用户客户端为事先已经注册到数据共享系统的用户所使用的客户端,用户可以通过该用户客户端与数据共享系统进行业务处理。对该用户客户端来说,在为用户呈现业务处理界面时,可以在业务处理界面中显示由数据共享系统提供的表结构,使得用户客户端能够基于该表结构获取业务处理请求。其中,表结构包括:数据库中用于存储数据的表的名称、字段,作为主键的字段等信息。上述信息用于进行数据查询和数据插入等业务处理。
需要说明的是,该构造业务处理请求的过程可以是:由用户直接按照表结构输入业务处理请求的数据库语句并由用户客户端向语句中添加签名信息,也可以是由用户客户端基于用户所输入的业务数据等来生成语句,并向语句中添加业务数据的签名信息。其具体过程可以包括:用户客户端获取该用户的业务数据;该用户客户端获取该用户的私钥,并采用该私钥对该业务数据进行签名,得到该用户的签名信息;将该业务数据和该用户的签名信息封装为该业务处理请求。其中,用户所输入的业务数据后续会被存储于数据共享系统所生成区块的信息字段内。其中,业务数据可以是指用户的交易信息,例如,该业务数据可以包括:转出方地址信息,转入方地址信息以及交易金额。
另一点需要说明的是,用户客户端在进行签名时,可以基于不同业务处理请求所对应的业务类型,来选择业务数据中的不同长度的数据进行签名,例如,有些业务处理请求的数据库语句本身较长,则可以获取较短的一段业务数据进行签名,而一些业务处理请求的数据库语句本身较短,则可以获取较长的一段业务数据进行签名,从而做到针对不同业务级别的签名。对普通SQL语句自动做业务级别签名。
例如,以用户客户端所使用的数据库系统为mysql,而数据共享系统被命名为 trustsql为例,trustsql网关(即接入层(API))适配mysql,开发人员可以通过mysql自带驱动连接trustsql以加入该数据共享系统,对于开发人员来说,其所进行的操作与平时操作mysql并无区别,trustsql底层的协议对该用户客户端来说不可见,trustsql为该用户客户端提供固定的表结构可支持在数据共享系统的区块的info字段进行insert、select账户等操作。
用户客户端所获取到的sql语句可以为:
Insert into t_transaction set//该语句的功能在于向共享账本中加入交易信息
from_address='1H3ktZnx6XtxkC4Ck31r4GzjpjWaLHvGVj',//转出方地址信息
to_address="1MZLjFBPgXTgWSxZJEhFkgwaTf93cStDCA",//转入方地址信息
amount=100,//交易金额为100
sign='MEQCIHOksbcX9kT0gJOJkIe2HlODcgHetqAlcfx7dMZXapDjAiB9T6e1Q8McMQAvYYbNdWuQrvaOl6/oO7YEgqR5jGBy5g',//交易信息的签名
publickey='BHSgdFFuE8p0FQ5+Ge1AO5XAj8su5B8UpAtWo9zNXifUk9+6T4L5r VxhxRWU7t83zek7EYTYap6EY1LWl2Qc/Ro';//交易信息的公钥
其中,sign是根据椭圆曲线签名算法算出;
sign=ECDSA(private_key,(from_address+to_address+amount)),
其中,private_key为用户持有的私钥,“from_address+to_address+amount”为交易信息,由于私钥是由用户客户端生成以及保存,因此,该签名信息可以防止用户的业务数据被篡改。该私钥的具体生成过程可以参见下述密钥管理部分的详述。
如果发生黑客登录数据库篡改数据库中的数据,数据共享系统可以比较查询请求中所携带的签名信息与相应区块中所存储的签名信息,一旦查询确定两次签名信息不一致,则说明数据被篡改过,并可以通过区块特征值来确定是哪部分业务数据被篡改,从而为使用者返回错误码以指示该数据被篡改过。
需要说明的是,对于用户客户端来说,在与数据共享系统适配后,可以屏蔽其他业务表,只暴露该数据共享系统中的区块链表。例如,以用户客户端所使用的数据库系统为mysql为例,在登录用户客户端后,其mysql的显示界面可以从原有表的显示(如图3中上图所示)更改为区块链表(如图3中下图所示)。
在步骤202中,该用户客户端向数据共享系统发送该业务处理请求。
用户客户端可以通过与数据共享系统之间的连接向数据共享系统发送该业务请 求,该发送可以基于事先的系统适配来实现,使得用户客户端可以通过客户端的数据库驱动来向该数据共享系统发送业务处理请求。
在步骤203中,当数据共享系统的业务处理装置接收到业务处理请求时,根据预存的该表结构从该业务处理请求中提取该用户的业务数据和该签名信息。
在本发明实施例中,该数据共享系统可以具有数据共享系统网关,用于隔离外部网络和系统内部的节点,使得对于外部网络用户来说,系统内部的节点对于他们并不透明,不会被外部网络用户感知,至于具体采用什么数据协议也无需被外部网络用户所获知。而数据共享系统网关可以用于接收该业务处理请求,并进行将业务处理请求转换为业务数据记录请求的步骤。
由于事先已经做过了用户客户端与数据共享系统之间的适配,因此,数据共享系统的网关可以在接收到业务处理请求后,将业务处理请求中的关键数据提取出来。当然,由于数据共享系统可以支持多个不同的数据库类型,则该步骤203也可以包括下述过程:识别生成该业务处理请求的数据库类型,例如该业务处理请求中携带的数据库类型;根据该数据库类型,从数据库类型与表结构的对应关系中,确定生成该业务处理请求所采用的表结构;基于生成该业务处理请求所采用的表结构,从该业务处理请求的对应字段中提取该用户的业务数据和该签名信息。由于不同数据库类型所对应的数据库语句可能有所差别,因此,可以为其提供不同的表结构来生成业务处理请求,因此,在提取过程中也要先识别出到底是由哪种数据库类型生成的业务处理请求,才能做到准确的提取。当然,对于不同的数据库类型,还可以提供相同的表结构,但是仍需知道表结构在不同数据库类型中的含义,也即是获知生成业务处理请求的数据库类型,以实现有效的识别。如图4所示,数据共享系统所支持的数据库类型包括:Oracle、MySQL、SQL server、Redis、memcche以及File等数据库类型,本发明实施例对此不作具体限定。
由于在数据共享系统中,一旦增加了支持哪个数据库类型的用户系统,则可以直接在数据共享系统中与数据库协议进行适配,也即是在数据共享系统网关上设置针对该数据库类型的表结构以及提取方式,而无需修改数据共享系统内部已有的数据协议等,而对于用户系统侧来说,由于无需在用户系统侧和数据共享系统内部隔离,用户系统侧只需获知数据共享系统提供的表结构,即可以基于该表结构通过自身已有的数据库驱动来生成业务处理请求,以在数据共享系统中进行共享账本的写 入(insert)、选择(select)账户进行操作等。
以上述sql语句为例,可以提取出:
Insert into t_transaction set
from_address='1H3ktZnx6XtxkC4Ck31r4GzjpjWaLHvGVj',
to_address="1MZLjFBPgXTgWSxZJEhFkgwaTf93cStDCA",
amount=100,//以上为业务数据
sign='MEQCIHOksbcX9kT0gJOJkIe2HlODcgHetqAlcfx7dMZXapDjAiB9T6e1Q8McMQAvYYbNdWuQrvaOl6/oO7YEgqR5jGBy5g',//签名信息
publickey='BHSgdFFuE8p0FQ5+Ge1AO5XAj8su5B8UpAtWo9zNXifUk9+6T4L5r VxhxRWU7t83zek7EYTYap6EY1LWl2Qc/Ro';//公钥
进一步地,当数据共享系统接收到业务处理请求时,可以根据业务处理请求所携带的用户客户端的公钥,生成该用户客户端的校验地址信息;如果该用户客户端的校验地址信息和该业务数据所包括的地址信息一致,则响应该业务处理请求,执行步骤203以及后续步骤,如果不一致,则拦截该业务处理请求,不再执行后续步骤,进一步地,还可以提醒用户客户端当前业务处理请求遭到篡改。其中具体生成用户客户端的校验地址信息的过程在后续密钥管理部分进行详述,在这里不做赘述。
在步骤204中,该数据共享系统生成该数据共享系统的业务数据记录请求,该业务数据记录请求携带该用户的业务数据以及该签名信息。
数据共享系统基于上述提取得到的用户的业务数据以及该签名信息,按照数据共享系统所支持的请求格式,重新生成一条业务数据记录请求,以便在数据共享系统内部实现数据处理。该过程可以看做是对业务处理请求的格式转化,以便使得数据库语句能够被数据共享系统所识别并进行处理。通过这种格式转化,使得数据共享系统的适用性大大增强,降低了技术门槛。
在步骤205中,该数据共享系统将该业务数据记录请求发送至该数据共享系统中的至少一个节点,以使所述至少一个节点从所述业务数据记录请求中获取所述业务数据以及签名信息,并进行存储。
该业务数据记录请求可以在数据共享系统中进行全局发送,也即是,由数据共享系统网关将该业务数据记录请求广播至数据共享系统中的各个节点,也可以由数据共享系统网关将该区块链接入请求广播至数据共享系统的关键节点或是交易节 点,而不是全部节点,再由这些节点进行进一步广播,本发明实施例对具体发送至哪些节点不做限定。
在本申请一实施例中,当节点接收到该业务数据记录请求时,根据该用户的业务数据、该签名信息生成当前区块的特征值。
当节点接收到业务数据记录请求时,则可以获取父区块的区块特征值,父区块为与当前区块相关联的上一个区块,区块链中的每个区块的区块数据均包括输入信息(也即是业务数据)、签名信息、父区块的区块头特征值、输入信息特征值、版本号、时间戳和难度值等。在生成区块时,需要根据上述信息进行特征值计算,计算当前区块的区块特征值。
而为了增加破解的难度,在生成当前区块的特征值时,可以采用多种哈希算法进行并联计算,例如,可以将该用户的业务数据、该签名信息等用于生成特征值的信息分为至少两部分数据;对该至少两部分数据分别采用不同的哈希算法进行计算,得到该至少两部分数据的哈希值;将该至少两部分数据的哈希值拼接,得到该当前区块的特征值。例如,该不同的哈希算法可以包括SHA256算法、SM3算法等。
其中,该将该用户的业务数据、该签名信息分为至少两部分数据包括:根据该用户的业务数据、该签名信息的数据量,确定待分割的份数;将该用户的业务数据、该签名信息分为所确定的份数的数据。可以将用于生成特征值的信息均分为两部分,例如256bits的数据分割为2份,前128bits采用SHA256算法,后128bits采用SM3算法。当然也可以采用三种不同算法,也即是,将用于生成特征值的信息均分为三部分,不同部分采用不同算法,或者相邻部分采用不同算法,本发明实施例对此不做具体限定。并联算法后的特征值更具不可逆性,大大提高了安全性。且还可以根据数据共享系统的算法设置,随时变更生成特征值所采用的算法,以在被破解的情况下,及时起到救济的作用。
在本申请一实施例中,该节点基于该用户的业务数据、该签名信息、该区块链中前一区块的特征值以及当前区块的特征值,生成该当前区块。
需要说明的是,上述校验通过可以是指数据共享系统中的多个节点采用共识算法确定可以将本次业务数据加入区块链。
进一步地,在本步骤的基础上,还可以由节点基于节点自身的私钥对区块内待存储的信息进行再次签名,以达到在业务数据的签名信息的一层防篡改的基础上, 第二层防篡改的机制,能够大大提高安全性。也即是,该步骤可以包括:该节点采用节点的私钥对该用户的业务数据、该签名信息、该区块链中前一区块的特征值以及当前区块的特征值进行签名,得到该当前区块的签名信息;将该用户的业务数据、该签名信息、该区块链中前一区块的特征值、当前区块的特征值以及该当前区块的签名信息对应存储,生成该当前区块。参见图5图中的Node_sign即是指当前区块的签名信息。Node_sign由于记录了该节点使用自己的私钥签名本条数据的摘要,可以防止节点被攻破后篡改本地数据。图5中的Index属性标识了每条业务数据的顺序,从1开始,依次递增,如果出现问题节点(也即是区块内的数据出现错误的节点),可按照index编号重新获取其他节点的正确数据修复自己,新加入节点同样可以按照某个index上做的快照,拉取最近的快照数据,与增量的记录,来最快速度追上现有节点的数据。而pre-hash是指父区块的区块特征值,hash是指当前区块的区块特征值。info表示该用户的业务数据。
针对现有的数据共享系统的密钥强度较低的问题,本发明实施例提供了一种管理服务,其中包括密钥管理方法,可以通过可扩展的密钥位数和/或可扩展的多种高强度哈希算法并联,以避免由于单一算法而被破解的风险。该密钥管理方法可以是针对数据共享系统的用户。用户是指通过数据共享系统进行业务处理的用户,可以为个人用户或企业用户。为了便于描述,在下文中将这类用户所使用的客户端称为用户客户端,为了能够使用数据共享系统所提供的服务,用户客户端需要在数据共享系统中进行注册,参见图6,下述步骤601至610为该注册过程以及注册成功后的业务处理过程。
在步骤601中,用户客户端向数据共享系统发送注册请求。
该注册请求可以用于注册数据共享系统,以进行业务处理。作为个人用户的用户客户端可以通过提供个人身份信息等基础信息,即可以进行注册行为。
在步骤602中,数据共享系统在接收到该注册请求时,为用户客户端进行注册,并在注册成功时为用户客户端提供密钥生成工具。
其中,该密钥生成工具用于指示在用户客户端生成密钥时采用的算法,例如在生成私钥时所采用的算法、在生成公钥时所采用的算法以及在生成地址信息时所采用的算法。
另外,对于一般用户来说,其注册请求可以仅携带一些注册所需的信息,例如 个人身份信息等,而对于企业用户来说,为了在提交注册请求时,还需提交相应的企业身份信息等资料,以便数据共享系统对其信息进行审核,在审核通过时,才能够为其进行注册。例如,以图7为例,由企业提交资料进行注册,经过审核后,向企业客户端返回密钥生成工具,而在企业客户端基于该密钥生成工具生成了公钥和地址信息后,数据共享系统的密钥管理服务可以记录企业的公钥、地址信息与企业身份的对应信息。公钥是可以公开的,每条业务处理请求可以携带企业客户端的签名信息和公钥,以便标识一个人的身份。另外,企业客户端可以进行基于公钥的账户信息查询,由数据共享系统根据公钥查询该企业客户端所有对应的地址信息,并获取各个地址信息以返回账户信息。该账户信息实际上是指该企业客户端的地址信息所对应的账户余额等信息。当然,还可以基于公钥进行其他业务处理请求,本发明实施例对此不做具体限定。
在步骤603中,用户客户端基于密钥生成工具,生成用户客户端的私钥。
对于用户客户端来说,其私钥由该用户客户端基于数据共享系统的密钥生成工具自行生成,例如,采用非对称加密算法,生成第一指定位数的随机数;将该第一指定位数的随机数进行位数扩展,得到第二指定位数的随机数,将该第二指定位数的随机数作为该用户客户端的私钥。其中,该位数扩展可以是成整数倍的扩展,如将256bits的随机数扩展为512bits的随机数。具体的位数扩展方式可以是基于该已获取到的随机数本身的字符进行,例如,将两个该第一指定位数的随机数进行拼接,得到第二指定位数的随机数。在这里,主要介绍三种拼接方式:
(1)将一个该第一指定位数的随机数的尾部和另一个该第一指定位数的随机数的头部相连,得到该第二指定位数的随机数。
这种收尾拼接的方式,使得同一个随机数重复了两次,这种拼接方式较简单,计算量小,可以避免对计算资源的过度占用。例如,对于随机数abc来说,可以将其扩展为abcabc。
(2)将一个该第一指定位数的随机数中预设位数的字符与另一个该第一指定位数的随机数中该预设位数的字符插空混合,得到该第二指定位数的随机数。
这种插空混合实际上是对随机数进行错位交叉,这种拼接方式也较为简单,计算量小,仅需将其中一个随机数向后错位并与另一个随机数合并即可。例如,对于随机数abcde来说,可以将一个abcde向后错两位,如下述形式:
abcde
abcde
通过对上述错位后的随机数进行插空混合后,得到abcadbecde。
(3)将一个该第一指定位数的随机数和另一个该第一指定位数的随机数的字符打乱,得到该第二指定位数的随机数。这种随机打乱的方式由于是随机进行的,因此,其不可逆性最为稳定,使得基于这种私钥所生成的公钥的安全性更高。
通过上述位数扩展所得到的私钥,以初始采用算法所生成的随机数为256bits的算法强度为例,如果所设计的可扩展的密钥长度,最大支持到512bits,则按照目前的量子计算机计算速度,假设某超级计算机1秒能暴力尝试10亿个密码,破解15位需要243亿年,破解难度足够保证密钥的安全性。当然,除了上述介绍的几种拼接方式以外,还可以有其他拼接方式,这里不做过多赘述,需知只要能将数字打混的拼接方式均适用于本发明中。
在步骤604中,该用户客户端基于用户客户端的私钥和密钥生成工具,生成该用户客户端的公钥,并将该用户客户端的公钥发送至数据共享系统。
其中,生成该用户客户端的公钥包括:根据该用户客户端的私钥和密钥生成工具所指示的用于生成公钥的算法,生成该用户客户端的公钥。例如,如果密钥生成工具所指示的用于生成公钥的算法为哈希运算,则可以根据该哈希运算的具体算法对私钥进行计算,以得到公钥。例如,如果该哈希运算的具体算法为SECO256K1(椭圆曲线算法),则基于该算法得到用户客户端的公钥。
在数据共享系统中,可以采用用户客户端的公钥来代表用户客户端的位移身份,因此,还可以将该公钥发送至数据共享系统,使其基于多个用户客户端的公钥生成公钥列表,并广播至各个节点,以使得各个节点能够在进行业务处理时对业务处理请求进行校验,当接收到任一业务处理请求时,先查询该公钥列表中是否包括该业务处理请求所携带的公钥,如果包括,则可以对该业务处理请求进行下一步处理,例如对签名信息的校验等等。
在步骤605中,该用户客户端获取业务数据,并获取用户客户端的私钥。
该获取业务数据和私钥的过程与上述步骤201中所描述的过程同理,在此不做赘述。
在步骤606中,该用户客户端采用该用户客户端的私钥对该业务数据进行签名, 得到该用户客户端的签名信息。
该得到签名信息的具体过程也可以与步骤201中的签名信息生成过程同理,在此不做赘述。
在步骤607中,该用户客户端根据该用户客户端的私钥生成该用户客户端的公钥。
该步骤607是指实时生成公钥的过程,在实际实现中,该公钥也可以是事先生成并存储于用户客户端,以供在有业务需求时从存储器中提取并使用,而无需实时生成,以降低实际运行中所需的计算资源。
在步骤608中,该用户客户端将该业务数据、该用户客户端的签名信息和该用户客户端的公钥封装为业务处理请求,并向数据共享系统发送该业务处理请求。
该步骤608的过程与步骤201中的业务处理请求生成过程同理,在此不做赘述。
在步骤609中,该数据共享系统在接收用户客户端的业务处理请求后,根据该用户客户端的公钥,生成该用户客户端的校验地址信息,该业务处理请求携带业务数据以及该用户客户端的公钥,该业务数据包括该用户客户端的地址信息。
其中,根据该用户客户端的公钥,生成该用户客户端的校验地址信息的具体过程可以包括:获取该用户客户端的公钥哈希值;对该公钥哈希值进行至少两次哈希运算,得到该公钥哈希值的哈希值;从该公钥哈希值的哈希值中提取前预设位数的字节作为校验码;将该公钥哈希值和该校验码进行拼接,并对拼接得到的字符串进行符合该数据共享系统所支持的数据格式的编码处理,得到该用户客户端的地址信息。进一步地,在拼接时,还可以加入用于表示系统版本的版本信息,也即是,将该数据共享系统的版本信息、该公钥哈希值和该校验码进行拼接。
例如,参见图8,该公钥的生成过程包括:用户客户端基于随机数算法(random(256)bits)生成私钥,再对该私钥进行SECO256K1运算,以得到公钥,数据共享系统基于公钥采用SHA256进行一次哈希运算,再基于得到的哈希值再次基于RIPEMD160进行一次哈希运算,得到公钥哈希值,再对公钥哈希值采用国密SM3进行两次哈希运算,以得到一个用于校验的字符串,并获取该字符串的前四位为校验码,进而将版本信息、公钥哈希值以及校验码进行拼接,再将拼接得到的字符串进行BASE58算法运算,以得到用户客户端的地址信息。
参见图9可知,地址信息的生成实际上是通过私钥—公钥—公钥哈希值—地址 信息这个流向进行,在该生成过程中,经历了多次不可逆运算,并且通过多次不可逆运算大大降低了最终地址信息的数据长度,进而进一步增加了地址信息的不可逆性,使得无法基于地址信息倒推出公钥,也即无法倒推出用户客户端的私钥,由于私钥是进行业务处理的必要信息,因此保障了用户的财产安全。
该地址信息事实上就代表了该用户客户端在数据共享系统中的账号,用户客户端可以通过该地址信息与其他用户客户端或是服务器进行业务处理,例如转账、认购等等交易行为。当然,为了进一步提高安全性,还可以在上述步骤中采用算法插拔设计,可在必要的场景切换为国密体系,例如,参见图8,生成私钥时可以将当前采用的SEKO256K1(椭圆曲线算法)替换成国密SM2算法,在对公钥进行哈希运算时可以将当前采用的SHA256算法替换成国密SM3算法,而在生成校验码的时候,可以将当前采用的SHA256算法替换成国密SM3算法。
在步骤610中,如果该用户客户端的校验地址信息和该业务数据所包括的地址信息一致,则响应该业务处理请求,如果不一致,则拦截该业务处理请求。
在此具体如何对业务处理请求进行响应的过程在此不做赘述,具体可以参照上述图2所示实施例中的节点侧处理过程。
而针对智能合约的安全性与灵活性问题,本发明实施例的业务处理请求中所携带的业务数据可以包括合约数据,所述合约数据包括:合约的执行条件参数以及执行参数。其中,合约的执行条件参数是指要执行该合约需要满足哪些条件,例如合约到期或是付款已到账等。而对于私有链和联盟链来说,由于存在不同的问题,例如,在完全受控的私有链里,通过在业务数据里直接植入函数名和参数的二进制代码,以形成合约调用,当调用方把智能合约流水写入链上时,其他节点会同步二进制代码,最后基于执行结果一起做共识,来完成一次智能合约调用。在不完全受控的联盟链里,通过在业务数据里植入编写好的脚本代码,以堆栈语言执行的规则执行非图灵完备的脚本代码,通过限制脚本长度做到防止死循环。如果满足所述执行条件参数,基于所述执行参数执行所述合约数据所指示的业务处理。
例如,如果你从网上买了某物,你可能不想立即付款,想等到卖家发货后再付款。所以你可以很容易地创建一个智能合约,并将智能合约的相关数据承载在业务处理请求中发至数据共享系统,使得数据共享系统能够将该智能合约加入区块链, 而智能合约的内容是只要联邦快递的数据表示商品已经发往目的地址,即将货款转给卖家。则当检测到符合上述条件,即可执行将货款转给卖家的业务处理。
本发明实施例所提供的数据共享系统,数据共享系统中可以包括接入层适配插件,该接入层适配插件实际上可以用于进行业务处理请求的格式转换,以使得该数据共享系统能够适用于采用不同数据库协议的客户端,而业务处理请求在经过接入层适配插件的处理后,可以由业务逻辑层进一步处理,例如发送至各个节点、进行身份校验以及其他处理,该处理过程涉及到存储插件、共识插件,还需要基于一定的通信协议进行,对于数据共享系统来说,其底层存储可以基于DB(Data Base,数据库)、文件(File)以及键值KV(Key-Value)等进行,而其共识插件主要用于验证数据共享系统内节点上数据的一致性使用,其可以采用Raft、Paxcos以及Pbft等任一种共识算法,而在数据共享系统中,还支持多种通信协议,如P2P、TCP以及广播等等,以实现系统内的数据交互。基于这样的数据共享系统的层架构,上述三个部分从功能上的架构还可以如图11所示,管理服务、数据服务以及智能合约服务。其中,管理服务可以提供密钥相关的管理服务,该管理服务分为密钥管理、身份识别以及节点管理。其中,密钥管理可以基于加强的密钥算法等来实现。节点管理,也即是对于每个需加入、退出联盟链、私有链的节点,在节点管理服务里都可对其进行操作,当新加入节点审批通过时,该节点在联盟链、私有链里会具备身份信息,同时广播到其他节点,每个节点有自己的公私钥对,可对自己节点广播数据做签名,其他节点收到请求后,会对签名的数据做校验,拦截非法信息,防止被篡改的可能。当旧节点需退出联盟链、私有链时,对该节点密钥进行作废处理,同时通知其他各节点,一起作废。而身份识别主要是基于公钥进行,一个公钥可以代表一个用户客户端的身份,用以进行业务处理请求校验、查询校验等等。进一步地,关于数据服务部分,该数据共享服务的数据服务可以基于用户数据进行区块链的相关处理。而智能合约服务主要采用以太网虚拟机(EVM)是以太网中智能合约的运行环境。智能合约的代码不仅被沙箱封装起来,事实上它的运行也被完全隔离,也就是说运行在虚拟机中,由于运行于虚拟机内部的代码不能接触到网络、文件系统或者其它进程,因此达到了最大化的安全保障,且智能合约服务能够为用户提供更加多样化和更具有保障性的交易服务,大大扩展了数据共享系统的灵活性。
图12是本发明实施例提供的一种业务处理装置的结构示意图。参见图12,所述装置包括:
接收模块1201,用于从用户客户端接收业务处理请求,所述业务处理请求根据数据共享系统提供的表结构生成,所述业务处理请求携带用户的业务数据和所述用户对所述业务数据的签名信息;
提取模块1202,用于从所述业务处理请求中提取所述用户的业务数据和所述签名信息;
生成模块1203,用于生成所述数据共享系统的业务数据记录请求,所述业务数据记录请求携带所述用户的业务数据以及所述签名信息;
发送模块1204,用于将所述业务数据记录请求发送至所述数据共享系统中的至少一个节点,以使所述至少一个节点从所述业务数据记录请求中获取所述业务数据以及签名信息,并进行存储。
在本发明一实施例中,该提取模块1202用于识别生成所述业务处理请求的数据库类型;根据所述数据库类型,从数据库类型与表结构的对应关系中,确定生成所述业务处理请求所采用的表结构;基于生成所述业务处理请求所采用的表结构,从所述业务处理请求的对应字段中提取所述用户的业务数据和所述签名信息。
在本发明一实施例中,用户客户端获取所述用户基于所述表结构所输入的业务数据;
所述用户客户端从该用户客户端中获取所述用户的私钥,并采用所述私钥对所述业务数据进行签名,得到所述用户的签名信息;将所述业务数据和所述用户的签名信息封装为所述业务处理请求。
在本发明一实施例中,该数据共享系统的节点包括:
特征值生成模块,用于接收到所述业务数据记录请求时,根据所述用户的业务数据、所述签名信息生成当前区块的特征值;
区块生成模块,用于基于所述用户的业务数据、所述签名信息、区块链中前一区块的特征值以及当前区块的特征值,生成所述当前区块。
在本发明一实施例中,该区块生成模块包括:
拆分子模块,用于将所述用户的业务数据、所述签名信息分为至少两部分数据;
计算子模块,用于对所述至少两部分数据分别采用不同的哈希算法进行计算, 得到所述至少两部分数据的哈希值;
拼接子模块,用于将所述至少两部分数据的哈希值拼接,得到所述当前区块的特征值。
在本发明一实施例中,该拆分子模块用于根据所述用户的业务数据、所述签名信息的数据量,确定待分割的份数;将所述用户的业务数据、所述签名信息分为所确定的份数的数据。
在本发明一实施例中,该区块生成模块用于采用节点的私钥对所述用户的业务数据、所述签名信息、所述区块链中前一区块的特征值以及当前区块的特征值进行签名,得到所述当前区块的签名信息;将所述用户的业务数据、所述签名信息、所述区块链中前一区块的特征值、当前区块的特征值以及所述当前区块的签名信息对应存储,生成所述当前区块。
在本发明一实施例中,所述业务数据包括合约数据,所述合约数据包括合约的执行条件参数以及执行参数。
在本发明一实施例中,所述合约数据为包括函数名和参数的二进制代码;或,所述合约数据为脚本代码。
在本发明一实施例中,所述节点还包括合约执行模块,用于如果满足所述执行条件参数,基于所述执行参数执行所述合约数据所指示的业务处理。
图13是本发明实施例提供的一种业务处理装置的结构示意图。参见图13,所述装置包括:
接收模块1301,用于接收用户客户端的业务处理请求,所述业务处理请求携带业务数据以及所述用户客户端的公钥,所述业务数据包括所述用户客户端的地址信息;
生成模块1302,用于根据所述用户客户端的公钥,生成所述用户客户端的校验地址信息;
业务请求处理模块1303,用于如果所述用户客户端的校验地址信息和所述业务数据所包括的地址信息一致,则响应所述业务处理请求,如果不一致,则拦截所述业务处理请求。
在本发明一实施例中,该生成模块1302包括:
公钥哈希值获取子模块,用于获取所述用户客户端的公钥哈希值;
哈希值获取子模块,用于对所述公钥哈希值进行至少两次哈希运算,得到所述公钥哈希值的哈希值;
校验码获取子模块,用于从所述公钥哈希值的哈希值中提取前预设位数的字节作为校验码;
地址信息获取子模块,用于将所述公钥哈希值和所述校验码进行拼接,并对拼接得到的字符串进行符合所述数据共享系统所支持的数据格式的编码处理,得到所述用户客户端的地址信息。
在本发明一实施例中,该地址信息获取子模块用于将所述数据共享系统的版本信息、所述公钥哈希值和所述校验码进行拼接。
在本发明一实施例中,所述业务处理请求还包括签名信息,所述签名信息由所述用户客户端采用所述用户客户端的私钥对所述业务数据进行签名得到。
图14是本发明实施例提供的一种业务处理装置的结构示意图。参见图14,所述装置包括:
业务数据获取模块1401,用于获取业务数据;
私钥获取模块1402,用于获取用户客户端的私钥;
签名模块1403,用于采用所述用户客户端的私钥对所述业务数据进行签名,得到所述用户客户端的签名信息;
公钥生成模块1404,用于根据所述用户客户端的私钥生成所述用户客户端的公钥;
请求发送模块1405,用于将所述业务数据、所述用户客户端的签名信息和所述用户客户端的公钥封装为业务处理请求,并向数据共享系统发送所述业务处理请求。
在本发明一实施例中,所述私钥获取模块包括:
随机数生成子模块,用于采用非对称加密算法,生成第一指定位数的随机数;
扩展子模块,用于将该第一指定位数的随机数进行位数扩展,得到第二指定位数的随机数。
在本发明一实施例中,该扩展子模块用于将两个该第一指定位数的随机数进行拼接,得到第二指定位数的随机数。
在本发明一实施例中,该扩展子模块用于将一个所述第一指定位数的随机数的尾部和另一个所述第一指定位数的随机数的头部相连,得到所述第二指定位数的随机数;或,
将一个所述第一指定位数的随机数中预设位数的字符与另一个所述第一指定位数的随机数中所述预设位数的字符插空混合,得到所述第二指定位数的随机数;或,
将一个所述第一指定位数的随机数和另一个所述第一指定位数的随机数的字符打乱,得到所述第二指定位数的随机数。
需要说明的是:上述实施例提供的业务处理装置在业务处理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的业务处理装置与业务处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本实施例提供了一种终端,该终端运行有上述方法中的用户客户端,并用于执行上述各个实施例中提供的业务处理方法。参见图15,该终端1500包括:
终端1500可以包括RF(Radio Frequency,射频)电路110、包括有一个或一个以上计算机可读存储介质的存储器120、输入单元130、显示单元140、传感器150、音频电路160、WiFi(Wireless Fidelity,无线保真)模块170、包括有一个或者一个以上处理核心的处理器180、以及电源190等部件。本领域技术人员可以理解,图15中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器180处理;另外,将涉及上行的数据发送给基站。通常,RF电路110包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路110还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(Code Division  Multiple Access,码分多址)、WCDMA(Wideband Code Division Multiple Access,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(Short Messaging Service,短消息服务)等。
存储器120可用于存储软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端1500的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器120还可以包括存储器控制器,以提供处理器180和输入单元130对存储器120的访问。
输入单元130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元130可包括触敏表面131以及其他输入设备132。触敏表面131,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面131上或在触敏表面131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面131。除了触敏表面131,输入单元130还可以包括其他输入设备132。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元140可用于显示由用户输入的信息或提供给用户的信息以及终端1500的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元140可包括显示面板141,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板141。进一步的,触敏表面131可覆盖显示面板141,当触敏 表面131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图15中,触敏表面131与显示面板141是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面131与显示面板141集成而实现输入和输出功能。
终端1500还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在终端1500移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端1500还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路160、扬声器161,传声器162可提供用户与终端1500之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经RF电路110以发送给比如另一终端,或者将音频数据输出至存储器120以便进一步处理。音频电路160还可能包括耳塞插孔,以提供外设耳机与终端1500的通信。
WiFi属于短距离无线传输技术,终端1500通过WiFi模块170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图15示出了WiFi模块170,但是可以理解的是,其并不属于终端1500的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器180是终端1500的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行终端1500的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器180可包括一个或多个处理核心;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面 和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。
终端1500还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源190还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端1500还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端的显示单元是触摸屏显示器,终端还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。所述一个或者一个以上程序包含用于执行该业务处理方法中用户客户端操作的指令。
图16是根据一示例性实施例示出的一种业务处理装置1600的框图。例如,装置1600可以为数据共享系统中的数据共享系统网关或节点。参照图16,装置1600包括:处理组件1622,其进一步包括一个或多个处理器,以及由存储器1632所代表的存储器资源,用于存储可由处理部件1622执行的指令,例如应用程序,机器可读指令。存储器1632中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1622被配置为执行指令,以执行上述业务处理方法,例如图2和图6所示的方法,以及图12所示的装置所执行的功能。
装置1600还可以包括一个电源组件1626被配置为执行装置1600的电源管理,一个有线或无线网络接口1650被配置为将装置1600连接到网络,和一个输入输出(I/O)接口1658。装置1600可以操作基于存储在存储器1632的操作系统,例如Windows Server TM,Mac OS X TM,Unix TM,Linux TM,FreeBSD TM或类似。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由终端中的处理器执行以完成下述实施例中的资源发放方法或资源领取方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件 来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (14)

  1. 一种业务处理方法,应用于业务处理装置,所述方法包括:
    从用户客户端接收业务处理请求,所述业务处理请求是根据数据共享系统提供的表结构生成,所述业务处理请求携带业务数据和所述业务数据的签名信息;
    根据预存的所述表结构从所述业务处理请求中提取所述业务数据和所述签名信息;
    生成所述数据共享系统的业务数据记录请求,所述业务数据记录请求携带所述业务数据以及所述签名信息;
    将所述业务数据记录请求发送至所述数据共享系统中的至少一个节点,以使所述至少一个节点从所述业务数据记录请求中获取所述业务数据以及签名信息,并进行存储。
  2. 根据权利要求1所述的方法,其中,根据预存的所述表结构从所述业务处理请求中提取所述业务数据和所述签名信息包括:
    识别生成所述业务处理请求的数据库类型;
    根据所述数据库类型,从预存的数据库类型与表结构的对应关系中,确定生成所述业务处理请求所采用的表结构;
    基于所述表结构包含的字段从所述业务处理请求的对应字段中提取所述业务数据和所述签名信息。
  3. 根据权利要求1所述的方法,其中,进一步包括:
    从所述业务处理请求中获取所述用户客户端的公钥,所述业务数据进一步包括:所述用户客户端的地址信息;
    根据所述用户客户端的公钥,生成所述用户客户端的校验地址信息;
    如果所述用户客户端的校验地址信息和所述用户客户端的地址信息一致,则执行根据预存的所述表结构从所述业务处理请求中提取所述业务数据和所述签名信息的操作。
  4. 根据权利要求3所述的方法,其中,所述根据所述用户客户端的公钥,生成所述用户客户端的校验地址信息包括:
    获取所述用户客户端的公钥哈希值;
    对所述公钥哈希值进行至少两次哈希运算,得到所述公钥哈希值的哈希值;
    从所述公钥哈希值的哈希值中提取前预设位数的字节作为校验码;
    将所述公钥哈希值和所述校验码进行拼接,并对拼接得到的字符串采用预设的数据格式进行编码处理,得到所述用户客户端的校验地址信息。
  5. 根据权利要求4所述的方法,其中,所述将所述公钥哈希值和所述校验码进行拼接包括:
    将所述数据共享系统的版本信息、所述公钥哈希值和所述校验码进行拼接。
  6. 一种业务处理装置,所述装置包括:处理器和非易失性存储器,所述处理器执行所述非易失性存储器中的机器可读指令,用于:
    从用户客户端接收业务处理请求,所述业务处理请求是根据数据共享系统提供的表结构生成,所述业务处理请求携带业务数据和所述业务数据的签名信息;
    根据预存的所述表结构从所述业务处理请求中提取所述业务数据和所述签名信息;
    生成所述数据共享系统的业务数据记录请求,所述业务数据记录请求携带所述业务数据以及所述签名信息;
    将所述业务数据记录请求发送至所述数据共享系统中的至少一个节点,以使所述至少一个节点从所述业务数据记录请求中获取所述业务数据以及签名信息,并进行存储。
  7. 根据权利要求6所述的装置,其中,所述处理器进一步执行所述非易失性存储器中的机器可读指令,用于:
    识别生成所述业务处理请求的数据库类型;根据所述数据库类型,从预存的数据库类型与表结构的对应关系中,确定生成所述业务处理请求所采用的表结构;基于所述表结构包含的字段从所述业务处理请求的对应字段中提取所述业务数据和所 述签名信息。
  8. 根据权利要求6所述的方法,其中,所述处理器进一步执行所述非易失性存储器中的机器可读指令,用于:
    从所述业务处理请求中获取所述用户客户端的公钥,所述业务数据进一步包括所述用户客户端的地址信息;
    根据所述用户客户端的公钥,生成所述用户客户端的校验地址信息;
    如果所述用户客户端的校验地址信息和所述用户客户端的地址信息一致,则执行根据预存的所述表结构从所述业务处理请求中提取所述业务数据和所述签名信息的操作。
  9. 根据权利要求8所述的方法,其中,所述处理器进一步执行所述非易失性存储器中的机器可读指令,用于:
    获取所述用户客户端的公钥哈希值;
    对所述公钥哈希值进行至少两次哈希运算,得到所述公钥哈希值的哈希值;
    从所述公钥哈希值的哈希值中提取前预设位数的字节作为校验码;
    将所述公钥哈希值和所述校验码进行拼接,并对拼接得到的字符串采用预设的数据格式进行编码处理,得到所述用户客户端的校验地址信息。
  10. 根据权利要求9所述的方法,其中,所述处理器进一步执行所述非易失性存储器中的机器可读指令,用于:
    将所述数据共享系统的版本信息、所述公钥哈希值和所述校验码进行拼接。
  11. 一种数据共享系统,包括:数据共享系统网关和多个节点;
    所述数据共享系统网关,用于从用户客户端接收业务处理请求,所述业务处理请求是根据数据共享系统提供的表结构生成,所述业务处理请求携带业务数据和所述业务数据的签名信息;根据预存的所述表结构从所述业务处理请求中提取所述业务数据和所述签名信息;生成所述数据共享系统的业务数据记录请求,所述业务数据记录请求携带所述业务数据以及所述签名信息;将所述业务数据记录请求发送至 所述数据共享系统中的至少一个节点;
    所述多个节点中的任一个节点,用于从所述业务数据记录请求中获取所述业务数据以及签名信息,进行存储。
  12. 根据权利要求11所述的数据共享系统,其中,
    所述多个节点中的任一个节点,进一步用于当接收到所述业务数据记录请求时,将所述业务数据、所述签名信息分为至少两部分数据;对所述至少两部分数据分别采用不同的哈希算法进行计算,得到所述至少两部分数据的哈希值,将所述至少两部分数据的哈希值拼接,得到当前区块的特征值,基于所述业务数据、所述签名信息、区块链中前一区块的特征值以及当前区块的特征值,生成所述当前区块。
  13. 根据权利要求12所述的数据共享系统,其中,
    所述多个节点中的任一个节点,进一步用于采用预存的私钥对所述业务数据、所述签名信息、所述区块链中前一区块的特征值以及当前区块的特征值进行签名,得到所述当前区块的签名信息;
    将所述业务数据、所述签名信息、所述区块链中前一区块的特征值、当前区块的特征值以及所述当前区块的签名信息对应存储,生成所述当前区块。
  14. 一种非易失性存储介质,用于存储机器可读指令,当所述机器可读指令被执行时,执行所述权利要求1至5任一项所述的方法。
PCT/CN2018/079075 2017-03-30 2018-03-15 业务处理方法、装置、数据共享系统及存储介质 WO2018177124A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/382,663 US20190236300A1 (en) 2017-03-30 2019-04-12 Service processing method and apparatus, data sharing system, and storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710203678.3 2017-03-30
CN201710203678.3A CN107124278B (zh) 2017-03-30 2017-03-30 业务处理方法、装置以及数据共享系统

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/382,663 Continuation US20190236300A1 (en) 2017-03-30 2019-04-12 Service processing method and apparatus, data sharing system, and storage medium

Publications (1)

Publication Number Publication Date
WO2018177124A1 true WO2018177124A1 (zh) 2018-10-04

Family

ID=59717483

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/079075 WO2018177124A1 (zh) 2017-03-30 2018-03-15 业务处理方法、装置、数据共享系统及存储介质

Country Status (4)

Country Link
US (1) US20190236300A1 (zh)
CN (2) CN107124278B (zh)
TW (1) TWI672648B (zh)
WO (1) WO2018177124A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109784864A (zh) * 2019-01-23 2019-05-21 山西创时代企业孵化器有限公司 一种基于区块链和多租户技术的区域政务协同办公系统
CN113111069A (zh) * 2021-04-30 2021-07-13 永旗(北京)科技有限公司 一种基于区块链的数据共享方法及系统
CN113177075A (zh) * 2021-04-08 2021-07-27 中电鹰硕(深圳)智慧互联有限公司 一种基于大数据平台的笔迹数据存储方法及系统
CN113364754A (zh) * 2021-05-31 2021-09-07 支付宝(杭州)信息技术有限公司 数据共享方法、装置及设备
CN113612618A (zh) * 2021-08-18 2021-11-05 东北大学 一种联盟链共识方法及装置

Families Citing this family (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107977163B (zh) * 2017-01-24 2019-09-10 腾讯科技(深圳)有限公司 共享数据回收方法及装置
CN107124278B (zh) * 2017-03-30 2021-03-30 腾讯科技(深圳)有限公司 业务处理方法、装置以及数据共享系统
US11240035B2 (en) * 2017-05-05 2022-02-01 Jeff STOLLMAN Systems and methods for extending the utility of blockchains through use of related child blockchains
CN107798538A (zh) * 2017-09-26 2018-03-13 武汉斗鱼网络科技有限公司 一种交易核算方法及客户端
CN109784084B (zh) * 2017-11-14 2022-03-22 中国电信股份有限公司 数据交易方法、装置和系统
CN108021400B (zh) * 2017-11-29 2022-03-29 腾讯科技(深圳)有限公司 数据处理方法及装置、计算机存储介质及设备
CN108009445B (zh) * 2017-11-30 2021-05-11 成都蓝海贝信息技术有限公司 一种半中心化的可信数据管理系统
CN108268799B (zh) * 2017-12-28 2020-09-01 上海数据交易中心有限公司 数据查询系统和方法、存储介质、终端
CN108234134B (zh) * 2017-12-28 2020-09-29 江苏通付盾科技有限公司 区块同步方法及系统
CN108241743B (zh) * 2018-01-04 2020-05-12 杭州复杂美科技有限公司 一种区块链快照方法
CN108494581B (zh) * 2018-02-09 2020-12-29 孔泽一 Sdn网络的控制器分布式日志生成方法及装置
CN108434745B (zh) * 2018-03-27 2021-02-19 北京知道创宇信息技术股份有限公司 游戏数据处理方法及系统
CN108540577B (zh) * 2018-05-03 2021-02-19 青岛道合供应链管理有限公司 智慧供应链物联网管理平台的多区块链交叉复合应用系统
CN108646983B (zh) * 2018-05-08 2021-04-06 北京融链科技有限公司 在区块链上存储业务数据的处理方法和装置
CN109727115A (zh) * 2018-05-18 2019-05-07 深圳壹账通智能科技有限公司 信贷处理方法、装置、设备及可读存储介质
CN108718341B (zh) * 2018-05-30 2021-06-01 北京阿尔山区块链联盟科技有限公司 数据的共享和搜索的方法
CN108848156B (zh) * 2018-06-08 2021-06-29 中国联合网络通信集团有限公司 接入网关处理方法、装置及存储介质
CN109032706B (zh) * 2018-07-16 2022-10-11 百度在线网络技术(北京)有限公司 智能合约执行方法、装置、设备和存储介质
CN109003083A (zh) * 2018-07-27 2018-12-14 山东渔翁信息技术股份有限公司 一种基于区块链的ca认证方法、装置及电子设备
CN109716375B (zh) * 2018-07-27 2023-06-23 区链通网络有限公司 区块链账户的处理方法、装置和存储介质
CN109087099A (zh) * 2018-07-31 2018-12-25 杭州复杂美科技有限公司 一种隐私交易方法及系统、设备和存储介质
CN109118220A (zh) * 2018-08-03 2019-01-01 上海点融信息科技有限责任公司 在分布式网络中用于处理事务的方法、装置及存储介质
CN109359971B (zh) 2018-08-06 2020-05-05 阿里巴巴集团控股有限公司 区块链交易方法及装置、电子设备
CN109241181A (zh) * 2018-08-08 2019-01-18 北京百度网讯科技有限公司 数据库操作方法和装置
CN109257412A (zh) * 2018-08-10 2019-01-22 中国联合网络通信集团有限公司 一种数据共享方法及装置
CN112651740A (zh) * 2018-08-30 2021-04-13 创新先进技术有限公司 区块链交易方法及装置、电子设备
CN109379397B (zh) * 2018-08-31 2019-12-06 阿里巴巴集团控股有限公司 基于区块链的交易共识处理方法及装置、电子设备
CN109189857B (zh) * 2018-09-17 2021-03-30 北京京东尚科信息技术有限公司 基于区块链的数据共享系统、方法和装置
WO2020058191A1 (en) * 2018-09-18 2020-03-26 Siemens Aktiengesellschaft Sensor control assembly and manufacturing device
CN111833186A (zh) 2018-09-20 2020-10-27 创新先进技术有限公司 基于区块链的交易方法、装置和节点设备
CN109376541A (zh) * 2018-09-21 2019-02-22 上海点融信息科技有限责任公司 用于运行智能合约的方法、装置以及计算机存储介质
CN109408521A (zh) * 2018-09-28 2019-03-01 上海擎沣投资控股有限公司 一种用于更新区块链全局数据状态的方法及其装置
CN109583886B (zh) 2018-09-30 2020-07-03 阿里巴巴集团控股有限公司 基于区块链的交易方法、装置和汇出方设备
CN109522747A (zh) * 2018-11-12 2019-03-26 杭州趣链科技有限公司 一种基于区块链的防篡改日志记录系统及方法
CN110263579B (zh) * 2018-11-16 2021-05-11 腾讯科技(深圳)有限公司 一种数据处理方法、系统及相关设备
WO2019072287A2 (en) * 2018-11-30 2019-04-18 Alibaba Group Holding Limited USING A TABLE OF NUTS TO RESOLVE SIMULTANEOUS BLOCK CHAIN TRANSACTION FAILURE
RU2721008C1 (ru) 2018-12-29 2020-05-15 Алибаба Груп Холдинг Лимитед Система и способ для защиты информации
CN110245522B (zh) * 2019-01-16 2022-07-12 腾讯科技(深圳)有限公司 区块链资金结算系统中的数据处理方法、终端和介质
CN110119486A (zh) * 2019-04-18 2019-08-13 杭州宇链科技有限公司 一种用于区块链交易的数据格式及其生成和解析方法
CN110084070B (zh) * 2019-04-21 2020-12-29 中国科学院信息工程研究所 一种基于区块链的制造业跨域异构数据的身份构建及溯源方法
CN110110536B (zh) * 2019-04-30 2022-11-08 温州职业技术学院 一种云计算系统的数据共享方法
CN110191108B (zh) * 2019-05-17 2022-04-19 杭州宇链科技有限公司 一种基于区块链的权利验证方法
CN110322678B (zh) * 2019-07-01 2021-10-29 深圳供电局有限公司 一种基于区块链的四表集抄系统及方法
CN110633323B (zh) * 2019-09-16 2023-10-20 腾讯科技(深圳)有限公司 业务数据存储方法、装置、存储介质和计算机设备
CN110598435B (zh) * 2019-09-17 2021-11-19 上海保险交易所股份有限公司 通过区块链管理保险代理人履历的方法、装置和可读介质
CN110688122B (zh) * 2019-09-30 2021-09-21 支付宝(杭州)信息技术有限公司 编译和执行智能合约的方法及装置
CN110752925B (zh) * 2019-10-31 2021-12-03 电子科技大学 一种适应于物联设备管理的改进型pbft共识方法
CN110798315B (zh) * 2019-11-11 2021-04-13 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、装置及终端
CN110992211A (zh) * 2019-11-12 2020-04-10 中建八局第一建设有限公司 一种基于bim的合约管理方法
CN110955523B (zh) * 2019-11-22 2022-03-08 中国银联股份有限公司 一种业务处理方法及装置
KR20220100971A (ko) * 2019-11-26 2022-07-18 제우 테크놀로지스, 인크. 데이터베이스 애플리케이션들을 블록체인 애플리케이션들로 변환하는 방법 및 시스템
CN110990408B (zh) * 2019-12-02 2023-09-19 中国银行股份有限公司 基于区块链的业务信息协同方法、业务系统及联盟链
CN111147250B (zh) * 2019-12-18 2022-08-02 北京江南天安科技有限公司 一种数字签名方法、装置、发送端、接收端及系统
US11356260B2 (en) 2020-01-26 2022-06-07 International Business Machines Corporation Decentralized secure data sharing
US11088833B1 (en) 2020-01-26 2021-08-10 International Business Machines Corporation Decentralized secure data sharing
US11271742B2 (en) 2020-01-26 2022-03-08 International Business Machines Corporation Decentralized secure data sharing
CN111291014B (zh) * 2020-02-18 2023-05-30 杭州复杂美科技有限公司 区块链共识方法、设备和存储介质
CN111740986B (zh) * 2020-06-19 2022-07-19 公安部第三研究所 基于标识密码技术的实现数据共享控制的系统及其方法
CN112148734B (zh) * 2020-09-22 2022-07-12 国网浙江省电力有限公司 基于区块链的交易数据处理方法、装置、设备及存储介质
CN112182608B (zh) * 2020-09-25 2023-10-20 中国人民大学 一种联盟链加密数据定期共享方法及系统
CN112202779B (zh) * 2020-09-29 2022-08-30 深圳壹账通智能科技有限公司 基于区块链的信息加密方法、装置、设备及介质
CN112636918B (zh) * 2020-12-08 2021-06-29 无锡艾立德智能科技有限公司 一种高效的基于sm2两方协同签名方法
CN112887154B (zh) * 2021-02-05 2022-02-18 广西师范大学 基于区块链的二维变码重ocdma系统及数据处理方法
CN113098682B (zh) * 2021-03-08 2022-07-12 河北航天信息技术有限公司 基于区块链平台的多方安全计算方法、装置及电子设备
CN113138989B (zh) * 2021-03-12 2022-12-27 莘上信息技术(上海)有限公司 区块链数据检索方法及装置
CN112994874B (zh) * 2021-04-19 2021-07-27 工业信息安全(四川)创新中心有限公司 一种基于消息鉴别码算法的保留格式加密方法及解密方法
CN113141404B (zh) * 2021-04-22 2023-03-17 清华大学 智能网关、及数据共享系统
CN113055189B (zh) * 2021-06-02 2021-08-10 工业信息安全(四川)创新中心有限公司 Sm2数字签名验证失败原因判定方法、装置、设备和介质
CN113360893B (zh) * 2021-08-11 2021-11-30 北京微芯感知科技有限公司 基于容器的智能合约执行方法、装置及存储介质
TWI818344B (zh) * 2021-11-01 2023-10-11 神達數位股份有限公司 影像資料管理方法及系統
CN113765665B (zh) * 2021-11-10 2022-02-08 济南量子技术研究院 基于量子密钥的区块链网络及数据安全传输方法
CN114266073B (zh) * 2022-03-02 2022-05-17 环球数科集团有限公司 一种基于区块链技术的数据链接隐私处理系统
CN116680746B (zh) * 2023-07-26 2023-09-26 南京倍漾科技有限公司 一种金融数据共享方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105976232A (zh) * 2016-06-24 2016-09-28 深圳前海微众银行股份有限公司 资产交易方法和装置
CN106339939A (zh) * 2016-08-26 2017-01-18 南京喜玛拉云信息技术有限公司 基于安全硬件的不可篡改分布式账单系统及交易处理方法
CN106533690A (zh) * 2016-09-27 2017-03-22 布比(北京)网络技术有限公司 区块链资产处理终端及相应的数字资产处理方法
CN107124278A (zh) * 2017-03-30 2017-09-01 腾讯科技(深圳)有限公司 业务处理方法、装置以及数据共享系统

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101185595B1 (ko) * 2005-09-30 2012-09-24 삼성전자주식회사 스마트 카드를 이용하여 보안 기능을 수행하는 장치 및 그방법
CN100452924C (zh) * 2006-01-09 2009-01-14 中国科学院软件研究所 利用sim卡实现终端与网络双向鉴权的方法和装置
CN101193103B (zh) * 2006-11-24 2010-08-25 华为技术有限公司 一种分配和验证身份标识的方法及系统
CN101610255B (zh) * 2009-07-10 2012-10-24 清华大学 基于密码学生成地址的源地址验证装置
CN103841556A (zh) * 2014-03-21 2014-06-04 北京航空航天大学 无线局域网快速切换方法
US10356094B2 (en) * 2014-06-30 2019-07-16 Vescel, Llc Uniqueness and auditing of a data resource through an immutable record of transactions in a hash history
US20160112200A1 (en) * 2014-10-17 2016-04-21 21, Inc. Cryptographic hashing circuitry having improved scheduling efficiency
US9876646B2 (en) * 2015-05-05 2018-01-23 ShoCard, Inc. User identification management system and method
CN105610578B (zh) * 2016-01-25 2019-05-03 杭州复杂美科技有限公司 区块链信息存证及隐私保护方法
CN105809062B (zh) * 2016-03-01 2019-01-25 布比(北京)网络技术有限公司 一种合约构建、执行方法及装置
CN105975868A (zh) * 2016-04-29 2016-09-28 杭州云象网络技术有限公司 一种基于区块链的证据保全方法及装置
CN106202441A (zh) * 2016-07-13 2016-12-07 腾讯科技(深圳)有限公司 基于关系型数据库的数据处理方法、装置和系统
CN106330431A (zh) * 2016-08-29 2017-01-11 北京瑞卓喜投科技发展有限公司 基于区块链技术的数据处理方法、装置及系统
CN106408299B (zh) * 2016-08-31 2020-04-14 江苏云签有限公司 一种基于区块链技术的电子智能签约支付方法
CN106452785B (zh) * 2016-09-29 2019-05-17 财付通支付科技有限公司 区块链网络、分支节点及区块链网络应用方法
JP6533771B2 (ja) * 2016-11-15 2019-06-19 富士通株式会社 通信方法、装置、及びプログラム
CN106530088B (zh) * 2016-12-19 2023-11-17 杜伯仁 基于区块链安全节点对证券产品进行交易的方法
US10761946B2 (en) * 2017-02-10 2020-09-01 Sap Se Transaction commit protocol with recoverable commit identifier

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105976232A (zh) * 2016-06-24 2016-09-28 深圳前海微众银行股份有限公司 资产交易方法和装置
CN106339939A (zh) * 2016-08-26 2017-01-18 南京喜玛拉云信息技术有限公司 基于安全硬件的不可篡改分布式账单系统及交易处理方法
CN106533690A (zh) * 2016-09-27 2017-03-22 布比(北京)网络技术有限公司 区块链资产处理终端及相应的数字资产处理方法
CN107124278A (zh) * 2017-03-30 2017-09-01 腾讯科技(深圳)有限公司 业务处理方法、装置以及数据共享系统

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109784864A (zh) * 2019-01-23 2019-05-21 山西创时代企业孵化器有限公司 一种基于区块链和多租户技术的区域政务协同办公系统
CN113177075A (zh) * 2021-04-08 2021-07-27 中电鹰硕(深圳)智慧互联有限公司 一种基于大数据平台的笔迹数据存储方法及系统
CN113177075B (zh) * 2021-04-08 2023-10-03 中电鹰硕(深圳)智慧互联有限公司 一种基于大数据平台的笔迹数据存储方法及系统
CN113111069A (zh) * 2021-04-30 2021-07-13 永旗(北京)科技有限公司 一种基于区块链的数据共享方法及系统
CN113364754A (zh) * 2021-05-31 2021-09-07 支付宝(杭州)信息技术有限公司 数据共享方法、装置及设备
CN113364754B (zh) * 2021-05-31 2023-10-13 支付宝(杭州)信息技术有限公司 数据共享方法、装置及设备
CN113612618A (zh) * 2021-08-18 2021-11-05 东北大学 一种联盟链共识方法及装置

Also Published As

Publication number Publication date
US20190236300A1 (en) 2019-08-01
CN107124278A (zh) 2017-09-01
TW201830302A (zh) 2018-08-16
CN107124278B (zh) 2021-03-30
TWI672648B (zh) 2019-09-21
CN110365491A (zh) 2019-10-22
CN110365491B (zh) 2021-03-26

Similar Documents

Publication Publication Date Title
WO2018177124A1 (zh) 业务处理方法、装置、数据共享系统及存储介质
US11601439B2 (en) Verifiable outsourced ledgers
US11854003B2 (en) Signature verification method, apparatus, and system
TWI713855B (zh) 憑證管理方法及系統
US20210250182A1 (en) User authentication with self-signed certificate and identity verification and migration
WO2018157858A1 (zh) 信息存储方法、装置及计算机可读存储介质
US11902450B2 (en) Blockchain generation method and system, and related device
CN111193695B (zh) 一种第三方账号登录的加密方法、装置及存储介质
JP7086994B2 (ja) Botユーザのセキュアな認証
CN110545190B (zh) 一种签名处理的方法、相关装置以及设备
WO2018112940A1 (zh) 区块链节点的业务执行方法、装置及节点设备
JP5429912B2 (ja) 認証システム、認証サーバ、サービス提供サーバ、認証方法、及びプログラム
US20160253664A1 (en) Attestation by proxy
WO2017041599A1 (zh) 业务处理方法及电子设备
US20150207817A1 (en) Inter-extension messaging
CN109951546B (zh) 基于智能合约的事务请求处理方法、装置、设备和介质
WO2020238248A1 (zh) 一种数据存储方法、装置及设备
WO2018108123A1 (zh) 身份验证方法、装置与系统
WO2017113119A1 (zh) 一种关联应用程序和生物特征的方法、装置以及移动终端
US8924573B2 (en) Secure capability negotiation between a client and server
CN112073421B (zh) 通信处理方法、装置、终端及存储介质
WO2017067369A1 (zh) 一种加密图片、解密图片的方法、装置和设备
WO2018082560A1 (zh) 帐号注册方法、相关设备及系统
CN109768977A (zh) 流媒体数据处理方法、装置以及相关设备和介质
WO2018108062A1 (zh) 身份验证方法、装置及存储介质

Legal Events

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

Ref document number: 18777386

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18777386

Country of ref document: EP

Kind code of ref document: A1