第6章 认证技术原理与应用

第6章 认证技术原理与应用

6.1 认证概述

  认证机制是网络安全的基础性保护措施,是实施访问控制的前提。以下将阐述认证的基本概念、认证依据、认证原理和认证发展。

6.1.1 认证概念

  认证是一个实体向另外一个实体证明其所声称的身份的过程。在认证过程中,需要被证实的实体是声称者,负责检查确认声称者的实体是验证者。通常情况下,双方要按照一定规则,声称者传递可区分其身份的证据给验证者,验证者根据所接收到的声称者的证据进行判断,证明其声称者的身份。

  认证一般由标识(Identification)和鉴别(Authentication)两部分组成。标识是用来代表实体对象(如人员、设备、数据、服务、应用)的身份标志,确保实体的唯一性和可辨识性,同时与实体存在强联系。

  鉴别一般是利用口令、电子签名、数字证书、令牌、生物特征、行为表现等相关数字化凭证对实体所声称的属性进行识别验证的过程。鉴别的凭据主要有所知道的秘密信息、所拥有的凭证、所具有的个体特征以及所表现的行为。

6.1.2 认证依据

  认证依据也称为鉴别信息,通常是指用于确认实体(声称者)身份的真实性或者其拥有的属性的凭证。目前,常见的认证依据主要有四类。

  1. 所知道的秘密信息(Something You Know)

实体(声称者)所掌握的秘密信息、如用户口令、验证码等。

  1. 所拥有的实物凭证(Something You Have)

实体(声称者)所持有的不可伪造的物理设备,如智能卡、U盾等。

  1. 所具有的生物特征

实体(声称者)所具有的生物特征,如指纹、声音、虹膜、人脸等。

  1. 所表现的行为特征

实体(声称者)所表现的行为特征,如鼠标使用习惯、键盘敲键力度、地理位置等。

6.1.3 认证原理

  一般来说,认证机制由验证对象、认证协议、鉴别实体构成。其中,验证对象是需要鉴别的实体(所称者);认证协议是验证对象和鉴别实体(验证者)之间进行认证信息交换所遵从的规则;鉴别实体根据验证对象与提供的认证依据,给出身份的真实性或属性判断。

  按照对验证对象要求提供的认证凭据的类型数量,认证可以分成单因素认证、双因素认证、多因素认证。多个因素认证有利于提升认证的安全强度。

  根据认证依据所利用的时间长度,认证可分成一次性口令(One Time Password)、持续认证(Coutinuous authentication)。其中,一次性口令简称OTP,用于保护口令安全,防止口令重用攻击。OTP常见的认证实例如使用短消息验证码。持续认证是指连续提供身份确认,其技术原理是对用户整个会话过程中的特征行为进行连续地监测,不间断地验证用户所具有的特性。持续认证是一种新兴的认证方法,其标志是将对事件的身份验证转变为对过程的身份验证。持续认证增强了认证机制的安全强度,有利于防止身份假冒攻击、钓鱼攻击、身份窃取攻击、社会工程攻击、中间人攻击。持续认证所使用的鉴定因素主要是认知因素(Cognitive factors)、物理因素(Physiological factors)、上下文因素(Contextual factors)。认知因素主要有眼手协调、应用行为模式、使用偏好、设备交互模式等。物理因素主要有左/右手、按压大小、手震、手臂大小和肌肉使用。上下文因素主要有事务、导航、设备和网络模式。例如,一些网站的访问根据地址位置信息来判断来访者的身份,以确认是否授权访问。

6.1.4 认证发展

  目前国家电子认证服务有40多家第三方CA机构,基本建立了全国电子认证行业监管体系、电子认证运营服务体系。

  美国、欧盟等国家和地区都在积极地推进国家网络空间可信身份工作。美国发展了《网络空间可信身份国家战略》(National Strategy for Trusted Identities in Cybersapce,NSTIC),其目标是构建一个网络空间可信身份生态系统,建立和实现一个身份交互操作的基础设施,增强参与生态系统的个人和机构的信心和意愿。欧盟提出电子身份标识(eID)计划,拟构建欧盟eID基础设施,使得欧盟成员国公民持有电子标识。

  与此同时,工业界出现了一系列认证相关标准,例如OpenID、SAML、OAuth、FIDO等国际标准,用于不同的身份认证系统之间的互联互通,以及跨域进行访问授权。

