簡體   English   中英

圖像加密以存儲在PHP中

[英]Image encryption for storage in PHP

我遇到了一種情況,不確定如何最有效地處理它。 客戶已經建立了用於更改,蓋章,簽名等的系統。PDF-還需要將“ PDF”頁面轉換為圖像(PNG)以進行顯示/審閱,因此需要“保護”以處理醫療/法律文件以及可能包含個人信息。

如果可以避免的話,我們不會直接將任何內容寫到磁盤上,而是盡可能地將其保留在數據庫中。 我熟悉使用mcrypt來對密碼進行哈希處理-這是否是在檢索之前存儲頁面圖像和生成的PDF的合理方法? 我在處理嚴重的處理開銷嗎? 有沒有更好的方法?

保護系統安全是一個相當廣泛的話題,但是您似乎專注於保護敏感數據的持久存儲以防止未經授權的訪問。 換句話說,您想讓入侵者或illojal員工更難訪問數據庫,以查看他不應該查看的pdf文檔。 如您所建議的,一種方法是對數據庫中的文檔進行加密。 這里重要且困難的決定是如何管理加密密鑰。 您應該問自己的問題是:

1)如何存儲加密密鑰,以便應用程序可以訪問它們,但入侵者或illojal員工則無法訪問? 您當然不能將它們存儲在數據庫中(如果您可以信任數據庫,則根本不需要加密文檔)。 一種安全但麻煩的解決方案是在啟動應用程序時讓受信任的員工鍵入密鑰,然后僅將其存儲在內存中。 另一種方法是創建一個僅對文檔進行加密和解密的受保護的特殊子系統。

2)哪種加密算法足夠強大? 您可能應該防止攻擊者將許多或所有文檔復制到自己的系統並使用不同的技術來破解加密的情況。 理論上,只要有足夠的時間和硬件,所有算法都是易碎的,因此,這里要權衡的是使用一種算法和密鑰長度,這幾乎不可能破解加密,同時具有可接受的處理開銷(所需的處理能力越小)解密文檔,攻擊者破解您的加密所需的處理能力就越小)。

3)文件可以保存多長時間? 加密方案和密鑰不應永遠存在。 您應該設計一個系統,在該系統中定期更改密鑰,並在密鑰過時時更改加密算法。 您還必須能夠處理發現加密密鑰已損壞的情況。 換句話說,更改密鑰並用新密鑰重新加密所有文檔必須很容易。

保護系統安全當然需要比加密文檔做更多的事情,但是保護持久性數據並不是一個壞的開始。

祝好運

暫無
暫無

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

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