密码与认证技术_第1页
密码与认证技术_第2页
密码与认证技术_第3页
密码与认证技术_第4页
密码与认证技术_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

密码与认证技术第一页,共73页。密码与认证技术第二页,共73页。第5章密码与认证技术5.1密码学概述基本概念;密码体制分类;信息加密方式5.2加密算法

DES算法;IDEA算法;RSA算法;MD5算法5.3认证技术基本概念;基本技术;数字签名;身份认证;消息认证第三页,共73页。5.1密码学概述

密码技术自古有之。公元前2000年,埃及人是最先使用特别的象形文字作为信息编码的人。随着时间推移,巴比伦、美索不达米亚和希腊文明都开始使用一些方法来保护他们的书面信息。对信息进行编码曾被凯撒大帝使用,也曾用于历次战争中,包括美国独立战争、美国内战和两次世界大战。今天,密码学已经从最初的军事和外交领域走向公开,它集数学、计算机科学、电子与通信等诸多学科于一身。长期以来,由于密码技术的隐密性,应用一般局限于政治、经济、军事、外交、情报等重要部门,密码学鲜为人知。进入20世纪80年代后,随着计算机网络,特别是因特网的普及,密码学得到了广泛的重视,如今密码技术不仅服务于信息的加密和解密,还是身份认证、访问控制、数字签名等多种安全机制的基础。第四页,共73页。5.1密码学概述

一般来说,信息安全主要包括系统安全和数据安全两个方面。系统安全一般采用防火墙、防病毒及其他安全防范技术等措施,是属于被动型的安全措施;数据安全则主要采用现代密码技术对数据进行主动的安全保护,如数据保密、数据完整性、身份认证等技术。

密码技术包括密码算法设计、密码分析、安全协议、身份认证、消息确认、数字签名、密钥管理、密钥托管等技术,是目前保护大型网络传输信息安全的唯一实现手段,是保障信息安全的核心技术。它以很小的代价,对信息提供一种强有力的安全保护。第五页,共73页。密码学基本概念

为了实现信息的保密性,抗击密码分析,保密系统应当满足下述要求:

1.即使达不到理论上是不可破解的,也应当是实际上不可破解的。也就是说,从截获的密文或某些已知明文密文对,要确定密钥或任意明文在计算上是不可行的。

2.保密系统的安全性应依赖于密钥,而不是依赖于密码体制或算法本身的细节上的安全性。

3.加密解密算法适用于所有密钥空间中的元素。

4.系统应该易于实现和使用方便。第六页,共73页。密码学基本概念第七页,共73页。简单加密系统模型什么是密码?简单地说它就是一组含有参数K的变换E。设已知消息m,通过变换Ek得密文C,即,这个过程称为加密,E为加密算法,k不同,密文C亦不同。传统的保密通信机制:EncipherPlaintextCiphertextKeysDecipherC=Ek(m)发方:m收方:mkk(公共信道)加密E解密D(秘密信道)加密体制分类第八页,共73页。密码体制

加密系统采用的基本工作方式称为密码体制。密码体制的基本要素是密码算法和密钥。密码算法是一些公式、法则或程序;密钥是密码算法中的控制参数。加密系统可以用数学符号来描述:

S={P,C,K,E,D} P:明文空间C:密文空间 K:密钥空间

E:加密变换 D:解密变换

k∈K,则有C=Ek(P),P=Dk(C)=Dk(Ek(P)),或者Dk=Ek-1,且Ek=Dk-1。加密体制分类第九页,共73页。对称密码体制和非对称密码体制对称密码体制(SymmetricSystem,One-keySystem,Secret-keySystem)

加密密钥和解密密钥相同,或者一个密钥可以从另一个导出,能加密就能解密,加密能力和解密能力是结合在一起的,开放性差。非对称密码体制(AsymmetricSystem,Two-keySystem,Public-keySystem)

加密密钥和解密密钥不相同,从一个密钥导出另一个密钥是计算上不可行的,加密能力和解密能力是分开的,开放性好。序列密码体制和分组密码体制如果经过加密所得到的密文仅与给定的密码算法和密钥有关,与被处理的明文数据在整个明文中的位置无关,则称为分组密码体制。通常以大于等于64位的数据块为单位,加密得相同长度的密文。如果密文不仅与最初给定的算法和密钥有关,同时也与明文位置有关(是所处位置的函数),则称为序列密码体制。加密以明文比特为单位,以伪随机序列与明文序列模2加后,作为密文序列。加密体制分类第十页,共73页。对称密码通常用两种基本技术来隐藏明文:混乱和扩散。

混乱(Confusion)用于掩盖明文与密文之间的关系,混乱通常通过代换(Substitution)来实现,代换是明文符号被密文符号所代替。扩散(Diffusion)通过将明文冗余度分散到密文中使之分散开来,即将单个明文或密钥位的影响尽可能扩大到更多的密文中去。这样就隐藏了统计关系同时也使密码分析者寻求明文冗余度将会更难。产生扩散最简单的方法是通过置换(Permutation),置换的特点是保持明文所有符号不变,只是利用置换打乱了明文的位置和次序。加密体制分类第十一页,共73页。公钥密码体制所谓公钥密钥密码技术就是加密和解密使用不同的密钥的密码技术,又称为非对称密钥密码技术。它使用一对密钥,一个归发送者,一个归接收者。密钥对中的一个是公开密钥(可以让所有通信的人知道),简称公钥(publickey),用于加密;另一个必须保持秘密状态,是私人密钥(一个专门为自己使用的密钥),用于解密,简称私钥(privatekey)。加密体制分类第十二页,共73页。混合密码体制

对称密码体制与非对称密码体制的特点主要是由以下两点本质不同产生的:(1)对称密码体制是基于共享秘密的;公钥密码体制是基于个人秘密的。(2)在对称密码体制中,符号被重新排序或替换;在公钥密码体制中,处理的对象是数字,即加解密过程就是把数学函数应用于数字以创建另外一些数字的过程。混合密码体制既解决了对称加密中需要安全分发通信密钥的问题,也解决了非对称加密中运算速度慢的问题。混合加密受到各个制定未来公钥加密标准的组织的高度重视,ISO要求所有公钥加密候选都应能够加密任意长度的消息,从而必须适用于混合加密。加密体制分类第十三页,共73页。混合密码体制加密体制分类第十四页,共73页。混合密码体制信息加密方式

网络数据加密常见的方式有链路加密、节点加密和端到端加密三种。(1)链路加密链路加密方式中,所有消息在被传输之前进行加密,不但对数据报文正文加密,而且把路由信息、校验和等控制信息也进行加密。在每一个节点接收到数据报文后,必须进行解密以获得路由信息和校验和,进行路由选择、差错检测,然后使用下一个链路的密钥对报文进行加密,再进行传输。在每一个网络节点中,消息以明文形式存在。(2)节点加密节点加密是指在信息传输路过的节点处进行解密和加密。尽管节点加密能给网络数据提供较高的安全性,但它在操作方式上与链路加密是类似的:两者均在通信链路上为传输的消息提供安全性,都在中间节点先对消息进行解密,然后进行加密。第十五页,共73页。混合密码体制信息加密方式

网络数据加密常见的方式有链路加密、节点加密和端到端加密三种。

(3)端到端加密端到端加密允许数据在从源点到终点的传输过程中始终以密文形式存在。采用端到端加密,消息在被传输时到达终点之前不进行解密,因为消息在整个传输过程中均受到保护,所以即使有节点被损坏也不会使消息泄露。端到端加密系统通常不允许对消息的目的地址进行加密,这是因为每一个消息所经过的节点都要用此地址来确定如何传输消息。由于这种加密方法不能掩盖被传输消息的源点与终点,因此它对于防止攻击者分析通信业务是脆弱的。第十六页,共73页。5.2加密算法

DES(DataEncryptionStandard)于1977年得到美国政府的正式许可,它是一个对称算法:加密和解密用的是同一算法(除密钥编排不同以外),既可用于加密又可用于解密。它的核心技术是:在相信复杂函数可以通过简单函数迭代若干圈得到的原则下,利用F函数及置换等运算,充分利用非线性运算。DES以64位为分组对数据加密。每组64位,最后一组若不足64位,以“0”补齐。密钥通常表示为64位的数,但每个第8位都用作奇偶校验,可以忽略,所以密钥的长度为56位,密钥可以是任意的56位的数,且可在任意的时候改变。其中极少量的数被认为是弱密钥,但能容易地避开它们,所有的保密性依赖于密钥。算法第十七页,共73页。DES算法的基本思想

DES对64位的明文分组进行操作。通过一个初始置换,将明文分组分成左半部分(L0)和右半部分(R0),各32位长。R0与子密钥K1进行f函数的运算,输出32位的数,然后与L0执行异或操作得到R1,L1则是上一轮的R0,如此经过16轮后,左、右半部分合在一起,经过一个末置换(初始置换的逆置换),这样该算法就完成了。算法第十八页,共73页。算法的一般描述第十九页,共73页。初始置换IP(InitialPermutation)和逆置换IP-1第二十页,共73页。扩展置换和置换函数第二十一页,共73页。循环细节将明文分成左右两部分,如Feistelcipher:Li

=Ri–1Ri

=Li–1xorF(Ri–1,Ki)将32-bit右半部和48-bit子密钥做以下动作:expandsRto48-bitsusingpermutationEaddstosubkeypassesthrough8S-boxestoget32-bitresultfinallypermutesthisusing32-bitpermP算法第二十二页,共73页。第二十三页,共73页。SubstitutionBoxesSHaveeightS-boxeswhichmap6to4bitsEachS-boxisactually6to4bitboxesouterbits1&6(rowbits)selectonerowsinnerbits2-5(colbits)aresubstitutedresultis8lotsof4bits,or32bitsRowselectiondependsonbothdata&keyfeatureknownasautoclaving(autokeying)Example

S(1809123d11173839)=5fd25e03

第二十四页,共73页。第二十五页,共73页。第二十六页,共73页。子密钥的产生FormssubkeysusedineachroundConsistsof:initialpermutationofthekey(PC1)whichselects56-bitsintwo28-bithalves16stagesconsistingof:selecting24-bitsfromeachhalfpermutingthembyPC2foruseinfunctionf,rotatingeachhalfseparatelyeither1or2placesdependingonthekeyrotationscheduleK第二十七页,共73页。子密钥的产生K1K1664位密钥密钥置换C0D0LS1LS1C1D1压缩置换LS16LS16C16D16压缩置换56位密钥第二十八页,共73页。子密钥的产生--压缩置换表1417112415328156211023191242681672720132415231374755304051453348444939563453464250362932算法第二十九页,共73页。DES的解密是加密的逆过程,采用相同算法,但是子密钥使用的次序正好相反。雪崩效应AvalancheEffect

明文或密钥的一比特的变化,引起密文许多比特的改变。如果变化太小,就可能找到一种方法减小有待搜索的明文和密文空间的大小。如果用同样密钥加密只差一比特的两个明文:

0000000000000000......000000003次循环以后密文有21个比特不同,16次循环后有34个比特不同如果用只差一比特的两个密钥加密同样明文:

3次循环以后密文有14个比特不同,16次循环后有35个比特不同第三十页,共73页。算法

国际数据加密算法IDEA是InternationalDataEncryptionAlgorithm的缩写,1990年由瑞士联邦技术学院来学嘉和Massey提出的建议标准算法称作PES(ProposedEncryptionStandard)。Lai和Massey在1992年进行T改进,强化了抗差分分析的能力,改称为IDEA。它也是对64bit大小的数据块加密的分组加密算法,密钥长度为128位,它基于“相异代数群上的混合运算”设计思想算法用硬件和软件实现都很容易且比DES在实现上快的多。IDEA自问世以来,经历了大量的详细审查,对密码分析具有很强的抵抗能力,在多种商业产品中被使用。第三十一页,共73页。国际数据加密算法IDEA(InternationalDataEncryptionAlgorithm)1990年由瑞士苏黎世联邦工业大学的LaiXuejia和JamesMessey提出,1992年最终完成。算法形式同DES,用循环加密方式。设计原理使用128位密钥加密64位明文分组,穷举分析需要1038次试探,目前尚无破译方法。算法本身倾向于软件实现,加密速度快。密码强度分组长度:64位密钥长度:128位扰乱:密文以复杂交错的方式依赖明文和密钥扩散:每个明文比特都应该影响每个密文比特算法第三十二页,共73页。扰乱(IDEA的三种基本操作)IDEA的基本操作是将两个16位的值映射成一个16位的值逐位异或,⊕整数模216(65536)加⊞整数模216+1(65537)乘⊙例如:因为:216x215mod(216+1)=215+1扩散由乘积/相加(MA)结构的算法基本构件提供实现考虑方便软件和硬件的实现,硬件实现速度高,软件灵活低价第三十三页,共73页。第三十四页,共73页。IDEA加密第三十五页,共73页。IDEA单个循环第三十六页,共73页。IDEA子密钥的产生第三十七页,共73页。第三十八页,共73页。算法1977年,Rivest、Shamir、Adleman提出的非对称密码体制,是基于大合数的质因子分解问题的困难性。目前人类已能分解十进制150位的特殊类型的大合数第9个费马数,1994年4月一个小组通过Internet合作,8个月时间成功分解129位的数,大约428比特,最新的记录是1996年分解130位合数。RSA专利于2000年9月20日到期。第三十九页,共73页。算法流程随机选择两个秘密大质数p和q;计算公开模数n=p*q;计算秘密的欧拉指数函数φ(n)=(p-1)(q-1)选择一个与φ(n)互素的数K,作为e或d;用Euclid算法计算模φ(n)的K的乘法逆元素,即依edmodφ(n)=1,求d或e;加密:C=Memodn解密:M=Cdmodn=(Memodn)dmodn=M

这里,φ(n)为EulerTotientFunction,欧拉商数,即模n的完全剩余集合(0,1,2,...,n-1)中与n互素的数的个数。算法第四十页,共73页。例:p=53,q=61,n=pq=3233,

φ(n)=52x60=3120

令d=791,则e=71

令m=RENAISSANCE

即m=170413000818180013020426 170471mod3233=3106,…,

C=310601000931269119842927RSA的安全性有三种可能的对RSA的攻击方法强行攻击:尝试所有可能的密钥数学攻击:对两个素数乘积的因子分解(FAC问题)定时攻击:依赖于解密算法的运行时间算法第四十一页,共73页。1.Hash函数简介

Hash函数就是能够把任意有限长的消息串M映射成某一固定长度的输出串h的一种函数。这个输出串h称为该消息串M的消息摘要(messagedigest)或指纹(fingerprint)。用公式表示为:h=H(M)。其中h的长度应该至少为128比特以抵抗生日攻击。Hash函数应该具有单向函数的特性:

(1)给定任意消息串M,计算h很容易(2)给定h,计算消息串M使得H(M)=h很难

算法第四十二页,共73页。1.Hash函数简介除了满足单向性外,密码学上的Hash函数还需要满足抗碰撞的特性,因此引出了构造Hash函数的三个安全性假设。如果一个Hash函数满足了如下三个假设,这样的Hash函数就可以被认为是安全的:

(1)原像稳固假设:任意选择输出值h,希望找出一消息串M使得H(M)=h,在计算上是不可行的;(2)第二原像稳固假设:给定消息串M,要找到另外一消息串Z使得H(M)=H(Z),在计算上是不可行的;(3)碰撞稳固假设:要找出任意两个的消息串M和Z,使得H(M)=H(Z),在计算上是不可行的。算法第四十三页,共73页。1.Hash函数简介

Hash函数的主要用途在于提供数据的完整性校验和提高数字签名的有效性,目前国际上已提出了许多Hash函数的设计方案。这些Hash函数的构造方法主要可分为以下3类:

(1)基于某些数学难题如整数分解、离散对数问题的Hash函数设计。

(2)基于某些对称密码体制如DES等的Hash函数设计。

(3)不基于任何假设和密码体制直接构造的Hash函数。其中第3类Hash函数有著名的SHA-1,SHA-256,SHA-384,SHA-512,MD4,MD5,RIPEMD和HAVAL等。算法第四十四页,共73页。

共四轮,每轮16步,共64步,每一步都是针对4个32位的寄存器中的数据进行处理。4个32位的寄存器初始值是:a0=0x67452301,b0=0xefcdab89,c0=0x98badcfe,d0=0x10325476;经过64步处理后,ABCD中的值即为128位摘要。复制A、B、C、D到AA、BB、CC、DD;ABCD中三个寄存器的内容以非线性操作方式处理;结果与32位子明文块M[k]及一个固定数T[i]相加;结果左移S位,再与剩下的第四个寄存器的值相加;最后的32位结果重新存入A、B、C、D中的一个。每一回合操作,MD5使用不同的逻辑运算,将三个寄存器的内容以非线性方式进行处理。算法第四十五页,共73页。第四十六页,共73页。MD5中使用的逻辑函数每步骤的操作程序:FF(A,B,C,D,M[k],S,T[i]):a

b+((F(B,C,D,)+M[k],S,T[i])<<<S)GG(A,B,C,D,M[k],S,T[i]):a

b+((G(B,C,D,)+M[k],S,T[i])<<<S)HH(A,B,C,D,M[k],S,T[i]):a

b+((H(B,C,D,)+M[k],S,T[i])<<<S)II(A,B,C,D,M[k],S,T[i]):a

b+((I(B,C,D,)+M[k],S,T[i])<<<S)回合表示定义1F(x,y,z)(x

y)

(x-1

z)2G(x,y,z)(x

z)

(y

z-1)3H(x,y,z)x

y

z4I(x,y,z)y

(x

z-1)第四十七页,共73页。abcdabcd布尔函数++++<<<KMjT(i)图5.7MD5某一轮的执行过程算法第四十八页,共73页。+:模232的加运算常数T[i]的产生依据232*abs(sin(i)),i是弧度,取1~64第四回合最后一步输出A、B、C、D,分别与AA、BB、CC、DD的值相加,成为处理下一个512位明文块的A、B、C、D的初值。完成最后一个明文块的处理后,A、B、C、D中的值就是最后的哈希值。与MD4相比多一回合每一步都使用不同的常数T[i]比MD4多一种逻辑运算每一步都有一取代一个寄存器值的操作,加快了雪崩效应。算法第四十九页,共73页。5.3认证技术

认证的目的有三个:一是消息(完整性)认证,即验证信息在传送或存储过程中是否被篡改;二是身份认证,即验证消息的收发者是否持有正确的身份认证符,如口令或密钥等;三是消息的序号和操作时间(时间性)等的认证,其目的是防止消息重放或延迟等攻击。认证技术是防止不法分子对信息系统进行主动攻击的一种重要技术。加密和认证同是信息系统安全的两个重要方面,但它们不能相互替代。认证不能自动地提供加密功能,而加密也不能自然地提供认证功能。第五十页,共73页。5.3认证技术

认证技术一般可以分为三个层次:安全管理协议、认证体制和密码体制。安全管理协议的主要任务是在安全体制的支持下,建立、强化和实施整个网络系统的安全策略;认证体制在安全管理协议的控制和密码体制的支持下,完成各种认证功能;密码体制是认证技术的基础,它为认证体制提供数学方法支持。一个安全的认证体制至少应该满足以下要求:(1)接收者能够检验和证实消息的合法性、真实性和完整性。(2)消息的发送者对所发的消息不能抵赖,有时也要求消息的接收者不能否认收到的消息。(3)除了合法的消息发送者外,其他人不能伪造发送消息。第五十一页,共73页。5.3认证技术

认证体制中通常存在一个可信中心或可信第三方(如认证机构CA,即证书授权中心),用于仲裁、颁发证书或管理某些机密信息。通过数字证书实现公钥的分配和身份的认证。数字证书是标志通信各方身份的数据,是一种安全分发公钥的方式。CA负责密钥的发放、注销及验证,所以CA也称密钥管理中心。CA为每个申请公开密钥的用户发放一个证书,证明该用户拥有证书中列出的公钥。CA的数字签名保证不能伪造和篡改该证书,因此,数字证书既能分配公钥,又实现了身份认证。第五十二页,共73页。5.3认证技术

安全认证的概念可以细分为如下三个方面:数据源认证、实体认证及认证的密钥建立。数据源认证:数据源认证包含从某个声称的源(发送者)到接收者的消息传输过程,该接收者在接收时验证消息以确认消息发送者的身份、原消息的完整性,以及消息传输的活现性。实体认证:实体认证是一个通信过程,通过这个过程某个实体和另外一个实体建立一种真实通信,并且第二主体所声称的身份应和第一主体所寻求的通信方一致。认证的密钥建立:认证的密钥建立是认证协议和密钥建立协议的结合,用于确认协议参与实体身份,并在实体之间建立共享秘密以保证上层的安全通信。第五十三页,共73页。5.3认证技术

依照不同的分类标准,认证协议可以分为不同的类型。根据认证实体的不同地位,可将协议分为以下几类:客户-服务器类型:认证的参与者具有不对等的地位,其中一个认证实体(客户)向另一个认证实体(服务器)请求某种服务。两个认证实体可以通过非密码方法预先共享某些秘密。客户-客户类型:认证实体具有对等的地位,希望通过认证建立某种联系。成员-俱乐部类型:成员向俱乐部证明其身份的有效性,俱乐部只需要考虑成员证件的有效性,而不必知道成员的进一步信息。第五十四页,共73页。协议描述符号的约定。•Alice,Bob···:协议参与主体名称,有时简称为A,B···。•A→B:M:A给B发送消息M。•KAB:主体A与B的共享密钥。•SigA{M}:主体A对消息M产生的签名。•NX:主体X产生的随机数,这些随机数是从一个足够大的空间中随机抽样得到的。•ttX:主体X产生的时戳。认证协议基本技术第五十五页,共73页。1.挑战-应答机制在询问-应答机制中,Alice向Bob提出一个随机数作为询问,Bob利用能够证明其身份的密钥对这个随机数进行相应运算,给出对Alice询问的密码学应答。当Bob采取对称密钥时,询问-应答机制描述如下:A→B:NA;B→A:FKAB{M,NA};认证协议基本技术第五十六页,共73页。认证协议基本技术1.挑战-应答机制基于公钥密码体制的挑战-应答机制如下:A→B:NA;B→A:SigA{M,NA};ISO将上述挑战-应答机制标准化为“使用公钥的ISO两次传输单方认证机制”A使用她的一次性随机数验证签名并接受如果通过了签名验证拒绝其它第五十七页,共73页。2.时戳/序列号机制应用挑战-应答机制实现单方认证需要进行两次交互,为了减少交互次数,可以采用时戳/序列号机制。对称密码体制中的时戳机制描述如下:A→B:FKAB{M,ttA};B验证来自A的密文分组并接受如果ttA是有效的并且以正确的形式出现拒绝其它上述机制中的密码算法F(·)依然可以采用对称加密算法或MAC函数。前一种情况被标准化为“ISO对称密钥一次传输单方认证协议”,后一种情况被标准化为“使用密码验证函数的ISO一次传输单方认证”。认证协议基本技术第五十八页,共73页。2.时戳/序列号机制公钥密码体制中的时戳机制描述如下:A→B:SigA{M,ttA};B验证签名并接受如果通过了签名验证且ttA是有效的拒绝其它该机制被标准化为“ISO公钥一次传输单方认证协议”。认证协议基本技术第五十九页,共73页。3.Diffie-Hellman密钥协商1976年,Diffie和Hellman在他们的经典著作《密码学的新方向》中提出了一种在不安全信道上安全地协商会话密钥的方法,该方法后来被称作Diffie-Hellman密钥协商,简称DH密钥协商。DH密钥协商是公钥密码学的基础,是密码学研究从传统走向现代一个里程碑式的标志。DH密钥协商建立在一个高阶乘法群上,给定大素数p,g是p的本原根,g和p被作为系统的公共参数。若Alice和Bob需要建立一个密钥,Alice选择随机数xA,并将X=gxAmodp发送给Bob;Bob选择随机数xB,并将Y=gxBmodp发送给Alice。此时,Alice可以利用Y计算KAB=YxAmodp,Bob可以利用X计算KBA=XxBmodp。可以验证KAB=KBA=gxAxBmodp,Alice和Bob可以建立起一致的会话密钥。由于普遍认为由X和Y求xA或xB是困难的,因此会话密钥是安全的。认证协议基本技术第六十页,共73页。4.基于口令的认证基于口令的认证技术起源于上世纪70年代初,该认证技术的基本思想是:用户Alice具有一个口令(也称通行字)PA,服务器保留了形如(Alice,PA)的记录。当Alice登陆服务器时,以某种形式递交PA,服务器检查本地是否保存了相应的(Alice,PA)项:若有,则授权Alice的登陆;否则拒绝。由于目前的网络已经从最初的安全专线网络发展成为开放网络,基于口令的认证技术越来越类似于对称密钥情形下的认证,用户口令相当于一个长度较短的密钥。认证协议基本技术第六十一页,共73页。数字签名技术

