第6章 数字签名
pdf第6章 公钥密码体制

12
6.3 RSA算法 算法
• • • • 分组密码,安全性依赖于大数的因子分解。 分组密码,安全性依赖于大数的因子分解。 是第一个较为完善的公钥算法。 是第一个较为完善的公钥算法。 能够同时用于加密和数字签名,且易于理解和操作。 能够同时用于加密和数字签名,且易于理解和操作。 RSA是被研究得最广泛的公钥算法,从提出到现在已近二 是被研究得最广泛的公钥算法, 是被研究得最广泛的公钥算法 十年,经历了各种攻击的考验,逐渐为人们接受, 十年,经历了各种攻击的考验,逐渐为人们接受,被普遍 认为是目前最优秀的公钥算法之一。 认为是目前最优秀的公钥算法之一。 • 目前仍然无法从理论上证明它的保密性能究竟如何 ,因 为人们并没有从理论上证明破译RSA的难度与大整数分解 为人们并没有从理论上证明破译 的难度与大整数分解 问题的难度等价。 问题的难度等价。
• 数字签名和认证
– 只有解密密钥能解密,只有正确的接收者才拥有解密密钥。 只有解密密钥能解密,只有正确的接收者才拥有解密密钥。
6
6.2 公钥密码算法基础
• 单向函数
– 对于一个函数 f ( x ) 如果对于其定义域上的任意 x, , , f ( x ) 都容易计算,同时 对于其值域中几乎所有的取值 y , 都容易计算, f被称 (x) 都是不可行的, 计算其逆函数 f − 1都是不可行的,则函数 ( y) 为单向函数。 为单向函数。
• 构造公钥密码系统的关键是如何在求解某个单 构造公钥密码系统的关键是如何在求解某个单 关键 向函数的逆函数中设置合理的“陷门” 向函数的逆函数中设置合理的“陷门”
8
• 单向陷门函数是满足下列条件的函数 : 单向陷门函数是满足下列条件的函数f: 1.正向计算容易。即如果知道了密钥 b和消息 ,容易计 正向计算容易。即如果知道了密钥KU 和消息x,
第6章身份认证与数字签名

Instruction
One of the earliest and also one of the most widely used services. Two versions of Kerberos are in common use.
Version 4 implementations still exist. Version 5 corrects some of the security deficiencies of version 4 and has been issued as a proposed Internet Standard (RFC 1510).
Key Points
Kerberos is an authentication service designed for use in a distributed environment. Kerberos makes use of a trusted third-part authentication service that enables clients and servers to establish authenticated communication.
(3) C → TGS: IDC||IDV||Tickettgs
Tickettgs = E(Ktgs, [IDC||ADC||IDtgs||TS1||Lifetime1])
1. 客户端将用户标识,TGS标识一起送往AS,申请得 到票据授权票据ticket-granting ticket. 2. AS用从用户口令推出的密钥Kc(事先已经存储在AS 中)将票据加密,并发送给客户端.由用户在客户端 输入口令,并得到Kc,将收到的消息解密,得到票据 授权票据ticket-granting ticket . The client module in the user workstation saves this ticket-granting ticket. Because only the correct user should know the password, only the correct user can recover the ticket. Thus, we have used the password to obtain credentials from Kerberos without having to transmit the password in plaintext.
第6章 网络与信息安全习题

