一种软件程序运行安全保护方法、系统以及存储介质技术方案

技术编号:38246127 阅读:9 留言:0更新日期:2023-07-25 18:06
本申请涉及计算机数据安全领域,公开了一种软件程序运行安全保护方法、系统以及存储介质。所述方法包括:响应于已加密算法的调用请求,控制驱动程序生成第一挑战码和密钥ID,将算法ID、第一挑战码和密钥ID发送至SE芯片;SE芯片根据算法ID和密钥ID确定工作密钥;生成第二挑战码并根据两个挑战码和工作密钥生成MAC码;以及将第二挑战码、MAC码以及SE芯片的PUF值发送至智能终端;从驱动程序中确定根密钥密文和密钥加密密钥并确定根密钥;在已加密算法通过验证的情况下,根据根密钥对已加密算法执行解密操作,获得解密后的算法。公开了一种新的加密、认证手段,可保护算法的存储及运行的安全。安全。安全。

【技术实现步骤摘要】
一种软件程序运行安全保护方法、系统以及存储介质


[0001]本申请涉及计算机数据安全
,特别地涉及一种软件程序运行安全保护方法、系统以及存储介质。

技术介绍

[0002]此处提供的
技术介绍
描述的目的是总体地给出本申请的背景,本部分的陈述仅仅是提供了与本申请相关的背景,并不必然构成现有技术。
[0003]在现实环境中,某些电子设备运行的算法和硬件设备是分别授权使用的。对于一些重要、核心的算法,其算法本身就具有极高的价值,需要进行单独的版权保护。如:生物特征识别领域:人脸识别算法、指纹识别算法、虹膜识别算法等;其他识别算法:语音识别、手写识别、车牌号码识别、交通违法行为检测等;博弈算法:围棋算法、中国象棋算法等;其他有价值的AI算法:无人驾驶算法、推荐算法等;特定领域的软件:财务类、建筑类、税务管理类等软件。由于这些算法包含了研发人员的心血,应该对其版权进行充分的保护。
[0004]在现有技术中,因为目标算法通常是放在主机端、工控机等公共平台,以程序文件的形式存储在硬盘或Flash上,而且通常是使用明文的形式存储。这样一来,由于缺乏保护措施,目标算法的知识产权和安全性都难以得到保证。
[0005]当前,一种被广泛使用的软件版权保护方法是软件加密狗(Dongle)方案。这是一种用于软件加密的小型外置硬件设备,但是在加密狗的实现方案中存在有以下缺陷:(1)针对实现机制:普通加密狗只是做一些基于时间或挑战码的认证。高级的加密狗也只是将算法最核心的一小段内容加密,放到加密狗硬件设备中,在必要时,与运行的软件进行交互;受加密狗存储空间小和读写接口单一(加密狗一般常限于低速的USB接口)、读写速度慢等因素的限制,即使是高级的加密狗,也很难实现对整个软件算法进行加密保护;(2)针对保护范围:加密狗只是为了完成对软件使用的授权,目的是使未经授权的软件,无法正常运行;而非对整个软件算法的加密保护,防止整个软件算法的泄露。
[0006]因此,亟需一种新的加密、认证手段,以保护目标算法的存储及运行的安全。

技术实现思路

[0007]针对上述问题,本申请提出一种软件程序运行安全保护方法、系统以及存储介质。以至少解决如上所述的技术问题。
[0008]本申请的第一个方面,提供了一种软件程序运行安全保护方法,应用于搭载SE芯片的智能终端,其中,在所述SE芯片中保存有所述智能终端的预设基础信息,以确保所述SE芯片和所述智能终端存在一一对应的绑定使用关系,所述方法包括:响应于已加密目标算法的调用请求,控制所述SE芯片的驱动程序确定第一挑战码和密钥ID,以及将所述已加密目标算法的算法ID、所述第一挑战码和所述密钥ID发送至所述SE芯片,以控制所述SE芯片生成第二挑战码和用于安全校验的待验证MAC码并将所述第二挑战码、所述待验证MAC码和所述SE芯片的PUF值反馈至所述智能终端以进行安全验证;
其中,所述第一挑战码和所述第二挑战码均为随机数;根据预设密钥保存策略从所述驱动程序中确定根密钥密文和密钥加密密钥,并通过所述密钥加密密钥对所述根密钥密文进行解密操作以确定根密钥;根据所述根密钥、所述PUF值、所述算法ID、所述密钥ID以及所述待验证MAC码,判定所述已加密目标算法是否通过安全验证;在所述已加密目标算法通过安全验证的情况下,根据所述根密钥对所述已加密目标算法执行解密操作,获得解密后的目标算法。
[0009]进一步地,通过根密钥分别对不同的密钥ID以及目标算法的算法ID和SE芯片的PUF值执行加密操作,以确定所述目标算法的多个工作密钥;将所述多个工作密钥保存在SE芯片中,并通过所述根密钥对所述目标算法执行加密操作,获得已加密目标算法。
[0010]进一步地,所述根密钥密文和所述密钥加密密钥均分散地存储在所述SE芯片的驱动程序中。
[0011]进一步地,所述根据所述根密钥对所述PUF值、所述算法ID、所述密钥ID以及所述待验证MAC码,判定所述已加密目标算法是否通过安全验证,包括:根据所述已加密目标算法的存储格式确定第一MAC码,在所述第一MAC码和所述待验证MAC码满足第一预设条件的情况下,判定所述已加密目标算法通过完整性验证;通过所述根密钥对所述PUF值、所述算法ID以及所述密钥ID执行加密操作生成工作密钥;并根据所述第一挑战码和所述第二挑战码以及所述工作密钥生成第二MAC码;在所述第二MAC码和所述待验证MAC码满足第二预设条件的情况下,判定所述已加密目标算法通过挑战

