CN111866868A - 一种通过硬件加密联系人的方法及系统 - Google Patents

一种通过硬件加密联系人的方法及系统 Download PDF

Info

Publication number
CN111866868A
CN111866868A CN202010631068.5A CN202010631068A CN111866868A CN 111866868 A CN111866868 A CN 111866868A CN 202010631068 A CN202010631068 A CN 202010631068A CN 111866868 A CN111866868 A CN 111866868A
Authority
CN
China
Prior art keywords
file
encrypted
encryption
contact
zip
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.)
Granted
Application number
CN202010631068.5A
Other languages
English (en)
Other versions
CN111866868B (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.)
Shanghai Smart Peak Technology Co ltd
Original Assignee
Shanghai Smart Peak 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 Smart Peak Technology Co ltd filed Critical Shanghai Smart Peak Technology Co ltd
Priority to CN202010631068.5A priority Critical patent/CN111866868B/zh
Publication of CN111866868A publication Critical patent/CN111866868A/zh
Application granted granted Critical
Publication of CN111866868B publication Critical patent/CN111866868B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]

Abstract

本发明涉及智能设备联系人加密技术领域,提供了一种通过硬件加密联系人的方法及系统,其方法包括加密存储和解密显示两个过程方法。加密存储,通过包括压缩、局部加密、Hash运算在内的步骤,将智能设备上的联系人转化成密联系人,并将所述密联系人存储在包括EMMC、flash在内的存储器上。解密显示,当所述智能设备开机时,通过包括Hash验证、局部解密、解压在内的步骤,将所述密联系人转化成明联系人,存储于内存虚拟的虚拟分区上,提供给所述智能设备的应用使用。通过使用硬件加密的方式,比普通的软件加密安全性更高,并且将明文数据库存储在内存虚拟的分区内,不管出现任何异常,都不会有明文的数据库残留在存储器上。

Description

