大数据安全复习——第六章数字签名和身份认证协议

数字签名

数字签名的特征

• 必须能够验证签名者、签名日期和时间;
• 必须能够认证被签的消息内容;
• 签名应能够由第三方仲裁,以解决争执。

数字签名的满足条件

• 数字签名必须是与消息相关的二进制位串;
• 签名必须使用发送方某些独有的信息,以防伪造和否认;
• 产生数字签名比较容易;
• 识别和验证数字签名比较容易;
• 伪造数字签名在计算上是不可行的;
• 保存数字签名的拷贝是可行的。

数字签名体制

• 一个数字签名体制应由以下部分组成:
– 一个明文消息空间M:某字母表中串的集合;
– 一个签名空间S:可能的签名集合;
– 一个签名密钥空间K:用于生成签名的可能密
钥集合;一个认证密钥空间K’:用于验证签
名的可能密钥集合;
– 一个有效的密钥生成算法;
– 一个有效的签名算法s←Signsk(m) ;
– 一个有效的验证算法
Verifypk(m,s)={True,False}

数字签名的解决方案

直接数字签名

相关介绍

实现比较简单,在技术上仅涉及到通信的源点X和终点Y
双方。
• 终点Y需要了解源点X的公开密钥Kux。
• 发送方A可以使用其私有密钥KRx对整个消息进行加密来
生成数字签名。
• 更好的方法是使用KRx对消息的散列码进行加密来形成数
字签名。

直接数字签名的安全性

方案的安全性依赖于发送方X私有密钥的安全性。
– 发送方可以声称自己的私有密钥丢失或被盗用,而否认其发送过某个
报文。
• 改进:每个签名报文中包含一个时间戳。
– 问题:
• X 的私有密钥确实在时间 T 被窃取;
• 攻击者窃取 X 的密钥后,则可能发送带有 X 的签名报文,附上一个等于
T 的时间戳,接受者无法判别。

基于仲裁的数字签名

基本内容

通过引入仲裁来解决直接签名方案中的问题。
• 仲裁者必须是一个所有通信方都能充分信任的仲裁机构。
• 基本工作方式(假定用户X和Y之间进行通信):
– 每个从X发往Y的签名消息首先被送给仲裁者A;
– A检验该报文及其签名的出处和内容,然后对报文注明日期,并附加
上一个“仲裁证实”的标记发给Y。

对称密钥加密方式(1)

• 发送方X和仲裁A共享一个密钥Kax 。A和Y共
享密钥Kay。
• 数字签名由X的标识符IDx和消息的散列码
H(M)构成 ,用密钥Kax进行加密。
• 过程:
(1)X → A :M‖EKax( IDx‖H(M) )。
(2)A → Y :EKay( IDx‖M‖EKax( IDx‖H(M) )‖T )。
(3) Y存储报文M及签名。
• 当发生争端时解决方式
– Y → A :EKay( IDx‖M‖EKax( IDx‖H(M) ) )。
– 仲裁A可用Kay恢复出IDx 、M及签名,然后再用Kax对签名
解密并验证其散列码。
• 特点:
– Y 不能直接验证 X 的签名。
– 双方都需要高度相信 A
• Y 相信 A 已对消息认证,X 不能否认其签名;
• X 信任 A 没有暴露 Kxa,无人可伪造 签名;
• 双方都信任 A 处理争议是公正。
– 问题:
• 报文 M 明文传送给A,有可能被窃听。

