sencode
·
內(nèi)容沒細(xì)看,但我對(duì)這標(biāo)題確實(shí)無比認(rèn)同。
jwt最致命的問題,就是將用戶標(biāo)識(shí)明文(base64等同明文)的放在客戶端,而且單一依賴同一個(gè)secret。一旦secret被泄露,那攻擊者就可以毫不費(fèi)力的冒充所有用戶。
而不幸的是,secret的保護(hù)并不足夠:
1. 一般作為配置,總有人容易接觸到。(在安全領(lǐng)域,人是最不可靠的)
2. 要更換secret的話,已簽發(fā)的所有token都將失效(比如知道了secret的人要離職)
3.算法是明文的,所以,攻擊者通過暴力破解,有較大可能碰撞出secret,這是因?yàn)椋?br> a. 很多人用一些常見或簡(jiǎn)單的詞語(yǔ)作為secret
b. 碰撞時(shí)只需要本機(jī)運(yùn)算,不會(huì)訪問服務(wù)器(如果有足夠的利益驅(qū)動(dòng),算力不是問題),也就是說服務(wù)端根本不會(huì)知道有人得知了secret。
同樣,如果有人碰撞出了secret,那他可以任意的構(gòu)造不同的用戶身份而且不會(huì)被發(fā)覺
ccc7b37c9552 評(píng)論自講真,別再使用JWT了!