一种通过硬件加密联系人的方法及系统
技术领域
本发明涉及智能设备联系人加密的技术领域,尤其涉及一种通过硬件加密联系人的方法及系统。
背景技术
随着智能设备的普及,智能设备中敏感信息的保护变得越来越重要。联系人、通话记录信息就是其中一种。现有的智能设备用户数据加密主要集中在对用户分区的全盘加密,这种加密方式仅针对整个用户数据分区加密,且采用开源的软加密算法。
进一步地,在现有的技术中,由于应用不能读写加密后的联系人数据,只能访问明文形式数据库,一般的加解密方案会在开机时将数据库解密,然后将明文的数据库存放在存储器的某个路径下提供给应用使用,在手机关机时再删掉明文的数据库,以达到存储器里不存储明文数据的目的。但这种方案有其明显的缺陷,攻击者如果在手机开机状态下直接断电,或者让手机异常关机,则存储在某个路径下的明文数据就保留在了存储器里,达不到数据加密的原始目的。
发明内容
针对上述问题,本发明的目的在于提供一种通过硬件加密联系人的方法及系统,联系人数据库经过压缩算法,加密T卡加密,并计算hash值后,存储在设备存储器(EMMC,flash等)上,系统启动时从存储器上读取加密后的数据库,经过解密、解压、验证完整性后,导入到内存虚拟出的存储区域后使用。
本发明的上述发明目的是通过以下技术方案得以实现的:
一种通过硬件加密联系人的方法,包括加密存储和解密显示两个过程方法;
所述加密存储,通过包括压缩、局部加密、Hash运算在内的步骤,将智能设备上的联系人转化成密联系人,并将所述密联系人存储在包括EMMC、flash在内的存储器上,具体包括以下步骤:
S11:将所述智能设备上的联系人对应的数据库文件进行zip压缩,生成后缀名为.zip的zip压缩文件;
S12:针对所述zip压缩文件进行局部加密,选取所述zip压缩文件的文件头部的部分字节作为待加密数据,通过加密T卡对所述待加密数据进行硬件加密,加密后形成已加密数据,替换掉所述zip压缩文件中对应的原始数据,生成后缀名为.zip.sec的sec加密文件;
S13:通过国密杂凑算法sm3对所述sec加密文件进行Hash运算,得到32位的Hash值,并通过所述加密T卡对所述32位的Hash值进行加密,得到加密后的32位Hash值,将所述加密后的32位Hash值增加到所述sec加密文件的尾部,得到最终的后缀名为.zip.hash.sec的Hash加密文件,将所述Hash加密文件存储于所述存储器上;
所述解密显示,当所述智能设备开机时,通过包括Hash验证、局部解密、解压在内的步骤,将所述密联系人转化成明联系人,存储于内存虚拟的虚拟分区上,提供给所述智能设备的应用使用,其中,所述虚拟分区为通过linux tmpfs虚拟内存文件系统,从内存中分配的一个分区,具体包括以下步骤:
S21:从所述Hash加密文件的尾部,截取所述加密后的32位Hash值,通过所述加密T卡对所述加密后的32位Hash值进行解密,得到所述32位的Hash值;通过所述国密杂凑算法sm3对所述Hash加密文件去掉所述加密后的32位Hash值的部分进行计算,将计算结果与所述32位的Hash值进行对比,若相同则验证通过,去掉所述Hash加密文件的尾部的32位,生成后缀名为.zip.sec的所述sec加密文件,否则退出解密过程;
S22:针对所述sec加密文件进行局部解密,获取所述sec加密文件中所述已加密数据,通过所述加密T卡进行解密,解密后形成解密数据,替换掉所述sec加密文件中对应的原始数据,生成后缀名为.zip的所述zip压缩文件;
S23:解压所述zip压缩文件,将解压后的文件存入内存虚拟的虚拟分区上,提供给所述智能设备的应用使用。
进一步地,通过硬件加密联系人的方法,还包括:
通过所述linux tmpfs虚拟内存文件系统,从内存中分配出一个分区,作为所述虚拟分区,用于存储所述明联系人,具体执行的命令为:
mount-t tmpfs-o size=100m tmpfs/mnt/vd;
其中,mount命令用来挂载文件系统,-t代表挂载的文件系统的类型,tmpfs代表挂载的文件系统是tmpfs类型,-o代表选项,size代表选项里面的size=100M,表示划分的分区大小为100M,tmpfs/mnt/vd代表挂载路径。
进一步地,针对所述zip压缩文件进行局部加密,具体为:
选取所述zip压缩文件的文件头部从第129至144字节的16个字节作为待加密数据,通过加密T卡对所述待加密数据进行硬件加密,加密后形成16个字节的加密数据,替换掉所述zip压缩文件中对应的原始数据,生成后缀名为.zip.sec的sec加密文件。
进一步地,针对所述sec加密文件进行局部解密,具体为:
获取所述sec加密文件的文件头部从第129至144字节的16个字节作为所述已加密数据,通过所述加密T卡进行解密,解密后形成解密数据,替换掉所述sec加密文件中对应的原始数据,生成后缀名为.zip的所述zip压缩文件。
一种通过硬件加密联系人的系统,包括加密存储模块和解密显示模块;
所述加密存储模块,用于通过包括压缩、局部加密、Hash运算在内的步骤,将智能设备上的联系人转化成密联系人,并将所述密联系人存储在包括EMMC、flash在内的存储器上,进一步包括:
压缩单元,用于将所述智能设备上的联系人对应的数据库文件进行zip压缩,生成后缀名为.zip的zip压缩文件;
局部加密单元,用于针对所述zip压缩文件进行局部加密,选取所述zip压缩文件的文件头部的部分字节作为待加密数据,通过加密T卡对所述待加密数据进行硬件加密,加密后形成已加密数据,替换掉所述zip压缩文件中对应的原始数据,生成后缀名为.zip.sec的sec加密文件;
Hash运算单元,用于通过国密杂凑算法sm3对所述sec加密文件进行Hash运算,得到32位的Hash值,并通过所述加密T卡对所述32位的Hash值进行加密,得到加密后的32位Hash值,将所述加密后的32位Hash值增加到所述sec加密文件的尾部,得到最终的后缀名为.zip.hash.sec的Hash加密文件,将所述Hash加密文件存储于所述存储器上;
所述解密显示模块,用于当所述智能设备开机时,通过包括Hash验证、局部界面、解压在内的步骤,将所述密联系人转化成明联系人,存储于内存虚拟的虚拟分区上,提供给所述智能设备的应用使用,其中,所述虚拟分区为通过linux tmpfs虚拟内存文件系统,从内存中分配的一个分区,进一步包括:
Hash验证单元,用于从所述Hash加密文件的尾部,截取所述加密后的32位Hash值,通过所述加密T卡对所述加密后的32位Hash值进行解密,得到所述32位的Hash值;通过所述国密杂凑算法sm3对所述Hash加密文件去掉所述加密后的32位Hash值的部分进行计算,将计算结果与所述32位的Hash值进行对比,若相同则验证通过,去掉所述Hash加密文件的尾部的32位,生成后缀名为.zip.sec的所述sec加密文件,否则退出解密过程
局部解密单元,用于针对所述sec加密文件进行局部解密,获取所述sec加密文件中所述已加密数据,通过所述加密T卡进行解密,解密后形成解密数据,替换掉所述sec加密文件中对应的原始数据,生成后缀名为.zip的所述zip压缩文件;
解压单元,用于解压所述zip压缩文件,将解压后的文件存入内存虚拟的虚拟分区上,提供给所述智能设备的应用使用。
进一步的,通过硬件加密联系人的系统,其特征在于,还包括:
虚拟分区模块,用于通过所述linux tmpfs虚拟内存文件系统,从内存中分配出一个分区,作为所述虚拟分区,用于存储所述明联系人,具体执行的命令为:mount-t tmpfs-osize=100m tmpfs/mnt/vd;其中,mount命令用来挂载文件系统,-t代表挂载的文件系统的类型,tmpfs代表挂载的文件系统是tmpfs类型,-o代表选项,size代表选项里面的size=100M,表示划分的分区大小为100M,tmpfs/mnt/vd代表挂载路径。
一种通过硬件加密联系人的方法,包括加密存储和解密显示两个过程方法:
所述加密存储的过程为:将智能设备上的联系人对应的数据库文件,通过加密T卡进行硬件加密,将加密后的密联系人文件存储于存储器上;
所述解密显示的过程为:通过所述加密T卡对所述密联系人文件进行硬件解密,并加解密后的所述数据库文件存入内存虚拟的虚拟分区上,提供给所述智能设备的应用使用。
进一步地,通过硬件加密联系人的方法,还包括:
在通过所述加密T卡进行硬件加密时,截取所述数据库文件的文件头部部分字节作为待加密数据,通过所述加密T卡对所述待加密文件进行硬件加密,加密后形成已加密数据,替换掉所述数据库文件中对应的原始数据,生成加密后的所述密联系人文件存储于所述存储器上。
进一步地,在将所述密联系人文件存储于所述存储器上之前,还包括:
通过国密杂凑算法sm3对所述密联系人文件进行Hash运算,得到32位的Hash值,并通过所述加密T卡对所述32位的Hash值进行加密,得到加密后的32位Hash值,将所述加密后的32位Hash值增加到所述密联系人文件的尾部。
进一步地,在将智能设备上的联系人对应的所述数据库文件,通过所述加密T卡进行硬件加密之前,还包括:
将所述数据库文件进行zip压缩,将压缩后的所述数据文件,通过所述加密T卡进行硬件加密。
与现有技术相比,本发明包括以下至少一种有益效果是:
(1)通过使用加密T卡对待加密数据进行硬件加密的方式,比普通的软件加密安全性更高。
(2)通过将解压后的文件存入内存虚拟的虚拟分区上,提供给智能设备使用,明文数据库存储在内存虚拟的分区里(虚拟硬盘),不管出现任何异常(掉电、死机、强制重启等),都不会有明文数据库残留在存储器上,极大的加强了安全性。
(3)采用虚拟分区存储明联系人的方式,只需要启动时解密一次,后续应用读取的都是内存里的明联系人数据库,因此访问效率不受任何影响,与普通未加密数据库联系人没有任何效率上的差异。
(4)不对数据库全部数据进行加密,而是压缩后仅加密头部字段,由于压缩后的数据有任何变化都无法解压,因此既保证了安全性,又保证了效率。与普通的全数据加密相比,加解密速度基本不受数据库大小影响。
(5)由于采用虚拟分区存储明联系人的方式,对于上层应用来说与普通联系人数据库没有任何区别,因此该方案可以很好的兼容各种市面上开放的联系人应用,联系人应用也不用专门定制。
(6)基于将明联系人存储于内存的虚拟分区中,并且仅对压缩后的头部字段进行加密,该密联系人加密方案效率基本上不受联系人数量的影响,因此极其适合现在用户联系人数量庞大的场景。
(7)对加密后的数据库通过国密杂凑算法sm3进行Hash运算,并对Hash值通过加密T卡进一步加密,进一步保证了数据的完整性。
附图说明
图1为本发明联系加解密服务的整体结构图;
图2为本发明联系人数据库加密的整体流程图;
图3为本发明智能设备最小硬件组成结构图;
图4为本发明加密前的zip压缩文件的头部的示意图;
图5为本发明加密后的sec加密文件的头部的示意图;
图6为本发明增加Hash值之前的文件的尾部的示意图;
图7为本发明增加Hash值之后的文件的尾部的示意图;
图8为本发明联系人数据库解密的整体流程图;
图9为本发明一种通过硬件加密联系人的系统的整体结构图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。
本发明的密联系人存储在存储器上,应用层使用的明联系人存储在内存虚拟的虚拟分区上,具体设计方案为:
联系人数据在智能设备上通常以数据库形式保存,一般存放在存储器(emmc或flash)的用于数据区域,比如说:/data/data/com.android.providers.contacts/databases/contacts.db。
由于应用不能读写加密后的联系人数据,只能访问明文形式数据库,一般的加解密方案会在开机时将数据库解密,然后将明文的数据库放在存储器的某个路径下提供给应用使用,在手机关机时再删除掉明文的数据库,以达到存储器里不存储明文数据库的目的。但这种方案有明显的缺陷,攻击者如果在手机开机状态下直接断电,或者让手机异常关机,则存储在某个路径下的明文数据就保留在了存储器里,达不到数据加密的原始目的。为了解决这个问题,我们在init.rc里通过linux tmpfs虚拟内存文件系统,分配出一部分的内存挂载成虚拟盘,并配置相应的权限,命令如下:
mkdir/mnt/vd 0777system system
mount–t tmpfs–o size=300m tmpfs/mnt/vd
chmod 0777/mnt/vd
chown system system/mnt/vd
这样,解密后的明文数据库存放在虚拟盘里提供给上层应用使用,即使手机异常掉电或者关机的情况下,也不会有明文的数据残留在存储器里。
基于以上方案,将加密的后的数据存储在存储器中,如:/data/data/com.android.providers.contacts/databases/contacts.db
将明文的数据库及相关中间文件存储在虚拟盘里面。
第一实施例
本实施例为一种通过硬件加密联系人的方法的具体举例,如图1所示,通过联系人加解密服务对联系人数据库进行处理,将加密后的数据库存储于存储器中,将解密后的明文数据库存储于内存的虚拟分区中,提供给联系人应用使用。其方法包括加密存储和解密显示两个过程方法。
如图2所示,所述加密存储,通过包括压缩、局部加密、Hash运算在内的步骤,将智能设备上的联系人转化成密联系人,并将所述密联系人存储在包括EMMC、flash在内的存储器上,具体包括以下步骤:
S11:将所述智能设备上的联系人对应的数据库文件进行zip压缩,生成后缀名为.zip的zip压缩文件。
具体地,在新建完联系人,并且将联系人对应的数据库文件保存于虚拟文件系统之后,需要通过加密T卡进行加密,其中,增加了加密T卡的智能设备的系统的最小硬件组成结构如图3所示。由于加密T卡的理论数据加解密速率在2MBit/s左右,1MByte的数据库数据如果要全部加、解密则需要4s左右,如果联系人数据库数量增大,则加解密所需要的时间也会线性增加,因此在对数据库加密时,我们先对数据库进行压缩,压缩后生成后缀名为.zip的zip压缩文件。
S12:针对所述zip压缩文件进行局部加密,选取所述zip压缩文件的文件头部的部分字节作为待加密数据,通过加密T卡对所述待加密数据进行硬件加密,加密后形成已加密数据,替换掉所述zip压缩文件中对应的原始数据,生成后缀名为.zip.sec的sec加密文件。
具体地,在本实施例中,任何字节的改变都会导致zip文件无法解压,因此,我们对zip压缩文件进行局部加密,即尽可能保证数据的安全性,也能保证数据加密的效率。考虑到zip文件头部有部分信息是头文件信息,为了保证加密的有效性,选取zip压缩文件的文件头部从第129至144字节的16个字节作为待加密数据,通过加密T卡对所述待加密数据进行硬件加密,加密后形成16个字节的加密数据,替换掉所述zip压缩文件中对应的原始数据,生成后缀名为.zip.sec的sec加密文件。
举个例子来说,加密前的zip压缩文件的头部如图4所示,加密后的sec加密文件的头部如图5所示。对zip压缩文件的文件头部从第129至144字节的16个字节“F3 BD DF F77B 7F DF 3D 73 DF A9 72CB D4 2F D4”进行加密得到加密后的16个字节的加密数据“9234 DC E4 43 07 35 4B 2E F4 6D B6 AD 5C E7 75”。替换掉所述zip压缩文件中对应的原始数据,生成头部如图5所示的,后缀名为.zip.sec的sec加密文件。
S13:通过国密杂凑算法sm3对所述sec加密文件进行Hash运算,得到32位的Hash值,并通过所述加密T卡对所述32位的Hash值进行加密,得到加密后的32位Hash值,将所述加密后的32位Hash值增加到所述sec加密文件的尾部,得到最终的后缀名为.zip.hash.sec的Hash加密文件,将所述Hash加密文件存储于所述存储器上。
举个例子来说,增加Hash值之前的文件的尾部如图6所示,增加Hash值之后的文件的尾部如图7所示。通过国密杂凑算法sm3对所述sec加密文件进行Hash运算,得到32位的Hash值,并通过所述加密T卡对所述32位的Hash值进行加密,得到加密后的32位Hash值“49CD CF D2 86 2C B1 FB 3F 7C 70 6B DE FB A0 9F 5C 6E 11 F4 C6 ED 90 0D D9 43 AE8C 49 B5 06 29”。将加密后的32位Hash值增加到所述sec加密文件的尾部,得到文件尾部如图7所示的最终的后缀名为.zip.hash.sec的Hash加密文件,将所述Hash加密文件存储于所述存储器上。
如图8所示,所述解密显示,为加密存储的逆向过程,当所述智能设备开机时,通过包括Hash验证、局部解密、解压在内的步骤,将所述密联系人转化成明联系人,存储于内存虚拟的虚拟分区上,提供给所述智能设备的应用使用,其中,所述虚拟分区为通过linuxtmpfs虚拟内存文件系统,从内存中分配的一个分区,具体包括以下步骤:
S21:从所述Hash加密文件的尾部,截取所述加密后的32位Hash值,通过所述加密T卡对所述加密后的32位Hash值进行解密,得到所述32位的Hash值;通过所述国密杂凑算法sm3对所述Hash加密文件去掉所述加密后的32位Hash值的部分进行计算,将计算结果与所述32位的Hash值进行对比,若相同则验证通过,去掉所述Hash加密文件的尾部的32位,生成后缀名为.zip.sec的所述sec加密文件,否则退出解密过程。
举个例子来说,截取如图7所示的Hash加密文件的尾部的加密后的32位Hash值“49CD CF D2 86 2C B1 FB 3F 7C 70 6B DE FB A0 9F 5C 6E 11 F4 C6 ED 90 0D D9 43 AE8C 49 B5 06 29”。通过加密T卡对所述加密后的32位Hash值进行解密,得到所述32位的Hash值。再次通过国密杂凑算法sm3对所述Hash加密文件去掉所述加密后的32位Hash值的部分进行计算,将计算结果与所述32位的Hash值进行对比,若相同则验证通过,说明文件正确。去掉所述Hash加密文件的尾部的32位,生成后缀名为.zip.sec的所述sec加密文件,否则退出解密过程。
S22:针对所述sec加密文件进行局部解密,获取所述sec加密文件中所述已加密数据,通过所述加密T卡进行解密,解密后形成解密数据,替换掉所述sec加密文件中对应的原始数据,生成后缀名为.zip的所述zip压缩文件。
获取所述sec加密文件的文件头部从第129至144字节的16个字节作为所述已加密数据,通过所述加密T卡进行解密,解密后形成解密数据,替换掉所述sec加密文件中对应的原始数据,生成后缀名为.zip的所述zip压缩文件。
具体地,如图5所示的加密后的sec加密文件的头部。读取第129至144字节的16个字节“92 34 DC E4 43 07 35 4B 2E F4 6D B6 AD 5C E7 75”作为所述已加密数据,通过加密T卡进行解密,解密后形成解密数据“F3 BD DF F7 7B 7F DF 3D 73 DF A9 72 CB D42F D4”。替换掉所述sec加密文件中对应的原始数据,恢复成头部如图4所示的,后缀名为.zip的所述zip压缩文件。
S23:解压所述zip压缩文件,将解压后的文件存入内存虚拟的虚拟分区上,提供给所述智能设备的应用使用。
进一步地,通过硬件加密联系人的方法,还包括:
通过所述linux tmpfs虚拟内存文件系统,从内存中分配出一个分区,作为所述虚拟分区,用于存储所述明联系人,具体执行的命令为:
mount-t tmpfs-o size=100m tmpfs/mnt/vd;
其中,mount命令用来挂载文件系统,-t代表挂载的文件系统的类型,tmpfs代表挂载的文件系统是tmpfs类型,-o代表选项,size代表选项里面的size=100M,表示划分的分区大小为100M,tmpfs/mnt/vd代表挂载路径。
第二实施例
如图9所示,本实施例提供了一种通过硬件加密联系人的系统,包括加密存储模块1和解密显示模块2;
所述加密存储模块1,用于通过包括压缩、局部加密、Hash运算在内的步骤,将智能设备上的联系人转化成密联系人,并将所述密联系人存储在包括EMMC、flash在内的存储器上,进一步包括:
压缩单元11,用于将所述智能设备上的联系人对应的数据库文件进行zip压缩,生成后缀名为.zip的zip压缩文件;
局部加密单元12,用于针对所述zip压缩文件进行局部加密,选取所述zip压缩文件的文件头部的部分字节作为待加密数据,通过加密T卡对所述待加密数据进行硬件加密,加密后形成已加密数据,替换掉所述zip压缩文件中对应的原始数据,生成后缀名为.zip.sec的sec加密文件;
Hash运算单元13,用于通过国密杂凑算法sm3对所述sec加密文件进行Hash运算,得到32位的Hash值,并通过所述加密T卡对所述32位的Hash值进行加密,得到加密后的32位Hash值,将所述加密后的32位Hash值增加到所述sec加密文件的尾部,得到最终的后缀名为.zip.hash.sec的Hash加密文件,将所述Hash加密文件存储于所述存储器上;
所述解密显示模块2,用于当所述智能设备开机时,通过包括Hash验证、局部界面、解压在内的步骤,将所述密联系人转化成明联系人,存储于内存虚拟的虚拟分区上,提供给所述智能设备的应用使用,其中,所述虚拟分区为通过linux tmpfs虚拟内存文件系统,从内存中分配的一个分区,进一步包括:
Hash验证单元21,用于从所述Hash加密文件的尾部,截取所述加密后的32位Hash值,通过所述加密T卡对所述加密后的32位Hash值进行解密,得到所述32位的Hash值;通过所述国密杂凑算法sm3对所述Hash加密文件去掉所述加密后的32位Hash值的部分进行计算,将计算结果与所述32位的Hash值进行对比,若相同则验证通过,去掉所述Hash加密文件的尾部的32位,生成后缀名为.zip.sec的所述sec加密文件,否则退出解密过程
局部解密单元22,用于针对所述sec加密文件进行局部解密,获取所述sec加密文件中所述已加密数据,通过所述加密T卡进行解密,解密后形成解密数据,替换掉所述sec加密文件中对应的原始数据,生成后缀名为.zip的所述zip压缩文件;
解压单元23,用于解压所述zip压缩文件,将解压后的文件存入内存虚拟的虚拟分区上,提供给所述智能设备的应用使用。
进一步地,系统还包括:
虚拟分区模块3,用于通过所述linux tmpfs虚拟内存文件系统,从内存中分配出一个分区,作为所述虚拟分区,用于存储所述明联系人,具体执行的命令为:mount-ttmpfs-o size=100m tmpfs/mnt/vd;其中,mount命令用来挂载文件系统,-t代表挂载的文件系统的类型,tmpfs代表挂载的文件系统是tmpfs类型,-o代表选项,size代表选项里面的size=100M,表示划分的分区大小为100M,tmpfs/mnt/vd代表挂载路径。
第三实施例
本实例例还提供了一种通过硬件加密联系人的方法,包括加密存储和解密显示两个过程方法:
所述加密存储的过程为:将智能设备上的联系人对应的数据库文件,通过加密T卡进行硬件加密,将加密后的密联系人文件存储于存储器上;
所述解密显示的过程为:通过所述加密T卡对所述密联系人文件进行硬件解密,并加解密后的所述数据库文件存入内存虚拟的虚拟分区上,提供给所述智能设备的应用使用。
进一步地,通过硬件加密联系人的方法,还包括:在通过所述加密T卡进行硬件加密时,截取所述数据库文件的文件头部部分字节作为待加密数据,通过所述加密T卡对所述待加密文件进行硬件加密,加密后形成已加密数据,替换掉所述数据库文件中对应的原始数据,生成加密后的所述密联系人文件存储于所述存储器上。
进一步地,在将所述密联系人文件存储于所述存储器上之前,还包括:
通过国密杂凑算法sm3对所述密联系人文件进行Hash运算,得到32位的Hash值,并通过所述加密T卡对所述32位的Hash值进行加密,得到加密后的32位Hash值,将所述加密后的32位Hash值增加到所述密联系人文件的尾部。
进一步地,在将智能设备上的联系人对应的所述数据库文件,通过所述加密T卡进行硬件加密之前,还包括:
将所述数据库文件进行zip压缩,将压缩后的所述数据文件,通过所述加密T卡进行硬件加密。
需要说明的是,与第一实施例相似,本实施例在进行解密时会通过与加密的细分步骤相对应的解密步骤进行解密,本实施例不再赘述。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种通过硬件加密联系人的方法,其特征在于,包括加密存储和解密显示两个过程方法;
所述加密存储,通过包括压缩、局部加密、Hash运算在内的步骤,将智能设备上的联系人转化成密联系人,并将所述密联系人存储在包括EMMC、flash在内的存储器上,具体包括以下步骤:
S11:将所述智能设备上的联系人对应的数据库文件进行zip压缩,生成后缀名为.zip的zip压缩文件;
S12:针对所述zip压缩文件进行局部加密,选取所述zip压缩文件的文件头部的部分字节作为待加密数据,通过加密T卡对所述待加密数据进行硬件加密,加密后形成已加密数据,替换掉所述zip压缩文件中对应的原始数据,生成后缀名为.zip.sec的sec加密文件;
S13:通过国密杂凑算法sm3对所述sec加密文件进行Hash运算,得到32位的Hash值,并通过所述加密T卡对所述32位的Hash值进行加密,得到加密后的32位Hash值,将所述加密后的32位Hash值增加到所述sec加密文件的尾部,得到最终的后缀名为.zip.hash.sec的Hash加密文件,将所述Hash加密文件存储于所述存储器上;
所述解密显示,当所述智能设备开机时,通过包括Hash验证、局部解密、解压在内的步骤,将所述密联系人转化成明联系人,存储于内存虚拟的虚拟分区上,提供给所述智能设备的应用使用,其中,所述虚拟分区为通过linux tmpfs虚拟内存文件系统,从内存中分配的一个分区,具体包括以下步骤:
S21:从所述Hash加密文件的尾部,截取所述加密后的32位Hash值,通过所述加密T卡对所述加密后的32位Hash值进行解密,得到所述32位的Hash值;通过所述国密杂凑算法sm3对所述Hash加密文件去掉所述加密后的32位Hash值的部分进行计算,将计算结果与所述32位的Hash值进行对比,若相同则验证通过,去掉所述Hash加密文件的尾部的32位,生成后缀名为.zip.sec的所述sec加密文件,否则退出解密过程;
S22:针对所述sec加密文件进行局部解密,获取所述sec加密文件中所述已加密数据,通过所述加密T卡进行解密,解密后形成解密数据,替换掉所述sec加密文件中对应的原始数据,生成后缀名为.zip的所述zip压缩文件;
S23:解压所述zip压缩文件,将解压后的文件存入内存虚拟的虚拟分区上,提供给所述智能设备的应用使用。
2.根据权利要求1所述的通过硬件加密联系人的方法,其特征在于,还包括:
通过所述linux tmpfs虚拟内存文件系统,从内存中分配出一个分区,作为所述虚拟分区,用于存储所述明联系人,具体执行的命令为:
mount-t tmpfs-o size=100m tmpfs/mnt/vd;
其中,mount命令用来挂载文件系统,-t代表挂载的文件系统的类型,tmpfs代表挂载的文件系统是tmpfs类型,-o代表选项,size代表选项里面的size=100M,表示划分的分区大小为100M,tmpfs/mnt/vd代表挂载路径。
3.根据权利要求1所述的通过硬件加密联系人的方法,其特征在于,针对所述zip压缩文件进行局部加密,具体为:
选取所述zip压缩文件的文件头部从第129至144字节的16个字节作为待加密数据,通过加密T卡对所述待加密数据进行硬件加密,加密后形成16个字节的加密数据,替换掉所述zip压缩文件中对应的原始数据,生成后缀名为.zip.sec的sec加密文件。
4.根据权利要求3所述的通过硬件加密联系人的方法,其特征在于,针对所述sec加密文件进行局部解密,具体为:
获取所述sec加密文件的文件头部从第129至144字节的16个字节作为所述已加密数据,通过所述加密T卡进行解密,解密后形成解密数据,替换掉所述sec加密文件中对应的原始数据,生成后缀名为.zip的所述zip压缩文件。
5.一种通过硬件加密联系人的系统,其特征在于,包括加密存储模块和解密显示模块;
所述加密存储模块,用于通过包括压缩、局部加密、Hash运算在内的步骤,将智能设备上的联系人转化成密联系人,并将所述密联系人存储在包括EMMC、flash在内的存储器上,进一步包括:
压缩单元,用于将所述智能设备上的联系人对应的数据库文件进行zip压缩,生成后缀名为.zip的zip压缩文件;
局部加密单元,用于针对所述zip压缩文件进行局部加密,选取所述zip压缩文件的文件头部的部分字节作为待加密数据,通过加密T卡对所述待加密数据进行硬件加密,加密后形成已加密数据,替换掉所述zip压缩文件中对应的原始数据,生成后缀名为.zip.sec的sec加密文件;
Hash运算单元,用于通过国密杂凑算法sm3对所述sec加密文件进行Hash运算,得到32位的Hash值,并通过所述加密T卡对所述32位的Hash值进行加密,得到加密后的32位Hash值,将所述加密后的32位Hash值增加到所述sec加密文件的尾部,得到最终的后缀名为.zip.hash.sec的Hash加密文件,将所述Hash加密文件存储于所述存储器上;
所述解密显示模块,用于当所述智能设备开机时,通过包括Hash验证、局部界面、解压在内的步骤,将所述密联系人转化成明联系人,存储于内存虚拟的虚拟分区上,提供给所述智能设备的应用使用,其中,所述虚拟分区为通过linux tmpfs虚拟内存文件系统,从内存中分配的一个分区,进一步包括:
Hash验证单元,用于从所述Hash加密文件的尾部,截取所述加密后的32位Hash值,通过所述加密T卡对所述加密后的32位Hash值进行解密,得到所述32位的Hash值;通过所述国密杂凑算法sm3对所述Hash加密文件去掉所述加密后的32位Hash值的部分进行计算,将计算结果与所述32位的Hash值进行对比,若相同则验证通过,去掉所述Hash加密文件的尾部的32位,生成后缀名为.zip.sec的所述sec加密文件,否则退出解密过程
局部解密单元,用于针对所述sec加密文件进行局部解密,获取所述sec加密文件中所述已加密数据,通过所述加密T卡进行解密,解密后形成解密数据,替换掉所述sec加密文件中对应的原始数据,生成后缀名为.zip的所述zip压缩文件;
解压单元,用于解压所述zip压缩文件,将解压后的文件存入内存虚拟的虚拟分区上,提供给所述智能设备的应用使用。
6.根据权利要求5所述的通过硬件加密联系人的系统,其特征在于,还包括:
虚拟分区模块,用于通过所述linux tmpfs虚拟内存文件系统,从内存中分配出一个分区,作为所述虚拟分区,用于存储所述明联系人,具体执行的命令为:mount-t tmpfs-osize=100m tmpfs/mnt/vd;其中,mount命令用来挂载文件系统,-t代表挂载的文件系统的类型,tmpfs代表挂载的文件系统是tmpfs类型,-o代表选项,size代表选项里面的size=100M,表示划分的分区大小为100M,tmpfs/mnt/vd代表挂载路径。
7.一种通过硬件加密联系人的方法,其特征在于,包括加密存储和解密显示两个过程方法:
所述加密存储的过程为:将智能设备上的联系人对应的数据库文件,通过加密T卡进行硬件加密,将加密后的密联系人文件存储于存储器上;
所述解密显示的过程为:通过所述加密T卡对所述密联系人文件进行硬件解密,并加解密后的所述数据库文件存入内存虚拟的虚拟分区上,提供给所述智能设备的应用使用。
8.根据权利要求7所述的通过硬件加密联系人的方法,其特征在于,还包括:在通过所述加密T卡进行硬件加密时,截取所述数据库文件的文件头部部分字节作为待加密数据,通过所述加密T卡对所述待加密文件进行硬件加密,加密后形成已加密数据,替换掉所述数据库文件中对应的原始数据,生成加密后的所述密联系人文件存储于所述存储器上。
9.根据权利要求8所述的通过硬件加密联系人的方法,其特征在于,在将所述密联系人文件存储于所述存储器上之前,还包括:
通过国密杂凑算法sm3对所述密联系人文件进行Hash运算,得到32位的Hash值,并通过所述加密T卡对所述32位的Hash值进行加密,得到加密后的32位Hash值,将所述加密后的32位Hash值增加到所述密联系人文件的尾部。
10.根据权利要求7所述的通过硬件加密联系人的方法,其特征在于,在将智能设备上的联系人对应的所述数据库文件,通过所述加密T卡进行硬件加密之前,还包括:
将所述数据库文件进行zip压缩,将压缩后的所述数据文件,通过所述加密T卡进行硬件加密。
CN202010631068.5A 2020-07-03 2020-07-03 一种通过硬件加密联系人的方法及系统 Active CN111866868B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010631068.5A CN111866868B (zh) 2020-07-03 2020-07-03 一种通过硬件加密联系人的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010631068.5A CN111866868B (zh) 2020-07-03 2020-07-03 一种通过硬件加密联系人的方法及系统

