[发明专利]一种指令加密、加密指令解密方法及装置有效
申请号: | 202010542022.6 | 申请日: | 2020-06-15 |
公开(公告)号: | CN111639358B | 公开(公告)日: | 2023-08-22 |
发明(设计)人: | 刘昕林;邓巍;黄萍 | 申请(专利权)人: | 深圳供电局有限公司 |
主分类号: | G06F21/60 | 分类号: | G06F21/60;G06F21/62;H04L9/00;H04L9/08 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 张建 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 指令 加密 解密 方法 装置 | ||
本发明公开了一种指令加密、加密指令解密方法及装置,通过对未加密指令文件中的待加密指令使用加密算法和密钥进行加密获得加密文件,再通过加密文件中的加密信息里的算法标识和密钥标识,确定加密文件中已加密指令所使用的加密算法和密钥,进而使用与加密算法匹配的解密算法和密钥对已加密指令进行解密,使得攻击方在无法获知算法标识对应的加密算法,也无法获知密钥的具体含义的前提下,难以对加密文件中的已加密指令进行正确解密,进而难以在识别出加密文件的控制流后对加密文件进行缓冲区溢出攻击,从而保障了用户的信息和财产安全。
技术领域
本发明涉及编译技术领域,尤其涉及一种指令加密、加密指令解密方法及装置。
背景技术
随着计算机技术的快速发展,在计算机技术给人们带来便利的同时,攻击者也开始利用各种计算机软件的漏洞对用户发起网络攻击。当前,常见的网络攻击主要是通过改变计算机程序中的控制流来执行恶意代码的方式实现。例如:缓冲区溢出攻击。
缓冲区溢出攻击主要是攻击者在获得程序完整的控制流之后,在该控制流中的目标指令里编辑超出该目标指令限制长度的恶意代码程序,破坏该目标指令的堆栈,使得程序在执行该目标指令时转而执行该恶意代码程序,进而造成用户的信息泄露以及财产损失。
发明内容
鉴于上述问题,本发明提供一种克服上述问题或者至少部分地解决上述问题的一种指令加密、加密指令解密方法及装置,技术方案如下:
一种指令加密方法,包括:
获得未加密指令文件;
确定所述未加密指令文件中至少一个待加密指令;
使用预设加密算法库中的至少一个加密算法以及与使用的所述加密算法对应的密钥对所述至少一个待加密指令进行加密,获得包括已加密指令和加密信息的加密文件,其中,对所述至少一个待加密指令中各待加密指令使用的加密算法相同或不同,所述加密信息包括:使用的加密算法的算法标识和使用的所述密钥的密钥标识。
可选的,所述使用预设加密算法库中的至少一个加密算法以及与使用的所述加密算法对应的密钥对所述至少一个待加密指令进行加密,获得包括已加密指令和加密信息的加密文件,包括:
使用预设加密算法库中的至少一个加密算法以及与使用的所述加密算法对应的密钥在所述未加密指令文件的预设编译阶段对至少一个待加密指令进行加密,获得包括已加密指令和加密信息的加密文件。
可选的,所述未加密文件包括源文件,所述使用预设加密算法库中的至少一个加密算法以及与使用的所述加密算法对应的密钥在所述未加密指令文件的预设编译阶段对至少一个待加密指令进行加密,获得包括已加密指令和加密信息的加密文件,包括:
对所述源文件中所述至少一个待加密指令使用预设加密算法库中的至少一个加密算法以及与使用的所述加密算法对应的密钥进行加密,获得加密代码;
将所述加密代码映射为第一中间代码;
将所述第一中间代码转化为目标语言的第一汇编指令;
确定与所述第一汇编指令对应的加密文件。
可选的,所述未加密文件包括源文件,所述使用预设加密算法库中的至少一个加密算法以及与使用的所述加密算法对应的密钥在所述未加密指令文件的预设编译阶段对至少一个待加密指令进行加密,获得包括已加密指令和加密信息的加密文件,包括:
将所述源文件映射为第二中间代码;
对所述第二中间代码中所述至少一个待加密指令使用预设加密算法库中的至少一个加密算法以及与使用的所述加密算法对应的密钥进行加密,获得加密中间代码;
将所述加密中间代码转化为目标语言的第二汇编指令;
确定与所述第二汇编指令对应的加密文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳供电局有限公司,未经深圳供电局有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010542022.6/2.html,转载请声明来源钻瓜专利网。