身份认证
身份认证是指用户进入系统或访问不同保护级别的系统资源时,确认该用户身份是否真实、合法和唯一的过程。基于网络工作原理,一切网络信息(包括用户的身份信息)均通过一组特定数据表示,系统仅能识别用户的数字身份,所有授权操作均针对数字身份完成。如何保证以数字身份操作的操作者与数字身份的合法拥有者一致(即物理身份与数字身份的绑定),是网络安全研究的核心问题之一。目前,已形成系列成熟的认证技术与措施,包括Kerberos认证交换协议、X.509目录认证服务、数字证书,以及其他实体认证技术。
1、Kerberos认证系统
Kerberos是为TCP/IP网络设计的可信第三方认证交换协议,其核心定位是网络中的"可信仲裁者",可提供安全的在线认证服务,支持用户访问网络中不同主机资源。同时,Kerberos认证系统也是密钥分配中心(KDC)的核心实现,在密钥分配过程中通常采用AES、DES等对称密码算法保障密钥安全。当前广泛应用的是Kerberos认证交换协议的第5个版本(Kerberos V5)。
1.1、Kerberos认证系统的基本功能
Kerberos名称源于希腊神话中"三头犬"的传说------作为地狱入口的守护者。设计者以"三头犬"象征其三大核心功能:鉴别、记账与审计。
在开放分布式网络环境中,用户通过客户机访问服务器时面临多重安全挑战:其一,客户机可能冒充其他用户操作;其二,用户可通过修改客户机地址等方式伪装成其他客户机;其三,攻击者可窃听并重放他人信息,非法获取服务访问权或中断服务器运行;其四,假冒服务器可能骗取用户机密信息。Kerberos的设计目标正是针对这些威胁,提供安全、可靠、透明且可扩展的认证服务,具体表现为:
- 安全。确保网络窃听者无法获取伪装所需的关键信息。
- 可靠。所有依赖Kerberos访问控制的服务,若客户机未通过Kerberos服务器认证,则无法获取所需服务。
- 透明。用户仅需输入口令,无须了解鉴别过程的具体细节。
- 可伸缩。用模块化客户机/服务器架构,支持大规模用户与服务器接入。
Kerberos认证系统支持单点登录(SSO):用户仅需完成一次身份认证,即可凭借获取的票据访问多个服务。系统通过在客户机与服务器间建立共享密钥,保障在线认证服务的安全性。
1.2、Kerberos认证系统的组成
Kerberos认证系统由认证服务器(AS)、票据授予服务器(TGS)、应用服务器及客户机共同构成。
- 认证服务器(Authentication Server, AS)。作为密钥分配中心(Key Distribution Center, KDC),AS负责用户注册、账号与密钥分配,并完成用户身份确认及用户与TGS间会话密钥的发布。
- 票据授予服务器(Ticket Granting Server,TGS)。TGS负责发放服务器票据并提供用户与服务器间的会话密钥。Kerberos将用户认证与会话票据发放分离------尽管AS仅需完成用户身份的一次性认证,但用户需多次与TGS交互以获取不同服务器的票据。
- 应用服务器。为用户提供具体服务。
此外,Kerberos认证系统维护一个包含所有客户机与服务端秘密密钥的数据库(即KDC)。通过存储各实体的秘密密钥,Kerberos能够生成消息以验证实体身份;同时,系统可生成仅用于客户机与服务器(或客户机间)通信的会话密钥,加密双方通信内容,通信结束后即销毁该密钥。
1.3、Kerberos认证过程
Kerberos认证系统的组成及认证流程如图所示,该系统为计算机系统间的认证提供了标准化技术支撑。

- 客户机通过明文向Kerberos(即认证服务器AS、KDC)发起请求,申明自身身份。经AS认证通过后,客户机方可与票据授予服务器(TGS)建立联系。
- AS在其密钥数据库(KDC)中检索客户机实体信息,生成会话密钥,并使用基于用户口令哈希值生成的加密密钥对该会话密钥加密,最终生成允许客户机访问TGS的票据。该票据包含客户机身份信息(实体名、地址、TGS名、时间戳、有效时限)与会话密钥。随后,AS将加密后的票据发送至客户机。
- 客户机利用自身秘密密钥解密获得会话密钥,生成包含客户机实体名、地址、时间戳的认证凭证,并使用会话密钥对该凭证加密,随后向TGS发送请求,申请接入目标应用服务器的许可票据。
- TGS解密接收的消息获取会话密钥,通过该密钥解密认证凭证以验证有效性,并检查票据的有效期(确保未过期)。同时,TGS比对用户标识、网络地址与AS认证的用户信息是否一致。若验证通过,TGS向客户机返回许可票据(与前述票据结构完全一致)。
- 客户机代表用户向目标应用服务器发起服务请求,发送包含用户标识与许可票据的报文。应用服务器解密票据,通过验证标识信息确认解密有效性,并检查票据有效期(确保未过期)。同时,应用服务器比对用户标识、网络地址与TGS认证的用户信息是否一致。若一致,则向用户提供所需服务。
1.4、Kerberos认证系统的安全性
Kerberos认证交换协议为网络实体提供了集中、统一的认证管理机制,但仍存在潜在安全弱点:例如,旧的会话密钥可能被存储重用(尽管时间戳机制可防范此类攻击,但在票据有效期内仍存在风险);此外,跨组织系统中,单一认证服务器无法完成所有用户注册,需部署多台认证服务器分别管理不同用户与服务器。因此,Kerberos支持跨域认证需满足以下条件:Kerberos服务器需在数据库中存储所有用户标识及参与用户的口令哈希密钥,且所有用户已完成注册;Kerberos服务器需与每个应用服务器共享保密密钥,且所有应用服务器已完成注册;不同域的Kerberos服务器之间需共享保密密钥并实现相互注册。
Kerberos认证协议不仅能实现用户身份认证,还可提供数据机密性、完整性及密钥管理等安全服务能力。但需注意,其单次认证过程需至少交互6个报文,在代理服务器等对认证效率要求较高的场景中,Kerberos的应用可能受限。
2、X.509认证服务
为在开放网络系统中实现远程用户身份认证,国际电信联盟(ITU)于1988年制定了认证体系标准------《开放系统互连---目录服务:认证体制X.509》(X.509)。此处的"目录"指维护用户信息数据库的服务器或分布式服务器集群,存储内容包括用户名到网络地址的映射及其他用户属性。X.509定义了X.500目录向用户提供认证服务的框架,其核心功能是存储用户公钥证书。
X.509规定了"简单认证"与"强认证"两种不同安全等级的认证方式,并详细描述了公钥证书格式、证书管理、证书路径处理、目录数据树结构、密钥生成,以及认证中心间交叉认证证书的目录存储等问题。
2.1、简单认证
X.509定义了安全强度较低的简单认证方式,与UNIX系统常见的基于口令的认证机制类似。其通过用户提供的用户ID和仅收发双方知晓的用户口令(PASSWD)来实现低安全级认证。最基础的认证过程如下(见图):

