WO2016109955A1 - 一种软件校验方法和装置 - Google Patents

一种软件校验方法和装置 Download PDF

Info

Publication number
WO2016109955A1
WO2016109955A1 PCT/CN2015/070300 CN2015070300W WO2016109955A1 WO 2016109955 A1 WO2016109955 A1 WO 2016109955A1 CN 2015070300 W CN2015070300 W CN 2015070300W WO 2016109955 A1 WO2016109955 A1 WO 2016109955A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
installation
installation file
signature
package
Prior art date
Application number
PCT/CN2015/070300
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 CN201580002499.2A priority Critical patent/CN106170763B/zh
Priority to EP15876464.7A priority patent/EP3232322A4/en
Priority to PCT/CN2015/070300 priority patent/WO2016109955A1/zh
Publication of WO2016109955A1 publication Critical patent/WO2016109955A1/zh
Priority to US15/642,981 priority patent/US10796001B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • 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
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Definitions

  • the present invention relates to the field of cloud computing and communications, and in particular, to a software verification method and apparatus.
  • the existing verification method mainly refers to the hash check method of the traditional physical network element. Specifically, the operation and maintenance personnel can verify the installation package by using a hash check tool, and the hash check tool calculates a check value of the installation package by using a hash algorithm, and the check value and the preset standard are used. Check values are compared. If they are the same, the installation package is considered to have not been tampered with; if it is different, the installation package is considered to have been tampered with. But this method has the following problems:
  • Embodiments of the present invention provide a software verification method and apparatus, which can automatically verify whether an installation file of a VNF software has been tampered with.
  • a software verification method including:
  • the verifying the installation file according to the signature file of the installation file includes:
  • the installation file is verified according to the signature file of the installation file.
  • the verifying the installation file according to the signature file of the installation file includes:
  • At least one installation file in the installation file has been modified according to a preset rule, performing integrity protection verification on the at least one installation file, and respectively according to the installation file except the at least one installation file
  • the signature file verify the corresponding installation file.
  • the method further includes:
  • the at least one installation file is modified according to the preset rule, the at least one installation file is integrity protected.
  • the obtaining the installation file and the signature file of the installation file include:
  • an installation package of the VNF software and a signature file of the installation package where the installation package includes the installation file and a signature file of the installation file, and the signature file of the installation package is used to store the installation package Calibration information;
  • the installation file and the signature file of the installation file are obtained.
  • the method before acquiring the installation package of the VNF software and the signature file of the installation package, the method further includes:
  • the package includes the installation file and a signature file of the installation file.
  • a software verification apparatus including:
  • An obtaining unit configured to acquire an installation file of the VNF software and a signature file of the installation file, where the signature file of the installation file is used to store verification information of the installation file;
  • a verification unit configured to verify the installation file according to the signature file of the installation file
  • a determining unit configured to determine that the VNF software has not been tampered with when the installation file verification succeeds.
  • the verification unit is specifically configured to:
  • the installation file is verified according to the signature file of the installation file.
  • the verification unit is specifically configured to:
  • At least one installation file in the installation file has been modified according to a preset rule, performing integrity protection verification on the at least one installation file, and respectively according to the installation file except the at least one installation file
  • the signature file verify the corresponding installation file.
  • the device further includes:
  • a monitoring unit configured to monitor whether the installation file is modified according to the preset rule
  • an integrity protection unit configured to perform integrity protection on the at least one installation file if the at least one installation file is modified according to the preset rule.
  • the acquiring unit is specifically configured to:
  • an installation package of the VNF software and a signature file of the installation package where the installation package includes the installation file and a signature file of the installation file, where the installation package
  • the signature file is used to store verification information of the installation package
  • the installation file and the signature file of the installation file are obtained.
  • a third aspect provides a software verification apparatus, including: a first processor and a first memory;
  • the first memory is configured to store program code executed by the first processor
  • the first processor is configured to acquire an installation file of the VNF software and a signature file of the installation file, where the signature file of the installation file is used to store verification information of the installation file;
  • the first processor is specifically configured to:
  • the installation file is verified according to the signature file of the installation file.
  • the device further includes: a second processor and a second memory;
  • the second memory is configured to store program code executed by the second processor
  • the second processor is configured to perform integrity protection verification on the at least one installation file if it is determined that at least one installation file in the installation file has been modified according to the preset rule;
  • the first processor is further configured to check the corresponding installation file according to the signature file of the installation file other than the at least one installation file.
  • the first processor is further configured to: monitor whether the installation file is modified according to the preset rule; and when the at least one installation file is modified according to the preset rule, notify the second processor;
  • a second processor further configured to: when the at least one installation file exists When the rule is modified, the at least one installation file is integrity protected.
  • the first processor is specifically configured to:
  • an installation package of the VNF software and a signature file of the installation package where the installation package includes the installation file and a signature file of the installation file, and the signature file of the installation package is used to store the installation package Calibration information;
  • the installation file and the signature file of the installation file are obtained.
  • the embodiment of the invention provides a software verification method and device, which can ensure that the installation file has not been tampered with by verifying the installation file.
  • the method provided by the embodiment of the present invention can automatically determine whether the installation file has been tampered with, and therefore, ensure that the VNF software installed according to the installation file has not been tampered with.
  • FIG. 1 is a schematic diagram of a logical functional architecture of a virtualized communication network based on a cloud-based system
  • FIG. 2 is a flowchart of a software verification method according to an embodiment of the present invention.
  • FIG. 3 is a schematic diagram of the life cycle of the VNF
  • FIG. 4 is a flowchart of another software verification method according to an embodiment of the present invention.
  • FIG. 5 is a flowchart of another software verification method according to an embodiment of the present invention.
  • FIG. 6 is a flowchart of still another software verification method according to an embodiment of the present invention.
  • FIG. 7 is a schematic structural diagram of a software verification apparatus according to an embodiment of the present disclosure.
  • FIG. 8 is a schematic structural diagram of another software verification apparatus according to an embodiment of the present disclosure.
  • FIG. 9 is a schematic structural diagram of still another software verification apparatus according to an embodiment of the present invention.
  • the virtualized communication network includes an OSS (Operation Support System) node, an EMS (Element Management System) node, a VNF (Virtual Network Function) node, and an NFVO (Network Function Virtualization Orchestrator, Network function virtualization orchestrator node, VNFM (Virtual Network Function Manager) node, VIM (Virtualised Infrastructure Manager) node, and NFVI (Network Function Virtual Infrastructure) node .
  • OSS Operaation Support System
  • EMS Event Management System
  • VNF Virtual Network Function
  • NFVO Network Function Virtualization Orchestrator
  • VNFM Virtual Network Function Manager
  • VIM Virtualised Infrastructure Manager
  • NFVI Network Function Virtual Infrastructure
  • the operation support system is respectively connected with the network element management system and the network function virtualization arranger, and the network element management system is respectively connected with the virtual network function and the virtual network function manager, and the virtual network function and the network function virtual facility and the virtual network function respectively.
  • the administrator connects, the network function virtualization arranger connects with the virtual network function manager, the virtual network function manager connects with the virtual facility manager, and the virtual facility manager connects with the network function virtual facility.
  • the NFVO node, the VNFM node, and the VIM node are included in the NFV-MANO (Network Function Virtualisation Management and Orchestrator); the virtualized communication network may include at least one EMS, at least one VNF, and each The function of a VNF can be different.
  • the functions of the EMS and the functions of the VNF can also be integrated into one physical device; the NFVI nodes of the underlying supporting architecture include computing resources, storage resources, and transmission resources.
  • Cloud systems mainly include cloud computing and cloud storage.
  • Cloud computing refers to distributed computing. Set up server clusters in various data centers to provide users with different applications through the network. Cloud storage is to store user data in the cloud, avoiding the use of local resource storage, and achieving off-site use and off-site storage.
  • OSS is a support system for operator integration and information resource sharing. It is mainly composed of network management, system management, billing, business, accounting, and customer service.
  • An EMS is a system that manages one or more network elements.
  • the VNF can implement the function of the physical entity device in the communication network on the cloud system, that is, the virtualized network element.
  • the VNF can implement the functions of a network element such as a mobility management entity or a base station.
  • NFVO is used to deploy VNF
  • VNFM is used to manage VNF
  • VIM is used to manage NFVI.
  • the operator can use the OSS to configure the VNF base station function, transmit the configuration information to the VNF through the interface between the OSS and the EMS, and the interfaces of the EMS and the VNF, and then deploy the VNF through the NFVO to implement the virtual
  • the cell coverage of the communication network enables the user to make a call, and the VNF can also be managed by the VNFM, which can be a mobile management entity.
  • the embodiment of the present invention provides a software verification method, which is applied to a software verification device, as shown in FIG. 2, and the software verification device may be a server, such as one or more computers, or a single device.
  • the method can include:
  • Step 101 Obtain an installation file of the VNF software and a signature file of the installation file, where the signature file of the installation file is used to store verification information of the installation file.
  • the installation files can include: executables, configuration files, templates, scripts, etc. for installing VNF software.
  • Step 102 Verify the installation file according to the signature file of the installation file.
  • the check in step 102 corresponds to the signature.
  • the sender uses a hash function to generate a message digest from the message text, and then encrypts the digest with its own private key.
  • the encrypted digest will be used as the message.
  • the digital signature is sent to the receiver together with the message; the corresponding check is that the receiver first calculates the message digest from the received original message by using the same hash function as the sender. Then, the sender's public key is used to decrypt the digital signature attached to the message. If the two digests are the same, the recipient can confirm that the digital signature is the sender.
  • Step 103 If the installation file verification is successful, it is determined that the VNF software has not been tampered with.
  • the method provided by the embodiment of the present invention can automatically determine whether the installation file has been tampered with according to the verification file, and therefore, ensure that the VNF software installed according to the installation file has not been tampered with.
  • the step 102 may specifically include: if it is determined that the installation files are not modified according to a preset rule, verifying the installation file according to the signature file of the installation file.
  • the content of the in-install file modified by the configuration module in the device is a modification according to a preset rule.
  • the configuration module modifies the IP address in the configuration file from null to the current address.
  • the step 102 may further include: if it is determined that at least one installation file in the installation file has been modified according to a preset rule, performing integrity protection verification on the at least one installation file, and respectively according to the The signature file of the installation file other than the at least one installation file is checked, and the corresponding installation file is verified.
  • the method further includes: monitoring whether the installation file is modified according to the preset rule; if the at least one installation file is modified according to the preset rule, installing the at least one The file is integrity protected.
  • the preset rule may be that the configuration module in the software verification device may modify the installation file.
  • the configuration module modifies the IP address in the configuration file from the null to the current IP address.
  • the step 101 may specifically include: acquiring an installation package of the VNF software and a signature file of the installation package, where the installation package includes the installation file and a signature file of the installation file, and a signature of the installation package
  • the file is used to store the verification information of the installation package; the installation package is verified according to the signature file of the installation package; and if the installation package is successful, the installation file and the installation file are obtained.
  • Signature file is used to store the verification information of the installation package; the installation package is verified according to the signature file of the installation package; and if the installation package is successful, the installation file and the installation file are obtained.
  • the method further includes: signing the installation file to obtain the a signature file of the installation file; signing the installation package to obtain a signature file of the installation package, the installation package including the installation file and a signature file of the installation file.
  • the method further includes: generating an alarm if the installation package or any of the installation files fails to be verified. At the same time, the information of the security check failure is written in the corresponding log.
  • the life cycle of the VNF can be divided into four phases, as shown in Figure 3, including: VNF software release phase, VNF online phase, VNF instantiation phase, and VNF operational phase.
  • VNF software release phase VNF software release phase
  • VNF online phase VNF online phase
  • VNF instantiation phase VNF operational phase.
  • the above software verification method can be applied at different stages in the VNF life cycle.
  • steps 101 to 103 may be performed in a VNF instantiation phase or a VNF run phase.
  • the device may perform the following content: if it is determined that the installation files are not modified according to a preset rule, according to the signature file of the installation file, Verifying the installation file; if it is determined that at least one installation file in the installation file has been modified according to a preset rule, performing integrity protection verification on the at least one installation file, and separately installing according to the at least one installation The signature file of the installation file other than the file, and the corresponding installation file is verified.
  • the device may perform the following steps: monitoring whether the installation file is modified according to the preset rule; if the at least one installation file is modified according to the preset rule And performing integrity protection on the at least one installation file.
  • the device may perform the content specifically included in step 101 in this embodiment.
  • the device can perform the steps in this embodiment. Content before 101.
  • the embodiment of the present invention provides another software verification method, which is applied to a virtualized communication network.
  • the life cycle of the VNF can be divided into four phases, including: a VNF software release phase, a VNF online phase, a VNF instantiation phase, and a VNF operation phase. .
  • the method includes:
  • Step 201 Sign the installation file to obtain a signature file of the installation file.
  • the signature (ie, digital signature) has two functions: one is to determine that the message is indeed signed and sent by the sender, because someone else can't fake the sender's signature. Second, digital signatures can determine the integrity of a message. Because the characteristic of a digital signature is that it represents the characteristics of a file, if the file changes, the value of the digital summary will also change. Different files will get different digital summaries.
  • a digital signature involves a hash function, the sender's public key, and the sender's private key.
  • Step 202 Sign the installation package to obtain a signature file of the installation package, where the installation package includes a signature file of the installation file and the installation file.
  • the signature of the installation package is the same as the signature method of step 201.
  • the method includes:
  • Step 301 The transmitter sends the installation package of the VNF software and the signature file of the installation package to the NFVO.
  • the signature file for the installation package and installation package can be a compressed file.
  • the signature file of the installation package is a file that signs the installation package and obtains related information in the process of storing the signature.
  • the installation package can include
  • Step 302 NFVO verifies VNFD (Virtualized Network Function Descriptor).
  • NFVO verifies the correctness of VNFD.
  • VNFD defines the software function and required hardware resources for instantiation.
  • NFVO should verify whether the parameters defined by VNFD are correct. If required parameters are provided, mandatory Whether the value of the parameter exceeds the maximum and minimum values.
  • Step 303 The NFVO sends a verification result notification to the log server.
  • Step 304 If the verification of the VNFD is successful, the NFVO sends the signature file of the installation package and the installation package to the VIM.
  • Step 305 The VIM verifies the installation package according to the signature file of the installation package.
  • the verification corresponds to the signature, and the signed byte set data is verified by using the specified public key and the signed result text. If the verification is passed, the byte set data must be the public key owner (ie, the signer). Approved and signed without any tampering. Verification returns true, otherwise returns false. Wherein, the signed result text and the ⁇ or public key are included in the signature file, and the signed byte set data refers to the installation package.
  • Step 306 If the verification is successful, the VIM sends a continuous online command to the NVFO.
  • Step 307 The NVFO sends a continuous online command to the transmitter.
  • Step 308 If the verification fails, the VIM sends a stop online command to the NFVO.
  • Step 309 The NVFO sends a continuous online command to the transmitter.
  • the VIM can decompress the compressed package, and the VIM stores the decompressed installation package and the signature file of the installation package for classification and storage.
  • the method includes:
  • Step 401 The EM sends an instantiation instruction to the VNFM.
  • Step 402 The VNFM sends an instantiation instruction to the NFVO.
  • Step 403 The NFVO selects one resource segment from the available resources as the reserved resource according to the instantiation indication.
  • This resource segment is reserved for the installation file verification in the installation package.
  • Step 404 The NFVO sends a resource instruction to the VIM indicating that the resource needs to be reserved.
  • Step 405 The VIM determines the reserved resource according to the resource indication.
  • Step 406 The VIM sends a resource reservation result to the NFVO.
  • Step 407 The NFVO sends a notification to the VNFM that the resource is successfully indicated to be reserved.
  • Step 408 The VNFM sends an allocation instruction for allocating reserved resources to the VIM.
  • Step 409 The VIM obtains the installation file and the signature file of the installation file from the installation package according to the allocation instruction.
  • the method for the VIM to obtain the installation file and the signature file of the installation file may include decompressing the installation package at one time, and directly obtaining the signature file of the installation file and the installation file each time the verification is required; The installation file and the signature file of the installation file are directly obtained in the compressed package.
  • This embodiment takes the first method as an example.
  • Step 410 The VIM verifies the installation file according to the signature file of the installation file.
  • the method of verifying in this embodiment is the same as the method of step 205.
  • Step 411 The VIM sends an NFVI to send a signature file indicating creation of a VM (Virtual Machine), an installation file, and a installation file.
  • VM Virtual Machine
  • a physical server is virtualized into multiple virtual machines, and each of the preceding VNFs runs on a VM.
  • Step 412 The NFVI creates a VM, and loads the signature file of the installation file and the installation file into the VM.
  • the process of creating a VM and signing the installation file and the installation file to the VM is a specific process for NFVI to install the VNF software.
  • Step 413 The VNF saves the installation file and the signature file of the installation file.
  • step 414 the NFVI sends an installation confirmation indication to the VIM.
  • Step 415 The VIM sends an installation determination indication to the VNFM.
  • Step 416 the VNFM configures the VNF.
  • Step 417 The VNFM sends an installation determination indication to the EM.
  • Step 418 the EM configures the VNF.
  • Step 419 The VNF determines whether there is one or more installation files modified according to a preset requirement.
  • Step 420 If yes, the VNF performs integrity protection on the installation file.
  • the VNF can generate a check value according to a hash algorithm and save the check value.
  • Step 421 The VNF saves the check value to the integrity protection file.
  • the method further includes:
  • Step 422 The VNFM sends an indication to the VNF for restarting.
  • Step 423 the VNF restarts.
  • Step 424 The VNF determines whether there is a modification that the installation file meets the preset requirement.
  • Step 425 If yes, the VNF performs integrity protection check on the installation file according to the integrity protection file.
  • the installation file can calculate a new check value by using a hash algorithm, and determine whether the new check value and the check value in the integrity protection file are the same. If they are the same, it is determined that the check value has not been tampered; It is considered to have been tampered with.
  • the embodiment of the present invention can not only determine whether the VNF software has been tampered with during installation, but also verify the installation file every time the software is started or restarted to determine whether the VNF software has been tampered with, thereby greatly Reduced the risk of using tamper-evident VNF software.
  • the embodiment of the present invention provides a software verification apparatus 50, which may include a VIM and a VNF, where the VNF may include an obtaining unit 501, a checking unit 502, a determining unit 503, and a monitoring unit 504, and the NVF may include the complete
  • the protection unit 505 and the verification unit 502, as shown in FIG. 7, may include:
  • the obtaining unit 501 is configured to acquire an installation file of the VNF software and a signature file of the installation file, where the signature file of the installation file is used to store verification information of the installation file.
  • the verification unit 502 is configured to check the installation file acquired by the obtaining unit 501 according to the signature file of the installation file acquired by the obtaining unit 501.
  • the determining unit 503 is configured to determine that the VNF software has not been tampered with when the verification unit 502 verifies that the installation file is successful.
  • the device provided by the embodiment of the present invention can automatically determine according to the verification file. Determine whether the installation file has been tampered with, so ensure that the VNF software installed according to the installation file has not been tampered with.
  • the verification unit 502 is specifically configured to: if it is determined that at least one installation file in the installation file has been modified according to a preset rule, perform integrity protection verification on the at least one installation file, and respectively perform The signature file of the installation file other than the at least one installation file is checked, and the corresponding installation file is verified.
  • the device 50 further includes:
  • the monitoring unit 504 is configured to monitor whether the installation file is modified according to the preset rule.
  • the integrity protection unit 505 is configured to perform integrity protection on the at least one installation file if the at least one installation file is modified according to the preset rule.
  • the obtaining unit 501 is specifically configured to:
  • an installation package of the VNF software and a signature file of the installation package where the installation package includes the installation file and a signature file of the installation file, and the signature file of the installation package is used to store the installation package Calibration information;
  • the installation file and the signature file of the installation file are obtained.
  • FIG. 9 is a schematic structural diagram of a software verification apparatus 60 according to an embodiment of the present invention.
  • the software verification apparatus 60 may be used to perform the method shown in FIG. 2, 5 or 6, and may specifically include a first memory 601 and The first processor 602.
  • the first memory 601 can include a read only memory and a random access memory for storing program code executed by the first processor 602.
  • the first processor 602 is configured to acquire an installation file of the virtual network function VNF software and a signature file of the installation file, where the signature file of the installation file is used to store verification information of the installation file, according to the installation file. a signature file, verifying the installation file; if the installation file is successfully verified, determining that the VNF software is not defective change.
  • the apparatus provided by the embodiment of the present invention can automatically determine whether the installation file has been tampered with according to the verification file, and therefore, ensure that the VNF software installed according to the installation file has not been tampered with.
  • first processor 602 is specifically configured to:
  • the installation file is verified according to the signature file of the installation file.
  • the device 60 further includes a second processor 603 and a second memory 604.
  • the second memory 604 can include a read only memory and a random access memory for storing program code executed by the second processor 603.
  • the second processor 603 is configured to perform integrity protection verification on the at least one installation file if it is determined that at least one installation file in the installation file has been modified according to a preset rule.
  • the first processor 602 is further configured to check the corresponding installation file according to the signature file of the installation file other than the at least one installation file.
  • the first processor 602 is further configured to: monitor whether the installation file is modified according to the preset rule; and when the at least one installation file is modified according to the preset rule, notify The second processor 603.
  • the second processor 603 is further configured to perform integrity protection on the at least one installation file when the at least one installation file is modified according to the preset rule.
  • first processor 602 is specifically configured to:
  • an installation package of the VNF software and a signature file of the installation package where the installation package includes the installation file and a signature file of the installation file, and the signature file of the installation package is used to store the installation package Calibration information;
  • the installation file and the signature file of the installation file are obtained.
  • first processor 602 can be used to implement the function of the VIM in the embodiment shown in FIG. 5 or FIG. 6; the second processor 603 can be used to implement the VNF function.
  • first processor 602 and the second processor 603 in this embodiment may be the same processor, or may be different processors, and may be located in the same computer or service period, or may be located in different
  • the first memory 601 and the second memory 604 in this embodiment may be the same memory, or may be different memories, and may be located in the same computer or service period, or may be located in different computers or Inside the server.
  • the above device 60 further includes a communication bus 605.
  • the communication bus 605 is used to perform the connection between the devices in the device 60, and may be an Industry Standard Architecture (ISA) bus, a Peripheral Component (PCI) bus, or Extend the Industry Standard Architecture (EISA) bus.
  • ISA Industry Standard Architecture
  • PCI Peripheral Component
  • EISA Extend the Industry Standard Architecture
  • the bus 605 can be divided into an address bus, a data bus, a control bus, and the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Stored Programmes (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Storage Device Security (AREA)

Abstract

一种软件校验方法和装置,应用于云计算领域和通信领域,能够自动校验VNF软件的安装文件是否被篡改,包括:获取VNF软件的安装文件和所述安装文件的签名文件,所述安装文件的签名文件用于存储所述安装文件的校验信息(101);根据所述安装文件的签名文件,校验所述安装文件(102);若所述安装文件校验成功,则确定所述VNF软件未被篡改(103)。

Description

一种软件校验方法和装置 技术领域
本发明涉及云计算领域和通信领域,尤其涉及一种软件校验方法和装置。
背景技术
随着网络虚拟化的兴起,传统实体网元正在被云化下的虚拟化网元逐步替代。由于虚拟化网络下网元的软件与硬件解偶,软件不在依赖特殊的硬件,所有软件都可以在任何虚拟环境下运行,导致软件被篡改的风险越来越大。同时,由于云化环境下,各网元仅通过软件手段隔离,也使得软件更容易被恶意攻击。
现有的校验方法主要借鉴传统实体网元的哈希校验方法。具体的,运维人员可以通过哈希校验工具对安装包进行校验,该哈希校验工具通过哈希算法计算出该安装包的校验值,将该校验值和预设的标准校验值进行对比。若相同,则认为该安装包未被篡改;若不同,则认为该安装包被篡改。但这种方法存在以下几个问题:
1)由于人工校验存在个人因素,对人的技能要求较高,因此,该方法存在人员素质的安全风险;
2)该方法只能保证安装前的安装包不被篡改,不能保证内部的每个文件不被篡改。
发明内容
本发明的实施例提供一种软件校验方法和装置,能够自动校验VNF软件的安装文件是否被篡改。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种软件校验方法,包括:
获取虚拟网络功能VNF软件的安装文件和所述安装文件的签名文件,所述安装文件的签名文件用于存储所述安装文件的校验信息;
根据所述安装文件的签名文件,校验所述安装文件;
若所述安装文件校验成功,则确定所述VNF软件未被篡改。
结合第一方面,在第一种可实现方式中,所述根据所述安装文件的签名文件,校验所述安装文件包括:
若确定所述安装文件均未按照预设规则进行修改,则根据所述安装文件的签名文件,校验所述安装文件。
结合第一方面,在第二种可实现方式中,所述根据所述安装文件的签名文件,校验所述安装文件包括:
若确定所述安装文件中存在至少一个安装文件已按照预设规则进行修改,则对所述至少一个安装文件进行完整性保护校验,并分别根据除所述至少一个安装文件之外的安装文件的签名文件,校验对应的安装文件。
结合第二种可实现方式,在第三种可实现方式中,所述方法还包括:
监控所述安装文件中是否按照所述预设规则进行修改;
若存在所述至少一个安装文件按照所述预设规则进行了修改,则对所述至少一个安装文件进行完整性保护。
结合第一方面、第一种至第三种可实现方式中,在第四种可实现方式中,所述获取安装文件和所述安装文件的签名文件包括:
获取所述VNF软件的安装包和所述安装包的签名文件,所述安装包包括所述安装文件和所述安装文件的签名文件,所述安装包的签名文件用于存储所述安装包的校验信息;
根据所述安装包的签名文件,校验所述安装包;
若校验所述安装包成功,则获取所述安装文件和所述安装文件的签名文件。
结合第四种可实现方式,在第五种可实现方式中,在获取所述VNF软件的安装包和所述安装包的签名文件之前,所述方法还包括:
对所述安装文件进行签名,得到所述安装文件的签名文件;
对所述安装包进行签名,得到所述安装包的签名文件,所述安 装包包括所述安装文件和所述安装文件的签名文件。
第二方面,提供一种软件校验装置,包括:
获取单元,用于获取VNF软件的安装文件和所述安装文件的签名文件,所述安装文件的签名文件用于存储所述安装文件的校验信息;
校验单元,用于根据所述安装文件的签名文件,校验所述安装文件;
确定单元,用于当所述安装文件校验成功时,确定所述VNF软件未被篡改。
结合第二方面,在第一种可实现方式中,所述校验单元具体用于:
若确定所述安装文件均未按照预设规则进行修改,则根据所述安装文件的签名文件,校验所述安装文件。
结合第二方面,在第二种可实现方式中,所述校验单元具体用于:
若确定所述安装文件中存在至少一个安装文件已按照预设规则进行修改,则对所述至少一个安装文件进行完整性保护校验,并分别根据除所述至少一个安装文件之外的安装文件的签名文件,校验对应的安装文件。
结合第二种可实现方式,在第三种可实现方式中,所述装置还包括:
监控单元,用于监控所述安装文件中是否按照所述预设规则进行修改;
完整性保护单元,用于若存在所述至少一个安装文件按照所述预设规则进行了修改,则对所述至少一个安装文件进行完整性保护。
结合第二方面、第一种至第三种可实现方式中,在第四种可实现方式中,所述获取单元具体用于:
获取所述VNF软件的安装包和所述安装包的签名文件,所述安装包包括所述安装文件和所述安装文件的签名文件,所述安装包的 签名文件用于存储所述安装包的校验信息;
根据所述安装包的签名文件,校验所述安装包;
若校验所述安装包成功,则获取所述安装文件和所述安装文件的签名文件。
第三方面,提供一种软件校验装置,包括:第一处理器和第一存储器;
所述第一存储器,用于存储所述第一处理器所执行的程序代码;
所述第一处理器,用于获取VNF软件的安装文件和所述安装文件的签名文件,所述安装文件的签名文件用于存储所述安装文件的校验信息;
根据所述安装文件的签名文件,校验所述安装文件;当所述安装文件校验成功时,确定所述VNF软件未被篡改。
结合第三方面,在第一种可实现方式中,所述第一处理器具体用于:
若确定所述安装文件均未按照预设规则进行修改,则根据所述安装文件的签名文件,校验所述安装文件。
结合第三方面,在第二种可实现方式中,所述装置还包括:第二处理器和第二存储器;
所述第二存储器,用于存储所述第二处理器所执行的程序代码;
所述第二处理器,用于若确定所述安装文件中存在至少一个安装文件已按照所述预设规则进行修改,则对所述至少一个安装文件进行完整性保护校验;
所述第一处理器,还用于分别根据除所述至少一个安装文件之外的安装文件的签名文件,校验对应的安装文件。
结合第二种可实现方式,在第三种可实现方式中,
所述第一处理器,还用于监控所述安装文件中是否按照所述预设规则进行修改;当存在所述至少一个安装文件按照所述预设规则进行了修改时,通知所述第二处理器;
第二处理器,还用于当存在所述至少一个安装文件按照所述预 设规则进行了修改时,对所述至少一个安装文件进行完整性保护。
结合第三方面、第一种至第三种可实现方式中,在第四种可实现方式中,所述第一处理器具体用于:
获取所述VNF软件的安装包和所述安装包的签名文件,所述安装包包括所述安装文件和所述安装文件的签名文件,所述安装包的签名文件用于存储所述安装包的校验信息;
根据所述安装包的签名文件,校验所述安装包;
若校验所述安装包成功,则获取所述安装文件和所述安装文件的签名文件。
本发明实施例提供一种软件校验方法和装置,能够通过对安装文件进行校验,从而保证安装文件未被篡改。这样一来,本发明实施例提供的方法能够自动确定出安装文件是否被篡改,因此,保证根据安装文件安装的VNF软件未被篡改。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有的基于云系统上的虚拟化通信网络的逻辑功能架构示意图;
图2为本发明实施例提供的一种软件校验方法的流程图;
图3为VNF的生命周期的示意图;
图4为本发明实施例提供的另一种软件校验方法的流程图;
图5为本发明实施例提供的另一种软件校验方法的流程图;
图6为本发明实施例提供的再一种软件校验方法的流程图;
图7为本发明实施例提供的一种软件校验装置的结构示意图;
图8为本发明实施例提供的另一种软件校验装置的结构示意图;
图9为本发明实施例提供的再一种软件校验装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,现有的基于云系统上的虚拟化通信网络的逻辑功能架构示意图。该虚拟化通信网络包括OSS(Operation support system,运营支撑系统)节点,EMS(Element Management System,网元管理系统)节点、VNF(Virtual Network Function,虚拟网络功能)节点、NFVO(Network Function Virtualization Orchestrator,网络功能虚拟化编排者)节点、VNFM(Virtual Network Function Manager,虚拟网络功能管理者)节点、VIM(Virtualised Infrastructure Manager,虚拟设施管理者)节点和NFVI(Network Function Virtual Infrastructure,网络功能虚拟设施)节点。其中,运营支撑系统分别与网元管理系统和网络功能虚拟化编排者连接,网元管理系统分别与虚拟网络功能和虚拟网络功能管理者连接,虚拟网络功能分别与网络功能虚拟设施和虚拟网络功能管理者连接,网络功能虚拟化编排者与虚拟网络功能管理者连接,虚拟网络功能管理者与虚拟设施管理者连接,虚拟设施管理者与网络功能虚拟设施连接。
需要说明的是,NFVO节点、VNFM节点和VIM节点包含于NFV-MANO(Network Function Virtualisation Management and Orchestrator,网络功能虚拟化管理与编排);虚拟化通信网络可以包括至少一个EMS、至少一个VNF,每一个VNF的功能可以不同,EMS的功能与VNF的功能也可以集成在一个物理设备实现;底层支撑架构的NFVI节点包括计算资源、存储资源和传输资源。
云系统主要包括云计算和云存储。云计算是指分布式计算,通 过各地的数据中心设置服务器集群,通过网络为用户提供不同的应用云存储是将用户数据存储在云端,避免使用本地资源存储,达到异地使用和异地存储的目的。
OSS是运营商的一体化、信息资源共享的支持系统,主要由网络管理、系统管理、计费、营业、账务和客户服务等部分组成。EMS是管理一个或多个网元的系统。VNF可以实现云系统上用于实现通信网络中物理实体设备的功能,也就是虚拟化网元。例如,VNF可以实现移动管理实体或基站等网元的功能。NFVO用于布署VNF,VNFM用于管理VNF,VIM用于管理NFVI。
示例的,假设VNF需要实现基站的功能,运营商可以使用OSS配置VNF的基站功能,通过OSS与EMS的接口和EMS和VNF的接口将配置信息传输至VNF,再通过NFVO布署VNF,实现虚拟化通信网络的小区覆盖,使用户能够进行通话,还可以通过VNFM管理VNF,VNF可以是具备移动管理实体的功能。
实施例一
本发明实施例提供一种软件校验方法,如图2所示,应用于软件校验装置,所述软件校验装置可以是服务器,例如一台或多台计算机,也可以是单独的一个装置,该方法可以包括:
步骤101、获取VNF软件的安装文件和安装文件的签名文件,该安装文件的签名文件用于存储安装文件的校验信息。
该校验信息由签名过程中生成,随被签名文件一起发布,供防篡改验证时使用。安装文件可以包括:可执行程序、配置文件、模版、脚本等用于安装VNF软件的文件。
步骤102、根据安装文件的签名文件,校验安装文件。
步骤102中的校验与签名是相对应的。其中,签名是在发送报文时,发送方用一个哈希函数从报文文本中生成报文摘要,然后用自己的私人密钥对这个摘要进行加密,这个加密后的摘要将作为报文的数字签名和报文一起发送给接收方;相应的校验是接收方首先用与发送方一样的哈希函数从接收到的原始报文中计算出报文摘 要,接着再用发送方的公用密钥来对报文附加的数字签名进行解密,如果这两个摘要相同、那么接收方就能确认该数字签名是发送方的。
步骤103、若安装文件校验成功,则确定VNF软件未被篡改。
这样一来,本发明实施例提供的方法能够自动根据校验文件确定出安装文件是否被篡改,因此,保证根据安装文件安装的VNF软件未被篡改。
进一步的,步骤102可以具体包括:若确定所述安装文件均未按照预设规则进行修改,则根据所述安装文件的签名文件,校验所述安装文件。本实施例中由该装置中的配置模块进行进行修改的安装内文件内容就是是按照预设规则的修改。例如,配置模块将配置文件中的IP地址由空修改为当前地址。
进一步的,步骤102还可以具体包括:若确定所述安装文件中存在至少一个安装文件已按照预设规则进行修改,则对所述至少一个安装文件进行完整性保护校验,并分别根据除所述至少一个安装文件之外的安装文件的签名文件,校验对应的安装文件。
进一步的,所述方法还包括:监控所述安装文件中是否按照所述预设规则进行修改;若存在所述至少一个安装文件按照所述预设规则进行了修改,则对所述至少一个安装文件进行完整性保护。其中,预设规则可以是指由软件校验装置中的配置模块可以修改安装文件,例如配置模块将配置文件中IP地址由空修改为当前的IP地址。
进一步的,步骤101可以具体包括:获取所述VNF软件的安装包和所述安装包的签名文件,所述安装包包括所述安装文件和所述安装文件的签名文件,所述安装包的签名文件用于存储所述安装包的校验信息;根据所述安装包的签名文件,校验所述安装包;若校验所述安装包成功,则获取所述安装文件和所述安装文件的签名文件。
进一步的,在获取所述VNF软件的安装包和所述安装包的签名文件之前,所述方法还包括:对所述安装文件进行签名,得到所述 安装文件的签名文件;对所述安装包进行签名,得到所述安装包的签名文件,所述安装包包括所述安装文件和所述安装文件的签名文件。
值得说明的是,若安装包校验失败,则生成告警。若任意一个安装文件校验失败,则停止安装VNF软件;若VNF软件被篡改,则停止运行该VNF软件或停止VNF软件实例化;若安装包被篡改,则停止VNF软件上线。
进一步的,所述方法还包括:若安装包或任一个安装文件校验失败,则生成告警。与此同时,该安全校验失败的信息写入相应的日志中。
VNF的生命周期可以分为四个阶段,如图3所示,包括:VNF软件发布阶段、VNF上线阶段、VNF实例化阶段、VNF运行阶段。上述软件校验方法可以应用在VNF生命周期内的不同阶段。
可选的,步骤101至103可以在VNF实例化阶段或者VNF运行阶段执行。
可选的,VNF运行阶段,VNF软件重启或者启动的时候,该装置具体可以执行如下内容:若确定所述安装文件均未按照预设规则进行修改,则根据所述安装文件的签名文件,校验所述安装文件;若确定所述安装文件中存在至少一个安装文件已按照预设规则进行修改,则对所述至少一个安装文件进行完整性保护校验,并分别根据除所述至少一个安装文件之外的安装文件的签名文件,校验对应的安装文件。
可选的,VNF实例化阶段,该装置还可以执行如下内容:监控所述安装文件中是否按照所述预设规则进行修改;若存在所述至少一个安装文件按照所述预设规则进行了修改,则对所述至少一个安装文件进行完整性保护。
可选的,VNF上线阶段,该装置可以执行本实施例中步骤101具体包括的内容。
可选的,VNF软件发布阶段,该装置可以执行本实施例中步骤 101之前的内容。
实施例二
本发明实施例提供另一种软件校验方法,应用于虚拟化通信网络,VNF的生命周期可以分为四个阶段,包括:VNF软件发布阶段、VNF上线阶段、VNF实例化阶段、VNF运行阶段。
在VNF软件发布阶段中,如图4所示,所述方法包括:
步骤201、对安装文件进行签名,得到安装文件的签名文件。
具体的,签名(即数字签名)有两种功效:一是能确定消息确实是由发送方签名并发出来的,因为别人假冒不了发送方的签名。二是数字签名能确定消息的完整性。因为数字签名的特点是它代表了文件的特征,文件如果发生改变,数字摘要的值也将发生变化。不同的文件将得到不同的数字摘要。一次数字签名涉及到一个哈希函数、发送者的公钥、发送者的私钥。
步骤202、对安装包进行签名,得到安装包的签名文件,该安装包包括安装文件和安装文件的签名文件。
安装包的签名和步骤201的签名方法相同。
在VNF上线阶段中,如图5所示,所述方法包括:
步骤301、发射机向NFVO发送VNF软件的安装包和该安装包的签名文件。
该安装包和安装包的签名文件可以是一个压缩文件。
本实施例中该安装包的签名文件是对该安装包签名,得到的存储签名过程中的相关信息的文件。安装包可以包括
步骤302、NFVO验证VNFD(Virtualized Network Function Descriptor,虚拟网络功能描述)。
NFVO验证VNFD的正确性,VNFD定义了软件功能与所需的硬件资源供实例化时使用,在实例化时NFVO要验证一下VNFD定义的参数是否正确,如必选参数是否都提供了,必选参数的值是否超出最大值与最小值等。
步骤303、NFVO向日志服务器发送校验结果通知。
步骤304、若验证VNFD成功,则NFVO向VIM发送安装包和安装包的签名文件。
步骤305、VIM根据安装包的签名文件,校验安装包。
该校验与签名相对应,是使用指定公钥和签署结果文本对被签署字节集数据进行验证,如验证通过则说明该字节集数据必定是此公钥拥有者(即签署者)所认可的,且签署后未经任何篡改。验证通过返回真,否则返回假。其中,签署结果文本和\或公钥包括在签名文件中,被签署字节集数据指的是安装包。
步骤306、若校验成功,则VIM向NVFO发送继续上线指令。
步骤307、NVFO向发射机发送继续上线指令。
步骤308、若校验失败,则VIM向NFVO发送停止上线指令。
步骤309、NVFO向发射机发送继续上线指令。
这样,不再接收VNF软件的安装包。
值得说明的是,在校验成功后,VIM可以对压缩包进行解压,VIM保存着解压后的安装包和安装包的签名文件进行分类存储。
当VNF软件上线完毕,安装包上传完毕之后,在VNF实例化阶段,如图6所示,所述方法包括:
步骤401、EM向VNFM发送实例化指令。
步骤402、VNFM向NFVO发送实例化指令。
步骤403、NFVO根据实例化指示,从可用的资源中选择一个资源段作为预留资源。
该资源段是为安装包中的安装文件校验所预留的。
步骤404、NFVO向VIM发送指示需预留资源的资源指令。
步骤405、VIM根据资源指示确定出预留资源。
步骤406、VIM向NFVO发送资源预留结果。
步骤407、NFVO向VNFM发送预指示留资源成功的通知。
步骤408、VNFM向VIM发送分配预留资源的分配指令。
步骤409、VIM根据分配指令从安装包中获取安装文件和安装文件的签名文件。
当安装包是压缩包时,VIM获取安装文件和安装文件的签名文件的方法可以包括一次性解压安装包,当每次需要校验时,直接获取安装文件和安装文件的签名文件;还可以从压缩包中直接获得需要校验的安装文件和安装文件的签名文件。本实施例以第一种方法为例。
步骤410、VIM根据安装文件的签名文件,校验安装文件。
本实施例的校验的方法与步骤205的方法相同。
步骤411、VIM发送NFVI发送指示创建VM(Virtual Machine,虚拟机)的创建指令、安装文件和安装文件的签名文件。
一台实体服务器虚拟成多个虚拟机,前面的每个VNF都是运行在一个VM上的。
步骤412、NFVI创建VM,将安装文件和安装文件的签名文件注VM。
创建VM和将安装文件和安装文件的签名文件注VM两个过程是NFVI安装VNF软件的具体过程。
步骤413、VNF保存安装文件和安装文件的签名文件。
步骤414、NFVI向VIM发送安装确认指示。
步骤415、VIM向VNFM发送安装确定指示。
步骤416、VNFM配置VNF。
步骤417、VNFM向EM发送安装确定指示。
步骤418、EM配置VNF。
步骤419、VNF判断是否存在按照预设要求修改的一个或多个安装文件。
示例的,当VNF安装完成后,之前很多空着的信息将被填补,例如,IP地址将从空变为当前地址。
步骤420、若存在,则VNF对该安装文件进行完整性保护。
示例的,VNF可以根据哈希算法生成校验值,保存该校验值。
步骤421、VNF将该校验值保存至完整性保护文件。
与此同时,还可以删除该安装文件的签名文件。
在VNF运行阶段,需要再次进行校验的情况是VNF软件重启或者启动的时候。其中,当安装文件未被修改,执行的签名检验步骤与VNF实例化阶段的校验相同,此处就不在详述了。因此,以重启为例,如图6所示,所述方法还包括:
步骤422、VNFM向VNF发送用于重启的指示
步骤423、VNF重启。
步骤424、VNF判断是否存在安装文件满足预设要求的修改。
步骤425、若存在,则VNF根据完整性保护文件,对该安装文件进行完整性保护校验。
具体的,可以对该安装文件通过哈希算法计算出一个新的校验值,判断新的校验值和完整性保护文件中的校验值是否相同,若相同,则确定未被篡改;不同,则认为被篡改。
这样一来,本发明实施例不仅仅能够在安装时确定出VNF软件是否被篡改,还能够在软件每次启动或重启时对安装文件进行校验,来确定VNF软件是否被篡改,从而大大的减少了使用被篡改的VNF软件的风险。
实施例三
本发明实施例提供一种软件校验装置50,该软件校验装置50可以包括VIM和VNF,其中VNF可以包括获取单元501、校验单元502、确定单元503和监控单元504,NVF可以包括完整性保护单元505和校验单元502,如图7所示,可以包括:
获取单元501,用于获取VNF软件的安装文件和所述安装文件的签名文件,所述安装文件的签名文件用于存储所述安装文件的校验信息。
校验单元502,用于根据所述获取单元501获取的安装文件的签名文件,校验所述获取单元501获取的安装文件。
确定单元503,用于当所述校验单元502校验所述安装文件成功时,确定所述VNF软件未被篡改。
这样一来,本发明实施例提供的装置能够自动根据校验文件确 定出安装文件是否被篡改,因此,保证根据安装文件安装的VNF软件未被篡改。
所述校验单元502具体用于:若确定所述安装文件中存在至少一个安装文件已按照预设规则进行修改,则对所述至少一个安装文件进行完整性保护校验,并分别根据除所述至少一个安装文件之外的安装文件的签名文件,校验对应的安装文件。
进一步的,如图8所示,所述装置50还包括:
监控单元504,用于监控所述安装文件中是否按照所述预设规则进行修改。
完整性保护单元505,用于若存在所述至少一个安装文件按照所述预设规则进行了修改,则对所述至少一个安装文件进行完整性保护。
进一步的,所述获取单元501具体用于:
获取所述VNF软件的安装包和所述安装包的签名文件,所述安装包包括所述安装文件和所述安装文件的签名文件,所述安装包的签名文件用于存储所述安装包的校验信息;
根据所述安装包的签名文件,校验所述安装包;
若校验所述安装包成功,则获取所述安装文件和所述安装文件的签名文件。
实施例四
如图9为本发明实施例提供的一种软件校验装置60的结构示意图,该软件校验装置60可以用于执行图2、5或6所示的方法,具体可以包括第一存储器601和第一处理器602。
第一存储器601可以包括只读存储器和随机存取存储器,用于存储第一处理器602所执行的程序代码。
第一处理器602,用于获取虚拟网络功能VNF软件的安装文件和所述安装文件的签名文件,所述安装文件的签名文件用于存储所述安装文件的校验信息;根据所述安装文件的签名文件,校验所述安装文件;若所述安装文件校验成功,则确定所述VNF软件未被篡 改。
这样一来,本发明实施例提供的装置能够自动根据校验文件确定出安装文件是否被篡改,因此,保证根据安装文件安装的VNF软件未被篡改。
进一步的,所述第一处理器602具体用于:
若确定所述安装文件均未按照预设规则进行修改,则根据所述安装文件的签名文件,校验所述安装文件。
进一步的,所述装置60还包括第二处理器603和第二存储器604。
第二存储器604可以包括只读存储器和随机存取存储器,用于存储第二处理器603所执行的程序代码。
第二处理器603,用于:若确定所述安装文件中存在至少一个安装文件已按照预设规则进行修改,则对所述至少一个安装文件进行完整性保护校验。
所述第一处理器602,还用于并分别根据除所述至少一个安装文件之外的安装文件的签名文件,校验对应的安装文件。
进一步的,所述第一处理器602,还用于监控所述安装文件中是否按照所述预设规则进行修改;当存在所述至少一个安装文件按照所述预设规则进行了修改时,通知所述第二处理器603。
所述第二处理器603,还用于当存在所述至少一个安装文件按照所述预设规则进行了修改时,对所述至少一个安装文件进行完整性保护。
进一步的,所述第一处理器602具体用于:
获取所述VNF软件的安装包和所述安装包的签名文件,所述安装包包括所述安装文件和所述安装文件的签名文件,所述安装包的签名文件用于存储所述安装包的校验信息;
根据所述安装包的签名文件,校验所述安装包;
若校验所述安装包成功,则获取所述安装文件和所述安装文件的签名文件。
需要指出的是,第一处理器602可以用于实现图5或图6所示实施例中的VIM的功能;第二处理器603可以用于实现VNF功能。
值得说明的是,本实施例中的第一处理器602和第二处理器603可以是同一处理器,也可以是不同的处理器,具体可以位于同一计算机或服务期内,也可以分别位于不同的计算机或服务器内;本实施例中的第一存储器601和第二存储器604可以是同一存储器,也可以是不同的存储器,具体可以位于同一计算机或服务期内,也可以分别位于不同的计算机或服务器内。
需要说明的是,当第一处理器和第二处理器为不同的处理器时,上述装置60还包括通信总线605。该通信总线605用于进行该装置60内部各器件之间的连接,具体可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称为EISA)总线等。该总线605可以分为地址总线、数据总线、控制总线等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (16)

  1. 一种软件校验方法,其特征在于,包括:
    获取虚拟网络功能VNF软件的安装文件和所述安装文件的签名文件,所述安装文件的签名文件用于存储所述安装文件的校验信息;
    根据所述安装文件的签名文件,校验所述安装文件;
    若所述安装文件校验成功,则确定所述VNF软件未被篡改。
  2. 根据权利要求1所述方法,其特征在于,所述根据所述安装文件的签名文件,校验所述安装文件包括:
    若确定所述安装文件均未按照预设规则进行修改,则根据所述安装文件的签名文件,校验所述安装文件。
  3. 根据权利要求1所述的方法,其特征在于,所述根据所述安装文件的签名文件,校验所述安装文件包括:
    若确定所述安装文件中存在至少一个安装文件已按照预设规则进行修改,则对所述至少一个安装文件进行完整性保护校验,并分别根据除所述至少一个安装文件之外的安装文件的签名文件,校验对应的安装文件。
  4. 根据权利要求3所述的方法,其特征在于,所述方法还包括:
    监控所述安装文件中是否按照所述预设规则进行修改;
    若存在所述至少一个安装文件按照所述预设规则进行了修改,则对所述至少一个安装文件进行完整性保护。
  5. 根据权利要求1至4任意一项权利要求所述的方法,其特征在于,所述获取安装文件和所述安装文件的签名文件包括:
    获取所述VNF软件的安装包和所述安装包的签名文件,所述安装包包括所述安装文件和所述安装文件的签名文件,所述安装包的签名文件用于存储所述安装包的校验信息;
    根据所述安装包的签名文件,校验所述安装包;
    若校验所述安装包成功,则获取所述安装文件和所述安装文件的签名文件。
  6. 根据权利要求5所述的方法,其特征在于,在所述获取所述 VNF软件的安装包和所述安装包的签名文件之前,所述方法还包括:
    对所述安装文件进行签名,得到所述安装文件的签名文件;
    对所述安装包进行签名,得到所述安装包的签名文件,所述安装包包括所述安装文件和所述安装文件的签名文件。
  7. 一种软件校验装置,其特征在于,包括:
    获取单元,用于获取VNF软件的安装文件和所述安装文件的签名文件,所述安装文件的签名文件用于存储所述安装文件的校验信息;
    校验单元,用于根据所述获取单元获取的安装文件的签名文件,校验所述获取单元获取的安装文件;
    确定单元,用于当所述校验单元校验所述安装文件成功时,确定所述VNF软件未被篡改。
  8. 根据权利要求7所述装置,其特征在于,所述校验单元具体用于:
    若确定所述安装文件均未按照预设规则进行修改,则根据所述安装文件的签名文件,校验所述安装文件。
  9. 根据权利要求7所述的装置,其特征在于,所述校验单元具体用于:
    若确定所述安装文件中存在至少一个安装文件已按照预设规则进行修改,则对所述至少一个安装文件进行完整性保护校验,并分别根据除所述至少一个安装文件之外的安装文件的签名文件,校验对应的安装文件。
  10. 根据权利要求9所述的装置,其特征在于,所述装置还包括:
    监控单元,用于监控所述安装文件中是否按照所述预设规则进行修改;
    完整性保护单元,用于若存在所述至少一个安装文件按照所述预设规则进行了修改,则对所述至少一个安装文件进行完整性保护。
  11. 根据权利要求7至10任意一项权利要求所述的装置,其特征在于,所述获取单元具体用于:
    获取所述VNF软件的安装包和所述安装包的签名文件,所述安装包包括所述安装文件和所述安装文件的签名文件,所述安装包的签名文件用于存储所述安装包的校验信息;
    根据所述安装包的签名文件,校验所述安装包;
    若校验所述安装包成功,则获取所述安装文件和所述安装文件的签名文件。
  12. 一种软件校验装置,其特征在于,包括:第一处理器和第一存储器;
    所述第一存储器,用于存储所述第一处理器所执行的程序代码;
    所述第一处理器,用于获取VNF软件的安装文件和所述安装文件的签名文件,所述安装文件的签名文件用于存储所述安装文件的校验信息;
    根据所述安装文件的签名文件,校验所述安装文件;当所述安装文件校验成功时,确定所述VNF软件未被篡改。
  13. 根据权利要求12所述装置,其特征在于,所述第一处理器具体用于:
    若确定所述安装文件均未按照预设规则进行修改,则根据所述安装文件的签名文件,校验所述安装文件。
  14. 根据权利要求12所述的装置,其特征在于,所述装置还包括:第二处理器和第二存储器;
    所述第二存储器,用于存储所述第二处理器所执行的程序代码;
    所述第二处理器,用于若确定所述安装文件中存在至少一个安装文件已按照所述预设规则进行修改,则对所述至少一个安装文件进行完整性保护校验;
    所述第一处理器,还用于分别根据除所述至少一个安装文件之外的安装文件的签名文件,校验对应的安装文件。
  15. 根据权利要求14所述的装置,其特征在于,
    所述第一处理器,还用于监控所述安装文件中是否按照所述预设规则进行修改;当存在所述至少一个安装文件按照所述预设规则进行 了修改时,通知所述第二处理器;
    第二处理器,还用于当存在所述至少一个安装文件按照所述预设规则进行了修改时,对所述至少一个安装文件进行完整性保护。
  16. 根据权利要求12至15任意一项权利要求所述的装置,其特征在于,所述第一处理器具体用于:
    获取所述VNF软件的安装包和所述安装包的签名文件,所述安装包包括所述安装文件和所述安装文件的签名文件,所述安装包的签名文件用于存储所述安装包的校验信息;
    根据所述安装包的签名文件,校验所述安装包;
    若校验所述安装包成功,则获取所述安装文件和所述安装文件的签名文件。
