2011-01-12 106 views
6

我對基於令牌的身份驗證的理解是,通過身份驗證(可能通過ssl),令牌傳遞給用戶以便即時進行廉價的用戶驗證。一個這樣做的實現是生成一個傳遞給用戶進行會話管理的cookie。基於令牌的身份驗證的安全性

但是,我的理解是基於令牌的身份驗證(至少通過cookie)容易受到像firesheep這樣的中間人攻擊。

是否有其他避開這個重大安全問題的實施方法,還是對tba有根本性的誤解?

回答

10

你的理解很好。基本上,就應用程序如何看待它而言,令牌可能也是用戶名和密碼。如果有人擁有令牌,他們可以向自己的應用程序驗證自己的身份。對於http cookie,主要目的是爲了避免某人通過跨站點腳本漏洞(XSS)或其他方式獲取cookie時泄露用戶名和密碼。是的,在正確的情況下,他們可以將該令牌「重放」給應用程序,作爲「中間人」,但他們不應該能夠從中找出用戶名/密碼配對,但如果令牌生成算法很弱,比如說,如果您決定將BASE64編碼的用戶名和密碼連接在一起並將其用作值。

通常你在服務器端保持令牌 - >用戶映射的安全。因此,最終你的安全是基於確保令牌安全並確保它的生命週期受到控制(例如,它只會在從與原始憑證提供者所使用的IP相同的IP給予您時纔有效 - 同樣,只是一個例子)

希望這有助於

-Oisin

+0

很好,謝謝[287]莪。 – Devin 2011-01-12 19:35:19

相關問題