数据安全概述
当发送方A向接收方B发送数据时,需要考虑的问题有:
- 数据的安全性。
- 数据的完整性,即数据不被篡改。
- 数据的真实性,即数据确实来自于发送方,传输过程中没有被替换。
- 数据的不可否认性,即验证发送方确实发送了数据。
数据的安全性
要数据安全,就对数据加密emmmm;
加解密算法
分为对称加密和非对称加密,意思就是加解密是否使用相同的密钥;
对称加密
最终问题:密钥安全性,so,通过非对称加密解决
相关算法:DES 3DES AES RC5 RC6
非对称加密
最后问题:公钥合法性???
相关算法:RSA
数据的完整性
消息摘要
消息摘要函数时一种用于判断数据完整性的算法,也称为散列函数或哈希函数,函数的返回值就散列值,散列值又称为消息摘要或者指纹。
这种算法是不可逆的,即无法通过消息摘要反向推导出消息,因此又称为单向散列函数。
算法:MD5、SHA
最后的问题:数据真实性,so,通过**消息认证码(MAC)**解决;
数据的真实性
消息认证码
消息认证码(Message Authentication Code,简称MAC)是一种可以确认消息完整性并进行认证的技术。消息认证码可以简单理解为一种与密钥相关的单向散列函数。
最后问题:发送方的不可否认性?so…数字签名解决
数据的不可否认性
数字签名
数字签名(Digital Signature)可以解决发送方否认发送过消息的问题。
数字签名的重点在于发送方和接收方使用不同的密钥来进行验证,并且保证发送方密钥的唯一性,将公钥算法反过来使用可以达到此目的:A发送消息前,使用私钥对消息进行签名,B接收到消息后,使用配对的公钥对签名进行验证;如果验证通过,说明消息就是A发送的,因为只有A采用配对的私钥;第三方机构也是依据此来进行裁决,保证公正性。
最终问题:公钥合法性?emmm…公钥证书解决
公钥的合法性
公钥证书
将公钥交给一个第三方权威机构——认证机构(Certification Authority)CA来管理。接收方将自己的公钥注册到CA,由CA提供数字签名生成公钥证书(Public-Key Certificate)PKC,简称证书。证书中有CA的签名,接收方可以通过验签来验证公钥的合法性。
最后问题:emmm…没问题啦…都解决啦…