Secure-Storage
儲存公鑰/私鑰的一般想法?
儲存密鑰以確保沒有其他人可以訪問它的一般想法是什麼?
這不是散列密鑰的好方法,因為您稍後將需要它們。
儲存公鑰和私鑰的要求是完全不同的。公鑰需要在信任庫中才能信任它們。應注意攻擊者無法替換它們或欺騙系統使用不同的信任庫。公鑰——顧名思義——不必保密。
對私鑰的要求顯然確實需要保密。此外,應限制使用私鑰的訪問權限。請注意,可以在保密的同時開放使用私鑰的權限;這方面的一個例子是將私鑰儲存在智能卡中,然後提供簽名/解密服務。
公鑰/證書和私鑰的處理稱為密鑰管理。整本書都是關於這個主題的,所以我們無法討論所有這些。
對於軟體中的儲存,一種常見的方法是將私鑰儲存在密鑰庫中。密鑰庫的範例是 PKCS#12 密鑰庫和 PGP 密鑰容器。這些容器是整個儲存的內容和/或密鑰條目本身依次受密碼保護的文件。
對於通用解決方案,我會仔細研究 OpenSSL 使用的 PKCS#12。請注意,預設密碼處理可能仍需要工作(例如,增加用於解鎖 PKCS#12 內容的解密密鑰的工作係數)。僅選擇 PKCS#12 本身並不是密鑰管理。
對稱(數據或會話)密鑰通常是使用密鑰導出函式或密鑰協議協議導出的,而不是儲存的。