CN118821177A - Multimedia encryption method, device, electronic device and storage medium - Google Patents
Multimedia encryption method, device, electronic device and storage medium Download PDFInfo
- Publication number
- CN118821177A CN118821177A CN202410903320.1A CN202410903320A CN118821177A CN 118821177 A CN118821177 A CN 118821177A CN 202410903320 A CN202410903320 A CN 202410903320A CN 118821177 A CN118821177 A CN 118821177A
- Authority
- CN
- China
- Prior art keywords
- multimedia file
- system call
- file
- multimedia
- judgment result
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
Description
技术领域Technical Field
本申请属于信息安全领域,尤其涉及一种多媒体加密方法、装置、电子设备及存储介质。The present application belongs to the field of information security, and in particular relates to a multimedia encryption method, device, electronic device and storage medium.
背景技术Background Art
图像和视频等多媒体数据目前在社会中发挥着重要作用,大量的多媒体文件存储在磁盘驱动器和可移动存储介质上。但是,许多潜在的威胁和安全攻击都是针对侵犯这些存储设备上的个人信息隐私的,特别是多媒体,这引起了人们的极大重视。Multimedia data such as images and videos currently play an important role in society, and a large number of multimedia files are stored on disk drives and removable storage media. However, many potential threats and security attacks are aimed at infringing the privacy of personal information on these storage devices, especially multimedia, which has attracted great attention.
现有技术中,用户空间文件系统(FUSE)是一个类unix框架,它允许非特权用户实现一个文件系统来执行用户空间中的特定功能。这种方法可以在不需要编辑底层内核级别或显著改变基本文件系统的设计和实现的情况下,提供存储安全。但是现有技术仍然存在一些缺点,包括读写响应时间较长,仍需进一步改进和优化。In the prior art, File System in User Space (FUSE) is a Unix-like framework that allows non-privileged users to implement a file system to perform specific functions in user space. This approach can provide storage security without editing the underlying kernel level or significantly changing the design and implementation of the basic file system. However, the prior art still has some shortcomings, including long read and write response times, and further improvement and optimization are needed.
发明内容Summary of the invention
本申请实施例提供一种多媒体加密方法、装置、电子设备及存储介质,能够在读取或写入存储的多媒体文件时实现尽可能低的响应时间。The embodiments of the present application provide a multimedia encryption method, device, electronic device and storage medium, which can achieve the lowest possible response time when reading or writing stored multimedia files.
第一方面,本申请实施例提供一种多媒体加密方法,方法可以包括:In a first aspect, an embodiment of the present application provides a multimedia encryption method, which may include:
在接收到用户应用程序发起的系统调用的情况下,根据所述系统调用得到第一判断结果,所述第一判断结果用于指示所述系统调用是否涉及到所述加密文件系统中的挂载目录中的多媒体文件;In the case of receiving a system call initiated by a user application, obtaining a first judgment result according to the system call, wherein the first judgment result is used to indicate whether the system call involves a multimedia file in a mount directory in the encrypted file system;
在所述第一判断结果指示所述系统调用涉及到所述加密文件系统中的挂载目录中的多媒体文件的情况下,对比所述系统调用和内核队列,得到第二判断结果,所述第二判断结果用于指示所述系统调用是否处于当前内核队列中;When the first judgment result indicates that the system call involves a multimedia file in a mount directory in the encrypted file system, comparing the system call with a kernel queue to obtain a second judgment result, wherein the second judgment result is used to indicate whether the system call is in a current kernel queue;
在所述第二判断结果指示所述系统调用处于当前内核队列中,且对所述多媒体文件进行写入操作的情况下,对所述多媒体文件进行并行加密,生成目标多媒体文件;When the second judgment result indicates that the system call is in the current kernel queue and a write operation is performed on the multimedia file, encrypting the multimedia file in parallel to generate a target multimedia file;
在生成所述目标多媒体文件的情况下,将响应信息返回至所述用户应用程序。When the target multimedia file is generated, response information is returned to the user application.
在其中一个实施例中,上述涉及到的所述在所述第一判断结果指示所述系统调用涉及到所述加密文件系统中的挂载目录中的多媒体文件的情况下,对比所述系统调用和内核队列,得到第二判断结果之后,还包括:In one embodiment, when the first judgment result indicates that the system call involves a multimedia file in a mount directory in the encrypted file system, after comparing the system call with the kernel queue to obtain a second judgment result, the method further includes:
在所述第二判断结果指示所述系统调用处于当前内核队列中,且对所述多媒体文件进行读取操作的情况下,对所述多媒体文件进行并行解密,生成目标多媒体文件。When the second judgment result indicates that the system call is in the current kernel queue and a read operation is performed on the multimedia file, the multimedia file is decrypted in parallel to generate a target multimedia file.
在其中一个实施例中,上述涉及到的所述在接收到用户应用程序发起的系统调用的情况下,根据所述系统调用得到第一判断结果之前,还包括:In one embodiment, the above-mentioned when a system call initiated by a user application is received, before obtaining a first judgment result according to the system call, further includes:
在接收到第一存储指令的情况下,生成加密密钥和解密密钥,所述解密密钥和所述加密密钥互为对称密钥,所述第一存储指令用于首次将所述多媒体文件存储至所述加密文件系统中的挂载目录中;generating an encryption key and a decryption key upon receiving a first storage instruction, wherein the decryption key and the encryption key are symmetric keys to each other, and the first storage instruction is used to store the multimedia file in a mount directory in the encrypted file system for the first time;
根据所述随机加密密钥对所述多媒体文件进行并行加密,在所述加密文件系统中的挂载目录中生成加密版本的多媒体文件。The multimedia file is encrypted in parallel according to the random encryption key, and an encrypted version of the multimedia file is generated in a mount directory in the encrypted file system.
在其中一个实施例中,所述在所述第二判断结果指示所述系统调用处于当前内核队列中,且对所述多媒体文件进行写入操作的情况下,对所述多媒体文件进行并行加密,生成目标多媒体文件,包括:In one of the embodiments, when the second judgment result indicates that the system call is in the current kernel queue and a write operation is performed on the multimedia file, encrypting the multimedia file in parallel to generate a target multimedia file includes:
在所述第二判断结果指示所述系统调用处于当前内核队列中,且对所述多媒体文件进行写入操作的情况下,通过配对所述加密密钥,对所述多媒体文件进行并行加密,生成所述目标多媒体文件;When the second judgment result indicates that the system call is in the current kernel queue and a write operation is performed on the multimedia file, encrypting the multimedia file in parallel by pairing the encryption keys to generate the target multimedia file;
将所述目标多媒体文件返回至回调层。Return the target multimedia file to the callback layer.
在其中一个实施例中,所述在所述第二判断结果指示所述系统调用处于当前内核队列中,且对所述多媒体文件进行读取操作的情况下,对所述多媒体文件进行并行解密,生成目标多媒体文件,包括:In one embodiment, when the second judgment result indicates that the system call is in the current kernel queue and a read operation is performed on the multimedia file, the multimedia file is decrypted in parallel to generate a target multimedia file, including:
在所述第二判断结果指示所述系统调用处于当前内核队列中,且对所述多媒体文件进行写入操作的情况下,通过对加密的所述多媒体文件进行头提取,并调用解密密钥,所述加密密钥和解密密钥互为对称密钥;When the second judgment result indicates that the system call is in the current kernel queue and a write operation is performed on the multimedia file, extracting a header of the encrypted multimedia file and calling a decryption key, the encryption key and the decryption key are symmetric keys to each other;
在对用户身份校验成功的情况下,根据所述解密密钥对加密的所述多媒体文件进行并行解密,生成并返回所述目标多媒体文件。When the user identity verification is successful, the encrypted multimedia file is decrypted in parallel according to the decryption key to generate and return the target multimedia file.
在其中一个实施例中,所述在所述第二判断结果指示所述系统调用处于当前内核队列中,且对所述多媒体文件进行写入操作的情况下,对所述多媒体文件进行并行加密,生成目标多媒体文件,包括:In one of the embodiments, when the second judgment result indicates that the system call is in the current kernel queue and a write operation is performed on the multimedia file, encrypting the multimedia file in parallel to generate a target multimedia file includes:
在所述第二判断结果指示所述系统调用处于当前内核队列中,且对所述多媒体文件进行写入操作的情况下,根据各个线程在内核上执行的时间量,得到各个线程的中央处理器CPU利用率;When the second judgment result indicates that the system call is in the current kernel queue and the multimedia file is written, the CPU utilization of each thread is obtained according to the amount of time each thread is executed on the kernel;
根据所述各个线程的CPU利用率和多个内核的负载情况,对多个所述多媒体文件进行加密的处理任务进行并行分配,生成多个所述目标多媒体文件。According to the CPU utilization of each thread and the load of multiple cores, the processing tasks of encrypting the multiple multimedia files are allocated in parallel to generate multiple target multimedia files.
在其中一个实施例中,所述根据所述各个线程的CPU利用率和多个内核的负载情况,对多个所述多媒体文件进行加密的处理任务进行并行分配,生成多个所述目标多媒体文件,包括:In one of the embodiments, the processing tasks of encrypting the plurality of multimedia files are allocated in parallel according to the CPU utilization of each thread and the load of the plurality of cores to generate the plurality of target multimedia files, including:
根据所述各个线程的CPU利用率和多个内核的负载情况,通过创建多个子进程,对多个所述多媒体文件进行加密的处理任务进行并行分配,生成多个所述目标多媒体文件,各所述子进程在具有不同地址空间的虚拟内存中具有不同的进程身份标识和单独的内存位置且彼此独立执行。According to the CPU utilization of each thread and the load of multiple cores, multiple sub-processes are created to distribute the processing tasks of encrypting multiple multimedia files in parallel, and multiple target multimedia files are generated. Each sub-process has a different process identity and a separate memory location in a virtual memory with a different address space and is executed independently of each other.
在其中一个实施例中,所述根据所述各个线程的CPU利用率和多个内核的负载情况,对多个所述多媒体文件进行加密的处理任务进行并行分配,生成多个所述目标多媒体文件,包括:In one of the embodiments, the processing tasks of encrypting the plurality of multimedia files are allocated in parallel according to the CPU utilization of each thread and the load of the plurality of cores to generate the plurality of target multimedia files, including:
根据所述各个线程的CPU利用率和多个内核的负载情况,通过线程方法创建多个属于单个父进程的线程,对多个所述多媒体文件进行加密的处理任务进行并行分配,生成多个所述目标多媒体文件,各所述子进程在具有不同地址空间的虚拟内存中具有不同的进程身份标识和单独的内存位置且彼此独立执行,所述多个属于单个父进程的线程通过全局变量共享相同的地址空间和参数。According to the CPU utilization of each thread and the load of multiple cores, multiple threads belonging to a single parent process are created through a thread method, and the processing tasks of encrypting multiple multimedia files are allocated in parallel to generate multiple target multimedia files. Each child process has a different process identity and a separate memory location in a virtual memory with a different address space and is executed independently of each other. The multiple threads belonging to a single parent process share the same address space and parameters through global variables.
第二方面,本申请实施例提供一种多媒体加密装置,装置可以包括:In a second aspect, an embodiment of the present application provides a multimedia encryption device, which may include:
第一判断模块,用于在接收到用户应用程序发起的系统调用的情况下,根据所述系统调用得到第一判断结果,所述第一判断结果用于指示所述系统调用是否涉及到所述加密文件系统中的挂载目录中的多媒体文件;A first judgment module, configured to, upon receiving a system call initiated by a user application, obtain a first judgment result according to the system call, wherein the first judgment result is used to indicate whether the system call involves a multimedia file in a mount directory in the encrypted file system;
第二判断模块,用于在所述第一判断结果指示所述系统调用涉及到所述加密文件系统中的挂载目录中的多媒体文件的情况下,对比所述系统调用和内核队列,得到第二判断结果,所述第二判断结果用于指示所述系统调用是否处于当前内核队列中;A second judgment module is used to compare the system call with the kernel queue to obtain a second judgment result when the first judgment result indicates that the system call involves a multimedia file in a mount directory in the encrypted file system, and the second judgment result is used to indicate whether the system call is in a current kernel queue;
加密模块,用于在所述第二判断结果指示所述系统调用处于当前内核队列中,且对所述多媒体文件进行写入操作的情况下,对所述多媒体文件进行并行加密,生成目标多媒体文件;an encryption module, configured to, when the second judgment result indicates that the system call is in the current kernel queue and a write operation is performed on the multimedia file, encrypt the multimedia file in parallel to generate a target multimedia file;
返回模块,用于在生成所述目标多媒体文件的情况下,将响应信息返回至所述用户应用程序。The returning module is used to return the response information to the user application program when the target multimedia file is generated.
第三方面,本申请实施例提供了一种电子设备,设备包括:In a third aspect, an embodiment of the present application provides an electronic device, the device comprising:
处理器;processor;
用于存储处理器可执行指令的存储器;a memory for storing processor-executable instructions;
其中,处理器被配置为执行指令,以实现如第一方面的任一项实施例中所示的多媒体加密方法。The processor is configured to execute instructions to implement the multimedia encryption method as shown in any one of the embodiments of the first aspect.
第四方面,本申请实施例提供了一种计算机存储介质,该计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现如第一方面的任一项实施例中所示的多媒体加密方法。In a fourth aspect, an embodiment of the present application provides a computer storage medium, on which a computer program is stored. When the computer program is executed by a processor, the multimedia encryption method shown in any one of the embodiments of the first aspect is implemented.
第五方面,本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在可读存储介质中,设备的至少一个处理器从存储介质读取并执行计算机程序,使得设备实现如第一方面的任一项实施例中所示的多媒体加密方法。In the fifth aspect, an embodiment of the present application also provides a computer program product, which includes a computer program stored in a readable storage medium, and at least one processor of the device reads and executes the computer program from the storage medium, so that the device implements the multimedia encryption method shown in any one of the embodiments of the first aspect.
本申请实施例提供了一种多媒体加密方法、装置、电子设备及存储介质,相较于现有技术,本申请具有以下有益效果:The embodiments of the present application provide a multimedia encryption method, device, electronic device, and storage medium. Compared with the prior art, the present application has the following beneficial effects:
本申请实施例的一种多媒体加密方法、装置、电子设备及存储介质,在接收到用户应用程序发起的系统调用的情况下,判断所述系统调用是否涉及到所述加密文件系统中的挂载目录中的多媒体文件。在所述系统调用涉及到所述加密文件系统中的挂载目录中的多媒体文件的情况下,判断所述系统调用是否处于当前内核队列中。在所述系统调用处于当前内核队列中,且对所述多媒体文件进行写入操作的情况下,对所述多媒体文件进行并行加密,生成目标多媒体文件,并将响应信息返回至所述用户应用程序。A multimedia encryption method, device, electronic device and storage medium according to an embodiment of the present application, when receiving a system call initiated by a user application, determines whether the system call involves a multimedia file in a mounted directory in the encrypted file system. When the system call involves a multimedia file in a mounted directory in the encrypted file system, determines whether the system call is in the current kernel queue. When the system call is in the current kernel queue and a write operation is performed on the multimedia file, the multimedia file is encrypted in parallel to generate a target multimedia file, and a response message is returned to the user application.
由此,并行加密文件系统有效地提供了一种高性能的加密解决方案来处理大型数据文件,并减少由繁重的工作负载造成的影响,因此可以用来满足实时需求。能够缩短系统响应时间,提高现有加密文件系统的性能。Therefore, the parallel encrypted file system effectively provides a high-performance encryption solution to handle large data files and reduce the impact caused by heavy workloads, so it can be used to meet real-time requirements. It can shorten the system response time and improve the performance of the existing encrypted file system.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the technical solution of the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
图1是本申请实施例提供的一种多媒体加密方法的流程示意图;FIG1 is a schematic diagram of a flow chart of a multimedia encryption method provided in an embodiment of the present application;
图2是本申请实施例提供的一种基于多核处理器的并行文件系统架构图;FIG2 is a diagram of a parallel file system architecture based on a multi-core processor provided in an embodiment of the present application;
图3是本申请实施例提供的一种多媒体文件加密/解密的BingxingFS组件的工作流程图;FIG3 is a flowchart of a BingxingFS component for multimedia file encryption/decryption provided in an embodiment of the present application;
图4是本申请实施例提供的一种并行系统中CPU内核上的线程调度流程图;FIG4 is a flowchart of thread scheduling on a CPU core in a parallel system provided by an embodiment of the present application;
图5是本申请实施例提供的一种使用基于分支和线程的并行方法的并行加密架构图;FIG5 is a diagram of a parallel encryption architecture using a branch- and thread-based parallel method provided in an embodiment of the present application;
图6是本申请实施例提供的一种使用BingxingFS写多媒体文件算法示意图;FIG6 is a schematic diagram of an algorithm for writing multimedia files using BingxingFS provided in an embodiment of the present application;
图7是本申请实施例提供的一种并行多媒体加密算法示意图;FIG7 is a schematic diagram of a parallel multimedia encryption algorithm provided in an embodiment of the present application;
图8是本申请实施例提供的一种BingxingFS上的并行加密处理示意图;FIG8 is a schematic diagram of parallel encryption processing on BingxingFS provided in an embodiment of the present application;
图9是本申请实施例提供的一种并行多媒体解密算法示意图;FIG9 is a schematic diagram of a parallel multimedia decryption algorithm provided in an embodiment of the present application;
图10是本申请实施例提供的一种多媒体加密装置的结构示意图;FIG10 is a schematic diagram of the structure of a multimedia encryption device provided in an embodiment of the present application;
图11是本申请实施例提供的一种电子设备的结构示意图。FIG. 11 is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application.
具体实施方式DETAILED DESCRIPTION
下面将详细描述本申请的各个方面的特征和示例性实施例,为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本申请进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本申请,而不是限定本申请。对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解。The features and exemplary embodiments of various aspects of the present application will be described in detail below. In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain the present application, rather than to limit the present application. For those skilled in the art, the present application can be implemented without the need for some of these specific details. The following description of the embodiments is only to provide a better understanding of the present application by illustrating the examples of the present application.
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the statement "include..." do not exclude the existence of other identical elements in the process, method, article or device including the elements.
在不脱离本申请的精神或范围的情况下,在本申请中能进行各种修改和变化,这对于本领域技术人员来说是显而易见的。因而,本申请意在覆盖落入所对应权利要求(要求保护的技术方案)及其等同物范围内的本申请的修改和变化。需要说明的是,本申请实施例所提供的实施方式,在不矛盾的情况下可以相互组合。It is obvious to those skilled in the art that various modifications and changes can be made in the present application without departing from the spirit or scope of the present application. Therefore, the present application is intended to cover modifications and changes of the present application that fall within the scope of the corresponding claims (technical solutions for protection) and their equivalents. It should be noted that the implementation methods provided in the embodiments of the present application can be combined with each other without contradiction.
根据背景技术可知,现有的技术方案读写响应时间较长,仍需进一步改进和优化。为了解决上述技术问题,本申请实施例提供了一种多媒体加密方法、装置、电子设备及存储介质,在接收到用户应用程序发起的系统调用的情况下,判断所述系统调用是否涉及到所述加密文件系统中的挂载目录中的多媒体文件。在所述系统调用涉及到所述加密文件系统中的挂载目录中的多媒体文件的情况下,判断所述系统调用是否处于当前内核队列中。在所述系统调用处于当前内核队列中,且对所述多媒体文件进行写入操作的情况下,对所述多媒体文件进行并行加密,生成目标多媒体文件,并将响应信息返回至所述用户应用程序。According to the background technology, the existing technical solutions have a long read and write response time and still need further improvement and optimization. In order to solve the above technical problems, the embodiments of the present application provide a multimedia encryption method, device, electronic device and storage medium. When a system call initiated by a user application is received, it is determined whether the system call involves a multimedia file in a mounted directory in the encrypted file system. When the system call involves a multimedia file in a mounted directory in the encrypted file system, it is determined whether the system call is in the current kernel queue. When the system call is in the current kernel queue and a write operation is performed on the multimedia file, the multimedia file is encrypted in parallel to generate a target multimedia file, and a response message is returned to the user application.
由此,并行加密文件系统有效地提供了一种高性能的加密解决方案来处理大型数据文件,并减少由繁重的工作负载造成的影响,因此可以用来满足实时需求。能够缩短系统响应时间,提高现有加密文件系统的性能。Therefore, the parallel encrypted file system effectively provides a high-performance encryption solution to handle large data files and reduce the impact caused by heavy workloads, so it can be used to meet real-time requirements. It can shorten the system response time and improve the performance of the existing encrypted file system.
以下将结合附图对多媒体加密方法、装置、电子设备及存储介质的实施例进行说明。The following will describe embodiments of a multimedia encryption method, device, electronic device, and storage medium in conjunction with the accompanying drawings.
下面首先介绍本申请实施例提供的多媒体加密方法,如图1所示,本申请实施例提供的多媒体加密方法,包括以下步骤:The following first introduces the multimedia encryption method provided by the embodiment of the present application. As shown in FIG1 , the multimedia encryption method provided by the embodiment of the present application includes the following steps:
S101:在接收到用户应用程序发起的系统调用的情况下,根据所述系统调用得到第一判断结果,所述第一判断结果用于指示所述系统调用是否涉及到所述加密文件系统中的挂载目录中的多媒体文件;S101: when a system call initiated by a user application is received, obtaining a first judgment result according to the system call, the first judgment result being used to indicate whether the system call involves a multimedia file in a mount directory in the encrypted file system;
S102:在所述第一判断结果指示所述系统调用涉及到所述加密文件系统中的挂载目录中的多媒体文件的情况下,对比所述系统调用和内核队列,得到第二判断结果,所述第二判断结果用于指示所述系统调用是否处于当前内核队列中;S102: When the first judgment result indicates that the system call involves a multimedia file in a mounted directory in the encrypted file system, compare the system call with a kernel queue to obtain a second judgment result, wherein the second judgment result is used to indicate whether the system call is in a current kernel queue;
S103:在所述第二判断结果指示所述系统调用处于当前内核队列中,且对所述多媒体文件进行写入操作的情况下,对所述多媒体文件进行并行加密,生成目标多媒体文件;S103: When the second judgment result indicates that the system call is in the current kernel queue and a write operation is performed on the multimedia file, encrypt the multimedia file in parallel to generate a target multimedia file;
S104:在生成所述目标多媒体文件的情况下,将响应信息返回至所述用户应用程序。S104: When the target multimedia file is generated, response information is returned to the user application.
本申请实施例提供了一种多媒体加密方法、装置、电子设备及存储介质,在接收到用户应用程序发起的系统调用的情况下,判断所述系统调用是否涉及到所述加密文件系统中的挂载目录中的多媒体文件。在所述系统调用涉及到所述加密文件系统中的挂载目录中的多媒体文件的情况下,判断所述系统调用是否处于当前内核队列中。在所述系统调用处于当前内核队列中,且对所述多媒体文件进行写入操作的情况下,对所述多媒体文件进行并行加密,生成目标多媒体文件,并将响应信息返回至所述用户应用程序。The embodiment of the present application provides a multimedia encryption method, device, electronic device and storage medium. When a system call initiated by a user application is received, it is determined whether the system call involves a multimedia file in a mounted directory in the encrypted file system. When the system call involves a multimedia file in a mounted directory in the encrypted file system, it is determined whether the system call is in the current kernel queue. When the system call is in the current kernel queue and a write operation is performed on the multimedia file, the multimedia file is encrypted in parallel to generate a target multimedia file, and a response message is returned to the user application.
由此,并行加密文件系统有效地提供了一种高性能的加密解决方案来处理大型数据文件,并减少由繁重的工作负载造成的影响,因此可以用来满足实时需求。能够缩短系统响应时间,提高现有加密文件系统的性能。Therefore, the parallel encrypted file system effectively provides a high-performance encryption solution to handle large data files and reduce the impact caused by heavy workloads, so it can be used to meet real-time requirements. It can shorten system response time and improve the performance of existing encrypted file systems.
需要说明的是,本提案提供的系统允许用户以与传统文件系统类似的方式使用它,并能够与单用户和多用户系统一起工作。通用FUSE框架是由FUSE内核驱动程序和用户空间文件系统守护进程构建的。通过FUSE库,FUSE内核驱动程序为开发人员提供了一组标准系统调用,这些调用支持开发自定义FUSE文件系统,以添加新特性或改进现有功能,基于FUSE技术的多媒体数据并行用户级加密文件系统BingxingFS,BingxingFS被设计为位于用户空间的后端文件系统层,为动态的多媒体文件提供透明的加密服务。It should be noted that the system provided by this proposal allows users to use it in a similar way to traditional file systems and is able to work with single-user and multi-user systems. The general FUSE framework is built by the FUSE kernel driver and the user space file system daemon. Through the FUSE library, the FUSE kernel driver provides developers with a set of standard system calls that support the development of custom FUSE file systems to add new features or improve existing functions. BingxingFS, a parallel user-level encrypted file system for multimedia data based on FUSE technology, is designed as a backend file system layer located in the user space to provide transparent encryption services for dynamic multimedia files.
在S101中,如图2所示,当用户或应用程序为多媒体文件发起系统调用时,系统调用被Linux内核的VFS层动态截获。VFS是一个内核软件层,它为所有文件系统和存储设备提供接口。它处理所有系统调用,抽象文件系统的功能,查询挂载的文件系统表,并解析文件路径。In S101, as shown in FIG2, when a user or application initiates a system call for a multimedia file, the system call is dynamically intercepted by the VFS layer of the Linux kernel. VFS is a kernel software layer that provides an interface for all file systems and storage devices. It handles all system calls, abstracts the functions of the file system, queries the mounted file system table, and resolves the file path.
当VFS意识到系统调用涉及存储在BingxingFS挂载中的目录中的多媒体文件时,它将系统调用转发给dev/FUSE。在用户级别,FUSE库处理负责挂载BingxingFS的主要函数,初始化数据结构,并管理FUSE内核驱动程序和BingxingFS守护进程之间的通信。When VFS realizes that the system call involves multimedia files stored in a directory mounted in BingxingFS, it forwards the system call to dev/FUSE. At the user level, the FUSE library handles the main functions responsible for mounting BingxingFS, initializing data structures, and managing communication between the FUSE kernel driver and the BingxingFS daemon.
在S102中,当FUSE库意识到系统调用当前处于内核队列中,它就会调用来自dev/FUSE的请求,处理它,并涉及执行BingxingFS所需的回调函数。In S102, when the FUSE library realizes that the system call is currently in the kernel queue, it calls the request from dev/FUSE, processes it, and involves the callback function required to execute BingxingFS.
在一个示例中,所述在所述第一判断结果指示所述系统调用涉及到所述加密文件系统中的挂载目录中的多媒体文件的情况下,对比所述系统调用和内核队列,得到第二判断结果之后,还包括:In one example, when the first judgment result indicates that the system call involves a multimedia file in a mount directory in the encrypted file system, after comparing the system call with the kernel queue to obtain a second judgment result, the method further includes:
在所述第二判断结果指示所述系统调用处于当前内核队列中,且对所述多媒体文件进行读取操作的情况下,对所述多媒体文件进行并行解密,生成目标多媒体文件。When the second judgment result indicates that the system call is in the current kernel queue and a read operation is performed on the multimedia file, the multimedia file is decrypted in parallel to generate a target multimedia file.
在S103中,BingxingFS文件系统在执行写或读操作之前对多媒体文件进行加解密,在执行加解密函数之后,FUSE库将结果写回dev/FUSE,然后再写回FUSE内核驱动程序。In S103, the BingxingFS file system encrypts and decrypts the multimedia file before executing the write or read operation. After executing the encryption and decryption function, the FUSE library writes the result back to dev/FUSE, and then writes it back to the FUSE kernel driver.
在一个示例中,所述在所述第二判断结果指示所述系统调用处于当前内核队列中,且对所述多媒体文件进行写入操作的情况下,对所述多媒体文件进行并行加密,生成目标多媒体文件,包括:In one example, when the second judgment result indicates that the system call is in the current kernel queue and a write operation is performed on the multimedia file, encrypting the multimedia file in parallel to generate a target multimedia file includes:
在所述第二判断结果指示所述系统调用处于当前内核队列中,且对所述多媒体文件进行写入操作的情况下,通过配对所述加密密钥,对所述多媒体文件进行并行加密,生成所述目标多媒体文件;When the second judgment result indicates that the system call is in the current kernel queue and a write operation is performed on the multimedia file, encrypting the multimedia file in parallel by pairing the encryption keys to generate the target multimedia file;
将所述目标多媒体文件返回至回调层。Return the target multimedia file to the callback layer.
在S104中,FUSE驱动程序将响应返回给发送请求的用户应用程序。In S104 , the FUSE driver returns a response to the user application that sent the request.
在一个示例中,所述在接收到用户应用程序发起的系统调用的情况下,根据所述系统调用得到第一判断结果之前,还包括:In one example, in the case of receiving a system call initiated by a user application, before obtaining a first judgment result according to the system call, the method further includes:
在接收到第一存储指令的情况下,生成加密密钥和解密密钥,所述解密密钥和所述加密密钥互为对称密钥,所述第一存储指令用于首次将所述多媒体文件存储至所述加密文件系统中的挂载目录中;generating an encryption key and a decryption key upon receiving a first storage instruction, wherein the decryption key and the encryption key are symmetric keys to each other, and the first storage instruction is used to store the multimedia file in a mount directory in the encrypted file system for the first time;
根据所述随机加密密钥对所述多媒体文件进行并行加密,在所述加密文件系统中的挂载目录中生成加密版本的多媒体文件。The multimedia file is encrypted in parallel according to the random encryption key, and an encrypted version of the multimedia file is generated in a mount directory in the encrypted file system.
在上述实施例中,本方案提供了一种强制机制,用于在用户每次发送请求时以及在执行写或读操作之前对多媒体文件进行加密和解密。当多媒体文件第一次存储在BingxingFS挂载下的目录中时,将随机生成加密密钥和解密密钥,所述解密密钥和所述加密密钥互为对称密钥,并对多媒体文件块进行加密,以便在此安全源目录中生成加密的文件版本,而无需用户干预。所设计的文件系统可以支持广泛的多媒体文件格式,兼容各种多媒体应用程序,包括图像、音频和视频文件格式。我们使用存储在多媒体文件头元数据上的魔术签名来识别文件类型。此外,通过将解密过程限制在单个多媒体文件的细粒度级别,该文件系统被设计为避免用户每次挂载文件系统时对未使用的文件进行不必要的解密和重新加密。当用户在根目录(例如/Multidir)上挂载BingxingFS时,该根目录的层次结构树将成为一个挂载点,该挂载点将自动以未加密的格式显示用户选择的文件。这为用户提供了存储安全多媒体文件的灵活性,而不受限于单个目录位置。同时,所有存储的文件都在相应的源目录上透明地加密,该目录提供后缀扩展名/Multidir.sec来区分它。In the above embodiment, the present scheme provides a mandatory mechanism for encrypting and decrypting multimedia files each time a user sends a request and before performing a write or read operation. When a multimedia file is stored in a directory mounted under BingxingFS for the first time, an encryption key and a decryption key are randomly generated, the decryption key and the encryption key are mutually symmetric keys, and the multimedia file blocks are encrypted so that an encrypted file version is generated in this secure source directory without user intervention. The designed file system can support a wide range of multimedia file formats and is compatible with various multimedia applications, including image, audio and video file formats. We use magic signatures stored on multimedia file header metadata to identify file types. In addition, by limiting the decryption process to the fine-grained level of a single multimedia file, the file system is designed to avoid unnecessary decryption and re-encryption of unused files each time the user mounts the file system. When a user mounts BingxingFS on a root directory (e.g., /Multidir), the hierarchical structure tree of the root directory will become a mount point, which will automatically display the user-selected files in an unencrypted format. This provides users with the flexibility to store secure multimedia files without being limited to a single directory location. At the same time, all stored files are transparently encrypted on the corresponding source directory, which is provided with the suffix extension /Multidir.sec to distinguish it.
BingxingFS还设计用于处理动态密钥管理过程,并在挂载期间强制执行用户身份验证。系统管理员负责安装BingxingFS文件系统并配置身份验证策略,以允许非特权用户挂载文件系统并进入安全挂载会话。每个用户都有一个用于挂载文件系统的登录认证密钥,该密钥是使用SHAKE-128从Linux登录密码短语的散列生成的。此外,每个用户都有一个公钥和私钥对(Pk、Prk),用于加密/解密对称文件加密密钥。使用对称密钥K对文件数据进行加密时,使用用户的Pk对K进行加密,并将其附加到多媒体文件的头中。如图3所示,图3总结了在为存储/打开的多媒体文件执行加密/解密过程时所提出的多媒体文件系统组件之间的交互。BingxingFS is also designed to handle the dynamic key management process and enforce user authentication during mounting. The system administrator is responsible for mounting the BingxingFS file system and configuring the authentication policy to allow non-privileged users to mount the file system and enter a secure mount session. Each user has a login authentication key for mounting the file system, which is generated from the hash of the Linux login passphrase using SHAKE-128. In addition, each user has a public and private key pair (Pk, Prk) for encrypting/decrypting symmetric file encryption keys. When encrypting file data using the symmetric key K, K is encrypted using the user's Pk and appended to the header of the multimedia file. As shown in Figure 3, Figure 3 summarizes the interactions between the proposed multimedia file system components when performing the encryption/decryption process for stored/opened multimedia files.
在一个示例中,所述在所述第二判断结果指示所述系统调用处于当前内核队列中,且对所述多媒体文件进行写入操作的情况下,对所述多媒体文件进行并行加密,生成目标多媒体文件,包括:In one example, when the second judgment result indicates that the system call is in the current kernel queue and a write operation is performed on the multimedia file, encrypting the multimedia file in parallel to generate a target multimedia file includes:
在所述第二判断结果指示所述系统调用处于当前内核队列中,且对所述多媒体文件进行写入操作的情况下,通过配对所述加密密钥,对所述多媒体文件进行并行加密,生成所述目标多媒体文件;When the second judgment result indicates that the system call is in the current kernel queue and a write operation is performed on the multimedia file, encrypting the multimedia file in parallel by pairing the encryption keys to generate the target multimedia file;
将所述目标多媒体文件返回至回调层。Return the target multimedia file to the callback layer.
在上述实施例中,如图3所示,图3为多媒体文件加密/解密的BingxingFS组件的工作流程,为文件的读取和写入权限,其中文件写入时通过调用BingxingFS守护程序,对明文多媒体文件进行操作,通过配对加密密钥,完成加密过程,最终将生成的加密多媒体块返回至回调层,通过libfuse和glibc底层应用,直接对内核FUSE模块进行操作,完成加密过程。In the above embodiment, as shown in Figure 3, Figure 3 is the workflow of the BingxingFS component for multimedia file encryption/decryption, which is the read and write permissions of the file. When the file is written, the BingxingFS daemon is called to operate on the plaintext multimedia file, and the encryption process is completed by pairing the encryption key. Finally, the generated encrypted multimedia block is returned to the callback layer, and the kernel FUSE module is directly operated through the libfuse and glibc underlying applications to complete the encryption process.
在一个示例中,所述在所述第二判断结果指示所述系统调用处于当前内核队列中,且对所述多媒体文件进行读取操作的情况下,对所述多媒体文件进行并行解密,生成目标多媒体文件,包括:In one example, when the second judgment result indicates that the system call is in the current kernel queue and a read operation is performed on the multimedia file, the multimedia file is decrypted in parallel to generate a target multimedia file, including:
在所述第二判断结果指示所述系统调用处于当前内核队列中,且对所述多媒体文件进行写入操作的情况下,通过对加密的所述多媒体文件进行头提取,并调用解密密钥,所述加密密钥和解密密钥互为对称密钥;When the second judgment result indicates that the system call is in the current kernel queue and a write operation is performed on the multimedia file, extracting a header of the encrypted multimedia file and calling a decryption key, the encryption key and the decryption key are symmetric keys to each other;
在对用户身份校验成功的情况下,根据所述解密密钥对加密的所述多媒体文件进行并行解密,生成并返回所述目标多媒体文件。When the user identity verification is successful, the encrypted multimedia file is decrypted in parallel according to the decryption key to generate and return the target multimedia file.
在上述实施例中,如图3所示,当用户执行文件读取时,通过对加密的多媒体文件进行头提取,并调用解密密钥,BingxingFS守护程序负责对访问用户身份进行校验,当通过校验后完成解密操作并返回原始多媒体文件;当身份校验未通过时,则直接拒绝访问流程,实现文件的安全访问权限控制。In the above embodiment, as shown in Figure 3, when the user executes file reading, the BingxingFS daemon is responsible for verifying the identity of the accessing user by extracting the header of the encrypted multimedia file and calling the decryption key. When the verification passes, the decryption operation is completed and the original multimedia file is returned; when the identity verification fails, the access process is directly denied to achieve secure access permission control of the file.
在一个示例中,所述在所述第二判断结果指示所述系统调用处于当前内核队列中,且对所述多媒体文件进行写入操作的情况下,对所述多媒体文件进行并行加密,生成目标多媒体文件,包括:In one example, when the second judgment result indicates that the system call is in the current kernel queue and a write operation is performed on the multimedia file, encrypting the multimedia file in parallel to generate a target multimedia file includes:
在所述第二判断结果指示所述系统调用处于当前内核队列中,且对所述多媒体文件进行写入操作的情况下,根据各个线程在内核上执行的时间量,得到各个线程的中央处理器CPU利用率;When the second judgment result indicates that the system call is in the current kernel queue and the multimedia file is written, the CPU utilization of each thread is obtained according to the amount of time each thread is executed on the kernel;
根据所述各个线程的CPU利用率和多个内核的负载情况,对多个所述多媒体文件进行加密的处理任务进行并行分配,生成多个所述目标多媒体文件。According to the CPU utilization of each thread and the load of multiple cores, the processing tasks of encrypting the multiple multimedia files are allocated in parallel to generate multiple target multimedia files.
在上述实施例中,在顺序与并行处理模式中,加密由一系列独立运行的文件块的顺序进程组成;每个块的加密依赖于前一个加密块的即时输出。因此,使用加密服务读写大型存储文件是一个主要瓶颈。如果应用于用户空间应用程序,这一挑战的难度会增加。加密文件系统通常会优化性能,因为它们结合了加密和完整性保护技术,并且所有相关的计算都以高度无缝和兼容的方式执行,在内核和用户空间之间没有许多数据副本。然而,文件系统方案被设计成主要将文件作为可寻址的字节和块序列来处理,从而阻止了它们利用多核处理器的最新进展。In the above embodiments, encryption consists of a series of sequential processes of file blocks that run independently in both sequential and parallel processing modes; the encryption of each block relies on the immediate output of the previous encrypted block. Therefore, reading and writing large storage files using encryption services is a major bottleneck. The difficulty of this challenge increases if applied to user space applications. Encrypting file systems generally optimize performance because they combine encryption and integrity protection techniques, and all related computations are performed in a highly seamless and compatible manner without many data copies between the kernel and user space. However, file system schemes are designed to primarily process files as addressable sequences of bytes and blocks, preventing them from taking advantage of recent advances in multi-core processors.
并行加密文件系统可以显著地解决加密操作带来的处理开销,并缩短系统响应时间。在这里,单独文件块的加密和解密是独立计算的,并使用多个进程和线程以奇偶校验形式并发处理。虽然加密文件系统在顺序构建中需要较少的内存,但并行加密文件系统有效地提供了一种高性能的加密解决方案来处理大型数据文件,并减少瓶颈(由繁重的工作负载造成的)的影响,因此可以用来满足实时需求。提案通过并发处理一组通用的多媒体文件块,开发BingxingFS来支持加密工作负载,从而提高了现有加密文件系统的性能。Parallel encrypted file systems can significantly address the processing overhead caused by encryption operations and shorten system response time. Here, encryption and decryption of individual file blocks are calculated independently and processed concurrently in a parity form using multiple processes and threads. While encrypted file systems require less memory in sequential construction, parallel encrypted file systems effectively provide a high-performance encryption solution to handle large data files and reduce the impact of bottlenecks (caused by heavy workloads), so they can be used to meet real-time requirements. The proposal improves the performance of existing encrypted file systems by concurrently processing a set of common multimedia file blocks and developing BingxingFS to support encryption workloads.
BingxingFS的主要目标是为每个多媒体文件读写请求实现更高的加密性能和更快的响应时间。然而,性能水平是由保留进程、资源工作负载和技术环境驱动的。此外,同步的变化和并行线程计算的差异会影响CPU内核的性能。在多核CPU中,一个核可能会因为等待I/O操作或进入低功耗空闲状态而过载。在执行大小不等的任务时,一个核心可能比其他核心先完成自己的进程,从而降低了效率,增加了系统的响应时间。为了避免这种情况,在提出的方案中,我们通过测量每个线程在内核上执行的时间量来测量线程的CPU利用率。BingxingFS中的线程调度基于Linux的完全公平调度程序(CFS)。它定期动态地测量正在运行的线程的CPU利用率,以便将较少的加密处理任务分配给负载较重的内核,而将较大的任务分配给数据处理较少或处于空闲状态的内核。这里在BingxingFS文件系统守护进程中设计了一个线程池,以执行在CPU内核上运行的并行加密任务。图4显示了CPU内核上的线程调度,其中Tz表示线程大小(以字节为单位),U表示内核利用率。The main goal of BingxingFS is to achieve higher encryption performance and faster response time for each multimedia file read and write request. However, the performance level is driven by the reserved process, resource workload, and technical environment. In addition, changes in synchronization and differences in parallel thread computations can affect the performance of CPU cores. In a multi-core CPU, one core may be overloaded by waiting for I/O operations or entering a low-power idle state. When executing tasks of varying sizes, one core may complete its own process before other cores, thereby reducing efficiency and increasing the response time of the system. To avoid this, in the proposed scheme, we measure the CPU utilization of threads by measuring the amount of time each thread executes on a core. The thread scheduling in BingxingFS is based on Linux's Completely Fair Scheduler (CFS). It periodically and dynamically measures the CPU utilization of running threads so that fewer encryption processing tasks can be assigned to cores with heavier loads, while larger tasks can be assigned to cores with less data processing or in an idle state. A thread pool is designed here in the BingxingFS file system daemon to execute parallel encryption tasks running on CPU cores. Figure 4 shows the thread scheduling on CPU cores, where Tz represents the thread size in bytes and U represents the core utilization.
图4为并行系统中CPU内核上的线程调度流程图,如图4所示,BingxingFS守护程序在对文件加解密过程监控时,其主要作用也是对CPU内核实现了集中调度管理,在守护程序收到了用户在对多媒体文件夹的操作任务消息时,首先线程池内资源进行检查,分别建立身份验证、密钥配对和OpenSSL链接的任务派发,同时对CPU内核资源进行计算,通过对调度任务的优先级及负荷指标进行排序,参照虚拟内核的性能合理安排所需执行的任务。FIG4 is a flowchart of thread scheduling on the CPU core in a parallel system. As shown in FIG4, when the BingxingFS daemon monitors the file encryption and decryption process, its main function is to realize centralized scheduling management of the CPU core. When the daemon receives the user's operation task message for the multimedia folder, it first checks the resources in the thread pool, establishes the task dispatching of identity authentication, key pairing and OpenSSL link respectively, and calculates the CPU core resources at the same time. By sorting the priority and load index of the scheduling tasks, it reasonably arranges the tasks to be executed with reference to the performance of the virtual core.
在一个示例中,所述根据所述各个线程的CPU利用率和多个内核的负载情况,对多个所述多媒体文件进行加密的处理任务进行并行分配,生成多个所述目标多媒体文件,包括:In one example, the process of allocating the encryption processing tasks of the plurality of multimedia files in parallel according to the CPU utilization of each thread and the load of the plurality of cores to generate the plurality of target multimedia files includes:
根据所述各个线程的CPU利用率和多个内核的负载情况,通过创建多个子进程,对多个所述多媒体文件进行加密的处理任务进行并行分配,生成多个所述目标多媒体文件,各所述子进程在具有不同地址空间的虚拟内存中具有不同的进程身份标识和单独的内存位置且彼此独立执行。According to the CPU utilization of each thread and the load of multiple cores, multiple sub-processes are created to distribute the processing tasks of encrypting multiple multimedia files in parallel, and multiple target multimedia files are generated. Each sub-process has a different process identity and a separate memory location in a virtual memory with a different address space and is executed independently of each other.
在另一个示例中,所述根据所述各个线程的CPU利用率和多个内核的负载情况,对多个所述多媒体文件进行加密的处理任务进行并行分配,生成多个所述目标多媒体文件,包括:In another example, the encrypting processing tasks of the plurality of multimedia files are distributed in parallel according to the CPU utilization of each thread and the load of the plurality of cores to generate the plurality of target multimedia files, including:
根据所述各个线程的CPU利用率和多个内核的负载情况,通过线程方法创建多个属于单个父进程的线程,对多个所述多媒体文件进行加密的处理任务进行并行分配,生成多个所述目标多媒体文件,各所述子进程在具有不同地址空间的虚拟内存中具有不同的进程身份标识和单独的内存位置且彼此独立执行,所述多个属于单个父进程的线程通过全局变量共享相同的地址空间和参数。According to the CPU utilization of each thread and the load of multiple cores, multiple threads belonging to a single parent process are created through a thread method, and the processing tasks of encrypting multiple multimedia files are allocated in parallel to generate multiple target multimedia files. Each child process has a different process identity and a separate memory location in a virtual memory with a different address space and is executed independently of each other. The multiple threads belonging to a single parent process share the same address space and parameters through global variables.
在上述两个示例中,如图5所示,基于多核处理器的并行加密可以用两种不同的方法实现。第一种方法可以通过创建许多子进程来实现,其中每个子进程在具有不同地址空间的虚拟内存中具有不同的进程ID和单独的内存位置,并且彼此独立执行。在第二种方法中,可以使用线程方法创建许多属于单个父进程的线程,并通过全局变量共享相同的地址空间和参数。图5为使用基于分支和线程的并行方法的并行加密设计的体系结构。In the above two examples, as shown in Figure 5, parallel encryption based on multi-core processors can be implemented in two different ways. The first method can be implemented by creating many child processes, each of which has a different process ID and a separate memory location in a virtual memory with a different address space and executes independently of each other. In the second method, a threading method can be used to create many threads belonging to a single parent process and share the same address space and parameters through global variables. Figure 5 shows the architecture of the parallel encryption design using the branch-based and thread-based parallel methods.
采用线程化方法设计并行系统的结构。这里,FUSE驱动程序用于挂钩与BingxingFS操作相关的系统调用。当I/O请求访问挂载点目录中的文件时,请求将被转发以执行定制的加密过程。否则,进程将请求传递给底层内核文件系统。当收到write()请求时,明文文件被分成几个块,每个块的最大大小为4KB。然后将这些块分成几个子块,每个子块大小为1KB。我们通过创建任务管理器使用预分支技术,并使用进程间通信(IPC)方法将任务推送到任务管理器队列。这可以为多个进程之间的通信提供一种有效的机制,并减少进程和线程分配带来的瓶颈影响,从而提高性能。此外,我们构建了一个线程池,其中包括属于一个父进程的多个线程,并通过全局变量共享相同的地址空间和参数。然后,创建的线程从任务管理器弹出任务,并根据CFS CPU调度器分发任务。这里,在任务管理器中,推送操作被赋予比弹出操作更高的优先级。此外,还设计了一个锁,用于在任务管理器清空时阻塞线程。The structure of the parallel system is designed using a threading approach. Here, the FUSE driver is used to hook system calls related to BingxingFS operations. When an I/O request accesses a file in the mount point directory, the request is forwarded to perform a customized encryption process. Otherwise, the process passes the request to the underlying kernel file system. When a write() request is received, the plaintext file is divided into several blocks, each with a maximum size of 4KB. These blocks are then divided into several sub-blocks, each with a size of 1KB. We use the pre-branching technique by creating a task manager and push tasks to the task manager queue using an inter-process communication (IPC) method. This can provide an effective mechanism for communication between multiple processes and reduce the bottleneck effect caused by process and thread allocation, thereby improving performance. In addition, we build a thread pool that includes multiple threads belonging to one parent process and sharing the same address space and parameters through global variables. Then, the created thread pops the task from the task manager and distributes the task according to the CFS CPU scheduler. Here, in the task manager, the push operation is given a higher priority than the pop operation. In addition, a lock is designed to block the thread when the task manager is emptied.
创建线程后,每个线程都独立加密,所有线程都并行加密。此外,加密函数所需的所有加密参数,如加密密钥、参数,都会被传递。随后,考虑到任务顺序,每个线程的输出都会按相反的顺序收集,因为任务不会以相同的顺序结束。图6所示的算法1描述了当接收到针对多媒体文件的write()请求时,BingxingFS所涉及的步骤。After creating the threads, each thread encrypts independently and all threads encrypt in parallel. In addition, all encryption parameters required by the encryption function, such as encryption keys, parameters, are passed. Subsequently, considering the task order, the output of each thread is collected in reverse order because the tasks will not end in the same order. Algorithm 1 shown in Figure 6 describes the steps involved in BingxingFS when a write() request for a multimedia file is received.
分配许多共享内存插槽,每个插槽的大小与子块相同,插槽的数量是预分叉进程的数量,应该是4的倍数,至少有4个插槽,因为目前大多数多核处理器的结构都有4个进程和线程。同时,在每个插槽周围使用一个锁,以确保所有插槽属于同一个任务,并避免由于插槽属于不同的任务而无法实现每个插槽的空闲插槽而导致的死锁。在用数据段填充插槽后,我们为每个传递的密钥和IV(初始向量)对任务进行排队,这些密钥和IV可以在共享内存中。此外,对于每个共享槽的索引,我们将IPC事件与所有服务子进程关联起来。然后,等待插槽通知:在一端使用event.wait(),同时在另一端使用event.notify()。当所有段都完成并发出通知时,等待的调用方会从与编码函数相同的插槽中收集结果。它从共享内存中获取子块,对其进行加密,然后将其放回同一共享内存中。当使用第二种方法的线程而不是第一种方法的进程时,以相同的方式使用全局变量的槽。Allocate a number of shared memory slots, each of which is the same size as the sub-block, and the number of slots is the number of pre-forked processes, which should be a multiple of 4, with at least 4 slots, since most current multi-core processors are structured with 4 processes and threads. At the same time, use a lock around each slot to ensure that all slots belong to the same task and avoid deadlocks caused by not being able to achieve a free slot for each slot due to slots belonging to different tasks. After filling the slots with data segments, we queue the tasks for each passed key and IV (initial vector), which can be in shared memory. In addition, for each shared slot index, we associate an IPC event with all service sub-processes. Then, wait for the slot notification: use event.wait() on one end and event.notify() on the other end at the same time. When all segments are completed and notified, the waiting caller collects the results from the same slot as the encoding function. It takes the sub-block from shared memory, encrypts it, and puts it back in the same shared memory. The slots of global variables are used in the same way when using threads for the second method instead of processes for the first method.
并行加密和解密:Parallel encryption and decryption:
写在挂载目录中的多媒体文件被BingxingFS截获,然后使用具有对称和非对称密码的混合加密方案对文件进行加密。在对称加密中,使用Blowfish加密算法加密所有的文件块,密钥长度为128位,块大小为4kb。为每个新的多媒体文件加密随机生成一个64位文件salt,我们的方案采用了计数器模式(CTR)。CTR是一种完全可并行化的操作模式,可有效地用于多媒体加密,并提供对任何分组密码的随机访问,而不会出现错误传播或密文扩展。每个数据块都有一个通过对文件salt进行异或生成的唯一IV,计数器块对应于每个数据块,这可以防止类似的明文块被加密为相同的密文块。因此,需要在所有文件块中设置计数器块的唯一性要求,以保证更好的保护。在对文件主体进行对称加密之后,使用RSA-2048算法对加密密钥(具有文件salt)进行非对称加密,并使用用户的公钥进行加密,然后将用户的公钥与多媒体文件的报头一起存储。图7所示的算法2描述了BingxingFS守护进程中涉及的文件加密步骤。首先,系统生成与多媒体文件(F)中数据块(B)数量相同(n)的所有唯一加密块计数器(ctr)。然后,通过将全局文件salt(FSalt)与每个对应的块加密计数器(ctri)异或来创建与所有数据块相关联的所有唯一IV。Multimedia files written in the mounted directory are intercepted by BingxingFS, and then the files are encrypted using a hybrid encryption scheme with symmetric and asymmetric ciphers. In symmetric encryption, all file blocks are encrypted using the Blowfish encryption algorithm with a key length of 128 bits and a block size of 4kb. A 64-bit file salt is randomly generated for each new multimedia file encryption, and our scheme adopts the counter mode (CTR). CTR is a fully parallelizable operation mode that can be effectively used for multimedia encryption and provides random access to any block cipher without error propagation or ciphertext expansion. Each data block has a unique IV generated by XORing the file salt, and a counter block corresponds to each data block, which prevents similar plaintext blocks from being encrypted into the same ciphertext block. Therefore, the uniqueness requirement of the counter block needs to be set in all file blocks to guarantee better protection. After the file body is symmetrically encrypted, the encryption key (with the file salt) is asymmetrically encrypted using the RSA-2048 algorithm and encrypted with the user's public key, which is then stored with the header of the multimedia file. Algorithm 2 shown in Figure 7 describes the file encryption steps involved in the BingxingFS daemon. First, the system generates all unique encryption block counters (ctr) that are the same number (n) as the number of data blocks (B) in the multimedia file (F). Then, all unique IVs associated with all data blocks are created by XORing the global file salt (FSalt) with each corresponding block encryption counter (ctri).
图8给出了数据块的并行加密处理。作为输入,加密函数将单个4kb数据块(Bi)分割为m个子块(SB1,SB2,……,SBm),对应的唯一IVi和加密密钥K。使用相同的IV,所有子块属于同一父块,并且所有文件块共享相同的K。一旦完成接收加密参数,并行加密函数就准备好执行。每个数据子块与一个线程关联,独立地对数据段进行加密,与其他子块无关,所有线程并行执行。一旦所有子块的并行执行完成,就会产生加密的子块(CSB1,CSB2,……,CSBm),它们被组合成一个加密块(CB)。对所有文件块(n)重复此操作,并收集所有生成的加密块(CB1,CB2,……,CBn),并以加密多媒体文件(CF)的形式写入磁盘。Figure 8 shows the parallel encryption processing of data blocks. As input, the encryption function splits a single 4kb data block (Bi) into m sub-blocks (SB1, SB2, …, SBm), corresponding unique IVi and encryption key K. The same IV is used, all sub-blocks belong to the same parent block, and all file blocks share the same K. Once the encryption parameters are received, the parallel encryption function is ready for execution. Each data sub-block is associated with a thread, which encrypts the data segment independently, independent of other sub-blocks, and all threads execute in parallel. Once the parallel execution of all sub-blocks is completed, encrypted sub-blocks (CSB1, CSB2, …, CSBm) are generated, which are combined into an encrypted block (CB). This operation is repeated for all file blocks (n) and all generated encrypted blocks (CB1, CB2, …, CBn) are collected and written to disk in the form of an encrypted multimedia file (CF).
解密的工作原理类似,但是相反的。首先,从图像头中提取K和FSalt,使用用户的私钥对它们进行解密,并重建所有使用的IV。作为输入,解密函数将加密块(CB1,CB2,……,CBn)、相应的IVi和相同的加密k作为输入。随后,将每个加密块分割成子块并并行处理。此操作将重复进行,直到所有加密块都被解密,从而得到多媒体文件F的原始明文。图9所示的算法3描述了当接收到针对存储的多媒体文件的read()请求时,BingxingFS中涉及的并行解密步骤。Decryption works similarly, but in reverse. First, K and FSalt are extracted from the image header, they are decrypted using the user's private key, and all used IVs are reconstructed. As input, the decryption function takes the encrypted blocks (CB1, CB2, ..., CBn), the corresponding IVi, and the same encrypted k. Subsequently, each encrypted block is split into sub-blocks and processed in parallel. This operation is repeated until all encrypted blocks are decrypted, resulting in the original plaintext of the multimedia file F. Algorithm 3 shown in Figure 9 describes the parallel decryption steps involved in BingxingFS when a read() request is received for a stored multimedia file.
基于上述实施例提供的一种多媒体加密装置,相应地,如图10所示,本申请实施例提供一种多媒体加密装置1000,该装置可以包括:Based on a multimedia encryption device provided in the above embodiment, accordingly, as shown in FIG10 , an embodiment of the present application provides a multimedia encryption device 1000, which may include:
第一判断模块1001,用于在接收到用户应用程序发起的系统调用的情况下,根据所述系统调用得到第一判断结果,所述第一判断结果用于指示所述系统调用是否涉及到所述加密文件系统中的挂载目录中的多媒体文件;A first judgment module 1001 is used for, when receiving a system call initiated by a user application, obtaining a first judgment result according to the system call, wherein the first judgment result is used to indicate whether the system call involves a multimedia file in a mount directory in the encrypted file system;
第二判断模块1002,用于在所述第一判断结果指示所述系统调用涉及到所述加密文件系统中的挂载目录中的多媒体文件的情况下,对比所述系统调用和内核队列,得到第二判断结果,所述第二判断结果用于指示所述系统调用是否处于当前内核队列中;A second judgment module 1002 is used to compare the system call with the kernel queue to obtain a second judgment result when the first judgment result indicates that the system call involves a multimedia file in a mount directory in the encrypted file system, wherein the second judgment result is used to indicate whether the system call is in a current kernel queue;
加密模块1003,用于在所述第二判断结果指示所述系统调用处于当前内核队列中,且对所述多媒体文件进行写入操作的情况下,对所述多媒体文件进行并行加密,生成目标多媒体文件;The encryption module 1003 is used to encrypt the multimedia file in parallel to generate a target multimedia file when the second judgment result indicates that the system call is in the current kernel queue and a write operation is performed on the multimedia file;
返回模块1004,用于在生成所述目标多媒体文件的情况下,将响应信息返回至所述用户应用程序。The return module 1004 is used to return response information to the user application when the target multimedia file is generated.
基于上述实施例提供的多媒体加密方法,本申请实施例还提供一种电子设备1100,如图11所示:Based on the multimedia encryption method provided in the above embodiment, the embodiment of the present application further provides an electronic device 1100, as shown in FIG11 :
包括处理器1101,存储器1102,存储在存储器1102上并可在处理器1101上运行的计算机程序,该计算机程序被处理器1101执行时实现上述多媒体加密方法实施例的各个过程,且能达到相同的技术效果。The invention comprises a processor 1101, a memory 1102, and a computer program stored in the memory 1102 and executable on the processor 1101. When the computer program is executed by the processor 1101, each process of the above-mentioned multimedia encryption method embodiment is implemented, and the same technical effect can be achieved.
具体地,上述处理器1101可以包括中央处理器(CPU),或者特定集成电路(ASIC,Application Specific Integrated Circuit),或者可以被配置成实施本申请实施例的一个或多个集成电路。Specifically, the processor 1101 may include a central processing unit (CPU), or an application specific integrated circuit (ASIC), or may be configured to implement one or more integrated circuits of the embodiments of the present application.
存储器1102可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器1102可包括硬盘驱动器(HDD,Hard Disk Drive)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(USB,Universal Serial Bus)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器1102可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器1102可在综合网关容灾设备的内部或外部。在特定实施例中,存储器1102是非易失性固态存储器。The memory 1102 may include a large capacity memory for data or instructions. By way of example and not limitation, the memory 1102 may include a hard disk drive (HDD), a floppy disk drive, a flash memory, an optical disk, a magneto-optical disk, a magnetic tape, or a universal serial bus (USB) drive or a combination of two or more of these. In appropriate cases, the memory 1102 may include a removable or non-removable (or fixed) medium. In appropriate cases, the memory 1102 may be inside or outside the integrated gateway disaster recovery device. In a specific embodiment, the memory 1102 is a non-volatile solid-state memory.
在特定实施例中,存储器可包括只读存储器(ROM),随机存取存储器(RAM),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)计算机可读存储介质(例如,存储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其可操作来执行参考根据本申请的一方面的方法所描述的操作。In certain embodiments, the memory may include a read-only memory (ROM), a random access memory (RAM), a magnetic disk storage medium device, an optical storage medium device, a flash memory device, an electrical, optical or other physical/tangible memory storage device. Thus, typically, the memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., a memory device) encoded with software including computer-executable instructions, and when the software is executed (e.g., by one or more processors), it is operable to perform the operations described with reference to the method according to one aspect of the present application.
处理器1101通过读取并执行存储器1102中存储的计算机程序指令,以实现上述实施例中的任意一种多媒体加密方法。The processor 1101 implements any one of the multimedia encryption methods in the above embodiments by reading and executing computer program instructions stored in the memory 1102 .
在一个示例中,电子设备还可包括通信接口1103和总线1110。作为一种示例,如图11所示,处理器1101、存储器1102、通信接口1103通过总线1110连接并完成相互间的通信。In one example, the electronic device may further include a communication interface 1103 and a bus 1110. As an example, as shown in FIG11 , the processor 1101, the memory 1102, and the communication interface 1103 are connected via the bus 1110 and communicate with each other.
通信接口1103,主要用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。The communication interface 1103 is mainly used to implement communication between various modules, devices, units and/or equipment in the embodiments of the present application.
总线1110包括硬件、软件或两者,将在线数据流量计费设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线1110可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。Bus 1110 includes hardware, software or both, and the parts of online data flow billing equipment are coupled to each other. For example, but not limitation, bus may include accelerated graphics port (AGP) or other graphics bus, enhanced industrial standard architecture (EISA) bus, front-end bus (FSB), hypertransport (HT) interconnection, industrial standard architecture (ISA) bus, infinite bandwidth interconnection, low pin count (LPC) bus, memory bus, micro channel architecture (MCA) bus, peripheral component interconnection (PCI) bus, PCI-Express (PCI-X) bus, serial advanced technology attachment (SATA) bus, video electronics standard association local (VLB) bus or other suitable bus or two or more of these combinations. In appropriate cases, bus 1110 may include one or more buses. Although the present application embodiment describes and shows a specific bus, the present application considers any suitable bus or interconnection.
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述密钥协商方法及身份认证方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,的计算机可读存储介质,如只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁碟或者光盘等。The embodiment of the present application also provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, each process of the above-mentioned key negotiation method and identity authentication method embodiment is implemented, and the same technical effect can be achieved. To avoid repetition, it is not repeated here. Among them, the computer-readable storage medium is, for example, a read-only memory (ROM), a random access memory (RAM), a disk or an optical disk, etc.
需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。It should be clear that the present application is not limited to the specific configuration and processing described above and shown in the figures. For the sake of simplicity, a detailed description of the known method is omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of the present application is not limited to the specific steps described and shown, and those skilled in the art can make various changes, modifications and additions, or change the order between the steps after understanding the spirit of the present application.
以上的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。The functional blocks shown in the above block diagram can be implemented as hardware, software, firmware or a combination thereof. When implemented in hardware, it can be, for example, an electronic circuit, an application specific integrated circuit (ASIC), appropriate firmware, a plug-in, a function card, etc. When implemented in software, the elements of the present application are programs or code segments that are used to perform the required tasks. The program or code segment can be stored in a machine-readable medium, or transmitted on a transmission medium or a communication link by a data signal carried in a carrier wave. "Machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, optical fiber media, radio frequency (RF) links, etc. The code segment can be downloaded via a computer network such as the Internet, an intranet, etc.
还需要说明的是,本申请中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本申请不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。It should also be noted that the exemplary embodiments mentioned in this application describe some methods or systems based on a series of steps or devices. However, this application is not limited to the order of the above steps, that is, the steps can be performed in the order mentioned in the embodiment, or in a different order from the embodiment, or several steps can be performed simultaneously.
上面参考根据本申请的实施例的方法、装置和计算机程序产品的流程图和/或框图描述了本申请的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。The above reference is according to the flowchart and/or block diagram of the method, device and computer program product of the embodiment of the present application to describe various aspects of the present application.It should be understood that each square block in the flowchart and/or block diagram and the combination of each square block in the flowchart and/or block diagram can be realized by computer program instructions.These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer or other programmable data processing device to produce a machine so that these instructions executed by the processor of the computer or other programmable data processing device enable the realization of the function/action specified in one or more square blocks of the flowchart and/or block diagram.Such a processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor or a field programmable logic circuit.It can also be understood that each square block in the block diagram and/or flowchart and the combination of square blocks in the block diagram and/or flowchart can also be realized by the dedicated hardware that performs the specified function or action, or can be realized by the combination of dedicated hardware and computer instructions.
以上,仅为本申请的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。The above are only specific implementation methods of the present application. Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working processes of the systems, modules and units described above can refer to the corresponding processes in the aforementioned method embodiments, and will not be repeated here. It should be understood that the protection scope of the present application is not limited to this. Any technician familiar with the technical field can easily think of various equivalent modifications or replacements within the technical scope disclosed in this application, and these modifications or replacements should be included in the protection scope of this application.
Claims (12)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202410903320.1A CN118821177A (en) | 2024-07-05 | 2024-07-05 | Multimedia encryption method, device, electronic device and storage medium |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202410903320.1A CN118821177A (en) | 2024-07-05 | 2024-07-05 | Multimedia encryption method, device, electronic device and storage medium |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN118821177A true CN118821177A (en) | 2024-10-22 |
Family
ID=93067944
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202410903320.1A Pending CN118821177A (en) | 2024-07-05 | 2024-07-05 | Multimedia encryption method, device, electronic device and storage medium |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN118821177A (en) |
-
2024
- 2024-07-05 CN CN202410903320.1A patent/CN118821177A/en active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12174754B2 (en) | Technologies for secure I/O with memory encryption engines | |
| US11949775B2 (en) | Network bound encryption for recovery of trusted execution environments | |
| US12199959B2 (en) | Network bound encryption for orchestrating workloads with sensitive data | |
| US12113916B2 (en) | Method and apparatus for hardware based file/document expiry timer enforcement | |
| CN102170440B (en) | Method suitable for safely migrating data between storage clouds | |
| US9098703B2 (en) | SOC with security function and device and scanning method using the same | |
| CN111541785A (en) | Cloud computing-based blockchain data processing method and device | |
| US7240203B2 (en) | Method and apparatus for establishing secure sessions | |
| CN113614722A (en) | Process-to-process secure data movement in network functions virtualization infrastructure | |
| US11755753B2 (en) | Mechanism to enable secure memory sharing between enclaves and I/O adapters | |
| CN103294958A (en) | Kernel-level virtual polymerization and parallel encryption method for class-oriented Linux system | |
| US12255981B2 (en) | Methods and apparatuses for implementing high-speed cryptographic computation based on software-hardware collaboration, and electronic devices | |
| CN110598416B (en) | Transaction scheduling method and device | |
| CN118660012A (en) | Intelligent balanced scheduling method for improving national cryptographic performance by combining software and hardware | |
| CN114969851A (en) | A FPGA-based data processing method, device, equipment and medium | |
| CN117610060B (en) | Multi-core parallel-based multimedia file hybrid encryption and decryption method and system | |
| CN104268489A (en) | A Method of Encryption Card Performance Optimization Based on DEVICE MAPPER | |
| CN118821177A (en) | Multimedia encryption method, device, electronic device and storage medium | |
| Thoma et al. | Behind enemy lines: Exploring trusted data stream processing on untrusted systems | |
| KR20080029687A (en) | High-speed large-capacity encryption device using memory with built-in encryption function and its implementation method | |
| CN116527257A (en) | Heterogeneous computing system and resource processing method based on same | |
| CN116522355A (en) | Electric power data boundary protection method, equipment, medium and device | |
| CN117493344B (en) | A data organization method based on confidential computing technology | |
| CN118740458B (en) | Method and device for encryption and decryption of SDP gateway traffic data packets | |
| Storch et al. | A Modular Architecture and a Cost-Model to Estimate the Overhead of Implementing Confidentiality in Cloud Computing Environments |
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 |