Publications (2)

Publication Number Publication Date
CN111866868A true CN111866868A (zh) 2020-10-30
CN111866868B CN111866868B (zh) 2021-07-27

Family

ID=73152088

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010631068.5A Active CN111866868B (zh) 2020-07-03 2020-07-03 一种通过硬件加密联系人的方法及系统

Country Status (1)

Country Link
CN (1) CN111866868B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103458101A (zh) * 2013-05-23 2013-12-18 深圳市中易通网络技术有限公司 一种手机私密联系人的硬件加密存储方法及系统
CN105760765A (zh) * 2016-02-04 2016-07-13 北京致远协创软件有限公司 数据加密方法、装置及数据解密方法、装置
US20180295105A1 (en) * 2016-03-11 2018-10-11 Cypherputer Inc. Systems and methods for data encryption and decryption
CN109829324A (zh) * 2019-02-21 2019-05-31 青岛海信电子设备股份有限公司 一种数据安全存储和快速调用的方法及移动终端
CN110505050A (zh) * 2019-08-27 2019-11-26 北京电子科技学院 一种基于国密算法的安卓信息加密系统及方法
US20200177381A1 (en) * 2018-11-30 2020-06-04 Alibaba Group Holding Limited Trusted measuring method, apparatus, system, storage medium, and computing device

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103458101A (zh) * 2013-05-23 2013-12-18 深圳市中易通网络技术有限公司 一种手机私密联系人的硬件加密存储方法及系统
CN105760765A (zh) * 2016-02-04 2016-07-13 北京致远协创软件有限公司 数据加密方法、装置及数据解密方法、装置
US20180295105A1 (en) * 2016-03-11 2018-10-11 Cypherputer Inc. Systems and methods for data encryption and decryption
CN109643281A (zh) * 2016-03-11 2019-04-16 赛博算机公司 数据加密和解密的系统和方法
US20200177381A1 (en) * 2018-11-30 2020-06-04 Alibaba Group Holding Limited Trusted measuring method, apparatus, system, storage medium, and computing device
CN109829324A (zh) * 2019-02-21 2019-05-31 青岛海信电子设备股份有限公司 一种数据安全存储和快速调用的方法及移动终端
CN110505050A (zh) * 2019-08-27 2019-11-26 北京电子科技学院 一种基于国密算法的安卓信息加密系统及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
成国永等: "基于虚拟磁盘的可信加密磁盘的研究与实现", 《电脑与信息技术》 *

