一种软件归属的验证方法及装置制造方法及图纸

技术编号:21514195 阅读:28 留言:0更新日期:2019-07-03 09:08
本申请提供了一种软件归属的验证方法及装置,验证目标软件的软件包中是否包括第一文件和第二文件、目标软件的软件包中的第一列表文件的数字摘要与本地列表文件的第二列表文件的数字摘要是否相同、目标软件的软件包中的第一归属标识与本地的第二归属标识是否相同以及目标软件的软件包中的各个目标软件的属性与本地各个目标软件的属性是否相同,因为第二列表文件的数字摘要、第二归属标识以及本地各个目标软件的属性均来自于设备本地的注册数据,因此,使用上述依据能够验证待安装的软件包是否归属于此设备,在待安装的软件包不归属于此设备的情况下,可以拒绝安装或更新,从而提高软件包安装的安全性。

A Verification Method and Device for Software Attribution

【技术实现步骤摘要】
一种软件归属的验证方法及装置
本申请涉及电子信息领域,尤其涉及一种软件归属的验证方法及装置。
技术介绍
随着计算机技术及电子信息技术的发展,软件安装已经出现在各个领域中,而对于特种设备领域而言,例如轨道交通领域,对于软件安装的安全性有很高的要求,以保证设备运行的安全性。而目前,针对于轨道交通领域,软件安装的过程中还存在着安全漏洞,例如,向设备中安装的软件不是该设备的正版软件,或者,虽然是本设备的正版软件,但是软件中的某些内容已被篡改,一旦出现上述情况,轻则导致设备不能正常运行,重则导致安全事故。可见,如何提高软件安装过程中的安全性,成为目前亟待解决的问题。
技术实现思路
本申请提供了一种软件归属的验证方法及装置,目的在于解决如何提高软件安装过程中的安全性的问题。为了实现上述目的,本申请提供了以下技术方案:一种软件归属的验证方法,包括:获取设备本地的注册数据,所述设备本地的注册数据中至少包括列表文件、归属证书文件以及软件文件;检测目标软件的软件包中是否包括第一文件和第二文件,如果是,则从所述目标软件的软件包中获取第一列表文件的数字摘要,所述第一文件为名称与所述列表文件的名称相同的文件,所述第二文件为名称与所述归属证书文件的名称相同的文件;判断所述第一列表文件的数字摘要与第二列表文件的数字摘要是否相同,如果是,从所述目标软件的软件包中获取第一归属标识,所述第二列表文件的数字摘要为依据所述注册数据生成的列表文件的数字摘要;判断所述第一归属标识与本地的第二归属标识是否相同,如果是,则依次比较所述目标软件的软件包中包括的各个目标文件与所述注册数据中指示的各个目标文件的属性是否相同,如果是,则确定所述目标软件的软件包通过验证。可选地,在所述检测目标软件的软件包中是否包括第一文件和第二文件之前,还包括:接收所述目标软件的软件包;从本地获取本地验证所需的注册数据密文;使用本地的第一密钥解密所述注册数据密文,获得注册数据明文;从所述注册数据明文中获取加密方式以及所述列表文件的第二密钥、所述归属证书文件的第三密钥以及所述软件文件的第四密钥;依据所述加密方式,分别使用所述第二密钥、所述第三密钥以及第四密钥,解析出所述列表文件、所述归属证书文件和所述软件文件。可选地,所述检测目标软件的软件包中是否包括第一文件和第二文件包括:在所述列表文件、所述归属证书文件和所述软件文件均解密成功的情况下,检测目标软件的软件包中是否包括第一文件和第二文件。可选地,从所述目标软件的软件包中获取第一列表文件的数字摘要包括:从所述目标软件的软件包中获取列表文件数字摘要存放文件名、起始位置与长度;依据所述列表文件数字摘要存放文件名、起始位置与长度,获取第一列表文件的数字摘要。可选地,所述第二列表文件的数字摘要的获取过程包括:从所述注册数据中获取本地列表文件内容;利用所述本地列表文件内容,生成第二列表文件数字摘要。可选地,所述判断所述第一归属标识与本地的第二归属标识是否相同包括:从所述目标软件的软件包中获取归属证书的数字摘要存放文件名、起始位置与长度;依据所述归属证书的数字摘要存放文件名、起始位置与长度,获取第一归属证书文件的数字摘要;从所述注册数据中获取本地归属证书文件内容;根据所述本地归属证书文件内容,生成第二归属证书文件的数字摘要;比较所述第一归属证书文件的数字摘要与所述第二归属证书文件的数字摘要是否相同,如果是,从所述目标软件的软件包中获取第一归属标识,并从所述注册数据中获取本地的第二归属标识;比较所述第一归属标识与第二归属标识是否相同。可选地,所述依次比较所述目标软件的软件包中包括的各个目标文件与所述注册数据中指示的各个目标文件的属性是否相同,如果是,则确定所述目标软件的软件包通过验证包括:比对所述目标软件的软件包中的第一目标文件列表与所述注册数据中的第二目标文件列表是否相同,如果是,则依次比较所述第一目标文件列表中的各个目标文件的数字摘要与所述第二目标文件列表中的各个目标文件的数字摘要,如果均相同,则确定所述目标软件的软件包通过验证。可选地,还包括:在检测到目标软件的软件包中不包括第一文件和第二文件、或者,在所述第一列表文件数字摘要与第二列表文件数字摘要不同、或者所述第一归属标识与第二归属标识不同、或者所述目标软件的软件包中包括的各个目标文件与所述注册数据中指示的各个目标文件的属性不同的情况下,确定所述目标软件的归属验证失败。本申请所述的软件归属的验证方法及装置,将目标软件的软件包中是否包括第一文件和第二文件、目标软件的软件包中的第一列表文件的数字摘要与本地列表文件的第二列表文件的数字摘要是否相同、目标软件的软件包中的第一归属标识与本地的第二归属标识是否相同以及目标软件的软件包中的各个目标软件的属性与本地各个目标软件的属性是否相同的验证结果,作为判断目标软件的软件包是否通过归属验证的依据,因为第二列表文件的数字摘要、第二归属标识以及本地各个目标软件的属性均来自于设备本地的注册数据,因此,使用上述依据能够很好地验证待安装的软件包是否归属于此设备,在待安装的软件包不归属于此设备的情况下,则可以拒绝安装或更新,从而提高软件包安装的安全性。附图说明图1为本申请实施例公开的一种软件归属的验证方法的流程图;图2为本申请实施例公开的又一种软件归属的验证方法的流程图;图3为本申请实施例公开的一种软件归属的验证的结构示意图。具体实施方式本申请实施例公开的软件归属的验证方法及装置,可以应用在设备安装或更新软件的过程中,现有技术中,设备接收到软件的安装包后,直接进行安装,在软件不安全的情况下(例如软件中某些数据被篡改或者软件不是正版、或者软件不应安装在此设备上,否则导致设备故障),会危害设备的安全运行,尤其在特种行业(例如轨道交通)这种危害更为显著,而本申请实施例公开的软件归属的验证方法及装置,其目的就在于提高软件安装或更新的安全性。下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。本申请实施例公开了一种软件归属的验证方法,如图1所示,包括:S101:获取设备本地的注册数据;本实施例中,设备本地的注册数据的数据结构的明文可以为:1.列表文件数字摘要存储方式标志,假设为ListFileAbstrStoreFlag;2.归属证书文件数字摘要存储方式标志,假设为OwnerCertFileAbstrStoreFlag;3.软件文件数字摘要存储方式标志,假设为SoftFileAbstrStoreFlag;4.列表文件数字摘要存储在何种文件中,假设为ListAbstrStoreFileName5.归属证书文件数字摘要存储在何种文件中,假设为OwnerAbstrStoreFileName;6.列表文件数字摘要存放起始位置,假设为ListAbstrStartPosition;7.归属证书文件数字摘要存放起始位置,假设为OwnerAbstrStartPositoin;8.列表文件数字摘要长度,假设为ListAbstrLength;9.归属证书文件数字摘要长度,假设本文档来自技高网...