第6章网络与信息安全习题一、单选题1.在计算机网络中,用于提供网络服务的计算机一般被称为_____。
A.服务器B.移动PCC.工作站D.工业PC2.计算机网络中的服务器是指_____。
A.32位总线的高档微机B.具有通信功能的PII微机或奔腾微机C.为网络提供资源,并对这些资源进行管理的计算机D.具有大容量硬盘的计算机3._____是通信双方为实现通信所作的约定或对话规则。
A.通信机制B.通信协议C.通信法规D.通信章程4.开放系统互联参考模型OSI/RM分为_____层。
A. 4B. 6C.7D.85.计算机通信中数据传输速率单位bps代表_____。
A.baud per secondB.byte per secondC.bit per secondD.billion per second6.计算机通信就是将一台计算机产生的数字信号通过_____传送给另一台计算机。
A.数字信道B.通信信道C.模拟信道D.传送信道7.通常用一个交换机作为中央节点的网络拓扑结构是_____。
A.总线型B.环状C.星型D.层次型8.某网络中的各计算机的地位平等,没有主从之分,我们把这种网络称为_____。
A.互联网B.客户/服务器网络操作系统C.广域网D.对等网9.当网络中任何一个工作站发生故障时,都有可能导致整个网络停止工作,这种网络的拓扑结构为_____结构。
A.星型B.环型C.总线型D.树型10.星型拓扑结构的优点是_____。
A.结构简单B.隔离容易C.线路利用率高D.主节点负担轻11.和广域网相比,局域网_____。
A.有效性好但可靠性差B.有效性差但可靠性好C.有效性好可靠性也好D.只能采用基带传输12.关于局域网的叙述,错误的是_____。
A.可安装多个服务器B.可共享打印机C.可共享服务器硬盘D.所有的共享数据都存放在服务器中13.为了利用邮电系统公用电话网的线路来传输计算机数字信号,必须配置_____。
第6章--IPv6安全机制

3. SA用到的主要参数
SA用到的主要参数: ⑥隧道目的地; ⑦路径MTU; ⑧AH信息(包括认证算法、密钥、密钥生存期,以及与 AH一起使用的其他参数); ⑨ESP信息(包括加密和认证算法、密钥、密钥生存期 、初始值,以及与ESP一起使用的其他参数)
6.2.4 IPSec操作模式
传输模式保护IP协议包(分组)的有效荷载(数据 部分)
6.2.1 IPSec协议概述
IPSec提供的安全服务是基于IP层的 IPSec是一种基于一组独立的共享密钥机制, 来 实现认证、完整性验证和加密服务的网络安全 协议
6.2.1 IPSec协议概述
IPSec通过设计安全传输协议身份认证首部( AH)、封装安全荷载(ESP), 以及密钥交换 协议(Internet Key Exchange, IKE)来实现网 络安全功能和目标 IPSec提供的网络安全功能
6.6.1 邻居缓存欺骗攻击
6.6.2 邻居不可达检测攻击
但检测主机开始进行邻居不可达检测的时候, 攻击主机可以发送虚假的邻居通告报文, 详细 的邻居通告报文信息
6.6.2 邻居不可达检测攻击
重复地址检测的过程
攻击主机可以通过伪造一个NA告诉受攻击主机申请的IPv6地 址已被占用, 使得受攻击主机不得使用该IPv6地址进行网络通 信, 从而达到欺骗请求主机
6. 过渡机制带来的安全问题 隧道帮助了入侵者避开进入过滤检测 特别是自动隧道机制,容易引入DoS、地址盗用 和服务欺骗
6.2 IPSec协议
6.2.1 IPSec协议概述 6.2.2 IPSec体系结构 6.2.3 IPsec安全关联 6.2.4 IPSec操作模式 6.2.5 IPSec模块对IP分组的处理 6.2.6 IPSec部署 6.2.7 IPSec存在问题分析
认证与数字签名

