用于软件开发数据的安全管理方法技术

技术编号:37677611 阅读:16 留言:0更新日期:2023-05-26 04:43
本发明专利技术涉及用于电子数字数据处理技术领域,具体涉及用于软件开发数据的安全管理方法,包括:利用软件的源代码中实现不同功能的部分进行模块划分,获得若干个功能模块,利用功能模块之间的函数调用关系,将功能模块作为节点构建图结构,根据图结构中各节点之间的边权以及连接关系进行置乱并获得置乱路径,并对置乱后的源代码数据进行加密,将置乱路径作为置乱加密部分的密钥。本发明专利技术利用源代码中各功能模块之间的函数关系对功能模块进行置乱有效提高源代码信息的隐藏效果,增强了对源代码的加密效果。的加密效果。的加密效果。

【技术实现步骤摘要】
用于软件开发数据的安全管理方法


[0001]本专利技术涉及电子数字数据处理
,具体涉及用于软件开发数据的安全管理方法。

技术介绍

[0002]随着计算机技术的发展,计算机程序在不同领域企业中发挥着重要作用,比如软件开发中程序为开发基础,对于企业在软件开发过程而言,所编写的代码是宝贵的,涉及着企业的核心技术,一旦源代码被获取,企业丧失核心技术,同时还会涉及到知识产权纠纷。所以在企业在软件开发过程中,需要保护软件源代码的安全性,即对代码进行管理。
[0003]完整代码信息主要表现为功能代码本身以及对应组合关系,现有代码加密主要针对代码功能表现进行代码置乱,比如常见利用多线性配对方法进行代码分段置乱以及重组,即进行代码分段置乱加密。由于实际代码的运行是通过函数的循环调用实现程序运行,此时源代码的信息组成为不同函数以及函数之间的调用关系,导致不同功能代码之间存在对应的联系关系,但是一般的代码置乱过程没有考虑功能代码之间的联系,导致置乱后的代码组合同样存在源代码信息泄露的可能,致使代码加密效果不佳。

技术实现思路

[0004]本专利技术提供用于软件开发数据的安全管理方法,以解决现有的问题。
[0005]本专利技术的用于软件开发数据的安全管理方法采用如下技术方案:本专利技术一个实施例提供了用于软件开发数据的安全管理方法,该方法包括以下步骤:获取软件开发的源代码数据,将源代码划分为若干个包含多个函数的功能模块,将任意一个功能模块作为一个节点,将所有节点根据函数的异同进行节点连接构建图结构,将任意连接的两个节点之间的连接关系记为边;将任意一条边对应两个节点中所含有相同函数存在于整个图结构中节点的数量与图结构中节点数量的比值记为第一边权因子,将相同函数在图结构出现在的次数记为重要性,将任意边对应的两个节点中所包含相同函数的重要性均值记为第二边权因子,根据第一边权因子对第二边权因子的调整校正结果获得第三边权因子;将任意边对应的两个节点中所存在相同函数的种类数量记为第一影响,将任意一条边对应两个节点之间函数调用次数记为第二影响,根据第一影响、第二影响、第三边权因子的融合结果获得边权;根据边与节点之间的最短路径距离记为边

节点距离,将边权与边

节点距离之间的比例关系记为节点连接关系因子,将两个节点之间任意最短路径上所有边的节点连接关系因子均值记为第一节点连接关系,将两个节点之间所有最短路径的第一节点连接关系均值记为第二节点连接关系;选取起始节点,根据起始节点与图结构中其他节点的第二节点连接关系获取目标
节点,并根据目标节点与其他节点的第二节点连接关系获取新的目标节点,以此类推获得置乱路径,并将与其他节点不存在相同函数的节点按照在源代码中的顺序排列在所得置乱路径之后获得最终置乱路径,根据最终置乱路径的排列顺序获得置乱后的节点序列;对置乱后的节点序列进行编码加密并获取密钥,实现对源代码的置乱以及加密。
[0006]进一步的,所述图结构,获取方法如下:首先构建一个常见的功能注释关键词字典,然后在代码中进行关键词搜索,最后利用搜素到的关键词进行代码分段,即将一个关键词与下一个关键词之间的代码划分为一个功能模块;将任意一个功能模块作为一个节点,将含有相同函数的节点之间的连接关系记为边;则有节点与边构建获得图结构。
[0007]进一步的,所述第三边权因子,获取方法如下:其中,第一影响表示第j条边对应两个节点中所存在相同函数的种类数量,表示第j条边对应两个节点中相同函数存在于整个图结构中节点数量,表示图结构中节点的数量,重要性表示第z种相同函数在源代码中存在次数,第一边权因子表示第j条边对应两个节点的相同函数在图结构中的应用范围,第二边权因子即表示重要性的均值,第三边权因子表示第j条边的第一边权因子对第二边权因子的调整校正结果。
[0008]进一步的,所述边权,获取方法如下:其中,第一影响表示第j条边对应两个节点中所存在相同函数的种类数量,第二影响表示第j条边对应节点包含函数的调用关系对边权的影响,即表示第j条边对应的边权,表示第三边权因子。
[0009]进一步的,所述第二节点连接关系,获取方法如下:其中,n表示任意两个节点之间的最短路径的数量,N表示任意两个节点之间的最短路径, K表示两个节点之间所对应边的边权;表示对应任意两个节点之间没有直接连接,表示任意两个节点的第t个最短路径中第x个边对应的边权,边

