版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第八章 数字签名,信息安全技术,8.1 概述 数字签名DS(Digital Signature)用于防伪造和抗抵赖的二进制编码序列 注:实物签名的扫描件不是数字签名 8.1.1 数字签名的特殊性 数字签名是由需签名的消息和签名者的私钥按特定规则计算而产生的 数字签名基于两条基本假设: 私钥的安全性只有私钥的合法拥有者才能获得该私钥 产生途径的唯一性数字签名只能由签名者的私钥产生,数字签名的性质 依赖性数字签名必需依赖于所签名的消息(确保无法将对消息甲的签名挪到消息乙上去) 唯一性只有签名者才能生成该签名(确保签名者无法抵赖) 时效性具有时间特征(确保签名不会被非法重用),8.1.2 对数字签名
2、的要求 验证者能够核实签名者对消息的签名 签名者事后不能抵赖对消息的签名 验证者不能伪造对消息的签名 必须能够认证签名时刻 签名必须能够被第三方验证,以解决争议 签名必须依赖于被签名消息 签名必须使用某些对签名者是唯一的信息 签名必须相对容易生成 必须相对容易识别和验证该签名 伪造该数字签名在计算复杂性意义上是不可行性的 保存一个数字签名副本是可行的,8.1.3 数字签名方案描述 签名方案 设:P是消息的有限集合(明文空间), S是签名的有限集合(签名空间), K是密钥的有限集合(密钥空间),则: 签名算法是一个映射:,验证算法也是一个映射:,五元组P,S,K,sig,ver称为一个签名方案,
3、用对称密码体制实现“准”数字签名 用加密实现签名,用解密实现验证,也可用重新加密实现验证,此方案的前提是双方有共享密钥k,并且都知道消息 此方案只能用于抗击第三者对消息进行伪造,并不能防止通信双方之间的欺骗或抵赖(双方均可产生对方的签名) 因不满足唯一性故并非严格意义上的数字签名,用非对称密码体制实现数字签名 用私钥加密实现签名,用公钥解密实现验证,属于严格意义上的数字签名 本质上是公钥加密体制的逆用,数字签名的种类 直接数字签名(通信双方为签名方与验证方) 需仲裁的数字签名(通信三方为签名方、仲裁者与接受方),8.1.4 直接数字签名 特点: 仅涉及通信双方,无需公证方 有效性依赖于私钥的安
4、全性 简单数字签名直接对消息进行签名 AB : M+EKRaM,兼有信息完整性认证的作用 任何人可以验证签名 签名过程会因消息长而费时 对消息本身没有保密功能 仅需要签名者的“公钥-私钥”对 过程如下:,消息M,M,私钥KR,公钥KU,M,比较,签名,验证,带保密功能的数字签名签名后再加密 AB :EK M+EKRaM 兼有信息完整性认证的作用 签名过程会因消息长而更费时 对消息本身有保密功能 除了需要签名者的“公钥-私钥”外,双方还需有共享密钥 过程如下(图略),快速的数字签名仅对消息的散列值进行签名运算 AB :M+EKRaH(M),兼有信息完整性认证的作用 任何人可以验证签名 签名过程不
5、会因消息长而费时 对消息本身无保密功能 仅需要签名者的“公钥-私钥”对 常用RSA算法来实现 过程如下,消息M,H(M),私钥KR,公钥KU,H(M),比较,签名,验证,全能的数字签名对消息的散列值进行签名,再将其与消息一起加密 AB :EK M+EKRaH(M) 兼有信息完整性认证的作用 签名过程会因消息长而费时 对消息本身有保密功能 除了需要签名者的“公钥-私钥”外,双方还需有共享密钥 过程如下(图略),选择充分大的素数p,使得在Zp =0,1,2,p-1上求离散对数是困难的 选择Zp*的某个本原元g 针对某用户任意选择xZp*=1,2,p-1 ,计算y=gx (mod p),以形成公钥(
6、p, g,y)和私钥x,记Key=(p,g,x,y),补充:ElGamal数字签名体制,签名SigKey(M,k)=(r,s):签名方先算出消息明文M的散列值H(M)Zp* ,然后随机选取与(p-1)互素的正整数k,计算r=gk (mod p)和s=(H(M)xr)k-1(mod (p-1) ,从而得到签名(r,s) 验证VerKey(M,r,s)=(rsyr=gH(M)(mod p)?True:False:验证方由接收到的M重算散列值H(M),然后与同时收到的签名(r,s)进行验证计算,如果rsyr=gH(M) (mod p), 则认定签名有效,否则认定无效,例子:,设素数p=11,则Z11
7、=0,1,2,10, Z11*=1,2,10, 可以验证g=7是Z11*的本原元:71=7、72=5、73=2、74=3、 75=10、76=4、77=6、78=9、79=8、710=1; 针对某用户选择x=3Z11*,计算得y=gx=73=2 (mod 11),故形成公钥(p,g,y) = (11,7,2)和私钥x=3; 假设H(M)=6Z11*,随机选取与10互素的正整数k=7,由签名变换计算得r=gk=77=6 (mod 11),s=(H(M)-xr) k-1 (mod 10)= (63*6)*7-1 (mod 10)=8*3 (mod 10) =4 (mod 10),从而得到签名(6,
8、4),与M一起发送。验证者由收到的M重算出H(M)=6,与同时收到的签名(6,4),验算rsyr=gH(M) (mod p)是否成立 : 左端= 64 *26 = 82944=4 (mod 11), 右端= 76=117649=4 (mod 11),故 验证成功,8.1.5 需仲裁的数字签名 特点 签名通过第三方而起作用 第三方也称“仲裁者”或“公证方”、“可信方” 接收方无需验证签名 有效性依赖于第三方的可信度 签名的一般流程 签名方对消息产生签名 签名方将消息和签名发送给仲裁者 仲裁者验证签名 仲裁者将消息、签名发给接收方,方式一用对称密钥、消息不保密 签名方X计算消息M的散列值H(M),
9、将其与自己的标识IDX合并在一起,用与仲裁者A共享的密钥KXA加密以形成签名,再将签名与消息本身合并在一起发送给仲裁者:,XA : M | EKXA IDX | H(M),仲裁者A 用与X共享的密钥KXA 解密上述签名,并由收到的M重算H(M)以验证签名的有效性及消息M的完整性;然后将签名、消息、X的标识以及时间戳T合并在一起,用与接收者Y共享的密钥KYA 加密,再发送给Y:,AY : EKYAIDX | M | EKXA IDX | H(M)|T,接收者Y 用与A共享的密钥KYA 解密上述信息,并保存经A验证的签名和经A认证的消息 仲裁机制: 当Y需要抗击X抵赖时,可向A发送 EKYAIDX
10、 | M | EKXA IDX | H(M); A用KYA恢复出IDX 、M 、EKXA IDX | H(M); 然后用KXA恢复H(M),并通过重算验证签名; 从而裁决X确有此签名。 可用前提: X确信A未泄漏KXA ,且不会自己伪造签名 Y确信收到的签名已经由A完成验证 时间戳T用于抗击重放攻击(下同),方式二用对称密钥、消息对仲裁者保密 签名方X先用其与接收者Y共享的密钥KXY加密消息M,然后计算所得密文的散列值,接着将其与自己的标识IDX一起用与仲裁者A共享的密钥KXA加密以形成签名,再将签名与消息密文及标识IDX 一起发送给仲裁者:,XA : IDX|EKXYM|EKXAIDX|H(
11、EKXY M),仲裁者A 用与X共享的密钥KXA 解密上述签名,并由收到的EKXY M 重算H(EKXY M )以验证签名的有效性及信息M的完整性;但A对消息本身却一无所知;然后将收到的所有信息加上时间戳一起用与接收者Y共享的密钥KYA 加密,再发送给Y:,AY:EKYAIDX|EKXYM|EKXAIDX|H(EKXY M)|T,接收者Y 用与A共享的密钥KYA 解密上述信息,再用与X共享的密钥KXY解密得到消息明文,并保存经A验证的签名和经A认证的消息密文 仲裁机制与可用前提同方式一 这两种方式的共同问题:仲裁者与签名方可联手否认签名(仲裁者否认向接收方发送过签名信息);同样,仲裁者与接收方
12、可联手伪造签名方的签名,方式三用非对称密钥、消息对仲裁者保密 签名方X先用自己的私钥KRX、再用接收方Y的公钥KUY双重加密消息M,然后将其与自己的标识IDX一起用KRX加密以形成签名,再将签名与标识IDX一起发送给仲裁者:,仲裁者A 用X的公钥KUX解密上述签名,并通过比较IDX验证签名的有效性;然后将双重加密的消息、X的标识以及时间戳T一起用自己的私钥KRA加密,再发送给Y:,AY : EKRAIDX | EKUY EKRX M|T,XA : IDX|EKRXIDX|EKUY EKRX M,接收者Y 用A的公钥KUA解密上述信息,再用自己 私钥与X的公钥解密得到消息明文,并保存经A验证的签
13、名,8.2 数字签名标准DSS DSS由NIST于1991年8月公布 DSS主要支持ElGamal签名体制的变形算法数字签名算法DSA,8.2.1 数字签名算法DSA DSA的安全性基于计算离散对数的困难 DSA利用SHA-1产生信息摘要 DSA的签名函数依赖于签名方的私钥和一个全局公钥分量 DSA的验证函数依赖于上述全局公钥分量和与签名方私钥配对的用户公钥分量,DSA的签名与验证过程,DSA的参数,全局公钥分量KUG= (p,q,g) (可被众多用户公用) 对于一个 160位素数q,选择一个长度在5121024位之间的素数p,使得q是(p-1)的因子;选择g=h(p-1)/q (mod p)
14、,其中h Zp* ,并确保g1(mod p),于是形成全局公钥分量 用户私钥KRa =x(只针对用户a) 针对用户a任意选择xZq*,形成用户私钥,用户公钥分量KUa= y(只针对用户a) 针对x计算y=gx (mod p),形成用户公钥分量。 密值k(属于某次签名) 针对某次签名随机选取k Zq*,DSA的签名过程,签名方先算出消息明文M的散列值H(M)=SHA-1(M)Zp* ,然后随机选取密值k Zq*,计算: r=(gk (mod p) (mod q) s=(H(M)+xr)k-1(mod q) 从而得到签名(r,s) 注:若r=0或s=0,则应另选k重新计算签名,DSA的验证过程,验证方由接收到的M重算散列值H(M),然后由同时收到的签名(r,s)计算: w= s-1 (mod q) u1=H(M)w (mod q) u2=rw (mod q) v=(gu1 yu2(m
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 自动驾驶安全测试
- 2025-2026学年广东省云浮市高三下学期联考化学试题(含答案解析)
- 橡胶企业产品质量准则
- 2026年天津市部分区中考一模道德与法治试卷和答案
- 某木材加工厂木材防腐规范
- 麻纺厂人力资源管理细则
- 2026年生物生态系统结构与功能评价指标体系研究
- 水土保持项目组织机构设置
- 新生儿脐炎患儿的个案护理
- 一例胰头癌患者的护理个案
- 数字经济概论 习题参考答案 李三希
- 胎盘讲解课件
- 安监部门加油站重点检查内容
- 药性赋白话讲记-热性药
- 《论语》知识考试参考题库(含答案)
- 八年级下册道德与法治《坚持依宪治国》教学设计
- 小学数学教资面试真题及答案
- 院前急救诊疗常规和技术操作规范2022版
- 英语答题卡2023年全国小学生英语能力测评(NEPTP)低年级组
- ROTORK电动执行机构IQ型
- FZ/T 60011-2016复合织物剥离强力试验方法
评论
0/150
提交评论