一种软件分发安全保护方法技术

技术编号:20286558 阅读:85 留言:0更新日期:2019-02-10 18:32
本发明专利技术提供一种软件分发安全保护方法,包括:步骤一、对软件开发者进行第一身份验证,第一身份验证通过后,将软件开发者提供的第一软件包进行第一加密和第一数字签名,上传给软件库管理员;步骤二、软件库管理员进行第一数字签名验证,通过后对经第一加密的第一软件包进行第一解密,审核后进行第二加密和第二数字签名形成第二软件包,将所述第二软件包发布到软件库;步骤三、对访问软件库的用户进行第二身份验证,第二身份验证通过后,用户下载第二软件包并进行第二数字签名验证和第二解密,通过后安装第二软件包。本发明专利技术能够保证分发软件数据的安全性、完整性和不可否认性,从而增强软件分发过程中的软件安全性。

A Method of Software Distribution Security Protection

The invention provides a software distribution security protection method, which includes: step 1, first authentication for software developers, first encryption and first digital signature for the first software package provided by software developers after the first authentication is passed, and uploaded to the software library administrator; step 2, the software library administrator verifies the first digital signature, and then passes through the first digital signature. The encrypted first software package is first decrypted, the second encryption and the second digital signature are processed after verification to form the second software package, and the second software package is published to the software library. Step 3: Users accessing the software library are subjected to the second authentication. After the second authentication is passed, the user downloads the second software package and verifies and decrypts the second digital signature, and passes the post-security. Install the second package. The invention can ensure the security, integrity and non-repudiation of software data distribution, thereby enhancing the software security in the process of software distribution.

