WO2018119892A1 - 软件应用程序发布和验证的方法及装置 - Google Patents

软件应用程序发布和验证的方法及装置 Download PDF

Info

Publication number
WO2018119892A1
WO2018119892A1 PCT/CN2016/113067 CN2016113067W WO2018119892A1 WO 2018119892 A1 WO2018119892 A1 WO 2018119892A1 CN 2016113067 W CN2016113067 W CN 2016113067W WO 2018119892 A1 WO2018119892 A1 WO 2018119892A1
Authority
WO
WIPO (PCT)
Prior art keywords
software application
information record
signature
block
client
Prior art date
Application number
PCT/CN2016/113067
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 深圳前海达闼云端智能科技有限公司
Priority to PCT/CN2016/113067 priority Critical patent/WO2018119892A1/zh
Priority to CN201680003219.4A priority patent/CN107077557B/zh
Publication of WO2018119892A1 publication Critical patent/WO2018119892A1/zh

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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • 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

Definitions

  • the present invention relates to the field of the Internet, and in particular, to a method and apparatus for software application publishing and verification.
  • the application market of software applications is generally provided by various hardware manufacturers or system manufacturers.
  • the software application developer publishes the application to the application market for the client to download and install.
  • An object of the present invention is to provide a method and apparatus for publishing and downloading a software application, which is to solve the technical problem that the prior art cannot verify whether the software application issued by the software developer is consistent with the software application installed by the user.
  • a first aspect of the present invention provides a software application publishing method, The method is applied to a server where a software publisher issues a software application, the server is a node in a blockchain network, and stores a blockchain composed of a plurality of blocks, each block is used for storing information.
  • the methods include:
  • the information record including at least a hash value of the software application file
  • the information record signature is used to verify whether an issuer that issues the software application is impersonated, and the hash value is used for verification Whether the software application issued by the publisher is modified;
  • a second aspect of the present invention provides a software application verification method, the method being applied to a client, where the client is a node in a blockchain network, and a blockchain composed of a plurality of blocks is stored, each The block is used to store information, and the method includes:
  • a third aspect of the present invention provides a server for distributing a software application, wherein the server is a node in a blockchain network, and stores a blockchain composed of a plurality of blocks, each block being used for storing a letter.
  • the server includes:
  • An obtaining unit configured to acquire an information record of the software application, where the information record includes at least a hash value of the software application file;
  • An encryption unit configured to: sign the information record according to the private key of the issuer to obtain an information record signature; and the information record signature is used to verify whether an issuer that issues the software application is impersonated, The hash value is used to verify whether the software application published by the publisher is modified;
  • a blockchain writing unit configured to write the information record and the information record signature into a block of a blockchain to obtain a block address, wherein the block address is used by a client in the area The block is found in the blockchain.
  • a fourth aspect of the present invention provides a client, where a client is a node in a blockchain network, and stores a blockchain composed of a plurality of blocks, each block is configured to store information, and the client is configured to store information.
  • a first acquiring unit configured to acquire, from the application market, a block address corresponding to the first software application
  • a searching unit configured to search for a corresponding block in the blockchain according to the block address
  • a second acquiring unit configured to acquire an information record of the second software application stored in the block, and an information record signature, where the information record signature is obtained by the issuer private key signature, and the information record At least including a hash value of the second software application;
  • a signature verification unit configured to decrypt the information record signature according to the public key of the target issuer, wherein if the signature verification is successful, the second software application is a software application issued by the target issuer;
  • a determining unit configured to determine, according to the hash value, whether the first software application file is consistent with the second software application file after the signature verification is successful.
  • a fifth aspect of the present invention provides a server for distributing a software application, including:
  • processor a communication interface, a memory, and a communication bus; the processor, the communication interface, and the memory complete communication with each other through the communication bus;
  • the memory is for storing an application
  • the processor is operative to execute the application to implement the method of the first aspect.
  • a sixth aspect of the present invention provides a client, including:
  • processor a communication interface, a memory, and a communication bus; the processor, the communication interface, and the memory complete communication with each other through the communication bus;
  • the memory is for storing an application
  • the processor is operative to execute the application to implement the method of the second aspect.
  • a seventh aspect of the invention provides a computer readable storage medium for storing a computer program, the computer program comprising instructions for performing the method of the first aspect.
  • An eighth aspect of the invention provides a computer readable storage medium for storing a computer program, the computer program comprising instructions for performing the method of the second aspect.
  • the client when the software developer releases the software application, the information record including at least the hash value of the software application file is privately signed, and the information record signature and the information record obtained after the signature are written and signed.
  • the client can perform signature verification on the information record signature in the block according to the public key published by the target issuer, and the successful verification of the signature indicates that the block is
  • the target publisher writes and verifies whether the software application downloaded by the client is consistent with the software application published by the target publisher based on the hash value in the information record. Since the information written in the blockchain has non-tamperable characteristics, the client can verify whether the downloaded software application is released for the target publisher based on the authentic private key signature and the hash value of the software application file. And unmodified software application.
  • FIG. 1 is a schematic flowchart of a software application publishing method according to an embodiment of the present invention
  • FIG. 2 is a schematic flowchart of a software application verification method according to an embodiment of the present invention.
  • FIG. 3 is a schematic diagram of an implementation environment according to an embodiment of the present invention.
  • FIG. 4 is a schematic flow chart of a software application publishing and verification method in the implementation environment shown in FIG. 3;
  • FIG. 5 is a schematic structural diagram of a server according to an embodiment of the present disclosure.
  • FIG. 5B is a schematic structural diagram of another server according to an embodiment of the present disclosure.
  • FIG. 6 is a schematic structural diagram of a client according to an embodiment of the present disclosure.
  • FIG. 6B is a schematic structural diagram of another client according to an embodiment of the present disclosure.
  • FIG. 7 is a schematic structural diagram of still another server according to an embodiment of the present disclosure.
  • FIG. 8 is a schematic structural diagram of still another client according to an embodiment of the present invention.
  • a blockchain is a decentralized distributed database system in which all nodes in a blockchain network participate in maintenance. It is composed of a series of data blocks generated by cryptography, and each block is a blockchain. One block. According to the order of the generation time, the blocks are linked together in an orderly manner to form a data chain, which is aptly called a blockchain.
  • the blockchain is generated and validated by its special blocks and transactions, with unchangeable, unforgeable and fully traceable security features.
  • the user identity in the blockchain is represented by a public key.
  • the private key corresponding to the public key is mastered by the user and not published to the network.
  • the public key becomes an "address" after a specific hash and encoding. "Represents the user and can be published at will.
  • Blockchain data write The blockchain node writes data to the blockchain by issuing a "transaction" to the blockchain network.
  • the transaction contains the signature of the user using his or her private key to prove the identity of the user.
  • the transaction is recorded by the “miner” (block chain node that implements the blockchain consensus competition mechanism) into the generated new block, and then released to the blockchain network, and verified and passed by other blockchain nodes, the transaction data is Is written to the blockchain.
  • the entire blockchain system has no centralized hardware or management organization.
  • the rights and obligations between any nodes are equal, and the damage or loss of any node will not affect the operation of the entire system. Therefore, the blockchain can also be considered to have excellent robustness.
  • De-trusting Participating in data exchange between each node in the entire blockchain system does not need to trust each other.
  • the operating rules of the whole system are open and transparent, and all data content is also public, so the rules specified in the system are Within the scope and time range, nodes cannot and cannot spoof other nodes.
  • an embodiment of the present invention provides a method for distributing a software application. As shown in FIG. 1 , the method is applied to a server for distributing a software application, including:
  • the server acquires an information record of the software application, where the information record is at least a package. A hash value of the software application file.
  • the server signs the information record according to the private key of the issuer, and obtains an information record signature.
  • the server writes the information record and the information record signature into a block of the blockchain to obtain a block address, where the block address is used by the client to find the location in the blockchain. Said block.
  • the nodes in the server blockchain network store a blockchain composed of a plurality of blocks, each of which is used for storing information, ensuring that the server has at least Participate in the function of blockchain trading.
  • the information record including the hash value of the software application file is privately signed, and the information record signature obtained after the signature is recorded and signed.
  • the information record signature is used to verify whether a tile issuer that issues the software application is impersonated, and the hash value is used to verify whether the software application published by the publisher is modified.
  • the client can perform signature verification according to the public record published by the target issuer, and the signature authentication succeeds, indicating that the block is the target issuer.
  • the hash value in the information record it is verified whether the software application downloaded by the client is consistent with the software application published by the target publisher. Since the information written in the blockchain has non-tamperable characteristics, the client can verify whether the downloaded software application is released for the target publisher based on the authentic private key signature and the hash value of the software application file. And unmodified software application.
  • the information record may also include a download address of the software application.
  • the download address is used by the client to download the software application according to the download address.
  • the download address may be a source download address of a software application.
  • the server records the information of the application. After the record and the information record signature are written into the block of the blockchain, the obtained block address and the name of the software application can be published to the application market. In this way, after downloading from the public network to the software application, the client can find the block address of the software application from the application market, and obtain the information record and the information record signature from the blockchain according to the block address. .
  • the client may first search in the application market according to the name of the software application. Obtaining a block address corresponding to the software application, and obtaining the information record and the information record signature from the blockchain according to the block address, so that the client can perform the signature verification after successfully verifying the information record signature, according to the download.
  • the address downloads the software application file and verifies that the software application has been modified based on the hash value in the information record.
  • the block address and the software application file may also be published to the application marketplace.
  • the client can download the software application file directly from the application market, and obtain the information record of the application and the information record signature from the blockchain according to the block address to verify the software application.
  • step S103 may specifically be that the server writes the information record signature into the block in the blockchain network in the form of a smart contract, and the block address may specifically be a contract address.
  • a smart contract is a computer-executed program that satisfies accurate and automatic execution, a blockchain-based smart contract that includes transaction processing and preservation, and a complete state machine for accepting and processing various smart contracts. . If the trigger condition of one or several actions in the automatic state machine is satisfied, the state machine automatically executes the contract action according to the preset information. For example, for a software application that requires a paid download, the information record signature written in the blockchain network in the form of a smart contract can allow the user to obtain the download address of the software application after the user pays the relevant fee.
  • the embodiment of the invention further provides a software application verification method, the method is applied to a client End, as shown in Figure 2, the method includes:
  • the client obtains a block address corresponding to the first software application from the application market.
  • the application market may be a list providing the software application name and the corresponding block address, so that the client can obtain the corresponding block address from the application market according to the name of the software application.
  • the application market may further provide a software application file.
  • the client may directly download the software application file from the application market, and obtain the corresponding block. address.
  • the client searches for a corresponding block in the blockchain according to the block address.
  • the client is a node in the blockchain network to ensure that the client has the right to query the blockchain.
  • the client acquires an information record of the second software application stored in the block and an information record signature.
  • the information record signature is obtained by the publisher private key signing the information record of the second software application, and the information record includes at least a hash value of the second software application.
  • the description of the information record signature may be referred to the description of the software application publishing method provided in FIG. 1 , and details are not described herein again.
  • the client performs signature verification on the information record signature according to the public key of the target issuer. If the signature verification succeeds, the second software application is a software application issued by the target issuer.
  • the target issuer can publish the public key on its official website, and the client can access the official website to obtain the public key of the target issuer.
  • the information record signature is obtained by encrypting the information record of the software application according to the private key of the issuer, so that the client obtains the information record and the information record signature stored in a certain block of the blockchain. Decrypting the information record signature according to the public key of the target issuer. If the decryption result is consistent with the information record, the signature verification is successful, and it can be determined that the block is issued by the target issuer, thereby ensuring that the software publisher cannot impersonate.
  • the client determines, according to the hash value, whether the first software application file is consistent with the second software application file.
  • the client may download the first software application according to the download address, where the download address may be a software application. Source download address.
  • the client calculates a hash value of the first software application file, and determines a hash value of the first software application file and the information record. Whether the hash value is consistent, wherein if the hash value of the first software application file is consistent with the hash value in the information record, indicating the first software application and the second software application Consistent. This ensures that the client can recognize whether the software application has been modified after the target publisher has released it.
  • the client can perform signature verification on the information record signature according to the public key published by the target issuer, and the signature verification succeeds.
  • FIG. 3 is a schematic diagram of an implementation environment provided by an embodiment of the present invention, as shown in FIG.
  • the environment includes a server 301 for issuing a software application by the publisher, and a client 302, wherein the client 302 can be a user device such as a mobile phone or a tablet.
  • the implementation environment also includes a blockchain network 303, an application marketplace 304, and a public network 305.
  • FIG. 4 a method for publishing and verifying a software application according to an embodiment of the present invention is shown in FIG. 4, and includes:
  • the server 301 acquires an information record of the software application 1.
  • the information record includes a hash value of the software application 1 file, and a download address of the software application 1, for example, a source download address of the software application 1 in the public network 305.
  • the server 301 performs a private key signature on the information record to obtain an information record signature.
  • the server 301 is a blockchain node in the blockchain network, and the publisher of the software application can obtain the private key and the public key that appear in pairs when registering the blockchain network.
  • the private key is mastered by the publisher and is not published to the network.
  • the public key can be published to the public network and obtained by the client. In this way, the signature information that the public key can decrypt can be confirmed as being issued by the publisher.
  • the server 301 writes the information record and the information record signature into the block in the blockchain network 303 to obtain a block address.
  • the blockchain network 303 includes n blocks.
  • the server 301 acts as a blockchain node in the blockchain network, and the block is directed to the block.
  • Writing information record signatures in a chain network follows existing blockchain write rules.
  • the server 301 issues the name of the software application 1 and the block address to the application marketplace 304.
  • the application market only needs to provide a correspondence between the software application name and the block address, as shown in FIG. 3, the application market 304, which provides the names of the n software applications and their corresponding Block address.
  • the client 302 searches the application market 304 according to the name of the software application 1, and acquires the block address corresponding to the software application 1.
  • the client 302 obtains the public key of the issuer from the public network 305.
  • the client 302 searches for a block in the blockchain network according to the block address, and acquires an information record and an information record signature in the block.
  • the client 302 performs signature verification on the information record signature according to the public key.
  • step S409 is performed; if the signature authentication fails, it indicates that the information record in the block is issued by the counterfeit issuer, and the client may refuse to obtain related information from the block to download the software application.
  • the client 302 downloads the software application 1 according to the download address in the information record.
  • the client 302 calculates a hash value of the downloaded file of the software application 1.
  • the client 302 compares whether the hash value in the information record matches the hash value of the file of the software application 1 to determine whether the file of the software application 1 is modified.
  • the hash value in the information record is consistent with the hash value of the file of the software application 1, it indicates that the file of the software application 1 is not modified, if the hash value in the information record is related to the software If the hash value of the file of application 1 is inconsistent, it indicates that the file of the software application 1 has been modified.
  • the blockchain technology ensures the security and trustworthiness of the information records issued by the publisher, so that the client can verify the information in the blockchain by issuing the public and private key.
  • the hash value in the confirmation confirms whether the software application published by the publisher has been modified.
  • the client before installing the software application, the client can prompt the user whether the software application to be installed is consistent with the software application released by the publisher for the user's reference.
  • the server 301 can also directly publish the file of the software application 1 to the application market, so that the client can download the file of the software application 1 in the application market, and the present invention Not limited.
  • the embodiment of the present invention further provides a server 50 for distributing a software application, where the server 50 is a node in a blockchain network, and stores a blockchain composed of a plurality of blocks, each block is used for storing information.
  • the server 50 includes:
  • An obtaining unit 501 configured to acquire an information record of the software application, where the information record includes at least a hash value of the software application file;
  • the signing unit 502 is configured to encrypt the information record according to the private key of the issuer to obtain an information record signature, where the information record signature is used to verify whether the issuer that issues the software application is impersonated, The hash value is used to verify whether the software application published by the publisher is modified;
  • a blockchain writing unit 503 configured to write the information record and the information record signature into a block of a blockchain to obtain a block address, wherein the block address is used by a client in the The block is found in the blockchain.
  • the server is configured to perform a private key signature on the information record including at least the hash value of the software application file, and write the information record before the signature and the signed information record (that is, the information record signature) into the blockchain.
  • the client can perform signature verification on the information record signature according to the public key published by the target issuer, and the successful sign verification indicates the area.
  • the block is written by the target publisher, and based on the hash value in the information record, verifies whether the software application downloaded by the client is consistent with the software application published by the target publisher. Since the information written in the blockchain has non-tamperable characteristics, the client can verify whether the downloaded software application is released for the target publisher based on the authentic private key signature and the hash value of the software application file. And unmodified software application.
  • the information record may further include a download address of the software application. among them, The download address is used by the client to download the software application according to the download address.
  • the server 501 further includes: a publishing unit 504, configured to publish the block address and the name of the software application to an application market, or the block address and The software application file is published to the application market.
  • a publishing unit 504 configured to publish the block address and the name of the software application to an application market, or the block address and The software application file is published to the application market.
  • the server 50 may be configured by one or more ASICs (Application Specific Integrated Circuits), DSP (Digital). Signal Processor, Digital Signal Processor, DSPD (Digital Signal Processing Device), PLD (Programmable Logic Device), FPGA (Field Programmable Gate Array), Control Implemented by a microcontroller, microcontroller, microprocessor or other electronic component for performing the method provided in FIG.
  • ASICs Application Specific Integrated Circuits
  • DSP Digital Signal Processor
  • DSPD Digital Signal Processor
  • PLD Programmable Logic Device
  • FPGA Field Programmable Gate Array
  • the embodiment of the present invention further provides a client 60, which is a node in a blockchain network, and stores a blockchain composed of a plurality of blocks, each block is used for storing information for implementation.
  • the method for verifying the software application provided by the foregoing method embodiment is as shown in FIG. 6A.
  • the client 60 includes:
  • the first obtaining unit 601 is configured to obtain, from the application market, a block address corresponding to the first software application
  • the searching unit 602 is configured to search for a corresponding block in the blockchain according to the block address;
  • the second obtaining unit 603 is configured to acquire an information record of the second software application stored in the block and an information record signature, where the information record signature is the issuer private key signature Recorded, the information record includes at least a hash value of the second software application;
  • the signature verification unit 604 is configured to perform signature verification on the information record signature according to the public key of the target issuer, wherein if the signature verification is successful, the second software application is a software application issued by the target issuer. ;
  • the determining unit 605 is configured to determine, according to the hash value, whether the first software application file is consistent with the second software application file after the verification by the signature verification unit 604 is successful.
  • the client may perform signature verification on the information record signature according to the public key published by the target issuer, and the signature authentication succeeds to indicate the block. It is written by the target publisher, and according to the hash value in the information record, it is verified whether the software application downloaded by the client is consistent with the software application published by the target publisher. Since the information written in the blockchain has non-tamperable characteristics, the client can verify whether the downloaded software application is released for the target publisher based on the authentic private key signature and the hash value of the software application file. And unmodified software application.
  • the first obtaining unit 601 is configured to: acquire the first software application file from the application market, where the application marketplace provides a software application file and a corresponding block address thereof.
  • the information record further includes a download address.
  • the client 60 further includes a third obtaining unit 606, after the signature verification unit 604 successfully verifies the information record signature. Downloading the first software application file according to the download address, wherein the application marketplace provides a software application name and a corresponding block address thereof.
  • the determining unit 605 is configured to: calculate a hash value of the first software application file; determine whether a hash value of the first software application file and a hash value in the information record are Consistently, if the hash value of the first software application file is consistent with the hash value in the information record, indicating that the first software application is consistent with the second software application.
  • each unit may also be in various manners, which is not limited by the present invention.
  • the server 70 includes:
  • the processor 701 may be a multi-core CPU or an Application Specific Integrated Circuit (ASIC) or one or more integrated circuits configured to implement embodiments of the present invention.
  • ASIC Application Specific Integrated Circuit
  • the memory 703 is for storing program code, and the program code includes computer operation instructions and a network flow diagram.
  • the memory 703 may carry a high speed RAM memory and may also include a non-volatile memory such as at least one disk memory.
  • the communication interface 702 is configured to implement connection communication between the devices.
  • the processor 701 executes the program code, and the program code is used to implement the method shown in FIG. 1 during the operation. For details, refer to the description of the method embodiment in FIG. 1 , and details are not described herein again.
  • the embodiment of the present invention further provides another client 80.
  • the client 80 includes:
  • the processor 801, the communication interface 802, the memory 803, and the communication bus 804; the processor 801, the communication interface 802, and the memory 803 complete communication with each other through the communication bus 804.
  • Processor 801 may be a multi-core CPU CPU, or a specific integrated circuit ASIC, or one or more integrated circuits configured to implement embodiments of the present invention.
  • the memory 803 is used to store program code, and the program code includes computer operation instructions and a network flow diagram.
  • Memory 803 may carry high speed RAM memory and may also include non-volatile memory, such as at least one disk storage.
  • the communication interface 802 is configured to implement connection communication between the devices.
  • the processor 801 executes the program code, and the program code is used to implement the method shown in FIG. 2 during the operation. For details, refer to the description of the method embodiment in FIG. 2, and details are not described herein again.
  • the disclosed apparatus and methods can be implemented in other ways.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • there may be another division manner for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the above integrated unit can be implemented in the form of hardware or in the form of hardware plus software functional units.
  • the above-described integrated unit implemented in the form of a software functional unit can be stored in a computer readable storage medium.
  • the software functional units described above are stored in a storage medium and include instructions for causing a computer device (which may be a personal computer, server, or network device, etc.) to perform portions of the steps of the methods described in various embodiments of the present invention.
  • the foregoing storage medium includes: a USB flash drive, A variety of media that can store data, such as a hard disk, a RAM (Random Access Memory), a disk, or an optical disk.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

