做网站哪些网络公司好,seo标题优化关键词,西安医院网站建设,哪个网站的品牌特卖做的好HTTP Basic Access Authentication Schema 背景介绍流程安全缺陷参考 背景
本文内容大多基于网上其他参考文章及资料整理后所得#xff0c;并非原创#xff0c;目的是为了需要时方便查看。
介绍
HTTP Basic Access Authentication Schema#xff0c;HTTP 基本访问认证模式… HTTP Basic Access Authentication Schema 背景介绍流程安全缺陷参考 背景
本文内容大多基于网上其他参考文章及资料整理后所得并非原创目的是为了需要时方便查看。
介绍
HTTP Basic Access Authentication SchemaHTTP 基本访问认证模式是 HTTP 1.0 引入的一种 基于 challenge-response 认证机制的身份认证方案。
challenge-reponse当客户端首次访问受保护资源时服务器会向客户端发送一个 challenge客户端根据 challenge 信息做出对应的 response。
HTTP Basic Access Authentication 基于以下模型客户端必须使用每个域realm对应的用户ID和密码进行认证。因此 HTTP Basic Access Authentication 包含三个关键要素user ID用户ID、password密码、realm域。其中 realm 是服务器分配的一个字符串用于区分受保护资源所属的不同域。只有当服务器能够验证请求URI对应域的用户ID和密码时服务器才会为请求提供服务没有其他可选的认证参数。
流程 客户端请求访问受保护资源服务端接收到请求后在请求头部HTTP Request Headers中未找到 Authorization返回 401 Unauthorized返回响应头HTTP Response Headers中带有 WWW-Authenticate格式如下WWW-Authenticate: Basic realmSecure Area这就是服务器向客户端发送的 challenge其中 Basic 指明服务器需要的访问认证方式realm 是服务器分配的一个字符串用于标识请求 URI 对应的受保护域。WWW-Authenticate 中至少包含一个 challenge。客户端根据接收到的服务器响应中 WWW-Authenticate 信息得知需要执行 Basic 访问认证如果客户端是浏览器则会自动弹出一个登录窗口输入用户ID和密码后提交认证请求。客户端发送的认证请求中包含 Authorization 头信息格式如下Authorization: Basic YWRtaW46MDAwMDAw这就是客户端向服务器发送的 response其中 Basic 指明客户端遵从的访问认证方式后面紧跟一个 Base64 编码值通过以下公式计算所得base64(userid:password)服务端收到请求后执行验证成功返回 200 OK失败返回 401 Unauthorized 根据用户请求的资源地址确定资源对应的 realm解析请求头中 Authorization 获得用户ID和密码判断用户是否有访问 realm 的权限验证用户ID和密码是否匹配。
安全缺陷
用户ID和密码通过明文传输如果未启用传输层加密则密码可轻易被中间人截获认证一旦通过就无法随时吊销。
参考
RFC 2617 - HTTP Authentication: Basic and Digest Access Authentication