解决HTTP安全的方法就是采用HTTPS,理解HTTPS之前必须掌握基本的密码学知识,HTTPS本质上就是对密码学算法的组合。
【密码学的四个目标】
1)机密性(隐私性)
在网络中传递的数据如果具备机密性,那么传输的数据就是一串无意义的数字,只有拥有密钥的才能解释这些数据,密钥是加密算法的关键。
对称加密算法和公开密钥算法都能够保证机密性。
2)完整性
完整性表示接收方能够确保接收到的数据就是发送方发送的原始数据,假设数据被中间人篡改,接收方如果有策略知晓数据被篡改了,那么传递的数据就具备完整性。
在密码学中,主要使用消息验证码(MAC)算法保证完整性。
3)身份验证
互联网应用一般都有发送方和接收方,对于接收方来说,必须确认发送方的身份,才能确保收到的数据就是真实发送方发送的。
在密码学中,一般使用数字签名技术确认身份
4)不可抵赖性
数字签名技术能够避免抵赖。
【 OpenSSL】
OpenSSL项目,包括了底层密码库和命令行工具,大部分Linux发行版都预装了OpenSSL库。