【技术实现步骤摘要】
一种基于共识机制的软件版本状态保护方法
本专利技术属软件保护
,涉及一种防止软件流转过程中被篡改的方法。
技术介绍
目前,对于软件版本状态管理的工具有SVN、Git等,这些工具在软件的研发阶段能够非常好的管理软件版本,甚至能够对比不同版本之间的不同。然而,在软件测评、试验、使用阶段,SVN、Git等工具将失去管理能力。例如,测试过程中发现问题,产生软件修改,往往没有工具证明其是否被修改。军方管理软件工具,常用的便是三库管理,同样在软件版本录入受控库时并没有办法验证其状态是否发生变化。同时,即使采用了SVN、配置管理工具软件,在软件的全生命周期软件状态一致性仍有如下问题:(1)软件研发过程版本太多太乱,导致某些版本没有记录或者假装被记录;(2)软件试验单位或使用单位,获取软件安装使用,无法验证软件版本是否正确或已被修改;(3)软件传递使用过程,没有办法验证软件状态是否变化;(4)配置管理工具,只能做到三库管理,没有方法验证出入库时,软件版本是否正确。
技术实现思路
为解决上述技术问题,本专利技术提出了一种基于共识机制的软件版本状态保护方法,其特征在于,所述方法包括如下步骤:S1:定义共识机制,确定软件流转链上的共识群体中的共识人;基于RSA算法,根据大素数原理生成代表不同成员身份的公私钥信息,以密钥证书文件的形式分发给一个或多个共识人;S2:为定版软件生成软件状态码,具体包括:对定版软件中经常会发生改变的文件、按照文件夹、路径进行 ...
【技术保护点】
1.一种基于共识机制的软件版本状态保护方法,其特征在于,所述方法包括如下步骤:/nS1:定义共识机制,确定软件流转链上的共识群体中的共识人;基于RSA算法,根据大素数原理生成代表不同成员身份的公私钥信息,以密钥证书文件的形式分发给一个或多个共识人;/nS2:为定版软件生成软件状态码,具体包括:对定版软件中经常会发生改变的软件文件,按照文件夹、路径进行标识;对于未被标识的软件文件,首先进行散列计算,通过字符串压缩算法对经过散列的字符串文件进行压缩,获取软件文件信息指纹,即软件状态码;对软件文件信息指纹进行数字签名后,编码生成定长的共识标识;/nS3:根据软件流转中共识群体涉及的共识人,分别校验共识人公钥证书的有效性;为软件状态码添加共识人的公钥证书,形成共识文件;/nS4:根据软件流转中的流转顺序,将所述定版软件和共识文件通过混合加密的方式发送给其他所述一个或多个共识人,并由所述一个或多个共识人按照流转顺序对其中已有的软件状态码的数字签名进行校验,如果校验通过,则为共识文件添加多重数字签名。/n
【技术特征摘要】
1.一种基于共识机制的软件版本状态保护方法,其特征在于,所述方法包括如下步骤:
S1:定义共识机制,确定软件流转链上的共识群体中的共识人;基于RSA算法,根据大素数原理生成代表不同成员身份的公私钥信息,以密钥证书文件的形式分发给一个或多个共识人;
S2:为定版软件生成软件状态码,具体包括:对定版软件中经常会发生改变的软件文件,按照文件夹、路径进行标识;对于未被标识的软件文件,首先进行散列计算,通过字符串压缩算法对经过散列的字符串文件进行压缩,获取软件文件信息指纹,即软件状态码;对软件文件信息指纹进行数字签名后,编码生成定长的共识标识;
S3:根据软件流转中共识群体涉及的共识人,分别校验共识人公钥证书的有效性;为软件状态码添加共识人的公钥证书,形成共识文件;
S4:根据软件流转中的流转顺序,将所述定版软件和共识文件通过混合加密的方式发送给其他所述一个或多个共识人,并由所述一个或多个共识人按照流转顺序对其中已有的软件状态码的数字签名进行校验,如果校验通过,则为共识文件添加多重数字签名。
2.根据权利要求1中所述的一种基于共识机制的软件版本状态保护方法,其特征在于:所述方法还包括:所述定版软件发布后,通过软件状态码对所述定版软件进行检测,确定其中文件是否被修改。
3.根据权利要求1中所述的一种基于共识机制的软件版本状态保护方法,其特征在于:将所述定版软件和共识文件通过混合加密的方式发送给其他所述一个或多个共识人包括:一个共识人与另一个共识人之间进行密钥协商,所述一个共识人和所述另一个公识人各自生成隧道加密密钥的生成因子;所述一个共识人采用所述另一个共识人的公钥加密其生成的隧道加密密钥的生成因子,并发送给所述另一个共识人;相应的,所述另一个共识人采用所述一个共识人的公钥加密其生成的隧道加密密钥的生成因子,并发送给所述一个共识人;双方各自用自己的私钥对加密信息解密后,各自都得到了对方的隧道...
【专利技术属性】
技术研发人员:柴关华,张幼春,卢云玲,焦雯,孟崎,闫卫杰,
申请(专利权)人:北京关键科技股份有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。