我的工作有幾個要求REST服務:中授權REST請求
- 它必須是安全的。
- 用戶不應該能夠僞造請求。
我現在提出的解決方案是有一個自定義Authorization頭看起來像這樣的(這是同樣的方式,Amazon Web Services的工作):
Authorization: MYAPI username:signature
我的問題是如何形成的簽名。當用戶登錄到服務中時,他們被給予一個祕密密鑰,他們應該能夠用來簽署請求。這將阻止其他用戶代表他們提交請求,但不會阻止他們僞造請求。
將使用此服務的應用程序是一個iPhone應用程序,所以我認爲我們可以在應用程序中嵌入一個公鑰,我們可以使用該公鑰來做額外的簽名,但這是否意味着我們必須擁有兩個簽名,一個用於用戶密鑰,另一個用於應用程序密鑰?
任何意見將不勝感激,我很想第一次得到這個權利。
定義「僞造請求」。什麼實體創建非僞造的請求?它是客戶端軟件嗎? – Alexander 2008-10-27 20:42:25