头部背景图片
senrenbankaの部落格 |
senrenbankaの部落格 |

信息安全小知识

引言:

上次写了篇关于SSL协议的博文,感觉意犹未尽,这次来讲讲其他一些信息安全的知识,大概就侃侃这些:

加密算法
摘要算法
数字签名
数字信封


加密算法:

上次讲过,SSL握手协议中客户端将与服务端协商得到的共享对称密钥进行信息的加密,再用服务端给的公钥进行加密,传输给服务端,服务端用自己的私有密钥进行解密,再用对称密钥解密得到客户端传输的数据信息,这个过程中牵扯到两种加密算法:

私钥加密(对称加密)
公钥加密(非对称加密)

先讲讲私钥加密:
私钥加密的加密密钥和解密密钥是一样的,所以又称为对称加密,DES,AES加密算法就是私钥加密,要求你有正确的密钥才能解开密文,所以,在这种情况下,密钥的保存相当重要,而加密的算法被公开也不会影响数据的安全性(单单只是加密算法而没有密钥解开密文的可能性几乎为0),如果密钥被截取,那么第三方可能通过逐一尝试算法进行解密,信息很容易被第三方窃取,所以如果用的是私钥加密,那么密钥是一定要保管好的

再谈谈公钥加密:
公钥加密的加密密钥和解密密钥是不同的,所以又称其为非对称加密,这方面对应的算法有RSA非对称算法,举个例子:A有自己的私钥,B给A的公钥,B有自己的私钥,A给B的公钥,A写了一段信息,用B给的公钥进行加密,再发送给B,防止有人偷看信息,B拿到信息之后再用自己的私钥解开密文,拿到A的信息,反之,若B要发送给A信息,则只需要用A的公钥加密,A端用自己的私钥解密就行了。下图展示了公钥加密的过程:公钥加密

公钥加密与私密加密各有优缺点,私钥加密只用一把密钥进行加密解密,安全性相对公钥加密要低,但是比公钥加密要快上许多,如果遇上大信息量的加密解密,私钥加密要比公钥加密快上几千倍!一般的想法是:将大信息量用私钥加密进行过加密,得到的密文比明文要小了许多,这时再用公钥加密会节省许多时间,比起只用公钥加密要快得多。

摘要算法:

摘要算法是不可逆的算法,一段经过摘要算法进行加密的密文是不可能解出原本的明文的,只能通过将相同的明文进行加密才能得到相同的结果,摘要算法主要用在’数字签名’中。摘要算法的特点是,不管对于多长的明文,都可以加密成固定长度的密文,比如md5固定是32位或是16位,每一位都是16进制,常见的摘要算法包括md5,sha1,sha256。一般我们得到一段摘要算法加密的明文,可以去cmd5尝试(碰碰运气而已,有些加了盐的密文根本就找不到的,还有大部分是要付费查询的…)

数字签名:

什么是数字签名?数字签名就是将消息用发送者的私钥进行加密,与原文一起进行打包传输给接收者,接收者采用发送者给的公钥进行密文解密,如果解出来的明文和原文是一样的,则证明消息是正确的没有被篡改过。在很多场合数字签名得到了使用,比如网上交易,采用数字签名可以保证网络传输的完整性,验证发送者的身份,并且发送者不可抵赖行为的发生。

数字签名采用的是公钥加密,保证数据不会被篡改,如果有第三方截取信息,用公钥对摘要进行解密,那么他是无法再生成一段摘要的,因为他拿不到原本发送者的私钥,如果他用他自己的私钥进行加密,那么他必须将他自己的公钥替换掉接收者持有的原本发送者的公钥(这并不现实,但是还是有可能的),否则,接收者用发送者的公钥进行解密,会得到不一样或是根本无法解密,也就可以断定信息被第三方动了手脚,从这一方面给来看,数字签名即保证了数据完整,又保证了消息的发送方,并且发送方是不可否认自己发过这个信息的。符合网络安全的四大要素:

信息传输的保密性、数据交换的完整性、发送信息的不可否认性、交易者身份的确定性。

从上述我们可以知道,数字签名的技术基础是公钥加密,但是公钥加密的速度是很慢的,如果发送的信息太长,那么加密解密的时间消耗会非常大,那么有什么相应的解决方法呢?——答案是我们刚才讲过的摘要算法,摘要算法产生的长度是固定的,而将明文先进行摘要,再将得到的结果进行公钥加密,接收者解密后再将原文用相同的摘要算法进行加密,如果得到的结果是一样的话,那么可以断定信息是正确的,这种方法既加快了效率,又能保证足够的安全性。

数字签名的实现方法有挺多的,比如RSA签名,这里给出两个RSA签名的实现过程图(分别为保密机制的和非保密机制的):

非保密机制的RSA签名:

非保密机制的RSA签名

保密机制的RSA签名:

保密机制的RSA签名

数字信封:

数字信封指的是:先用对称密钥对信息进行加密,加密后用非对称密钥(接收者的公钥)对对称密钥进行加密,然后将加密的密钥和加密的信息打包给接收者,这个过程既加快了速率,又保证了安全性,如果你看过上面的保密机制的RSA签名的话,你就会发现保密机制的RSA签名就用了数字信封,而且现在的数字证书也用到了这种方法。

avatar AONOSORA 今生今世轮回尽, 来世愿为幻想乡