兖州城乡建设局网站,个人域名怎么做网站,建设工程教育网站,做网站备案关注这个证书的其他相关笔记#xff1a;NISP 一级 —— 考证笔记合集-CSDN博客 通过上一章的学习#xff0c;我们知道了#xff0c;网络安全的 CIA 模型#xff0c;而本期学习的“密码学”#xff0c;则能为 CIA 模型提供很好的技术支持#xff1a;
面临的攻击威胁所破坏… 关注这个证书的其他相关笔记NISP 一级 —— 考证笔记合集-CSDN博客 通过上一章的学习我们知道了网络安全的 CIA 模型而本期学习的“密码学”则能为 CIA 模型提供很好的技术支持
面临的攻击威胁所破坏的信息安全属性解决问题所采用的密码学技术截获泄露信息机密性对称密码和非对称密码篡改修改信息完整性哈希函数、数字签名、 对称密码和非对称密码伪造伪造信息来源真实性数字签名否认事后否认发送信息和行为不可否认性数字签名
0x01密码学的发展
密码学的发展大致可以分为如下四个阶段 第一个阶段是从古代到 19 世纪末 —— 古典密码学 第二个阶段是从 20 世纪初到 1949 年 —— 近代密码学 第三个阶段是从 C.E.Shannon香农于 1949 年发表的划时代论文 “The Communication Theory of Secret Systems” 开始 —— 现代密码学 第四个阶段是从 1976 年 W.Diffie 和 M.Hellman 发表论文“New Directions in Cryptography” 开始 —— 公钥密码学
0x0101古典密码学
古典密码体质的安全性在于保持算法本身的保密性受到了算法的限制。其具有以下特点 不适合大规模生产手工计算 不适合较大的或者人员变动较大的组织 用户无法了解算法的安全性
0x0102近代密码学
近代密码学是从 20 世纪初到 1949 年其主要标志是机械密码/机电密码用机电代替手工。
近代密码体质是用机械或电动机械实现的其中最著名的就是转轮机Rotor Machine。
转轮密码机 ENIGMA由 Arthur Scherbius 于 1919 年发明。在二次世界大战期间Enigma 曾经作为德国陆、海、空三军最高密码机其外形如下 与转轮机相对应的还有英国的 TYPEX 打字密码机其在英国通信中使用广泛且在破译密钥后帮助破解德国信号 感兴趣的小伙伴可以到下面这个网站详细了解一下它的历史
Typexhttps://www.cryptomuseum.com/crypto/uk/typex/index.htm
0x0103现代密码学
现代密码学是从 1949 年 ~ 1975 年这期间密码届发生了这些大事 1949 年Shannon 发表论文 “The Communication Theory of Secret Systems”。 1967 年David Kahn 的专著 《The Code Breakers》问世。 1971 年 ~ 1973 年IBM Wastson 实验室的 Horst Feistel 等人发表的几篇技术报告。 1974 年IBM 提交了算法 LUCIFER后来成为了 DES。
该时期密码学的主要特点就是数据的安全基于密钥而不是算法的保密。
0x0104公钥密码学
公钥密码学主要是 1976 年以后这期间主要有这么几件大事 1976 年Diffie Hellman 的 “New Directions in Cryptography” 提出了非对称密钥密码。 1977 年RivestShamir Adleman 提出了 RSA 公钥算法。 20 世纪 90 年代逐步出现椭圆曲线等其他公钥算法。
公钥密码的出现使得发送端和接收端无密钥传输的保密通信成为可能
0x02加密与解密
信息在传播的过程中有可能被截获。为了避免被截获必须对信息进行加密。有了加密就必须有解密。 0x0201加密与解密的基础概念
该部分主要是介绍与加解密相关的一些基础概念方便后续的理解 明文Plaintext 原始消息被隐蔽消息未经加密的消息。 密文Ciphertext 又称为密报Cryptogram明文经密码变换而成的一种隐蔽形式。 加密员或密码员Cryptographer 对明文进行加密操作的人员。 截获 指一个非授权方介入系统窃听传输的信息导致信息泄露。它破坏了信息的保密性。 非授权方可以是一个人也可以是一个程序。 截获攻击 通过嗅探和监听等手段截获信息从而推测出有用的信息如用户口令、账号、文件或程序的不正当复制等。 加密Encryption 将明文变换为密文的过程。加密可以采用密码算法来实现密码算法从密钥使用角度可分对称密码算法和非对称密码算法。 把可懂的语言变换成人类/机器不可懂的语言。 解密Decryption 由密文恢复出明文的过程。 加密的逆过程。 即把不可懂的语言变换成变换成可懂的语言。 0x0202对称加密算法
对称加密算法也称为单钥或私钥密码算法即加密密钥和解密密钥相同或实质上等同即从一个易于推出另一个。
常见的对称加密算法有DES、3DES、IDEA、AES
对称加密算法的特点就是密钥相对较短一般采用 128192 或 256 比特的长度。
其加解密流程如下图所示可以看到其加密和解密使用的是同一个密钥 对称加密算法的优缺点如下 优点 效率搞算法简单系统开销小 适合加密大量数据 明文长度与密文长度相等 缺点 需要以安全方式进行密钥交换 密钥管理复杂 无法解决消息的篡改、否认等问题
0x0203非对称加密算法
非对称加密算法又叫公钥密码算法Public-key cipher加密密钥和解密密钥不同从一个很难推出另外一个。其中对外公开的密钥称为公开密钥Public Key简称公钥必须秘密存储的密钥称为私有密钥Private Key简称私钥。
公钥密钥算法的典型代表有RSA、ECC、ElGamal。
公钥密码算法的特点如下 公钥加密私钥解密。 私钥加密公钥解密。 密钥长度 512 - 2048 位。
其加解密流程如下图所示可以看到其加密和解密使用的不是同一个密钥 非对称加密算法的优缺点如下 优点 密钥分发数目与参与者数目相同。 在有大量参与者的情况下易于密钥管理。 安全 支持数字签名和不可否认性。 无需事先与对方建立关系交换密钥。 缺点 速度相对较慢。 可能比同等强度的对称加密算法慢 10 倍到 100 倍。 加密后密文变长。
0x0204混合加密
混合加密是在对称加密和非对称加密的基础上综合了二者的优点发明出来的。
对称加密速度快且能加密大量数据但是其需要以安全方式交换密钥。
非对称加密速度慢但是其无需事先与对方建立关系交换密钥。
那我们可以综合二者特长在第一次建立链接的时候让对称加密的密钥通过非对称加密进行传输当对方安全拿到对称加密的密钥后后续传输再使用对称加密的方式快速交换数据。
下面我们详细讲解一下混合加密的流程
在第一次传输时发送者先随机产生一个对称加密的密钥并将该密钥通过接收者的公钥进行加密。接收者利用自己的私钥解密获取到发送者的对称加密密钥 在随后的传输中双方直接使用对称加密密钥来对信息进行加密 0x03哈希函数
对称加密和非对称加密算法主要解决信息的机密性问题而实际系统和网络中还可能受到消息篡改的攻击。篡改攻击主要包括修改信息内容改变程序使使其不能正确运行等。而哈希函数可以用来确保信息的完整性。
哈希Hash函数又称为杂凑函数或单向散列函数接收一个消息作为输入产生一个称为哈希值的输出。输出的哈希值也可称为散列值、消息摘要Message DigestMD。
哈希函数的工作流程如下图所示 发送端将待发送的数据和该数据的哈希值一起传递给接收端接收端接收后再对数据计算一遍哈希值如果计算结果与发送端发送的哈希值一致则说明接收的数据有效反之数据经过的篡改。
接下来我们简单介绍几种常见的哈希算法
0x0301MD5 算法
MD5 算法可以对输入的任意长度的消息进行运算并产生一个 128 位的消息摘要。
MD5 算法具有以下特点 输入接受任意长度的消息。 输出128 位的消息摘要。 处理以 512 位输入数据块为单位。
0x0302SHA-1 算法
SHASecure Hash Algorithm安全哈希算法由美国国家标准技术研究所开发1993 年作为联邦信息处理标准发布2008 年又有更新。
SHA-1 算法具有以下特点 输入最大长度为 264 位的消息。 输出160 位的消息摘要。 处理输入以 512 位数据块为单位处理。
0x0303HSA-1 算法与 MD5 算法比较 散列值长度 MD5128 bits SHA-1160 bits 安全性 SHA-1 算法被视为 MD5 的替代候选算法。 速度 SHA-1 慢些
0x04数字签名
除了保护信息的机密性和完整性密码学技术也可以解决信息的可鉴别性真实性或认证性或不可否认性问题。
数字签名的工作流程如下图所示 发送端先计算出待发送数据的哈希值然后将此哈希值连同数据使用自己的私钥进行加密。加密完成后将数据发送给接收端。接收端收到数据后先利用发送端的公钥从数据包中解出哈希值和原始数据然后接收端利用和发送端相同的哈希算法计算出收到的数据的哈希值然后将此哈希值和发送端发送的哈希值相比较。如果哈希值匹配则说明该数据由该发送端的私钥签名。
实际签名的时候我们一般是对文件的哈希值签名而不是对文件本身签名。这是因为一般要签名的文件体积比较大使用非对称加密的话签名时间比较长。而对哈希值签名哈希值一般比较短所以签名时间也会比较短。这样能大大提高签名的效率又因为哈希值的特性又能够保证数据的完整性。
0x0401数字签名的特点
数字签名的特点如下其与传统签名的特点具有相似性 传统签名的基本特点 能与被签的文件在物理上不可分割。 签名者不能否认自己的签名。 签名不能被伪造。 容易被验证。 数字签名是传统签名的数字化其基本特点如下 能与所签文件 “绑定”。 签名者不能否认自己的签名。 签名不能被伪造。 容易被验证。
0x0402数字签名的应用 可信性 签名让文件的接收者相信签名者是慎重地在文件上签名的。 不可重用性 签名不可重用即使同一消息在不同时刻的签名也是有区别的。如果将签名部分提取出来附加在别的消息后面验证签名会失败。这是因为签名和所签名消息之间是一一对应的消息不同签名内容也不同因此签名无法重复使用。 数据完整性 在文件签名后文件不能改变。 不可伪造性 签名能够证明是签名者而不是其他人在文件上签名任何人都不能伪造签名。 不可否认性 在签名者否认自己的签名时签名接收者可以请求可信第三方进行仲裁。