CN112241538A - 一种用于生成加密文件的方法与设备 - Google Patents

一种用于生成加密文件的方法与设备 Download PDF

Info

Publication number
CN112241538A
CN112241538A CN202011033598.6A CN202011033598A CN112241538A CN 112241538 A CN112241538 A CN 112241538A CN 202011033598 A CN202011033598 A CN 202011033598A CN 112241538 A CN112241538 A CN 112241538A
Authority
CN
China
Prior art keywords
key
file
information
target
additional information
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
Application number
CN202011033598.6A
Other languages
English (en)
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.)
Shanghai Lianshang Network Technology Co Ltd
Original Assignee
Shanghai Lianshang Network Technology 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 Shanghai Lianshang Network Technology Co Ltd filed Critical Shanghai Lianshang Network Technology Co Ltd
Priority to CN202011033598.6A priority Critical patent/CN112241538A/zh
Publication of CN112241538A publication Critical patent/CN112241538A/zh
Pending legal-status Critical Current

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/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/6218Protecting 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
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本申请的目的是提供一种用于生成加密文件的方法和设备,包括:通过目标应用获取待加密的第一文件信息;从所述目标应用的秘钥池中确定一第一秘钥,并根据所述第一秘钥对所述第一文件信息执行加密操作;根据所述第一秘钥的秘钥附加信息以及加密后的所述第一文件信息生成第二文件信息。本申请可以提升加密文件的效率和安全性。

Description

