【安全与风险】密码安全和用户认证
密码安全和用户认证
- 基本问题
- 证明你是谁
- 为什么要验证
- 还需要什么
- 基于口令的身份认证
- 常用使用模式
- 常用使用模式
- 可惜的是
- 社会工程
- 悉尼大学 (绿化96)
- 尴尬和记忆
- 关于密码使用的3个主要问题
- UNIX形式的密码
- 密码散列
- 字典式攻击
- 影子密码
- 其他密码问题
- 生物计量学
- 多模式生物识别系统
-
- 定义
- 为什么要使用
- 多模态生物识别系统是如何工作的?
基本问题
你如何向别人证明你就是你所说的那个人?
任何具有访问控制的系统都必须解决这个问题
证明你是谁
- 你知道什么(密码、密钥)
- 你在哪里(IP 地址、物理位置)
- 你是什么(生物计量学)
- 你有什么(安全token)
所有的都有优点和缺点
为什么要验证
- 防止黑客入侵我们的账户
- 防止攻击者侵入我们系统上的任何账户
Unix系统:侵入单个帐户,然后利用本地漏洞或发起“垫脚石攻击”。
电话卡(名片) - 防止攻击者侵入任何系统上的任何帐户
在垫脚石攻击中,入侵者从先前被破坏的主机发起攻击。
还需要什么
可用性
- 记住密码
- 必须一直带着实物吗?
拒绝服务
- 尝试验证您的身份,直到您的帐户被锁定
- 那么在军事或其他关键任务场景中呢(锁定所有帐户-系统不可用)
基于口令的身份认证
用户有秘密密码。
系统检查它以验证用户的身份。
- 当密码从用户通信到系统时,可能是脆弱的。
密码如何存储?
系统如何检查密码?
记住密码有多容易?
猜密码有多容易? - 易记的密码往往很容易被猜中
- 密码文件很难保密
常用使用模式
常用使用模式
写下密码
与他人共享密码
在多个站点使用同一个密码
1)亚马逊和网上银行?
2)实验室机器和个人笔记本电脑?
使用容易记住的密码
其他“认证”问题
可惜的是
用户学习如何设置安全密码,但选择不这么做
原因:
- 尴尬或困难的处境
- 没有建立责任义务
- 不觉得这很重要吗
社会工程
“嗨,我是首席执行官的助理。我需要你马上重设他的密码。他被困在机场,不能登陆!他把写密码的纸弄丢了。”
“你说你做不到是什么意思!?”你真的想让我告诉他,你在阻止他完成这笔大交易吗?”
太好了!这真的很有帮助。你不知道这有多重要。请设置密码为ABCDEFG。他会马上自己重新设置的。”
“谢谢”
悉尼大学 (绿化96)
336名CS学生被发邮件要求他们提供密码
(借口:为了在疑似入侵后“验证”密码数据库)
138名学生返回了密码
30名学生返回了无效的密码
不过,138还是很多!
尴尬和记忆
你要输入多少次密码才能生效?
(有时对我来说相当多!)
干扰正常活动
1)你离开电脑5分钟后会锁上电脑吗?
2)当你的电脑第一次启动时,你必须输入密码吗?(有时这是一种选择)
可记忆性是个问题!
关于密码使用的3个主要问题
用户会有意、意外或因为被欺骗而将密码泄露给其他人吗?
用户是否能够定期正确地输入密码?
用户是否能够记住他们的密码,或者他们必须将密码记录在某个地方,或者选择容易猜到的密码?
UNIX形式的密码
我们应该如何在服务器上存储密码?
- 是明文吗?
- 加密的
- 散列的
密码散列
存储H(password)而不是用户密码
当用户输入密码时,计算其哈希值并与密码文件中的条目进行比较:
- 系统不存储实际密码!
- 系统本身不能轻易地从散列转换为密码(如果密码是加密的呢)
哈希函数H一定有一些性质
单向:给定H(密码),很难找到密码
- 没有比试错更好的算法了
- 甚至很难找到p1,p2 s.t H(p1) = H(p2)
使用单向哈希可以防止人们以明文形式看到密码。
字典式攻击
密码文件/etc/passwd是全球可读的
- 包含许多系统程序使用的用户id和组id。
字典攻击是可能的,因为许多密码来自一个小字典
- 攻击者可以为字典中的每个单词计算H(word),并查看结果是否在密码文件中。
- 使用100万字的字典,假设每秒猜10次,暴力在线攻击平均需要10万秒(27.78小时)。
影子密码
在Linux操作系统中,影子密码文件是存储加密用户密码的系统文件,以便试图闯入系统的人无法获得这些密码。
通常,用户信息(包括密码)保存在一个名为/etc/passwd的系统文件中。
密码加密使用1到4096之间的随机值或加密密钥。有一个单向哈希函数来解密存储的密码。
影子文件是不可读的,它被称为“影子”。
其他密码问题
- 击键记录器
1)硬件
2)软件/间谍软件 - 肩窥
摄像头无处不在! - 在线攻击与离线攻击
在线:更慢,更容易响应 - 多站点认证
分享密码?
生物计量学
身份验证:你是谁
用于对用户进行身份验证或创建凭证的唯一标识特征:
- 生物和生理:指纹,虹膜扫描
- 行为特点
如何执行动作:书写、打字、步态
优点: - 没什么好记的
- 被动
- 不能分享(一般)
- 非常精确,可能相当独特
多模式生物识别系统
定义
结合两个或多个生物特征来进行用户身份验证
为什么要使用
- 多特性的可用性使多模态系统更加可靠。
- 多模态生物识别系统提高了用户数据的安全性。
- 多模态生物识别系统通过融合策略来结合各个子系统的决策,然后得出结论。这使得多模态系统更加准确。
- 如果任何标识符由于已知或未知的原因无法工作,系统仍然可以通过使用另一个标识符来提供安全性。
到目前为止,我们一直在讨论单模态身份验证机制。
多模态生物识别系统是如何工作的?
核聚变可以在上述三个阶段中的任何一个阶段进行。
在第一阶段融合数据通常更有效,因为特征提取包含比匹配分数更准确的信息。
MM = Matching Module(匹配模块)
DM = Decision Module(决策模块)
Acknowledgements: Jiangtao Wang