在文件上手写签名长期以来被用作作者身份的证明,或至少同意文件的内容。在计算机上,可以用数字签名(DigitalSignature)来实现与文件上手写签名相同的功能。所谓数字签名,就是只有信息发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对发送者发送信息真实性一个证明。数字签名也称为电子签名,是公钥密码系统的一种重要应用方式。现在,已经有很多国家制定了电子签名法。《中华人民共和国电子签名法》已于2004年8月28日第十届全国人民代表大会常务委员会第十一次会议通过,并已于2005年4月1日开始实施。第六十二页,共73页。数字签名技术1.数字签名的特点作为一种签名方式,数字签名与书面文件上的手写签名有着共同的特征和作用:

(1)签名是可信的:如果接收者能够用签名者的公开密钥解密,他就能够确定签名者的身份。

(2)签名不可伪造:只有签名者知道他的私人密钥,别人无法伪造他的签名。

(3)签名不可重用:签名是文件的一部分,不法之徒不可能将签名移到另一个文件上。

(4)被签名的文件是不可改变的:如果被签名的文件有任何改变,那么该签名文件就不可能用签名者的公开密钥进行解密。

(5)签名是不可抵赖的:因为别人不知道签名者的私人密钥,不可能产生同样的签名文件,因此签名是不可能抵赖的。第六十三页,共73页。数字签名技术1.数字签名的特点手写签名与数字签名的主要区别在于:(1)体现形式不一样。手写签名印在文件的物理部分,手写签名反映某个人的个性特征,同一个人对不同文档的手写签名体现的个性特征相同;数字签名则以签名算法体现在所签的文件中。数字签名是数字串,它随被签对象不同而变化。同一个人对不同文档的数字签名是不同的。(2)验证方式不同。一个手写签名是通过和一个真实的手写签名相比较来验证;而数字签名能通过一个公开的验证算法来验证。任何人都可以验证一个数字签名。(3)拷贝形式不同。手写签名不易复制;数字签名容易拷贝。第六十四页,共73页。数字签名技术2.数字签名原理如果A要向B发送一个消息,尽管该消息本身的保密性可能并不重要,但A希望B能够确认该消息确实是A发出的,并且消息在传输过程中没有被改动,即要实现消息真实来源的验证和消息的完整性验证。在这种情况下A使用自己的私人密钥来加密消息。如果B收到A的密文消息后,能够用A的公开密钥进行解密,这样就验证了该消息一定是由A发出的。因为除了A以外,没有其他人能够创建出可以用A的公开密钥来解密的密文来。并且因为如果没有A的私人密钥就不可能对消息进行改动,因此在消息的真实来源得以验证的同时,消息的数据完整性也能够得到验证。数字签名是不可抵赖的。即使A以后声称他没有发送这个消息给B,但由于除了A以外,没有人能够生成同样的密文,这就说明A在说谎。第六十五页,共73页。数字签名技术2.数字签名基本算法

(1)对称密钥密码算法进行数字签名对称密钥密码算法所用的加密密钥和解密密钥通常是相同的,或者可以很容易地由其中的任意一个导出另一个。对称密钥算法实现数字签名必须有仲裁人参与。用户A和仲裁人T共享密钥KA

,用户B和T共享另一个不同的密钥KB

。①A用KA加密他准备发送给B的明文消息M,并把加密消息CA传送给T:CA

=EKA(M)。②

T用KA解密CA得到明文M:M=DKA(CA)。③T把解密消息和他收到A消息的声明t,一起用KB加密成CB:CB

=EKB(M,t)。④

T把加密的消息包CB连同A用KA加密的CA一起传给B:(CB,KA)→B

。⑤B用KB解密消息包CB之后,就可以读到A的消息M和T的签名证书t,证明消息来自A:(M,t)=DKB

(CB

)第六十六页,共73页。数字签名技术2.数字签名基本算法

(2)公开密钥数字签名算法①A用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论