Web服务安全性

时间:2009-11-14 19:16:19

标签: mysql blackberry web-services

您好我有关于安全性和Web服务的问题。

我需要一个Web服务来为底层的mySQL数据库提供一个接口。我试图让Blackberry应用程序通过Web服务在Web服务器mySQL数据库上存储数据。

我的问题是,如何确保bb-application是唯一使用Web服务的应用程序? Web服务必须将数据插入表中。我想确保只允许bb-application使用此服务,而不是确定该服务并开始向我的表发送垃圾邮件的人。

非常感谢任何指针,最佳做法或链接。

在这种情况下,哪种Web服务最好?

6 个答案:

答案 0 :(得分:1)

我将假设BlackBerry应用程序也是由您自己制作的。然后,您可以通过创建只有您的应用程序可以创建的序列或哈希,Web服务可以验证。例如,在流程开始时,或者更好的是,对于每个步骤,Web服务都会发送一个键序列,该序列映射到应用程序中的内部字典,以生成唯一的哈希值。

流程如下:

  1. 在BB应用程序中执行数据任务
  2. 准备将数据传输到网络服务
  3. 从数据中创建唯一哈希+从映射词典中创建您自己的信息
  4. 使用密钥
  5. 传输数据
  6. Web服务验证密钥。如果验证失败,它会完全丢弃数据,如果成功,它将执行它需要做的事情。
  7. 继续。
  8. HTH

    免责声明:假设这是一个开放式的WS。

    另见my answer here

答案 1 :(得分:1)

查看SSL上的基本身份验证。配置应用程序以在标头中包含用户名/密码应该相当简单,SSL连接将确保它们不以明文形式传输。

答案 2 :(得分:1)

使用net.rim.device.api.crypto.HMAC实施HMAC身份验证和验证。在Blackberry上建立端到端SSL连接可能会有问题,并且取决于无线提供商的支持,除非您的用户在公司BES上激活(如果您需要强大的安全性,我强烈建议将其作为解决方案的一部分)。

答案 3 :(得分:0)

我会通过HTTPS使用REST Web服务来解决您的问题。我不知道关于黑莓应用程序的任何事情,所以我不能给你任何有关如何在该平台上使用HTTPS的指示。

答案 4 :(得分:0)

如果您正在创建SOAP Web服务,那么您想阅读ws-security

答案 5 :(得分:0)

其他人已表示使用SSL来保护网站。然而,这只是谜题的一部分。凯尔与第二名很接近,但并没有完全削减它。

答案是发布到您的Web服务的每个事务都必须包含某种类型的授权密钥。该密钥可以预先共享并烘焙到应用程序中,也可以通过其他方式获取,并作为应用程序安装/配置过程的一部分进行设置。

几乎所有按照此方法在线提供网络服务的公司。这个想法是,无论底层协议(例如ssl),您都必须验证请求确实来自授权设备/程序。一些供应商让用户为每个用户创建一个唯一的密钥,一些用于每个设备,另一些只为整个组织创建一个密钥。无论你有多深,它都有一把钥匙。

关键通常不是那么大。它可能是15到40个字母数字字符。