[发明专利]一种应用强对称加密保护软件分发安全的方法有效
申请号: | 202010999297.2 | 申请日: | 2020-09-22 |
公开(公告)号: | CN112100582B | 公开(公告)日: | 2023-06-16 |
发明(设计)人: | 仇文超;乔金松;付衍志;唐军 | 申请(专利权)人: | 焦点教育科技有限公司 |
主分类号: | G06F21/14 | 分类号: | G06F21/14 |
代理公司: | 南京瑞弘专利商标事务所(普通合伙) 32249 | 代理人: | 陈建和 |
地址: | 210000 江苏省南京市*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 应用 对称 加密 保护 软件 分发 安全 方法 | ||
1.一种应用强对称加密保护软件分发安全的方法,其特征在于,具体步骤包括:
步骤1:利用伪随机数生成算法,基于系统时间戳生成加解密密钥,包括:
步骤1-1:使用伪随机数将获取的当前系统时间戳生成一段长度为256的随机字符串;
步骤1-2:对步骤1-1得到随机字符串进行BASE64编码,经编码后的随机字符串硬编码在加解密动态库中;
步骤1-3:对经步骤1-2得到的随机字符串进行BASE64解码;
步骤1-4:对步骤1-3的结果字符串随机选取字节,对选取的特定字节与随机值执行异或操作;
步骤1-5:对经步骤1-4得出的结果字符串执行HASH变换,得到最终加解密密钥;
步骤2:将加解密密钥、加解密算法函数、动态随机数及身份校验算法以C语言的形式编写并集成为加解密动态库;所述加解密算法函数是指用于加密和解密软件发布包的加解密算法;所述动态随机数是利用伪随机数生成算法生成的随机字符串,所述随机字符串在构建加解密动态库时生成并硬编码入加解密动态库中;所述随机字符串在软件包分发时分配给软件发布包调用方;所述身份校验算法是对系统时间戳和随机字符串同时加密的算法;
步骤3:待软件包分发至调用者方时,按照步骤1自动生成密钥,利用生成的密钥对软件包加密,并对加密后的密文数据计算取至少4个字节作为完整性校验码;
步骤4:软件安装启动时,获取系统时间戳和完整性校验码,依次调用加解密动态库的身份校验算法、加解密算法函数对软件安装方验证;经验证通过后调用密钥解密文件安装包,然后再执行软件安装。
2.根据权利要求1所述的一种应用强对称加密保护软件分发安全的方法,其特征在于,所述步骤1-2具体为:随机字符串转为二进制字节码后,8个占位的字节转换为6个占位的字节,并按照BASE64格式转成新的字符串;
所述步骤1-1至步骤1-2利用OpenSSL工具生成,所述步骤1-3至步骤1-5内置在加解密动态库中,在加密时执行。
3.根据权利要求2所述的一种应用强对称加密保护软件分发安全的方法,其特征在于,所述步骤3具体包括:
步骤3-1:将软件包解压为二进制式字节码文件,调用加密动态库按照步骤1-3至步骤1-5获取密钥,并将密钥作为参数传入加密算法函数中,形成密文数据;
步骤3-2:基于SHA-256算法对密文数据计算后取至少前4个字节作为加密文件的完整性校验码,最终输出的加密文件包括完整性校验码和密文数据;加密文件打包形成最终的软件发布包,部署在生产环境中。
4.根据权利要求3所述的一种应用强对称加密保护软件分发安全的方法,其特征在于,所述步骤3-1中,所述加密算法函数为AES加密函数,以4×4的字节矩阵划分字节码文件执行加密循环,每次加密循环包括:将每个矩阵中每个字节与密钥做异或运算;用查找表的方式替换每个字节;矩阵中的每个横列执行循环式移位。
5.根据权利要求4所述的一种应用强对称加密保护软件分发安全的方法,其特征在于,所述步骤4中,软件启动安装时触发解密具体包括:
步骤4-1:软件安装启动时将软件名称传给解释器,解释器根据软件名称下载相应的软件安装包并调用解密动态库;所述解释器用于读取软件安装包中可执行程序并执行软件安装;
步骤4-2:软件安装方的身份校验:基于身份获取校验方法获取软件安装启动时的系统时间戳,与预先分配给软件安装方的动态随机数拼接,拼接值经SHA-256加密形成校验值;获取解密动态库被调用时的系统时间戳,与内置在加解密动态库中的动态随机数拼接后经SHA-256加密形成校验值;将软件安装方的校验值和解密动态库生成的校验值比对,比对一致,身份校验通过,继续执行步骤4-3;比对不一致,返回非法调用;
步骤4-3:解密校验:解释器读取软件安装包的密文数据至少前4个字节与软件安装包内的完整性校验码比对,如若一致,执行解密;如若不一致,停止解密;
步骤4-4:解密密文数据为明文数据:将密钥作为参数传入解密算法函数,获取到明文数据传入解释器中,由解释器完成代码翻译及软件安装运行指令的执行。
6.根据权利要求5所述的一种应用强对称加密保护软件分发安全的方法,其特征在于,在所述步骤4-1软件启动触发解释器工作过程中,通过命令行启动软件,将软件压缩包名称传给解释器;所述解释器提前修改读取逻辑,控制解释器先调用加解密动态再执行软件安装;所述步骤4-4中,将密钥作为参数传入AES解密函数中,以4×4的字节矩阵划分字节码文件执行解密循环,每次解密循环按照步骤3-1加密步骤逆执行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于焦点教育科技有限公司,未经焦点教育科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010999297.2/1.html,转载请声明来源钻瓜专利网。