导图社区 密码加密非对称系统类型知识点笔记思维导图
密码加密非对称系统类型知识点笔记思维导图,整理了密码术的历史、密码术定义与概念、密码类型、加密方法、对称系统的类型、非对称系统的类型、消息完整性的内容,大家可以学起来哦。
编辑于2023-02-23 22:48:42 广东密码加密非对称系统类型知识点笔记思维导图
密码术的历史
atbash
加密方法来源于将信息显示在用于隐藏信息的实际物体上
希伯来人的一种加密方法将字幕调换顺序
这样原来字母表中的每一个字母就映射成调换顺序后的字母表中的另一个字母
替代密码
密码是用于算法的另一个术语
每个字母都被替换为另一字母
只使用一个字母表,这种替代密码称为单字母表替代密码(monoalphabetic substitution cipher)
多字母表替代密码(polyalphabetic substitution cipher)则使用多个字母表
密码帮密码(scytale cipher)
将消息写在缠绕于一根木棒的纸莎草(一种纸张)上,然后将纸莎草传递接受者
只有纸莎草缠绕在尺寸正确的木棒上时,才能是字母正确匹配,消息才可阅读
凯撒密码
类似于atbash、简单替代密码的加密方法
只是将字母表移动了3个位置
是单字母表密码的一个示例
Vigenere表
法国亨利三世发明的多字母表替代密码
拥有一个Vigenere表或算法
具有27个移动后的字母表
明文是消息的可读版本,执行加密过程后得到的文本称为密文(ciphertext)
Enigma机
二战期间德国发明
转子密码机
Enigma机具有3个转子、一个连接板、一个反射转子
DES(Data Encryption Standard,DES)数据加密标准
美国联邦政府标准的加密算法
密码分析学
密码破译者
密码分析学家
密码分析学cryptanalysis是一门研究和破解加密过程、破坏身份验证方案以及对算法和密钥进行逆向过程的学科
它是密码术和密码学的重要组成部分
密码分析学是一门错综复杂的学科,它涉及大量测试与攻击
密码学以密码分析和密码术为研究对象
密码术定义与概念
概述
描述
加密方法能够将称为明伟的刻度数据转换为称为密文的、看似随机和不可读的数据
密码系统
定义
提供加密和解密的系统或产品称为密码系统
它由硬件组件和应用程序中的程序代码欧辰
密码系统使用加密算法(它决定加密过程的简单或复杂程度)、密钥以及必要的软件组件和协议、
密码系统包含实现加密和解密的必要组件
可靠隐私(Pretty Good Privacy,PGP)就是密码系统的一个示例
组件
软件
协议
算法
算法是一组原则,它规定如何加密和解密
算法包含一个密钥空间(keyspace),它由一定范围的值组成
如128位、256、512、1024甚至更多位的密钥
Subtopic
密钥
在加密过程中,密钥(密码变量)是一个由一长串随机位序列构成的值
Kerckhoffs
一个密码系统唯一需要保密的部分应当是密钥
如果安全基于过多的秘密,那么就会有更多的脆弱性可供利用
私有领域的密码学家不同意上述说法
密码系统的强度
概述
加密算法的强度源自算法的复杂程度、密钥的机密度、密钥长度、初始化向量以及它们如何在密码系统内协同工作
在加密中讨论的强度是指在不公开算法或密钥的情况下破解它们的困难程度
蛮力攻击,即穷举所有可能的密钥值
密码术强度
也称为工作因数(workfactor)
即攻击者破译一个密码系统所付出的努力和资源进行评估
保护机制的强弱程度应取决于被保护数据的敏感程度
密码系统的服务
服务类型提供
机密性
除了授权实体外,其他实体无法理解提交的数据
完整性
数据从创建到传输、存储都不会被未授权更改
身份验证
对创建信息的用户或系统的身份进行验证
授权
证明身份之后,向个体提供允许访问某些资源的密钥或口令
不可否认性
确保发送方法无法否认发送过信息
密码术定义
访问控制
限制和控制主体与客体的访问尝试
算法
用于加密和解密的一组数学规则
密码
算法的另一个名称
密码术
采用数据的存储和传输只对预期方有效地形式来密写数据的学科
密码系统
密码术的硬件或软件实现,能够将消息转换为密文以及从密文转换回铭文
密码分析
破解密码系统的实际工作
密码学
对密码术与密码分析的研究
数据来源身份验证
证明消息来源(基于系统的身份验证)
加密
将数据转换为不可读格式的行为
实体身份验证
证明发送消息的实体的身份
解密
将数据转换为可读格式的行为
密钥
控制加密和解密行为的保密位序列和指令
密钥群集
同一明文使用两个不同密钥可以生成相同密文的实例
密钥空间
用于构建密钥的可能值范围
明文
可读格式的数据
收据
承认消息已被接收
工作因数
破解一个密码系统所付出的的估计时间、精力和资源
一次性密码本(one-time pad)
概述
也称为vernam密码
加密过程使用异或(exclusive-OR)的二进制数学函数,通常称XOR
密码本要求
由真正的随机值构成
只使用一次
安全分发至目的地
在发送方和接收方处都是安全的
至少与消息一样长
一次性密码本加密方案被认为无法破解,操作注意事项
一次性密码本必须只能使用一次。如果密码本被多次使用,那么可能在加密过程中引入模式,这样有助于攻击者破解加密
一次密码本必须与消息一样长。如果密码本比消息短,那么需要重复使用密码本才能覆盖整条消息,这种情况与多次使用密码本类似,同样可能引入模式
一次性密码本必须安全传送,并在目的地加以保护。密码本通常是几页纸,需要由可靠的情报员传送,并在每个目的地都要得到适当的保护
密码本必须由真正的随机值构成,任务很难,即使今天的计算机系统也无法生成真正的随机值,相反,它们使用的是伪随机数字生成器
数字生成器(number generator)
用于创建一组随机值,它必须使用一个初始值作种子。
这个软件部分从计算机系统内的某个组件那里获得种子值(时间、CPU、周期等)
虽然计算机系统很复杂,但它仍是一个科预测的环境
因此,如果种子值是可预测的,那么它生成的值也并非真正随机,而是伪随机值
缺点
所有要求,很多情况下并不实用
密码本与实际消息一样长,密钥管理可能难以实现,也可能需要比其价值更高的开销
传送过程也可能遇到挑战,并且发送方和接收方必须保持完全同步才能实用相同的密码本
滚动密码和隐藏密码
滚动密码(running key cipher)
可以不使用电子算法和位轮换的密钥,而是实用周围随处可见的方法
如一本书的页码、行数和列数作为密钥
隐藏密码(concealment cipher)
是消息内的消息
如:一句话的每隔3个单词为密钥值
隐藏密码是一种隐写术,也称为空密码(null cipher)
隐写术(steganography)
定义
是一种将数据隐藏在另一种介质中从而隐匿数据的方法
因为消息隐藏在图形、波形文件、文档或其他介质中,所以只有发送方和接收方才能看到消息
消息未被加密,只是隐藏
隐写术通过隐匿实现了安全性
组件
载体
内部具有隐藏信息(有效载荷)的信号、数据或文件
隐写介质
将信息隐藏在内的介质
有效载荷
要隐藏和传输的信息
实现方法
使用最低有效位(Least Significant Bit,LSB)
是一种在某些类型介质中嵌入消息的方法
能够用于表示颜色信息之外的其他信息
数字图形
只是一种显示不同颜色和光线强度的文件
文件越大,在不引起太多注意或失真的情况下能够更改位就越多
数字水印
内嵌的标志或商标称为数字水印(digital watermark)
组织人们使用其他人的素材
密码类型
描述
对称密码
替代密码
就是使用不同的位、字符或字符分组来替换原来的位、字符或字符分组
换位(置换)密码
并不使用不同的文本来替换原来的文本,而是对原有的值进行置换
即重新排列原来的位、字符或字符分子以隐藏其意义
替代密码
使用密钥来规定应当如何实现替代
凯撒密码中,每一个字母都由字母表中中其后的第三个字母代替,此时,算法是字母表,密钥则是指令i后移3个位置”
换位密码
定义
所有字符时混乱的,或者采用不同的顺序,密钥决定字符移动到的位置
缺点
简单的替代和换位密码容易遭受频率分析(frequency analysis)攻击
加密方法
描述
机密过程组件
算法
密钥
对称算法与非对称算法
对称算法
使用对称密钥(也称为秘密密钥)
非对称算法
使用非对称密钥(也称公钥和私钥)
对称密码术
定义
发送方和接收方使用相同密钥加密和解密的过程
这种密钥具有双重功能,既可以完成加密,也可以完成解密
这种机密方法依赖于每个使用者都恰当地保护密钥不被泄露
对策密钥数=N*(N-1)/2
优点
比非对称密钥快得多(计算密集度较低)
在使用大密钥时很难攻破
缺点
需要一个恰当分发密钥的安全机制
每对用户都需要唯一的密钥,因为密钥数呈指数增长,密钥管理繁重不堪
能够提供机密性,但是不能提供确实性或不可否认性
对称算法示例
数据加密标准DES(Data Encryption Standard)
三重DES(3DES)
Blowfish
国际数据加密算法(Intermational Data Encryption Algorithm,IEDA)
RC4 RC5 RC6
高级加密标准(Adbanced Encryption Standard,AES)
非对称密码术
非对称密钥
公钥和私钥
加密格式
使用接收方的公钥来加密文件,称为安全消息格式(secure message format)
使用发送方私钥加密数据称为公开消息格式(open message format)
优点
具有比对称系统更好地密钥分发功能
具有比对称系统更好地扩展性
能提供身份验证和不可否认性
缺点
比对称系统运行慢
是数学密集的任务
非对称算法
RSA(Rivest-Shamir-Adleman)
椭圆曲线密码系统(Elliptic Curve Cryptosystem,ECC)
Diffie-Hellman
El Gamal
数字签名算法(Digital SIgnature Algorithm,DSA)
Merkle-Hellman 背包算法
分组密码与流密码
对称算法类型
分组密码
用于位分组
流密码
每次处理一个位
分组密码
概述
当分组密码(block cipher)用于加密和解密时。消息会被划分为若干位分组
这些分组随后通过数学函数进行处理,每次一个分组
强密码属性
扰乱
通常通过替代实现,
指的是使密钥和密文之间的关系尽可能复杂,从而令攻击者无法从米文中发现密钥
扩散
通过换位实现
指的是单独一个明文位会影响到若干文位
流密码
定义
将消息作为位流对待,而且是数学函数分别作用在每一个位上
使用流密码,每加密一次,相同的明文位会转换为不同的密文位
流密码使用了密码流生成器(keystream generator)它生产的位流与明文位进行异或,从而产生密文
密钥混合
初始化向量(Initialization Vector,IV)
概念
是算法用于确保加密过程不会产生某种模式的随机值
它们与密钥一同使用,而且在传输时不需要加密
强大有效地流密码算法特征
密钥流值具有长周期无重复的模式
密钥流生成器产生位必须是随机的
密钥流具有统计不可预知性
密钥流生成器产生的位无法预测
密钥流与密钥线性无关
如果有人破解密钥流值,那么并不意味着他知道密钥值
统计平衡的密钥流
密钥流中的0和1的数量没有明显区别
流密码与一次性密码本
流密码
是为了提供与一次性密码本相同的保护级别
实际上流密码并不提供与一次性密码本相同级别的保护
由于流密码通过软件和自动方法实现,因而更加实用
混合加密算法
对称与非对称算法结合使用
公钥密码术(pubilic key cryptography)
定义
使用由非对称算法为保护加密秘钥和密钥分发而生成的两个密钥(公钥和私钥)
还有一个由对称算法批量数据而生成的保密密钥
它是两个不同的算法(对称算法和非对称算法)的混合物
对称算法产生用于加密批量数据的密钥
非对称算法则产生用于自动化密钥分发工作的密钥
特征
非对称算法通过使用数学上相关的公钥和私钥来加密和解密
对称算法通过使用对称密钥来加密和解密
对称密钥用于加密和或解密实际的消息
公钥用于加密完成安全密钥交换的对称密钥
保密密钥和对称密钥的意义相同
非对称密钥指的是公钥和私钥
这种混合系统的工作方式,对称算法创建一个用于加密批量数据或消息的秘密密钥,非对称密钥则用于加密要传输的秘密密钥
会话密钥(session key)
混合加密又称为数字信封
是只使用一次的对称密钥,用于对通信会话期间两个用户之间的消息进行加密
私钥和对称密钥不得为明文格式
对称系统的类型
数据加密标准(DES)
概述
由NIST颁布,DES是一种标准,由64位组成(8位奇偶校验,56位有效密钥)
3DES,高级数据加密标准
数据加密算法
Data Encryption Algorithm,DEA,一种算法
DES的工作方式
DES是一种对称分组加密算法
一次加密一个分组
DES模式
电子密码本(Electronic Code Book,ECB)
定义
就像一个密码本,将一个64位的数据分组输入带密钥的算法,就会生成一个密文分组
能够加密小型文本,不能加密大量数据信息(如PIN,密钥等)
使用相同的密钥
密码分组连接(Cipher Block Chaining,CBC)
不暴露加密模式,因为算法会处理每个文本分组、密钥以及基于前一个分组的值
并将它们应用于下一个文本分组
这样可以得到更加随机的密文
密文从前一个分组中提取并加以使用,从而形成了数据分组之间的依赖关系
对每条信息使用一个唯一的IV值
密码反馈(Cipher Feedback,CFB)
实际上组合了分组密码和流密码
使用CFB加密8位数据分组十分常见
加密大型数据文本
输出反馈(Output Feedback,OFB)
降低发生比特破坏错误的可能性
为确保OFB和CFB提供最可能强大的保护,(CFB中的)密文大小或(OFB中的)密钥流值必须与加密的明文分组大小相同
计数器模式(Counter Mode,CTR)
计数器模式中密钥连接关系,它不提取密文来加密下一个数据分组
单个分组加密过程可以并行发生,提高性能
这种模式主要用于加密IPSec虚拟电路的ATM信元,现在已集成入显得无线安全标准(802.11i)
三重DES
概念
使用48轮运算,对查分密码分析有很强的抵御能力
3DES完成加密和解密的过程要比DES长3倍
模式
DES-EEE3
使用3个不同的密钥进行加密,数据被加密、加密、再加密
DES-EDE3
使用3个不同的密钥进行加密,数据被解密、解密、再加密
DES-EEE2
与DES-EEE3相同,但只使用了两个密钥,第一个和第三个加密过程使用相同的密钥
DES-EDE2
与DES-EDE3相同,但只使用了2个密钥,第一个和第三个机密过程使用相同的密钥
高级加密标准AES
概述
是一种对称分组密钥,它支持128、192和256位的密钥
算法
NIST选择Rijndael算法,支持128、192和256位带线的数据分组,运算轮数则取决于数据分组的大小与密钥的长度
DEA是DES内使用的算法,Rijndael是AES内使用的算法,业内将他们成为DES和AES
国际数据加密算法
International Data Encryption Algorithm,IDEA)
是一种分组密码,它处理64位数据分组
64位大小的数据分组划分为16个更小的分组,每个小分组都执行8轮数据函数运算
IDEA使用密钥长度128位,在软件中实现,它比DES速度更快
IDEA应用在PGP和其他加密软件中,被认为是DES的替代品
Blowfish
也属于分组密码,它处理64位数据分组
密钥长度为32-448位,数据分组要经过16轮加密函数运算得到密文
RC4
是最常见的流密码之一,它的密钥长度不变,用于SSL协议,
该算法非常简单、快捷、有效
RC5
是一种分组密码,其参数(如分组大小、密钥长度和运行的轮数)都是可变的,
这种算法使用的分组大小通常是32、64或128位,其密钥长度可达2048位,
用于加密和解密的轮数也是可变的,最多可达255轮
RC6
是在RC5基础上构建的分组密码,属性和RC5相同
这个算法主要用作为AES提交这一目的而开放的
对RC5作了一些修改,提高了整体速度
非对称系统的类型
对称密钥密码术的缺点
安全服务
纯对称密钥密码术值提供机密性,不提供身份验证或不可否认性
可扩展性
需要通信的人数增加,所需的对称密钥数也随之增加,这意味着必须管理更多的密钥,繁琐
安全密钥分发
对称密钥必须由安全信使安全送交至目的地
Diffie-Hellman算法
第一种非对称密钥协定算法
使用密钥交换功能时,发送方在传送数据之前使用接收方的公钥加密对称密钥
这种算法使两个系统不需要提前建立关系或预先安排就能安全地交换对称密钥,
可实现发送密钥,但并不提供加密或数字签名功能
密钥身份验证功能
容易遭受中间人攻击
使用其他软件或协议来弥补这种脆弱性
使用身份验证,身份验证过程需要使用数字签名和数字证书
MQV(Menezes-Qu-Vanstone)
是一种身份验证密钥协定密码术函数,它与DH算法非常相似
用户的公钥进行交换,以创建会话密钥,MQV能够使攻击者无法找到会话密钥
因为攻击者必须同时拥有两个用户的私钥才能实现
RSA
定义
是一种公钥算法,也是非对称算法中最流行的算法
RSA是事实上的全球标准,能够用于数字签名、密钥交换和加密
提供身份验证和密钥加密
其逆向工程则执行解密和生成签名
可用作为密钥交换协议(key exchange protocol)
即可以使用RSA加密对称密钥,使其达到安全目的
单向函数
只用公钥能够实现加密和签名验证,只有私钥能够实现解密和生成签名
El Gamal
是一种可用于数字签名、加密和密钥交换的公钥算法
是DH算法的扩展
是最慢的算法
椭圆曲线密码系统
Elliptic Curve Cryptosystem,ECC
提供与RSA相似的功能:数字签名、安全密钥分发和加密
一个不同的因素是ECC的效率,ECC比RSA和其他非对称算法的效率更高
ECC提供加密功能,需要的资源只占RSA和其他算法所需资源的一小部分
密钥越长,提供的保护越强,ECC可以使用比RSA更短的密钥来提供同级别的保护
密钥越长,执行数学任务所需的资源越多,ECC使用更短的密钥需要的资源越少
LUC
Subtopic
背包算法
Subtopic
零知识证明
只告诉某人需要的知道的消息,而不会提供重要的信息
消息完整性
单向散列
单向散列
是一种函数,他将可变长的字符串或消息压缩变换成固定长度的值,也就是散列值
散列值并不保密,它是公开的
单向散列函数的秘密是它的单向性
这个函数单项计算,不反方向计算
MAC(Message Authentication Code,MAC)
消息身份验证代码
MAC函数式通过某种形式对消息应用秘密密钥而得到的一种身份验证机制
HMAC(Hash MAC)
散列MAC
扩展
散列值也可以称为消息摘要(message digest)或指纹(fingerprint)
散列算法也可以称为无密钥信息摘要(nonkeyed message digest)
存在两种消息验证代码(MAC):散列MAC(HMAC)和CBC-MAC
MAC有时也称为消息完整性代码(mic)或修改监测代码(MDC)
不具有机密性
MAC步骤
发送方使用散列函数对消息进行计算
生成消息摘要
将这个消息摘要附加在消息的后面
发送方向接收方发送消息
接收方使用散列函数对消息进行计算
接收方生成自己的消息摘要值
接收方比较两个消息摘要值。如果两者相同,那么就认为消息未被修改
Hmac步骤
发送方将对称密钥合并在消息的寿命
使用散列函数对已附加密钥的消息进行计算
生成一个MAC值
将这个MAC值附加在消息后面
发送方向接收方发生消息(只是原始消息以及附加的MAC值,发送方并密钥随消息一起发送对称密钥)
接收方将对称密钥合并在消息后面
接收方使用散列函数对已附加密钥的消息进行计算,生成自己的MAC值
接收方比较两个MAC值,如两者相同,那么消息未被修改
CBC-MAC步骤
发送方在CBC模式下使用对称分组算发来加密消息
最后一个分组用作为MAC
明文消息和附加的MAC发送给接收方
接收方加密收到的消息,创建一个新的MAC,并比较两个MAC值,如相同,那么就表示消息未被修改,并且接收方知道数据来自哪个系统
提供数据源认证和完整性
CMAC
各种散列函数
良好散列函数特征
应当对整条消息计算散列值
散列函数应当是单向函数,英雌散列值不会泄露消息
给定一条信息及其散列值,要找出另一个有着同样散列值的消息应该是不可能的
散列函数应当能够抵御生日攻击
MD2
是单向函数,产生128位的消息摘要值
不比MD系列中其他算法脆弱,但运行要慢得多
MD4
单向函数,产生128位的消息摘要值
应用于软件的快速计算环境,并未微处理器进行了优化
MD5
MD4的升级版本,产生128位消息摘要
算法比较复杂,难以攻破
容易遭受冲突攻击,不再适合需要抵御冲突攻击的SSL认证和数字签名之类的应用
SHA
由NIST和NSA设计,并和数字签名标准(Digital Signature Standard,DSS)一起使用
产生160位散列值或消息摘要,产生的结果随后输入非对称算法,从而为消息计算签名
更能抵御蛮力攻击,生日攻击等
改进版本SHA-1,SHA-256 SHA-384和SHA-512
HAVAL
是一个可变长的单向散列函数,是对MD5的更改和发展
消息分组的大小事MD5的2倍,1024位
产生的散列值长度为128-256
Tiger
对64位系统执行散列功能,它比MD5和SHA-1要快
运算得到192位散列值
针对单向散列函数的攻击
生日攻击
一个好的散列函数不会为两条不同的消息产生相同的散列值
如果散列算法为两条不同的消息产生相同的散列值,那么我们就称为冲突
攻击者可以试图制造冲突,这称为生日攻击
同一房间,只是必须由253人才能保证有一人和你生日一样
同一房间,至少有23人才能保证两个人生日一样
蛮力攻击
攻击者找出一个与特定消息匹配的散列值的主要方法是蛮力攻击
对策
散列算法的输出长度越长,它的强度就越大,他对蛮力攻击(如生日攻击)的抵御能力就越强
SHA新版本中具有很大的消息摘要值
数字签名
概述
是使用发送方的私钥加密的散列值
签名的动作意味着使用私钥来加密消息的散列值
散列函数确保了消息的完整性,散列值的签名则提供了身份验证和不可否认性,签名动作实际上就是使用私钥加密散列值
不同类型提供不同安全服务
消息可以加密,提供了机密性
消息可以散列运算,提供了完整性
消息可以数字签名,提供了身份验证、不可否认性和完整性
消息可以既加密又数字签名,这提供了机密性、身份验证、不可否认性以及完整性
总结
某些算法只能执行加密又数字签名,而其他算法则可以支持数字签名和加密
当涉及散列的时候,将会使用散列算法而不是加密算法
所有的加密算法都不能提供所有必需的安全服务
大部分算法都结合起来使用,以提供某个环节所需要的所有安全服务
数字签名标准
NIST提议数字签名标准(DSS)的联邦标准
美国使用DSA、RSA或椭圆曲线数字签名算法(Elliptic Curve Digital Signature Algorithm,ECDSA)与SHA
RSA和DSA最常用
DSA由NSA开发,与RSA不同的是,DSA只能用于数字签名,并且DSA在验证签名时比RSA要慢,RSA能够用于数字签名加密以及对称密钥的安全分发
公钥基础设施(PKI)
PKI
组成
程序
数据格式
措施
通信协议
安全策略
公钥密码机制
概述
PKI是一种使用公钥密码术和X.509标准的ISO身份验证架构
PKI提供身份验证、机密性、不可否认性以及消息交换的完整性
PKI是混合对称与非对称密钥算法和方法的系统
公钥密码术和PKI的区别
公钥密码术
公钥密码术是非对称算法的另一个名称
公钥密码术是PKI中的一个组成部分
PKI
PKI与他的名称一样,是一个基础设施
这个基础设施包含了标识用户身份、创建和分发证书、维护和取消证书、分发和维护加密秘钥等部分
并使得所有技术能够沟通,而且能够共同运行以达到加密通信的目的
PKI由许多不同部分组成
认证授权
注册授权
证书
密钥以及用户
认证授权机构
CA(certificate authority)
可信的第三方认证授权机构
是保管和发布数字证书的可信组织机构(或服务器)
CA可以位于组织机构内部
这种设置可以使公司能够控制认证授权服务器,设定身份验证的方式,保管证书以及在必要时取消证书
CA负责创建和分发证书,保管证实以及在必要时取消证书
RA(Registration Authority)
注册授权机构
验证用户的身份
交叉认证
指的是不同CA之间建立信任关系,以依赖彼此的数字证书和公钥
就好像证书和密钥是它们自己签发一样
如果建立这种关系,那么一家公司的CA就可以确证另一家公司的数字证书
CRL(Certificate Revocation List)证书取消列表
是一个存储所有被取消证书的列表,该列表被加以维护和定期更新,
OCSP(Online Certificate Status Protocol)在线证书状态协议
只使用CRL时,用户的浏览器要么必须坚持一个重要CRL,以确保证书是否被取消,要么不断向客户端发送CRL值,以确保得到更新的CRL
如果实现OCSP那么它会在后头自动完成上述工作。
OCSP会对证书执行实时确证,并向用户报告证书是有效、无效还是未知
OCSP会检查由CA维护的CRL
证书
证书是用于将公钥和唯一标识其所有者所需的组成部分管理起来 的机制
CA创建证书的标准时X.509,它规定证书中使用的不同字段以及能够在这些字段中输入的有效值
证书包含
序列号
版本号
身份信息
算法信息
有效期
发行证书的授权机构的签名
注册授权机构RA
执行证书注册任务
RA建立和确认个人的身份
代表终端用户启动使用CA的认证过程
以及执行证书生命周期管理功能
RA不能发行证书,但可以作为用户和CA之间的中间人
当需要新证书时,用户会向RA发送请求,然后RA再将该请求发送给CA
PKI步骤
组成
CA
RA
证书存储库
证书撤销系统
密钥备份和恢复系统
自动密钥更新
密钥历史记录管理
时间标记
客户端软件
PKI提供安全服务
机密性
访问控制
完整性
身份验证
不可否认性
密钥管理
密钥和密钥管理原则
密钥的长度应当足够长,以提供必要的保护机制
密钥应当以安全方式保存和发送
密钥应该极为随机,算法应当使用密钥空间中的所有值
密钥的生命周期应该与其保护的数据的敏感度相对应(机密性较低的数据允许的密钥周期较长,而更敏感的数据则需要较短的密钥生命周期)
密钥的使用频率越高,其生命周期就应越短
为了应对紧急情况,密钥应该备份或托管
当密钥的生命周期结束,应该将其恰当地销毁
链路加密与端到端加密
链路加密
定义
会加密沿某种特定通信通道传输的所有数据
优点
所有数据都加密
用户除了启动之外不需要做恩和事情,它在OSI模型中的较低层运作
缺点
因为每个跳设备都必须接收一个密钥,而且密钥改变时必须更新每一个密钥,所以密钥分发和管理更为复杂
数据包在每一跳都进行解密,因此存在更多脆弱性
链路加密不利于流量分析
端到端加密
数据包的头部、尾部、地址和路由信息未加密
优点
为用户提供了决定哪些数据被加密以及如何加密的更大灵活性
因为每个应用程序或用户都可以选择特定的配置,所有可以获得更高的功能细粒度
网络中每一跳的计算机都不需要拥有解密数据包的密钥
缺点
数据包的头部、地址和路由信息未被加密,缺乏保护
硬件和软件密码术系统
加密可以通过软件或硬件实现,而且软硬件通常会被权衡使用
一般,与硬件相比,软件设备更经济、但吞吐量要慢,此外,软件加密方法比硬件系统更容易修改,也更容易丧失能力不过这都取决于应用程序和硬件产品
如果公司需要高速地执行端到端加密功能,那么这个公司很可能会应用硬件方法来解决
电子邮件标准
多用途Internet邮件扩展(MIME)
描述
是一种说明多媒体数据和电子邮件如何传输的技术规范
安全MIME(Secure MIME)
是一种对电子邮件进行加密和数字签名以及提供安全数据传输的标准
PKCS公钥密码术标准
保密增强邮件(PEM)
概述
是一种在Internet上提供安全电子邮件并用于内部通信基础设施的Internet标准
PEM内的协议提供身份验证、消息完整性、加密以及密钥管理
提供多类型的密钥管理过程、对称与公钥加密方法之间的兼容性
兼容PKCS
具体组件
使用AES一CBC模式来加密消息
使用RSA来提供密钥管理
使用X.509标准来提供证书的结构和格式
消息安全协议(Message Security Protocol,MSP)
是军用的PEM
是美国国家安全局(NSA)开发
是一个用于保护电子邮件消息的、与X.400兼容的应用级协议
MSP可以用于对消息进行签名和加密以及执行散列算法,与PEM一样
结合MSP的应用程序能够兼容各种不同的算法和参数,提供更高的灵活性
可靠加密
定义
一个广泛使用的公钥加密程序
是一个完整的密码系统,使用加密来保护电子邮件和文件
PGP主要使用RSA公钥加密来实现密钥管理,使用IDEA对称密码来完成批量 数据的加密
通过使用MD5散列算法来提供完整性,通过使用公钥证书来提供身份验证
以及通过对象消息进行加密签名提供不可否认性
PGP使用自己的数字证书类型
组件
对称密钥算法
非对称密钥算法
消息摘要算法
密钥
协议
必要的软件组件
量子密码术
定义
在量子密码术(quantum cryptography)中,光子偏振常用于表示位值0或1)
偏振是电磁波(光子所在)的方向
光子是组成光的微粒
电磁波具有水平或垂直,左或右的方向
光子的随机性和创造对称密钥的复杂性有助于确保密钥安全
”查看“一个原子或亚原子微粒都会改变它的属性
Internet安全
HTTP
HTTP是Web协议
HTTP协议在TCP/IP协议之上
是一种无状态连接协议
即客户端和Web服务器的每隔操作都会生成或断开一个连接
HTTP安全
HTTP安全(HTTP Secure,HTTPS)
是在SSL上运行的HTTP(http在应用层上运行,而SSL在传输层运行
SSL使用公钥加密,而且提供数据加密、服务器身份验证、消息完整性以及可选用户端身份验证
TLS(Transport Layer Secure,TLS)
传输层安全
TLS更加扩展,并且向后兼容SSL
安全HTTP
S-HTTP
是一种用于保护两台计算机之间传送的所有信息的技术
而HTTPS则保护两台计算机之间的通信通道、消息和其他所有内容
HTTPS使用SSL/TLS和HTTP来提供客户端和服务器之间的保护电路
因此需要对单条信息加密,那么就可以使用S-HTTP;
安全电子交易
Secure Electronic Transaction,SET)
描述
是一种由visa和MasterCard提出的安全技术
是一种加密协议和基础设施,开发它是为了通过Internet发送加密的信用卡号
涉及实体
发卡方(持卡人的银行
给个人提供信用卡的金融机构
持卡人
被授权使用信用卡的个人
商家
提供商品的实体
收款方(商家银行)
处理支付卡的金融机构
支付网关
处理商家的支付,可以是收款方
cookie
描述
cookie是浏览器保存在用户硬盘上的文本文件
它具有各种不同的用途,其中一些用于人数统计和广告信息
当用户在网上从一个站点访问另一个站点时,这些站点会将数据写入cookie并存储在用户的系统中
站点能够跟踪用户的浏览和消费习惯以及用户在某些站点的特殊定制
一些cookie以文本形式存储在硬盘上,这这文件应不包含任何敏感信息如账号和口令等
包含敏感信息的cookie驻留在内存中,而不是硬盘
安全外壳
SSH
类似于一种隧道机制,为远程计算机提供终端式访问
SSH是一种能够用于通过网络访问另一台计算机的程序
SSH在易受攻击的通道(如Internet)提供身份验证和安全传输
SSH还可以用于文件传输和端口重定向的安全通道
由一个程序和一些列协议组成,它们提供两台计算机之间的安全通道,两台计算机会进行握手
并且(通过DH)交换会话密钥,这个会话密钥将在会话过程中加密和保护传送的数据
IPSEC
Internet协议安全
提供了一种为两台设备之间交换受保护数据而建立安全通道的方法
IPSEC使用两个基本的安全协议
身份验证首部(AH)
身份验证
封装安全净荷(ESP)
来源身份验证
机密性
消息完整性
是一种身份验证和加密协议
模式
传输模式
隧道模式
Internet密钥交换IKE
密钥管理协议
ISAKMP
攻击
被动攻击
偷听和嗅探数据
很难被检测
哈密文攻击
攻击者拥有若干消息的密文,每条消息都是使用相同的加密算法加密的
攻击者的目标是找出加密过程中使用的密钥
这种数据主动攻击类型,很难成功
已知明文攻击
攻击者拥有一条或多条消息的明文和相对应的密文
并且能够截获被加密的消息,从而获得密文
通过逆向工程、频率分析和蛮力攻击来解密
选定明文攻击
攻击者拥有明文和密文,不过可以选择已加密的明文来查看相应的密文
这赋予攻击者更强大的攻击力
选定密文攻击
攻击者通过解密的密文,并且可以获得解密后的明文
攻击者可能需要控制包含密码系统的系统,更为困难的攻击
差分密码分析
这种攻击会查看对具体特定差异的明文进行加密而生成的密文对,并且分析这些差异的影响和结果
线性密码分析
它通过执行函数来确定使用分组算法的加密过程中利用某个特定密钥的最大概率
旁路攻击
通过收集外部信息来破解加密秘钥
如检测功率消耗、辐射排放以及进行某些数据处理等
借助这些消息,攻击者可以通过逆向过程倒推处理过程,获取加密秘钥或敏感数据
重放攻击
攻击者捕获了某些类型的数据并重新提交它,从而寄希望与欺骗社诶误认为这些事合法信息
时间标记和序列号是防御重放攻击的两个对策
代数攻击
分析算法内使用的数学原理中存在的脆弱性,利用了其内在的代数结构
分析式攻击
与简单穷尽全部可能性但不注意算法特殊性的蛮力攻击想发,分析式攻击会确定算法结构上的弱点或缺陷
双重DES攻击和RSA因式分解攻击属于分析式攻击
统计式攻击
确定算法设计中的统计弱点并对其加以利用
如确定统计模式
将0或1的数量进行比较
某个随机数生成器可能出现偏差