随着移动工具的普及,越来越多的黑客顶上了移动应用。而SD 卡中以明文存放的个人信息,数据库中未加密存储的用户名和密码,收集的分析并以明文方式发到远程服务器,这些情况都使得黑客攻击更容易。这里给大家推荐下目前移动应用适用的加密工具。
Spongy Castle
SpongyCastle背后的动机是允许安卓开发者在应用程序中使用任意版本的BouncyCastle类库。SpongyCastle就是对最新版本的BouncyCastle进行了简单地重新打包;所有的org.bouncycastle.*包重命名为了org.spongycastle.*,所有Java安全API提供者的名字由BC改为了SC。
OpenSSL
OpenSSL是一个实现了SSL和TLS协议以及通用密码库的开源工具包。OpenSSL已经被移植到了很多平台,包括安卓。做为一个替代方案,你也可以从源码构建,然后绑定到应用程序中。这些工具包并没有实现任何奇特的加密功能,也没有尝试替代任一上述的密码学库;相反它们基于这些类库构建,唯一的目的是使得使用加密功能更简单更安全。
与通用密码学库相反,这些工具包通常只支持一部分算法、模式、结构、参数。对于通用加密工具需要设定的部分,这些工具包为你提供了合理的默认值,以防你知道想要什么,但是不知道如何使用,或者只在乎最终有个安全的解决方案。让我们检查几个这类工具包以便来更好的理解它们的运行规则。
Keyczar
Keyczar是一组开源工具包,最初由两位谷歌安全团队成员开发,用Java,Python和C++语言实现,并支持对称加密和费堆成加密两种鉴权方式。Keyczar提供安全的默认设定,包括算法,秘钥长度和模式,秘钥循环和版本化,初始向量和授权码自动生成,支持国际化。该工具包基于JCE构建,使用了Spongy Castle的安全提供程序。
AeroGear Crypto
AeroGear Crypto是AeroGear提供的一个小的Java库。它支持可认证的对称加密,椭圆曲线加密,基于密码的秘钥推导。它也提供了算法的显式设定。AeroGear Crypto在android平台依赖Spongy Castle,在其他平台上依赖Bouncy Castle。该库在iOS、Windows Phone和Cordova 上同样可用。
不过不管选择哪个工具使用,都应该方便于用户,当然最重要的是要不断改善安全性。