JSP安全性初探

2019-05-27 10:39:58于海丽


  HTTP Digest Authentication
  HTTPS Client Authentication
  HTTP Basic Authentication
  HTTP Based Authentication

  五、HTTP Basic Authentication

  HTTP Basic Authentication是一个定义在HTTP/1.1规范中的验证机制。这种机制是以用户名和密码为基础的。一个web server要求一个web client去验证一个用户。作为request的一部分,web server 传递被称之为realm的字符串,用户就是在它里面被验证的。注意:Basic Authentication机制的realm字符串不一定反映任何一种安全方针域。Web client得到这些用户名和密码,然后把它传递给web server。Web server然后在一个特定的领域验证这些用户。

  由于密码是使用一种64位的编码来传递,而且目的server没有验证,所以Basic Authentication不是一种安全的验证协议。然而一些附加的保护像使用一种安全传输机制(HTTPS)或在网络层使用安全措施能够解决一些问题。

  六、HTTP Digest Authentication

  与HTTP Digest Authentication一样,HTTP Digest Authentication根据用户名和密码验证一个用户。然而密码的传输是通过一种加密的形式进行的,这就比Basic Authentication所使用的64位编码形式传递要安全的多。这种方法没有像HTTPS Client Authentication的个人密钥方案安全。由于Digest Authentication当前不被广泛使用,servlet containers不要求支持它但是鼓励去支持它。

  七、HTTPS Client Authentication

  使用HTTPS(HTTP over SSL)的终端用户验证是一种严格非验证机制。这种机制要求用户去处理公共密钥证明(Public Key Certification PKC)。当前,PKCs在e-commerce应用中是有用的。不适应J2EE的servlet containers不要求支持HTTPS协议。

  八、Server Tracking of Authentication Information

  就像映射在角色中的安全标识一样,运行环境是环境的说明而不是应用的说明。

  1.在web application的发布环境创建一个登录机制和策略。
  2.对发布在同一个container的application能够使用同样的验证信息来代表这些application的principal。
  3.仅仅当通过安全策略域时要求用户重新验证。

  因此,一个servlet container要求在container层来跟踪这些验证信息,而不是在application层。允许一个经验证的用户拒绝一个使用其它资源的application,这些是通过受同样安全性标识限制的container管理的。