(4)甲随机产生一个加密密钥(如DES 密钥),并用此密钥对要发送的信息进行 加密,形成密文。
(5)甲用乙的公钥(PK)对刚才随机产 生的加密密钥进行加密,将加密后的DES 密钥连同密文一起传送给乙。
(6)乙收到甲传送过来的密文和加过密的 DES密钥,先用自己的私钥(SK)对加密 的DES密钥进行解密,得到DES密钥。
(1)注册服务器:通过 Web Server 建立的 站点,可为客户提供每日24小时的服务。因此客 户可在自己方便的时候在网上提出证书申请和填 写相应的证书申请表,免去了排队等候等烦恼。
(2)证书申请受理和审核机构:负责证书的申 请和审核。它的主要功能是接受客户证书申请并 进行审核。
(3)认证中心服务器:是数字证书生成、发放 的运行实体,同时提供发放证书的管理、证书废 止列表(CRL)的生成和处理等服务。
为什么要用数字证书
因而Internet电子商务系统必须保证具有 十分可靠的安全保密技术。也就是说,必 须保证网络安全的四大要素,即信息传输 的保密性、数据交换的完整性、发送信息 的不可否认性、交易者身份的确定性。
我们可以使用数字证书,通过运用对称和 非对称密码体制等密码技术建立起一套严 密的身份认证系统,从而保证:信息除发 送方和接收方外不被其他人窃取;信息在 传输过程中不被篡改;发送方能够通过数 字证书来确认接收方的身份;发送方对于 自己的信息不能抵赖。
通过数字签名能够实现对原始报文鉴别与 验证,保证报文的完整性、权威性和发送 者对所发报文的不可抵赖性。数字签名机 制提供了一种鉴别方法,普遍用于银行、 电子贸易等,以解决伪造、抵赖、冒充、 篡改等问题。
数字签名与数据加密完全独立。数据可以 既签名又加密,只签名,只加密,当然, 也可以既不签名也不加密。
6第6章电子认证

2.电子认证机构的设立
(3)未经许可提供电子认证服务应承担的 法律责任
《电子签名法》第二十九条规定“未经许可提供电子认 证服务的,由国务院信息产业主管部门责令停止违法行 为;有违法所得的,没收违法所得;违法所得三十万元 以上的,处违法所得一倍以上三倍以下的罚款;没有违 法所得或者违法所得不足三十万元的,处十万元以上三 十万元以下的罚款。”
第6章《电子认证》
• 电子认证概述 • 认证机构
• 数字证书
• 法律关系
6.1电子认证概述
电子签名虽然将电子文件与其签署人紧密的 联系在一起,解决了电子文件的辨别问题,但是 并没有在陌生的商事主体之间,建立起交易所需 的起码的信任度。电子签名侧重于解决身份辨别 与文件归属问题。(技术) 电子认证解决的是密钥及其持有人的可信度 问题,因为密钥存在着丢失、被盗、被破译等风 险。这就产生了公开密钥的辨别与认证的有效性 问题,即需要由一个权威的机构对公开密钥进行 管理、认证。(组织)
三、认证机构的设立条件
1认证机构应具备的条件 (1)是独立的法律实体,以自己的名义从事认 证服务并独立承担责任; (2)具有中立性、可靠性、权威性,不直接参 与用户与信赖方之间的商事交易,不以营 利为目的; (3)被交易的当事人所接受,在社会上具有相 当的影响力和可信度。
2、认证机构的行业准入条件
6.1.2 电子认证的作用
对外防止欺诈、对内防止否认 防止欺诈:防范交易当事人以外的人, 故意入侵而造成风险所必须的; 防止否认:则是针对交易当事人之间, 可能产生的误解或抵赖而设置的,以 便在电子商务交易当事人之间预防纠 纷。其目的都是为了减少交易风险。
防止欺诈
认证机构通过向其用户提供可靠的在线目录(在 线证书状态查询),保证证书名单上的用户名字 与公开密钥是正确的,满足用户实时证书验证的 要求,从而解决了可能被欺骗的问题。 如果甲与乙都是用户,认证机构的在线目录,就 将同时包含二者的证书。该证书是包括用户姓名, 公开密钥,电子邮件地址,以及其他信息的数字 化的文件。认证机构还对每个证书,都附加有数 字签名,以此证明证书的内容是可靠的。
第六章 电子商务法律法规基本知识

