一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种3D资源文件安全使用的方法与流程

2022-12-10 20:19:39 来源:中国专利 TAG:

一种3d资源文件安全使用的方法
技术领域
1.本技术涉及图像文件安全领域,特别是涉及一种3d资源文件安全使用的方法。


背景技术:

2.随着行业需求的增加,以汽车电子为例,多媒体、连接、导航、仪表等都需要用到gpu(图形处理器)进行3d渲染,然而目前的嵌入式架构上,gpu所用的资源文件(如3d模型文件,着色器文件以及各种纹理贴图文件)均没有有效的防窃取手段,一旦系统被破解,很容易被复制,造成损失。
3.现有技术中,应用程序对gpu所需要的资源文件基本都是以普通文件形式存放于硬盘上,并加载到内存中。少数产品会在应用程序层进行加解密操作。
4.对于没有加密的资源文件,一旦硬盘丢失,或是系统管理员权限被获取,很容易会被窃取;对于应用程序层的加解密保护,虽然能有效防止文件被直接拷贝窃取,难以抵御因为系统漏洞导致别的应用被提权后读取解密的内存信息从而造成资源文件泄露,因此不足以完全保护资源文件。


技术实现要素:

5.为了解决现有技术存在的不足,本技术的目的在于提供一种3d资源文件安全使用的方法,在多核异构系统中,将资源文件在安全内存中进行解密验证,避免因为系统管理员权限泄露导致内存泄露而造成的资源文件被窃取。
6.实现上述目的,本技术提供的3d资源文件安全使用的方法,包括:基于3d应用的加载指令,读取加密后的渲染源文件到普通内存;将所述渲染源文件在一可信操作系统内解密至安全内存,并为渲染源文件绑定访问id后将访问id传回至3d应用;基于所述访问id,3d应用控制gpu驱动从所述可信操作系统中获取解密后渲染源文件在安全内存中的内存地址;基于3d应用程序的绘图指令,gpu驱动依次驱动gpu根据内存地址从安全内存中获取相应的渲染源文件。
7.进一步地,所述3d应用所在的操作系统与所述可信操作系统运行在多核异构系统芯片的不同处理器核上。
8.进一步地,所述渲染源文件配置有加密方法标识和文件类型标识。
9.进一步地,所述方法还包括:将绘图指令的结果写入普通内存或安全内存。
10.进一步地,所述可信操作系统基于arm trustzone搭建。
11.进一步地,所述渲染源文件包括:模型文件、着色器文件和纹理文件;所述模型文件包括:顶点坐标信息、纹理坐标信息以及法线信息;所述着色器文件包括:顶点着色器文件和片段着色器文件。
12.进一步地,基于3d应用程序的绘图指令,gpu驱动先驱动gpu从安全内存中获取着
色器文件,再交替获取模型文件和纹理文件。
13.为实现上述目的,本技术提供的电子设备,包括:处理器;存储器,包括一个或多个计算机程序模块;其中,所述一个或多个计算机程序模块被存储在所述存储器中并被配置为由所述处理器执行,所述一个或多个计算机程序模块包括用于实现如上所述的3d资源文件安全使用的方法。
14.为实现上述目的,本技术提供的计算机可读存储介质,其上存储有计算机指令,当计算机指令运行时执行如上所述的3d资源文件安全使用的方法的步骤。
15.本技术的3d资源文件安全使用的方法,通过使用加密后的3d资源文件,将3d资源文件的解密与使用放在可信环境下,避免了3d资源文件被非法复制盗取。
16.本技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术而了解。
附图说明
17.附图用来提供对本技术的进一步理解,并且构成说明书的一部分,并与本技术的实施例一起,用于解释本技术,并不构成对本技术的限制。在附图中:图1为本技术的跨操作系统操作应用程序的方法的流程示意图;图2为现有技术与本技术使用渲染源文件的示意框图;图3为现有技术与本技术着色器执行文件时的内存示意框图;图4为本技术的一种电子设备的示意框图;图5为本技术的一种存储介质的示意图。
具体实施方式
18.下面将参照附图更详细地描述本技术的实施例。虽然附图中显示了本技术的某些实施例,然而应当理解的是,本技术可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本技术。应当理解的是,本技术的附图及实施例仅用于示例性作用,并非用于限制本技术的保护范围。
19.应当理解,本技术的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本技术的范围在此方面不受限制。
20.本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
21.需要注意,本技术中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。“多个”应理解为两个或以上。
22.本技术中涉及的多核异构系统芯片,按照车规系统芯片的安全需求,在一个系统
芯片中支持多个异构处理器,比如用于安全(safety)的处理器,负责安全的处理器和应用处理器分离,这些处理器以及相关的硬件外设形成多功能域的概念;能够获取车辆信息或控制车身状态的can控制器,因为安全等级较高,通常会在安全处理域(safety域)中负责处理;应用处理器域(ivi或者仪表应用)需要及时的获取车辆状态信息,并报告给用户;通过核间通信的方式把can报文在多个处理器域之间进行分发。
23.下面,将参考附图详细地说明本技术的实施例。
24.实施例1本技术的一个实施例,提供了一种3d资源文件安全使用的方法,提高3d资源文件使用时的私密性性与安全性能。
25.图1为本技术的3d资源文件安全使用的方法的流程示意图,下面将参考图1对本技术的3d资源文件安全使用的方法进行详细描述:步骤s101:基于3d应用的加载指令,读取加密后的渲染源文件到普通内存;步骤s102:将所述渲染源文件在一可信操作系统内解密至安全内存,并为渲染源文件绑定访问id后将访问id传回至3d应用;步骤s103:基于所述访问id,3d应用控制gpu驱动从所述可信操作系统中获取解密后渲染源文件在安全内存中的内存地址;步骤s104:基于3d应用程序的绘图指令,gpu驱动依次驱动gpu根据内存地址从安全内存中获取相应的渲染源文件。
26.在本实施方式中,所述3d应用所在的操作系统与所述可信操作系统运行在多核异构系统芯片的不同处理器核上。
27.示例性的,如3d应用运行在多核异构系统芯片的第一处理器核上,可信操作系统运行于多核异构系统芯片的第二处理器核上。第一处理器核与第二处理器核之间并没有缓存一致性硬件,各处理器核的中断控制器、时钟控制器和内存构成的硬件域之间是硬隔离的,因此各处理器核不能直接的被操作系统统一的调度,各处理器核的硬件域内的硬件资源只能被其处理器核访问。渲染源文件在可信操作系统内解密后存储在第二处理核的安全内存中,3d应用通过核间通信接口向3d应用传回访问id以及解密后的渲染源文件。
28.可以理解的是,3d应用所在的操作系统与所述可信操作系统的系统类型包括不限于android、linux、qnx和freertos。
29.在本实施方式中,渲染源文件配置有加密方法标识和文件类型标识,加密方法标识用于使用对应的解密方法对渲染源文件解密,文件类型标识用于标识渲染源文件的类型是着色器文件、模型文件还是纹理文件。
30.在本实施方式中,所述渲染源文件包括:模型文件、着色器文件和纹理文件;所述模型文件包括:顶点坐标信息、纹理坐标信息以及法线信息;所述着色器文件包括:顶点着色器文件和片段着色器文件。
31.可以理解的是,着色器文件包含着主要的核心算法,纹理文件主要为各种格式的图片。
32.在本实施方式中,基于3d应用程序的绘图指令,gpu驱动先驱动gpu从安全内存中获取着色器文件,再交替获取模型文件和纹理文件。
33.可以理解的是,gpu获取的顶点信息和纹理资源都由着色器处理,并将结果写入内
存。
34.在本实施方式中,绘图指令的结果写入安全内存,在另外的一些实施方式中,绘图指令的结果不需要保护时也可以写入非安全内存。
35.图2为现有技术与本技术使用渲染源文件的示意框图,如图2,现有技术的方案如a所示,3d应用将3d资源文件即渲染源文件从磁盘加载到普通内存,然后控制gpu驱动通过虚拟地址获得3d资源文件使用。本实施方式的方案如图2中b所示,3d应用是将加密后的3d资源文件即渲染源文件从磁盘加载到安全内存中解密,然后3d应用获取解密后的3d资源文件对应的资源id,进而控制gpu驱动根据资源id从安全内存中获得3d资源文件使用。
36.图3为现有技术与本技术着色器执行文件时的内存示意框图,如图3,现有技术的方案如c所示,gpu的顶点着色器先直接从普通内存中获取和使用顶点数据、着色器文件以及纹理文件,片段着色器再直接从普通内存中获取和使用顶点数据、着色器文件以及纹理文件。本实施方式的方案如d所示,位于普通内存中的gpu的顶点着色器先根据资源id从安全内存中获取相应的顶点数据、着色器文件以及纹理文件进行执行,然后片段着色器再根据资源id从安全内存中获取相应的着色器文件和纹理文件,安全性更高。
37.实施例2本技术的实施例2与实施例1的不同之处在于:可信操作系统基于arm trustzone搭建。
38.trustzone是 arm 针对消费电子设备设计的一种硬件架构,其目的是为消费电子产品构建一个安全框架来抵御各种可能的攻击。trustzone在概念上将 soc 的硬件和软件资源划分为安全(secure world)和非安全(normal world)两个世界。所有需要保密的操作(在本实施例中为渲染源文件的解密)在安全世界执行,其余操作(如用户操作系统、各种应用程序等)在非安全世界执行,安全世界和非安全世界通过一个名为 monitor mode 的模式进行转换。
39.在本实施方式中,trustzone将3d应用所在的处理器核虚拟为两个核:一个非安全核(non-secure core, ns core),运行非安全世界的代码;另一个安全核(secure core),运行安全世界的代码。
40.两个虚拟的核以基于时间片的方式运行,根据需要实时占用物理核,并通过 monitor mode 在安全世界和非安全世界之间切换,类似同一cpu下的多应用程序环境,不同的是多应用程序环境下操作系统实现的是进程间切换,而trustzone下的 monitor mode 实现了同一 cpu 上两个操作系统间的切换。
41.可以理解的是,amba3 axi(amba3 advanced extensible interface)系统总线作为trustzone的基础架构设施,提供了安全世界和非安全世界的隔离机制,确保非安全核只能访问非安全世界的系统资源,而安全核能访问所有资源,因此安全世界的资源不会被非安全世界(或普通世界)所访问。
42.在本实施方式中,以amba3 axi总线为基础,使用虚拟化的armcore构建安全核和非安全核,使用tzpc (trustzone protection controller)组件根据需要控制外设的安全特性,使用tzasc (trustzone address space controller)组件对内存进行安全内存和非安全内存划分和保护。
43.在另外一些实施方式中,还可以使用tzma (trustzone memory adapter)组件对
片上rom或ram安全区域和非安全区域的划分和保护;使用axi-to-apb bridge,桥接 apb 总线,配合 tzpc 使 apb 总线外设支持trustzone安全特性。
44.需要说明的,trustzone在系统总线上针对每一个信道的读写增加了一个额外的控制信号位,这个控制位叫做non-secure或者 ns 位。这个控制信号针对读和写分别叫做 arport[1] 和 awport[1]:其中arprot[1]用于读操作(read transaction),低表示安全模式,高表示非安全模式;awprot[1]用于写操作(write transaction), 低表示安全模式,高表示非安全模式。
[0045]
在本实施方式中,gpu被设置为安全设备,即其有访问安全内存的能力,其arport[1] 和 awport[1]均设置为低。
[0046]
实施例3本实施例中,还提供一种多核异构系统芯片,当多核异构系统芯片运行时,可以执行上文所述的3d资源文件安全使用的方法中的一个或多个步骤,对3d资源文件进行加密存储、在安全内存中进行解密验证。
[0047]
实施例4本实施例中,还提供一种电子设备,图4为本技术提供的一种电子设备的示意框图。如图4所示,电子设备130包括处理器131和存储器132。存储器132用于存储非暂时性计算机可读指令(例如一个或多个计算机程序模块)。处理器131用于运行非暂时性计算机可读指令,处理器131运行时可以执行上文所述的一种3d资源文件安全使用的方法的一个或多个步骤。存储器132和处理器131可以通过总线系统和/或其它形式的连接机构(未示出)互连。
[0048]
例如,处理器131可以是中央处理单元(cpu)、数字信号处理器(dsp)或者具有数据处理能力和/或程序执行能力的其它形式的处理单元,例如现场可编程门阵列(fpga)等;例如,中央处理单元(cpu)可以为x86或arm架构等。
[0049]
例如,存储器132可以包括一个或多个计算机程序产品的任意组合,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(rom)、硬盘、可擦除可编程只读存储器(eprom)、便携式紧致盘只读存储器(cd-rom)、usb存储器、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序模块,处理器131可以运行一个或多个计算机程序模块,以实现电子设备130的各种功能。在计算机可读存储介质中还可以存储各种应用程序和各种数据以及应用程序使用和/或产生的各种数据等。
[0050]
需要说明的是,本技术的实施例中,电子设备130的具体功能和技术效果可以参考上文中关于3d资源文件安全使用的方法的描述,此处不再赘述。
[0051]
实施例5本实施例中,还提供一种计算机可读存储介质,图5为本技术的一种存储介质的示意图。如图5所示,存储介质150用于存储非暂时性计算机可读指令151。例如,当非暂时性计算机可读指令151由计算机执行时可以执行根据上文所述的3d资源文件安全使用的方法中的一个或多个步骤。
[0052]
例如,该存储介质150可以应用于上述电子设备130中。例如,存储介质150可以为
图4所示的电子设备130中的存储器132。例如,关于存储介质150的相关说明可以参考图4所示的电子设备130中的存储器132的相应描述,此处不再赘述。
[0053]
需要说明的是,本技术上述的存储介质(计算机可读介质)可以是计算机可读信号介质或者非暂时性计算机可读存储介质或者是上述两者的任意组合。非暂时性计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。非暂时性计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0054]
在本技术中,非暂时性计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是非暂时性计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等,或者上述的任意合适的组合。
[0055]
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
[0056]
可以以一种或多种程序设计语言或其组合来编写用于执行本技术的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言,诸如java、smalltalk、c ,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。
[0057]
附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0058]
描述于本技术实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
[0059]
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专
用集成电路(asic)、专用标准产品(assp)、片上系统(片上系统)、复杂可编程逻辑设备(cpld)等。
[0060]
以上描述仅为本技术的部分实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本技术中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本技术中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
[0061]
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本技术的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
[0062]
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献