我是Windows 2003服務器上,我需要編寫一個批處理文件使用GnuPG來自動解密。 解密命令需要密碼才能使用私鑰。在批處理中使用密碼短語的最佳做法是什麼?
以下是不完全滿足我一些可行的選擇:
echo thisIsMyPassphrase|gpg.exe --passphrase-fd 0 --output %1 --decrypt %2
這樣的硬編碼密碼看起來並不像一個安全的方法!另外,更改方式也不方便(直接嵌入.cmd文件中)。存放在不同的文件中的密碼,並確保只在運行解密過程可以訪問(使用NTFS的安全設置)的Windows用戶。
gpg.exe --passphrase-file X:\passphrase.txt --output %1 --decrypt %2
我在這裏不太喜歡的是,我們有一個裸體文件只是包含這個高度敏感的信息。奇數維護?容易找到 ? ..我不覺得自己存儲在一個環境變量的密碼聽起來不錯(看起來相當暴露)..
echo %MY_PASSPHRASE%|gpg.exe --passphrase-fd 0 --output %1 --decrypt %2
那麼,什麼是對你最好的意見(或「最不好的」)解決方案來實現這一目標?
關於#2,文件名可能實際上是另一個參數,該文件可能被例如保持在USB閃存驅動器上。但是當然錯誤信息仍然需要處理(恐怕我不能幫助解決這個問題)。 –
#2,我在想存儲Passphrase.txt在網絡的另一臺服務器..使自動化的東西物理解密服務器上是不夠的,解密(在服務器的物理小偷的情況下)。就我而言,使用可移動驅動器並不能真正解決這個問題(因爲它們是物理連接到服務器的),而且我們對服務器機房的物理訪問非常有限。 – Myobis
但是,存儲在單獨的服務器上會打開新的攻擊媒介。有人能夠嗅探網絡流量可能能夠以這種方式獲得密碼。 –