《大数据安全技术》课件-第2章_第1页
《大数据安全技术》课件-第2章_第2页
《大数据安全技术》课件-第2章_第3页
《大数据安全技术》课件-第2章_第4页
《大数据安全技术》课件-第2章_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

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

文档简介

第2章密码技术及网络安全协议2022-03-30主要内容概述密码学的基本概念加密算法消息认证与Hash函数数字签名密钥管理技术网络安全协议2.1概述2.1.1信息安全属性1.信息安全的定义

国际标准化组织(ISO)对信息安全(InformationSecurity)的定义为:为数据处理系统建立和采用的技术、管理上的安全保护,为的是保护计算机硬件、软件、数据不因偶然和恶意的原因而遭到破坏、更改和泄露。2.1概述2.1.1信息安全的概念2.信息安全属性保密性完整性可用性认证性不可否认性可控性可审计性2.1概述2.1.2密码学的地位和作用1.密码学地位

密码学在信息安全领域起着基本的、无可替代的重要作用,信息安全可以看作一座大厦,密码学就是大厦的基础。2.1概述2.1.2密码学的地位和作用2.密码学作用

密码学要解决的问题是信息安全的主要任务,就是解决信息资源的保密性、完整性、认证性、不可否认性和可用性。从信息安全的五个属性来看,密码学上的安全机制可以保证信息安全属性的实现。2.2密码学的基本概念2.2.1基本概念一个加密系统由五个要素构成:明文、密文、加密算法、解密算法和密钥。2.2密码学的基本概念2.2.2密码算法的分类1.按照保密的内容分类受限制(Restricted)的算法:算法的保密性基于对加密算法的保密。基于密钥(Key-based)的算法:算法的保密性基于对密钥的保密。2.2密码学的基本概念2.2.2密码算法的分类2.按照密钥的特点分类对称密码算法(SymmetricCipher)。非对称密钥算法(AsymmetricCipher)。2.2密码学的基本概念2.2.2密码算法的分类3.按照按照明文的处理方法分类分组密码(BlockCipher)。流密码(StreamCipher)。2.3加密算法2.3.1分组密码1.DES算法

数据加密标准DES是一种密码学历史上非常经典的对称分组算法。1973年5月,美国国家标准与技术研究院(NationalInstituteofStandardsandTechnology,NIST)开始征集加密算法标准。IBM提交了LUCIFER算法,这就是DES算法的前身。1977年,NIST正式公布了DES算法。2.3加密算法2.3.1分组密码

(1)DES加密过程

DES使用56位密钥,将输入的明文分为64位的数据分组,每个64位明文分组数据经过初始置换、16轮迭代和逆初始置换3个主要阶段,最后输出得到64位密文。2.3加密算法2.3.1分组密码

(2)DES解密过程

由于DES算法是在Feistel网络结构的输入和输出阶段分别添加初始置换IP和逆初始置换IP-1而构成的,所以DES的解密和加密过程可以使用同一算法代码,只不过在16轮迭代中使用子密钥的次序正好相反。2.3加密算法2.3.1分组密码2.AES算法高级加密标准AES,又称Rijndael密码算法,是美国联邦政府采用的新的分组加密标准。这个标准被美国国家标准与技术研究院(NIST)设计用来替代原先的DES算法,已经被多方分析且被全世界广泛使用。AES算法属于对称密码体制,密钥长度支持为128位、192位和256位,分组长度为128位,其基本变换包括字节替代(SubBytes)、行移位(ShiftRows)、列混淆(MixColumns)、轮密钥加(AddRoundKey)以及密钥扩展(KeyExtension)。AES汇聚了安全性能、效率、可实现性、灵活性等优点。AES满足比三重DES快,至少与三重DES一样安全,AES算法比较容易用各种硬件和软件实现。2.3加密算法2.3.1分组密码3.SM4算法为配合我国WAPI无线局域网标准的推广应用,SM4分组密码算法(原名SMS4)于2006年公开发布。与DES算法和AES算法类似,SM4算法是一种分组迭代密码算法。SM4算法的明文分组长度为128比特,经过32轮迭代和一次反序变换,得到128比特密文。密钥生成器产生32个子密钥,分别参与到每一轮的变换中完成轮加密。SM4算法的加密结构与解密结构相同,只是轮密钥的使用顺序相反。2.3加密算法2.3.2序列密码序列密码也称为流密码(StreamCipher),它是对称密码算法的一种。序列密码具有算法简单、便于硬件实现、加解密处理速度快、没有或只有有限的错误传播等特点,因此在实际应用中,特别是专用或机密机构中保持着优势,典型的应用领域包括无线通信、外交通信。目前,公开的序列密码算法主要有RC4、SEAL等,我国也提出并公开了祖冲之序列密码算法。2.3加密算法2.3.2序列密码序列密码加密和解密过程2.3加密算法2.3.2序列密码1.RC4算法RC4算法是1987年由麻省理工学院的RonRivest发明的,它可能是世界上使用最广泛的序列密码算法,被应用于MicrosoftWindows、LotusNotes等其他软件应用程序中。RC4算法是一个面向字节操作、具有密钥长度可变特性的序列密码,是目前为数不多的公开的序列密码算法。RC4算法的特点是算法简单、运行速度快,而且密钥长度是可变的,可变范围为1~256字节(即8~2048比特)。在如今技术支持的前提下,当密钥长度为128比特时,用暴力法搜索密钥已经不太可行,所以RC4的密钥范围仍然可以在今后相当长的时间内抵御暴力搜索密钥的攻击。实际上,如今也没有找到对于128比特密钥长度的RC4算法的有效攻击方法。2.3加密算法2.3.2序列密码2.祖冲之算法祖冲之密码算法的名字源于我国古代数学家祖冲之,它包括加密算法128-EEA3和完整性保护算法128-EIA3。祖冲之序列密码算法,简称ZUC算法,是一个面向字的流密码。它采用128比特的初始密钥作为输入和一个128比特的初始向量,并输出关于字的密钥流(从而每32比特被称为一个密钥字)。密钥流可用于对信息进行加密/解密。2.3加密算法2.3.3公钥密码

1976年,W.Diffie和M.Hellman在IEEETransactionsonInformationTheory期刊上发表了论文“NewDirectioninCryptography”,提出了非对称密码体制,即公钥密码体制的概念,开创了密码学研究的新方向。2.3加密算法2.3.3公钥密码公钥密码加密和解密过程2.3加密算法2.3.3公钥密码1.RSA算法RSA公钥密码算法是1977年由RonRivest、AdiShamir和LenAdleman三人在美国麻省理工学院开发的,RSA的取名就是来自于这三位发明者的姓的第一个字母,RSA公钥密码算法是一种基于大整数因子分解问题的加密算法。2.3加密算法2.3.3公钥密码

(1)RSA数学基础2.3加密算法2.3.3公钥密码

(1)RSA数学基础2.3加密算法2.3.3公钥密码

(2)RSA算法描述2.3加密算法2.3.3公钥密码

(3)RSA算法安全分析RSA算法的安全性取决于从公钥

计算出私钥

的困难程度。512比特的n已不够安全,目前基本要用1024比特的n,极其重要的场合应该用2048比特的n。1977年,《科学的美国人》杂志悬赏征求分解一个129位十进数(426比特),直至1994年3月,才由Atkins等人在因特网上动用了1600台计算机,前后花了八个月的时间找出了答案。2009年,RSA-768(768比特)也被成功分解,因此改变密钥长度增加RSA算法破解的难度,同时使用更大素数使得模数n的因子分解变得困难,是非常有必要的。然而,这种“困难性”在理论上至今未能严格证明,但又无法否定。对于许多密码研究分析人员和数学家而言,因数分解问题的“困难性”仍是一种信念,一种有一定根据的合理的信念。2.3加密算法2.3.3公钥密码2.ElGamal算法EIGamal公钥密码是一种国际公认的较安全的公钥密码体制,是由TaherElgamal于1985年提出。EIGamal密码系统可作为加解密、数字签名等之用,其安全性是建立于有限域上的离散对数问题。2.3加密算法2.3.3公钥密码

ElGamal算法描述2.3加密算法2.3.3公钥密码

