HTTP基本认证,服务器认证客户端(java-python)
http基本认证    2017-06-23 10:09:39    155    0    0
zejoe   http基本认证

HTTP认证方式:

HTTP请求报头: Authorization

HTTP响应报头: WWW-Authenticate

HTTP认证基于质询 /回应( challenge/response)的认证模式。

基本认证、摘要认证

 

摘要认证原理:(HTTP-Digest)
  1. 客户端发送一个请求,会收到一个401消息,消息中包含一个唯一的字符串:nonce,每次请求都不一样
  2. 客户端将用户名、密码、nonce、HTTP Method和URI为校验值基础进行散列(默认为MD5)的摘要返回给服务器
  3. 服务器根据收到的信息加上存储的密码算出一个新的摘要与请求中的摘要比较,因为每次nonce都会变,就很难做到重放攻击了。

 

基本认证原理:(HTTP-Basic)

  1. 客户端访问一个受http基本认证保护的资源
  2. 服务器返回401状态,要求客户端提供用户名和密码进行认证。(REST 接口在请求时填入用户名密码)
  3. 客户端将输入的用户名密码用Base64进行编码后,采用非加密的明文方式传送给服务器,服务器会生成一个cookie,用于后续传输。
    Authorization: Basic xxxxxxxxxx.
  4. 如果认证成功,则返回相应的资源。如果认证失败,则仍返回401状态,要求重新进行认证。

注意事项:

     以非加密的明文方式传输,虽然转换成了不易被人直接识别的字符串,但是无法防止用户名密码被恶意盗用。安全性不可控,建议与https结合使用
 

 

 

上一篇: J2EE代码混淆

下一篇: tomcat配置https访问实现ssl单向认证

155 人读过
立即登录, 发表评论.
没有帐号? 立即注册
0 条评论
文档导航