【图解HTTP】——确认访问用户的身份:认证机制

news/2024/5/18 16:10:11 标签: http, cookie
http://www.w3.org/2000/svg" style="display: none;">

文章目录

  • 认证机制
    • 【1】认证
    • 【2】HTTP的认证机制有哪些
        • Basic认证(不常用)
        • Digset认证(不常用)
        • SSL客户端认证(不常用——贵)
        • 双因素认证
        • 基于表单认证(常用)
    • 【3】Cookie应用管理Session会话
    • 【4】总结
    • 【5】服务器端对ID和密码等信息保存方式

认证机制

  • Web网页要设置成访问权限,确认电脑前是否是user在使用
  • 对于现在的网络认证机制——采用基于表单的认证
  • 表单认证:采用Cookie应用管理Sessions会话

【1】认证

  • 核对登陆者身份

(1)密码
(2)动态令牌
(3)数字证书
(4)生物认证
(5)IC卡
https://img-blog.csdnimg.cn/20200412094018886.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDQ3ODM3OA==,size_16,color_FFFFFF,t_70#pic_center" alt="在这里插入图片描述" />

【2】HTTP的认证机制有哪些

  • Basic认证
  • Digeset认证
  • SSL认证
  • FormBase认证

Basic认证(不常用)

  • Web服务器与通信客户端之间进行的认证
  • 不常用,安全性低(明文密码传输),效率低
    https://img-blog.csdnimg.cn/20200412094220534.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDQ3ODM3OA==,size_16,color_FFFFFF,t_70#pic_center" alt="在这里插入图片描述" />

Digset认证(不常用)

  • 质询/响应方式(challenge/response),但不会像Basic一样发送明文密码
    https://img-blog.csdnimg.cn/20200412094507755.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDQ3ODM3OA==,size_16,color_FFFFFF,t_70#pic_center" alt="在这里插入图片描述" />
  • 发送给对方的是响应摘要和由质询码产生的计算结果——安全性提升
    https://img-blog.csdnimg.cn/20200412094550896.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDQ3ODM3OA==,size_16,color_FFFFFF,t_70#pic_center" alt="在这里插入图片描述" />

SSL客户端认证(不常用——贵)

  • 利用SSL客户端认证避免用户ID和密码被盗
  • 利用HTTPS的客户端证书完成认证
  • 分发客户端证书给客户端,客户端安装
    https://img-blog.csdnimg.cn/20200412095037298.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDQ3ODM3OA==,size_16,color_FFFFFF,t_70#pic_center" alt="在这里插入图片描述" />

双因素认证

  • SSL客户端认证往往和基于表单认证结合使用
  • 认证的过程中,除了提供ID和密码,还要提供其他持有信息

(1)SSL客户端认证:用来认证客户端计算机
(2)基于表单认证:密码用来确认是用户本人的行为

基于表单认证(常用)

  • 基于表单的认证方式并不是在HTTP协议中定义的
  • Web网站各自实现自己的表单认证(实现方式不同),因为Web网站的认证功能能够满足其安全级别的标准规范并不存在。

【3】Cookie应用管理Session会话

  • 基于表单认证的规范尚未明确,一般会使用cookie技术管理session会话
  • 利用cookie技术弥补HTTP协议中不存在的状态管理功能
  • 基于表单认证本身是通过服务器端的Web应用,将客户端发送过的用户ID和密码与之前登陆过的保存的信息进行匹配进行认证
    https://img-blog.csdnimg.cn/20200412100254259.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDQ3ODM3OA==,size_16,color_FFFFFF,t_70#pic_center" alt="在这里插入图片描述" />
  • 步骤:

(1)客户端将用户ID和密码放入到报文中
(2)服务器会发放用以识别用户的Session ID,通过从客户端发送过来的登录信息进行身份验证,然后将用户的验证状态和Session ID记录在服务器端
(3)客户端接收Session ID,将其作为cookie保存到本地,下次向服务器发送请求时,浏览器会自动发送cookie,这样session ID就发送到了服务器,进而对session ID对用户进行识别和验证

