我是服務器身份驗證的新手。我想要一種簡單的方法,讓服務器以安全的方式Main從其他服務器(例如,A和B)接收 REST 命令(GET、POST 等)。
我讀過 oAuth2 和 oAuth1.0a,但我認為擁有“資源”服務器和重繪 令牌等是一種矯枉過正。我能找到的最簡單的兩種方法是:
- 擁有服務器
A并B生成密鑰對,Main事先將公鑰提供給服務器(或通過/publickey路由訪問),每次 HTTP 請求來自A->Main或時使用數字簽名對亂數進行簽名B->Main,并Main檢查 DS 是否正確. - 執行上述操作,但使用對稱密鑰、ID 和 HMAC(即,
Main知道A具有 keyXXX,因此當它收到聲稱來自 的請求時A,它將在收到的亂數上運行 HMAC 并將其與收到的 HMAC 進行比較)
請假設以上所有內容都是通過 HTTP 完成的,因此 MITM 是一個真正的問題
我發現以下參考資料指向類似的內容,但我真的很喜歡一個“官方”協議,它經過審查并保證加密正常:
- https://wiki.c2.com/?HmacUserAuthentication
- https://github.com/acquia/http-hmac-spec
- https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-auth-using-authorization-header.html
uj5u.com熱心網友回復:
我最終做了一個修改版的Amazon AWS S3 服務 API 身份驗證。這作業得很好。代價是每個請求都會計算一個 HMAC,并且請求正文必須使用兩次。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/328962.html
