一种代码保护方法、装置、设备及介质制造方法及图纸

技术编号:26763125 阅读:25 留言:0更新日期:2020-12-18 23:20
本申请公开了一种代码保护方法、装置、设备及介质,包括:获取开发者终端发送的代码访问请求;确定出所述代码访问请求对应的目标代码的机密等级;根据所述机密等级对应的预设访问策略响应所述代码访问请求。也即,本申请对代码进行分级保护,按照代码的机密等级对应的访问策略响应代码访问请求,这样,能够有效保障代码的安全性,并且提升代码管理效率。

【技术实现步骤摘要】
一种代码保护方法、装置、设备及介质
本申请涉及信息安全
,特别涉及一种代码保护方法、装置、设备及介质。
技术介绍
源代码是软件企业的核心资产,是软件企业的立足之本。代码的保护是软件开发企业一直关注的问题。源代码的保护技术基本采用以下方式:权限控制、代码混淆、代码隐藏,加水印。其中,权限控制最小化原则弊端在于可能导致团队协作出现障碍,影响工作效率,而代码混淆、代码隐藏、代码加水印这些控制手段弊端在于导致代码可读性差,且通过某些手段能够进行还原。
技术实现思路
有鉴于此,本申请的目的在于提供一种代码保护方法、装置、设备及介质,能够有效保障代码的安全性,并且提升代码管理效率。其具体方案如下:第一方面,本申请公开了一种代码保护方法,包括:获取开发者终端发送的代码访问请求;确定出所述代码访问请求对应的目标代码的机密等级;根据所述机密等级对应的预设访问策略响应所述代码访问请求。可选的,所述确定出所述代码访问请求对应的目标代码的机密等级,包括:确定出所述代码访问请求对应的目标代码所在的目标代码仓库;其中,不同所述机密等级的代码存放在不同的代码仓库;基于所述目标代码仓库确定出所述目标代码的机密等级。可选的,所述基于所述目标代码仓库确定出所述目标代码的机密等级,包括:若所述目标代码仓库为核心代码仓库,则确定所述目标代码的机密等级为一级;相应的,所述根据所述机密等级对应的预设访问策略响应所述代码访问请求,包括:从所述访问请求中获取开发者账号信息以及所述开发者终端的设备信息;判断所述开发者账号信息以及所述设备信息是否存在于核心代码仓库的第一授权白名单中;若是,则将所述目标代码进行编译以得到编译包,然后将所述编译包传输至所述核心代码仓库对应的集成编译服务器,并禁止向所述开发者终端返回对应的所述目标代码。可选的,所述基于所述目标代码仓库确定出所述代码访问请求对应的目标代码的机密等级,包括:若所述目标代码仓库为授权代码仓库,则确定所述目标代码的机密等级为二级;相应的,所述根据所述机密等级对应的预设访问策略响应所述代码访问请求,包括:从所述访问请求中获取开发者账号信息以及所述开发者终端的设备信息;判断所述开发者账号信息以及所述设备信息是否存在于所述授权代码仓库的第二授权白名单;若是,则允许将所述目标代码返回至所述开发者终端。可选的,所述基于所述目标代码仓库确定出所述代码访问请求对应的目标代码的机密等级,包括:若所述目标代码仓库为普通代码仓库,则确定所述目标代码的机密等级为三级;从所述访问请求中获取开发者账号信息以及判断所述访问请求对应的访问操作;其中,所述访问操作包括读操作和写操作;若所述访问操作为读操作,则判断所述开发者账号信息是否存在于所述普通代码仓库的读授权组中,若是,则将所述目标代码返回至所述开发者终端;若所述访问操作为写操作,则判断所述开发者账号信息是否存在于所述普通代码仓库的写授权组中,若是,则允许开发者终端将修改后的所述目标代码更新至所述普通代码仓库。可选的,所述代码保护方法,还包括:预先创建所述第一授权白名单,将所述第一授权白名单中的开发者账号信息与设备信息进行绑定。第二方面,本申请公开了一种代码保护装置,包括:代码访问请求获取模块,用于获取开发者终端发送的代码访问请求;代码机密等级确定模块,用于确定出所述代码访问请求对应的目标代码的机密等级;代码访问请求响应模块,用于根据所述机密等级对应的预设访问策略响应所述代码访问请求。可选的,所述代码机密等级确定模块,具体包括:目标代码仓库确定子模块,用于确定出所述代码访问请求对应的目标代码所在的目标代码仓库;其中,不同所述机密等级的代码存放在不同的代码仓库;代码机密等级确定子模块,用于基于所述目标代码仓库确定出所述目标代码的机密等级。第三方面,本申请公开了一种电子设备,包括:存储器,用于保存计算机程序;处理器,用于执行所述计算机程序,以实现前述的代码保护方法。第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,所述计算机程序被处理器执行时实现前述的代码保护方法。可见,本申请先获取开发者终端发送的代码访问请求,然后确定出所述代码访问请求对应的目标代码的机密等级,最后根据所述机密等级对应的预设访问策略响应所述代码访问请求。也即,本申请对代码进行分级保护,按照代码的机密等级对应的访问策略响应代码访问请求,这样,能够有效保障代码的安全性,并且提升代码管理效率。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本申请公开的一种代码保护方法流程图;图2为本申请公开的一种代码保护装置结构示意图;图3为本申请公开的一种电子设备结构图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。源代码是软件企业的核心资产,是软件企业的立足之本。代码的保护是软件开发企业一直关注的问题。源代码的保护技术基本采用以下方式:权限控制、代码混淆、代码隐藏,加水印。其中,权限控制最小化原则弊端在于可能导致团队协作出现障碍,影响工作效率,而代码混淆、代码隐藏、代码加水印这些控制手段弊端在于导致代码可读性差,且通过某些手段能够进行还原。参见图1所示,本申请实施例公开了一种代码保护方法,包括:步骤S11:获取开发者终端发送的代码访问请求。步骤S12:确定出所述代码访问请求对应的目标代码的机密等级。在具体的实施方式中,可以确定出所述代码访问请求对应的目标代码所在的目标代码仓库;其中,不同所述机密等级的代码存放在不同的代码仓库;然后基于所述目标代码仓库确定出所述目标代码的机密等级。步骤S13:根据所述机密等级对应的预设访问策略响应所述代码访问请求。在具体的实施方式中,若所述目标代码仓库为核心代码仓库,则确定所述目标代码的机密等级为一级;相应的,所述根据所述机密等级对应的预设访问策略响应所述代码访问请求,包括:从所述访问请求中获取开发者账号信息以及所述开发者终端的设备信息;判断所述开发者账号信息以及所述设备信息是否存在于核心代码仓库的第一授权白名单中;若是,则将所述目标代码进行编译以得到编译包,然后将所述编译包传输至所述核心代码仓库对应的集成编译服务器,并禁止向所述开发者终端返本文档来自技高网...

