簡體   English   中英

用於日志記錄的最佳非對稱加密方案

[英]Best asymetric encryption scheme for logging

我正在使用 java spring boot 並添加函數來記錄異常。

盡管我嘗試刪除盡可能多的敏感信息,但我正在嘗試加密我存儲的所有日志,以防我的服務器遭到破壞(因此不會向黑客顯示敏感的明文信息)。

我最初的計划是使用 RSA 公鑰加密所有傳入的異常和有關該事件的信息,並將其存儲在我的數據庫中。

當我需要閱讀日志時,我可以使用我的私鑰解密信息並閱讀它(顯然,我們這里永遠不會使用對稱加密,好像我的服務器被黑了一樣,那么黑客就可以解密我的日志)。 問題來了:RSA 非常慢,因為它的位長,而且在大量數據記錄的情況下,我的服務器可能真的很困難或崩潰。

是否有更好的非對稱加密方案 java 支持提供與 RSA-4096 提供的相同數量的安全性,但速度明顯更快?

我嘗試了 ECDSA/ECDH,但這僅用於簽名,而不用於字符串加密和解密。

我嘗試了 ECDSA/ECDH,但這僅用於簽名,而不用於字符串加密和解密。

如果必須,您可以使用 ECDH:

  • 擁有安全存儲的 EC 密鑰對 (A)(存儲在某個保險庫/安全密鑰庫中)
  • 將 A.pub 提供給應用程序
  • 在運行時,生成一個新的 EC 密鑰對 (B)
  • 用 A.pub 和 B.priv 生成一個公共密鑰(對稱)
  • 使用 keyId 將 B.pub 存儲在數據庫中
  • 使用公共密鑰加密日志記錄(使用 AES-GCM)並在日志記錄中包含 keyId,以便您知道使用了什么密鑰

(對於下一部分,您可能需要一個單獨的應用程序來解密日志)

  • 當您想閱讀日志時:使用 keyId 在數據庫中查找 B.pub。
  • 從您安全的地方獲取您的 A.priv
  • 使用 A.priv 和 B.pub 重新生成公共秘密。 (給定 DH,這與加密密鑰相同)。
  • 使用公共密鑰解密日志(同樣,使用 AES-GCM)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM