网关TOKEN 加解密算法的选择

一.背景

当前系统的token,是由三段组成,可以被破解处理,拿到token里面的用户信息,然后可以伪造用户登陆系统。

二.目的

基于信息安全的考虑,对token进行加解密操作,提升token的安全性。

三.加解密方案选择比较

常用加密方式

加密方式的算法

是否基于KEY

是否可逆

应用场景

特点

Base64加密算法

Base64加密算法

可解密

图片转码(应用于邮件,img标签,http加密)

MD5加密

MD5加密

不可解密

密码加密、imei加密、文件校验

数字签名算法

key

可解密

作用: 因为对原始文件使用非堆成算法,效率低,替代摘要被公钥加密,为了提高算法效率
实现:对摘要进行私钥加密,加密后的内容叫做签名

数字证书

key

可解密

确保公钥是没有被改过的,因为可以向CA证实

对称加密算法

DES、AES、RC5、Blowfish、IDEA

key

可解密

加解密效率高,速度快,适合大数据量加解密

非对称加密算法

RSA、DH、DSA、ECC

key

可解密

电商订单付款、银行相关业务

算法复杂,加解密速度慢,但安全性高,一般与对称加密结合使用(对称加密通信内容,非对称加密对称秘钥)

几种方式相比较 会想使用 对称加密或者非对称加密两种方式,其他的方式都不太适合目前场景。

算法主要选择

对称加密算法:DES/AES

非对称加密算法:RSA

RSA:

网关TOKEN 加解密算法的选择_第1张图片

出现原因:RSA对加密解密长度是有限制的,加密长度不超过117Byte,解密长度不超过128Byte

解决方案:分段加解密

不采用原因:加解密复杂,目前系统的token过长,需要分段加密和解密

DES:

网关TOKEN 加解密算法的选择_第2张图片

加解密正常,可以使用

AES:

网关TOKEN 加解密算法的选择_第3张图片

加解密正常,可以使用

四.最终选用 AES

AES 数据加密是一种在数学上更高效、更优雅的加密算法,由美国国家标准与技术研究院于 2001 年推出。作为高级加密标准,AES提供三种密钥长度,分别是128 位、192 位和 256 位,密钥长度越高,破解系统或破解系统所需的时间就越多。因此,AES 被认为比 DES 算法更好

DES对密码学的进步产生了很大的影响,但是,由于 56 位的短密钥长度,所以对应用程序不安全

你可能感兴趣的:(解决方案,后端,java)