[偷可] 网络安全-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