05_《计算机安全原理与实践》用户认证

05_《计算机安全原理与实践》用户认证

前言

NIST SP 800-63-3 将用户认证定义为:信息系统对用户电子式提交的身份建立信任的过程。系统根据用户提交的认证信息判断用户是否被授权使用系统的某些资源。举个例子,在使用window系统时需要输入pin来登录设备,获得pc的使用权。本章将简要罗列用户验证的相关原理,对书中留下的主要问题进行简要讨论。

1.认证方法和风险评估

1.1 四种认证方法

计算机系统主要基于四种方法对用户进行认证:

1.个人所知道的信息:可以是个人标识码或口令,或是关于预设问题的应答。如使用家用电脑时,需要输入当前用户的pin才能进行后续操作。预设问题应答的一个例子是QQ空间对相册进行提问上锁,只有回答对了预设问题才能访问对应相册。

2.个人所持有的物品:可以是一个传统意义上的钥匙,也可以是一个电子令牌(如房卡,校园卡等)。

3.个人的生理特征:如指纹,面部特征,虹膜等对于生物个体而言特征区别明显且有辨识度的静态生物特征。

4.个人的行为特征:语音模式或是笔记模式一类的动态生物特征。

1.2 风险评估

(管理类知识点,不展开)关于风险评估,有三个分离的概念,下面对三个概念进行简要介绍:

1.置信等级

所谓置信等级,就是计算机对用户宣称的身份的信任程度。级别越高,计算机越信任用户:

  • Level 1:计算机几乎完全不信任用户身份的合法性,只给予用户极少权限。如用户匿名注册论坛后只能够进行有限的评论和互动
  • Level 2:计算机部分信任用户身份的合法性,给予用户有限的权限。这种级别常用于一些一般商务场合。
  • Level 3:计算机高度信任用户身份的合法性。如高级管理员。
  • Level 4:计算机极其高度信任用户身份的合法性

置信等级越高,用户认证的成本越高。因为高度的信任需要建立在复杂的认证机制之上。

2.潜在影响

在用户认证失败的情况下,对个体和组织下影响定义为三个等级:

  • 低:有限的不良影响。
  • 中:较为严重的不良影响。
  • 高:极其严重甚至是灾难性的影响。

3.风险范围

安全事件发生后,会给个人和组织造成一些不可逆的损失,风险范围则是根据这些损失造成的影响来进行评级的。

  • 低:损失有限,几乎微不足道。
  • 中:较为严重的损失。
  • 高:极其严重甚至是灾难性的损失。

2.基于口令的认证

上个章节中提到了四种认证方法,本章基于口令的认证对应的是“个人所知道的信息”,可以通俗的理解成账号密码。系统要求用户提供id和对应的口令进行验证,其中id能够决定用户是否被系统授权访问,同时也决定用户的权限(如Mysql中,root对应最高权限),同样id也能运用在自主访问控制中:如p2p资源共享模式中,用户可以看到其他用户的id,由此可以决定哪些id可以访问自身资源。

本章主要回答下列问题:

  • 1.口令保密面临哪些主要威胁;
  • 2.保护用户口令文件常用的两种方法;
  • 3.设置和选择口令时常用的四种方法;

2.1 口令面临的威胁以及对策

离线字典攻击:

攻击者获取系统口令文件,并将口令的哈希值与常用口令的哈希值进行比较。如果找到匹配项,攻击者可以通过该ID/密码组合获得访问权限。

应对方法:1.对口令文件进行保护和访问限制;2.入侵检测技术,防止非法访问的发生;3.禁止使用弱口令

特定帐户攻击:

攻击者以特定帐户为目标,不断尝试密码,直到发现正确的密码为止。

应对方法:账户锁定,当尝试次数达到一定量后,锁定该账号

常用口令攻击

前一种攻击的一种变体是使用常用的口令,对大量的用户id进行尝试。用户设置口令的倾向是选择一个容易记住的口令,不幸的是,这使得密码很容易猜测。

应对方法:1.禁止使用弱口令。2.用户来源验证。

单用户口令猜测

攻击者对攻击目标进行信息收集(生日,年龄等一些列可能和口令有关的信息),随后进行猜测。

应对方法:用户教育,提交口令强度。

工作站劫持

攻击者确定管理员已经登录,在其不注意的情况下入侵占领工作站。

应对方法:1.入侵检测,防止入侵;2.为工作站增加非活动注销机制

利用用户的疏漏

尤其在系统分配口令的情况下,由于系统分配的口令过于复杂,用户会选择将口令以某种方式记录下来(可能是手写记录,也可能是采用文档的形式),在用户疏漏时攻击者可能获取到记录了口令的载体。

应对方法:1.加强用户教育;2.采用混合方式验证,比如先进行指纹验证,再采用口令验证。

口令的重复利用

