移动应用加密工具实例解析详谈

移动互联网的普及,越来越多的移动应用陷入安全门,各种信息泄露、盗号风波层出不穷。越来越多的黑客盯上了移动应用,而SD 卡中以明文存放的个人信息,数据库中未加密存储的用户名和密码,收集的分析并以明文方式发到远程服务器,这些情况都使得黑客攻击更容易。

正确使用Cryptography 工具,能保护我们的敏感数据,确保隐私和数据完整。另一方面,加密难用且容易误用。这里给大家推荐下目前移动应用适用的加密工具。

Bouncy Castle

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

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 上同样可用。

Conceal

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

下表对上面所介绍的加密库做了总结。上文介绍的所有的库可以让加密方面的新手安全地进行加密,不过高级开发人员可以不使用这些默认做法,可以按照自己的意愿指定所有的加密细节(就像他们在使用其他加密库那样)。这里需要提出的是,新手在加密这一安全环节,可以使用移动应用的加密服务,比如爱加密、云安全等,可以有效且全面的保护移动应用安全。


加密库


开发公司


许可证


AeroGear Crypto


AeroGear


Apache 2.0


Conceal


Facebook


BSD


Keyczar


——


Apache 2.0

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

详情来源:http://www.ijiami.cn/newsInfo?id=644&v=3

时间: 2024-09-27 08:24:35

移动应用加密工具实例解析详谈的相关文章

超级狗 加密工具解析(正式版)

超级狗 加密工具全面解析 SuperDog 一.超级狗工具开发套件: 1.超级狗工具的简介. 2.超级狗开发套件(光盘). ①.超级狗工具使用手册(PDF). ②.Android.Linux.Windows 平台的安装包(PDF). 3.一个开发主狗和用户狗. 二.安装开发软件: 读取光盘中文件,选择适用平台的安装包进行安装即可(一键式安装程序). 安装目录: 发布说明   (PDF) 开发商指南(PDF) 1.DRM工具 ①.超级狗DRM打包工具 2.软件保护工具 ①.超级狗编程工具 ②.超级

Linux命令行抓包及包解析工具tshark(wireshark)使用实例解析

在Linux下,当我们需要抓取网络数据包分析时,通常是使用tcpdump抓取网络raw数据包存到一个文件,然后下载到本地使用wireshark界面网络分析工具进行网络包分析. 最近才发现,原来wireshark也提供有Linux命令行工具-tshark.tshark不仅有抓包的功能,还带了解析各种协议的能力.下面我们以两个实例来介绍tshark工具.1.安装方法 CentOS: yum install -y wireshark    Ubuntu: apt-get install -y tsha

转载:移动应用加密工具解析

移动互联网的普及,越来越多的移动应用陷入安全门,各种信息泄露.盗号风波层出不穷.越来越多的黑客盯上了移动应用,而SD 卡中以明文存放的个人信息,数据库中未加密存储的用户名和密码,收集的分析并以明文方式发到远程服务器,这些情况都使得黑客攻击更容易. 正确使用Cryptography 工具,能保护我们的敏感数据,确保隐私和数据完整.另一方面,加密难用且容易误用.这里给大家推荐下目前移动应用适用的加密工具. Bouncy Castle Legion of the Bouncy Castle是一个来自澳

Linux的加密工具以及ssh

1.linux下加密工具有很多,但是最常用的还是openssl openssl 三个组件: openssl 多用途命令行工具 libcrypto 加密解密库 libssl  ssl协议实现 openssl enc, ca, req, ... 对称加密 enc命令:#手动给文件加密一个文件. 加密:openssl enc -e -des3 -a -salt -in fstab -out fstab.ciphertext 解密:openssl enc -d -des3 -a -salt -in fs

linux安全机制与加密工具使用

一.加密需要和安全机制 1.不加密流量的易受攻击性 密码/数据嗅探 数据操作 验证操作 相当于邮寄明信片 2.不安全的传统协议 telnet.FTP.POP3等等:不安全密码http.sendmail.NFS等等:不安全信息Ldap.NIS.rsh等等:不安全验证 3.NIST定义的安全属性:美国国家标准与技术研究院 1) 保密性:     数据保密性     隐私性2)完整性:不可篡改     数据完整性     系统完整性3)可用性 4.安全攻击:STRIDE Spoofing(假冒).Ta

Android开发之IPC进程间通信-AIDL介绍及实例解析

一.IPC进程间通信 IPC是进程间通信方法的统称,Linux IPC包括以下方法,Android的进程间通信主要采用是哪些方法呢? 1. 管道(Pipe)及有名管道(named pipe):管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信:   2. 信号(Signal):信号是比较复杂的通信方式,用于通知接受进程有某种事件发生,除了用于进程间通信外,进程还可以发送信号给进程本身:linux除了支持Unix早期

文件加密工具

引言: 在开发一款对外发布的软件程序时,难免要用到配置文件,而其中某些数据开发者并不期望用户获知或是修改,通常会对一些配置文件进行加密.一般是用一个批量的加密工具,统一对配置文件进行加密. 考虑到加密.解密的效率及对安全性的需求,选择了最常用的XOR算法,以下是加密工具的源代码:(windows环境下基于XOR算法,带有图形界面的文件批量加密工具) 源代码: 由于XOR算法是直接可逆的,故源代码中略去了部分代码. EncryptXML.h: #pragma once #include <vect

Nhibernate系列学习之(一) ORM and Nhibernate入门实例解析

最近框架项目需要,数据层想使用Nhibernate,代替传统的sql语句的写法,更加使用面向对象的思维来维护实体与数据库的这层关系映射(ORM),好在之前接触过Java时学习使用了Hibernate,先来了解ORM.    什么是ORM? 对象-关系映射(Object/Relation Mapping,简称ORM),是随着面向对象的软件开发方法发展而产生的.面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应用环境中永久存放数据的主流数据存储系统.对象和关系数据是业务

【转】Web Service单元测试工具实例介绍之SoapUI

SoapUI 是当前比较简单实用的开源Web Service 测试工具,提供桌面应用程序和IDE 插 件程序两种使用方式.能够快速构建项目和组织测试用例是该工具的一大特性,下面将通过实例介绍如果使用SoapUI 进 行Web Service 单元测试. l 构建项目 SoapUI 工具中的项目(Project )是由一个或多个Web Service 组成的,这里我们以"中国电视节目预告 Web 服务: http://www.webxml.com.cn/webservices/ChinaTVpro