CN117592081A - 一种数据解密方法、系统、终端设备和存储介质 - Google Patents
一种数据解密方法、系统、终端设备和存储介质 Download PDFInfo
- Publication number
- CN117592081A CN117592081A CN202311644150.1A CN202311644150A CN117592081A CN 117592081 A CN117592081 A CN 117592081A CN 202311644150 A CN202311644150 A CN 202311644150A CN 117592081 A CN117592081 A CN 117592081A
- Authority
- CN
- China
- Prior art keywords
- data
- secure
- memory
- module
- decrypted
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 230000015654 memory Effects 0.000 claims abstract description 226
- 230000000977 initiatory effect Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 13
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 6
- 238000013500 data storage Methods 0.000 description 4
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种数据解密方法、系统、终端设备和存储介质。该方法应用于非安全模块时,包括:获取第一数据以及安全内存,安全内存的属性包括供非安全模块的可写不可读权限属性以及供安全模块的可读可写权限属性;将第一数据写入安全内存;向安全模块发送反馈信息,使安全模块通过反馈信息从安全内存中读取待解密的第二加密数据,并解密第二加密数据,得到解密数据,将解密数据写入安全内存;其中,第一数据包含第二加密数据。本申请通过限制安全内存的权限,借助安全模块将安全内存内存放的加密数据解密后存放至该安全内存处,进而减少内存的使用量和拷贝量,有效节省内存资源,提升系统性能。
Description
技术领域
本申请涉及数据处理领域,尤其涉及一种数据解密方法、系统、终端设备和存储介质。
背景技术
在数字版权保护(即DRM)系统中,具体保护音视频数据解密后的原始流、解密后的原始流经解码器解码后的YUV格式数据或RGB格式数据,以及解码后的YUV格式数据或RGB格式数据进行后续处理后输出的数据。
目前,在数字版权保护系统中,通常对音视频数据常用的加密方式是采用全加密或是部分加密,即将全部音视频数据进行加密处理,或是只将部分音视频数据进行加密处理,以达到保护音视频数据的目的。
而在终端设备上,对这些音视频数据的解密处理流程,一般是先申请内存,程序从服务器端申请获取原始的加密音视频数据,并将加密的原始数据写入申请的内存中。
由于该部分申请的内存所保存的数据为加密数据,该内存无需其他保护措施(即该部分内存的类型不定);一般而言,程序还会同时申请一块或多块内存用于存放解密后的原始数据,由于这部分申请的内存所保存的是解密后的数据,进而这部分需要申请的是安全内存,即非安全模块不能访问。而在内存申请完成后,再通过解密模块对原始的加密音视频数据进行解密,完成解密后,解密后的数据将保存于安全内存内,针对只有部分数据加密的场景(即非全加密场景),在保存解密数据时,需同时把未加密的数据拷贝至安全内存内,与解密后的数据组成完整的原始数据,后续可通过其它安全模块对该数据进行处理。
但是,上述解密处理流程需要占用较多的内存,且在非全加密场景下,需要对未加密的数据部分进行拷贝,从而降低了系统性能。
发明内容
有鉴于此,为了解决现有技术存在的问题,本申请提供了一种数据解密方法、系统、终端设备和存储介质。
第一方面,本申请提供一种数据解密方法,应用于非安全模块,所述方法包括:
获取第一数据以及安全内存,所述安全内存的属性包括供所述非安全模块的可写不可读权限属性以及供安全模块的可读可写权限属性;
将所述第一数据写入安全内存;
向所述安全模块发送反馈信息,以使所述安全模块通过所述反馈信息从所述安全内存中读取待解密的第二加密数据,并解密所述第二加密数据,得到解密数据,将所述解密数据写入所述安全内存;其中,所述第一数据包含所述第二加密数据。
在可选的实施方式中,所述向所述安全模块发送反馈信息,以使所述安全模块通过所述反馈信息从所述安全内存中读取待解密的第二加密数据,并解密所述第二加密数据,得到解密数据,将所述解密数据写入所述安全内存,包括:
向所述安全模块发送反馈信息,以使所述安全模块通过所述反馈信息从所述安全内存的目标地址中读取待解密的第二加密数据,并解密所述第二加密数据,得到解密数据,将所述解密数据写入所述目标地址;
在可选的实施方式中,在所述获取第一数据之前,还包括:
获取并解复用第三加密数据,识别得到所述第三加密数据中的第一数据及其属性信息,所述属性信息用于指示所述第一数据中待解密的第二加密数据的长度和起始地址,所述第二加密数据的长度和起始地址用于所述安全模块确定所述第二加密数据在所述安全内存中的目标地址。
第二方面,本申请提供一种数据解密方法,应用于安全模块,所述方法包括:
接收非安全模块在将第一数据写入安全内存后发送的反馈信息,所述安全内存的属性为供所述非安全模块的可写不可读权限属性以及供所述安全模块的可读可写权限属性;
通过所述反馈信息从所述安全内存中读取待解密的第二加密数据;其中,所述第一数据包含所述第二加密数据;
解密所述第二加密数据,得到解密数据,并将所述解密数据写入所述安全内存。
在可选的实施方式中,所述通过所述反馈信息从所述安全内存中读取待解密的第二加密数据,包括:
通过反馈信息从安全内存的目标地址中读取待解密的第二加密数据;
所述将所述解密数据写入所述安全内存,包括:
将所述解密数据写入所述目标地址;
可选地,所述反馈信息包括所述第一数据的属性信息;
所述通过所述反馈信息从所述安全内存中读取待解密的第二加密数据,包括:
提取所述反馈信息中的属性信息,根据所述属性信息指示的所述第一数据中第二加密数据的长度和起始地址,计算所述第二加密数据在所述安全内存中对应的目标地址;
从所述安全内存的目标地址中读取所述第二加密数据。
在可选的实施方式中,所述方法还包括:
若接收到访问请求,识别所述访问请求对应的发起对象的属性;
根据所述发起对象的属性,校验所述访问请求是否符合所述安全内存的属性对应的访问规则;
若不符合,则拦截并记录所述访问请求;
若符合,则执行所述访问请求。
在可选的实施方式中,若所述发起对象为非安全模块,所述校验所述访问请求是否符合所述安全内存的属性对应的访问规则,包括:
判断所述访问请求是否为写请求;
若是,则确定所述访问请求符合所述安全内存的属性对应的访问规则;
若否,则确定所述访问请求不符合所述安全内存的属性对应的访问规则。
在可选的实施方式中,若所述发起对象为安全模块,所述校验所述访问请求是否符合所述安全内存的属性对应的访问规则,包括:
若所述访问请求为写请求和读请求中的任一种或多种,则确定所述访问请求符合所述安全内存的属性对应的访问规则。
第三方面,本申请提供一种数据解密系统,包括非安全模块和安全模块;
所述非安全模块用于获取第一数据以及安全内存,所述安全内存的属性包括供所述非安全模块的可写不可读权限属性以及供安全模块的可读可写权限属性;
所述非安全模块还用于所述第一数据写入所述安全内存,并向所述安全模块发送反馈信息;
所述安全模块用于通过所述反馈信息从所述安全内存中读取待解密的第二加密数据,解密所述第二加密数据,得到解密数据,并将所述解密数据写入所述安全内存;其中,所述第一数据包含所述第二加密数据。
第四方面,本申请提供一种终端设备,包括存储器和至少一个处理器,所述存储器存储有计算机程序,所述处理器用于执行所述计算机程序以实施前述的数据解密方法。
第五方面,本申请提供一种计算机存储介质,其存储有计算机程序,所述计算机程序被执行时,实施根据前述的数据解密方法。
本申请实施例具有如下有益效果:
本申请实施例应用于非安全模块时,通过获取第一数据以及安全内存,安全内存的属性包括供非安全模块的可写不可读权限属性以及供安全模块的可读可写权限属性;将第一数据写入安全内存;向安全模块发送反馈信息,以使安全模块通过反馈信息从安全内存中读取待解密的第二加密数据,并解密第二加密数据,得到解密数据,将解密数据写入安全内存;其中,第一数据包含第二加密数据。本申请实施例通过限制安全内存的权限,将其属性配置为供所述非安全模块的可写不可读权限属性以及供安全模块的可读可写权限属性借助安全模块,从而借助安全模块将安全内存内存放的加密数据解密后存放至该安全内存处,进而在保证数据安全性的前提下,减少内存的使用量和数据拷贝量,有效节省内存资源,同时避免在非全加密场景下对第一数据中非加密数据的拷贝存储,提升系统性能,进而提升数据访问效率。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对本申请保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
图1示出了本申请实施例中数据解密系统的一种结构示意图;
图2示出了本申请实施例中数据解密方法的第一种实施方式示意图;
图3示出了本申请实施例中数据解密方法的第二种实施方式示意图;
图4示出了本申请实施例中数据解密方法的第三种实施方式示意图;
图5示出了本申请实施例中全加密场景下的一种解密处理流程示意图;
图6示出了本申请实施例中非全加密场景下的一种解密处理流程示意图。
附图标号说明:
100-非安全模块;200-安全模块。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。
通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
在下文中,可在本申请的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本申请的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本申请的各种实施例中被清楚地限定。
在数字版权保护系统中,对加密数据的解密处理流程需要占用较多内存,此外,这种解密处理流程使得在非全加密场景下,同时需要对未加密的数据部分进行拷贝,降低了系统性能,以导致在一些高帧率码流场景下,容易影响图像流畅度。
基于此,本申请实施例提供了一种数据解密系统及其方法,以及终端设备和存储介质,通过限制安全内存的权限,将其属性配置为供所述非安全模块的可写不可读权限属性以及供安全模块的可读可写权限属性,从而借助安全模块将安全内存内存放的加密数据解密后存放至该安全内存,在保证数据存储安全的同时,减少内存的使用量,有效节省内存资源,同时避免对数据进行多次拷贝存储,特别是能够减少在非全加密场景下对非加密数据的拷贝存储,提升系统性能,进而提升数据访问效率,以确保在高帧率码流场景下的图像流畅度。
请参照图1,本申请实施例提供了一种数据解密系统,示范性地,该系统包括非安全模块100和安全模块200;其中,该非安全模块100和安全模块200是基于各个功能模块对于出现安全问题的处理方式的不同来进行划分,其具体可以为程序和/或实体硬件,且其设置数量均可基于实际需求进行设置,在此并不加以限定。
示范性地,在服务器或终端设备上搭建数据解密系统(如数字版权保护系统,即DRM系统),服务器通过互联网与该系统中的安全模块和非安全模块通讯;其中,非安全模块运行在非安全处理器(即非安全CPU)上或是运行在处理器的非安全模式上;而安全模块运行在安全处理器(即CPU)上或是运行在处理器的安全模式上。
进一步地,该数据解密系统可以通过安全模块分配安全内存,还可以通过非安全模块/安全模块向安全内存写入加密数据,后续,仅安全模块可从安全内存中读取加密数据并进行解密,进而实现加密数据的存储以及解密流程。
具体地,上述数据解密系统执行数据解密的详细过程可以参考下述数据解密方法的实施例。
在一些示例中,请参照图2,在数据解密过程中,非安全模块可执行下述步骤:
S110,获取第一数据以及安全内存。
其中,安全内存的属性包括供所述非安全模块的可写不可读权限属性以及供安全模块的可读可写权限属性。
S120,将第一数据写入安全内存。
S130,向安全模块发送反馈信息,以使安全模块通过反馈信息从安全内存中读取待解密的第二加密数据,并解密第二加密数据,得到解密数据,将解密数据写入安全内存。其中,第一数据包含所述第二加密数据。
非安全模块向服务器或终端设备申请获取待解密的第一数据,而后,非安全模块可向安全模块申请一个安全内存,以通过该安全内存存储该第一数据。
其中,安全模块根据非安全模块发起的内存申请请求来分配满足需求数量且可用的安全内存;其安全内存的具体分配过程具体可根据实际需求进行设置,在此不做限定。
其中,获取到的安全内存的属性包括供非安全模块的可写不可读权限属性以及供安全模块的可读可写权限属性。
值得说明的是,在非安全模块将第一数据写入安全内存后,因为安全内存的属性权限设置,使得非安全模块无法读取安全内存内的数据,可以由非安全模块向安全模块发送反馈信息,由具有可读可写权限的安全模块根据反馈信息,从安全内存中读取第一数据中等待解密的第二加密数据。并调用安全模块中的或者具有安全属性的解密模块解密第二加密数据,得到解密数据。之后该解密数据可以继续存储在安全内存中,在保证了解密后数据的安全性的前提下,能够减少内存的申请量。且由于第二加密数据可以是第一数据中的部分或者全部数据,因此在完成解密后,即可以从原始申请的安全内存中获得完整的数据,减少了数据的拷贝量。
即该安全内存内可存储待解密的加密数据,也可以存储解密后得到的解密数据,进而,本实施例仅通过一个安全内存来存储解密前后的数据,减少内存使用量,有效节省内存资源,提高系统性能。
此外,本申请通过申请安全内存来保存待解密的加密数据以及解密数据,可避免加密数据和解密数据被非安全模块进行读取,确保加密数据和解密数据的数据存储安全。
在一实施方式中,上述S130可以包括:
S131,向所述安全模块发送反馈信息,以使所述安全模块通过所述反馈信息从所述安全内存的目标地址中读取待解密的第二加密数据,并解密所述第二加密数据,得到解密数据,将所述解密数据写入所述目标地址。
需要说明的是,本实施方式在上述的基础上,限定了解密前后的数据均保存在安全内存的相同目标地址中,即解密数据可以覆盖第二加密数据。由此能够通过地址复用,把解密前后的内存进行复用,进一步减少内存的使用量。此外,也方便部分加密数据进行解密场景下,内存中数据的重新整合,提升了数据处理进度。
为提高后续数据解密的高效性,可预先对获取到的加密数据进行处理,以提取出所需解密的目标加密数据,进而后续可直接对该目标加密数据进行相应处理,减少数据处理量,有效提高数据解密效率;进而,如图3所示,在获取第一数据之前,本申请实施例还包括如下步骤:
S140,获取并解复用第三加密数据,识别得到第三加密数据中的第一数据及其属性信息。
需要注意的是,系统可通过非安全模块/安全模块向服务器申请获取第三加密数据;具体的,该非安全模块可以通过网络页面、网络地址等方式获取待解密的第三加密数据,其中,该第三加密数据包括第一数据,第一数据可以是全部加密数据,也可以是部分加密数据。可选的,该第三加密数据可以是包含视频、音频、字幕、附件等不同流的数据。
进一步地,非安全模块对获取到的第三加密数据进行解复用处理,其中,解复用即是把不同的流从一种文件格式中解析出,进而通过解复用操作从第三加密数据中提取出待解密的目标数据(即第一数据)及其属性信息。其中,该属性信息用于指示该第一数据的加密类型以及第一数据中包含的待解密的第二加密数据的长度和起始地址,此外,属性信息中还可以包括第一数据的起始地址等信息。可以通过该属性信息确定该第一数据属于全加密数据或非全加密数据。
可根据该属性信息识别出该第一数据中待解密的加密数据部分(即第二加密数据),并通过安全模块对其进行相应解密处理,以避免对所有的数据部分进行读取和解密,从而提高数据解密效率。
示例的,若该第三加密数据为mp4文件格式的数据,即该第三加密数据包括音频数据和元数据;若所需解密的第一数据为第三加密数据中的音频数据,进而通过非安全模块对该第三加密数据进行解复用,以从第三加密数据中剥离出待解密的音频数据作为第一数据。
进一步地,在申请到可用的安全内存后,该非安全模块再将第一数据写入该安全内存中,并向安全模块发送一个反馈信息;该反馈信息包括属性信息,可以是第一数据的属性信息,也可以是第二数据的属性信息。此外,还可以包括第一数据在安全内存中的存储地址;其中,该属性信息用于指示第一数据中第二加密数据的长度和起始地址。
安全模块接收到该反馈信息,即表示第一数据已安全写入安全内存中。而后,安全模块可基于该反馈信息并从安全内存中提取出第二加密数据,以解密该第二加密数据,并将解密数据写入安全内存或安全内存的目标地址处。
相对应地,当该解密方法应用在安全模块时,安全模块在接到非安全模块的内存分配请求后,可以根据内存分配请求为所述非安全模块分配安全内存。
具体地,在数据解密过程中,如图4所示,可以执行以下步骤:
S210,接收非安全模块在将第一数据写入安全内存后发送的反馈信息。
其中,安全内存的属性为供非安全模块的可写不可读权限属性以及供安全模块的可读可写权限属性。
S220,通过反馈信息从安全内存中读取待解密的第二加密数据。
其中,第一数据包含第二加密数据。
S230,解密第二加密数据,得到解密数据,并将解密数据写入安全内存。
示范性地,安全模块在接收到非安全模块的内存分配请求后,进而根据该内存分配请求为非安全模块分配安全内存,并在分配安全内存的过程中,设置安全内存的属性为供非安全模块的可写不可读权限属性以及供安全模块的可读可写权限属性。
后续在安全内存接收到相应的访问请求时,可基于该安全内存的属性,对访问请求执行与该安全内存属性相应的访问规则校验操作,以确定是否对该访问请求进行拦截。
进一步地,在安全模块接收到反馈信息时,表示非安全模块已将第一数据写入至安全内存中,安全模块可对其进行解密操作。
值得说明的是,在非安全模块将第一数据写入安全内存后,因为安全内存的属性权限设置,使得非安全模块无法读取安全内存内的数据,可以由非安全模块向安全模块发送反馈信息,由具有可读可写权限的安全模块根据反馈信息,从安全内存中读取第一数据中等待解密的第二加密数据。并调用安全模块中的或者具有安全属性的解密模块解密第二加密数据,得到解密数据。之后该解密数据可以继续存储在安全内存中,在保证了解密后数据的安全性的前提下,能够减少内存的申请量。且由于第二加密数据可以是第一数据中的部分或者全部数据,因此在完成解密后,即可以从原始申请的安全内存中获得完整的数据,减少了数据的拷贝量。
值得说明的是,如图5和图6所示,本实施例可适用于全加密场景和非全加密场景,也即是,若该第二加密数据为全加密数据,即第二加密数据即是全部的第一数据,对应全加密场景,在解密过程中,提取出完整的第二加密数据来进行解密;若该第二加密数据为非全加密数据,即该第二加密数据仅是第一数据中的部分,在后续执行解密操作后,安全内存中存储的解密数据与第一数据中的其余部分可以组合形成完整数据。
具体地,在执行解密过程时,具体基于第一数据的属性信息来确定所需解密的数据部分。可以识别第一数据的属性信息,即识别该第一数据的加密类型,确定该第一数据是全加密数据还是非全加密数据。进而,根据该第一数据的属性信息来从第一数据中提取出目标加密数据(即待解密的第二加密数据),并记录该第二加密数据在第一数据中的长度和起始地址。
可以理解,若该第一数据为全加密数据,则第二加密数据即为第一数据;若该第一数据为非全加密数据,则该第二加密数据隶属于第一数据,即该第二加密数据为第一数据的加密部分,解密时即可仅对该第二加密数据进行解密,第一数据的未加密部分则不做任何处理。
在一实施方式中,本实施例还可以在第一数据存入至安全内存后,安全内存可基于第二加密数据的长度和起始地址,来提取出第一数据中待解密的第二加密数据。
进一步地,还可以将该第一数据对应在安全内存中的存储地址通过反馈信息的方式发送至安全模块,而后安全模块可基于该存储地址以及第二加密数据的长度和起始地址,来提取出第一数据中待解密的第二加密数据,进而使用安全模块中的解密模块对该第二加密数据进行解密。
具体地,安全模块提取出的反馈信息中,第一数据的属性信息用于指示第一数据中待解密的第二加密数据的长度和起始地址;进而,安全模块基于其属性信息指示的第一数据中第二加密数据的长度和起始地址,或者,再联合第一数据的存储地址,可确定第二加密数据在安全内存中的目标地址。
安全模块从该安全内存/目标地址中读取第二加密数据,并对其进行解密,得到解密数据,其中,该解密模块可采取相应的解密算法来执行解密操作,而采取的解密算法可根据实际需求进行设置,在此不做限定。
需要注意的是,在本实施例中,解密得到的解密数据后续存入该安全内存的原存储地址处,也即是,该解密数据对应写入至安全内存时,该解密数据具体写入至该安全内存中第二加密数据对应的目标地址处。
可以理解,将待解密的第二加密数据解密至安全内存的原存储地址处,以通过第二加密数据在该安全内存中的原存储空间来对解密后的数据进行存储,从而减少额外的内存存储使用,且利用原存储空间对其进行存储,节省了内存空间。
在一实施方式中,在安全模块将解密数据写入目标地址之后,安全模块可生成并发送一个解密完成信息,该解密完成信息用于指示数据已解密完成,进而使得非安全模块或安全模块向安全内存发起相应访问请求,以对解密数据执行相应操作。也即是,在将解密数据存储至安全内存之后,安全模块生成解密完成信息,并向后级模块发送该解密完成信息,以使得后级模块可向安全内存发起访问请求,来对解密数据执行相应的数据处理操作。
可选的,待数据解密完成或后级模块的数据处理操作完成后,可重复执行上述流程,以实现下一部分加密数据的解密处理。
作为一种可选的实施方式,安全模块在设置安全内存的属性时,基于该属性为该安全内存配置相应的访问规则,进而,后续在该安全内存接收到任一功能模块的访问请求时,可根据该访问规则对该访问请求进行校验。
值得说明的是,安全内存的访问规则只能由安全模块进行配置,访问规则建立后,由系统总线对安全内存接收到的访问请求进行规则判断,当不符合访问规则的访问请求被加载时,通过系统总线对该访问请求进行拦截,并在相关寄存器中对该访问请求的相关信息进行记录。
示范性地,本实施例设置该访问规则为非安全模块可写不可读,安全模块可读可写。
可以理解,隶属于非安全模块属性的功能模块可对该安全内存执行写操作,而不能执行读操作;而隶属于安全模块属性的功能模块可对该安全内存执行读操作和写操作。
示范性地,若该安全内存接收到各个功能模块或程序相应的访问请求,则获取发起该访问请求对应的发起对象(即功能模块或程序),还可以识别该功能模块或程序的属性;进而,校验访问请求及其发起对象的属性是否符合安全内存的属性对应的访问规则;若该发起对象的属性及其访问请求不符合该访问规则,则拦截并记录访问请求;若该发起对象的属性及其访问请求符合该访问规则,则执行访问请求。
也即是,在功能模块发起访问请求时,系统总线依次识别该访问请求对应发起对象的属性,进而基于该发起对象的属性校验该访问请求的类型是否符合该访问规则中该属性对应可执行的请求类型。
示例的,若该功能模块A为非安全模块,该功能模块A向安全内存发起读操作的访问请求,则基于该访问规则,非安全模块不能执行读操作,则确定访问请求不符合该访问规则,进而通过系统总线拦截该访问请求,并记录该访问请求的相关信息,便于后续追溯;反之,若该功能模块A向安全内存发起写操作的访问请求,则基于该访问规则,可确定该访问请求符合访问规则,进而可允许该功能模块A向安全内存执行写操作。
此外,若该功能模块B为安全模块,该功能模块B向安全内存发起读操作的访问请求,则基于该访问规则,安全模块可执行读操作和写操作,则可确定该访问请求符合访问规则,进而可允许该功能模块B向安全内存执行读操作。也即是,若该发起对象为安全模块时,若访问请求为读请求和写请求中的任一种或多种,则确定访问请求符合安全内存的属性对应的访问规则。
在本实施例中,通过将安全内存内存放的加密数据解密后存放至该安全内存的同一存储地址处,也即是通过地址控制方式,将加密数据和解密数据存放于同一安全内存的同一存储地址处;一方面,在保证数据存储安全的同时,减少内存的使用量,有效节省内存资源;另一方面,由于该解密数据存放于原安全内存内,进而避免在非全加密场景下对非加密数据的拷贝存储,且仅需对待解密的加密数据部分进行解密,从而提升系统性能,进而提升数据访问效率,以确保在高帧率码流场景下的图像流畅度。
本申请实施例还提供了一种计算机设备,该计算机设备可以但不限于为如台式计算机、笔记本、智能手机、平板等,其存在形式不作限定,主要取决于其是否需要支持浏览器网页的界面显示功能等。示范性地,该计算机设备包括处理器和存储器,其中,存储器存储有计算机程序,处理器通过运行所述计算机程序,以使计算机设备执行本申请的数据解密方法,其中,该方法包括:获取第一数据以及安全内存,安全内存的属性包括供非安全模块的可写不可读权限属性以及供安全模块的可读可写权限属性;将第一数据写入安全内存;向安全模块发送反馈信息,以使安全模块通过反馈信息从安全内存中读取待解密的第二加密数据,并解密第二加密数据,得到解密数据,将解密数据写入安全内存;其中,第一数据包含第二加密数据;进而,通过将安全内存内存放的加密数据解密后存放至该安全内存处,在保证数据存储安全的同时,减少内存的使用量,有效节省内存资源,同时避免在非全加密场景下对非加密数据的拷贝存储,提升系统性能,进而提升数据访问效率,以确保在高帧率码流场景下的图像流畅度。
其中,处理器可以是一种具有信号的处理能力的集成电路芯片。处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、图形处理器(GraphicsProcessing Unit,GPU)及网络处理器(Network Processor,NP)、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件中的至少一种。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。
其中,存储器可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存储器用于存储计算机程序,处理器在接收到执行指令后,可相应地执行所述计算机程序。
此外,本申请还提供了一种计算机存储介质,用于储存上述计算机设备中使用的所述计算机程序,其中,所述计算机程序在处理器上执行时,实施上述实施例的数据解密方法,该方法包括:获取第一数据以及安全内存,安全内存的属性包括供非安全模块的可写不可读权限属性以及供安全模块的可读可写权限属性;将第一数据写入安全内存;向安全模块发送反馈信息,以使安全模块通过反馈信息从安全内存中读取待解密的第二加密数据,并解密第二加密数据,得到解密数据,将解密数据写入安全内存;其中,第一数据包含第二加密数据。
可以理解,上述实施例的数据解密方法中的可选项同样适用于本实施例,故在此不再重复描述。
上述计算机存储介质可以是非易失性存储介质,也可以是易失性存储介质。例如,该计算机存储介质可包括但不限于为:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。
Claims (10)
1.一种数据解密方法,其特征在于,应用于非安全模块,所述方法包括:
获取第一数据以及安全内存,所述安全内存的属性包括供所述非安全模块的可写不可读权限属性以及供安全模块的可读可写权限属性;
将所述第一数据写入安全内存;
向所述安全模块发送反馈信息,以使所述安全模块通过所述反馈信息从所述安全内存中读取待解密的第二加密数据,并解密所述第二加密数据,得到解密数据,将所述解密数据写入所述安全内存;其中,所述第一数据包含所述第二加密数据。
2.根据权利要求1所述的数据解密方法,其特征在于,所述向所述安全模块发送反馈信息,以使所述安全模块通过所述反馈信息从所述安全内存中读取待解密的第二加密数据,并解密所述第二加密数据,得到解密数据,将所述解密数据写入所述安全内存,包括:
向所述安全模块发送反馈信息,以使所述安全模块通过所述反馈信息从所述安全内存的目标地址中读取待解密的第二加密数据,并解密所述第二加密数据,得到解密数据,将所述解密数据写入所述目标地址;
可选地,在所述获取第一数据之前,还包括:
获取并解复用第三加密数据,识别得到所述第三加密数据中的第一数据及其属性信息,所述属性信息用于指示所述第一数据中待解密的第二加密数据的长度和起始地址,所述第二加密数据的长度和起始地址用于所述安全模块确定所述第二加密数据在所述安全内存中的目标地址。
3.一种数据解密方法,其特征在于,应用于安全模块,所述方法包括:
接收非安全模块在将第一数据写入安全内存后发送的反馈信息,所述安全内存的属性为供所述非安全模块的可写不可读权限属性以及供所述安全模块的可读可写权限属性;
通过所述反馈信息从所述安全内存中读取待解密的第二加密数据;其中,所述第一数据包含所述第二加密数据;
解密所述第二加密数据,得到解密数据,并将所述解密数据写入所述安全内存。
4.根据权利要求3所述的数据解密方法,其特征在于,所述通过所述反馈信息从所述安全内存中读取待解密的第二加密数据,包括:
通过反馈信息从安全内存的目标地址中读取待解密的第二加密数据;
所述将所述解密数据写入所述安全内存,包括:
将所述解密数据写入所述目标地址;
可选地,所述反馈信息包括所述第一数据的属性信息;
所述通过反馈信息从安全内存的目标地址中读取待解密的第二加密数据,包括:
提取所述反馈信息中的属性信息,根据所述属性信息指示的所述第一数据中第二加密数据的长度和起始地址,计算所述第二加密数据在所述安全内存中对应的目标地址;
从所述安全内存的目标地址中读取所述第二加密数据。
5.根据权利要求3所述的数据解密方法,其特征在于,所述方法还包括:
若接收到访问请求,识别所述访问请求对应的发起对象的属性;
根据所述发起对象的属性,校验所述访问请求是否符合所述安全内存的属性对应的访问规则;
若不符合,则拦截并记录所述访问请求;
若符合,则执行所述访问请求。
6.根据权利要求5所述的数据解密方法,其特征在于,若所述发起对象为非安全模块,所述校验所述访问请求是否符合所述安全内存的属性对应的访问规则,包括:
判断所述访问请求是否为写请求;
若是,则确定所述访问请求符合所述安全内存的属性对应的访问规则;
若否,则确定所述访问请求不符合所述安全内存的属性对应的访问规则。
7.根据权利要求5所述的数据解密方法,其特征在于,若所述发起对象为安全模块,所述校验所述访问请求是否符合所述安全内存的属性对应的访问规则,包括:
若所述访问请求为写请求和读请求中的任一种或多种,则确定所述访问请求符合所述安全内存的属性对应的访问规则。
8.一种数据解密系统,其特征在于,包括非安全模块和安全模块;
所述非安全模块用于获取第一数据以及安全内存,所述安全内存的属性包括供所述非安全模块的可写不可读权限属性以及供安全模块的可读可写权限属性;
所述非安全模块还用于将所述第一数据写入所述安全内存,并向所述安全模块发送反馈信息;
所述安全模块用于通过所述反馈信息从所述安全内存中读取待解密的第二加密数据,解密所述第二加密数据,得到解密数据,并将所述解密数据写入所述安全内存;其中,所述第一数据包含所述第二加密数据。
9.一种终端设备,其特征在于,包括存储器和至少一个处理器,所述存储器存储有计算机程序,所述处理器用于执行所述计算机程序以实施权利要求1-7中任一项所述的数据解密方法。
10.一种计算机存储介质,其特征在于,其存储有计算机程序,所述计算机程序被执行时,实施根据权利要求1-7中任一项所述的数据解密方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311644150.1A CN117592081A (zh) | 2023-12-01 | 2023-12-01 | 一种数据解密方法、系统、终端设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311644150.1A CN117592081A (zh) | 2023-12-01 | 2023-12-01 | 一种数据解密方法、系统、终端设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117592081A true CN117592081A (zh) | 2024-02-23 |
Family
ID=89919880
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311644150.1A Pending CN117592081A (zh) | 2023-12-01 | 2023-12-01 | 一种数据解密方法、系统、终端设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117592081A (zh) |
-
2023
- 2023-12-01 CN CN202311644150.1A patent/CN117592081A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102363264B1 (ko) | 하드웨어로 보호되는 디지털 권한 관리를 구비한 미디어 디코딩 제어 | |
JP5670578B2 (ja) | 機密コードおよびデータを保護するためのアーキテクチャを含む方法および装置 | |
US9177116B2 (en) | Protection of digital data content | |
TWI490724B (zh) | 用於加載至少一個軟體模組的代碼的方法 | |
WO2017148316A1 (zh) | 文件加密方法、文件解密方法、电子设备和存储介质 | |
KR101405720B1 (ko) | 암호화 속성을 이용하는 가속 크립토그래피 | |
US20140105390A1 (en) | Video file encryption and decryption method, device, and mobile terminal | |
EP2352251A1 (en) | Content decoding apparatus, content decoding method and integrated circuit | |
CN101853682B (zh) | 再生装置及其再生方法 | |
TWI662838B (zh) | 用以保護並安全地傳遞媒體內容之方法,裝置,及系統 | |
US20130166922A1 (en) | Method and system for frame buffer protection | |
US11455757B2 (en) | Method and apparatus for reconstruction of original images from modified images | |
WO2017215148A1 (zh) | 文件保护方法及装置 | |
US7869595B2 (en) | Content copying device and content copying method | |
CN104217175A (zh) | 一种数据读写方法和装置 | |
CN110650191A (zh) | 一种分布式存储系统的数据读写方法 | |
CN117592081A (zh) | 一种数据解密方法、系统、终端设备和存储介质 | |
CN107832021B (zh) | 一种电子证据固定方法、终端设备及存储介质 | |
US11095937B2 (en) | Method and device for secure video processing | |
CN110795750A (zh) | 一种文档加密寄宿方法、系统及装置 | |
JP5175494B2 (ja) | 暗号化コンテンツ編集方法およびコンテンツ管理装置 | |
CN112632571B (zh) | 数据加密方法、解密方法与装置及存储装置 | |
CN116126516A (zh) | 视频数据处理方法、装置、计算机设备及可读存储介质 | |
KR101492669B1 (ko) | 프로세싱 유닛에 의해 암호화된 콘텐츠 기록 및 복원 방법 | |
CN112905543A (zh) | 脚本文件的防破解方法、介质、装置和计算设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |