密码学 密钥管理

密钥管理

出发点:在一种安全策略指导下的密钥产生,存储,分配,删除,归档和应用方案。

目的:维持系统各实体之间的密钥关系,抗击各种威胁:
1.密钥泄露
2.密钥和公钥身份真实性丧失
3.未授权使用

内容:产生,登记,装入,存储和保护,分配和密钥协定,使用控制,备份恢复,更新,撤销和销毁。

密钥类型

会话密钥:两个终端在一次通信中使用的密钥。用于加密文件时就叫文件密钥,加密数据时就叫数据加密密钥
密钥加密密钥:用于对会话密钥或文件密钥进行加密时采用的密钥。又称辅助(二级)密钥密钥传送密钥
主机主密钥:对密钥加密密钥加密的密钥,存于主机处理器
基本密钥:也叫初始密钥用户密钥。由用户指定或者系统分配给用户的,可以在较长时间内由一对用户专用的密钥。
公钥体制下还有公开密钥秘密密钥签名密钥

密钥产生

密钥产生不当会导致密钥空间的减小和字典式攻击。
要尽可能随机等概率产生密钥。

不同等级的密钥产生不一样。
主机主密钥最重要,要保证完全随机。
密钥加密密钥可以伪随机或者安全算法产生
会话密钥可以通过密钥加密密钥和某些算法产生
初始密钥可以用类似主机主密钥的方式

密钥登记

将密钥和特定使用者绑定。

密钥装入

主机主密钥和终端主密钥装入时要有电磁屏蔽,装入后不可再读出,可间接验证。
会话密钥不存在装入问题

密钥保护

最好放在物理安全的地方。
否则要使用机密性和完整性服务来保护

公钥的存储:一次性发放给用户;用户存放在公共媒体上;利用公钥建立密钥环分散保存

密钥分配和密钥协定

密钥分配协议:系统内一个成员选择密钥,并安全传送给别的成员的协议。
密钥协定协议:系统内两个或多个成员在公开信道上联合建立秘密密钥,连个成员的密钥协定也称为密钥交换,如著名的hellman密钥交换。
一个是单成员确定,一个是协商确定。

主密钥的分配:将密钥切分成多部分,通过多种方式传输
密钥分配体制:
1.集中式:中心服务器负责密钥的分发,密钥的存储量和用户量差不多。代表Kerboros协议
2.分布式:用户协商密钥交换。例如Diffie-hellman密钥交换。但这个交换没有鉴别能力,不能抵抗中间人攻击。

密钥的分配技术:
1.静态分配:中心以脱线方式预分配
2.动态分配:请求-分发的在线分发技术

密钥的分配说明了一种密钥是由哪个主体分发到哪些主体的。而密钥的静态配置是密钥统一由KMC产生,分发,更换的集中式管理体制
静态配置的管理体制分成:
1.点对点配置,此时单个体需要存储n-1密钥,整体密钥量为n^2
2.网状配置:此时用户统一和一个KMC交互,总密钥量为n。此时KMC容易成为整体的性能瓶颈。
3.星状配置:局部的网状配置再进一步集中到一个KMC,因此可以配置局部KMC,综合了密钥管理量和性能下的选择,是一种密钥的层次管理方案

公钥分配方案

首先是著名的hellman密钥交换,这个协议可以被中间人攻击
密码学 密钥管理_第1张图片
主要是利用了解离散对数的复杂度来保证密钥不被获取,通过原根和选定的随机数密钥来进行密钥协定,通过幂运算的性质来协定密钥,但是中间人可以不停的截获并伪造双方的密钥,再进行转发从而进行攻击。

端到端协议,STS协议

假设用户的签名和验证算法是sig和ver,可信中心的签名和验证为 s i g sig sig和ver,用户有证书 ( I D ( u ) , v e r u , s i g T A ( I D ( u ) , v e r u ) ) (ID(u),veru,sig_{TA}(ID(u),veru)) (ID(u),veru,sigTA(ID(u),veru))
1.用户U随机选 x u ∈ z p x_u\in z_p xuzp计算 a x u m o d p a^{xu} mod p axumodp发给v
2.用户v随机选 x v ∈ z p x_v\in z_p xvzp计算 a x v m o d p , S v = s i g v ( a x u m o d p ∣ ∣ a x v m o d p ) a^{xv}modp,S_v=sig_v(a^{xu}modp||a^{xv}modp) axvmodp,Sv=sigv(axumodp∣∣axvmodp),发送 ( C ( V ) , a x v m o d p , S v ) (C(V),a^{xv}modp,S_v) (C(V),axvmodp,Sv)发给u;同时计算 K = a x u x v K=a^{xuxv} K=axuxv
3.用户u计算 K = a x u x v m o d p K=a^{xuxv}modp K=axuxvmodp,用verv验证S_v,用ver_TA验证C(V),计算 S u = s i g u ( a x u m o d p ∣ ∣ a x v m o d p ) S_u=sig_u(a^{xu}modp||a^{xv}modp ) Su=sigu(axumodp∣∣axvmodp)再把 ( C ( U ) , S u ) (C(U),S_u) (C(U),Su)发给V
4.V验证一下veru(Su)和ver_TA(C(U))
可以看到STS协议是一个密钥交换协议,其工作方式和hellman机制相同,但引入了TA的证书校验机构,在交换密钥的同时补充了身份认证的问题,因此解决了hellman算法的中间人攻击。身份认证核心思想在于数字签名算法和证书的作用。
证书起到的作用是:用户在TA完成了认证,只有TA可以签名,因此ID和ver是对的,但ID和ver是可以被监听的,因此用户要证明自己是id,同时用户进行了签名,用ver可以解出来,说明确实是这个用户在进行密钥交换。同理,另一个用户在检查完身份之后,也把自己的认证方式发了一遍,于是双方完成了身份鉴定。在这个过程中,同时完成了密钥交换和密钥的检验。
因此用户需要同时丢失证书和签名密钥时算法才能被攻击。
密码学 密钥管理_第2张图片

端到端协议,MIT协议
密码学 密钥管理_第3张图片

密码学 密钥管理_第4张图片
引入了证书,但是双方不进行签名。
可以看见MIT协议在用户丢失证书时可以进行中间人攻击。

密钥使用控制

目标是标识密钥的种类,使得密钥值和合法使用范围绑定起来。通常标识有:密钥拥有者,密钥标识符,有效时间,特定算法,特定使用环境和用户,密钥产生注册认证的实体,完整性检查

密钥长度

目标是保证系统安全,但是不能开销太大
确定长度的信息:保存信息的价值,信息的保密时间,信息的攻击者的资源情况
密码学 密钥管理_第5张图片

密码学 密钥管理_第6张图片

你可能感兴趣的:(密码学,密码学,安全,网络)