第五章 数字签名与身份鉴别
第05章 数字签名与身份认证
![第05章 数字签名与身份认证](https://img.taocdn.com/s3/m/e54179164431b90d6c85c766.png)
B
沈阳航空航天大学
1:消息+签名
T
基于仲裁的数字签名
A
B
2:消息、签名+仲裁的验证
实现的方案
基于对称密钥的方案 基于公开密钥的方案
沈阳航空航天大学
基于仲裁的数字签名--对称密钥加密方式 改进--明文加密的方案 ① A → T :IDA‖EKAB (M)‖EKTA( IDA‖H (EKAB(M)) )。 ② T→ B :EKTB( IDA‖EKAB (M)‖EKTA( 争端解决方式(A否认发送了报文M的时候) IDA‖H (EKAB(M))‖T )。 特征: 发送方A和仲裁T共享一个密钥KTA 。 B → T :EKTB( IDA‖M‖EKTA( IDA‖H(M) ) )。 ① A与 B 之间共享密钥 KAB 。 仲裁T可用KTB恢复出IDA 、M及签名,然后再用KTAK 加密。 ② DS 的构成:IDA和消息密文的散列码用 对签名解密并验证 数字签名由A的标识符IDA和报文的散列码H(M)构 TA 其散列码。 ③ DS 的验证:T 解密签名,用散列码验证消息。 成 ,用密钥KTA只能验证消息的密文,而不能读取其内容。 --T 进行加密。 ④ T将来自 A 的所有信息加上时间戳并用 KTB 加密后发送给B 。 过程: 问题: ① T 和发送方 A 联手可以否认签名的信息。 特点: (1)A → T :M‖EKTA( IDA‖H(M) )。 ② T和接收方 B 不能直接验证 A 的签名。 B联手可以伪造发送方 A 的签名。 (2)T → B③ 因为签名所使用的密钥是T 与用户共享的。 :EKTB 双方都需要高度相信 T:( IDA‖M‖EKTA( IDA‖H(M) )‖T )。 (3) (1)B 相信 T 已对消息认证,A 不能否认其签名; B存储报文M及签名。 (2)A 信任 T 没有暴露 KTA,无人可伪造EKTA( IDA‖H(M) ); (3)双方都信任 T 处理争议是公正。 问题: (1)报文 M 明文传送,有可能被窃听。 (2)若仲裁T不可信,则T 可能伪造数字签名。
身份认证和数字签名技术的实现
![身份认证和数字签名技术的实现](https://img.taocdn.com/s3/m/56f08028cd7931b765ce0508763231126edb7793.png)
身份认证和数字签名技术的实现身份认证和数字签名技术是现代信息安全中至关重要的技术,可以用于确保信息的安全性和完整性。
本文将介绍身份认证和数字签名技术的原理和实现。
一、身份认证技术身份认证技术是核实用户身份和权限的一种方法。
常见的身份认证技术包括用户名/密码、指纹识别、虹膜识别、声音识别等。
其中,用户名/密码是最常用的一种身份认证技术。
1.用户名/密码用户名/密码是一种基础的身份认证技术。
用户需要输入用户名和密码才能登录系统。
系统会根据用户输入的用户名和密码来核实用户身份。
如果用户输入的用户名和密码与系统存储的一致,就可以登录系统。
用户名/密码身份认证技术的优点是简单易用,缺点是安全性相对较低。
因为用户很容易忘记密码,在输入密码时也很容易被攻击者盗取。
2.指纹识别指纹识别是一种生物特征识别技术。
系统会通过扫描用户手指上的指纹来进行身份认证。
从生物特征的角度来看,指纹是一种唯一的特征,因此指纹识别技术的安全性相对较高。
指纹识别技术在金融、政府等领域得到广泛应用。
指纹识别技术的优点是安全性高,缺点是成本相对较高。
因为需要购买指纹识别设备,并且需要不断更新设备以提高识别精度。
3.虹膜识别虹膜识别是一种更高级别的生物特征识别技术。
虹膜是人眼的一部分,具有与生俱来、独一无二的特征。
虹膜识别技术通过扫描用户眼睛中的虹膜来进行身份认证。
虹膜识别技术的优点是识别精度高,安全性更高,缺点是成本高,需要较专业的设备。
4.声音识别声音识别是一种新兴的生物特征识别技术。
用户用自己的声音进行身份认证。
声音识别技术的优点是无需专门设备,使用方便。
但是其安全性还有待提高。
二、数字签名技术数字签名技术是一种确保数字文档的完整性、真实性和不可抵赖性的技术。
所谓数字签名,就是将原始文档经过加密算法处理,得到一段特殊的字符串,叫做签名。
数字签名技术的核心是公钥加密技术和哈希算法。
1.公钥加密技术公钥加密技术是一种常见的加密技术。
它使用一对密钥来实现加密和解密。
数字签名与身份鉴别
![数字签名与身份鉴别](https://img.taocdn.com/s3/m/d1d41bb4941ea76e58fa047c.png)
§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
05、消息认证与数字签名
![05、消息认证与数字签名](https://img.taocdn.com/s3/m/49026d35001ca300a6c30c22590102020740f2dc.png)
消息认证与数字签名
21
5.2.2 散列函数旳使用方式
❖ 散列函数旳基本使用方法(a、b)
Provides confidentiality -- only A and B share K Provides authentication -- H(M) is cryptographically protected
❖ 问题:经过加密得到信息真实性?
保密性与真实性是两个不同旳概念。根本上,信息加密提供旳是保密 性而非真实性。
加密代价大(公钥算法代价更大)。 鉴别函数与保密函数旳分离能提供功能上旳灵活性。
广播旳信息难以使用加密(信息量大) 某些信息只需要真实性,不需要保密性
消息认证与数字签名
12
5.1.2 消息认证码
散列函数H是公开旳,散列值在信源处被附加在消息上,接受方经过 重新计算散列值来确保消息未被篡改。
因为函数本身公开,传送过程中对散列值需要另外旳加密保护(假如 没有对散列值旳保护,篡改者能够在修改消息旳同步修改散列值, 从而使散列值旳认证功能失效)。
消息认证与数字签名
19Biblioteka 5.2 散列(Hash)函数
息验证码 MAC=CK(M) 。发送给接受方B时,将它附加在报文中。
❖ 接受方收到报文使用相同旳密钥K执行相同旳计算,得到新旳MAC。接受
方将收到旳MAC与计算得到MAC进行比较,假如相匹配,那么能够确保报
文在传播过程中维持了完整性:
❖
(1)报文未被更改正
❖
(2)接受者确信报文来自真实旳发送者。(无人知晓密钥)
因为收发双方共享相同旳密钥,上述过程只提供认证而不提供保密, 也不能提供数字署名
消息认证与数字签名
14
第五章 消息认证与身份认证
![第五章 消息认证与身份认证](https://img.taocdn.com/s3/m/c552e26ba98271fe910ef959.png)
用户输入口令 以解密得到服 务申请凭证和 与TGS的会话密
钥
Client
AS 用户信息
TGS
Kerberos服务器
鉴定用户身份, 如有效生成服 务许可凭证和
client与 server的会话
6
3
2009-10-26
单向散列函数的特点
单向散列函数 H(M)作用于一个任意长度的数据M, 它返回一个固定长度的散列h,其中h的长度为m,h 称为数据M的摘要。单向散列函数有以下特点:
Ø 给定M,很容易计算h; Ø 给定h,无法推算出M;
除了单向性的特点外,消息摘要还要求散列函数具有 “防碰撞性”的特点: Ø 给定M,很难找到另一个数据N,满足H(M)=H(N)。
12
6
2009-10-26
SHA安全散列算法
1992年NIST制定了SHA(128位) 1993年SHA成为标准(FIPS PUB 180) 1994年修改产生SHA-1(160位) 1995年SHA-1成为新的标准,作为SHA-1(FIPS PUB 1801/RFC 3174),为兼容AES的安全性,NIST发布FIPS PUB 180-2,标准化SHA-256, SHA-384和SHA-512 输入:消息长度<264 输出:160bit消息摘要 处理:以512bit输入数据块为单位 基础是MD4
信保密性、完整性
§ 认证服务(Authenticator service) § 票据发放服务(Ticket Granting Service) § 票据(Ticket)
• 是一种临时的证书,用tgs 或 应用服务器的密钥 加密
• TGS 票据 • 服务票据
§ 加密:
16
2009-10-26
2.2数字签名和身份认证课件
![2.2数字签名和身份认证课件](https://img.taocdn.com/s3/m/cb0cc6ecf12d2af90342e6d0.png)
江西广播电视大学经济管理学部
数字签名
数字签名(digital signature)在TS07498-2标准中的定义为: “附加在数据单元上的一些数据,或是对数据单元所作的密码 变换。这种数据和变换允许数据单元的接收者用以确认数据单 元来源和数据单元的完整性,并保护数据,防止被人(例如接 收者)进行伪造”。数字签名必须同时满足以下的要求: ·发送者事后不能否认对报文的签名; ·接收者能够核实发送者发送的报文签名; ·接收者不能伪造发送者的报文签名; ·接收者不能对发送者的报文进行部分篡改; ·网络中的其他用户不能冒充成为报文的接收者或发送者。
《计算机网络安全技术》
现状
• 常规加密技术没有被简单地应用到报文鉴别符。 • 实际应用中一般采用独立的报文鉴别码。 • 目前,用避免加密的方法提供报文鉴别越来越受到重视。 • 在最近几年,报文鉴别研究的热点转向由Hash函数导出
MAC。
《计算机网络安全技术》
Hash函数
Hash函数是一种能够将任意长度的消息压缩到某一固定长度 的消息摘要(Message Digest)的函数。Hash函数的 基本思想是把其函数值看成输入报文的报文摘要,当输 入中的任何一个二进制位发生变化时都将引起Hash函数 值的变化,其目的就是要产生文件、消息或其他数据块 的“指纹”。密码学上的Hash 函数能够接受任意长的 消息为输入,并产生定长的输出。
SHA-1比MD5更安全,但SHA-1对系统的要求较高。
《计算机网络安全技术》
THANKS!
MD5是Ronald Rivest设计的一系列消息摘要算法中的第5个 算法,其前一个版本的算法是MD4。在RFC 1321中规 定的报文摘要MD5算法已经得到了广泛应用。MD5算法 的特点是可以对任意长度的报文进行运算,得到的报文 摘要长度均为128位。
数字签名与身份认证优秀
![数字签名与身份认证优秀](https://img.taocdn.com/s3/m/cca3a226571252d380eb6294dd88d0d233d43cc7.png)
(5)收方B从M中计算出散列值h(M’); (6)收方B再用发方A的双钥密码体制的公钥
K2解密数字签名DS得消息摘要h(M) ; (7)将两个消息摘要h(M’)=h(M)进行比
较,验证原文是否被修改。如果二者相等, 说明数据没有被篡改,是保密传输的,签名 是真实的;否则拒绝该签名。
美国电子签名标准(DSS,FIPS186-2)对数字 签名作了如下解释:"利用一套规则和一个参数对数 据计算所得的结果,用此结果能够确认签名者的身份 和数据的完整性"。按上述定义PKI(Public Key Infrastructino 公钥基础设施)提供可以提供数据单元 的密码变换,并能使接收者判断数据来源及对数据进 行验证。
数字签名与身份认证优秀
注意 : 数字签名与消息的真实性认证是不同的。
消息认证是使接收方能验证消息发送者及所发 信息内容是否被篡改过。当收发者之间没有利 害冲突时,这对于防止第三者的破坏来说是足 够了。但当接收者和发送者之间相互有利害冲 突时,单纯用消息认证技术就无法解决他们之 间的纠纷,此是需借助数字签名技术。
数字签名与身份认证优秀
7.1、数字签名
数字签名(也称数字签字)是实 现认证的重要工具,在电子商务系 统中是不可缺少的。
保证传递文件的机密性应使用加 密技术,保证其完整性应使用信息 摘要技术,而保证认证性和不可否 认性应使用数字签名技术。
数字签名与身份认证优秀
7.1.1 电子签名
一、电子签名与数字签名
到的签名,一般指的就是"数字签名"。所谓"数字签名"
就是通过某种密码运算生成一系列符号及代码组成电子
密码进行签名,来代替书写签名或印章,对于这种电子
第05章 用户身份可鉴别性机制
![第05章 用户身份可鉴别性机制](https://img.taocdn.com/s3/m/67b62004ba1aa8114431d96e.png)
第5章
用户身份可鉴别性机制
证书机构
证书机构——公钥基础设施的核心机构 证书机构的作用
(1)证书的数字签名与发放,用户相信证 书的真假主要看是否是可信的CA签名的, 因此CA对证书的签名很重要。
(2)证书的管理工作,如跟踪证书状态, 对因故无效的证书发出吊销通知等等
第5章
用户身份可鉴别性机制
5.3.4 证书的生成
(b)第二个检查是保证用户持有的证书请求中 发送的公钥与用户自己的私钥相对应。 这很重要,因为我们必须证明用户拥有 与这个公钥对应的私钥,否则用私钥签名的 消息用公钥解密不了。
这个检查称为检查私钥的拥有证明(POP,
Proof Of Possession)。 如何验证?
第5章
用户身份可鉴别性机制
数字证书是个计算机文件,文件的扩展名为
.cer
护照证明了什么?数字证书又证明了什么? 护照证明我与姓名、国籍、出生日期和地点
、照片与签名等关联的正确性
数字证书证明我与公开密钥关联的正确性。
第5章
用户身份可鉴别性机制
数字证书概述
数字证书建立用户与公钥的关联。因此,
数字证书要包含用户名和用户的公钥,证明 特定公钥属于某个用户。
第5章
用户身份可鉴别性机制
口令的管理
口令管理涉及的方面
–传输形式:明文or密文 –存储形式:原口令or口令摘要 –对简单用户口令的处理措施:直接or加盐 –初始口令如何设置 –初始口令如何交付给用户 –口令遗忘的处理方式:重申、找回 –口令的方便性:记住口令、设备自动产生
第5章
用户身份可鉴别性机制
公钥与私钥的三种验证机制
(1)RA可以要求用户用私钥对证书签名请求( 即注册的证书内容)进行数字签名。如果RA 能用这个用户的公钥验证签名正确性,则可 以相信这个用户拥有该私钥。(发起方在用 户)
简述身份认证与数字签名的基本原理
![简述身份认证与数字签名的基本原理](https://img.taocdn.com/s3/m/8bd794be900ef12d2af90242a8956bec0975a5c7.png)
简述身份认证与数字签名的基本原理
身份认证是确保一个实体的身份真实可信的过程,包括身份验证和身份授权。
数字签名是一种用于验证数字文档真实性、完整性和不可抵赖性的方法。
身份认证和数字签名的基本原理如下:
身份认证:
1. 用户提交身份信息:用户向身份认证系统提交个人身份信息,如用户名、密码等。
2. 身份验证:认证系统验证用户提交的身份信息的真实性,如检查用户名和密码是否匹配等。
3. 身份授权:认证系统根据验证结果,授予用户相应的权限或访问权限,如登录系统、访问资源等。
数字签名:
1. 文档生成摘要:文档生成一个唯一的消息摘要,通常使用Hash算法,将文档内容转换为一个固定长度的字符串。
2. 私钥加密:文档的作者使用其私钥对消息摘要进行加密,生成数字签名。
3. 公钥验证:任何人都可以使用作者的公钥对数字签名进行解密,得到文档的消息摘要。
4. 摘要比对:对比解密得到的消息摘要与原始文档生成的摘要是否一致,来验证文档的真实性和完整性。
5. 不可抵赖性:由于私钥是唯一的,其他人无法伪造合法的数字签名,作者无法抵赖签署的行为。
综上所述,身份认证通过验证用户提交的身份信息来确认其身
份,而数字签名则通过对文档进行加密和解密来验证文档的真实性和完整性,以及作者的不可抵赖性。
身份认证与数字签名
![身份认证与数字签名](https://img.taocdn.com/s3/m/6697116ba4e9856a561252d380eb6294dd8822a5.png)
身份认证与数字签名1. 引言在当今数字化的时代,随着各种互联网应用的普及和发展,人们之间信息交流的安全性和可信度成为了至关重要的问题。
身份认证和数字签名作为两个基本的安全机制,被广泛应用于数据传输和网络安全领域。
本文将从基本概念和原理、应用场景以及技术方法等方面来介绍身份认证和数字签名的相关内容。
2. 身份认证2.1 概念与定义身份认证,即确认一个实体(如用户、设备或系统)的真实身份的过程。
通常情况下,身份认证应该具备以下三个要素:•唯一性:每个实体都应该有一个唯一的标识符,以便区分其他实体。
•可验证性:身份信息应该能够被验证的机制,以确保身份信息的真实性。
•不可伪造性:为确保身份信息的准确性和完整性,应该有防止伪造和篡改的机制。
2.2 身份认证的应用场景•用户认证:在各种在线服务中,用户需要进行身份认证才能使用其提供的功能。
例如,通过用户名和密码登录到网上银行账户。
•设备认证:在物联网应用中,设备需要进行身份认证才能与其他设备进行通讯。
例如,只有合法的智能家居设备才能连接到家庭网络。
•系统认证:在企业内部网络中,各个系统相互通讯需要进行身份认证。
例如,只有特定的服务器才能访问数据库。
2.3 身份认证的技术方法•用户名和密码:是最常见的身份认证方法,用户通过输入正确的用户名和密码进行身份验证。
•生物特征识别:如指纹、虹膜、面部识别等,利用个体的生物特征进行身份认证。
•智能卡:通过持有独特的智能卡进行身份认证,例如门禁系统中的刷卡认证。
•单点登录:用户只需进行一次身份认证,在整个系统中都能被认可,例如使用社交账号登录其他应用。
3. 数字签名3.1 概念与定义数字签名是一种保证数据完整性和认证性的技术,它使用数字密钥对数据进行加密,以确保数据的真实性和不可篡改性。
数字签名通常包含以下三个步骤:•签名生成:使用私钥对待签名的数据进行加密,生成签名。
•签名验证:使用公钥对接收到的签名进行解密,并与原始数据进行比对,验证签名的真实性。
档案管理规定的档案数字签名与鉴别标准
![档案管理规定的档案数字签名与鉴别标准](https://img.taocdn.com/s3/m/99d2b14af02d2af90242a8956bec0975f465a420.png)
档案管理规定的档案数字签名与鉴别标准档案管理规定的档案数字签名与鉴别标准的重要性随着信息技术的飞速发展,数字化时代的到来,传统的纸质档案管理方式已经无法满足大规模、高效率的信息管理需求。
为了确保档案的安全性、可信度和完整性,档案管理规定中引入了数字签名与鉴别标准。
本文将介绍档案数字签名与鉴别标准的作用、原理以及在档案管理中的应用。
一、数字签名的概念与作用数字签名是指在数字文档中加入特定的信息,用于证明该文档的完整性和真实性。
通过数字签名,可以确保档案的不可篡改性,防止信息的伪造和篡改,保护档案的可信度和权威性。
数字签名的作用主要包括以下几个方面:1. 鉴别标识:数字签名能够唯一标识档案的创建者或签发者,确保其身份的真实性和合法性。
2. 完整性验证:数字签名可以验证档案的完整性,确保档案内容在传输或存储过程中没有被篡改或损坏。
3. 不可抵赖性:数字签名具有不可抵赖性,即签名者不能否认其签名行为,保证档案的可追溯性和法律效力。
二、数字签名的原理与技术基础1. 公钥加密技术:数字签名的实现离不开公钥加密技术。
公钥加密技术采用了非对称加密算法,包括公钥和私钥两部分。
私钥用于签名生成,公钥用于签名验证。
2. 摘要算法:数字签名利用摘要算法对档案内容做摘要计算,生成固定长度的摘要值。
常见的摘要算法包括MD5、SHA-1和SHA-256等。
3. 数字证书:数字证书是数字签名的重要组成部分,用于证明公钥的合法性和签名者的身份。
数字证书由认证机构颁发,包含了签名者的公钥、以及认证机构的签名和有效期等信息。
三、档案数字签名与鉴别标准的应用1. 档案数字签名的生成:档案管理规定中明确要求对重要档案进行数字签名。
签名者使用私钥对档案进行签名生成数字摘要。
2. 档案数字签名的验证:在档案管理过程中,需要对数字签名进行验证。
验证者使用相应的公钥对签名进行验证,比对生成的摘要值与原始档案内容的摘要值是否一致,从而判断档案的完整性和真实性。
第05章 数字签名与鉴别
![第05章 数字签名与鉴别](https://img.taocdn.com/s3/m/67fd3c31a32d7375a41780e1.png)
挑战/应答
用户要求登录时,系统产生一个随机数 发送给用户。用户用某种单向算法将自 己的秘密口令和随机数混合起来发送给 系统,系统用同样的方法做验算即可验 证用户身份
Schnorr身份认证机制
环境参数:设p,q素数,q|p-1,αq≡1(mod p),α的模p 的阶为q。用户U秘密选择一个数a,0aq-1,计算 v≡α-α(mod p),并将p,q,α,v公开。 Schnorr身份认证机制过程如下: (1)UV:γ,其中γ=αk (mod p),k为U所选择的随 机数,0kq-1; (2)VU:r,r为V所选择的随机数,相当于挑战; (3)U:计算y≡k+ar(mod q),y相当于应答; U?V:y (4)V计算并验证:γ≡αy.vr (mod p)?
DSA算法
签名过程如下:
产生随机数k,k < q; 计算 r = (gkmodp)modq s = ( k-1 (H(m)+xr))modq 签名结果是( m, r, s )。 w = s-1modq u1 = (H(m)w)modq u2 = (r w) mod q v = ((gu1×yu2)modp)modq 若v = r,则认为签名有效。
其中密钥之间应满足
采用公开密钥的数字签名
签字是可以被确认的,因为B是用A的公钥解开加密 文件的,这说明原文件只能被A的私钥加密而只有A 才知道自己的私钥。 签字是无法被伪造的,因为只有A知道自己的私钥。 因此只有A能用自己的私钥加密一个文件。 签字是无法重复使用的,签字在这里就是一个加密 过程,自己无法重复使用。 文件被签字以后是无法被篡改的,因为加密后的文 件被改动后是无法被A的公钥解开的。 签字具有无可否认性,因为除A以外无人能用A的私 钥加密一个文件。
通信协议中的数字签名技术和身份认证
![通信协议中的数字签名技术和身份认证](https://img.taocdn.com/s3/m/7d509a0cf6ec4afe04a1b0717fd5360cba1a8d84.png)
通信协议中的数字签名技术和身份认证随着互联网的迅速发展,人们对于通信的安全性和真实性的要求也越来越高。
而数字签名技术和身份认证成为保证通信安全和真实性的有效手段。
本文将详细介绍数字签名技术和身份认证的定义、原理、应用以及相关的步骤。
一、数字签名技术的定义和原理1.1 定义数字签名技术是利用非对称加密算法将加密的消息摘要与发送方的私钥进行加密,从而确保消息的完整性、真实性和不可否认性。
1.2 原理数字签名技术主要基于非对称加密算法,其中包括RSA、DSA等。
发送方利用自己的私钥对消息进行加密,得到数字签名。
接收方利用发送方的公钥对数字签名进行解密,得到消息的摘要。
接收方再根据消息的内容计算自己得到的消息摘要,将两者进行比对,如果一致,则说明消息的完整性和真实性得到了保证。
二、数字签名技术的应用2.1 网络通信数字签名技术可以用于网络通信中的数据包,确保数据在传输过程中不被篡改和伪造,从而保证通信的安全性。
2.2 文件认证数字签名可以用于文件的认证,确保文件的真实性和完整性,例如在文件的下载过程中,可以利用数字签名验证文件的来源和是否被篡改。
2.3 网络商务在网上交易中,数字签名技术可以用于保证交易双方的身份真实、防止交易纠纷和非法操作,并且可以提供不可否认性的证据。
三、数字签名的步骤3.1 消息摘要计算发送方首先对消息进行摘要计算,常用的算法有MD5、SHA等,得到消息的摘要。
3.2 私钥加密发送方利用自己的私钥对消息的摘要进行加密,得到数字签名。
3.3 公钥解密并验证接收方利用发送方的公钥对数字签名进行解密,得到消息的摘要。
接收方再根据消息的内容计算自己得到的消息摘要,并将两者进行比对。
3.4 比对结果确认接收方确认两个摘要是否一致,如果一致,则说明消息的完整性和真实性得到了保证;如果不一致,则说明消息可能被篡改或伪造。
四、身份认证的定义和原理4.1 定义身份认证是通过识别、确认和验证用户的身份来确定其真实有效性的过程。
ch3数字签名与身份认证
![ch3数字签名与身份认证](https://img.taocdn.com/s3/m/1750456a7e21af45b307a81f.png)
第3章数字签名与身份认证广东工业大学信息安全研究所凌捷教授、博士本章主要内容•§3.1报文鉴别技术•§3.2散列函数•§3.3数字签名•§3.4身份认证技术•§3.5身份认证的实现§1、报文鉴别•报文鉴别是这样一种过程:它是通信的接收方能够鉴别验证所收到的报文(包括发送者、报文内容、发送时间和序列等)的真伪。
•(1.1)报文源的鉴别–收方使用约定的密钥(由发方决定)对收到的密文进行解密,并且检验还原的明文是否正确,根据检验结果就可以验证对方的身份。
其原理如图3-1所示。
用K1加密A方B方用K2加密图3-1 利用报文加密对身份进行鉴别•(1.2)报文宿的鉴别–在以密钥为基础的鉴别方案的每一报文中,同时加入收方标识符IDB;在以通行字为基础的鉴别方案中,每一报文加入收方通行字PWB。
–若采用公开密钥密码,报文宿的认证只要发方A 对报文用B的公开密钥进行加密即可,因为只有B 才能用自己保密的解密密钥还原报文,若还原的报文是正确的,B便确认自己是指定的收方。
•(1.3) 报文时间性的鉴别1、有三种方法可以实现报文时间性鉴别:–初始向量法:收发双方事先约定一组顺序的初始向量Z1,Z2,…,Zn,并用Zi作为初始向量链接加密第i份报文Mi。
因为只有使用Zi才能还原Mi,从而收方便可确认报文的顺序是否正确。
–时间参数法:设时间参数为T1,T2,…,Tn,发方在第i份报文中加入时间参数Ti,收方只要验证一下Ti的顺序是否合理,便可确认报文的顺序是否正确。
时间参数可取自然数或年月日时分秒。
–随机数法:每当A要发报给B时,A先通知B,B动态地产生一个随机数RN,并发送给A。
A将RN加入报文中,然后加密发送给B。
B收到报文后,解密还原RN。
若解密所得RN 正确,便确认报文的顺序是正确的。
这种方法很适合于全双工通信。
2、报文时间性鉴别的应用:挫败重播攻击重播攻击:指攻击者并不试图从截获的数据中恢复出有价值的信息,而是直接将截获的数据重发,以达到非法的目的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Return
5.3 Байду номын сангаас别技术
• 网络鉴别(认证)技术是网络安全技术的重要 组成部分之一。鉴别是证实被鉴别对象是 否属实和是否有效的一个过程。其基本思 想是通过对被鉴别对象的属性的验证来达 到确认被鉴别对象是否真实有效的目的。 用于鉴别的属性应该是被鉴别对象惟一的、 区别于其它实体的属性。被鉴别对象的属 性可以是口令、数字签名或者象指纹、声 音、视网膜这样的生理特征。鉴别常常被 用于通信双方相互确认身份,以保证通信 的安全。
Return
5.2 数字签名算法
• 美国国家标准技术研究所 NIST 于 1994 年 5 月 19 日 公布了联邦信息处理标准FIPS PUB 186,该标准 描述了一个用于数字签名的产生和验证的数字签 名算法DSA(Digital Signature Algorithm)。2000年1 月27日又公布了联邦信息处理标准FIPS PUB 1862,该标准补充了两个数字签名算法:RSA数字签 名算法和椭圆曲线数字签名算法ECDSA。 5.2.1 数字签名标准DSS • 数字签名标准FIPS PUB 186-2定义了一组(3个)用 于数字签名的算法。算法提供了生成和验证签名 的能力。 • 生成数字签名时使用私有密钥,验证签名时使用 对应的公开密钥。只有私有密钥的所有者可以生 成签名。
鉴于上述发送方和接收方之间存在欺骗或抵 赖的情况,必须引入防止通信双方欺骗或 抵赖的签名机制。为了保证数字签名的效 果,数字签名必须满足下列要求:
1) 发送者在签名时必须能对信息内容进行鉴别。 2) 签名必须是发送者所惟一拥有的标记,攻击者伪 造一个数字签名在计算上不可行。 3) 作者的签名和签名时间必须能被验证。 4) 数字签名的产生、识别和证实必须相对简单。 5) 签名必须与被签名的报文的位模式相关,当签名 后的数据发生改变时,该签名将成为无效签名。 6) 签名必须能被第三方验证以便解决争端。
引理1. 对于非负整数a和b,g(a mod q+b mod q) mod p=g(a+b) mod q mod p。 引理2. y(rw) mod q mod p=g(xrw) mod q mod p 定理:若签名中的M’=M,s’=s,r’=r,那么,v= r’。 证明:根据w,u1,u2的定义,
3)一个密值 为每个要签名的报文M产生一个密值k,k是一个 位于 0 到 q 之间的随机或伪随机整数 (1≤k≤q-1) 。 k和私有密钥x一样需要保密。 DSA算法由生成签名和验证签名两部分构成。 生成签名时,算法根据p、q、g、x、k和报文的 散列码H(M)计算签名值r和s。 r=(gk mod p) mod q s=(k-1(H(M)+xr)) mod q 式中,k-1是k的模q乘法逆元,即k-1· k=1(mod q)。
3)系统中所有用户的口令以文件形式存储在鉴别方,攻 击者可能获取系统的口令文件。 4)用户在访问多个不同安全级别的系统时,都要求用户 提供口令,用户为了记忆的方便,往往采用相同的 口令。而低安全级别系统的口令更容易被攻击者获 得,从而用来对高安全级别系统进行攻击。 5)只能进行单向鉴别,即系统可以鉴别用户,而用户无 法对系统进行鉴别。攻击者可能伪装成系统骗取用 户的口令。 对于第2点,系统可以对口令进行加密传输。对于第 3点,系统可以对口令文件进行不可逆加密。尽管如 此,攻击者还是可以利用一些工具很容易地将口令 和口令文件解密。
CHAP 算法要求秘密值长度至少为一个字节,最好 能和所选择的散列算法的散列值等长。若选用消息 摘要算法MD5,则秘密值长度最好为128位。 单向函数算法保证由已知的询问和响应不可能计算 出秘密值。 每个询问值应该是惟一的,而且是不可预测的。询 问值每次都不一样。响应值取决于所选用的散列算 法。 • CHAP具有以下优点:
5.3.1 基于口令的鉴别方法 传统的鉴别技术主要采用基于口令的鉴别方法。当被 鉴别对象要求访问提供服务的系统时,提供服务鉴 别方提示被鉴别对象提交该对象的口令,鉴别方收 到口令后将其与系统中存储的用户口令进行比较, 以确认被鉴别对象是否为合法访问者。 • 这种鉴别方法的优点在于一般的系统都提供了对口 令鉴别的支持,对于封闭的小型系统来说不失为一 种简单可行的方法。 • 基于口令的鉴别方法存在下面几点不足: 1)用户每次访问系统时都要以明文方式输入口令,这 时很容易泄密(如被肩部冲浪者看见)。 2)口令在传输过程中可能被截获。
5.3.3 询问握手鉴别协议CHAP 询 问 -- 握 手 鉴 别 协 议 CHAP(Challenge Handshake Authentication Protocol)采用的是询问--响应方法,它 通过三次握手(3-way handshake)方式对被鉴别方的身 份进行周期性的鉴别。第一步,在通信双方链路建 立阶段完成后,鉴别方(authenticator)向被鉴别方(peer) 发送一个询问 (challenge)消息;第二步,被鉴别方向 鉴别方发回一个响应 (response) ,该响应由单向散列 函数计算得出,单向散列函数的输入参数为本次鉴 别的标识符、秘密值 (secret) 和询问构成;第三步, 鉴别方将收到的响应与它自己根据鉴别标识符、秘 密值和询问计算出的散列函数值进行比较,若相符 则鉴别通过,向被鉴别方发送“成功”消息,否则, 发送“失败”消息,断开连接。在双方通信过程中 系统将以随机的时间间隔重复上述三步鉴别过程。
Return
5.4 Kerberos鉴别服务
• Kerberos是美国麻省理工学院上世纪 80年代的雅典娜 项目开发的基于可信赖的第三方的鉴别系统。 • Kerberos具有以下特点:
1) Kerberos建立在可信的第三方鉴别协议基础上 密钥分配中心 KDC ,又称 Kerberos 服务器。 KDC 负责向用 户颁发用于证明用户身份的许可证(Ticket)和与网络资源安 全通信的会话密钥。 KDC由鉴别服务器AS和许可证颁发服务器TGS构成。 2) Kerberos是基于常规密码体制的鉴别 3) Kerberos跨域鉴别 在庞大的 Internet 上仅采用一个 Kerberos 服务器是不合适的。 Kerberos将网络划分为多个安全域(Realm),每个域有自己 的鉴别服务器并实施自己的安全策略。 Kerberos 协议提供 了不同域之间的鉴别机制,即跨域鉴别。两个域之间实现 相互鉴别,必须共享一个域间密钥。
第五章 数字签名与身份鉴别
5.1 5.2 5.3 5.4 5.5 数字签名 数字签名算法 鉴别技术 Kerberos鉴别服务 X.509证书及鉴别框架
5.1 数字签名
• 数字签名是网络中进行安全交易的基础,目前正逐 渐得到世界各国和地区在法律上的认可。数字签名 不仅可以保证信息的完整性和信息源的可靠性,而 且可以防止通信双方的欺骗和抵赖行为。 • 从传统概念上看,任何用于鉴别被标记文档的标记 都可以视为是签名。而数字签名被设计用于和传统 的手写签名相同的目的。数字签名可以用于:身份 的鉴别;保证被签内容的完整性;防止作者对交易 行为的抵赖。 • 第四章所涉及的报文鉴别主要用于保护通信双方免 受第三方的攻击。然而,它无法防止通信双方的相 互欺骗和攻击。
v=((gu1yu2) mod p) mod q =((g(H(M)w) mod qy(rw) mod q) mod p) mod q =((g(H(M)w) mod qg(xrw) mod q) mod p) mod q 据引理2 =((g(H(M)w) mod q+(xrw) mod q) mod p) mod q =((g(H(M)w+xrw) mod q) mod p) mod q 据引理1 =((g((H(M)+xr)w) mod q) mod p) mod q ∵ s=(k-1(H(M)+xr)) mod q ∴ w=(s)-1 mod q=(k(H(M)+xr)-1) mod q (H(M)+xr)w mod q =k mod q =k (k<q) v=(gk mod p) mod q=r=r’
– 通过不断地改变鉴别标识符和询问消息的值来防止重 放攻击。 – 利用周期性的询问防止通信双方在长期会话过程中被 攻击。 – 虽然CHAP进行的是单向鉴别,但在两个方向上进行 CHAP协商,也能实现通信双方的相互鉴别。
• CHAP 的不足之处是: CHAP 鉴别的关键是秘密值, CHAP 的秘密值以明文形式存放和使用,不能利用 通常的不可逆算法加密口令数据库。 CHAP 的秘密 值是通信双方共享的,这一点类似于对称密钥体制, 因此给秘密值的分发和更新带来了麻烦,要求每个 通信对都有一个共享的秘密值,这不适合大规模的 系统。 用于远程拨号接入的点对点协议PPP给出了在点到 点链路上传输多协议数据报的一种标准方法。PPP 采用CHAP和口令鉴别协议PAP作为其可选的两个 鉴别协议。PPP定义了一个可扩充的链路控制协议 (LCP),该协议可以使通信双方对鉴别协议进行协 商。
• 数字签名的生成和验证过程如图所示。 • 生成签名时首先用散列函数求得输入信息的消息 摘要,然后再用数字签名算法对消息摘要进行处 理,生成数字签名。 • 验证签名时使用相同的散列函数。该散列函数是 由标准FIPS 180-1定义的SHA-1。
5.2.2 数字签名算法DSA 与 DSA 算法相关的数据由三个公开参数 (p,q,g) 、两个 密钥(x,y)、一个密值(k)和报文散列码(H(M))构成。 1)三个公开参数 DSA 使用三个公开密钥参数: p 、 q 和 g 。参数 p 是 一个长度在512bit和1024bit之间的素数,并且长度是 64 的整数倍。 q 是 p-1 的素因子,其长度为 160bit 。 g=h(p-1)/q mod p,其中,h为一任意整数,1<h<p-1且 满足h(p-1)/q mod p>1。上述参数可以对一组用户公开。 2)两个密钥 确定了三个参数后,每个用户选择一个私有密钥 x , x 为0到q之间的随机或伪随机整数(0<x<q)。 用户根据私有密钥x计算公开密钥y,y=gx mod p。