【问题标题】:Security of SOAP based web service in Java, Netbeans, TomcatJava、Netbeans、Tomcat 中基于 SOAP 的 Web 服务的安全性
【发布时间】:2012-07-05 10:59:12
【问题描述】:

我创建了一个 android 应用程序,它通过 Intranet 调用(使用 kSOAP 库)基于 SOAP 的 Web 服务(用 java、netbeans 开发)。

现在我想让应用程序上线,所以这需要我的网络服务暴露在互联网上。

我有以下问题...

  1. 如何确保除了我的 android 应用程序之外没有人知道 Web 服务链接
  2. 除了我的 android 应用程序之外,没有人能够调用 Web 服务
  3. Android 应用程序和 Web 服务之间传输的数据是安全和加密的
  4. 应该使用什么样的身份验证机制

我是 Web 服务安全的新手,如果我的问题很愚蠢,请原谅我 :)

【问题讨论】:

    标签: web-services soap


    【解决方案1】:
    1. 这是不可能的。任何拥有您的应用的人都可以使用像 wireshark 这样的流量分析器并查看它发出的所有请求。
    2. 签署您应用发出的每个请求(添加一些soap标头)并检查服务器端的签名
    3. 使用 HTTPS
    4. How to do authentication using SOAP?

    【讨论】:

    • 3 是 Tomcat 设置的问题。 2 取决于您的应用程序的性质......事实上这也是不可能的(还记得 icq/oscar 协议吗?)。即使您出售签名以使应用程序正常工作,也有人会购买签名以对协议进行逆向工程。作为临时解决方案,您可以在每个请求上向客户端发送一个随机字符串,并检查他们是否正确修改它。他们修改它的方式取决于您,例如:md5(md5(string).md5(string).someconstant)。但从长远来看它是无用的,真正需要它的人可以猜测/逆向工程。
    猜你喜欢
    • 2015-08-30
    • 1970-01-01
    • 2016-12-30
    • 2016-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    相关资源
    最近更新 更多