一种用于生成加密文件的方法与设备
技术领域
本申请涉及通信领域,尤其涉及一种用于生成加密文件的技术。
背景技术
当今信息技术的发展可谓异常的迅猛,特别是伴随着互联网的广泛应用,网络技术的快速发展,方便了我们的日常生活,加快了我们的工作效率,然而网络安全问题时刻困扰着我们,现如今网络中的通信安全已经成为我们所要面临的重要问题。静态文件的存储安全就是大众关注的安全问题之一,一份文件可能包含了很多的机密和隐私,一旦被黑客或者其他非文件所有人获取,造成的后果不可想象。
发明内容
本申请的一个目的是提供一种用于生成加密文件的方法与设备。
根据本申请的一个方面,提供了一种用于生成加密文件的方法,该方法包括:
通过目标应用获取待加密的第一文件信息;
从所述目标应用的秘钥池中确定一第一秘钥,并根据所述第一秘钥对所述第一文件信息执行加密操作;
根据所述第一秘钥的秘钥附加信息以及加密后的所述第一文件信息生成第二文件信息。
根据本申请的一个方面,提供了一种用于生成加密文件的设备,该设备包括:
一一模块,用于通过目标应用获取待加密的第一文件信息;
一二模块,用于从所述目标应用的秘钥池中确定一第一秘钥,并根据所述第一秘钥对所述第一文件信息执行加密操作;
一三模块,用于根据所述第一秘钥的秘钥附加信息以及加密后的所述第一文件信息生成第二文件信息。
根据本发明的一个方面,提供了一种用于生成加密文件的设备,其中,该设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如上所述任一方法的操作。
根据本发明的另一个方面,提供了存储指令的计算机可读介质,所述指令在被执行时使得系统进行如上所述任一方法的操作。
与现有技术相比,本申请中用户设备通过目标应用获取待加密的第一文件信息后,运用目标应用中本地秘钥池中的第一秘钥对所述第一文件信息进行加密,并根据所述第一秘钥的秘钥附加信息以及加密后的所述第一文件信息生成第二文件信息。本申请基于目标应用中的秘钥池对第一文件信息使用对称加密方法,在保证加密高效率的前提下,增加了秘钥随机分配的防护,从而避免了因单一秘钥被破解而导致其他被加密的文件全部都被破解的情况,从而增加了由目标应用进行文件加密的高效性和安全性。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请一个实施例的一种用于生成加密文件的方法流程图;
图2示出了根据本申请另一个实施例的一种用于生成加密文件的方法流程图;
图3示出了根据本申请再一个实施例的一种用于生成加密文件的方法流程图;
图4示出根据本申请一个实施例的一种用于生成加密文件的用户设备的设备结构图;
图5示出可被用于实施本申请中所述的各个实施例的示例性系统。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(例如,中央处理器(Central Processing Unit,CPU))、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RandomAccess Memory,RAM)和/或非易失性内存等形式,如只读存储器(Read Only Memory,ROM)或闪存(Flash Memory)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(Phase-Change Memory,PCM)、可编程随机存取存储器(Programmable Random Access Memory,PRAM)、静态随机存取存储器(Static Random-Access Memory,SRAM)、动态随机存取存储器(Dynamic Random AccessMemory,DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、数字多功能光盘(Digital Versatile Disc,DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
本申请所指设备包括但不限于用户设备、网络设备、或用户设备与网络设备通过网络相集成所构成的设备。所述用户设备包括但不限于任何一种可与用户进行人机交互(例如通过触摸板进行人机交互)的移动电子产品,例如智能手机、平板电脑等,所述移动电子产品可以采用任意操作系统,如Android操作系统、iOS操作系统等。其中,所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific IntegratedCircuit,ASIC)、可编程逻辑器件(Programmable Logic Device,PLD)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、数字信号处理器(Digital Signal Processor,DSP)、嵌入式设备等。所述网络设备包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云;在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。所述网络包括但不限于互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(Ad Hoc网络)等。优选地,所述设备还可以是运行于所述用户设备、网络设备、或用户设备与网络设备、网络设备、触摸终端或网络设备与触摸终端通过网络相集成所构成的设备上的程序。
当然,本领域技术人员应能理解上述设备仅为举例,其他现有的或今后可能出现的设备如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
在本申请的描述中,“多个”的含义是两个或者更多,除非另有明确具体的限定。
图1示出了根据本申请一个实施例的一种用于生成加密文件的方法,应用于用户设备,所述方法包括步骤S101、步骤S102和步骤S103。
具体地,在步骤S101中,用户设备通过目标应用获取待加密的第一文件信息。例如,所述目标应用安装于所述用户设备,所述目标应用包括具有文件加解密功能的应用,用户设备通过所述目标应用获取大量待加密的文件信息,以其中的第一文件信息为例,所述第一文件信息包括语音文件、视频文件、图片文件、文本文件等。所述第一文件信息的来源包括用户设备本地缓存或者目标应用线上接收的信息。
在步骤S102中,用户设备从所述目标应用的秘钥池中确定一第一秘钥,并根据所述第一秘钥对所述第一文件信息执行加密操作。在一些实施例中,所述目标应用中预置有所述秘钥池,其中,所述秘钥池中包括多个不同的秘钥以及多个不同的秘钥附加信息。例如,所述目标应用自带本地秘钥池(例如,在设计该目标应用的应用程序时就已经配置所述目标应用对应的秘钥池的配置信息),秘钥池是随机数的容器,本身就是一个大文件,它可以提供加密文件所需要的秘钥,在一些实施例中,秘钥池是一种HashMap的数据接口(哈希表),该秘钥池中包括多个不同的秘钥(例如,以字符串的形式存在),以及待分配给每个秘钥的秘钥附加信息,其中,所述秘钥附加信息包括随机秘钥标识字符串,用于在后续应用秘钥加密文件时,为该秘钥随机分配一个对应的检索标签。由于秘钥池中的秘钥使用本身具有随机性,用户设备从所述目标应用的秘钥池中随机确定一秘钥(例如,第一秘钥),并将该第一秘钥作为本次加密使用的秘钥,随后基于第一秘钥用户设备使用DES、AES等加密算法对第一文件信息进行加密,生成加密后的第一文件信息。在一些实施例中,所述方法还包括步骤S105(未示出),在步骤S105中,用户设备确定所述第一秘钥的秘钥附加信息。例如,在用户设备通过目标应用获取随机秘钥(例如,第一秘钥)的同时,秘钥池随机为该第一秘钥分配了一个秘钥附加信息作为所述第一秘钥的索引标签,以便在后续解密该第一文件信息时根据索引标签查找到对应的第一秘钥,增加了秘钥随机分配的防护。在一些实施例中,所述确定所述第一秘钥的秘钥附加信息,包括:根据所述第一秘钥获取所述秘钥池分配的任意一个秘钥附加信息;将所述秘钥附加信息确定为所述第一秘钥的秘钥附加信息。例如,在秘钥池随机分配为第一文件信息加密的第一秘钥的前提下,秘钥池可基于所述第一秘钥随机分配第一秘钥的秘钥附加信息作为所述第一秘钥的索引标签,相对于秘钥池中预设存在秘钥与秘钥附加信息的对应关系,随机为一个使用中的秘钥分配一个随机的秘钥附加信息,可以提升后续秘钥加密的安全性,而且如果是预设的秘钥与秘钥附加信息的对应关系,很容易被其他应用(例如,非法应用)解密和获取该对应关系,采用秘钥附加信息随机的形式,可以实现即时多次应用的秘钥相同,可是该每次使用的秘钥对应的秘钥附加信息不一致,增加了其他软件企图进行破解文件的难度。
在步骤S103中,用户设备根据所述第一秘钥的秘钥附加信息以及加密后的所述第一文件信息生成第二文件信息。其中,所述第二文件信息以及所述加密后的第一文件信息均只在用户设备本地使用,并且禁止被分享(例如,分享到其他用户的设备)。例如,在确定第一秘钥的秘钥附加信息的前提下,用户设备在加密后的所述第一文件信息的文件头部添加该秘钥附加信息以生成第二文件信息,在一些实施例中,所述秘钥附加信息以16个字节的字符串形式添加至加密后的所述第一文件信息的文件头部。在一些实施例中,所述根据所述第一秘钥的秘钥附加信息以及加密后的所述第一文件信息生成第二文件信息,包括:将所述第一秘钥的秘钥附加信息写入一新建文件信息的文件头部以生成第二候选文件信息;将加密后的所述第一文件信息添加至所述第二候选文件信息以生成第二文件信息,其中,所述秘钥附加信息在所述文件头部所占的字节数符合预设字节数。例如,用户设备在本地新建一文件信息,并将该秘钥附加信息写入该新建文件信息的文件头部,例如,以预设字节数写入该新建文件信息的文件头部(例如,以16个字节的字符串形式),其中,所述新建文件信息为空文件,并不存在具体的文件内容,随后将加密后的所述第一文件信息写入到新建文件信息中,以生成第二文件信息。从而便于后续直接从第二文件信息中获取文件头部信息作为秘钥附加信息。
例如,如图2所述,图2示出了根据本申请另一个实施例的一种用于生成加密文件的方法流程图,一APP中预置了100个加密秘钥,用户设备通过该APP读取需要加密的文件A,并随机从这100个加密秘钥中选择一个秘钥,记录其秘钥值(例如,秘钥字符串cpTH4$xwVKX7nsas)以及对应的秘钥tag(标签)值(例如,秘钥附加信息9+$XzZ+TUdSW#kXx),用户设备新建一文件B作为加密结果文件,并在文件头部写入该秘钥tag信息,该秘钥tag信息为16个字节,并使用选择的秘钥对文件A进行加密,随后将加密后的内容写入到文件B。用户设备修改文件B的文件名并添加.Lock后缀后将该文件B存储至本地。
在一些实施例中,所述方法还包括步骤S106(未示出),在步骤S106中,用户设备将所述第一秘钥以及所述第一秘钥的秘钥附加信息更新至所述秘钥池的文件加密秘钥映射关系中,其中,所述文件加密秘钥映射关系包括使用中的秘钥与为该秘钥分配的秘钥附加信息之间的对应列表信息。例如,秘钥池中存在文件加密秘钥映射关系,所述文件加密秘钥映射关系中包括正在使用中的秘钥以及为该秘钥分配的秘钥附加信息之间的对应关系,示例如下:
Figure BDA0002704549290000061
Figure BDA0002704549290000071
如上示例,该文件加密秘钥映射关系中存在多组正在使用中的秘钥以及为该秘钥分配的秘钥附加信息,以其中一组为例,例如,“k8wKFodZusIYsRyd”:”rzRIc#5lnQ+mpEG5”,其中rzRIc#5lnQ+mpEG5作为秘钥,k8wKFodZusIYsRyd代表为该秘钥分配的秘钥附加信息,基于k8wKFodZusIYsRyd即可查询到秘钥rzRIc#5lnQ+mpEG5,本领域技术人员应能理解上述对应关系仅为举例,其他现有的或今后可能出现的秘钥以及秘钥附加信息之间的对应关系如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。在存在文件加密秘钥映射关系的前提下,用户设备每次使用目标应用的秘钥池中的秘钥进行加密时,都将秘钥以及对应的秘钥附加信息更新至所述秘钥池的文件加密秘钥映射关系中,以便后续能够快速查找到秘钥供解密使用。
在一些实施例中,所述方法还包括步骤S104(未示出),在步骤S104中,用户设备将所述第二文件信息存储在所述用户设备中。例如,所述第二文件信息只供用户设备本地使用(例如,在用户设备本地通过进行打开查阅),并且禁止被分享至出本用户设备以外的其他设备中(例如,分享到其他用户的设备)。在一些实施例中,所述将所述第二文件信息存储在所述用户设备中,包括:对所述第二文件信息执行文件修改操作以生成预设文件类型的第二文件信息,将所述预设文件类型的第二文件信息存储在所述用户设备中。例如,所述文件修改操作包括修改第二文件信息的文件名以及修改第二文件信息的后缀,所述预设文件类型包括基于修改后的文件后缀生成的文件类型,例如,第二文件信息的文件名全称为A.txt,后续生成预设文件类型的第二文件信息的文件名全称为a.txt.lock。在生成预设文件类型的前提下,为后续解密时区分当前文件是否已经解密过提供基础。
在一些实施例中,所述方法还包括步骤S107(未示出),在步骤S107中,用户设备响应于所述目标应用中的文件获取事件;检测所述文件获取事件对应的目标文件信息的文件类型信息是否为所述目标应用设定的预设文件类型,若是,按照预设字节数从所述目标文件信息的文件头部提取所述预设字节数对应的目标秘钥附加信息;否则,呈现所述目标文件信息的内容信息,其中所述目标文件信息存储于所述用户设备。例如,响应于用户在用户设备的目标应用中对一目标文件信息的触发操作(例如,点击查看),用户设备检测所述该目标文件信息的文件类型,例如,若该目标文件信息的文件后缀包括.lock,用户设备判断该目标文件信息需要进行解密操作;否则,用户设备确认可以直接通过目标应用打开该目标文件信息并呈现文件的内容。在所述目标文件信息为预设文件类型的前提下,用户设备读取该文件的文件头部的预设字节数对应的信息(例如,预设字节数为16个字节,用户设备读取该目标文件信息的前16个字节),并将该信息转换为字符串,并将该字符串作为目标秘钥附加信息,在获取目标秘钥附加信息的前提下,便于后续快速又安全地查询到解密所述目标文件信息中加密数据的秘钥。在一些实施例中,所述方法在响应于所述目标应用中的文件获取事件之前,还包括:响应于用户对所述目标应用的第一触发操作,对所述目标应用执行卸载操作;响应于所述用户设备中的安装事件,在所述用户设备中重新安装所述目标应用。例如,在用户设备通过目标应用对所述目标文件信息进行加密之后,基于用户对所述目标应用的第一触发操作(例如,卸载操作),用户设备将所述目标应用从用户设备中进行卸载,随后,响应于所述用户设备中的安装事件(例如,用户手动安装或者用户设备自动安装),用户设备重新安装所述目标应用,由于目标应用本身预置有秘钥池,即使目标应用重新安装,仍具有该预置的秘钥池,为后续在确定目标秘钥附加信息的基础上确定目标秘钥提供保障。
在一些实施例中,所述方法还包括步骤S108(未示出),在步骤S108中,用户设备将所述目标秘钥附加信息在所述目标应用的秘钥池的文件加密秘钥映射关系中进行查询匹配以确定所述目标秘钥附加信息对应的目标秘钥;通过所述目标秘钥对所述目标文件中的加密数据执行解密操作,以呈现所述加密数据对应的内容信息。例如,用户设备在获取目标秘钥附加信息的基础上,将该目标秘钥附加信息在该目标应用的秘钥池的文件加密秘钥映射关系中进行查询以确定对应的目标秘钥,在一些实施例中,目标应用的秘钥池中秘钥和秘钥附加信息是以预设配置的对应关系存在的,用户设备可直接在秘钥池中查询与所述目标秘钥附加信息对应的目标秘钥。从而提升了破解加密文件的效率。
在一些实施例中,所述方法还包括步骤S109(未示出),在步骤S109中,用户设备检测所述用户设备的已安装的应用中是否存在所述目标应用的关联应用,若存在,通过所述关联应用获取所述目标文件信息,并检测所述目标文件信息的文件类型信息是否为所述目标应用设定的预设文件类型,若是,按照预设字节数从所述目标文件信息的文件头部提取所述预设字节数对应的目标秘钥附加信息;将所述目标秘钥附加信息在所述关联应用的秘钥池的文件加密秘钥映射关系中进行查询匹配以确定是否存在所述目标秘钥附加信息对应的目标秘钥;若存在,通过所述目标秘钥对所述目标文件中的加密数据执行解密操作,以呈现所述加密数据对应的内容信息,其中,所述关联应用的秘钥池的文件加密秘钥映射关系包括所述目标应用的秘钥池的文件加密秘钥映射关系的部分或全部。在一些实施例中,用户设备的已安装应用中存在于所述目标应用相关的关联应用,例如,所述关联应用与所述目标应用属于同一公司旗下的产品(例如,可通过查看安装包包名),所述关联应用与所述目标应用都具有加密文件信息的功能。用户设备通过该关联应用获取所述目标文件信息,例如,若该目标文件信息的文件后缀包括.lock,用户设备判断该目标文件信息需要进行解密操作;否则,用户设备确认可以直接通过目标应用打开该目标文件信息并呈现文件的内容。用户设备从目标文件信息的文件头部按照预设字节数提取对应的信息,并将该信息作为目标秘钥信息,在获取目标秘钥附加信息的基础上,将该目标秘钥附加信息在该关联应用的秘钥池的文件加密秘钥映射关系中进行查询以确定对应的目标秘钥,在一些实施例中,关联应用的秘钥池中秘钥和秘钥附加信息是以预设配置的对应关系存在的,用户设备可直接在秘钥池中查询与所述目标秘钥附加信息对应的目标秘钥。从而提升了破解加密文件的效率。在一些实施例中,关联应用的秘钥池是该应用本身预配置的,关联应用的秘钥池中共享目标应用的秘钥池的文件加密秘钥映射关系的部分或全部,例如,用户随机分配目标应用的部分或全部的文件加密秘钥映射关系,或者用户设备基于日志信息中用户使用目标应用进行加密文件或者利用关联信息加密文件的频次确定用户随机分配目标应用的文件加密秘钥映射关系的比重(例如,若用户使用目标应用进行加密文件或者利用关联信息加密文件的频次相近,对应的比重就高)。在关联应用的秘钥池中存在目标秘钥附加信息对应的目标秘钥的基础上,用户设备通过该目标秘钥解密所述目标文件信息中的加密数据,并呈现加密数据对应的文件内容;若关联应用的秘钥池中不存在目标秘钥附加信息对应的目标秘钥,用户设备进行风险提示或者引导用户使用目标应用进行解锁。
例如,如图3所述,图3示出了根据本申请另一个实施例的一种用于生成加密文件的方法流程图,用户设备通过目标应用读取可能需要解密的文件,并查看该文件是否以.Lock结尾,若是,用户设备读取该文件的前16个字节,并转换成字符串,作为秘钥的Tag值(例如,秘钥附加信息),并使用该Tag在目标应用的本地秘钥池中查找对应的秘钥字符串,并用该秘钥字符串对加密文件进行解密,得到解密的文件内容。
图4示出了根据本申请一个实施例的一种用于生成加密文件的用户设备,所述用户设备包括一一模块101、一二模块102、一三模块103。
具体地,一一模块101,用于通过目标应用获取待加密的第一文件信息。例如,所述目标应用安装于所述用户设备,所述目标应用包括具有文件加解密功能的应用,用户设备通过所述目标应用获取大量待加密的文件信息,以其中的第一文件信息为例,所述第一文件信息包括语音文件、视频文件、图片文件、文本文件等。所述第一文件信息的来源包括用户设备本地缓存或者目标应用线上接收的信息。
一二模块102,用于从所述目标应用的秘钥池中确定一第一秘钥,并根据所述第一秘钥对所述第一文件信息执行加密操作。在一些实施例中,所述目标应用中预置有所述秘钥池,其中,所述秘钥池中包括多个不同的秘钥以及多个不同的秘钥附加信息。例如,所述目标应用自带本地秘钥池(例如,在设计该目标应用的应用程序时就已经配置所述目标应用对应的秘钥池的配置信息),秘钥池是随机数的容器,本身就是一个大文件,它可以提供加密文件所需要的秘钥,在一些实施例中,秘钥池是一种HashMap的数据接口(哈希表),该秘钥池中包括多个不同的秘钥(例如,以字符串的形式存在),以及待分配给每个秘钥的秘钥附加信息,其中,所述秘钥附加信息包括随机秘钥标识字符串,用于在后续应用秘钥加密文件时,为该秘钥随机分配一个对应的检索标签。由于秘钥池中的秘钥使用本身具有随机性,用户设备从所述目标应用的秘钥池中随机确定一秘钥(例如,第一秘钥),并将该第一秘钥作为本次加密使用的秘钥,随后基于第一秘钥用户设备使用DES、AES等加密算法对第一文件信息进行加密,生成加密后的第一文件信息。在一些实施例中,所述用户设备还包括一五模块105(未示出),一五模块105,用于确定所述第一秘钥的秘钥附加信息。所述一五模块105的具体实现方式与前述步骤S105的实施例相同或相近,故不再赘述,在此以引用方式包含于此。在一些实施例中,所述确定所述第一秘钥的秘钥附加信息,包括:根据所述第一秘钥获取所述秘钥池分配的任意一个秘钥附加信息;将所述秘钥附加信息确定为所述第一秘钥的秘钥附加信息。相关确定所述第一秘钥的秘钥附加信息的操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
一三模块103,用于根据所述第一秘钥的秘钥附加信息以及加密后的所述第一文件信息生成第二文件信息。其中,所述第二文件信息以及所述加密后的第一文件信息均只在用户设备本地使用,并且禁止被分享(例如,分享到其他用户的设备)。例如,在确定第一秘钥的秘钥附加信息的前提下,用户设备在加密后的所述第一文件信息的文件头部添加该秘钥附加信息以生成第二文件信息,在一些实施例中,所述秘钥附加信息以16个字节的字符串形式添加至加密后的所述第一文件信息的文件头部。在一些实施例中,所述根据所述第一秘钥的秘钥附加信息以及加密后的所述第一文件信息生成第二文件信息,包括:将所述第一秘钥的秘钥附加信息写入一新建文件信息的文件头部以生成第二候选文件信息;将加密后的所述第一文件信息添加至所述第二候选文件信息以生成第二文件信息,其中,所述秘钥附加信息在所述文件头部所占的字节数符合预设字节数。相关根据所述第一秘钥的秘钥附加信息以及加密后的所述第一文件信息生成第二文件信息的操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在此,有关上述一一模块101、一二模块102、一三模块103的具体实现方式的示例与图1中有关步骤S101、步骤S102、步骤S103的实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述用户设备还包括一六模块106(未示出),一六模块106,用于将所述第一秘钥以及所述第一秘钥的秘钥附加信息更新至所述秘钥池的文件加密秘钥映射关系中,其中,所述文件加密秘钥映射关系包括使用中的秘钥与为该秘钥分配的秘钥附加信息之间的对应列表信息。所述一六模块106的具体实现方式与前述步骤S106的实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述用户设备还包括一四模块104(未示出),一四模块104,用于将所述第二文件信息存储在所述用户设备中。例如,所述第二文件信息只供用户设备本地使用(例如,在用户设备本地通过进行打开查阅),并且禁止被分享至出本用户设备以外的其他设备中(例如,分享到其他用户的设备)。在一些实施例中,所述将所述第二文件信息存储在所述用户设备中,包括:对所述第二文件信息执行文件修改操作以生成预设文件类型的第二文件信息,将所述预设文件类型的第二文件信息存储在所述用户设备中。所述一四模块104的具体实现方式与前述步骤S104的实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述用户设备还包括一七模块107(未示出),一七模块107,用于响应于所述目标应用中的文件获取事件;检测所述文件获取事件对应的目标文件信息的文件类型信息是否为所述目标应用设定的预设文件类型,若是,按照预设字节数从所述目标文件信息的文件头部提取所述预设字节数对应的目标秘钥附加信息;否则,呈现所述目标文件信息的内容信息,其中所述目标文件信息存储于所述用户设备。所述一七模块107的具体实现方式与前述步骤S107的实施例相同或相近,故不再赘述,在此以引用方式包含于此。在一些实施例中,所述方法在响应于所述目标应用中的文件获取事件之前,还包括:响应于用户对所述目标应用的第一触发操作,对所述目标应用执行卸载操作;响应于所述用户设备中的安装事件,在所述用户设备中重新安装所述目标应用。相关响应于所述目标应用中的文件获取事件之前的操作与图2所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述用户设备还包括一八模块108(未示出),一八模块108,用于将所述目标秘钥附加信息在所述目标应用的秘钥池的文件加密秘钥映射关系中进行查询匹配以确定所述目标秘钥附加信息对应的目标秘钥;通过所述目标秘钥对所述目标文件中的加密数据执行解密操作,以呈现所述加密数据对应的内容信息。所述一八模块108的具体实现方式与前述步骤S108的实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述用户设备还包括一九模块109(未示出),一九模块109,用于检测所述用户设备的已安装的应用中是否存在所述目标应用的关联应用,若存在,通过所述关联应用获取所述目标文件信息,并检测所述目标文件信息的文件类型信息是否为所述目标应用设定的预设文件类型,若是,按照预设字节数从所述目标文件信息的文件头部提取所述预设字节数对应的目标秘钥附加信息;将所述目标秘钥附加信息在所述关联应用的秘钥池的文件加密秘钥映射关系中进行查询匹配以确定是否存在所述目标秘钥附加信息对应的目标秘钥;若存在,通过所述目标秘钥对所述目标文件中的加密数据执行解密操作,以呈现所述加密数据对应的内容信息,其中,所述关联应用的秘钥池的文件加密秘钥映射关系包括所述目标应用的秘钥池的文件加密秘钥映射关系的部分或全部。所述一九模块109的具体实现方式与前述步骤S109的实施例相同或相近,故不再赘述,在此以引用方式包含于此。
除上述各实施例介绍的方法和设备外,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机代码,当所述计算机代码被执行时,如前任一项所述的方法被执行。
本申请还提供了一种计算机程序产品,当所述计算机程序产品被计算机设备执行时,如前任一项所述的方法被执行。
本申请还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个计算机程序;
当所述一个或多个计算机程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如前任一项所述的方法。
图5示出了可被用于实施本申请中所述的各个实施例的示例性系统;
如图5所示在一些实施例中,系统300能够作为各所述实施例中的任意一个设备。在一些实施例中,系统300可包括具有指令的一个或多个计算机可读介质(例如,系统存储器或NVM/存储设备320)以及与该一个或多个计算机可读介质耦合并被配置为执行指令以实现模块从而执行本申请中所述的动作的一个或多个处理器(例如,(一个或多个)处理器305)。
对于一个实施例,系统控制模块310可包括任意适当的接口控制器,以向(一个或多个)处理器305中的至少一个和/或与系统控制模块310通信的任意适当的设备或组件提供任意适当的接口。
系统控制模块310可包括存储器控制器模块330,以向系统存储器315提供接口。存储器控制器模块330可以是硬件模块、软件模块和/或固件模块。
系统存储器315可被用于例如为系统300加载和存储数据和/或指令。对于一个实施例,系统存储器315可包括任意适当的易失性存储器,例如,适当的DRAM。在一些实施例中,系统存储器315可包括双倍数据速率类型四同步动态随机存取存储器(DDR4SDRAM)。
对于一个实施例,系统控制模块310可包括一个或多个输入/输出(I/O)控制器,以向NVM/存储设备320及(一个或多个)通信接口325提供接口。
例如,NVM/存储设备320可被用于存储数据和/或指令。NVM/存储设备320可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器(HDD)、一个或多个光盘(CD)驱动器和/或一个或多个数字通用光盘(DVD)驱动器)。
NVM/存储设备320可包括在物理上作为系统300被安装在其上的设备的一部分的存储资源,或者其可被该设备访问而不必作为该设备的一部分。例如,NVM/存储设备320可通过网络经由(一个或多个)通信接口325进行访问。
(一个或多个)通信接口325可为系统300提供接口以通过一个或多个网络和/或与任意其他适当的设备通信。系统300可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信。
对于一个实施例,(一个或多个)处理器305中的至少一个可与系统控制模块310的一个或多个控制器(例如,存储器控制器模块330)的逻辑封装在一起。对于一个实施例,(一个或多个)处理器305中的至少一个可与系统控制模块310的一个或多个控制器的逻辑封装在一起以形成系统级封装(SiP)。对于一个实施例,(一个或多个)处理器305中的至少一个可与系统控制模块310的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例,(一个或多个)处理器305中的至少一个可与系统控制模块310的一个或多个控制器的逻辑集成在同一模具上以形成片上系统(SoC)。
在各个实施例中,系统300可以但不限于是:服务器、工作站、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)。在各个实施例中,系统300可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,系统300包括一个或多个摄像机、键盘、液晶显示器(LCD)屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(ASIC)和扬声器。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。本领域技术人员应能理解,计算机程序指令在计算机可读介质中的存在形式包括但不限于源文件、可执行文件、安装包文件等,相应地,计算机程序指令被计算机执行的方式包括但不限于:该计算机直接执行该指令,或者该计算机编译该指令后再执行对应的编译后程序,或者该计算机读取并执行该指令,或者该计算机读取并安装该指令后再执行对应的安装后程序。在此,计算机可读介质可以是可供计算机访问的任意可用的计算机可读存储介质或通信介质。
通信介质包括藉此包含例如计算机可读指令、数据结构、程序模块或其他数据的通信信号被从一个系统传送到另一系统的介质。通信介质可包括有导的传输介质(诸如电缆和线(例如,光纤、同轴等))和能传播能量波的无线(未有导的传输)介质,诸如声音、电磁、RF、微波和红外。计算机可读指令、数据结构、程序模块或其他数据可被体现为例如无线介质(诸如载波或诸如被体现为扩展频谱技术的一部分的类似机制)中的已调制数据信号。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被更改或设定的信号。调制可以是模拟的、数字的或混合调制技术。
作为示例而非限制,计算机可读存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动的介质。例如,计算机可读存储介质包括,但不限于,易失性存储器,诸如随机存储器(RAM,DRAM,SRAM);以及非易失性存储器,诸如闪存、各种只读存储器(ROM,PROM,EPROM,EEPROM)、磁性和铁磁/铁电存储器(MRAM,FeRAM);以及磁性和光学存储设备(硬盘、磁带、CD、DVD);或其它现在已知的介质或今后开发的能够存储供计算机系统使用的计算机可读信息/数据。
在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

Claims (14)

1.一种用于生成加密文件的方法,应用于用户设备,其中,该方法包括:
通过目标应用获取待加密的第一文件信息;
从所述目标应用的秘钥池中确定一第一秘钥,并根据所述第一秘钥对所述第一文件信息执行加密操作;
根据所述第一秘钥的秘钥附加信息以及加密后的所述第一文件信息生成第二文件信息。
2.根据权利要求1所述的方法,其中,所述根据所述第一秘钥的秘钥附加信息以及加密后的所述第一文件信息生成第二文件信息,包括:
将所述第一秘钥的秘钥附加信息写入一新建文件信息的文件头部以生成第二候选文件信息;
将加密后的所述第一文件信息添加至所述第二候选文件信息以生成第二文件信息,其中,所述秘钥附加信息在所述文件头部所占的字节数符合预设字节数。
3.根据权利要求1或2所述的方法,其中,所述方法还包括:
将所述第二文件信息存储在所述用户设备中。
4.根据权利要求3所述的方法,其中,所述将所述第二文件信息存储在所述用户设备中,包括:
对所述第二文件信息执行文件修改操作以生成预设文件类型的第二文件信息,将所述预设文件类型的第二文件信息存储在所述用户设备中。
5.根据权利要求1至4中任一项所述的方法,其中,所述目标应用中预置有所述秘钥池,其中,所述秘钥池中包括多个不同的秘钥以及多个不同的秘钥附加信息。
6.根据权利要求1至5中任一项所述的方法,其中,所述方法还包括:
确定所述第一秘钥的秘钥附加信息。
7.根据权利要求6所述的方法,其中,所述确定所述第一秘钥的秘钥附加信息,包括:
根据所述第一秘钥获取所述秘钥池分配的任意一个秘钥附加信息;
将所述秘钥附加信息确定为所述第一秘钥的秘钥附加信息。
8.根据权利要求7所述的方法,其中,所述方法还包括:
将所述第一秘钥以及所述第一秘钥的秘钥附加信息更新至所述秘钥池的文件加密秘钥映射关系中,其中,所述文件加密秘钥映射关系包括使用中的秘钥与为该秘钥分配的秘钥附加信息之间的对应列表信息。
9.根据权利要求1至8中任一项所述的方法,其中,所述方法还包括:
响应于所述目标应用中的文件获取事件;
检测所述文件获取事件对应的目标文件信息的文件类型信息是否为所述目标应用设定的预设文件类型,若是,按照预设字节数从所述目标文件信息的文件头部提取所述预设字节数对应的目标秘钥附加信息;否则,呈现所述目标文件信息的内容信息,其中所述目标文件信息存储于所述用户设备。
10.根据权利要求9所述的方法,其中,所述方法还包括:
将所述目标秘钥附加信息在所述目标应用的秘钥池的文件加密秘钥映射关系中进行查询匹配以确定所述目标秘钥附加信息对应的目标秘钥;
通过所述目标秘钥对所述目标文件中的加密数据执行解密操作,以呈现所述加密数据对应的内容信息。
11.根据权利要求9所述的方法,其中,所述方法在响应于所述目标应用中的文件获取事件之前,还包括:
响应于用户对所述目标应用的第一触发操作,对所述目标应用执行卸载操作;
响应于所述用户设备中的安装事件,在所述用户设备中重新安装所述目标应用。
12.根据权利要求9所述的方法,其中,所述方法还包括:
检测所述用户设备的已安装的应用中是否存在所述目标应用的关联应用,若存在,通过所述关联应用获取所述目标文件信息,并检测所述目标文件信息的文件类型信息是否为所述目标应用设定的预设文件类型,若是,按照预设字节数从所述目标文件信息的文件头部提取所述预设字节数对应的目标秘钥附加信息;
将所述目标秘钥附加信息在所述关联应用的秘钥池的文件加密秘钥映射关系中进行查询匹配以确定是否存在所述目标秘钥附加信息对应的目标秘钥;
若存在,通过所述目标秘钥对所述目标文件中的加密数据执行解密操作,以呈现所述加密数据对应的内容信息,其中,所述关联应用的秘钥池的文件加密秘钥映射关系包括所述目标应用的秘钥池的文件加密秘钥映射关系的部分或全部。
13.一种用于生成加密文件的设备,其特征在于,所述设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如权利要求1至12中任一项所述的方法。
14.一种存储指令的计算机可读介质,所述指令在被计算机执行时使得所述计算机进行如权利要求1至12中任一项所述方法的操作。
CN202011033598.6A 2020-09-27 2020-09-27 一种用于生成加密文件的方法与设备 Pending CN112241538A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011033598.6A CN112241538A (zh) 2020-09-27 2020-09-27 一种用于生成加密文件的方法与设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011033598.6A CN112241538A (zh) 2020-09-27 2020-09-27 一种用于生成加密文件的方法与设备

