一种用于计算机软件开发信息管理的数据加密方法及系统与流程

摘要: 本发明属于软件开发,具体涉及一种用于计算机软件开发信息管理的数据加密方法及系统。背景技术:1、随着信息技术发展,现代软件开发过程呈现出高度的迭代性和协作性,涉及...
一种用于计算机软件开发信息管理的数据加密方法及系统与流程

本发明属于软件开发,具体涉及一种用于计算机软件开发信息管理的数据加密方法及系统。

背景技术:

1、随着信息技术发展,现代软件开发过程呈现出高度的迭代性和协作性,涉及从需求分析、代码编写、测试部署等多个环节,因此,对软件开发全生命周期中的各类信息进行系统化的安全管理,保障软件开发后的正常使用。

2、现有的软件开发信息管理技术,其安全机制主要集中在外围的访问权限控制、操作日志审计和数据备份恢复等层面,对开发数据内容本身缺乏有效保护,当攻击者或内部人员绕过合法访问权限是,可以直接接触到未加密的敏感信息,导致知识产权和关键数据面临泄露风险;而且传统的加密技术与高频、动态的软件开发流程难以兼容,采用全局或粗粒度的加密方式时,由于频繁的加解密操作会拖慢编译、调试以及测试等关键环节的执行效率,影响开发人员的生产力。

3、有鉴于此,本发明提出了一种用于计算机软件开发信息管理的数据加密方法及系统。

技术实现思路

1、为了解决现有技术中的问题,本发明提供了一种用于计算机软件开发信息管理的数据加密方法及系统,能够检查出数据的主密钥是否被泄露,还能够减少数据解密过程因使用密码错误而出现的解密失败的风险。

2、本发明是通过以下技术方案实现的:一种用于计算机软件开发信息管理的数据加密方法,包括如下步骤:接收用户为访问加密文件而输入的待测密钥;

3、基于待测密钥,生成第一校验内容;基于预生成的仿制密钥,生成第二校验内容;向用户输出第一校验内容与第二校验内容;

4、根据用户对第一校验内容与第二校验内容的选择输入,判定待测密钥是否为真实密钥;以及当判定待测密钥为真实密钥时,输出通过解密加密文件获得的开发结果;

5、其中,预生成仿制密钥包括:基于开发结果生成主密钥;将主密钥拆分为多个分支密钥;以及对多个分支密钥进行整合,以生成仿制密钥;

6、其中,将主密钥拆分为多个分支密钥包括:将主密钥的数据流划分为多个数据段并提取每一个数据段的数值;对提取的数值进行排序,并识别排序后的数值中的极值点,极值点包括极大值点与极小值点;以极值点在排序后数值中的位置为基准,根据设定的偏移量确定偏移位置;以及当获取的偏移位置对应的数值位于设定的参考阈值范围内时,将该数值确定为分支密钥。

7、优选地,方法还包括对开发数据进行筛选,包括:将获取的开发数据定义为当前开发数据,并获取历史开发数据的发布时间;依据发布时间的先后顺序设定多个时间节点,并按照时间节点定义的顺序排列当前开发数据内的各数据项;

8、计算排序后的当前开发数据中每对相邻数据项的时间戳之间的时间间隔;以及将时间间隔与预设标准时间间隔进行比较,并根据比较产生的差值是否大于预设容差,确定是否保留或替换与时间节点对应的当前开发数据的数据项;

9、开发结果通过以下步骤获得:获取开发数据,并将开发数据分类为开发结果与开发需求。

10、优选地,加密文件的生成包括:基于主密钥,生成数据加密密钥;以及使用数据加密密钥对包含开发结果的开发数据进行加密,以生成加密文件。

11、优选地,基于主密钥,生成数据加密密钥包括:获取开发需求,并为每一个开发需求分配重要性评级;按照重要性评级对开发需求进行排序,并对排序后的每一个开发需求使用主密钥进行加密,以生成对应的编码,计算相邻编码之间的数值差值;

