我在寫一個web和Android應用程序,允許用戶存儲和訪問一些潛在的私人數據。通過RPC傳輸此數據已通過SSL進行保護。我目前將這部分數據存儲在Text
屬性中,沒有任何加密。我現在正在研究如何更好地保護數據的存儲。在App Engine上加密用戶數據
問題1:是否有任何通用的最佳實踐或技巧來加密App Engine上的存儲數據?
我的一個想法是將該屬性切換到Blob
字段,通過網絡傳輸加密數據,並在客戶端(使用Javascript和Android)進行解密和加密。
對於加密密鑰,我正在使用UserService
提供的登錄用戶的電子郵件地址。用戶電子郵件地址僅在用戶登錄時才知道,並且敏感實體沒有提及用戶的電子郵件地址—只有用戶ID。
問題2:用戶的電子郵件地址是否有意義作爲加密密鑰?如果不是,還有什麼其他衆所周知的加密密鑰選項?
我剛剛意識到至少有一個電子郵件地址作爲加密密鑰的缺陷:他們可以改變,如果用戶更改她的帳戶電子郵件地址。問題2上的 – 2011-05-18 06:26:50
:您不想使用電子郵件地址或任何其他衆所周知的或易於猜測的數據作爲加密密鑰。 – 2011-05-18 19:57:42
選中此https://cloud.google.com/security/encryption-at-rest/。如果您對Google提供的內容不滿意,可以添加自己的應用程序層加密。 – 2016-12-10 15:10:28