第7讲 数字签名与身份认证(刘)
数字签名与身份认证
根据用户拥有什么来判断,Something the user possesses (拥有) 身份证、护照、门钥匙、磁卡钥匙等
根据用户是什么来判断, Something the user is (or How he behaves) (特征) 指纹、声音、视网膜、签名、DNA等
身份认证的主要方法
基于口令的身份认证 基于智能卡的身份认证 基于生物特征的身份认证 签名识别法 指纹识别技术 语音识别系统 视网膜图像识别系统 还有其他一些不常见的方法:唇印、脚印、头盖骨的轮廓、人体骨骼对物理刺激的反应
一次性口令的安全原理 使用一次性口令序列 n次 第一个口令——使用单向函数n次 p(1)=f(f(f(f(s)))) 第二个口令——使用单向函数n-1次 p(2)=f(f(f(s))) 依次类推
一次性口令系统实例
1991年,贝尔通信研究中心(Bellcore)首次研制出了基于一次性口令思想的身份认证系统S/KEY。 FreeBSD操作系统下的一次性口令系统——OPIE(One-time Passwords In Everything)
数字签名体制
常规数字签名体制 (1)RSA签名 (2)DSS签名 (3)ECDSA签名 特殊数字签名体制 (4)不可否认签名 (5)失败-终止签名 (6)盲签名 (7)批量签名 (8)群签名 (9)代理签名 (10)多重签名
RSA签名原理
身份认证和数字签名技术的实现
身份认证和数字签名技术的实现身份认证和数字签名技术是现代信息安全中至关重要的技术,可以用于确保信息的安全性和完整性。
本文将介绍身份认证和数字签名技术的原理和实现。
一、身份认证技术身份认证技术是核实用户身份和权限的一种方法。
常见的身份认证技术包括用户名/密码、指纹识别、虹膜识别、声音识别等。
其中,用户名/密码是最常用的一种身份认证技术。
1.用户名/密码用户名/密码是一种基础的身份认证技术。
用户需要输入用户名和密码才能登录系统。
系统会根据用户输入的用户名和密码来核实用户身份。
如果用户输入的用户名和密码与系统存储的一致,就可以登录系统。
用户名/密码身份认证技术的优点是简单易用,缺点是安全性相对较低。
因为用户很容易忘记密码,在输入密码时也很容易被攻击者盗取。
2.指纹识别指纹识别是一种生物特征识别技术。
系统会通过扫描用户手指上的指纹来进行身份认证。
从生物特征的角度来看,指纹是一种唯一的特征,因此指纹识别技术的安全性相对较高。
指纹识别技术在金融、政府等领域得到广泛应用。
指纹识别技术的优点是安全性高,缺点是成本相对较高。
因为需要购买指纹识别设备,并且需要不断更新设备以提高识别精度。
3.虹膜识别虹膜识别是一种更高级别的生物特征识别技术。
虹膜是人眼的一部分,具有与生俱来、独一无二的特征。
虹膜识别技术通过扫描用户眼睛中的虹膜来进行身份认证。
虹膜识别技术的优点是识别精度高,安全性更高,缺点是成本高,需要较专业的设备。
4.声音识别声音识别是一种新兴的生物特征识别技术。
用户用自己的声音进行身份认证。
声音识别技术的优点是无需专门设备,使用方便。
但是其安全性还有待提高。
二、数字签名技术数字签名技术是一种确保数字文档的完整性、真实性和不可抵赖性的技术。
所谓数字签名,就是将原始文档经过加密算法处理,得到一段特殊的字符串,叫做签名。
数字签名技术的核心是公钥加密技术和哈希算法。
1.公钥加密技术公钥加密技术是一种常见的加密技术。
它使用一对密钥来实现加密和解密。
数字签名与身份鉴别
§5.2.2 数字签名算法DSA
• 签名过程
为了生成签名,需要计算r和s,它们分别是全局公开密钥 分量(p, q, g)、发送方的私有密钥x、报文M的散列值H(M) 和密值k的函数。 r = (gk mod p) mod q s = [k-1(H(M) + xr)] mod q
南京理工大学计算机科学与技术学院
§5.1 数字签名
• 需仲裁的数字签名
需仲裁的数字签名方案按照如下方式进行 发送方X对发往接收方Y的报文签名后,将报文及其签 名首先发往仲裁者A; 仲裁者A对报文及其签名进行测试以检验其出处和内容, 然后对报文注明日期,并附上一个已经经过仲裁证实属 实的说明后发送给接收方Y。
南京理工大学计算机科学与技术学院
§5.2.1 数字签名标准DSS
• 数字签名标准DSS规定了一种适用于数字签名应用中 的公开密钥数字签名算法DSA。
• 数字签名标准DSS使用公开密钥,为接收者验证数据 的完整性和数据发送者的身份,也可用于由第三方来 确定签名和所签数据的真实性。
南京理工大学计算机科学与技术学院
p是素数,2L-1 < p < 2L,512≤L<1024,且L为64的倍数: 即比特长度在512到1024之间,长度增量为64bit。
q为(p-1)的素因子,其中2159 < q < 2160,即长度为160比特。 g = h(p-1)/q mod p,其中h是整数,1 < h < (p-1)且满足
验证:v = r'
南京理工大学计算机科学与技术学院
§5.2.2 数字签名算法DSA
• DSS的签名和验证函数
pq g
f2 k MH
身份认证与数字签名技术
数字签名的过程
11
数字签名的过程
12
验证签名的过程
13
验证签名的过程
14
验证签名的过程
15
上述过程是否满足
签名是可信的 签名是不可伪造的 签名是不可重用的 签名后的文件是不可变的 签名是不可抵赖的
16
思考?
在此基础上要实现信息的保密性, 如何做?
17
例一: PGP加密技术
63
例五: BitCoin
块链
64
例五: BitCoin
Proof-of-Work (POW)
65
例五: BitCoin
Proof-of-Work (POW)
生产Block的过程,被形象 的称为“挖矿”,生产工 也被称为“矿工”。
66
例五: BitCoin
Proof-of-Work (POW)
18
例一: PGP加密技术
19
例一: PGP加密技术
20
例一: PGP加密技术
21
思考?
Bob如何能确定邮件是Alice发的?
22
PGP加密软件
23
PGP加密软件
24
PGP加密软件
25
PGP加密软件
26
PGP加密软件
27
例二: OAuth
28
例二: OAuth
29
例二: OAuth
41
例二: OpenID
42
例二: OAuth & OpenID
OpenID authentication
OAuth authorization
数字签名技术保证数据的完整性与身份认证
数字签名技术保证数据的完整性与身份认证随着互联网的不断发展,信息传递和数据交换在我们的生活中变得越来越普遍。
然而,与之而来的也是信息安全问题的日益突出。
在信息传递中,我们常常需要保证数据的完整性和身份的认证,以确保信息的真实性和可靠性。
数字签名技术应运而生,它通过使用非对称加密算法,为我们提供了一种解决方案。
数字签名技术是一种基于非对称加密算法的数据保护技术。
在数字签名技术中,数据发送方使用其私钥对数据进行加密,并生成一个数字签名。
而接收方通过使用发送方的公钥对签名进行解密,验证数据的完整性,同时也确认了发送方的身份。
首先,数字签名技术保证了数据的完整性。
在数据传递过程中,数字签名技术使用了哈希函数和非对称加密算法,对数据进行加密和生成签名。
这样,即使数据被中途篡改,接收方也可以通过验证签名的方式判断数据的完整性。
如果签名验证失败,接收方会意识到数据已被篡改,从而保护了数据完整性。
其次,数字签名技术可以实现身份认证。
由于数字签名技术使用了发送方的私钥对数据进行签名,接收方可以使用发送方的公钥对签名进行验证。
这样,接收方可以确认发送方的身份,并确保数据的来源可信。
通过使用数字签名技术,我们可以避免恶意攻击者伪装他人身份或者截获数据进行修改的情况。
另外,数字签名技术在实际应用中还有其他的一些优势。
例如,数字签名技术可以提供不可抵赖性,即发送方无法否认曾经发送过的数据,因为签名是唯一的。
此外,数字签名技术也可以提供不可篡改性,即生成签名的私钥是唯一的,无法更改。
这些优势使得数字签名技术在电子商务、电子合同签署和电子票据等领域得到了广泛应用。
总之,数字签名技术是一种保证数据完整性和身份认证的有效手段。
它通过使用非对称加密算法,为我们提供了一种可靠的解决方案。
在信息传递和数据交换中,我们可以借助数字签名技术来确保数据的可靠性和真实性,同时保护数据的完整性和身份的认证。
数字签名技术的应用将为信息安全提供有力支持,推动数字化时代的发展。
《认证与数字签名》课件
应用
数字签名广泛应用于电子商务、金融、政务和文 娱等领域,是数字时代的基础技术。
数字证书的使用
数字证书是什么?
数字证书是一种数字身份凭证,类似于护照和驾照,用于证明数字身份和数字权利。
使用场景
数字证书广泛应用于数字收据、电子签名、VPN等场景,以确保数字身份和数字数据的安全 性和合法性。
数字签名的安全性问题
建立数字身份和信任是数字时代的基础, 只有确保数字内容的安全性和可信度,才 能加速数字经济的发展。
认证的原理和方法
原理
认证的基本原理是通过比较认证的信息或特征, 确认数字身份的真实性。
方法
• 密码口令认证 • 生物特征认证 • 多因素认证 • 信任链认证
数字签名的原理和应用
原理
数字签名通过Hash算法和非对称密钥技术,保证 数字内容的完整性和不可抵赖性。
认证与数字签名
认证与数字签名对于保障数字世界的安全性和合法性至关重要。本课程将深 入介绍相关概念、原理和实践技能,帮助你更好地理解和保护数字身份和数 据。
认证与数字签名概述
1 认证与数字签名是什么?
2 为什么认证与数字签名重要?
认证是确认数字身份的真实性,数字签名 是利用Hash算法和非对称密钥技术保证 数字内容的完整性和不可抵赖性。
1
安全风险
数字签名可能受到密码学攻击、山寨证书、中间人攻击等安全风险威胁,并带来 不可预测的经济、法律和社会风险。
2
增强安全性
采用更高强度的密码学算法和密钥管理方案、建立数字身份的管理和溯源机制、 提高数字安全意识和技能等方法可以增强数字签名的安全性。
数字签名技术的未来发展
当前技术趋势 未来发展
更多基于区块链、AI、云计算等技术的数字签 名应用出现,数字身份和数字信任建设迎来新 时代。
数字签名与身份认证技术
数 字
(1)A计算出C=D A(M) ,对M 签名。
签
名 与
(2)B通过检查E A(C) 是否恢复M ,验证A的签名。
身 份
(3)如果 A和B之间发生争端,仲裁者可以用( 2)中
认 证
的方法鉴定A的签名。
技
术
3.1.2 带加密的数字签名
第
3 章
在公钥数字签名系统中还要求 保密性,必须对上
数
述方案进行如下修改。
章
录,同时在电脑上启用 Wireshark 进行抓包
数
字 监听,如果测试登录的用户名为
签
名 williamlong ,密码为 1234567890123
与
身 ,登录完成后停止抓包然后进行分析,抓包的
份
认 证
截图显示该用户名和密码为明文传输,通讯协
技 术
议为HTTP ,连接的是广州的一台服务器,这
证明了原有的 HTTPS 安全连接遭到了破坏。
数
字
seed 经过MD4 或者MD5 散列算法生成的密文,
签 名
用户本身的秘密口令并没有在网络上传播。
与 身
? 在服务器端,因为每一次成功的身份认证之后,
份 认
seq 就自动减1。这样,下一次用户连接时生成的
证
口令同上一次生成的口令是不一样的,从而有效地
技
术
保证了用户口令的安全;
? 实现原理简单。Hash 函数的实现可以用硬件实现
章 计算机内存和网络中传输,而每次验证
数 字
过程中使用的验证信息都是相同的,很
签 名
容易被驻留在计算机内存中的木马程序
与 身
或网络中的监听设备截获。
份
数字签名与身份认证(技术专攻)
接收方收到(M,s)之后
(1)取得发送方的公钥(e,n)
(2)解密签名s:h=se mod n。
(3)计算消息的散列值H(M)。
(4)比较,如果h=H(M),表示签名有效;否则,签名无效。
如果消息M很短的时候,可以直接对M用公钥解密以验证签名的有效
性,可以表达为:Ver(M,s专)=业课真〈=〉M=se mod n
2.数字签名的形式化定义 “数字签名”系指在数据电文中,以电子形式所含、所附或在逻
辑上与数据电文有联系的数据,和与数据电文有关的任何方法,它 可用于数据电文有关的签字持有人和表明此人认可数据电文所含信 息。
专业课
3
4.1 数字签名技术
一个签名方案由签署算法与验证算法两部分构成。可用五元关系组
(P,A,K,S,y)
(3)当群体中某—个成员签名时,从自己的m个私钥中随机选择一个, 进行签名。
(4)而验证签名时,用该团体的公钥表进行签名认证即可。
(5)当发生争议时,第三方知道密钥对与成员之间的对应关系,所以 可以确定出签名者是团体中哪一个成员。
一是发送方的签名部分,对消息M签名,可以记作S=Sig(K, M),签字算法使用的密钥是秘密的,即是签字者的私钥。
二是接收方的认证部分,对签名S的验证可以记作Ver(M,S, K)— {真,假},认证算法使用的密钥是发送方(即签名者)的公钥。
专业课
2
4.1 数字签名技术
1.数字签名的特点 (1)信息是由签名者发送的; (2)信息自签发后到收到为止未曾做过任何修改; (3)如果A否认对信息的签名,可以通过仲裁解决A和B之间的争议 (4)数字签名又不同于手写签名: 数字签名随文本的变化而变化,手写签字反映某个人个性特征, 是不变的;数字签名与文本信息是不可分割的,而用手写签字是附 加在文本之后的,与文本信息是分离的。
数字签名与身份认证
相互鉴别
• 目的:用于通信各方之间的相互进行身份认证, 同时交换会话密钥。
• 需要解决的核心问题:
– 密钥交换的机密性和时效性。
• 机密性
– 防止会话密钥被篡改或和泄露; – 用户身份信息和会话密钥都必须以密文形式交换; – 前提:通信各方与事先保存一个密钥(共享或公开
密钥)。
• 时效性
– 为了防止消息的重放攻击。
签名解密并验证其散列码。
• 特点:
– Y 不能直接验证 X 的签名。 – 双方都需要高度相信 A
• Y 相信 A 已对消息认证,X 不能否认其签名; • X 信任 A 没有暴露 Kxa,无人可伪造 DS; • 双方都信任 A 处理争议是公正。
– 问题:
• 报文 M 明文传送给,有可能被窃听。
11
基于仲裁的数字签名--对称密钥加密方式
成 ,用密钥Kax进行加密。 • 过程:
(1)X → A :M‖EKax( IDx‖H(M) )。 (2)A → Y :EKay( IDx‖M‖EKax( IDx‖H(M) )‖T )。 (3) Y存储报文M及签名。
10
基于仲裁的数字签名--对称密钥加密方式
• 争端解决方式
– Y → A :EKay( IDx‖M‖EKax( IDx‖H(M) ) )。 – 仲裁A可用Kay恢复出IDx 、M及签名,然后再用Kax对
• 优点:
– 通信各方之间无须共享任何信息,从而避免了联手作弊; – 只要 KRa 安全,则不会出现伪造 A 发送的消息; – 消息的内容是保密的,包括对 A 在内。
13
认证( Certification)
• 证实通信中某一方的身份。 • 两个基本的方式 :
– 相互鉴别(mutual Certification); – 单向鉴别 (one-way Certification)。
6.2.3 数字签名与身份认证技术_大学计算机基础_[共2页]
303 计算机通信最常用的加密算法。
尽管在1994年1月,美国已决定在1998年12月以后,不再使用DES 作为国家标准,但直至今天它仍然被广泛使用。
继DES 之后,相继推出三重DES (DES 的加强版)、随机数据加密标准(RDES )以及美国新的数据加密标准CLIPPER 和CAPSTONE 等。
(2)非对称密码技术非对称密码体制又称双钥或公钥体制,其密钥分为加密密钥和解密密钥,加密密钥不能用作解密密钥,解密密钥也不能根据加密密钥推算出来。
加密密钥也称公开密钥(Public Key ,公钥),是公开的,仅用于加密数据。
解密密钥也称私人密钥(Private Key ,私钥),或秘密密钥,是信息的接收者仅用于解密数据的、需要保密的密钥。
非对称密钥技术的加密解密过程如图6.2所示。
错误!图6.2 非对称加密解密过程 非对称密钥技术的概念是由Whitfield Diffie 和Martin Hellman 提出的,Ralph Merkle 也独立提出了这个概念。
1976年,在美国计算机会议上,Whitfield Diffie 和Martin Hellman 首先提出了这个概念。
1976年之后有很多人提出过多种非对称密钥加密算法,但有许多算法是不安全的,还有一些算法是安全的但不大实用。
只有少数几种算法既安全又实用,如RSA 、EIGamal 和Rabin 等。
其中,RSA 是最容易理解和实现的一种算法。
RSA 算法是1978年由Rivest 、Shamir 和Adleman 提出的,已成为世界上许多地方事实上的标准。
ISO 非成文地指定其作为数字签名的国际标准。
RSA 算法是拥有美国国家专利的算法,但其专利已于2000年9月20日到期。
RSA 算法已经经过了多年的深入密码分析,目前,既不能证明也无法否认其安全性,这说明RSA 具有较好的可信度。
4.密码分析密码分析是指在不知道密码的情况下,从密文中恢复出明文甚至密码的过程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于仲裁的数字签名--对称密钥加密方式(2)
特征:
X 与 Y 之间共享密钥 Kxy 。
签名的构成:IDx 和消息密文的散列码用 Kxa 加密。
签名的验证:A 解密签名,用散列码验证消息。 A 只能验证消息的密文,而不能读取其内容。 A 将来自 X 的所有信息加上时间戳并用 Kay 加密后发送给Y 。
a,b∈GF(p),a和b确定了椭圆曲线;G为循环子群E1 的生成元, n为素数且为生成元G的阶,G和n确定了循环子群E1。 y2=x3+ax+b mod p
利用椭圆曲线密码实现数字签名
d为用户的私钥,公开钥为Q点,Q=dG 。 1、产生签名 选择一个随机数k,k∈{1,2,·,n-1}; · · 计算点R(x R ,y R)=kG,并记 r= x R ; 利用保密的解密钥d计算: s=(m-dr)k-1 mod n ; 以<r,s>作为消息m的签名,并以<m, r, s>的形式传输或存储。
数字签名算法( DSA )
设计基础基于离散对数的计算。
三个p、q、g 作为全局公开的密钥分量:
p是一个素数,其长度在512比特到1024比特之间,可以 对p进行更精确的描述:p是素数,且满足2L-1 ≤ p ≤ 2L(其 中512≤ L ≤1024,且L是64的倍数); q是一个长度在160为素数,且q是p-1的一个素因子,即 2159 ≤ p ≤ 2160,且(p-1) mod q = 0;
所以U(xU, yU)=(m –dr)-1 k (mG- rQ)
=(m –dr)-1 (mkG- krdG)= (m –dr)-1 (mR- rdR)
=(m –dr) 1 R(m-dr)=R(x R ,y R)。
所以 x U =x R=r .
利用椭圆密码实现数字签名
3、椭圆曲线密码签名的应用
(3) 用厂长的公开加密密钥e作运算x′=Ek(y),如果x′=x,则可证
实厂长的签名为真;否则为假。因为Ek(Dk(x))≡Dk(Ek(x))≡x(modn),
而Dk是唯一的且只有厂长本人知道。
RSA签名方案
设p与q是两个不同的素数,n=pq, (n)=(p-1)(q-1)。任取 一个与n互素且小于n的数 e,由de≡1(mod (n))求得唯一的解d, 1<d<n。公开 n 与 e,保密值 p,q 和 d。对x∈Zn,定义签名 算法S(· )为S(x)≡xd(modn);对y∈Zn,定义验证算法V(· )为
基于仲裁的数字签名
通过引入仲裁来解决直接签名方案中的问题。 仲裁者必须是一个所有通信方都能充分信任的仲裁机构。 基本工作方式(假定用户X和Y之间进行通信):
每个从X发往Y的签名消息首先被送给仲裁者A; A检验该报文及其签名的出处和内容,然后对报文注明日
期,并附加上一个“仲裁证实”的标记发给Y。
问题:
报文 M 明文传送给A,有可能被窃听。
基于仲裁的数字签名--对称密钥加密方式(2)
明文加密的方案(仲裁方不能阅读消息)
假定X和Y共享密钥Kxy。X用Kxa对其标识、用Kxy加密 后的消息的hash值产生签名,然后将其标识、用Kxy 加密后的消息和签名发送给A。
(1)X → A :IDx‖EKxy (M)‖EKax( IDx‖H (EKxy(M)) )。
网络与信息安全Ⅰ
第7讲
数字签名与身份 认证
1
主要内容
1
数字签名
认证协议 数字签名标准 身份认证技术 认证服务
2
3 4 5
7.1 数字签名
数字签名(Digital Signature)是公开密钥体系加密
技术发展的一个重要的成果。
消息认证可以保护消息交换双方不受第三方的攻击。 但是不能处理通信双方自身发生的互相攻击。
基于仲裁的数字签名--对称密钥加密方式(1)
当发生争端时解决方式
Y → A :EKay( IDx‖M‖EKax( IDx‖H(M) ) )。
仲裁A可用Kay恢复出IDx 、M及签名,然后再用Kax对签名 解密并验证其散列码。
基于仲裁的数字签名--对称密钥加密方式(1)
特点: Y 不能直接验证 X 的签名。 双方都需要高度相信 A Y 相信 A 已对消息认证,X 不能否认其签名; X 信任 A 没有暴露 Kxa,无人可伪造 签名; 双方都信任 A 处理争议是公正。
数字签名的解决方案
可分为两大类: 直接数字签名方案;
基于仲裁的数字签名方案。
直接数字签名
实现比较简单,在技术上仅涉及到通信的源点X和终点Y 双方。 终点Y需要了解源点X的公开密钥Kux。 发送方A可以使用其私有密钥KRx对整个消息进行加密来 生成数字签名。
更好的方法是使用KRx对消息的散列码进行加密来形成数
一个明文消息空间M:某字母表中串的集合; 一个签名空间S:可能的签名集合;
一个签名密钥空间K:用于生成签名的可能密钥集合;一个认
证密钥空间K’:用于验证签名的可能密钥集合;
一个有效的密钥生成算法;
一个有效的签名算法s←Signsk(m) ;
一个有效的验证算法Verifypk(m,s)={True,False}。
特殊数字签名
前向安全签名:主要是考虑密钥的安全性,签名私钥能按时 间段不断更新,而验证公钥却保持不变。攻击者不能根据当 前时间段的私钥,推算出先前任一时间段的私钥,从而达到 不能伪造过去时间段的签名,对先前的签名进行了保护。 双线性对技术:它是利用超奇异椭圆曲线中Weil对和Tate对
所具有的双线性性质,构造各种性能良好的数字签名方案。
r f 2 ( k , p , q , g ) ( g mod p ) mod q
k
s f 1 ( H ( M ), k , x , r , q ) ( k
1
( H ( M ) xr ) mod q
验证函数(Ver)
w f3(s', q) (s' ) u 2 ( r ' ) w mod q v f 4 ( y , q , g , H ( M ' ), w , r ' ) [( g y ) mod p ] mod q
利用椭圆曲线密码实现数字签名
2、验证签名
① 计算s-1 mod n;
②
③
利用公开的加密钥 Q 计算
U(xU , y U)= s-1(mG-rQ);
如果xU =r,则<r,s>是用户A对m的签名。 证明:因为s=(m –dr) k-1 mod n ,所以
s-1=(m–dr)-1 k mod n,
基于仲裁的数字签名--对称密钥加密方式(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及签名。
数字签名的满足条件
数字签名必须是与消息相关的二进制位串; 签名必须使用发送方某些独有的信息,以防伪造和否认; 产生数字签名比较容易;
识别和验证数字签名比较容易;
伪造数字签名在计算上是不可行的; 保存数字签名的拷贝是可行的。
数字签名体制
一个数字签名体制应由以下部分组成:
DSS的数字签名方案
DSS的数字签名方案
同时采用散列函数H()和签名函数Sig()。 签名函数的输入是散列函数输出的散列码及一个用于生成签名的 随机数k。 签名函数还需要使用发送方的私有密钥(用KRa表示)和由参数集
构成了组成一个全局公开密钥(KUG)。
签名函数输出的最终结果(即数字签名)由两个分量组成,记为s
7.2 数字签名标准(DSS)
美国国家标准技术研究所(NIST)公布的美国联邦信息处 理标准FIPS PUB 186。 DSS最早发表于1991年,并于1993年和1996年进行了修改。 DSS基于安全散列算法(SHA)并设计了一种新的数字签名 技术,即DSA(数字签名算法)。
DSS vs RSA Signatures
不可否认性的应用需求
网络通信中,希望有效防止通信双方的欺骗和抵赖 行为。
Y 伪造一个不同的消息,但声称是从 X 收到的; X可以否认发过该消息,Y 无法证明 X 确实发了该消息;
数字签名技术为此提供了一种解决方案。 它的作用 相当于手写签名。
数字签名的特征
必须能够验证签名者、签名日期和时间; 必须能够认证被签的消息内容; 签名应能够由第三方仲裁,以解决争执。
和r。
在接收端,验证函数的输入包括了报文的散列码、数字签名、全 局公开密钥KUG以及发送方公开密钥KUa 。
签名函数Sig()
输入为:
公开的密钥分量(p,q,g); 用户私有密钥x; 报文的散列码H(M),报文的散列码采用SHA-1算法计算; 一个额外的整数密钥k,k是随机或伪随机整数,且对每个 签名是惟一,也就是说对每一个报文需要选择不同的k。
字签名。
直接数字签名的安全性
方案的安全性依赖于发送方X私有密钥的安全性。
发送方可以声称自己的私有密钥丢失或被盗用,而否认其发送 过某个报文。
改进:每个签名报文中包含一个时间戳。
问题:
X 的私有密钥确实在时间 T 被窃取; 攻击者窃取 X 的密钥后,则可能发送带有 X 的签名报文,附上一 个等于 T 的时间戳,接受者无法判别。
基于仲裁的数字签名—公开密钥加密方式
优点:
通信各方之间无须共享任何信息,从而避免了联手作弊; 只要 KRa 安全,则不会出现伪造 A 发送的消息; 消息的内容是保密的,包括对 A 在内。