zoukankan      html  css  js  c++  java
  • HTTP认证机制

    HTTP的询问/应答机制

    如下图:

    一个实例的图:

    1.客户端请求资源

    2.服务器对用户进行询问,在WWW-Authenticate首部中指明在哪里,如何进行认证

    3.客户端会在Authentication首部附上用户名,密码及其他信息

    4.认证完成,服务器发送200响应码;可能还会有Authentication-Info首部一起返回。

    realm:这个参数是安全域。受保护的资源往往会以安全域的形式存在,一个服务器往往有多个安全域。通过该参数,用户可以清楚自己所访问的是哪个域中的资源。

    基本认证

    Basic是最为普遍的认证机制。

    用户进行资源请求之后,服务器会返回一个401状态码和WWW-Authente首部,首部中指明了安全域;

    然后用户发送包含Authentication首部的报文,其中包含该域的用户名和密码。

    拓展:用户名和密码会被浏览器用“:”间隔起来并用base64进行编码,之后再放到Authentication首部中发送到server。

    使用代理服务器进行认证

    python实现base64

    >>> b = b64encode(a)
    >>> b
    b'bGVvOjk5OQ=='
    >>> from base64 import b64decode
    >>> b64decode(b)
    b'leo:999' 

     基本认证的优点是简单但是缺点也是简单,他并不安全,因此在需要认证时,会采用将SSL+基本认证或者摘要认证的方式。

    摘要认证

    安全的HTTP

    目前流行的HTTP安全机制为基本认证+SSL/TLS组合的解决方案。

    SSL:安全套接字层

    TLS:传输层安全,是SSL的升级版

    数字加密

    密码:对文本进行编码,使偷窥者无法识别的算法

    秘钥:改变密码行为的数字化参数

    对称秘钥加密:编码/解码使用相同的秘钥算法

    非对称秘钥加密:编码/解码使用不同的秘钥算法

    公开秘钥加密:一种能使百万计算机便捷的发送机密报文的系统

    数字签名:用来验证报文未被修改或者伪造的校验和

    数字证书:由一个可信的组织验证和签发的识别信息

    明文:原始的报文(plaintext/cleartext)

    密文:加密的报文(ciphertext)

    密码机需要正确的密码参数才能算出正确的报文。这里,密码参数就是秘钥。

    公共秘钥加密系统最为著名要数RSA了,由MIT发明的一套系统。

    公共秘钥加密系统性能没有对称秘钥加密系统来的快,所以有了混合加密系统

    先通过公共秘钥加密系统建立安全的通道,之后再采用对称加密系统来传输数据。

  • 相关阅读:
    Civil 3D 二次开发 创建Civil 3D 对象—— 01 —— 创建几何空间点
    Civil 3D 二次开发 创建Civil 3D 对象—— 00 ——
    Civil 3D 二次开发 创建AutoCAD对象—— 01 —— 创建直线
    Civil 3D 二次开发 新建CLR项目出现错误C2143
    Civil 3D 二次开发 创建AutoCAD对象—— 00 ——
    了解AutoCAD对象层次结构 —— 6 ——块表记录
    datepicker97使用
    使用angular 外接 templateUrl,使用ng-include
    angularJs 遮罩
    网上找的有关css兼容问题
  • 原文地址:https://www.cnblogs.com/leomei91/p/7678147.html
Copyright © 2011-2022 走看看