WO2020233373A1 - 一种应用程序的配置文件管理方法及装置 - Google Patents

一种应用程序的配置文件管理方法及装置 Download PDF

Info

Publication number
WO2020233373A1
WO2020233373A1 PCT/CN2020/087724 CN2020087724W WO2020233373A1 WO 2020233373 A1 WO2020233373 A1 WO 2020233373A1 CN 2020087724 W CN2020087724 W CN 2020087724W WO 2020233373 A1 WO2020233373 A1 WO 2020233373A1
Authority
WO
WIPO (PCT)
Prior art keywords
configuration file
application
modification
management center
blockchain
Prior art date
Application number
PCT/CN2020/087724
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 WO2020233373A1 publication Critical patent/WO2020233373A1/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/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User profiles; Roaming
    • 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
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2149Restricted operating environment

Definitions

  • This application relates to the field of blockchain technology, and in particular to a method and device for managing configuration files of application programs.
  • each application program needs to read the corresponding configuration file according to actual needs to realize the operation.
  • the configuration file required to run the program is placed together with the development file of the program, when the configuration file needs to be modified, the inventor realized that the developer needs to find the configuration file to be modified from the development file, and then modify it.
  • the probability of code modification errors is increased, and maintenance costs are high. Therefore, the management efficiency of the existing configuration files is low.
  • a method and device for managing configuration files of an application program are provided.
  • An application configuration file management method includes:
  • the upload request carries the configuration file of the application
  • the application is any one of the smart contract or the JAVA application
  • compare the configuration file of the application with the preset The configuration file is associated with at least one preset label; in response to the upload request, a pair of keys is generated according to an asymmetric encryption algorithm; the private key in the pair of keys is used Key to encrypt and sign the uploaded configuration file; save the signed configuration file to the configuration file management center of the blockchain, where the configuration file management center is based on the tag pair of the configuration file
  • the configuration file is classified and managed; when the application is started up and running, the configuration file associated with the tag is obtained from the configuration file management center of the blockchain; the preset is read in the application
  • the public key of the public key, the public key and the private key are mutually a pair of keys; the configuration file is verified by the public key, and when the verification is successful, the application program runs according to the configuration file.
  • a configuration file management device for an application program, the device comprising: a first obtaining unit configured to obtain a configuration file upload request of the application program, the upload request carrying the configuration file of the application program, the application program being a smart Any one of a contract or a JAVA application program; an association unit for associating the configuration file of the application program with a preset label, wherein the configuration file is associated with at least one preset label; generating A unit for generating a pair of keys according to an asymmetric encryption algorithm in response to the upload request; a processing unit for encrypting and signing the uploaded configuration file using the private key in the pair of keys; A unit for saving the configuration file after the signature processing to the configuration file management center of the blockchain, wherein the configuration file management center classifies and manages the configuration file according to the label of the configuration file;
  • the second obtaining unit is used to obtain the configuration file associated with the tag from the configuration file management center of the blockchain when the application is started; the reading unit is used to read the preset The public key in the application program, the
  • a computer non-volatile storage medium stores a computer program, and the computer program is executed by a processor as follows:
  • the upload request carries the configuration file of the application
  • the application is any one of the smart contract or the JAVA application
  • compare the configuration file of the application with the preset The configuration file is associated with at least one preset label; in response to the upload request, a pair of keys is generated according to an asymmetric encryption algorithm; the private key in the pair of keys is used Key to encrypt and sign the uploaded configuration file; save the signed configuration file to the configuration file management center of the blockchain, where the configuration file management center is based on the tag pair of the configuration file
  • the configuration file is classified and managed; when the application is started up and running, the configuration file associated with the tag is obtained from the configuration file management center of the blockchain; the preset is read in the application
  • the public key of the public key, the public key and the private key are mutually a pair of keys; the configuration file is verified by the public key, and when the verification is successful, the application program runs according to the configuration file.
  • a computer device includes a memory, a processor, and a computer program stored in the memory and running on the processor, and the processor implements the steps of the following method when the computer program is executed:
  • the upload request carries the configuration file of the application
  • the application is any one of the smart contract or the JAVA application
  • compare the configuration file of the application with the preset The configuration file is associated with at least one preset label; in response to the upload request, a pair of keys is generated according to an asymmetric encryption algorithm; the private key in the pair of keys is used Key to encrypt and sign the uploaded configuration file; save the signed configuration file to the configuration file management center of the blockchain, where the configuration file management center is based on the tag pair of the configuration file
  • the configuration file is classified and managed; when the application is started up and running, the configuration file associated with the tag is obtained from the configuration file management center of the blockchain; the preset is read in the application
  • the public key of the public key, the public key and the private key are mutually a pair of keys; the configuration file is verified by the public key, and when the verification is successful, the application program runs according to the configuration file.
  • FIG. 1 is a flowchart of an optional application configuration file management method provided by an embodiment of the present application
  • FIG. 2 is a schematic diagram of an optional application configuration file management apparatus provided by an embodiment of the present application.
  • Fig. 3 is a schematic diagram of an optional computer device provided by an embodiment of the present application.
  • first, second, third, etc. may be used to describe terminals in the embodiments of the present application, these terminals should not be limited to these terms. These terms are only used to distinguish terminals from each other.
  • first obtaining unit may also be referred to as the second obtaining unit, and similarly, the second obtaining unit may also be referred to as the first obtaining unit.
  • the word “if” as used herein can be interpreted as “when” or “when” or “in response to determination” or “in response to detection”.
  • the phrase “if determined” or “if detected (statement or event)” can be interpreted as “when determined” or “in response to determination” or “when detected (statement or event) )” or “in response to detection (statement or event)”.
  • Fig. 1 is a flowchart of a method for application configuration file management according to an embodiment of the present application. As shown in Fig. 1, the method includes:
  • Step S101 Obtain a configuration file upload request of the application program.
  • the upload request carries the configuration file of the application program.
  • the application program is any one of a smart contract or a JAVA application program.
  • Step S102 Associate the configuration file of the application with a preset label, where the configuration file is associated with at least one preset label.
  • Step S103 In response to the upload request, a pair of keys is generated according to the asymmetric encryption algorithm.
  • Step S104 encrypting and signing the uploaded configuration file with the private key in the pair of keys.
  • Step S105 Save the configuration file after the signature processing to the configuration file management center of the blockchain, where the configuration file management center classifies and manages the configuration files according to the tags of the configuration files.
  • Step S106 When the application program starts to run, obtain the configuration file associated with the tag from the configuration file management center of the blockchain.
  • Step S107 Read the public key preset in the application, and the public key and the private key are a pair of keys for each other.
  • step S108 the configuration file is verified by the public key.
  • the application program runs according to the configuration file.
  • the configuration file refers to a file that stores configuration information.
  • the application program deployed on the server sets its own software and hardware parameters by reading the configuration information in the configuration file.
  • Application programs refer to programs that provide users with network or data services.
  • the application is deployed on the application node server.
  • the application node server provides platform support for the application program through its own software and hardware resources.
  • the configuration file is associated with the label and stored in the blockchain, so that the application (smart contract or JAVA application) is running through the interface to read the corresponding configuration file from the configuration file management center of the blockchain.
  • the application smart contract or JAVA application
  • it is more conducive to the management of the configuration file.
  • the configuration file needs to be updated or modified, only the configuration file in the blockchain needs to be updated or modified to improve the configuration
  • the efficiency of file management can also speed up the development of programs.
  • the blockchain can be any blockchain known in the art or developed in the future, including public chains, consortium chains, or private chains.
  • Each block chain is composed of multiple blocks created by the node corresponding to the block chain, and each block has the data content and data fingerprint signature of the block.
  • the data stored through the blockchain ensures that the data cannot be tampered with.
  • Blockchain technology uses block-chain data structures to verify and store data, uses distributed node consensus algorithms to generate and update data, uses cryptography to ensure the security of data transmission and access, and uses intelligence composed of automated script codes.
  • a new distributed infrastructure and computing paradigm that uses contracts to program and manipulate data.
  • associating the configuration file of the application with a preset label includes: obtaining the unique identification information of the application; obtaining the hash value from the unique identification information through a hash operation; and using the hash value as the preset The label; associate the application configuration file with the preset label. Create a label based on the unique identification information of the application. Understandably, when two applications share a configuration file, the unique identification information of the two applications needs to be generated into a label respectively, and the configuration file is associated with two preset labels.
  • Hashing also called hashing
  • hashing is to transform an input of any length into a fixed-length output through a hashing algorithm, and the output is the hash value.
  • the hash operation can be divided into multiple types, such as 16-bit hash operation, 32-bit hash operation, and 128-bit hash operation.
  • the tag is a 16-bit hash value.
  • the hash operation includes any of the message digest algorithm and the standard algorithm for secure messy information, all of which have good compressibility, collision resistance and modification resistance, and are easy to calculate. It can be understood that, due to the irreversible characteristic of the hash operation, that is, the unique identification information of the application program before the operation cannot be recovered through the hash sequence. Therefore, the person who steals the configuration file cannot know the application to which the configuration file is applied.
  • the tags of JAVA applications or smart contracts may also include scene tags that indicate application scenarios, for example: configuration files of social applications, configuration files of communication applications, and configuration files of shopping applications.
  • smart contracts can be divided into smart contracts for house buying and selling, smart contracts for house leasing, and smart contracts for express logistics according to application scenarios.
  • marking the configuration file according to the usage scenario of the application program the configuration file can be shared by applications of the same usage scenario (that is, marked with the same scenario label).
  • step S103 in response to the upload request, generating a pair of keys according to the asymmetric encryption algorithm, including:
  • Randomly select a preset byte value as the private key k of the configuration file; use the elliptic curve encryption algorithm to select an elliptic curve Fp(a, b), and take a base point G on the elliptic curve; generate the public key K kG.
  • the asymmetric encryption algorithm includes but is not limited to: RSA algorithm, Diffie-Hellman key algorithm, knapsack algorithm, Rabin algorithm, DH algorithm, elliptic curve encryption algorithm, etc., to be based on the asymmetric encryption algorithm Generate an asymmetric key.
  • the public key used to encrypt the authentication key is different from the private key used to decrypt the authentication key.
  • the public key is preset in the application, and when the application is running, the application can use the public key to verify the signature of the configuration file.
  • the terminal node of the JAVA application is running the JAVA application
  • its configuration file is obtained from the blockchain.
  • the terminal node sends a read request to the blockchain, and the read request carries the uniqueness of the JAVA application Identification information
  • the configuration file management center of the blockchain reads the corresponding configuration file stored in the configuration file management center according to the unique identification information of the JAVA application and the preset hash calculation algorithm, and sends the configuration to the terminal node file.
  • the terminal node verifies the configuration file according to the public key preset in the JAVA application. When the verification is successful, the JAVA application runs according to the configuration information in the configuration file.
  • the configuration information may be source code or data obtained after compiling the source code.
  • the configuration file is signed and encrypted with a private key.
  • the configuration file can use HTML, XML or a custom markup language based on XML extensions.
  • the running node in the blockchain runs the smart contract
  • the running node sends a read request to the configuration file management center, and the read request carries the unique identification information of the smart contract; the configuration file of the blockchain
  • the management center reads the configuration file stored in the configuration file management center according to the unique identification information of the smart contract and the preset hash calculation algorithm, and sends the configuration file to the running node.
  • the running node of the smart contract verifies the configuration file according to the public key preset in the smart contract. When the verification is successful, the smart contract runs according to the configuration information in the configuration file.
  • the application deployed on the server can start running by reading the configuration information in the configuration file to set its own hardware and software parameters. If the terminal node or the running node fails to verify the signature, the configuration The file may be tampered with or not applicable, and the application cannot run or fails.
  • the application when the application starts running, obtain the configuration file associated with the tag from the configuration file management center of the blockchain, including:
  • the configuration file 1 is marked with both the identity tag of application a and the identity tag of application b.
  • the method further includes:
  • the configuration file does not match the application, and a risk warning message is generated, where the risk warning message is used to remind the user that the configuration file has been tampered with.
  • the method further includes:
  • the configuration file needs to be updated, the user only needs to modify and upgrade the corresponding configuration file in the configuration file management center.
  • After the modification use the same private key to sign, and the verification is successful when the application is read.
  • the updated configuration file upgrades the application program without modifying the entire development code of the application program.
  • the method of verifying whether the modification requester has modification authority includes:
  • the plain text is the characters input by the requesting party, such as "I am Zhang Xiaoping".
  • the configuration file is associated with the label and stored in the blockchain, so that the program (smart contract or JAVA application) is running through the interface to read the corresponding configuration file from the configuration file management center of the blockchain. It is more conducive to the management of the configuration file than storing the configuration file with the development code of the program.
  • the configuration file needs to be updated or modified, only the configuration file in the blockchain needs to be updated or modified to achieve multiple Synchronous upgrades of smart contracts or JAVA applications that share the same configuration files can improve the management efficiency of configuration files and speed up the development of programs.
  • An embodiment of the present application provides a configuration file management device for an application program.
  • the device is used to execute the above-mentioned configuration file management method for an application program.
  • the device includes: a first obtaining unit 10, an association unit 20, The generating unit 30, the processing unit 40, the saving unit 50, the second acquiring unit 60, the reading unit 70, and the first verification unit 80.
  • the first obtaining unit 10 is configured to obtain a configuration file upload request of an application program, the upload request carries the configuration file of the application program, and the application program is any one of a smart contract or a JAVA application program;
  • the associating unit 20 is configured to associate the configuration file of the application program with a preset label, wherein the configuration file is associated with at least one preset label;
  • the generating unit 30 is configured to generate a pair of keys according to the asymmetric encryption algorithm in response to the upload request;
  • the processing unit 40 is configured to encrypt and sign the uploaded configuration file by using the private key in the pair of keys;
  • the saving unit 50 is configured to save the configuration file after the signature processing to the configuration file management center of the blockchain, wherein the configuration file management center classifies the configuration file according to the label of the configuration file management.
  • the second obtaining unit 60 is configured to obtain the configuration file associated with the tag from the configuration file management center of the blockchain when the application program starts running.
  • the reading unit 70 is used to read the public key preset in the application program, and the public key and the private key are mutually a pair of keys.
  • the first verification unit 80 is configured to verify the configuration file by using the public key. When the verification is successful, the application program runs according to the configuration file.
  • the configuration file refers to a file that stores configuration information.
  • the application program deployed on the server sets its own software and hardware parameters by reading the configuration information in the configuration file.
  • Application programs refer to programs that provide users with network or data services.
  • the application is deployed on the application node server.
  • the application node server provides platform support for the application program through its own software and hardware resources.
  • the configuration file is associated with the label and stored in the blockchain, so that the application (smart contract or JAVA application) is running through the interface to read the corresponding configuration file from the configuration file management center of the blockchain.
  • the application smart contract or JAVA application
  • it is more conducive to the management of the configuration file.
  • the configuration file needs to be updated or modified, only the configuration file in the blockchain needs to be updated or modified to improve the configuration
  • the efficiency of file management can also speed up the development of programs.
  • the blockchain can be any blockchain known in the art or developed in the future, including public chains, alliance chains, or private chains.
  • Each block chain is composed of multiple blocks created by the node corresponding to the block chain, and each block has the data content and data fingerprint signature of the block.
  • the data stored through the blockchain ensures that the data cannot be tampered with.
  • Blockchain technology uses block-chain data structures to verify and store data, uses distributed node consensus algorithms to generate and update data, uses cryptography to ensure the security of data transmission and access, and uses intelligence composed of automated script codes.
  • a new distributed infrastructure and computing paradigm that uses contracts to program and manipulate data.
  • the associating unit 20 includes a first obtaining subunit, an operation subunit, a processing subunit, and an association subunit.
  • the first obtaining subunit is used to obtain the unique identification information of the application; the operation subunit is used to obtain the hash value through the hash operation of the unique identity information; the processing subunit is used to use the hash value as a preset The label; the association subunit is used to associate the configuration file of the application with the preset label. Create a label based on the unique identification information of the application. Understandably, when two applications share a configuration file, the unique identification information of the two applications needs to be generated into a label respectively, and the configuration file is associated with two preset labels.
  • Hashing also called hashing
  • hashing is to transform an input of any length into a fixed-length output through a hashing algorithm, and the output is the hash value.
  • the hash operation can be divided into multiple types, such as 16-bit hash operation, 32-bit hash operation, and 128-bit hash operation.
  • the tag is a 16-bit hash value.
  • the hash operation includes any of the message digest algorithm and the standard algorithm for secure messy information, all of which have good compressibility, collision resistance and modification resistance, and are easy to calculate. It can be understood that, due to the irreversible characteristic of the hash operation, that is, the unique identification information of the application program before the operation cannot be recovered through the hash sequence. Therefore, the person who steals the configuration file cannot know the application to which the configuration file is applied.
  • the tags of JAVA applications or smart contracts may also include scene tags that indicate application scenarios, for example: configuration files of social applications, configuration files of communication applications, and configuration files of shopping applications.
  • smart contracts can be divided into smart contracts for house buying and selling, smart contracts for house leasing, and smart contracts for express logistics according to application scenarios.
  • marking the configuration file according to the usage scenario of the application program the configuration file can be shared by applications of the same usage scenario (that is, marked with the same scenario label).
  • the generating unit 30 includes a setting subunit, a selecting subunit, and a generating subunit.
  • the asymmetric encryption algorithm includes but is not limited to: RSA algorithm, Diffie-Hellman key algorithm, knapsack algorithm, Rabin algorithm, DH algorithm, elliptic curve encryption algorithm, etc., to be based on the asymmetric encryption algorithm Generate an asymmetric key.
  • the public key used to encrypt the authentication key is different from the private key used to decrypt the authentication key.
  • the public key is preset in the application, and when the application is running, the application can use the public key to verify the signature of the configuration file.
  • the terminal node of the JAVA application is running the JAVA application
  • its configuration file is obtained from the blockchain.
  • the terminal node sends a read request to the blockchain, and the read request carries the uniqueness of the JAVA application Identification information
  • the configuration file management center of the blockchain reads the corresponding configuration file stored in the configuration file management center according to the unique identification information of the JAVA application and the preset hash calculation algorithm, and sends the configuration to the terminal node file.
  • the terminal node verifies the configuration file according to the public key preset in the JAVA application. When the verification is successful, the JAVA application runs according to the configuration information in the configuration file.
  • the configuration information may be source code or data obtained after compiling the source code.
  • the configuration file is signed and encrypted with a private key.
  • the configuration file can use HTML, XML or a custom markup language based on XML extensions.
  • the running node in the blockchain runs the smart contract
  • the running node sends a read request to the configuration file management center, and the read request carries the unique identification information of the smart contract; the configuration file of the blockchain
  • the management center reads the configuration file stored in the configuration file management center according to the unique identification information of the smart contract and the preset hash calculation algorithm, and sends the configuration file to the running node.
  • the running node of the smart contract verifies the configuration file according to the public key preset in the smart contract. When the verification is successful, the smart contract runs according to the configuration information in the configuration file.
  • the application deployed on the server can start running by reading the configuration information in the configuration file to set its own hardware and software parameters. If the terminal node or the running node fails to verify the signature, the configuration The file may be tampered with or not applicable, and the application cannot run or fails.
  • the second acquisition unit includes a judgment subunit and a second acquisition subunit.
  • the judging subunit is used to judge whether there are shared configuration files for two or more applications when two or more applications are running, wherein there are two or more shared configuration files
  • the label of the application program; the second acquisition sub-unit is used to acquire the shared configuration file from the configuration file management center of the blockchain once.
  • the configuration file 1 is marked with both the identity tag of application a and the identity tag of application b.
  • the device further includes a second generating unit.
  • the second generating unit is used to generate risk prompt information when the configuration file fails to match the application program when the verification fails.
  • the risk prompt information is used to remind the user that the configuration file has been tampered with.
  • the device further includes a third acquisition unit, a second verification unit, and an update unit.
  • the third obtaining unit is used to obtain the modification request of the configuration file; the second verification unit is used to verify whether the modification requester has the modification authority of the configuration file in response to the modification request; the update unit is used to obtain the modified request when the verification is passed Configuration file, and update the original configuration file of the configuration management center with the modified configuration file. For example: when the configuration file needs to be updated, the user only needs to modify and upgrade the corresponding configuration file in the configuration file management center. After the modification, use the same private key to sign, and the verification is successful when the application is read. The updated configuration file upgrades the application program without modifying the entire development code of the application program.
  • the second verification unit includes a sending subunit, a third obtaining subunit, a comparison subunit, and a confirmation subunit.
  • the sending subunit is used to send a ciphertext to the modification requesting party, where the ciphertext is obtained by encrypting a random preset number of characters through a public key; the third obtaining subunit is used to obtain the plaintext input by the modification requesting party; The unit is used to compare the plain text with a preset number of characters; the confirmation sub-unit is used to confirm that the modification requester has the modification authority when the comparison result is consistent.
  • the plain text is the characters input by the requesting party, such as "I am Zhang Xiaoping".
  • the configuration file is associated with the label and stored in the blockchain, so that the program (smart contract or JAVA application) is running through the interface to read the corresponding configuration file from the configuration file management center of the blockchain. It is more conducive to the management of the configuration file than storing the configuration file with the development code of the program.
  • the configuration file needs to be updated or modified, only the configuration file in the blockchain needs to be updated or modified to achieve multiple Synchronous upgrades of smart contracts or JAVA applications that share the same configuration files can improve the management efficiency of configuration files and speed up the development of programs.
  • the embodiment of the present application provides a computer non-volatile storage medium, the storage medium includes a stored program, wherein the device where the storage medium is located is controlled to perform the following steps when the program runs:
  • the upload request carries the configuration file of the application.
  • the application is either a smart contract or a JAVA application; associate the configuration file of the application with a preset label, where configuration The file is associated with at least one preset label; in response to the upload request, a pair of keys is generated according to the asymmetric encryption algorithm; the private key in the pair of keys is used to encrypt and sign the uploaded configuration file; the configuration after the signature is processed.
  • the file is saved to the configuration file management center of the blockchain, where the configuration file management center classifies and manages the configuration files according to the tags of the configuration files; when the application starts running, it obtains the association with the tags from the configuration file management center of the blockchain Read the public key preset in the application.
  • the public key and the private key are a pair of keys.
  • the configuration file is verified by the public key. When the verification is successful, the application runs according to the configuration file.
  • the device where the storage medium is located is controlled to perform the following steps: obtain the unique identification information of the application; obtain the hash value from the unique identification information through a hash operation; use the hash value as a preset label; Associate application configuration files with preset tags.
  • the device where the storage medium is located is controlled to perform the following steps: when two or more application programs are running, it is determined whether there are shared configuration files for two or more application programs.
  • the configuration file of has two or more application tags; if so, the shared configuration file is obtained from the configuration file management center of the blockchain at one time.
  • the device where the storage medium is located is controlled to perform the following steps: when the verification fails, the configuration file does not match the application program, and risk warning information is generated, where the risk warning information is used to remind the user that the configuration file has been Risk of tampering.
  • the device where the storage medium is located is controlled to perform the following steps: obtain a modification request of the modification requester regarding the configuration file; in response to the modification request, verify whether the modification requester has the configuration file Modification authority; when the verification is passed, the modified configuration file is obtained and encrypted and signed with the private key, and the original configuration file of the configuration management center is updated with the signed configuration file.
  • Fig. 3 is a schematic diagram of a computer device provided by an embodiment of the present application.
  • the computer device 100 of this embodiment includes: a processor 101, a memory 102, and a computer program 103 stored in the memory 102 and running on the processor 101.
  • the computer program 103 is executed by the processor 101, To implement the configuration file management method of the application in the embodiment, in order to avoid repetition, it will not be repeated here.
  • the computer program is executed by the processor 101, the function of each model/unit in the configuration file management apparatus of the application program in the embodiment is realized. In order to avoid repetition, it will not be repeated here.
  • the computer device 100 may be a computing device such as a desktop computer, a notebook, a palmtop computer, and a cloud server.
  • the computer device may include, but is not limited to, a processor 101 and a memory 102.
  • FIG. 3 is only an example of the computer device 100 and does not constitute a limitation on the computer device 100. It may include more or less components than those shown in the figure, or a combination of certain components, or different components.
  • computer equipment may also include input and output devices, network access devices, buses, and so on.
  • the so-called processor 101 may be a central processing unit (Central Processing Unit, CPU), other general-purpose processors, digital signal processors (Digital Signal Processor, DSP), application specific integrated circuits (Application Specific Integrated Circuit, ASIC), Field-Programmable Gate Array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc.
  • the general-purpose processor may be a microprocessor or the processor may also be any conventional processor or the like.
  • the memory 102 may be an internal storage unit of the computer device 100, such as a hard disk or memory of the computer device 100.
  • the memory 102 may also be an external storage device of the computer device 100, such as a plug-in hard disk equipped on the computer device 100, a smart memory card (Smart Media Card, SMC), a Secure Digital (SD) card, and a flash memory card (Flash). Card) etc.
  • the memory 102 may also include both an internal storage unit of the computer device 100 and an external storage device.
  • the memory 102 is used to store computer programs and other programs and data required by the computer equipment.
  • the memory 102 can also be used to temporarily store data that has been output or will be output.
  • the disclosed system, device, and method may be implemented in other ways.
  • the device embodiments described above are merely illustrative, for example, the division of the units is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components may be combined Or it can be integrated into another system, or some features can be ignored or not implemented.
  • the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical, mechanical or other forms.
  • 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, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
  • each unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated unit may be implemented in the form of hardware, or may be implemented in the form of hardware plus software functional units.
  • the above-mentioned integrated unit implemented in the form of a software functional unit may be stored in a computer readable storage medium.
  • the above-mentioned software functional unit is stored in a storage medium and includes several instructions to make a computer device (which may be a personal computer, a server, or a network device, etc.) or a processor (Processor) execute the method described in each embodiment of the present application Part of the steps.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disk and other media that can store program code .

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

