2009-11-14 184 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個字母數字字符。