一种云环境下的身份和访问控制管理系统及方法
【技术领域】
[0001]本发明属于云计算的信息安全领域,涉及一种云环境下的身份和访问控制管理系统及方法。
【背景技术】
[0002]云计算是一种商业模式,它将计算任务分布在大量计算机构成的资源池上,使用户能够按需获取计算力、存储空间和信息服务。云计算按照服务类型大致可以分为如所示的三种服务,即IaaS将基础设施作为服务、PaaS将平台作为服务和SaaS将软件作为服务。IaaS将硬件设备等基础资源封装成服务供用户使用,如Amazon云计算AWS(Amazon WebServices)的弹性计算云EC2和简单S3 IaaS对资源的抽象层次更进一步他提供用户应用程序的环境,典型的如Google App Engine和微软的云计算操作系统Microsoft WindowsAzure C3SaaS的针对性更强,它将某些特定的应用软件功能封装成服务,例如Saleforce公司提供的在线客户关系管理CRM(Client Relat1nship Management)服务。SaaS与IaaS和PaaS不同之处是只提供某些专门用途的服务供调用,既不像IaaS提供运行用户自定义应用程序的环境,也不像PaaS—样提供计算或存储资源类型的服务。
[0003]由于云计算是多种技术的混合演进的结果,其成熟度较高,越来越多的企业把自己的应用部署到云上,然而管理身份和访问企业应用程序的控制仍然是当今的IT面临的最大挑战之一。在实施云环境下的身份和访问控制管理的过程中,面临诸多风险,例如,恶意的内部成员、不安全的应用程序接口、共享技术隐患、账户和服务攻击、主权变更、不同系统统一账号管理、安全认证等。针对以上问题,虽然在云环境下的身份和访问控制管理中没有统一的标准,但是在国内外已经有了成熟的产品和解决方案。
[0004]在身份管理方面,目前存在以下的解决方案:
[0005]I)点对点身份复制模式:在系统之间建立一套复杂的用户数据转换和复制机制,将用户账号信息从一个应用系统复制到其它应用系统,以达到共享不同系统的用户信息的目的。
[0006]2)用户账号映射:认证服务组件通过创建映射表,使用内部唯一标识符来映射用户在不同应用系统中的身份。当用户要访问目标应用系统时,认证服务组件查询映射表并检查用户的访问权限。
[0007]3)基于代理的统一用户管理模式:该方式通过在各个应用系统上安装转换引擎的方法,将应用系统中不同结构的用户数据转换成平台上统一的数据模型。
[0008]4)单点登录:单点登录解决方案能完成用户登录不同安全域的应用,目前标准不统一。
[0009]在访问控制管理方面,国内外有以下产品:
[0010]I)比如CA公司的 eTrust;
[0011]2)IBM公司的Tivoli系列产品;
[0012]3)国内数字校园的统一认证系统;
[0013]以上所述的解决方案和产品一定程度上解决了云环境下的身份和访问控制管理面临的风险,但是仍存在以下问题:
[0014]I)权限变更困难,当用户发生职位变更或离职时,就需要对他所在的所有应用系统中的访问权限进行谨慎地修改并且繁琐。
[0015]2)不同的应用系统使用同一帐号,集成困难,产品的功能不完善,如缺乏对单点登录的支持。
[0016]3)应用系统在与外部应用系统交换用户凭证和同步用户密码时,可能面临弱安全令牌、认证或访问控制功能无效等安全风险。
【发明内容】
[0017]针对以上问题,本发明的目的提供一种采用数字身份证书和静态口令的双因子认证技术,使用基于用户组的角色访问控制策略,按照标准的SAML协议,实现云环境下的身份和访问控制管理的系统及方法。
[0018]本发明的目的是通过以下技术方案实现的:
[0019]本发明揭示一种云环境下的身份和访问控制管理系统,包括:身份和访问控制管理系统(IAM)、用户端、应用服务端。
[0020]IAM系统,接受用户端的用户身份信息的注册、更新、注销,生成和销毁用户的数字身份证书;接受应用服务端的服务注册,配置访问控制策略;完成用户端的身份验证,向用户端颁发认证票据;完成用户端的认证票据的验证,向用户端颁发访问应用服务端的授权票据;
[0021 ]用户端,向IAM系统注册身份信息,获取数字身份证书,完成身份的注册;与IAM系统交互管理用户的身份信息;通过IAM系统验证身份,获取认证票据、授权票据,向应用服务端发送授权票据,完成资源服务的请求;
[0022]应用服务端,向IAM系统注册资源服务;接受客户端用户的请求,验证用户端的授权票据,根据判断结果对用户端的服务请求做出响应;
[0023]所述身份和访问控制管理系统IAM和应用服务端分别连接用户端,通过应用服务端实现对身份和访问控制管理系统IAM注册资源服务,通过身份和访问控制管理系统IAM对用户身份认证与访问控制管理。
[0024]根据本发明的云环境下的身份和访问控制管理系统的一实施例,所述的IAM系统包括:注册服务器、认证服务器、授权服务器、CA证书库、系统中心数据库和系统管理员;
[0025]注册服务器,接受用户的申请、更新用户信息、注销用户,向注册用户颁发数字身份证书,向其他用户提供数字身份证书查询及下载。当用户注册时,注册服务器向用户颁发用户数字身份证书;当用户申请其他用户的数字身份证书时,注册服务器验证用户身份,然后发放其他用户的数字身份证书;
[0026]认证服务器,验证用户的身份,颁发用户的认证票据,把用户的身份作为一种服务。当用户登入认证服务器时,通过验证用户的数字身份和静态口令,认证服务器验证用户的身份信息真实性,然后给用户发送认证票据;
[0027]授权服务器,验证用户的认证票据,结合用户请求的服务资源生成相应的授权票据发送给用户。当用户访问服务资源时,需要先向授权服务器申请授权票据,用户得到授权票据后才能访问服务资源;
[0028]CA证书库,储存备份所有的用户、认证服务器、授权服务器和应用服务器的数字身份证书;
[0029]系统中心数据库,存储用户信息以及授权服务器的访问控制策略;
[0030]系统管理员,包括管理系统中心数据库和CA证书库,查看用户信息和数字身份证书信息,配置和更新访问控制策略。
[0031]根据本发明的云环境下的身份和访问控制管理系统的一实施例,所述的用户端包括:客户端。该客户端向用户提供三大接口,包含身份管理接口、认证身份接口、访问服务接口。身份管理接口与注册服务器交互完成用户身份信息的注册、更新和注销;认证身份接口与认证服务器交互完成用户身份的登录和退出;访问服务接口与授权服务器交互获取授权票据,使用授权票据向应用服务端请求服务资源。
[0032]本发明还揭示一种云环境下的身份和访问控制管理方法,包括:用户与注册服务器的交互完成对用户的身份管理,以及用户与认证服务器、授权服务器、应用服务器的交互完成对用户的访问控制管理,当已经注册过的用户向应用服务端请求服务时,经过如下步骤: