




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2022-3-6信息安全数字签名信息安全数字签名1信息安全与密码学信息安全与密码学数字签名数字签名2022-3-6信息安全数字签名信息安全数字签名2主要内容主要内容数字签名的基本概念1RSA签名2数字签名标准DSS3其他签名算法4基于身份的签名方案5问题的提出问题的提出v手写签名:手写签名:传统的确认方式,如书信、签约、支付、批复等v在网络时代,人们通过网络支付费用、买卖股票,为了保证网上商务活动的安全,需要信息安全中一个很重要的安全机制数字签名数字签名v例子: 用户A通过网络发送一条消息,告诉银行从用户A的账户上给用户B支付5000元1、银行如何知道这条消息是由用户A发送的?2、如果事后用户
2、A否认他曾经发送过这条消息,或声称他的支付请求是1000元,银行如何向公证机关证明用户A确实发送过这条消息?2022-3-6信息安全数字签名信息安全数字签名3 解决办法之一:用户A对他的请求“让银行从用户A的账户上给用户B支付5000元”进行签名v数字签名数字签名是手写签名数字化的产物,但又有着显著的区别 每个消息的签名都是不同的,否则签名就会被获取并复制到另外的文件中v数字签名的基础是公钥密码学2022-3-6信息安全数字签名信息安全数字签名4数字签名的目的和要求数字签名的目的和要求 v数字签名的目的:数字签名的目的:保证信息的完整性和真实性,即消息内容没有被篡改,而且签名也没有被篡改,消息
3、只能始发于所声称的一方v一个完善的签名方案应满足以下三个条件:1.1. 不可否认性:不可否认性:签名者事后不能否认或抵赖自己的签名2.2. 不可伪造性:不可伪造性:其他任何人均不能伪造签名,也不能对接收或发送的信息进行篡改、伪造和冒充3. 若当事双方对签名真伪发生争执时,能够在公正的仲仲裁裁者面前通过验证签名来确定其真伪2022-3-6信息安全数字签名信息安全数字签名5数字签名的定义数字签名的定义vISO对数字签名的定义对数字签名的定义:数字签名是指附加在数据单元上的一些数据,或是对数据单元所做的密码变换,这种数据或变换允许数据单元的接收者用以确认数据单元来源和数据单元的完整性,并保护数据,防
4、止被人伪造v简单地说,数字签名就是指消息的发送者通过某种签名方法产生的别人无法伪造的一段“特殊报文”,该报文就是签名2022-3-6信息安全数字签名信息安全数字签名6签名方案的组成签名方案的组成一个签名方案一个签名方案是满足下列条件的五元组(P, A, K, S, V):1. P:所有可能消息消息组成的有限集2. A:所有可能签名签名组成的有限集3. K:所有可能密钥密钥组成的有限集4. 对每一个kK,有一个签名算法签名算法SkS和一个相应的验证算法验证算法VkV。对消息xP和相应签名yA,签名算法Sk:PA和验证算法Vk:PA0, 1都满足:当ySk ( x )时,Vk ( x, y )1,
5、否则Vk ( x, y )02022-3-6信息安全数字签名信息安全数字签名7数字签名的过程数字签名的过程v数字签名方案一般包括三个过程数字签名方案一般包括三个过程:1. 系统初始化过程系统初始化过程:产生数字签名方案中用到的所有系统和用户参数(公开的公开的+秘密的秘密的)2. 签名产生过程签名产生过程:用户利用给定的签名算法签名算法对消息签名,签名过程可以公开也可以不公开,但一定包含仅签名者才拥有的秘密信息(签名密钥)3. 签名验证过程签名验证过程:验证者利用公开的验证方法验证方法对给定消息的签名进行验证,得出签名的有效性2022-3-6信息安全数字签名信息安全数字签名82022-3-6信息
6、安全数字签名信息安全数字签名9RSA签名签名v基于RSA公钥体制的签名方案通常称为RSA数字签数字签名方案名方案。 RSA签名体制的基本算法可表述如下:1. 密钥的生成密钥的生成(与加密系统一样): 公钥Pk=e,n;私钥Sk=d,p,q2. 签名过程签名过程 (d,n):用户A对消息MZn进行签名,计算 S=Sig(H(M)=H(M)d mod n; 并将S附在消息M后作为对用户对消息M的签名3. 验证过程验证过程 (e,n): 给定(M,S),Ver(M,S)为真 H(M)=Se (mod n)成立2022-3-6信息安全数字签名信息安全数字签名10RSA签名方案图签名方案图2022-3-
7、6信息安全数字签名信息安全数字签名11yeH(x)d比较消息x消息xy消息xyHH(x)ye对对RSA签名的攻击签名的攻击v假设假设RSA直接对消息进行签名,而不是对消息的直接对消息进行签名,而不是对消息的Hash值签名值签名v一般攻击一般攻击:设e和n是用户A的公钥,攻击者任选一个数据Y,用A的公钥计算XYe mod n,于是便可以用Y伪造伪造A对消息对消息X的签名的签名,因为 Y=Xd mod n 实际意义不大:伪造的消息X具有实际意义的概率很小 Hash函数函数可以抵御这种攻击2022-3-6信息安全数字签名信息安全数字签名12v 利用已有签名进行攻击利用已有签名进行攻击 :如果消息M1
8、、M2的签名分别是S1和S2,则任何知道M1,S1,M2,S2的人可以伪造对消息M1M2的签名S1S2,因为 Sig(M1M2) = Sig(M1)Sig(M2) 抵抗该攻击的方法:用户不要轻易地对其他人提用户不要轻易地对其他人提供的随机数据进行签名供的随机数据进行签名 更有效的方法:不直接对数据签名,而是对数据的对数据的Hash值签名值签名2022-3-6信息安全数字签名信息安全数字签名13v利用签名获得明文利用签名获得明文: 设攻击者截获了密文C,CM e mod n,想求出明文M。于是选择一个小的随机数r,并计算xr e mod n;yx C mod n;tr1 mod n 则x d(r
9、 e) d =r mod n。然后攻击者设法让发送者对y签名,获得:Sy d mod n 攻击者计算:t S mod nr1 y d mod nr1 x d C d mod nC d mod nM, 抵抗该攻击的方法:用户不要轻易地对其他人提供的随机数据进行签名。最好是对数据的数据的Hash值值签名签名2022-3-6信息安全数字签名信息安全数字签名14H(M)的重要性的重要性v H(M)H(M)的另一个作用的另一个作用:签名算法对整个消息进行签名,由于公开密钥密码体制一般速度都比较慢,这样当消息比较长时,整个签名与验证过程都会相当的慢利用对消息的Hash值进行签名,则无论消息多长,签名都只与
10、Hash值的长度有关2022-3-6信息安全数字签名信息安全数字签名15RSA签名标准签名标准PSS 2022-3-6信息安全数字签名信息安全数字签名16PSS算法的编码操作过程EIGamal签名方案签名方案vElGamalElGamal数字签名方案由数字签名方案由T.ElGamal在1985年提出v签名过程如下:签名过程如下:1. 系统初始化过程:系统初始化过程:同加密算法。公钥为(p,g,y),私钥为x (1xp-1),其中y=gxmod p2. 签名过程签名过程:给定消息M,签名者A进行如下计算: 选择随机数kZp*,且k与(p1)互素; 首先计算消息M的哈希值H(M),然后计算: r
11、=gk mod p; s = (H(M)xr) k1mod( p1) 将(r,s)作为签名,与M一起发送给接收方2022-3-6信息安全数字签名信息安全数字签名173. 验证签名过程验证签名过程:接收方B收到M与其签名(r,s)后: 计算消息M的Hash值H(M); 验证公式 yrr sgH(M) mod p 是否成立,成立确认(r,s)为有效签名,否则认为签名 是伪造的2022-3-6信息安全数字签名信息安全数字签名18vElGamal数字签名算法安全性数字签名算法安全性1. ElGamal数字签名算法是一个非确定性非确定性的数字签名算法,对同一个消息M所产生的签名依赖于随机数k2. 由于用
12、户的签名密钥x是保密的,攻击者要从公开的验证密钥y得到签名密钥x必须求解有限域上的离散对数问题。因此ElGamal数字签名算法的安全安全性是基于有限域上计算离散对数的困难性性是基于有限域上计算离散对数的困难性3. 在签名时用的随机数随机数r不能被泄露不能被泄露4. 随机数随机数k不能被重复使用不能被重复使用2022-3-6信息安全数字签名信息安全数字签名19Schnorr签名方案签名方案v初始化过程初始化过程同EIgamalv签名过程:签名过程:对消息M,做下述运算: 任选一随机数kZq,计算签名 ( e, s) r gk mod p e = H (r | M) s k-xe mod qv验证
13、签名:验证签名: (e, s) r gsye mod p,而后计算H( r| M) 验证H( r| M) = e 2022-3-6信息安全数字签名信息安全数字签名20数据签名标准数据签名标准DSSv1991年,美国政府颁布了数字签名标准数字签名标准DSS(Digital Signature Standard) 和DES一样,DSS也引起了激烈的争论。反对者认为:密钥太短密钥太短、效率不如效率不如RSA高高、不能实现数据加密不能实现数据加密并怀疑NIST在DSS中留有后门留有后门v随后,美国政府对其做了一些改进v目前DSS的应用已经十分广泛,并被一些国际标准化组织采纳为国际标准v2000年,美国
14、政府将RSA和椭圆曲线密码引入到数字签名标准中,进一步丰富了DSS算法2022-3-6信息安全数字签名信息安全数字签名21DSS算法描述算法描述vDSS签名签名利用Hash函数产生消息的Hash值值,Hash值连同随机数随机数k一起作为签名函数的输入,签名函数还需使用发送方的私钥私钥SKA和一些公开参数PKG+,签名函数的两个输出s和r就构成了消消息的签名息的签名( s, r )v 接收方收到消息后再产生消息的Hash值,将Hash值与签名一起输入验证函数,验证函数还需输入PKG+和发方的公钥公钥PKA。验证函数的输出如果与收到的签名成分r相等,则签名有效2022-3-6信息安全数字签名信息安
15、全数字签名222022-3-6信息安全数字签名信息安全数字签名23M|MHSigSrHVerPKG+SKGPKAPKG+k比较数字签名算法DSA DSS的签名算法称为的签名算法称为DSA,DSA使用以下参数:1. p为素数,2L1p2L,其中512L1024且L为64的倍数,即L51264j j0, 1, 2, , 82. q为素数,是(p-1)的素因子,2159q21603. gh(p1)/q mod p,1hp-1,且满足g14. x为随机数,0 xq,计算计算ygx mod p 参数p、q、g可以公开,且可为一组用户公用。x和和y分别为用户的私钥和公钥分别为用户的私钥和公钥2022-3-
16、6信息安全数字签名信息安全数字签名24DSA签名生成过程签名生成过程v选择一个随机数k,0kg,进行如下计算:r(gk mod p) mod q,sk1 (SHA(M) xr) mod qSHA (M)为160位的Hash函数值,把签名r和s附在数据M后面发给接收者 ( M | r | s ) 应检验计算所得的r和s是否为零,若r0或s0,则重新产生k,并重新计算产生签名r和s 每一签名使用不同的k2022-3-6信息安全数字签名信息安全数字签名25DSA签名验证过程签名验证过程1. 首先检验是否有0rq,0sq,若其中之一不成立,则签名为假2. 计算: ws 1 mod q,u1 wSHA(
17、M) mod q,u2rw mod q,v(gu1yu2 mod p) mod q3. 若vr,则签名为真,否则签名为假或数据被篡改2022-3-6信息安全数字签名信息安全数字签名26ECDSA签名算法签名算法 签名过程:签名过程:消息m,全局参数D( q, a, b, G, n, h ),签名者的公私钥对(Q, d),(Q=dG)1. 选择一个随机数k,计算kG( x1, y1 )2. rx1 mod n;如果r0,则回到步骤13. eSHA1(m)4. sk1(edr) mod n,如果s0,则回到步骤1;5. 对消息的签名为( r, s ),签名者把消息m和签名( r, s )发送给接收
18、者2022-3-6信息安全数字签名信息安全数字签名27v验证签名:验证签名:收到消息m和签名( r, s )之后1. 检验r、s,要求r、s1, n12. 计算eSHA1 ( m )3. 计算ws1 mod n 4. 计算u1ew mod n;u2rw mod n5. 计算Xu1Gu2Q。如果X0,表示签名无效;否则,X( x1, y1 ),计算vx1 mod n6. 如果vr,表示签名有效;否则表示签名无效2022-3-6信息安全数字签名信息安全数字签名28基于身份的签名方案基于身份的签名方案 vShamir的基于身份的数字签名方案的基于身份的数字签名方案 -包括四个算法:1. 初始化初始化
19、:KGC选择n为两个大素数p、q的乘积,e是一个与 (n)互素的大素数,f是一个单向函数,则为公开的参数2. 密钥提取密钥提取:公开的用户身份值i,与i值相对应的私钥为g,满足:g ei ( mod n )3. 签名算法签名算法:对消息m签名,首先选择一个随机数r,计算tr e ( mod n ),sg r f(t m),则将签名签名( s, t, r )发送给验证者4. 验证算法验证算法:验证者收到签名( s, t, r )之后,如果 成立,则接受该签名为有效签名;否则,拒绝该签名2022-3-6信息安全数字签名信息安全数字签名29?()ef t msi t vCha-Cheon的基于身份的
20、数字签名方案:的基于身份的数字签名方案:1. 设置设置:给定安全参数k,生成素数q,两个q阶群G1和G2,一个可接受的双线性映射: G1G1G2。随机选择生成元PG1。取随机数sZq*为主密钥,令Ppubs P。选择2个密码学Hash函数H1: 0, 1*G1* 和 H2: 0, 1*G1* Zq*。系统参数为 params,主密钥为sZq*2. 析出析出:给定串ID 0, 1*,PKG 计算QIDH1( ID ),计算私钥dIDs QID3. 签名签名:给定私钥dID和消息m,选取随机数rZq*,计算Ur QID,hH2 (m, U)和V(rh) dID,输出签名签名 ( U, V )4. 验证验证:消息m的签名 ( U, V ),验证 (P, V ) (Ppub, Uh QID )是否成立,这里hH2 ( m, U
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 如何提升农业电商用户体验试题及答案
- 生鲜供应链中的农产品冷链物流损耗控制与物流技术创新研究报告
- 环境友好型材料在新能源汽车中的运用试题及答案
- 2025南航招聘面试问题及答案
- 2025民航招飞面试常见问题及答案
- 2025量化分析师面试试题及答案
- 新媒体在农业电商中的应用研究试题及答案
- 报考必看土木工程师考试试题及答案
- 农业废弃物资源化利用与循环经济发展报告
- 幼儿园数学趣味运算试题及答案
- 环境艺术设计职业生涯规划书
- 数据网-IPRAN含IPRAN基础组网和IPRAN高级知识
- 上市公司执行企业会计准则案例解析-中国证监会会计部编
- 2《建筑机械使用安全技术规程》JGJ33-2012
- GB/T 4745-2012纺织品防水性能的检测和评价沾水法
- GB/T 17791-1999空调与制冷用无缝铜管
- 项目部施工安全风险源识别清单
- 泥水平衡顶管施工方案(专家论证)
- 铁路运输调度指挥与统计分析
- 漏缆安装施工作业指导书资料
- 《大学物理》说课课件
评论
0/150
提交评论