2012-07-05 75 views
1

我創建了一個android應用程序,它通過Intranet調用(使用kSOAP庫)基於SOAP的Web服務(在java中開發,netbeans)。Java,Netbeans,Tomcat中基於SOAP的Web服務的安全性

現在我想讓應用程序生活,所以這將需要我的Web服務暴露在互聯網上。

我有以下幾個問題...

  1. 我如何確保沒有人知道,除了我的Android應用程序
  2. 沒有一個能夠調用Web服務,除了我的Android Web服務鏈接應用
  3. Android應用程序和Web服務之間傳送的數據是安全和加密
  4. 應該使用什麼樣的認證機制

我是新來的Web服務安全性,以便原諒我,如果我的問題是愚蠢的:)

回答

1
  1. 這是不可能的。任何擁有您的應用的人都可能會使用流量分析器,如wireshark,並查看所有請求。
  2. 註冊的每個請求將應用程序,使得(加些肥皂頭),並檢查服務器端
  3. 使用HTTPS
  4. How to do authentication using SOAP?
+0

感謝簽名......爲點2和3的任何教程? – orak 2012-07-05 12:15:24

+0

3是Tomcat設置的問題。 2取決於你的應用程序的性質......事實上,這也是不可能的(請記住icq/oscar協議?)。即使您銷售的應用程序的簽名工作,有人會購買一個反向工程協議。作爲臨時解決方案,您可以在每個請求中向客戶端發送一個隨機字符串,並檢查他們是否正確修改它。他們修改它的方式取決於你,例如:md5(md5(string).md5(string).someconstant)。但從長遠來看,這是無用的,真正需要它的人可以猜測/反向工程。 – 2012-07-05 13:52:39