第七章密码应用和密钥管理1.docx
《第七章密码应用和密钥管理1.docx》由会员分享,可在线阅读,更多相关《第七章密码应用和密钥管理1.docx(9页珍藏版)》请在冰豆网上搜索。
第七章密码应用和密钥管理1
1
|p_21、信息加密、认证和签名流程加密
密码体制算法加密工作模式信息认证消息认证码、签名、加密、序列完整性
等。
3信息否认起源的否认和接收的否认。
抗起源否认机制
抗接收否认机制发送者签名可信第三方签名接收者签名确认可信接收代理确认4安全通信四个基本任务设计一个算法执行安全相关的转换密码算法生成该算法的秘密信息密钥生成研制秘密信息的分布与共享的方法密钥分配设定两个责任者使用的协议利用算法和秘密信息取得安全服务。
安全协议换妯″瀷5图7.1网络通信安全模型信息传递过程中发送方、接收方、可信第三
方及敌方的关系啡6加密、认证和签名流程消息
摘要算法链接
签名算法
消息摘要消息签名时间戳
消息消息签名
密文
加密
算法会话秘钥签名私钥发送图7.2加密、认证和签名流程72、加密位置链路加密面向链路的加密方法将网络看作是由链
路连接的结点集合每一个链路被独立的加密。
网络上相邻结点之间对数据进行保护加密算法被臵于两个网络结点之间通信线路上即通信线路两端的密码设备中。
这两个密码设
备被放在各自的节点及其相应的调制解调器之间并安装有相同的密钥。
楠せ绘ā鍨8Ek1Dk1Ek2Ek2
明文明文
密文链路1密文链路2
结点2结点1结点3图7.3链路—链路加密示意图认9因为信息加密仅限于链路上不包括节点内部因此要求节点本身必须是安全的同时源或目的节点可以假设是物理安全的。
链路加密要求所有中间节点同样是物理安全的不仅如此还要求他们的硬、软件绝对能分隔通过他们的每一个不同的连接。
链路方法的问题是中间节点的失误将暴露
所有的通信的信息这无疑会限制人们采纳这种方法。
另一个问题是维护结点的安全性的代价。
楠せ绘ā鍨10端—端加密方式端—端加密是对用户之间的传输数据进行保护密文仅在最终目的地才被解密。
密文在
中间节点或中间节点的保密设备中不以明文形式出现。
端—端加密方法提供了更灵活的保护手段。
它可以对主机到主机终端到主机主机对进程进程对进程进行保护。
11EkDk明文明文密文结点2结点3结点1密文
链路1链路2图7.4端—端加密示意图127.2.1概述所有的密码技术都依赖于密钥。
密钥的管理本身是一个很复杂的课题而且是保证安全性的关键点。
密钥管理管理密钥的产生到销毁的全过程包括系统初始化、密钥的产生、存储、备份、恢复、装入、分配、保护、更新、控制、丢失、吊
销和销毁等。
行保护。
13从网络应用角度密钥可以不严格分为基本密钥BaseKey又称初始密钥PrimaryKey)、用户密钥(Userkey)是由用户选定或由系统分配给用户的可在较长时间由一对用户所专用的密钥。
会话密钥SessionKey即两个通信终端用户在一次通话或交换数据时使
用的密钥。
当它用于加密文件时称为文件密钥(File
key)当它用于加密数据时称为数据加密密钥(DataEncryptingKey)。
14密钥加密密钥KeyEncryptingKey
用于对会话密钥或文件密钥进行加密时采用的密
钥又称辅助二级密钥(SecondaryKey)或密钥传送密钥(keyTransportkey)。
通信网中的每个节点都分配有一个这类密钥。
主机主密钥HostMasterKey
它是对密钥加密密钥进行加密的密钥存于主机处理器中。
另外在公钥体制下还有公开密钥、秘密密钥、签名密钥之分。
gKey)。
15几类密钥之间的关系图7.5几类密钥之间的关系混合器基本密钥Kp
会话密钥Ks密钥生成器数据加密密钥16从密钥的安全级别分类将用于数据加密的密钥称三级密钥。
保护三级密钥的密钥称二级密钥也称密钥
加密密钥。
保护二级密钥的密钥称一级密钥也称密钥保护密钥。
如用口令保护二级密钥那么口
令就是一级密钥。
Key)。
17原则既保证系统的安全性又不至于开销太高。
对称密码的密钥长度公钥密码的密钥长度馔18假设算法的保密强度足够的除了穷举攻击外没有更好的攻击方法。
密钥长度和每秒钟可实现的搜索密钥数决定了密码体制的安全性。
穷举攻击的复杂度密钥长为n位则有2n种可能的密钥因此需要2n次计
算。
使用40个工作站的空闲时间在一天内完成了对234个密钥的测试。
一个40台计算机的网络每台每秒执行32000次加密系统可用1天时间完成40位密钥的穷举攻击。
对称密码的密钥长度。
19各种类型数据所需密钥长度所保存信息的价值信息保密的时间信息的攻击者及其使用的设备和资源的情况信息类型保密时间最短密钥长度
企业赢利信息几天/周64
商业秘密几十年112外交秘密65年以上至少128
美国统计数据100年至少128拿茉砍ざ取#20公开密钥密码体制的密钥长度公开密钥密码体制是基于数学难题的大数因子分解和有限域中寻找离散对数。
RSA密
钥的长度取决于因数分解的时间。
BruceSchneier公开密钥长度建议值年度对于个人对于公司对于政府
2000102412801536
2005128015362048
2010128015362048拿茉砍ざ取#21方式手工/自动化
好的密钥的特点真正的随机等概率避免使用特定算法的弱密钥双钥系统的密钥必须满足一定的关系选用易记难猜的密钥如较长短语的首字母、词组用标点符号分开48拿茉砍ざ取#22不同等级的密钥的产生方式不同基本密钥安全性至关重要故要保证其完全随机性、
不可重复性和不可预测性。
可用投硬币骰子噪声发生
器等方法产生。
会话密钥可利用密钥加密密钥及某种算法(加密算法,单向函数等)产生密钥加密密钥数量大(N(N-1)/2),可由机器自动产生,安全算法伪随机数发生器等产生。
主机密钥类似于密钥加密密钥的方法产生。
密钥长度。
23必须在安全环境中产生密钥以防止对密钥
的非授权访问。
密钥生产形式现有两种一种是由中心(或分中心)集中生产也称有边
界生产另一种是由个人分散生产也称无边界生产。
密钥的产生方式取#24两种密钥产生方式对比方式代表生产者用户数量特点安全性适用范围集中式
传统的密钥分发中
心和证书分发中心
在中心统一进
行生产有边界边界以所能
配臵的密钥总量定义其用户数量
有限。
密钥的认证协议简
洁交易中的安全责任
由中心承担
网络边界确定的有
中心的系统分散式
由个人生产密钥生产无边界其用户数量不受
限制。
密钥变量中的公钥必须公开
需经第三方认证安全责任由个人承担
无边界的和无中心的系统康牟绞饺。
25主机主密钥:
直接或间接装入,装入时须有电磁屏蔽,装入后不能再读出(但可间接验证)。
密钥加密密钥:
直接或间接装入,装入时须有电磁屏蔽,装入后不能再读出,可联机或者间接验证。
会话密钥:
如主机与某终端通信主机产生会话密钥以相应的终端主密钥对其进行加密将加密结果送给相应的终端终端收到后解密得到会话密钥。
初始密钥:
直接或间接装入,装入后不能再读出,可联机验证。
密钥的装入绞饺。
26第一种是将所有密钥或公钥存储在专用媒体软盘、芯片等一次性发放给各用户用户在本机中就可以获得对方的公钥。
协议非常简单又很安全电脑黑客的入侵破坏也只能破坏本机而不影响其他终端。
这种形式只有在KDC等集中式方式下才能实现。
第二种是用对方的公钥建立密钥环各自分散保存。
第三种是将各用户的公钥存放在公用媒体中。
前两种都需要解决密钥传递技术以获取对方的公钥。
第三种还要解决公用媒体的安全技术即数据库的安全问题。
密钥的存储(主要是指公钥密码体制入绞饺。
27所有密钥的完整性也需要保护因为一个入侵者可能修改或替代密钥从而危及机密性服务。
在实际中最安全的方法是将其放在物理上安全的
地方当一个密钥无法用物理的办法进行安全保护时,
密钥必须用其它的方法来保护。
(1)将一个密钥分成两部分委托给两个不同的人。
(2)通过机密性例如用另一个密钥加密和/或完整性服务来保护。
极少数密钥(主机主密钥)以明文存储于有严密物理保护的密码器中,其他密钥都被(主密钥或次主密钥)
加密后存储。
密钥的保护。
28密钥分配协议:
系统内的一个成员选择密钥然后将它
们安全传给其他成员。
对称密码体制的密钥分配
公钥密码体制的密钥分配馔297.2.5.1基于对称密码体制的密钥分配对称密码体制主要在商业中应用起始于八十年代早期特别是在银行系统中采纳了DES标准
和银行工业标准ANSI数据加密算法(DEA)实际上这两个标准所采用的算法是一致的。
随着DES的广泛应用带来了一些研究话题比如如何管理DES密钥从而导致了ANSIX9.17标准的发展该标准于1985年完成是有关金融机构密钥管理的一个标准。
#30多级层次密钥机构金融机构密钥管理需要通过一个多级层次密钥机构来实现。
ANSIX9.17三层密钥层次结构主密钥KKMs通过手工分配密钥加密密钥KKs通过在线分配数据密钥KDsKKMs保护KKs的传输用KKs保护KDs的传输。
主密钥是通信双方长期建立密钥关系的基础。
肌#31主密钥的分配方式直接面议或通过可靠信使递送将密钥分拆成几部分分别传送。
峙溻图32一个有n个用户的系统需实现两两之间
通信共需要n(n-1)/2个共享密钥。
图33AB
1
2
3无中心密钥分配模式
①A→BQA||N1②B→AKabKs,B,f(N1),N2③A→BKsf(N2)无中心密钥分配模式A和B建立会话密钥34中心化的密钥管理方式由一个可信赖的联机服务器作为密钥分配中心KDC或密钥转递中心KTCKDCAB21
54
3①A→KDC:
A,B,N1②KDC→A:
EAT(Ks,N1,QAEBT(Ks,A))③A→B:
EBT(Ks,A)
④B→A:
EKs(N2)⑤A→B:
EKs(f(N2))前3步完成密钥分配后两步结合第2、3步完成认证功能。
另外第2步提供了抗重放的攻击。
#357.2.5.2基于公开密钥体制的秘密密钥分配1分配对称密码体制密钥简单的秘密密钥分配Simplesecretkey
Distribution具有保密和鉴别能力的分配Secretkeydistributionwithconfidentialityandauthentication36SimplesecretkeydistributionMerkle协议①A生成{KUa,KRa},A→B:
(IDA,KUa)②B生成会话密钥Ks,B→A:
EKUa(Ks)
③A解密EKUa(Ks)得到Ks:
DKRa(EKUa(Ks))④A丢弃{KUa,KRa},B丢弃KUa不能抵抗主动攻击(中间人攻击)tication37Merkle协议的中间人攻击①A生成{KUa,KRa},A→B:
(IDA,KUa)②E截获,生成{KUe,KRe}冒充A→B:
(IDA,KUe)
③B生成随机密钥Ks,B→A:
EKUe(Ks)④E截获,解密后再用EKUa加密Ks→A:
EKUa(Ks)⑤A丢弃{KUa,KRa},B丢弃KUaE获得了Ks,故以后只需进行窃听。
A、B并不知晓它们被攻击了。
38具有保密和鉴别能力的分配
1、A→B:
EKUb((IDA),N1)2、B→A:
EKUa(N1,N2)
3、A→B:
EKUb(N2)4、A→B:
EKUb(EKRa(Ks))5、B→A:
DKUa(DKRb(EKUb(EKRa(Ks))))相互确认的过程
传递密钥的过程恕#392分配公开密码体制的密钥公开宣布(Publicannouncement)公钥动态目录表(Public-keyavailabledirectory)公钥证书(Publickeycertificates)40将自己的公钥发给所有其他用户或向某团体广播。
如使用PGP并且把公钥附上。
这种
方式很容易能被假冒。
PublicannouncementM41需要可信任的中央授权机构–授权机构维护着动态{name,publickey}列表
–用户在授权机构注册其publickey(安全通道)–用户可以替换其publickey
–授权机构定期发布或更新整个目录
–用户可在网络上直接访问公共目录(安全通道)Public-keyavailabledirectory恕#42每个用户知道授权机构的公钥Public-keyauthorityAB214
36
57Public-keyauthoritydistributionmodelPublic-keyauthority43Public-keyauthority密钥分配模式
1.A→Auth:
(Request(IDB),T1)
2.Auth→A:
EKRauth(KUb,Request(IDB),T1)3.A→B:
EKUb(IDA,N1)
4.B→Auth:
(Request(IDA),T2)5.Auth→B:
EKRauth(KUa,Request(IDA),T2)6.B→A:
EKUa(N1,N2)7.A→B:
EKUb(N2edirectory恕#44平级多重KDC把世界分成若个干区域。
每个区域可以有一个或多个KDC。
爱丽丝
鲍勃KDC1KDC2KDCN
_45分级多重KDC……爱丽丝
鲍勃
国际KDC国家KDC本地KDCrity46任何人可以阅读证书以确定证书拥有者的姓名和公钥任何人可以验证证书是由授权机构发出而非伪
造的只有授权机构才可以发行和更新证书任何人可以验证证书的时效性Public-keycertificates477.3PKI7.3.1PKI概述PKI是一个用公钥概念与技术来实施和提供安全服务的普适性基础设施。
PKI是一种标准的密钥管理平台它能够为所
有网络应用透明地提供采用加密和数据签名等密码服务所必须的密钥和证书管理。
s48PKI提供的基本服务证书的发行、更新和撤回密钥的储存和升级为其他协议提供服务提供访问控制Crity49PKI中密钥生命周期y507.3.2PKI基本组件注册机构RA
认证机构CA证书库密钥备份及恢复系统
证书作废处理系统PKI应用接口系统密钥服务
器证书颁发机构CA证书库注册
认证机构CA用户3d251CA是提供身份验证的第三方机构也是公钥证书的颁发机构。
在PKI中CA负责颁发管理和吊销最终用户的证书认证用户并在分发证书之前对证书进行信息签名。
CA主体身份信息
主体的公钥CA名称其他附加信息
CA签名签字
公钥证书结构用户的公钥产生的方式主体自己产生公钥CA替主体产生公钥
系统对不同用途的密钥管理不同签名密钥私钥不备份公钥存档加密密钥私钥存档公钥不存档密钥和证书管理。
s52CA的职能验证并标识证书申请者的身份确保CA用于签名证书的非对称密钥的质量确保整个签证过程和签名私钥的安全性证书材料信息如公钥证书序列号、CA等的管理确定并检查证书的有效期限确保证书主体标识的唯一性防止重名发布并维护作废证书表对整个证书签发过程做日志记录向申请人发通知。
怼53接收和验证新注册人的注册信息代表最终用户生成密钥对接收和授权密钥备份和恢复请求接收和授权证书吊销请求按需分发或恢复硬件设备如令牌。
注册机构RA54证书库是一种网上公共信息库用于证书的集中存放。
用户可以从此处获得其他用户的证书和公钥。
证书库芷趛55密钥备份及恢复系统为了防止用户丢失密钥后密文无法恢复
从而造成损失PKI应该提供密钥的备份和恢复的机制。
密钥的备份和恢复应该由可信机构来完成如CA。
注册机构RA56证书作废处理系统证书在CA为其签署的有效期内也可能作废所以
PKI必须提供作废机制。
作废证书一般通过将证书列
入作废证书表CRL来完成。
CRL存放在目录系统
中由CA创建、更新和维护。
当用户验证证书时负
责检查证书是否在CRL之列。
怼577.3.3PKI中的证书证书(certificate)PKI适用于异构环境中所以证书的格式在所使用的范围内必须统一证书是一个机构颁发给一个安全个体的证明所以证书的权威性取决于该机构的权威性一个证书中最重要的信息是个体名字、个体的公钥、机构的签名、算法和用途签名证书和加密证书分开最常用的证书格式为X.509v3m。
s58X.509证书格式版本123序列号在CA内部唯一签名算法标识符指该证书中的签名算法签发人名字国家、省、
组织等有效时间起始和终止时间个体名字。
59个体的公钥信息算法参数
密钥签发人唯一标识符个体唯一标识符扩展域签名y60X.509证书示意图签名y61┟鹹62┟鹹637.3.4PKI选择适当的信任模型TrustModel是构筑和运作
PKI所必需的一个环节。
选择正确的信任模型以及与它相应的安全级别是非常重要的同时也是部署PKI所要做的较早和基本的决策之一。
----信任模型主要阐述了以下几个问题
1.一个PKI用户能够信任的证书是怎样被确定的2.这种信任是怎样被建立的
3.在一定的环境下这种信任如何被控制3m。
s64常用的四种信任模型1.CA的严格层次结构模型StrictHierarchyof
CertificationAuthoritiesModel2.分布式信任结构模型DistributedTrust
ArchitectureModel3.Web模型WebModel
4.以用户为中心的信任模型UserCentric
TrustModel。
3m。
s65认证机构的严格层次结构模型根CA中间CA166根CA充当认证的起点或终点。
在根CA的下面是零层或多层中介CA也被称作子CA因为它
们从属于根CA。
树叶通常被称作终端实体或终端用户。
在这个模型中层次结构中的所有实体都信任唯一的根CA因而都拥有根CA的公钥。
这个层次结构按如下规则建立根CA认证(创立和签署证书)直接连接在它下面的CA。
每个CA都认证零个或多个直接连接在它下面的CA。
倒数第二层的CA认证终端实体。
特点el。
3m。
s67实体A检验另一个终端实体B的证书:
①A拥有根CA的公钥KR能够验证CA1的公钥K1因此可
提取出可信的CA1的公钥。
②使用这个公钥验证CA2的公钥类似地就可以得到CA2的可信公钥K2。
③公钥K2能够被用来验证B的证书从而得到B的可信公钥KUB。
④现在A能根据密钥的类型来使用密钥KUB如对发给B的消息加密,或者用来验证据称是B的数字签名从而实现A和B之间的安全通信。
认证过程举例?
m。
s68根CA中间CABA拥有根CA的公钥CA2CA11
23,41.获得并验证CA1的公钥2.获得并验证CA2的公钥
3.获得并使用B的公钥KUbA中间CA69与在PKI系统中的所有实体都信任唯一一个CA的严格层次结构相反分布式信任结构把信任分散在两个或多个CA上。
相应的CA必须是整个PKI系统的一个子集所构成的严格层次结构的根CACA1是包括A在内的严格层次结构的
根CA2是包括B在内的严格层次结构的根。
根CA之间是同位体但是每个根又是一个或多个子
CA的上级。
混合结构也是可能的具有若干个可信颁发者层次结构和若干个多层树型结构。
同位体根CA的互连过程通常被称为“交叉认证cross
certification”。
分布式信任结构模型70根CA
子CA拥有理工大学的公钥
省教育厅
河南理工大学
人事处
郑州大学
人事处
河南大学
人事处计算机学院
办公室
经管学院
办公室电气学院办公室
计算机学院
办公室
经管学院
办公室
网络工程系通信工程系李敏通信工程系
网络工程系陈娟张兰中心CA叫湃谓峁鼓P停s71交叉认证要考虑的问题交叉认证把以前无关的CA连在一起使各自主体群之间的安全通信成为可能。
它也扩展了信任概念。
名字约束例限定某一特定公司的证书有效。
策略约束例限制证书使用目的路径长度约束
限制交叉证书的数目湃谓峁鼓P停s72Web模型是在WWW上诞生的依赖于浏览器如
Navigator和InternetExplorer。
许多CA的公钥被预装在标准的浏览器上。
这些公钥确定了一组浏览器用户最初信任的CA。
普通用户很难修改这组根密钥。
该模型类似于认证机构的严格层次结构模型。
因为在实际上浏览器厂商起到了根CA的作用而与被嵌入的
密钥相对应的CA就是它所认证的CA当然这种认证并不
是通过颁发证书实现的而只是物理地把CA的密钥嵌入
浏览器Web模型型73中间CA_74中间CA_75Web模型方便、简单、互操作性好
但存在安全隐患。
例如因为浏览器的用户自动地信任预安装的所有公钥所以即使这些根CA中有一个是“坏的”例如
该CA从没有认真核实被认证的实体安全性将被完全破坏。
s76每个用户自己决定信任哪些证书。
通常用户的最初信任对象包括用户的朋友、家人或同事但是否信任某证
书则被许多因素所左右。
举例在PGP中一个用户通过担当CA签署其他实体的公钥并使其公钥被其他人所认证来建立“信任网”。
例如当A收到一个据称属于B的证书时她将发现这个证书是由她不认识的D签署的但是D的证书是由她认识并且信任的C签署的。
在这种情况下A可以决定信任B的密钥即信任从C到D再到B的密钥链也可能不信任B的密钥认为“未知的”B与“已知的”C之间的“距离太远”。
此模型依赖于用户行为、决策不适于普通群体。
以用户为中心的信任模型被完全破坏。
s