2014-01-23 69 views
0

通過HTTP通信通道保護Web服務呼叫的最佳做法是什麼?如何通過HTTP保護Web服務電話

我的目標是在查詢字符串中使用額外的參數來生成時間限制的哈希值(由客戶端計算生成)來定義發送請求是有效的。這將通過服務器端應用程序理解如何知道客戶端算法。但是當客戶端應用程序被反編譯時,這種方式也有風險!

那麼最好的方法是什麼?我正在尋找一個動態算法,任何想法?

+0

從什麼保護您的數據?例如來自不使用客戶端應用程序的其他人,或來自應用程序的惡意用戶。 – SilverlightFox

+0

是的目的是爲了防止應用程序的惡意用戶,所以我不希望相同的請求(url)可以在另一個時間由另一個發件人(應用程序等)使用。 – user3225121

回答

0

從您的評論中可以看出,您的需求是防範「重放攻擊」(有人發送相同的請求兩次,而您只希望它們能夠發送一次)。處理這個問題的常用方法是使用隨機數。在基本層面上,它的工作原理如下:

1)客戶想要提出請求;在這之前,它向服務器請求一個隨機數,這是一個不會被重複使用的值,不應該是可預測的(例如基於時間)。

2)客戶端從服務器獲取的隨機數,然後進行其請求,發送回服務器,它只是從它

3)得到了現時如果客戶(或其他客戶端),然後試圖使請求已經在上面的第2步中完成,服務器將不會接受它,因爲它將包含服務器已標記爲「已使用」的隨機數。

這是一個輕微的過分簡單化,但這是如何工作,以防止重播攻擊。

注意:「nonce」來自「編號使用一次」。但是,隨機數並不需要是數字。