您好、欢迎来到现金彩票网!
当前位置:秒速牛牛计划 > 通信安全 >

【融云分析】当我们在谈通讯安全时我们在谈些什么

发布时间:2019-05-26 21:44 来源:未知 编辑:admin

  当传送的消息是机密内容的时,人们希望给消息加密。这样即使消息在传送过程中被截获,窃听者也无法确切的知道消息内容,从而达到保密的效果。

  消息在传送过程中,有可能被攻击者篡改内容,这样接收者接到的就是错误的信息,通讯过程中应该提供某种方案防止篡改。

  首先,开发高强度的加密算法是非常困难的。普通的算法在外行看起来牢不可破,但是专业破译者却有非常多的工具和攻击方式,使其破绽百出。

  其次,加密算法的秘密总有一天会公诸于世。到那时,所有基于这个算法的秘密都将被泄露。

  实践中使用的加密算法都是公开的,消息传递依靠保密的密钥来确保消息不被破解。正因此,它们经过攻击者长期尝试仍未被破解,所以保密强度较高。

  对称加密是指加密和解密用的是同一个密钥。这个密钥只有发送者和接收者知晓,其他没有密钥的人无法解密消息。

  常见的对称加密算法有 DES 、 3DES 和 AES 等。随着计算机硬件的进步,使用暴力破解法已经能在现实时间中完成对 DES 的破解; 3DES 处理速度不高,此外在安全性方面也逐渐显现出了些问题;目前应该选用的算法是 AES 。

  公钥和私钥是一对。公钥加密,对应的私钥才能解密,反之亦然。前面的场景适用于防窃听,后面的场景适用于数字签名,也就是防止否认。

  实现机密消息交换的基本过程是:甲方生成一对密钥并将其中一个作为公钥向其它方公开,得到该公钥的乙方使用该公钥对消息进行加密再发送给甲方,甲方再使用自己的私钥对消息进行解密。

  网络中的其他窃听者虽然也能拿到甲方的公钥,但是加密后的消息只有私钥才能解开,所以他们无法破译消息。

  对称加密处理速度快,但是由于通讯双方使用的是同一个密钥,存在密钥配送困难的问题。要求通讯双方线下交换密钥是不现实的,而线上配送又存在被窃听的风险。

  非对称加密的公钥本身就是可以对外公开的,天然避免了密钥配送的问题;但是非对称加密的处理速度远远低于对称加密。

  通讯过程中传送了两部分内容:一部分是使用对称加密算法加密的消息,另一部分是对称加密的密钥。其中对称加密的密钥是由接收方的公钥加密过的,这样除了接收方之外,任何其他人都不能解开对称加密的密钥,从而也无法解开加密的消息。

  相比于要传送的消息本身,对称密钥的长度要短得多。非对称加密的处理速度慢,所以只用来加密对称密钥,而很长的消息则用处理速度快的对称算法来加密。

  先把对称加密的密钥和加密后消息这两部分分离开。对称密钥之前是用接收者的公钥加密的,所以只能使用接收者的私钥进行解密。对称密钥解出来之后,就可以对消息密文进行解密了,从而得到消息明文。

  我接收到的消息确实就是发送者发过来的那条吗?在传输的过程中会不会已经被攻击者给改写了?

  第一,输入任意长度的字符串,输出固定长度的字符串。比起要传输的消息长度来说,输出的固定长度通常很短,因此很容易进行处理。

  第二,相同的输入总是对应相同的输出。发送方对消息进行摘要处理,同时把摘要附在消息里发送出来。接收方收到之后用同样的摘要算法对消息进行处理,再把计算出来的摘要和收到的摘要进行对比,如果不一致,就能知道消息已被篡改。

  第三,给定一个字符串 A ,经过摘要算法处理后的串 B ,很难找到一个字符串 C ,使其摘要后的串和串 B 相同。这个重要的特性称为抗碰撞性(弱抗碰撞性)。这条特性使得攻击者在篡改消息后,很难再计算出同样的摘要,从而规避摘要算法的检查。

  防篡改关注的是消息的完整性( integrity ),防伪造关注的是消息的认证( authentication )。

  消息认证码( Message Authentication Code )是一种既能检查消息完整性,又能做身份验证的技术,取三个单词的首字母,简称为 MAC 。

  跟对称密钥一样,这里同样面临密钥配送的问题,我们仍然可以采用非对称加密的方式进行密钥配送。除此之外, Diffie-Hellman 算法也是常用的密钥交换方式。

  想象一下这个场景, Bob 收到了一张 Alice 发来的五百万元的借条。使用事先约定好的共享密钥, Bob 计算出的 MAC 值跟借条里收到的 MAC 值一致,这表明消息没有被篡改,同时消息也不会是第三方伪造的,那么就没有任何后顾之忧了吗?

  并不是这样。问题在于共享密钥是两个人持有的,因此能算出正确 MAC 值的并不只是 Alice , Bob 也能。如果 Alice 声称自己没有发过这样的借条,那作为第三方仲裁者来说,无法证明借条是 Alice 生成的还是 Bob 生成的。

  我们需要寻求一种解决方案, Alice 使用的签名是由只有她自己才知道的密钥生成,同时别人还能顺利解开。这样别人无法伪造 Alice 的签名,同时还能验证这个签名。

  Alice 使用自己的私钥对消息进行签名(加密),同时对外发布对应的公钥。无论是 Bob 还是第三方仲裁者,都可以使用公钥对签名进行验证(解密)。

  到目前为止,看上去我们解决了之前提出的四个问题,但是通讯安全领域的问题还远不止这些。比如怎么验证公钥的可靠性?比如怎么才能生成一个可靠的随机数?再延伸下去我们会涉及到证书,认证机构和随机数的分级等领域,这里就不再一一展开了。

  最后,请大家记住一句话:只有完美的密码,没有完美的人。不管多精密的系统,在确保整体安全方面,人是一个特别巨大的弱点。很多时候,最脆弱的环节并不是各种算法,而是人类自己。

http://kaze-movie.com/tongxinanquan/88.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有