接口安全与数据加密

加密算法

共有18款Java 代码混淆和加密开源软件

Java 字节码加密工具 ClassFinal

全自动保护JAVA程序

哈希函数

什么是哈希(Hash)

Hash

加密算法

密钥

常见加密算法及常见加密算法原理

浅谈常见的七种加密算法及实现

 

存在问题:现集团接口大多用名文传递信息,仅仅用MD5进行加签验签,且多个项目多个版本,有些代码比较陈旧,方案也不安全
为了增强接口安全,统一规范,偏于维护管理,现计划开发一个集团通用的接口安全管理插件,配合集团权限系统使用

Hybrid encryption plugin(混合加密插件)


开发目标:安全,易用,可配置,多选
采用算法(可选)
 信息摘要:MD5+salt(16-32位)或 SHA1
 数据加密:AES128-256(随机加密密钥)
 密钥(AES128的密钥)加密:RSA

A持有  A的私钥,盐,B的公钥
B持有   B的私钥,盐,A的公钥

假如现在 Alice 向 Bob 传送数字信息,为了保证信息传送的保密性、真实性、完整性和不可否认性,需要对传送的信息进行数字加密和签名,其传送过程为:
1.Alice 准备好要传送的数字信息(明文);
2.Alice 对数字信息进行哈希运算,得到一个信息摘要;
3.Alice 用自己的私钥对信息摘要进行加密得到 Alice 的数字签名,并将其附在数字信息上;
4.Alice 随机产生一个加密密钥,并用此密码对要发送的信息进行加密,形成密文;
5.Alice 用 Bob 的公钥对刚才随机产生的加密密钥进行加密,将加密后的 DES 密钥连同密文一起传送给Bob;
6.Bob 收到 Alice 传送来的密文和加密过的 DES 密钥,先用自己的私钥对加密的 DES 密钥进行解密,得到 Alice随机产生的加密密钥;
7.Bob 然后用随机密钥对收到的密文进行解密,得到明文的数字信息,然后将随机密钥抛弃;
8.Bob 用 Alice 的公钥对 Alice 的数字签名进行解密,得到信息摘要;
9.Bob 用相同的哈希算法对收到的明文再进行一次哈希运算,得到一个新的信息摘要;
10.Bob 将收到的信息摘要和新产生的信息摘要进行比较,如果一致,说明收到的信息没有被修改过。

 

其他
提供通用的util:比如密码加密存储,升级为HmacSHA512; 其他 敏感信息加密存储,解密   及加***展示等

提供spring  切面或拦截器代码示例等
……

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章