- 多用于权限提升
(2) Hash散列存储口令
-
口令 x 的散列值 F(x) 又叫通行短语(Pass phrase)
-
散列函数为文件、报文或其他数据产生“数字指纹”
认证方法:
-
系统的口令文件中存储每个用户的账号和口令散列值对;
-
用户登录时输入口令 x,系统计算出 F(x);
-
系统将它与口令文件中相应的散列值比对,成功即允许登录。
(3) 加盐的Hash散列存储口令
加盐的作用:避免由于相同的明文口令对应相同的口令散列而造成多个用户的口令同时被破解。
盐(salt):散列口令前与口令相结合的长为 12bit 的随机常数 —— 即使两个用户口令相同,只要salt 值不同,口令散列将不同。
例如:lijie
和 wangfeng
口令都为 password
/etc/shadow 文件中的口令散列为:
lijie:qdUYgW6vvNB.
wangfeng:zs9RZQrI/0aH2
基于口令认证方式的安全性
(1)即使黑客或管理员得到口令文件,由散列值计算出明文口令很难,所以比口令明文的认证安全。
(2)基于口令明文或散列(静态口令)认证是单因素认证,而用户多选择易记忆、易被猜测的口令,同时窃取口令文件后也可进行字典式攻击。
(3)在计算机网络和分布式系统中使用更不安全。
双因素认证方式:所知道的东西(PIN)和所拥有的东西(智能卡)。
-
每个用户的智能卡存储用户秘密信息,身份认证服务器也存放该信息;
-
用户输入PIN,智能卡识别PIN是否正确;
-
若正确则读出智能卡中的秘密信息,并利用它与主机进行认证。
硬件加密的安全性高;即使PIN或智能卡被窃取,用户仍不会被冒充。
图像处理和模式识别:抓图/抽取特征/比较/匹配
-
生物统计学的生物特征
-
计算机强大计算功能
-
网络技术
(1) 生物识别系统捕捉生物特征的样品;
(2) 提取唯一特征数据并转化为数字符号(存储成该人的特征模板);
(3) 登录时人们同生物特征识别系统交互来进行身份认证,以确定匹配与否。
基于生物特征认证方式的安全性
-
特征因人而异和随身携带 —— 他人模仿难
-
识别速度相对慢
使用代价高
使用面窄
不适合在网络环境中使用
在网络上泄露也不好更新
有误报(False Positives)和漏报(False Negatives)
================================================================================
网络环境下身份认证的困难性:
-
明文口令:易被嗅探,也容易受到字典攻击。
-
口令散列:直接“重放” 就可以假冒合法用户登录,并不需要解密得到口令本身。
不能使用静态口令,而必须使用一次性口令。
一次性口令技术的发展:
-
1980年代首次提出利用散列函数产生一次性口令
-
1991年贝尔通信提出挑战/应答(Challenge /Response)式动态密码身份认证系统S/KEY
-
开发基于 MD5 散列算法的动态密码认证系统
-
RSA 实验室提出基于时间同步的动态密码认证系统 RSA SecureID
一次性口令的两个因子:
-
固定因子:用户的口令散列(双方共享)
-
变动因子:产生变动的一次性口令
1)基于时间同步认证技术
2)基于事件同步认证技术
3)挑战/应答方式的变动因子:由认证服务器产生的随机序列 Challenge,不需要同步。
最初的 S/KEY 的安全性分析:
-
合法用户容易通过身份认证,而攻击者即使截获一次性口令,也得不到用户口令散列。
-
服务器对同一用户每次发出的挑战中 seed 值相同。
-
而 seq 值递减,使攻击者不知用户口令散列时,不能预测出下一次的一次性口令,因而不能重放成功。
S/KEY 认证协议的优点:
-
并未传送用户口令明文和口令散列。
-
每次的一次性口令不同。
-
根据截获的一次性口令破解出口令散列/明文难。
-
实现原理简单,Hash函数还可用硬件实现。
-
服务器只需存储用户口令散列。
S/KEY 认证协议的缺点:
-
安全性依赖于Hash函数的不可逆性。
-
seq 值递减使得挑战使用一定次数后必须初始化。
-
会话内容本身没有保密。
-
循环使用以前的一次性口令。
-
维护一个很大的一次性口令列表很麻烦。
改进的 S/KEY 的安全性分析:
只有 seed、seq 和一次性口令在网上传播,seed 是不可预测的,而 seq 每次可相同可不同:
-
用户很容易求出正确的一次性口令,采用一次性口令的匹配通过服务器的身份认证;
-
攻击者即使截获一次性口令,也不能破解出用户口令散列;
-
攻击者不能预测下一次一次性口令,也不能重放成功。
S/KEY 协议的应用和安全性:
- Windows 2000之后的 NTLM 认证就使用了这个经过改进的 S/KEY 认证协议。
安全性:
-
能够避免监听和重放,但不能防范拦截和修改数据包、会话劫持等攻击。
-
网络系统的安全仅等同于使用的最弱散列算法的安全强度。
-
没有完整性保护机制,也无法防范内部攻击。
-
不能对服务器的身份进行认证。
===================================================================================
网络层安全协议 IPSec —— 保证连接的客户端合法
服务器只能对合法用户提供服务 —— Kerberos
学习路线:
这个方向初期比较容易入门一些,掌握一些基本技术,拿起各种现成的工具就可以开黑了。不过,要想从脚本小子变成黑客大神,这个方向越往后,需要学习和掌握的东西就会越来越多以下是网络渗透需要学习的内容:
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!