文章目录
对称加密及漏洞
对称加密是一种加密算法,使用相同的密钥(也称为对称密钥)用于加密和解密数据。在对称加密中,发送方使用密钥对要发送的数据进行加密,接收方使用相同的密钥对接收到的密文进行解密,从而还原成原始的明文数据。
对称加密的特点包括:
快速高效:对称加密算法通常计算速度快,适合处理大量数据。
加密解密使用相同密钥:对称加密使用相同的密钥进行加密和解密操作,因此在通信双方之间需要共享密钥。这也意味着密钥的安全性非常重要,任何人获取了密钥都可以解密密文。
安全性依赖于密钥管理:对称加密的安全性取决于密钥的保密性和安全管理。如果密钥泄露,加密的数据将无法保护。
常见的对称加密算法包括DES(数据加密标准)、3DES(三重数据加密算法)、AES(高级加密标准)等。这些算法在加密过程中使用相同的密钥进行加密和解密操作,提供了保护数据隐私和保密性的机制。
图解:
非对称加密及漏洞
非对称加密是一种加密算法,使用一对不同但相关的密钥,分别称为公钥和私钥。公钥用于加密数据,私钥用于解密数据。在非对称加密中,公钥可以公开给任何人使用,而私钥必须保密。
加密解密使用不同密钥:非对称加密使用不同的密钥进行加密和解密操作。公钥用于加密数据,私钥用于解密数据。这意味着任何人都可以使用公钥加密数据,但只有私钥的持有者才能解密数据。
数字签名:非对称加密还可以用于数字签名。发送方可以使用私钥对数据进行签名,接收方可以使用公钥验证签名的真实性,确保数据的完整性和身份认证。
密钥分发和管理:非对称加密可以解决对称加密中密钥分发和管理的问题。发送方只需要知道接收方的公钥,而不需要共享私钥。这样可以降低密钥管理的复杂性。
常见的非对称加密算法包括RSA(Rivest-Shamir-Adleman)、ECC(椭圆曲线加密)等。这些算法在加密和解密过程中使用不同的密钥,提供了更高的安全性和灵活性。
图解:
什么是数据摘要(也称数据指纹)
数据签名是一种用于验证数据完整性和身份认证的技术。它通过使用加密算法和私钥对数据进行加密,生成一个唯一的数字签名。这个数字签名可以用于验证数据的来源和完整性,确保数据在传输过程中没有被篡改或伪造。
数据签名的过程如下:
数据摘要:首先,对要签名的数据应用一个哈希函数,生成一个固定长度的摘要(也称为哈希值)。这个摘要是根据数据内容计算出来的,具有唯一性和不可逆性。
私钥加密:使用私钥对摘要进行加密,生成数字签名。私钥只有签名者拥有,用于对数据进行加密和生成签名。
数字签名验证:接收方可以使用公钥对数字签名进行解密,得到摘要。然后,接收方对接收到的数据应用相同的哈希函数,生成一个新的摘要。接收方可以比较这两个摘要,如果它们匹配,则说明数据没有被篡改或伪造。
数据签名的作用包括:
数据完整性:数据签名可以验证数据在传输过程中是否被篡改。如果数据被篡改,数字签名验证将失败,接收方可以知道数据已被修改。
身份认证:数据签名可以验证数据的来源。由于私钥只有签名者拥有,其他人无法生成有效的数字签名,因此可以确保数据的身份认证。
防止抵赖:由于数字签名是使用私钥生成的,签名者无法否认自己对数据的签名。这可以防止签名者在后期否认自己的行为。
什么是CA认证
CA认证是指由CA(Certificate Authority,证书颁发机构)进行的数字证书的认证过程。CA是一个可信任的第三方机构,负责验证和签发数字证书,用于验证网站、服务器或个人的身份和安全性。
CA证书签发过程
-
服务方 S 向第三方机构CA提交公钥、组织信息、个人信息(域名)等信息并申请认证;
-
CA 通过线上、线下等多种手段验证申请者提供信息的真实性,如组织是否存在、企业是否合法,是否拥有域名的所有权等;
-
如信息审核通过,CA 会向申请者签发认证文件和证书。
证书包含以下信息:申请者公钥、申请者的组织信息和个人信息、签发机构 CA 的信息、有效时间、证书序列号等信息的明文,同时包含一个签名;
签名的产生算法:首先,使用散列函数计算公开的明文信息的信息摘要,然后,采用 CA 的私钥对信息摘要进行加密,密文即签名;
-
客户端 C 向服务器 S 发出请求时,S 返回证书文件;
-
客户端 C 读取证书中的相关的明文信息,采用相同的散列函数计算得到信息摘要,然后,利用对应 CA 的公钥解密签名数据,对比证书的信息摘要,如果一致,则可以确认证书的合法性,即公钥合法;
-
客户端然后验证证书相关的域名信息、有效时间等信息;
-
客户端会内置信任 CA 的证书信息(包含公钥),如果CA不被信任,则找不到对应 CA 的证书,证书也会被判定非法。
在这个过程注意几点:
1.申请证书不需要提供私钥,确保私钥永远只能服务器掌握;
2.证书的合法性仍然依赖于非对称加密算法,证书主要是增加了服务器信息以及签名;
3.内置 CA 对应的证书称为根证书,颁发者和使用者相同,自己为自己签名,即自签名证书;
4.证书=公钥+申请者与颁发者信息+签名;
https通信方案
图解:
- 中证书无法伪造。
2.形成签名的方法不公开是签名不会被伪造的关键,也是对比数据摘要判断是否可信任 这一方法的保障。