亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java怎么實現密鑰的管理

發布時間:2022-01-15 10:43:54 來源:億速云 閱讀:216 作者:iii 欄目:互聯網科技

本篇內容介紹了“Java怎么實現密鑰的管理”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

各種密鑰總結

之前的文章中,我們分別講到了對稱密碼,公鑰密碼,消息認證碼和數字簽名這四種密碼學技術。這里我們再來回顧一下。

  • 對稱密碼

Java怎么實現密鑰的管理

對稱密碼使用相同的密鑰來進行明文的加密和解密。

  • 公鑰密碼

Java怎么實現密鑰的管理

公鑰密碼使用不同的密鑰來對消息進行加密解密。

  • 消息認證碼

Java怎么實現密鑰的管理

消息認證碼使用相同的密鑰來對消息進行認證。

  • 數字簽名

Java怎么實現密鑰的管理

數字簽名使用不同的密鑰來對消息進行簽名和驗證。

其中對稱密碼和公鑰密碼是直接對明文進行加密,從而用來保證消息的機密性。

而消息認證碼和數字簽名則是用來做消息的認證,其本身并不用作對明文的加密,主要來驗證消息的合法性。

其他密鑰分類

上面的四種是按照加密方式和使用用途來分的,其實安裝密鑰的使用次數可以分為會話密鑰和主密鑰。

會話密鑰是只用在一個會話中的密鑰,用完之后就廢棄不用了,而主密鑰是固定的密鑰,一直重復使用的密鑰。

熟悉SSL/TLS協議的朋友肯定對這個比較熟悉,在這個協議中每次會話都會創建一個單獨的密鑰用來加密會話消息,也就是說每次會話都會創建一個會話密鑰。

另外安裝加密對象是內容還是密鑰,我們可以分為加密消息的密鑰(CEK)和加密密鑰的密鑰(KEK)。加密消息的密鑰很好理解,之前的對稱密鑰和公鑰密鑰就是CEK。而加密密鑰的密鑰主要是為了減少密鑰的保存個數。

密鑰的管理

我們主要從下面幾個方面來講解密鑰的管理:

  1. 生成密鑰

生成密鑰有兩種方式,使用隨機數和使用口令。

隨機數一定要有不可被推斷的特性,一般來說我們需要使用偽隨機送生成器來生成。

java代碼中我們通常會用到Random類,但是這個類是不能用來生成密鑰的。我們可以使用java.security.SecureRandom來生成密碼安全的隨機數。

下面是SecureRandom的兩種常用用法:

        SecureRandom random = new SecureRandom();
        byte bytes[] = new byte[20];
        random.nextBytes(bytes);
 byte seed[] = random.generateSeed(20);

除了隨機數,另外一種方式就是口令了。

口令是人類可以記住的密碼,為了保證口令生成的密鑰不會被暴力破解,需要對口令加鹽。

簡單點說就是向口令添加一個隨機數,然后對添加之后的數進行hash計算,計算出來的結果就可以當做密鑰了。

  1. 配送密鑰

為了配送密鑰我們可以采用事先共享密鑰,使用密鑰分配中心,使用公鑰密碼等方式。當然還可以采用其他的方式來配送。

  1. 更新密鑰

有的時候,為了保證密鑰的安全,我們需要不定期的更新密鑰,一般的做法就是使用當前的密鑰作為一個基準值,通過特定的算法計算出新的密鑰。

  1. 保存密鑰

學過區塊鏈的應該都知道有個紙密鑰的東西,實際上就是把密鑰寫在紙上進行保存。

當密鑰太多的話,離線保存密鑰也成了一個非常困難的工作。這時候就可以使用到密鑰的密鑰KEK。將這些密鑰加密后保存。

這樣加密后的密鑰我們不用特別考慮其安全性,因為即使被竊取也無法還原之前的密鑰。我們只需要保存加密這些密鑰的密鑰即可。

  1. 作廢密鑰

作廢密鑰是個非常比較復雜的事情,因為密鑰就是密鑰,即使你把它刪除,其他的人也可能持有它的備份。所以在設計的時候要充分考慮到密鑰作廢的情況。

我們可以通過CRL列表來保存廢棄的密鑰。

“Java怎么實現密鑰的管理”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

武强县| 阳高县| 台南市| 双牌县| 仁布县| 房产| 富宁县| 保康县| 交口县| 湘西| 九龙县| 舞钢市| 盘锦市| 汶川县| 永吉县| 蕉岭县| 读书| 望城县| 石家庄市| 安西县| 福清市| 三台县| 和硕县| 苍山县| 贵州省| 松潘县| 永仁县| 镇巴县| 镇康县| 和平区| 固安县| 清水河县| 新建县| 洞头县| 高安市| 灵璧县| 静乐县| 子长县| 长沙市| 敦化市| 广灵县|