新都资讯网

首页 > 正文

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

www.hufguf.com2020-01-31

在谈到通信安全时,我们通常关心以下四个问题:

1)防止消息窃听

当传输的消息是机密时,人们想要加密消息。这样,即使消息在传输过程中被截获,窃听者也不能准确知道消息的内容,从而达到保密的效果。

2)防止消息被篡改

消息在传输过程中可能被攻击者篡改,因此接收者会收到错误的信息。应该提供一些方案来防止通信期间的篡改。

3)防止邮件伪造

攻击者伪造发送者的姓名,并将邮件发送给接收者。这种行为被称为信息伪造。

4)为了防止发送者否认他后来发送了消息,需要一种机制来防止这种情况发生。

接下来,我们将详细分析这四个问题。

1。防窃听

谈到加密,许多人的第一反应如下:

'自行实施加密算法,然后对算法保密,以确保安全性'

这是密码学领域的典型错误。

首先,很难开发出强大的加密算法。对于局外人来说,普通的算法似乎牢不可破,但是专业的破译者有许多工具和攻击方法,使它们充满了缺陷。

其次,加密算法的秘密总有一天会公之于众。到那时,基于该算法的所有秘密都将被揭露。

实际使用的加密算法都是公开的。消息传递依赖于密钥来确保消息不会被破解。因此,经过攻击者的长期尝试,它们没有被破解,因此安全性相对较高。

常见的加密系统分为三种类型:对称加密、不对称加密和混合加密。

1.1对称加密

对称加密意味着加密和解密使用相同的密钥。只有发送方和接收方知道该密钥,没有该密钥的其他人无法解密该消息。

常见的对称加密算法包括DES、3DES、AES等。随着计算机硬件的进步,蛮力的使用已经能够实时破解DES。3DS的处理速度不高。此外,还有一些安全问题。AES是目前应该选择的算法。

1.2不对称加密

不同于对称加密,因为不对称加密算法需要两个密钥公钥和私钥。

公钥和私钥是一对。如果公钥被加密,相应的私钥可以被解密,反之亦然。前者适用于反窃听,而后者适用于数字签名,即防止拒绝。

实现保密信息交换的基本过程是:甲方生成一对密钥,并将其中一个密钥作为公钥对外公开。获得公钥的乙方对消息加密并发送给甲方,甲方用自己的私钥解密消息。

虽然网络中的其他窃听者也可以获得甲方的公钥,但加密后的消息只能用私钥解密,所以他们无法解密消息。

最常用的非对称加密算法是RSA。

1.3混合加密

比较对称加密和非对称加密各自的特点:

对称加密处理速度快,但由于通信双方使用相同的密钥,很难分发密钥。要求通信方离线交换密钥是不现实的,在线分发有被窃听的风险。

非对称加密公钥本身可以向公众公开,这自然避免了密钥分发的问题;然而,非对称加密的处理速度远低于对称加密。

混合加密系统是一种将上述两种优势结合起来的方法。

先看看加密过程。

在通信过程中传输了两部分:一部分是用对称加密算法加密的消息,另一部分是用对称加密加密的密钥。对称加密密钥由接收者的公钥加密,因此除了接收者之外,没有人能够解锁对称加密密钥,从而解锁加密消息。

Encryption Process

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

2.防篡改

在通信过程中,接收者有时会有这样的问题:

'我收到的消息真的是发送者发送的吗?“它会在传输过程中被攻击者重写吗,”

这是对信息完整性的挑战。

在实践中,总结算法通常用于应对这一挑战。

digest算法具有以下重要特征。

首先,输入任意长度的字符串,并输出固定长度的字符串。与要传输的消息的长度相比,输出的固定长度通常非常短,因此易于处理。

其次,相同的输入总是对应于相同的输出。发件人汇总邮件并发送邮件所附的摘要。接收到消息后,接收器使用相同的摘要算法来处理消息,然后将计算出的摘要与接收到的摘要进行比较。如果没有一致意见,就可以知道消息被篡改了。

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

第四,转换是单向的,即输入字符串不能与输出字符串相反。

常见的摘要算法包括MD4、MD5、SHA-1和SHA-2(包括SHA-256、SHA-384和SHA-512)。只有SHA-2算法强大的防碰撞能力没有被突破。

3。伪造是指“信息来自正确的发送者”。

防篡改侧重于消息的内容,而防伪造侧重于发送者本人。

防篡改侧重于消息的完整性,而防伪造侧重于消息的认证。

消息验证码是一种可以检查消息完整性并验证身份的技术。它需要三个单词中的第一个字母,简称MAC。

实际上,通常使用与密钥相关的摘要算法来实现消息认证码。使用

message验证码的步骤如下:

1。发送方和接收方预先共享密钥;

2。发送方使用共享密钥来计算消息的媒体访问控制值;

3。发送方将消息与媒体访问控制一起发送给接收方;

4。接收方使用共享密钥计算接收消息的媒体访问控制值;

5。接收器将计算出的媒体访问控制值与接收到的媒体访问控制值进行比较;

因为攻击者没有共享密钥,所以他无法计算与接收者相同的媒体访问控制值。

像对称密钥一样,也存在密钥分发的问题。我们仍然可以使用非对称加密进行密钥分发。此外,Diffie-Hellman算法也是一种常见的密钥交换方法。

4。反否认

想象这一幕,鲍勃从爱丽丝那里收到一张500万元的借据。使用预先约定的共享密钥,鲍勃计算出的媒体访问控制值与借据中接收到的媒体访问控制值一致,这表明消息没有被篡改,消息不会被第三方伪造,所以不用担心?

那不是真的。问题是共享密钥由两个人持有,所以爱丽丝和鲍勃不是唯一能计算出正确的媒体访问控制值的人。如果爱丽丝声称她没有出具这样的借据,那么作为第三方仲裁人,就不可能证明是爱丽丝还是鲍勃生成了借据。

我们需要找到一个解决方案。爱丽丝的签名是由一个只有她知道的秘密密钥产生的。同时,其他人可以顺利解锁。这样,其他人就不能伪造爱丽丝的签名,同时他们可以验证这个签名。

看起来熟悉吗?是的,这是早先引入的不对称加密。

爱丽丝使用她的私钥对消息进行签名(加密),并向公众发布相应的公钥。鲍勃和第三方仲裁器都可以使用公钥来验证(解密)签名。

这个方案叫做数字签名。

5。附言

到目前为止,我们似乎已经解决了前面提到的四个问题,但通信安全领域的问题远不止这些。例如,如何验证公钥的可靠性?例如,我们如何生成一个可靠的随机数?如果我们继续下去,我们将涉及证书、认证机构和随机数分级等领域,所以我们不会在这里逐一开始。

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

热门浏览
热门排行榜
热门标签
日期归档