采用公开密钥的电子商务系统中,对文件 进行传输过程的6个步骤: ① 买方从虚拟市场寻找欲购买商品,确定需 联系的卖方,从认证机构获得卖方的公钥 ② 买方生成一个自己的私钥并用从认证机构 得到的卖方的公钥对自己的私钥进行加密 ,再通过网络传输给卖方。 ③ 卖方用自己的公钥进行解密后得到买方的 私钥。
④ 买方对需传输的文件用自己的私钥进行加 密,后通过网络把加密后的文件传输给卖 方。 ⑤ 卖方用买方的私钥对文件进行解密得到文 件的明文形式。 ⑥ 卖方重复上述步骤向买方传输文件。
在上述过程中,只有卖方和认证中心才拥有 卖方的公钥,或只有买方和认证中心才拥 有买方的公钥。
认证过程同样可以运行在电子支付过程中: 持卡人要付款给商家,在无法确认商家身份 和信誉时,请求CA认证中心对商家认证, CA对商家进行调查、验证和鉴别后,将包 含商家公钥的证书传给持卡人。同样,商家 也可对持卡人进行验证。证书一般包含拥有 者的标识名称和公钥,并由CA进行过数字 签名。
1、提起争议的域名与投诉人所持有的商标 或服务标记相同或具有误导性的相似;且 2、域名持有人对该域名本身并不享有正当 的权利或合法的利益;且 3、域名持有人对域名的注册和使用均为恶 意。
恶意注册和使用域名的行为包括: ① 有证据证明,域名持有人注册或获得域名 的主要目的是为了向商标或服务标记的所 有者或所有者的竞争者出售、出租或以其 他任何形式转让域名,以期从中获得额外 价值。 ② 根据域名持有人的行为可以证明,域名持 有人注册或获得域名的目的是为了阻止商 标和服务标记持有人通过一定形式的域名 在互联网上反映其商标。
第二节 电子商务参与各方的法律关系
① ② ③ ① ② 一、电子商务交易中买卖双方当事人的权利和 义务。 1、卖方的义务: 按照合同的规定提交标的物及单据。 对标的物的权利承担担保义务。 对标的物的质量承担担保义务。 2、买方的义务: 应承担按交易规定方式支付价款的义务。 应承担按合同规定的时间、地点和方式接受标 的物的义务。 应承担对标的物验收的义务。
第6章 数字签名技术

6.2 基于公钥密码体制的典型数字签名方案
RSA数字签名方案 数字签名方案 基于RSA公钥密码体制的数字签名方案通常称为RSA RSA公钥密码体制的数字签名方案通常称为RSA数字签名方案 基于RSA公钥密码体制的数字签名方案通常称为RSA数字签名方案。 RSA数字签名体制的基本算法可以表述如下 数字签名体制的基本算法可以表述如下: RSA数字签名体制的基本算法可以表述如下: (1) 系统初始化过程 计算n=p n=p× ① 产生两个大素数 p,q;计算n=p×q; 随机选取一个与Φ(n)互素的整数e作为公钥,私钥d Φ(n)互素的整数 ② 随机选取一个与Φ(n)互素的整数e作为公钥,私钥d满 Φ(n); 足ed=1 mod Φ(n); 用户A将公开公钥e 而私钥d 以及p 则严格保密。 用户A将公开公钥e与n,而私钥d,以及p,q则严格保密。 (2) 签名产生过程 用户A对消息M∈Zn进行签名, M∈Zn进行签名 用户A对消息M∈Zn进行签名,计算 为签名方A的私钥。 SA=Sig (M)=Md mod n ;其中d为签名方A的私钥。 并将S 附在消息M后作为对用户对消息M的签名。 并将SA附在消息M后作为对用户对消息M的签名。
k
(m)
4/26
第6章 数字签名技术 五元组{M, 五元组{M,S,K,sig,ver}就称为一个签名算法。 {M sig,ver}就称为一个签名算法。 就称为一个签名算法 归纳起来,一个数字签名方案的应用一般包括三个过程: 归纳起来,一个数字签名方案的应用一般包括三个过程: 系统初始化过程: (1)系统初始化过程:产生数字签名方案中用到的所有系统和用户参数 有公开的,也有秘密的。 ,有公开的,也有秘密的。 签名产生过程: (2)签名产生过程:在此过程用户利用给定的签名算法和参数对消息产 生签名,这种签名过程可以公开也可以不公开, 生签名,这种签名过程可以公开也可以不公开,但一定包含仅签名者才拥 有的秘密信息(签名密钥)。 有的秘密信息(签名密钥)。 签名验证过程: (3)签名验证过程:验证者利用公开的验证方法和参数对给定消息的签 名进行验证,得出签名的有效性。 名进行验证,得出签名的有效性。 数字签名的执行方式 数字签名的执行方式有两类:直接数字签名方式和具有仲裁的数字签名方。 数字签名的执行方式有两类:直接数字签名方式和具有仲裁的数字签名方。 1. 直接方式 直接方式是指数字签名的执行过程只有通信双方参与, 直接方式是指数字签名的执行过程只有通信双方参与,并假定双方有共 享的秘密密钥,或者接收一方知道发方的公开密钥。 享的秘密密钥,或者接收一方知道发方的公开密钥。 直接数字签名有一些共同的缺点: 直接数字签名有一些共同的缺点:方案的有效性依赖于发送方秘密 密钥的安全性。 密钥的安全性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第6章数字签名第五章介绍的公钥密码体制不仅能够有效解决密钥管理问题,而且能够实现数字签名(Digital Signature),提供数据来源的真实性、数据内容的完整性、签名者的不可否认性以及匿名性等信息安全相关的服务和保障。
数字签名对网络通信的安全以及各种用途的电子交易系统(如电子商务、电子政务、电子出版、网络学习、远程医疗等)的成功实现具有重要作用。
本章简要介绍数字签名的基本原理,重点给出常用的RSA签名、Rabin签名、ElGamal 签名等数字签名体制,以及数字签名标准DSS。
6.1 数字签名的基本原理6.1.1 数字签名的基本概念第四章讨论的Hash函数和消息认证码能够帮助合法通信的双方不受来自系统外部的第三方攻击和破坏,但却无法防止系统内通信双方之间的互相抵赖和欺骗。
当Alice和Bob进行通信并使用消息认证码提供数据完整性保护,一方面Alice确实向Bob发送消息并附加了用双方共享密钥生成的消息认证码,但随后Alice否认曾经发送了这条消息,因为Bob完全有能力生成同样消息及消息认证码;另一方面,Bob也有能力伪造一个消息及认证码并声称此消息来自Alice。
如果通信的过程没有第三方参与的话,这样的局面是难以仲裁的。
因此,安全的通信仅有消息完整性认证是不够的,还需要有能够防止通信双方相互作弊的安全机制,数字签名技术正好能够满足这一需求。
在人们的日常生活中,为了表达事件的真实性并使文件核准、生效,常常需要当事人在相关的纸质文件上手书签字或盖上表示自己身份的印章。
在数字化和网络化的今天,大量的社会活动正在逐步实现电子化和无纸化,活动参与者主要是在计算机及其网络上执行活动过程,因而传统的手书签名和印章已经不能满足新形势下的需求,在这种背景下,以公钥密码理论为支撑的数字签名技术应运而生。
数字签名是对以数字形式存储的消息进行某种处理,产生一种类似于传统手书签名功效的信息处理过程。
它通常将某个算法作用于需要签名的消息,生成一种带有操作者身份信息的编码。
通常我们将执行数字签名的实体称为签名者,所使用的算法称为签名算法,签名操作生成的编码称为签名者对该消息的数字签名。
消息连同其数字签名能够在网络上传输,可以通过一个验证算法来验证签名的真伪以及识别相应的签名者。
类似于手书签名,数字签名至少应该满足三个基本要求:(1)签名者任何时候都无法否认自己曾经签发的数字签名;(2)收信者能够验证和确认收到的数字签名,但任何人都无法伪造别人的数字签名;(3)当各方对数字签名的真伪产生争议时,通过仲裁机构(可信的第三方)进行裁决。
数字签名与手书签名也存在许多差异,大体上可以概括为:(1)手书签名与被签文件在物理上是一个整体,不可分离;数字签名与被签名的消息是可以互相分离的比特串,因此需要通过某种方法将数字签名与对应的被签消息绑定在一起。
(2) 在验证签名时,手书签名是通过物理比对,即将需要验证的手书签名与一个已经被证实的手书签名副本进行比较,来判断其真伪。
验证手书签名的操作也需要一定的技巧,甚至需要经过专门训练的人员和机构(如公安部门的笔迹鉴定中心)来执行。
而数字签名却能够通过一个严密的验证算法准确地被验证,并且任何人都可以借助这个公开的验证算法来验证一个数字签名的真伪。
安全的数字签名方案还能够杜绝伪造数字签名的可能性。
(3) 手书签名是手写的,会因人而异,它的复制品很容易与原件区分开来,从而容易确认复制品是无效的;数字签名的拷贝与其原件是完全相同的二进制比特串,或者说是两个相同的数值,不能区分谁是原件,谁是复制品。
因此,我们必须采取有效的措施来防止一个带有数字签名的消息被重复使用。
比如,Alice 向Bob 签发了一个带有他的数字签名的数字支票,允许Bob 从Alice 的银行账户上支取一笔现金,那么这个数字支票必须是不能重复使用的,即Bob 只能从Alice 的账户上支取指定金额的现金一次,否则Alice 的账户很快就会一无所有,这个结局是Alice 不愿意看到的。
从上面的对比可以看出,数字签名必须能够实现与手书签名同等的甚至更强的功能。
为了达到这个目的,签名者必须向验证者提供足够多的非保密信息,以便验证者能够确认签名者的数字签名;但签名者又不能泄露任何用于产生数字签名的机密信息,以防止他人伪造他的数字签名。
因此,签名算法必须能够提供签名者用于签名的机密信息与验证者用于验证签名的公开信息,但二者的交叉不能太多,联系也不能太直观,从公开的验证信息不能轻易地推测出用于产生数字签名的机密信息。
这是对签名算法的基本要求之一。
一个数字签名体制一般包含两个组成部分,即签名算法(Signature Algorithm )和验证算法(Verificaton Algorithm )。
签名算法用于对消息产生数字签名,它通常受一个签名密钥的控制,签名算法或者签名密钥是保密的,由签名者掌握;验证算法用于对消息的数字签名进行验证,根据签名是否有效验证算法能够给出该签名为“真”或者“假”的结论。
验证算法通常也受一个验证密钥的控制,但验证算法和验证密钥应当是公开的,以便需要验证签名的人能够方便地验证。
数字签名体制(Signature Algorithm System )是一个满足下列条件的五元组(,,,,)M S K SIG VER ,其中:●M 代表消息空间,它是某个字母表中所有串的集合; ●S 代表签名空间,它是所有可能的数字签名构成的集合; ●K 代表密钥空间,它是所有可能的签名密钥和验证密钥对(,)sk vk 构成的集合; ● SIG 是签名算法,VER 是验证算法。
对于任意的一个密钥对(,)sk vk K ∈,对于每一个消息m M ∈和签名s S ∈,签名变换SIG :sk M KS ⨯→和验证变换VER :M S ⨯{},vk K true false ⨯→是满足下列条件的函数:由上面的定义可以看出,数字签名算法与公钥加密算法在某些方面具有类似的性质,甚至在某些具体的签名体制中,二者的联系十分紧密,但是从根本上来讲,它们之间还是有本质的不同。
比如对消息的加解密一般是一次性的,只要在消息解密之前是安全的就行了;而被签名的消息可能是一个具体法定效用的文件,如合同等,很可能在消息被签名多年以后才需要验证它的数字签名,而且可能需要多次重复验证此签名。
因此,签名的安全性和防伪造的要求应更高一些,而且要求签名验证速度比签名生成速度还要快一些,特别是联机的在线实时验证。
6.1.2 数字签名的特性综合数字签名应当满足的基本要求,数字签名应具备一些基本特性,这些特性可以分为功能特性和安全特性两大方面,分别描述如下:数字签名的功能特性是指为了使数字签名能够实现我们需要的功能要求而应具备的一些特性,这类特性主要包括:(1) 依赖性。
数字签名必须依赖于被签名消息的具体比特模式,不同的消息具有不同的比特模式,因而通过签名算法生成的数字签名也应当是互不相同的。
也就是说一个数字签名与被签消息是紧密相关、不可分割的,离开被签消息,签名不再具有任何效用。
(2) 独特性。
数字签名必须是根据签名者拥有的独特信息来产生,包含了能够代表签名者特有身份的关键信息。
惟有这样,签名才不可伪造,也不能被签名者否认。
(3) 可验证性。
数字签名必须是可验证的,通过验证算法能够确切地验证一个数字签名的真伪。
(4) 不可伪造性。
伪造一个签名者的数字签名不仅在计算上不可行,而且希望通过重用或者拼接的方法伪造签名也是行不通的。
比如希望把一个签名者在过去某个时间对一个消息的签名用来作为该签名者在另一时间对另一消息的签名,或者希望将签名者对多个消息的多个签名组合成对另一消息的签名,都是不可行的。
(5) 可用性。
数字签名的生成、验证和识别的处理过程必须相对简单,能够在普通的设备上快速完成,甚至可以在线处理,签名的结果可以存储和备份。
除了上述功能特性之外,数字签名还应当具备一定的安全特性,以确保它提供的功能是安全的,能够满足我们的安全需求,实现预期的安全保障。
上面的不可伪造性也可以看作是安全特性的一个方面,除此之外,数字签名至少还应当具备如下安全特性:(1) 单向性。
类似于公钥加密算法,数字签名算法也应当是一个单向函数,即对于给定的数字签名算法,签名者使用自己的签名密钥sk 对消息m 进行数字签名是计算上容易的,但给定一个消息m 和它的一个数字签名s ,希望推导出签名者的签名密钥sk 是计算上不可行的。
()()sk sk true s SIG m false s SIG m =≠(,)vk VER m s =(2) 无碰撞性。
即对于任意两个不同的消息m m '≠,它们在同一个签名密钥下的数字签名()()sk sk SIG m SIG m '=相等的概率是可以忽略的。
(3) 无关性。
即对于两个不同的消息m m '≠,无论m 与m '存在什么样的内在联系,希望从某个签名者对其中一个消息的签名推导出对另一个消息的签名是不可能的。
数字签名算法的这些安全特性从根本上消除了成功伪造数字签名的可能性,使一个签名者针对某个消息产生的数字签名与被签消息的搭配是唯一确定的,不可篡改,也不可伪造。
生成数字签名的唯一途径是将签名算法和签名密钥作用于被签消息,除此之外别无它法。
6.1.3 数字签名的实现方法现在的数字签名方案大多是基于某个公钥密码算法构造出来的。
这是因为在公钥密码体制里,每一个合法实体都有一个专用的公私钥对,其中的公开密钥是对外公开的,可以通过一定的途径去查询;而私有密钥是对外保密的,只有拥有者自己知晓,可以通过公开密钥验证其真实性,因此私有密钥与其持有人的身份一一对应,可以看作是其持有人的一种身份标识。
恰当地应用发信方私有密钥对消息进行处理,可以使收信方能够确信收到的消息确实来自其声称的发信者,同时发信者也不能对自己发出的消息予以否认,即实现了消息认证和数字签名的功能。
图6-1给出公钥算法用于消息认证和数字签名的基本原理。
图6-1 基于公钥密码的数字签名体制在图6-1中,发信方Alice 用自己的私有密钥A sk 加密消息m ,任何人都可以轻易获得Alice 的公开秘密A pk ,然后解开密文c ,因此这里的消息加密起不了信息保密的作用。
可以从另一个角度来认识这种不保密的私钥加密,由于用私钥产生的密文只能由对应的公钥来解密,根据公私钥一一对应的性质,别人不可能知道Alice 的私钥,如果收信方Bob 能够用Alice 的公钥正确地还原明文,表明这个密文一定是Alice 用自己的私钥生成的,因此Bob 可以确信收到的消息确实来自Alice ,同时Alice 也不能否认这个消息是自己发送的;另一方面,在不知道发信者私钥的情况下不可能篡改消息的内容,因此收信者还可以确信收到的消息在传输过程中没有被篡改,是完整的。