【技术保护点】
1.一种代码保护方法,其特征在于,包括:/n获取开发者终端发送的代码访问请求;/n确定出所述代码访问请求对应的目标代码的机密等级;/n根据所述机密等级对应的预设访问策略响应所述代码访问请求。/n

【技术特征摘要】
1.一种代码保护方法,其特征在于,包括:
获取开发者终端发送的代码访问请求;
确定出所述代码访问请求对应的目标代码的机密等级;
根据所述机密等级对应的预设访问策略响应所述代码访问请求。


2.根据权利要求1所述的代码保护方法,其特征在于,所述确定出所述代码访问请求对应的目标代码的机密等级,包括:
确定出所述代码访问请求对应的目标代码所在的目标代码仓库;其中,不同所述机密等级的代码存放在不同的代码仓库;
基于所述目标代码仓库确定出所述目标代码的机密等级。


3.根据权利要求2所述的代码保护方法,其特征在于,所述基于所述目标代码仓库确定出所述目标代码的机密等级,包括:
若所述目标代码仓库为核心代码仓库,则确定所述目标代码的机密等级为一级;
相应的,所述根据所述机密等级对应的预设访问策略响应所述代码访问请求,包括:
从所述访问请求中获取开发者账号信息以及所述开发者终端的设备信息;
判断所述开发者账号信息以及所述设备信息是否存在于核心代码仓库的第一授权白名单中;
若是,则将所述目标代码进行编译以得到编译包,然后将所述编译包传输至所述核心代码仓库对应的集成编译服务器,并禁止向所述开发者终端返回对应的所述目标代码。


4.根据权利要求2所述的代码保护方法,其特征在于,所述基于所述目标代码仓库确定出所述代码访问请求对应的目标代码的机密等级,包括:
若所述目标代码仓库为授权代码仓库,则确定所述目标代码的机密等级为二级;
相应的,所述根据所述机密等级对应的预设访问策略响应所述代码访问请求,包括:
从所述访问请求中获取开发者账号信息以及所述开发者终端的设备信息;
判断所述开发者账号信息以及所述设备信息是否存在于所述授权代码仓库的第二授权白名单;
若是,则允许将所述目标代码返回至所述开发者终端。


5.根据权利要求2所述的代码保护方法,其特征在于,所述基于...

【专利技术属性】
技术研发人员:龙文洁莫金友
申请(专利权)人:杭州安恒信息安全技术有限公司
类型:发明
国别省市:浙江;33

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

1