收藏 分享(赏)

《大数据安全技术》课件-第2章.pptx

上传人:bubibi 文档编号:20014194 上传时间:2023-12-02 格式:PPTX 页数:68 大小:1.51MB
下载 相关 举报
《大数据安全技术》课件-第2章.pptx_第1页
第1页 / 共68页
《大数据安全技术》课件-第2章.pptx_第2页
第2页 / 共68页
《大数据安全技术》课件-第2章.pptx_第3页
第3页 / 共68页
《大数据安全技术》课件-第2章.pptx_第4页
第4页 / 共68页
《大数据安全技术》课件-第2章.pptx_第5页
第5页 / 共68页
亲,该文档总共68页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、第2章 密码技术及网络安全协议2022-03-30主要内容主要内容概述密码学的基本概念加密算法消息认证与Hash函数数字签名密钥管理技术网络安全协议2.1 概述2.1.1 信息安全属性 1.信息安全的定义 国 际 标 准 化 组 织(ISO)对 信 息 安 全(Information Security)的定义为:为数据处理系统建立和采用的技术、管理上的安全保护,为的是保护计算机硬件、软件、数据不因偶然和恶意的原因而遭到破坏、更改和泄露。2.1 概述2.1.1 信息安全的概念 2.信息安全属性保密性完整性可用性认证性不可否认性可控性可审计性2.1 概述2.1.2 密码学的地位和作用 1.密码学地

2、位 密码学在信息安全领域起着基本的、无可替代的重要作用,信息安全可以看作一座大厦,密码学就是大厦的基础。2.1 概述2.1.2 密码学的地位和作用 2.密码学作用 密码学要解决的问题是信息安全的主要任务,就是解决信息资源的保密性、完整性、认证性、不可否认性和可用性。从信息安全的五个属性来看,密码学上的安全机制可以保证信息安全属性的实现。2.2 密码学的基本概念2.2.1 基本概念一个加密系统由五个要素构成:明文、密文、加密算法、解密算法和密钥。2.2 密码学的基本概念2.2.2 密码算法的分类 1.按照保密的内容分类受限制(Restricted)的算法:算法的保密性基于对加密算法的保密。基于密

