一种软件的代码启动方法和系统技术方案

技术编号:29984713 阅读:15 留言:0更新日期:2021-09-08 10:24
本说明书实施例提供一种软件的代码启动方法和系统,该方法包括:预先在可信执行环境TEE对应的安全文件系统中存储目标软件中的目标代码的密文数据,且,预先由目标软件和TEE协商用于对目标代码进行加密的密钥,这样,目标软件在启动目标代码时,可以向TEE发送代码加载请求,TEE可以对已存储的目标代码的密文数据解密后再使用协商的密钥进行加密,然后传输给目标软件,目标软件解密后加载并运行目标代码。码。码。

【技术实现步骤摘要】
一种软件的代码启动方法和系统


[0001]本文件涉及计算机
,尤其涉及一种软件的代码启动方法和系统。

技术介绍

[0002]软件中存在各种各样的核心功能,而每个功能的核心代码编译后得到的二进制数据是功能运行时的核心。通常,在启动核心代码时,可以直接将核心代码编译成二进制文件,然后由软件系统在启动过程中进行加载、解析、运行。
[0003]然而,随着网络环境的日益复杂,在软件的启动过程中,可能会出现非法用户劫持软件系统。如果非法用户(比如黑客)劫持了软件系统,那么,非法用户就可以截获系统中核心代码的二进制内容并通过反汇编来获取核心代码的内容,之后,非法用户可以篡改核心代码,并将篡改后的核心代码伪装成原来的核心代码进而由软件系统进行加载和运行,导致软件存在极大的安全隐患。

技术实现思路

