初识UAC(理论概括介绍)

  我要声明一点,我们这里讲的UAC(user account center)非彼UAC(user account control)。
  
一.UAC(user account control,用户账户管理)
  首先我们谈一谈彼UAC(user account control,用户账户管理)。
  百度解释:是微软公司在其Windows Vista及更高版本操作系统中采用的一种控制机制。其原理是通知用户是否对应用程序使用硬盘驱动器和系统文件授权,以达到帮助阻止恶意程序(有时也称为“恶意软件”)损坏系统的效果。
  我又想吐槽百度百科,为什么非要把一个简单的问题描述的这么晦涩难懂。
  网上收一下可以发现很多吐槽UAC的设计,当然还是有很多的赞成者。
  想多了解可以知乎收一下。
  windows系统上的UAC开着很有必要,可以省去你很多不必要的麻烦,虽然开着它会很闹心。
  然后我们谈谈此UAC(user account center,用户账户中心)。

二.UAC(user account center,用户账户中心)
  这个概念算是在很多的公司内部会出现,用来做自己公司的各种账户管理。公司做的UAC 基本会把自己所有系统的账户全都接入此系统。
  UAC的特点:

单点登陆(single sign on,SSO):目前比较流行的服务于企业业务整合的解决方案之一, SSO 使得在多个应用系统中,用户只需要登录一次 就可以访问所有相互信任的应用系统 
支持某特色的用户权限
可动态配置密码规则,即时生效:动态密码为根据专门的算法产生变化的随机数字组合,主流产生形式有手机短信、硬件令牌、手机令牌,动态密码优点在于使用便捷且与平台无关性,通过电脑、手机、IPAD都可以顺畅使用,广泛应用于网银、网游、电信领域。
支持找回密码功能   
防暴力破解(密码连续错N次则禁用用户)

三.CAS (Central Authentication Service)中央认证服务
  CAS(Central Authentication Service)是一款不错的针对 Web 应用的单点登录框架。
  CAS 具有以下特点:
    |-开源的企业级单点登录解决方案。
    |-CAS Server 为需要独立部署的 Web 应用。
    |-CAS Client 支持非常多的客户端(这里指单点登录系统中的各个 Web 应用),包括 Java, .Net, PHP, Perl, Apache, uPortal, Ruby 等。

四.OAUTH协议
  我还记得我第一次用oauth协议是实习的时候需要跳转登录。用thankPHP框架做微信公众号的二次开发,需要用户登录账号密码才能与客服沟通,在登录账户密码的时候通过oauth协议跳转。那段实习的时光真的很难忘,感谢各位老大,挺温馨的一段实习时光。
  

oauth协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是oauth的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此oauth是安全的。oauth是Open Authorization的简写。

协议特点:
1.简单:不管是OAUTH服务提供者还是应用开发者,都很易于理解与使用;
2. 安全:没有涉及到用户密钥等信息,更安全更灵活;
3. 开放:任何服务提供商都可以实现OAUTH,任何软件开发商都可以使用OAUTH;
这里写图片描述

五.如何确保授权的安全性
1.帐号和Token分离机制:
  应用通过UAC API获取最终用户信息时,通过的是token的方式获取的,就算黑客在公网获取到token也不知道是哪个系统的。session的机制也是一样,用户名与session从表面上是看不出任何关联的。

2.接口授权机制
  应用通过UAC API获取用户信息时,UAC会检测对方的IP地址是否在允许范围之内,否则黑客可以通过返回的随机CODE获取token,这就是非常危险的事情。并且就算盗取应用方的appkey和secret,没有受信的IP ,也无所谓,安全级别很高。
这里写图片描述
  
六.找回密码
1.目标:
通过用户名来找回密码
点击一次后无法再次点击
找回密码链接不应该被猜中

2.实现方式:
  生成一个随机序列存在数据库中为一条数据,会记录为此记录是否有人访问过,并与用户关联
  当用户通过邮件点击进入时,会通过密码链接中的参数(随机序列,签名)以及系统统一密钥参数进行检查有效性。
  如果通过,则通过随机序列找到对应的用户进行修改密码。
  点击一次后,会将此随机序列的记录设为已访问过,下次进来就提示:链接失效。
  这里面又继续采用了一次分离策略,黑客拿到随机序列后也不知道是谁的帐号,改了密码也没有意义。
  
3.密码策略
  密码存储为密文,表示连管理员都不知道密码是什么,只做hash验证。
  密码复杂度,复杂度可以设置成多种规则
  历史密码,修改的密码不可以修改为最近已修改过的N次密码
  防止暴力破解:验证码机制+密码错误N次自动锁定。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值