2013-10-17 86 views
0

我正在做一個共享對象,使用公鑰和私鑰進行大量的加密和解密。我想將這些密鑰存儲在二進制文件中,是否有任何方法可以安全地保存這些密鑰,以便任何人都無法使用它。那麼如何在二進制文件中嵌入加密密鑰?如何將公鑰和私鑰安全地保存在二進制文件中?

+3

「有沒有什麼方法可以安全地保存這些密鑰,以便沒有人可以使用它」 - 不。 – millimoose

+0

「有沒有辦法安全地保存這些密鑰,以便沒有人可以使用它?」當然有 - 但在這種情況下,「沒有人」包括你。 – ntoskrnl

回答

1

如果代碼可以訪問密鑰,那麼代碼運行在其機器上的用戶也可以訪問。這是無可爭辯的 - 除非您控制硬件,否則無法繞過它。

1

是否有任何方法可以安全地保存這些密鑰,以便沒有人可以使用它。

正如millimoose所說,不,你不能。或者更準確地說:您不能將數據和任何數據保存在二進制文件中,因此它對您的二進制文件而不是其他任何人都有用。雖然通常不會用這種通用的用例進行討論,但這是數字權利管理的核心 - 希望獲得一些只能以受控方式使用的數據(無論是密碼還是其他數據)。

即使對於資金充足和積極主動的組織來說,您所能完成的最好的工作也會很多,那就是使用TPM代表您執行加密操作,並且以與您的系統。我猜這個解決方案不是你想要的。

0

如果您無法控制硬件和操作系統,則無法執行此操作。如果你有完全的控制權,那麼就沒有必要爲密鑰增加額外的保護。安全存儲密鑰的最佳方式是將它們保留在二進制文件之外。你可以使用一個安全的令牌。這可能是TPM,智能卡甚至HSM。這些安全令牌對令牌本身執行加密計算,因此您永遠不需要將其加載到內存中。

如果你想有一個非常安全的二進制存儲,那麼你可以看看this HSM。您可以在 HSM內運行您的代碼。即使有這樣的HSM,您也應該只在HSM中生成密鑰並將它們保存在那裏。哦,是的,這需要你在HSM上花費數千美元......