[发明专利]一种基于共识机制的软件版本状态保护方法有效
申请号: | 202110178506.1 | 申请日: | 2021-02-08 |
公开(公告)号: | CN112528237B | 公开(公告)日: | 2021-06-22 |
发明(设计)人: | 柴关华;张幼春;卢云玲;焦雯;孟崎;闫卫杰 | 申请(专利权)人: | 北京关键科技股份有限公司 |
主分类号: | G06F21/10 | 分类号: | G06F21/10;G06F21/44 |
代理公司: | 中国和平利用军工技术协会专利中心 11215 | 代理人: | 刘光德 |
地址: | 102209 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 共识 机制 软件 版本 状态 保护 方法 | ||
本发明提出一种基于共识机制的软件版本状态保护方法,其特征在于,所述方法包括如下步骤:定义共识机制,确定软件流转链上的共识群体中的共识人;为定版软件生成软件状态码,对定版软件中经常会发生改变的文件、按照文件夹、路径进行标识;根据软件流转中共识群体涉及的共识人,分别校验共识人公钥证书的有效性;为软件状态码添加共识人的公钥证书,形成共识文件;根据定版软件流转中的流转顺序,软件研制单位将定版软件和共识文件通过混合加密的方式发送给一个或多个共识人,并由所述一个或多个共识人按照流转顺序对其中已有的软件状态码的数字签名进行校验,如果校验通过,则为共识文件添加多重数字签名。
技术领域
本发明属软件保护技术领域,涉及一种防止软件流转过程中被篡改的方法。
背景技术
目前,对于软件版本状态管理的工具有SVN、Git等,这些工具在软件的研发阶段能够非常好的管理软件版本,甚至能够对比不同版本之间的不同。
然而,在软件测评、试验、使用阶段,SVN、Git等工具将失去管理能力。例如,测试过程中发现问题,产生软件修改,往往没有工具证明其是否被修改。军方管理软件工具,常用的便是三库管理,同样在软件版本录入受控库时并没有办法验证其状态是否发生变化。
同时,即使采用了SVN、配置管理工具软件,在软件的全生命周期软件状态一致性仍有如下问题:
(1)软件研发过程版本太多太乱,导致某些版本没有记录或者假装被记录;
(2)软件试验单位或使用单位,获取软件安装使用,无法验证软件版本是否正确或已被修改;
(3)软件传递使用过程,没有办法验证软件状态是否变化;
(4)配置管理工具,只能做到三库管理,没有方法验证出入库时,软件版本是否正确。
发明内容
为解决上述技术问题,本发明提出了一种基于共识机制的软件版本状态保护方法,其特征在于,所述方法包括如下步骤:
S1:定义共识机制,确定软件流转链上的共识群体中的共识人;基于RSA算法,根据大素数原理生成代表不同成员身份的公私钥信息,以密钥证书文件的形式分发给一个或多个共识人;
S2:为定版软件生成软件状态码,具体包括:对定版软件中经常会发生改变的文件、按照文件夹、路径进行标识;对于未被标识的文件,首先进行散列计算,通过字符串压缩算法对经过散列的字符串文件进行压缩,获取软件文件信息指纹;对软件文件信息指纹进行数字签名后,使用Base64编码技术编码生成定长的共识标识即为软件状态码;
S3:根据软件流转中共识群体涉及的共识人,分别校验共识人公钥证书的有效性;为软件状态码添加共识人的公钥证书,形成共识文件;
S4:根据软件流转中的流转顺序,将所述定版软件和共识文件通过混合加密的方式发送给其他所述一个或多个共识人,并由所述一个或多个共识人按照流转顺序对其中已有的软件状态码的数字签名进行校验,如果校验通过,则为共识文件添加多重数字签名。
特别地,所述方法还包括:所述定版软件发布后,通过软件状态码对所述定版软件进行检测,确定其中文件是否被修改。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京关键科技股份有限公司,未经北京关键科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110178506.1/2.html,转载请声明来源钻瓜专利网。