PCT/CN2015/070300 2015-01-07 2015-01-07 一种软件校验方法和装置 WO2016109955A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201580002499.2A CN106170763B (zh) 2015-01-07 2015-01-07 一种软件校验方法和装置
EP15876464.7A EP3232322A4 (en) 2015-01-07 2015-01-07 Software verifying method and device
PCT/CN2015/070300 WO2016109955A1 (zh) 2015-01-07 2015-01-07 一种软件校验方法和装置
US15/642,981 US10796001B2 (en) 2015-01-07 2017-07-06 Software verification method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2015/070300 WO2016109955A1 (zh) 2015-01-07 2015-01-07 一种软件校验方法和装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/642,981 Continuation US10796001B2 (en) 2015-01-07 2017-07-06 Software verification method and apparatus

Publications (1)

Publication Number Publication Date
WO2016109955A1 true WO2016109955A1 (zh) 2016-07-14

Family

ID=56355416

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/070300 WO2016109955A1 (zh) 2015-01-07 2015-01-07 一种软件校验方法和装置

Country Status (4)

Country Link
US (1) US10796001B2 (zh)
EP (1) EP3232322A4 (zh)
CN (1) CN106170763B (zh)
WO (1) WO2016109955A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6661409B2 (ja) * 2016-03-01 2020-03-11 キヤノン株式会社 自動設置システム、情報処理装置、情報処理装置の制御方法、及びプログラム
US20180288101A1 (en) * 2017-03-29 2018-10-04 Hewlett Packard Enterprise Development Lp Verifying that usage of virtual network function (vnf) by a plurality of compute nodes comply with allowed usage rights
CN109784085B (zh) * 2017-11-15 2023-10-27 中兴通讯股份有限公司 虚拟网络应用实现方法及管理系统、计算机可读存储介质
CN108259556A (zh) * 2017-11-30 2018-07-06 北京九五智驾信息技术股份有限公司 参数配置方法及终端
WO2019212547A1 (en) * 2018-05-02 2019-11-07 Hewlett-Packard Development Company, L.P. Executing sotware
EP3609128A1 (en) * 2018-08-07 2020-02-12 Siemens Aktiengesellschaft Communication system, provider node, communication node and method for providing a virtual network function to a customer node
US10826943B2 (en) * 2018-08-21 2020-11-03 At&T Intellectual Property I, L.P. Security controller
CN110896540A (zh) * 2019-11-21 2020-03-20 国网辽宁省电力有限公司电力科学研究院 移动互联网客户端安全评估工具、方法、计算机设备及存储介质
CN116956364B (zh) * 2023-09-21 2024-02-09 中航国际金网(北京)科技有限公司 虚拟化产品完整性校验方法、装置、系统及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102880828A (zh) * 2012-09-07 2013-01-16 普华基础软件股份有限公司 一种针对虚拟化支撑环境的入侵检测与恢复系统
CN104049973A (zh) * 2014-06-25 2014-09-17 北京思特奇信息技术股份有限公司 安卓应用程序的安全验证方法及装置
WO2014206171A1 (zh) * 2013-06-24 2014-12-31 华为技术有限公司 一种公钥密码的处理方法、装置及系统

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7236958B2 (en) * 2001-01-05 2007-06-26 Microsoft Corporation Electronic software license with software product installer identifier
JP4405933B2 (ja) * 2005-03-18 2010-01-27 キヤノン株式会社 制御装置、通信制御方法、通信制御プログラム、及び記憶媒体
US8171469B2 (en) * 2006-08-15 2012-05-01 Hewlett-Packard Development Company, L.P. Package compatibility
US8880736B2 (en) * 2009-07-09 2014-11-04 Simon Cooper Methods and systems for archiving and restoring securely installed applications on a computing device
CN102609665B (zh) * 2012-01-19 2014-12-10 福建三元达软件有限公司 对用户程序签名及验证用户程序签名的方法及装置
US8799662B2 (en) * 2012-07-27 2014-08-05 Adobe Systems Incorporated Method and apparatus for validating the integrity of installer files prior to installation
GB2507596B (en) * 2012-10-30 2014-09-17 Barclays Bank Plc Secure computing device and method
CN102982258B (zh) * 2012-11-09 2016-03-16 北京深思数盾科技有限公司 一种对移动应用程序进行原版校验的系统
CN103036894B (zh) * 2012-12-19 2015-04-08 福建联迪商用设备有限公司 一种智能终端应用程序安装文件联网数字签名方法
CN104123481A (zh) * 2013-04-24 2014-10-29 贝壳网际(北京)安全技术有限公司 防止应用程序被篡改的方法及装置
US10664297B2 (en) * 2014-02-24 2020-05-26 Hewlett Packard Enterprise Development Lp Activating pre-created VNFCs when a monitored performance level of a VNF exceeds a maximum value attainable by the combined VNFCs that form a VNF
CN104156638B (zh) * 2014-06-06 2018-04-20 国家计算机网络与信息安全管理中心 一种面向安卓系统软件的扩展签名的实现方法
CN104253866B (zh) * 2014-09-20 2018-03-27 华为技术有限公司 虚拟网络功能网元的软件部署方法、系统及相关设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102880828A (zh) * 2012-09-07 2013-01-16 普华基础软件股份有限公司 一种针对虚拟化支撑环境的入侵检测与恢复系统
WO2014206171A1 (zh) * 2013-06-24 2014-12-31 华为技术有限公司 一种公钥密码的处理方法、装置及系统
CN104049973A (zh) * 2014-06-25 2014-09-17 北京思特奇信息技术股份有限公司 安卓应用程序的安全验证方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3232322A4 *