ElGamal算法描述EIGamal加密过程中,生成的密文长度是明文的两倍。密文依赖于明文m和秘密选取的随机整数k,因此,明文空间的一个明文对应密文空间中的许多不同的密文,并且解密过程中在未知k的情况下,可以将这些密文还原成同一明文。2.3加密算法2.3.3公钥密码3.ECC算法椭圆曲线密码(EllipticCurveCryptography,ECC)是一种公钥密码算法,被公认为在给定密钥长度下最安全的加密算法。比特币中的公私钥生成以及签名算法ECDSA都是基于ECC的。两个较著名的椭圆曲线密码算法:利用EIGamal的加密法(明文属于椭圆曲线上的点空间)和Menezes-Vanstone(明文不限于椭圆曲线上的点空间)的加密法。2.3加密算法2.3.3公钥密码4.SM2算法密码安全对国家安全至关重要,为了防止国际非对称密码算法存在后门等安全隐患,我国通过运用国际密码学界公认的公钥密码算法设计及安全性分析理论和方法,在吸收国内外已有ECC研究成果的基础上,于2004年研制完成了SM2算法。SM2算法于2010年12月首次公开发布,国家密码管理局规定从2011年7月1日起,新研制的含有公钥密码算法的商用密码产品必须支持SM2算法。2.3加密算法2.3.3公钥密码4.SM2算法随着密码技术和计算机技术的发展,目前常用的1024位RSA算法面临严重的安全威胁,我们国家密码管理部门经过研究,决定采用SM2椭圆曲线算法替换RSA算法。2.3加密算法2.3.4混合加密1.实现原理2.3加密算法2.3.4混合加密2.

混合加密的应用混合加密算法利用对称加密算法的快速和公钥密码算法的安全等优点,弥补了两种算法的不足,从而保证了网络传输数据的安全,在网络应用程序开发中有很强的借鉴意义。混合加密的典型应用场景包括:SSL/TLS、S/MIME、PGP等。2.4消息认证与Hash函数2.4.1消息认证消息认证(MessageAuthentication)就是验证消息的完整性,当接收方收到发送方的消息时,接收方能够验证收到的消息是真实的和未被篡改的。它包含两层含义:一是消息源认证,验证信息的发送者是真正的而不是冒充的,即身份认证;二是验证信息在传送过程中未被篡改、重放或延迟等,即消息完整性认证。2.4消息认证与Hash函数2.4.1消息认证

消息认证中常见的攻击和对策包括:

(1)重放攻击

(2)仿冒攻击

(3)重组攻击(4)篡改攻击

2.4消息认证与Hash函数2.4.2Hash函数Hash函数也称散列函数、哈希函数、杂凑函数等,是指把任意长度的输入变换成固定长度的输出,其输出就是哈希值或散列值,也称信息摘要。Hash函数在数学上是多对一的映射,不同的输入可能具有相同的输出。2.4消息认证与Hash函数2.4.2Hash函数1.Hash函数的概念2.4消息认证与Hash函数2.4.2Hash函数1.Hash函数的概念Hash函数按是否需要密钥可分为以下两类:(1)不带密钥的Hash函数,它只有一个被通常称为消息的输入参数。此类一般可以用作消息完整性。(2)带密钥的Hash函数,它有两个不同的输入,分别称为消息和密钥。此类一般可以用作消息认证。按设计结构,散列算法可以分为三大类:标准Hash、基于分组密码的Hash、基于模数运算的Hash。标准Hash函数有两大类:MD系列的MD4、MD5、HAVAL、RIPEMD、RIPEMD-160等;SHA系列的SHA-l、SHA-256、SHA-384、SHA-512等,这些Hash函数体现了目前主要的Hash函数设计技术。2.4消息认证与Hash函数2.4.2Hash函数2.Hash函数的性质从应用需求上来说,Hash函数H必须满足以下性质:(1)H能够应用到任何大小的数据块上;(2)H能够生成大小固定的输出;(3)对任意给定的x,H(x)的计算相对简单,使得硬件和软件的实现可行。从安全意义上来说,Hash函数H应满足以下特性:(1)对任意给定的散列值h,找到满足

的x在计算上是不可行的;(2)对任意给定的x,找到满足

而的y在计算上是不可行的;(3)要找到满足

而的是计算上不可行的。2.4消息认证与Hash函数2.4.2Hash函数3.

主流的Hash函数

(1)MD4MD4是麻省理工学院教授Rivest于1990年设计的一种Hash算法。其消息摘要长度为128位,一般128位长的MD4散列被表示为32位的十六进制数字。这个算法影响了后来的算法如MD5、SHA家族和RIPEMD等。MD4由于被发现存在严重的算法漏洞,后被1991年完善的MD5所取代。(2)MD5MD5(RFC1321)是Rivest于1991年对MD4的改进版本。它的输入仍以512位分组,其输出是128位(32个16进制数),与MD4相同。它在MD4的基础上增加了“安全-带子”(safety-belts)的概念。虽然MD5比MD4复杂度大一些,但却更为安全,在抗分析和抗差分攻击方面表现更好。(3)SHA-1SHA由美国国家安全局(NSA)所设计Hash函数,并由美国国家标准与技术研究院(NIST)发布,它是美国的政府标准,有时称为SHA-1。它在许多安全协议中广为使用,包括SSL/TLS、PGP、SSH、S/MIME和IPSec等。SHA-1可以对长度小于264位的输入数据,生成长度为160位的散列值,因此抗穷举性更好。SHA-1设计时基于和MD4相同原理,并且模仿了该算法。2.4消息认证与Hash函数2.4.2Hash函数4.Hash函数的应用

