CN107153794B - 文件加密方法和装置、文件解密方法和装置 - Google Patents

文件加密方法和装置、文件解密方法和装置 Download PDF

Info

Publication number
CN107153794B
CN107153794B CN201610126406.3A CN201610126406A CN107153794B CN 107153794 B CN107153794 B CN 107153794B CN 201610126406 A CN201610126406 A CN 201610126406A CN 107153794 B CN107153794 B CN 107153794B
Authority
CN
China
Prior art keywords
file
data
original file
storage path
original
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.)
Active
Application number
CN201610126406.3A
Other languages
English (en)
Other versions
CN107153794A (zh
Inventor
柯伟彬
赖志勇
甄德聪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201610126406.3A priority Critical patent/CN107153794B/zh
Priority to MYPI2018703086A priority patent/MY196191A/en
Priority to PCT/CN2017/074337 priority patent/WO2017148316A1/zh
Publication of CN107153794A publication Critical patent/CN107153794A/zh
Priority to US16/121,033 priority patent/US11238165B2/en
Application granted granted Critical
Publication of CN107153794B publication Critical patent/CN107153794B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种文件加密方法和装置、文件解密方法和装置,所述文件加密方法包括:获取待加密的原文件;对所述原文件的头部数据加密获得头部加密数据并存储,对应于所述原文件的文件标识记录所述头部加密数据的第一存储路径;所述头部数据包括所述原文件的元数据;将所述原文件中除所述头部数据的文件数据分割为多个片段;将分割出的各个所述片段进行混淆片段顺序的存储;对应于所述文件标识记录各个所述片段的第二存储路径以及各个所述片段在所述原文件中的顺序。本发明提供的文件加密方法和装置、文件解密方法和装置,对中央处理器的消耗低,加密和解密时间成本降低。

Description

文件加密方法和装置、文件解密方法和装置
技术领域
本发明涉及数据安全技术领域,特别是涉及一种文件加密方法和装置、文件解密方法和装置。
背景技术
在一些应用场景中,需要对文件进行加密保护,以避免文件内容被非法获取。比如流媒体文件存储在用户终端本地时,被要求进行加密处理,第三方应用程序就无法获取到流媒体文件的内容,有利于版权保护。
然而,目前文件加密主要采用的方式是对文件进行全文二进制加密,相应的解密方式时则是对加密文件进行全文二进制解密,加密和解密过程对中央处理器消耗都非常大,加密和解密的时间成本高。
发明内容
基于此,有必要针对目前对文件加密采用全文二进制加密、解密采用全文二进制解密对中央处理器消耗大从而导致加密和解密时间成本高的问题,提供一种文件加密方法和装置、文件解密方法和装置。
一种文件加密方法,所述方法包括:
获取待加密的原文件;
对所述原文件的头部数据加密获得头部加密数据并存储,对应于所述原文件的文件标识记录所述头部加密数据的第一存储路径;所述头部数据包括所述原文件的元数据;
将所述原文件中除所述头部数据的文件数据分割为多个片段;
将分割出的各个所述片段进行混淆片段顺序的存储;
对应于所述文件标识记录各个所述片段的第二存储路径以及各个所述片段在所述原文件中的顺序。
一种文件加密装置,所述装置包括:
原文件获取模块,用于获取待加密的原文件;
头部数据加密模块,用于对所述原文件的头部数据加密获得头部加密数据并存储;所述头部数据包括所述原文件的元数据;
分割模块,用于将所述原文件中除所述头部数据的文件数据分割为多个片段;
混淆片段顺序存储模块,用于将分割出的各个所述片段进行混淆片段顺序的存储;
记录模块,用于对应于所述原文件的文件标识记录所述头部加密数据的第一存储路径;对应于所述文件标识记录各个所述片段的第二存储路径以及各个所述片段在所述原文件中的顺序。
上述文件加密方法和装置,在对原文件进行加密时,仅加密原文件的头部数据,加密计算的数据量小,而原文件中除头部数据之外的文件数据则分割成多个片段后通过混淆片段顺序的方式进行存储,分割和混淆片段顺序存储的计算量小,相较于目前全文二进制加密的加密方式,通过该文件加密方法和装置可显著减少对中央处理器的消耗,加密时间成本低。记录第一存储路径、第二存储路径和片段的顺序则使得文件被加密后可被解密。而且元数据用于描述原文件中的数据内容,加密的头部数据覆盖原文件的元数据,可防止恶意用户利用元数据定位到加密的文件以及获取到通过混淆片段顺序存储的各个片段来进行加密破解。
一种文件解密方法,所述方法包括:
读取与待解密的文件标识对应的用于存储头部加密数据的第一存储路径;
根据所述第一存储路径获取所述头部加密数据;
解密所述头部加密数据,获得头部数据;所述头部数据包括原文件的元数据;
读取与所述文件标识对应的混淆片段顺序存储的各个片段的第二存储路径和各个所述片段在原文件中的顺序;
根据所述第二存储路径获取各个所述片段;
根据所述顺序将各个所述片段与所述头部数据拼接,获得原文件。
一种文件解密装置,所述装置包括:
第一读取模块,用于读取与待解密的文件标识对应的用于存储头部加密数据的第一存储路径;
头部加密数据获取模块,用于根据所述第一存储路径获取所述头部加密数据;
头部加密数据解密模块,用于解密所述头部加密数据,获得头部数据;所述头部数据包括原文件的元数据;
第二读取模块,用于读取与所述文件标识对应的混淆片段顺序存储的各个片段的第二存储路径和各个所述片段在原文件中的顺序;
片段获取模块,用于根据所述第二存储路径获取各个所述片段;
文件拼接模块,用于根据所述顺序将各个所述片段与所述头部数据拼接,获得原文件。
上述文件解密方法和装置,利用记录的第一存储路径定位到头部加密数据并进行解密而获得头部数据,利用记录的第二存储路径定位并获取到各个片段,进而利用记录的顺序将头部数据和各片段进行拼接,获得原文件。解密时仅需对头部加密数据进行解密计算,解密计算的数据量小,片段拼接的时间成本少,相较于目前全文二进制解密的解密方式,通过该文件解密方法和装置可显著减少对中央处理器的消耗,解密时间成本低。而且元数据用于描述原文件中的数据内容,加密的头部数据覆盖原文件的元数据,可防止恶意用户利用元数据定位到加密的文件以及获取到通过混淆片段顺序存储的各个片段来进行加密破解。
附图说明
图1为一个实施例中电子设备的内部结构示意图;
图2为一个实施例中文件加密方法的流程示意图;
图3为一个实施例中对原文件的头部数据加密获得头部加密数据并存储,对应于原文件的文件标识记录头部加密数据的第一存储路径的步骤的流程示意图;
图4为另一个实施例中文件加密方法的流程示意图;
图5为一个实施例中文件解密方法的流程示意图;
图6为一个实施例中文件加密装置的结构框图;
图7为另一个实施例中文件加密装置的结构框图;
图8为一个实施例中文件解密装置的结构框图;
图9为另一个实施例中文件解密装置的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,在一个实施例中,提供了一种电子设备,包括通过系统总线连接的处理器、非易失性存储介质、内存储器、网络接口和音频输出接口。其中处理器具有计算功能和控制电子设备工作的功能,该处理器被配置为执行一种文件加密方法和文件解密方法。非易失性存储介质包括磁存储介质、光存储介质以及闪存式存储介质。非易失性存储介质存储有操作系统,还存储有文件加密装置和文件解密装置,该文件加密装置用于实现一种文件加密方法,该文件解密装置用于实现一种文件解密方法。内存储器用于为操作系统、文件加密装置和文件解密装置提供高速缓存。网络接口用于连接到网络,音频输出接口用于将处理器处理获得的音频数据输出为音频信号。
如图2所示,在一个实施例中,提供了一种文件加密方法,本实施例以该方法应用于上述图1中的电子设备来举例说明。该方法具体包括如下步骤:
步骤202,获取待加密的原文件。
其中,原文件是指未经过加密的原始文件,原文件具体可以是媒体文件、图片、压缩包文件、文本文件或者富文本文件等。媒体文件包括流媒体文件和本地媒体文件,媒体文件具体比如视频文件或者音频文件等。电子设备具体可通过网络下载待加密的原文件,还可以从本地获取待加密的原文件。
步骤204,对原文件的头部数据加密获得头部加密数据并存储,对应于原文件的文件标识记录头部加密数据的第一存储路径;头部数据包括原文件的元数据。
其中,头部数据是位于原文件头部的一部分数据,可根据需要设置头部数据的大小,比如可取100KB(KB,千字节),且要求头部数据覆盖到原文件的元数据。元数据(metadata)是指描述该原文件的数据内容的数据,比如若原文件为视频流文件,则元数据可包括视频格式、视频时间信息、码率、文件大小、及导演、演员以及制作单位等。
电子设备可采用各种二进制加密算法对头部数据进行加密,获得相应的头部加密数据。电子设备加密头部数据,具体可采用AES(Advanced Encryption Standard,即高级加密标准)算法或者DES(Data Encryption Standard,即数据加密标准)算法等二进制加密算法。
电子设备存储加密所获得的头部加密数据,并在以原文件的文件标识为索引的记录中记录该头部加密数据的存储路径。为将该存储路径与下述的其它存储路径相区分,称头部加密数据的存储路径为第一存储路径。原文件的文件标识可唯一标识出相应的原文件,可以包括数字、字母、标点符号以及汉字等字符中的一种或几种的组合。
步骤206,将原文件中除头部数据的文件数据分割为多个片段。
具体地,在一个实施例中,电子设备可按照预设的单个片段大小将原文件中除头部数据的文件数据分割为多个片段。比如预设的单个片段大小为1M(兆字节),则电子设备可从原文件中除去头部数据之后,再从剩余的文件数据逐个地分割出一个个大小为1M的片段,最后不足1M的文件数据则是分割出的最后一个片段。
在一个实施例中,电子设备可将原文件中除头部数据的文件数据等量或随机分割为预设数量的多个片段。具体地,电子设备可从原文件中除去头部数据之后,再将剩余的文件数据分割为预设数量的片段。分割时可采用等量分割方式,即分割出的每个片段的大小相等;也可以采用随机分割方式,即随机地分配预设数量的片段中每个片段的大小。
其中,分割出的片段的数量可根据加密等级和/或响应时间等级进行控制,具体若加密等级越高,则分割出的片段的数量应当更多,文件被加密后更难被破解;若加密等级越低,则分割出的片的数量可以减少。若响应时间等级越高,即要求响应时间短,则分割出的数量应当减少;若响应时间等级越低,则可增加分割出的片段的数量。
步骤208,将分割出的各个片段进行混淆片段顺序的存储。
具体地,电子设备将分割出的每个片段独立地存储,并且在存储时混淆片段顺序,从而使得各个片段被存储后无法从存储路径分辨出各个片段在原文件中的顺序。
在一个实施例中,步骤208包括:为每个片段分配随机的新文件名,并在指定文件目录或者随机创建的文件目录下将每个片段存储在以相应的新文件名命名的片段文件中。
具体地,电子设备可生成与片段数量相等的多个不同的随机字符串,将每个随机字符串分别分配给多个片段中的其中一个,使得每个片段具有相应的随机字符串作为新文件名。电子设备将每个片段作为独立的文件进行存储,该文件称之为片段文件,并将存储的片段文件命名为分配的新文件名。
其中片段文件可存储在指定目录下,比如创建一个具有随机文件夹名称的文件夹,从而将分割出的片段文件均存储在该创建的文件夹下。电子设备也可以随机为每个片段文件创建新的文件目录,从而将每个片段文件存储在相应的文件目录下,每个片段文件的文件目录可以均不相同。
步骤210,对应于文件标识记录各个片段的第二存储路径以及各个片段在原文件中的顺序。
具体地,电子设备可在实施本发明实施例的文件加密方法的应用的私有数据库中生成一条记录,该条记录可以原文件的文件标识为索引,在该条记录中存储第一存储路径、第二存储路径以及各个片段在原文件中的顺序。其中私有数据库可存储于本地或者网络中,私有数据库的访问需要经过身份验证,可保证安全性。第二存储路径是指存储的片段的存储路径。记录片段的顺序具体可按照各片段在原文件中的顺序记录相应片段文件名的顺序,也可以为每个片段分配唯一且混淆顺序的片段序号,从而按照各片段在原文件中的顺序记录各片段序号的顺序。电子设备还可以记录原文件的文件校验值,比如MD5(MessageDigest Algorithm MD5,即消息摘要算法第五版)值,用以在解密获得原文件后根据文件校验值校验原文件的完整性。
在一个实施例中,电子设备还可以将在实施上述文件加密方法过程中生成的文件进行格式伪装,比如将生成的文件的扩展名修改为另一种文件格式的扩展名。生成的文件包括头部加密数据所在的文件和各片段所在的文件。在解密时需要将经过格式伪装的文件进行格式还原。
上述文件加密方法,在对原文件进行加密时,仅加密原文件的头部数据,加密计算的数据量小,而原文件中除头部数据之外的文件数据则分割成多个片段后通过混淆片段顺序的方式进行存储,分割和混淆片段顺序存储的计算量小,相较于目前全文二进制加密的加密方式,通过该文件加密方法可显著减少对中央处理器的消耗,加密时间成本低。记录第一存储路径、第二存储路径和片段的顺序则使得文件被加密后可被解密。而且元数据用于描述原文件中的数据内容,加密的头部数据覆盖原文件的元数据,可防止恶意用户利用元数据定位到加密的文件以及获取到通过混淆片段顺序存储的各个片段来进行加密破解。
如图3所示,在一个实施例中,步骤204具体包括以下步骤:
步骤302,生成随机的加密密钥,根据加密密钥对原文件的头部数据进行加密获得头部加密数据。
具体地,电子设备可采用随机哈希算法生成随机的第一哈希值,将该随机的第一哈希值作为加密密钥,进而电子设备可根据该加密密钥将明文的头部数据转化为密文的头部加密数据。生成随机的加密密钥可尽量避免被第三方猜解。
步骤304,创建具有随机生成的文件名的新文件,并将头部加密数据存储在新文件中。
具体地,电子设备可采用随机哈希算法生成随机的第二哈希值,将该随机的第二哈希值作为文件名创建新文件,进而将加密获得的头部加密数据存储在该新文件中。电子设备也可以当前时间作为随机种子来生成随机的文件名。创建具有随机文件名的新文件来存储头部加密数据,可进一步避免被第三方定位和破解。
步骤306,对应于原文件的文件标识记录加密密钥以及新文件的第一存储路径。
具体地,电子设备可在私有数据库中以原文件的文件标识为索引的记录中存储加密密钥以及新文件的第一存储路径,以便在解密时根据第一存储路径定位到头部加密数据所在的文件,并根据加密密钥对头部加密数据进行解密。
本实施例中,生成随机的加密密钥来对头部数据进行加密,可避免加密密钥被第三方猜解;进而生成随机的文件名来存储头部加密数据,可防止头部加密数据被轻易获取到,从而进一步保障文件被加密后的安全性。
在一个实施例中,原文件为流媒体应用所下载的流媒体文件;第一存储路径、各个第二存储路径以及顺序对应于文件标识记录在流媒体应用对应的私有数据库中。
如图4所示,在一个实施例中,一种文件加密方法,具体包括如下步骤:
步骤402,通过流媒体应用下载待加密的流媒体文件。
具体地,电子设备可通过流媒体应用连接到流媒体服务器,从而从流媒体服务器下载流媒体文件作为待加密的流媒体文件。其中流媒体应用是指具有处理流媒体能力的应用,比如流媒体播放应用或者流媒体编辑应用等。
步骤404,对流媒体文件的头部数据加密获得头部加密数据并存储;头部数据包括流媒体文件的元数据。
具体地,电子设备可生成随机的加密密钥,根据加密密钥对原文件的头部数据进行加密获得头部加密数据。电子设备可创建具有随机生成的文件名的新文件,并将头部加密数据存储在新文件中。
步骤406,将流媒体文件中除头部数据的文件数据分割为多个片段。
具体地,电子设备可按照预设的单个片段大小将原文件中除头部数据的文件数据分割为多个片段,电子设备也可以将原文件中除头部数据的文件数据等量或随机分割为预设数量的多个片段。
步骤408,将分割出的各个片段进行混淆片段顺序的存储。
步骤410,对应于流媒体文件的文件标识记录头部加密数据的第一存储路径、各个片段的第二存储路径以及各个片段在流媒体文件中的顺序。
具体地,电子设备可在流媒体应用对应的私有数据库中创建一条以文件标识为索引的记录,在该记录中存储加密密钥、第一存储路径、第二存储路径以及各片段在流媒体文件中的顺序。
步骤412,删除流媒体文件。
具体地,电子设备在完成对流媒体文件的加密后,删除流媒体文件。在一个实施例中,电子设备可在下载流媒体文件后播放流媒体文件,同时执行上述步骤402至步骤410,并在播放完毕后删除下载的流媒体文件。
本实施例中,针对流媒体文件版权保护的需求,采用本发明实施例的文件加密方法可在保证加密性能的同时提高加密效率,进而提高对流媒体文件进行处理的效率。
如图5所示,在一个实施例中,提供了一种文件解密方法,本实施例以该方法应用于上述图1中的电子设备来举例说明。该方法具体包括如下步骤:
步骤502,读取与待解密的文件标识对应的用于存储头部加密数据的第一存储路径。
具体地,电子设备可在实施上述文件加密方法后,再在需要使用原文件时实施本实施例的文件解密方法来还原出原文件。电子设备具体可获取待解密的文件标识,从应用的私有数据库中查找以该文件标识为索引的记录,并从查找到的记录中读取第一存储路径和加密密钥。第一存储路径是存储头部加密数据的路径。
步骤504,根据第一存储路径获取头部加密数据。
具体地,电子设备根据第一存储路径查找到相应文件目录下的文件,进而从查找到的文件中读取头部加密数据。
步骤506,解密头部加密数据,获得头部数据;头部数据包括原文件的元数据。
具体地,电子设备可根据读取的加密密钥从头部加密数据中解密出头部数据。解密时可采用二进制解密算法进行解密,具体可采用AES算法或者DES算法等二进制解密算法。
步骤508,读取与文件标识对应的混淆片段顺序存储的各个片段的第二存储路径和各个片段在原文件中的顺序。
具体地,电子设备在加密原文件时,将原文件中除头部数据的文件数据分割为多个片段,并将分割出的各个片段进行混淆片段顺序的存储,从而使得各个片段被存储后无法从存储路径分辨出各个片段在原文件中的顺序,并将第二存储路径和各个片段在原文件中的顺序记录下来,在解密时读取。
步骤510,根据第二存储路径获取各个片段。
具体地,电子设备根据读取的第二存储路径查找到相应文件目录下的文件,并在查找到的文件中获取从原文件中分割出的各个片段。
步骤512,根据顺序将各个片段与头部数据拼接,获得原文件。
具体地,电子设备创建一个临时文件,在该临时文件中写入头部数据,并在头部数据之后按照顺序将各个片段写入临时文件,从而将头部数据和各个片段拼接,获得完整的原文件。
在一个实施例中,电子设备还可以读取与文件标识对应存储的原文件的文件校验值,从而根据读取的文件校验值进行校验,若校验通过则完成解密;若校验未通过则发出解密出错提示信息。具体在校验时可计算拼接获得的原文件的文件校验值,并将计算出的文件校验值与读取的文件校验值进行比较,若一致则校验通过,若不一致则校验未通过。
上述文件解密方法,利用记录的第一存储路径定位到头部加密数据并进行解密而获得头部数据,利用记录的第二存储路径定位并获取到各个片段,进而利用记录的顺序将头部数据和各片段进行拼接,获得原文件。解密时仅需对头部加密数据进行解密计算,解密计算的数据量小,片段拼接的时间成本少,相较于目前全文二进制解密的解密方式,通过该文件解密方法可显著减少对中央处理器的消耗,解密时间成本低。而且元数据用于描述原文件中的数据内容,加密的头部数据覆盖原文件的元数据,可防止恶意用户利用元数据定位到加密的文件以及获取到通过混淆片段顺序存储的各个片段来进行加密破解。
在一个实施例中,原文件为流媒体文件;第一存储路径、第二存储路径以及顺序读取自流媒体应用对应的私有数据库。步骤512之后,还包括:播放原文件,并在播放完毕后清除原文件。
具体地,电子设备可在需要播放流媒体文件时,根据相应的文件标识进行解密获得流媒体文件,并播放该流媒体文件。该流媒体文件为临时文件,在播放完毕后该流媒体文件被清除,若需要再次播放则重新进行解密播放。
本实施例中,将文件解密方法应用于流媒体文件的解密,可在保证加密性能的同时提高解密效率,在需要播放流媒体文件时进行即时地解密,不会影响到播放流媒体文件的初次响应时间和播放流畅度,既能起到保护流媒体文件的效果,又大大减少了加密解密带来的额外性能消耗,兼顾了安全性和性能,同时保障了版权方的权益和用户的体验。
如图6所示,在一个实施例中,提供了一种文件加密装置600,包括:
原文件获取模块601,用于获取待加密的原文件。
头部数据加密模块602,用于对原文件的头部数据加密获得头部加密数据并存储;头部数据包括原文件的元数据。
分割模块603,用于将原文件中除头部数据的文件数据分割为多个片段。
混淆片段顺序存储模块604,用于将分割出的各个片段进行混淆片段顺序的存储。
记录模块605,用于对应于原文件的文件标识记录头部加密数据的第一存储路径。对应于文件标识记录各个片段的第二存储路径以及各个片段在原文件中的顺序。
上述文件加密装置600,在对原文件进行加密时,仅加密原文件的头部数据,加密计算的数据量小,而原文件中除头部数据之外的文件数据则分割成多个片段后通过混淆片段顺序的方式进行存储,分割和混淆片段顺序存储的计算量小,相较于目前全文二进制加密的加密方式,通过该文件加密装置可显著减少对中央处理器的消耗,加密时间成本低。记录第一存储路径、第二存储路径和片段的顺序则使得文件被加密后可被解密。而且元数据用于描述原文件中的数据内容,加密的头部数据覆盖原文件的元数据,可防止恶意用户利用元数据定位到加密的文件以及获取到通过混淆片段顺序存储的各个片段来进行加密破解。
在一个实施例中,头部数据加密模块602具体用于生成随机的加密密钥,根据加密密钥对原文件的头部数据进行加密获得头部加密数据;创建具有随机生成的文件名的新文件,并将头部加密数据存储在新文件中。
记录模块605还用于对应于原文件的文件标识记录加密密钥以及新文件的第一存储路径。
本实施例中,生成随机的加密密钥来对头部数据进行加密,可避免加密密钥被第三方猜解;进而生成随机的文件名来存储头部加密数据,可防止头部加密数据被轻易获取到,从而进一步保障文件被加密后的安全性。
在一个实施例中,分割模块603具体用于按照预设的单个片段大小将原文件中除头部数据的文件数据分割为多个片段。
在一个实施例中,分割模块603具体用于将原文件中除头部数据的文件数据等量或随机分割为预设数量的多个片段。
在一个实施例中,混淆片段顺序存储模块604具体用于为每个片段分配随机的新文件名,并在指定文件目录或者随机创建的文件目录下将每个片段存储在以相应的新文件名命名的片段文件中。
在一个实施例中,原文件为流媒体应用所下载的流媒体文件;第一存储路径、各个第二存储路径以及顺序对应于文件标识记录在流媒体应用对应的私有数据库中。如图7所示,文件加密装置600还包括文件删除模块606,用于删除流媒体文件。
本实施例中,针对流媒体文件版权保护的需求,采用本发明实施例的文件加密方法可在保证加密性能的同时提高加密效率,进而提高对流媒体文件进行处理的效率。
如图8所示,在一个实施例中,提供了一种文件解密装置800,包括第一读取模块801、头部加密数据获取模块802、头部加密数据解密模块803、第二读取模块804、片段获取模块805和文件拼接模块806。
第一读取模块801,用于读取与待解密的文件标识对应的用于存储头部加密数据的第一存储路径。
头部加密数据获取模块802,用于根据第一存储路径获取头部加密数据。
头部加密数据解密模块803,用于解密头部加密数据,获得头部数据;头部数据包括原文件的元数据。
第二读取模块804,用于读取与文件标识对应的混淆片段顺序存储的各个片段的第二存储路径和各个片段在原文件中的顺序。
片段获取模块805,用于根据第二存储路径获取各个片段。
文件拼接模块806,用于根据顺序将各个片段与头部数据拼接,获得原文件。
上述文件解密装置800,利用记录的第一存储路径定位到头部加密数据并进行解密而获得头部数据,利用记录的第二存储路径定位并获取到各个片段,进而利用记录的顺序将头部数据和各片段进行拼接,获得原文件。解密时仅需对头部加密数据进行解密计算,解密计算的数据量小,片段拼接的时间成本少,相较于目前全文二进制解密的解密方式,通过该文件解密装置可显著减少对中央处理器的消耗,解密时间成本低。而且元数据用于描述原文件中的数据内容,加密的头部数据覆盖原文件的元数据,可防止恶意用户利用元数据定位到加密的文件以及获取到通过混淆片段顺序存储的各个片段来进行加密破解。
在一个实施例中,原文件为流媒体文件;第一存储路径、第二存储路径以及顺序读取自流媒体应用对应的私有数据库。如图9所示,文件解密装置800还包括:播放模块807和文件清除模块808。
播放模块807,用于播放原文件。
文件清除模块808,用于在播放原文件完毕后清除原文件。
本实施例中,将文件解密方法应用于流媒体文件的解密,可在保证加密性能的同时提高解密效率,在需要播放流媒体文件时进行即时地解密,不会影响到播放流媒体文件的初次响应时间和播放流畅度,既能起到保护流媒体文件的效果,又大大减少了加密解密带来的额外性能消耗,兼顾了安全性和性能,同时保障了版权方的权益和用户的体验。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (16)

1.一种文件加密方法,所述方法包括:
获取待加密的原文件;
对所述原文件的头部数据加密获得头部加密数据并存储,对应于所述原文件的文件标识记录所述头部加密数据的第一存储路径;所述头部数据包括用于描述所述原文件中数据内容的元数据;
按照加密等级和响应时间等级中的至少一种确定分割的片段数量,将所述原文件中除所述头部数据的文件数据分割为所述片段数量的多个片段;
将分割出的各个所述片段进行混淆片段顺序,并将混淆片段顺序的所述片段作为独立文件进行存储;
对应于所述文件标识记录各个所述片段的第二存储路径以及各个所述片段在所述原文件中的顺序。
2.根据权利要求1所述的方法,其特征在于,所述对所述原文件的头部数据加密获得头部加密数据并存储,对应于所述原文件的文件标识记录所述头部加密数据的第一存储路径,包括:
生成随机的加密密钥,根据所述加密密钥对所述原文件的头部数据进行加密获得头部加密数据;
创建具有随机生成的文件名的新文件,并将所述头部加密数据存储在所述新文件中;
对应于所述原文件的文件标识记录所述加密密钥以及所述新文件的第一存储路径。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
按照预设的单个片段大小将所述原文件中除所述头部数据的文件数据分割为多个片段;或者,
将所述原文件中除所述头部数据的文件数据等量或随机分割为预设数量的多个片段。
4.根据权利要求1所述的方法,其特征在于,所述将分割出的各个所述片段进行混淆片段顺序的存储,包括:
为每个所述片段分配随机的新文件名,并在指定文件目录或者随机创建的文件目录下将每个所述片段存储在以相应的新文件名命名的片段文件中。
5.根据权利要求1至4中任意一项所述的方法,其特征在于,所述原文件为流媒体应用所下载的流媒体文件;所述第一存储路径、各个所述第二存储路径以及所述顺序对应于所述文件标识记录在所述流媒体应用对应的私有数据库中;
所述对应于所述文件标识记录各个所述片段的第二存储路径以及各个所述片段在所述原文件中的顺序之后,还包括:
删除所述流媒体文件。
6.一种文件解密方法,所述方法包括:
读取与待解密的文件标识对应的用于存储头部加密数据的第一存储路径;
根据所述第一存储路径获取所述头部加密数据;
解密所述头部加密数据,获得头部数据;所述头部数据包括用于描述原文件中数据内容的元数据;
读取与所述文件标识对应的混淆片段顺序独立存储的各个片段的第二存储路径和各个所述片段在原文件中的顺序;所述片段的片段数量是按照加密等级和响应时间等级中的至少一种所确定的;
根据所述第二存储路径获取各个所述片段;
根据所述顺序将各个所述片段与所述头部数据拼接,获得原文件。
7.根据权利要求6所述的方法,其特征在于,所述原文件为流媒体文件;所述第一存储路径、第二存储路径以及所述顺序读取自所述流媒体应用对应的私有数据库;
所述根据所述顺序将各个所述片段与所述头部数据拼接,获得原文件之后,包括:
播放所述原文件,并在播放完毕后清除所述原文件。
8.一种文件加密装置,其特征在于,所述装置包括:
原文件获取模块,用于获取待加密的原文件;
头部数据加密模块,用于对所述原文件的头部数据加密获得头部加密数据并存储;所述头部数据包括用于描述所述原文件中数据内容的元数据;
分割模块,用于按照加密等级和响应时间等级中的至少一种确定分割的片段数量,将所述原文件中除所述头部数据的文件数据分割为所述片段数量的多个片段;
混淆片段顺序存储模块,用于将分割出的各个所述片段进行混淆片段顺序,将混淆片段顺序的所述片段作为独立文件进行存储;
记录模块,用于对应于所述原文件的文件标识记录所述头部加密数据的第一存储路径;对应于所述文件标识记录各个所述片段的第二存储路径以及各个所述片段在所述原文件中的顺序。
9.根据权利要求8所述的装置,其特征在于,所述头部数据加密模块具体用于生成随机的加密密钥,根据所述加密密钥对所述原文件的头部数据进行加密获得头部加密数据;创建具有随机生成的文件名的新文件,并将所述头部加密数据存储在所述新文件中;
所述记录模块还用于对应于所述原文件的文件标识记录所述加密密钥以及所述新文件的第一存储路径。
10.根据权利要求8所述的装置,其特征在于,所述分割模块具体用于按照预设的单个片段大小将所述原文件中除所述头部数据的文件数据分割为多个片段;或者,
所述分割模块具体用于将所述原文件中除所述头部数据的文件数据等量或随机分割为预设数量的多个片段。
11.根据权利要求8所述的装置,其特征在于,所述混淆片段顺序存储模块具体用于为每个所述片段分配随机的新文件名,并在指定文件目录或者随机创建的文件目录下将每个所述片段存储在以相应的新文件名命名的片段文件中。
12.根据权利要求8至11中任意一项所述的装置,其特征在于,所述原文件为流媒体应用所下载的流媒体文件;所述第一存储路径、各个所述第二存储路径以及所述顺序对应于所述文件标识记录在所述流媒体应用对应的私有数据库中;所述装置还包括文件删除模块,用于删除所述流媒体文件。
13.一种文件解密装置,其特征在于,所述装置包括:
第一读取模块,用于读取与待解密的文件标识对应的用于存储头部加密数据的第一存储路径;
头部加密数据获取模块,用于根据所述第一存储路径获取所述头部加密数据;
头部加密数据解密模块,用于解密所述头部加密数据,获得头部数据;所述头部数据包括用于描述原文件中数据内容的元数据;
第二读取模块,用于读取与所述文件标识对应的混淆片段顺序独立存储的各个片段的第二存储路径和各个所述片段在原文件中的顺序;所述片段的片段数量是按照加密等级和响应时间等级中的至少一种所确定的;
片段获取模块,用于根据所述第二存储路径获取各个所述片段;
文件拼接模块,用于根据所述顺序将各个所述片段与所述头部数据拼接,获得原文件。
14.根据权利要求13所述的装置,其特征在于,所述原文件为流媒体文件;所述第一存储路径、第二存储路径以及所述顺序读取自所述流媒体应用对应的私有数据库;所述装置还包括:
播放模块,用于播放所述原文件;
文件清除模块,用于在播放所述原文件完毕后清除所述原文件。
15.一种存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至5,或6至7中任一项所述方法的步骤。
16.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至5,或6至7中任一项所述方法的步骤。
CN201610126406.3A 2016-03-03 2016-03-03 文件加密方法和装置、文件解密方法和装置 Active CN107153794B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201610126406.3A CN107153794B (zh) 2016-03-03 2016-03-03 文件加密方法和装置、文件解密方法和装置
MYPI2018703086A MY196191A (en) 2016-03-03 2017-02-22 File Encryption Method, File Decryption Method, Electronic Device, and Storage Medium
PCT/CN2017/074337 WO2017148316A1 (zh) 2016-03-03 2017-02-22 文件加密方法、文件解密方法、电子设备和存储介质
US16/121,033 US11238165B2 (en) 2016-03-03 2018-09-04 File encryption method, file decryption method, electronic device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610126406.3A CN107153794B (zh) 2016-03-03 2016-03-03 文件加密方法和装置、文件解密方法和装置

Publications (2)

Publication Number Publication Date
CN107153794A CN107153794A (zh) 2017-09-12
CN107153794B true CN107153794B (zh) 2020-07-21

Family

ID=59742521

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610126406.3A Active CN107153794B (zh) 2016-03-03 2016-03-03 文件加密方法和装置、文件解密方法和装置

Country Status (4)

Country Link
US (1) US11238165B2 (zh)
CN (1) CN107153794B (zh)
MY (1) MY196191A (zh)
WO (1) WO2017148316A1 (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10049228B2 (en) * 2015-01-20 2018-08-14 Microsoft Technology Licensing, Llc File encryption support for FAT file systems
CN107832625B (zh) * 2017-11-21 2020-05-22 江苏神州信源系统工程有限公司 一种文档的处理方法和装置
CN108536554A (zh) * 2018-04-26 2018-09-14 威海海洋职业学院 一种数据文件的备份方法
CN108769052A (zh) * 2018-06-12 2018-11-06 北斗巡星信息科技有限公司 腕带传输信息加密的方法及装置
CN109460667A (zh) * 2018-11-05 2019-03-12 国家电网有限公司 招投标过程中的文件处理方法、系统及终端设备
CN109740371A (zh) * 2018-12-12 2019-05-10 武汉掌游科技有限公司 一种用于安卓sdk资源简易的加密方法及装置
CN109889324A (zh) * 2018-12-27 2019-06-14 深圳市安云信息科技有限公司 加密存储方法、存储介质和装置
CN111428209B (zh) * 2019-01-10 2023-09-19 腾讯科技(深圳)有限公司 一种应用程序的混淆方法、装置及存储介质
CN109871698B (zh) * 2019-01-14 2021-10-26 深圳市奥特尔软件技术有限公司 数据处理方法、装置、计算机设备和存储介质
CN111125645B (zh) * 2019-11-15 2023-05-16 至本医疗科技(上海)有限公司 执行程序处理方法、系统、装置、计算机设备和介质
CN111709038B (zh) * 2020-05-07 2024-04-12 北京中科凡语科技有限公司 文件加密解密方法、分布式存储系统、设备及存储介质
CN112416450B (zh) * 2020-06-05 2023-02-17 上海哔哩哔哩科技有限公司 资源加密及展示方法及系统
CN111914280B (zh) * 2020-08-17 2024-05-17 南京珥仁科技有限公司 一种文件自加密解密方法
CN112423103A (zh) * 2020-09-02 2021-02-26 一可科技有限公司 将音频文件与视频文件进行合并的方法、播放方法及装置
CN112738037B (zh) * 2020-12-17 2023-01-31 航天信息股份有限公司 一种数据加密通信方法
CN113053393B (zh) * 2021-03-30 2024-04-30 闽江学院 音频标注处理装置
CN113810363B (zh) * 2021-07-29 2023-06-20 蜂巢能源科技有限公司 报文加密、解密方法及电子设备
CN113515766A (zh) * 2021-07-30 2021-10-19 盛景智能科技(嘉兴)有限公司 文件传输方法及装置
CN113806785B (zh) * 2021-10-11 2023-12-08 北京晓航众芯科技有限公司 一种用于对电子文档进行安全保护的方法及其系统
CN113901503A (zh) * 2021-10-26 2022-01-07 北京云迹科技有限公司 一种加密方法、加密装置和解密方法、解密装置
CN115941708B (zh) * 2022-11-04 2023-07-21 深圳市行云数据技术有限公司 云端大数据存储管理方法、装置、电子设备及存储介质
CN116567353B (zh) * 2023-07-10 2023-09-12 湖南快乐阳光互动娱乐传媒有限公司 一种视频投放方法及装置、存储介质及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1726713A (zh) * 2002-12-16 2006-01-25 皇家飞利浦电子股份有限公司 对视频数据流加密的方法和设备
CN102867153A (zh) * 2012-08-30 2013-01-09 腾讯科技(深圳)有限公司 一种加密、解密视频文件的方法、装置及移动终端
CN103279693A (zh) * 2013-05-30 2013-09-04 付弦 一种文件加密方法
CN105187204A (zh) * 2015-09-29 2015-12-23 北京元心科技有限公司 文件的加密、解密方法和加解密系统
CN105279440A (zh) * 2015-07-06 2016-01-27 深圳市美贝壳科技有限公司 照片文件加密方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090006796A1 (en) * 2007-06-29 2009-01-01 Sandisk Corporation Media Content Processing System and Non-Volatile Memory That Utilizes A Header Portion of a File
US8099599B2 (en) * 2008-08-29 2012-01-17 Microsoft Corporation Controlling access to data streams
US8363831B2 (en) * 2009-09-23 2013-01-29 Intel Corporation Method and apparatus for allowing software access to navigational data in a decrypted media stream while protecting stream payloads
US8838954B2 (en) * 2010-02-02 2014-09-16 Futurewei Technologies, Inc. Media processing devices for adaptive delivery of on-demand media, and methods thereof
US9262643B2 (en) * 2010-02-22 2016-02-16 Sookasa Inc. Encrypting files within a cloud computing environment
US9582678B2 (en) * 2011-04-19 2017-02-28 Invenia As Method for secure storing of a data file via a computer communication network
CN103294961A (zh) * 2013-06-07 2013-09-11 北京奇虎科技有限公司 一种文件加/解密方法以及文件加/解密装置
US10089481B2 (en) * 2015-09-23 2018-10-02 International Business Machines Corporation Securing recorded data

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1726713A (zh) * 2002-12-16 2006-01-25 皇家飞利浦电子股份有限公司 对视频数据流加密的方法和设备
CN102867153A (zh) * 2012-08-30 2013-01-09 腾讯科技(深圳)有限公司 一种加密、解密视频文件的方法、装置及移动终端
CN103279693A (zh) * 2013-05-30 2013-09-04 付弦 一种文件加密方法
CN105279440A (zh) * 2015-07-06 2016-01-27 深圳市美贝壳科技有限公司 照片文件加密方法
CN105187204A (zh) * 2015-09-29 2015-12-23 北京元心科技有限公司 文件的加密、解密方法和加解密系统

Also Published As

Publication number Publication date
US11238165B2 (en) 2022-02-01
WO2017148316A1 (zh) 2017-09-08
US20180365434A1 (en) 2018-12-20
CN107153794A (zh) 2017-09-12
MY196191A (en) 2023-03-22

Similar Documents

Publication Publication Date Title
CN107153794B (zh) 文件加密方法和装置、文件解密方法和装置
KR101597930B1 (ko) 비디오 파일 암호화 및 복호화 방법, 디바이스 그리고 모바일 단말
US9350549B2 (en) Selective shredding in a deduplication system
US8429365B2 (en) Memory device and method for embedding host-identification information into content
US7957535B2 (en) Data storing method, data playback method, data recording device, data playback device, and recording medium
WO2017071512A1 (zh) 一种多媒体数据的云存储、云下载方法及相关装置
KR20150036679A (ko) 이미지를 암호화 하고 복호화 하기 위한 방법, 장치 및 시스템
CN111698576B (zh) 信息加密方法、解密方法、服务器、客户端及介质
CN103079105A (zh) 一种节目源的保护方法及装置
US10284529B2 (en) Information processing apparatus and information processing method
US20120210128A1 (en) Information processing apparatus, information processing method and program
CN117061126A (zh) 一种管理云盘文件加密与解密的系统和方法
CN111917720A (zh) 基于区块链的文件碎片化加密存储方法、获取方法及系统
CN113661491A (zh) 用于加密和更新虚拟盘的方法
CN107330340B (zh) 文件加密方法、设备、文件解密方法、设备及存储介质
CN111813965B (zh) 多媒体文件的加密方法、解密方法、存储介质和电子设备
JP5175494B2 (ja) 暗号化コンテンツ編集方法およびコンテンツ管理装置
KR101609846B1 (ko) 블랙박스 영상에 대한 적정성 관리 방법 및 이를 위한 컴퓨터로 판독가능한 기록매체
KR102186901B1 (ko) 데이터 변조를 통한 멀티미디어 컨텐츠 파일의 암호화 장치 및 방법
JP7412445B2 (ja) コンテンツ複製装置、アクセス制御装置およびアクセス制御プログラム
CN111866868B (zh) 一种通过硬件加密联系人的方法及系统
KR101277261B1 (ko) 디지털 컨텐트를 스토리지 기기에 저장하는 방법 및 이를위한 장치
US20130036474A1 (en) Method and Apparatus for Secure Data Representation Allowing Efficient Collection, Search and Retrieval
CN105512575A (zh) 云平台虚拟磁盘加密方法及系统
CN110909385A (zh) 一种esim卡中存储数据的安全管理方法

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
GR01 Patent grant
GR01 Patent grant