应答验证;在所述已加密目标算法通过完整性验证和挑战

应答验证的情况下,判定所述已加密目标算法通过安全验证。
[0012]进一步地,所述已加密目标算法的存储格式,包括:在具备文件系统的情况下,以动态链接库的形式进行存储,并将所述已加密目标算法的MAC码保存在所述已加密目标算法的后部;在不具备文件系统的情况下,在所述已加密目标算法前部保存所述已加密目标算法的长度值并将所述已加密目标算法的MAC码保存在所述已加密目标算法的后部;或者,在所述已加密目标算法的前部保存所述已加密目标算法的长度值并将所述MAC码保存在所述已加密目标算法的后部,以及在每个已加密目标算法结尾处均设置一定长度的空白区域以使每个已加密目标算法均占用同等大小的存储空间。
[0013]本申请的第二个方面,提供了一种智能终端,包括存储器和处理器,所述存储器上存储有计算机程序,所述存储器和所述处理器之间互相通信连接,当所述计算机程序被所述处理器执行时,执行如上所述的应用于搭载SE芯片的智能终端的软件程序运行安全保护方法。
[0014]本申请的第三个方面,提供了一种软件程序运行安全保护系统,所述软件程序运行安全保护系统包括如上所述的智能终端。
[0015]本申请的第四个方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储的计算机程序,可被一个或多个处理器执行,用以实现如上所述的应用于搭载SE芯片
的智能终端的软件程序运行安全保护方法或如上所述的应用于SE芯片的软件程序运行安全保护方法。
[0016]与现有技术相比,本申请的技术方案具有以下优点或有益效果:目标算法以加密的形式存储在辅助硬盘或Flash上,只有运行时才进行解密;由于只有在运行的时候,才可能在内存里出现明文,因此,保证了目标算法不能被篡改或窃取;目标算法在运行时需要通过相关的认证才可以正常运行;保证了目标算法可以被正常使用,同时不会被恶意篡改;定义了目标算法在Flash上的存储结构;保证了目标算法加密方案,在没有文件管理系统的Flash上也可以使用;采用“挑战

应答式”的方式进行认证;以可靠、且易实现的方式,完成“零知识证明”;有多组密钥,可以随时选用其中的某一组进行验证;增加了安全性,可以一定程度上防止重放攻击。
附图说明
[0017]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种软件程序安全保护方法,其特征在于,应用于搭载SE芯片的智能终端,其中,在所述SE芯片中保存有所述智能终端的预设基础信息,以确保所述SE芯片和所述智能终端存在一一对应的绑定使用关系,所述方法包括:响应于已加密目标算法的调用请求,控制所述SE芯片的驱动程序确定第一挑战码和密钥ID,以及将所述已加密目标算法的算法ID、所述第一挑战码和所述密钥ID发送至所述SE芯片,以控制所述SE芯片生成第二挑战码和用于安全校验的待验证MAC码并将所述第二挑战码、所述待验证MAC码和所述SE芯片的PUF值反馈至所述智能终端以进行安全验证;其中,所述第一挑战码和所述第二挑战码均为随机数;根据预设密钥保存策略从所述驱动程序中确定根密钥密文和密钥加密密钥,并通过所述密钥加密密钥对所述根密钥密文进行解密操作以确定根密钥;根据所述根密钥、所述PUF值、所述算法ID、所述密钥ID以及所述待验证MAC码,判定所述已加密目标算法是否通过安全验证;在所述已加密目标算法通过安全验证的情况下,根据所述根密钥对所述已加密目标算法执行解密操作,获得解密后的目标算法。2.根据权利要求1所述的软件程序安全保护方法,其特征在于,在所述响应于目标算法的调用请求之前,还包括:通过根密钥分别对不同的密钥ID以及目标算法的算法ID和SE芯片的PUF值执行加密操作,以确定所述目标算法的多个工作密钥;将所述多个工作密钥保存在SE芯片中,并通过所述根密钥对所述目标算法执行加密操作,获得已加密目标算法。3.根据权利要求1所述的软件程序安全保护方法,其特征在于,所述根密钥密文和所述密钥加密密钥均分散地存储在所述SE芯片的驱动程序中。4.根据权利要求1所述的软件程序安全保护方法,其特征在于,所述根据所述根密钥对所述PUF值、所述算法ID、所述密钥ID以及所述待验证MAC码,判定所述已加密目标算法是否通过安全验证,包括:根据所述已加密目标算...

【专利技术属性】
技术研发人员:朱敏
申请(专利权)人:无锡沐创集成电路设计有限公司
类型:发明
国别省市:

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

1