在android中使用JDBC安全可靠吗?

Posted

技术标签:

【中文标题】在android中使用JDBC安全可靠吗?【英文标题】:Is it safe and secure to use JDBC in android? 【发布时间】:2014-04-17 13:48:29 【问题描述】:

这个问题我想了很久,但还是找不到答案。我有一个mysql 数据库,我很想使用JDBC 将我的android 应用程序连接到它。问题是,它将有多安全。 SQL 注入在使用准备好的语句和转义所有内容时不是问题,但是,如果应用程序被破解并且源代码被反编译,潜在的黑客能否看到连接参数,如数据库链接、用户名和密码?

在安卓设备上使用JDBC是安全的,还是不安全和不安全的?

如果不是,您认为连接到MySQL 数据库的最安全方法是什么,或者网络服务仍然是目前最好的选择?

【问题讨论】:

使用将接受数据负载的网络控制器,然后将数据提交到数据库本身。 【参考方案1】:

将凭据硬编码到您的应用中是一个非常糟糕的主意,因为如果有人对此主题有所了解,实际上会尝试破解您的应用,并且如果您的应用管理一些财务敏感数据,他们实际上会尝试加倍努力。

就安全性而言,在这种架构中,似乎非对称加密算法最适合这种交易,因为您可以在每次需要公钥时进行硬编码/下载用于加密消息,它们只会由服务器端使用私钥解密。

我建议使用带有TLS 加密的网络服务,它不会是 100% 安全的,但至少它可以让破解者足够的安全。

How to securely share key between two remote devices? How dangerous might be publishing a public key?

【讨论】:

【参考方案2】:

如果是手机,则没有完美接收这样的东西,因此当用户进出接收良好时,您会出现掉线和丢失数据。

JDBC 协议并非旨在处理移动设备中发生的完全/部分断开连接,尤其是在您处于查询过程中时。另一方面,HTTP 至少允许您设计自己的重试机制,因为失败的 HTTP 请求只是失败的 HTTP 请求,而不是从网络层/JDBC 驱动程序冒泡的异常。

【讨论】:

以上是关于在android中使用JDBC安全可靠吗?的主要内容,如果未能解决你的问题,请参考以下文章

安卓 JDBC 4G 上网

请问:微信小程序可靠吗?

Spring JDBC FOUND_ROWS 安全吗?

如何获取Android设备用户移动的速度? Location.getSpeed 可靠吗?

HTTPS 一定安全可靠吗?

HTTPS 一定安全可靠吗?