【技术保护点】
1.一种软件归属的验证方法,其特征在于,包括:获取设备本地的注册数据,所述设备本地的注册数据中至少包括列表文件、归属证书文件以及软件文件;检测目标软件的软件包中是否包括第一文件和第二文件,如果是,则从所述目标软件的软件包中获取第一列表文件的数字摘要,所述第一文件为名称与所述列表文件的名称相同的文件,所述第二文件为名称与所述归属证书文件的名称相同的文件;判断所述第一列表文件的数字摘要与第二列表文件的数字摘要是否相同,如果是,从所述目标软件的软件包中获取第一归属标识,所述第二列表文件的数字摘要为依据所述注册数据生成的列表文件的数字摘要;判断所述第一归属标识与本地的第二归属标识是否相同,如果是,则依次比较所述目标软件的软件包中包括的各个目标文件与所述注册数据中指示的各个目标文件的属性是否相同,如果是,则确定所述目标软件的软件包通过验证。

【技术特征摘要】
1.一种软件归属的验证方法,其特征在于,包括:获取设备本地的注册数据,所述设备本地的注册数据中至少包括列表文件、归属证书文件以及软件文件;检测目标软件的软件包中是否包括第一文件和第二文件,如果是,则从所述目标软件的软件包中获取第一列表文件的数字摘要,所述第一文件为名称与所述列表文件的名称相同的文件,所述第二文件为名称与所述归属证书文件的名称相同的文件;判断所述第一列表文件的数字摘要与第二列表文件的数字摘要是否相同,如果是,从所述目标软件的软件包中获取第一归属标识,所述第二列表文件的数字摘要为依据所述注册数据生成的列表文件的数字摘要;判断所述第一归属标识与本地的第二归属标识是否相同,如果是,则依次比较所述目标软件的软件包中包括的各个目标文件与所述注册数据中指示的各个目标文件的属性是否相同,如果是,则确定所述目标软件的软件包通过验证。2.根据权利要求1所述的方法,其特征在于,在所述检测目标软件的软件包中是否包括第一文件和第二文件之前,还包括:接收所述目标软件的软件包;从本地获取本地验证所需的注册数据密文;使用本地的第一密钥解密所述注册数据密文,获得注册数据明文;从所述注册数据明文中获取加密方式以及所述列表文件的第二密钥、所述归属证书文件的第三密钥以及所述软件文件的第四密钥;依据所述加密方式,分别使用所述第二密钥、所述第三密钥以及第四密钥,解析出所述列表文件、所述归属证书文件和所述软件文件。3.根据权利要求2所述的方法,其特征在于,所述检测目标软件的软件包中是否包括第一文件和第二文件包括:在所述列表文件、所述归属证书文件和所述软件文件均解密成功的情况下,检测目标软件的软件包中是否包括第一文件和第二文件。4.根据权利要求1或2所述的方法,其特征在于,从所述目标软件的软件包中获取第一列表文件的数字摘要包括:从所述目标软件的软件包中获取列表文件数字摘要存放文件名、起始位置与长度;依据所...

【专利技术属性】
技术研发人员:汪梅花
申请(专利权)人:镇江市志捷软件开发有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1