当前位置: 首页 > 专利查询>吉林大学专利>正文

基于双混沌哈希文件控制的安卓文件密码箱系统技术方案

技术编号:27394124 阅读:20 留言:0更新日期:2021-02-21 14:03
本发明专利技术提供一种基于双混沌哈希文件控制的安卓文件密码箱系统,功能为:在安卓系统中成功登录后,读取内部存储器中的系统数据结构文件,在内存中建立快表,实现对存储在外部存储器中的加密文件的快速浏览、添加、修改、删除、备份和重建操作;在用户退出时,快表的内容回写到数据结构文件中。本发明专利技术充分考虑用户的手机配置和个人安全需求,避免对用户的存储空间强制性的挤占,用户可以灵活地设置不同的文件安全保护等级。本系统根据安卓系统特点,设计新的数据结构文件实现对文件的控制,避免了用户为加密多个文件设置不同密码的烦恼,提供了保护版权文件的功能;以及系统重建功能,避免了非法用户的攻击,极大地提高了安全性,运行速度更快。行速度更快。行速度更快。

【技术实现步骤摘要】
基于双混沌哈希文件控制的安卓文件密码箱系统


[0001]本专利技术涉及计算机软件系统和信息安全
,尤其涉及一种基于双混沌哈希文件控制的安卓文件 的密码箱系统。
技术背景
[0002]安卓(Android)系统是一种基于Linux的自由开源的操作系统,主要使用在移动设备中,例如智能手 机和平板电脑等电子设备。
[0003]2003年10月,Andy Rubin等人创建Android公司,并组建Android团队。2005年8月,Google收购 并注资Android及其团队。2007年,谷歌公司为了与塞班(Symbian)系统进行竞争,抢占嵌入式操作系 统市场,正式宣布Android操作系统,并成立全球性的联盟组织,联合各大手机制造商、软件开发商、电 信运营商以及芯片制造商等加盟,公开Android的源代码,共同开发Android系统。
[0004]2008年9月,谷歌发布Android 1.0系统,Android正式诞生。2009年4月,谷歌公司推出Android 1.5, 同年9月,谷歌发布HTC Hero手机,这款手机搭载Android 1.6,成为当时全球最受欢迎的手机之一。
[0005]2011年8月,搭载Android系统的智能手机占据全球市场半壁江山,结束了塞班系统的一统江山的格 局。2013年11月,Android 4.4正式发布,伴随着全球手机市场份额的飞速扩张,出色的UI设计,以及更 加智能化,Android系统以骄人的战绩迎来5岁的生日。
[0006]随着智能手机市场的快速发展,特别是以中国为首的潜在的巨大商业市场。国际和国内手机业巨头竞 争激烈,国内主要智能手机制造商有华为、中兴、小米、OPPO、VIVO、魅族等,国外的手机制造商有苹 果、三星、LG、诺基亚等。
[0007]来自美国市场调查机构IC Insights数据显示,2017年各大智能手机生产商大约有15亿部智能手机进 入市场。2019年10月31日,在“2019年中国国际信息通信展览会”上,国家工信部与三大运营商等举 行5G商用启动仪式,中国5G正式启动。2019年11月1日,三大运营商宣布5G正式商用,5G套餐正式 公布,中国正式进入了5G时代。各大手机厂商也公布5G手机;其中,华为公司的Mate 30系列5G手机 也将开售,这预示着智能手机迎来了新的发展阶段。
[0008]智能手机已经成为了人们生活中重要的工具,在人们的交通、旅行、支付、通信、办公等工作和生活 中扮演着重要的角色。Zimperium公司是移动安全领域的知名公司,提供终端设备实时保护,防御安卓和 iOS的渗透攻击。2015年,该公司研究人员宣布,发现安卓系统存在安全漏洞,在用户未授权的情况下能 够远程完全控制手机。此外,由于广告商等利用Android系统中的Nearby Notifications服务功能向用户推 送广告和发送垃圾邮件等,2018年谷歌公司宣布停止该服务功能。
[0009]在用户不知情的情况下,手机制造商和软件开发商等默认打开云推送服务,一些个人的文件、照片等 隐私数据被推送到云空间,有的造成不可挽回的经济和财产的损失。个人的敏感信息和隐私数据存在着被 泄露的风险。特别是当手机丢失或者被未授权的用
户访问,手机中的重要信息和数据将会受到严重的威胁, 而导致对个人生活的严重影响。
[0010]我国密码法的实行也将为智能手机的安卓系统的安全提供法律的保障。混沌具有良好的随机特性,其 轨道对初值极端敏感,理论上其周期是难以预测的。混沌的随机特性非常适合于密码学,混沌理论为密码 系统的设计开辟了一条新的思路;基于混沌的密码系统,具有周期长、复杂度高、密钥空间大、加密速度 快、设计简单等优点,不仅安全性高,而且可操作性与实用性都很强。近年来,混沌理论与混沌密码学不 断的发展,在数据加密中得到了广泛应用。
[0011][0012]Android的存储系统可以分为内存、内部存储器(Internal Storage)和外部存储器(External Storage)。
[0013]在一些智能手机系统和Android的不同版本中,外部存储器又可以分为手机内置的外部存储器和手机 外置的外部存储器,例如SD卡。由于一些手机生产厂商在手机中集成了外部存储器,而不提供手机外置 的外部存储器接口。因此,用户只能把数据存储在手机内置的外部存储器中,由于这部分存储器受到所购 买手机的存储容量的限制,在存储数据时不能超过总的容量;特别是用户在手机中安装了大量的应用程序 和存储了大量的多媒体文件,例如:视频、高像素的照片等文件;由于内部存储空间有限,限制了在手机 中存储数据。
[0014]在提供了手机外置的外部存储器接口的手机中,手机存储的容量是手机内部存储容量与外部存储容量 的总和,当用户安装大容量的手机外部存储器时,用户将有更大存储数据的可能,当然,这取决于用户所 安装外部存储的容量;但是,手机外置的外部存储器的存取速度明显低于内存和内部存储器,这为一些运 行在内存的程序带来运行速度的限制。
[0015]2014年5月,央视曝光了某些手机生产厂商的手机存储容量存在的问题。其中,手机的存储空间不足, 一部分被操作系统占用,剩余空间中用户可用的有效空间被大量的第三方软件挤占。用户要释放存储空间 却很难,因为一些第三方应用软件有些可以卸载,有些不能卸载,这些软件占用大量存储空间,造成存储 空间不能有效使用。
[0016]为了缓解手机存储器的容量的限制,OTG(On-The-Go)是近年发展起来的技术,主要应用于各种不 同的设备或移动设备间的联接与数据交换。OTG功能可以让安卓手机连接U盘、读卡器、键鼠等诸多USB 外设,能够让用户在操作手机时更加方便。通过OTG数据线将手机与U盘等外部存储器进行连接,可以 实现手机与外部存储器的数据传输。
[0017]在一些安卓文件管理系统中,使用了SQLite数据库存储文件和目录信息。显然,没有安全保护的敏感、 隐私的数据和文件存储在SQLite数据库中是非常不安全的,极易泄露文件信息和内容。
[0018]在Android开发平台中,App目录是安装APK的目录。Data目录是程序存储数据的目录,例如存储 SQLite数据,在Data目录中的数据保存在内部存储器中。在mt或者storage目录存储外部数据,程序员 可以通过Environment类获取目录状态。在Android 6.0及以上的版本,写入SD卡的权限需要动态申请。 由于内存空间以及内部存储器预留的用户有效空间有限,而存储在外部存储器的程序和数据在程序运行时 速度会受到很大影响;因此,需要程序员在实现软件的编制与设计时,针对安卓系统的特点采取有效的方 法解决这种冲突和矛盾。

技术实现思路

[0019](一)要解决的技术问题
[0020]本专利技术的目的是提出一种有效地解决安卓系统软件设计中用户存储空间的有效利用问题,以及保护存 储数据及文件的安全问题。
[0021](二本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于双混沌哈希文件控制的安卓文件密码箱系统,其特征在于,包括:Part_1,密码箱系统的数据结构和数学函数定义,包括:文件目录表,文件头,密码箱信息,快表,混沌方程定义,哈希函数定义,转换函数;Part_2,密码箱系统的基本功能模块,包括:系统初始化模块,快速浏览模块,添加文件模块,修改文件模块,删除文件模块,加密/解密文件模块,备份模块,重建模块,退出模块;Part_3,用户通过系统初始化模块进行登录,用户成功登录密码箱系统后,读取在安卓系统的内部存储器中的文件目录表和文件头的信息,按照双混沌哈希函数生成的哈希值,建立和初始化在安卓系统的内存中的快表,实现对存储在安卓系统的外部存储器中的文件进行快速浏览、添加文件、修改文件、删除文件、备份系统和文件、重建系统的操作;在用户退出系统时,内存中快表的内容保存到文件目录表和文件头中,销毁内存中的快表,退出密码箱系统;Part_1密码箱系统的数据结构和数学函数定义,包括:(1)文件目录表FLT(File List Table),包括FID:标记当前结点所在文件目录表中的位置,取值范围是正整数,长度占8个字节;FKey:当前结点的哈希值,长度占8个字节;Order:标记当前结点在被读入到内存中的位置,取值范围是正整数,长度占8个字节;Empty:表示当前结点使用状态,长度占4个字节,如果是1表示已经占用,如果是0代表空闲;文件目录表FLT中每个结点占用28个字节;(2)文件头FH(File Header),包括FKey:当前结点的哈希值,长度占8个字节;FN(File Name):包括文件名和扩展名,长度占20个字节,文件名占16个字节,扩展名占4个字节,对超过16个字节的文件名进行截尾处理,保留文件名前16个字节的数据;CT(Create Time):文件建立的时间,长度占14个字节,“年”占用4个字节,“月”占用2个字节,“日”占用2个字节,“时”占用2个字节,“分”占用2个字节,“秒”占用2个字节;FCA(File Certificate Authority):文件使用的数字证书文件名称,长度占10个字节;FGKC(File Generate Key Code):生成数字证书的秘钥,长度占12个字节;FEN(File Encrypt Name):加密后的文件名称,长度占10个字节;FInfo(File Information):文件描述信息,长度占26个字节;文件头FH中每个结点占用100个字节;(3)密码箱信息IEB(Information of Encryption Box),包括CB_FLT:文件目录表FLT的文件名称;CB_FH:文件头FH的文件名称;CB_EFDir:外部存储器保存加密文件的目录信息;CB_NNum:密码箱结点的总数;(4)快表ICT(Index Cache Table),包括OrderID:标记当前结点在被读入到内存中的位置,取值范围是正整数,长度占8个字节;
文件目录表FLT中的Fkey,Empty项;文件头FH中的FN,CT,FCA,FGKC,FEN,FInfo项;(5)Logistic方程定义t[n+1]=cp*t[n]*(1-t[n])控制参数cp(Control Parameter),cp取值是0与4之间的实数,不包括边界值0和4;t[n]是Logistic方程迭代的时间序列,n代表时间,n取值区间是正整数,t[0]代表初始状态值,t[n]的数值是0与1之间的正实数;(6)哈希函数定义哈希函数kValue=Hkey(cp_1,t[0]_1,cp_2,t[0]_2,Init_Num,RNum)kValue是由哈希函数Hkey生成的哈希值;cp_1表示第一个Logistic方程的控制参数值;t[0]_1表示第一个Logistic方程的初始状态值;cp_2表示第二个Logistic方程的控制参数值;t[0]_2表示第二个Logistic方程的初始状态值;系统添加的Logistic方程的控制参数值数字在3.9之后的数字位,即,3.9d1d2,d1和d2是用户添加的数字位;系统添加的Logistic方程的初始状态值数字在0.5之后的数字位,即,0.5d1d2,d1和d2是用户添加的数字位;Init_Num表示Logistic方程的初始迭代数,RNum表示Logistic方程在经过初始迭代数后,获得最后结果需要迭代的数量;KValue表示为{kval_1,kval_2,...,kval_n}的数字字符串,第一个数字字符是kval_1,最后一个数字字符是kval_n,总数是n个;哈希函数Hkey的计算过程是:第一个Logistic方程t[n+1]_1=cp_1*t[n]_1*(1-t[n]_1)和第二个Logistic方程t[n+1]_2=cp_2*t[n]_2*(1-t[n]_2)在指定的控制参数和初始状态值下进行初始迭代,迭代次数是Init_Num,获得第一个Logistic方程的迭代值t[Init_Num+1]_1和第二个Logistic方程的迭代值t[Init_Num+1]_2,截取t[Init_Num+1]_1的小数点后最末位数值last[t[Init_Num+1]_1]与t[Init_Num+1]_2的小数点后最末位数值last[t[Init_Num+1]_2],KValue的第一个数字字符取值为last[t[Init_Num+1]_1],第二个数字字符取值为last[t[Init_Num+1]_2];依次迭代,获得的KValue是{last[t[Init_Num+1]_1],last[t[Init_Num+1]_2],last[t[Init_Num+2]_1],last[t[Init_Num+2]_2],...,last[t[Init_Num+RNum]_1],last[t[Init_Num+RNum]_2]};(7)转换函数strConvert(In String,Out Type Num)In代表输入变量;String代表输入的字符串;Out代表输出变量;Type代表输出变量的类型,分别是整数类型int,实数类型float,布尔类型bool;Num代表输出的具有Type类型的变量;转换函数strConvert的规则是:如果输出类型是int、float,需要把String转换为ASCII码,取每个字符的ASCII码数值的最后一位数字,组合成为int、float;如果溢出,采用
截尾的方法处理;如果输出类型是bool,当String不为空时,Num取值为真,否则,Num取值为假;Part_2,密码箱系统的功能模块,包括:(1)系统初始化模块当用户第一次登录本系统时,本系统需要设置密码才能使用,并初始化系统;用户设置的用于数字证书的哈希值长度是128*2n字节,n是正整数;用户设置的初始密码转换为128*2n字节哈希值,具体过程是:用户设置的参数通过转换函数strConvert进行转换,用户需要设置cp_1,t[0]_1,cp_2,t[0]_2,Init_Num,RNum,和设置哈希值长度128*2n字节中n的数值,Init_Num的初始值是1024,RNum的初始值是128,计算kValue=Hkey(cp_1,t[0]_1,cp_2,t[0]_2,Init_Num,RNum),kValue作为用户登录系统验证的数字证书存储在内部存储器中;对文件目录表FLT进行初始化,用户设定系统中结点的总数(NumNodes),对每一个结点进行初始化,FID按照顺序进行编号,Order的值均设置为0,Empty的值均设置为0;第一个结点的FKey计算利用用户登录验证的数字证书中的最后8个字节,转化为参数cp_1,t[0]_1,cp_2,t[0]_2,RNum=4,计算kValue=Hkey(cp_1,t[0]_1,cp_2,t[0]_2,Init_Num,RNum),把kValue赋值给FKey;由第一个结点的FKey生成第二个结点的参数cp_1,t[0]_1,cp_2,t[0]_2,RNum=4,计算kValue;如果当前kValue与第一个结点的FKey不同,把kValue赋值给第二个结点的FKey,如果当前kValue与已经生成的FKey的值相同,再次迭代Hkey生成kValue,直到生成与已经生成的FKey的值不相同;依次进行,直到每个结点的FKey初始化完成;对密码箱信息IEB文件进行初始化,设定文件目录表FLT的文件名称存储在CB_FLT中;文件头FH的文件名称存储在CB_FH中;外部存储器保存加密文件的目录信息存储在CB_EFDir中;把结点的总数NumNodes赋值给CB...

【专利技术属性】
技术研发人员:刘晓夏陈海鹏刘晋汐
申请(专利权)人:吉林大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1