信息网络安全-7-第7章 数字签名(研究生)
密码学第7章数字签名
7.1 基于公钥密码的数字签名
Bob
用其保密的解密密钥 对消息m 加密。密文s 就是其对消息的签名。
Alice
用Alice 的公开密钥 对s 进行解密, 得到 m*如果m* = m, 则 确认s是消息m 的有 效签名。
Alice将签名的消息 (m, s) 传送给Bob。
公钥密码的认证模型
密码分析员 (窃听者)
证明验证的正确性(P164)
DSS的框图下图所示,其中的4个函数分别为:
s f1 (h(m), k , x, r , q) k 1 (h(m) xr ) mod q
r f 2 (k , p, q, g ) ( g k mod p) mod q w f3 ( s, q) s 1 mod q
数字签名特性
由此可见,数字签名具有认证功能。为实现上述 三条性质,数字签名应具有以下特性:
(1)不可伪造性 除了签名者外,任何人都不能伪造签名 者的合法签名。 (2)认证性 接收者相信这份签名来自签名者。 (3)不可重复使用性 一个消息的签名不能用于其他消息。 (4)不可修改性 一个消息在签名后不能被修改。 (5)不可否认性 签名者事后不能否认自己的签名。
( m1m2 ) m1 m2 mod n
克服上述缺陷的方法之一是在对消息进行 签名前先对消息做Hash变换,然后对变换 后的消息进行签名。即签名为:
s Sig k (m) H (m) mod n
d
验证时,先计算H(m),再检查等式:
H (m) s e mod n
是否成立。
7.2 EIGamal 签名方案
根据签名权力委托的方式不同,代理签名可 以分为以下几类: (1)完全代理(full delegation) (2)部分代理(partial delegation) (3)具有证书的代理(delegation by warrant) (4)具有证书的部分代理(partial delegation with warrant)
第7章 数字签名(新)
数字签名
A采用自己的私钥对消息m签名,A将m和签名发给B; B收到A的签名后,采用A的公钥来验证签名的有效性; 一个签名的消息很可能在多年之后才验证其真实性; 数字签名可能需要多次验证; 对数字签名的安全性和防伪造要求很高; 要求签名速度比验证速度更快。
3. 数字签名的分类
按照消息是否被压缩分类
对整体消息进行签名;
对压缩的消息进行签名。
按照消息/签名的对应关系划分
确定性(deterministic)数字签名:消息与签名一一对应, 对同一消息的签名永不变化,如RSA和Rabin算法;
随机化( randomized )或概率式数字签名:对同一消息的 签名是变化的。因此,此类签名取决于算法中的随机参数的 取值,如ElGamal算法。
什么是DSA
DSA是DSS签名标准中所采用的数字签名算法; 此算法由D. W. Kravitz设计。
DSS签名算法——DSA
体制参数
p:大素数, 2L 1 p 2L, 512≦L≦1024; q:(p-1)的素因子,且2159<q<2160,即字长160b g:g≡h(p-1)/q mod p,且1<h<(p-1),h(p-1)/q mod p >1 x:选择用户私钥,1<x<q y:计算用户公钥,y≡gx mod p p, q, g, y为公钥,x为私钥。
研究生计算机科学网络安全知识点归纳总结
研究生计算机科学网络安全知识点归纳总结计算机科学的迅速发展已经深刻地改变了我们的生活和工作方式。
与此同时,网络安全问题也日益突出,成为一个重要的领域。
为了应对不断进化的网络威胁,研究生需要掌握一系列网络安全知识点。
本文将对研究生计算机科学网络安全知识点进行归纳总结。
一、密码学基础知识1. 对称加密算法:包括DES、AES等,通过相同的密钥进行加密和解密。
2. 非对称加密算法:包括RSA、Diffie-Hellman等,使用公钥加密,私钥解密。
3. 散列函数:如MD5、SHA等,将数据转化为固定长度的散列值。
4. 数字签名:使用私钥对消息进行签名,验证消息的完整性和身份。
二、网络攻击与防御1. 木马病毒:通过隐藏在正常程序中植入恶意代码,窃取用户信息。
2. 计算机蠕虫:自我复制并传播的恶意软件,如ILOVEYOU蠕虫。
3. DDoS攻击:通过大量请求占用目标服务器资源,导致服务瘫痪。
4. 防火墙:设置网络边界,限制网络流量和访问权限,保护内部网络安全。
5. 入侵检测系统(IDS):监测和识别网络中的恶意活动。
6. 蜜罐技术:利用虚假系统吸引攻击者,收集攻击行为信息。
三、网络安全协议1. SSL/TLS协议:用于保护网络连接的安全,确保数据传输的机密性和完整性。
2. IPsec协议:提供IP层的安全性,实现数据加密和身份验证。
3. VPN技术:通过加密隧道实现安全的远程访问。
4. SSH协议:加密远程登录和文件传输,防止中间人攻击。
四、身份认证与访问控制1. 用户名和密码:最常见的身份验证方式,但容易被破解。
2. 双因素认证:结合密码和其他因素如指纹、密码令牌等,提高身份验证的安全性。
3. 访问控制列表(ACL):根据用户身份和访问权限限制资源的访问。
4. RBAC模型:基于角色的访问控制,将权限分配给角色而不是具体用户。
五、安全漏洞与漏洞利用1. 缓冲区溢出:恶意用户通过输入超出缓冲区长度的数据,覆盖其他内存空间。
计算机网络安全中的数字签名原理研究
计算机网络安全中的数字签名原理研究随着互联网技术的飞速发展,计算机网络的安全问题也越来越受到重视。
在网络中,数字签名被广泛应用于身份认证、数据完整性保护、非否认性和授权等方面。
那么,数字签名的原理和应用方法是什么呢?一、数字签名的原理数字签名是通过公钥加密和私钥解密技术进行实现的。
首先,发送方使用私钥对消息进行加密,生成数字签名。
接收方使用发送方的公钥对数字签名进行解密,获取消息内容。
数字签名涉及三个概念:消息摘要、签名算法和校验算法。
1. 消息摘要消息摘要是将消息转化为长度固定的哈希值的过程。
常用的消息摘要算法有MD5、SHA-1和SHA-256等。
消息摘要算法的特点是:输入的消息长度可以是任意的,但输出的摘要值长度固定。
2. 签名算法签名算法是利用消息摘要和私钥生成数字签名的过程。
常用的签名算法有RSA、DSA和ECDSA等。
签名算法的特点是:生成数字签名需要使用私钥,每个私钥只能对应唯一的公钥。
3. 校验算法校验算法是利用数字签名和公钥对消息进行解密的过程。
常用的校验算法有RSA、DSA和ECDSA等。
校验算法的特点是:每个公钥只能对应唯一的私钥,校验算法验证数字签名是否属于发送方。
如果通过验证,则说明消息确实是由发送方发送的,并且未被篡改。
二、数字签名的应用数字签名在计算机网络中的应用非常广泛,主要包括身份认证、数据完整性保护、非否认性和授权等方面。
1. 身份认证数字签名可以用于身份认证,防止伪造。
当用户登录应用程序时,应用程序会要求用户输入用户名和密码。
应用程序将使用用户名和密码来验证用户的身份,并在验证通过之后,使用数字签名生成一个加密过的令牌。
当用户需要访问应用程序的其他部分时,应用程序将要求用户提供加密过的令牌,以验证用户的身份。
2. 数据完整性保护数字签名可以用于数据完整性保护,防止数据篡改。
当用户发送数据给接收方时,应用程序会使用数字签名对数据进行加密。
当接收方收到数据时,应用程序将使用数字签名解密数据,以确保数据没有被篡改过。
《网络安全》辅导资料12
《网络安全》辅导资料十二主题:第七章数字签名(第1节)学习时间: 2014年12月15日-12月21日内容:重点:数字签名的概念和原理难点:数字签名原理结构图的分析第七章数字签名这周我们将学习第六章《信息加密》第一节,这部分重点介绍数字签名的基本概念的相关知识,下面整理出的知识点供同学们学习。
第一节对称加密技术传统的书面签名形式有手签、印章、指印等,用它来对当事人进行认证、核准,然后与文件内容联系起来达到生效的作用。
随着办公自动化、电子邮件、电子商务、电子银行等的广泛发展和使用,网络中的签名认证越来越重要,以作为当事人身份与数据真实性的一种手段。
认证又称为鉴别或确认,用来证实被认证对象是否名副其实,事件是否有效,以确保数据的真实性和完整性,以防止假冒和篡改。
为什么需要数字签名:在网络环境中,报文认证用以保护双方之间的数据交换不被第三方侵犯;但它并不保证双方自身的相互欺骗。
假定A发送一个认证的信息给B,双方之间的争议可能有多种形式:•B伪造一个不同的消息,但声称是从A收到的。
•A可以否认发过该消息,B无法证明A确实发了该消息。
数字签名应满足的要求•收方能确认或证实发方的签字,但不能伪造;•发方发出签名后的消息,就不能否认所签消息;•收方对已收到的消息不能否认;•第三者可以确认收发双方之间的消息传送,但不能伪造这一过程数字签名应具有的性质•必须能够验证签名者及其签名的日期时间;•必须能够认证被签名消息的内容;•签名必须能够由第三方验证,以解决争议。
注:数字签名功能包含了认证的功能。
数字签名的设计要求•签名必须是依赖于被签名信息的比特模式;•签名必须使用某些对发送者是唯一的信息,以防止双方的伪造与否认;•必须相对容易生成该数字签名;•必须相对容易识别和验证该数字签名;•伪造该数字签名在计算复杂性意义上具有不可行性,既包括对一个已有的数字签名构造新的消息,也包括对一个给定消息伪造一个数字签名;•在存储器中保存一个数字签名备份是现实可行的。
信息安全中的数字签名技术
信息安全中的数字签名技术数字签名技术是当今信息安全领域中不可或缺的一部分。
它是确保网络世界中信息传输的完整性和真实性的一道门槛。
在这篇文章中,我们将探讨数字签名技术的基本理论、实现原理和其在信息安全中的应用。
1. 基础理论数字签名技术是一种数字证书技术,通过加密和签名来验证信息的完整性和真实性。
它利用哈希算法生成信息的文摘值,将文摘值用RSA算法加密生成数字签名,并将签名和原文一起传输,在接收者端根据公钥获得数字签名和原文的哈希值,再用相同的哈希算法生成新的哈希值,并使用数字签名解密算法得出原加密文摘值,如果两个哈希值相等则说明原文没有被篡改。
数字签名技术的数学基础是非对称加密算法,公钥加密和私钥解密,或者私钥加密和公钥解密。
在这个过程中,只有私钥才能解密,所以私钥必须被妥善保护。
数字签名技术虽然和哈希算法、公钥加密算法等都有密不可分的联系,但它是独立的一项技术,可以用于保护网络中任何类型的信息。
2. 实现原理数字签名技术的实现过程中,需要确定签名算法、哈希算法、公钥加密算法选用哪种算法。
签名算法指的是加密数字签名的算法。
在数字证书中,采用RSA算法是最普遍的选择。
RSA算法是一种非对称加密算法,即用不同的大质数对加密和解密。
比如一个数只有7和19两个因数相乘所得的结果为133,所以7和19就是133的质因数。
因为133是两个质数的乘积,所以你很难通过试除法快速算出这个数的质因数。
这就是RSA算法的核心原理。
哈希算法指的是生成消息文摘值的算法。
哈希算法是一种将任意长度的二进制串映射成固定长度的二进制串的函数。
哈希值的特征是不可逆(不能从哈希值推算出原始消息),且由唯一的消息生成(不同的消息一般不会生成相同的哈希值)。
常用的哈希算法有MD5、SHA-1、SHA-256等。
公钥加密算法指的是用公钥加密明文、用私钥解密密文的算法。
这类算法包括RSA、DSA等。
公钥加密算法主要用于在数字证书中,将签名算法加密、验证过程中返回的AES对称密钥等敏感信息加密,保证网络传输的安全性。
信息安全中的数字签名技术研究
信息安全中的数字签名技术研究信息安全是当今世界非常重要的一个议题,随着互联网的飞速发展,人们在网上进行的数据交流也越来越多。
因此,保障网络信息的安全性也越来越受到人们的关注。
其中数字签名技术是信息安全领域中的一个重要技术,本文将重点探讨数字签名技术的研究。
一、数字签名技术的定义和作用数字签名技术是一种用于保证数据传输中信息的完整性、可靠性和机密性的技术。
数字签名依赖于一对密钥,即公钥和私钥。
发送者使用自己的私钥对信息进行加密,并附上数字签名,接收者使用发送者的公钥对签名进行验证,以确保信息未被篡改,发送者也无法否认信息的真实性。
数字签名技术的作用在于通过数字签名来保证信息的真实性和可信度,可以在网络中实现数据的安全传输、电子合同的签署、电子商务交易的保护等,成为电子商务(e-commerce)和电子政务(e-government)中必不可少的技术手段。
二、数字签名技术的应用数字签名技术在实际应用中有着广泛的应用领域,其中最重要的包括以下几个方面。
1. 数字证书数字证书是证明数字签名有效性的一种数字证明。
每个数字证书都包含有公钥信息及其所有者的身份信息。
数字证书由权威机构(CA)颁发,作为数字签名的证明,保证了数字签名的真实性。
2. 数字签名算法数字签名算法是保证数字签名安全性的重要条件,包括RSA、DSA、ECDSA 等算法,它们都是在具有数学难题的基础之上设计而成,保证了数字签名的完整性和可靠性。
3. 数字时间戳数字时间戳是为了保证签名信息的时间性而设立的一种机制,使得签名后的信息能够在以后进行验证,以确认该信息是在指定时间前签署的。
三、数字签名技术的研究数字签名技术已成为信息安全领域中的重要研究方向,其研究方向主要包括以下几个方面。
1. 安全性研究数字签名技术在保证信息传输的安全性方面获得了广泛应用,但是在实际应用中也面临着很多安全问题,比如如何防止私钥的泄露、如何防止签名数据对应的消息被篡改等。
信息安全:数字签名
❖ 简单地说,数字签名就是指消息的发送者通过某 种签名方法产生的别人无法伪造的一段“特殊报 文”,该报文就是签名
2020/10/18
计算机科学与技术学院
6
签名方案的组成
一个签名方案是满足下列条件的五元组(P, A, K, S, V):
1. P:所有可能消息组成的有限集
2. A:所有可能签名组成的有限集
❖ 签名过程如下:
1. 系统初始化过程:同加密算法。公钥为(p,g,
y),私钥为x (1≤x<p-1),其中y=gxmod p
2. 签名过程:给定消息M,签名者A进行如下计算:
①选择随机数k∈Zp*,且k与(p-1)互素;
②首先计算消息M的哈希值H(M),然后计算:
r =gk mod p;
s = (H(M)-xr) k-1mod( p-1)
1
4. x为随机数,0<x<q,计算y=gx mod p
▪ 参数p、q、g可以公开,且可为一组用户公用。 x和y分别为用户的私钥和公钥
2020/10/18
计算机科学与技术学院
数字签名在网络安全中的应用
数字签名在网络安全中的应用随着互联网的快速发展,网络安全问题也日益突出。
传统的身份验证方式已经无法满足现代网络环境下的需求,数字签名作为一种安全的身份验证手段,在网络安全领域发挥着重要作用。
本文将从数字签名的基本概念、原理和应用实例等方面详细介绍数字签名在网络安全中的应用。
一、数字签名的基本概念数字签名是一种在电子文档中添加的特殊标记,用于验证电子文档的完整性和真实性。
它由私钥加密的数字摘要和公钥解密的数字摘要组成。
数字签名具有唯一性、不可伪造性和抗抵赖性等特点,能够有效地保护数据的完整性和身份的真实性。
二、数字签名的原理数字签名的实现基于非对称加密算法,其中最常用的算法是RSA 算法。
RSA算法使用一对密钥,即私钥和公钥。
私钥用于对原始数据进行加密生成数字签名,而公钥则用于对数字签名进行解密验证。
数字签名的原理是通过私钥对数据加密,生成唯一的数字摘要,接收方使用公钥解密摘要并与原始数据进行对比,以验证数据的完整性和真实性。
三、数字签名在网络安全中的应用1. 数字证书颁发机构数字证书颁发机构(CA)是维护数字证书有效性和可信度的机构。
它为用户颁发数字证书,同时验证用户身份和公钥的真实性。
数字证书中包含了用户的身份信息和公钥,数字证书的签名由CA的私钥完成,以确保证书的真实性。
数字证书的应用使得用户可以在网络上进行身份验证和数据传输的加密。
2. 数字签名的认证与验证数字签名可以用于身份认证、数据完整性验证和非抵赖性验证等场景。
在身份认证方面,数字签名可以验证用户的身份,确保所传输的数据只能由合法的用户访问。
在数据完整性验证方面,数字签名可以通过验证数字摘要确保数据在传输过程中未被篡改。
在非抵赖性验证方面,数字签名可以提供不可抵赖的数据来源,防止用户否认其所发送的数据。
3. 数字签名的文件验证数字签名在文件验证方面的应用十分广泛。
利用数字签名技术,可以对文件进行签名并生成数字摘要,当文件被篡改时,数字签名将无法通过验证,从而保证文件的完整性和真实性。
信息安全技术-数字签名
数字签名,其实是伴随着数字化编码的信息一起发
送并与发送的信息有一定逻辑关联的数据项。 送并与发送的信息有一定逻辑关联的数据项。
数字签名是指信息发送者使用公开密钥算法的主要
技术,产生别人无法伪造的一段数字串。 技术,产生别人无法伪造的一段数字串。
数字签名(有名公钥数字签名、电子签章),附加 数字签名(有名公钥数字签名、电子签章),
在数据单元上的一些数据,或者是对数据单元所 在数据单元上的一些数据, 作的密码变换。这种变换允许数据单元的接受者 作的密码变换。 用以确定数据单元的来源和数据单元的完整性并 保护数据,防止被人(如接受者)进行伪造。 保护数据,防止被人(如接受者)进行伪造。
数字签名技术
• 1 数字签名的基本原理
数字签名的过程: 数字签名的过程:
• 2 数字签名的使用 • 安全的数字签名使接收方可以确认文件确 实来自声称的发送方。 实来自声称的发送方。鉴于签名私钥只有 发送方自己保存, 发送方自己保存,他人无法做一样的数字 签名,因此他不能否认他参与了交易。 签名,因此他不能否认他参与了交易。
• 使用:发送方的密钥对 使用: • 发送方用自己的私钥进行加密 • 接收方用发送方的公钥进行解密 • 一对多的关系:任何拥有发送方公钥的人 一对多的关系: 都可以验证数字签名的正确性。 都可以验证数字签名的正确性。
• 实际中,相当长的文件,将文件按比特划 实际中,相当长的文件, 分成一块一块, 分成一块一块,用相同的密钥独立地签每 一块,速度太慢。 一块,速度太慢。 • 通常,引入可公开的密码散列函数(hash 通常,引入可公开的密码散列函数( function,也叫摘要函数、哈希函数)。 function,也叫摘要函数、哈希函数)。 它取任意长度的信息作为自变量, 它取任意长度的信息作为自变量,结果产 生规定长度的信息摘要。 生规定长度的信息摘要。
网络安全课件(7)数字签名与身份认证
(5)收方B从M中计算出散列值h(M’); (6)收方B再用发方A的双钥密码体制的公钥
K2解密数字签名DS得消息摘要h(M) ; (7)将两个消息摘要h(M’)=h(M)进行比
较,验证原文是否被修改。如果二者相等, 说明数据没有被篡改,是保密传输的,签名 是真实的;否则拒绝该签名。
这样就作到了敏感信息在数字签名的传输 中不被篡改,未经认证和授权的人,看不见 原数据,起到了在数字签名传输中对敏感数 据的保密作用。
4.基于量子力学的计算机
量子计算机是以量子力学原理直接进行 计算的计算机,使用的是一种新的量子密 码的编码方法,即利用光子的相应特性编 码。由于量子力学的随机性非常特殊,无论 多么聪明的窃听者,在破译这种密码时都会 留下痕迹,甚至在密码被窃听的同时会自动 改变。
这将是世界上最安全的密码认证和签名 方法。但目前还停留在理论研究阶段。
注意 :
数字签名与消息的真实性认证是不同的。 消息认证是使接收方能验证消息发送者及所发 信息内容是否被篡改过。当收发者之间没有利 害冲突时,这对于防止第三者的破坏来说是足 够了。但当接收者和发送者之间相互有利害冲 突时,单纯用消息认证技术就无法解决他们之 间的纠纷,此是需借助数字签名技术。
二、数字签名的原理
对同一消息的签名也有对应的变化。即 一个明文可能有多个合法的数字签名。 判断:同一明文可能有多个合法化的数字签名?
四、数字签名的作用
数字签名可以证明:
(1)如果他人可以用公钥正确地解开 数字签名,则表示数字签名的确是由签 名者产生的。
(2)如果消息M是用散列函数h得到的 消息摘要h(M),和消息的接收方从 接收到的消息M/计算出散列值h(M/), 这两种信息摘要相同表示文件具有完整 性。
第7章 数字签名与认证
解释
单向性的解释: 或许已经知道了许多对(x*, y*),满足y*=H(x*); 或许一个新的y确实存在一个x满足y=H(x); 然而实际找到这样的x却很困难,在计算上行不通。 无碰撞性的解释: 或许已经知道了许多对(x*, y*),满足y*=H(x*); 或许确实存在(x1,x2)满足: x1≠x2,H(x1)= H(x2); 然而实际找到这样的(x1,x2)却很困难,在计算上行不通。
3、数字签名的基本概念
数字签名应具有以下特性: (1)不可伪造性 除了签名者外,任何人都不能伪造签名者的 合法签名。 (2)认证性 接收者相信这份签名来自签名者。 (3)不可重复使用性 一个消息的签名不能用于其他消息。 (4)不可修改性 一个消息在签名后不能被修改。 (5)不可否认性 签名者事后不能否认自己的签名。
④ 从签名方程:ak (b+cx)mod q中解出s,其 中方程的系数a、b、c有多种选择,下表给出 了一部分可能的选择。 对消息m的签名为(r, s)。
5、离散对数签名方案
(1)参数与密钥生成
p:大素数。 q:p 1或p 1的大素因子。 q * g Z g 1mod p g: R p ,且
x:用户A的私钥,1<x<q。 y:用户A的公钥,y g x mod p。
(2)签名 对于消息m,A执行以下步骤:
① 计算的m的Hash值h(m)。 ② 随机选择整数k,1<k<q。 ③ 计算r gk mod p。
,
n大,
s Sig k (m) h(m) mod n
d
① 任何人都可以伪造某签名者对于随机消息m 的签名s: 先选取s,再用该签名者的公钥(e,n)计算
《数字签名》课件
数字签名的特点
1 不可伪造
数字签名是唯一的,验证过程可确认签名的 真实性。
2 可靠性高
数字签名基于公钥加密算法,具有较高的安 全性和可靠性。
3 易于验证
对数字签名的验证过程相对简单,接收者只 需使用发送者的公钥进行解密。
4 即时性
数字签名的生成和验证过程很快,几乎是实 时的。
数字签名的分类
1
基于HASH
数字签名可确保数据在传输 过程中不被篡改或损坏。
身份认证
数字签名可以验证数据的发 送者身份。
防止抵赖
数字签名提供证据,防止发 送者在后续阶段抵赖其参与 和承诺。
数字签名的基本原理
数字签名基于公钥加密算法,使用发送者的私钥对数据进行加密,接收者使用发送者的公钥进行解密,以验证 数据的完整性和真实性。
数字签名的生成是基于对数据进行哈希处理。
2
基于非对称加密
数字签名的生成和验证基于公钥/私钥对。
3
基于对称加密
数字签名的生成和验证基于对称加密算法。
数字证书的概念
数字证书是由数字证书颁发机构(CA)签发的包含公钥和身份信息的电子文件,用于验证数字签名的真实性 和可信度。
数字证书的种类
个人数字证书
用于个人身份认证和加密通信。
服务数字证书
用于服务器身份认证和数据传输的加密。
组织数字证书
用于组织身份认证和加密通信。
根书
用于签发其他数字证书的根节点证书。
数字证书的作用
数字证书可以确保通信的安全性、防止伪造、篡改和假冒。
数字证书的颁发机构
数字证书的颁发机构(CA)是负责签发和管理数字证书的权威组织,如Verisign、Digicert等。
网络信息安全第7章 鉴别和密钥分配协议
*
7.1.3 单向鉴别协议
一、使用对称加密算法 修改N-S协议就能用于电子邮件的单向鉴别(不能要求发送方A和接收方B同时在线):
不能抗重放攻击,且加入时间戳的作用非常有限。
*
*
二、使用公开加密算法
1)保证消息的机密性 A→B: E(PUB, Ks)||E(Ks, M) 2)实现鉴别(数字签名) A→B: M||E(PRA, H(M)) 3)同时实现鉴别和机密性 A→B: E(PUB, [M||E(PRA, H(M))]) 4)提高加密效率还需使用数字信封 A→B: E(PUB, Ks)||E(Ks, [M||E(PRA, H(M))])
*
*
利用CA和数字证书分配公开密钥
3)公开密钥管理机构 CA对通信双方进行认证,每个通信方都有CA公钥并通过CA获得其他任何通信方的公钥——每一用户想与他人联系需求助CA,CA易成瓶颈。 4)公开密钥证书 CA事先为用户颁发数字证书,用户通信时只需下载并验证对方证书得到对方公钥,无需再联系CA。
*
*
密钥分配的四种方法
1)A选定密钥,通过物理方法安全传递给B。 2)可信任第三方C选定密钥,通过物理方法安全传递给A和B。 3)若A和B都有到第三方C的加密连接,C通过该连接将密钥传递给A和B——密钥分配中心KDC,常用于对称密钥的分配。 4)若第三方C发布A和B的公钥,它们可用彼此的公钥来加密通信——认证中心CA,常用于公开密钥的分配。
Denning对N-S协议进行改进,加入了一个时间戳
时间戳T使A和B确信该会话密钥Ks刚刚产生
不能重放成功
但需要三者时钟同步,易遭受“禁止-重放攻击”
*
*
一个可抗重放的鉴别协议
同时解决了重放攻击和“禁止-重放攻击”
网络安全数字签名
网络安全数字签名在网络安全领域,数字签名是一种用于验证文件或信息完整性和身份的技术。
通过数字签名,发送方可以确保消息未被篡改,并且接收方可以验证发送者的身份。
数字签名使用了非对称加密算法,包括公钥和私钥。
发送方首先使用私钥对文件或信息进行加密,并且生成唯一的数字签名。
然后,接收方使用公钥来解密数字签名,并且与文件或信息进行比对。
如果签名有效,并且与文件或信息相匹配,那么接收方就可以确认文件或信息未被篡改,并且发送方的身份经过验证。
数字签名在许多方面都有着广泛的应用。
首先,在电子邮件中,数字签名可以用于验证电子邮件的内容和发送人的身份。
这样,接收方可以确认邮件未被篡改,并且信任发送方的身份。
此外,数字签名还可以应用于文件传输、网站认证和电子合同等方面。
实现数字签名需要借助数字证书颁发机构(CA)。
CA是一个可信任的第三方组织,它为发送方颁发数字证书,其中包含了公钥和相关身份信息。
这样,接收方可以通过验证数字证书的真实性来确认发送方的身份,并且使用公钥进行数字签名的解密。
然而,数字签名也存在着一些安全隐患。
例如,私钥的保护非常重要,如果私钥泄漏,任何人都可以伪造数字签名,从而冒充发送方。
此外,如果数字证书的真实性无法验证,那么接收方也无法确认发送方的身份。
因此,确保数字签名的安全性和有效性是非常重要的。
为了提高数字签名的安全性,一些技术方法被广泛应用。
例如,对私钥进行加密存储、使用硬件安全模块等措施可以有效防止私钥的泄漏。
此外,采用更高强度的非对称加密算法和改进的数字证书验证机制也可以提高数字签名的安全性。
总结来说,数字签名是一种重要的技术,用于确保文件或信息的完整性和发送方的身份验证。
通过数字签名,接收方可以确认未被篡改的消息,并且可以信任发送方的身份。
然而,为了确保数字签名的安全性,我们需要采取适当的措施来保护私钥,验证数字证书的真实性,并且不断提高签名算法的强度。
网络安全数字签名在保护数据和信息的传输过程中起着重要作用,并且将继续在未来得到广泛应用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
对压缩的消息进行签名。
按照消息/签名的对应关系划分
确定性( deterministic )数字签名:消息与签名一一对应, 对同一消息的签名永不变化,如RSA和Rabin算法;
随机化(randomized)或概率式数字签名:对同一消息的签 名是变化的。因此,此类签名取决于算法中的随机参数的取 值,如ElGamal算法。
DSS签名算法的实现速度
DSA
密钥生成 预计算 14s 14s
RSA
Off card N/A
证明: v=[(gu1yu2) mod p] mod q =[g H(m)wyrw mod p] mod q =[g H(m)wgxrw mod p] mod q =[g[H(m)+xr]w mod p ] mod q 而: [H(m)+xr]w = [H(m)+xr]s-1=k mod q 所以:v=gk mod q= r
计算:w’=gsy-r mod p
计算:H(w’||m)
验证H(w’||m)=r ?即 Very{(r, s), m}=真
Schnorr签名体制的安全性
Schnorr与ElGamal的区别
在 ElGamal体制中, g为Zp的本原元素;在 Schnorr体制中, g为Zp*中的子集Zq*的本原元,它不是Zp* 的本原元。 Schnorr的签名长度要比ElGamal短,由|q|及|H(m)|决定。 w=gk mod p可以预先计算,签名只需1次乘法和1次加法, 所以签名速度非常快,适用于智能卡应用。
对于课件中出现的缺点和错误,欢迎读者提 出宝贵意见,以便及时修订。
课件制作人:刘建伟 2016年10月25日
第7章 数字签名
一 数字签名的基本概念
二 RSA签名体制
三 Rabin签名体制 四 ElGamal签名体制
五 Schnorr签名体制
六 DSS签名体制 七 ESIGN签名体制
第7章 数字签名
二、RSA数字签名体制
体制参数
令 n p1 p2 , p1和p2是大素数; 令m, s∈Zn(整数域) 选e,并计算出d,使 ed 1 mod (n) 将n, e公开(公钥), 将p1、p2和d保密(私钥)。
签名过程
对m∈Zn,签名:s = Sigk(m) =md mod n
验证过程
DSS签名框图
pqg f2 r
k mHBiblioteka f1sxDSS签名验证框图
m s r
H f3
yqg f4 v
比较
r
DSS签名算法的公众反应
RSA公司反应强烈
RSA公司想以RSA算法为标准 RSA指出:RSA可以加密,而DSA不能用于加密; DSA是由NSA开发的,可能设有陷门; DSA的签名验证速度比RSA慢,不适合联机在线验证; RSA是一个事实上的标准,而DSS与现行标准不相容; DSA未经公开选择,还没有足够的时间进行分析证明; DSA可能侵犯了其他专利,如 Schnorr签名算法, DiffieHellman的密钥分配算法; DSS 中模数为 512b 所限定的密钥量太小,现已经改为凡 是512-1024b中可被64除尽的数,均可供使用。
什么是DSA
DSA是DSS签名标准中所采用的数字签名算法; 此算法由D. W. Kravitz设计。
DSS签名算法——DSA
体制参数
p:大素数, 2 L 1 p 2 L, 512≦L≦1024; q:(p-1)的素因子,且2159<q<2160,即字长160b g:g≡h(p-1)/q mod p,且1<h<(p-1),h(p-1)/q mod p >1 x:选择用户私钥,1<x<q y:计算用户公钥,y≡gx mod p p, q, g, y为公钥,x为私钥。
数字签名
A采用自己的私钥对消息m签名,A将m和签名发给B; B收到A的签名后,采用A的公钥来验证签名的有效性。
一个签名的消息很可能在多年之后才验证其真实性 数字签名可能需要多次验证
对数字签名的安全性和防伪造要求很高
要求签名速度比验证速度更快
3. 数字签名的分类
按照消息是否被压缩分类
数字签名
当收发双方存在利害冲突时,单纯用消息认证技术就无 法解决他们之间的纠纷。必须采用数字签名技术。
数字签名能确定消息来源的真实性 数字签名能保证实体身份的真实性
数字签名是不可否认的。
2. 数字签名与公钥加密的区别
公钥加密
A采用B的公开密钥对信息加密,A将密文发给B; B用自己的私钥对收到的密文解密,恢复出明文。
签名过程
用户选择秘密随机数k,0<k<q 计算:H(m) 计算:r=(gk modp)mod q 计算:s=[k-1(H(m)+xr)] mod q 签名:Sigk(m)=(r, s),将m和(r, s)送给对方。
DSS签名算法——DSA
验证过程
收信人收到m和(r, s) ; 计算:H(m); 计算:w=s-1 mod q 计算:u1=[H(m)w] mod q 计算:u2=rw mod q 计算:v=[(gu1yu2) mod p] mod q 验证:v ≡ r ?
3. 收方对已收到的签名消息不能否认,即有收报认证, 简记为R2-条件。
4. 第三者可以确认收发双方之间的消息传送,但不能 伪造这一过程,简记为T-条件。
1. 数字签名与消息认证的区别
消息认证
当收发者之间没有利害冲突时,这对于防止第三者的破 坏已经足够了。
收方能够验证消息发送者身份是否被篡改; 收方能够验证所发消息内容是否被篡改。
签名过程
选择秘密随机数k∈ ZP*,m ∈M 计算:H(m) 计算:r=gk mod p 计算:s=[H(m)-xr]k-1 mod (p-1) 签名为Sigk(m)=(r, s),将m和(r, s)送给对方。
ElGamal签名体制
验证过程
收信人收到m和(r, s) ; 计算:H(m); 验证:Verk(H(m), (r, s))=真 yrrs ≡ gH(m) mod p; 左边: yrrs ≡gxrgsk mod p ≡g(rx+sk) mod p (rx+sk) ≡H(m) mod p-1 yrrs ≡ gH(m) mod p
记为: QR7={1,2,4} 而{3,5,6}是mod 7的非二次剩余集合。
四、ElGamal签名体制
体制参数
p:一个大素数,可使Zp中求解离散对数为困难问题; g:是群ZP*的一个生成元或本原元素; M:消息空间,为ZP*; S:签名空间,为ZP-1; x:用户秘密钥,x∈ZP* y≡gx mod p p, g, y为公钥,x为秘密钥。
八 Okamoto签名体制
九 OSS签名体制 十 离散对数签名体制
十一 十二 一
其它签名体制简介
消息认证码的基本用途
杂凑算法/加密/签名结合应用方案
十三 一
一、数字签名的基本概念
类似于手书签名,数字签名也应满足以下要求:
1. 2. 收方能够确认或证实发方的签名,但不能伪造,简 记为R1-条件。 发方发出签名的消息给收方后,就不能再否认他所 签发的消息,简记为S-条件。
签名过程
用户选择秘密随机数k∈Zq, m ∈M 计算:w=gk mod p 计算:r=H(w||m) 计算:s=k+xr mod p 签名:Sigk(m)=(r, s)作为签名,将m和(r, s)送给对方。
五、Schnorr签名体制(续)
签名验证过程
收信人收到消息m和签名(r, s)
三、Rabin签名体制
体制参数
令N=p×q,p和q是大素数 令m, s ∈ QRp∩QRq,QR为二次剩余集 选p, q为秘密钥 N为公钥
签名过程
明文消息m,0<m<N,设m∈QRp∩QRq 求m的平方根,s = Sigk(m) =m1/2 mod p×q
验证过程
给定m, s,可验证 m ≡s2 mod N ?
什么是二次剩余集?
设p是正整数,若一个整数a满足:
gcd(a, p)=1且x2=a mod p有解 则称a是mod p的二次剩余,记为a∈QRp 。否则,为非二次剩余。
例如:取p=7,则:
x2=1 mod 7有解:x=1, x=6 x2=2 mod 7有解:x=3, x=4 x2=3 mod 7无解 x2=4 mod 7有解:x=2, x=5 x2=5 mod 7无解 x2=6 mod 7无解 故{1,2,4}是mod 7的二次剩余集合,且每个方程都有2个平方根。
4. 签名体制的构成
两个组成部分
签名算法(signature algorithm) 验证算法(verification algorithm)
安全性约定
签名密钥是秘密的,只有签名人掌握此密钥; 验证算法应当公开,以便于他人进行验证。
5. 签名体制的数学表示
签名体制的数学表示 一个签名体制可由量(M, S, K, V)来表示 • M是明文空间 • S是签名的集合 • K是密钥空间 • V是验证函数的值域,由真、伪组成。 对于每一个k∈K,m ∈M • 签名算法:s = Sigk1(m) ∈S (k1为签名者私钥) • 验证算法:Verk2(s, m) ∈{真,伪} (k2为签名者公钥) 签名体制的安全性 • 从m和s难于推出签名者的私钥k; • 很难伪造另外一个消息m’,使Verk(s, m’) ∈{真} 。
普通高等教育“十一五”国家级规划教材 教育部2011年精品教材
网络安全—技术与实践(第2版)