1

有沒有處理無狀態身份驗證的標準做法?無狀態API服務中的身份驗證 - 是否安全?

我正在創建一個API服務器,並希望每個請求都由客戶端簽名,以這種方式我可以保證請求的發佈者是我們網站的有效用戶。

服務器和客戶機已經共享的祕密 - 即用戶的哈希密碼,所以......

  • 服務器發送一個隨機數的值到客戶端
  • 客戶構建了一個簽名密鑰K( nonce,hashed_pa​​ssword)
  • 客戶端通過使用密鑰附加消息認證碼來「簽名」每個請求K
    • eg ('delete image_x',user_id,request_signature)
  • 然後,服務器在處理它之前檢查簽名對每個請求是否有效。

有沒有明顯的缺陷?

+0

'hashed_pa​​ssword'是通過互聯網發送的,還是隻有服務器和客戶端都知道?在第二種情況下,您可以使用MAC(消息認證碼)。使用數字簽名是不合理的。 –

+0

這可能是我的意思,哎呀。 – greTech

+0

所以,它幾乎是安全的。 –

回答

0

看看他們用於亞馬遜網絡服務的東西,他們完成了所有這些工作。