簡體   English   中英

在Linux中存儲秘密

[英]Storing secrets in Linux

對不起,如果這里有人問過並回答過,那么簡單的搜索並沒有給我太多幫助。 隨意更正標簽,並提供以下問題的鏈接或主題的討論。 另外,我在某種程度上了解Windows,而不是Linux,因此這些問題可能顯得微不足道。


一些Windows應用程序使用注冊表和其他一些不起眼的地方來存儲他們的激活數據,試用期還剩下幾天,只是軟件已經安裝在這個操作系統上。

Linux中有類似的地方嗎?

如果有,那么數據是多么容易被發現,因為你不僅擁有root訪問權限,而且幾乎所有的源代碼都可以調整內核並強制獲取內容?

如果沒有辦法在Linux中保護這些數據,所有其他條件相同,它對Linux商業軟件的可用性有多大影響?

你所說的是默默無聞的安全性 - 不然,Windows中的注冊表並不比Linux中任何深度隱藏的文件更難以存儲數據。

也就是說,Linux中的程序通常將數據存儲在以點開頭的文件中. (在用戶的主目錄中表示這些文件的隱藏性質)。 通常這些地方並不是很模糊,例如Qt有一個類QSettings ,它在Windows中使用系統注冊表,但在Linux中,數據存儲在.config/CorporationName/ProgramName.conf 許多其他程序也以這種方式存儲數據。 對你的數據視而不見,你當然可以使用你喜歡的任何加密,阻礙方案 - 比Windows注冊表更加模糊。

Windows風格的注冊表是否不可用會妨礙商業軟件的可用性? 即使是一個小因素(但我不相信),平台上存在更嚴重的問題(/特征),這使得編寫商業和封閉軟件變得更加麻煩。 (但並非不可能)

無論您使用哪種操作系統,都不應該通過混淆來依賴安全性。 這是最容易破解的事情。 無論您在何處存儲數據,都應對其進行加密,並且只能在運行時將其解密一段時間。 更好的是 ,如果您使用的是存儲在您控制的服務器上的用戶帳戶,請將數據存儲在那里並在身份驗證/授權期間執行檢查。

唯一理論上安全的解決方案是IMO獲取網絡連接,並將數據存儲為加密字符串,並且只能在完全由您控制的中央服務器上解密。 Windows也是如此。

存儲機密數據有多種選擇:

  • 簡單的加密文件(可以用gpg完成)

  • 加密容器(例如,使用truecrypt,dm-crypt)

  • 加密分區或磁盤(dm-crypt)

不要忘記,您也應該使用加密交換。

暫無
暫無

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

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