[0004]本说明书实施例提供一种代码启动方法和系统,用于解决目前在加载软件中的核心代码时非法用户容易截获核心代码,导致软件存在极大安全隐患的问题。
[0005]为解决上述技术问题,本说明书实施例是这样实现的:第一方面,提出一种软件的代码启动方法,应用于目标软件,包括:向可信执行环境TEE发送代码加载请求,所述代码加载请求用于请求加载所述目标软件中的目标代码,所述TEE对应的安全文件系统中预先存储有所述目标代码的密文数据;接收由所述TEE返回的加密后的目标代码,所述加密后的目标代码由所述TEE对所述密文数据解密后再使用预先确定的密钥对所述目标代码进行加密得到,所述密钥由所述目标软件和所述TEE预先协商得到;对所述加密后的目标代码进行解密,加载并运行解密后的目标代码。
[0006]第二方面,提出一种软件的代码启动装置,包括:发送模块,向可信执行环境TEE发送代码加载请求,所述代码加载请求用于请求加载目标软件中的目标代码,所述TEE对应的安全文件系统中预先存储有所述目标代码的密文数据;接收模块,接收由所述TEE返回的加密后的目标代码,所述加密后的目标代码由所述TEE对所述密文数据解密后再使用预先确定的密钥对所述目标代码进行加密得到,所述密钥由所述目标软件和所述TEE预先协商得到;启动模块,对所述加密后的目标代码进行解密,加载并运行解密后的目标代码。
[0007]第三方面,提出一种电子设备,包括:处理器;以及被安排成存储计算机可执行指令的存储器,该可执行指令在被执行时使该处理器
执行以下操作:向可信执行环境TEE发送代码加载请求,所述代码加载请求用于请求加载目标软件中的目标代码,所述TEE对应的安全文件系统中预先存储有所述目标代码的密文数据;接收由所述TEE返回的加密后的目标代码,所述加密后的目标代码由所述TEE对所述密文数据解密后再使用预先确定的密钥对所述目标代码进行加密得到,所述密钥由所述目标软件和所述TEE预先协商得到;对所述加密后的目标代码进行解密,加载并运行解密后的目标代码。
[0008]第四方面,提出一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下方法:向可信执行环境TEE发送代码加载请求,所述代码加载请求用于请求加载目标软件中的目标代码,所述TEE对应的安全文件系统中预先存储有所述目标代码的密文数据;接收由所述TEE返回的加密后的目标代码,所述加密后的目标代码由所述TEE对所述密文数据解密后再使用预先确定的密钥对所述目标代码进行加密得到,所述密钥由所述目标软件和所述TEE预先协商得到;对所述加密后的目标代码进行解密,加载并运行解密后的目标代码。
[0009]第五方面,提出一种软件的代码启动方法,应用于TEE卡,包括:接收由目标软件发送的代码加载请求,所述代码加载请求用于请求加载所述目标软件中的目标代码,所述TEE对应的安全文件系统中预先存储有所述目标代码的密文数据;对所述密文数据进行解密,得到所述目标代码;使用预先确定的密钥对解密得到的所述目标代码进行加密,得到加密后的目标代码,所述密钥由所述目标软件和所述TEE预先协商得到;将所述加密后的目标代码发送给所述目标软件,由所述目标软件进行解密后加载并运行解密后的目标代码。
[0010]第六方面,提出一种软件的代码启动装置,应用于TEE卡,包括:接收模块,接收由目标软件发送的代码加载请求,所述代码加载请求用于请求加载所述目标软件中的目标代码,所述TEE对应的安全文件系统中预先存储有所述目标代码的密文数据;解密模块,对所述密文数据进行解密,得到所述目标代码;加密模块,使用预先确定的密钥对解密得到的所述目标代码进行加密,得到加密后的目标代码,所述密钥由所述目标软件和所述TEE预先协商得到;发送模块,将所述加密后的目标代码发送给所述目标软件,由所述目标软件进行解密后加载并运行解密后的目标代码。
[0011]第七方面,提出一种电子设备,应用于TEE卡,该电子设备包括:处理器;以及被安排成存储计算机可执行指令的存储器,该可执行指令在被执行时使该处理器执行以下操作:接收由目标软件发送的代码加载请求,所述代码加载请求用于请求加载所述目标软件中的目标代码,所述TEE对应的安全文件系统中预先存储有所述目标代码的密文数据;
对所述密文数据进行解密,得到所述目标代码;使用预先确定的密钥对解密得到的所述目标代码进行加密,得到加密后的目标代码,所述密钥由所述目标软件和所述TEE预先协商得到;将所述加密后的目标代码发送给所述目标软件,由所述目标软件进行解密后加载并运行解密后的目标代码。
[0012]第八方面,提出一种计算机可读存储介质,应用于TEE卡,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下方法:接收由目标软件发送的代码加载请求,所述代码加载请求用于请求加载所述目标软件中的目标代码,所述TEE对应的安全文件系统中预先存储有所述目标代码的密文数据;对所述密文数据进行解密,得到所述目标代码;使用预先确定的密钥对解密得到的所述目标代码进行加密,得到加密后的目标代码,所述密钥由所述目标软件和所述TEE预先协商得到;将所述加密后的目标代码发送给所述目标软件,由所述目标软件进行解密后加载并运行解密后的目标代码。
[0013]第九方面,提出一种一体机,所述一体机的PCIe插槽上插有TEE卡,包括:发送模块,向所述TEE卡发送代码加载请求,其中,所述代码加载请求用于请求加载目标软件中的目标代码,所述TEE卡对应的安全文件系统中预先存储有所述目标代码的密文数据;接收模块,接收由所述TEE卡返回的加密后的目标代码,其中,所述加密后的目标代码由所述TEE卡对所述密文数据解密后再使用预先确定的密钥对所述目标代码进行加密得到,所述密钥由所述一体机和所述TEE卡预先协商得到;启动模块,对所述加密后的目标代码进行解密,加载并运行解密后的目标代码。
[0014]第十方面,提出一种TEE卡,包括:接收模块,接收一体机发送的代码加载请求,其中,所述代码加载请求用于请求加载目标软件中本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种软件的代码启动方法,应用于目标软件,包括:向可信执行环境TEE发送代码加载请求,所述代码加载请求用于请求加载所述目标软件中的目标代码,所述TEE对应的安全文件系统中预先存储有所述目标代码的密文数据;接收由所述TEE返回的加密后的目标代码,所述加密后的目标代码由所述TEE对所述密文数据解密后再使用预先确定的密钥对所述目标代码进行加密得到,所述密钥由所述目标软件和所述TEE预先协商得到;对所述加密后的目标代码进行解密,加载并运行解密后的目标代码。2.如权利要求1所述的方法,所述密钥为对称密钥;其中,对所述加密后的目标代码进行解密,包括:使用所述密钥对所述加密后的目标代码进行解密。3.如权利要求1所述的方法,在向TEE发送代码加载请求之前,所述方法还包括:向所述TEE发送密钥协商请求,所述密钥协商请求用于请求协商所述密钥;通过握手的方式确定得到N个随机数,N为大于或等于2的整数,且所述N个随机数中至少一个随机数由所述TEE生成;基于所述N个随机数,通过自定义的算法生成所述密钥。4.如权利要求3所述的方法,所述密钥为动态密钥,每次发送所述代码加载请求之前,均通过所述密钥协商请求与所述TEE进行密钥协商。5.如权利要求1所述的方法,所述加密后的目标代码由所述TEE进行签名后得到;其中,对所述加密后的目标代码进行解密,包括:对所述TEE的签名进行验证;在验证通过后,对所述加密后的目标代码进行解密。6.一种软件的代码启动方法,应用于TEE卡,包括:接收由目标软件发送的代码加载请求,所述代码加载请求用于请求加载所述目标软件中的目标代码,所述TEE对应的安全文件系统中预先存储有所述目标代码的密文数据;对所述密文数据进行解密,得到所述目标代码;使用预先确定的密钥对解密得到的所述目标代码进行加密,得到加密后的目标代码,所述密钥由所述目标软件和所述TEE预先协商得到;将所述加密后的目标代码发送给所述目标软件,由所述目标软件进行解密后加载并运行解密后的目标代码。7.如权利要求6所述的方法,在接收由目标软件发送的代码加载请求之前,所述方法还包括:接收由所述目标软件发送的密钥协商请求,所述密钥协商请求用于请求协商所述密钥;通过握手的方式确定得到N个随机数,N为大于或等于2的整数,且所述N个随机数中至少一个随机数由所述TEE生成;基于所述N个随机数,通过自定义的算法生成所述密钥。8.如权利要求7所述的方法,所述密钥...

【专利技术属性】
技术研发人员:帅峰云武鹏
申请(专利权)人:支付宝杭州信息技术有限公司
类型:发明
国别省市:

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

1