12、以及将与数值差值中的最大值相对应的编码,确定为数据加密密钥。

13、优选地,判定待测密钥是否为真实密钥的步骤还受时间约束,其中,时间约束包括:在向用户输出第一校验内容与第二校验内容时,设定预期操作时间并启动计时;以及当计算出的剩余时间小于或等于预设时间阈值时,判定用户的选择输入无效,并中止输出开发结果。

14、一种用于计算机软件开发信息管理的数据加密系统,包括如下模块:密钥生成模块,用于基于开发结果生成主密钥,并将主密钥拆分为多个分支密钥以整合生成仿制密钥;

15、数据加密模块,用于根据主密钥生成的数据加密密钥,对包含开发结果的开发数据进行加密,以生成加密文件;

16、密钥校验模块,用于为响应接收到的、旨在访问加密文件的待测密钥,基于待测密钥生成第一校验内容,并基于仿制密钥生成第二校验内容;

17、访问控制模块,用于基于用户对第一校验内容与第二校验内容的选择输入,判定待测密钥是否为真实密钥,并在判定为真实密钥时,授权输出开发结果。

18、优选地,将主密钥拆分为多个分支密钥包括:

19、将主密钥的数据流划分为多个数据段并提取数值;对提取的数值进行排序,并识别排序后的数值中的极值点;

20、以极值点的位置为基准,根据设定的偏移量确定偏移位置;

21、以及当获取的偏移位置对应的数值位于设定的参考阈值范围内时,将该数值确定为分支密钥。

22、优选地,根据主密钥生成的数据加密密钥包括:获取开发需求并分配重要性评级;按照重要性评级对开发需求进行排序,并对排序后的每一个开发需求使用主密钥进行加密以生成编码;

23、在对编码进行排序后,计算相邻编码之间的数值差值;以及将与数值差值中的最大值相对应的编码,确定为数据加密密钥。

24、优选地,访问控制模块还被配置为施加时间约束,具体包括:

25、在向用户输出第一校验内容与第二校验内容时启动计时,并且当根据计时确定的剩余时间小于或等于预设时间阈值时,中止输出开发结果。

26、优选地,在生成开发结果之前,对开发数据进行筛选,具体包括:

27、依据历史开发数据的发布时间设定时间节点,并按照时间节点定义的顺序排列当前开发数据内的数据项;以及通过比较相邻数据项的时间间隔与预设标准时间间隔,确定是否保留或替换数据项。

28、有益效果

29、1、本发明基于开发结果生成主密钥,并进一步依据开发需求的重要性评级,生成与开发数据内容相关的数据加密密钥,将密钥的生成过程与开发数据的具体内容进行关联,使得数据加密密钥具有内容相关性与唯一性;相较于采用通用密钥的方法,该机制提升破解难度,攻击者需要重构与特定数据内容相关的密钥生成逻辑才能进行破解。

30、2、本发明通过非对称校验过程实现密钥校验,该过程将主密钥拆分为多个分支密钥后生成仿制密钥,并分别基于待测密钥与仿制密钥生成第一校验内容和第二校验内容,根据用户对第一校验内容与第二校验内容的选择输入,判定待测密钥是否为真实密钥,该非对称校验过程可有效防止攻击者通过自动化工具进行破解;当系统接收到错误的选择输入时,可在不暴露密钥正确性的情况下判定为异常访问,实现入侵检测功能;保护主密钥在校验过程中的安全,提升系统应对非授权访问的防御能力。

31、3、本发明在加密前,通过比较数据项之间的时间间隔与预设标准时间间隔,对开发数据进行筛选,在密钥校验过程中,对用户的选择输入施加时间约束;若超出预期操作时间则中止操作,通过加密前的数据筛选与校验过程的时间约束;构建纵深防御体系,数据筛选步骤确保加密数据源的有效性与完整性,校验过程的时间约束则有效防范攻击者通过慢速攻击或离线分析进行破解。