导图社区 密码学
密码学是研究编制密码和破译密码的技术科学。研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学;应用于破译密码以获取通信情报的,称为破译学,总称密码学。 本图是知识大纲。
编辑于2022-11-23 17:37:24 陕西密码学
对称密码体制
分组密码体制
概述
通常取m=n。若m>n,则为有数据扩展的分组密码。若m<n,则为有数据压缩的分组密码。设计算法应满足下述要求: (1)分组密码n要足够大,使分组代换字母表中的元素个数2^n足够大,防止明文穷举攻击法奏效。 (2)密钥量要足够大(即置换子集中的元素足够多),尽可能消除密钥并使所有密钥同等地好,以防止密钥穷举攻击奏效。但密钥又不能过长,以便于密钥的管理。 (3)由密钥确定置换的算法要足够复杂,充分实现明文与密钥的扩散和混淆,没有简单的关系可循,能抗击各种已知的攻击,如差分攻击和线性攻击;有高的非线性阶数,实现复杂的密码交换;使对手破译时除了用穷举法外,无其他捷径可循。 (4)加密和解密运算简单,易于软件和硬件高速实现。 (5)数据扩展尽可能小。一般无数据扩展,在采用同态置换和随机化加密技术时可引入数据扩展。 (6)差错传播尽可能小。
代换和置换
扩散和混淆
所谓扩散,就是将明文的统计特性扩散到密文中去,实现方式是使得密文中每一位由明文中多位产生。 分组密码在将明文分组依靠密钥变换到密文分组时,扩散的目的是使明文和密文之间的统计关系变得尽可能复杂,以使敌手无法得到密钥。混淆是使密文和密钥之间的统计关系变得尽可能复杂,以使敌手无法得到密钥。
Feistel密码结构
乘积密码指顺序地执行两个或多个基本密码系统,使得最后结果的密码强度高于每个基本密码系统产生的结果。Feistel 提出的代换和置换的方法,其思想实际上是Shannon 提出的利用乘积密码实现混淆和扩散思想的具体应用。
Feistel 网络的实现与以下参数和特性有关: (1)分组大小。分组越大则安全性越高,但加密速度就越慢。分组密码设计中最为普遍使用的分组大小是64比特。 (2)密钥大小,密钥越长则安全性越高,但加密速度就越慢。 (3)轮数。单轮结构远不足以保证安全性,多轮结构可提供足够的安全性。 (4)子密钥产生算法。该算法的复杂性越高,密码分析的困难性就越大。 (5)轮函数。轮函数的复杂性越高,密钥分析的困难性也越大。
最后一轮不做左右对换
分组密码设计原则
安全性原则 密码算法要有一定的安全强度
混淆原则
要求所设计的密码应该是密钥和密文之间的的依赖关系尽可能复杂,以至于无法被攻击者利用
扩散原则
明文的每个比特位影响密文尽可能多的比特位,输入微小的变化导致输出多位变化
抗已知攻击原则
实现原则 密码算法要易于实现
软件实现原则
硬件实现原则
DES 数据加密标准
DES 描述
图的左边是明文的处理过程,有三个阶段,首先是一个初始置换IP,用于重排明文分组的64比特数据。然后是具有相同功能的16轮变换,每轮中都有置换和代换运算,第16轮变换的输出分为左右两半,并被交换次序。最后再经过一个逆初始置换IP^-1(为IP的逆)从而产生64比特的密文。除初始置换和逆初始置换外,与Feistel 密码结构完全相同。 图右边是使用56比特密钥的方法。密钥首先通过一个置换函数,然后,对加密过的每一轮,通过一个左循环移位和一个置换产生一个子密钥,其中每轮的置换都相同,但由于密钥被重复迭代,所以产生的每轮子密钥不相同。
初始置换:用于重排明文分组的64比特
轮结构&密钥产生
解密
和Feistel 密码一样,DES 的解密和加密使用同一算法,但子密钥使用的顺序相反。
二重DES
中途相遇攻击
两个密钥的三重DES
密钥长度112位
三个密钥的三重DES
密钥长度168位
密码学历史上第一个广泛应用于商用数据保密的密码算法是DES。 差分攻击是针对DES算法的分析攻击。 DES算法弱密钥的个数为4 DES算法不再安全的主要原因是:密钥空间的限制,容易被穷举攻击 DES密码中所有的弱密钥、半弱密钥、四分之一弱密钥和八分之一弱密钥全部加起来,一共有256个安全性较差的密钥。
DES安全性⭐️‼️
分组密码运行模式
电码本(ECB)模式 描述:每个明文组独立地以同一密钥加密 用途:传送短数据(如一个加密密钥) 特点:简单快速,可并行计算
密码分组链接(CBC)模式 描述:加密算法的输出是当前明文组与前一密文组的异或 用途:传送数据分组;认证 特点:仅解密支持并行计算
密码反馈(CFB)模式 描述:每次只处理输入的j比特,将上一次的密文用作加密算法的输入以产生伪随机输出,该输出再与当前明文异或以产生当前密文 用途:传送数据流;认证 特点:仅解密支持并行计算
输出反馈(OFB)模式 描述:与CFB类似,不同之处是本次加密算法的输入为前一次加密算法的输出 用途:有扰信道上(如卫星通信)传送数据流 优点:传输过程中的比特错误不会被传播 缺点:比CFB模式更容易受到对消息流的篡改攻击 特点:不支持并行计算
计数器(CTR)模式 特点:支持并行计算
AES 算法——Rijndael
Rijndael的数学基础和设计思想
有限域上的多项式加法
在多项式表示中GF(2^8)上两个元素的和仍然是一个次数不超过7的多项式,其系数等于两个元素对应系数的模2加(比特异或)。
有限域上的多项式乘法
要计算GF(2^8)上的乘法,必须先确定一个GF(2)上的8次不可约多项式;GF(2)上的8次不可约多项式;GF(2^8)上两个元素的乘积就是这两个多项式的模乘(以这个8次不可约多项式为模)。
设计思想
Rijndael 密码的设计力求满足一下3条标准: (1)抵抗所有已知的攻击。 (2)在多个平台上速度快,编码紧凑。 (3)设计简单。 Rijndael 其轮函数是由3个不同的可逆均匀变换组成的,称它们为3个"层"。所谓"均匀变换",是指状态的每个比特都是用类似的方式进行处理的。不同层的特定选择大部分是建立在"宽轨道策略"的应用基础上;简单地说,"宽轨道策略"就是提供抗线性密码分析和差分密码分析能力的一种设计。为实现宽轨道策略,轮函数3个层中的每一层都有它自己的功能。 (1)线性混合层:确保多轮之上的高度扩散。 (2)非线性层:将具有最优的"最坏情况非线性特性"的S盒并行使用。 (3)密钥加层:单轮子密钥简单的异或到中间状态上,实现一次性掩盖。
算法说明
1、状态、种子密钥和轮数
2、轮函数 Rijndael 的轮函数由4个不同的计算部件组成,分别是字节代换、行移位、列混合、密钥加。
1、字节代换:字节代换是非线性的变换,独立地对状态的每个字节进行。代换表(即S盒)是可逆的 ⭐️S 盒变换是AES的唯一的非线性变换,是AES安全的关键
2、行移位:行移位是将状态阵列的各行进行循环移位,不同状态行的位移量不同。第0行不移动,第一行循环左移C1个字节,第二行循环左移C2个字节,第三行循环左移C3个字节。 ⭐️属于线性变换,起扩散作用
3、列混合:在列混合变换中,将状态阵列的每个列视为GF(2^8)上的多项式,再与一个固定的多项式c(x)(x^4+1的可逆多项式)是进行模x^4+1乘法 ⭐️属于线性变换,起扩散作用
4、密钥加:密钥加是将轮密钥简单地与状态逐比特异或。轮密钥由种子密钥通过密钥编排算法得到,轮密钥等于分组密钥长度Nb
3、密钥编排 (1)轮密钥的比特数等于分组长度乘以轮数加1; (2)种子密钥被扩展成为扩展密钥; (3)轮密钥从扩展密钥中取,其中第1轮轮密钥取扩展密钥的前Nb 个字,第二轮轮密钥取接下来的Nb 个字,如此下去。
4、加密算法 加密算法为顺序完成以下操作:初始的密钥加;(Nr-1)轮迭代;一个结尾轮。
安全性
中国商用密码SM4
SM4算法是分组密码算法,其中数据分组长度为128比特,密钥分组长度也为128比特。加密算法与密钥扩展算法都采用32轮迭代结构,以字节(8位)和字(32位)为单位进行数据处理。
1、基本运算
2、基本密码部件
1)S盒
以输入的前半字节为行号,后半字节为列号,行列交叉点处的数据即为输出
2)非线性变换t
3)线性变换部件L
线性变换部件L是以字为处理单位的线性变换,其输入输出都是32位的字,它的密码学所用是扩散。
4)合成变换T
3、轮函数
4、加密算法
5、解密算法
解密算法与加密算法相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序
6、密钥扩展算法
SM4算法加密是输入128位的密钥,采用32轮迭代结构,每一轮使用一个32位的轮密钥,共使用32个轮密钥。使用密钥扩展算法,从加密密钥产生出32个轮密钥。
1)常数FK
2)固定参数CK
3)密钥扩展算法
7、SM4安全性
公钥密码体制
基础知识
群环域
群
环
域
基本定理
费尔马定理
欧拉定理
欧几里得算法
求最大公因子
求乘法逆元
中国剩余定理
离散对数
公钥密码体制的基本概念
传统密码体制的不足:难以解决签名和认证问题 消息接收方可以伪造原文 消息发送方可以否认所发的消息 未解决消息的真实性和不可否认问题
公钥密码算法的基本工具不再是代换和置换,而是数学函数;公钥密码算法以非对称的形式使用两个密钥,两个密钥的使用对保密性、密钥分配、认证等都有着深刻的意义。
公钥密码体制的原理
公钥密码算法的最大特点是采用两个相关密钥将加密和解密能力分开,其中一个密钥是公开的,称为公开密钥,简称公开钥,用于加密;另一个密钥是为用户专用,因而是保密的,称为秘密密钥,简称秘密钥,用于解密。因此公钥密码体制也称为双密码体制。算法有以下重要特性:已知密码算法和加密算法,求解密算法在计算上是不可行的。
公钥密码体制的基本条件
公钥体制加密
公钥密码的工作方式
基本概念
确保数据机密性
确保数据真实性
同时确保数据机密性和真实性
公钥密码体制认证
公钥密码算法应满足的要求
对公钥密码体制的攻击
穷搜索攻击
寻找从公开钥计算秘密钥的方法
可能字攻击
本质是对密钥的穷搜索攻击,抵抗方法是在欲发送的明文消息后添加一些随机比特。
RSA算法
算法描述
RSA的安全性
(1)|p-q|要大
(2)p-1和q-1都应有大素因子
(3)
RSA算法参数的选取
(1)p和q 要足够大
(2)p和q要是强素数
(3)p和q位数不能像差太小,也不能太大
(4)在给定的条件下,找到的d=e,这样的密钥必须舍弃
(5)p-1和q-1的最大公因子,最好是2,可选择p和q为理想的强素数
(6)e的选择
(7)d的选择
(8)模数n的使用限制
对RSA的攻击
公模攻击
低指数攻击
时间侧信道攻击
攻击步骤
基本思想
防御方法
1、加随机延迟 2、RSA Blinding 3、分支平衡化 4、蒙哥马利乘法
Rabin密码体制
特点: 1、它不是以一一对应的单向陷门为基础,对同一密文,可能有两个以上对应的明文。 2、破译该体制等价于对大整数的分解。
算法描述
ELGamal密码算法
初始化
加密
解密
解密过程的正确性
特点
1、由于实际应用时ELGamal密码运算的素数p比RSA要小很多,所以ELGamal密码的加密速度比RSA快 2、ELGamal密码的解密钥d和随机数k都应是高质量的随机数。应用ELGamal密码需要一个好的随机数源 3、为了ELGamal密码的安全,p应为150位(十进制数)以上的大素数,而且p-1应有大素因子
密码算法安全性
1、由于ELGamal密码的安全性建立在GF(p)离散对数的困难性上,而目前尚无求解GF(p)离散对数的有效算法,在足够大时ELGamal密码算法是安全的 2、为了安全p应为150位以上的十进制数,而且p-1应有大素因子 3、d和k都不能太小或太大,否则容易受到穷举攻击 4、k必须是一次性的,如果k被破解,而y又是公开的,则可根据U=y^k mod p计算得到U,而密文C2=UM mod p是公开的,通过计算U^-1即可实现解密 5、设用同一个k加密不同的明文M和M’,相应的密文为(C1,C2)和(C1’,C2’)。因为C2/C2’=M/M',如果攻击者知道了M,则很容易求出M'
椭圆曲线密码体制
椭圆曲线
椭圆曲线上的点数
GF (p)上椭圆曲线密码算法
椭圆曲线上的密码
⭐️在现有计算能力条件下,对于非对称密码算法Elgamal,被认为是安全的最小密钥长度是160位
Differ-Hellam密钥交换
例:
ElGamal 密码体制
椭圆曲线实现ElGamal 体制
例:
优点
与基于有限域上离散对数问题的公钥密码体制(如Diffie-Hellam 密钥交换和ElGamal密码体制)相比,椭圆曲线密码体制有以下优点: (1)安全性高;(2)密钥量小;(3)灵活性好
哈希函数与消息认证码
消息认证
对消息的认证
消息认证机制和数字签名机制都有产生认证符的基本功能,这一基本功能又作为认证协议的一个组成部分。认证符是用于认证消息的数值,它的产生方法又分为消息认证码(MAC)和哈希函数(HF)两大类。
消息认证码是指消息被一个密钥控制的公开函数作用后产生的、用做认证符的、固定长度的数值,也称为密码校验和。
基本思路
三种方式(MAC)
产生MAC的函数应满足的要求
1、敌手不需要找出密钥K而伪造一个与截获的MAC相匹配的新消息在计算上是不可行的。
2、敌手如果截获一个MAC,则伪造一个相匹配的消息的概率为最小。
3、函数C不应在消息的某个部分或某些比特弱于其他部分或其他比特,否则敌手获得M和MAC后就有可能修改M中弱的部分,从而伪造出一个与原MAC相匹配的新消息。
数据认证算法
哈希函数
定义:哈希函数H是一公开函数,用于将任意长的消息M映射为较短的、固定长度的一个值H(M),作为认证符,称函数值H(M)为哈希值或哈希码或消息摘要。哈希码是消息中所有比特的函数,因此提供了一种错误检测能力,即改变消息中任何一个比特或几个比特都会使哈希码发生改变。
基本方式
哈希函数应满足的条件
1、函数的输入可以是任意长
2、函数的输出是固定长
3、已知x,求H(x)较为容易,可用硬件或者软件实现。
消息认证的基本要求
4、已知h,求使得H(x)=h的x在计算上是不可行的,这一性质称为函数的单向性,称H(x)为单向哈希函数。
单向性
5、已知x,找出y(y不等于x)使得H(y)=H(x)在计算上是不可行的。如果单向哈希函数满足这一性质,则称其为弱单向哈希函数。
6、找出任意两个不同的输入x,y使得H(y)=H(x)在计算上是不可行的。如果单向哈希函数满足这一性质,则称其为强单向哈希函数。
无碰撞性
生日悖论&生日攻击
迭代型哈希函数的一般结构
MD5哈希算法
算法描述
(1)对消息填充 对消息填充,使得其比特长在模512下为448,即填充后消息的长为512的某一倍数减64,留出的64比特备第(2)步使用。步骤(1)是必需的,即使消息长度已满足要求,仍需填充。填充的方式是固定的:第一位为1,其后各位皆为0。
(2)附加消息的长度 用步骤(1)留出的64比特以小端方式来表示消息被填充前的长度。如果消息长大于2的64次方,则取模。
(3)对MD缓冲区初始化 4*32
(4)以分组为单位对消息进行处理
(5)输出
MD5的安全性
Rivest 猜想作为128比特长的哈希值来说,MD5的强度达到了最大
安全哈希函数(SHA)
算法描述
算法的输入为小于2的54次方比特长的任意消息,分为512比特长的分组,输出为160比特长消息摘要。
(1)对消息填充。与MD5步骤相同
(2)附加消息长度。以大端方式表示填充前消息的长度。
(3)对MD缓冲区初始化。 5*32
(4)以分组为单位对消息进行处理。
(5)输出
SHA 与MD5的比较
(1)抗穷搜索攻击的强度:由于SHA和MD5的消息摘要长度分别为160和128,所以用穷搜索攻击寻找具有给定消息摘要的消息分别需做O(2^160)和O(2^128)次运算,而用穷搜索攻击找出具有相同消息摘要的两个不同消息分别需做O(2^80)和O(2^64)次运算。因此,SHA抗击穷搜索攻击的强度高于MD5抗击穷搜索攻击的强度。
(2)抗击密码分析攻击的强度:由于SHA的设计准则未被公开,所以它抗击密码分析攻击的强度较难判断,似乎高于MD5。
(3)速度:由于两个算法的主要运算都是模2^32加法,因此都易于在32位结构上实现。但比较起来SHA的迭代步数(80)多余MD5的迭代步数(64),所用的缓冲区(160bit)大于MD5使用的缓冲区(128bit),因此在相同硬件上实现时,SHA的速度慢于MD5的速度。
(4)简洁与紧致性;两个算法描述起来都较为简单,实现起来也比较方便,都不需要大的程序和代换表。
(5)数据的存储方式:MD5使用小端方式,SHA使用大端方式。
HMAC
HMAC设计目标
(1 )可不经修改而使用现有的哈希函数,特别是那些易于软件实现的、源代码可方便获取且免费使用的哈希函数。
(2 )其中镶嵌的哈希函数可易于替换为更快或更安全的哈希函数。
将哈希函数当做一个黑盒使用,可事先准备好,也方便替换。
(3 )保持镶嵌的哈希函数的最初性能,不因用于HMAC 而使其性能降低。
(4 )以简单方式使用和处理密钥。
(5 )在对镶嵌的哈希函数合理假设的基础上,易于分析HMAC 用于认证时的密码强度。
算法描述
(1)K的左边填充0以产生一个b比特长的K+
(2)K+与ipad逐比特异或以产生b比特的分组Si
(3)将M链接到Si后面
(4)将H作用于第(3)步产生的数据流
(5)K+与opad逐比特异或以产生b比特长的分组S0
(6)将第(4)得到的哈希值链接在S0后
(7)将H作用于第(6)步产生的数据流并输出最终结果
HMAC的安全性
数字签名
概念
性质
(1)能够验证签名产生者的身份,以及产生签名的日期和时间 (2)能用于被签消息的内容 (3)数字签名可又第三方验证,从而能够解决通信双方的争议
认证功能(抗击主动攻击)
特点
保证
可验证
防抵赖
防假冒
防篡改
防伪造
三个过程
初始化
签名产生过程
产生方式
由加密算法产生数字签名
将消息或消息的摘要加密后的密文作为对该消息的数字签名
单钥加密
公钥加密
(b)中任何人持有A的公钥都可以将其解密,所以不具有保密性
由签名算法产生数字签名
签名验证过程
执行方式
直接方式
数字签名的执行过程只有通信双方参与,并假定双方有共享的秘密钥或接收一方知道发送方的公开钥。 弱点:方案的有效性取决于发送方秘密钥的安全性。
具有仲裁的方式
对于仲裁者可和发送方共谋以否认发送方曾发过的消息,也可和接收方共谋以伪造发送方的签名。这一问题可通过公钥加密技术得以解决。
数字签名标准(DSS)
算法
离散对数问题
DSA
DSA 是在ELGamal 和Schnorr 两个签名方案的基础上设计的其困难性基于求离散对数的困难性
验证
ElGamal
Schnorr
因式分解
RSA
为防止对RSA数字签名的攻击: 1、不直接对数据M签名,而是对HASH(M)签名 2、使用时间戳 3、对于同时确保机密性和真实性的通信,应当先签名后加密
基于身份的数字签名体制
ELGamal
Schnorr
密码学基础
对密码系统的攻击类型
唯密文攻击 攻击者掌握的内容: 加密算法;截获的那部分密文 ⭐️最困难的攻击类型
已知明文攻击: 攻击者掌握的内容: 加密算法;截获的部分密文;一个或多个明文密文对
选择明文攻击: 攻击者掌握的内容: 加密算法;截获的部分密文;自己选择的明文消息,及由密钥产生的相应密文
分组密码分析中,多采用已知明文或选择明文攻击
选择密文攻击: 攻击者掌握的内容: 加密算法;截获的部分密文;自己选择的密文消息,及相应的被解密的明文
主要用于攻击公钥密码算法,特别是签名算法
密码学分类
密码学又可以分为:密码编码学和密码分析学(还有密钥管理学)
保密系统的组成
明文、密文、密钥、加密算法和解密算法
传统密码体制
传统密码体制主要有两种:置换密码和代换密码
置换密码又叫换位密码,最常见的置换密码有列置换和周期转置换密码
网络安全要保障
CIA
机密性(confidentiality)
完整性(integrity)
可用性(Availability)
五点
1、机密性 2、完整性 3、真实性 4、可用性 5、不可否认性
密码学解决的问题
机密性:防止敏感信息泄露
完整性:防止关键信息被篡改
真实性:防止身份或数据假冒
不可否认性:防止攻击行为抵赖
信息安全威胁
被动攻击
监听(保密性)
消息内容获取
业务流分析
主动攻击
伪造(真实性)
篡改(完整性)
否认(不可否认性)
Kerckhoffs 原则
密码体制的安全性仅应依赖于对密钥的保密,而不应依赖于对算法的保密。
流密码
流密码的基本概念
分组密码与流密码的区别在于有无记忆性
同步流密码
一次一密是加法流密码的原型。在实际应用中,密码设计者最大的愿望是设计出一个滚动密钥生成器,使得密钥k经其扩展成的密钥流序列z 具有如下性质:极大的周期、良好的统计特性、抗线性分析、抗统计分析。
有限状态自动机
密钥流产生器
序列密码的结构可分为:驱动密码和组合部分。
RC4
按目前的计算能力,RC4算法的密钥长度至少应为128才能保证安全强度
RC4密码与基于移位寄存器的序列密码不同是一种基于非线性数据表变换的序列密码
线性反馈移位寄存器
线性反馈移位寄存器输出序列的性质完全由其反馈函数决定。n级线性反馈移位寄存器最多有2^n个不同的状态。若其初始状态为0,则其状态恒为0。若其初始状态非0,则其后继状态不会为0。因此n级线性反馈移位寄存器的状态周期小于等于2^n-1。其输出序列的周期与状态周期相等,也小于等于2^n-1。只要选择合适的反馈函数便可使序列的周期达到最大值2^n-1,周期达到最大的序列称为m序列。
线性移位寄存器的一元多项式表示
m序列的伪随机性
流密码的安全性取决于密钥流的安全性,要求密钥流序列有好的随机性,以使密码分析者对它无法预测。也就是说,即使截获其中一段,也无法推测后面是什么。如果密钥流是周期的,要完全做到随机性是困难的。严格地说,这样的序列不可能做到随机,只能要求截获比周期短的一段时不会泄露更多信息,这样的序列称为伪随机序列。
周期
游程
周期自相关函数
Golomab假设(伪随机周期序列应满足的三个随机性公设)
满足密码体制的另外三个条件
(1){ai}的周期相当大。 (2){ai}的确定在计算上是容易的。 (3)由密文及相应的明文的部分信息,不能确定整个{ai}。
非线性反馈移位寄存器
认证
认证的概念
认证和数字签名的区别
认证和加密的区别
加密用以确保数据的机密性 认证用以确保当事人身份的真实性以及数据的完整性
身份认证——口令
口令的双向验证
安全性分析
身份认证——数字签名
消息认证
信源的认证
采用传统密码
采用公钥密码
信宿的认证
消息内容的认证
公钥基础设施(PKI)
公钥密码密钥管理
虽然公开密钥密码体制的加密钥(公钥)可以公开;其秘密性不需要保护,但其完整性和真实性却必须严格保护。 公开密钥密码体制的解密钥的秘密性、真实性和完整性都必须保护。
密钥的安全性需求
传统密码体制的密钥本质上是一种随机数或随机序列,因此传统密码体制的密钥产生本质上是产生具有良好密码特性的随机数或随机序列。 公开密钥密码体制的本质是一种单向陷门函数,它们都是建立在某一数学难题之上的。不同的公开密码密钥体制所依据的数学难题不同,因此其密钥产生的具体要求不同。但是,它们都必须满足密码安全性和应用的有效性对密钥所提出的要求。
RSA密码的密钥产生
椭圆曲线密码的密钥产生
PKI
概念
公钥证书、证书管理机构、证书管理系统、围绕证书服务的各种软硬件设备以及相应的法理基础共同组成公开密钥基础设施PKI(Public Key Infrastructure) 公开密钥基础设施提供一系列支持公开密钥密码应用(加密与解密、签名与验证签名)的基础服务。本质上,PKI是一种标准的公钥密码的密钥管理平台。
构成
公钥证书(PKI中最基础的组成部分)
概念
公钥证书是一种包含持证主体标识、持证主体公钥等信息,并由可信签证机构(CA)签署的信息集合。 公钥证书主要用于确保公钥的安全,确保公钥与用户标识符之间绑定关系的安全。这个公钥就是证书所标识的那个主体的合法的公钥。 公钥证书的持证主体可以是人、设备、组织机构或其他主体。 公钥证书可以以明文的形式进行存储和分配。
好处
1、用户只要获得用户的证书,就可以获得用户的公钥 2、用户只要获得CA的公钥,就可以安全地认证用户的公钥
X.509
认证
撤销
签发证书的机构(CA) Certificate Authority
在PKI中,CA负责签发证书、管理和撤销证书。CA严格遵循证书策略机构所制定的策略签发证书。CA是所有注册用户所信赖的权威机构。 CA在给用户签发证书时要加上自己的签名,以确保证书信息的真实性。为了方便用户对证书的验证,CA也给自己签发证书。为了方便用户对证书的验证,CA也给自己签发证书。这样,整个公钥的分配都通过证书形式进行。
注册登记证书的机构(RA)
注册机构RA(Registration Authority)是专门负责受理用户申请证书的机构。负责对证书申请人的合法性进行认证,并决定是批准或拒绝证书申请
存储和发布证书的目录,密钥管理,时间戳服务
管理证书的各种软件和硬件设备
证书管理与应用的各种政策和法律
证书的使用者
信任模型
CA签发证书过程