区段动态解密与多线程卸载的射频测试程序保护方法及系统与流程

摘要: 本发明涉及射频测试与信息安全,具体涉及一种区段动态解密与多线程卸载的射频测试程序保护方法及系统。背景技术:1、在射频(radiofrequency,rf)测试系...
区段动态解密与多线程卸载的射频测试程序保护方法及系统与流程

本发明涉及射频测试与信息安全,具体涉及一种区段动态解密与多线程卸载的射频测试程序保护方法及系统。

背景技术:

1、在射频(radio frequency,rf)测试系统中,自动测试设备(automatic testequipment,ate)或整合测试平台需通过测试程序控制仪器进行射频信号产生、接收与量测分析,相应的测试算法与量测控制程序构成了测试设备的核心技术资产,具有高度的商业价值。然而,该类测试程序通常以可执行文件或动态链接库(dynamic link library,dll)的形式部署于测试设备中,极易成为逆向工程与非法复制攻击的目标。

2、目前,现有技术中多通过设置加密方式保护程序内容,如采用高级加密标准(advanced encryption standard,aes)进行加密,以避免测试程序遭受逆向分析和非法复制,但在应用于射频测试设备时,仍存在以下局限性。

3、具体而言,其一是安全性缺陷。现有软件保护方案虽可透过加密方式保护程序内容,但测试程序解密后需长时间驻留于系统存储器中以供反复调用。在此过程中,攻击者可通过内存转储撷取解密后的完整程序代码,从而破解测试算法。同时,授权验证机制独立于设备硬件,加密程序可被直接复制至其他设备运行,缺乏深度绑定。

4、其二是效能矛盾。射频测试设备(尤其是ate)对测试执行的实时性具有严苛要求,测试流程中需在微秒级时间内完成信号采集、数据读取与后续处理。若对完整的测试程序进行整体加解密,则每次调用测试程序时均需对整个程序执行解密操作,引入显著的计算延迟与资源开销。特别是当测试程序体积较大时,整体解密耗时将直接影响测试节奏。现有按需解密方案未针对射频测试校准、扫描、功率量测等区段化流程进行适配,仍存在冗余解密。

5、其三是架构负载失衡。现有测试设备(如fpga或ate主控)在负责射频信号采集的同时,还需承担大量高负载的信号分析运算(如快速傅里叶变换、误差向量幅度解调分析等),紧耦合模式导致整体测试吞吐量受限。虽有方案将测试数据传输至外部,但其主要关注数据传输过程中的加密安全,未实现采集与运算的真正解耦。

6、其四是安全与性能无法兼得。上述问题综合导致现有方案陷入“高安全性与高实时性难以兼得”的困境,即强保护则拖累射频测试效率、追效率则暴露风险。各方案未能在系统架构层面将程序安全保护机制与测试数据协同处理机制进行有机整合,难以形成系统性解决方案。

7、因此,亟需一种能够同时克服安全性缺陷、效能矛盾与架构负载失衡,最终突破安全与性能无法兼得困境的程序保护方法及系统,以在确保射频测试程序安全性的同时保障高实时性与高吞吐量。

技术实现思路

1、本发明在于提供一种区段动态解密与多线程卸载的射频测试程序保护方法及系统,至少解决安全性缺陷、效能矛盾、架构负载失衡、安全与性能无法兼得的问题。

2、根据本发明的一个方面,提供了一种区段动态解密与多线程卸载的射频测试程序保护方法,包括:

3、将射频测试程序依照测试流程划分为多个测试区段,并对各测试区段分别进行加密,对应得到加密区段,形成加密区段集;

4、启动测试设备,读取测试设备的硬件识别信息,并根据所述硬件识别信息进行密钥派生处理,得到动态解密密钥;

5、在测试流程运行至目标测试项目、且所述目标测试项目满足预先配置的所述预设触发条件的情况下,从所述加密区段集中定位得到目标加密区段,并利用所述动态解密密钥对所述目标加密区段解密,得到对应的明文可执行代码;

6、将所述明文可执行代码加载至临时执行缓冲区并运行,执行所述目标测试项目对应的射频测量操作,得到测量数据,并利用多线程将所述测量数据传输至外部处理单元进行运算;

7、在所述目标测试项目对应的射频测量操作完成后,对所述临时执行缓冲区中的明文可执行代码进行安全清除处理。

8、作为一种可选的方案,所述将射频测试程序依照测试流程划分为多个测试区段,并对各测试区段分别进行加密,对应得到加密区段,形成加密区段集,包括:

9、将射频测试程序依照测试流程划分为多个测试区段;其中,所述测试区段至少包括校准区段、频率扫描区段、功率测量区段、调制质量分析区段;

10、为每个测试区段配置独立区段标识、内存偏移地址、校验值及所述预设触发条件,并归集整理形成元数据集合;其中,所述预设触发条件包含各所述测试区段对应的目标测试项目标识信息;

11、采用aes-128加密算法对各测试区段分别进行加密,对应得到加密区段,形成加密区段集;

12、将所述元数据集合和所述加密区段集嵌入动态链接库中。

13、作为一种可选的方案,所述启动测试设备,读取测试设备的硬件识别信息,并根据所述硬件识别信息进行密钥派生处理,得到动态解密密钥,包括:

14、启动测试设备,读取测试设备的硬件识别信息;其中,所述硬件识别信息包括设备标识、fpga唯一标识、mac地址及驱动程序序列号中的至少一个;

15、将各项所述硬件识别信息进行拼接,得到拼接信息;

16、对所述拼接信息进行sha256哈希运算,得到哈希运算结果;

17、截取所述哈希运算结果的前128位,得到动态解密密钥。

18、作为一种可选的方案,所述在测试流程运行至目标测试项目、且所述目标测试项目满足预先配置的所述预设触发条件的情况下,从所述加密区段集中定位得到目标加密区段,并利用所述动态解密密钥对所述目标加密区段解密,得到对应的明文可执行代码,包括:

19、检测测试流程运行进度,判断当前是否运行至目标测试项目;

20、在测试流程运行到目标测试项目的情况下,读取所述动态链接库中的元数据集合;

21、根据所述预设触发条件,从所述加密区段集中匹配定位与所述目标测试项目对应的目标加密区段;

22、利用所述动态解密密钥对所述目标加密区段进行解密处理,得到对应的明文可执行代码。

23、作为一种可选的方案,所述利用多线程将所述测量数据传输至外部处理单元进行运算,包括:

24、利用原始数据采集线程获取所述测量数据;

25、利用封包处理线程对所述测量数据进行分包及校验码封装处理;

26、利用网络传输线程将封装完成的所述测量数据异步发送至外部处理单元;

27、利用设置于所述外部处理单元的信号分析进程对接收到的所述测量数据进行信号解调和数学运算处理。

28、作为一种可选的方案,对所述临时执行缓冲区中的明文可执行代码进行安全清除处理,包括:

29、采用固定数值覆写临时执行缓冲区;

30、采用随机数值再次覆写临时执行缓冲区;

31、执行 cpu 缓存刷新操作;

32、执行虚拟内存释放操作。

33、作为一种可选的方案,还包括异常监控处理步骤;所述异常监控处理步骤包括:

34、检测解密及测试运行过程中的异常事件;其中,所述异常事件包括设备识别不匹配、校验值验证失败、区段头部异常、解密失败中的至少一项;

35、在检测到异常事件发生的情况下,中止当前测试流程,安全清除临时执行缓冲区,锁定驱动会话,记录安全事件日志。

36、根据本发明的另一个方面,还提供了一种区段动态解密与多线程卸载的射频测试程序保护系统,包括:

37、区段化加密模块,用于将射频测试程序依照测试流程划分为多个测试区段,并对各测试区段分别进行加密,对应得到加密区段,形成加密区段集;

38、动态密钥派生模块,用于启动测试设备,读取测试设备的硬件识别信息,并根据所述硬件识别信息进行密钥派生处理,得到动态解密密钥;

39、按需解密执行模块,与所述区段化加密模块、所述动态密钥派生模块连接,用于在测试流程运行至目标测试项目、且所述目标测试项目满足预先配置的所述预设触发条件的情况下,从所述加密区段集中定位得到目标加密区段,并利用所述动态解密密钥对所述目标加密区段解密,得到对应的明文可执行代码;

40、多线程数据传输模块,与所述按需解密执行模块连接,用于将所述明文可执行代码加载至临时执行缓冲区并运行,执行所述目标测试项目对应的射频测量操作,得到测量数据;以及所述多线程传输模块与外部处理单元连接,用于利用多线程将所述测量数据传输至外部处理单元进行运算;

41、安全清除模块,与所述多线程数据传输模块连接,用于在所述目标测试项目对应的射频测量操作完成后,对所述临时执行缓冲区中的明文可执行代码进行安全清除处理;

42、异常处理模块,与所述按需解密执行模块、所述安全清除模块连接,用于在检测到设备标识不匹配、校验值验证失败、区段头部异常、解密失败时,中止当前测试流程,安全清除临时执行缓冲区,锁定驱动会话,并记录安全事件日志。

43、根据本发明的另一个方面,还提供了一种电子设备,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上所述的方法。

44、根据本发明的另一个方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法。

45、本发明的有益效果为:

46、1、本发明通过将测试程序区段化并分别加密,仅在测试流程运行至对应测试项目时才对该区段进行解密,且解密后的明文可执行代码仅临时存放于执行缓冲区中,执行完毕后即进行安全清除处理,使得解密代码在内存中驻留的时间极短,攻击者难以通过内存转储方式撷取完整的测试程序代码,有效抵御静态逆向分析与动态内存攻击。同时,解密密钥系根据测试设备的硬件识别信息动态派生,不同设备生成的密钥不同,即使加密区段集被整体复制至其他设备,亦因硬件信息差异而无法派生正确的解密密钥,从而杜绝了跨设备非法复制与执行,实现了测试程序与设备的深度绑定。

47、2、本发明采用区段化按需解密机制,测试过程中仅对当前目标测试项目对应的单个加密区段进行解密,而非对整个测试程序进行整体解密,单次解密的数据量大幅降低,计算延迟显著减小,能够满足射频测试对微秒级响应的严苛实时性要求,避免因整体加解密造成的测试节奏滞后问题,确保产线高频测试的吞吐量不受影响,使得测试实时性得以保障。

48、3、本发明通过多线程机制将测量数据异步传输至外部处理单元进行运算,将耗时的信号解调与数学运算从测试设备端(如fpga或ate主控)卸载至外部处理单元(如工控机),使得测试设备端仅需专注于精准的射频信号采集与硬件实时控制,实现了数据采集与复杂运算的解耦,有效降低了测试设备端的运算负担,整体测试吞吐量不再受限于设备端单一计算资源,系统可扩展性与测试效率均得到显著提升。

49、4、本发明通过区段化加密与按需解密机制保障程序安全而不引入全局解密延迟,通过硬件信息绑定密钥派生防止跨设备复制而不增加运行时开销,通过多线程外部卸载提升测试吞吐量而不降低安全等级,从系统架构层面将程序安全保护机制与测试数据协同处理机制有机整合,消除了安全性保障与测试效率提升之间的相互制约关系,实现了高安全性与高实时性的兼得。