IT技术互动交流平台

Android N宣布弃用加密体系Cryto Provider

作者:佚名  发布日期:2016-06-15 21:15:46


今年Google I/O开发者大会上的主角无疑就是Android N了——虽说这款系统到现在都还没有正式定名,仅以“N”代称,但预计今年秋季我们就能看到Android N上线。本周,谷歌又宣布Android N将不会再采用Cryto Provider。
FreeBuf百科:Cryto Provider是什么?
众所周知,Android系统在架构上,比较靠上层的位置,运行的是个类似Java虚拟机的东西。绝大部分应用都是跑在这个虚拟机上的。所以Android系统也使用Java加密体系架构(Java Crytography Architecture,以下简称JCA),开发人员也正是基于JCA,在代码中编写和管理加密操作。
JCA是Java平台的重要组成部分,可以与各种类型的算法协同工作,提供基本的加密框架,如证书、数字签名、消息摘要和密钥对产生器 。
为什么抛弃Cryto Provider?
所谓的JCA究竟是啥呢?简单地说,如果Android应用开发者希望他开发的应用能够实现加密,也就需要用到JCA中的算法,具体是通过加载Provider类实现的 (Provider又是个啥呢?我们其实可以简单地将其理解为一个类,开发者需要从中选择所需的加密算法)
Android本身支持绝大部分JCA Provider,比如OpenSSL,BC,HarmonyJSSE,DRLCertFactory等等。
以前的Android系统中,这里我们提到的Crypto就是Provider之一。Cryto支持多种算法,比如SHA1PRNG,SHA1withDSA,DSA和SHA-1。如果你对加密算法稍有了解应该就知道,这些算法现如今已经比较弱了,显得不够安全。
Android软件工程师Sergio Giro表示:
“在Android N系统中,我们完全弃用了SHA1PRNG算法和Cryto Provider。”

开发者要哭:很多APP需要重写
实际上,可能很多开发者先前都会考虑采用SHA1PRNG算法:开发者可以借此进一步利用用户密码,将较小的密钥扩展为更大的加密密钥,这是加密密钥的进一步“衍生”。但Giro表示:“SHA1PRNG算法不够安全。”因此,他仍旧建议开发人员,如果要“衍生”的话,还是可以考虑采用更强的算法,比如AES算法。
由于弃用Cryto Provider令很多应用需要重写,为了帮助这些开发者做应用更新,Android官方团队给出了一系列的建议,有需要的同学可以点击这里查看。
 

延伸阅读:

Tag标签: 体系  
  • 专题推荐

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规