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

时间:2013-09-23 20:45:26

标签: security mobile ssl phonejs devextreme

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

我无法理解这会有多安全。根据我的理解,移动应用程序会加密数据(因此应用程序具有加密的密钥/解密方法。如果有人访问应用程序的源代码,是否有人能够找到此密钥?)此加密然后将数据发送到服务器并解密。如果身份验证失败,则会发送一条消息通知。

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

抱歉,我在那里问了很多问题!让我总结一下:

  
      
  1. 在devextreme中使用base64_encode是否安全?我做了一些研究   并且看到很多文章说这很容易破解。

  2.   
  3. 由于密码和用户名必须加密/解密   在应用程序端以及服务器端,不会这个   如果应用用户能够访问来源,则会导致问题   码?

  4.   
  5. 是否通过SSL连接发送了header / string / json文件?   如果我要使用SSL,是否需要使用加密?

  6.   
  7. 为了建立安全的方法,有什么指导方针(如果有的话)   移动应用?类似于This guide的东西,但对于移动来说   应用

  8.   

提前致谢。

2 个答案:

答案 0 :(得分:2)

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

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

  3. 使用SSL应该足够了。参见例如how secure is SSL。不需要两次加密相同的东西。

  4. DevExtreme是一个HTML5 / JS框架,因此您应该寻找有关保护AJAX等内容的材料。还取决于您使用服务器端的内容。我想这一切都归结为保护易受攻击的数据传输,以及您的服务器端应用程序,无论您在那里使用什么。对这个问题帮助不大。

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

答案 1 :(得分:0)

这种方法是安全的,因为访问Web服务的必要凭据会传递给每个HTTP Web请求。使用HTTPS至关重要,以便通过网络加密凭据。 Web服务必须在发送响应之前检查每个请求的传递凭据。该示例将用户名和密码编码为base64,以确保所有字符(包括在随机生成的密码中找到的特殊字符)在标头中有效(http协议)