密码学应用
更多内容请访问我的博客
数字签名
完善的签名需要满足三个条件:
- 签名者事后不能抵赖
- 任何其他人不能伪造签名
- 如果双方关于签名真伪发生争执,能够在公正的仲裁者面前通过验证签名来确认真伪
数字签名包括两个方面:施加签名和验证签名
RSA的签名机制
使用RSA
使用签名需要注意:
- 不对M签名而应该对签名
- 使用时间戳
- 如果需要同时确保秘密性和完整性,应该先签名后加密
SM2的签名算法
签名过程:
- 置
- 计算,将e转换为整数
- 用随机数发生器生成k,[1,n-1]
- 计算椭圆曲线点,x1转换为整数
- 计算,若或则返回第三步
- 计算若s=0返回第三步
- 将r,s转换为字符串,M的签名为(r,s)
验证过程:
- 验证r',s'是否在[1,n-1]
- 置
- 计算,将e‘转换为整数
- 将r',s'转换为整数,计算,若t=0,验证不通过
- 计算椭圆曲线点
- 计算,验证R=r',相等则通过,不等则不通过
认证
认证的基本思想:通过验证称谓者的一个或多个参数的真实性和有效性
常用参数:口令、标识符、密钥、信物、智能卡、指纹、虹膜等
对比签名与验证:
- 认证总是基于收发双方共享的保密数据来认证被鉴别对象;数字签名中验证签名的数据是公开的
- 认证允许双方互相验证,不允许第三方认证;数字签名任何人都可以验证
- 数字签名具有发送不能抵赖、接受不能伪造、公证人前可以解决纠纷的能力,认证不一定具有
如果收发双方都是诚实的,只有认证就够了,不需要签名
身份认证
身份认证目的在于识别用户合法性
- 口令认证
- 生物特征认证
口令认证
简单的口令认证存在的一些问题
- 攻击者可能从口令表获取用户口令
- 攻击者可能在传输线路截获用户口令
- 系统和用户地位不平等,用户无法验证系统身份
改进:
- 系统存储中利用单向函数加密口令,不保存明文
- 利用数字签名的方法验证口令
- 口令的双向验证
- 一次性口令
双向验证的过程如下,A与B通信,为两者的口令
这个步骤的前提是,A、B本地均有对方的真实密钥,但是不确定通信的对方是真实的,因此通信中不能将自身的真实密钥发送过去
上面的代表的是一个单向函数
生物特征认证
使用生理特征的认证要求该特征具有不可复制的特点,必须具有唯一性 和稳定性
报文认证
报文认证的目的是能够确认:
- 报文是意定的发送方发出的
- 报文发给的是意定的接收方
- 报文内容没有被篡改或错误
- 报文按照确定的次序接受
报文源认证
传统密码
设通信双方为A,B;AB共享密钥, A的标识为
B为接收方,要验证A
因此该过程中A的每一份报文都需要增加表示,然后用加密发给B
公钥密码
使用公钥密码认证报文源的过程很简单,只需要发送方对报文签名,接收方验证签名即可;
报文宿认证
传统密码
在每份报文中加入接收方的标识符
公钥密码
发送方对每份报文使用接收方的公钥加密即可
报文内容认证
报文内容认证使接收方能够确认报文内容的真实性,可以通过MAC的正确性实现
报文加密
即传统密码直接加密
MAC
通信双方共享密钥K,发送信息时计算
接收方收到后先用K计算MAC,对比是否相等
HMAC
其中指的是在K左边填充0后形成标准块的b位结果
opad=01011100重复b/8次的结果
ipad=00110110重复b/8次的结果
b为每个分组所含的位数
密钥管理
密钥管理包括密钥的产生、存储、分配、组织、使用、停用、更换、销毁等问题
密钥管理的基本原则:
- 区分密钥管理的策略和机制
- 全程安全原则
- 最小权利原则
- 责任分离原则
- 密钥分级原则
- 密钥更换原则
- 密钥应选择长度足够,随机
密钥的分级安全性
密钥分为三级
- 初级密钥
- 二级密钥
- 主密钥
初级密钥直接用于加解密数据,记为
其中用于通信的密钥
用于会话的密钥
用于加密文件的密钥
初级密钥受到二级密钥的保护
二级密钥生存周期相对更长,可以由专业的密钥安装人员批准后由系统自动产生也可以时直接由专职密钥安装人员提供
二级密钥记作或
二级密钥受到主密钥保护
主密钥记为由密钥专职人员随机产生并妥善安装
对称密码密钥管理
对密钥的要求:良好的随机性、长周期性、非线性、等概性及不可预测性
密钥的产生
主密钥应该是高质量的真随机序列
二级密钥可以用主密钥和一个强密码算法生成,也可以是真随机的
经过四层加密得到二级密钥,其中三个RN都是用生成主密钥一样的方法生成的随机数
i为一个序数,即使知道i也很难猜测出
初级密钥常常直接是收到高级密钥和随机数生成的
密钥的存储
主密钥只能以明文形式存储,因此要求存储器高度安全
二级密钥可以是明文也可以是密文,相对的以密文存储时对存储器要求降低
初级密钥的生命周期与会话时间/文件生命周期相同,因此一般以二级密钥加密的形式存储
非对称密码密钥管理
非对称密码的加密钥可以公开,但是需要保护其真实性和完整性
公钥基础设施PKI
采用数字签名可以确保公钥的安全分配,需要由CA签署证书
本质上PKI是一种公钥密码的密钥管理平台
CA签发机构;RA注册机构;证书的签发;证书的撤销;
CA采用证书目录的方式集中存储和管理证书
证书目录目前没有一个统一的标准,但X.500标准比较受欢迎
此外还有LDAP协议,即轻型目录存取协议