节点距离表示任意两个节点的第t个最短路径中第x个边与两节点之间最短路径距离,节点连接关系因子表示任意两个节点的第t个最短路径中第x个边所对应两个节点之间的连接关系,
第一节点连接关系表示任意两个节点的第t个最短路径中N个边的边权共同反映对应这两个节点之间的连接关系,第二节点连接关系f则表示任意两个节点之间所有最短路径包含边权所反映的两节点之间的连接关系。
[0010]进一步的,所述置乱后的节点序列,获取方法如下:获取置乱路径的起点:在所有节点中随机选择一个节点起始节点;确定置乱路径过程中下一个节点:首先获取图结构中起始节点以外的节点中,与起始节点之间的第二节点连接关系最小的节点,记为目标节点,以此获得了起始节点和目标节点的置乱路径,然后获取在所有未获得置乱路径的节点中,选择与目标节点之间的第二节点连接关系最小的节点,作为新的目标节点,需要说明的是,存在多个节点连接关系最小的节点时,随机选择一个节点作为新的目标节点;确定所有节点:在完成一个目标节点的确定和迭代更新后,利用新的目标节点重复上述步骤,以此类推,确定所有节点之间的置乱路径;另外,由于源代码中所有功能模块可能存在与其他功能模块之间没有相同函数的情况,将与其他功能模块之间没有相同函数的对应节点,按照在源代码中的顺序,直接排列在所得置乱路径之后,获得最终的置乱路径,根据最终置乱路径中节点的排列顺序获得置乱后的节点序列。
[0011]进一步的,所述实现对源代码的置乱以及加密,包括的具体步骤如下:在完成对功能模块的置乱后,对置乱后的节点序列每一个单独的节点所包含的源代码数据直接利用霍夫曼编码进行加密,输入所有功能模块的源代码数据,输出对应编码信息,此时获得最终密文数据为所有功能模块的编码数据,对应密钥为编码序列与源代码字符的对应表,以及功能模块的置乱顺序;软件开发数据中代码包含基本所有的有效信息,此时利用上述过程对源代码进行加密,对加密后的密文数据进行留档保存,且赋予管理人员密钥,用于源代码的提取,实现对源代码的置乱以及加密。
[0012]本专利技术的技术方案的有益效果是:(1)根据功能模块之间的关系确定置乱路径,使得置乱后相邻功能模块之间的联系最小,避免了功能模块之间的相同函数、或者函数之间的调用关系对源代码信息的暴露,有效提高源代码信息的隐藏效果。
[0013](2)利用功能模块之间的函数关系构建图结构以及对应连接边权,并利用图结构中节点连接路径确定所有节点关系,即能够获得所有节点之间的关系,便于后续置乱路径的确定。
附图说明
[0014]为了更清楚地说明本本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.用于软件开发数据的安全管理方法,其特征在于,该方法包括以下步骤:获取软件开发的源代码数据,将源代码划分为若干个包含多个函数的功能模块,将任意一个功能模块作为一个节点,将所有节点根据函数的异同进行节点连接构建图结构,将任意连接的两个节点之间的连接关系记为边;将任意一条边对应两个节点中所含有相同函数存在于整个图结构中节点的数量与图结构中节点数量的比值记为第一边权因子,将相同函数在图结构出现在的次数记为重要性,将任意边对应的两个节点中所包含相同函数的重要性均值记为第二边权因子,根据第一边权因子对第二边权因子的调整校正结果获得第三边权因子;将任意边对应的两个节点中所存在相同函数的种类数量记为第一影响,将任意一条边对应两个节点之间函数调用次数记为第二影响,根据第一影响、第二影响、第三边权因子的融合结果获得边权;根据边与节点之间的最短路径距离记为边

节点距离,将边权与边

节点距离之间的比例关系记为节点连接关系因子,将两个节点之间任意最短路径上所有边的节点连接关系因子均值记为第一节点连接关系,将两个节点之间所有最短路径的第一节点连接关系均值记为第二节点连接关系;选取起始节点,根据起始节点与图结构中其他节点的第二节点连接关系获取目标节点,并根据目标节点与其他节点的第二节点连接关系获取新的目标节点,以此类推获得置乱路径,并将与其他节点不存在相同函数的节点按照在源代码中的顺序排列在所得置乱路径之后获得最终置乱路径,根据最终置乱路径的排列顺序获得置乱后的节点序列;对置乱后的节点序列进行编码加密并获取密钥,实现对源代码的置乱以及加密;所述第三边权因子,获取方法如下:其中,第一影响表示第j条边对应两个节点中所存在相同函数的种类数量,表示第j条边对应两个节点中相同函数存在于整个图结构中节点数量,表示图结构中节点的数量,重要性表示第z种相同函数在源代码中存在次数,第一边权因子表示第j条边对应两个节点的相同函数在图结构中的应用范围,第二边权因子即表示重要性的均值,第三边权因子表示第j条边的第一边权因子对第二边权因子的调整校正结果;所述边权,获取方法如下:其中,第一影响表示第j条边对应两个节点中所存在相同函数的种类数量,第二影响表示第j条边对应节点包含函数的调用关系对边权的影响,即表示第j条边对应的边权,表示第三边权因子;所述第二节点连接关系,获取方法如下:
其中,n表示任意两个节点之间的最短路径的数量,N表示任意两个节点之间的最短路径, K表示两个节点之间所对应边的边权;表示对应任意两个节点之间没有直接连接,表示任意两个节点的第t个最短路径中...

【专利技术属性】
技术研发人员:秦少卿张梓韦
申请(专利权)人:无锡弘鼎软件科技有限公司
类型:发明
国别省市:

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

1