我想开发一个用户数据非常敏感的应用程序。我是开发新手。所以不确定以下内容
技术对于安全或高效来说是必要的。请留下您的评论。提前致谢。
为了额外的安全性,我们可以避开市场(游戏商店)并将应用程序安装在个人设备上。它会让它更安全吗?
我必须在设备上存储数据。我们如何确保数据安全,使其他应用程序无法读取它?
-
是的你可以不使用 Google Play 应用程序安装您的应用程序。这是否更安全取决于您的安全要求。一般来说,从 Google Market 安装应用程序比从其他来源安装应用程序要安全得多。如果您想避免任何类型的安装,您可以考虑使用/实施应用程序拦截器(例如)或 Kiosk 模式应用程序()
安装的应用程序越少,潜在的攻击者就越少(恶意软件、特洛伊木马、潜在有害程序)您有。所以从这个角度来看:是的,确实如此。但是,只要您没有 root 设备,应用程序数据(数据库、首选项)就相当安全。写入 SD 卡的数据可以加密。
-
谈到未root的设备:应用程序数据(首选项和数据库)以非常安全的方式保存。没有其他应用程序可以访问它。写入 SD 卡的数据可以从任何具有权限的其他应用程序读取android.permission.READ_EXTERNAL_STORAGE
or android.permission.WRITE_EXTERNAL_STORAGE
。您必须加密这些数据。
看着已取得 root 权限的设备:您(几乎)没有机会以安全的方式存储数据,因为用户/攻击者可以安装任何工具来分析完整的内存和存储。Almost意味着,您可以尝试尽可能隐藏您的加密/解密算法,这样就很难解密SD上的数据。最终,破解你的加密只是一个努力的问题。
p.s.如果你想深入了解技术细节,你可以看看.
p.p.s.想象一下以下场景:有人偷了你的手机并root了你的手机。在这种情况下,盗窃者很容易复制数据库并读取表中的所有内容。让我补充一下:这是可以很容易完成的事情,因为现在互联网上存在很多用于生根的工具和手册;之后访问应用程序数据也是如此。
加密会使读取应用程序数据变得更加困难,并且 - 如果您在每次应用程序启动时要求用户提供加密密码 - 它甚至可能是 100% 安全的(假设应用程序中未存储强密码,并且应用程序当盗窃者偷走它时,它没有运行)。当然,您还必须选择强大的加密算法(AES、Twofish,...)。
但是,只要您不丢失手机并且手机未root,您的数据很可能是安全的。我说最有可能的,因为过去存在许多漏洞,这使得获得系统范围的访问成为可能。
因此,您会发现这很大程度上取决于您的要求以及数据的敏感程度。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)