Android数据存储安详确践
对称加密特点是实现服从快,可是因为加/解密密钥沟通,在密钥生涯、分发、安详各方面呈现很多题目,譬喻密钥打点,密钥泄漏。基于此,将加密密钥息争密密钥分隔,形成客户端端行使公钥加密,处事端用私钥解密的非对称加密,将加解密密钥分隔,加密密钥不必担忧泄漏风险。常用的非对称加密算法如RSA。 RSA加解密实现
在常用数据加密要领中,凡是也会碰着md5、sha-256算法等,可是这些算法是明文的hash值,哈希算法和加密算法的本质是是否可逆,即由密文通过运算获得明文。出格留意,base64编码是一种编码名目,除了增进可读性难度没有任何安详性。 四、存储安详进阶 在上文中先容了常用的Android数据存储方法和加密算法,通过直观的先容进入到Android存储安详中,在现实的应用中数据存储安详性题目是一个复制的体系性题目,不只仅示意在开拓中,从数据布局到编码以及密钥的天生和打点城市涉及到数据存储安详。 文件的潜匿 Android建设潜匿文件可能文件夹,在文件名可能文件夹名字前加一个“.”号即可(这里是英文输入法下的.号),潜匿文件/文件夹可直接举办读写。这是一个轻易被开拓者忽略的题目,乍一看仿佛没什么难度,题目在于开拓者和用户视角题目。因为Android手机默认带文件查察器,因此用户可以轻松查察、修改sdcard目次下的文件,当行使潜匿文件是最大的浸染是停止用户误操纵。 密钥的生涯 假如将密钥生涯得手机文件中,可能通过硬编码的方法写在代码中,轻易被逆向出来,在凡是环境下,回收对称加密密钥必要生涯在用户手机中,这和安详性想违反。凡是最好的方法是不要保有密钥,通过牢靠命据可能字符串做加密密钥因子,譬喻用户独一账号属性等。 编码方法 Android代码首要有Java编码,打包文件时Java代码打包成dex文件防到安装包文件中,可是dex文件轻易被逆向回smali代码可能Java文件。固然今朝夹杂和加壳乃至是假造机掩护(VMP)技能已经很成熟,简朴逆向事变无法获代替码逻辑和硬编码字符串,可是Java代码依然存在很高的安详风险。因此,将加解密相干操纵通过Native代码实现很有须要,不只担保服从并且在so掩护技能之上安详性更高。 五、Android数据安详思索 跟着移动互联网深入成长,今朝移动应用正在产生质的改变。对比繁荣初始的粗狂、蛮横,此刻的移动应用开始思量安详和质量,出格是当前我国互联网信息安详的大形势,数据安详关乎企业和应用的保留的条件,掩护应用数据安详至关重要。在Android数据存储安详中,因为Android体系的安详机制,用户获取root权限后可以会见手机全部目次,包罗应用私有目次,因此,数据存储要思量到一个白盒情形,可能非可信情形。这种环境下,数据加密的密钥成为要害。一机一密、动态密钥、密钥白盒等本领各有优弱点。一机一密必要掩护密钥天生要领逻辑;动态密钥必要思量密钥时效性,有用性以及链路安详;密钥白盒因为今朝没有普及承认,在兼容性安详性方面有待检验。 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |