第6章 认证技术原理与应用
6.1 认证概述
6.1.1 认证概念
认证是一个实体向另一个实体证明其所声称的身份过程。
认证一般由标识(Identification)和鉴别(Authentication)两部分组成
6.1.2 认证依据
常见认证依据有4类:
- 所知道的密码 (something you know)
- 所拥有的实物凭证(something you have)
- 所具备的生物特征 ( )
- 所表现的行为特征 (something you can do)
y
=
sin
?
(
x
)
y
=
m
o
d
????
x
y
=
C
(
m
o
d
x
)
y=\sin(x)\\y=\mod\!x\\y=C\pmod x
y=sin(x)y=modxy=C(modx)
y
=
f
(
x
)
y=f(x)
y=f(x)
x
=
f
′
(
y
)
x=f'(y)
x=f′(y)
6.1.3 认证原理
认证机制由认证对象、认证协议、鉴别实体构成
认证分类:
单因素认证、多因素认证
-
一次性口令(OTP) -
持续认证: 鉴定因素认识因素、物理因素、上下文因素
6.1.4 认证发展
NSTIC-eID
《网络安全法》《电子签名法》
OpenID SAML OAuth FIDO等国际标准
6.2 认证类型与认证过程
6.2.1 单向认证
两种单向认证的技术方法:
-
基于共享密钥 设验证着和声称者共享一个密钥
K
A
B
K_{AB}
KAB?,
I
D
A
ID_A
IDA?为实体A的标识。则认证过程如下:
- 第一步,A产生并向B发送消息
(
I
D
A
,
K
A
B
)
(ID_A,K_{AB})
(IDA?,KAB?).
- 第二步,B收到
(
I
D
A
,
K
A
B
)
(ID_A,K_{AB})
(IDA?,KAB?)的消息后,B检查
I
D
A
,
K
A
B
ID_A,K_{AB}
IDA?,KAB?的正确性,若正确,则确认A的身份
- 第三步,B回复A验证结果消息
-
基于挑战响应 验证者B生成一个随机数
R
B
R_B
RB?,
I
D
A
ID_A
IDA?为实体A的标识,
I
D
B
ID_B
IDB?为实体B的标识,则认证过程如下:
- 第一步,B生成一个随机数
R
B
R_B
RB?,并向A发送消息
(
I
D
B
,
R
B
)
(ID_B,R_B)
(IDB?,RB?)。
- 第二步,A收到
(
I
D
B
,
R
B
)
(ID_B,R_B)
(IDB?,RB?)消息后,安全生成包含随机数R_B的密钥
K
A
B
K_{AB}
KAB?,并发送消息
(
I
D
A
,
K
A
B
)
(ID_A,K_{AB})
(IDA?,KAB?)到B
- 第三步,B收到
(
I
D
A
,
K
A
B
)
(ID_A,K_{AB})
(IDA?,KAB?)消息后,解密
K
A
B
K_{AB}
KAB?,检查
R
B
R_B
RB?,是否正确,若正确,则确认A的身份。
- 第四步,B回复A验证结果消息
6.2.2 双向认证原理图
6.2.3 第三方认证
第三方认证是指两个实体在鉴别过程中通过可信的第三方来实现。
实体 A 和实体 B 基于第三方的认证方案有多种形式,本文选取一种基于第三方挑战响应的技术方案进行阐述。设A和B各生成随机数为
R
A
R_A
RA?,
R
B
R_B
RB?,
I
D
A
ID_A
IDA?为实体A 的标识,
I
D
B
ID_B
IDB?为实体B的标识,则认证过程简要描述如下: 第一步,实体A 向第三方P发送加密消息
K
P
A
(
I
D
B
,
R
A
)
K_{PA}(ID_B,R_A)
KPA?(IDB?,RA?) 第二步,第三方收到
K
P
A
(
I
D
B
,
R
A
)
K_{PA}(ID_B,R_A)
KPA?(IDB?,RA?)的消息后,解密获取实体A消息。生成消息
K
P
A
(
R
A
,
K
A
B
)
K_{PA}(R_A,K_{AB})
KPA?(RA?,KAB?)和
K
P
B
(
I
D
A
,
K
A
B
)
K_{PB}(ID_A,K_{AB})
KPB?(IDA?,KAB?),发送到实体A。 第三步,实体A发送
K
P
B
(
I
D
A
,
K
A
B
)
K_{PB}(ID_A,K_{AB})
KPB?(IDA?,KAB?)到实体B. 第四步,实体B解密消息
K
P
B
(
I
D
A
,
K
A
B
)
K_{PB}(ID_A,K_{AB})
KPB?(IDA?,KAB?),生成消息
K
A
B
(
I
D
A
,
R
B
)
K_{AB}(ID_A,R_B)
KAB?(IDA?,RB?),然后发送给实体 A。 第五步,实体A解密区
K
A
B
(
I
D
A
,
R
B
)
K_{AB}(ID_A,R_B)
KAB?(IDA?,RB?),生成消息
K
A
B
(
I
D
B
,
R
B
)
K_{AB}(ID_B,R_B)
KAB?(IDB?,RB?)发送给实体B 第六步,实体 B解密消息
K
A
B
(
I
D
B
,
R
B
)
K_{AB}(ID_B,R_B)
KAB?(IDB?,RB?),检查尽的正确性,若正确,则实体 A认证通过。 第七步,B 回复A验证结果消息。
6.3 认证技术方法
6.3.1 口令认证技术
口令认证一般要求参与认证的双方按照事先约定的规则。用户发起服务请求,然后用户被要求向服务实现体提供瀛湖标识和用户口令,服务实体验证其正确性,若验证通过,则允许用户访问,
设用户A的标识为
U
A
U_A
UA?,口令为
P
A
P_A
PA?,,服务方实体为B,则认证过程描述如下:
第一步,用户A发送消息(
U
A
,
P
A
U_A,P_A
UA?,PA?)到服务方B。
第二步,B收到(
U
A
,
P
A
U_A,P_A
UA?,PA?)消息后。检查
U
A
和
P
A
U_A和P_A
UA?和PA? 的正确性。若正确,则通过用户A到认证。
第三步,B回复用户A验证结果消息。
口令加密处理
口令安全至少满足以下条件:
- 口令信息要安全加密存储
- 口令信息要安全传输
- 口令认证协议要抵抗攻击,符合安全协议设计要求
- 口令选择要做到避免若口令
6.3.2 智能卡技术
6.3.3 基础生物特征认证技术
6.3.4 Kerberos认证技术- P125
6.3.5 公钥基础设施技术(PKI)
6.3.6 单点登录
6.3.7 基于人机识别认证技术
6.3.8 多因素认证技术
6.3.9 基于行为的身份鉴别技术
6.3.10 快速在线认证(FIDO)
登记注册
登录认证
6.4 认证主要产品与技术指标
6.4.1 认证主要产品
-
系统安全增强 -
生物认证 -
电子认证服务 -
网络准入控制 -
身份认证网关
6.4.2 主要技术指标
- 密码算法支持
- 认证准确性
- 用户支持数量
- 安全保障级别
6.5 认证技术应用
常见场景:
- 用户身份验证
- 信息来源证实
- 信息安全级别保护
6.5.1 校园信任体系建设应用参考
6.5.2 网络路由认证应用参考
6.5.3 基于人脸识别及防门禁管理应用参考
6.5.4 eID身份验证应用参考
6.5.5 HTTP认证应用参考
|