加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

Android数据存储安详确践

发布时间:2018-10-12 23:00:04 所属栏目:业界 来源:root001
导读:【新产物上线啦】51CTO播客,随时随地,碎片化进修 一、数据存储安详 Android操纵体系自问世以来依附其开放性和易用性成为当前智妙手机的主流操纵体系之一,作为与人们相关最亲近的智能装备,越来越多的通信录、短信、视频等隐私数据以明文的方法生涯在手机

对称加密特点是实现服从快,可是因为加/解密密钥沟通,在密钥生涯、分发、安详各方面呈现很多题目,譬喻密钥打点,密钥泄漏。基于此,将加密密钥息争密密钥分隔,形成客户端端行使公钥加密,处事端用私钥解密的非对称加密,将加解密密钥分隔,加密密钥不必担忧泄漏风险。常用的非对称加密算法如RSA。

RSA加解密实现

  1. // 天生 public and private keysKeyPair buildKeyPair() NoSuchAlgorithmException { 
  2.      keySize = 2048; 
  3.      KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance(); 
  4.      keyPairGenerator.initialize(keySize); 
  5.      keyPairGenerator.genKeyPair(); 
  6.  } 
  7. //RSA 加密 [] encrypt(PrivateKey privateKey, [] data) Exception { 
  8.      Cipher cipher = Cipher.getInstance(); 
  9.      cipher.init(Cipher., privateKey); 
  10.      //加密cipher.doFinal(data); 
  11.  } 
  12. //RSA 解密 [] decrypt(PublicKey publicKey, [] enData) Exception { 
  13.      Cipher cipher = Cipher.getInstance(); 
  14.      cipher.init(Cipher., publicKey); 
  15.      //解密cipher.doFinal(enData); 
  16.  } 

在常用数据加密要领中,凡是也会碰着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权限后可以会见手机全部目次,包罗应用私有目次,因此,数据存储要思量到一个白盒情形,可能非可信情形。这种环境下,数据加密的密钥成为要害。一机一密、动态密钥、密钥白盒等本领各有优弱点。一机一密必要掩护密钥天生要领逻辑;动态密钥必要思量密钥时效性,有用性以及链路安详;密钥白盒因为今朝没有普及承认,在兼容性安详性方面有待检验。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读