一种软件应用程序发布和验证的方法及装置,用以解决现有技术无法验证软件开发商发布的软件应用与用户安装的软件应用是否一致的技术问题。所述方法应用于软件发布方发布软件应用程序的服务器,所述服务器是区块链网络中的节点,存储有由多个区块组成的区块链,每个区块用于存储信息,所述方法包括:获取所述软件应用程序的信息记录,所述信息记录至少包括所述软件应用程序文件的哈希值;根据所述发布方的私钥对所述信息记录进行签名,得到信息记录签名;将所述信息记录以及所述信息记录签名写入区块链的区块中,得到区块地址。

Description

软件应用程序发布和验证的方法及装置 技术领域
本发明涉及互联网领域,尤其涉及一种软件应用程序发布和验证的方法及装置。
背景技术
目前,软件应用程序的应用市场一般是由各个硬件厂商或者系统厂家提供,软件应用的开发商在开发出应用程序后,将应用程序发布到应用市场,以供客户端下载安装。
为了对软件应用的发布者进行身份认证,并且保证信息传输的完整性,现有的所有软件应用都要求用证书进行数字签名,客户端用户系统不会安装没有进行签名的软件应用。但是,由于软件应用的开发和提供下载不是同一主体,使得应用市场的提供商可以对软件应用的开发商提供的原始软件应用进行修改,并且自己签名,当软件应用进入客户端本地系统后,在执行安装之前,也无从得知新下载的软件应用是否被本地系统内的其他程序篡改。
由上可知,现有技术中,用户无从得知安装的软件应用是否为开发商原始提供的,同时应用程序的开发商对自己发布出去的软件应用也失去了控制权,损害了用户和开发商的相关利益。
发明内容
本发明的目的是提供一种软件应用程序发布和下载的方法及装置,用以解决现有技术无法验证软件开发商发布的软件应用与用户安装的软件应用是否一致的技术问题。
为了实现上述目的,本发明第一方面提供一种软件应用程序发布方法, 所述方法应用于软件发布方发布软件应用程序的服务器,所述服务器是区块链网络中的节点,存储有由多个区块组成的区块链,每个区块用于存储信息,所述方法包括:
获取所述软件应用程序的信息记录,所述信息记录至少包括所述软件应用程序文件的哈希值;
根据所述发布方的私钥对所述信息记录进行签名,得到信息记录签名;所述信息记录签名用于验证发布所述软件应用程序的发布方是否被冒充,所述哈希值用于验证所述发布方发布的所述软件应用程序是否被修改;
将所述信息记录以及所述信息记录签名写入区块链的区块中,得到区块地址,其中,所述区块地址用于客户端在所述区块链中查找到所述区块。
本发明第二方面提供一种软件应用程序验证方法,所述方法应用于客户端,所述客户端是区块链网络中的节点,存储有由多个区块组成的区块链,每个区块用于存储信息,所述方法包括:
从应用市场获取第一软件应用程序对应的区块地址;
根据所述区块地址在区块链中查找对应的区块;
获取所述区块中存储的第二软件应用程序的信息记录以及信息记录签名,所述信息记录签名是发布方私钥签名所述信息记录得到的,所述信息记录至少包括所述第二软件应用程序的哈希值;
根据目标发布方的公钥对所述信息记录签名进行签名验证,其中,若签名验证成功,则表明所述第二软件应用程序是所述目标发布方发布的软件应用程序;
在签名验证成功后,根据所述哈希值确定所述第一软件应用程序文件是否与所述第二软件应用程序文件一致。
本发明第三方面提供一种发布软件应用程序的服务器,所述服务器是区块链网络中的节点,存储有由多个区块组成的区块链,每个区块用于存储信 息,所述服务器包括:
获取单元,用于获取所述软件应用程序的信息记录,所述信息记录至少包括所述软件应用程序文件的哈希值;
加密单元,用于根据所述发布方的私钥对所述信息记录进行签名,得到信息记录签名;所述信息记录签名用于验证发布所述软件应用程序的发布方是否被冒充,所述哈希值用于验证所述发布方发布的所述软件应用程序是否被修改;
区块链写入单元,用于将所述信息记录以及所述信息记录签名写入区块链的区块中,得到区块地址,其中,所述区块地址用于客户端在所述区块链中查找到所述区块。
本发明第四方面提供一种客户端,所述客户端是区块链网络中的节点,存储有由多个区块组成的区块链,每个区块用于存储信息,所述客户端包括:
第一获取单元,用于从应用市场获取第一软件应用程序对应的区块地址;
查找单元,用于根据所述区块地址在区块链中查找对应的区块;
第二获取单元,用于获取所述区块中存储的第二软件应用程序的信息记录以及信息记录签名,所述信息记录签名是发布方私钥签名所述信息记录得到的,所述信息记录至少包括所述第二软件应用程序的哈希值;
签名验证单元,用于根据目标发布方的公钥对所述信息记录签名进行解密,其中,若签名验证成功则表明所述第二软件应用程序是所述目标发布方发布的软件应用程序;
确定单元,用于在签名验证成功后,根据所述哈希值确定所述第一软件应用程序文件是否与所述第二软件应用程序文件一致。
本发明第五方面提供一种发布软件应用程序的服务器,包括:
处理器、通信接口、存储器和通信总线;所述处理器、所述通信接口和所述存储器通过所述通信总线完成相互间的通信;
所述存储器用于存储应用程序;
所述处理器用于执行所述应用程序以实现第一方面所述的方法。
本发明第六方面提供一种客户端,包括:
处理器、通信接口、存储器和通信总线;所述处理器、所述通信接口和所述存储器通过所述通信总线完成相互间的通信;
所述存储器用于存储应用程序;
所述处理器用于执行所述应用程序以实现第二方面所述的方法。
本发明第七方面提供一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序包括用于执行第一方面所述的方法的指令。
本发明第八方面提供一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序包括用于执行第二方面所述的方法的指令。
采用上述技术方案,软件开发商在发布软件应用程序时,将至少包括软件应用程序文件的哈希值的信息记录进行私钥签名,并将签名前的信息记录和签名后得到的信息记录签名写入区块链的区块中。这样,客户端在获得某个区块存储的信息记录和信息记录签名后,可以根据目标发布方公布的公钥对区块中的信息记录签名进行签名验证,签名验证成功则表明该区块是目标发布方写入的,并根据信息记录中的哈希值验证客户端下载得到的软件应用程序是否与目标发布方发布的软件应用程序一致。由于区块链中写入的信息具备不可篡改的特性,从而使得客户端可以根据真实可信的私钥签名以及软件应用程序文件的哈希值,验证下载的软件应用程序是否为目标发布方发布的且未经修改的软件应用程序。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种软件应用程序发布方法的流程示意图;
图2为本发明实施例提供的一种软件应用程序验证方法的流程示意图;
图3为本发明实施例提供的一种实施环境的示意图;
图4为图3所示的实施环境中软件应用程序发布和验证方法的流程示意图;
图5A为本发明实施例提供的一种服务器的结构示意图;
图5B为本发明实施例提供的另一种服务器的结构示意图;
图6A为本发明实施例提供的一种客户端的结构示意图;
图6B为本发明实施例提供的另一种客户端的结构示意图;
图7为本发明实施例提供的又一种服务器的结构示意图;
图8为本发明实施例提供的又一种客户端的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了使本领域技术人员更容易理解本发明实施例提供的技术方案,下面首先对本发明涉及到的相关技术进行简单介绍。
区块链是由区块链网络中所有节点共同参与维护的去中心化分布式数据库系统,它是由一系列基于密码学方法产生的数据块组成,每个数据块即为区块链中的一个区块。根据产生时间的先后顺序,区块被有序地链接在一起,形成一个数据链条,被形象地称为区块链。区块链由其特别的区块和交易产生、验证协议,具有不可更改,不可伪造、完全可追溯的安全特性。
区块链技术中涉及到的相关概念说明:
用户身份:区块链中的用户身份使用公钥表示,所述公钥所对应的私钥由用户掌握而不发布到网络,公钥通过特定的哈希和编码后成为“地址”,“地址”代表了用户,并可随意发布。
区块链数据写入:区块链节点通过向区块链网络发布“交易”(Transaction)实现向区块链写入数据。交易中包含用户使用自己私钥对交易的签名,以证明用户的身份。交易被“矿工”(执行区块链共识竞争机制的区块链节点)记录入产生的新区块,然后发布到区块链网络,并被其他区块链节点验证通过和接受后,交易数据即被写入区块链。
区块链具有的特性:
去中心化:整个区块链系统没有中心化的硬件或者管理机构,任意节点之间的权利和义务都是均等的,且任一节点的损坏或者失去都会不影响整个系统的运作。因此也可以认为区块链具有极好的健壮性。
去信任化:参与整个区块链系统中的每个节点之间进行数据交换是无需互相信任的,整个系统的运作规则是公开透明的,所有的数据内容也是公开的,因此在系统指定的规则范围和时间范围内,节点之间是不能也无法欺骗其它节点。
基于区块链技术,本发明实施例提供一种软件应用程序的发布方法,如图1所示,该方法应用于发布软件应用程序的服务器,包括:
S101、服务器获取所述软件应用程序的信息记录,所述信息记录至少包 括所述软件应用程序文件的哈希值。
S102、服务器根据所述发布方的私钥对所述信息记录进行签名,得到信息记录签名。
S103、服务器将所述信息记录以及所述信息记录签名写入区块链的区块中,得到区块地址,其中,所述区块地址用于客户端在所述区块链中查找到所述区块。
参照上述对区块链数据写入的介绍,该服务器区块链网络中的节点,存储有由多个区块组成的区块链,每个区块用于存储信息,确保了该服务器至少具备参与区块链交易的功能。
采用上述方法,软件开发商在发布软件应用程序时,将包括软件应用程序文件的哈希值的信息记录进行私钥签名,并将签名前的信息记录和签名后得到的信息记录签名都写入区块链的区块中。其中,所述信息记录签名用于验证发布所述软件应用程序的区块发布方是否被冒充,所述哈希值用于验证所述发布方发布的所述软件应用程序是否被修改。这样,客户端在获得某个区块存储的信息记录和信息记录签名后,可以根据目标发布方公布的公钥该信息记录签名进行签名认证,签名认证成功则表明该区块是目标发布方写入的,并根据该信息记录中的哈希值验证客户端下载得到的软件应用程序是否与目标发布方发布的软件应用程序一致。由于区块链中写入的信息具备不可篡改的特性,从而使得客户端可以根据真实可信的私钥签名以及软件应用程序文件的哈希值,验证下载的软件应用程序是否为目标发布方发布的且未经修改的软件应用程序。
值得说明的是,所述信息记录还可以包括所述软件应用程序的下载地址。其中,所述下载地址用于客户端根据所述下载地址下载所述软件应用程序。具体地,所述下载地址可以是软件应用程序的源下载地址。
在本发明实施例的一种可能的实现方式中,服务器将应用程序的信息记 录以及信息记录签名写入区块链的区块后,可以将得到的区块地址以及所述软件应用程序的名称发布到应用市场。这样,客户端在从公共网络下载到软件应用程序后,可以从应用市场查找得到该软件应用程序的区块地址,并根据该区块地址从区块链中获取到该信息记录以及信息记录签名。
在用于私钥签名的原始信息记录(即上述至少包括应用程序文件的哈希值的信息记录)中还包括下载地址的情况下,客户端可以首先根据软件应用程序的名称在应用市场搜索,得到该软件应用程序对应的区块地址,再根据该区块地址从区块链中得到该信息记录以及信息记录签名,这样,客户端在对信息记录签名进行签名验证成功后,可以根据该下载地址下载软件应用程序文件,并根据该信息记录中的哈希值验证该软件应用程序是否被修改。
采用上述可能的实现方式,应用市场中由于无需存放软件应用程序文件,从而节省了应用市场存储空间。
可替换地,服务器将信息记录签名写入区块链的区块后,也可以将所述区块地址以及所述软件应用程序文件发布到应用市场。这样,该客户端可以直接从应用市场下载得到软件应用程序文件,并根据区块地址从区块链中获取到应用程序的信息记录以及信息记录签名,以对该软件应用程序进行验证。
另外,上述步骤S103具体可以是,服务器以智能合约形式将信息记录签名写入区块链网络中的区块,则上述区块地址具体可以是合约地址。
值得说明的是,智能合约是一段计算机执行程序,满足可准确自动执行,基于区块链的智能合约包括事务处理和保存的机制,以及一个完备的状态机,用于接受和处理各种智能合约。如果自动状态机中某个或某几个动作的触发条件满足,则由状态机根据预设信息选择合约动作自动执行。例如,对于需要付费下载的软件应用程序,以智能合约形式写入区块链网络中的信息记录签名可以在用户支付相关费用后,允许用户获取到软件应用程序的下载地址。
本发明实施例还提供一种软件应用程序验证方法,所述方法应用于客户 端,如图2所示,该方法包括:
S201、客户端从应用市场获取第一软件应用程序对应的区块地址。
其中,该应用市场可以是提供了软件应用程序名称和对应的区块地址的列表,这样,客户端根据软件应用程序的名称即可从应用市场获取到对应的区块地址。
在本发明实施例的一种可能的实现方式中,该应用市场还可以提供软件应用程序文件,在此种情况下,客户端可以直接从应用市场下载软件应用程序文件,并获取对应的区块地址。
S202、客户端根据所述区块地址在区块链中查找对应的区块。
其中,该客户端是区块链网络中的节点,以确保客户端具备查询区块链的权限。
S203、客户端获取所述区块中存储的第二软件应用程序的信息记录以及信息记录签名。
其中,所述信息记录签名是发布方私钥签名所述第二软件应用程序的信息记录得到的,所述信息记录至少包括所述第二软件应用程序的哈希值。
具体地,所述信息记录签名的产生可以参照上述对图1提供的软件应用程序发布方法的描述,此处不再赘述。
S204、客户端根据目标发布方的公钥对所述信息记录签名进行签名验证,其中,若签名验证成功则表明所述第二软件应用程序是所述目标发布方发布的软件应用程序。
值得说明的是,目标发布方可以在自身的官网上公布公钥,客户端访问官方网站即可获得目标发布方的公钥。
具体地,信息记录签名是根据发布方的私钥对软件应用程序的信息记录进行加密得到的,这样,客户端在获取到区块链的某一区块中存储的信息记录以及信息记录签名后,根据目标发布方的公钥对信息记录签名进行解密, 若解密结果与该信息记录一致,则签名验证成功,即可确定该区块是该目标发布方发布的,从而保证了软件发布方不可冒充。
S205、客户端在签名验证成功后,根据所述哈希值确定所述第一软件应用程序文件是否与所述第二软件应用程序文件一致。
在软件应用程序的信息记录中包括软件应用程序的下载地址的情况下,客户端在签名验证成功后,可以根据下载地址下载得到第一软件应用程序,其中,该下载地址可以是软件应用程序的源下载地址。
进一步地,客户端在得到第一软件应用程序文件后,计算所述第一软件应用程序文件的哈希值,并确定所述第一软件应用程序文件的哈希值与所述信息记录中的哈希值是否一致,其中,若所述第一软件应用程序文件的哈希值与所述信息记录中的哈希值一致,则表明所述第一软件应用程序与所述第二软件应用程序一致。保证了客户端能够识别出软件应用程序在目标发布方发布后是否被修改。
采用上述方法,客户端在从区块链的区块中获取到软件应用程序的信息记录以及信息记录签名后,可以根据目标发布方公布的公钥对信息记录签名进行签名验证,签名验证成功则表明该区块是目标发布方写入的,并可以根据信息记录中的哈希值进一步验证客户端下载得到的软件应用程序是否与目标发布方发布的软件应用程序一致。由于区块链中写入的信息具备不可篡改的特性,从而使得客户端可以根据真实可信的私钥签名以及软件应用程序文件的哈希值,验证下载的软件应用程序是否为目标发布方发布的且未经修改的软件应用程序。
为了使本领域技术人员更加理解本发明实施例
提供的技术方案,下面以结合图3说明本发明实施例提供的软件应用程序的发布和验证方法。
图3是本发明实施例提供的一种实施环境的示意图,如图3所示,该实 施环境包括发布方用于发布软件应用程序的服务器301,客户端302,其中,该客户端302可以是手机,平板电脑等用户设备。该实施环境还包括区块链网络303,应用市场304以及公共网络305。结合图3,本发明实施例提供的一种软件应用程序的发布和验证方法如图4所示,包括:
S401、服务器301获取软件应用程序1的信息记录。
该信息记录包括软件应用程序1文件的哈希值,以及该软件应用程序1的下载地址,例如,该软件应用程序1在公共网络305中的源下载地址。
S402、服务器301对该信息记录进行私钥签名,得到信息记录签名。
其中,服务器301是区块链网络中的一个区块链节点,软件应用程序的发布方在注册区块链网络时,可以得到成对出现的私钥和公钥。其中,私钥由发布方掌握而不发布到网络中,公钥可以发布到公共网络中由客户端获取。这样,公钥能够解密的签名信息即可确认为是该发布方发布的。
S403、服务器301将该信息记录和该信息记录签名写入区块链网络303中的区块,得到区块地址。
如图3所示的区块链网络303,其包括n个区块,参照上述对区块链数据写入的介绍,服务器301作为区块链网络中的一个区块链节点,其向区块链网络中写入信息记录签名遵循现有的区块链写入规则。
S404、服务器301将该软件应用程序1的名称以及区块地址发布到应用市场304。
其中,在采用本发明实施例后,应用市场只需提供软件应用程序名称和区块地址的对应关系,如图3所示的应用市场304,其提供了n个软件应用程序的名称及其对应的区块地址。
S405、客户端302根据软件应用程序1的名称在应用市场304搜索,获取该软件应用程序1对应的区块地址。
S406、客户端302从公共网络305获取发布方的公钥。
S407、客户端302根据该区块地址查找区块链网络中的区块,获取该区块中的信息记录以及信息记录签名。
S408、客户端302根据该公钥对该信息记录签名进行签名认证。
进一步地,若签名认证成功则执行步骤S409;若签名认证失败则表明该区块中的信息记录是仿冒的发布方发布的,该客户端可以拒绝从该区块获取相关信息下载软件应用程序。
S409、客户端302根据该信息记录中的下载地址下载软件应用程序1。
S410、客户端302计算下载得到的软件应用程序1的文件的哈希值。
S411、客户端302比较该信息记录中的哈希值与该软件应用程序1的文件的哈希值是否一致,以确定该软件应用程序1的文件是否被修改。
其中,若该信息记录中的哈希值与该软件应用程序1的文件的哈希值一致,则表明该软件应用程序1的文件未被修改,若该信息记录中的哈希值与该软件应用程序1的文件的哈希值不一致,则表明该软件应用程序1的文件被修改过。
采用上述方案,区块链技术确保了发布方发布的信息记录的安全可信任,这样,客户端通过公私钥验证在确定区块链中的信息记录为正确的发布方发布之后,可以根据信息记录中的哈希值确认该发布方发布的软件应用程序是否被修改。这样,在安装软件应用程序之前,客户端可以提示用户将要安装的软件应用程序是否与发布方发布的软件应用程序一致,以供用户参考。
值得说明的是,对于上述方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明所必须的。例如,可替换地,该服务器301也可以直接将软件应用程序1的文件发布到应用市场,以便客户端可以在应用市场下载到软件应用程序1的文件,本发明对此 不做限定。
本发明实施例还提供一种发布软件应用程序的服务器50,该服务器50是区块链网络中的节点,存储有由多个区块组成的区块链,每个区块用于存储信息,用于实施上述方法实施例提供的软件应用程序发布方法,如图5A所示,该服务器50包括:
获取单元501,用于获取所述软件应用程序的信息记录,所述信息记录至少包括所述软件应用程序文件的哈希值;
签名单元502,用于根据所述发布方的私钥对所述信息记录进行加密,得到信息记录签名;所述信息记录签名用于验证发布所述软件应用程序的发布方是否被冒充,所述哈希值用于验证所述发布方发布的所述软件应用程序是否被修改;
区块链写入单元503,用于将所述信息记录以及所述信息记录签名写入区块链的区块中,得到区块地址,其中,所述区块地址用于客户端在所述区块链中查找到所述区块。
采用上述服务器,该服务器将至少包括软件应用程序文件的哈希值的信息记录进行私钥签名,并将签名前的信息记录和签名后的信息记录(即上述信息记录签名)写入区块链的区块中,这样,客户端在获得某个区块存储的信息记录和信息记录签名后,可以根据目标发布方公布的公钥对该信息记录签名进行签名认证,签名认证成功则表明该区块是目标发布方写入的,并根据该信息记录中的哈希值验证客户端下载得到的软件应用程序是否与目标发布方发布的软件应用程序一致。由于区块链中写入的信息具备不可篡改的特性,从而使得客户端可以根据真实可信的私钥签名以及软件应用程序文件的哈希值,验证下载的软件应用程序是否为目标发布方发布的且未经修改的软件应用程序。
可选地,所述信息记录还可以包括所述软件应用程序的下载地址。其中, 所述下载地址用于客户端根据所述下载地址下载所述软件应用程序。
可选地,如图5B所示,该服务器501还包括:发布单元504,用于将所述区块地址以及所述软件应用程序的名称发布到应用市场,或者,将所述区块地址以及所述软件应用程序文件发布到应用市场。
本领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将装置的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。上述描述功能单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,对于上述功能单元的物理实现也可以有多种方式,例如,在一示例性实施例中,服务器50可以被一个或多个ASIC(Application Specific Integrated Circuit,应用专用集成电路)、DSP(Digital Signal Processor,数字信号处理器)、DSPD(Digital Signal Processing Device、数字信号处理终端设备)、PLD(Programmable Logic Device,可编程逻辑器件)、FPGA(Field Programmable Gate Array,现场可编程门阵列)、控制器、微控制器、微处理器或其他电子元件实现,用于执行图1提供的方法。
本发明实施例还提供一种客户端60,该客户端60是区块链网络中的节点,存储有由多个区块组成的区块链,每个区块用于存储信息,用于实施上述方法实施例提供的软件应用程序的验证方法,如图6A所示,该客户端60包括:
第一获取单元601,用于从应用市场获取第一软件应用程序对应的区块地址;
查找单元602,用于根据所述区块地址在区块链中查找对应的区块;
第二获取单元603,用于获取所述区块中存储的第二软件应用程序的信息记录以及信息记录签名,所述信息记录签名是发布方私钥签名所述信息记 录得到的,所述信息记录至少包括所述第二软件应用程序的哈希值;
签名验证单元604,用于根据目标发布方的公钥对所述信息记录签名进行签名验证,其中,若签名验证成功则表明所述第二软件应用程序是所述目标发布方发布的软件应用程序;
确定单元605,用于在所述签名验证单元604验证成功后,根据所述哈希值确定所述第一软件应用程序文件是否与所述第二软件应用程序文件一致。
采用上述客户端,该客户端在获得某个区块存储的信息记录和信息记录签名后,可以根据目标发布方公布的公钥对该信息记录签名进行签名认证,签名认证成功则表明该区块是目标发布方写入的,并根据该信息记录中的哈希值验证客户端下载得到的软件应用程序是否与目标发布方发布的软件应用程序一致。由于区块链中写入的信息具备不可篡改的特性,从而使得客户端可以根据真实可信的私钥签名以及软件应用程序文件的哈希值,验证下载的软件应用程序是否为目标发布方发布的且未经修改的软件应用程序。
可选地,所述第一获取单元601用于:从所述应用市场获取所述第一软件应用程序文件,其中,所述应用市场提供软件应用程序文件及其对应的区块地址。
可选地,所述信息记录还包括下载地址,如图6B所示,所述客户端60还包括第三获取单元606,用于在所述签名验证单元604对所述信息记录签名验证成功后,根据所述下载地址下载所述第一软件应用程序文件,其中,所述应用市场提供软件应用程序名称及其对应的区块地址。
可选地,所述确定单元605用于:计算所述第一软件应用程序文件的哈希值;确定所述第一软件应用程序文件的哈希值与所述信息记录中的哈希值是否一致,其中,若所述第一软件应用程序文件的哈希值与所述信息记录中的哈希值一致,则表明所述第一软件应用程序与所述第二软件应用程序一致。
所属本领域的技术人员应该清楚地了解到,为描述的方便和简洁,上述描述的客户端的各单元的具体工作过程,可以参考前述方法实施例中对应的过程,此处不再赘述。
另外,上述对客户端组成单元进行的划分,仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。并且,各个单元的物理实现也可以有多种方式,本发明对此不做限定。
本发明实施例还提供另一种服务器70,如图7所示,该服务器70包括:
处理器(processor)701、通信接口(Communications Interface)702、存储器(memory)703和通信总线704;其中,所述处理器701、所述通信接口702和所述存储器703通过所述通信总线704完成相互间的通信。
处理器701可能是一个多核中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器703用于存放程序代码,所述程序代码包括计算机操作指令和网络流图。存储器703可能携带高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
所述通信接口702,用于实现这些装置之间的连接通信。
所述处理器701执行程序代码,所述程序代码在运行时用于实现图1所示的方法,具体参照上述方法实施例对于图1的描述,此处不再赘述。
本发明实施例还提供另一种客户端80,如图8所示,该客户端80包括:
处理器801、通信接口802、存储器803和通信总线804;所述处理器801、所述通信接口802和所述存储器803通过所述通信总线804完成相互间的通信。
处理器801可能是一个多核中央处理器CPU,或者是特定集成电路ASIC,或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器803用于存放程序代码,所述程序代码包括计算机操作指令和网络流图。存储器803可能携带高速RAM存储器,也可能还包括非易失性存储器,例如至少一个磁盘存储器。
所述通信接口802,用于实现这些装置之间的连接通信。
所述处理器801执行程序代码,所述程序代码在运行时用于实现图2所示的方法,具体参照上述方法实施例对于图2的描述,此处不再赘述。
在本申请所提供的几个实施例中,应该理解到,所公开的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、 移动硬盘、RAM(Random Access Memory,随机存取存储器)、磁碟或者光盘等各种可以存储数据的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (18)

  1. 一种软件应用程序发布方法,其特征在于,所述方法应用于软件发布方发布软件应用程序的服务器,所述服务器是区块链网络中的节点,存储有由多个区块组成的区块链,每个区块用于存储信息,所述方法包括:
    获取所述软件应用程序的信息记录,所述信息记录至少包括所述软件应用程序文件的哈希值;
    根据所述发布方的私钥对所述信息记录进行签名,得到信息记录签名;所述信息记录签名用于验证发布所述软件应用程序的发布方是否被冒充,所述哈希值用于验证所述发布方发布的所述软件应用程序是否被修改;
    将所述信息记录以及所述信息记录签名写入区块链的区块中,得到区块地址,其中,所述区块地址用于客户端在所述区块链中查找到所述区块。
  2. 根据权利要求1所述的方法,其特征在于,所述信息记录还包括所述软件应用程序的下载地址,所述下载地址用于客户端根据所述下载地址下载所述软件应用程序。
  3. 根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
    将所述区块地址以及所述软件应用程序的名称发布到应用市场;或者,将所述区块地址以及所述软件应用程序文件发布到应用市场。
  4. 一种软件应用程序验证方法,其特征在于,所述方法应用于客户端,所述客户端是区块链网络中的节点,存储有由多个区块组成的区块链,每个区块用于存储信息,所述方法包括:
    从应用市场获取第一软件应用程序对应的区块地址;
    根据所述区块地址在区块链中查找对应的区块;
    获取所述区块中存储的第二软件应用程序的信息记录以及信息记录签名,所述信息记录签名是发布方私钥签名所述信息记录得到的,所述信息记录至少包括所述第二软件应用程序的哈希值;
    根据目标发布方的公钥对所述信息记录签名进行签名验证,其中,若签名验证成功则表明所述第二软件应用程序是所述目标发布方发布的软件应用程序;
    在签名验证成功后,根据所述哈希值确定所述第一软件应用程序文件是否与所述第二软件应用程序文件一致。
  5. 根据权利要求4所述的方法,其特征在于,所述方法还包括:
    从所述应用市场获取所述第一软件应用程序文件,其中,所述应用市场提供软件应用程序文件及其对应的区块地址。
  6. 根据权利要求5所述的方法,其特征在于,所述信息记录还包括下载地址,在签名验证成功后,所述方法还包括:
    根据所述下载地址下载所述第一软件应用程序文件,其中,所述应用市场提供软件应用程序名称及其对应的区块地址。
  7. 根据权利要求5或6所述的方法,其特征在于,所述根据所述哈希值确定所述第一软件应用程序文件是否与所述第二软件应用程序文件一致,包括:
    计算所述第一软件应用程序文件的哈希值;
    确定所述第一软件应用程序文件的哈希值与所述信息记录中的哈希值是否一致,其中,若所述第一软件应用程序文件的哈希值与所述信息记录中的哈希值一致,则表明所述第一软件应用程序与所述第二软件应用程序一致。
  8. 一种发布软件应用程序的服务器,其特征在于,所述服务器是区块链网络中的节点,存储有由多个区块组成的区块链,每个区块用于存储信息,所述服务器包括:
    获取单元,用于获取所述软件应用程序的信息记录,所述信息记录至少包括所述软件应用程序文件的哈希值;
    签名单元,用于根据所述发布方的私钥对所述信息记录进行签名,得到信息记录签名;所述信息记录签名用于验证发布所述软件应用程序的发布方是否被冒充,所述哈希值用于验证所述发布方发布的所述软件应用程序是否被修改;
    区块链写入单元,用于将所述信息记录以及所述信息记录签名写入区块链的区块中,得到区块地址,其中,所述区块地址用于客户端在所述区块链中查找到所述区块。
  9. 根据权利要求8所述的服务器,其特征在于,所述信息记录还包括所述软件应用程序的下载地址,其中,所述下载地址用于客户端根据所述下载地址下载所述软件应用程序。
  10. 根据权利要求8或9所述的服务器,其特征在于,还包括:
    发布单元,用于将所述区块地址以及所述软件应用程序的名称发布到应用市场,或者,将所述区块地址以及所述软件应用程序文件发布到应用市场。
  11. 一种客户端,其特征在于,所述客户端是区块链网络中的节点,存储有由多个区块组成的区块链,每个区块用于存储信息,所述客户端包括:
    第一获取单元,用于从应用市场获取第一软件应用程序对应的区块地址;
    查找单元,用于根据所述区块地址在区块链中查找对应的区块;
    第二获取单元,用于获取所述区块中存储的第二软件应用程序的信息记录以及信息记录签名,所述信息记录签名是发布方私钥签名所述信息记录得到的,所述信息记录至少包括所述第二软件应用程序的哈希值;
    签名验证单元,用于根据目标发布方的公钥对所述信息记录签名进行签名验证,其中,若签名验证成功则表明所述第二软件应用程序是所述目标发布方发布的软件应用程序;
    确定单元,用于在签名验证成功后,根据所述哈希值确定所述第一软件应用程序文件是否与所述第二软件应用程序文件一致。
  12. 根据权利要求11所述的客户端,其特征在于,所述第一获取单元用于:
    从所述应用市场获取所述第一软件应用程序文件,其中,所述应用市场提供软件应用程序文件及其对应的区块地址。
  13. 根据权利要求11所述的客户端,其特征在于,所述信息记录还包括下载地址,所述客户端还包括第三获取单元,用于在所述签名验证单元对所述信息记录签名认证成功后,根据所述下载地址下载所述第一软件应用程序文件,其中,所述应用市场提供软件应用程序名称及其对应的区块地址。
  14. 根据权利要求12或13所述的客户端,其特征在于,所述确定单元用于:
    计算所述第一软件应用程序文件的哈希值;
    确定所述第一软件应用程序文件的哈希值与所述信息记录中的哈希值是否一致,其中,若所述第一软件应用程序文件的哈希值与所述信息记录中 的哈希值一致,则表明所述第一软件应用程序与所述第二软件应用程序一致。
  15. 一种发布软件应用程序的服务器,其特征在于,包括:
    处理器、通信接口、存储器和通信总线;所述处理器、所述通信接口和所述存储器通过所述通信总线完成相互间的通信;
    所述存储器用于存储应用程序;
    所述处理器用于执行所述应用程序以实现权利要求1至3任一项所述的方法。
  16. 一种客户端,其特征在于,包括:
    处理器、通信接口、存储器和通信总线;所述处理器、所述通信接口和所述存储器通过所述通信总线完成相互间的通信;
    所述存储器用于存储应用程序;
    所述处理器用于执行所述应用程序以实现权利要求4至7任一项所述的方法。
  17. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序包括用于执行权利要求1至3任一项所述的方法的指令。
  18. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序包括用于执行权利要求4至7任一项所述的方法的指令。
