数据面临的威胁
窃听攻击:
窃听攻击是指攻击者在数据传输过程中拦截、截获和窃取通信内容的攻击行为。
攻击者可能会利用网络嗅探工具等技术手段截获未经加密的敏感信息,例如用户的登录凭据或其他机密数据。
为了防止窃听攻击,应使用安全通信协议(如HTTPS)来加密数据传输,确保传输的数据在传播过程中不被未授权的第三方获取。
伪装攻击:
攻击者伪装成可信任的发件人,向受害者发送具有欺骗性质的消息,诱导受害者提供敏感数据、点击恶意链接、下载恶意软件或将资金或资产错误地转移给他人。
中间人攻击:
攻击者作为中间人,劫持通信双方会话并操纵通信过程,而通信双方并不知情,从而达到窃取信息或冒充访问的目的。
四个安全要素
机密性
机密性指的是保护信息不被未经授权的人员访问或泄露。确保机密性的方法包括加密、访问控制、数据分类等。机密性的重要性在于保护敏感信息不被公开,避免潜在的隐私泄露或商业机密丢失。
完整性
完整性保证信息在存储、处理和传输过程中不被篡改或破坏。确保数据在整个生命周期中保持准确性和一致性。常见的保护措施包括数据校验和哈希函数,用于检测数据是否被篡改。
身份认证
身份认证是验证用户、系统或实体的身份,以确保他们是他们所声称的身份。常用的身份认证方法包括用户名和密码、双因素认证(2FA)、生物识别技术等。身份认证的目的是防止未授权的访问和操作。
不可否认
不可否认指的是确保发件人不能否认已经发送的信息,或接收人不能否认已接收到的信息。不可否认性通常通过数字签名和审计日志来实现,确保交易或通信的各方无法后悔或否认其行为。
数据加解密
对称密钥加密算法
对称加密是一种使用相同密钥对数据进行加密和解密的方法,即加密的密钥=解密的密钥。常见的对称加密算法有AES、DES、3DES等。
AES算法原理
AES(Advanced Encryption Standard)是一种对称加密算法,它使用固定长度的密钥(128、192或256位)对数据进行加密和解密。AES的核心是一个称为“混淆盒”的数学模型,它可以将输入数据转换成不可预测的输出。
AES的混淆盒由一个称为S盒的数学模型组成。S盒是一个256个输入到256个输出的非线性、可逆的函数。AES的混淆盒由10个轮(Round)组成,每个轮使用不同的S盒和密钥进行加密。
AES加密和解密步骤
AES加密和解密的步骤如下:
初始化密钥:使用一个固定长度的密钥(128、192或256位)。
扩展密钥:使用密钥扩展算法生成128个子密钥。
加密:对数据块进行10个轮的加密操作,每个轮使用不同的子密钥和S盒。
解密:对密文进行10个轮的解密操作,每个轮使用相应的子密钥和S盒。
优点
速度快、效率高
安全
紧凑
缺点
密钥(预共享密钥PSK)传输安全问题
对等体数量越多,密钥数量越多
密钥管理和存储问题
不支持数字签名和不可否认性
非对称加密
非对称加密是一种使用不同密钥对数据进行加密和解密的方法,即加密的密钥≠解密的密钥。常见的非对称加密算法有RSA、DH、ECDH等。
每个用户都有自己的一对儿密钥(公钥+私钥),公钥可以公开,私钥保密保存,公钥和私钥一一对应,不可以互相推导。
用一个公钥加密,必须用对应的私钥解密;(用于保密)
用一个私钥加密,必须用对应的公钥解密;(用于身份认证)
RSA:加密、数字密钥、数字签名
DH:数字签名
优点
安全
没有密钥管理和存储问题
没有密钥传输安全问题
支持数字签名和不可否认性
缺点
不紧凑
速度慢、效率低
数据完整性
使用摘要算法/HASH算法/散列算法保证数据的完整性。
利用摘要算法对数据计算出来的值叫做摘要值/哈希值。
常见的HASH算法:MD5、SHA
HASH算法特点:相同的算法,不管输入长度是多少,结果是定长的;
摘要值无法逆推出原始的数据内容,不可逆性;
雪崩效应。
HMAC:升级版/增强版的HASH。在做摘要计算时,同时加入了MAC密钥;做完整性校验的同时,还可以验证身份。
数字签名
经过证书认证机构CA(PKI认证体系中的一个机构)数字签名的证书信息,类似于网络的电子身份证,用来传递公钥信息,验证公钥的真实性。
包含有拥有者的公钥信息和相关身份信息。
证书的四种类型:
自签名证书
本地证书
CA证书
设备本地证书
PKI体系
公钥基础设施PKI,是一个签发证书、管理证书、传播证书、使用证书的环境,CA证书认证机构是PKI的核心。