当前位置:文档之家› 第三章电子商务之认证技术

第三章电子商务之认证技术

(2)提供保密性:因为只有A和B知道密钥k; (3)不能提供数字签名:接收方可以伪造消息,
发送方可以抵赖消息的发送
利用公钥加密体制实现消息认证
① 公钥加密:保密性
M Bob
E
D
Ka
EKa(M)
K’a
提供保密 不能提供认证
M Alice
利用公钥加密体制实现消息认证
② 私钥加密:认证与签名
M Bob
MAC=Ck(M)
MAC函数类似于加密函数,但不需要可逆 性。因此在数学上比加密算法被攻击的弱 点要少
利用MAC实现消息认证
MAC的基本用法:消息认证
K
M Alice
C
||
M
比较
C
Bob
K
CK(M)
提供认证 不能提供保密、签名
利用MAC实现消息认证
MAC的基本用法:与明文有关的认证
M
||
M
EM
① 加随机数。双方记住使用过的随机数,如发 现报文中有以前使用过的随机数,就认为是重 放攻击。缺点是需要额外保存使用过的随机数,
② 加时间戳。该方法优点是不用额外保存其他 信息;缺点是认证双方需要准确的时间同步, 同步越好,受攻击的可能性就越小。
③ 加流水号。就是双方在报文中添加一个逐步 递增的整数,只要接收到一个不连续的流水号 报文(太大或太小),就认定有重放威胁
声称者
验证者
ID 口令
ID 口令
比较
通过共享秘密进行身份认证方式的总结
② 不出示口令方式。申请者用口令加密一个消 息,将加密的消息发给验证者,验证者用口令 解密,如果得到消息明文则验证通过。该方式 解决了口令被窃听和不能双向认证的缺陷,但 仍存在被重放的缺点。
利用散列函数实现消息认证
散列函数的基本用法(a)
K
M
||
M
E
M
D
H K
H(M)
EK(M|H(M))
H
Bob
M
比较
提供保密、提供认证
Alice
利用散列函数实现消息认证
散列函数的基本用法(b)
M
||
M
HE
H 比较
D
EK(H(M)) K
K
Bob
Alice
提供认证
利用散列函数实现消息认证
散列函数的基本用法(c)
若用随机数的话,认证方必须保存以往用过 的所有随机数,避免重复,随着服务次数的增加, 这张表会越来越大。
对付重放攻击的另一种方法
声称者
验证者
ID p
密码p
f
ID
n
r’ ID
n
f
比较
该案称为挑战-应答机制,较好的抵抗了重 放攻击。但付出的代价是增加了一次通信
对付重放攻击-要求输入验证码
对付重放攻击的三种方法
第三章 认证技术
目录
3.1 消息认证 3.2 身份认证 3.3 口令机制 3.4 零知识证明 3.5 其他身份认证机制 3.6 单点登录技术
密码学的基本概念
认证(Authentication)又称鉴别 是验证通信对象是原定者而不是冒名顶替者 (身份认证), 或者确认收到的消息是希望的而不是伪造的 或被篡改过的(消息认证)。
D
E
M
K’b
EK’b(M)
Kb
Alice
提供认证 提供签名
利用公钥加密体制实现消息认证
私钥签名再公钥加密:保密、认证与签名
M
D
E
K’b Dk’b(M)
Ka EKa(Dk’b(M))
Bob
M
E
D Alice
Kb
Dk’b(M)
K’a
提供保密、提供认证
提供签名
利用公钥加密体制实现消息认证
先公钥加密再私钥签名:保密、认证与签名
对付重放攻击的一种方法
声称者
验证者
n
密码p
f
ID
r’ ID n
ID p
f
比较
掺入一个随机数n,使线路上传输的认证 信息每次都不相同
对付重放攻击的方法比较
上述方案中的n是一个非重复值,认证方负责 检查n是否以前曾被用过。若用过,则请求被拒 绝。非重复值可用的实现方法有时戳,随机数等。
若用时戳方法的话,则两边要维护时钟的同步。 很明显,时戳的精度越高,抵抗攻击的强度也越 好。
用户所知道的某种信息(Something the user knows),如口令或某个秘密。
用户拥有的某种物品(Something the user possesses),如身份证、银行卡、密钥盘、 IP地址等。
用户具有的某种特征(Something the user is or how he/she behaves),如指纹、虹膜、 DNA、脸型等。
同时使用两种依据的认证叫做双因素 (Two-factor)认证方式
身份认证系统的组成
一方是出示证件的人,称为示证者P(Prover),又称声 称者(Claimant)。
另一方验证者V(Verifier),检验声称者提出的身份的正 确性和合法性,决定是否满足其要求。
第三方是可信赖者TP(Trusted third party),
S
|| H
M
||
M
比较
|| H S
H(M||S)
Bob
Alice
提供认证
利用散列函数实现消息认证
散列函数的基本用法(f)
K
M
|| M
EM
D
|| H
K
S
H(M||S) EK(M||H(M||S)
M
S
|| H 比较
提供保密
Bob
提供认证
Alice
利用MAC实现消息认证
消息认证码: 使用一个密钥生成一个固定大小的短数据 块,并将该数据块加载到消息后面,称 MAC(或密码校验和)
认证技术的实现通常要借助于加密和数字签名 等密码学的技术。实际上,数字签名本身也是 一种认证技术,它可用来鉴别消息的来源。
3.1 消息认证
消息认证是一个过程,用来验证接收消息的真 实性(的确是由它所声称的实体发来的)和完 整性(未被篡改、插入、删除),同时还可用 来验证消息的顺序性和时间性(未重排、重放、 延迟)。

重放攻击
把口令加密传输可以让攻击者无法知道真 实的口令,可是,这对聪明的攻击者并不造 成麻烦。
他只需把监听的消息录制下来,再用其它的 软件把口令的散列值原封不动的重放给验证 者进行认证,而验证者看到正确的口令散列 值就认为是登录成功的用户,这样攻击者就 可以冒名顶替受害者,从认证者处获取服务 了,我们称这种形式的攻击为重放攻击。
ID Password tade df324 rest hr45 admin tang4 ……
第四步:服务器通知用户
客户机
欢迎admin,您可以 1. 查看账户 2. 转账汇款……
登录成功
服务器
口令机制的身份认证模型
该口令认证模型包括声称者和验证者,上图中 的客户机是声称者,而保存有用户数据库的服 务器是验证者M源自||MHD
H 比较
E
DK’b(H(M)) K’b
Kb
Bob
Alice
提供认证
利用散列函数实现消息认证
散列函数的基本用法(d)
K
M H
Bob
||
M
D DK’b(H(M))
K’b 比较
E
M
D
K Ek(M|DK’b(H(M)) H
M
E
Alice
提供保密 提供认证
Kb
利用散列函数实现消息认证
散列函数的基本用法(e)
利用对称加密体制实现消息认证 利用公钥加密体制实现消息认证 利用散列函数实现消息认证 利用MAC实现消息认证
利用对称加密体制实现消息认证
发送方A和接收方B事先共享一个密钥
M Bob
E
D
K
EK(M)
K
提供保密、提供认证 不能提供签名
M Alice
利用对称加密体制实现消息认证
(1)它能提供鉴别:可确认消息只能发自A, 传输途中未被更改;
声称者
验证者
ID 口令
ID 口令
比较
口令机制面临的威胁
声称者
线路窃听 重放攻击
ID 口令
危及验证 者的攻击
验证者 ID 口令
比较
对付线路窃听的措施
必须在客户端对口令进行加密,可以使用单向 散列函数在客户端对口令进行加密,而服务器 端也只保存口令的散列值
声称者
验证者
ID
口令p
f
ID p’
ID p’
口令机制
口令是目前使用最广泛的的身份认证机制。从 形式上看,口令是字母、数字或特殊字符构成 的字符串,只有被认证者知道。
提示:银行卡密码、邮箱登录密码、保险柜密 码等,准确地说应该叫口令,因为密码(密钥) 是用来加密信息的,而口令是用来作为某种鉴 别的秘密
口令的基本工作过程
第一步:系统提示用户输入用户名和口令
身份认证
身份认证的定义:
声称者向验证者出示自己的身份的证明过程 证实客户的真实身份与其所声称的身份是否相符
的过程
身份认证又叫身份鉴别、实体认证、身份识别 认证目的:
使别的成员(验证者)获得对声称者所声称的事 实的信任。身份认证是获得系统服务所必须的第一 道关卡。
身份认证的依据
M
E
D
Ka
Ea(M)
K’b EK’b(Eka(M))
Bob
M
D
Alice E
K’a
相关主题