- 客户机将用户ID及口令以明文形式发送至接收端服务器;
- 接收端服务器将接收的口令与用户ID提交至目录服务器,比对目录中存储的用户口令;
- 目录服务器返回响应,指示服务器是否接受该客户机为合法用户;
- 服务器最终向客户机反馈认证结果。
此方式的主要缺陷在于用户ID与口令以明文传输,存在安全隐患。改进后的简单认证流程为:客户机将用户ID、口令、随机数及/或时间戳经单向哈希函数处理后传输至接收端服务器;或进一步将上述哈希结果与另一组随机数/时间戳再次哈希后传输。
2.2、强认证
X.509定义了高安全强度的强认证机制,其认证流程基于公钥密码技术实现通信双方的身份识别。强认证分为单向、双向及三向三种模式,提供不同层次的安全保障。标准中对公钥证书的使用进行了详细规范,以强化认证能力。
2.3、密钥及证书管理
X.509以公钥密码体制和数字签名为基础,但未明确规定具体采用的密码体制(推荐RSA),也未指定数字签名中使用的哈希函数。
X.509还定义了基于公钥证书的认证协议。其证书结构与认证协议已广泛应用于S/MIME(安全多用途互联网邮件扩展)、IPSec(互联网安全协议)、SSL/TLS(安全套接层/传输层安全)及SET(安全电子交易)等场景。
3、数字证书
数字证书(Digital Certificate),又称数字标识(DigitalID)或公钥证书,是互联网环境中用于身份认证的电子凭证。其本质是由权威机构(证书认证中心,CA)审核签发的电子数据文件,包含证书持有者的身份信息、公钥及相关认证信息,功能上类似于现实生活中的居民身份证,但以数字化形式存在,属于结构化数据。数字证书广泛应用于电子商务、电子政务等场景,为网络空间的身份可信性提供基础支撑。
3.1、数字证书的功能
作为互联网环境中各类终端实体与最终用户的身份证明,数字证书通过集成对称密码体制与公钥密码体制等加密技术,构建了严格的身份认证系统,主要实现以下核心功能。
- 身份认证:数字证书的核心内容包括证书持有者的 个人信息(如名称、组织)、公钥、公钥有效期、颁发机构(CA)信息及CA的数字签名。交易双方通过网络验证对方数字证书的有效性后,可确认对方身份的真实性,从而放心开展信息交互或资源访问授权。其中,CA作为权威、可信、公正的第三方机构,专门负责数字证书的签发与管理服务。
- 加密传输信息:数字证书支持加密传输功能,可保障各类数据(如文件、批文、合同、票据、协议、标书等)在互联网传输中的机密性。具体流程为:发送方使用接收方的公钥对原始报文进行加密,生成密文;接收方通过仅自己持有的私钥对密文解密,还原得到明文。
- 数字签名抗否认:数字证书通过数字签名技术实现"抗否认"功能,其原理与现实中的公章、手写签名类似,但以数字化方式呈现。数字签名并非书面签名的数字图像,而是发送方使用私钥对报文内容进行加密生成的签名值。接收方可通过验证该签名值的合法性,确认报文的完整性与发送方的不可抵赖性。
3.2、X.509数字证书的内容
国际电信联盟(ITU-T)制定的X.509标准定义了认证服务的框架,其中数字证书是该标准的核心内容。遵从X.509标准的数字证书,称为X.509数字证书。一个标准的X.509数字证书包含以下内容:
- 版本号:标识证书采用的X.509标准版本(版本1、版本2或版本3)。版本号会影响证书的字段定义,当前通用版本为版本3。
- 序列号:用于唯一标识证书的整数,由CA为每张证书分配的唯一标识符。
- 签名算法标识符:由对象标识符(OID)及相关参数构成,用于说明证书采用的数字签名算法(例如,SHA-1与RSA的组合标识该签名通过RSA算法对SHA-1哈希值加密生成)。
- 认证机构的数字签名:CA通过私钥生成的数字签名,用于确保证书在签发后未被篡改。
- 认证机构:证书颁发机构的可识别名称(X.500名称),即签发该证书的CA在X.500目录中的唯一标识。使用证书即表示信任该签发机构。
- 有效期:证书的有效时间范围(起始日期与终止日期),现行通用证书通常采用UTC时间格式。
- 主体信息:证书持有人的唯一标识,其命名遵循X.500格式规则,确保在互联网上的唯一性。
- 公钥信息:包含证书持有人的公钥、算法标识符及其他相关密钥参数。
- 颁发者唯一标识符:仅在版本2和版本3中要求的可选字段,用于唯一标识证书颁发机构。
- 扩展域:版本3新增的字段,为包含多个扩展项的集合(如密钥用途、证书策略等)。
X.509中,若认证机构Y为用户X颁发证书,可表示为Y<>; Y对信息I的签名表示为Y{I}。例如,CA颁发给用户A的X.509证书可以表示为:

其中,V为版本号,SN为证书序列号,A1为算法标识符,TA为有效期,AP为A的公钥信息。
3.3、数字证书的管理和使用
在数字证书的生命周期中,认证中心(CA)作为权威、可信、公正的第三方机构,负责互联网交易实体数字证书的发放、管理与监督。数字证书的获取、颁发与撤销需严格遵循管理规定。
1)数字证书的获取
通常,用户可从CA直接获取数字证书。数字证书经CA签名,具备不可伪造性。可信CA会为每个用户分配唯一名称,并签发包含该名称与用户公钥的证书。因此,CA无需对证书进行额外特殊保护,仅需将其存储于公共目录中,用户可直接从该目录下载所需证书。
若通信双方(如甲、乙)均持有同一CA签发的数字证书,可直接从公共目录下载对方证书。除公共目录下载外,数字证书也可由用户直接发送给通信对象。
若通信双方甲、乙不属于同一CA,则需通过CA间的信任关系获取对方证书。具体流程为:甲需从CA树状分层结构的底层CA向上层CA逐级查询,直至找到共同信任的CA(即双方信任的根CA)。认证中心通常采用多层树状分级结构组织,CA的树状结构可映射为证书链(见下图)。例如,用户U1与U2安全通信时,需涉及3个证书链(U1、U2、CA1);若U1与U3通信,则需涉及5个证书链(U1、CA1、RootCA、CA3、U3)。跨域证书认证还可通过交叉认证机制实现,该机制能缩短信任路径,提升效率。

