[偷可] 网络安全-彩虹表攻击

楼主: TKB5566 (我们的元首阿道夫希特勒)   2024-01-05 23:05:54
在Java Web专案中,密码这种资料,是不可能用明文方式存在数据库的,
必定是要对密码加密,然后加密后的密文必须是无法被反向回去来破解,这样的密文
才能存入数据库。
一种常见的给密码加密,且能满足不会被反向来破解的加密方式,叫做hash算法。
透过这个hash算法,对密码本身产生一串hash code,这串hash code是无法被还原成
原始的密码。这样就能确保密码的机密性,进而可以被存入数据库。
用这种方式储存密码,听起来好像很安全,但还是有针对这种hash code的破解尝试,
这种尝试就是彩虹表攻击。
什么是彩虹表攻击?就是根据密码可能有的规范,例如长度必须满足某个长度、
密码本身必须包含某个特定字符等等,模拟出所有可能的密码;然后开始利用这些密码,
搭配hash算法去计算出对应的hash code;然后又拿这些hash code利用hash算法,
计算出更多的hash code。这样不断循环操作,就可产生大量的hash code。
这些hash code被储存在一个个的区块内,
每个区块除了记录自身对应的hash code,还去记录前一个区块的hash code,
这样含有hash code的区块之间,可以形成一条条的链结;进而形成多条极长的链结。
这些所有的链结集合起来,就称作彩虹表。
然后若现在要去找出某密码对应的hash code,就可以从这个纪录有大量hash code的
彩虹表之中进行查找,直到找出符合的hash code,即成功破解hash code这个密文。

Links booklink

Contact Us: admin [ a t ] ucptt.com