6.2 认证类型与认证过程

  按照认证过程中鉴别双方参与角色及所依赖的外部条件,认证类型可分成单向认证、双向认证和第三方认证。

6.2.1 单向认证

  单向认证是指在认证过程中,验证者对声称者进行单方面的鉴别,而声称者不需要识别验证。实现单向认证的技术方法有两种,下面分别阐述。

  1. 基于共享秘密

  2. 基于挑战响应

6.2.2 双向认证

  双向认证是指在认证过程中,验证者对声称者进行单方面的鉴别,同时,声称者也对验证者的身份进行确认。参与认证的实体双方互为验证者。

6.2.3 第三方认证

  第三方认证是指两个实体在鉴别过程中通过可信的第三方来实现。可信的第三方简称TTP(Trusted Third Party)。

6.3 认证技术方法

  认证技术方法主要有口令认证技术、智能卡技术、基于生物特征认证技术、Kerberos认证技术等多种实现方式,下面分别进行阐述。

6.3.1 口令认证技术

  口令认证是基于用户所知道的秘密而进行的认证技术,是网络常见的身份认证方法。口令认证的不足是容易受到攻击,主要攻击方式有窃听、重放、中间人攻击、口令猜测等。因此,要实现口令认证的安全,应至少满足以下条件:

  • 口令信息要安全加密存储;

  • 口令信息要安全传输;

  • 口令认证协议要抵抗攻击,符合安全协议设计要求;

  • 口令选择要求做到避免弱口令。

6.3.2 智能卡技术

  智能卡是一种带有存储器和微处理器的集成电路卡,能够存储安全存储信息,并具有一定的计算能力。

  在挑战/响应认证中,用户会提供一张智能卡,智能卡会一直显示一个随时间变化的数字。假如用户试图登录目标系统,则系统首先对用户进行认证,步骤如下:

(1)用户将自己的ID发送到目标系统;

(2)系统提示用户输入数字;

(3)用户从智能卡上读取数字;

(4)用户将数字发送给系统;

(5)系统用收到的数字对ID进行确认,如果ID有效,系统会生成一个数字并将其显示给用户,称为挑战;

(6)用户将上面的挑战输入智能卡中;

(7)智能卡用这个输入的值根据一定算法计算出一个新的数字并显示这个结果,该数字称为应答;

(8)用户将应答输入系统;

(9)系统验证应答是否正确,如果正确,用户通过验证并登录进入系统。

6.3.3 基于生物特征认证技术

  基于生物特征认证就是利用人类生物特征来进行验证。目前,指纹、人脸、视网膜、语音等生物特征信息可用来进行身份认证。人的指纹与生俱来,而且一生不变。视网膜认证是根据人眼视网膜中的血管分布模式不同来鉴别不同人的身份。语音认证则是依靠人的声音的频率来判断不同人的身份。

6.3.4 Kerberos认证技术

  Kerberos是一个网络认证协议,其目标是使用密钥加密为客户端/服务器应用程序提供强身份认证。其技术原理是利用对称密码技术,使用可信的第三方来为应用服务提供认证服务,并在用户和服务器之间建立安全信道。

  Kerberos由美国麻省理工学院(MIT)研制实现,已经历了五个版本的发展。一个Kerberos系统涉及四个基本实体:

(1)Kerberos客户机,用户用来访问服务器设备;

(2)AS(Authertication Server,认证服务器),识别用户身份并提供TGS传话密钥;

(3)TGS(Ticket Granting Server,票据发放服务器),为申请服务的用户授予票据;

(4)应用服务器(Application Server),为用户提供服务的设备或系统。

  其中,通常将AS和TGS统称为KDC(Key Distribution Center)。票据(Ticket)是用于安全的传递用户身份所需要的信息的集合,主要包括客户方Principal、客户方IP地址、时间戳(分发该Ticket的时间)、Ticket的生存期、以及传话密钥等内容。Kerberos V5认证协议主要由六步构成。

  第一步,Kerberos客户向认证服务器AS申请票据TGT。

  第二步,当认证服务器AS收到Kerberos客户发来的消息后,AS在认证数据库检查确认Kerberos客户,产生一个会话密钥,同时使用Kerberos客户的秘密密钥对会话密钥加密,然后生成一个票据TGT,其中TGT由Kerberos客户的实体名、地址、时间戳、限制时间、会话密钥组成。AS生成TGT完毕后,把TGT发送给Kerberos客户。

  第三步,Kerberos客户收到AS发来的TGT后,使用自己的秘密密钥解密得到会话密钥,然后利用解密的信息重新构造认证请求单,向TGS发送请求,申请访问应用服务器AP所需要的票据(Ticket)。

  第四步,TGS使用其秘密密钥对TGT进行解密,同时,使用TGT中的会话密钥对Kerberos客户的请求认证单信息进行解密,并将解密后的认证单信息与TGT中信息进行比较。然后,TGS生成新的会话密钥以供Kerberos客户和应用服务器使用,并利用各自的秘密密钥加密会话密钥。最后,生成一个票据,其由Kerberos客户的实体名、地址、时间戳、限制时间、会话密钥组成。TGS生成TGT完毕后,把TGT发送给Kerberos客户。

第五步,Kerberos客户收到TGS的响应后,获得与应用服务器共享的会话密钥。与此同时,Kerberos客户生成一个新的用于访问应用服务器的认证单,并用与应用服务器共享的会话密钥加密,然后与TGS发送来的票据一并传送到应用服务器。

  Kerberos协议中要求用户经过AS和TGS两重认证的优点主要有两点。

(1)可以显著减少用户密钥的密文的暴露次数,这样就可以减少攻击者对有关用户密钥的密文的积累。

(2)Kerberos认证过程具有单点登录(Single Sign On,SSO)的优点,只要用户拿到了TGT并且该TGT没有过期,那么用户就可以使用该TGT通过TGS完成到任一服务器的认证过程而不必重新输入密码。

  但是,Kerberos也存在不足之处。Kerberos认证系统要求解决主机节点时间同步问题和抵御拒绝服务攻击。

6.3.5 公钥基础设施(PKI)技术

  公钥证书是将实体和一个公钥绑定,并让其他的实体能够验证这种绑定关系。为此,需要一个可信第三方来担保实体的身份,这个第三方称为认证机构,简称CA(Certification Authority)。CA负责颁发证书,证书中含有实体名、公钥以及实体的其他身份信息。而PKI(Public Key Infrastructure)就是有关创建、管理、存储、分发和撤销公钥证书所需要的硬件、软件、人员、策略和过程的安全服务设施。PKI提供了一种系统化的、可扩展的、统一的、容易控制的公钥分发方法。基于PKI的主要安全服务有身份认证、完整性保护、数字签名、会话加密管理、密钥恢复。一般来说,PKI涉及多个实体之间的协商和操作,主要实体包括CA、RA、终端实体(End Entity)、客户端、目录服务器。

  PKI各实体的功能分别叙述如下:

  • CA(Certification Authority):证书授权机构,主要进行证书的颁发、废止和更新;认证机构负责签发、管理和撤销一组终端用户的证书。

  • RA(Registration Authority):证书登记权威机构,将公钥和对应的证书持有者的身份及其他属性联系起来,进行注册和担保;RA可以充当CA和它的终端用户之间的中间实体,辅助CA完成其他绝大部分的证书处理功能。

  • 目录服务器:CA通常使用一个目录服务器,提供证书管理和分发的服务。

  • 终端实体(End Entity):指需要认证的对象,例如服务器、打印机、E-mail地址、用户等。

  • 客户端(Client):指需要基于KPI安全服务的使用者,包括用户、服务进程等。

6.3.6 单点登录

  单点登录(Single Sign On)是指用户访问使用不同的系统时,只需要进行一次身份认证,就可以根据这次登录的认证身份访问授权资源。单点登录解决了用户访问使用不同的系统时,需要输入不同系统的口令以及保管口令问题,简化了认证管理工作。

6.3.7 基于人机识别认证技术

  基于人机识别认证利用计算机求解问题的困难性以区分计算机和人操作,防止计算机程序恶意操作,如恶意注册、暴力猜解口令等。基于人机识别认证技术通常称为CAPTCHA(Completely Automated Public Turing test to tell Computers and Humans Apart)技术。CAPTCHA技术主要包括文本CAPTCHA、图像CAPTCHA、语音CAPTCHA。CAPTCHA技术的工作机制是认证者事先有一个CAPTCHA服务器负责CAPTCHA信息的生成和测试,当用户使用需要CAPTCHA验证的服务时候,CAPTCHA服务器则给用户生成CAPTCHA测试,如果用户测试结果正确,则认证通过。

6.3.8 多因素认证技术

  多因素认证技术使用多种鉴别信息进行组合,以提升认证的安全强度。根据认证机制所依赖的鉴别信息的多少,认证通常称为双因素认证名多因素认证。

6.3.9 基于行为的身份鉴别技术

  基于行为的身份鉴别是根据用户行为和风险大小而进行的身份鉴别技术。通过分析用户的基本信息,获取用户个体画像,进而动态监控用户状态以判定用户身份,防止假冒用户登录或者关键操作失误。

6.3.10 快速在线认证(FIDO)

  Fast IDentity Online 简称FIDO,FIDO使用标准公钥加密技术来提供强身份验证。FIDO的设计目标是保护用户隐私,不提供跟踪用户的信息,用户生物识别信息不离开用户的设备。FIDO的技术原理描述如下。

  1. 登记注册

  用户创建的公私密钥对。其中,私钥保留在用户端设备中,只将公钥注册到在线服务。公钥将发送到在线服务与用户帐户关联。私钥和有关本地身份验证方法的任何信息(如生物识别测量或模板)永远不会离开本地设备。

  1. 登录使用

  当用户使用FIDO进行登录在线服务的时候,在线服务提示要求用户使用以前注册的设备登录。然后,用户使用与注册时相同的方法解锁FIDO身份验证器。用户根据帐户标识符选择正确的密钥响应在线服务的挑战,并发送签名的质询到在线服务。最后,在线服务使用存放的用户公钥和日志来验证用户响应是否正确。若正确,则通过用户认证,允许登录在线服务。

6.4 认证主要产品与技术指标

  认证技术产品是最为普遍的网络安全产品,其产品形态有硬件实体模式、软件模式或软硬件结合模式。商业产品主要为物理硬件实体,安全功能软件集成到硬件实体中。

6.4.1 认证主要产品

  目前,认证技术安全产品类型包括系统安全增强、生物认证、电子认证服务、网络准入控制和身份认证网关5类。

6.4.2 主要技术指标

  一般来说,认证技术产品的评价指标可以分成三类,即安全功能要求、性能要求和安全保障要求。认证技术产品的主要技术指标如下:

(1)密码算法支持:认证技术主要依赖于密码技术,因此,认证产品中的密码算法是安全性的重要因素。常见的密码算法类型有DES/3DES、AES、SHA-1、RSA、SM1/SM2/SM3/SM4。

(2)认证准确性:认证产品的认假率、拒真率。

(3)用户支持数量:用户产品最大承载的用户数量。

(4)安全保障级别:认证产品的安全保障措施、安全可靠程度、抵抗攻击能力等。

6.5 认证技术应用

  认证技术是网络安全保障的基础性技术,普遍应用于网络信息的保护。认证技术常见的应用场景如下:

(1)用户身份验证。

(2)信息来源证实。

(3)信息安全保护。

posted @ 2023-02-04 15:26  Evan-whc  阅读(466)  评论(0编辑  收藏  举报