【技术实现步骤摘要】
一种软件分发安全保护方法
本专利技术涉及软件安全
,尤其涉及一种软件分发安全保护方法。
技术介绍
为了解决大型企事业中计算机软件的统一管理,往往需要在每个员工的计算机中安装、更新或者卸载某些特定的软件。传统做法是通过每个员工手动进行软件的下载、安装、更新或者卸载,这种做法不仅浪费了大量的工作时间,而且容易出现安装版本不一致等问题,效率较低且可靠性不高。为了解决该问题,人们开发了软件分发技术,软件分发技术通过网络连接自动批量的将软件从服务器安装到多台不同的计算机中或者对计算机中的软件进行统一的升级和卸载,从而达到高效准确的软件管理。现有软件分发方式主要有两种,分别是网页分发和用户端安装软件管家类APP分发两种,这两种分发方式适用于包括国产操作系统在内的各类操作系统。在网页分发方式中,用户通过单击浏览器页面的软件下载链接就可以下载到所需软件;在软件管家类APP分发方式中,用户通过客户端人机交互界面从商家维护的软件库中获取相应软件。以上两种网络化软件分发方式都能够保证软件分发的时效性和便利性,有利于推广使用应用软件和完善应用软件的功能。目前,在现有软件分发过程中,为了保证软件的完整性,通常在分发应用软件的同时,分发软件包的HASH值,以便客户端安装软件包前能对软件包进行完整性验证。针对单个软件的保护技术包括基于硬件的保护方法和基于软件的保护方法等,能够阻碍对应用软件源代码的获取、可执行文件的调试,阻碍软件逆向分析人员分析程序算法和组织结构并进行篡改,保护软件版权的同时,保证软件的完整性、可信性与不可抵赖性。然而,在软件集中分发过程中,软件源中的应用软件繁多,对于单个软件的保护技术难以实现对多个应用软件进行有效的安全保护,特别是在基于Linux内核的国产操作系统的软件分发中表现的更为明显。因此,亟需设计一种软件分发安全保护方法,实现在软件分发条件下对软件源中多个软件的有效安全保护。
技术实现思路
本专利技术提供的软件分发安全保护方法,能够针对现有技术的不足,实现在软件分发条件下对软件源中多个软件的有效安全保护。本专利技术提供一种软件分发安全保护方法,包括:步骤一、对软件开发者进行第一身份验证,所述第一身份验证通过后,将所述软件开发者提供的第一软件包进行第一加密和第一数字签名,上传给软件库管理员;步骤二、所述软件库管理员进行第一数字签名验证,通过后对经所述第一加密的第一软件包进行第一解密,审核后进行第二加密和第二数字签名形成第二软件包,将所述第二软件包发布到软件库;步骤三、对访问所述软件库的用户进行第二身份验证,所述第二身份验证通过后,所述用户下载所述第二软件包并进行第二数字签名验证和第二解密,通过后安装所述第二软件包。可选地,上述第一加密和所述第二加密用于将软件明文转换为软件密文,所述第一数字签名和所述第二数字签名用于产生判断软件包是否被改动的证据。可选地,上述软件开发者具有第一公钥密钥对,所述软件库管理员和软件库服务器端共用第二公钥密钥对,所述用户具有第三公钥密钥对,用于保护所述第一身份验证和所述第二身份验证的安全性。可选地,上述步骤一包括所述软件库服务器端将第一对称密钥通过所述第一公钥密钥对中的公钥加密,并通过所述第二公钥密钥对中的私钥数字签名后发送给所述软件开发者,所述软件开发者通过所述第一对称密钥加密软件包并通过所述第一公钥密钥对中的私钥数字签名后发送给所述软件库管理员。可选地,上述步骤二包括所述软件库管理员使用第二对称密钥将经过审核的软件包加密,并通过所述第二公钥密钥对中的私钥对所述软件包数字签名形成所述第二软件包。可选地,上述步骤三包括所述第二对称密钥通过所述第三公钥密钥对中的公钥加密和所述第二公钥密钥对中的私钥签名后发送给所述用户,所述用户通过所述第二对称密钥进行第二解密。可选地,上述第一对称密钥和/或第二对称密钥存储在所述软件库服务器端,使用时由所述软件库服务器端以密文方式分发给所述用户。可选地,上述第一、第二和第三公钥密钥对中的私钥分别存储在所述软件开发者、软件库服务器和用户的实体端,公钥通过专用公钥服务器发布而获取。可选地,上述公钥通过信任网方案进行合法性认证,所述信任网方案包括:所述软件开发者的本机存储从所述公钥服务器导入的第二公钥密钥对中的公钥,信任度为绝对信任;所述用户的本机存储从所述公钥服务器导入的第二公钥密钥对中的公钥,信任度为绝对信任;所述软件库服务器端存储从所述公钥服务器导入的第一公钥密钥对中的公钥以及第三公钥密钥对中的公钥,信任度为绝对信任。可选地,上述第一、第二、第三公钥密钥对中的公钥经过散列值验证。本专利技术实施例提供的软件分发安全保护方法,通过分析软件分发过程中面临的风险,基于混合密码学系统在各环节中采取相应安全措施,能够保证分发软件数据的安全性、完整性和不可否认性,从而增强软件分发过程中的软件安全性。附图说明图1为本专利技术一实施例的软件分发安全保护方法的基本框架图;图2为本专利技术一实施例的基于混合密码学的整体保护方法的流程框图;图3为本专利技术一个实施例的身份验证过程中所使用密钥的类型和主体示意图;图4为本专利技术一个实施例的信任网的架构示意图;图5为本专利技术一实施例中的国产操作系统下的对软件包进行加密、签名和解密的流程示意图;图6a为本专利技术一实施例中的国产操作系统下的原始软件包目录结构示意图;图6b为本专利技术一实施例中的国产操作系统下的解密软件包目录结构示意图;图6c为本专利技术一实施例中的国产操作系统下的打开加密软件提示示意图;图6d为本专利技术一实施例中的国产操作系统下的对加密软件进行完整性验证的结果示意图;图7为本专利技术一个实施例提供的软件分发安全保护方法的流程图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术提供一种软件分发安全保护方法,图1示出了本专利技术一个实施例的软件分发安全保护方法的基本框架图。如图所示,首先,软件开发者进行软件开发,得到软件源码,优选的,软件开发人员通过编译型Verilog模拟器SynopsysVCS进行。软件开发者开发完软件源码后,需要将软件源码及相关开发文档提交软件库管理员。典型的,软件库管理员即软件发行平台维护者,相关开发文档包括但不限于控制文件、原数据、补丁等。随后,软件发行平台维护者经过审核修改后,生成软件包,并将软件包传送至包分发存储池,即软件库。用户通过网络连接访问包分发存储池,通过安装在用户机器上的包管理软件获得包分发存储池的索引描述,找到需要安装或更新的软件包,并安装在用户机器上。具体的,软件开发者将软件源码等相关数据上传给管理员过程中,会面临被恶意人员截获的威胁。同时,软件开发者开发出的软件源码,也有可能不经过软件发行平台发布软件包而直接安装到用户客户端,由此软件源码自身的安全性也可能存在质疑。为使软件源码上传给管理员的过程不被恶意人员截获并篡改,并且防止软件开发者否认自身开发恶意软件源码的情况,软件库需要提供一种能够确保软件数据在上传传输过程中的机密性的机制,并且本文档来自技高网
...