(1)文件校验MD5等哈希算法的“数字指纹”特性,使它成为目前应用最广泛的一种文件完整性校验和(Checksum)算法,不少Unix系统有提供计算md5checksum的命令。(2)数字签名由于非对称密码算法的运算速度较慢,所以在数字签名协议中,哈希函数扮演了一个重要的角色。对待签名的消息先计算哈希摘要,然后对该哈希摘要再进行数字签名,由于Hash函数的单向性,可以认为与对文件本身进行数字签名是等效的。(3)鉴权协议鉴权协议又被称作“挑战—认证”模式:在传输信道是可被监听,但不可被篡改的情况下,这是一种简单而安全的方法。2.5数字签名数字签名(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。数字签名,就是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者真实性的一个有效证明。数字签名是非对称密钥加密技术与数字摘要技术的应用。一套数字签名通常定义两种互补的运算,一个用于签名(发送方),另一个用于验证(接收方)。2.5数字签名2.5.1数字签名的原理2.5数字签名2.5.1数字签名的原理2.5数字签名2.5.2RSA数字签名公钥密码与数字签名的结构非常相似,实际上,数字签名与公钥密码有着非常紧密的联系,简而言之,数字签名就是通过将公钥密码“反过来用”而实现的。2.6密钥管理技术密钥管理是保护加密数据安全的关键,具体处理密钥的产生、存储、分配、更新、吊销、控制、销毁的整个过程中的有关问题。密钥管理最主要的过程是密钥的生成和分发。密钥管理的具体要求是:密钥难以被非法窃取;在一定的条件下即使窃取了密钥也无用;密钥的分配和更换过程对用户是透明的,用户不必掌握密钥。2.6密钥管理技术2.6.1密钥分配与密钥协商利用密钥分配和密钥协商协议,可以通过一个不安全的信道在通信双方之间建立一个共享的密钥。密钥分配协议和密钥协商协议的目的是,在协议结束后,通信双方具有一个相同的秘密密钥K,并且K不被其他人知道。由于密钥分配和密钥协商是在公开信道上进行的,因此会面临对手的主动攻击和被动攻击。(1)Internet密钥交换(InternetKeyExchange,IKE)协议(2)基于Kerberos的Internet密钥协商(KerberroizedInternetNegotiationofKeys,KINT)协议2.6密钥管理技术2.6.2Diffie-Hellman密钥协商算法Diffie-Hellman密钥协商(交换)算法是一种通过公共信道安全交换加密密钥的方法,简称D-H算法,是由RalphMerkle构思并以WhitfieldDiffie和MartinHellman命名的第一个公钥协议之一。D-H算法是密码学领域内最早实现的公钥交换的实际例子之一,由Diffie和Hellman于1976年发表,这是最早为公众所知的提出私钥和相应公钥思想的著作。2.6密钥管理技术2.6.2Diffie-Hellman密钥协商算法

1.D-H密钥协商方案2.6密钥管理技术2.6.2Diffie-Hellman密钥协商算法1.D-H算法中间人攻击2.6密钥管理技术2.6.3公钥基础设施PKI公钥基础设施(PublicKeyInfrastructure,PKI)是一个采用非对称密码算法原理和技术来实现并提供安全服务的、具有通用性的安全基础设施,PKI技术采用证书管理公钥,通过第三方的可信任机构——认证中心(CertificateAuthority,CA)把用户的公钥和用户的标识信息捆绑在一起,在Internet上验证用户的身份,提供安全可靠的信息处理。2.6密钥管理技术2.6.3信息安全的概念1.PKI组成认证机构CA根CA(RootCA)注册机构(RegistrationAuthority,RA)证书目录管理协议操作协议个人安全环境2.6密钥管理技术2.6.3信息安全的概念2.PKI框架2.6密钥管理技术2.6.3信息安全的概念2.PKI框架PKI主要功能包括:

(1)为需要的用户生成一对密钥;(2)CA为用户签发数字证书并分发给需要的用户;(3)用户对数字证书的有效性进行验证;(4)对用户的数字证书进行管理。2.7网络安全协议网络自身的缺陷、开放性以及黑客攻击是造成网络不安全的主要原因。网络安全协议是营造网络安全环境的基础,是构建安全网络的关键技术。基于密码学的网络安全协议实现了网络通信各方的保密与认证功能,避免了网络受到黑客攻击而导致的网络数据泄露、篡改及伪造等安全问题,保证了通信协议的安全性。常见的网络安全协议有:互联网安全协议IPSec、安全套接层协议SSL、安全传输层协议TLS、安全电子交易协议SET等。2.7网络安全协议2.7.1IPSec1.IPSec简介互联网安全协议(InternetProtocolSecurity,IPSec)是国际互联网工程任务组(TheInternetEngineeringTaskForce,IETF)于1998年制定的基于密码技术的网络安全通信协议。IPSec工作在IP层,它为Internet上传输的数据提供了高质量的、可互操作的、基于密码学的安全保证。2.7网络安全协议2.7.1IPSec1.IPSec简介数据机密性数据完整性数据来源认证防重放2.7网络安全协议2.7.1IPSec2.IPSec协议实现2.7网络安全协议2.7.1IPSec3.安全关联SAIPSec在两个端点之间提供安全通信,端点被称为IPSec对等体。安全关联(SecurityAssociation,SA)是IPSec的基础,也是IPSec的本质。SA是通信对等体间对某些要素的约定,例如,使用哪种协议(AH、ESP、还是两者结合使用)、协议的封装模式(传输模式、隧道模式)、加密算法(DES、3-DES、AES)、特定流中保护数据的共享密钥以及密钥的生存周期等。2.7网络安全协议2.7.2SSL/TLS1.SSL协议安全套接层(SecureSocketsLayer,SSL)协议是为网络通信提供数据加密、数据完整性和身份认证的一种网络安全协议,于1994年由Netscape公司发布。SSL协议在传输层与应用层之间对网络通信进行加密和认证,用以保障在Internet上数据传输的安全。它已被广泛地用于Web浏览器与服务器之间的身份认证和加密数据传输。2.7网络安全协议2.7.2SSL/TLS

(1)SSL协议的体系结构SSL记录协议层,为高层协议提供基本的安全服务。SSL握手协议层,包括SSL握手协议(SSLHandshakeProtocol)、SSL密码参数修改协议(SSLChangeCipherSpecProtocol)、SSL告警协议(SSLAlertProtocol)和应用数据协议(HTTP等)。2.7网络安全协议2.7.2SSL/TLS(2)SSL协议的安全功能保密性完整性身份认证2.7网络安全协议2.7.2SSL/TLS2.TLS协议传输层安全(TransportLayerSecurity,TLS)协议是IETF(InternetEngineeringTaskForce,互联网工程任务组)制定的一种新的协议,它建立在SSL3.0协议规范之上,是SSL3.0的后续版本。在TLS与SSL3

温馨提示

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

评论

0/150

提交评论