前言

基本认证存在缺陷,摘要认证为了解决基本认知的一些缺陷,进行了进一步的完善,更加安全.

流程

摘要认证的特点是:永远不会以明文方式在网络上发送密码
原理:通过发送一个「指纹」或者「密码的摘要」来验证其和自身是否匹配.
具体流程如下:

  1. 请求-客户端向服务器请求一份加密的文档
  2. 质询-服务器向客户端要求得到用户名和密码摘要.
  3. 授权-客户端向服务器发送用户名和密码摘要.
  4. 成功-服务器向客户端发送文档

摘要函数

定义:

摘要函数是一种单向函数,主要用于将无限的输入值转换为有限的浓缩输出值.

举例:

MD5 函数是一个摘要函数,输入一个任意长度的字节序列,输出一个 128 位的摘要.

其他名字:

  • 加密的校验和
  • 单向散列函数
  • 指纹函数

特殊令牌——nonce

原因:

为了防止重放攻击的危险,于是需要随机数令牌来防止这种危险.

原理:

  1. nonce 这个随机数令牌每次验证都会发生变化,
  2. 然后在计算摘要之前,现将这个 nonce 的值加到密码上
  3. 这样使得摘要每次也发生变化

摘要认证的握手机制

  1. WWW-Authenticate 质询报文-服务器发往客户端,其中包含了1. 域 2. 随机数 3. 算法
  2. Authorization 报文-客户端发往服务器,其中包含了 1. 密码的摘要 2. 选择的算法 3.随机数(如果客户端要对服务器进行验证的话)
  3. 服务器接收算法,并且计算出摘要,然后与客户端发送的摘要进行比较.(如果客户端对服务器进行验证,那么发送给客户端随机数)

对称认证

定义: RFC 2617 允许客户端对服务器进行认证.
功能:提供一些重要的安全提升机制
格式: 提供 qop 指令,即执行对称认证

预授权

定义: 在一般状态下,每一次请求都要有一次 request/challenge 的流程,预授权指在 success 的同时发送下一次的 nounce, 在客户端进行下一次请求的时候,就不需要经过 request/challenge 的流程了.
有下面三种方式实现预授权:

  1. 服务器在向客户端发送的 Authentication-Info 首部中发送下一个随机数
  2. 服务器允许在一段时间内使用一个随机数
  3. 客户端和服务器使用同步的、可预测的随机数算法.

qop

定义:保护质量
功能:用于让客户端和服务器对不同的类型的文件的质量进行协商
位置:

  1. WWW-Authenticate
  2. Authoriaztion
  3. Anthentication-Info

值:

  1. auth:仅仅包含 HTTP 的请求方法和 URL
  2. auth-int:添加主体部分,因此具有报文完整性保护认证的特性,防止篡改

摘要的计算

概念与 A1, A2 定义

  • 函数: 单向散列函数 H(d), 以及摘要摘要 KD(s,d),其中 s 为密码, d 为数据
  • 包含安全信息的数据块,包括 s,称为 A1
  • 包含了非保密属性的数据块,称为 A2

算法