【技术保护点】
1.一种软件分发安全保护方法,其特征在于,包括:步骤一、对软件开发者进行第一身份验证,所述第一身份验证通过后,将所述软件开发者提供的第一软件包进行第一加密和第一数字签名,上传给软件库管理员;步骤二、所述软件库管理员进行第一数字签名验证,通过后对经所述第一加密的第一软件包进行第一解密,审核后进行第二加密和第二数字签名形成第二软件包,将所述第二软件包发布到软件库;步骤三、对访问所述软件库的用户进行第二身份验证,所述第二身份验证通过后,所述用户下载所述第二软件包并进行第二数字签名验证和第二解密,通过后安装所述第二软件包。

【技术特征摘要】
1.一种软件分发安全保护方法,其特征在于,包括:步骤一、对软件开发者进行第一身份验证,所述第一身份验证通过后,将所述软件开发者提供的第一软件包进行第一加密和第一数字签名,上传给软件库管理员;步骤二、所述软件库管理员进行第一数字签名验证,通过后对经所述第一加密的第一软件包进行第一解密,审核后进行第二加密和第二数字签名形成第二软件包,将所述第二软件包发布到软件库;步骤三、对访问所述软件库的用户进行第二身份验证,所述第二身份验证通过后,所述用户下载所述第二软件包并进行第二数字签名验证和第二解密,通过后安装所述第二软件包。2.根据权利要求1所述的方法,其特征在于,所述第一加密和所述第二加密用于将软件明文转换为软件密文,所述第一数字签名和所述第二数字签名用于产生判断软件包是否被改动的证据。3.根据权利要求1所述的方法,其特征在于,所述软件开发者具有第一公钥密钥对,所述软件库管理员和软件库服务器端共用第二公钥密钥对,所述用户具有第三公钥密钥对,用于保护所述第一身份验证和所述第二身份验证的安全性。4.根据权利要求3所述的方法,其特征在于,所述步骤一包括所述软件库服务器端将第一对称密钥通过所述第一公钥密钥对中的公钥加密,并通过所述第二公钥密钥对中的私钥数字签名后发送给所述软件开发者,所述软件开发者通过所述第一对称密钥加密软件包并通过所述第一公钥密钥对中的私钥数字签名后发送给所述软件库管...

【专利技术属性】
技术研发人员:吴玲达岑鹏瑞于荣欢胡华全郝红星吕雅帅郭静巩向武
申请(专利权)人:中国人民解放军装备学院
类型:发明
国别省市:北京,11

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

1