用户对于不同设备或不同的系统,可能采用相同或相似的口令

应对方法:用户教育

电子监视

即对设备窃听

应对方法:加密传输的同时,避免使用弱口令,加大破解难度

2.2 散列函数的运用

在口令文件中,口令往往不以明文形式进行存储,而是采用加密方式进行存储,出现了如下形式的对照表格。

设口令明文为x

id(唯一标识用户的编号)口令X的哈希值
01hash(x)

但是单单以这种方式进行口令的存储,还容易受到离线字典攻击,因为口令X作为hash()函数的输入,有可能是一样的,那么当两个用户口令一致且和常用口令有大量重合时,离线字典攻击的实施就显得极为容易。由此,在这样的口令存储思路的基础上,为了加大离线字典攻击的难度,我们在哈希函数的输入上进行变化由此产生了现在通用的口令存储策略:“哈希加盐”

首先解释盐值:盐值S和口令X一同作为哈希函数的输入,其可以是当前时间,也可以是随机数或伪随机数。关于这种方案的存储结构如下:

id(用户的唯一标识符)盐值哈希值
01Shash(S,X)

用户注册流程如下:

  • step 1. 用户输入口令X

  • step 2.系统根据策略分配一个S记录在表格中

  • step 3.随后将X和S作为哈希函数的输入运算出一个口令的哈希值存放在表格内
    在这里插入图片描述
    系统验证流程如下

  • step 1.系统根据ID定位到具体信息

  • step 2.将相应的颜值S取出,和输入Y作为哈希函数的输入运算得到Hash(S,Y)

  • step 3.对比Hash(S,Y)和表格中的Hash(S,X)如果一致说明X=Y,输入口令无误,通过验证
    在这里插入图片描述
    加盐的作用

  • 1.防止口令相同的情况下,哈希值也相同

  • 2.大大增加离线字典攻击的难度,攻击者机会不可能发现使用了相同的口令。

关于口令的破解(字典攻击)

1.传统方式

planA:获取到口令文件,从而能够得到盐值。构建一个常用口令字典,将其中的口令和口令文件中的盐值进行运算,得到哈希值,与口令文件中的哈希值进行对比,从而达到破解的作用。

planB:这种情况是无法获取到口令文件的方案。在构建口令字典的同时,也构造一个盐值字典,两表中的内容进行哈希运算,得到一张新的表(即彩虹表),一 一尝试对照达到破解的作用。

2.现代方法

采用超级计算机运行一些带有自学习机制的潜在口令算法进行破解。

2.3 口令文件的保护&口令选择策略

口令文件的保护

散列后的口令,保存在与用户ID分离的单独文件之中,这个文件被成为影子口令文件。对于口令文件保护的思路有二:

  • 其一,对口令文件进行权限上的保护,拒绝非授权的访问;
  • 其二,提高密码本身的强度和盐值的长度以及复杂度。

需要注意,尽管防护措施做了很多,但依然存在着许多不足

  • 其一:系统存在脆弱性,有被入侵的可能性;
  • 其二:某些偶然事件可能会使得口令文件被非授权访问;
  • 其三:可能存在相似口令问题;
  • 其四:监听难以避免。

口令选择策略

  • 1.用户教育:

    用户可以被告知使用强密码的重要性,并可以提供选择强密码的指导方针。但是用户往往会忽略,所以这一策略几乎是无效的。

  • 2.计算机产生口令:

    系统为用户分发一个复杂的密码。系统生成的密码虽然具备强密码的特征,但是难以被用户接受。

  • 3.后验口令检查:

    系统定期运行自己的密码破解器来找到可猜测的密码。但是一方面,对于攻击者来说,其可以用自身所有的CPU资源来对密码进行破解,但是对于系统本身而言由于要维持系统功能的运作,由此其自身破解器的运行不可能耗费全部资源,破解效率大概率低于攻击者。另一方面,对于弱密码,其在被系统检验出来前,就有可能以及被破解。

  • 4.先验口令检查:

    允许用户选择自己的密码。但是,在选择时,系统会检查密码强度是否足够,如果密码强度不达标,则拒绝密码的使用。

3. 基于令牌的认证&基于生物特征的认证

3.1基于令牌的认证

本部分对于第一章中”个人所拥有的物品“,主要介绍两类令牌

存储卡

存储卡只能读取数据,但不能处理数据。内部有一个电子存储器,用以存储一些简单的安全码。存储卡可以单独用于物理访问(房卡),有时也需要输入PIN配合验证(如ATM机上进行取款,银行卡就是一种存储卡,用户需要持有银行卡,插入柜机后输入PIN通过验证后进行后续操作)。

但是存储卡也存在着以下的缺点:

  • 令牌容易丢失:令牌丢失使得用户暂时无法访问系统,补办周期也会增加管理成本,且令牌有可能被盗窃,进一步加大了管理难度,
  • 用户可能不满意:对于ATM存储卡的使用,用户可能没有太多意见,但是如果对于个人电脑的访问也采用存储卡验证的策略,用户满意度可能就会下降了。
  • 需要特殊的读卡器:读卡器需要专门的硬件或软件来维持安全性,成本会提高。

智能卡

对于智能卡,可以大致分为四类,值得注意的是这些类别之间并不相互排斥。

  • 物理特征:包含一个微处理器;
  • 用户接口:包括键盘和显示设备;
  • 电子接口:分为接触式和非接触式,需要通过电子接口完成对智能卡的读取或写入;
  • 认证协议:智能卡认证的规约,包含电子认证的算法思想。

而对于认证协议,又能够分成三类:

  • 静态协议:使用静态协议时,用户先完成对令牌的认证,随后令牌完成对计算机的认证。
  • 动态口令生成器:每隔一段事件,令牌产生一个口令,这个口令往往有时间限制,超过时间限制后,将被新产生的口令覆盖
  • 挑战应答协议:通过挑战信号完成验证。如非对称密码体系下,计算机产生一串挑战串,并用令牌公钥加密,令牌收到挑战信号后使用自身私钥进行解密获得挑战串的明文,进行验证。

关于智能卡和存储卡最大的区别在于:存储卡只能存储但不能处理数据,但是智能卡由于拥有一个微处理器,由此可以处理数据。

3.2 基于生物特征的认证

本章介绍的时第一章提到的“个人生理特征”和“个人行为特征”的认证

静态生物特征

  • 面部特征:面部特征是人与人之间最常见的识别方法;因此,考虑用计算机进行识别是很自然的。最常见的方法是根据关键面部特征的相对位置和形状来定义特征,如眼睛、眉毛、鼻子、嘴唇和下巴的形状。另一种方法是使用红外摄像机来产生与人脸上潜在血管系统相关的人脸热图。
  • 指纹:几个世纪以来,指纹一直被用作一种识别手段,而这一过程已经被系统化和自动化,特别是用于执法目的。指纹被认为是在整个人类中独一无二的。在实际应用中,自动指纹识别和匹配系统从指纹中提取出一个数量的特征进行存储,作为完整指纹模式的数字替代物。
  • **手形:**系统识别手的特征,包括形状,以及手指的长度和宽度。
  • **视网膜模式:**由于视网膜表面下的静脉形成的模式是独特的,因此适合识别。视网膜生物识别系统通过将一束低强度的视觉或红外光投射到眼睛中来获得视网膜图案的数字图像。
  • **虹膜:**另一个独特的物理特征是虹膜的结构。

动态生物特征

  • 签名:每个人都有一种独特的书写风格,这一点尤其反映在签名上,这通常是一个经常被书写的顺序。然而,来自单个个体的多个签名样本将是不相同的。这使得开发可以与未来样本匹配的签名的计算机表示的任务变得复杂。
  • 声音:虽然一个人的签名风格不仅反映了作者独特的身体属性,也反映了已经发展起来的写作习惯,但声音模式与说话者的身体和解剖特征联系更紧密。然而,随着时间的推移,同一说话者的样本仍然存在差异,这使生物识别任务复杂化。

生物认证系统的运行

  • 注册类似于为用户分配密码。对于生物识别系统,用户会向系统提供一个名称,通常是某些类型的密码或密码。同时,系统会感知到该用户的一些生物特征特征(例如,右手食指的指纹)。系统将输入数字化,然后提取一组特征,这些特征可以存储为一组数字,代表这一独特的生物特征;这一组数字被称为用户的模板。用户现在注册了该系统,该系统为用户维护一个名称(ID),可能是一个PIN或密码,以及生物识别值。
    在这里插入图片描述

  • 验证类似于用户通过使用存储卡或智能卡并结合密码或PIN登录到系统。对于生物识别验证,用户输入PIN,并使用生物识别传感器。系统提取相应的特性,并将其与为该用户存储的模板进行比较。如果存在匹配项,则系统将对该用户进行身份验证。
    在这里插入图片描述

  • 对于一个识别系统,个人使用生物特征传感器,但不提供额外的信息。系统将所提供的模板与所存储的模板集进行比较。如果有匹配项,则会标识此用户。否则,该用户将被拒绝
    在这里插入图片描述
    误匹配率和错匹配率

  • 当系统宣布冒名顶替者的生物特征数据与用户存储的生物特征数据相匹配时,就会发生错误匹配。

  • 当系统声明一个真实用户的生物特征数据与该用户存储的生物特征数据不匹配时,就会出现漏匹配。

【关于远程用户验证协议,将在网络安全章节介绍,用户认证中的安全问题将在另一个板块在实践中配合介绍】

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值