HTTPS

HTTP的缺点

  • 隐私性:通信使用明文,内容可能被窃听。
  • 身份验证:不验证通信双方身份,因此有可能遭遇伪装。即无法确定对方服务器的身份,发送的内容有可能被伪装的服务器盗取。客户端也有可能伪装,发送海量请求,导致服务器崩溃。
  • 完整性:无法证明报文的完整性,所以有可能内容遭篡改。接收到的内容可能有误,例如中间人攻击(MITM)。

HTTP +加密 + 认证 + 完整性保护 = HTTPS

HTTPS就是身披SSL /TLS外衣的HTTP

SSL采用公开密钥加密的加密处理方式
共享密钥加密:加密和解密共用一个密钥的方式,也称作对称密钥加密。共享密钥必须将密钥发给对方,否则无法解密。此方法密钥有可能途中被窃听或者修改。
公开密钥加密:非对称加密,两把密钥,一把私钥,一把公钥。私有密钥不能让任何人知道,公开密钥则可以随意发布。发送密文的一方使用对方的公开密钥加密处理,对方收到加密信息后,再使用自己的私有密钥进行解密。

HTTPS采用混合加密的方式。交换密钥环节使用公开密钥加密方式,之后建立的通信交换报文阶段则使用共享密钥加密。既保证安全,有保证高效。

公开密钥的问题:无法证明公开密钥就是货真价实的公开密钥。解决办法,使用数字证书认证机构(CA)和其相关机构颁发的公开密钥证书。

业务流程
1.服务器运营人员向数字机构提出公开密钥的申请。
2.数字证书认证机构判明申请者的身份后,对已申请的公钥做数字签名。
3.分配这个已签名的公开密钥,并将该公开密钥放入公钥证书后绑定在一起。

证书内容
1.证书信息:过期日期和序列号
2.证书拥有者信息:姓名等
3.所有者公开密钥

SSL 的问题
  1. SSL 比较慢
    1.1. 通信慢,相当于多加了一层SSL通信
    1.2. 消耗大量的CPU及内存资源,导致处理速度变慢。
  2. SSL需要支付额外的证书费用

TLS Protocols

TLS Protocols包括TLS Record Protocols和TLS HandShake Protocols

HTTPS_第1张图片
HTTPS

Record protocol作用

Record protocol提供了数据完整性和隐私性保证,但Record类型type
和长度length是公开传输的

  • 发送端:将数据分段,压缩,增加MAC(Message Authentication Code)和加密
  • 接收端:将数据解密,验证MAC,解压并重组

HTTP认证方式

  • BASIC认证
  • Digest认证
  • SSL客户端认证
  • FORMBase认证(基于表单认证)

Web攻击

主动攻击:攻击者直接通过访问web应用,把攻击代码传入的攻击模式。
被动攻击:利用攻击策略执行攻击代码的攻击模式

XSS 跨站脚本攻击

通过存在安全漏洞的Web网站注册用户的浏览器内运行非法的HTML或者JavaScript进行的一种攻击

SQL注入攻击

针对Web应用使用的数据库,通过运行非法的SQL而产生的攻击。

  • 非法查看或者篡改数据库内的数据
  • 执行和数据库服务器业务关联的程序

OS注入攻击

通过Web应用,执行非法的操作系统命令达到攻击的目的。只要能调用shell函数的地方就有可能被攻击的风险。

HTTP首部注入攻击
邮件首部注入攻击
会话劫持

攻击者通过某种手段拿到了用户的会话ID,并非法使用用户的ID伪装用户,达到攻击的目的。

跨站点请求伪造(CSRF)

攻击者设置好陷阱,强制对已完成认证的用户进行非预期的个人信息或者设定信息等某些状态更新,属于被动攻击。

你可能感兴趣的:(HTTPS)