1 / 84

第 5 章 身份认证

计算机系统安全. 第 5 章 身份认证. 一、认证的基本原理. 在现实生活中,我们个人的身份主要是通过各种证件来确认的,比如:身份证、户口本等。 认证是对网络中的主体进行验证的过程,用户必须提供他是谁的证明,他是某个雇员,某个组织的代理、某个软件过程(如交易过程)。 认证( authentication ) 是证明一个对象的身份的过程。 与决定把什么特权附加给该身份的授权( authorization ) 不同。. 问题的提出 身份欺诈 鉴别需求: 某一成员( 声称者 )提交一 个主体的身份并声称它是那个主体。

genero
Download Presentation

第 5 章 身份认证

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 计算机系统安全 第5章 身份认证

  2. 一、认证的基本原理 在现实生活中,我们个人的身份主要是通过各种证件来确认的,比如:身份证、户口本等。 认证是对网络中的主体进行验证的过程,用户必须提供他是谁的证明,他是某个雇员,某个组织的代理、某个软件过程(如交易过程)。 认证( authentication )是证明一个对象的身份的过程。 与决定把什么特权附加给该身份的授权( authorization )不同。

  3. 问题的提出 • 身份欺诈 • 鉴别需求: 某一成员(声称者)提交一 个主体的身份并声称它是那个主体。 • 鉴别目的: 使别的成员(验证者)获得对声称者所声称的事实的信任。

  4. 一、认证的基本原理 通常有三种方法验证主体身份。 1)是只有该主体了解的秘密,如口令、密钥; 2)是主体携带的物品,如智能卡和令牌卡; 3)是只有该主体具有的独一无二的特征或能力,如指纹、声音、视网膜图或签字等。 单独用一种方法进行认证不充分

  5. 一个成熟的身份认证系统应该具有以下特征: 1、验证者正确识别对方的概率极大。 2、攻击者伪装以骗取信任的成功率极小。 3、通过重放攻击进行欺骗和伪装的成功率极小。 4、实现身份认证的算法计算量足够小。 5、实现身份认证所需的通信量足够小。 6、秘密参数能够安全存储。 7、对可信第三方的无条件信任。 8、可证明安全性。

  6. 计算机系统采取的身份认证方法有很多 • 比如口令认证、 • 智能卡认证、 • 基于生物特征的认证、 • 双因素认证、 • 基于源地址的认证、 • 数字证书和安全协议等。

  7. 身份认证系统架构包含三项主要组成元件: 认证服务器(Authentication Server) 负责进行使用者身份认证的工作,服务器上存放使用者的私有密钥、认证方式及其他使用者认证的信息。 认证系统用户端软件(Authentication Client Software) 认证系统用户端通常都是需要进行登陆(login)的设备或系统,在这些设备及系统中必须具备可以与认证服务器协同运作的认证协定。 认证设备(Authenticator) 认证设备是使用者用来产生或计算密码的软硬件设备。

  8. 1)口令机制 用户名/口令认证技术:最简单、最普遍的身份识别技术,如:各类系统的登录等。 口令具有共享秘密的属性,是相互约定的代码,只有用户和系统知道。例如,用户把他的用户名和口令送服务器,服务器操作系统鉴别该用户。 口令有时由用户选择,有时由系统分配。通常情况下,用户先输入某种标志信息,比如用户名和ID号,然后系统询问用户口令,若口令与用户文件中的相匹配,用户即可进入访问。 口令有多种,如一次性口令;还有基于时间的口令

  9. 第5讲 认证 2)数字证书 这是一种检验用户身份的电子文件,也是企业现在可以使用的一种工具。这种证书可以授权购买,提供更强的访问控制,并具有很高的安全性和可靠性。 非对称体制身份识别的关键是将用户身份与密钥绑定。CA(Certificate Authority)通过为用户发放数字证书(Certificate)来证明用户公钥与用户身份的对应关系。

  10. 验证者向用户提供一随机数;用户以其私钥KS对随机数进行签名,将签名和自己的证书提交给验证方;验证者验证证书的有效性,从证书中获得用户公钥KP,以KP验证用户签名的随机数。验证者向用户提供一随机数;用户以其私钥KS对随机数进行签名,将签名和自己的证书提交给验证方;验证者验证证书的有效性,从证书中获得用户公钥KP,以KP验证用户签名的随机数。

  11. 第5讲 认证 3)智能卡 网络通过用户拥有什么东西来识别的方法,一般是用智能卡或其它特殊形式的标志,这类标志可以从连接到计算机上的读出器读出来。访问不但需要口令,也需要使用物理智能卡。 智能卡技术将成为用户接入和用户身份认证等安全要求的首选技术。用户将从持有认证执照的可信发行者手里取得智能卡安全设备,也可从其他公共密钥密码安全方案发行者那里获得。这样智能卡的读取器必将成为用户接入和认证安全解决方案的一个关键部分。

  12. 第5讲 认证 4)主体特征认证 目前已有的设备包括:视网膜扫描仪、声音验证设备、手型识别器等。安全性高。 例如:系统中存储了他的指纹,他接入网络时,就必须在连接到网络的电子指纹机上提供他的指纹(这就防止他以假的指纹或其它电子信息欺骗系统),只有指纹相符才允许他访问系统。更普通的是通过视网膜膜血管分布图来识别,原理与指纹识别相同,声波纹识别也是商业系统采用的一种识别方式。

  13. 第5讲 认证 用户名/口令具有实现简单的优点,但存在以下安全缺点: 1、大多数系统的口令是明文传送到验证服务器的,容易被截获。某些系统在建立一个加密链路后再进行口令的传输以解决此问题,如配置链路加密机。 2、口令维护的成本较高。为保证安全性,口令应当经常更换。另外为避免对口令的字典攻击,口令应当保证一定的长度,并且尽量采用随机的字符。但缺点是难于记忆。 3、口令容易在输入的时候被攻击者偷窥,而且用户无法及时发现。

  14. 5)双因素认证 • 身份认证有三个要素, 所知道的内容:需要使用者记忆身份认证内容,例如密码和身份证号等。 所拥有的物品:使用者拥有的特殊认证加强机制,例如智能卡,射频卡,磁卡等物理设备。 所具备的特征:使用者本身拥有的惟一特征,例如指纹、人脸、声音等

  15. 这三个要素都有被攻击或破坏的可能: • 1、用户所知道的内容可能被别人猜出或者被用户自己忘记; • 2、用户所拥有的物品可能被丢失或被偷盗; • 3、用户所具备的特征是最为安全的因素,但是实施起来代价昂贵,一般用在顶级安全需求中。 • 把前两种要素结合起来的身份认证机制就称为双因素认证。如自动提款机采取的认证方式就是双因素认证

  16. 二、基于口令的身份认证 1、安全与不安全的口令 UNIX系统口令密码都是用8位(新的是13位)DES算法进行加密的,即有效密码只有前8位,所以一味靠密码的长度是不可以的。安全的口令要求: 1) 位数>6位。 2) 大小写字母混合。 3)字母与数字混合。 4) 口令有字母、数字以外的符号。

  17. 第5讲 认证 不安全的口令则有如下几种情况: (1)使用用户名(帐号)作为口令。 (2)使用用户名(帐号)的变换形式作为口令。将用户名颠倒或者加前后缀作为口令,比如说著名的黑客软件John,如果你的用户名是fool,那么它在尝试使用fool作为口令之后,还会试着使用诸如fool123、loof、loof123、lofo等作为口令,只要是你想得到的变换方法,John也会想得到。

  18. (3)使用自己或者亲友的生日作为口令。这种口令很脆弱,因为这样往往可以得到一个6位或者8位的口令,但实际上可能的表达方式只有100×12×31=37200种。(3)使用自己或者亲友的生日作为口令。这种口令很脆弱,因为这样往往可以得到一个6位或者8位的口令,但实际上可能的表达方式只有100×12×31=37200种。 (4)使用常用的英文单词作为口令。这种方法比前几种方法要安全一些。一般用户选择的英文单词几乎都落在黑客的字典库里。 (5)使用5位或5位以下的字符作为口令。

  19. 加强口令安全的措施: A、禁止使用缺省口令。 B、定期更换口令。 C、保持口令历史记录,使用户不能循环使用旧口令。 D、用口令破解程序测试口令。

  20. 2、口令攻击的种类 计算资源依靠口令的方式来保护的脆弱性: 网络数据流窃听。由于认证信息要通过网络传递,并且很多认证系统的口令是未经加密的明文,攻击者通过窃听网络数据,就很容易分辨出某种特定系统的认证数据,并提取出用户名和口令。口令被盗也就是用户在这台机器上的一切信息将全部丧失,并且危及他人信息安全,计算机只认口令不认人。最常见的是电子邮件被非法截获。

  21. 认证信息截取/重放(Record/Replay) 有的系统会将认证信息进行简单加密后进行传输,如果攻击者无法用第一种方式推算出密码,可以使用截取/重放方式。攻击者仍可以采用离线方式对口令密文实施字典攻击; 对付重放的方法有: 1在认证交换中使用一个序数来给每一个消息报文编号 ,仅当收到的消息序号合法时才接受之; 2使用时间戳 (A接受一个新消息仅当该消息包含一个 A认为是足够接近 A所知道的时间戳 ); 3询问 /应答方式 (A期望从 B获得一个新消息 ,则先发给 B一个临时值 ,并要求后续从 B收到的消息包含正确的这个临时值 )

  22. 第5讲 认证 字典攻击:由于多数用户习惯使用有意义的单词或数字作为密码,某些攻击者会使用字典中的单词来尝试用户的密码。所以大多数系统都建议用户在口令中加入特殊字符,以增加口令的安全性。    穷举尝试(Brute Force): 这是一种特殊的字典攻击,它使用字符串的全集作为字典。如果用户的密码较短,很容易被穷举出来,因而很多系统都建议用户使用长口令。 窥探: 攻击者利用与被攻击系统接近的机会,安装监视器或亲自窥探合法用户输入口令的过程,以得到口令。

  23. 第5讲 认证 社交工程: 攻击者冒充合法用户发送邮件或打电话给管理人员,以骗取用户口令。比如,在终端上发现如下信息: Please enter your user name to logon: Your password: 这很可能是一个模仿登录信息的特洛伊木马程序,他会记录口令,然后传给入侵者。 垃圾搜索: 攻击者通过搜索被攻击者的废弃物,得到与攻击系统有关的信息,如果用户将口令写在纸上又随便丢弃,则很容易成为垃圾搜索的攻击对象。

  24. 第5讲 认证 口令猜中概率公式: P=L•R/S L:口令生命周期 R:进攻者单位时间内猜测不同口令次数 S:所有可能口令的数目。 为降低猜中的概率: 1减少口令使用寿命 ,即提高口令更换的频率 ; 2降低进攻者单位时间内猜测尝试口令的次数 ; 3增加可能口令的数目 ,即提高口令的字符个数。 然而 ,口令的频繁更换增加了用户的负担 ,也为资深入侵者提供了条件 (为了便于记忆 ,人们往往选择与其个人相关的口令 ,如某重要的日期 ),口令字符个数的增加也会增加用户的负担且不会对资深入侵者有更大影响 ,因此 ,手段 2应是较为有效的防猜中手段。

  25. 第5讲 认证 1.选择很难破译的加密算法 让硬件解密商品不能发挥作用。 2.控制用户口令的强度(长度、混合、大小写) 3.掺杂口令 先输入口令,然后口令程序取一个 12 位的随机数(通过读取实时时钟)并把它并在用户输入的口令后面。然后加密这个复合串。最后把 64 位的加密结果连同 12 位的随机数一起存入口令文件。

  26. 第5讲 认证 4.不要暴露账户是否存在的信息 例:打入一个用户名后,不论账户是否存在,都在相同时间里要求输入口令。 5.限制口令尝试次数。 6. 系统中只保存口令的加密形式

  27. 第5讲 认证 7.一次性口令 (OTP:One Time Password)    在登录过程中加入不确定因素,使每次登录过程中传送的信息都不相同,以对付重放攻击。确定口令的方式: 1)声称者与验证者两端共同拥有一串随机口令,在该串的某一位置保持同步。用于人工控制环境中。 2)两端共同使用一个随机序列生成器,在序列生成器的初态保持同步。 3)使用时间戳,两端维持同步的时钟。

  28. 第5讲 认证 三、基于智能卡的身份认证 1、智能卡的安全性 IC卡是英文“智能卡”等。 这种集成电路卡,是随着Integrated Circuit(集成电路)卡的缩写,也称“MEMORY CARD”和“SMART CARD”,中文译作“聪明卡”、“智慧卡”和半导体技术的发展以及社会对信息的安全性和存储容量要求的日益提高而应运而生的。它是一种将具有加密、存储、处理能力的集成电路芯片嵌装于塑料基片上而制成的卡片,它的外型与普通的信用卡十分相似,具体尺寸为: 长:85.6 mm 、 宽:54mm 、 厚: 0.8mm IC卡可简单地分为三种类型: 存储卡、逻辑加密卡、CPU卡。

  29. 第5讲 认证 IC卡优点: 存储容量大 、体积小而轻、保密性强、网络要求低 数据可靠性高 IC卡防磁、防静电、防潮、耐温、抗干扰能力强,一张IC卡片可重复读写十万次,卡中数据可保存几十年。 IC卡读写操作通过电信号传输来完成,因而对计算机的实时性、敏感性要求降低。内部数据保密性、可靠性好,读写稳定可脱机工作,易于安装维护;

  30. 第5讲 认证 2、基于智能卡的认证机制 在基于Web的电子商务应用中,Java applet与智能卡之间的通信是:应用程序与读卡器通信,而读卡器将使用上面介绍的标准与智能卡通信。在用户进行商务交易前,服务器首先使用智能卡完成用户身份的认证。 身份认证过程中为了产生变动的密码一般采用双运算因子的计算方式,也就是加密算法的输入值有两个数值,其一为用户密钥、另一为变动因子,由于用户密钥为固定数值,因此变动因子必须不断变动才可以算出不断变动的动态密码。服务器及智能卡必须随时保持相同的变动因子,才能算出相同的动态密码。

  31. 第5讲 认证 1)询问/应答认证 变动因子是由服务器产生的随机数字。认证过程如下: 1)登录请求。客户机首先向服务器发出登录请求,服务器提示用户输入用户ID和PIN 。 2)询问。用户提供ID给服务器,然后服务器提供一个随机串X(Challenge)给插在客户端的智能卡作为验证算法的输入,服务器则根据用户ID取出对应的密钥K后,利用发送给客户机的随机串X,在服务器上用加密引擎进行运算,得到运算结果RS。

  32. 第5讲 认证 3)应答。智能卡根据X与内在密钥K使用硬件加密引擎运算,也得到一个运算结果RC,并发送给服务器。 4)验证。比较RS和RC便可确定用户的合法性。 由于密钥存在于智能卡中,运算过程也是在智能卡中完成,密钥认证是通过加密算法来实现的,因而极大地提高了安全性。并且每当客户端有一次服务申请时,服务器便产生一个随机串给客户,即使在网上传输的认证数据被截获,也不能带来安全上的问题。

  33. 第5讲 认证 三、基于智能卡的身份认证

  34. 第5讲 认证 • 询问/应答身份认证的优点: • 没有同步的问题。 • 一片认证卡可以用来存取被不同认证服务器所保护的系统。 • 最安全的认证方式。 • 缺点: • 使用者必须按较多的按钮,操作较繁复。 • 比较多输入的失误。

  35. 第5讲 认证 2)时间同步认证 变动因子使用服务器端与客户端的同步时间值。认证过程如下: 1)用户向服务器发出登录请求,服务器提示用户输入用户ID和用户PIN。 2)服务器根据用户ID取出对应的密钥K,使用K与服务器时间T计算动态密码RS。 3)智能卡根据内在的密钥K与客户机时间T使用相同的专用算法计算动态密码RC,并发送给服务器。 4)服务器比较RS与RC,如果相同则用户合法。

  36. 第5讲 认证 三、基于智能卡的身份认证 时间同步认证卡在一个固定期间中(通常是一分钟)产生同一个动态密码,依据时间的流逝产生不同的密码。

  37. 第5讲 认证 • 时间同步身份认证 • 优点: • 易于使用。 • 缺点: • 时间同步困难,可能造成必须重新输入新密码。软体认证卡采用PC的时刻,很可能随时被修改。常常需要与服务器重新对时。 • 2.不如Challenge/Response认证更安全

  38. 第5讲 认证 3)事件同步 事件同步认证卡依据认证卡上的私有密钥产生一序列的动态密码,如果使用者意外多产生了几组密码造成不同步的状态,服务器会自动重新同步到目前使用的密码,一旦一个密码被使用过后,在密码序列中所有这个密码之前的密码都会失效。

  39. 第5讲 认证 三、基于智能卡的身份认证

  40. 第5讲 认证 • 事件同步的身份认证 • 优点: • 容易使用。 • 由于使用者无法知道序列数字,所以安全性高,序列号码绝不会显示出来。 • 缺点: • 如果没有PIN号码的保护及认证卡借给别人使用时,会有安全的疑虑。

  41. 第5讲 认证 四、基于生物特征的身份认证 对用户固有的某些特征进行测量,如指纹、声音或签字。这些需要特殊硬件,这就限制了生物技术只能用在比较少的环境中。其吸引人的地方是生物识别绝不可能丢失和被偷窃。实际上,存在着某些局限性。传统的安全常识认为认证数据应有规则地进行变化。而使用指纹阅读器难于做到这一点。某些方法也遭到了用户的反对。还有,因为生物技术具有极为本质的特点,因此不可能给出准确的答案。

  42. 第5讲 认证 没有两个签字是绝对相同的,即使来自一个人,还有一些莫明其妙的影响,例如疲劳程度、心境状况和健康状况等。在匹配算法中必须建立某些公差。假如某个调用者经认证只有93%的可信度,是否让其登录? 某些系统使用智能卡存储每个用户的生物技术数据。这避免了需要主机数据库,而是依赖于卡的安全性来防止窜改。在用户和智能卡之间的协议中,结合了来自主机的随机质询,因而避免了重播攻击。

  43. 第5讲 认证 四、基于生物特征的身份认证 • 优点: • 绝对无法仿冒的使用者认证技术。 • 缺点: • 较昂贵。 • 不够稳定(辩识失败率高)。

  44. 第5讲 认证 身份的零知识证明 通常的身份认证都要求传输口令或身份信息(尽管是加密传输)。如果不传输这些信息,身份也能得到证明就好了,这就需要零知识证明技术(The proof of zero knowledge)。零知识证明是这样一种技术,被认证方P掌握某些秘密信息,P想设法让认证方V相信他确实掌握那些信息,但又不想让V也知道那些信息。

  45. 第5讲 认证 解释零知识证明的通俗例子是洞穴问题。   如图:有一个洞,设P知道咒语,可打开C和D之间的秘密门,不知道者都将走入死胡同中,那么P如何向V出示证明使其相信他知道这个秘密,但又不告诉V有关咒语。

  46. 第5讲 认证 P如何使V相信自己掌握了洞穴的秘密: 1)V站在A点。 2)P进入洞中任意一点C或D。 3)当P进洞之后,V走到B点。 4)V叫P:“从左边出来”或“从右边出来”。 5)P按要求实现(以咒语,即解数学难题)。 6)P和V重复执行(1)~(5)共n次。 被认证方P掌握的秘密信息一般是长期没有解决的猜想问题的证明,但能通过具体的步骤来验证它的正确性。

  47. Kerberos 认证系统

  48. 问题 • 在一个开放的分布式网络环境中,用户通过工作站访问服务器上提供的服务。 • 服务器应能够限制非授权用户的访问并能够鉴别对服务的请求。 • 工作站无法可信地向网络服务证实用户的身份,即工作站存在三种威胁。 • 一个工作站上一个用户可能冒充另一个用户操作; • 一个用户可能改变一个工作站的网络地址,从而冒充另一台工作站工作; • 一个用户可能窃听他人的信息交换,并用回放攻击获得对一个服务器的访问权或中断服务器的运行。

  49. Kerberos的解决方案 • 在一个分布式的client/server体系机构中采用一个或多个Kerberos服务器提供一个鉴别服务。

  50. 第5讲 Kerberos认证 网络环境 Security Server File server Printing server . . . Attacker User 1 User 2 . . .

More Related