一般场景下,若用户A的证书由认证中心X颁发,用户B的证书由认证中心Y颁发,且X与Y相互信任(即交换数字证书),则A获取B证书的流程如下:
- A获取X为Y颁发的证书(表示为X<>),从中提取Y的公钥。
- A获取Y为B颁发的证书(表示为Y<>),从中提取B的公钥。
- A获取B的数字证书的证书链可以表示为X<<Y>>Y<<B>>。同理,B获取A的数字证书的证书链可以表示为Y<<X>>X<<A>>。
- X.500对证书链的长度没有限制,就是说可以有任意多个CA参与证书链。例如,X1, X2,...,Xn是一系列CA,则X1的用户A可以通过以下证书链获取Xn的用户B的证书:

2)数字证书的颁发
- 用户生成自身密钥对,并将公钥及部分个人身份信息提交至认证中心(CA)。
- CA核实用户身份后完成认证,确认请求者为真实用户。
- CA向用户颁发数字证书,证书包含用户个人信息、公钥信息及CA的数字签名。
3)数字证书的撤销
数字证书可存储于网络数据库,用户可通过网络交互证书。因私钥丢失、证书不再使用或CA证书泄露等原因,需在证书过期前撤销。
为保障安全性与完整性,每个CA需通过证书废止列表(CRL)记录所有已撤销但未过期的数字证书,并对外发布供其他CA查询。证书被撤销后,将从证书目录中移除,但签发该证书的CA仍保留副本以备纠纷处理。若用户密钥或CA密钥受损,也会触发证书撤销。每个CA必须维护最新的CRL,用户接收新证书时需先通过CRL检查其是否已被撤销。
3.4、基于数字证书的身份认证
数字证书通过数字签名技术,能够保障信息传输的真实性、完整性与不可否认性。由于签名使用发送方私钥生成,接收方通过发送方公钥验证签名有效性即可确认发送方身份,因此数字证书还可提供身份认证功能。X.509标准定义了以下3种身份认证机制:
- 单向身份认证:发送方A向接收方B单方面提供认证消息以申明自身身份。接收方B收到认证消息后,通过发送方A的公钥验证消息签名的有效性,并核对消息中包含的一次性随机数、时间戳等信息(无须核对接收方自身身份),即可完成对发送方A的身份认证。
- 双向身份认证:在单向认证基础上,增加接收方B的响应环节。发送方A通过验证接收方B的响应信息(如B对A发送的随机数的签名),实现对接收方B的身份认证,最终实现通信双方的身份互认。
- 三向身份认证:作为双向认证的增强模式,适用于通信双方无法同步时钟的场景。完成双向认证后,发送方A对接收方B发送的一次性随机数RB进行数字签名并回传给B。此时双方无须依赖时间戳,仅需验证对方回传的一次性随机数即可检测重放攻击。
4、常用实体认证方法
认证是对抗身份假冒与消息源伪造的基础技术。为应对身份假冒问题,研究者提出了多种身份认证协议------通过网络协议实现通信主体身份认证的技术规范。不同协议对窃听、串扰、重放、冒充等攻击的防御能力各有侧重。当前应用较为广泛的认证协议包括:密码认证协议(Password Authentication Protocol, PAP)、质询-握手认证协议(Challenge Handshake AuthenticationProtocol, CHAP)、Kerberos认证协议、X.509数字证书标准,以及基于共享密钥的认证与基于公钥的认证。其中,基于共享密钥与基于公钥的认证是目前最常用的实体认证方法。
一般而言,实体身份认证在具体实现中主要通过以下3种方式完成:告知已知信息,如口令;展示所具有的特性,如指纹、网络地址等;证明掌握某物来鉴别身份,如USBKey、IC卡等。基于这3种方式对抗身份假冒的几种实体认 证方法如下。
4.1、用户名/密码认证
网络上最基础、最常用的身份认证方式是通过"用户名+密码"组合标识用户身份。这种认证机制的核心逻辑是:用户与操作系统通过"用户名+密码"建立信任关系------用户需先以系统管理员权限注册账号(或由管理员创建),账号中存储用户的唯一标识(如用户名)与密码;后续登录时,用户输入的用户名与密码需与系统中存储的账号信息完全匹配,方可获得系统访问权限。然而,这种方式存在显著安全隐患:许多用户为避免遗忘密码,常使用生日、电话号码等易被猜测的有意义字符串作为密码,或将其记录在纸质文件、未加密的电子文档中,极易导致密码泄露。即使密码未泄露,其静态特性也决定了认证信息在验证过程中需在内存和网络中传输,而每次验证使用的认证信息完全相同,易被内存驻留木马或网络监听设备截获。
因此,用户名/密码认证是一种安全性较低的身份认证方式。
其典型安全威胁包括外部泄露、口令猜测、线路窃听、重放攻击等。其中,重放攻击是指攻击者截获合法用户的通信数据后,重复发送这些数据以冒充合法用户,欺骗系统完成非法操作。为防范重放攻击,验证方需判断接收的数据是否为首次接收,通常通过引入非重复值(Non-Repeating Value, NRV)实现,如时间戳、序列号或随机数。但由于NRV管理复杂,实际应用中更常用一次性口令(One-Time Password, OTP)技术------验证方与声称方同步生成临时有效的NRV,参与口令认证过程。由于攻击者无法生成当前有效的NRV值,重放攻击将因此失效。
4.2、主体特征认证
主体特征认证是通过自动化技术利用人体固有的生理特征或行为动作实现身份识别与验证的技术,主要分为生理特征认证与行为特征认证两类。
研究表明,人体的指纹、掌纹、面孔、发音、虹膜、视网膜、骨骼结构等生理特征具有唯一性和稳定性------每个个体的生理特征独立存在且终生不变,可作为身份识别的依据。同时,个体的生活环境、行为习惯、知识结构等差异,使其书写习惯、肢体运动方式、表情动作等行为特征也具备稳定性和不可复制性。基于这些特性,已发展出指纹识别、虹膜识别、面部识别、发音识别、笔迹识别等多种主体特征认证技术。
主体特征认证的核心流程包括:采集人体物理/行为特征→将特征转换为数字信息→存储于网络系统中→通过可靠匹配算法完成身份认证。以指纹识别为例,其处理过程包含:指纹图像采集→图像预处理与特征提取→特征值比对与匹配。所有主体特征认证系统均需完成"采集-处理-比对-匹配"的完整链路,最终实现对个人身份的精准识别。
4.3、USB Key认证
USB Key(通用串行总线密钥)是一种基于USB接口的智能存储设备,可存储用户密钥或数字证书。其采用软硬件结合的强双因子认证模式(一次一密),通过物理设备与密码信息的双重验证实现用户身份认证。USB Key外形小巧、便于携带,可直接插入计算机USB接口使用。
4.4、IC卡认证
IC卡(集成电路卡)由专用设备生产,通常包含微处理器、存储器及输入/输出接口。微处理器内置唯一的用户标识(ID)、私钥及数字证书,其硬件特性决定了不可复制性,可有效防止用户身份被仿冒。为避免IC卡遗失或被窃,多数系统要求IC卡与身份识别码(PIN)配合使用------仅持有IC卡但无PIN码时无法登录系统。用户登录时需将IC卡插入专用读卡器,系统读取其中信息以验证身份。但需注意,IC卡读取的数据仍为静态信息,通过内存扫描或网络监听等技术仍可能截获认证信息,因此静态认证模式仍存在安全隐患。
4.5、动态密码(也称动态口令)
动态密码技术通过时间或使用次数动态生成一次性密码(OTP),每个密码仅使用一次。该技术采用"一次一密"机制,可有效提升用户身份认证的安全性。
未来,身份认证技术将向更安全、易用、多技术融合的方向发展,动态口令因其易用性优势,有望成为重要发展方向之一。