接口安全與數據加密

加密算法

共有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  切面或攔截器代碼示例等
……

 

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