应用程序的保护方法技术

技术编号:37176445 阅读:20 留言:0更新日期:2023-04-20 22:45
本申请公开了一种应用程序的保护方法,属于计算机技术领域。方法包括:终端设备接收服务器发送的目标应用程序的目标程序代码,目标程序代码为基于第一密钥对目标应用程序的初始程序代码加密得到的程序代码;终端设备向服务器发送机密计算运行环境对应的公钥;服务器接收终端设备发送的机密运行环境对应的公钥,根据公钥对第一密钥进行加密,得到加密之后的第二密钥;服务器向终端设备发送第二密钥;终端设备接收服务器返回的第二密钥,对第二密钥进行解密,得到第一密钥;终端设备根据第一密钥对目标程序代码进行解密,得到初始程序代码,通过机密计算运行环境运行初始程序代码。该方法能够保证目标应用程序的初始程序代码的机密性。的机密性。的机密性。

【技术实现步骤摘要】
应用程序的保护方法


[0001]本申请实施例涉及计算机
,特别涉及一种应用程序的保护方法。

技术介绍

[0002]应用程序是指为完成某项或多项特定工作的计算机程序,它运行在非安全世界的用户模式,可以和用户进行交互,具有可视的用户界面。由于应用程序安装包没有加密,并且安装运行在非安全世界,因此,应用程序的程序代码有被用户恶意窃取、篡改的风险。
[0003]因此,需要一种应用程序的保护方法,防止应用程序的程序代码被窃取、篡改,进而保护应用程序的机密性和完整性。

技术实现思路

[0004]本申请实施例提供了一种应用程序的保护方法。所述技术方案如下:
[0005]第一方面,本申请实施例提供了一种应用程序的保护方法,所述方法包括:
[0006]终端设备接收服务器发送的目标应用程序的目标程序代码,所述目标程序代码为基于第一密钥对所述目标应用程序的初始程序代码加密得到的程序代码;
[0007]所述终端设备向所述服务器发送机密计算运行环境对应的公钥;
[0008]所述服务器接收所述终端设备发送的机密计算运行环境对应的公钥,根据所述公钥对所述第一密钥进行加密,得到加密之后的第二密钥;
[0009]所述服务器向所述终端设备发送所述第二密钥;
[0010]所述终端设备接收所述服务器返回的第二密钥,对所述第二密钥进行解密,得到所述第一密钥;
[0011]所述终端设备根据所述第一密钥对所述目标程序代码进行解密,得到所述初始程序代码,通过所述机密计算运行环境运行所述初始程序代码。
[0012]第二方面,本申请实施例提供了一种应用程序的保护方法,所述方法包括:
[0013]接收服务器发送的目标应用程序的目标程序代码,所述目标程序代码为基于第一密钥对所述目标应用程序的初始程序代码加密得到的程序代码;
[0014]向所述服务器发送机密计算运行环境对应的公钥;
[0015]接收所述服务器返回的第二密钥,所述第二密钥为基于所述公钥对所述第一密钥加密得到的密钥;
[0016]对所述第二密钥进行解密,得到所述第一密钥;
[0017]根据所述第一密钥对所述目标程序代码进行解密,得到所述初始程序代码,通过所述机密计算运行环境运行所述初始程序代码。
[0018]在一种可能的实现方式中,所述对所述第二密钥进行解密,得到所述第一密钥,包括:
[0019]获取所述机密计算运行环境对应的私钥;
[0020]根据所述私钥对所述第二密钥进行解密,得到所述第一密钥。
[0021]在一种可能的实现方式中,所述方法还包括:
[0022]确定所述公钥对应的第一签名;
[0023]所述向所述服务器发送机密计算运行环境对应的公钥,包括:
[0024]向所述服务器发送所述机密计算运行环境对应的公钥和所述第一签名,所述第一签名用于所述服务器确定所述公钥是否发生变化。
[0025]在一种可能的实现方式中,所述方法还包括:
[0026]获取目标信息,所述目标信息包括所述目标程序代码的相关信息、所述机密计算运行环境的相关信息和所述公钥;
[0027]确定所述目标信息对应的第二签名;
[0028]所述向所述服务器发送机密计算运行环境对应的公钥,包括:
[0029]向所述服务器发送所述目标信息和所述第二签名,所述目标程序代码的相关信息用于所述服务器确定所述目标程序代码是否发生变化,所述机密计算运行环境的相关信息用于所述服务器确定所述机密计算运行环境的类型,所述第二签名用于所述服务器确定所述目标信息是否发生变化。
[0030]第三方面,本申请实施例提供了一种应用程序的保护方法,所述方法包括:
[0031]接收终端设备发送的机密计算运行环境对应的公钥;
[0032]根据所述公钥对第一密钥进行加密,得到加密之后的第二密钥;
[0033]向所述终端设备发送所述第二密钥,所述第二密钥用于所述终端设备确定所述第一密钥,根据所述第一密钥对所述目标应用程序的目标程序代码进行解密,得到所述初始程序代码,通过所述机密运行环境运行所述初始程序代码,所述目标程序代码为基于所述第一密钥对所述初始程序代码进行加密之后得到的程序代码。
[0034]在一种可能的实现方式中,所述接收终端设备发送的机密计算运行环境对应的公钥,包括:
[0035]接收终端设备发送的机密计算运行环境对应的公钥和第一签名;
[0036]所述根据所述公钥对第一密钥进行加密,得到加密之后的第二密钥,包括:
[0037]根据所述第一签名,对所述公钥进行验证;
[0038]基于所述公钥验证通过,根据所述公钥对第一密钥进行加密,得到加密之后的第二密钥。
[0039]在一种可能的实现方式中,所述根据所述第一签名,对所述公钥进行验证,包括:
[0040]确定所述公钥对应的第一参考签名;
[0041]基于所述第一签名和所述第一参考签名相同,确定所述公钥验证通过;
[0042]基于所述第一签名和所述第一参考签名不同,确定所述公钥验证不通过。
[0043]在一种可能的实现方式中,所述接收终端设备发送的机密计算运行环境对应的公钥,包括:
[0044]接收终端设备发送的目标信息和第二签名,所述目标信息包括所述机密计算运行环境的相关信息、所述目标程序代码的相关信息和所述公钥;
[0045]所述根据所述公钥对第一密钥进行加密,得到加密之后的第二密钥,包括:
[0046]根据所述第二签名,对所述目标信息进行验证;
[0047]基于所述目标信息验证通过,对所述目标信息进行解析,得到所述机密计算运行
环境的相关信息、所述目标程序代码的相关信息和所述公钥;
[0048]基于所述机密计算运行环境的相关信息指示所述机密计算运行环境的类型为目标类型,且所述目标程序代码的相关信息指示所述目标程序代码未发生变化,根据所述公钥对第一密钥进行加密,得到加密之后的第二密钥。
[0049]在一种可能的实现方式中,所述方法还包括:
[0050]获取所述目标应用程序的初始程序代码;
[0051]根据所述第一密钥对所述初始程序代码进行加密,得到所述目标程序代码。
[0052]在一种可能的实现方式中,所述初始程序代码中的多条语句对应有语句类型;
[0053]所述根据所述第一密钥对所述初始程序代码进行加密,得到所述目标程序代码,包括:
[0054]基于所述初始程序代码中的多条语句对应的语句类型,在所述初始程序代码中确定目标语句,所述目标语句的语句类型满足类型要求;
[0055]根据所述第一密钥对所述目标语句进行加密,得到加密之后的目标语句;
[0056]将包括所述加密之后的目标语句、所述初始程序代码中除所述目标语句之外的语句的程序代码作为所述目标程序代码。
[0057]第四方面,本申请实施例提供了一本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用程序的保护方法,其特征在于,所述方法包括:终端设备接收服务器发送的目标应用程序的目标程序代码,所述目标程序代码为基于第一密钥对所述目标应用程序的初始程序代码加密得到的程序代码;所述终端设备向所述服务器发送机密计算运行环境对应的公钥;所述服务器接收所述终端设备发送的机密计算运行环境对应的公钥,根据所述公钥对所述第一密钥进行加密,得到加密之后的第二密钥;所述服务器向所述终端设备发送所述第二密钥;所述终端设备接收所述服务器返回的第二密钥,对所述第二密钥进行解密,得到所述第一密钥;所述终端设备根据所述第一密钥对所述目标程序代码进行解密,得到所述初始程序代码,通过所述机密计算运行环境运行所述初始程序代码。2.一种应用程序的保护方法,其特征在于,应用于终端设备,所述方法包括:接收服务器发送的目标应用程序的目标程序代码,所述目标程序代码为基于第一密钥对所述目标应用程序的初始程序代码加密得到的程序代码;向所述服务器发送机密计算运行环境对应的公钥;接收所述服务器返回的第二密钥,所述第二密钥为基于所述公钥对所述第一密钥加密得到的密钥;对所述第二密钥进行解密,得到所述第一密钥;根据所述第一密钥对所述目标程序代码进行解密,得到所述初始程序代码,通过所述机密计算运行环境运行所述初始程序代码。3.根据权利要求2所述的方法,其特征在于,所述对所述第二密钥进行解密,得到所述第一密钥,包括:获取所述机密计算运行环境对应的私钥;根据所述私钥对所述第二密钥进行解密,得到所述第一密钥。4.根据权利要求2或3所述的方法,其特征在于,所述方法还包括:确定所述公钥对应的第一签名;所述向所述服务器发送机密计算运行环境对应的公钥,包括:向所述服务器发送所述机密计算运行环境对应的公钥和所述第一签名,所述第一签名用于所述服务器确定所述公钥是否发生变化。5.根据权利要求2或3所述的方法,其特征在于,所述方法还包括:获取目标信息,所述目标信息包括所述目标程序代码的相关信息、所述机密计算运行环境的相关信息和所述公钥;确定所述目标信息对应的第二签名;所述向所述服务器发送机密计算运行环境对应的公钥,包括:向所述服务器发送所述目标信息和所述第二签名,所述目标程序代码的相关信息用于所述服务器确定所述目标程序代码是否发生变化,所述机密计算运行环境的相关信息用于所述服务器确定所述机...

【专利技术属性】
技术研发人员:闫广禄樊荣
申请(专利权)人:北京三快在线科技有限公司
类型:发明
国别省市:

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

1