3、钥(Key-based)的算法:算法的保密性基于对密钥的保密。2.2 密码学的基本概念2.2.2 密码算法的分类 2.按照密钥的特点分类对称密码算法(Symmetric Cipher)。非对称密钥算法(Asymmetric Cipher)。2.2 密码学的基本概念2.2.2 密码算法的分类 3.按照按照明文的处理方法分类分组密码(Block Cipher)。流密码(Stream Cipher)。2.3 加密算法2.3.1 分组密码 1.DES算法 数据加密标准DES是一种密码学历史上非常经典的对称分组算法。1973年5月,美国国家标准与技术研究院(National Institute of S

4、tandards and Technology,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的解密和加密过程可以使用同一算法代

5、码,只不过在16轮迭代中使用子密钥的次序正好相反。2.3 加密算法2.3.1 分组密码 2.AES算法高级加密标准AES,又称Rijndael密码算法,是美国联邦政府采用的新的分组加密标准。这个标准被美国国家标准与技术研究院(NIST)设计用来替代原先的DES算法,已经被多方分析且被全世界广泛使用。AES算法属于对称密码体制,密钥长度支持为128位、192位和256位,分组长度为128位,其基本变换包括字节替代(SubBytes)、行移位(ShiftRows)、列混淆(MixColumns)、轮密钥加(AddRoundKey)以及密钥扩展(KeyExtension)。AES汇聚了安全性能、效率

6、、可实现性、灵活性等优点。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 序列密码序列密码也称为流

7、密码(Stream Cipher),它是对称密码算法的一种。序列密码具有算法简单、便于硬件实现、加解密处理速度快、没有或只有有限的错误传播等特点,因此在实际应用中,特别是专用或机密机构中保持着优势,典型的应用领域包括无线通信、外交通信。目前,公开的序列密码算法主要有RC4、SEAL等,我国也提出并公开了祖冲之序列密码算法。2.3 加密算法2.3.2 序列密码序列密码加密和解密过程2.3 加密算法2.3.2 序列密码 1.RC4算法RC4算法是1987年由麻省理工学院的Ron Rivest发明的,它可能是世界上使用最广泛的序列密码算法,被应用于Microsoft Windows、Lotus No

8、tes等其他软件应用程序中。RC4算法是一个面向字节操作、具有密钥长度可变特性的序列密码,是目前为数不多的公开的序列密码算法。RC4算法的特点是算法简单、运行速度快,而且密钥长度是可变的,可变范围为1256字节(即82048比特)。在如今技术支持的前提下,当密钥长度为128比特时,用暴力法搜索密钥已经不太可行,所以RC4的密钥范围仍然可以在今后相当长的时间内抵御暴力搜索密钥的攻击。实际上,如今也没有找到对于128比特密钥长度的RC4算法的有效攻击方法。2.3 加密算法2.3.2 序列密码 2.祖冲之算法祖冲之密码算法的名字源于我国古代数学家祖冲之,它包括加密算法128-EEA3和完整性保护算法

9、128-EIA3。祖冲之序列密码算法,简称ZUC算法,是一个面向字的流密码。它采用128比特的初始密钥作为输入和一个128比特的初始向量,并输出关于字的密钥流(从而每32比特被称为一个密钥字)。密钥流可用于对信息进行加密/解密。2.3 加密算法2.3.3 公钥密码 1976年,W.Diffie和M.Hellman在IEEE Transactions on Information Theory期刊上发表了论文“New Direction in Cryptography”,提出了非对称密码体制,即公钥密码体制的概念,开创了密码学研究的新方向。2.3 加密算法2.3.3 公钥密码公钥密码加密和解密过

10、程2.3 加密算法2.3.3 公钥密码 1.RSA算法RSA公钥密码算法是1977年由Ron Rivest、Adi Shamir和Len Adleman三人在美国麻省理工学院开发的,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已

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

12、3.3 公钥密码 2.ElGamal算法EIGamal公钥密码是一种国际公认的较安全的公钥密码体制,是由Taher Elgamal于1985年提出。EIGamal密码系统可作为加解密、数字签名等之用,其安全性是建立于有限域上的离散对数问题。2.3 加密算法2.3.3 公钥密码 ElGamal算法描述2.3 加密算法2.3.3 公钥密码 ElGamal算法描述EIGamal加密过程中,生成的密文长度是明文的两倍。密文依赖于明文m和秘密选取的随机整数k,因此,明文空间的一个明文对应密文空间中的许多不同的密文,并且解密过程中在未知k的情况下,可以将这些密文还原成同一明文。2.3 加密算法2.3.3

13、公钥密码 3.ECC算法椭圆曲线密码(Elliptic Curve Cryptography,ECC)是一种公钥密码算法,被公认为在给定密钥长度下最安全的加密算法。比特币中的公私钥生成以及签名算法ECDSA都是基于ECC的。两个较著名的椭圆曲线密码算法:利用EIGamal的加密法(明文属于椭圆曲线上的点空间)和Menezes-Vanstone(明文不限于椭圆曲线上的点空间)的加密法。2.3 加密算法2.3.3 公钥密码 4.SM2算法密码安全对国家安全至关重要,为了防止国际非对称密码算法存在后门等安全隐患,我国通过运用国际密码学界公认的公钥密码算法设计及安全性分析理论和方法,在吸收国内外已有E

14、CC研究成果的基础上,于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.混合加密的应用混合加密算法利用对称加密算法的快速和公钥密码算法的安全等优点,弥补了两种算法的不足,从而保

15、证了网络传输数据的安全,在网络应用程序开发中有很强的借鉴意义。混合加密的典型应用场景包括:SSL/TLS、S/MIME、PGP等。2.4 消息认证与Hash函数2.4.1 消息认证消息认证(Message Authentication)就是验证消息的完整性,当接收方收到发送方的消息时,接收方能够验证收到的消息是真实的和未被篡改的。它包含两层含义:一是消息源认证,验证信息的发送者是真正的而不是冒充的,即身份认证;二是验证信息在传送过程中未被篡改、重放或延迟等,即消息完整性认证。2.4 消息认证与Hash函数2.4.1 消息认证 消息认证中常见的攻击和对策包括:(1)重放攻击 (2)仿冒攻击 (3

16、)重组攻击 (4)篡改攻击 2.4 消息认证与Hash函数2.4.2 Hash函数Hash函数也称散列函数、哈希函数、杂凑函数等,是指把任意长度的输入变换成固定长度的输出,其输出就是哈希值或散列值,也称信息摘要。Hash函数在数学上是多对一的映射,不同的输入可能具有相同的输出。2.4 消息认证与Hash函数2.4.2 Hash函数 1.Hash函数的概念2.4 消息认证与Hash函数2.4.2 Hash函数 1.Hash函数的概念Hash函数按是否需要密钥可分为以下两类:(1)不带密钥的Hash函数,它只有一个被通常称为消息的输入参数。此类一般可以用作消息完整性。(2)带密钥的Hash函数,它

17、有两个不同的输入,分别称为消息和密钥。此类一般可以用作消息认证。按设计结构,散列算法可以分为三大类:标准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.2 Hash函数 2.Hash函数的性质从应用需求上来说,Hash函数H必须满足以下性质:(1)H能够应用到任何大小的数据块上;(2)H能够生成大小固定的输出;(3)对任

18、意给定的x,H(x)的计算相对简单,使得硬件和软件的实现可行。从安全意义上来说,Hash函数H应满足以下特性:(1)对任意给定的散列值h,找到满足 的x在计算上是不可行的;(2)对任意给定的x,找到满足 而 的y在计算上是不可行的;(3)要找到满足 而 的 是计算上不可行的。2.4 消息认证与Hash函数2.4.2 Hash函数 3.主流的Hash函数 (1)MD4MD4是麻省理工学院教授Rivest于1990年设计的一种Hash算法。其消息摘要长度为128位,一般128位长的MD4散列被表示为32位的十六进制数字。这个算法影响了后来的算法如MD5、SHA家族和RIPEMD等。MD4由于被发现

19、存在严重的算法漏洞,后被1991年完善的MD5所取代。(2)MD5MD5(RFC 1321)是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

20、和IPSec等。SHA-1可以对长度小于264位的输入数据,生成长度为160位的散列值,因此抗穷举性更好。SHA-1设计时基于和MD4相同原理,并且模仿了该算法。2.4 消息认证与Hash函数2.4.2 Hash函数 4.Hash函数的应用 (1)文件校验MD5等哈希算法的“数字指纹”特性,使它成为目前应用最广泛的一种文件完整性校验和(Checksum)算法,不少Unix系统有提供计算md5 checksum的命令。(2)数字签名由于非对称密码算法的运算速度较慢,所以在数字签名协议中,哈希函数扮演了一个重要的角色。对待签名的消息先计算哈希摘要,然后对该哈希摘要再进行数字签名,由于Hash函数的

21、单向性,可以认为与对文件本身进行数字签名是等效的。(3)鉴权协议鉴权协议又被称作“挑战认证”模式:在传输信道是可被监听,但不可被篡改的情况下,这是一种简单而安全的方法。2.5 数字签名数字签名(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。数字签名,就是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者真实性的一个有效证明。数字签名是非对称密钥加密技术与数字摘要技术的应用。一套数字签名通常定义两种互补的运算,一个用于签名(发送方),另一个用于验证(接收方)。2.5 数字签名2.5.1

22、数字签名的原理2.5 数字签名2.5.1 数字签名的原理2.5 数字签名2.5.2 RSA数字签名公钥密码与数字签名的结构非常相似,实际上,数字签名与公钥密码有着非常紧密的联系,简而言之,数字签名就是通过将公钥密码“反过来用”而实现的。2.6 密钥管理技术密钥管理是保护加密数据安全的关键,具体处理密钥的产生、存储、分配、更新、吊销、控制、销毁的整个过程中的有关问题。密钥管理最主要的过程是密钥的生成和分发。密钥管理的具体要求是:密钥难以被非法窃取;在一定的条件下即使窃取了密钥也无用;密钥的分配和更换过程对用户是透明的,用户不必掌握密钥。2.6 密钥管理技术2.6.1 密钥分配与密钥协商利用密钥分

23、配和密钥协商协议,可以通过一个不安全的信道在通信双方之间建立一个共享的密钥。密钥分配协议和密钥协商协议的目的是,在协议结束后,通信双方具有一个相同的秘密密钥K,并且K不被其他人知道。由于密钥分配和密钥协商是在公开信道上进行的,因此会面临对手的主动攻击和被动攻击。(1)Internet密钥交换(Internet Key Exchange,IKE)协议(2)基于Kerberos的Internet密钥协商(Kerberroized Internet Negotiation of Keys,KINT)协议2.6 密钥管理技术2.6.2 Diffie-Hellman密钥协商算法Diffie-Hellma

24、n密钥协商(交换)算法是一种通过公共信道安全交换加密密钥的方法,简称D-H算法,是由Ralph Merkle构思并以Whitfield Diffie和Martin Hellman命名的第一个公钥协议之一。D-H算法是密码学领域内最早实现的公钥交换的实际例子之一,由Diffie和Hellman于1976年发表,这是最早为公众所知的提出私钥和相应公钥思想的著作。2.6 密钥管理技术2.6.2 Diffie-Hellman密钥协商算法 1.D-H密钥协商方案2.6 密钥管理技术2.6.2 Diffie-Hellman密钥协商算法 1.D-H算法中间人攻击2.6 密钥管理技术2.6.3 公钥基础设施P

25、KI公钥基础设施(Public Key Infrastructure,PKI)是一个采用非对称密码算法原理和技术来实现并提供安全服务的、具有通用性的安全基础设施,PKI技术采用证书管理公钥,通过第三方的可信任机构认证中心(Certificate Authority,CA)把用户的公钥和用户的标识信息捆绑在一起,在Internet上验证用户的身份,提供安全可靠的信息处理。2.6 密钥管理技术2.6.3 信息安全的概念 1.PKI组成认证机构CA根CA(Root CA)注册机构(Registration Authority,RA)证书目录管理协议操作协议个人安全环境2.6 密钥管理技术2.6.3

26、信息安全的概念 2.PKI框架2.6 密钥管理技术2.6.3 信息安全的概念 2.PKI框架PKI主要功能包括:(1)为需要的用户生成一对密钥;(2)CA为用户签发数字证书并分发给需要的用户;(3)用户对数字证书的有效性进行验证;(4)对用户的数字证书进行管理。2.7 网络安全协议网络自身的缺陷、开放性以及黑客攻击是造成网络不安全的主要原因。网络安全协议是营造网络安全环境的基础,是构建安全网络的关键技术。基于密码学的网络安全协议实现了网络通信各方的保密与认证功能,避免了网络受到黑客攻击而导致的网络数据泄露、篡改及伪造等安全问题,保证了通信协议的安全性。常见的网络安全协议有:互联网安全协议IPS

27、ec、安全套接层协议SSL、安全传输层协议TLS、安全电子交易协议SET等。2.7 网络安全协议2.7.1 IPSec 1.IPSec简介互联网安全协议(Internet Protocol Security,IPSec)是国际互联网工程任务组(The Internet Engineering Task Force,IETF)于1998年制定的基于密码技术的网络安全通信协议。IPSec工作在IP层,它为Internet上传输的数据提供了高质量的、可互操作的、基于密码学的安全保证。2.7 网络安全协议2.7.1 IPSec 1.IPSec简介数据机密性数据完整性数据来源认证防重放2.7 网络安全协

28、议2.7.1 IPSec 2.IPSec协议实现2.7 网络安全协议2.7.1 IPSec 3.安全关联SAIPSec在两个端点之间提供安全通信,端点被称为IPSec对等体。安全关联(Security Association,SA)是IPSec的基础,也是IPSec的本质。SA是通信对等体间对某些要素的约定,例如,使用哪种协议(AH、ESP、还是两者结合使用)、协议的封装模式(传输模式、隧道模式)、加密算法(DES、3-DES、AES)、特定流中保护数据的共享密钥以及密钥的生存周期等。2.7 网络安全协议2.7.2 SSL/TLS 1.SSL协议安全套接层(Secure Sockets Lay

29、er,SSL)协议是为网络通信提供数据加密、数据完整性和身份认证的一种网络安全协议,于1994年由Netscape公司发布。SSL协议在传输层与应用层之间对网络通信进行加密和认证,用以保障在Internet上数据传输的安全。它已被广泛地用于Web浏览器与服务器之间的身份认证和加密数据传输。2.7 网络安全协议2.7.2 SSL/TLS (1)SSL协议的体系结构SSL记录协议层,为高层协议提供基本的安全服务。SSL握手协议层,包括SSL握手协议(SSL Handshake Protocol)、SSL密码参数修改协议(SSL Change Cipher Spec Protocol)、SSL告警协

30、议(SSL Alert Protocol)和应用数据协议(HTTP等)。2.7 网络安全协议2.7.2 SSL/TLS (2)SSL协议的安全功能保密性完整性身份认证2.7 网络安全协议2.7.2 SSL/TLS 2.TLS协议传输层安全(Transport Layer Security,TLS)协议是IETF(Internet Engineering Task Force,互联网工程任务组)制定的一种新的协议,它建立在SSL 3.0协议规范之上,是SSL 3.0的后续版本。在TLS与SSL 3.0之间存在着显著的差别,主要是它们所支持的加密算法不同,所以TLS与SSL 3.0不能互操作。2.

31、7 网络安全协议2.7.2 SSL/TLS 3.HTTPS安全超文本传输协议(Secure Hypertext Transfer Protocol,HTTPS)是HTTP的扩展。在HTTPS中,通信协议使用TLS或SSL进行加密和认证。因此,HTTPS协议也称为基于SSL/TLS的HTTP。HTTPS可以看成是身披SSL/TLS外壳的HTTP,因此HTTPS能够提供的安全服务包括:身份认证、传输数据的机密性和完整性保护,同时还能防止重传攻击。2.7 网络安全协议2.7.2 SSL/TLS 4.SSL VPNSSL VPN即指采用SSL协议来实现远程接入的一种新型VPN技术,包括服务器认证、客户

32、认证、SSL链路上的数据完整性和SSL链路上的数据保密性。SSL VPN是解决远程用户访问单位敏感数据最简单最安全的技术,采用标准的安全套接层SSL对传输中的数据包进行加密,从而在应用层保护了数据的安全性。与复杂的IPSec VPN相比,SSL通过相对简易的方法实现信息远程连通。任何安装浏览器的计算机都可以使用SSL VPN,不需要像IPSec VPN一样必须为每一台计算机安装客户端软件。2.7 网络安全协议2.7.2 SSL/TLS 5.DTLS协议TLS不能用来保证UDP上传输的数据的安全,因此数据报传输层安全(Datagram Transport Layer Security,DTLS)

33、试图在现有的TLS协议架构上进行扩展,使之支持UDP,即成为TLS的一个支持数据包传输的版本。DTLS在设计上尽可能复用TLS现有的代码,并做一些小的修改来适配UDP传输。DTLS与TLS具备了同样的安全机制和防护等级,同样能够防止消息窃听、篡改,以及身份冒充等问题,此外,由于DTLS使用UDP而不是TCP,因此在用于创建VPN隧道时避免了“TCP崩溃问题”。2.8 本章小结密码技术是保障数据安全的核心技术之一,也是保障数据安全的有效途径和技术。随着时代发展,各种类型的密码技术层出不穷。常见的密码算法,包括:分组密码、序列密码、公钥密码等加密算法,以及消息认证、Hash函数、数字签名等完整性和身份认证方法。网络安全协议是营造网络安全环境的基础,是构建安全网络的关键技术。基于密码学的网络安全协议实现了网络通信各方的保密与认证功能,避免了网络受到黑客攻击而导致的网络数据泄露、篡改及伪造等安全问题,保证了通信协议的安全性。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 网络技术 > 前端技术

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报