对称密钥加密方式(2)
  • 明文加密的方案(仲裁方不能阅读消息)
    – 假定X和Y共享密钥Kxy。X用Kxa对其标识、用Kxy加密
    后的消息的hash值产生签名,然后将其标识、用Kxy
    加密后的消息和签名发送给A。
    – (1)X → A :IDx‖EKxy (M)‖EKax( IDx‖H (EKxy(M)) )。
    – (2)A → Y :EKay( IDx‖EKxy (M)‖EKax( IDx‖H (EKxy(M))‖T )。
    • 特征:
    – X 与 Y 之间共享密钥 Kxy 。
    – 签名的构成:IDx 和消息密文的散列码用 Kxa 加密。
    – 签名的验证:A 解密签名,用散列码验证消息。
    • A 只能验证消息的密文,而不能读取其内容。
    – A 将来自 X 的所有信息加上时间戳并用 Kay 加密后发送给Y 。
    • 问题:
    – A 和发送方 X 联手可以否认签名的信息。
    – A和接收方 Y 联手可以伪造发送方 X 的签名
公开密钥加密方式

• 特点:仲裁者看不见消息的内容。
• 过程:
– X 对消息 M 进行两次加密。
– 经过双重加密后,报文 M 只有 Y 能够阅读,A 不能读取
X→A: IDx || EKRx [ IDx || EKUy [ EKRx(M) ] ]
– A 能进行外层的解密,从而证实报文确实是来自 X 的
• 因为只有 X 拥有KRx 。
– 验证后 A 向 Y 发送用 KUy 加密的报文,其中包括时间戳 T
A→Y: EKRa [ IDx || EKUy [ EKRx(M) ] || T]
• 优点:
– 通信各方之间无须共享任何信息,从而避免了联手作弊;
– 只要 KRa 安全,则不会出现伪造 A 发送的消息;
– 消息的内容是保密的,包括对 A 在内。

RSA 签名方案

利用椭圆曲线实现数字签名

特殊数字签名

• 代理签名:指签名人将其签名权委托给代理人,由代理人代表
他签名的一种签名。
• 多重签名:由多人分别对同一文件进行签名的特殊数字签名。
• 群签名:由个体代表群体执行签名,验证者从签名不能判定签
名者的真实身份,但能通过群管理员查出真实签名者。
• 环签名:一种与群签名有许多相似处的签名形式,它的签名者
身份是不可跟踪的,具有完全匿名性
• 前向安全签名:主要是考虑密钥的安全性,签名私钥能按时间
段不断更新,而验证公钥却保持不变。攻击者不能根据当前时
间段的私钥,推算出先前任一时间段的私钥,从而达到不能伪
造过去时间段的签名,对先前的签名进行了保护。
• 双线性对技术:它是利用超奇异椭圆曲线中Weil对和Tate对所
具有的双线性性质,构造各种性能良好的数字签名方案。

认证协议(Kerberos)

• Kerberosᨀ供了一个集中式的认证服务器结构,认
证服务器的功能是实现用户与其访问的服务器间的
相互鉴别。
• Kerberos建立的是一个实现身份认证的框架结构。
• 其实现采用的是对称密钥加密技术,而未采用公开
密钥加密。
• 公开发布的Kerberos版本包括版本4和版本5

问题

• 在一个开放的分布式网络环境中,用户通过工作站访
问服务器上ᨀ供的服务。
– 服务器应能够限制非授权用户的访问并能够认证对服务的请求。
– 工作站不能够被网络服务所信任其能够正确地认定用户,即工作站存
在三种威胁。
存在的三种威胁。
• 一个工作站上一个用户可能冒充另一个用户操作;
• 一个用户可能改变一个工作站的网络地址,从而冒充另一台工作
站工作;
• 一个用户可能窃听他人的信息交换,并用回放攻击获得对一个服
务器的访问权或中断服务器的运行。

Kerberos 要解决的问题

• 所有上述问题可以归结为一个非授权用户能够获
得其无权访问的服务或数据。
• 不是为每一个服务器构造一个身份认证协议,
Kerberosᨀ供一个中心认证服务器,ᨀ供用户到
服务器和服务器到用户的认证服务。
• Kerberos采用传统加密算法(无公钥体制)。
• Kerberos Version4和Version5 (RFC1510)。

C/S 环境下三种可能的安全方案

• 相信每一个单独的客户工作站可以保证对其用户的识别,并依赖于每一
个服务器强制实施一个基于用户标识的安全策略。
• 要求客户端系统将它们自己向服务器作身份认证,但相信客户端系统负
责对其用户的识别。
• 要求每一个用户对每一个服务证明其标识身份,同样要求服务器向客户
端证明其标识身份。

Kerberos 的解决方案

• Kerberos支持以上三种策略。
• 在一个分布式的client/server体系机构中采用一个
或多个Kerberos服务器ᨀ供一个认证服务。
• 总体方案是ᨀ供一个可信第三方的认证服务。

Kerberos 的设计目标

• 安全性
– 能够有效防止攻击者假扮成另一个合法的授权用户。
• 可靠性
– 分布式服务器体系结构,ᨀ供相互备份。
• 对用户透明性
– 用户除了输入口令,不需要知道认证的发生;
• 可伸缩
– 能够支持大数量的客户和服务器。

Kerberos 的设计思路(1)

• 基本思路:
– 使用一个(或一组)独立的认证服务器(AS —Authentication Server
),来为网络中的客户ᨀ供身份认证服务;
– 认证服务器 (AS),用户口令由 AS 保存在数据库中;
– AS 与每个应用服务器共享一个惟一保密密钥(已被安全分发)。
• 会话过程:
(1) C → AS: IDC || PC || IDV
(2) AS → C: Ticket
(3) C → V : IDC || Ticket
Ticket = EKV[IDC || ADC || IDV]

Kerberos 的设计思路(2)

• 问题:
– 用户希望输入口令的次数最少。
– 口令以明文传送会被窃听。
• 解决办法
– 票据重用(ticket reusable)。
– 引入票据许可服务器(TGS - ticket-granting server)
• 用于向用户分发服务器的访问票据;
• 认证服务器 AS 并不直接向客户发放访问应用服务器的票据,而是由 TGS
服务器来向客户发放。

Kerberos 中的票据

• 两种票据
– 票据许可票据(Ticket granting ticket)
• 客户访问 TGS 服务器需要ᨀ供的票据,目的是为了申请某一个
应用服务器的 “服务许可票据”;
• 票据许可票据由 AS 发放;
• 用 Tickettgs 表示访问 TGS 服务器的票据;
• Tickettgs 在用户登录时向 AS 申请一次,可多次重复使用;
• Tickettgs 定义为 EKtgs [ IDC‖ADC‖IDtgs‖TS1‖LT1 ]。
– 服务许可票据(Service granting ticket)
• 是客户访问服务器时需要ᨀ供的票据;
• 用 TicketV 表示访问应用服务器 V 的票据。
• TicketV 定义为 EKv [ IDC‖ADC‖IDV‖TS2‖LT2 ]。

Kerberos V4 的认证对话

Kerberos V4 的认证过程(1)

Kerberos 领域(realm)

Kerberos 领域间的互通

远程服务访问的认证过程

Kerberos V4 的

数字签名标准(DSS)

DSS基于安全散列算法(SHA)并设计了一种新的数字签名技术,即
DSA(数字签名算法)。

数字签名算法(DSA)

DSS的数字签名方案

身份认证技术

• 数字签名和鉴别技术的一个最主要的应用领域就是身份认
证。
• 身份认证的作用是对用户的身份进行鉴别。
• 认证不能自动ᨀ供保密性,而保密性也不能自然地ᨀ供认
证功能。

纯认证系统模型

身份认证技术和数字签名的区别

• 两者都是确保数据真实性的安全措施。
• 认证一般是基于收发双方共享的保密数据,以证实被鉴别对象的真实
性;而用于验证签名的数据是公开的。
• 认证允许收发双方互相验证其真实性,数字签名则允许第三者验证。
• 对于数字签名来说,发送方不能抵赖、接收方不能伪造,并且可由仲
裁进行调解,而认证却不一定具备这些特点。
• 认证技术的实现可能需要使用数字签名技术

身份认证系统的特征

• 验证者正确识别合法客户的概率极大。
• 攻击者伪装示证者骗取验证者信任的成功率极小化。
• 通过重放认证信息进行欺骗和伪装的成功率极小。
• 计算有效性,实现身份认证的算法计算量足够小。
• 通信有效性,实现身份认证所需的通信量足够小。
• 秘密参数能够安全存储。
• 第三方的可信赖性。
• 可证明安全性。

基本的身份认证方法

主体特征认证
– 视网膜扫᧿、声音验证、指纹识别器。
• 口令机制
– 口令是约定的代码,假设只有用户和系统知道。
• 智能卡
– 访问不但需要口令,也需要使用物理智能卡。
• 一次性口令
– 用户每次使用不同的口令,需要口令发生器设备。
• PAP 协议(Password Authentication Protocol)
– 用于 PPP(点对点)协议的身份认证协议,明文口令传输。
• CHAP 协议(Challenge Handshake Authentication
Protocol)
– 不在网络上传送口令信息, 比 PAP 具有更强的安全性。

分布式环境中的身份认证

认证服务

• 证实通信中某一方的身份。
• 两个基本的方式 :
– 相互鉴别(mutual Certification);
– 单向鉴别 (one-way Certification)。

相互认证

• 目的:用于通信各方之间的相互进行身份认证,同时交换会话密钥。
• 需要解决的核心问题:
– 密钥交换的机密性和时效性。
• 机密性
– 防止会话密钥被篡改或和泄露;
– 用户身份信息和会话密钥都必须以密文形式交换;
– 前ᨀ:通信各方与事先保存一个密钥(共享或公开密钥)。
• 时效性:为了防止消息的重放攻击。

消息重放攻击

• 攻击过程:
– 窃听。
– 复制或部分复制一个报文。
– 在以后的某个时间重放
• 可以拦截原信息,用重放消息取代;
• 可以在一个合法有效的时间窗内重放一个带时间戳的
消息。
• 后果:扰乱接收者正常的工作;窃取会话密
钥,假扮成一个通信方欺骗其他人。

重放攻击的解决方式

• 报文序号方式
– 在认证交换中对消息报文编排序号,消息序号合法时才接受。
– 问题:通信各方必须保持序号同步。
• 时间戳方式
– 在报文中附加发送的时间戳;接收时只有报文时间戳与本地时间足够
接近时,才认为是一个合法的新报文。
– 问题:
• 通信各方的时钟同步比较困难;
• 时间窗口的大小如何确定。

基于对称密钥加密的相互鉴别

基于公开密钥加密的相互鉴别

单向鉴别

• 主要用于电子邮件认证等应用。
• 特点:发方和收方无需同时在线。
– 鉴别时收发方不能在线交互

基于对称密钥加密的单向鉴别

基于公开密钥加密的单向鉴别

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值