Also Published As

Publication number Publication date
CN111866868B (zh) 2021-07-27

Similar Documents

Publication Publication Date Title
US11586757B2 (en) Systems and methods for a cryptographic file system layer
US11558174B2 (en) Data storage method, device, related equipment and cloud system for hybrid cloud
US11238165B2 (en) File encryption method, file decryption method, electronic device, and storage medium
US8233624B2 (en) Method and apparatus for securing data in a memory device
US8300823B2 (en) Encryption and compression of data for storage
US9483657B2 (en) Secure online distributed data storage services
US9602283B1 (en) Data encryption in a de-duplicating storage in a multi-tenant environment
US20160117518A1 (en) File Encryption/Decryption Device And File Encryption/Decryption Method
EP2696305A2 (en) Method and device for file protection
CN101073238A (zh) 数字数据内容的保护
CN101646168B (zh) 数据加密方法、解密方法及移动终端
CN113987563A (zh) 数据处理方法、系统、产品、设备及存储介质
CN111866868B (zh) 一种通过硬件加密联系人的方法及系统
CN103077359A (zh) 数据解密方法和装置及系统
CN116841466A (zh) 多云存储方法、装置、设备及计算机可读存储介质
CN112651038B (zh) 一种减小空间和时间的vr资源的安全保护方法及终端
CN112187750B (zh) 一种基于互联网的信息加密方法及系统
CN111414341B (zh) 一种物联网环境下的数据归一化描述方法
CN112311536B (zh) 密钥分级管理方法及系统
CN103888416B (zh) 防止安防系统终端设备存储的ip信息泄露的方法及装置
CN114239091B (zh) 基于可信芯片的磁盘加密方法及系统
CN1896974A (zh) 一种通过记忆区块进行数据加密的数据结构
CN116821082A (zh) 日志文件的处理方法、装置、计算机设备和存储介质
CN111262700A (zh) 一种高速sata接口密码模块的通信方法及装置
CN113918969A (zh) 一种基于内存数据搜索Bitlocker解密密钥的方法

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
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A method and system for encrypting contacts through hardware

Effective date of registration: 20220907

Granted publication date: 20210727

Pledgee: Agricultural Bank of China Co.,Ltd. Shanghai Xuhui Sub branch

Pledgor: SHANGHAI SMART PEAK TECHNOLOGY CO.,LTD.

Registration number: Y2022310000234

PE01 Entry into force of the registration of the contract for pledge of patent right