一种手机数据硬件加密保护方法和系统的制作方法

文档序号:6503265阅读:188来源:国知局
一种手机数据硬件加密保护方法和系统的制作方法
【专利摘要】本发明公开了一种手机数据的硬件加密方法和系统,使用手机设备ID、SIM卡的IMEI号、存储芯片的SN号、源文件名字作为动态参数,调用密钥生成模块和AES加密解密模块配合逻辑计算生成加解密的Key;针对源文件,调用硬件加解密模块对文件或数据进行加密过程。所述密钥生成模块、AES加密解密模块、加密解密模块使用存储芯片操作文件存储设备,完成数据的加密和解密过程,所述存储芯片焊接在手机设备电路板上,带有独立内核处理器。本发明所述的上述手机数据的硬件加密保护技术,弥补了现有技术的不足,不占用系统资源、具有高性能、高安全性、高可靠性,可有效地满足人们对重要文件的加密保护需求。
【专利说明】一种手机数据硬件加密保护方法和系统
【技术领域】
[0001]本发明应用于移动通信和信息安全等领域,尤其涉及一种高可靠性、高安全性的手机数据硬件加密方法和系统。
【背景技术】
[0002]通过调查,目前市场上还没有手机使用硬件加密芯片进行数据保护的方法,主要还通过纯粹的软件应用针对一些文件进行加密和解密。通常实现的方式是:设置一个安全密码(可以是密码,也可以是图案),用于用户登录认证;认证通过后,就可以进入私密空间,在私密空间里可以指定文件进行加密,也可以在这儿对已加密的文件进行解密。但是这种方法存在下述两个主要的不足:(I)加密和解密的性能问题。因为软件加密,对于一些文件需要全文加密,使用软件性能较低。对于大量图片或视频,即使是部分加密,在需要实时看到图片时,也存在性能问题。(2)安全性问题。目前市场上的加密软件往往只有一层加密,而且加密key比较固定,仍然有比较多的安全风险。比如有些登录认证的密码是保存在手机存储上的,这本身就很容易获得,认证通过了就可以直接解密了。另外目前很多为了让数据与手机sim卡绑定,直接使用sim卡IMEI号作为key,有的用电话号码作为key ;还有的用设备ID作为key。这些对于善于破解的人来说,也是比较容易的。如果加密要求比较高的话,这些方法将不能满足要求。
[0003]因此,亟需提出一种高性能、高可靠性、高安全性的硬件加密保护技术,从而满足人们对于重要文件或数据的加密需求。

【发明内容】

