> 文章列表 > 【安全与风险】密码安全和用户认证

【安全与风险】密码安全和用户认证

【安全与风险】密码安全和用户认证

密码安全和用户认证

  • 基本问题
  • 证明你是谁
  • 为什么要验证
  • 还需要什么
  • 基于口令的身份认证
  • 常用使用模式
  • 常用使用模式
  • 可惜的是
  • 社会工程
  • 悉尼大学 (绿化96)
  • 尴尬和记忆
  • 关于密码使用的3个主要问题
  • UNIX形式的密码
  • 密码散列
  • 字典式攻击
  • 影子密码
  • 其他密码问题
  • 生物计量学
  • 多模式生物识别系统
    • 定义
    • 为什么要使用
  • 多模态生物识别系统是如何工作的?

基本问题

你如何向别人证明你就是你所说的那个人?

任何具有访问控制的系统都必须解决这个问题

证明你是谁

  1. 你知道什么(密码、密钥)
  2. 你在哪里(IP 地址、物理位置)
  3. 你是什么(生物计量学)
  4. 你有什么(安全token)

所有的都有优点和缺点

为什么要验证

  1. 防止黑客入侵我们的账户
  2. 防止攻击者侵入我们系统上的任何账户
    Unix系统:侵入单个帐户,然后利用本地漏洞或发起“垫脚石攻击”。
    电话卡(名片)
  3. 防止攻击者侵入任何系统上的任何帐户

在垫脚石攻击中,入侵者从先前被破坏的主机发起攻击。

还需要什么

可用性

  1. 记住密码
  2. 必须一直带着实物吗?

拒绝服务

  1. 尝试验证您的身份,直到您的帐户被锁定
  2. 那么在军事或其他关键任务场景中呢(锁定所有帐户-系统不可用)

基于口令的身份认证

用户有秘密密码。
系统检查它以验证用户的身份。

  1. 当密码从用户通信到系统时,可能是脆弱的。
    密码如何存储?
    系统如何检查密码?
    记住密码有多容易?
    猜密码有多容易?
  2. 易记的密码往往很容易被猜中
  3. 密码文件很难保密

常用使用模式

【安全与风险】密码安全和用户认证

常用使用模式

写下密码

与他人共享密码

在多个站点使用同一个密码
1)亚马逊和网上银行?
2)实验室机器和个人笔记本电脑?

使用容易记住的密码

其他“认证”问题

可惜的是

用户学习如何设置安全密码,但选择不这么做

原因:

  1. 尴尬或困难的处境
  2. 没有建立责任义务
  3. 不觉得这很重要吗

社会工程

“嗨,我是首席执行官的助理。我需要你马上重设他的密码。他被困在机场,不能登陆!他把写密码的纸弄丢了。”

“你说你做不到是什么意思!?”你真的想让我告诉他,你在阻止他完成这笔大交易吗?”

太好了!这真的很有帮助。你不知道这有多重要。请设置密码为ABCDEFG。他会马上自己重新设置的。”

“谢谢”

悉尼大学 (绿化96)

336名CS学生被发邮件要求他们提供密码
(借口:为了在疑似入侵后“验证”密码数据库)

138名学生返回了密码
30名学生返回了无效的密码

不过,138还是很多!

尴尬和记忆

你要输入多少次密码才能生效?
(有时对我来说相当多!)

干扰正常活动
1)你离开电脑5分钟后会锁上电脑吗?
2)当你的电脑第一次启动时,你必须输入密码吗?(有时这是一种选择)

可记忆性是个问题!

关于密码使用的3个主要问题

用户会有意、意外或因为被欺骗而将密码泄露给其他人吗?

用户是否能够定期正确地输入密码?

用户是否能够记住他们的密码,或者他们必须将密码记录在某个地方,或者选择容易猜到的密码?

UNIX形式的密码

我们应该如何在服务器上存储密码?

  1. 是明文吗?
  2. 加密的
  3. 散列的
    【安全与风险】密码安全和用户认证

密码散列

存储H(password)而不是用户密码

当用户输入密码时,计算其哈希值并与密码文件中的条目进行比较:

  1. 系统不存储实际密码!
  2. 系统本身不能轻易地从散列转换为密码(如果密码是加密的呢)

哈希函数H一定有一些性质

单向:给定H(密码),很难找到密码

  1. 没有比试错更好的算法了
  2. 甚至很难找到p1,p2 s.t H(p1) = H(p2)

使用单向哈希可以防止人们以明文形式看到密码。

字典式攻击

密码文件/etc/passwd是全球可读的

  1. 包含许多系统程序使用的用户id和组id。

字典攻击是可能的,因为许多密码来自一个小字典

  1. 攻击者可以为字典中的每个单词计算H(word),并查看结果是否在密码文件中。
  2. 使用100万字的字典,假设每秒猜10次,暴力在线攻击平均需要10万秒(27.78小时)。

影子密码

【安全与风险】密码安全和用户认证
在Linux操作系统中,影子密码文件是存储加密用户密码的系统文件,以便试图闯入系统的人无法获得这些密码。

通常,用户信息(包括密码)保存在一个名为/etc/passwd的系统文件中。

密码加密使用1到4096之间的随机值或加密密钥。有一个单向哈希函数来解密存储的密码。
【安全与风险】密码安全和用户认证
影子文件是不可读的,它被称为“影子”。

其他密码问题

  1. 击键记录器
    1)硬件
    2)软件/间谍软件
  2. 肩窥
    摄像头无处不在!
  3. 在线攻击与离线攻击
    在线:更慢,更容易响应
  4. 多站点认证
    分享密码?

生物计量学

身份验证:你是谁

用于对用户进行身份验证或创建凭证的唯一标识特征:

  1. 生物和生理:指纹,虹膜扫描
  2. 行为特点
    如何执行动作:书写、打字、步态
    优点:
  3. 没什么好记的
  4. 被动
  5. 不能分享(一般)
  6. 非常精确,可能相当独特

多模式生物识别系统

定义

结合两个或多个生物特征来进行用户身份验证

为什么要使用

  1. 多特性的可用性使多模态系统更加可靠。
  2. 多模态生物识别系统提高了用户数据的安全性。
  3. 多模态生物识别系统通过融合策略来结合各个子系统的决策,然后得出结论。这使得多模态系统更加准确。
  4. 如果任何标识符由于已知或未知的原因无法工作,系统仍然可以通过使用另一个标识符来提供安全性。

到目前为止,我们一直在讨论单模态身份验证机制。

多模态生物识别系统是如何工作的?

【安全与风险】密码安全和用户认证
核聚变可以在上述三个阶段中的任何一个阶段进行。

在第一阶段融合数据通常更有效,因为特征提取包含比匹配分数更准确的信息。

MM = Matching Module(匹配模块)
DM = Decision Module(决策模块)

Acknowledgements: Jiangtao Wang