2009-11-14 140 views
3

嗨我有一个关于安全性和Web服务的问题。Web服务安全

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

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

任何指针,最佳实践或链接非常感谢。

在这种情况下什么样的网络服务最好?

回答

0

我会通过HTTPS与REST Web服务一起使用,它会将您的问题带走。我对任何关于黑莓应用程序的东西都不知道,因此我无法给出任何有关如何在该平台中使用HTTPS的指示。

+0

REST没有提供更多(或更低)的HTTPS安全性。特别是考虑到REST只是简单地根据实际的HTTP动词定义来执行处理......我不完全确定你在这里要说什么。 – NotMe 2010-08-23 18:19:27

1

我打算假设黑莓应用程序也是由您自己制作的。然后如何做到这一点是通过创建一个只有您的应用程序可以创建的序列或散列来确保Web服务可以验证。例如,在流程的开始阶段(或更好的情况),对于每一步,Web服务都会发送一个键序列,该序列映射到应用程序中的内部字典,以制作唯一的散列。

然后该流程如下:

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

HTH

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

另请参阅my answer here

0

如果您正在创建SOAP Web服务,那么您需要阅读​​3210。

1

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

1

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

0

其他人表示使用SSL来保护网站。然而,这只是难题的一部分。凯尔接近第二,但没有完全切断它。

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

几乎所有提供在线服务的公司都遵循这种方法。这个想法是,无论底层协议(例如ssl),您都必须验证请求确实来自授权设备/程序。一些供应商让用户为每个用户创建一个唯一的密钥,一些为每个设备创建一个密钥,而其他供应商则为整个组织创建一个密钥。无论你采取多深,事实上都有一个关键。

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