【发布时间】:2015-03-02 20:51:50
【问题描述】:
我有一个使用 Azure 移动服务保存 SQLite 数据库的 WinRT 应用程序。我按照这里的教程进行操作:Using offline data in MobileServices
我让数据库正常工作,但我想知道是否可以对使用此行创建的数据库文件进行加密或密码保护
var store = new MobileServiceSQLiteStore("localstore.db");
我正在尝试添加额外的安全层来保护敏感信息。密码等不存储在数据库中,但用户输入的其他信息可能需要保护并与托管在 Azure 上的服务同步。否则,有人可能会导航到 C:\Users\[username]\AppData\Local\Packages\[packageId]\LocalState 并使用任何 SQLite 数据库浏览器程序打开数据库。我可以在将类中保存的数据保存到数据库之前对其进行加密,但如果可能的话,最好对数据库文件进行加密。
【问题讨论】:
-
为什么需要加密?如果您要存储用户的密码,为什么不在他们需要验证时提示他们输入密码呢?加密数据库不会阻止任何事情,因为您需要密钥来解密它,如果攻击者可以访问数据库,那么他可能也可以访问密钥。
-
该程序主要用于数据输入,我想保护数据库,因为它将保存潜在的敏感数据。如果无法做到这一点,那么我只需要在将数据保存到数据库之前对其进行加密。
标签: c# sqlite azure encryption azure-mobile-services