版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
对称加密方法与非对称密码算法数据加密技术之目录CONTENTS对称加密基本概念01对称加密基本算法02两者区别05总结06非对称加密基本概念03非对称加密基本算法04PARTONE对称加密基本概念基本概念4对称加密算法是应用较早的加密算法,技术成熟。在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。PARTONEPARTTWOPARTTHREE在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。特点5算法公开、计算量小、加密速度快、加密效率高。优缺点:此外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的惟一钥匙,这会使得发收信双方所拥有的钥匙数量成几何级数增长,密钥管理成为用户的负担。总之,对称加密算法在分布式网络系统上使用较为困难,主要是因为密钥管理困难,使用成本较高。PARTTHREE对称加密基本算法DESTripleDES算法基本概念8DESTripleDES算法
DES算法把64位的明文输入块变为数据长度为64位的密文输出块,其中8位为奇偶校验位,另外56位作为密码的长度。
首先,DES把输入的64位数据块按位重新组合,并把输出分为L0、R0两部分,每部分各长32位,并进行前后置换,
最终由L0输出左32位,R0输出右32位,根据这个法则经过16次迭代运算后,得到L16、R16,将此作为输入,进行与初始置换相反的逆置换,即得到密文输出。特点9DESTripleDES算法
DES算法具有极高的安全性,到目前为止,除了用穷举搜索法对DES算法进行攻击外,还没有发现更有效的办法。
56位长密钥的穷举空间为2^56,这意味着如果一台计算机的速度是每秒种检测100万个密钥,
那么它搜索完全部密钥就需要将近2285年的时间。因此DES算法是一种很可靠的加密方法。RC算法
RC算法基本概念RC4算法的原理是“搅乱”,它包括初始化算法和伪随机子密码生成算法两大部分。1在初始化的过程中,密钥的主要功能是将一个256字节的初始数簇进行随机搅乱,2
不同的数簇在经过伪随机子密码生成算法的处理后可以得到不同的子密钥序列,将得到的子密钥序列和明文进行异或运算(XOR)后,得到密文。3
RC算法特点RC4算法加密采用的是异或方式。1
一旦子密钥序列出现了重复,密文就有可能被破解,但是目前还没有发现密钥长度达到128位的RC4有重复的可能性。2所以,RC4也是目前最安全的加密算法之一。3BlowFish算法基本概念14BlowFish算法是一个64位分组及可变密钥长度的分组密码算法,该算法是非专利的。什么是BlowFish算法?加密过程是怎样的?BlowFish算法使用两个“盒”:pbox[18]和sbox[4256],BlowFish算法有一个核心加密函数。该函数输入64位信息,运算后以64位密文的形式输出。用BlowFish算法加密信息,需要密钥预处理和信息加密两个过程。BlowFish算法的原密钥pbox和sbox是固定的,要加密一个信息,需要选择一个key,用这个key对pbox和sbox进行变换,得到下一步信息加密所用到的key_pbox和key_sbox。解密过程是怎样的?BlowFish算法解密,同样也需要密钥预处理和信息解密两个过程。密钥预处理的过程和加密时完全相同。信息解密的过程就是把信息加密过程的key_pbox逆序使用即可。原理应用
对称加密算法的优点在于加解密的高速度和使用长密钥时的难破解性。假设两个用户需要使用对称加密方法加密然后交换数据,则用户最少需要2个密钥并交换使用,如果企业内用户有n个,则整个企业共需要n×(n-1)个密钥,密钥的生成和分发将成为企业信息部门的恶梦。对称加密算法的安全性取决于加密密钥的保存情况,但要求企业中每一个持有密钥的人都保守秘密是不可能的,他们通常会有意无意的把密钥泄漏出去——如果一个用户使用的密钥被入侵者所获得,入侵者便可以读取该用户密钥加密的所有文档,如果整个企业共用一个加密密钥,那整个企业文档的保密性便无从谈起。
对称加密算法的优点在于加解密的高速度和使用长密钥时的难破解性。假设两个用户需要使用对称加密方法加密然后交换数据,则用户最少需要2个密钥并交换使用,如果企业内用户有n个,则整个企业共需要n×(n-1)个密钥,密钥的生成和分发将成为企业信息部门的恶梦。对称加密算法的安全性取决于加密密钥的保存情况,但要求企业中每一个持有密钥的人都保守秘密是不可能的,他们通常会有意无意的把密钥泄漏出去——如果一个用户使用的密钥被入侵者所获得,入侵者便可以读取该用户密钥加密的所有文档,如果整个企业共用一个加密密钥,那整个企业文档的保密性便无从谈起。DESCryptoServiceProviderRC2CryptoServiceProviderRijndaelManagedTripleDESCryptoServiceProvider//例加密文本文件(RijndaelManaged)byte[]key={24,55,102,24,98,26,67,29,84,19,37,118,104,85,121,27,93,86,24,55,102,24,98,26,67,29,9,2,49,69,73,92};byte[]IV={22,56,82,77,84,31,74,24,55,102,24,98,26,67,29,99};RijndaelManagedmyRijndael=newRijndaelManaged();FileStreamfsOut=File.Open(strOutName,FileMode.Create,FileAccess.Write);//strOutName文件名及路径FileStreamfsIn=File.Open(strPath,FileMode.Open,FileAccess.Read);CryptoStreamcsDecrypt=newCryptoStream(fsOut,myRijndael.CreateEncryptor(key,IV),CryptoStreamMode.Write);//读加密文本BinaryReaderbr=newBinaryReader(fsIn);csDecrypt.Write(br.ReadBytes((int)fsIn.Length),0,(int)fsIn.Length);csDecrypt.FlushFinalBlock();csDecrypt.Close();fsIn.Close();fsOut.Close();
对称加密算法的优点在于加解密的高速度和使用长密钥时的难破解性。假设两个用户需要使用对称加密方法加密然后交换数据,则用户最少需要2个密钥并交换使用,如果企业内用户有n个,则整个企业共需要n×(n-1)个密钥,密钥的生成和分发将成为企业信息部门的恶梦。对称加密算法的安全性取决于加密密钥的保存情况,但要求企业中每一个持有密钥的人都保守秘密是不可能的,他们通常会有意无意的把密钥泄漏出去——如果一个用户使用的密钥被入侵者所获得,入侵者便可以读取该用户密钥加密的所有文档,如果整个企业共用一个加密密钥,那整个企业文档的保密性便无从谈起。//解密文件byte[]key={24,55,102,24,98,26,67,29,84,19,37,118,104,85,121,27,93,86,24,55,102,24,98,26,67,29,9,2,49,69,73,92};byte[]IV={22,56,82,77,84,31,74,24,55,102,24,98,26,67,29,99};RijndaelManagedmyRijndael=newRijndaelManaged();FileStreamfsOut=File.Open(strPath,FileMode.Open,FileAccess.Read);CryptoStreamcsDecrypt=newCryptoStream(fsOut,myRijndael.CreateDecryptor(key,IV),CryptoStreamMode.Read);StreamReadersr=newStreamReader(csDecrypt);//把文件读出来StreamWritersw=newStreamWriter(strInName);//解密后文件写入一个新的文件sw.Write(sr.ReadToEnd());sw.Flush();sw.Close();sr.Close();fsOut.Close();用图片加密(RC2CryptoServiceProvider)FileStreamfsPic=newFileStream(pictureBox1.ImageLocation,FileMode.Open,FileAccess.Read);
对称加密算法的优点在于加解密的高速度和使用长密钥时的难破解性。假设两个用户需要使用对称加密方法加密然后交换数据,则用户最少需要2个密钥并交换使用,如果企业内用户有n个,则整个企业共需要n×(n-1)个密钥,密钥的生成和分发将成为企业信息部门的恶梦。对称加密算法的安全性取决于加密密钥的保存情况,但要求企业中每一个持有密钥的人都保守秘密是不可能的,他们通常会有意无意的把密钥泄漏出去——如果一个用户使用的密钥被入侵者所获得,入侵者便可以读取该用户密钥加密的所有文档,如果整个企业共用一个加密密钥,那整个企业文档的保密性便无从谈起。//加密文件流(textBox1.Text是文件名及路径)FileStreamfsText=newFileStream(textBox1.Text,FileMode.Open,FileAccess.Read);byte[]bykey=newbyte[16];//初始化KeyIVbyte[]byIv=newbyte[8];fsPic.Read(bykey,0,16);fsPic.Read(byIv,0,8);RC2CryptoServiceProviderdesc=newRC2CryptoServiceProvider();//desc进行加密BinaryReaderbr=newBinaryReader(fsText);//从要加密的文件中读出文件内容FileStreamfsOut=File.Open(strLinPath,FileMode.Create,FileAccess.Write);//strLinPath临时加密文件路径CryptoStreamcs=newCryptoStream(fsOut,desc.CreateEncryptor(bykey,byIv),CryptoStreamMode.Write);//写入临时加密文件cs.Write(br.ReadBytes((int)fsText.Length),0,(int)fsText.Length);//写入加密流cs.FlushFinalBlock();cs.Flush();cs.Close();fsPic.Close();fsText.Close();fsOut.Close();
对称加密算法的优点在于加解密的高速度和使用长密钥时的难破解性。假设两个用户需要使用对称加密方法加密然后交换数据,则用户最少需要2个密钥并交换使用,如果企业内用户有n个,则整个企业共需要n×(n-1)个密钥,密钥的生成和分发将成为企业信息部门的恶梦。对称加密算法的安全性取决于加密密钥的保存情况,但要求企业中每一个持有密钥的人都保守秘密是不可能的,他们通常会有意无意的把密钥泄漏出去——如果一个用户使用的密钥被入侵者所获得,入侵者便可以读取该用户密钥加密的所有文档,如果整个企业共用一个加密密钥,那整个企业文档的保密性便无从谈起。用图片解密FileStreamfsPic=newFileStream(pictureBox1.ImageLocation,FileMode.Open,FileAccess.Read);//图片流FileStreamfsOut=File.Open(textBox1.Text,FileMode.Open,FileAccess.Read);//解密文件流byte[]bykey=newbyte[16];//初始化KeyIVbyte[]byIv=newbyte[8];fsPic.Read(bykey,0,16);fsPic.Read(byIv,0,8);stringstrPath=textBox1.Text;//加密文件的路径intintLent=strPath.LastIndexOf("\\")+1;intintLong=strPath.Length;stringstrName=strPath.Substring(intLent,intLong-intLent);//要加密的文件名称stringstrLinPath="C:\\"+strName;//临时解密文件路径FileStreamfs=newFileStream(strLinPath,FileMode.Create,FileAccess.Write);RC2CryptoServiceProviderdesc=newRC2CryptoServiceProvider();//desc进行解密CryptoStreamcsDecrypt=newCryptoStream(fsOut,desc.CreateDecryptor(bykey,byIv),CryptoStreamMode.Read);
对称加密算法的优点在于加解密的高速度和使用长密钥时的难破解性。假设两个用户需要使用对称加密方法加密然后交换数据,则用户最少需要2个密钥并交换使用,如果企业内用户有n个,则整个企业共需要n×(n-1)个密钥,密钥的生成和分发将成为企业信息部门的恶梦。对称加密算法的安全性取决于加密密钥的保存情况,但要求企业中每一个持有密钥的人都保守秘密是不可能的,他们通常会有意无意的把密钥泄漏出去——如果一个用户使用的密钥被入侵者所获得,入侵者便可以读取该用户密钥加密的所有文档,如果整个企业共用一个加密密钥,那整个企业文档的保密性便无从谈起。//读出加密文件BinaryReadersr=newBinaryReader(csDecrypt);//从要加密流中读出文件内容BinaryWritersw=newBinaryWriter(fs);//写入解密流sw.Write(sr.ReadBytes(Convert.ToInt32(fsOut.Length)));//sw.Flush();sw.Close();sr.Close();fs.Close();fsOut.Close();fsPic.Close();csDecrypt.Flush();File.Delete(textBox1.Text.TrimEnd());//删除原文件File.Copy(strLinPath,textBox1.Text);//复制加密文件File.Delete(strLinPath);//删除临时文件PARTTWO非对称加密基本概念基本概念22非对称加密算法是一种密钥的保密方法。非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。一、二、三、四、25%50%75%90%23一方面,甲方生成一对密钥并将其中的一把作为公用密钥向其它方公开;得到该公用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方;甲方再用自己保存的另一把专用密钥对加密后的信息进行解密。另一方面,另一方面,甲方可以使用乙方的公钥对机密信息进行签名后再发送给乙方;乙方再用自己的私匙对数据进行验签。甲方只能用其专用密钥解密由其公用密钥加密后的任何信息。非对称加密算法实现机密信息交换的基本过程是:非对称加密算法的保密性比较好,它消除了最终用户交换密钥的需要。基本概念特点24010203
算法强度复杂、安全性依赖于算法与密钥但是由于其算法复杂,而使得加密解密速度没有对称加密解密的速度快。
但由于其算法复杂,使得加密解密速度没有对称加密解密的速度快。
非对称密钥体制有两种密钥,其中一个是公开的,这样就可以不需要像对称密码那样传输对方的密钥了。这样安全性就大了很多。PARTTHREE非对称加密基本算法主要算法RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)。使用最广泛的是RSA算法,Elgamal是另一种常用的非对称加密算法。主要算法
Elgamal由TaherElgamal于1985年发明,其基础是DiffieˉHellman密钥交换算法,后者使通信双方能通过公开通信来推导出只有他们知道的秘密密钥值[DiffieˉHellman]。DiffieˉHellman是WhitfieldDiffie和MartinHellman于1976年发明的,被视为第一种非对称加密算法,DiffieˉHellman与RSA的不同之处在于,DiffieˉHellman不是加密算法,它只是生成可用作对称密钥的秘密数值。主要算法
在DiffieˉHellman密钥交换过程中,发送方和接收方分别生成一个秘密的随机数,并根据随机数推导出公开值,然后,双方再交换公开值。DiffieˉHellman算法的基础是具备生成共享密钥的能力。只要交换了公开值,双方就能使用自己的私有数和对方的公开值来生成对称密钥,称为共享密钥,对双方来说,该对称密钥是相同的,可以用于使用对称加密算法加密数据。主要算法
与RSA相比,DiffieˉHellman的优势之一是每次交换密钥时都使用一组新值,而使用RSA算法时,如果攻击者获得了私钥,那么他不仅能解密之前截获的消息,还能解密之后的所有消息。然而,RSA可以通过认证(如使用X.509数字证书)来防止中间人攻击,但DiffieˉHellman在应对中间人攻击时非常脆弱。工作原理30工作原理31A要向B发送信息,A和B都要产生一对用于加密和解密的公钥和私钥。第一步第二步第三步第四步A的私钥保密,A的公钥告诉B;B的私钥保密,B的公钥告诉A。A要给B发送信息时,A用B的公钥加密信息,因为A知道B的公钥。A将这个消息发给B(已经用B的公钥加密消息)。B收到这个消息后,B用自己的私钥解密A的消息。其他所有收到这个报文的人都无法解密。第五步主要应用
非对称加密(公钥加密):指加密和解密使用不同密钥的加密算法,也称为公私钥加密。假设两个用户要加密交换数据,双方交换公钥,使用时一方用对方的公钥加密,另一方即可用自己的私钥解密。如果企业中有n个用户,企业需要生成n对密钥,并分发n个公钥。假设A用B的公钥加密消息,用A的私钥签名,B接到消息后,首先用A的公钥验证签名,确认后用自己的私钥解密消息。由于公钥是可以公开的,用户只要保管好自己的私钥即可,因此加密密钥的分发将变得十分简单。同时,由于每个用户的私钥是唯一的,其他用户除了可以通过信息发送者的公钥来验证信息的来源是否真实,还可以通过数字签名确保发送者无法否认曾发送过该信息。非对称加密的缺点是加解密速度要远远慢于对称加密,在某些极端情况下,甚至能比对称加密慢上1000倍。
对称加密算法的优点在于加解密的高速度和使用长密钥时的难破解性。假设两个用户需要使用对称加密方法加密然后交换数据,则用户最少需要2个密钥并交换使用,如果企业内用户有n个,则整个企业共需要n×(n-1)个密钥,密钥的生成和分发将成为企业信息部门的恶梦。对称加密算法的安全性取决于加密密钥的保存情况,但要求企业中每一个持有密钥的人都保守秘密是不可能的,他们通常会有意无意的把密钥泄漏出去——如果一个用户使用的密钥被入侵者所获得,入侵者便可以读取该用户密钥加密的所有文档,如果整个企业共用一个加密密钥,那整个企业文档的保密性便无从谈起。
对称加密算法的优点在于加解密的高速度和使用长密钥时的难破解性。假设两个用户需要使用对称加密方法加密然后交换数据,则用户最少需要2个密钥并交换使用,如果企业内用户有n个,则整个企业共需要n×(n-1)个密钥,密钥的生成和分发将成为企业信息部门的恶梦。对称加密算法的安全性取决于加密密钥的保存情况,但要求企业中每一个持有密钥的人都保守秘密是不可能的,他们通常会有意无意的把密钥泄漏出去——如果一个用户使用的密钥被入侵者所获得,入侵者便可以读取该用户密钥加密的所有文档,如果整个企业共用一个加密密钥,那整个企业文档的保密性便无从谈起。DSACryptoServiceProviderRSACryptoServiceProvider//加密UnicodeEncodingencoding=newUnicodeEncoding();byte[]PasswordBytes=encoding.GetBytes(password);//将密码转换为字节数组RSACryptoServiceProvidercrypt=newRSACryptoServiceProvider();//RSA加密算法,非对称PasswordBytes=crypt.Encrypt(password,false);//加密字节数组,这是加密后的密码值,放入数据库中的表字段中。stringkey=crypt.ToXmlString(true);//输出密钥为XML格式的字符串,且包含私钥,这个字符串要作为数据库表中的一个字段同用户的密码放在一起。
对称加密算法的优点在于加解密的高速度和使用长密钥时的难破解性。假设两个用户需要使用对称加密方法加密然后交换数据,则用户最少需要2个密钥并交换使用,如果企业内用户有n个,则整个企业共需要n×(n-1)个密钥,密钥的生成和分发将成为企业信息部门的恶梦。对称加密算法的安全性取决于加密密钥的保存情况,但要求企业中每一个持有密钥的人都保守秘密是不可能的,他们通常会有意无意的把密钥泄漏出去——如果一个用户使用的密钥被入侵者所获得,入侵者便可以读取该用户密钥加密的所有文档,如果整个企业共用一个加密密钥,那整个企业文档的保密性便无从谈起。//解密RSACryptoServiceProvidercrypt=newRSACryptoServiceProvider();//已随机生成了一个密钥对crypt.Clear();//毁掉当前密钥对crypt.FromXmlString(key)//输入密钥对,key是从数据库表字段中读取的那个XML格式的字符串,即密钥字段PasswordBytes=crypt.Decrypt(password,false);//解密字节数组,返回原始密码给用户
对称加密算法的优点在于加解密的高速度和使用长密钥时的难破解性。假设两个用户需要使用对称加密方法加密然后交换数据,则用户最少需要2个密钥并交换使用,如果企业内用户有n个,则整个企业共需要n×(n-1)个密钥,密钥的生成和分发将成为企业信息部门的恶梦。对称加密算法的安全性取决于加密密钥的保存情况,但要求企业中每一个持有密钥的人都保守秘密是不可能的,他们通常会有意无意的把密钥泄漏出去——如果一个用户使用的密钥被入侵者所获得,入侵者便可以读取该用户密钥加密的所有文档,如果整个企业共用一个加密密钥,那整个企业文档的保密性便无从谈起。上面方法的一个特点是每个用户对应一个密钥(包含公钥和私钥),它们都是随机生成的,所以各不相同。不过缺点也是很明显的,就是密钥存储在数据库中,如果数据库被攻破密钥就泄漏了。还有另外一个方法就是依照上面方法随机生成一个密钥对(包含公钥和私钥),通过ToXmlString(true)方法导出,然后把这个XML字符串格式的密钥放到你的Web程序的Web.config文件的AppSetting节点里面,然后通过FromXmlString(key)方法读入密钥,这样就意味着所有的用户密码都用同一个密钥对加密和解密。PARTSIX两者区别对照图区别首先用于消息解密的密钥值与用于消息加密的密钥值不同;其次非对称加密算法比对称加密算法慢数千倍,但在保护通信安全方面,非对称加密算法却具有对称密码难以企及的优势。
Alice使用密钥K加密消息并将其发送给Bob,Bob收到加密的消息后,使用密钥K对其解密以恢复原始消息。这里存在一个问题,即Alice如何将用于加密消息的密钥值发送给
Bob?答案是,Alice发送密钥值给Bob时必须通过独立的安全通信信道(即没人能监听到该信道中的通信)。为说明这种优势,使用对称加密算法的例子来强调:这种使用独立安全信道来交换对称加密算法密钥的需求会带来更多问题:首先,有独立的安全信道,但是安全信道的带宽有限,不能直接用它发送原始消息。其次,Alice和Bob不能确定他们的密钥值可以保持多久而不泄露(即不被其他人知道)以及何时交换新的密钥值预计将在未来几十年里,AES将代替DES在各个领域中得到广泛应用。举例说明区别但是,01这些问题不只Alice会遇到,Bob和其他每个人都会遇到,他们都需要交换密钥并处理这些密钥管理问题(事实上,X9.17是一项DES密钥管理ANSI标准[ANSIX9.17])。02如果Alice要给数百人发送消息,那么事情将更麻烦,她必须使用不同的密钥值来加密每条消息。03例如,要给200个人发送通知,Alice需要加密消息200次,对每个接收方加密一次消息。04显然,在这种情况下,使用对称加密算法来进行安全通信的开销相当大。
非对称加密
非对称加密由于任何用Bob的公钥加密的消息只能用Bob的私钥解密,因此即使窥探者知道Bob的公钥,消息也仍是安全的。Bob在收到加密消息后,用自己的私钥进行解密从而恢复原始文档。Alice需要通过电子邮件给Bob发送一个机密文档。首先,Bob使用电子邮件将自己的公钥发送给Alice。然后Alice用Bob的公钥对文档加密并通过电子邮件将加密消息发送给Bob。用来加密消息的密钥称为公钥,用来解密消息的密钥称为私钥。用公钥加密的消息只能用与之对应的私钥来解密,私钥除了持有者外无人知道,而公钥却可通过非安全管道来发送或在目录中发布。非对称加密算法的主要优势使用两个而不是一个密钥值:一个密钥值用来加密消息,另一个密钥值用来解密消息。这两个密钥值在同一个过程中生成,称为密钥对。PARTTHREE总结总结450301
对称加密加密与解密使用的是同样的密钥,所以速度快,但由于需要将密钥在网络传输,所以安全性不高。02非对称加密使用了一对密钥,公钥与私钥,所以安全性高,但加密与解密速度慢。解决的办法是将对称加密的密钥使用非对称加密的公钥进行加密,然后发送出去,接收方使用私钥进行解密得到对称加密的密钥,然后双方可以使用对称加密来进行沟通。谢谢老师!物联网工程物联网信息安全第2章网络信息安全技术基础010203认证技术数字签名常用的数字签名体制介绍目录0201认证技术PARTONE认证与鉴定认证活动又称为鉴别,是证明某人或对象身份的过程,是认证者对被认证者的确定的过程。数字世界中,信息安全所能提供的安全方案也是对我们现实生活的模拟。04鉴定是判定识别个体的过程,在现实世界,我们通过这个人的生物特征,将他与其他个体区别开来,比如DNA信息、虹膜、指纹等。05鉴定是对事务的提取与区分,认证则是验证者对证明者的判定。饭店住宿时提供身份证或是驾驶证、军人证等证明自我,就是鉴定;使用钥匙打开房间门锁才能进入,是门锁对家庭成员的认证。这就象在数字世界中,我们使用用户名和口令。认证的目的一是验证信息的发送者是合法的,而不是冒充的,即实体认证,包括信源、信宿的认证和识别;目的一06
二是验证消息的完整性,验证数据在传输和存储过程中是否被篡改、重放或延迟等。目的二认证模式与认证方式在网络中,认证是我们使用远程服务的前提。07认证贯穿与网络服务的全部过程中。认证模式用户认证:是基于使用者本身的认证会话认证:是对于用户访问服务权限的认证客户认证:一般基于源地址而不是基于用户的访问授权的认证0608认证方式一般认证是用用户名和口令的识别方式,最简单且易于实现。利用事物本身的属性进行认证,比如个体的指纹、虹膜、DNA等个体特征。利用物主所拥有的事物进行认证,比如使用者的钥匙、智能卡等。一般认证身份识别事物认证0902数字签名PARTTWO数字签名在信息安全,包括身份认证、数据完整性、不可否认性以及匿名性等方面有重要应用,特别是在大型网络安全通信中的密钥分配、认证及电子商务系统中具有重要作用。数字签名是实现认证的重要工具。11数字签名原理12131.通过单向哈希函数实现的数字签名通过一个单向函数对要传送的报文进行处理得到的用以认证报文来源并核实报文是否发生变化的一个字母数字串,该字母数字串被成为该消息的消息鉴别码或消息摘要。142.公钥签名技术公钥体制签名的时候用户用自己的私钥对原始数据的哈希摘要进行加密得到数据,然后信息接收者使用信息发送者的公钥对附在原始信息后的数字签名进行解密后获得哈希摘要,并通过与用己收到的原始数据产生的哈希摘要对照,便可确信原始信息是否被篡改,这样就保证了数据传输的不可否认性。数字签名分类以方式分①directdigitalsignature②arbitrateddigitalsignature以安全性分①无条件安全的数字签名②计算上安全的数字签名以可签名次数分①一次性的数字签名②多次性的数字签名15数字签名的特性特性可信不可改变不可复制不可抵赖不可伪造可信16数字签名的特性签名是可信的:任何人都可以方便地验证签名的有效性。签名是不可伪造的:除了合法的签名者之外,任何其他人伪造其签名是困难的。这种困难性指实现时计算上是不可行的。签名是不可复制的:对一个消息的签名不能通过复制变为另一个消息的签名。如果一个消息的签名是从别处复制的,则任何人都可以发现消息与签名之间的不一致性,从而可以拒绝签名的消息。签名的消息是不可改变的:经签名的消息不能被篡改。一旦签名的消息被篡改,则任何人都可以发现消息与签名之间的不一致性。签名是不可抵赖的:签名者不能否认自己的签名。17数字签名技术的功能18可以解决的问题发送者事后不能否认发送的报文签名。接收者能够核实发送者发送的报文签名、接收者不能伪造发送者的报文签名、接收者不能对发送者的报文进行部分篡改网络中的某用户不能冒充另一用户作为发送者或接收者否认伪造篡改冒充具体要求为:数字签名的实现方法用对称加密算法进行数字签名用非对称加密算法进行数字签名19用对称加密算法进行数字签名(1)己知哈希函数的输出,要求它的输入是困难的,即己知c=Hash(m),求m是困难的。(2)己知m,计算Hash(m)是容易的。(3)己知C1=Hash(m1),构造m2使Hash(m2)=C1是困难的。(4)c=Hash(m),c的每一比特都与m的每一比特相关,并有高敏感性。即每改变m的一比特,都将对c产生明显影响。(5)作为一种数字签名,还要求哈希函数除了信息m自身之外,应该基于发信方的秘密信息对信息m进行确认。Hash函数:20所谓Hash函数,即对于任意长度的信息m,经过哈希函数运算后,压缩成固定长度的数,比如64比特,要求满足:用对称加密算法进行数字签名(Hash签名)该签名不属于强计算密集型算法,应用较广泛使用这种较快Hash算法;使用这种较快Hash算法;可以降低服务器资源的消耗;减轻中央服务器的负荷Hash的主要局限是接收方必须持有用户密钥的副本以检验签名;因为双方都知道生成签名的密钥,较容易攻破,存在伪造签名的可能21用非对称加密算法进行数字签名和验证1发送方首先用公开的单向函数对报文进行一次变换,得到数字签名,然后利用私有密钥对数字签名进行加密后附在报文之后一同发出。2接收方用发送方的公开密钥对数字签名进行解密变换,得到一个数字签名的明文。发送方的公钥是由一个可信
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 设备加盟协议合同范例
- 2024年陶瓷洁具项目可行性研究报告
- 签约写手合同范例
- 对赌投资协议合同范例
- 食堂采购肉合同范例
- 2024年标准规格灯箱广告发布合同版B版
- 市场运营推广合同范例
- 酒店采购瓷砖合同范例
- 牛肉礼盒订单合同范例
- 塑料工厂销售合同范例
- 【MOOC】全新版大学进阶英语综合教程II-内蒙古大学 中国大学慕课MOOC答案
- 印刷保密协议
- 辅导员年终汇报
- 【MOOC】综合英语-中南大学 中国大学慕课MOOC答案
- 2025年1月“八省联考”考前猜想卷历史试题02 含解析
- 人教版2025九年级道德与法治中考备考复习计划
- 农村集体经济组织内部控制制度
- 淮阴工学院《供应链管理3》2022-2023学年第一学期期末试卷
- 2025年计算机等级考试一级计算机基础及MS Office应用试卷及解答参考
- 监理企业技术管理制度
- 幼儿园小班社会《环保小卫士》课件
评论
0/150
提交评论