其中, H(d) 用于计算 A1 (包含密码)的 MD5, KD(s,D) 用于 A2 的 MD5 算法

  1. 若 qop 未定义,摘要算法为 KD(H(A!), :H(A2))
  2. 若 qop 定义: 摘要算法为 KD(H(A1), ::::H(A2)

《HTTP 权威指南》笔记:第十三章 摘要认证体制的更多相关文章

  1. Struts2权威指南笔记

    Struts2权威指南笔记 1.mvc特点包括: ① 多个视图可以对应一个模型 ② 模型返回的数据与显示逻辑分离 ③ 应用层被分隔为三层,降低了各层之间的耦合,提供了应用的可扩展性 ④ 控制层的概念也 ...

  2. HTTP权威指南阅读记录 - 第一章

    最近终于开始看<HTTP权威指南>了,第一章主要是简介一些基本的概念.下面列出一些常用,但还不是很了解的简单概念. 一.常见概念: 1.媒体类型 因特网上有数千种不同的数据类型,HTTP仔 ...

  3. [汇编学习笔记][第十三章int指令]

    第十三章int指令 13.1 int指令 格式: int n, n 为中断类型码 可以用int指令调用任何一个中断的中断处理程序(简称中断例程). 13.4 BIOS和DOS 所提供的中断例程 BIO ...

  4. 【HTTP权威指南】第1 章 HTTP 概述

    1.1 HTTP--因特网的多媒体信使 ................................................................................ ...

  5. Gradle 1.12用户指南翻译——第二十三章. Java 插件

    其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Github上的地址: https://g ...

  6. 《HTTP 权威指南》笔记:第十二章 基本认证体制

    导言 客户端可以通过网络来得到想要的信息,但是有一些信息并不能是对所有人都能看到的,因此必须有一种认证机制.服务器需要通过这种方式来了解用户身份,一旦服务器知道了用户的身份,就可以让用户能够访问请求的 ...

  7. 学习《Javascript权威指南》的第二章笔记

    1.Javascript区分大小写,但是HTML不区分大小写 2.JS会忽略标识之间的空格,多数情况下也会忽视换行符,所以要采用 整齐.一致的编码风格 3.//用作结尾的注释,/* 和 */可以当跨行 ...

  8. 安卓权威编程指南 -笔记(19章 使用SoundPool播放音频)

    针对BeatBox应用,可以使用SoundPool这个特别定制的实用工具. SoundPool能加载一批声音资源到内存中,并支持同时播放多个音频文件.因此所以,就算用户兴奋起来,狂按按钮播放全部音频, ...

  9. 安卓权威编程指南 -笔记(18章 处理assets)

    resources资源可以存储声音文件,但当处理多个音乐文件时,效率会很低. assets可以被看作随应用打包的微型文件系统,支持任意层次的文件目录结构.类似游戏这样需要加载大量图片和声音资源的应用通 ...

随机推荐

  1. 网络 --- 1 c/s (b/s)架构 ip 初始socket

    一.c/s   b/s c/s架构:客户端(client)/服务器(server) 软件cs架构:微信,陌陌,qq等 硬件cs架构:打印机 b/s架构:浏览器(browser)/服务器(server) ...

  2. 解决Tax discount configure 报出异常

    If your tax calculation is based on a problematic configuration, the following warnings appear: Warn ...

  3. topcoder srm 500 div1

    problem1 link 如果decisions的大小为0,那么每一轮都是$N$个人.答案为0. 否则,如果答案不为0,那么概率最大的一定是一开始票数最多的人.因为这个人每一轮都在可以留下来的人群中 ...

  4. 通过WSL在Windows下安装子Linux系统

    一.开启开发者模式 步骤: -> 系统设置 -> 更新和安全 -> 针对开发人员 -> 选择开发者模式 点击后会自动安装环境 二.启用WSL 步骤: -> 系统设置 -& ...

  5. 【做题】Codeforces Round #429 (Div. 2) E. On the Bench——组合问题+dp

    题目大意是给你n个数,求相邻两数相乘不是完全平方数的排列数. 一开始看到这题的时候,本人便想给相乘为完全平方数的数对建边,然后就写萎了... 后来通过集体智慧发现这个重要性质:对于自然数a,b,c,若 ...

  6. [nginx] - 使用nginx实现反向代理,动静分离,负载均衡,session共享

    反向代理概念 先说正向代理,比如要访问youtube,但是不能直接访问,只能先找个FQ软件,通过FQ软件才能访问youtube. FQ软件就叫做正向代理.所谓的反向代理,指的是用户要访问youtube ...

  7. dRMT: Disaggregated Programmable Switching, SIGCOMM17

    Reference: dRMT, SIGCOMM 2017 今年的SIGCOMM17会议上,Cisco System和MIT的团队针对RMT模型现有的问题,合作发表了这篇"dRMT: Dis ...

  8. VHDL 乐曲演奏电路设计

    前言 无源蜂鸣器在直流信号下不会响,需要方波驱动.输入不同频率的方波会发出不同音调的声音,方波的幅值决定了声音的响度. 目标 乐曲发生电路在节拍(4Hz)的控制下根据乐谱产生合适的分频系数.分频器根据 ...

  9. jquery选择器扩展之样式选择器

    https://github.com/wendux/style-selector-jQuery-plugin http://blog.csdn.net/duwen90/article/details/ ...

  10. windows特殊文件或文件夹

    考了很多文章,搜集了很多资料整理而成.好的用途可以用来隐藏个人资料,防止误删,病毒免疫等等.至于坏的方面,当然也可用来隐藏木马等等,就看你怎么用了.还有一个没有搞明白,资料上也没找到,请知道的指点一下 ...