面试题答案
一键面试协同工作方式
- 握手阶段:
- 客户端向服务器发送请求,服务器返回公钥。这是基于非对称加密的通信。
- 客户端生成一个随机数(预主密钥),用服务器的公钥加密后发送给服务器。只有服务器能用对应的私钥解密得到预主密钥。
- 客户端和服务器根据预主密钥,通过一系列计算得到会话密钥。这个会话密钥是对称加密密钥。
- 数据传输阶段:
- 客户端和服务器使用会话密钥(对称加密密钥)对传输的数据进行加密和解密。
各自承担角色
- 非对称加密:
- 在握手阶段用于安全地交换对称加密所需的密钥(如预主密钥)。它可以保证密钥传输过程的安全性,因为只有持有私钥的服务器能解密得到预主密钥,其他人即使截获也无法解密。
- 对称加密:
- 在数据传输阶段对实际传输的数据进行加密和解密。由于对称加密算法计算速度快,适合大量数据的加密,能满足网络数据传输的效率要求。
好处
- 安全性:非对称加密用于密钥交换,保证了密钥传输的安全性,而对称加密用于数据传输加密,保障了数据传输过程中的保密性。两者结合,提升了整个通信过程的安全性。
- 效率:对称加密计算速度快,适合大量数据加密;非对称加密虽然计算速度慢,但在密钥交换这种对速度要求相对不高的场景下使用,两者相辅相成,在保证安全的同时兼顾了效率。
可能面临的风险
- 非对称加密相关风险:
- 私钥泄露风险:如果服务器的私钥被窃取,攻击者就可以解密客户端发送的预主密钥,进而获取会话密钥,破解后续通信数据。
- 中间人攻击:攻击者可能伪装成服务器,向客户端发送自己的公钥,拦截并篡改通信内容。虽然有证书机制来防止这种情况,但如果证书验证环节被绕过,仍存在风险。
- 对称加密相关风险:
- 密钥管理风险:如果会话密钥在生成、存储或传输过程中出现安全漏洞,攻击者获取了会话密钥,就可以轻松解密通信数据。
- 算法破解风险:随着计算能力的提升,如果对称加密算法被破解,通信数据的保密性将受到威胁。