CN1633084A - 用于应用服务器的基于令牌的细粒度访问控制系统及方法 - Google Patents

用于应用服务器的基于令牌的细粒度访问控制系统及方法 Download PDF

Info

Publication number
CN1633084A
CN1633084A CN 200410103471 CN200410103471A CN1633084A CN 1633084 A CN1633084 A CN 1633084A CN 200410103471 CN200410103471 CN 200410103471 CN 200410103471 A CN200410103471 A CN 200410103471A CN 1633084 A CN1633084 A CN 1633084A
Authority
CN
China
Prior art keywords
token
check result
access control
access
cache table
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN 200410103471
Other languages
English (en)
Other versions
CN100490387C (zh
Inventor
杨放春
邹华
李立
苏森
孙其博
徐鹏
龙湘明
李静林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CNB2004101034711A priority Critical patent/CN100490387C/zh
Publication of CN1633084A publication Critical patent/CN1633084A/zh
Application granted granted Critical
Publication of CN100490387C publication Critical patent/CN100490387C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

一种用于应用服务器的基于令牌的细粒度访问控制系统及方法,该系统包括:需要访问应用服务器中资源/能力的业务单元,由保证安全的代码组成的业务代理单元,由各种文件资源、网络资源、数据库资源和其它资源和/或能力组成的系统资源/能力单元,由顺序连接的访问控制检查器、系统安全控制器和安全策略管理器组成的访问控制单元,以及由检查结果缓存表、访问权限令牌表、主体令牌表、令牌索引表和其他安全控制表组成的控制访问的令牌与数据存储单元,各部件相互配合完成基于令牌的细粒度访问控制。该方法不仅能够有效控制各种访问操作,提高应用服务器的安全性;而且,效率高,在对系统进行安全保护的同时,尽量减少其对系统正常处理操作的影响。

Description

用于应用服务器的基于令牌的细粒度访问控制系统及方法
技术领域
本发明涉及一种用于应用服务器的基于令牌的细粒度访问控制系统及其实现方法,属于网络通信技术领域。
背景技术
下一代网络是一种采用分层、开放的体系结构,以分组交换技术为基础、可同时支持语音、视频、数据、文本和图像等多媒体业务的新型融合网络。下一代网络的主要技术优势是各个网络实体之间采用开放的协议或API接口,有利于打破传统电信网封闭的格局,实现多种异构网络间的融合。
应用服务器是一种面向下一代网络的业务提供系统,其主要功能是:提供业务逻辑执行环境。业务运行在业务执行环境中,业务执行环境运行在计算机平台上。在本发明中,业务表示一个为客户提供服务的应用程序,这里的客户是人,或者是其它程序。一个业务能够提供的服务包括网上定票、查询股票信息、查询业务的计费信息、建立多方多媒体会议、提供移动用户位置信息等。
随着网络技术的发展和网上应用的日益增加,越来越多的业务和交易通过计算机网络进行,随之而来的泄密、黑客等信息安全问题对电子商务和电子政务的影响日益凸现,当前信息系统的安全已经成为业界和用户关注的热点。
信息安全技术包括有:密码技术、身份认证、访问控制、入侵检测、风险分析与评估等诸多方面。在实际应用中,这些安全技术相互支持与协作,各自解决信息安全问题的某一方面。但是,目前,人们关注的重点是密码技术、身份认证、入侵检测等,访问控制技术没有得应有的重视。事实上,访问控制技术是信息安全系统中一个不可或缺的安全措施,是应用服务器安全保护措施中的重要组成部分,对保护主机硬件系统和应用软件系统的安全都有重要意义。
访问控制技术起源于70年代,当时主要用于管理大型主机系统上共享数据的授权访问。随着计算机技术和应用的发展,特别是网络应用的发展,该技术的思想和方法迅速应用于信息系统的各个领域。在30年的发展过程中,先后出现了多种重要的访问控制技术,其基本目标都是防止非法用户进入系统和合法用户对系统资源的非法使用。为此,访问控制通常以用户身份认证为前提,并在此基础上实施各种访问控制策略来控制和规范合法用户在系统中的行为。
访问控制系统通常包括:主体(subject):发出访问或存取操作要求的主动方;客体(object):主体调用的程序或欲存取的数据对象;安全访问策略:决定主体访问客体的一套规则。
目前,被广泛接受的主流访问控制技术主要有自主访问控制、强制访问控制和基于角色的访问控制三种,下面分别介绍之。
自主访问控制(DAC,Discretionary Access Control)基本思想是:系统中的主体可以自主地将其拥有的对客体的访问权限全部或部分地授予其它主体。其实现方法一般是建立系统访问控制矩阵。传统的自主访问控制安全保护能力有限。尽管DAC已经在许多系统中得以实现(例如UNIX),然而DAC的一个致命弱点是:授予的访问权可以传递。一旦访问权被传递出去将难以控制,访问权的管理相当困难,会带来严重的安全问题;而且,无论使用哪一种形式的DAC,所带来的系统开销都是相当昂贵、难以支付,再者,效率相当低劣,很难满足大型应用、特别是网络应用的需要。
强制访问控制(MAC,Mandatory Access Control)源于对信息机密性的要求和防止特洛伊木马之类的攻击,MAC通过无法回避的存取限制来阻止直接或间接的非法入侵。系统中的主/客体都由安全管理员(SO,Security Officer)被强制分配一个固定的安全属性,该安全属性决定一个主体是否能够访问某个客体,用户或用户进程不能改变自身或其它主/客体的安全属性。强制访问控制系统中的每个主体都被授予一个安全证书,每个客体则被指定为一定的敏感级别。访问控制的两个关键规则是:不向上读和不向下写,即信息流只能从低安全级向高安全级流动,任何违反非循环信息流的行为都是被禁止的。
MAC起初主要用于军方的应用中,并且常与DAC结合使用,主体只有通过了DAC与MAC的检查后,才能访问某个客体。由于MAC对客体施加了更严格的访问控制,因而可以防止特洛伊木马之类的程序偷窃受保护的信息,同时MAC对用户意外泄漏机密信息的可能性也有预防能力。但是,如果用户恶意泄漏信息,仍然可能无能为力;而且,由于MAC增加了不能回避的访问限制,影响系统的灵活性,尤其是对细粒度的访问控制,MAC不能满足要求。另一方面,虽然MAC作为一种多级访问控制系统,增强了信息的机密性,但不能实施完整性控制;由于网上信息更需要完整性,影响了MAC的网上应用。
随着网络的迅速发展,尤其是Intranet的兴起,对访问控制服务的质量提出更高要求,上述两种访问控制技术很难满足这些要求。DAC将赋予或取消访问权限的一部分权利留给用户个人,使得管理员很难确定用户拥有的访问权限能够访问哪些资源,不利于实现统一的全局访问控制。而MAC过于偏重保密,对系统连续工作能力、授权的可管理性等其他方面考虑不足。因此,90年代以后出现一种基于角色的访问控制(RBAC,Role-Based Access Control)技术。
在RBAC中,引入了角色的重要概念。所谓“角色”是一个或一群用户在组织内可执行的操作的集合。RBAC的基本思想是:授权给用户的访问权限,通常由用户在一个组织中担当的角色来确定。例如,一个银行包含的角色有出纳员、会计师和贷款员等。由于他们的职能不同,所拥有的访问权限显然也各不相同。RBAC根据用户在组织内担任的角色进行访问授权与控制。也就是说,传统的访问控制直接将访问主体和客体相联系,而RBAC在中间加入了角色,通过角色沟通主体与客体。在RBAC中,虽然用户标识对于身份认证和审计记录十分有用,但真正决定访问权限的是该用户对应的角色标识。RBAC对访问权限的授权由管理员进行统一管理,而且,授权规定是强加给用户的,用户只能被动接受,不能自主决定。用户也不能自主地将访问权限传给他人。这是一种非自主型访问控制。目前,虽然RBAC已经在某些系统中开始得到应用,但是,RBAC仍然处于发展阶段,尚未出现成熟的产品,如何应用仍然是一个相当复杂的问题。
发明内容
有鉴于此,本发明的目的是提供一种用于应用服务器的基于令牌的细粒度访问控制系统,该系统能够合理、高效地对访问进行控制,提高应用服务器的安全性。
本发明的另一目的是提供一种用于应用服务器的访问控制方法,该方法不仅能够对各种访问操作进行有效控制,提高系统安全性;而且,工作效率高,在对系统进行安全保护的同时,尽量减少其对系统正常处理操作的影响。
为了达到上述目的,本发明提供了一种用于应用服务器的基于令牌的细粒度访问控制系统,该系统包括有:
业务单元,由为客户提供服务的应用程序组成,该业务单元需要访问应用服务器中的资源和/或能力;
资源/能力单元,由至少包括各种文件资源、网络资源、数据库资源与其它资源和/或能力组成;其特征在于:该系统还包括有:
业务代理单元,由保证安全的代码组成,分别与业务单元、资源/能力单元和访问控制单元进行通信连接,用于代理业务访问资源/能力单元;
访问控制单元,由顺序连接的访问控制检查器、系统安全控制器和安全策略管理器组成,用于在主体访问客体时进行基于令牌的细粒度访问控制;
控制访问的令牌与数据存储单元,包括有:缓存本系统的访问控制结果、以提高访问控制效率的检查结果缓存表、保存访问每个客体的不同权限所对应的令牌的访问权限令牌表、保存主体所拥有的令牌列表的主体令牌表、保存持有令牌的主体标识列表的令牌索引表,以及至少包括系统安全策略定义的其他安全控制表,其中检查结果缓存表同时连接访问控制单元中的三个部件,访问权限令牌表、主体令牌表、令牌索引表和其他安全控制表都只与访问控制单元中的系统安全控制器和安全策略管理器构成通信连接,用于配合访问控制单元完成基于令牌的细粒度访问控制。
所述控制访问的令牌与数据存储单元中的令牌和数据的描述方式包括但不限于扩展标记语言XML或其它高级程序语言设计的数据结构、或数据库表单;所述令牌和数据的存储形式至少包括内存、或文件、或数据库;存储方式是集中式和/或分布式。
所述令牌是主体访问客体所必需的凭证,即只有当主体具备对特定客体进行特定访问所需的令牌,访问才能够成功;否则,该访问会被系统拒绝;所述令牌的分配、保存和检查都由系统统一管理。
所述令牌格式包括令牌标识和系统证书两部分,其中令牌标识是系统统一分配的、用于唯一标识该令牌的字符串;系统证书是系统签署的安全证书,该证书格式采用X.509标准,或可被基于公钥的软件共享的其它格式;所述X.509是规定公钥证书的格式及相关验证算法的公钥基础结构标准(PKI,public keyinfrastructure),证书内的系统签名由该系统特定算法生成。
所述细粒度是访问控制的粒度性能,体现在主、客体两个方面:该系统的访问控制令牌是按照每个客体的每个权限分别发放的,以实现客体访问的细粒度控制;该系统对于主体的控制可以从业务级细化精确到对象的方法级,实现主体访问的细粒度控制。
所述访问控制检查器用于接收业务代理的访问请求,并在检查结果缓存表中检索该访问请求的访问控制检查结果;如果在检查结果缓存表中检索到与该请求对应的检查结果记录,则将检索到的检查结果记录直接返回给业务代理;如果在检查结果缓存表中没有检索到与该访问请求对应的检查结果记录,则将检查结果传送给系统安全控制器继续进行验证,并将系统安全控制器的验证结果返回给业务代理;同时将本次检查结果更新到检查结果缓存表中;
所述系统安全控制器为该系统访问控制的核心控制器,用于提供最终的安全访问合法性的检查验证功能,以及至少包括根据访问控制检查结果、更新检查结果缓存表和管理系统关键数据的其它安全性能的维护执行功能;
所述安全策略管理器用于执行系统的安全访问控制策略,并定时清除检查结果缓存表;所述安全访问控制策略由系统动态配置并存贮在其它安全控制表中。
本发明的另一目的是这样实现的:一种用于应用服务器的基于令牌的细粒度访问控制方法,其特征在于:包括下述操作步骤:
A、在业务加载、或更新、或终止时,先对系统令牌进行初始化;
B、在业务访问系统资源/能力的过程中,基于令牌对访问进行安全检查控制;
C、在系统安全控制器对访问进行检查之后、或检查结果缓存表满时、或检查结果缓存表保存的检查结果过期时、或业务终止时,分别对检查结果缓存表进行更新。
所述步骤A初始化系统令牌的操作进一步包括下述步骤:
A1、应用服务器与业务进行访问控制能力的协商;
A2、根据协商结果,为本次协商涉及到的所有权限创建新的令牌列表,调用令牌生成算法创建新的令牌;
A3、根据协商结果及新的令牌列表,对该业务的主体令牌表进行初始化,所述主体令牌表记录了该业务的所有主体拥有的令牌;
A4、根据协商结果及令牌列表,在令牌索引表中插入或更新令牌索引数据,以便将持有各个令牌的主体标识记录到每个令牌对应的记录中去;并根据令牌索引表中记录的主体标识找到该标识对应的主体令牌表,然后更新已拥有该令牌的业务的主体令牌表;
A5、根据协商结果及令牌列表,更新访问权限令牌表,所述权限令牌表记录了对客体进行访问所需要的令牌;
A6、业务每次更新时,根据更新后的业务重复执行步骤A1~A5的操作,对该业务相关联的系统令牌进行更新;
A7、业务终止时,系统安全控制器更新并清除检查结果缓存表、访问权限令牌表、主体令牌表、令牌索引表和其它安全控制表中与该业务相关的记录。
所述步骤A2中所述令牌生成算法包括下列步骤:
A21、已有的令牌采用原令牌标识,新创建的令牌采用能够保证所分配的标识具有唯一性的算法自动分配令牌标识;
A22、创建令牌摘要消息,该令牌摘要消息由顺序排列的令牌标识、客体标识、权限描述、拥有该令牌的所有主体标识的各个字符段组成;
A23、对令牌摘要消息进行散列,并采用包括但不限于信息-摘要算法MD5(message-digest algorithm 5)或安全散列算法SHA(Secure Hash Algorithm)对令牌摘要消息进行运算;
A24、用系统密钥对散列运算结果进行加密,产生系统签名;
A25、按照系统证书的规定格式,用系统签名和系统相关信息创建系统证书;
A26、按照系统规定的令牌格式,用令牌标识和生成的系统证书创建令牌。
所述步骤B基于令牌对访问进行细粒度控制的操作进一步包括下述步骤:
B1、业务将访问资源/能力的请求发送给业务代理,以便由业务代理代表业务对资源/能力进行访问;
B2、业务代理将访问请求发送给访问控制检查器,验证该请求的合法性;
B3、访问控制检查器对检查结果缓存表进行检索,再根据检索结果采取相应操作;
B4、如果在检查结果缓存表命中,即检索到与本次访问请求对应的检查结果记录,就将该检查结果返回给业务代理,跳转到步骤B6;
B5、如果在检查结果缓存表没有命中,即没有找到与本次访问请求对应的检查结果记录,就将该访问请求发送给系统安全控制器再次进行检查,并由系统安全控制器将其检查结果经访问控制检查器返回给业务代理;
B6、业务代理根据检查结果进行相应操作:如果检查结果为允许访问,则业务代理执行该访问操作,并将执行结果返回给业务;如果检查结果为不允许访问,则业务代理拒绝该访问请求,并将拒绝响应返回给业务。
所述步骤B5中系统安全控制器对访问请求再次进行检查的操作进一步包括下述步骤:
B51、系统安全控制器检查访问权限令牌表,查询执行该访问操作需要何种令牌;
B52、系统安全控制器检查主体令牌表,查看该访问请求的主体是否具有步骤B51检索出来的执行该访问操作所需令牌,再根据检索结果采取相应的后续操作;
B53、如果具有该令牌,即令牌匹配,则检查结果为允许访问,系统安全控制器将允许访问的检查结果更新到检查结果缓存表中,并将验证成功的消息返回给访问控制检查器,访问控制检查器再将该结果返回给业务代理;
B54、如果不具有该令牌,即令牌不匹配,则检查结果为拒绝访问,系统安全控制器将拒绝访问的检查结果更新到检查结果缓存表中;并将验证失败的消息返回给访问控制检查器,访问控制检查器再将该结果返回给业务代理。
所述步骤C对检查结果缓存表进行更新的操作进一步包括下述步骤:
C1、系统安全控制器将每次检查的结果更新到检查结果缓存表中,并打上当前时间戳;
C2、当检查结果缓存表存储的内容满时,由安全策略管理器根据系统安全策略删除检查结果缓存表中缓存的检查结果记录;
C3、安全策略管理器根据系统安全管理策略,定时清除检查结果缓存表中缓存的过期检查结果记录;
C4、当一个业务被终止时,系统安全控制器将检查结果缓存表中所有与该业务相关的检查结果全部清除。
本发明的优点和效果是:
(1)在应用服务器的访问控制系统中设置了用于代表业务访问资源/能力的业务代理。在应用服务器中,业务可由第三方编写,而业务代理则是应用服务器自身提供的。通过业务代理的引入,对资源进行访问控制以及实际的资源访问操作都是由保证安全的实体——业务代理来完成,提高了系统的安全性。
(2)在应用服务器的访问控制系统中还设置了分别独立完成对访问请求进行审核检查的访问控制检查器和系统安全控制器,业务代理只需要根据访问控制检查器返回的检查结果来进行操作。因此,实现了访问请求的安全检查和访问操作本身的分离,提高了系统的安全性和可维护性。
(3)本发明系统设置了用于保存访问控制检查结果的检查结果缓存表,并且,查询该检查结果缓存表的操作简单、高效,大大提高了该访问控制系统的判断效率。该系统还设置了用于执行系统动态配置的安全策略的安全策略管理器,而安全策略的动态可配置性,提高了系统的灵活性。
(4)本发明采用基于令牌对访问进行细粒度控制的方法。令牌的引入,首先满足了控制访问的要求,提高了系统的安全性;其次,令牌可以大大减少该访问控制系统本身的空间要求。
(5)本发明采用的对检查结果缓存表进行定时更新的机制,实现了检查结果缓存表的动态及时更新,提高了检查结果缓存表的命中率,进而提高安全访问检索操作的速度;还能够保证检查结果缓存表中数据的真实可靠性,确保系统的安全。
附图说明
图1是本发明访问控制系统的结构组成示意图。
图2是本发明的令牌格式示意图。
图3是本发明访问控制方法操作流程方框图。
图4是本发明的令牌生成算法流程方框图。
图5是本发明的基于令牌对访问进行细粒度控制方法操作流程方框图。
图6是本发明中的系统安全控制器对访问请求进行检查,并将检查结果返回给访问控制检查器的操作流程方框图。
图7是本发明基于令牌对访问进行细粒度控制过程中的消息交互图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。
本发明是一种用于应用服务器的基于令牌的细粒度访问控制系统及其实现方法。该访问控制系统和方法必须满足下一代网络中应用服务器对于访问控制的下述要求:首先,应用服务器是下一代网络中的业务执行平台,访问控制系统必须对应用服务器中任何主体对客体的每一次访问都能够进行有效控制,从而保证系统的安全性;并且,希望应用服务器能够提供细粒度的访问控制能力。另外,应用服务器要向用户提供从企业级到电信级的服务,因此,要求该访问控制系统的控制访问的各项操作必须有较高的工作效率,以便尽量减少系统正常处理各项业务的效率和满足用户需求。最后,该访问控制系统必须确保自身的安全和工作可靠。
参见图1,本发明是一种用于应用服务器的基于令牌的细粒度访问控制系统,该系统包括有:
由为客户提供服务的应用程序组成的业务单元101,该业务单元101需要访问应用服务器中的资源和/或能力;
由保证安全的代码组成的业务代理单元102,用于代理业务访问资源/能力单元,该业务代理单元102分别与业务单元101、资源/能力单元130和访问控制单元110进行通信连接;
由至少包括各种文件资源、网络资源、数据库资源与其它资源和/或能力组成的系统资源/能力单元130;
由顺序连接的访问控制检查器、系统安全控制器和安全策略管理器组成的访问控制单元110,用于在主体访问客体时进行基于令牌的细粒度访问控制;
由缓存本系统的访问控制结果、以提高访问控制效率的检查结果缓存表、保存访问每个客体的不同权限所对应的令牌的访问权限令牌表、保存主体所拥有的令牌列表的主体令牌表、保存持有令牌的主体标识列表的令牌索引表,以及至少包括系统安全策略定义的其他安全控制表组成的控制访问的令牌与数据存储单元120,用于配合访问控制单元完成基于令牌的细粒度访问控制;其中检查结果缓存表同时连接访问控制单元中的三个部件,访问权限令牌表、主体令牌表、令牌索引表和其他安全控制表都只与访问控制单元中的系统安全控制器和安全策略管理器构成通信连接。该令牌与数据存储单元120中的令牌和数据的描述方式包括但不限于扩展标记语言XML或其它高级程序语言设计的数据结构、或数据库表单;令牌和数据的存储形式至少包括内存、或文件、或数据库;存储方式是集中式和/或分布式。
访问控制单元110是该系统的控制核心,下面介绍三个组件的功能及操作:
用于接收并检查业务代理的访问请求的访问控制检查器,首先根据检查结果缓存表检查该访问请求的合法性:如果在检查结果缓存表中检索到与该访问请求对应的检查结果记录,则该检查结果记录表明该次访问是否合法,并将检索到的检查结果记录直接返回给业务代理;如果在检查结果缓存表中没有检索到与该访问请求对应的检查结果记录,则将访问请求转发给系统安全控制器继续进行检查,并将系统安全控制器的验证结果返回给业务代理;同时将本次检查结果更新到检查结果缓存表中。
作为系统访问控制核心的系统安全控制器能够提供安全访问合法性的最终检查结果,并维护执行系统的其它安全功能;也就是说,当访问控制检查器从检查结果缓存表中检索不到该访问请求所对应的检查结果记录时,将由系统安全控制器来最终决定该次访问是否合法;系统安全控制器还能够根据访问控制检查结果来及时更新检查结果缓存表,以及管理系统关键数据等。
安全策略管理器,用于执行系统保存在其它安全控制表中、并进行动态配置的安全访问控制策略,以及定时清除检查结果缓存表等。
本发明是基于令牌的访问控制系统,所谓令牌是主体对客体进行访问所必需的一种凭证,主体只有具备对特定客体进行特定访问所需的令牌,访问才能够成功,否则,该访问会被系统拒绝。
参见图2,本发明令牌的格式是特定的:由令牌标识(Token ID)和系统证书两部分组成。其中令牌标识是系统统一分配的、用于唯一标识该令牌的字符串;系统证书是系统签署的安全证书(Certificate),采用可被其它基于公钥的软件共享的X.509或其它证书格式,证书内的系统签名由该系统特定算法生成。
本发明的细粒度的访问控制特性主要体现在两方面:第一,该系统的访问控制令牌是按每个客体的每个权限分别发放的,实现了客体访问的细粒度控制;第二,该系统对于主体的控制可以从业务级细化精确到对象的方法级,实现了主体访问的细粒度控制。
参见图3,本发明用于应用服务器的基于令牌的细粒度访问控制方法包括三个操作步骤:
A、在业务加载、或更新、或终止时,先对系统令牌进行初始化;
B、在业务访问系统资源/能力的过程中,基于令牌对访问进行安全检查控制;
C、在系统安全控制器对访问进行检查之后、或检查结果缓存表满时、或检查结果缓存表保存的检查结果过期时、或业务终止时,分别对检查结果缓存表进行更新。
下面结合附图具体描述这三个步骤。
其中步骤A初始化系统令牌的操作进一步包括下述步骤:
A1、应用服务器与业务进行访问控制能力的协商;
A2、根据协商结果,为本次协商涉及到的所有权限创建新的令牌列表,调用令牌生成算法创建新的令牌;参见图4,具体说明令牌生成算法的操作步骤:
(A21)已有的令牌采用原令牌标识,新创建的令牌系统采用能够保证所分配的标识唯一性的算法自动分配令牌标识;
(A22)创建令牌摘要消息,该令牌摘要消息由顺序排列的令牌标识、客体标识、权限描述、拥有该令牌的所有主体标识的各个字符段组成;
(A23)对令牌摘要消息进行散列,系统采用MD5或SHA或其它散列算法对令牌摘要消息进行运算;
(A24)用系统密钥对散列运算结果进行加密,产生系统签名;
(A25)按照系统证书的规定格式,用系统签名和系统相关信息创建系统证书;
(A26)按照系统规定的令牌格式,用令牌标识和生成的系统证书创建令牌。
A3、根据协商结果及产生的新的令牌列表,对该业务的主体令牌表进行初始化,所述主体令牌表记录了该业务的所有主体拥有的令牌;
A4、根据协商结果及产生的令牌列表,在令牌索引表中插入或更新令牌索引数据,以便将持有各个令牌的主体标识记录到每个令牌对应的记录中去;并根据令牌索引表中记录的主体标识找到该标识对应的主体令牌表,然后更新已拥有该令牌的业务的主体令牌表;
A5、根据协商结果及产生的令牌列表,更新访问权限令牌表,该权限令牌表记录了对客体进行访问所需要的令牌;
A6、业务每次更新时,根据更新后的业务重复执行上述步骤A1~A5的操作,对该业务相关联的系统令牌进行更新;
A7、业务终止时,系统安全控制器更新并清除检查结果缓存表、访问权限令牌表、主体令牌表、令牌索引表和其它安全控制表中与该业务相关的记录。
参见图5,具体说明步骤B基于令牌对访问进行细粒度控制的操作步骤:
B1、业务将访问资源/能力的请求发送给业务代理,以便由业务代理代表业务对资源/能力进行访问;
B2、业务代理将访问请求发送给访问控制检查器,以验证该请求的合法性;
B3、访问控制检查器对检查结果缓存表进行检索,再根据检索结果采取相应操作;
B4、如果在检查结果缓存表命中,即检索到与本次访问请求对应的检查结果记录,就将该检查结果返回给业务代理,跳转到步骤B6;
B5、如果在检查结果缓存表没有命中,即没有找到与本次访问请求对应的检查结果记录,就将该访问请求发送给系统安全控制器再次进行检查,并由系统安全控制器将其检查结果经访问控制检查器返回给业务代理;
B6、业务代理根据检查结果进行相应操作:如果检查结果为允许访问,则业务代理执行该访问操作,并将执行结果返回给业务;如果检查结果为不允许访问,则业务代理拒绝该访问请求,并将拒绝响应返回给业务。
参见图6,具体说明上述步骤B5中系统安全控制器对访问请求再次进行检查的操作:
(B51)系统安全控制器检查访问权限令牌表,查询执行该访问操作需要何种令牌;
(B52)系统安全控制器检查主体令牌表,查看该访问请求的主体是否具有步骤B51检索出来的执行该访问操作所需令牌,再根据检索结果采取相应操作;
(B53)如果具有该令牌,即令牌匹配,则检查结果为允许访问,系统安全控制器将允许访问的检查结果更新到检查结果缓存表中,并将验证成功的消息返回给访问控制检查器,访问控制检查器再将该结果返回给业务代理;
(B54)如果不具有该令牌,即令牌不匹配,则检查结果为拒绝访问,系统安全控制器将拒绝访问的检查结果更新到检查结果缓存表中;并将验证失败的消息返回给访问控制检查器,访问控制检查器再将该结果返回给业务代理。
图7是采用消息交互图的形式对本发明系统基于令牌的细粒度访问控制的处理过程进行了说明,图中各个步骤的含义和图5及图6是一致的,不再赘述。
本发明的步骤C对检查结果缓存表进行更新的操作包括下述步骤:
C1、系统安全控制器将每次检查的结果更新到检查结果缓存表中,并打上当前时间戳;
C2、当检查结果缓存表存储的内容满时,由安全策略管理器根据系统安全策略删除检查结果缓存表中缓存的检查结果记录;
C3、安全策略管理器根据系统安全管理策略,定时清除检查结果缓存表中缓存的过期检查结果记录;
C4、当一个业务被终止时,系统安全控制器将检查结果缓存表中所有与该业务相关的检查结果全部清除。

Claims (12)

1、一种用于应用服务器的基于令牌的细粒度访问控制系统,包括有:
业务单元,由为客户提供服务的应用程序组成,该业务单元需要访问应用服务器中的资源和/或能力;
资源/能力单元,由至少包括各种文件资源、网络资源、数据库资源与其它资源和/或能力组成;其特征在于:该系统还包括有:
业务代理单元,由保证安全的代码组成,分别与业务单元、资源/能力单元和访问控制单元进行通信连接,用于代理业务访问资源/能力单元;
访问控制单元,由顺序连接的访问控制检查器、系统安全控制器和安全策略管理器组成,用手在主体访问客体时进行基于令牌的细粒度访问控制;
控制访问的令牌与数据存储单元,包括有:缓存本系统的访问控制结果、以提高访问控制效率的检查结果缓存表、保存访问每个客体的不同权限所对应的令牌的访问权限令牌表、保存主体所拥有的令牌列表的主体令牌表、保存持有令牌的主体标识列表的令牌索引表,以及至少包括系统安全策略定义的其他安全控制表,其中检查结果缓存表同时连接访问控制单元中的三个部件,访问权限令牌表、主体令牌表、令牌索引表和其他安全控制表都只与访问控制单元中的系统安全控制器和安全策略管理器构成通信连接,用于配合访问控制单元完成基于令牌的细粒度访问控制。
2、根据权利要求1所述的访问控制系统,其特征在于:所述控制访问的令牌与数据存储单元中的令牌和数据的描述方式包括但不限于扩展标记语言XML或其它高级程序语言设计的数据结构、或数据库表单;所述令牌和数据的存储形式至少包括内存、或文件、或数据库;存储方式是集中式和/或分布式。
3、根据权利要求1或2所述的访问控制系统,其特征在于:所述令牌是主体访问客体所必需的凭证,即只有当主体具备对特定客体进行特定访问所需的令牌,访问才能够成功;否则,该访问会被系统拒绝;所述令牌的分配、保存和检查都由系统统一管理。
4、根据权利要求1或2所述的访问控制系统,其特征在于:所述令牌格式包括令牌标识和系统证书两部分,其中令牌标识是系统统一分配的、用于唯一标识该令牌的字符串;系统证书是系统签署的安全证书,该证书格式采用X.509标准,或可被基于公钥的软件共享的其它格式;所述X.509是规定公钥证书的格式及相关验证算法的公钥体系基础结构标准,证书内的系统签名由该系统特定算法生成。
5、根据权利要求1所述的访问控制系统,其特征在于:所述细粒度是访问控制的粒度性能,体现在主、客体两个方面:该系统的访问控制令牌是按照每个客体的每个权限分别发放的,以实现客体访问的细粒度控制;该系统对于主体的控制可以从业务级细化精确到对象的方法级,实现主体访问的细粒度控制。
6、根据权利要求1所述的访问控制系统,其特征在于:所述访问控制检查器用于接收业务代理的访问请求,并在检查结果缓存表中检索该访问请求的访问控制检查结果;如果在检查结果缓存表中检索到与该请求对应的检查结果记录,则将检索到的检查结果记录直接返回给业务代理;如果在检查结果缓存表中没有检索到与该访问请求对应的检查结果记录,则将访问请求传送给系统安全控制器继续进行验证,并将系统安全控制器的验证结果返回给业务代理;同时将本次检查结果更新到检查结果缓存表中;
所述系统安全控制器为该系统访问控制的核心控制器,用于提供最终的安全访问合法性的检查验证功能,以及至少包括根据访问控制检查结果、更新检查结果缓存表和管理系统关键数据的其它安全性能的维护执行功能;
所述安全策略管理器用于执行系统的安全访问控制策略,并定时清除检查结果缓存表;所述安全访问控制策略由系统动态配置并存贮在其它安全控制表中。
7、一种用于应用服务器的基于令牌的细粒度访问控制方法,其特征在于:包括下述操作步骤:
A、在业务加载、或更新、或终止时,先对系统令牌进行初始化;
B、在业务访问系统资源/能力的过程中,基于令牌对访问进行安全检查控制;
C、在系统安全控制器对访问进行检查之后、或检查结果缓存表满时、或检查结果缓存表保存的检查结果过期时、或业务终止时,分别对检查结果缓存表进行更新。
8、根据权利要求7所述的访问控制方法,其特征在于:所述步骤A初始化系统令牌的操作进一步包括下述步骤:
A1、应用服务器与业务进行访问控制能力的协商;
A2、根据协商结果,为本次协商涉及到的所有权限创建新的令牌列表,调用令牌生成算法创建新的令牌;
A3、根据协商结果及新的令牌列表,对该业务的主体令牌表进行初始化,所述主体令牌表记录了该业务的所有主体拥有的令牌;
A4、根据协商结果及令牌列表,在令牌索引表中插入或更新令牌索引数据,以便将持有各个令牌的主体标识记录到每个令牌对应的记录中去;并根据令牌索引表中记录的主体标识找到该标识对应的主体令牌表,然后更新已拥有该令牌的业务的主体令牌表;
A5、根据协商结果及令牌列表,更新访问权限令牌表,所述权限令牌表记录了对客体进行访问所需要的令牌;
A6、业务每次更新时,根据更新后的业务重复执行步骤A1~A5的操作,对该业务相关联的系统令牌进行更新;
A7、业务终止时,系统安全控制器更新并清除检查结果缓存表、访问权限令牌表、主体令牌表、令牌索引表和其它安全控制表中与该业务相关的记录。
9、根据权利要求8所述的访问控制方法,其特征在于:所述步骤A2中所述令牌生成算法包括下列步骤:
A21、已有的令牌采用原令牌标识,新创建的令牌采用能够保证所分配的标识具有唯一性的算法自动分配令牌标识;
A22、创建令牌摘要消息,该令牌摘要消息由顺序排列的令牌标识、客体标识、权限描述、拥有该令牌的所有主体标识的各个字符段组成;
A23、对令牌摘要消息进行散列,并采用包括但不限于信息-摘要算法MD5或安全散列算法SHA对令牌摘要消息进行运算;
A24、用系统密钥对散列运算结果进行加密,产生系统签名;
A25、按照系统证书的规定格式,用系统签名和系统相关信息创建系统证书;
A26、按照系统规定的令牌格式,用令牌标识和生成的系统证书创建令牌。
10、根据权利要求7所述的访问控制方法,其特征在于:所述步骤B基于令牌对访问进行细粒度控制的操作进一步包括下述步骤:
B1、业务将访问资源/能力的请求发送给业务代理,以便由业务代理代表业务对资源/能力进行访问;
B2、业务代理将访问请求发送给访问控制检查器,验证该请求的合法性;
B3、访问控制检查器对检查结果缓存表进行检索,再根据检索结果采取相应操作;
B4、如果在检查结果缓存表命中,即检索到与本次访问请求对应的检查结果记录,就将该检查结果返回给业务代理,跳转到步骤B6;
B5、如果在检查结果缓存表没有命中,即没有找到与本次访问请求对应的检查结果记录,就将该访问请求发送给系统安全控制器再次进行检查,并由系统安全控制器将其检查结果经访问控制检查器返回给业务代理;
B6、业务代理根据检查结果进行相应操作:如果检查结果为允许访问,则业务代理执行该访问操作,并将执行结果返回给业务;如果检查结果为不允许访问,则业务代理拒绝该访问请求,并将拒绝响应返回给业务。
11、根据权利要求10所述的访问控制方法,其特征在于:所述步骤B5中系统安全控制器对访问请求再次进行检查的操作进一步包括下述步骤:
B51、系统安全控制器检查访问权限令牌表,查询执行该访问操作需要何种令牌;
B52、系统安全控制器检查主体令牌表,查看该访问请求的主体是否具有步骤B51检索出来的执行该访问操作所需令牌,再根据检索结果采取相应的后续操作;
B53、如果具有该令牌,即令牌匹配,则检查结果为允许访问,系统安全控制器将允许访问的检查结果更新到检查结果缓存表中,并将验证成功的消息返回给访问控制检查器,访问控制检查器再将该结果返回给业务代理;
B54、如果不具有该令牌,即令牌不匹配,则检查结果为拒绝访问,系统安全控制器将拒绝访问的检查结果更新到检查结果缓存表中;并将验证失败的消息返回给访问控制检查器,访问控制检查器再将该结果返回给业务代理。
12、根据权利要求7所述的访问控制方法,其特征在于:所述步骤C对检查结果缓存表进行更新的操作进一步包括下述步骤:
C1、系统安全控制器将每次检查的结果更新到检查结果缓存表中,并打上当前时间戳;
C2、当检查结果缓存表存储的内容满时,由安全策略管理器根据系统安全策略删除检查结果缓存表中缓存的检查结果记录;
C3、安全策略管理器根据系统安全管理策略,定时清除检查结果缓存表中缓存的过期检查结果记录;
C4、当一个业务被终止时,系统安全控制器将检查结果缓存表中所有与该业务相关的检查结果全部清除。
CNB2004101034711A 2004-12-28 2004-12-28 用于应用服务器的基于令牌的细粒度访问控制系统及方法 Expired - Fee Related CN100490387C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2004101034711A CN100490387C (zh) 2004-12-28 2004-12-28 用于应用服务器的基于令牌的细粒度访问控制系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2004101034711A CN100490387C (zh) 2004-12-28 2004-12-28 用于应用服务器的基于令牌的细粒度访问控制系统及方法

Publications (2)

Publication Number Publication Date
CN1633084A true CN1633084A (zh) 2005-06-29
CN100490387C CN100490387C (zh) 2009-05-20

Family

ID=34848180

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004101034711A Expired - Fee Related CN100490387C (zh) 2004-12-28 2004-12-28 用于应用服务器的基于令牌的细粒度访问控制系统及方法

Country Status (1)

Country Link
CN (1) CN100490387C (zh)

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101923620A (zh) * 2009-06-17 2010-12-22 富士施乐株式会社 对处理的执行进行控制的方法及信息处理装置
CN102387172A (zh) * 2010-08-30 2012-03-21 国际商业机器公司 用于为移动设备提供或获取网络资源的内容的方法和装置
CN102667719A (zh) * 2009-11-20 2012-09-12 微软公司 基于资源属性控制资源访问
CN102882855A (zh) * 2011-09-06 2013-01-16 微软公司 按过程的连网能力
CN103078926A (zh) * 2012-12-28 2013-05-01 华为技术有限公司 分布式存储系统的文件访问方法和装置以及系统
CN103095482A (zh) * 2011-11-07 2013-05-08 上海宝信软件股份有限公司 程序开发维护系统
CN104255007A (zh) * 2011-09-29 2014-12-31 甲骨文国际公司 Oauth框架
CN104320427A (zh) * 2014-09-22 2015-01-28 国家电网公司 一种继电保护系统多智能体的分布式组通信方法
CN104573553A (zh) * 2014-12-30 2015-04-29 中国航天科工集团第二研究院七O六所 一种面向Xen的虚拟机内存共享的安全隔离方法
CN104753953A (zh) * 2015-04-13 2015-07-01 成都双奥阳科技有限公司 访问控制系统
CN106716369A (zh) * 2014-07-25 2017-05-24 起元科技有限公司 适应随机发生的事件延迟的可变性时序表
US9679130B2 (en) 2011-09-09 2017-06-13 Microsoft Technology Licensing, Llc Pervasive package identifiers
US9773102B2 (en) 2011-09-09 2017-09-26 Microsoft Technology Licensing, Llc Selective file access for applications
US9800688B2 (en) 2011-09-12 2017-10-24 Microsoft Technology Licensing, Llc Platform-enabled proximity service
CN107315948A (zh) * 2016-04-26 2017-11-03 阿里巴巴集团控股有限公司 数据调用方法及装置
US9858247B2 (en) 2013-05-20 2018-01-02 Microsoft Technology Licensing, Llc Runtime resolution of content references
CN109408241A (zh) * 2018-10-31 2019-03-01 百度在线网络技术(北京)有限公司 负载均衡方法、装置、设备和存储介质
CN109451069A (zh) * 2018-12-29 2019-03-08 江苏鼎峰信息技术有限公司 基于分布式存储的网络数据文件库存储及查询方法
CN109639674A (zh) * 2018-12-11 2019-04-16 广州猎萌网络科技有限公司 一种访问安全控制方法
US10356204B2 (en) 2012-12-13 2019-07-16 Microsoft Technology Licensing, Llc Application based hardware identifiers
CN110362535A (zh) * 2019-07-12 2019-10-22 中国农业银行股份有限公司 一种文件管理方法、装置及系统
CN110489996A (zh) * 2019-07-31 2019-11-22 山东三未信安信息科技有限公司 一种数据库数据安全管理方法及系统
CN110598445A (zh) * 2019-09-12 2019-12-20 金蝶蝶金云计算有限公司 一种数据库访问控制方法、系统及相关设备
CN113420312A (zh) * 2021-07-08 2021-09-21 山东云缦智能科技有限公司 一种动态控制api接口访问的方法

Cited By (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101923620B (zh) * 2009-06-17 2015-08-19 富士施乐株式会社 对处理的执行进行控制的方法及信息处理装置
CN101923620A (zh) * 2009-06-17 2010-12-22 富士施乐株式会社 对处理的执行进行控制的方法及信息处理装置
CN102667719A (zh) * 2009-11-20 2012-09-12 微软公司 基于资源属性控制资源访问
CN102387172A (zh) * 2010-08-30 2012-03-21 国际商业机器公司 用于为移动设备提供或获取网络资源的内容的方法和装置
CN102882855A (zh) * 2011-09-06 2013-01-16 微软公司 按过程的连网能力
CN102882855B (zh) * 2011-09-06 2016-06-29 微软技术许可有限责任公司 按过程的连网能力的管理方法及设备
US9118686B2 (en) 2011-09-06 2015-08-25 Microsoft Technology Licensing, Llc Per process networking capabilities
US9773102B2 (en) 2011-09-09 2017-09-26 Microsoft Technology Licensing, Llc Selective file access for applications
US9679130B2 (en) 2011-09-09 2017-06-13 Microsoft Technology Licensing, Llc Pervasive package identifiers
US10469622B2 (en) 2011-09-12 2019-11-05 Microsoft Technology Licensing, Llc Platform-enabled proximity service
US9800688B2 (en) 2011-09-12 2017-10-24 Microsoft Technology Licensing, Llc Platform-enabled proximity service
CN104255007A (zh) * 2011-09-29 2014-12-31 甲骨文国际公司 Oauth框架
CN104255007B (zh) * 2011-09-29 2017-07-14 甲骨文国际公司 Oauth框架
CN103095482B (zh) * 2011-11-07 2015-10-21 上海宝信软件股份有限公司 程序开发维护系统
CN103095482A (zh) * 2011-11-07 2013-05-08 上海宝信软件股份有限公司 程序开发维护系统
US10356204B2 (en) 2012-12-13 2019-07-16 Microsoft Technology Licensing, Llc Application based hardware identifiers
CN103078926B (zh) * 2012-12-28 2016-03-30 华为技术有限公司 分布式存储系统的文件访问方法和装置以及系统
CN103078926A (zh) * 2012-12-28 2013-05-01 华为技术有限公司 分布式存储系统的文件访问方法和装置以及系统
US9858247B2 (en) 2013-05-20 2018-01-02 Microsoft Technology Licensing, Llc Runtime resolution of content references
CN106716369A (zh) * 2014-07-25 2017-05-24 起元科技有限公司 适应随机发生的事件延迟的可变性时序表
CN106716369B (zh) * 2014-07-25 2021-04-16 起元科技有限公司 适应随机发生的事件延迟的可变性时序表
CN104320427A (zh) * 2014-09-22 2015-01-28 国家电网公司 一种继电保护系统多智能体的分布式组通信方法
CN104573553A (zh) * 2014-12-30 2015-04-29 中国航天科工集团第二研究院七O六所 一种面向Xen的虚拟机内存共享的安全隔离方法
CN104753953A (zh) * 2015-04-13 2015-07-01 成都双奥阳科技有限公司 访问控制系统
CN107315948A (zh) * 2016-04-26 2017-11-03 阿里巴巴集团控股有限公司 数据调用方法及装置
CN107315948B (zh) * 2016-04-26 2020-09-01 阿里巴巴集团控股有限公司 数据调用方法及装置
CN109408241A (zh) * 2018-10-31 2019-03-01 百度在线网络技术(北京)有限公司 负载均衡方法、装置、设备和存储介质
CN109639674A (zh) * 2018-12-11 2019-04-16 广州猎萌网络科技有限公司 一种访问安全控制方法
CN109451069B (zh) * 2018-12-29 2021-01-29 江苏鼎峰信息技术有限公司 基于分布式存储的网络数据文件库存储及查询方法
CN109451069A (zh) * 2018-12-29 2019-03-08 江苏鼎峰信息技术有限公司 基于分布式存储的网络数据文件库存储及查询方法
CN110362535A (zh) * 2019-07-12 2019-10-22 中国农业银行股份有限公司 一种文件管理方法、装置及系统
CN110362535B (zh) * 2019-07-12 2022-05-31 中国农业银行股份有限公司 一种文件管理方法、装置及系统
CN110489996A (zh) * 2019-07-31 2019-11-22 山东三未信安信息科技有限公司 一种数据库数据安全管理方法及系统
CN110598445A (zh) * 2019-09-12 2019-12-20 金蝶蝶金云计算有限公司 一种数据库访问控制方法、系统及相关设备
CN110598445B (zh) * 2019-09-12 2022-05-20 金蝶蝶金云计算有限公司 一种数据库访问控制方法、系统及相关设备
CN113420312A (zh) * 2021-07-08 2021-09-21 山东云缦智能科技有限公司 一种动态控制api接口访问的方法
CN113420312B (zh) * 2021-07-08 2022-04-26 山东浪潮超高清视频产业有限公司 一种动态控制api接口访问的方法

Also Published As

Publication number Publication date
CN100490387C (zh) 2009-05-20

Similar Documents

Publication Publication Date Title
CN1633084A (zh) 用于应用服务器的基于令牌的细粒度访问控制系统及方法
US7636851B2 (en) Providing user on computer operating system with full privileges token and limited privileges token
US7860802B2 (en) Flexible licensing architecture in content rights management systems
US7913309B2 (en) Information rights management
US6895503B2 (en) Method and apparatus for hierarchical assignment of rights to documents and documents having such rights
US7577999B2 (en) Publishing digital content within a defined universe such as an organization in accordance with a digital rights management (DRM) system
CN1298512A (zh) 基于堆栈的访问控制
EP1460511B1 (en) Reviewing cached user-group information in connection with issuing a digital rights management (DRM) license for content
EP1914658B1 (en) Identity controlled data center
US9336369B2 (en) Methods of licensing software programs and protecting them from unauthorized use
US20220286448A1 (en) Access to data stored in a cloud
US20100281253A1 (en) Issuing a publisher use license off-line in a digital rights management (drm) system
EP1457860A1 (en) Publishing digital content within a defined universe such as an organization in accordance with a digital rights management (DRM) system
CN1902561A (zh) 用于根据智能密钥设备建立信任框架的方法和系统
CN1286022C (zh) 用户身份确认和授予操作权限的方法
JPH02260060A (ja) アクセス許可方法
CN1855110A (zh) 用于使文件系统免于恶意程序的增强安全层的系统和方法
CN1467642A (zh) 数据保护程序及数据保护方法
CN1873652A (zh) 保护数字内容的装置和方法,处理受保护的数字内容的装置和方法
US8095969B2 (en) Security assertion revocation
CN1815946A (zh) 一种实现数字信息安全存取的方法
US20080066169A1 (en) Fact Qualifiers in Security Scenarios
US9129098B2 (en) Methods of protecting software programs from unauthorized use
CN101065942A (zh) 用于从第一终端单元向第二终端单元迁移特定加密访问对象的方法和设备
CN1633085A (zh) 一种基于无等级角色间映射的访问控制方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090520

Termination date: 20121228