PCT/CN2016/113067 2016-12-29 2016-12-29 软件应用程序发布和验证的方法及装置 WO2018119892A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2016/113067 WO2018119892A1 (zh) 2016-12-29 2016-12-29 软件应用程序发布和验证的方法及装置
CN201680003219.4A CN107077557B (zh) 2016-12-29 2016-12-29 软件应用程序发布和验证的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/113067 WO2018119892A1 (zh) 2016-12-29 2016-12-29 软件应用程序发布和验证的方法及装置

Publications (1)

Publication Number Publication Date
WO2018119892A1 true WO2018119892A1 (zh) 2018-07-05

Family

ID=59623863

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/113067 WO2018119892A1 (zh) 2016-12-29 2016-12-29 软件应用程序发布和验证的方法及装置

Country Status (2)

Country Link
CN (1) CN107077557B (zh)
WO (1) WO2018119892A1 (zh)

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109547404A (zh) * 2018-10-11 2019-03-29 平安科技(深圳)有限公司 数据的获取方法及服务器
CN110221972A (zh) * 2019-05-21 2019-09-10 深圳壹账通智能科技有限公司 一种应用程序的插件校验方法、设备、服务器及存储介质
CN110334542A (zh) * 2019-06-20 2019-10-15 阿里巴巴集团控股有限公司 一种网络证据保全、网络证据存证校验方法及装置
CN110851496A (zh) * 2018-12-07 2020-02-28 深圳市智税链科技有限公司 在区块链网络中查询交易信息的方法、装置、记账节点和介质
CN110929230A (zh) * 2019-12-04 2020-03-27 腾讯科技(深圳)有限公司 作品管理方法、装置、设备以及存储介质
CN110990427A (zh) * 2019-12-16 2020-04-10 北京智游网安科技有限公司 一种应用程序所属区域统计方法、系统及存储介质
CN111292041A (zh) * 2020-02-18 2020-06-16 上海东普信息科技有限公司 一种电子合同生成方法、装置、设备及存储介质
CN111464537A (zh) * 2020-03-31 2020-07-28 湖南工程学院 基于区块链的商品追溯方法、商品追溯系统和存储介质
CN111522809A (zh) * 2019-02-02 2020-08-11 阿里巴巴集团控股有限公司 数据处理方法、系统及设备
CN111625777A (zh) * 2019-02-28 2020-09-04 阿里巴巴集团控股有限公司 作品内容发布及知识产权验证方法和装置
CN111736893A (zh) * 2020-06-24 2020-10-02 中国银行股份有限公司 一种软件包版本核验方法及相关装置
CN112351045A (zh) * 2020-12-26 2021-02-09 旗美供应链(深圳)有限公司 一种供应链管理方法、系统、服务器及计算机可读介质
CN112380573A (zh) * 2019-07-29 2021-02-19 创新先进技术有限公司 一种块链式账本中的数字签名方法、装置及设备
CN112702323A (zh) * 2020-12-14 2021-04-23 杭州溪塔科技有限公司 一种区块链软件的许可签发验证方法、装置和电子设备
CN112738244A (zh) * 2020-12-29 2021-04-30 合肥达朴汇联科技有限公司 一种区块链审计溯源系统
CN112988896A (zh) * 2021-03-29 2021-06-18 湖北央中巨石信息技术有限公司 一种基于区块链的同步共识方法及系统及装置及介质
CN113079018A (zh) * 2021-03-25 2021-07-06 中国联合网络通信集团有限公司 一种就餐数据处理方法及智能餐桌
CN113077278A (zh) * 2020-01-06 2021-07-06 北京京东振世信息技术有限公司 广告监播方法、装置、设备和存储介质
CN113873004A (zh) * 2021-08-16 2021-12-31 中国人民银行数字货币研究所 一种任务执行方法和装置以及分布式计算系统
CN114362960A (zh) * 2021-12-31 2022-04-15 杭州趣链科技有限公司 资源账户的数据监管方法、装置、计算机设备及介质
CN114722356A (zh) * 2021-01-04 2022-07-08 武汉斗鱼鱼乐网络科技有限公司 一种基于区块链保护版权的方法、装置、介质及设备
CN115913585A (zh) * 2021-08-10 2023-04-04 中国联合网络通信集团有限公司 基于区块链的信息验证方法及区块链节点
US12034858B2 (en) 2021-06-23 2024-07-09 Micro Focus Llc Secure execution environment for applications using blockchain
CN118713816A (zh) * 2024-08-28 2024-09-27 苏州元脑智能科技有限公司 服务器系统、固件处理方法、装置、设备、介质及产品

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106934271A (zh) * 2015-12-29 2017-07-07 航天信息股份有限公司 纳税人身份验证装置、方法及系统
CN107517256B (zh) * 2017-08-24 2020-08-07 李昊星 信息发布方法以及装置
US10795977B2 (en) * 2017-08-24 2020-10-06 Oracle International Corporation Digital asset traceability and assurance using a distributed ledger
TWI677213B (zh) * 2017-11-23 2019-11-11 財團法人資訊工業策進會 監控裝置、方法及其電腦程式產品
CN109960512B (zh) * 2017-12-25 2022-05-31 中移动信息技术有限公司 一种软件部署方法及系统
CN108347428B (zh) * 2017-12-29 2020-11-20 北京世纪互联宽带数据中心有限公司 基于区块链的应用程序的注册系统、方法和装置
CN108256353B (zh) * 2018-01-11 2021-01-01 武汉斗鱼网络科技有限公司 一种数据完整性校验方法、装置及客户端
CN108270874B (zh) * 2018-02-05 2021-04-23 武汉斗鱼网络科技有限公司 应用程序的更新方法及装置
CN108566374A (zh) * 2018-03-09 2018-09-21 深圳市元征科技股份有限公司 一种应用下载方法及其系统、区块链节点设备、终端
CN108600180B (zh) * 2018-03-28 2020-11-20 联想(北京)有限公司 一种基于区块链的影像验证方法及装置
CN110400217B (zh) * 2018-04-25 2022-07-01 中国移动通信集团广东有限公司 智能合约的规则变更处理方法及装置
CN110633252B (zh) * 2018-05-31 2022-12-16 阿里巴巴(中国)网络技术有限公司 基于区块链的数据处理方法、装置、系统以及电子设备
CN108764944A (zh) * 2018-05-31 2018-11-06 北京京东尚科信息技术有限公司 验证方法、装置和计算机可读存储介质
FR3082023B1 (fr) * 2018-06-04 2022-05-27 Worldline Une application logicielle et un serveur informatique pour authentifier l’identite d’un createur de contenu numerique et l’integrite du contenu du createur publie
TWI685767B (zh) * 2018-06-07 2020-02-21 艾維克科技股份有限公司 去中心化的軟體資訊建立系統及其方式
CN109120594B (zh) * 2018-07-13 2021-08-13 北京三快在线科技有限公司 流量劫持检测方法及装置
CN109033818B (zh) * 2018-07-16 2020-07-31 北京京东尚科信息技术有限公司 终端、验证方法和计算机可读存储介质
CN108984784B (zh) * 2018-07-26 2020-04-14 百度在线网络技术(北京)有限公司 基于区块链网络的应用实现方法、装置、设备和存储介质
CN110807640A (zh) * 2018-08-02 2020-02-18 阿里巴巴集团控股有限公司 一种记录版权信息的方法及设备
CN110807203B (zh) * 2018-08-06 2022-03-01 中国电信股份有限公司 数据处理方法、业务运营中心平台、系统以及存储介质
CN108881303A (zh) * 2018-08-06 2018-11-23 罗伯特·博世有限公司 具有计算功能的节点、安全验证网络和安全验证方法
CN109150542A (zh) * 2018-08-15 2019-01-04 杭州链汇通区块链科技有限公司 硬件签章方法、硬件签章验证方法、签章系统和存储介质
CN109375944B (zh) * 2018-08-28 2021-10-01 浪潮金融信息技术有限公司 一种基于区块链数据结构的终端软件分发验证方法
CN109408319B (zh) * 2018-08-30 2020-09-29 中国地质大学(武汉) 一种基于区块链的软件运行技术状态监控方法
CN109242491A (zh) * 2018-08-31 2019-01-18 深圳付贝科技有限公司 挖矿身份认证方法、挖矿机及区块链系统
CN110896390B (zh) * 2018-09-12 2021-05-11 华为技术有限公司 一种发送消息的方法、验证消息的方法、装置及通信系统
CN109191212B (zh) * 2018-09-14 2020-11-24 京东数字科技控股有限公司 确定分享用户的方法、装置、设备及计算机可读存储介质
CN109299955B (zh) * 2018-09-14 2020-07-31 京东数字科技控股有限公司 信息的记录方法、装置、设备及计算机可读存储介质
CN109190409B (zh) * 2018-09-14 2020-09-01 京东数字科技控股有限公司 记录信息传播路径的方法、装置、设备及可读存储介质
CN109522683B (zh) * 2018-09-26 2022-11-01 百度在线网络技术(北京)有限公司 软件溯源方法、系统、计算机设备及存储介质
CN109413177A (zh) * 2018-10-19 2019-03-01 深圳市元征科技股份有限公司 一种apk文件的传输方法、系统及相关组件
CN109634615B (zh) * 2018-10-30 2022-04-08 创新先进技术有限公司 应用安装包的发布方法、验证方法和装置
DE102018129354A1 (de) * 2018-11-21 2020-05-28 Phoenix Contact Gmbh & Co. Kg Verfahren zum Bearbeiten von Anwendungsprogrammen auf einem verteilten Automatisierungssystem
RS20181564A1 (sr) * 2018-12-21 2020-06-30 Zivanovic Sava Sistem za automatsko upravljanje i deponovanje srži (heša) dokumenata (slika) u blok-čejn tehnologiji
CN109711162A (zh) * 2018-12-24 2019-05-03 深圳供电局有限公司 一种基于区块链的安全应用方法及系统
CN109889589B (zh) * 2019-02-18 2021-11-23 闪联信息技术工程中心有限公司 一种基于区块链实现嵌入式硬件ota升级系统及方法
CN109981305B (zh) * 2019-03-19 2021-01-01 全链通有限公司 群组通信方法、设备及计算机可读存储介质
CN109948330B (zh) * 2019-03-26 2022-01-11 百度在线网络技术(北京)有限公司 应用管理服务的实现方法、装置、设备及存储介质
CN110046165A (zh) * 2019-04-17 2019-07-23 江苏全链通信息科技有限公司 分布式应用程序的发布方法、设备及计算机可读存储介质
CN110083462A (zh) * 2019-04-17 2019-08-02 江苏全链通信息科技有限公司 基于分布式应用程序的通信方法、设备及存储介质
CN110149316B (zh) * 2019-04-22 2022-05-17 众安信息技术服务有限公司 一种区块链的发布方法及装置
CN111859313A (zh) * 2019-04-29 2020-10-30 华为技术有限公司 验证方法及装置
CN110601853B (zh) * 2019-09-17 2021-05-11 腾讯科技(深圳)有限公司 一种区块链私钥生成方法以及设备
CN111310238B (zh) * 2020-02-12 2024-05-14 腾讯科技(深圳)有限公司 文件管理方法、装置
CN111641694A (zh) * 2020-05-19 2020-09-08 全链通有限公司 基于区块链的应用程序发布方法、设备及存储介质
CN113656806B (zh) * 2020-07-08 2024-05-03 支付宝(杭州)信息技术有限公司 区块链一体机的可信启动方法及装置
CN112491812B (zh) 2020-07-08 2022-03-01 支付宝(杭州)信息技术有限公司 区块链一体机的哈希更新方法及装置
CN113971289A (zh) 2020-07-08 2022-01-25 支付宝(杭州)信息技术有限公司 区块链一体机的可信启动方法及装置
CN112162770B (zh) * 2020-10-20 2023-11-10 深圳技术大学 基于区块链实现完整性验证的固件版本升级方法及装置
CN112948847B (zh) * 2021-02-02 2024-05-10 山东伏羲智库互联网研究院 基于区块链的数据共享系统及数据正确性验证方法
TWI766608B (zh) 2021-03-10 2022-06-01 新加坡商捷普電子(新加坡)公司 程式簽章方法
CN113177200A (zh) * 2021-03-18 2021-07-27 深圳市电子商务安全证书管理有限公司 应用程序包的管理方法、装置、计算机设备和存储介质
CN113037850A (zh) * 2021-03-18 2021-06-25 中国第一汽车股份有限公司 一种应用程序升级方法、装置、电子设备及存储介质
CN113408752A (zh) * 2021-05-27 2021-09-17 复旦大学 一种基于区块链的垃圾回收监管系统和方法
CN115098114A (zh) * 2022-06-14 2022-09-23 蚂蚁区块链科技(上海)有限公司 一种基于区块链的分布式应用部署方法及装置
CN115022096B (zh) * 2022-08-09 2022-11-22 北京航天奥祥通风科技股份有限公司 下载软件方法和装置
CN115186286B (zh) * 2022-09-09 2022-11-18 北京数牍科技有限公司 模型处理方法、装置、设备、可读存储介质及程序产品

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102024107A (zh) * 2010-11-17 2011-04-20 中国联合网络通信集团有限公司 应用软件控制平台、开发者终端、分发系统及方法
CN103780632A (zh) * 2014-02-28 2014-05-07 广东顺德中山大学卡内基梅隆大学国际联合研究院 一种互联网文件完整性验证方法及其系统
CN105718807A (zh) * 2016-01-26 2016-06-29 东北大学 基于软tcm和可信软件栈的安卓系统及其可信认证系统与方法
CN105743910A (zh) * 2016-03-30 2016-07-06 福建联迪商用设备有限公司 通过数字签名安装程序的方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW449991B (en) * 1999-01-12 2001-08-11 Ibm Method and system for securely handling information between two information processing devices
CN105871545B (zh) * 2016-06-03 2019-03-15 中国银联股份有限公司 可信电子凭证托管方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102024107A (zh) * 2010-11-17 2011-04-20 中国联合网络通信集团有限公司 应用软件控制平台、开发者终端、分发系统及方法
CN103780632A (zh) * 2014-02-28 2014-05-07 广东顺德中山大学卡内基梅隆大学国际联合研究院 一种互联网文件完整性验证方法及其系统
CN105718807A (zh) * 2016-01-26 2016-06-29 东北大学 基于软tcm和可信软件栈的安卓系统及其可信认证系统与方法
CN105743910A (zh) * 2016-03-30 2016-07-06 福建联迪商用设备有限公司 通过数字签名安装程序的方法及系统

