[偷可] 網路安全-HTTP驗證、HTTPS、JWT

作者: TKB5566 (我們的元首阿道夫希特勒)   2024-01-08 19:16:34
前面說過HTTP是應用層最普遍的傳輸協定,針對用戶的身分驗證,
HTTP具備了基本驗證與摘要驗證。
基本驗證就是伺服器一般使用帳密驗證的方式。
而摘要驗證,則是比較複雜一點;瀏覽器在要發送用戶資訊(例如帳密)之時,
並不直接對伺服器發送用戶帳密,而是
1
先對伺服器發送一個「準備要發送用戶訊息」的請求,
2
伺服器接收到這個請求,會回傳一個nonce給瀏覽器。
3
瀏覽器接收到這個nonce,
才會將用戶帳密(密碼會事先用hash演算法,轉成hash code)、這個nonce、
其他相關資訊,先使用hash演算法計算出一串hash code,
再將這串hash code,以及用戶帳號,傳送給伺服器。
4
所以伺服器接收到的,就是由nonce計算出來的一串hash code、用戶帳號。
5
這時伺服器可以根據用戶帳號,取出存在於資料庫,對應的密碼hash code。
然後拿著這段密碼hash code,跟自身早先給予的nonce,以及其他用戶資訊,計算出
另一串hash code。接著拿這段新計算出來的hash code,跟接收到的hash code來比對。
6
若兩串hash code的比對結果是一樣的,表示兩串hash code的組成是一模一樣,
由於不同input(input是密碼hash code、nonce、用戶資訊)
產生兩串相同hash code的機率是趨近於0,
而且hash code還可以透過加鹽的方式讓這個趨近於0的機率變的更低。因此,兩串相同的
hash code,就表示有著相同的密碼hash code、相同的nonce、相同的用戶資訊......
7
由此即可證明用戶的資訊,確實是屬於某個合法(用戶資料有存在於資料庫)的用戶。
這就是HTTP摘要驗證。
作者: show6669 (the)   2024-01-08 19:41:00
對 一般網站https 就夠了
作者: TKB5566 (我們的元首阿道夫希特勒)   2024-01-08 19:48:00
終於有人捧場了 我好感動QQ
作者: show6669 (the)   2024-01-08 20:32:00
??

Links booklink

Contact Us: admin [ a t ] ucptt.com