Also Published As

Publication number Publication date
EP3232322A4 (en) 2017-12-13
CN106170763B (zh) 2019-10-18
EP3232322A1 (en) 2017-10-18
US10796001B2 (en) 2020-10-06
CN106170763A (zh) 2016-11-30
US20170300696A1 (en) 2017-10-19

Similar Documents

Publication Publication Date Title
WO2016109955A1 (zh) 一种软件校验方法和装置
US10445082B2 (en) Persistent mobile device enrollment
US9059978B2 (en) System and methods for remote maintenance in an electronic network with multiple clients
US8694786B2 (en) Virtual machine images encryption using trusted computing group sealing
WO2011000323A1 (zh) 一种虚拟机迁移决策方法、装置及系统
US8826275B2 (en) System and method for self-aware virtual machine image deployment enforcement
JP2016510960A (ja) 信頼されるプロバイダによるコンフィギュレーションおよび検証
US10687216B2 (en) Antitheft method for mobile terminal and apparatus
JP2015524128A (ja) 被保護データー集合のネットワーク・ベース管理
WO2022267407A1 (zh) 一种基于自动化运维工具的代理部署方法及装置
CN111414612A (zh) 操作系统镜像的安全保护方法、装置及电子设备
KR20170089352A (ko) 가상화 시스템에서 수행하는 무결성 검증 방법
CN109117625B (zh) Ai软件系统安全状态的确定方法及装置
US20210334380A1 (en) Trusted firmware verification
CN115941217A (zh) 用于安全通信的方法和其相关产品
US20230061123A1 (en) Systems and methods to orchestrate trusted enrollment
CN116842536A (zh) 操作系统的访问控制方法、装置、设备及存储介质
CN117744093A (zh) 一种数字签名方法、装置、设备以及存储介质
CN115964720A (zh) 基于FaaS平台的机密计算方法、装置、设备及介质

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

REEP Request for entry into the european phase

Ref document number: 2015876464

Country of ref document: EP