【4】总结

  • 认证采用:基于表单认证
  • Web网站各自实现自己的基于表单认证
  • 利用Cookie应用管理会话

【5】服务器端对ID和密码等信息保存方式

  • 给密码加盐(salt):添加额外信息
  • 散列(hash):函数计算出散列值后保存

给密码加盐:由服务器随机生成一个足够长字符串,添加到密码后面或者前面,两个用户设置了同一个密码,但salt不同
生成散列值:利用散列函数,攻击者很难利用自己手中的密码特征库进行破解

关注公众号:<小杨的健解之路>
回复:"图解http"获取《图解HTTP》pdf

http://www.niftyadmin.cn/n/1488720.html

相关文章

C语言字符串分割

在C语言中&#xff0c;内置的函数库中除了可以用strtok()来对字符串进行分割之外&#xff0c;还可以用sscannf()对字符串进行分割。 sscanf() 包含的头文件 stdio.h 原型 int sscanf(const char *str, const char *format, ...) 实例&#xff1a; #include<stdio.h>int…

《0day安全》之代码植入

参考 《0day安全》第二版https://bbs.pediy.com/thread-217164.htm 实验的源码 #include<stdio.h> #include<string.h> #include<windows.h> #define pass "1234567"int verify(char *passwd) {int flag;char buffer[44];flag strcmp(passwd, …

【图解HTTP】——基于HTTP的功能追加协议

文章目录【1】HTTP的瓶颈&#xff08;单工通信&#xff09;【2】Ajax通信&#xff08;异步通信&#xff09;【3】Comet通信&#xff08;等待信息更新&#xff09;【4】SPDY&#xff08;SpeeDY&#xff09;【5】WebSocket&#xff08;全双工通信&#xff09;【6】总结【1】HTTP的…

网易云爬虫登录

网易云登录分析 相关文件 主要文件是core_*****.js那个文件 开始分析 初步分析 打开控制台找对应的js&#xff0c;先查找关键字params或者encSecKey&#xff0c;由于关键字params关键字过多&#xff0c;我查找的是encSecKey。找到合适的位置下断点&#xff0c;提交数据初…

【图解HTTP】——构建Web内容的技术

文章目录构建Web内容的技术【1】HTML&#xff08;超文本标记语言&#xff09;【2】设计应用CSS&#xff08;层叠样式表&#xff09;【3】动态HTML【4】Web应用【5】CGI&#xff08;Common Gateway Interface 通用网关接口&#xff09;【6】因Java而普及额Servlet【7】数据发布的…

C语言实现大数转二进制

基本思想是列竖式&#xff0c;每轮求出商和余数。 例如&#xff1a; 大数字符串是“1234” 第一次 “1234” / 2 0617 … 0 在本文例子中&#xff0c;首先将大数最高位字符 1 转换成整数转换成整数 1 然后计算 1 / 2 0, 再把 0 转换成字符 0 放到缓存区中&#xff0c;这是…

素数的快速判断方法

原理 大于等于5的素数与6的倍数相邻 证明 所有自然数可以用集合A { 6n, 6n1, 6n2, 6n3, 6n4, 6n5 }表示&#xff0c;其中 n > 0&#xff0c;显然&#xff0c;子集B {6n, 6n2, 6n3, 6n4}内的元素都不是素数&#xff0c;所以只有6n1和6n5可能是素数&#xff0c;素数一定可…

【图解HTTP】——Web技术的攻击技术

文章目录Web的攻击技术【1】针对Web的攻击【2】HTTP不具备必要的安全功能【3】在客户端即可篡改请求【4】针对Web应用的攻击模式【5】利用用户的身份攻击企业的内部网络Web的攻击技术 互联网上的攻击大都将Web站点作为为目标&#xff0c;介绍攻击Web站点的手段和后果 【1】针…