网络安全:密码学基本理论.
密码学是研究编制密码和破译密码的技术科学。研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学;应用于破译密码以获取通信情报的,称为破译学,总称密码学.
目录
网络安全:密码学基本理论.
密码学基本概念:
密码安全性分析:
密码体系分析:
(1)私钥密码体系:
(2)公钥密码体系:
(3)混合密码体系:
常见密码算法:
(1)DES:
(2)IDES:
(3)AES:
(4)RSA:
(5)国产密钥算法:
Hash函数与数字签名:
(1)Hash函数:
(2)Hash算法:
(3)数字签名:
密码管理与数字证书:
(1)密码管理:
(2)数字证书:
安全协议:
(1)Diffie-Hellman 密码交换协议:
(2)SSH:
密码学基本概念:
(1)密码学的主要目:保持明文的秘密以防止攻击者获知.
(2)密码分析学则是:在不知道密钥的情况下,识别出明文的科学.
(3)明文:指需要采用密码技术进行保护的消息.
(4)密文:指用密码技术处理过明文的结果,通常称为加密消息.
(5)将明文变换成密文的过程称作加密,其逆过程,即由密文恢复出原明文的过程称作解密.
(6)加密过程所使用的一组操作运算规则称作加密算法,而解密过程所使用的一组操作运算规则称作解密算法.
(7)加密和解密算法的操作通常都是在密钥控制下进行的,分别称为加密密钥和解密密钥.
密码安全性分析:
(1)唯密文攻击:密码分析者只拥有一个或多个用同一个密钥加密的 密文,没有任何可利用的信息.
(2)已知明文攻击:密码分析者仅知道当前密钥下的一些明文及所对应的密文.
(3)选择明文攻击:密码分析者能够得到当前密钥下自己选定的明文所对应的密文.
(4)密文验证攻击:密码分析者对于任何选定的密文,能够得到该密文"是否合法" 的判断.
(5)选择密文攻击:除了挑战密文外,密码分析者能够得到任何选定的密文所对应的明文.
密码体系分析:
(1)私钥密码体系:
私有密钥体制:又叫对称密钥体制。密钥加密算法采用同一把密钥进行 加密 和 解密。
私钥密码体制的缺陷可归结为三点:密钥分配问题、密钥管理问题以及无法认证源。
私有密钥体制的优点:加密和解密速度非常快,但密钥的分发和管理比较困难。
私钥密码典型算法: DES IDEA AES
(2)公钥密码体系:
公钥密码体制:又称为非对称密码体制。其基本原理是在加密和解密的过程中使用不同的密钥处理方式.
公钥密码体制安全性方面,密码算法即使公开,由加密密钥推知解密密钥也是计算不可行的.
公钥密码体制加密技术:采用一对匹配的密钥进行加密、解密,具有两个密钥,一个是公钥一个是私钥,
公钥密码体制性质:每把密钥执行一种对数据的单向处理,每把的功能恰恰与另一把相反,一把用于加密时,则另一把就用于解密.
用公钥加密的文件只能用私钥解密,而私钥加密的文件只能用公钥解密。 公共密钥是由其主人加以公开的,而私人密钥必须保密存放。为发送一份保密报文,发送者必须使用接收者的公共密钥对数据进行加密,一旦加密,只有接收方用其私人密钥才能加以解密。 相反地,用户也能用自己私人密钥对数据加以处理.
与私钥密码体制相比较,公钥密码体制有 以下优点:
(1)密钥分发方便,能以公开方式分配加密密钥。例如,因特网中个人安全通信常将自己的公钥
公布在网页中,方便其他人用它进行安全加密。
(2) 密钥保管量少。网络中的消息发送方可以共用 个公开加密密钥,从而减少密钥数量。只要接
收方的解密密钥保密,就能实现消息的安全性
(3) 支持数字签名。
公钥密码体制类型: RSA 体制、 ELGamal 体制,椭圆曲线密码体制.
(3)混合密码体系:
混合密码系统:是用对称密码和公钥密码的优势相结合的方法。一般情况下,将两种不同的方式相结合的做法就称为混合.
混合密码系统中会先用快速的对称密码来对消息进行加密,这样消息就被转换为了密文,从而也就保证了消息的机密性。然后我们只要保证对称密码的密钥的机密性就可以了。这里就要轮到公钥密码出场了,我们可以用公钥密码对加密消息时使用的对称密码的密钥进行加密.
常见密码算法:
(1)DES:是分组加密算法,能够支待 64 比特的明文块加密,其密钥长度为 56 比特.
三重的 DES 叫 TDEA,其 TDEA 算法的工作机制是使用 DES 对明文进行“加密一解密一加密”操作,
即对 DES 加密后的密文进行解密再加密,而解密则相反。设EK() DK ()代表 DES 算法的加密和解
密过程, 代表 DES 算法使用的密钥, 代表明文输入, 代表密文输出,则 TDEA 的加密操作过程如下:
(2)IDES:是国际数据加密算法的简记,是一个分组加密处理绑法,其明文和密文分组都是 64 比特,密钥长度为 128 比特.
IDEA 算法能够接受 64 比特分组加密处理,同一算法既可用于加密又可用千解密,该算法的设计思想
是“混合使用来自不同代数群中的运算”。
(3)AES:是确定一个非保密的、公开的、全球免费使用的分组密码算法.
NIST 规定候选算法必须满足下面的要求:
• 密码必须是没有密级的,绝不能像商业秘密那样来保护它;
• 算法的全部描述必须公开披露;
• 密码必须可以在世界范围内免费使用;
• 密码系统支持至少 128 比特长的分组;
• 密码支持的密钥长度至少为 128 192 256 比特.
(4)RSA:是非对称算法,加密算法中,公钥和私钥都可以用千加密消息,用于加密消息的密钥与用千解密消息的密钥相反.
RSA 算法提供了一种保护网络通信和数据存储的机密性、完整性、真实性和不可否认性的方法。
目前, SSH , OpenPGP , S/MIME 和 SSL/TLS 都依赖千 RSA 进行加密和数字签名功能。
(5)国产密钥算法:国产密码算法是指由国 家密码研究相关机构自主研发,具有相关知识产权的商用密码算法.
1999 年国务院发布实施的《商用密码管理条例》第一章第二条规定: “本条例所称商用密码,是指对
不涉及国家秘密内容的信息进行加密保护或者安全认证所使用的密码技术和密码产品。
Hash函数与数字签名:
(1)Hash函数:
杂凑函数简称 Hash 函数,它能够将任意长度的信息转换成固定长度的哈希值(又称数字摘要或消息摘要),并且任意不同消息或文件所生成的哈希值是不一样的.
令 h 表示 Hash 函数,则 满足下列条件:
(l) h 的输入可以是任意长度的消息或文件 M;
(2) h 的输出的长度是固定的;
(3) 给定 h 和 M, 计算 h(M) 是容易的;
(4) 给定 h 的描述,找两个不同的消息 Ml M2, 使得 h(M1)=h(M2) 是计算上不可行的;
(2)Hash算法:
(1)MD5 算法:
MD5 以 512 位数据块为单位来处理输入,产生 128 位的消息摘要,即MD5 能产生 128 比特长度的
哈希值,MD5 使用广泛,常用在文件完整性检查.
(2)SHA 算法:
以 512 位数据块为单位来处理输入,产生 160的哈希值,具有比 MD5 更强的安全性 SHA 算法的安全
性不断改进,已发布的版本有 SHA-2,SHA-3。SHA 算法 生的哈希值长度有 SHA-224 SHA-256
SHA-384 SHA-512 等.
(3)SM3 国产算法:
SM3 是国家密码管理局千 2010 年公布的商用密码杂凑算法标准 该算法消息分组长度为512 比特,
输出杂凑值长度为 256 比特,采用 Merkle-Damgard 结构.
(3)数字签名:
(1)数字签名:是签名者使用私钥对待签名数据的杂凑值做密码运算得到的结果,该结果只能用签名者的公钥进行验证,用千确认待签名数据的完整性、签名者身份的真实性和签名行为的抗抵赖性。
(2)数字签名的目的:是通过网络信息安全技术手段实现传统的纸面签字或者盖章的功能,以确认交易当事人的真实身份,保证交易的安全性、真实性和不可抵赖性。
(3)数字签名具有与手写签名一样的特点,是可信的、不可伪造的、不可重用的、不可抵赖的以及不可修改的数。
数字签名 少应满足以下三个条件:
(1) 非否认。签名者事后不能否认自己的签名。
(2) 真实性。接收者能验证签名,而任何其他人都不能伪造签名。
(3) 可鉴别性。当双方关于签名的真伪发生争执时,第三方能解决双方之间发生的争执。
(4)一个数字签名方案一般由签名算法和验证算法组成。典型的数字签名方案有 RSA 签名体制、 Rabin 签名体制、 ElGamal 签名体制和 DSS (Data Signature Standard) 标准。
(5)签名与加密的不同之处在于,加密的目的是保护信息不被非授权用户访问,而签名是使消息接收者确信信息的发送者是谁,信息是否被他人篡改。
出数字签名工作的基本流程,假设 Alice 需要签名发送一份电子合同文件给 BobAlice 的签名步骤如下:
第一步, Alice 使用 Hash 函数将电子合同文件生成一个消息摘要;
第二步, Alice 使用自己的私钥,把消息摘要加密处理,形成一个数字签名;
第三步, Alice 把电子合同文件和数字签名一同发送给 Bob Alice 的签名过程;
Bob 收到 Alice 发送的电子合同文件及数字签名后,为确信电子合同文件是 Alice 所认可的,
验证步骤如下:
第一步, Bob 使用与 Alice 相同的 Hash 算法,计算所收到的电子合同文件的消息摘要;
第二步, Bob 使用 Alice 的公钥,解密来自 Alice 的加密消息摘要,恢复 Alice 原来的消息摘要;
第三步, Bob 比较自己产生的消息摘要和恢复出来的消息摘要之间的异同。若两个消息摘要相同,
则表明电子合同文件来自 Alice 。如果两个消息摘要的比较结果不一致,则表明电子合同文件已被篡改。
密码管理与数字证书:
密码系统的安全性依赖于密码管理。密码管理主要可以分成三个方面的内容,即密钥管理、密码管理政策、密码测评.
(1)密码管理:
(1)密钥管理:
主要围绕密钥的生命周期进行,包括密钥生成、密钥存储、密钥分发、密钥使用、密钥更新、
密钥撤销、密钥备份、密钥恢复、密钥销毁、密钥审计。
(2)密码管理政策:
密码管理政策是指国家对密码进行管理的有关法律政策文件、标准规范、安全质晕测评等。
《中华人民共和国密码法》明确规定,密码分为核心密码、普通密码和商用密码,实行分类管理。
核心密码、普通密码用千保护国家秘密信息,属于国家秘密,由密码管理部门依法实行严格统一管理
商用密码用千保护不属千国家秘密的信息,公民、法人和其他组织均可依法使用商用密码保护网络与
信息安全.
(3)密码测评:
密码测评是指对相关密码产品及系统进行安全性、合规性评估,以确保相关对象的密码安全有效,
保障密码系统的安全运行。
(2)数字证书:
数字证书 (D ital Certificate) 也称公钥证书,是由证书认证机构 (CA) 签名的包含公开密钥
拥有者信息、公开密钥、签发者信息、有效期以及扩展信息的 种数据结构。
(1)数字证书按类别可分为:个人证书、机构证书和设备证书.
(2)按用途可分为:签名证书和加密证书。
其中,签名证书是用于证明签名公钥的数字证书。加密证书是用于证明加密公钥的数字证书。
(3)为更好地管理数字证书, 般是基千 PK.I 技术建立数字证书认证系统(简称为 CA),
CA 提供数字证书的申请、审核、签发、查询、发布以及证书吊销等全生命周期的管理服务。
安全协议:
(1)Diffie-Hellman 密码交换协议:
简称 Dillie-Hellman 密钥交换协议。 Dillie-Hellman 密钥交换协议基于求解离散对数问题的困难性;
(2)SSH:
SSH Secure Shell 的缩写,即“安全外壳”,它是基于公钥的安全应用协议,由 SSH 输层协议、 SSH 用户认证协议和 SSH 连接协议三个子协议组成,各协议分工合作,实现加密、认证、完整性检查等多种安全服务。
SSH 传输层协议:提供算法协商和密钥交换,并实现服务器的认证,最终形成一个加密的安全连接,
该安全连接提供完整性、保密性和压缩选项服务。
SSH 用户认证协议:则利用传输层的服务来建立连接,使用传统的口令认证、公钥认证、主机认证等
多种机制认证用户。
SSH 连接协议:在前面两个协议的基础上,利用已建立的认证连接,并将其分解为多种不同的并发逻辑通道,
支持注册会话隧道和 TCP 转发 (TCP-forwarding) ,而且能为这些通道提供流控服务以及通道参数协商机制。
SSH 的工作机制共分七个步骤:
在实际的应用中, SSH 在端口转发技术的基础上,能够支持远程登录(Telnet) rsh rlogin 、文件传输 (scp) 等多种安全服务。 Linux 系统一般提供 SSH 服务, SSH的服务进程端口通常为 22.
学习书籍:信息安全工程师教程