我不介意盜版等等,但我想確保後端(基於Rails)不可用於可以DOS等自動化服務。因此,我想簡單地確保所有訪問後端(這將是一些REST查詢GET和PUT數據)將通過有效的iPhone應用程序,而不是一臺機器上運行的腳本。具有服務器後端的iPhone應用程序 - 如何確保所有訪問僅來自iPhone應用程序?
我想避免使用帳戶,以便用戶體驗無縫。
我的第一個意圖是將UDID和一個祕密散列在一起,並通過與服務器的HTTPS連接提供(和UDID)。這將允許創建經過身份驗證的會話或返回錯誤。
如果被竊聽,攻擊者可以拿走哈希並重放它,讓這個方案打開重播攻擊。但是,HTTPS連接不應該保護我免於竊聽?
謝謝!
我認爲這可能是我要走的路。我沒有考慮過時間戳(或者至少是當前的日期),我喜歡它阻止重放攻擊的方式。如果有人在午夜前半秒提交請求,並且服務器選擇第二天爲哈希取日期值,可能會有一些輕微的打嗝和散列不匹配,但只要我檢查任何一方的日期,它應該是好。 我認爲這代表了很好的選擇組合。我會得到一個SSL證書,所以我不能被竊聽,並且使用一個包含數據的時間和密碼的散列。 謝謝! – Nex 2010-03-11 14:24:36