是否正確假設idtoken提供沒有更多的安全性,而不是在與後端服務器的任何後續通信中用自身的SHA2哈希代替它(可能是鹽) ?Gitkit和MITM之間的安全和Android應用程序和後端服務器
的indended流將是以下幾點:
- 的Android應用程序獲得來自谷歌的idtoken
- 該應用程序發送idtoken到自託管的後端服務器,它是由後端與驗證使用gitkitclient.VerifyGitkitToken的
- 後端與期滿 日期和相關聯的用戶ID,並且在查找表中
- 的Android應用CREA將其存儲以供將來參考一起創建令牌的哈希SHA2測試idtoken的相同SHA2哈希值,並在將來與任何後端進行通信的頭部中傳遞它 ,而不是使用idtoken進行後續通信。
這會減少系統的安全嗎?
如果使用https檢測的透明代理(以及設備上安裝的相應證書(即合法在公司環境中))將嗅探流量,如果獲得idtoken或它的SHA2哈希值,該透明代理將能夠代表Android應用在idtoken的整個生命週期中採取行動(可能是通過欺騙的方式),對吧?
我的問題是,在與服務器進行的每次後續通信中調用gitkitclient.VerifyGitkitToken都太昂貴,而且一旦確定了idtoken的有效性,就沒有必要。
我也不希望將idtoken存儲在服務器上以供將來參考,而更喜歡使用它。是否有足夠的idtoken的SHA224散列,並且可以安全地假設它不會導致任何衝突?
我投票結束這個問題作爲題外話題,因爲它更適合於http://security.stackexchange.com/,因爲它主要是關於散列衝突和2個服務之間的安全性 - 而不是關於特定的編程問題。 –
@有沒有辦法在那邊轉移問題? (我讀過遷移問題會刪除它的答案,而nvnagr的答案是有幫助的) –
它在關閉隊列中,所以應該由有權移植問題的人選取。我會[在此打開一個新問題](http://security.stackexchange.com/questions/ask)並自行關閉此問題 –