[0004]本发明的目的在于弥补现有技术的不足而提供一种高性能、高可靠性、高安全性的硬件加密保护技术。
[0005]为达到上述目的,本发明提供下述技术方案。
[0006]一种手机数据的硬件加密方法,包括如下步骤:
[0007](I)获取手机设备ID(DevId)、S頂卡的MEI号(MEI)、存储芯片的SN号(SN),以DevId、頂EI和SN作为变参,使用密钥生成模块分别计算密钥中间值Stringl =Fl (Devid,IMELSN), Str ing2 = F2 (Devld, MEI, SN),以 Stringl 作为 Key,以 String2 作为源数据加密,使用对称加密算法(AES)计算加密后数据为Keyl = El (Stringl, String2)。
[0008](2)针对需要加密的文件,获取文件名FileName作为源数据,使用Stringl作为Key,进行加密后,通过AES加密解密模块获取Key2 = El (Stringl, FileName),以Keyl和Key2为参数,通过密钥生成模块计算加解密所用Key:Key3 = F3 (Keyl,Key2),设置Key3到加密存储芯片寄存器。
[0009](3)创建临时文件,循环读取源文件内容到缓存,执行下述加密过程:对指定缓存文件内容调用硬件加密解密模块进行硬件加密,加密后的数据追加写入临时文件。
[0010](4)删除源文件,重命名临时文件为携带源文件名的加密文件名,完成加密过程。[0011]一种与上述手机数据的硬件加密方法配合使用的手机数据的硬件解密方法,包括如下步骤:
[0012](I)获取手机设备ID(DevId)、S頂卡的MEI号(MEI)、存储芯片的SN号(SN),以DevId、頂EI和SN作为变参,使用密钥生成模块分别计算密钥中间值Stringl = Fl (Devld,IMELSN), Str ing2 = F2 (Devld, MEI, SN),以 Stringl 作为 Key,以 String2 作为源数据加密,使用对称加密算法(AES)计算加密后数据为Keyl = El (Stringl, String2)。
[0013](2)针对需要解密的文件,提取对应的源文件名FileName作为源数据,使用Stringl作为Key,进行加密后,通过AES加密解密模块获取Key2 = El (Stringl,FileName),以Keyl和Key2为参数,通过密钥生成模块计算加解密所用Key:Key3 =F3 (Keyl, Key2),设置Key3到存储芯片寄存器。
[0014](3)创建临时文件,循环读取已加密文件内容到缓存,执行下述解密过程:使用硬件加密解密模块对缓存数据进行硬件解密,将解密后的内容追加写入临时文件。
[0015](4)删除已加密文件,重命名临时文件为源文件名,完成解密过程。
[0016]优选地,所述加密或解密过程中使用的Stringl, Keyl可在初始化系统时预载入内存,减少重复运行计算过程。
[0017]本发明还提出了一种手机数据的硬件加密保护系统,包括手机设备、存储芯片、密钥生成模块、AES加密解密模块、硬件加密解密模块及文件存储模块。所述存储芯片包括内核处理器和内置存储器,所述密钥生成模块、AES加密解密模块、加密解密模块使用存储芯片的内核处理器操作文件存储设备的存储文件,完成数据的加密和解密过程,所述存储芯片焊接在手机设备电路板上,所述SIM卡插设在手机设备中。
[0018]优选地,所述存储芯片仅支持通过导出的SDK接口进行访问。
[0019]本发明所述的上述手机数据的硬件加密保护技术,弥补了现有技术的不足,不占用系统资源、具有高性能、高安全性、高可靠性,可有效地满足人们对重要文件的加密保护需求。具体来说:
[0020](I)使用硬件加密芯片,该芯片具备独立的内核处理器,不占用系统的CPU资源,提高了加密和解密的性能;
[0021](2)使用加密存储芯片,而非内置存储卡,该存储芯片是焊接在电路板上,不能轻易拆卸下来;
[0022](3)对生成密钥Key的方式进行了软件加密处理,而且这个密钥使用时动态生成,没有保存到任何存储介质中,使密钥无法被获取到;
[0023](4)生成加密key的因子较多,任何一个因子不知道都无法进行解密;就算知道了生成加密密钥的因子,也无法获取私有的逻辑组合算法及采用的加密算法,没有这些同样获取不了最终采用的加密密钥;
[0024](5)可以做到每个文件一个独立的密钥,使被暴力破解的文件数降低到最少;
[0025](6)设置到加密存储芯片中的key是没有接口可以读出的,而且断电后就会丢失,保证了密钥key在芯片中的安全性。
【专利附图】

