数据安全三要素:机密性、完整性、身份验证
目录
1、定义
机密性 | 传输内容非明文,即使数据被外界截获,也不能被他人解释或破解 |
完整性 | 传输过程中内容不能够被篡改,若信息被篡改或不完整,接收方能够得知 |
身份验证 | 接收方能够验证数据的实际发送方,确保数据不是被人“冒名顶替”而伪造。 |
2、举例
A军给B军发送了一封加密的文件,只有B军通过密码本能看懂,这体现了机密性;C军截获这封文件并篡改后发给B军,但是B军通过文件袋的印刷痕迹可以看出这个文件已经被篡改,这体现了完整性;B军通过文件的印章可以看出这是A军写的,而不是C军伪造,者体现了身份验证;
3、说明
3.1机密性
机密性可通过加密算法保证,加密算法定义了明文、密文之间如何转换,也就是加解密的过程。加密算法分为:对称加密和非对称加密。
对称加密指加密和解密使用相同密钥的加密算法。对称加密指加密和解密使用相同密钥的加密算法。对称加密指加密和解密使用相同密钥的加密算法。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都可以对他们发送 或接收的消息解密,所以密钥的保密性对通信性至关重要。常见的对称加密算法主要有DES,AES, 3DES、RC2、RC4和RC5等。
非对称加密算法需要两个密钥:公开密钥(public key)和私有密钥(private key)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密; 如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法,常见算法:RSA、DSA、ECC等。工作原理如下:
3.2完整性
信息完整性可通过提取并对比消息摘要的方式来实现。消息摘要就是根据一定的运算规则对原始数据进行某种形式的信息提取,消息摘要的长度固定(数据指纹),它可以唯一的标识一段数据。常见的摘要算法有:sha1、sha256、md5、crc32等。发送方和接收方可以约定使用相同的摘要算法对原文进行摘要运算,双方得出的消息摘要若一致,说明数据在传输过程中没有被篡改。比如给文件生成MD5值:
3.3身份验证
保证了数据的机密性和完整性,仍然存在一些问题: 第一:接收方若要验证消息完整性,必须得到发送方对消息产生的摘要,若第三方得知摘要算法,把摘要内容篡改。因此摘要本身也需要被加密。 第二:消息发送来源如何确定?
思路:
首先,发送方将消息原文使用摘要算法生成摘要,再用私钥对摘要进行加密,生成数字签名,然后将内容附上 数字签名一起传输。(签名)
然后,接收方收到消息后,用发送方的公钥对数字签名进行解密(能解密成功就完成了对发送方的身份验证), 得到摘要A。(验签)
最后,再对原文使用摘要算法生成摘要B,比对摘要A和B是否相同,相同则说明内容没有被 篡改。