关于安全性:从DevExtreme Mobile App安全登录

Secured Login from DevExtreme Mobile App

我正在尝试加密服务器上的数据库与使用javascript的devextreme中的移动应用程序之间的通信。他们的支持团队给出了一个使用base encode的示例。这是一种安全的方法吗?下面是devextreme的一个示例:身份验证请求的示例

我很难理解这有多安全。据我所知,移动应用程序会对数据进行加密(所以应用程序具有加密的密钥/解密方法)。如果有人能够访问应用程序的源代码,他们是否能够找到这个密钥?)然后,这些加密的数据被发送到服务器并被解密。如果验证失败或没有失败,将发送消息通知。

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

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

  • 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.

  • 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?

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

  • 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.

  • 事先谢谢。


  • base64不是加密。这是编码。(参见例如编码和加密之间的区别)解码编码数据是微不足道的。因此,在需要加密的情况下单独使用是不安全的,例如交换私人数据。base64是很容易识别的,所以如果有人得到了你的HTTP数据包,他们只是得到了你的密码。

  • 如果你使用的加密算法没有被破坏,而攻击者不知道你的私钥,那你就很好了。在这种情况下,了解您使用的算法对攻击者没有多大帮助。有关更多详细信息,请参见例如加密。

  • 使用SSL就足够了。请参见例如,SSL的安全性如何。不需要对相同的东西加密两次。

  • DevExtreme是一个HTML5/JS框架,因此您应该寻找有关安全性的资料,如Ajax等,这也取决于您使用的服务器端。我想这一切归根结底都是为了保护易受攻击的数据传输和服务器端应用程序,无论您在那里使用什么。这个对你没什么帮助。

  • 还有一件事:就像我用pt写的。4,devextreme是一个HTML/JS框架。只要有人下载了你的应用程序,他们就已经有了代码,因为devextreme应用程序并不是这样编译的——他们只是网络应用程序,所以你的用户唯一没有访问权限的就是你的服务器端代码。


    这种方法是安全的,因为访问Web服务所需的凭据被传递给每个HTTP Web请求。使用HTTPS是非常重要的,这样就可以通过网络对凭证进行加密。在发送响应之前,Web服务必须检查每个请求的已传递凭据。示例将用户名和密码编码为base64,以确保所有字符(包括随机生成的密码中的特殊字符)在头中有效(HTTP协议)。