本申请实施例提供了一种应用程序的配置文件管理方法及装置,本申请涉及区块链技术领域,方法包括:获取应用程序的配置文件上传请求,上传请求携带应用程序的配置文件,应用程序为智能合约或JAVA应用程序中的任意一种;将应用程序的配置文件与预设的标签进行关联,其中,配置文件与至少一个预设的标签关联;响应于上传请求,根据非对称加密算法生成一对密钥;利用一对密钥中的私钥对上传的配置文件进行加密签名;将签名处理后的配置文件保存至区块链的配置文件管理中心,其中,配置文件管理中心根据配置文件的标签对配置文件进行分类管理。本申请实施例提供的技术方案能够解决现有技术中应用程序的配置文件管理效率低的问题。

Description

一种应用程序的配置文件管理方法及装置
本申请要求于2019年5月21日提交中国专利局,申请号为201910422688.5、发明名称为“应用程序的配置文件管理方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
【技术领域】
本申请涉及区块链技术领域,尤其涉及一种应用程序的配置文件管理方法及装置。
【背景技术】
目前,每个应用程序都需要根据实际需求读取相应的配置文件来实现运行。当运行程序所需的配置文件与程序的开发文件放置在一起,当其中配置文件需要修改时,发明人意识到,需要开发人员从开发文件中查找出待修改的配置文件,再进行修改,大大增加了代码修改出错的概率,维护成本大,因此,现有的配置文件的管理效率低。
【申请内容】
根据本申请公开的各种实施例,提供一种应用程序的配置文件管理方法及装置。
一种应用程序的配置文件管理方法,所述方法包括:
获取应用程序的配置文件上传请求,所述上传请求携带所述应用程序的配置文件,所述应用程序为智能合约或JAVA应用程序中的任意一种;将所述应用程序的配置文件与预设的标签进行关联,其中,所述配置文件与至少一个预设的所述标签关联;响应于所述上传请求,根据非对称加密算法生成一对密钥;利用所述一对密钥中的私钥对上传的所述配置文件进行加密签名;将签名处理后的所述配置文件保存至区块链的配置文件管理中心,其中,所述配置文件管理中心根据所述配置文件的所述标签对所述配置文件进行分类管理;当所述应用程序启动运行时,从所述区块链的所述配置文件管理中心获取与所述标签关联的配置文件;读取预置在所述应用程序中的公钥,所述公钥与所述私钥互为一对密钥;通过所述公钥对所述配置文件进行验签,当验签成功,所述应用程序根据所述配置文件运行。
一种应用程序的配置文件管理装置,所述装置包括:第一获取单元,用于获取应用程序的配置文件上传请求,所述上传请求携带所述应用程序 的配置文件,所述应用程序为智能合约或JAVA应用程序中的任意一种;关联单元,用于将所述应用程序的配置文件与预设的标签进行关联,其中,所述配置文件与至少一个预设的所述标签关联;生成单元,用于响应于所述上传请求,根据非对称加密算法生成一对密钥;处理单元,用于利用所述一对密钥中的私钥对上传的所述配置文件进行加密签名;保存单元,用于将签名处理后的所述配置文件保存至区块链的配置文件管理中心,其中,所述配置文件管理中心根据所述配置文件的所述标签对所述配置文件进行分类管理;第二获取单元,用于当所述应用程序启动运行时,从所述区块链的所述配置文件管理中心获取与所述标签关联的配置文件;读取单元,用于读取预置在所述应用程序中的公钥,所述公钥与所述私钥互为一对密钥;第一验证单元,用于通过所述公钥对所述配置文件进行验签,当验签成功,所述应用程序根据所述配置文件运行。
一种计算机非易失性存储介质,所述计算机非易失性存储介质上存储有计算机程序,所述计算机程序被处理器执行如下方法步骤:
获取应用程序的配置文件上传请求,所述上传请求携带所述应用程序的配置文件,所述应用程序为智能合约或JAVA应用程序中的任意一种;将所述应用程序的配置文件与预设的标签进行关联,其中,所述配置文件与至少一个预设的所述标签关联;响应于所述上传请求,根据非对称加密算法生成一对密钥;利用所述一对密钥中的私钥对上传的所述配置文件进行加密签名;将签名处理后的所述配置文件保存至区块链的配置文件管理中心,其中,所述配置文件管理中心根据所述配置文件的所述标签对所述配置文件进行分类管理;当所述应用程序启动运行时,从所述区块链的所述配置文件管理中心获取与所述标签关联的配置文件;读取预置在所述应用程序中的公钥,所述公钥与所述私钥互为一对密钥;通过所述公钥对所述配置文件进行验签,当验签成功,所述应用程序根据所述配置文件运行。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下方法的步骤:
获取应用程序的配置文件上传请求,所述上传请求携带所述应用程序的配置文件,所述应用程序为智能合约或JAVA应用程序中的任意一种;将所述应用程序的配置文件与预设的标签进行关联,其中,所述配置文件与至少一个预设的所述标签关联;响应于所述上传请求,根据非对称加密算法生成一对密钥;利用所述一对密钥中的私钥对上传的所述配置文件进行加密签名;将签名处理后的所述配置文件保存至区块链的配置文件管理中心,其中,所述配置文件管理中心根据所述配置文件的所述标签对所述 配置文件进行分类管理;当所述应用程序启动运行时,从所述区块链的所述配置文件管理中心获取与所述标签关联的配置文件;读取预置在所述应用程序中的公钥,所述公钥与所述私钥互为一对密钥;通过所述公钥对所述配置文件进行验签,当验签成功,所述应用程序根据所述配置文件运行。
本申请的一个或多个实施例的细节在下面的附图和描述中提出。本申请的其它特征和优点将从说明书、附图以及权利要求书变得明显。
【附图说明】
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1是本申请实施例提供的一种可选的应用程序的配置文件管理方法的流程图;
图2是本申请实施例提供的一种可选的应用程序的配置文件管理装置的示意图;
图3是本申请实施例提供的一种可选的计算机设备的示意图。
【具体实施方式】
为了更好的理解本申请的技术方案,下面结合附图对本申请实施例进行详细描述。
应当明确,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应当理解,尽管在本申请实施例中可能采用术语第一、第二、第三等来描述终端,但这些终端不应限于这些术语。这些术语仅用来将终端彼此区分开。例如,在不脱离本申请实施例范围的情况下,第一获 取单元也可以被称为第二获取单元,类似地,第二获取单元也可以被称为第一获取单元。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
图1是根据本申请实施例的一种应用程序的配置文件管理方法的流程图,如图1所示,该方法包括:
步骤S101,获取应用程序的配置文件上传请求,上传请求携带应用程序的配置文件,应用程序为智能合约或JAVA应用程序中的任意一种。
步骤S102,将应用程序的配置文件与预设的标签进行关联,其中,配置文件与至少一个预设的标签关联。
步骤S103,响应于上传请求,根据非对称加密算法生成一对密钥。
步骤S104,利用一对密钥中的私钥对上传的配置文件进行加密签名。
步骤S105,将签名处理后的配置文件保存至区块链的配置文件管理中心,其中,配置文件管理中心根据配置文件的标签对配置文件进行分类管理。
步骤S106,当应用程序启动运行时,从区块链的配置文件管理中心获取与标签关联的配置文件。
步骤S107,读取预置在应用程序中的公钥,公钥与私钥互为一对密钥。
步骤S108,通过公钥对配置文件进行验签,当验签成功,应用程序根据配置文件运行。
其中,配置文件,是指存储配置信息的文件。部署于服务器上的应用程序通过读取配置文件中的配置信息以设定自身的各项软硬件参数。应用程序,是指为用户提供网络或者数据服务的程序。应用程序部署于应用节点服务器。应用节点服务器通过自身的各项软硬件资源为应用程序提供平台支撑。
在本方案中,将配置文件与标签关联后存储在区块链中,使得应用程序(智能合约或JAVA应用程序)运行时通过接口从区块链的配置文件管理中心读取相应的配置文件,相比于将配置文件与程序的开发代码存储在一起,更有利于对配置文件的管理,在配置文件需要更新或修改时,仅需要更新或修改区块链中的配置文件即可,提高配置文件的管理效率,也能加快程序的开发。
可以理解地,区块链可以是本领域已知或将来开发的任何区块链,包 括公有链、联盟链或私有链等。每个区块链由该区块链对应的节点创建的多个区块构成,每个区块都有该区块数据内容和数据指纹签名。通过区块链存储的数据,保证了数据的不可篡改性。
区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。
可选地,将应用程序的配置文件与预设的标签进行关联,包括:获取应用程序的唯一身份标识信息;将唯一身份标识信息通过哈希运算得到哈希值;将哈希值作为预设的标签;将应用程序的配置文件与预设的标签进行关联。根据应用程序的唯一身份标识信息创建标签。可以理解地,当两个应用程序共享一个配置文件时,则需将两个应用程序的唯一身份标识信息分别生成一个标签,将配置文件与两个预设的标签进行关联。
哈希,也叫散列,就是把任意长度的输入,通过散列算法变成固定长度的输出,输出的就是散列值。根据哈希运算结果长度的不同可以将哈希运算划分为多种,例如16位的哈希运算、32位的哈希运算、128位的哈希运算。在本实施例中,标签为16位的哈希值。
哈希运算包括消息摘要算法、安全杂乱信息标准算法中的任意一种,均具有较好的压缩性、抗碰撞性和抗修改性,且计算简便。可以理解,由于哈希运算具备不可逆的特点,即通过哈希序列,无法恢复得到原本运算前的应用程序的唯一身份标识信息。因此,盗用配置文件的人也不能知道配置文件所应用的应用程序。
在其他实施方式中,JAVA应用程序或智能合约的标签还可以包括标示应用场景的场景标签,例如:社交类应用程序的配置文件、通讯类应用程序的配置文件、购物类应用程序的配置文件。智能合约例如按照应用场景可以分为房屋买卖的智能合约、房屋租赁的智能合约、快递物流的智能合约。通过将配置文件根据应用程序的使用场景对配置文件进行标注,能够使得相同使用场景(即标注有相同的场景标签)的应用程序能够实现共享配置文件。
可选地,步骤S103,响应于上传请求,根据非对称加密算法生成一对密钥,包括:
随机选择一个预设字节的值作为配置文件的私钥k;采用椭圆曲线加密算法选定一条椭圆曲线Fp(a,b),并取椭圆曲线上一个基点G;生成公钥K=kG。
在其他实施方式中,非对称加密算法包括但不限于:RSA算法、迪菲 -赫尔曼密钥算法、背包算法、Rabin算法、D-H算法、椭圆曲线加密算法等等,以根据非对称加密算法生成非对称密钥。也就是说,用于加密认证密钥的公钥和用于解密认证密钥的私钥有所不同。
可选地,公钥预置在应用程序中,当应用程序运行时,应用程序能够利用公钥对配置文件的签名进行验证。具体地,当JAVA应用程序的终端节点在运行JAVA应用程序时,从区块链中获取其配置文件,具体地:终端节点向区块链发送读取请求,读取请求携带JAVA应用程序的唯一身份标识信息;区块链的配置文件管理中心根据JAVA应用程序的唯一身份标识信息及预设的哈希运算算法读取存储在配置文件管理中心的相应的配置文件,并向终端节点发送该配置文件。终端节点在获取配置文件后,根据JAVA应用程序中预置的公钥对配置文件进行验签,当验签成功,JAVA应用程序根据配置文件中的配置信息进行运行。
其中,配置信息可以是源代码或者是将源代码编译后得到的数据。在本实施方式中,配置文件利用私钥进行签名加密。配置文件可以采用HTML、XML或许基于XML扩展的自定义标记语言。
当应用程序为智能合约时,区块链中的运行节点运行智能合约时,运行节点向配置文件管理中心发送读取请求,读取请求携带智能合约的唯一身份标识信息;区块链的配置文件管理中心根据智能合约的唯一身份标识信息及预设的哈希运算算法读取存储在配置文件管理中心的配置文件,并向运行节点发送该配置文件。智能合约的运行节点在获取配置文件后,根据智能合约中预置的公钥对配置文件进行验签,当验签成功,智能合约根据配置文件中的配置信息进行运行。
可以理解地,部署于服务器上的应用程序通过读取配置文件中的配置信息以设定自身的各项软硬件参数,就可以启动运行了,如果终端节点或运行节点验签失败,则说明配置文件可能被篡改或者不适用,应用程序就不能运行或运行失败。
可选地,当应用程序启动运行时,从区块链的配置文件管理中心获取与标签关联的配置文件,包括:
当两个或两个以上的应用程序运行时,判断两个或两个以上的应用程序是否存在共享的配置文件,其中,共享的配置文件设有两个或两个以上的应用程序的标签;若是,从区块链的配置文件管理中心一次获取共享的配置文件。例如:配置文件1既标注有应用程序a的身份标签也标注有应用程序b的身份标签。
可以理解地,当多个应用程序共享一些配置文件时,同时读取即可,可以有效简化多个预设程序同步运行的程序。
可选地,通过公钥对配置文件进行验签之后,方法还包括:
当验签失败,则配置文件与应用程序不匹配,生成风险提示信息,其中,风险提示信息用于提醒用户配置文件存在已经被篡改的风险。
可选地,在将签名处理后的配置文件保存至区块链的配置文件管理中心之后,方法还包括:
获取配置文件的修改请求;响应于修改请求,验证修改请求方是否具有配置文件的修改权限;当验证通过,获取修改后的配置文件,并用修改后的配置文件更新配置件管理中心的原配置文件。例如:配置文件需要更新时,用户只需要在配置文件管理中心对相应的配置文件进行修改升级即可,修改后用相同的私钥进行签名,在应用程序读取时验签成功,即可根据更新后的配置文件对应用程序进行升级更新,不需要对应用程序的整个开发代码进行修改。
可选地,响应于修改请求,验证修改请求方是否具有修改权限的方法,包括:
向修改请求方发送密文,其中,密文由随机的预设数量个字符通过公钥加密得到;获取修改请求方输入的明文;将明文与预设数量个字符进行比对;当比对结果为一致时,确认修改请求方具有修改权限。其中,明文为修改请求方输入的字符,例如“我是张小平”。
例如:随机生成“今天天气不错”这几个字符,并用公钥对其进行加密得到密文,修改请求方在收到这个密文后,如果拥有私钥能够对这个密文进行解密,那么就表示其具有修改权限。可以理解地,拥有配置文件的私钥的一方即具备配置文件的修改权限。
在本方案中,将配置文件与标签关联后存储在区块链中,使得程序(智能合约或JAVA应用程序)运行时通过接口从区块链的配置文件管理中心读取相应的配置文件,相比于将配置文件与程序的开发代码存储在一起,更有利于对配置文件的管理,在配置文件需要更新或修改时,仅需要更新或修改区块链中的配置文件即可,实现多个共享相同配置文件的智能合约或JAVA应用程序的同步升级,提高配置文件的管理效率,也能加快程序的开发。
本申请实施例提供了一种应用程序的配置文件管理装置,该装置用于执行上述应用程序的配置文件管理方法,如图2所示,该装置包括:第一获取单元10、关联单元20、生成单元30、处理单元40、保存单元50、第二获取单元60、读取单元70及第一验证单元80。
第一获取单元10,用于获取应用程序的配置文件上传请求,所述上传请求携带所述应用程序的配置文件,所述应用程序为智能合约或JAVA应 用程序中的任意一种;
关联单元20,用于将所述应用程序的配置文件与预设的标签进行关联,其中,所述配置文件与至少一个预设的所述标签关联;
生成单元30,用于响应于所述上传请求,根据非对称加密算法生成一对密钥;
处理单元40,用于利用所述一对密钥中的私钥对上传的所述配置文件进行加密签名;
保存单元50,用于将签名处理后的所述配置文件保存至区块链的配置文件管理中心,其中,所述配置文件管理中心根据所述配置文件的所述标签对所述配置文件进行分类管理。
第二获取单元60,用于当应用程序启动运行时,从区块链的配置文件管理中心获取与标签关联的配置文件。
读取单元70,用于读取预置在应用程序中的公钥,公钥与私钥互为一对密钥。
第一验证单元80,用于通过公钥对配置文件进行验签,当验签成功,应用程序根据配置文件运行。
其中,配置文件,是指存储配置信息的文件。部署于服务器上的应用程序通过读取配置文件中的配置信息以设定自身的各项软硬件参数。应用程序,是指为用户提供网络或者数据服务的程序。应用程序部署于应用节点服务器。应用节点服务器通过自身的各项软硬件资源为应用程序提供平台支撑。
在本方案中,将配置文件与标签关联后存储在区块链中,使得应用程序(智能合约或JAVA应用程序)运行时通过接口从区块链的配置文件管理中心读取相应的配置文件,相比于将配置文件与程序的开发代码存储在一起,更有利于对配置文件的管理,在配置文件需要更新或修改时,仅需要更新或修改区块链中的配置文件即可,提高配置文件的管理效率,也能加快程序的开发。
可以理解地,区块链可以是本领域已知或将来开发的任何区块链,包括公有链、联盟链或私有链等。每个区块链由该区块链对应的节点创建的多个区块构成,每个区块都有该区块数据内容和数据指纹签名。通过区块链存储的数据,保证了数据的不可篡改性。
区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。
可选地,关联单元20包括第一获取子单元、运算子单元、处理子单元、关联子单元。
第一获取子单元,用于获取应用程序的唯一身份标识信息;运算子单元,用于将唯一身份标识信息通过哈希运算得到哈希值;处理子单元,用于将哈希值作为预设的标签;关联子单元,用于将应用程序的配置文件与预设的标签进行关联。根据应用程序的唯一身份标识信息创建标签。可以理解地,当两个应用程序共享一个配置文件时,则需将两个应用程序的唯一身份标识信息分别生成一个标签,将配置文件与两个预设的标签进行关联。
哈希,也叫散列,就是把任意长度的输入,通过散列算法变成固定长度的输出,输出的就是散列值。根据哈希运算结果长度的不同可以将哈希运算划分为多种,例如16位的哈希运算、32位的哈希运算、128位的哈希运算。在本实施例中,标签为16位的哈希值。
哈希运算包括消息摘要算法、安全杂乱信息标准算法中的任意一种,均具有较好的压缩性、抗碰撞性和抗修改性,且计算简便。可以理解,由于哈希运算具备不可逆的特点,即通过哈希序列,无法恢复得到原本运算前的应用程序的唯一身份标识信息。因此,盗用配置文件的人也不能知道配置文件所应用的应用程序。
在其他实施方式中,JAVA应用程序或智能合约的标签还可以包括标示应用场景的场景标签,例如:社交类应用程序的配置文件、通讯类应用程序的配置文件、购物类应用程序的配置文件。智能合约例如按照应用场景可以分为房屋买卖的智能合约、房屋租赁的智能合约、快递物流的智能合约。通过将配置文件根据应用程序的使用场景对配置文件进行标注,能够使得相同使用场景(即标注有相同的场景标签)的应用程序能够实现共享配置文件。
可选地,生成单元30包括设置子单元、选定子单元、生成子单元。
设置子单元,用于随机选择一个预设字节的值作为配置文件的私钥k;选定子单元,用于采用椭圆曲线加密算法选定一条椭圆曲线Fp(a,b),并取椭圆曲线上一个基点G;生成子单元,用于生成公钥K=kG。
在其他实施方式中,非对称加密算法包括但不限于:RSA算法、迪菲-赫尔曼密钥算法、背包算法、Rabin算法、D-H算法、椭圆曲线加密算法等等,以根据非对称加密算法生成非对称密钥。也就是说,用于加密认证密钥的公钥和用于解密认证密钥的私钥有所不同。
可选地,公钥预置在应用程序中,当应用程序运行时,应用程序能够利用公钥对配置文件的签名进行验证。具体地,当JAVA应用程序的终端 节点在运行JAVA应用程序时,从区块链中获取其配置文件,具体地:终端节点向区块链发送读取请求,读取请求携带JAVA应用程序的唯一身份标识信息;区块链的配置文件管理中心根据JAVA应用程序的唯一身份标识信息及预设的哈希运算算法读取存储在配置文件管理中心的相应的配置文件,并向终端节点发送该配置文件。终端节点在获取配置文件后,根据JAVA应用程序中预置的公钥对配置文件进行验签,当验签成功,JAVA应用程序根据配置文件中的配置信息进行运行。
其中,配置信息可以是源代码或者是将源代码编译后得到的数据。在本实施方式中,配置文件利用私钥进行签名加密。配置文件可以采用HTML、XML或许基于XML扩展的自定义标记语言。
当应用程序为智能合约时,区块链中的运行节点运行智能合约时,运行节点向配置文件管理中心发送读取请求,读取请求携带智能合约的唯一身份标识信息;区块链的配置文件管理中心根据智能合约的唯一身份标识信息及预设的哈希运算算法读取存储在配置文件管理中心的配置文件,并向运行节点发送该配置文件。智能合约的运行节点在获取配置文件后,根据智能合约中预置的公钥对配置文件进行验签,当验签成功,智能合约根据配置文件中的配置信息进行运行。
可以理解地,部署于服务器上的应用程序通过读取配置文件中的配置信息以设定自身的各项软硬件参数,就可以启动运行了,如果终端节点或运行节点验签失败,则说明配置文件可能被篡改或者不适用,应用程序就不能运行或运行失败。
可选地,第二获取单元包括判断子单元、第二获取子单元。
判断子单元,用于当两个或两个以上的应用程序运行时,判断两个或两个以上的应用程序是否存在共享的配置文件,其中,共享的配置文件设有两个或两个以上的应用程序的标签;第二获取子单元,用于若是,从区块链的配置文件管理中心一次获取共享的配置文件。例如:配置文件1既标注有应用程序a的身份标签也标注有应用程序b的身份标签。
可以理解地,当多个应用程序共享一些配置文件时,同时读取即可,可以有效简化多个预设程序同步运行的程序。
可选地,装置还包括第二生成单元。
第二生成单元,用于当验签失败,则配置文件与应用程序不匹配,生成风险提示信息,其中,风险提示信息用于提醒用户配置文件存在已经被篡改的风险。
可选地,装置还包括第三获取单元、第二验证单元、更新单元。
第三获取单元,用于获取配置文件的修改请求;第二验证单元,用于 响应于修改请求,验证修改请求方是否具有配置文件的修改权限;更新单元,用于当验证通过,获取修改后的配置文件,并用修改后的配置文件更新配置件管理中心的原配置文件。例如:配置文件需要更新时,用户只需要在配置文件管理中心对相应的配置文件进行修改升级即可,修改后用相同的私钥进行签名,在应用程序读取时验签成功,即可根据更新后的配置文件对应用程序进行升级更新,不需要对应用程序的整个开发代码进行修改。
可选地,第二验证单元包括发送子单元、第三获取子单元、比对子单元、确认子单元。
发送子单元,用于向修改请求方发送密文,其中,密文由随机的预设数量个字符通过公钥加密得到;第三获取子单元,用于获取修改请求方输入的明文;比对单元,用于将明文与预设数量个字符进行比对;确认子单元,用于当比对结果为一致时,确认修改请求方具有修改权限。其中,明文为修改请求方输入的字符,例如“我是张小平”。
例如:随机生成“今天天气不错”这几个字符,并用公钥对其进行加密得到密文,修改请求方在收到这个密文后,如果拥有私钥能够对这个密文进行解密,那么就表示其具有修改权限。可以理解地,拥有配置文件的私钥的一方即具备配置文件的修改权限。
在本方案中,将配置文件与标签关联后存储在区块链中,使得程序(智能合约或JAVA应用程序)运行时通过接口从区块链的配置文件管理中心读取相应的配置文件,相比于将配置文件与程序的开发代码存储在一起,更有利于对配置文件的管理,在配置文件需要更新或修改时,仅需要更新或修改区块链中的配置文件即可,实现多个共享相同配置文件的智能合约或JAVA应用程序的同步升级,提高配置文件的管理效率,也能加快程序的开发。
本申请实施例提供了一种计算机非易失性存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行以下步骤:
获取应用程序的配置文件上传请求,上传请求携带应用程序的配置文件,应用程序为智能合约或JAVA应用程序中的任意一种;将应用程序的配置文件与预设的标签进行关联,其中,配置文件与至少一个预设的标签关联;响应于上传请求,根据非对称加密算法生成一对密钥;利用一对密钥中的私钥对上传的配置文件进行加密签名;将签名处理后的配置文件保存至区块链的配置文件管理中心,其中,配置文件管理中心根据配置文件的标签对配置文件进行分类管理;当应用程序启动运行时,从区块链的配置文件管理中心获取与标签关联的配置文件;读取预置在应用程序中的公 钥,公钥与私钥互为一对密钥;通过公钥对配置文件进行验签,当验签成功,应用程序根据配置文件运行。
可选地,在程序运行时控制存储介质所在设备执行以下步骤:获取应用程序的唯一身份标识信息;将唯一身份标识信息通过哈希运算得到哈希值;将哈希值作为预设的标签;将应用程序的配置文件与预设的标签进行关联。
可选地,在程序运行时控制存储介质所在设备执行以下步骤:当两个或两个以上的应用程序运行时,判断两个或两个以上的应用程序是否存在共享的配置文件,其中,共享的配置文件设有两个或两个以上的应用程序的标签;若是,从区块链的配置文件管理中心一次获取共享的配置文件。
可选地,在程序运行时控制存储介质所在设备执行以下步骤:当验签失败,则配置文件与应用程序不匹配,生成风险提示信息,其中,风险提示信息用于提醒用户配置文件存在已经被篡改的风险。
可选地,在程序运行时控制存储介质所在设备执行以下步骤:获取修改请求方关于所述配置文件的修改请求;响应于所述修改请求,验证所述修改请求方是否具有所述配置文件的修改权限;当验证通过,获取修改后的所述配置文件并用所述私钥进行加密签名,并用签名后的所述配置文件更新所述配置件管理中心的原配置文件。
图3是本申请实施例提供的一种计算机设备的示意图。如图3所示,该实施例的计算机设备100包括:处理器101、存储器102以及存储在存储器102中并可在处理器101上运行的计算机程序103,该计算机程序103被处理器101执行时实现实施例中的应用程序的配置文件管理方法,为避免重复,此处不一一赘述。或者,该计算机程序被处理器101执行时实现实施例中应用程序的配置文件管理装置中各模型/单元的功能,为避免重复,此处不一一赘述。
计算机设备100可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。计算机设备可包括,但不仅限于,处理器101、存储器102。本领域技术人员可以理解,图3仅仅是计算机设备100的示例,并不构成对计算机设备100的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如计算机设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器101可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编 程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器102可以是计算机设备100的内部存储单元,例如计算机设备100的硬盘或内存。存储器102也可以是计算机设备100的外部存储设备,例如计算机设备100上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器102还可以既包括计算机设备100的内部存储单元也包括外部存储设备。存储器102用于存储计算机程序以及计算机设备所需的其他程序和数据。存储器102还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(Processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (20)

  1. 一种应用程序的配置文件管理方法,所述方法包括:
    获取应用程序的配置文件上传请求,所述上传请求携带所述应用程序的配置文件,所述应用程序为智能合约或JAVA应用程序中的任意一种;
    将所述应用程序的配置文件与预设的标签进行关联,其中,所述配置文件与至少一个预设的所述标签关联;
    响应于所述上传请求,根据非对称加密算法生成一对密钥;
    利用所述一对密钥中的私钥对上传的所述配置文件进行加密签名;
    将签名处理后的所述配置文件保存至区块链的配置文件管理中心,其中,所述配置文件管理中心根据所述配置文件的所述标签对所述配置文件进行分类管理;
    当所述应用程序启动运行时,从所述区块链的所述配置文件管理中心获取与所述标签关联的配置文件;
    读取预置在所述应用程序中的公钥,所述公钥与所述私钥互为一对密钥;
    通过所述公钥对所述配置文件进行验签,当验签成功,所述应用程序根据所述配置文件运行。
  2. 根据权利要求1所述的方法,其中,所述将所述应用程序的配置文件与预设的标签进行关联,包括:
    获取所述应用程序的唯一身份标识信息;
    将所述唯一身份标识信息通过哈希运算得到哈希值;
    将所述哈希值作为所述预设的标签;
    将所述应用程序的配置文件与所述预设的标签进行关联。
  3. 根据权利要求1所述的方法,其中,所述当所述应用程序启动运行时,从所述区块链的所述配置文件管理中心获取与所述标签关联的配置文件,包括:
    当两个或两个以上的所述应用程序运行时,判断所述两个或两个以上的所述应用程序是否存在共享的所述配置文件,其中,所述共享的配置文件设有两个或两个以上的所述应用程序的标签;
    若是,从所述区块链的所述配置文件管理中心一次获取所述共享的所述配置文件。
  4. 根据权利要求1所述的方法,其中,所述通过所述公钥对所述配置文件进行验签之后,所述方法还包括:
    当验签失败,则所述配置文件与所述应用程序不匹配,生成风险提示信息,其中,所述风险提示信息用于提醒用户所述配置文件存在已经被篡 改的风险。
  5. 根据权利要求3~4中的任意一项所述的方法,其中,在所述将签名处理后的所述配置文件保存至区块链的配置文件管理中心之后,所述方法还包括:
    获取修改请求方关于所述配置文件的修改请求;
    响应于所述修改请求,验证所述修改请求方是否具有所述配置文件的修改权限;
    当验证通过,获取修改后的所述配置文件并用所述私钥进行加密签名,并用签名后的所述配置文件更新所述配置件管理中心的原配置文件。
  6. 根据权利要求5所述的方法,其中,所述响应于所述修改请求,验证所述修改请求方是否具有修改权限,包括:
    向所述修改请求方发送密文,其中,所述密文由随机的预设数量个字符通过所述公钥加密得到;
    获取所述修改请求方输入的明文;
    将所述明文与所述预设数量个字符进行比对;
    当比对结果为一致时,确认所述修改请求方具有所述修改权限。
  7. 一种应用程序的配置文件管理装置,所述装置包括:
    第一获取单元,用于获取应用程序的配置文件上传请求,所述上传请求携带所述应用程序的配置文件,所述应用程序为智能合约或JAVA应用程序中的任意一种;
    关联单元,用于将所述应用程序的配置文件与预设的标签进行关联,其中,所述配置文件与至少一个预设的所述标签关联;
    生成单元,用于响应于所述上传请求,根据非对称加密算法生成一对密钥;
    处理单元,用于利用所述一对密钥中的私钥对上传的所述配置文件进行加密签名;
    保存单元,用于将签名处理后的所述配置文件保存至区块链的配置文件管理中心,其中,所述配置文件管理中心根据所述配置文件的所述标签对所述配置文件进行分类管理;
    第二获取单元,用于当所述应用程序启动运行时,从所述区块链的所述配置文件管理中心获取与所述标签关联的配置文件;
    读取单元,用于读取预置在所述应用程序中的公钥,所述公钥与所述私钥互为一对密钥;
    第一验证单元,用于通过所述公钥对所述配置文件进行验签,当验签成功,所述应用程序根据所述配置文件运行。
  8. 根据权利要求7所述的装置,其中,所述关联单元包括:
    第一获取子单元,用于获取所述应用程序的唯一身份标识信息;
    运算子单元,用于将所述唯一身份标识信息通过哈希运算得到哈希值;
    处理子单元,用于将所述哈希值作为所述预设的标签;
    关联子单元,用于将所述应用程序的配置文件与所述预设的标签进行关联。
  9. 一种计算机非易失性存储介质,所述计算机非易失性存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现以下方法的步骤:
    获取应用程序的配置文件上传请求,所述上传请求携带所述应用程序的配置文件,所述应用程序为智能合约或JAVA应用程序中的任意一种;
    将所述应用程序的配置文件与预设的标签进行关联,其中,所述配置文件与至少一个预设的所述标签关联;
    响应于所述上传请求,根据非对称加密算法生成一对密钥;
    利用所述一对密钥中的私钥对上传的所述配置文件进行加密签名;
    将签名处理后的所述配置文件保存至区块链的配置文件管理中心,其中,所述配置文件管理中心根据所述配置文件的所述标签对所述配置文件进行分类管理;
    当所述应用程序启动运行时,从所述区块链的所述配置文件管理中心获取与所述标签关联的配置文件;
    读取预置在所述应用程序中的公钥,所述公钥与所述私钥互为一对密钥;
    通过所述公钥对所述配置文件进行验签,当验签成功,所述应用程序根据所述配置文件运行。
  10. 根据权利要求9所述的存储介质,其中,所述将所述应用程序的配置文件与预设的标签进行关联,包括:
    获取所述应用程序的唯一身份标识信息;
    将所述唯一身份标识信息通过哈希运算得到哈希值;
    将所述哈希值作为所述预设的标签;
    将所述应用程序的配置文件与所述预设的标签进行关联。
  11. 根据权利要求9所述的方法,其中,所述当所述应用程序启动运行时,从所述区块链的所述配置文件管理中心获取与所述标签关联的配置文件,包括:
    当两个或两个以上的所述应用程序运行时,判断所述两个或两个以上的所述应用程序是否存在共享的所述配置文件,其中,所述共享的配置文 件设有两个或两个以上的所述应用程序的标签;
    若是,从所述区块链的所述配置文件管理中心一次获取所述共享的所述配置文件。
  12. 根据权利要求9所述的存储介质,其中,所述通过所述公钥对所述配置文件进行验签之后,所述方法还包括:
    当验签失败,则所述配置文件与所述应用程序不匹配,生成风险提示信息,其中,所述风险提示信息用于提醒用户所述配置文件存在已经被篡改的风险。
  13. 根据权利要求11~12中的任意一项所述的存储介质,其中,在所述将签名处理后的所述配置文件保存至区块链的配置文件管理中心之后,所述方法还包括:
    获取修改请求方关于所述配置文件的修改请求;
    响应于所述修改请求,验证所述修改请求方是否具有所述配置文件的修改权限;
    当验证通过,获取修改后的所述配置文件并用所述私钥进行加密签名,并用签名后的所述配置文件更新所述配置件管理中心的原配置文件。
  14. 根据权利要求13所述的存储介质,其中,所述响应于所述修改请求,验证所述修改请求方是否具有修改权限,包括:
    向所述修改请求方发送密文,其中,所述密文由随机的预设数量个字符通过所述公钥加密得到;
    获取所述修改请求方输入的明文;
    将所述明文与所述预设数量个字符进行比对;
    当比对结果为一致时,确认所述修改请求方具有所述修改权限。
  15. 一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下方法步骤:
    获取应用程序的配置文件上传请求,所述上传请求携带所述应用程序的配置文件,所述应用程序为智能合约或JAVA应用程序中的任意一种;
    将所述应用程序的配置文件与预设的标签进行关联,其中,所述配置文件与至少一个预设的所述标签关联;
    响应于所述上传请求,根据非对称加密算法生成一对密钥;
    利用所述一对密钥中的私钥对上传的所述配置文件进行加密签名;
    将签名处理后的所述配置文件保存至区块链的配置文件管理中心,其中,所述配置文件管理中心根据所述配置文件的所述标签对所述配置文件进行分类管理;
    当所述应用程序启动运行时,从所述区块链的所述配置文件管理中心获取与所述标签关联的配置文件;
    读取预置在所述应用程序中的公钥,所述公钥与所述私钥互为一对密钥;
    通过所述公钥对所述配置文件进行验签,当验签成功,所述应用程序根据所述配置文件运行。
  16. 根据权利要求15所述的计算机设备,其中,所述将所述应用程序的配置文件与预设的标签进行关联,包括:
    获取所述应用程序的唯一身份标识信息;
    将所述唯一身份标识信息通过哈希运算得到哈希值;
    将所述哈希值作为所述预设的标签;
    将所述应用程序的配置文件与所述预设的标签进行关联。
  17. 根据权利要求15所述的计算机设备,其中,所述当所述应用程序启动运行时,从所述区块链的所述配置文件管理中心获取与所述标签关联的配置文件,包括:
    当两个或两个以上的所述应用程序运行时,判断所述两个或两个以上的所述应用程序是否存在共享的所述配置文件,其中,所述共享的配置文件设有两个或两个以上的所述应用程序的标签;
    若是,从所述区块链的所述配置文件管理中心一次获取所述共享的所述配置文件。
  18. 根据权利要求15所述的计算机设备,其中,所述通过所述公钥对所述配置文件进行验签之后,所述方法还包括:
    当验签失败,则所述配置文件与所述应用程序不匹配,生成风险提示信息,其中,所述风险提示信息用于提醒用户所述配置文件存在已经被篡改的风险。
  19. 根据权利要求17~18中的任意一项所述的计算机设备,其中,在所述将签名处理后的所述配置文件保存至区块链的配置文件管理中心之后,所述方法还包括:
    获取修改请求方关于所述配置文件的修改请求;
    响应于所述修改请求,验证所述修改请求方是否具有所述配置文件的修改权限;
    当验证通过,获取修改后的所述配置文件并用所述私钥进行加密签名,并用签名后的所述配置文件更新所述配置件管理中心的原配置文件。
  20. 根据权利要求19所述的计算机设备,其中,所述响应于所述修改请求,验证所述修改请求方是否具有修改权限,包括:
    向所述修改请求方发送密文,其中,所述密文由随机的预设数量个字符通过所述公钥加密得到;
    获取所述修改请求方输入的明文;
    将所述明文与所述预设数量个字符进行比对;
    当比对结果为一致时,确认所述修改请求方具有所述修改权限。
PCT/CN2020/087724 2019-05-21 2020-04-29 一种应用程序的配置文件管理方法及装置 WO2020233373A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910422688.5A CN110362357A (zh) 2019-05-21 2019-05-21 一种应用程序的配置文件管理方法及装置
CN201910422688.5 2019-05-21

Publications (1)

Publication Number Publication Date
WO2020233373A1 true WO2020233373A1 (zh) 2020-11-26

Family

ID=68215242

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/087724 WO2020233373A1 (zh) 2019-05-21 2020-04-29 一种应用程序的配置文件管理方法及装置

Country Status (2)

Country Link
CN (1) CN110362357A (zh)
WO (1) WO2020233373A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112580075A (zh) * 2020-12-17 2021-03-30 杭州趣链科技有限公司 数据共享方法、装置、设备和存储介质
CN113722137A (zh) * 2021-08-26 2021-11-30 杭州优海信息系统有限公司 用于共享工业智能设备故障修复方案的方法及设备
CN114221806A (zh) * 2021-12-14 2022-03-22 深圳市电子商务安全证书管理有限公司 基于区块链的数据存储方法、装置、计算机设备及介质
CN114385759A (zh) * 2022-01-13 2022-04-22 平安科技(深圳)有限公司 配置文件的同步方法、装置、计算机设备及存储介质
CN115694921A (zh) * 2022-10-12 2023-02-03 浪潮卓数大数据产业发展有限公司 一种数据存储方法、设备及介质
CN116776781A (zh) * 2023-08-17 2023-09-19 浪潮电子信息产业股份有限公司 一种寄存器参数的管理方法、系统、设备及存储介质

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110362357A (zh) * 2019-05-21 2019-10-22 深圳壹账通智能科技有限公司 一种应用程序的配置文件管理方法及装置
CN112015484A (zh) * 2020-08-13 2020-12-01 中信科移动通信技术有限公司 物联网设备配置文件的加密、修改和读取方法及装置
CN112416396B (zh) * 2020-11-20 2023-11-03 泰康保险集团股份有限公司 一种应用程序更新方法和系统
CN113609527A (zh) * 2021-07-06 2021-11-05 微易签(杭州)科技有限公司 一种基于区块链创建数字签名的方法、系统及设备
CN113900509A (zh) * 2021-09-03 2022-01-07 重庆科创职业学院 一种人工智能计算装置
CN114285581B (zh) * 2021-12-07 2024-05-14 西安广和通无线通信有限公司 应用管理方法及相关产品

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030115461A1 (en) * 2001-12-14 2003-06-19 O'neill Mark System and method for the signing and authentication of configuration settings using electronic signatures
CN105554091A (zh) * 2015-12-11 2016-05-04 电子科技大学 一种移动终端中web应用来源安全的保障方法
CN106796524A (zh) * 2016-12-27 2017-05-31 深圳前海达闼云端智能科技有限公司 记录应用程序配置信息的方法、装置和电子设备
CN106775866A (zh) * 2016-12-14 2017-05-31 奇酷互联网络科技(深圳)有限公司 移动终端及移动终端性能调节方法和装置
CN110362357A (zh) * 2019-05-21 2019-10-22 深圳壹账通智能科技有限公司 一种应用程序的配置文件管理方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106506146A (zh) * 2016-10-26 2017-03-15 北京瑞卓喜投科技发展有限公司 基于区块链技术的交易信息校验方法、装置及系统
US20180365201A1 (en) * 2017-06-14 2018-12-20 Clause, Inc. System and method for compound data-driven contracts and documentation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030115461A1 (en) * 2001-12-14 2003-06-19 O'neill Mark System and method for the signing and authentication of configuration settings using electronic signatures
CN105554091A (zh) * 2015-12-11 2016-05-04 电子科技大学 一种移动终端中web应用来源安全的保障方法
CN106775866A (zh) * 2016-12-14 2017-05-31 奇酷互联网络科技(深圳)有限公司 移动终端及移动终端性能调节方法和装置
CN106796524A (zh) * 2016-12-27 2017-05-31 深圳前海达闼云端智能科技有限公司 记录应用程序配置信息的方法、装置和电子设备
CN110362357A (zh) * 2019-05-21 2019-10-22 深圳壹账通智能科技有限公司 一种应用程序的配置文件管理方法及装置

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112580075A (zh) * 2020-12-17 2021-03-30 杭州趣链科技有限公司 数据共享方法、装置、设备和存储介质
CN112580075B (zh) * 2020-12-17 2024-02-27 杭州趣链科技有限公司 数据共享方法、装置、设备和存储介质
CN113722137A (zh) * 2021-08-26 2021-11-30 杭州优海信息系统有限公司 用于共享工业智能设备故障修复方案的方法及设备
CN114221806A (zh) * 2021-12-14 2022-03-22 深圳市电子商务安全证书管理有限公司 基于区块链的数据存储方法、装置、计算机设备及介质
CN114221806B (zh) * 2021-12-14 2023-11-03 深圳市电子商务安全证书管理有限公司 基于区块链的数据存储方法、装置、计算机设备及介质
CN114385759A (zh) * 2022-01-13 2022-04-22 平安科技(深圳)有限公司 配置文件的同步方法、装置、计算机设备及存储介质
CN114385759B (zh) * 2022-01-13 2024-04-16 平安科技(深圳)有限公司 配置文件的同步方法、装置、计算机设备及存储介质
CN115694921A (zh) * 2022-10-12 2023-02-03 浪潮卓数大数据产业发展有限公司 一种数据存储方法、设备及介质
CN115694921B (zh) * 2022-10-12 2024-05-28 浪潮卓数大数据产业发展有限公司 一种数据存储方法、设备及介质
CN116776781A (zh) * 2023-08-17 2023-09-19 浪潮电子信息产业股份有限公司 一种寄存器参数的管理方法、系统、设备及存储介质
CN116776781B (zh) * 2023-08-17 2023-11-07 浪潮电子信息产业股份有限公司 一种寄存器参数的管理方法、系统、设备及存储介质

Also Published As

Publication number Publication date
CN110362357A (zh) 2019-10-22

Similar Documents

Publication Publication Date Title
WO2020233373A1 (zh) 一种应用程序的配置文件管理方法及装置
CN109862041B (zh) 一种数字身份认证方法、设备、装置、系统及存储介质
CN112214780B (zh) 一种数据处理方法、装置、智能设备及存储介质
CN108681853B (zh) 基于区块链的物流信息传输方法、系统和装置
CN109492983B (zh) 基于区块链智能合约的电子印章签署方法、装置、设备和介质
CN107770159B (zh) 车辆事故数据记录方法及相关装置、可读存储介质
US20190229911A1 (en) Blockchain-implemented method and system
CN113364760A (zh) 一种数据加密处理方法、装置、计算机设备及存储介质
CN111835511A (zh) 数据安全传输方法、装置、计算机设备及存储介质
CN111095256A (zh) 在可信执行环境中安全地执行智能合约操作
CN107493273A (zh) 身份认证方法、系统及计算机可读存储介质
CN108377272B (zh) 一种管理物联网终端的方法及系统
US9600690B2 (en) Secure access for sensitive digital information
CN108234442B (zh) 获取合约的方法、系统及可读存储介质
CN110601848B (zh) 基于区块链的约定信息处理方法、装置、系统及电子设备
CN111130770A (zh) 基于区块链的信息存证方法、系统、用户终端、电子设备及存储介质
CN111125781B (zh) 一种文件签名方法、装置和文件签名验证方法、装置
CN110598433B (zh) 基于区块链的防伪信息处理方法、装置
CN113676332B (zh) 二维码认证方法、通信设备及存储介质
CN111953699A (zh) 一种基于区块链的数据加密方法及系统
CN110826091B (zh) 一种文件签名方法、装置、电子设备及可读存储介质
CN111291420B (zh) 一种基于区块链的分布式离链数据存储方法
CN109978543B (zh) 一种合同签署的方法、装置、电子设备及存储介质
CN111585995A (zh) 安全风控信息传输、处理方法、装置、计算机设备及存储介质
Bae Verifying a secure authentication protocol for IoT medical devices

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

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 1205 DATED 04/03/2022)

122 Ep: pct application non-entry in european phase

Ref document number: 20809659

Country of ref document: EP

Kind code of ref document: A1