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

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

Info

Publication number
CN106170763B
CN106170763B CN201580002499.2A CN201580002499A CN106170763B CN 106170763 B CN106170763 B CN 106170763B CN 201580002499 A CN201580002499 A CN 201580002499A CN 106170763 B CN106170763 B CN 106170763B
Authority
CN
China
Prior art keywords
file
installation
installation file
signature
kit
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201580002499.2A
Other languages
English (en)
Other versions
CN106170763A (zh
Inventor
秦宇津
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN106170763A publication Critical patent/CN106170763A/zh
Application granted granted Critical
Publication of CN106170763B publication Critical patent/CN106170763B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

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(ElementManagement System,网元管理系统)节点、VNF(Virtual Network Function,虚拟网络功能)节点、NFVO(Network Function Virtualization Orchestrator,网络功能虚拟化编排者)节点、VNFM(Virtual Network Function Manager,虚拟网络功能管理者)节点、VIM(Virtualised Infrastructure Manager,虚拟设施管理者)节点和NFVI(NetworkFunction Virtual Infrastructure,网络功能虚拟设施)节点。其中,运营支撑系统分别与网元管理系统和网络功能虚拟化编排者连接,网元管理系统分别与虚拟网络功能和虚拟网络功能管理者连接,虚拟网络功能分别与网络功能虚拟设施和虚拟网络功能管理者连接,网络功能虚拟化编排者与虚拟网络功能管理者连接,虚拟网络功能管理者与虚拟设施管理者连接,虚拟设施管理者与网络功能虚拟设施连接。
需要说明的是,NFVO节点、VNFM节点和VIM节点包含于NFV-MANO(NetworkFunction 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 IndustryStandard Architecture,简称为EISA)总线等。该总线605可以分为地址总线、数据总线、控制总线等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (13)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
CN106170763A CN106170763A (zh) 2016-11-30
CN106170763B true CN106170763B (zh) 2019-10-18

Family

ID=56355416

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580002499.2A Active CN106170763B (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 (10)

* 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 北京九五智驾信息技术股份有限公司 参数配置方法及终端
US11615188B2 (en) * 2018-05-02 2023-03-28 Hewlett-Packard Development Company, L.P. Executing software
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 国网辽宁省电力有限公司电力科学研究院 移动互联网客户端安全评估工具、方法、计算机设备及存储介质
CN113395161A (zh) * 2020-03-13 2021-09-14 斑马智行网络(香港)有限公司 验证方法、装置、电子设备及存储介质
CN116956364B (zh) * 2023-09-21 2024-02-09 中航国际金网(北京)科技有限公司 虚拟化产品完整性校验方法、装置、系统及电子设备

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609665A (zh) * 2012-01-19 2012-07-25 福建三元达软件有限公司 对用户程序签名及验证用户程序签名的方法及装置
CN102880828A (zh) * 2012-09-07 2013-01-16 普华基础软件股份有限公司 一种针对虚拟化支撑环境的入侵检测与恢复系统
CN102982258A (zh) * 2012-11-09 2013-03-20 北京深思洛克软件技术股份有限公司 一种对移动应用程序进行原版校验的系统
CN103036894A (zh) * 2012-12-19 2013-04-10 福建联迪商用设备有限公司 一种智能终端应用程序安装文件联网数字签名方法
CN103354496A (zh) * 2013-06-24 2013-10-16 华为技术有限公司 一种公钥密码的处理方法、装置及系统
CN104049973A (zh) * 2014-06-25 2014-09-17 北京思特奇信息技术股份有限公司 安卓应用程序的安全验证方法及装置
CN104123481A (zh) * 2013-04-24 2014-10-29 贝壳网际(北京)安全技术有限公司 防止应用程序被篡改的方法及装置
CN104156638A (zh) * 2014-06-06 2014-11-19 国家计算机网络与信息安全管理中心 一种面向安卓系统软件的扩展签名的实现方法
CN104253866A (zh) * 2014-09-20 2014-12-31 华为技术有限公司 虚拟网络功能网元的软件部署方法、系统及相关设备

Family Cites Families (7)

* 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
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
WO2015126430A1 (en) * 2014-02-24 2015-08-27 Hewlett-Packard Development Company, L.P. Virtual network function management with deactivated virtual machines

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609665A (zh) * 2012-01-19 2012-07-25 福建三元达软件有限公司 对用户程序签名及验证用户程序签名的方法及装置
CN102880828A (zh) * 2012-09-07 2013-01-16 普华基础软件股份有限公司 一种针对虚拟化支撑环境的入侵检测与恢复系统
CN102982258A (zh) * 2012-11-09 2013-03-20 北京深思洛克软件技术股份有限公司 一种对移动应用程序进行原版校验的系统
CN103036894A (zh) * 2012-12-19 2013-04-10 福建联迪商用设备有限公司 一种智能终端应用程序安装文件联网数字签名方法
CN104123481A (zh) * 2013-04-24 2014-10-29 贝壳网际(北京)安全技术有限公司 防止应用程序被篡改的方法及装置
CN103354496A (zh) * 2013-06-24 2013-10-16 华为技术有限公司 一种公钥密码的处理方法、装置及系统
CN104156638A (zh) * 2014-06-06 2014-11-19 国家计算机网络与信息安全管理中心 一种面向安卓系统软件的扩展签名的实现方法
CN104049973A (zh) * 2014-06-25 2014-09-17 北京思特奇信息技术股份有限公司 安卓应用程序的安全验证方法及装置
CN104253866A (zh) * 2014-09-20 2014-12-31 华为技术有限公司 虚拟网络功能网元的软件部署方法、系统及相关设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"A Look In the Mirror: Attacks on Package Managers";Justin Cappos 等;《CCS’08: Proceedings of the 15th ACM conference on Computer and communications security》;20081027;第565-574页 *

Also Published As

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

Similar Documents

Publication Publication Date Title
CN106170763B (zh) 一种软件校验方法和装置
WO2022037690A1 (zh) 应用构建系统、方法和平台及应用发布系统、方法和平台
WO2016037479A1 (zh) 虚拟化网络功能vnf优化方法、装置及系统
US9767295B2 (en) Content based hardware security module assignment to virtual machines
CN112104723A (zh) 一种多集群的数据处理系统及方法
TWI737172B (zh) 用於安全作業系統映像之增量解密及完整度驗證之電腦系統、電腦程式產品及電腦實施方法
CN113741909B (zh) 微服务部署方法、装置、电子设备及存储介质
US20220276848A1 (en) Validation of payload for deployment to a target environment
CN113867782A (zh) 灰度发布方法、装置、计算机设备和存储介质
CN117608825A (zh) 基于多云管理平台的资源管理方法和相关设备
WO2021152384A1 (en) Reserving one or more security modules for secure guest
US20210208872A1 (en) Automated test authorization management
US9021479B2 (en) Enforcing machine deployment zoning rules in an automatic provisioning environment
CN113434254B (zh) 客户端部署方法、装置、计算机设备及存储介质
CN116701233B (zh) 基于高并发报单模拟的交易系统测试方法、设备及介质
CN111124591A (zh) 一种镜像传输方法、装置、电子设备及存储介质
CN117034257A (zh) 一种虚拟化管理下的信息获取方法、装置、设备及介质
CN105453519B (zh) 一种信息安全验证方法及设备
CN114020414B (zh) Android系统与底层Linux共生方法、装置、电子设备及存储介质
CN113596600B (zh) 直播嵌入程序的安全管理方法、装置、设备及存储介质
CN113535574B (zh) 一种测试用户数据的自动生成方法、装置、设备和介质
CN115291973A (zh) 云上应用连接数据库的方法、装置、电子设备及存储介质
CN112631551A (zh) 随机数生成方法、装置、电子设备及存储介质
CN114978675B (zh) 一种访问认证方法、装置、电子设备及存储介质
CN115039100B (zh) 为安全访客保留一个或多个安全模块

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant