信息安全-认证技术原理与应用

一、认证概述

1.1 认证概念

认证是一个实体向另一个实体证明其所声称的身份的过程

声称者:需要被证实的实体,按照一定的规则,声称者传递可区分其身份的证据给验证者

验证者:负责检查确认声称者的实体,根据所接收到的声称者的证据进行判断,证实声称者的身份

1.2 认证组成

  1. 标识(Identification):用来代表实体对象的身份标志,确保实体的唯一性可辨识性,同时与实体存在强关联。标识一般用名称和标识符(ID)来表示。通过唯一标识符,可以代表实体
  2. 鉴别(Authentication):一般是利用口令、电子签名、数字证书、令牌、生物特征、行为表现等相关数字化凭证对实体所声称的属性进行识别验证的过程

        鉴别凭据:主要有所知道的秘密信息、所拥有的凭证、所具有的个体特征以及所表现的行为 

1.3 认证依据

也称为鉴别信息,是指用于确认实体(声称者)身份的真实性或者其拥有的属性的凭证

认证依据:所知道的秘密信息、所拥有的的实物凭证、所具有的生物特征、所表现的行为特征

1.4 认证原理

认证机制构成

  • 验证对象:是需要鉴别的实体(声称者)
  • 认证协议:是验证对象和鉴别实体(验证者)之间进行认证信息交换所遵从的规则
  • 鉴别实体:根据验证对象所提供的认证依据,给出身份的真实性或属性判断

认证分类

按照对验证对象要求提供的认证凭据的类型数量,认证可分成:

  • 单因素认证
  • 双因素认证
  • 多因素认证

根据认证依据所利用的时间长度,认证可分为:

  • 一次性口令:简称OTP(One Time Password),用于保护口令安全,防止口令重用攻击,常见的实例如使用短消息验证码
  • 持续认证:指连续提供身份确认

        技术原理:对用户整个会话过程中的特征行为进行连续检测,不间断验证用户所具有的特性

        标志:将对事件的身份验证转变为对过程的身份验证

        持续验证所使用的鉴定因素:

  1. 认知因素:主要有眼手协调、应用行为模式、使用偏好、设备交互模式等
  2. 物理因素:主要有左/右手、按压大小、手震、手臂大小和肌肉使用
  3. 上下文因素:主要有事务、导航、设备和网络模式

二、认证类型与认证过程

2.1 单向认证

指在认证过程中,验证者对声称者进行单方面的鉴别,而声称者不需要识别验证者的身份。声称者发送其标识和身份证明凭据给验证者,然后检查声称者的发送消息,确认声称者的身份真实性

单向认证技术实现

1. 基于共享秘密

设验证者和声称者共享一个秘密K_{AB}ID_{A} 为实体A的标识,则认证过程如下:

  1. 第一步,A产生并向B发送消息(ID_{A}K_{AB})
  2. 第二步,B收到(ID_{A}K_{AB})消息后,检查ID_{A}K_{AB}正确性。若正确,则确认A的身份
  3. 第三步,B回复A验证结果消息

2.基于挑战响应

设验证者B生成一个随机数R_{B}ID_{A}为实体A的标识ID_{B}为实体B的标识,则认证过程如下:

  1. 第一步,B产生一个随机数R_{B},并向A发送消息( ID_{B}R_{B})
  2. 第二步,A收到( ID_{B}R_{B})消息后,安全生成包含随机数R_{B}的秘密K_{AB},并发送消息( ID_{A}K_{AB})到B
  3. 第三步,B收到(ID_{A}K_{AB}) 的消息后,解密K_{AB}检查R_{B}是否正确。若正确,则确认A的身份
  4. 第四步,B回复A验证结果消息

 2.2 双向认证

指在认证过程中,验证者对声称者进行单方面的鉴别,同时,声称者也对验证者的身份进行确认。参与认证的实体双方互为验证者。在网络服务认证过程中,双向认证要求服务方和客户方互相认证,客户方也认证服务方,这样就可以解决服务器的真假识别安全问题

原理图如下

2.3 第三方认证

指两个实体在鉴别过程中通过可信的第三方来实现,可信的第三方(TTP :Trusted Third Party)

第三方与每个认证的实体共享秘密,实体A和实体B分别与它共享秘密密钥K_{PA}K_{PB},当实体A发起认证请求时,实体A向可信第三方申请获取实体A和实体B的密钥K_{AB}, 然后实体A和实体B使用 K_{AB}加密保护双方的认证消息

实体A和实体B基于第三方的认证方案有多种形式,此处选取一种基于第三方挑战响应的技术方案进行阐述。设A和B各生成随机数R_{A}R_{B}ID_{A}为实体A的标识ID_{B}为实体B的标识

认证过程简要描述如下: 

  1. 第一步,实体A向第三方P发送加密消息K_{PA} ( ID_{B}R_{A})
  2. 第二步,第三方收到K_{PA} (ID_{B}, R_{A})的消息后,解密获取A消息。生成消息K_{PA} ( R_{A}K_{AB})和K_{PB} ( ID_{A}K_{AB}) ,发送到实体A
  3. 第三步,实体A发送K_{PB} (ID_{A}K_{AB})到实体B
  4. 第四步,实体B解密消息K_{PB} (ID_{A}K_{AB}),生成消息K_{AB} (ID_{A}R_{B}),然后发送给A
  5. 第五步,实体A解密K_{AB} (ID_{A}R_{B}),生成消息K_{AB} (ID_{B}R_{B})发送给B
  6. 第六步,实体B解密消息K_{AB}( ID_{B}R_{B}),检查R_{B}的正确性,若正确,则A认证通过
  7. 第七步,B回复A验证结果消息

原理图如下

三、认证技术方法

3.1 口令认证技术

基于用户所知道的秘密而进行的认证技术,是网络常见的身份认证方法(用户名,密码)
用户A的标识为U_{A}口令P_{A}服务方实体为B,则认证过程如下:

  1. 第一步,用户A发送消息(U_{A}P_{A})到服务方B
  2. 第二步,B收到(U_{A}P_{A})消息后,检查U_{A}P_{A}的正确性。若正确,则通过用户A的认证
  3. 第三步,B回复用户A验证结果消息

目前,服务方实体B通常会存储用户A的口令信息。一般安全要求把口令进行加密变换后存储,口令非明文传输

口令认证优点:简单、易于实现

口令认证不足:容易受到攻击,主要攻击方式有窃听、重放、中间人攻击、口令猜测等

要实现口令认证的安全,应至少满足以下条件:

  1. 口令信息要安全加密存储
  2. 口令信息要安全传输
  3. 口令认证协议要抵抗攻击,符合安全协议设计要求
  4. 口令选择要求做到避免弱口令

目前,为了保证口令认证安全,要求用户遵循口令生成安全策略,同时对生成的口令进行安全强度评测,从而促使用户选择安全强度较高的口令

3.2 智能卡技术

一种带有智能存储器和微处理器的集成电路卡,能够安全存储认证信息,并具有一定的计算能力。如图所示,通过智能卡来实现挑战/响应认证,用户会提供一张智能卡,智能卡会一直显示一个随时间而变化的数字

 假如用户试图登录目标系统,则系统首先将对用户进行认证,步骤如下:

  1. 用户将自己的ID发送到目标系统
  2. 系统提示用户输入数字
  3. 用户从智能卡上读取数字
  4. 用户将数字发送给系统
  5. 系统用收到的数字对ID进行确认,若ID有效,系统生成一个数字并将其显示给用户挑战
  6. 用户将上面的挑战输入智能卡中
  7. 智能卡用这个输入的值根据一定算法计算出一个新的数字并显示这个结果(称为应答
  8. 用户将应答输入系统
  9. 系统验证应答是否正确,如果正确,用户通过验证并登录进入系统

3.3 基于生物特征认证技术

利用人类生物特征来进行验证

目前,可用来进行身份认证生物特征信息:指纹、人脸、视网膜、语音

  • 指纹:与生俱来,而且一生不变
  • 视网膜认证:是根据人眼视网膜中的血管分布模式不同来鉴别不同人的身份
  • 语音认证:则是依靠人的声音的频率来判断不同人的身份

指纹识别系统组成:指纹采集、指纹处理、指纹登记、指纹比对等技术模块

人脸识别认证系统涉及:人脸采集、人脸处理、人脸存储、人脸识别

人脸识别统组成:客户端、服务器端、安全传输通道

  • 客户端模块组成:环境检测、人脸采集、活体检测、质量检测、安全管理等
  • 服务端模块组成:活体判断、质量判断、人脸注册、人脸数据库、人脸识别、比对策略、安全管理等

虹膜识别系统组成:图像采集、 图像处理分析、虹膜登记处理、用户识别处理、数据存储、传输管理、回答信息处理等

    系统实现两种基本功能:虹膜登记和用户识别

  • 虹膜登记:由虹膜登记处理模块生成虹膜登记信息并存入数据库
  • 用户识别:由用户识别处理模块生成用户识别信息,并将识别信息与登记信息进行比对,得出识别结果

3.4 Kerberos认证技术

Kerberos是一个网络认证协议

目标:使用密钥加密为客户端/服务器应用程序提供强身份认证

技术原理:利用对称密码技术,使用可信的第三方来为应用服务器提供认证服务,并在用户和服务器之间建立安全信道

Kerberos系统四个基本实体:

  1. Kerberos客户机:用户用来访问服务器设备
  2. AS (Authentication Server,认证服务器):识别用户身份提供TGS会话密钥
  3. TGS (Ticket Granting Server,票据发放服务器):为申请服务的用户授予票据(Ticket)
  4. 应用服务器(Application Server) :为用户提供服务的设备或系统

通常将AS和TGS统称为KDC (Key Distribution Center)(可信第三方)

票据(Ticket) :用于安全的传递用户身份所需要的信息的集合(通行证)

票据内容:主要包括客户方Principal、目的服务方Principal、客户方IP地址、时间戳(分发该Ticket的时间)、Ticket的生存期、以及会话密钥等

Kerberos工作流程图

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

  1. 可以显著减少用户密钥的密文暴露次数,这样就可以减少攻击者对有关用户密钥的密文积累
  2. Kerberos认证过程具有单点登录(SSO)(只要登录一次)的优点,只要用户拿到了TGT并且该TGT没有过期,那么用户就可以使用该TGT通过TGS完成到任一服务器的认证过程而不必重新输入密码

Kerberos不足之处

要求解决主机节点时间同步问题抵御拒绝服务攻击。如果某台主机时间被更改,那么这台主机就无法使用Kerberos认证协议,如果服务器的时间发生了错误,那么整个Kerberos认证系统将会瘫痪

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

PKI不仅能实现加密服务,也能提供识别和认证服务。针对公钥的真实性所有权问题,人们采用“公钥证书”的方法来解决,类似身份证、护照

公钥证书:将实体和一个公钥绑定,并让其他的实体能够验证这种绑定关系,需要一个可信第三方来担保实体的身份,这个第三方称为认证机构(CA)

CA:负责颁发证书,证书中含有实体名、公钥以及实体的其他身份信息。而PKI就是有关创建、管理、存储、分发和撤销公钥证书所需要的硬件、软件、人员、策略和过程的安全服务设施

PKI提供了一种系统化的、可扩展的、统一的、容易控制的公钥分发方法

基于PKI的主要安全服务:身份认证、完整性保护、数字签名、会话加密管理、密钥恢复

PKI涉及多个实体之间的协商和操作,主要实体及功能:

  • CA (证书授权机构,Certification Authority) :主要进行证书的颁发、废止和更新,认证机构负责签发、管理和撤销一组终端用户的证书
  • RA (证书登记权威机构,Registration Authority) :将公钥和对应的证书持有者的身份及其他属性联系起来,进行注册和担保,RA可以充当CA和它的终端用户之间的中间实体,辅助CA完成其他绝大部分的证书处理功能
  • 目录服务器: CA 通常使用一个目录服务器,提供证书管理和分发的服务
  • 终端实体(End Entity) :指需要认证的对象。例如服务器、打印机、E-mail 地址、用户等
  • 客户端(Client) :指需要基于PKI安全服务的使用者,包括用户、服务进程等

3.6 单点登录(SSO)

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

3.7 基于人机识别认证技术(CAPTCHA技术)

利用计算机求解问题的困难性以区分计算机和人的操作,防止计算机程序恶意操作

CAPTCHA技术:包括文本CAPTCHA、图像CAPTCHA、 语音CAPTCHA

CAPTCHA技术的工作机制:认证者事先有一个CAPTCHA服务器负责CAPTCHA信息的生成和测试,当用户使用需要CAPTCHA验证的服务时候,CAPTCHA服务器则给用户生成CAPTCHA测试,如果用户测试结果正确,则认证通过。例如12306图片登录验证码

3.8 多因素认证技术

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

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

根据用户行为和风险大小而进行的身份鉴别技术

通过分析用户的基本信息,获取用户个体画像,进而动态监控用户状态以判定用户身份,防止假冒用户登录或者关键操作失误

3.10 快速在线认证(FIDO)

FIDO(Fast IDentity Online):使用标准公钥加密技术来提供强身份认证

设计目标:保护用户隐私,不提供跟踪用户的信息,用户生物识别信息离不开用户的设备

FIDO技术原理

  1. 登记注册:用户创建新的公私钥密钥对,其中,私钥保留在用户端设备中,只将公钥注册到在线服务。公钥将发送到在线服务并与用户账户关联,私钥和有关本地身份验证方法的任何信息(如生物识别测量或模板)永远不会离开本地设备
  2. 登录使用:当用户使用FIDO进行登录在线服务的时候,在线服务提示要求用户使用以前注册的设备登录。然后,用户使用与注册时相同的方法解锁FIDO身份验证器。用户根据账户标识符选择正确的密钥响应在线服务的挑战,并发送签名的质询到在线服务。最后,在线服务使用存放的用户公钥和日志来验证用户响应是否正确。若正确,则通过用户认证,允许登录在线服务

FIDO协议给了用户客户端身份验证方法的通用接口,浏览器可以使用标准API调用FIDO进行身份验证。FIDO支持客户端不同的身份验证方法,如安全PIN、生物识别以及符合FIDO标准要求的认证设备等

四、认证主要产品与技术指标

认证技术产品是最为普遍的网络安全产品

产品形态:硬件实体模式、软件模式或软硬结合模式

商业产品:主要为物理硬件实体,安全功能软件集成到硬件实体中

4.1 认证主要产品

1. 系统安全增强

产品技术特点:利用多因素认证技术增强操作系统、数据库系统、网站等的认证安全强度

采用的多因素认证技术:通常是U盘+口令、智能卡+口令、生物信息+口令等

产品应用场景:U盘登录计算机、网银U盾认证、指纹登录计算机/网站/邮箱等

2. 生物认证

产品技术特点:利用指纹、人脸、语音等生物信息对人的身份进行鉴别

目前市场上的产品:人证核验智能终瑞、指纹U盘、人脸识别门禁、指纹采集仪、指纹比对引擎、
人脸自动识别平台

3. 电子认证服务

产品技术特点:电子认证服务机构采用PKI技术、密码算法等提供数字证书申请、颁发、存档、查询、废止等服务,以及基于数字证书为电子活动提供可信身份、可信时间和可信行为综合服务

目前国内电子认证服务产品:数字证书认证系统、证书管理服务器、可信网络身份认证、SSL证书、数字证书服务、时间戳公共服务平台、个人多源可信身份统一认证服务平台等

4. 网络准入控制

产品技术特点:采用基于802.1X协议、Radius 协议、VPN等的身份验证相关技术,与网络交换机、路由器、安全网关等设备联动,对入网设备(如主机、移动PC、智能手机等)进行身份认证和安全合规性验证,防范非安全设备接入内部网络

5. 身份认证网关

产品技术特点:利用数字证书、数据同步、网络服务重定向等技术,提供集中、统一的认证服务,形成身份认证中心,具有单点登录、安全审计等安全服务功能

4.2 主要技术指标

认证技术产品的评价指标:安全功能要求、性能要求和安全保障要求

主要技术指标

  1. 密码算法支持:认证技术主要依赖于密码技术,常见的密码算法类型有DES/3DES、AES、SHA-1、RSA、SM1/SM2/SM3/SM4
  2. 认证准确性:认证产品的认假率、拒真率
  3. 用户支持数量:认证产品的最大承载的用户数量
  4. 安全保障级别:认证产品的安全保证措施、安全可靠程度、抵抗攻击能力等

五、认证技术应用

认证技术:是网络安全保障的基础性技术,普遍应用于网络信息系统保护

5.1 常见的应用场景

  1. 用户身份验证:验证网络资源的访问者的身份,给网络系统访问授权提供支持服务
  2. 信息来源证实:验证网络信息的发送者和接收者的真实性,防止假冒
  3. 信息安全保护:通过认证技术保护网络信息机密性、完整性,防止泄密、篡改、重放或延迟

5.2 校园信任体系建设应用参考

校园网信任体系建设方案

  • 校园内部建设数字证书发放和服务体系,进行数字身份凭证的管理
  • 通过严格按照相关规范进行身份验证,实现对物理身份数字身份的对应
  • 通过对数字证书的申请、发放、吊销、更新等过程,实现数字身份凭证的管理
  • 建立的统一认证管理系统,围绕整合的用户、应用系统等资源的管理,构建网络信任体系的基础设施平台
  • 平台实现基于数字证书的身份认证,实现基于角色或资源的授权管理,实现统一的安全策略设定和维护,实现责任认定的安全设计
  • 建立PKI应用支持系统,为校园内部其他应用系统提供可信的数据电文服务

5.3 网络路由认证应用参考

路由安全是网络安全的基础,为了保证路由安全,路由器设备的访问及路由消息都需要进行认证

1. 用户认证

当一个用户访问路由器时,必须经过认证通过才能被允许

2. 路由器邻居认证

当两个相邻的路由器进行路由信息交换时,需要进行身份验证,以保证接收可信的路由消息,以防止出现未经授权的、恶意的路由更新

路由器邻居认证类型:OSPF认证、RIP认证、EIGRP认证

认证模式:明文认证 (Plaintext Authentication) 、消息摘要认证 (Message Digest Authentication) 

明文认证不安全,口令容易被监听。为保护路由安全,一般推荐采用消息摘要认证

5.4 基于人脸识别机房门禁管理应用参考

利用先进的生物识别技术,通过人脸特征信息快速判断人员身份,客观控制门禁系统,彻底杜绝通过伪造证件冒名顶替、利用他人证件通过及擅自进入的可能性。人员进出数据现场记录图像实时上传管理端,帮助管理者轻松、高效的进行安全管理工作

5.5 eID身份验证应用参考

公民网络电子身份标识(eID) :是国家网络安全的重要保障,是由国家主管部门颁发,与个人真实身份具有一一对应关系,用于在线识别公民真实身份的网络电子身份

组成:一对非对称密钥含有其公钥及相关信息的数字证书

eID身份验证涉及eID服务平台、应用服务提供商持有eID的用户,elD身份验证服务步骤:

  1. 应用服务提供商根据需要向eID服务平台发送服务请求
  2. elD服务平台返回一个随机数作为本次验证服务的挑战
  3. 应用服务提供商完成相应的eID运算,将待传输数据按照所规定的格式作为验证请求,发送给elD服务平台
  4. elD服务平台再本地执行相关的验证服务后,按照规定格式返回相应的验证结果给应用服务提供商

5.5 HTTP认证应用参考

HTTP是WEB服务器应用协议

支持的认证方式:基本访问认证(BAA)、数字摘要认证、NTLM、Negotiate、 Windows Live ID等

认证过程框架

 友情链接:http://xqnav.top/

相关文章

学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习...
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面...
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生...
Can’t connect to local MySQL server through socket \'/v...
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 ...
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服...