Publications (1)

Publication Number Publication Date
CN112241538A true CN112241538A (zh) 2021-01-19

Family

ID=74171742

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011033598.6A Pending CN112241538A (zh) 2020-09-27 2020-09-27 一种用于生成加密文件的方法与设备

Country Status (1)

Country Link
CN (1) CN112241538A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003273860A (ja) * 2002-03-19 2003-09-26 Ricoh Co Ltd 暗号化文書閲覧方法、暗号化文書閲覧システム、暗号化文書閲覧プログラム、暗号化文書閲覧プログラムを格納する記憶媒体、暗号化文書閲覧システムに用いられる管理装置、暗号化文書のデータ構造、暗号化文書のデータ構造生成装置、及び暗号化文書のデータ構造生成プログラム
CN101222509A (zh) * 2008-01-22 2008-07-16 中兴通讯股份有限公司 一种点对点网络的数据保护传输方法
US9703979B1 (en) * 2014-06-13 2017-07-11 BicDroid Inc. Methods and computer program products for encryption key generation and management
CN107085690A (zh) * 2017-04-27 2017-08-22 武汉斗鱼网络科技有限公司 加密方法、解密方法及装置
CN107995174A (zh) * 2017-11-23 2018-05-04 上海斐讯数据通信技术有限公司 文件密钥获取装置及方法,文件解密装置及方法
US20180268159A1 (en) * 2017-03-16 2018-09-20 Jun Yu Method and System for Policy Based Real Time Data File Access Control
CN111324901A (zh) * 2020-02-19 2020-06-23 陈灿阳 一种用于创建和解密企业安全加密文件的方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003273860A (ja) * 2002-03-19 2003-09-26 Ricoh Co Ltd 暗号化文書閲覧方法、暗号化文書閲覧システム、暗号化文書閲覧プログラム、暗号化文書閲覧プログラムを格納する記憶媒体、暗号化文書閲覧システムに用いられる管理装置、暗号化文書のデータ構造、暗号化文書のデータ構造生成装置、及び暗号化文書のデータ構造生成プログラム
CN101222509A (zh) * 2008-01-22 2008-07-16 中兴通讯股份有限公司 一种点对点网络的数据保护传输方法
US9703979B1 (en) * 2014-06-13 2017-07-11 BicDroid Inc. Methods and computer program products for encryption key generation and management
US20180268159A1 (en) * 2017-03-16 2018-09-20 Jun Yu Method and System for Policy Based Real Time Data File Access Control
CN107085690A (zh) * 2017-04-27 2017-08-22 武汉斗鱼网络科技有限公司 加密方法、解密方法及装置
CN107995174A (zh) * 2017-11-23 2018-05-04 上海斐讯数据通信技术有限公司 文件密钥获取装置及方法,文件解密装置及方法
CN111324901A (zh) * 2020-02-19 2020-06-23 陈灿阳 一种用于创建和解密企业安全加密文件的方法

