1. 安全的四大要素
讲安全,一般都会提及到安全的四大要素:
机密性,发送方利用秘钥对数据进行加密,然后在网络中传输的数据由明文变成密文,接受方利用秘钥解密数据.
完整性,虽然网络中传输的数据是密文,但如果密文被第三方修改,那么数据也就失去了意义,所以发送方用完整性算法来对数据做摘要,然后把摘要跟随密文一起发给接收方,接受方对收到的密文做摘要,与发送方发来的摘要比对,如果相同,则接受该数据,如果不同则丢弃,要求发送方重发.
身份认证, 数据再怎么安全,再怎么完整,也得保证通信双方的身份是真实的,而不是伪造的,所以在通信前需要对双方的身份进行认证.
不可否认性, 前面产生的数据是的的确确发生的,如果通信一方否认该数据,这也不行,所以还需要对已经交换的数据,通信双方无法否认.
2. 机密性
2.1 对称加密算法
对于在网络种传输的数据,为了防止第三方查看到,通常采用加密来保护数据,即使第三方得到密文数据,由于没有加密的密钥,所以无法解密,也就无法查看到原始数据.
而这密钥就是密码学中的对称密钥,所使用的加密方法,被称之为对称加密算法,一般常用的加密算法有DES, 3DES, AES.其中DES所使用的密钥长度为56bit, 3DES则是168bit, AES有三种: 128bit, 192bit, 256bit.密钥长度越长,安全性则越高.
对通信双方而言,对称加密使用的加密算法是需要相同的,而两者事先也不知道各自使用的对称加密算法,所以在加密之前双方还得协商各自使用的加密算法,而对称加密算法的协商可以是明文,可以是密文,对于明文传输的加密算法,即使第三方知道也没关系,只要没有对称加密的密钥也无法获取数据内容.
上面提到的对称加密的密钥,双方都是需要知道的,一个用之加密,一个用之解密.那通信双方是如何知道或者产生这密钥呢?答案有多种,在实际中也有各自的使用场景.一个是提前在通信双方设备上配置相同的密钥,即PSK(预共享密钥),PSK不要在网络中传输,还有一种是在双方通信时临时产生一