1.http协议
传输层 tcp传输控制协议 允许跨语言进行通信 操作系统基于C语言或者 http基于C语言 服务器看见通信报文 jvm有java环境 java语言重新创建
2.tcp协议:
TCP(传输控制协议)是一种面向连接的、可靠的传输层协议。它确保数据在网络中以正确的顺序到达,并且没有丢失或重复。TCP 使用三次握手建立连接,提供流量控制、拥塞控制和错误检测,确保数据传输的完整性和可靠性。常用于需要高可靠性的应用,如网页浏览和文件传输。
3.servlet底层通信的原理
①客户端(浏览器)使用操作系统提供的网络库创建Scoket对象,这些网络库通常基于c/c++编
写的,所以这不是Java的Socket对象
②Http请求封装报文交给操作系统进行消息发送,传输层的Tcp协议允许使用不同编程语言编
写的程序之间进行通信
③当客户端尝试连接时,消息发送到服务端,由服务端的Java语言网络库接收该请求并再创
建一个基于Java语言的Socket对象
④服务端的ServerSockt对象调用accpet()获取刚刚新创建的Socket建立连接
5.HTTPS(超文本传输安全协议)
是 HTTP 的安全版本,通过加密算法保护数据传输的安全性和隐私。HTTPS 主要依赖于 SSL/TLS 协议来实现加密。下面是 HTTPS 加密算法和部署的关键点:
加密算法:对称加密:
算法:AES(高级加密标准)、3DES(三重数据加密标准)
用途:用于加密和解密实际传输的数据。对称加密的密钥必须安全地共享给通信双方。
非对称加密:
算法:RSA(Rivest-Shamir-Adleman)、ECC(椭圆曲线密码学)
用途:用于加密会话密钥(对称密钥)和确保数据传输的安全。每个通信方都有一对密钥(公钥和私钥),公钥用于加密,私钥用于解密。
哈希算法:
算法:SHA-256(安全哈希算法),SHA-3
用途:用于生成消息摘要和验证数据完整性。在 HTTPS 中,哈希函数用于生成数字签名和数据完整性校验。
数字签名:
算法:RSA、ECDSA(椭圆曲线数字签名算法)
用途:用于验证证书的真实性和数据的完整性。数字签名确保数据没有被篡改,并验证发送方的身份。
HTTPS 部署
获取证书:
证书颁发机构(CA):从受信任的证书颁发机构购买或申请 SSL/TLS 证书。常见的 CA 包括 Let’s Encrypt、DigiCert、GlobalSign 等。
安装证书:
Web 服务器配置:将证书和私钥安装到 Web 服务器上。不同的服务器(如 Apache、Nginx、IIS)有不同的安装步骤。
证书链:确保安装完整的证书链,包括中间证书和根证书。
配置 Web 服务器:
启用 HTTPS:配置 Web 服务器以启用 HTTPS,并设置正确的加密协议和加密套件。
重定向 HTTP 到 HTTPS:配置 Web 服务器以自动将 HTTP 请求重定向到 HTTPS,确保所有通信都经过加密。
安全配置:
TLS 版本:确保使用最新版本的 TLS(如 TLS 1.2 或 TLS 1.3),禁用不安全的旧版本(如 TLS 1.0 或 SSL 3.0)。
加密套件:选择安全的加密套件,避免使用已知的弱加密算法或过时的加密套件。
HTTP/2 和 HSTS:启用 HTTP/2 以提高性能,并配置 HTTP 严格传输安全(HSTS)以防止降级攻击。
测试和维护:
安全测试:使用工具(如 SSL Labs 的 SSL Test)测试 HTTPS 配置的安全性。
更新和维护:定期更新证书和服务器配置,监控安全漏洞和最佳实践的变化。
通过这些加密算法和部署步骤,HTTPS 能够提供强大的数据保护和安全性,防止数据泄露和中间人攻击。
6.3DES
(Triple Data Encryption Standard)是一种对称加密算法。它是对传统 DES(Data Encryption Standard)算法的增强版本,通过三次应用 DES 算法来提高安全性。
3DES 的工作原理
加密过程:
第一步:使用第一个密钥对数据进行 DES 加密。
第二步:使用第二个密钥对数据进行 DES 解密。
第三步:使用第三个密钥对数据进行 DES 加密。
密钥:
3DES 可以使用三种不同的密钥(K1、K2 和 K3),这三种密钥的组合可以增加加密强度。
3DES 也可以使用两个密钥(K1 和 K2),其中 K1 和 K2 可以相同或不同,但使用三轮加密的过程相同。
3DES 的优缺点
优点:
增强的安全性:比单次 DES 加密更安全,因为它减少了 DES 可能遭受的攻击。
兼容性:能够与现有的 DES 实现兼容。
缺点:
性能:由于进行三次加密,3DES 的计算速度比单次 DES 要慢。
密钥长度限制:虽然 3DES 的密钥长度可以是 112 位或 168 位,但在现代加密标准中,密钥长度依然不足以抵御一些先进的攻击手段。
渐渐被淘汰:随着计算能力的提高和更强加密算法(如 AES)的出现,3DES 的使用逐渐减少。许多安全标准和协议现在推荐使用 AES 代替 3DES。
总之,3DES 是一种经典的对称加密算法,通过多轮加密提供了比 DES 更高的安全性,但随着时间的推移,它逐渐被更现代、更安全的加密算法所取代。
7.不可逆加密
其加密过程不能被逆转回原始数据。具体来说,这通常指的是哈希函数(如 SHA-256),它将输入数据(明文)转换为固定长度的哈希值(散列值)。这种转换是单向的,即从哈希值无法还原出原始输入数据。
特点
- 单向性:从哈希值无法恢复原始数据。
- 固定长度:无论输入数据多大,哈希值的长度固定。
- 碰撞抗性:不同的输入数据应该产生不同的哈希值,尽管理论上可能存在碰撞(不同输入产生相同哈希值)的可能性,但良好的哈希函数设计使得这种情况极为罕见。
应用
- 数据完整性验证:通过对数据生成哈希值来检查数据是否被篡改。
- 密码存储:将用户密码哈希后存储,保护密码的安全性,即使数据泄露也无法直接得到密码。
- 数字签名:用于验证数据的来源和完整性。
不可逆加密(哈希函数)确保了数据的安全性和完整性,广泛应用于密码保护和数据验证领域。
8.对称加密
其中加密和解密使用相同的密钥。即,发送者和接收者都必须使用相同的密钥来加密和解密消息。对称加密的优点是算法效率较高,处理速度快;缺点是密钥管理较为复杂,必须确保密钥的安全分发和存储,以防止未经授权的访问。常见的对称加密算法包括 AES 和 DES。