Similar Documents

Publication Publication Date Title
CN111539813B (zh) 业务行为的回溯处理方法、装置、设备及系统
US10917394B2 (en) Data operations using a proxy encryption key
KR101224322B1 (ko) 마이크로제어기 내의 데이터 보안 처리를 위한 방법, 장치 및 집적 회로
CN106971121B (zh) 数据处理方法、装置、服务器及存储介质
US20220006617A1 (en) Method and apparatus for data storage and verification
US20220035922A1 (en) Blockchain-based data processing method, apparatus, and device
CN107078904B (zh) 混合密码密钥导出
CN108628611B (zh) 一种数据调用方法及数据调用装置
US20150302148A1 (en) Method and system for securing electronic health records
US11489660B2 (en) Re-encrypting data on a hash chain
US9563773B2 (en) Systems and methods for securing BIOS variables
US20190238560A1 (en) Systems and methods to provide secure storage
US9292708B2 (en) Protection of interpreted source code in virtual appliances
US20190356691A1 (en) Historic data breach detection
CN110086607B (zh) 快速切换部署密钥的方法、装置、计算机设备和存储介质
US20210012017A1 (en) Method and apparatus for storing and processing application program information
WO2019210471A1 (zh) 一种数据调用方法及数据调用装置
KR102542213B1 (ko) 네트워크 기반 스토리지의 데이터 실시간 암복호화 보안 시스템 및 방법
US20190188373A1 (en) Systems and methods for obfuscation of password key and dynamic key pool management
CN112241538A (zh) 一种用于生成加密文件的方法与设备
US11126734B2 (en) Method, device and computer program product for data processing
CN110750162A (zh) 一种输入法与设备
WO2018034192A1 (ja) 情報処理装置、情報処理方法、及び、記録媒体
US20220318438A1 (en) Systems and methods for data security on a mobile device
CN116662623B (zh) 一种用于访问菜单信息的方法、装置、设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination