利来国际最给利的老牌最新网址_利来国际娱乐网址

给初学者的 Android 加密工具

时间:2019-10-29 17:56 文章来源:利来国际最给利的老牌最新网址 点击次数:

  越来越多的黑客盯上了移动应用,每天都会增加,因为移动应用中有黑客感兴趣的东西,如用户数据。硬编码(Hard-coded,注,固定写死,不能修改的)安全秘钥,SD 卡中以明文存放的个人信息,

  正确使用Cryptography 工具,能保护我们的敏感数据,确保隐私和数据完整。另一方面,加密难用且容易误用( cryptography is hard to use and easy tomisuse)。 注意容易被破解的加密方式(broken cryptography) (如,使用不安全算法,或硬编码秘钥到二进制包),请查阅列表2014年,移动领域10大风险。因此,从中得到什么教训?不用加密不可取,不能正确加密同样不可取 (不提耗费的时间)。

  为了能在安卓平台上开发出安全的应用,接下来我们将介绍如何能既简单又安全地进行加密。

  

  首先,概括性地介绍一些常见的可集成到安卓应用中的加密库。加密库是包含诸如加密算法、填充方式和散列函数等工具的加密工具集合。

  充气城堡军团(Legion of the Bouncy Castle)是一个来自澳大利亚的公益团体,他们编写了Bouncy Castle 这个广泛使用的类库。该库既提供了一个轻量级的密码学 API,也是一个Java密码扩展(JCE)的提供者。安卓平台已经内置了一个精简过的老版本 Bouncy Castle(同时为了适配安卓平台也做了一些细小的改动)。结果就是任何在应用程序中构建和使用最新版本 BouncyCastle 类库的尝试都将导致类加载冲突。

  OpenSSL 是一个实现了 SSL 和 TLS 协议以及通用密码库的开源工具包。OpenSSL 已经被移植到了很多平台,包括安卓。做为一个替代方案,你也可以从源码构建(使用安卓 NDK),然后绑定到应用程序中。

  现在我们假设出于应用程序的目的,你想要加密一些数据。你会使用哪个加密算法,AES 还是 DES?你的秘钥多长,128 还是 256 比特?你会使用哪种加密模式,ECB 还是 CBC?如果你对所有这些问题都没有答案,也没有好的理由,那么你可能发现你正处在一个微妙的位置,虽然你拥有所有你想要的工具,但是你一点儿都不确定使用哪个、如何使用。

  这正是傻瓜密码学工具包发挥作用的场景。这些工具包并没有实现任何奇特的加密功能,也没有尝试替代任一上述的密码学库;相反它们基于这些类库构建,唯一的目的是使得使用加密功能更简单更安全。

  与通用密码学库相反,这些工具包通常只支持一部分算法、模式、结构、参数。对于通用加密工具需要设定的部分,这些工具包为你提供了合理的默认值,以防你知道想要什么,但是不知道如何使用,或者只在乎最终有个安全的解决方案。让我们检查几个这类工具包以便来更好的理解它们的运行规则。

  Keyczar 是一组开源工具包,最初由两位 Google SecurityTeam(谷歌安全团队)成员开发。 它用 Java,PythonC++语言实现。它支持对称加密和费堆成加密两种鉴权方式。Keyczar 提供安全的默认设定,包括算法,秘钥长度和模式,秘钥循环和版本化,初始向量(vector)和授权码自动生成,支持国际化。该工具包基于JCE构建,( here),使用了Spongy Castle的安全提供程序。

  为了能够快速并使用很少内存对SD卡上的大型文件实现加密和认证,脸谱开发出了 Conceal。Conceal既可以进行认证,也可以进行加密,同时默认也提供了密钥管理功能。它使用的是 OpenSSL,不过仅包含自己需要的那部分,因此其大小仅为 85KB。Conceal 站点上公布的结果显示它优于 Bouncy Castle。

  下表对上面所介绍的加密库做了总结。请注意:上面介绍的所有的库可以让加密方面的新手安全地进行加密,不过高级开发人员可以不使用这些默认做法,可以按照自己的意愿指定所有的加密细节(就像他们在使用其他加密库那样)。

  如果你是一个移动应用开发者,你得花时间(精力)使你的应用程序便于使用,功能丰富,抓人眼球,但是,你不要忘了改善你应用的安全性。 如果你不懂怎么着手,或者担心做不对,那就从文中提到的工具包中选择一个,以便能够开始。不管你决定选用哪个加密工具都好,都应避免自己实现加密算法和加密协议; 应该只使用那些广泛应用的,普遍认可的,经受考验的算法和协议。

  直播简介及亮点: 在开发多机器人的协同应用时,各机器人产品往往来自不同的厂商,各

  在使用Fragment之前,Fragment的生命周期是一个需要关心的问题。目前,要想在Androi...

  Android开发者在语言限制方面面临着一个困境。众所周知,目前的Android开发只支持Java ...

  在Android程序运行中,线程之间或者线程内部进行信息交互时经常会使用到消息,如果我们熟悉这些基础...

  动态加载技术(也叫插件化技术)在技术驱动型的公司中扮演着相当重要的角色,当项目越来越庞大的时候,需要...

  看到很多人提问非科班该如何学习编程,其实科班也基本靠自学。有句话叫“师傅领进门修行靠个人”,再厉害的...

  一直以来人们都有这样的印象,认为搭载iOS系统的iPhone一定比搭载Android系统的安卓手机流...

  显然,该函数执行后,会在生成/sys/power目录,该目录下会建立一系列属性文件,其中一个就是/s...

  Android的应用程序APK文件说到底也是一个压缩文件,那么可以通过解压缩得打里面的文件内容,不过...

  Android是Google公司开发的基于Linux平台的开源手机操作系统,它包括操作系统、中间件、...

  谷歌在Android 9 Pie上首次引入手势控制时,许多的用户觉得这些手势控制还不成熟。用户只能单...

  如果你参加了GDC 2019大会或者一直关注我们的动态,那么你可能已经听说或者看到了我们完全重新开发...

  波士顿动力堪称是当今最受欢迎的机器人公司,其技术实力往往让人惊艳,每次一发视频就刷屏,几天前 10 ...

  在USB accessory 模式中,外部USB硬件作为USB主机。外设的例子包括机器人控制器,扩充...

  Android Q的首个Beta版于3月14日凌晨正式发布,目前谷歌旗下所有Pixel系列手机均可体...

  今天,据Phone Arena报道,谷歌软件工程师在评论中提到了Pixel 4,这也是谷歌第一次提及...

  高通称支持瑞士电信的所有设备制造商都使用了高通的5G解决方案。 OPPO和LG的5G手机以及Aske...

  国内用户对于智能电视上插入广告内容可能已经习惯了,但国外用户可能还没有。

  相信很多从功能机时代走过来的人的回忆中都有一台诺基亚,提起诺基亚手机,那绝对是很多70,80,90年...

  摩托罗拉也是手机界的老牌厂商了,其经典的“Hellomoto”大家应该都记得。

  在5月8日举行的谷歌I/O大会上,最新的安卓系统Android P正式与我们见面。在公布的可首批体验...

  今天,谷歌悄无声息的发布了Android Q(也就是安卓10.0)的第二个测试版,主要来说是修正上一...

  3月14日,Google发布了下一代Android操作系统的首个开发者测试版,目前的代号名为Andr...

  4月2日,安兔兔发布了2019年3月Android手机性能榜。上个月因为数量或者发布时间等原因缺席的...

  由于项目需要,应该是公司缺人手吧,项目经理的一句有人对javaWeb感兴趣么,就把这活接到了手中。以...

  看到一篇文章中提到“最近几年国内的初级Android程序员已经很多了,但是中高级的Android技术...

  车内空间的科技感与高格调正在成为用户们选购汽车时的关键要素,基于这一诉求,众多车厂纷纷发力汽车驾驶舱...

  例如,Microsoft最近开放了他们的Teams API,以便最终用户可以通过各种不同的供应商解决...

  据报道成,华为早在 2012 年就已经开始规划研发自家的操作系统已防止日后市场局势出现的变故。但与此...

  Tag Heuer与谷歌和英特尔合作推出了Android Wear智能手表。该公告标志着瑞士高端钟表...

  但是,华为开发的该系统到底有多强,覆盖面到底有多广,能否完全满足实际所用,现在大家都还不清楚。毕竟,...

  随着微处理器技术的发展与成熟,嵌入式语音识别系统已逐渐成为各领域研究的热点方向,各种迎合人们需求的语...

  对于谷歌来说,随着全面屏手机越来越多,让安卓系统更好的去支持手势操作,就显得非常有必要了。

  据国外媒体报道,谷歌今日发布全新操作系统Android Q Beta 1,其主要特性有增强的隐私和安...

  Android工程师是指从事Android移动应用操作系统、游戏和各种Android平台功能的应用、...

  3月14日消息,谷歌正式推出Android Q Beta 1版本及预览版SDK,开发者或喜欢尝鲜的用...

  在Android发展起来之前,其实全球最大的智能手机操作系统塞班,虽然塞班存在着臃肿等问题,但是由于...

  对于期待Android 10的用户来说,谷歌已经给出了正式版发布的时间,而今天他们还推出了这个新系统...

  回顾小米、vivo和OPPO三大手机厂家2019年的种种举动,以及华为、荣耀手机掌门人在微博上的言论...

  近日,联想集团副总裁,联想手机掌柜常程,在微博宣布联想Z5 Android 9.0 P内测版发布。

  随着5月份I/O大会的举办,Android Q即将与我们见面。对于希望尽快升级的用户来说,一则好消息...

  寒冬真的来了吗?可能是吧,因为最近几年每年都说是寒冬,说的真的叫人焦虑。不过互联网的整体环境确实不如...

  你可能更清楚地记得的是你丢失手机的次数,而不是你的账户被黑的次数。Rivetz的首席执行官Sprag...

  Android操作系统现在已经通过FIDO2认证,这意味着有一天密码可能会在移动系统中被彻底清除。

  此外,在国内外品牌构成方面,1 月国产品牌手机出货量 3206.0 万部,同比下降 4.3%,环比下...

  此前,谷歌表示正在紧锣密鼓的准备全新的Android Q,而其中的全局黑暗模式将成为一项特色功能出现...

  谷歌将在5月7日到9日于加利福尼亚州山景城海岸线圆形剧场举办一年一度的Google I/O开发人员大...

  不过即使Android P在敦促OEM厂商加速为用户提供最新系统的效果并不算显著,但谷歌也没有停下继...

  “对于汽车行业来说,这确实是一件关键的事情。”上述负责人表示,目前已经有OEM厂商开始采用Andro...

  欢迎来到智能手机飞速发展的时代。今天,智能手机已经成为了一种人人都离不开的商品,坦率的说,我们已经很...

热门排行