移动安全系列之加解密

移动安全

随着移动互联网的快速发展,安全问题也越来越被提到开发过程中。想置身事外已是妄想。

加解密与其说是安全领域的产物,倒不如说是数学领域的产物,只是在安全领域发挥了更大的作用。加解密相关的主要有对称加密,非对称加密以及MD5信息摘要。

对称加密

常见的有 AES-CBC、DES、3DES、AES-GCM等,相同的密钥可以用于信息的加密和解密,掌握密钥才能获取信息,能够防止信息窃听,通信方式是1对1;对称加密的优势是信息传输1对1,需要共享相同的密码,密码的安全是保证信息安全的基础,服务器和 N 个客户端通信,需要维持 N 个密码记录,且缺少修改密码的机制。

特点

加解密同一密钥,速度快,效率高

缺点

密钥交换问题

算法

DES,AES

非对称加密

即常见的 RSA 算法,还包括 ECC、DH 等算法,算法特点是,密钥成对出现,一般称为公钥(公开)和私钥(保密),公钥加密的信息只能私钥解开,私钥加密的信息只能公钥解开。因此掌握公钥的不同客户端之间不能互相解密信息,只能和掌握私钥的服务器进行加密通信,服务器可以实现1对多的通信,客户端也可以用来验证掌握私钥的服务器身份。
非对称加密的特点是信息传输1对多,服务器只需要维持一个私钥就能够和多个客户端进行加密通信,但服务器发出的信息能够被所有的客户端解密,且该算法的计算复杂,加密速度慢。

特点

公/私钥机制

大家可能有个疑问,是不是公钥只能用来加密,私钥只能用来解密?

其实公钥和私钥都可以用来加密或解密—只要能保证用A加密,就用B解密就行。至于A是公钥还是私钥,其实可以根据不同的用途而定。
所以私钥加密公钥可以解密,这就成了数字签名;公钥加密私钥可以解密这是真正的加密

缺点

加解密速度慢,特别是解密

算法

RSA

信息摘要

MD5

计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。

特点

1、压缩性:任意长度的数据,算出的MD5值长度都是固定的。
2、容易计算:从原数据计算出MD5值很容易。
3、抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。
4、强抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。