现如今很多的智能手机,都支持把应用安装到SD卡中,这会帮用户节省很多空间,但是许多黑客也会利用这一点窃取用户的隐私。一般情况下,应用都有SD卡的读写权限,当然他也可以读取到其他应用,存储在SD卡上的数据。这意味着如果你安装了恶意的应用,他就可以轻易的获取SD卡上的所有数据。
当然,为了数据的安全,可以给SD卡上的数据加密,但这多多少少会影响到手机的性能。
不过,facebook开放了一个名叫,“Conceal”的安全工具的源代码,它提供了加密的Java API接口,这些简单易用的接口可以让应用程序以最优的方式加密数据。
Conceal专门为速度设计,它小巧并且高速。facebook软件工程师在blog上说:“这是我们的一个机会,通过加密的方式保护SD卡上的数据,把用户安全做得更好。”
这款工具使用基于OpenSSL的加密算法。
Conceal的加密算法基于OpenSSL,但是在arm7下的OpenSSL库大小有1MB,我们缩减了OpenSLL库的内容,经过编译现在他只有85KB。一个更小的库,有益于兼容更多的android版本,以及减少后期的维护成本。
Conceal比目前的任何一个java加密库都轻巧快捷,同时它使用AES-GCM算法,来防止对数据进行的恶意篡改。
这个库还提供了存储和管理秘钥的资源来提高android脆弱的随机数生成器的安全性。目前正式支持,2.3以及更高版本。不过也可以在2.2版本运行。
Facebook的应用都已经使用了这款工具保护自己的数据。开发者可以从GitHub上了解到这个项目的详细信息。