【附图说明】
[0026]图1为本发明所述手机数据加密保护系统较佳实施例的功能模块示意图。[0027]图2为本发明所述手机数据加密保护系统硬件加密过程的示意图。
[0028]图3为本发明所述手机数据加密保护系统硬件解密过程的示意图。
【具体实施方式】
[0029]为了更好的理解本发明的技术方案,下面结合附图详细描述本发明提供的实施例。
[0030]如图1所示,提出了一种手机数据的硬件加密保护系统,包括手机设备、存储芯片、密钥生成模块、AES加密解密模块、硬件加密解密模块及文件存储模块。
[0031]所述存储芯片包括内核处理器和内置存储器,通过焊接的方式固定在手机电路板上。该芯片不仅提供加解密功能;而且内置一个小的存储空间,这个空间只能通过厂商提供的SDK才能访问。可用于保存私有数据,或建立数据绑定关系,在特殊情况下用于数据恢复。该芯片主要的功能,依然是存储,在没有使用厂商提供的SDK接口时,CPU识别到的是flash芯片。
[0032]所述密钥生成模块、AES加密解密模块、加密解密模块使用存储芯片的内核处理器操作文件存储设备,完成数据的加密和解密过程,具体地:
[0033](I)所述密钥生成模块主要作用是在手机上生成用于硬件加密和解密的密钥。该模块首先获取设备的唯一标识ID,SIM卡的IEMI号,加密存储芯片的SN号及获取加密或解密文件的文件名;其次,根据这些信息,该模块实现上述的如下逻辑运算接口 Fl,F2和F3:
[0034]Stringl = Fl (Devld, IMEI, SN);
[0035]String2 = F2 (Devld, IMEI, SN);
[0036]Key3 = F3 (Keyl, Key2);
[0037]通过这些接口,可以最终为文件加密/解密模块提供加密存储芯片所需的密钥。
[0038](2)所述AES加密解密模块主要是使用对称加密算法为密钥生成模块提供加密算法接口。该模块通过获取Key和加密数据生成加密后的密文数据。实现上述的如下加密接口 El:
[0039]Keyl = El (Stringl, String2);
[0040]Key2 = El (Stringl, FileName);
[0041](3)硬件加密/解密模块,其功能主要在硬件上实现,即硬件加密和解密功能。该模块面向软件的即是加密存储芯片的SDK。包括芯片的初始化,设备打开,设置key,读写私有数据区,加密数据,解密数据,删除设备等。
[0042]如图2所示,为本发明所述手机数据的硬件加密方法的流程图,总结起来,主要包括如下步骤:
[0043](I)获取手机设备ID(DevId)、S頂卡的MEI号(MEI)、存储芯片的SN号(SN),以DevId、頂EI和SN作为变参,使用密钥生成模块分别计算密钥中间值Stringl = Fl (Devld,IMELSN), Str ing2 = F2 (Devld, MEI, SN),以 Stringl 作为 Key,以 String2 作为源数据加密,使用对称加密算法(AES)计算加密后数据为Keyl = El (Stringl, String2)。
[0044](2)针对需要加密的文件,获取文件名FileName作为源数据,使用Stringl作为Key,进行加密后,通过AES加密解密模块获取Key2 = El (Stringl, FileName),以Keyl和Key2为参数,通过密钥生成模块计算加解密所用Key:Key3 = F3 (Keyl,Key2),设置Key3到加密存储芯片寄存器。
[0045](3)创建临时文件,循环读取源文件内容到缓存,执行下述加密过程:对指定缓存文件内容调用硬件加密解密模块,使用SDK接口进行硬件加密,加密后的数据会输出在该缓冲区中,加密后的数据追加写入临时文件。加密后的数据没有直接写入源文件中,是为了防止系统断电或异常时,文件加密到一半,导致文件损坏。
[0046](4)删除源文件,重命名临时文件为携带源文件名的加密文件名,比如可以加个后缀,表示是已加密的文件(比如:filename.txt文件加密后的文件名filename.txt_lw)。完成加密过程。
[0047]如图3所示,为本发明所述手机数据的硬件解密方法的流程图,总结起来,主要包括如下步骤:
[0048](I)获取手机设备ID(DevId)、S頂卡的MEI号(MEI)、存储芯片的SN号(SN),以DevId、頂EI和SN作为变参,使用密钥生成模块分别计算密钥中间值Stringl =Fl (Devld,IMELSN), Str ing2 = F2 (Devld, MEI, SN),以 Stringl 作为 Key,以 String2 作为源数据加密,使用对称加密算法(AES)计算加密后数据为Keyl = El (Stringl, String2)。
[0049](2)针对需要解密的文件,提取对应的源文件名FileName作为源数据,使用Stringl作为Key,进行加密后,通过AES加密解密模块获取Key2 = El (Stringl,FileName),以Keyl和Key2为参数,通过密钥生成模块计算加解密所用Key:Key3 =F3 (Key I,Key2),设置Key3到存储芯片寄存器。
[0050](3)创建临时文件,循环读取已加密文件内容到缓存,执行下述解密过程:使用硬件加密解密模块对缓存数据进行硬件解密,将解密后的内容追加写入临时文件。
[0051](4)删除已加密文件,重命名临时文件为源文件名,完成解密过程。
[0052]一般情况下,在整个系统启动后,会对各个模块进行初始化,在这个阶段可以把一些加密和解密需要的一些数据搜集起来,保存在内存中,这样在后续的处理中就可以直接使用,而不需每次都要向硬件获取,影响性能。比如初始化时,可以把加密存储芯片初始化,获取该设备的描述符,并且打开这个设备,以备随时使用。所述加密或解密过程中使用的Stringl, Keyl可在初始化系统时预载入内存,减少重复运行计算过程,避免后续每个文件都要重复操作。
[0053]对于SM卡不存在的情况,建议直接给SM卡的MEI号一个无效值,后续可以根据这个值,来决定是否继续进行加密。简单地,这种情况可直接给出提示,加密或解密数据时,SM卡必需插上。
[0054]以上内容仅为本发明的较佳实施例,对于本领域的普通技术人员,依据本发明的思想,在【具体实施方式】及应用范围上均会有改变之处,本说明书内容不应理解为对本发明的限制。
【权利要求】
1.一种手机数据的硬件加密方法,其特征在于,包括如下步骤: (1)获取手机设备ID(DevId)、SM卡的MEI号(MEI)、存储芯片的SN号(SN),以DevId、頂EI和SN作为变参,使用密钥生成模块分别计算密钥中间值Stringl = Fl (DevId,IMELSN), Str ing2 = F2 (Devld, MEI, SN),以 Stringl 作为 Key,以 String2 作为源数据加密,使用对称加密算法(AES)计算加密后数据为Keyl = El(Stringl,String2)。 (2)针对需要加密的文件,获取文件名FileName作为源数据,使用Stringl作为Key,进行加密后,通过AES加密解密模块获取Key2 = El (Stringl, FileName),以Keyl和Key2为参数,通过密钥生成模块计算加解密所用Key:Key3 = F3 (Keyl,Key2),设置Key3到加密存储芯片寄存器。 (3)创建临时文件,循环读取源文件内容到缓存,执行下述加密过程:对指定缓存文件内容调用硬件加密解密模块进行硬件加密,加密后的数据追加写入临时文件。 (4)删除源文件,重命名临时文件为携带源文件名的加密文件名,完成加密过程。
2.一种与如权利要求1配合使用的手机数据的硬件解密方法,其特征在于,包括如下步骤: (1)获取手机设备ID(DevId)、SIM卡的MEI号(MEI)、存储芯片的SN号(SN),以DevId、頂EI和SN作为变参,使用密钥生成模块分别计算密钥中间值Stringl = Fl (DevId,MEI,SN)、String2 = F2 (Devld, IMEI, SN),以 Stringl 作为 Key,以 String2 作为源数据加密,使用对称加密算法(AES)计算加密后数据为Keyl = El (Stringl, String2)。 (2)针对需要解密的文件,提取对应的源文件名FileName作为源数据,使用Stringl作为Key,进行加密后,通过AES加密解密模块获取Key2 = El (Stringl, FileName),以Keyl和Key2为参数,通过密钥生成模块计算加解密所用Key:Key3 = F3 (KeyI,Key2),设置Key3到存储芯片寄存器。 (3)创建临时文件,循环读取已加密文件内容到缓存,执行下述解密过程:使用硬件加密解密模块对缓存数据进行硬件解密,将解密后的内容追加写入临时文件。 (4)删除已加密文件,重命名临时文件为源文件名,完成解密过程。
3.如权利要求1或权利要求2所述的手机数据的硬件加密或解密方法,其特征在于,所述步骤(I)中所述的Stringl,Keyl可在初始化系统时预载入内存,减少重复运行计算过程。
4.一种手机数据的硬件加密保护系统,其特征在于,包括手机设备、存储芯片、密钥生成模块、AES加密解密模块、硬件加密解密模块及文件存储模块。所述存储芯片包括内核处理器和内置存储器,所述密钥生成模块、AES加密解密模块、加密解密模块使用存储芯片的内核处理器操作文件存储设备中存储文件,完成数据的加密和解密过程,所述存储芯片焊接在手机设备电路板上,所述SIM卡插设在手机设备中。
5.如权利要求4所述的一种手机数据的硬件加密保护系统,其特征在于,所述存储芯片仅支持通过导出的SDK接口进行访问。
【文档编号】G06F21/62GK103559453SQ201310199051
【公开日】2014年2月5日 申请日期:2013年5月23日 优先权日:2013年5月23日
【发明者】刘美云 申请人:深圳市中易通网络技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1