公司有密评考试,闲暇时间偷偷学习一丢丢。截图是之前软考的笔记了,跟这里有点相关我就拿来用了,字有点丑,轻点pen啦~有不对的对方欢迎指出哈!
1.1.密码应用概述
如果密码技术没有得到合规,正确,有效的应用,那么密码提供的安全功能就无法发挥,也就无法解决应用系统面临的安全问题。
1. 密码的概念与作用
密码是指采用特定变换的方法对信息等进行加密保护、安全认证的技术、产品和服务。【简单说就是:明文转换为密文】
在我国密码分为:普通密码、核心密码、商用密码
密钥生命周期:生成,分发,存储,使用,更新,归档,撤销,备份,恢复,销毁
密码的作用可概括为三个方面:
"基因":网络安全的核心技术和基础支撑。实现网络从被动防御向主动免疫转变的关键元素
"信使":构建网络信任体系的重要基石。是网络空间传递价值和信任的重要媒介和手段
"卫士":密码技术与核技术,航天技术并称为国家的三大”杀手锏“。我国自主设计的商用密码算法ZUC,SM2,SM3和SM9
2. 密码功能与密码应用
CIA:保密性(Confidentiality)、完整性(Integrity)、可用性(Authenticity)
密码具有的四个功能:信息的保密性、消息来源的真实性、数据的完整性和行为的不可否认性(抗抵赖性)
注意:数据完整性与信息来源的真实性的区别在于,数据完整性并不要求数据来源的可靠性,但数据来源真实性一般要依赖于数据完整性。
密码应用技术框架包括:密码资源、密码支撑、密码服务、密码应用四个层次【"自制服用"】
3. 密码应用中的安全性问题
密码技术只有得到合规,正确,有效的应用,才能够发挥安全支撑作用,否则应用系统的安全问题就没有真正解决。
1.2.密码应用安全性评估的基本原理
密评:在采用商用密码技术,产品和服务集成建设的网络与信息系统中,对其密码应用的合规性,正确性,有效性等进行评估。
1. 信息安全管理过程
PDCA管理循环:Plan,Do,Check,Act即“计划——实施——检查——改进”【又称之为:戴明环】
2. 信息安全风险评估【贯穿信息系统生命周期的各个阶段】
信息安全风险评估定义:信息系统的安全风险,是由来自于自然、环境或人为的威胁,利用系统存在的脆弱性,给系统造成负面影响的潜在可能。
风险评估的目的:
评价目标实体的安全风险。根据既定的风险接受准则判定风险是否被接受:对于可接受风险,只做标识、监视而不做额外控制;对于不可接受风险,采取措施将其降低到可接受程度。
风险评估的基本要素:资产,威胁,脆弱性,风险和安全措施
资产:安全策略需要保护的对象
威胁:某种威胁源成功利用特定弱点对资产造成负面影响的潜在可能
脆弱性:漏洞,即可能被威胁利用的资产或若干资产的薄弱环节
风险:威胁发生时,直接或间接带来的损失或者伤害。【风险可以用其发生的概率和危害的大小来度量】
安全措施:/
3. 密码应用安全性评估的定位
信息产品安全性检测的“CC+PP+ST”模式:
CC:信息安全评估通用准则
PP:保护轮廓,由CC定义
ST:安全目标
密评:
“CC”:信息系统密码应用准则
“PP”:密码应用标准
“ST”:密码应用方案
信息系统由包括密码产品在内的各类信息安全产品有机组合而成,密码应用安全性评估面向的是整个信息系统。密码应用安全性评估的模式类似于信息产品安全性检测的“CC+PP+ST”模式。
密评和信息系统安全的关系
密码应用安全性评估对信息系统采用的密码算法、密码技术、密码产品、密码服务进行全面规范,对密码应用技术和管理的各个层面提出系统性的要求,并在信息系统规划、建设和运行等阶段规范实施,能够有效保障密码应用的整体安全、系统安全、动态安全。
密评和信息安全风险评估的关系
分析密码应用需求,制定密码应用方案,需要基于风险评估结果,在密评给出评测结果后,要判断是否存还在高风险情况,密码应用安全性评估借鉴了风险评估的原理和方法,产品人员需要具有系统化、专业化的密码应用安全性评估能力和一定的信息安全风险评估能力。
1.3.密码技术发展
三个阶段:古典密码——>机械密码——>现代密码
1. 密码技术创新
香农理想密码模型“一次一密”
AES算法基本要求是分组密码,分组长度为128bit,密钥长度支持128bit,192bit和256bit
对称加密共需要n(n-1)/2对密钥,非对称加密只需要n对密钥
2. 我国商用密码发展历程
2006年1月,发布无线局域网产品适用的SMS4算法,后更名为SM4。
2010年,发布杂凑算法SM3。
2011年,ZUC成为4G移动通信密码算法标准之一。目前256比特版本的ZUC算法进入5G通信安全标准
2012年根据椭圆曲线密码的研究,公布了SM2公钥密码算法。
2016年发布SM9标识密码算法。
1.4.密码算法
算法是密码技术的核心,常见的密码算法包括对称算法,非对称算法和密码杂凑
1. 对称密码算法
对称密码有两种主要形式:一是序列密码(流密码),二是分组密码(块密码)
常见序列密码:ZUC,SNOW,RC4
常见分组密码:SM4,DES,TDEA,AES
1.1. 分组密码和序列密码
- 序列密码对每个明文序列的加密操作仅仅是一次异或,因此序列密码的执行速度非常快,占用计算机资源少。用于实时性要求高的场景当中。
- 初始向量是一个在加密过程中起到引入随机性作用的随机数,每次加密初始向量都必须重新生成,初始向量在加密完成之后可随密文一起通过非安全信道传输。
1.2. 分组密码的工作模式
- ECB电码本模式【可并行】
- CBC密文分组链接【串行,低效率】
IV是一个初始向量,具有随机性,随消息的更换而更换,且收发双方必须选用同一个IV。
CBC的重要用途:生成消息鉴别码MAC。用于检验消息的完整性,验证消息源的真实性等。
- CTR模式【并行计算】
只用到了分组密码算法的分组加密操作
1.3. ZUC序列密码算法
ZUC算法密钥长度为128bit,由128bit种子密钥和128bit初始向量共同作用产生32bit位宽的密钥流
1.4. SM4分组密码算法
是一个迭代分组密码算法,数据分组长度为128bit,密钥长度为128bit。加密算法和密钥扩展算法都采用32轮非线性迭代结构。
2. 公钥密码算法
私钥可以推导出公钥,但是公钥无法推到初私钥。公钥加密算法一般用于短数据的加密。
数字签名算法=公钥+杂凑【私钥进行签名,公钥进行验证】
主要用于确认数据的完整性,签名者身份的真实性和签名行为的不可否认性
为提高效率,一般先使用杂凑算法对原始消息进行杂凑运算,再对得到的消息摘要进行数字签名。
SM2椭圆曲线公钥密码算法主要包括:数字签名算法,密钥交换协议和公钥加密算法三个部分
密钥交换协议:又称密钥协商,用各自的私钥和对方的公钥来商定一个只有他们知道的秘密密钥。
SM9表示密码算法在PKI(公钥基础设施)基础上发展而来。用户的私钥由密钥生成中心根据主密钥和用户标识计算得出,用户的公钥由用户标识唯一确定。
RSA基于大整数因子分解难题设计。
密码杂凑算法具有以下性质:
1.抗原像攻击(单向性):从消息计算杂凑值很容易,但是从杂凑值推算出消息很难
2.抗第二原像攻击(弱抗碰撞性)
3.强抗碰撞性
抗弱碰撞性可以保证,不能找到与给定消息具有相同Hash值的另一消息。
抗强碰撞性则是保证,不能找到任意两个具有同样Hash值的消息。
HMAC利用杂凑算法,将一个密钥和一个消息作为输入,生成一个消息摘要作为输出。
密码分析划分为【四种】:唯密文攻击,已知明文攻击,选择明文攻击和选择密文攻击
1.5.密钥管理
数据密钥DK,密钥加密密钥KEK
1. 对称密钥管理
点到点结构,密钥数量n(n-1)/2
基于密钥中心的结构
每个通信方和密钥中心共享一个人工分发的KEK(密钥加密密钥),但是通信方之间无法共享KEK。
密钥中心结构有两种,密钥转换中心KTC和密钥分发中心KDC
2. 公钥基础设施
PKI主要解决公钥属于谁的问题
PKI组件:证书认证机构CA,证书持有者,依赖方,证书注册机构RA,资料库,证书撤销列表,在线证书状态协议,轻量目录访问协议,密钥管理系统KM
1.6.密码协议
1. 实体鉴别协议
2. 综合密码举例
1.7.密码功能实现实例
保密性实现:
1、访问控制实现,防止非授权用户访问敏感信息
2、信息隐藏,避免非授权用户发现敏信息的存在
3、加密
完整性实现:
1、访问控制方法,限制非授权实体修改被保护的数据
2、损坏--检测方法,一般通过MAC或数字签名机制来实现完整性保护
真实性实现:
密码技术的鉴别机制(数字签名,挑战应答,在线认证服务器),基于静态口令的鉴别,基于动态口令的鉴别(抗重放攻击),基于生物特征的鉴别机制
不可否认性实现:
起源不可否认:使用发起者的数字签名,使用可信第三方数字签名
传递的不可否认:使用接收者的签名确认,使用可信传递代理,使用两阶段传递——>先发送一个预接收消息,目标确认之后再发送完整消息。