密码基础知识框架
2023-03-01 22:57:39 18 举报
AI智能生成
商用密码基础知识框架
作者其他创作
大纲/内容
密码应用概述
密码的概念与作用
密码的概念
采用特定变换的方法对信息等进行加密保护、安全认证的技术、产品和服务。
密码的重要作用
实现网络空间信息防泄漏、内容防篡改、身份防假冒、行为抗抵赖的功能,满足网络空间与信息系统对保密性、完整性、真实性和不可否认性等安全需求。
密码算法和密码协议可解决人、机、物的身份表示、身份鉴别、统一管理、信任传递和行为审计问题,是实现安全、可信、可控的互联互通的核心技术手段。
守护国家、公民、法人和其他组织的安全。
密码功能与密码应用
密码的功能
信息的保密
信息的保密性是指保证信息不背泄露给非授权的个人、进程等实体的性质。
采用密码技术中加密和解密技术,可以方便的实现信息的保密性。
信息来源的真实
信息来源的真实性是指保证信息来源可靠、没有被伪造和篡改的性质。实体身份的真实性是指信息收发双方身份与声称的相一致。
采用密码技术中的安全认证技术,可以方便的实现信息来源的真实性。
数据的完整
数据完整性与信息来源的真实性的区别在于,数据完整性并不要求数据来源的可靠性,但数据来源真实性一般要依赖于数据完整性。
采用密码杂凑算法可以很方便的实现数据的完整性。
行为的不可否认
不可否认性也称为抗抵赖,通常指一个已经发生的操作行为无法否认的性质。
采用数字前面算法可以很方便的实现行为的不可否认性。
密码应用技术框架
密码应用
密码应用层
安全电子邮件系统
电子印章系统
安全公文传输
桌面安全防护
权限管理系统
可信时间戳系统
其它密码应用
密码服务层(提供密码应用接口)
对称密码服务
公钥密码服务
其它密码服务
密码支撑层(提供密码资源调用)
安全芯片类
密码模块类
密码整机类
其它密码功能产品及其集成关系
密码资源层(提供基础密码资源)
软硬件
算法软件
算法IP核
算法芯片
其它密码算法软硬件
算法
序列算法
分组算法
公钥算法
杂凑算法
随机数生成算法
其他密码算法
密码管理
运维管理
信任管理
设备管理
密钥管理
密码应用中的安全问题
密码技术被弃用
信息系统应用开发商对密码在安全防护中的重要地位缺乏认识,为节省资源或贪图便利,在开发工作中故意忽视密码技术。
密码计算被乱用
信息系统应用开发商对密码在信息互联互通的重要作用缺乏认识,不严格执行密码标准,不规范调用密码技术。
密码技术被误用
信息系统应用开发商对密码应用缺乏技能和经验,不清楚合规性要求,不了解密码算法的类型、协议参与方的角色要求、关键参数等类型和规模等基本知识,错误调用密码技术。
密码应用安全性评估基本原理
信息安全的管理过程
信息安全管理标准
国际标准
ISO/IEC 27001:2013 信息安全管理标准
ISO/IEC TR13335 信息安全管理指南
NIST SP800 信息安全指南
国家标准
GB/T 22080-2016 《信息技术 安全技术 信息安全管理体系要求》
PDCA管理循环
计划(Plan)阶段
确保正确建立信息安全管理体系的范围和详略程度,识别并评估所有的信息安全风险,为这些风险制定适当的处理计划,给出风险评估和最终的信息系统安全控制方案。
实施(Do)阶段
以适当的优先权进行管理运作,执行所选择的控制,用以管理计划阶段所识别的信息安全风险。
检查(Check)阶段
通过多种方式检查信息安全管理系统是否运行良好,防止信息系统处于不可接受的风险状态。
改进(Act)阶段
根据检查阶段的结论来改进系统。
信息安全风险评估
信息安全风险评估的定义
确定和认识信息系统安全风险,并对风险进行分析,根据选定的标准对风险进行评价,从而为进一步处置风险提供科学依据的过程
信息安全风险评估的目的和用途
目的是评价目标实体的安全风险
用途是根据既定的风险接受准则判定风险是否被接受:对于可接受的风险,只做表示、监视而不做额外控制;对于不可接受风险,采取措施将其降低到可接受程度。
信息安全风险评估的基本要素
资产(Asset)
对组织有价值的信息或者资源,是安全策略保护的对象,主要指通过信息化建设积累起来的信息系统、信息、生产或服务能力、人员能力和赢得的信誉等。包括计算机硬件、通信设施、建筑物、数据库、文档信息、软件、信息服务和人员。
威胁(Threat)
可能对资产或组织造成损害的意外事件的潜在因素,既某种威胁源成功利用特定弱点对资产造成负面影响的潜在可能。
脆弱性(Vulnerability)
也称漏洞,既可能被威胁利用的资产或若干资产的薄弱环节。
风险(Risk)
即威胁发生时,给组织带来的直接或间接的损失或损害。
安全措施(Security Measure)
是保护资产、抵御威胁、减少脆弱性、降低安全事件的影响,以打击信息犯罪而实施的各种实践、规程和机制。
密码应用安全性评估的定位
密码应用安全性评估在密码应用管理中的定位
在计划(Plan)阶段,对密码应用方案进行评估,密码应用方案通过评估后进入实施(Do)阶段,建设方依据密码应用方案进行密码应用建设。
在检查(Check)阶段,对信息系统进行初次/定期/应急评估,若评估未通过则进入改进(Act)阶段,进行新一轮的PDCA管理循环。
密码应用安全性评估与信息安全产品检测的关系
信息系统由包括密码产品在内的各类信息安全产品有机组合而成,密码应用安全性评估面向的是整个系统。
密码产品的安全等级与信息系统安全等级无直接关系,例如安全等级为三级的信息系统,可以使用安全等级为二级的密码产品。
密码应用安全性评估与信息系统安全的关系
密码应用安全性评估对信息系统采用的密码算法、密码技术、密码产品和密码服务进行全面规范,对密码应用技术和管理的各个层面提出系统性的要求,并在信息系统规划、建设和运行等阶段规范实施,能够有效保障密码应用的整体安全、系统安全和动态安全。
密码应用安全性评估与信息安全风险评估的关系
在密码应用安全性评估过程中,测评人员要根据威胁类型和威胁发生频率,判断测评结果汇总中部分符合项或不符合项嗦产生的安全问题被威胁利用的可能性;根据资产价值的高低,判断测评结果汇总中部分符合项或不符合项所产生的安全问题被威胁利用后,对被测系统的业务信息安全造成的影响程度;结合前两者的结果,对被测系统面临的安全风险进行赋值。
密码应用安全性评估借鉴了风险评估的原理和方案,测评人员需要具有系统化、专业化的密码应用安全性评估能力和一定的信息安全风险评估能力。
密码技术发展
密码技术创新
古典密码
代换密码
代换密码采用一个代换表,将一段明文变换成一段密文,这个代换表就是密钥。
置换密码
置换密码密码是一种特殊的代换密码。
机械密码
通过机械和电动设备,自动实现加密和解密计算。
现代密码
分组密码算法
DES算法
AES算法
非对称密码算法
RSA算法
ELGamal算法
椭圆曲线公钥密码算法
密码杂凑算法
SHA-1算法
SHA-2算法
SHA-3算法
MD4算法
MD5算法
我国商用密码发展历程
分组密码算法
SM4算法
序列密码算法
ZUC算法
密码杂凑算法
SM3算法
非对称密码算法
SM2算法
标识密码算法
SM9算法
密码技术发展趋势
抗量子攻击
基于格的密码
基于多变量的密码
基于编码的密码
基于杂凑函数的密码
量子密钥分发
抵抗密钥攻击
密钥泄露零容忍
白盒密码
密文计算
极限性能
轻量级对称密码算法设计
轻量级公钥密码算法设计
密码算法
对称密码算法
对称密码算法加密过程与解密过程使用相同的或容易互相推导得出的密钥,即加密和解密两方面的密钥是“对称”的。
分类
序列密码
序列密码由密钥流与明文序列按位进行异或产生密文序列,密钥流由密钥与初始向量(IV)通过密钥流生成算法产生。
常见的序列密码算法
ZUC算法
ZUC算法的结构
上层:LFSR以一个有限域GF(2^31-1)上的16次本原多项式为连接多项式,输出具有良好的随机统计特性。
中间层:BR从LFSR的状态中取出128比特,拼成4个字,供下层的非线性函数F和输出密钥序列使用。
下层:非线性函数F从BR接收3个字作为输入,经过内部的异或、循环为位移和模2^32加法运算,以及两个非线性S盒变换,最后输出一个3比特的W。
ZUC算法的使用
⽣成密钥流时,ZUC算法采⽤128⽐特的初始密钥和128⽐特的IV作为输⼊参数,共同决定LFSR⾥寄存器的初始状态。
每一拍时钟输出一个32比特的密钥流Z。
基于ZUC的两种算法
机密性算法:128-EEA3
完整性算法:128-EIA3
SNOW算法
RC4算法
分组密码
分组密码首先对明文消息根据分组大小进行分组,再将明文分组、密钥和初始向量一起作为输入,通过分组加密算法直接输出密文分组。
工作模式
电码本(ECB)模式
对于某一个分组的加密或解密可独立与其他分组进行。
对密文分组的重排将导致明文分组的重排。
不能隐藏数据模式,即相同的明文分组会产生相同的密文分组。
不能抵抗对分组的重放、嵌入和删除等攻击。
密文分组链接模式(CBC)
链接操作使密文分组依赖于当前的和以前的明文分组,密文分组的重新编排不会导致对应明文分组的重新编排。
加密过程IV进行了随机化,每次加密IV都必须重新生成,避免每次对相同的明文使用相同的密钥加密生成的密文相同。
加密过程串行,无法并行化;解密过程可以并行。
可将最后一个分组的输出结果作为MAC(消息鉴别码),但不能使用初始向量(初始向量全为0),只能为固定长度的消息产MAC。
密文反馈模式(CFB)
输出反馈模式(OFB)
计数器模式(CTR)
支持加密和解密并行计算,可事先生成密钥流,进行加密和解密准备。
只用到了分组密码算法的分组加密操作。
错误密文中的对应比特只会影响解密后密文中对应比特,即错误不会传播。
分组链接模式(BC)
带非线性函数的输出反馈模式(OFBNLF)
CCM模式
GCM模式
常见的分组密码算法
SM4算法
SM4算法描述
密钥扩展算法
密钥扩展算法迭代32轮
加密算法
SM4算法的性能和安全性
在设计上实现了资源重用,密钥扩展过程和加密过程类似。
加密过程和解密过程相同,只是轮密钥使用的顺序正好相反,不仅适用于软件编程实现,更时候硬件芯片实现。
轮变换使用的模块包括异或运算、8比特输出8比特输出的S盒,还有一个32比特输入的线性置换,适合32位处理器实现。
密钥成都是128比特,安全性与AES-128相当,实现比AES简单。
DES算法(数据加密标准)
TDEA算法(三重数据机密算法,也称3DES)
AES算法(高级加密标准)
密钥长度
AES-128:128比特
AES-192:192比特
AES-256:256比特
分组长度
均为128比特
加密轮数
AES-128:10轮
AES-192:12轮
AES-256:14轮
公钥密码算法
公钥密码模型
公钥加密算法
公钥加密算法的加密速度一般比对称加密算法的加密速度慢很多,主要用于短数据的加密,如共享密钥。
使用接受者的公钥对需要保护的消息进行加密,接受者使用自己的私钥解密出原消息。
数字签名算法
数字签名算法主要用于确认数据的完整性、签名者身份的真实性和签名行为的不可否认性等。
数字签名算法一般先使用密码杂凑算法对原始消息进行杂凑运算,再对得到的消息进行数字签名。
使用签名者的私钥对消息进行签名,使用公钥对签名进行签名。
SM2椭圆去相公钥密码算法
椭圆曲线密码基础知识
Elliptic urve Cryptography(ECC)
椭圆曲线并不是椭圆,因其表示的方程式为三次方方程,计算上与椭圆的周长方程相似。
椭圆曲线上的两个基本运算是点加和倍点,他们用来构造点乘(标量乘)算法,点乘运算是椭圆曲线机制核心运算,起效率决定签名/验证、加/解密运算的速度。
SM2算法介绍
SM2数字签名算法
设定相同的公开参数,包括p、n、E和G
p:大素数
E:定义域在有限域的GF(p)上的椭圆曲线(GF(p)表示素域)
n:G在椭圆曲线E上基点的阶数
G:椭圆曲线E上n阶的基点
密钥生成
随机生成一个秘密变量d
计算P=dG,P作为公钥,d作为私钥
签名生成
签名者选取随机数k,计算kG=(x1,y1)(可理解为基点坐标放大)
计算r=(H(M)+x1) mod n,M=Za||m,Za是用户的可辨别标识、部分椭圆曲线系统参数(p、n、E、G)和用户公钥(P)的杂凑值,m为待签名的消息,H为杂凑函数。如果r=0或者r+k=n,则从新选择随机数k(可理解为,对待签名消息先进行杂凑运算)
计算s=(k-rd)/(1+d)mod n,将r和s做为签名结果(可理解为使用私钥对待签名消息的杂凑值进行签名)
签名验证
接收M和(r,s),此时接收者已知的有公钥P,签名结果r,s和基点G,sG+(R+S)P得出放大k倍的基点坐标(x1,y1)
通过P解出的x1和已知的H(使用的杂凑算法),M(待签名消息的杂凑值),n(基点的阶数)计算r1=(H(M)+x1) mod n,验证r1与接收的r进行对比,若相同,则签名验签通过,反之失败。
SM2密钥交换协议
双方分别生成一个随机数ra和rb,计算rG(x,y)将其发送给对方
双方选择大于或等于以2为底n+1的对数的二分之一的最小整数结合rG的x生成xa、xb(将x发送给对方),再通过私钥结合r及x生成t
通过接收的x和rG结合对方的公钥和自己生成的t计算出一个值U或者V,再使用KDF(密钥派生算法)将双方的U和V及双方的标识作为参数,生成一个共享密钥
SM2公钥加密算法
加密算法
选择一个随机数l,计算lG=C1和lP
通过KDF将lP作为参数生成密钥e
将明文M与密钥e进行异或得到C2,将lP和明文M拼接后通过密码杂凑算法生成一个杂凑值C3
将C1、C2、C3拼接生成密文C
解密算法
计算dC1
通过KDF将dC1作为参数生成密钥e
将C2与e进行异或得到明文M
将dC1和得到的明文M进通过杂凑运算生成一个杂凑值并与C3对比,若相等,则输出明文M,反之则报错退出
SM2算法的安全性和效率
安全性高(强度超过RSA-2048,与RSA-3072相当)
密钥短(256比特)
私钥生成简单(只需要生成一个一定范围内的256比特的随机数,RSA则需要两个随机产生的大素数)
签名速度快,通达条件下,速度远超RSA算法
SM2算法的使用
GB/T 35276-2017《信息安全技术 SM2密码算法使用规范》
GB/T 35275-2017《信息安全技术 SM2密码算法加密签名消息语法规范》
SM9标识密码算法
SM9算法介绍
SM9算法采用的基本技术
SM9密码算法涉及有限域和椭圆曲线、双线性对及安全曲线、椭圆曲线上双线性对的运算等基本知识和技术。
SM9密码算法的应用与管理不需要数字证书、证书库或密钥库。
SM9数字签名算法
SM9密钥交换协议
SM9密码密钥封装机制和加密算法
SM9密码算法参数定义
SM9算法的安全性和效率
国外公钥密码算法RSA介绍
RSA算法简介
密钥生成
选择两个随机的大素数p和q,计算n=pq和φ(n)=(p-1)(q-1)
选择随机数e,满足e与φ(n)互素
(n,e)作为公钥公开,(d,p,q)作为私钥
加密过程
对于明文P,计算密文C=P^e mode n(使用公钥加密)
解密过程
对于密文C,计算明文P=C^d mod n (使用私钥解密)
算法安全性和效率
1024比特长度的密钥(n的长度)目前已经不推荐使用。
在相同安全强度时,RSA密钥长度要远长于ECC算法(如SM2)
密码杂凑算法
密码杂凑算法的结构
M-D结构
将消息进行均匀分组
将分组按顺序进入压缩函数F
第一组消息与初始向量IV作为参数输入压缩函数F,余下分组按顺序,将上一组消息压缩后的结果和本组消息作为参数输入压缩函数F,直到按顺序压缩完,将最后一个分组经过压缩函数后的结果作为杂凑值
海绵结构
密码杂凑算法的应用
SM3密码杂凑算法
SM3算法介绍
填充分组
将消息填充只512比特的整数倍
消息扩展
每个512比特进行消息扩展,生成132个消息字
迭代过程
输入一个512比特的消息分组和上一次迭代过程256比特的输出进行压缩,每次输出256比特,进行n次迭代
压缩函数
单次迭代过程包含64轮迭代的压缩
SM3算法的安全性和效率
可避免高概率的局部碰撞
有效抵抗强碰撞性的差分分析
弱碰撞性的线性分析和比特追踪等密码分析方法
结构上与SHA-256相似,分组大小、迭代轮数、输出长度均与SHA-256相同
HMAC
调用两次完整的杂凑函数,需要密钥K
国外杂凑算法介绍
MD5算法
将消息分成若干个512比特的分组,再将每个分组划分16个32比特的子分组
消息摘要长度为128比特,32个英文字符
SHA-1算法
消息摘要长度为160比特,40个英文字符
SHA-2算法
支持224、256、384和512比特长度的输出
SHA-3算法
结构与SHA-2算法的M-D模型不同,为海绵结构,其余输出长度与SHA-2一致
密码算法分析概要
基本概念
唯密文攻击
攻击者只能获得密文的信息
已知明文攻击
攻击者拥有某些密文及相应的明文
选择明文攻击
攻击者可以接触到加密机器,虽然不能找到密钥,但可以加密大量精心挑选的明文,然后利用所得的密文推断密钥或解密其他密文
选择密文攻击
攻击者可以接触到加密机器,对选择的密文进行解密操作,然后通过所得结果推断密钥或对其他密文进行解密
对称密码的分析
差分类攻击
线性类攻击
公钥密码的分析
公钥密码的设计一般依赖于计算困难的数学问题。包括大整数因子分解、离散对数、格中向量问题、子集和问题、线性纠错码译码、多变量多项式方程组求解、组合群论及椭圆取消上双线性的Diffie-Hellman问题等。
对公钥密码分析多集中于对底层困难问题的分析,以及上层方案实际安全性的分析。
杂凑函数的分析
差分攻击
模差分攻击
中间相遇攻击
侧信道分析
能量消耗
电磁辐射
运行时间
密钥管理
密钥生命周期管理
密钥生成
利用随机数直接生成
密钥安全性直接取决于随机数发生器的质量
通过KDF生成
在密钥协商过程中从共享秘密派生密钥
使用场景:密钥协商过程
使用算法
Diffie-Hellman算法
MQV算法
生成的共享秘密作为密钥材料利用KDF生成密钥(SM2/SM9的密钥协商和公钥加密算法中使用基于SM3的KDF)
从主密钥派生密钥
应用场景:需要生成大量对称密钥的场景(分发智能IC卡)
根据主密钥、实体唯一标识生成密钥
密钥存储
存储在密码产品中
密码产品的密钥防护机制,可以用于保护密钥在存储过程中的保密性和完整性。
采取分层的方式,逐层进行保护:下层的密钥利用上层的密钥加密 密钥进行保护;对于顶层的密钥加密 密钥,采取严格的安全防护措施(如微电保护)在密码产品中明文存储,防止密钥被非授权地获取和篡改。
加密保存在通用存储设备中
利用密码算法对密钥进行必要的保密性和完整性保护,但不能只采用杂凑算法进行完整性保护,因为单纯使用杂凑算法无法阻止恶意的篡改。
密钥导入和导出
加密传输
对称加密技术和非对称加密技术都可以完成密钥的导入和导出,但需要双飞预先共享一个密钥加密密钥或获取被导入方的公钥。
为保证密钥的完整性,在密钥的导入和导出过程中,需要加入完整性保护和校验机制。
利用非对称加密计算完成的密钥加密一般称为数字信封。(SM2加密和解密算法自身具有完整性校验的功能,可直接用于密钥加密传输)
知识拆分
将密钥拆分为几个独立的密钥分量,导出到密码产品外部;导入时,每个密钥分量单独导入,最终在密码产品内部进行合成。
将密钥K拆分为若干个预期长度一致的分量k,导入时利用异或计算恢复出原有的密钥
只有大于等于t(t<n)个密钥分量才能恢复出K
密钥分发
人工分发
利用加密传输、知识拆分等手段通过人工将密钥从一个密码产品(如密钥管理系统、密钥分发系统等)分发到其他产品中,实现密钥共享。
条件
密钥由授权的分发者分发,并有授权的接收者接收
进行人工分发的实体是可信的
有足够的机制(如加密、紧急销毁机制等)保证密钥的安全性,提供对截取、假冒、篡改、重放等攻击手段的对抗能力
自动分发
对称密钥和公钥加密密钥对的私钥可以通过数字信封、对称密钥加密等方式进行自动加密分发。
密钥使用
密钥一般只能在核准的密码产品内部使用。
不同类型的密钥不能混用,一个密钥不能用于不同用途
将一个密钥用于不同的用途,可能会降低密钥的安全性
不同用途的密钥对密钥的要求互不相同
限制密钥的用途可以降低密钥泄露时可能造成的损害
密钥备份和恢复
密钥被封的主要目的是保护密钥的可用性,作为密钥存储的补充防止密钥的意外损坏
密钥备份需要保护备份密钥的保密性、完整性记起拥有者身份和其他信息的关联关系
密钥备份或回复时应该进行记录,并生成审计信息;审计信息应该包括备份或恢复的主体、备份或恢复的时间等。
密钥归档
密钥在其生命周期结束时,应当进行销毁,但出于解密历史数据和验证历史签名的需要,有些不在生命周期内的密钥可能需要持续保存,需要注意的是签名密钥对的私钥不应进行归档。
密钥销毁
正常销毁
在设计的使用截止时间到达时自动销毁
应急销毁
密钥在泄露或存在泄露风险时进行密钥销毁
对称密钥管理
点到点结构
通信双方共享一个人工分发的KEK(Key Encrypting Key 密钥加密密钥),当双方需要通信时,通信方生成一个DK(Data Key 数据密钥),使用KEK对DK进行加密后发送给另一方,实现DK的在线自动建立。
基于密钥中心的结构
密钥转换中心
通信双方与密钥交换中心KTC(Key Translation Center )通过人工分发一个属于各通信方的KEK
通信方A在需要和通信方B进行通信时,先生成DK,然后使用通信方A与密钥交换心KTC的KEK将其加密后发送给KTC
密钥转换中心KTC接收到通信方A发送的DK后,再使用通信放B与密钥交换中心KTC与通信方B的KEK对DK进行,最后加密后发送给通信方B
密钥分发中心
通信双方与密钥交换中心KDC(Key Distribution Center )通过人工分发一个属于各通信方的KEK
通信方A告诉KDC要与通信方B进行加密通信
KDC生成一个DK,通过通信方A和B个字的KEK对DK进行加密后,分别发送给通信方A和B
公钥基础设施(PKI)
PKI系统组件
证书认证机构(CA)
具有自己的公私钥对,负责为其他人签发证书,用自己的密钥来证实用户的公钥信息。
证书持有者
拥有自己的证书和证书中公钥匹配的私钥,身份信息和对应的公钥也会出现在证书中。
依赖方
一般讲PKI应用过程中使用其他人的证书来实现安全功能(保密性、身份鉴别等)的通信实体称为依赖方,或者证书依赖方
证书注册机构(RA)
作为CA与申请者的交互借口,专门负责各种信息的检查和管理工作,只有RA在对申请者的检查通过之后,才会将信息发送给CA,要求CA签发证书。
资料库
用于实现证书分发,负责存储所有的证书,供依赖方下载。
证书撤销列表(CRL)
包含当前所有被撤销证书的表示,验证者根据最新的CRL就能够判定证书是否被吊销
在线证书状态协议(OCSP)
一种实时检查证书撤销状态的协议标准。模式为请求-响应。
轻量目录访问协议(LDAP)
一种开放的应用协议,提供访问控制和维护分布式信息的目录信息,CA把签发的证书与证书撤销链送到LADP目录服务器,供用户查询、下载。
密钥管理系统(KM)
为PKI系统中其他实体提供专门的密钥服务,包括生成、备份、恢复、托管等多种功能。
数字证书结构
基本证书域(TBSCertificate)
包含主体名称和颁发者名称、主体的公钥、证书的有效期及其他相关信息(版本号、序列号、签名算法、颁发者唯一标识、主体唯一标识符和扩展项)
签名算法域(signatureAlgorithm)
包含了证书签发机构签发该证书所使用的的密码算法的标识符,该域中的算法标识符与基本证书域中的签名算法项相同。
签名值域(signatureValue)
包含对基本证书域进行数字签名的结果,先进行杂凑再使用认证机构的私钥进行签名
数字证书生命周期
证书的产生
密钥生成
证书申请者在本地生成一个公私钥对。此公钥包含在申请材料中,如果申请成功,CA所颁发的数字证书中将把此公钥和申请者个人的信息进行绑定。
提交申请
证书的申请向CA或者RA提供材料
在线申请证书:用户通过互联网登录到用户注册管理系统后申请证书
离线申请证书:用户道指定的RA申请证书
审核检查
CA(或被授权的RA)应对申请材料进行相应的审核,判断资料来源和申请者身份的真实性,以及审定可签发的数字证书种类
证书签发
分为证书的签署和证书的发布
证书签署:指CA首先按照数字证书的标准格式组合出证书所需的各项数据内容,然后用自己的私钥对这些数据内容的杂凑值进行签名,并在数据内容后附上签名结果。
证书的发布:CA给申请者本人发送其获得的数字证书,同时CA也会把该证书放入数字证书资料库汇总供他人获取,分为在线发布和离线发布(与证书申请对应)。
证书的使用
证书获取
根CA自签名证书:无法通过PKI系统的技术手动对其验证,只能采用带外方式获取。
用户证书:可以从CA的数字证书资料库获取证书,也可以是证书持有者通过其他途径发送给依赖方。
验证使用
在进行证书验证时,先验证证书中数字签名的有效性,数字签名有效性验证通过后才能进一步提取出证书中的其他信息进行验证。
证书有效期的验证主要是检查当前时间是否在证书中有效期字段对应的时间段内。
证书撤销状态的查询通常可以采用查询CRL、OCSP的方式。
证书存储
用户将证书存储在本地以便日后使用,主要的使用形式就是直接发送给其他实体,供其鉴别自己的身份。
除数字证书在本地进行存储外,用户的私钥也将存储在本地,以便进行后继签名或者解密等。
证书的撤销
当用户个人身份信息发送变化或私钥丢失、泄露或者疑似泄露时,证书用户向CA提出证书撤销请求,CA收到请求后将次证书放入公开发布的CRL或者更新OCSP服务内容。
证书的更新
证书的更新需要CA签发一份新的证书,但是此时的审核签发过程与用户第一次申请不同,更新后的证书与原证书基本内容一样,甚至可以沿用以前的公钥,不同之处仅在于序列号、生效和失效日期。
证书的归档
证书的归档没有固定的形式,但是必不可少。
双证书体系
用户同时具有两个私钥,分别称为签名私钥和加密私钥
签名私钥由用户在本地生成比你哥专有掌握,对应的数字证书被称为“签名证书”
加密私钥用于解密和私钥交换,由专门的可信机构(如密钥管理中心)生成并和用户共同掌握,对应的证书被称为“加密证书”
密码协议
密钥交换协议
Diffie-Hellman密钥交换协议
只能提供建立会话密钥的功能,不能抵抗中间人攻击,也不能提供互相鉴别的安全保障。
MQV密钥交换协议
在Diffie-Hellman密钥交换协议的基础上,交互过程中用到了双方公钥信息,只有拥有相应私钥的用户才能计算出对方相同的会话密钥,达到了隐式鉴别的效果。
SM2密钥交换协议
MQV的一个变种,可满足通信双方经过两次(或供选择的三次)信息传递过程,计算并获取一个由双方共同决定的会话密钥。
实体鉴别协议
一次传递鉴别
采用对称加密算法
采用密码校验函数
采用数字签名技术
两次传递鉴别
综合密码协议举例
IPSec
IKE协议
第一阶段:主模式
第二阶段:快速模式
AH协议
ESP协议
SSL
握手协议
阶段一:建立连接
阶段二:协商参数
阶段三:验证身份
阶段四:传输数据
记录层协议
密码协议分析概要
密码功能实现示例
保密性实现
访问控制
信息隐藏
信息加密
完整性实现
消息鉴别码实现完整性
数字签名实现完整性
真实性实现
基于密码技术的鉴别机制
在线认证服务器
离线认证服务器
基于静态口令的鉴别机制
基于动态口令的鉴别机制
基于生物特征的鉴别机制
不可否认性实现
起源的不可否认性
使用发起者的数字签名
使用可信第三方数字签名
传递的不可否认性
使用接受者的签名确认
使用可信传递代理
使用两阶段接收
0 条评论
下一页