电子商务安全课件1第2章2.5.ppt
《电子商务安全课件1第2章2.5.ppt》由会员分享,可在线阅读,更多相关《电子商务安全课件1第2章2.5.ppt(72页珍藏版)》请在文库网上搜索。
1、目录 2.5公钥密码体制解决的问题 2.6 数字信封 2.7 单向散列函数 2.8 数字签名12.5 公钥密码体制解决的问题2对称密码体制已经能够对信息进行加密,对称密码体制已经能够对信息进行加密,为什么还需要公钥密码体制呢?为什么还需要公钥密码体制呢?公钥密码体制仅仅比对称密钥密码体制多用公钥密码体制仅仅比对称密钥密码体制多用了一个密钥而已吗,两个密钥好在哪里呢?了一个密钥而已吗,两个密钥好在哪里呢?思考本节提纲 密钥分配 密码系统密钥管理问题 数字签名问题32.5.1 密钥分配4用密钥用密钥K加密的密文加密的密文生成密钥生成密钥K攻击者攻击者接收方接收方B发送方发送方A明文可能被窃听明文可
2、能被窃听信息的明文信息的明文信息是否安全了呢信息是否安全了呢密文加密后可防止被窃听密文加密后可防止被窃听发送方生成密钥加密明文 问题:密钥K可能被窃取5用密钥用密钥K加密的密文加密的密文密钥密钥K(明文形式)(明文形式)生成密钥生成密钥K攻击者攻击者接收方接收方B发送方发送方A问题:密钥可能被窃取问题:密钥可能被窃取改进第一步:接收方生成密钥 改进传递加密信息的过程(第一步)6用密钥用密钥K加密的密文加密的密文密钥密钥K(明文形式)(明文形式)生成密钥生成密钥K攻击者攻击者接收方接收方B发送方发送方A窃取密钥为了解密窃取密钥为了解密使发送方和攻击者获取密钥的目的不同。使发送方和攻击者获取密钥的
3、目的不同。获得密钥为了加密获得密钥为了加密改进第二步:接收方生成公钥7用公钥用公钥KUB加密的密文加密的密文公钥公钥KUB:明文形式明文形式生成生成公钥公钥KUB和私钥和私钥KRB攻击者攻击者接收方接收方B发送方发送方A公钥被窃取也不能解密公钥被窃取也不能解密总结 解决密钥分配问题的关键有两点:第一,线路上传输的必须是公钥;第二,这个公钥必须是接收方的。提示:如果A、B双方需要使用公钥加密算法相互发送加密的信息给对方,则需要两对公/私钥,即A用B的公钥加密信息发送给B,B用A的公钥加密信息发送给A。8要防止攻击者假冒公钥 这样,发送方用接收方的公钥加密信息,接收方用该公钥对应的私钥解密信息,攻
4、击者即使截获公钥也不能解密信息。但要防止接收方的公钥被假冒 即攻击者也生成一对公私钥,然后把自己的公钥Ku冒充接收方B的公钥Ku发给发送方,发送方没有察觉,于是用该假冒的公钥Ku加密信息,攻击者就能用其对应的私钥Kr解密该信息了。9攻击者假冒公钥10用用公公钥钥KUB加加密密的密文的密文假冒的公钥假冒的公钥KUB生成公钥生成公钥KUB和私和私钥钥KRB攻击者攻击者接收方接收方B发送方发送方A生成公钥生成公钥KUB和和私钥私钥KRB窃窃 取取 KUB加密的密文加密的密文2.5公钥密码体制解决的问题 密钥分配 密码系统密钥管理问题 数字签名问题11对称密码系统需要的密钥数 思考:在一个密码系统中,
5、用户通常不止A和B两个人,有时候有几千人之间要相互发送加密信息,能否使用对称密钥进行操作呢?假设A要与两个人(B和C)安全通信,A能否用同一个密钥处理与B和与C的消息?当然,这是不行的,否则怎么保证B不会打开A给C的信,C不会打开A给B的信?12对称密码系统需要的密钥数 因此,A为了和两个人安全通信,必须使用两个密钥(A-B与A-C),如果B要与C通信,则要另一个密钥(B-C),因此三方通信的话需要3个密钥。对称密码系统有n人需要安全通信时,这n人中两两之间需要一个密钥,需要的密钥数是:密钥数与参与通信人数的平方成正比 13公钥密码系统需要的密钥数 采用公钥密码系统,假设A要与n个人进行安全通
6、信,他只需把他的公钥发布出去,让这n人知道就可以了。也就是说,A与n人之间安全通信,只需要一对密钥,同样,B与n人之间安全通信,也只需要一对密钥。对于公钥密码系统,有n人之间需要相互安全通信时,只需要n对密钥即可,密钥量大大减少。这n对密钥中的私钥由用户自己保存,公钥由专门的公钥管理机构保管和分发。14两种系统密钥管理的比较 公钥密码系统所需管理的密钥数(n对)比对称密码系统所需的密钥数(n2个)大大减少 对称密码系统和公钥密码系统都需要一个密钥分配中心(KDC)。因此,不要误认为公钥密码技术使得密钥管理非常简单,事实上,仍需要一个代理中心。只是它需要管理的密钥可以大大减少152.5公钥密码体
7、制解决的问题 密钥分配 密码系统密钥管理问题 数字签名问题162.5.3 数字签名问题 公钥密码算法的加密机制是:下面考虑另外一种机制:A的公钥是公开的,从而无法实现保密性。17如果如果A是发送方,是发送方,B是接收方,则是接收方,则A用用B的公钥的公钥加密信息,并将其发送给加密信息,并将其发送给B如果如果A是发送方,是发送方,B是接收方,则是接收方,则A用用A的私钥的私钥加密信息,并将其发送给加密信息,并将其发送给B数字签名的基本原理 18A的私钥的私钥发送方发送方A明明文文-密密文文?加密加密A的公钥的公钥接收方接收方B明明文文密密文文?解密解密实现消息认证 接收方用A的公钥解密,如果解密
8、成功,则B可以断定这个消息是A发来的。因为,用A的私钥加密的信息只能用A的公钥解密,反过来说,用A的公钥能解密成功就证明消息一定是用A的私钥加密的。19实现不可抵赖性 如果今后发生争议,A也无法否认自己发了消息,因为B可以拿出加密信息,用A 的公钥解密,从而证明这个消息是A发来的。20总结:数字签名的作用 消息认证:证实某个消息确实是某用户发出的。实现不可抵赖性:消息的发送方不能否认他曾经发过该消息。完整性保证:如果消息能够用公钥解密成功,还可确信消息在传输过程中没有被篡改过。21目录 2.5公钥密码体制解决的问题 2.6 数字信封 2.7 单向散列函数 2.8 数字签名22公钥密码体制的优缺
9、点 公钥密码体制存在一个严重的缺点,就是加、解密速度很慢23例如:例如:512比特模数的比特模数的RSA算法与算法与DES算法相算法相比,用软件实现的话比,用软件实现的话RSA大约比大约比DES慢慢1000倍,倍,用硬件实现的话用硬件实现的话RSA大约比大约比DES慢慢1500倍倍对称密钥加密与公钥加密比较 特征特征对称密称密钥加密加密公公钥加密加密加密加密/解密所用解密所用的密的密钥相同相同不同不同加密加密/解密速度解密速度 快快慢慢得到的密文得到的密文长度度通常等于或小于明通常等于或小于明文文长度度大于明文大于明文长度度密密钥分配分配大大问题没没问题系系统所需密所需密钥总数数大大约为参与者
10、的平参与者的平方个方个等于参与者的个数等于参与者的个数用法用法主要用于加密主要用于加密/解解密密主要用于加密会主要用于加密会话密密钥,数字数字签名名24数字信封(混合密码体制)数字信封用一个对称密钥加密明文,而用公钥密码体制的公钥加密这个对称密钥 这样既能使加密有很高的效率,又不必担心对称密钥在传输中被窃取,实现了两全其美的效果 过程:发送方A首先利用随机产生的对称密钥加密信息,再利用接收方B的公钥加密该对称密钥,被公钥加密后的对称密钥被称之为数字信封。25数字信封的工作过程 在实际中,公钥密码体制更多的用来加密对称密码体制的密钥,而不是加密普通的明文信息。明文信息一般用对称密钥加密。此时对称
11、密钥也被称为会话密钥,为了防止攻击者截获大量的密文分析出会话密钥,该会话密钥需要经常更换。26发送方发送方A接收方接收方B对称对称密钥密钥对称对称密钥密钥明文密文?加密加密A的公钥明文解密解密接收方接收方公钥公钥加密加密?密文?接收方接收方私钥私钥解密?数数 字字 信信封封目录 2.5公钥密码体制解决的问题 2.6 数字信封 2.7 单向散列函数 2.8 数字签名27不可逆加密体制 不可逆加密体制又称为单向密码体制,它是一种从明文到密文的不可逆变换 通常在明文到密文的转换中存在信息的损失,因此密文无法恢复成明文,实现不可逆密码体制的方法是通过单向散列函数。单向散列函数用于某些只需要加密、不需要
12、解密的特殊场合,例如:文件完整性保证口令存储28单向散列函数的性质 函数的输入(明文)可以是任意长度;函数的输出(密文)是固定长度的;已知明文m,求H(m)较为容易,可用硬件或软件实现;已知散列值h,求使得H(m)=h的明文m在计算上是不可行的,称为函数的单向性,称H(m)为单向散列函数;散列函数具有防伪造性(又称弱抗冲突性),即已知m,找出m(mm)使得H(m)=H(m)在计算上是不可行的;散列函数具有很好的抵抗攻击的能力(又称强抗冲突性),即找出任意两个不同的输入x、y,使得H(y)=H(x)在计算上是不可行的。29单向散列函数的性质和种类 提示:强抗冲突性自然包含弱抗冲突性。第和第个条件
13、给出了散列函数无碰撞性的概念,如果散列函数对不同的输入可产生相同的输出,则称该函数具有碰撞性collision。常见的单向散列函数有MD5和SHA-1,散列函数的安全性主要来源于它的单向性。30散列函数算法被破解的含义 MD5的散列码长度是128比特,而SHA-1的散列码长度是160比特。近年来有报道称已可以在24小时内找到MD5的一个冲突,使得MD5对于不同的输入有相同的输出结果,因此说MD5算法已经被破解。注意:说MD5算法被破解,只是说可以通过密文找到与明文有相同散列值的一个碰撞,而绝不是说可以将MD5算法加密的密文还原成明文。312.7.2 对散列函数的攻击 由于单向散列函数接受的输入
14、长度是任意的,而它的输出长度是固定值,因此单向散列函数将带来数据的压缩,单向散列函数肯定会存在碰撞的可能。如果用单向散列函数对消息求散列值,是不希望发生碰撞的,否则攻击者可以把消息修改成特定的模式,使其和原始消息具有相同的散列值,而用户却无法通过计算散列值发现数据已经被修改 因此散列函数又被称为数字指纹,就是说一般每个不同的消息都有其独特的散列值。32两类生日攻击 对单向散列函数的攻击是指找到散列函数对不同输入的碰撞,这称为生日攻击,它包括两类,分别对应攻击散列函数的弱抗冲突性和强抗冲突性 1.第类生日攻击 2.第类生日攻击(基于生日悖论)33第类生日攻击 已知一散列函数H有n个可能的输出,H
15、(x)是一个特定的输出,如果对H随机取k个输入,则至少有一个输入y使得H(y)=H(x)的概率为0.5时,k有多大?由(1+x)k1+kx,其中|x|1,可得1-1-1/nk1-1-k/n=k/n 若使上述概率等于0.5,则k=n/2。特别地,如果H的输出为m比特长,即可能的输出个数n=2m,则k=2m-1 34第类生日攻击(基于生日悖论)生日悖论是指:任意找23个人,则他们中有两个人生日相同的概率会大于50%,如果有30人,则此概率大约为70%,这比我们凭感觉认为的概率要大得多,因此称为生日悖论。设散列函数H有2m个可能的输出(即输出长为m比特),如果H的k个随机输入中至少有两个产生相同输出
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子商务 安全 课件 2.5