2012-09-27 32 views
3

我已成功從後端實施HMAC驗證,但希望提供JSONP支持。由於我不希望客戶知道密鑰,因此利用HMAC並從客戶端撥打電話的最佳方式是什麼?javascript中的HMAC驗證API

+1

請提供更多信息。你想驗證什麼?你想捍衛什麼? – SLaks

+0

我想確保獲取數據的客戶端是有效的,而不是開放式API。後端通過從密鑰創建簽名來驗證請求。但在客戶端我不能這樣做。 –

+1

您無法阻止攻擊者冒充您的客戶。期。 – SLaks

回答

3

如果攻擊者知道密鑰,那麼他將始終能夠生成有效的HMAC。攻擊者將能夠通過looking at the trafficby modifying the JavaScript獲得此HMAC值。像螢火蟲這樣的JavaScript調試器也可以使用。

總之,這種安全功能並不存在,因爲它完全沒有價值。這聽起來像你非常認真地實施了違規行爲CWE-602

信任客戶是你可能犯的最大錯誤。現代Web應用程序安全性的基礎就是從客戶端防禦服務器。我認爲你有很多東西需要學習。

+2

我沒有說我正在這樣做。我問客戶端做了什麼是一個好方法。 –

+0

@Mike Flynn,那麼你應該刪除安全標籤,因爲這不是安全功能。 – rook