Cited By (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109547404B (zh) * 2018-10-11 2022-08-19 平安科技(深圳)有限公司 数据的获取方法及服务器
CN109547404A (zh) * 2018-10-11 2019-03-29 平安科技(深圳)有限公司 数据的获取方法及服务器
CN110851496A (zh) * 2018-12-07 2020-02-28 深圳市智税链科技有限公司 在区块链网络中查询交易信息的方法、装置、记账节点和介质
CN111522809A (zh) * 2019-02-02 2020-08-11 阿里巴巴集团控股有限公司 数据处理方法、系统及设备
CN111522809B (zh) * 2019-02-02 2023-04-21 阿里巴巴集团控股有限公司 数据处理方法、系统及设备
CN111625777A (zh) * 2019-02-28 2020-09-04 阿里巴巴集团控股有限公司 作品内容发布及知识产权验证方法和装置
CN111625777B (zh) * 2019-02-28 2024-01-09 阿里巴巴集团控股有限公司 作品内容发布及知识产权验证方法和装置
CN110221972A (zh) * 2019-05-21 2019-09-10 深圳壹账通智能科技有限公司 一种应用程序的插件校验方法、设备、服务器及存储介质
CN110334542A (zh) * 2019-06-20 2019-10-15 阿里巴巴集团控股有限公司 一种网络证据保全、网络证据存证校验方法及装置
CN110334542B (zh) * 2019-06-20 2023-02-28 创新先进技术有限公司 一种网络证据保全、网络证据存证校验方法及装置
CN112380573A (zh) * 2019-07-29 2021-02-19 创新先进技术有限公司 一种块链式账本中的数字签名方法、装置及设备
CN112380573B (zh) * 2019-07-29 2024-05-14 创新先进技术有限公司 一种块链式账本中的数字签名方法、装置及设备
CN110929230A (zh) * 2019-12-04 2020-03-27 腾讯科技(深圳)有限公司 作品管理方法、装置、设备以及存储介质
CN110929230B (zh) * 2019-12-04 2023-11-24 腾讯科技(深圳)有限公司 作品管理方法、装置、设备以及存储介质
CN110990427B (zh) * 2019-12-16 2024-05-10 北京智游网安科技有限公司 一种应用程序所属区域统计方法、系统及存储介质
CN110990427A (zh) * 2019-12-16 2020-04-10 北京智游网安科技有限公司 一种应用程序所属区域统计方法、系统及存储介质
CN113077278A (zh) * 2020-01-06 2021-07-06 北京京东振世信息技术有限公司 广告监播方法、装置、设备和存储介质
CN111292041A (zh) * 2020-02-18 2020-06-16 上海东普信息科技有限公司 一种电子合同生成方法、装置、设备及存储介质
CN111292041B (zh) * 2020-02-18 2023-07-11 上海东普信息科技有限公司 一种电子合同生成方法、装置、设备及存储介质
CN111464537A (zh) * 2020-03-31 2020-07-28 湖南工程学院 基于区块链的商品追溯方法、商品追溯系统和存储介质
CN111736893A (zh) * 2020-06-24 2020-10-02 中国银行股份有限公司 一种软件包版本核验方法及相关装置
CN112702323A (zh) * 2020-12-14 2021-04-23 杭州溪塔科技有限公司 一种区块链软件的许可签发验证方法、装置和电子设备
CN112702323B (zh) * 2020-12-14 2022-06-03 杭州溪塔科技有限公司 一种区块链软件的许可签发验证方法、装置和电子设备
CN112351045A (zh) * 2020-12-26 2021-02-09 旗美供应链(深圳)有限公司 一种供应链管理方法、系统、服务器及计算机可读介质
CN112738244A (zh) * 2020-12-29 2021-04-30 合肥达朴汇联科技有限公司 一种区块链审计溯源系统
CN112738244B (zh) * 2020-12-29 2022-06-24 合肥达朴汇联科技有限公司 一种区块链审计溯源系统
CN114722356A (zh) * 2021-01-04 2022-07-08 武汉斗鱼鱼乐网络科技有限公司 一种基于区块链保护版权的方法、装置、介质及设备
CN113079018B (zh) * 2021-03-25 2023-01-10 中国联合网络通信集团有限公司 一种就餐数据处理方法及智能餐桌
CN113079018A (zh) * 2021-03-25 2021-07-06 中国联合网络通信集团有限公司 一种就餐数据处理方法及智能餐桌
CN112988896A (zh) * 2021-03-29 2021-06-18 湖北央中巨石信息技术有限公司 一种基于区块链的同步共识方法及系统及装置及介质
US12034858B2 (en) 2021-06-23 2024-07-09 Micro Focus Llc Secure execution environment for applications using blockchain
CN115913585A (zh) * 2021-08-10 2023-04-04 中国联合网络通信集团有限公司 基于区块链的信息验证方法及区块链节点
CN115913585B (zh) * 2021-08-10 2024-04-30 中国联合网络通信集团有限公司 基于区块链的信息验证方法及区块链节点
CN113873004A (zh) * 2021-08-16 2021-12-31 中国人民银行数字货币研究所 一种任务执行方法和装置以及分布式计算系统
CN113873004B (zh) * 2021-08-16 2024-03-26 中国人民银行数字货币研究所 一种任务执行方法和装置以及分布式计算系统
CN114362960A (zh) * 2021-12-31 2022-04-15 杭州趣链科技有限公司 资源账户的数据监管方法、装置、计算机设备及介质
CN118713816A (zh) * 2024-08-28 2024-09-27 苏州元脑智能科技有限公司 服务器系统、固件处理方法、装置、设备、介质及产品

Also Published As

Publication number Publication date
CN107077557A (zh) 2017-08-18
CN107077557B (zh) 2020-07-31

Similar Documents

Publication Publication Date Title
WO2018119892A1 (zh) 软件应用程序发布和验证的方法及装置
JP7382108B2 (ja) ブロックチェーンのための効率的な検証
JP6853364B2 (ja) ブロックチェーンベースのデジタル証明書を実装するためのシステム及び方法
TWI723658B (zh) 基於區塊鏈中智慧合約保護交易活動敏感資料的方法和設備
US11108568B2 (en) Blockchain-based content verification
TWI694390B (zh) 基於區塊鏈的交易處理方法及裝置、電子設備
JP6965352B2 (ja) デジタル・マークを生成するためのシステム及び方法
WO2018072471A1 (zh) 版权维权检测的方法、装置和系统
CN111512591A (zh) 可跟踪密钥区块链账本
US11171774B2 (en) System for synchronizing a cryptographic key state through a blockchain
CN112262558A (zh) 基于区块链的验证框架
CN111814156B (zh) 一种基于可信设备的数据获取方法、装置及设备
CN115769241A (zh) 针对经许可的区块链的隐私保护架构
CN116325833A (zh) 将设备标识集成到区块链的许可框架中
US20230042916A1 (en) System and method for secure peer-to-peer transmission of content in distributed ledger neworks
TW201828648A (zh) 基於區塊鏈的節點推舉系統及其方法
JP2023551124A (ja) 自己監査ブロックチェーン
JP2024501401A (ja) 非集中型のブロードキャスト暗号化および鍵生成ファシリティ
Parisi Securing Blockchain Networks like Ethereum and Hyperledger Fabric: Learn advanced security configurations and design principles to safeguard Blockchain networks
CN112115101B (zh) 一种云存储中数据的确定性删除方法及系统
Chauhan et al. Blockchain based framework for document authentication and management of daily business records
CN117077195A (zh) 一种Web3.0基于分布式存储网络的数据隐私保护方法、系统和设备
US20230010791A1 (en) Pre-signed transaction requests for cryptographic key management
US20240080191A1 (en) Collaborative computation across blockchain networks
JP2024512256A (ja) 実行-順序付け-有効化ブロックチェーンモデル内でのトランザクションアボートの削減

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: 16925193

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 25/10/2019)

122 Ep: pct application non-entry in european phase

Ref document number: 16925193

Country of ref document: EP

Kind code of ref document: A1