security - 从 DevExtreme 移动应用程序安全登录

标签 security mobile ssl phonejs devextreme

我正在尝试加密我服务器上的数据库与使用 javascript 的 devExtreme 制作的移动应用程序之间的通信。他们的支持团队给出了一个涉及使用 base_64encode 的示例。这是一种安全的方法吗?这是 DevExtreme 的示例:Example of Authentication Request

我无法理解这有多安全。据我了解,移动应用程序会对数据进行加密(因此该应用程序具有用于加密的 key /解密方法。如果有人访问了该应用程序的源代码,他们将无法找到该 key 吗?)此加密然后数据被发送到服务器并被解密。发送一条消息以通知身份验证是否失败。

除此之外,使用 SSL 连接会在应用程序客户端和服务器之间创建私有(private)连接。

对不起,我在上面问了很多问题!让我总结一下:

  1. Is using base64_encode in devextreme safe? I have done some research and seen a lot of articles that say it is easy to crack.

  2. Since the password and username would have to be encrypted/decrypted on the application side as well as the server side, wouldn't this
    cause issues if the app user was able to gain access to the source
    code?

  3. Is sending the header/string/json file over a SSL connection enough? Would I need to use encryption if I were to use SSL?

  4. What is a guideline to follow, if any, in order to build a secure
    mobile app? Something similar to This guide, but for mobile
    apps.

提前致谢。

最佳答案

  1. base64 不是加密。是编码。 (参见例如 difference between encoding and encryption )解码编码数据很简单。因此,在需要加密的情况下单独使用是不安全的,例如交换私有(private)数据。 base64 很容易通过视觉识别,因此如果有人拿到了您的 HTTP 数据包,他们就知道了您的密码。

  2. 如果您使用未被破解的算法进行加密,并且攻击者不知道您的私钥 - 您就没事了。在那种情况下,了解您使用的算法对攻击者没有多大帮助。参见例如encryption了解更多详情。

  3. 使用 SSL 应该就足够了。参见例如how secure is SSL .无需对同一事物进行两次加密。

  4. DevExtreme 是一个 HTML5/JS 框架,因此您应该寻找有关保护 AJAX 等内容的 Material 。这也取决于您在服务器端使用的内容。我想这一切都归结为保护易受攻击的数据传输和您的服务器端应用程序,无论您在那里使用什么。在这方面帮不了你太多。

还有一件事:正如我在 pt 中所写的那样。 4、DevExtreme是一个HTML/JS框架。只要任何人下载您的应用程序,他们就已经拥有代码,因为 DevExtreme 应用程序不是这样编译的——它们只是网络应用程序,所以您的用户唯一无法访问的是您的服务器端代码。

关于security - 从 DevExtreme 移动应用程序安全登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18968507/

相关文章:

java - GRPC Java 客户端和 NodeJS 服务器之间的 ssl 握手问题

azure - Windows Azure 上多个网站的通配符 SSL 证书

android - 有没有办法通过官方 API 提高 Android 设备的背光?

security - OpenID Connect - 使用 JWT 使用 REST API 进行身份验证的带有 Javascript 应用程序的隐式流

java - 将库添加到 JRE

security - 如何检测登录是否可疑?

javascript - 移动应用的同源政策

java - 我是否可以在不了解 Android 操作系统组件的情况下仅使用 LIBGDX 开发 Android 应用程序?

ruby-on-rails - Rails 服务器 (Puma) : SSL not available in this build (StandardError)

PHP - 清理所有数据?