用户权限安全管理系统及方法

文档序号:6589544阅读:218来源:国知局
专利名称:用户权限安全管理系统及方法
技术领域
本发明关于一种保护计算机系统安全性的系统及方法,特别是关于一种通过设置用户权限来限制用户存取及操作的系统与方法。
背景技术
对于任何一种计算机信息系统,系统的安全性都至关重要。现有技术中关于增强计算机信息系统安全性的方法有很多,包括访问控制表、群组控制、用户ID及密码等。各种方法各有其优缺点。访问控制表方法是将所有权限及用户所允许的权限列示在一张表中,以此为依据去判断一用户存取是否合法。这种方法的弊端是对用户的权限维护缺乏灵活性。群组控制是先定义各群组权限,然后再根据各用户的需求将用户添加至相应群组,这样虽然较存取访问控制表相对灵活一些,但是对于群组的设置及用户权限的分配都由系统管理员进行分配管理。而用户ID及密码以未加密形式存储,容易导致密码被窃而致使系统安全性受到威胁。
美国专利商标局2001年9月25日公告的第6,295,605号专利,专利名称为“多层安全性评估系统及方法”(Method and apparatus formulti-level security evaluation),提供了一种结合各种单一方法,如上所述的访问控制表、群组控制等,利用各方法在系统处理速率上的优点提供一种提升安全处理速率的系统及方法,该系统将用户分成多类,分别拥有不同权限级别;同时将要访问的系统资源对应用户类别也分成多类,然后根据一定规则来选择一适当的方法判断系统访问请求是否允许。该专利技术提供了一种对系统资源的访问控制方法,但是有时系统需求并不仅仅是单一的存取控制,还需要对相应的操作进行权限控制,如对一项目管理系统,需要控制各项目相关操作权限,上述方法从限制系统资源的角度去管控显得力不从心,因为项目数量会越来越多,一一去定义很繁琐,灵活性不够,可扩展性不好。此外,一般的权限管控系统都少有提供用户密码保护,这样用户密码在网络传输过程中及数据库端都很容易被截取和破坏,所以希望能够在上述用户权限管控系统中加入用户密码保护技术。

发明内容本发明用户权限安全管理系统及方法,其基于系统操作进行用户权限管控,保证系统的可扩展性。
本发明用户权限安全管理系统及方法,其将用户密码进行加密,保证密码在网络传输及存储过程中的安全性。
本发明提供一种用户权限安全管理系统,其包括有多台客户端计算机,一分布式应用程序服务器及一数据库。任一客户端计算机包括有一交互式用户界面,用户可通过其发出操作请求;一SSL加密装置,用于对用户输入的用户密码进行SSL加密。分布式应用程序服务器包括有一操作定义装置,定义有多种系统操作;一角色定义装置,定义有至少一种角色,每一种角色是一组操作的集合,包括至少一种操作;一用户管理装置,便于新增、修改、删除用户ID及为用户分配角色;一SSL解密装置,用于将处于SSL状态的密码进行解密还原成未加密状态;一数据库加密装置,用于将未加密状态的密码进行加密;一用户验证装置,用于验证用户身份合法性;一操作验证装置,用于验证用户操作合法性。数据库用于存储上述用户ID及为用户分配的角色。客户端计算机通过网络与分布式应用程序服务器相连,分布式应用程序服务器与数据库通过一种数据库连接相连,所述用户验证装置通过将用户登录时输入的密码与数据库中存储的密码相比较进行验证用户身份的合法性,所述操作验证装置通过将存储在数据库中的用户角色所定义的操作与用户请求的操作进行比较来判断用户操作的合法性。
本发明还提供一种用户权限安全管理系统,其包括有多台客户端计算机,其提供交互式用户界面以便于用户发出操作请求;一分布式应用程序服务器及一数据库。该分布式应用程序服务器包括有一操作定义装置,定义有多种系统操作;一角色定义装置,定义有至少一种角色,每一种角色是一组操作的集合,包括至少一种操作;一用户管理装置,便于新增、修改、删除用户ID及为用户分配角色;一操作验证装置,用于验证用户操作的合法性。该数据库用于存储上述用户ID及用户对应的角色。客户端计算机通过网络与分布式应用程序服务器相连,分布式应用程序服务器与数据库通过一种数据库连接相连,所述操作验证装置通过将存储在数据库中的用户角色所定义的操作与用户请求的操作进行比较来判断用户操作的合法性。
本发明还提供一种用户权限安全管理方法,其包括有提供多台客户端计算机,提供一分布式应用程序服务器,及提供一数据库。任一客户端计算机包括有一交互式用户界面,用户藉以发出操作请求;一SSL加密装置,用于对用户输入的用户密码进行SSL加密。所述分布式应用程序服务器包括有一操作定义装置,定义有多种系统操作;一角色定义装置,定义有至少一种角色,每一种角色是一组操作的集合,包括至少一种操作;一用户管理装置,便于新增、修改、删除用户ID及为用户分配角色;一SSL解密装置,用于将处于SSL状态的密码进行解密还原成未加密状态;一数据库加密装置,用于将未加密状态的密码进行加密;一用户验证装置,用于验证用户身份合法性;一操作验证装置,用于验证用户操作的合法性。所述数据库用于存储上述用户ID及用户对应的角色。其中所述用户验证装置通过将用户登录时输入的密码与数据库中存储的密码相比较进行验证用户身份的合法性,所述操作验证装置通过将存储在数据库中的用户角色所定义的操作与用户请求的操作进行比较来判断用户操作的合法性。
本发明还提供一种用户权限安全管理方法,其包括有提供多台客户端计算机,其提供交互式用户界面,用户藉以发出操作请求;提供一分布式应用程序服务器,及提供一数据库。所述分布式应用程序服务器包括有一操作定义装置,定义有多种系统操作;一角色定义装置,定义有至少一种角色,每一种角色是一组操作的集合,包括至少一种操作;一用户管理装置,便于新增、修改、删除用户ID及为用户分配角色;一操作验证装置,用于验证用户操作的合法性。所述数据库,用于存储上述用户ID及用户对应的角色。其中所述操作验证装置通过将存储在数据库中的用户角色所定义的操作与用户请求的操作进行比较来判断用户操作的合法性。
本发明还提供一种用户权限安全管理方法,其包括有定义多种系统操作;根据所定义的操作定义角色,每一角色对应一种操作或多种操作的集合;为用户分配角色,并将该分配好的用户角色存储至一数据库;根据用户所分配角色判断用户操作合法性。
通过以上的用户权限安全管理系统及其方法,从系统操作的角度去定义用户权限范围,保证系统可扩展性。此外,将网路传输过程中及资料库存储状态中的用户密码保持在一种加密状态,保证用户密码安全性。

图1是本发明用户权限安全管理系统硬件架构图。
图2是本发明用户权限安全管理系统的功能模块图。
图3是本发明用户权限安全管理方法的用户密码设置流程图。
图4是本发明用户权限安全管理方法的用户权限维护流程图。
图5是本发明用户权限安全管理方法的验证流程图。
具体实施方式如图1所示,是本发明所述的用户权限安全管理系统的硬件架构图。多台客户端计算机10通过网络11与一分布式应用程序服务器12相连;该分布式应用程序服务器12通过连接13与数据库14相连。其中,网络11是一种电子网络,其可以是Intranet、Internet或其它类型网络。连接13是一种数据库连接,如开放式数据库连接(Open DatabaseConnectivity,ODBC),或者Java数据库连接(Java Database Connectivity,JDBC)等。客户端计算机10为用户提供交互式用户界面,用户通过其进行用户ID及密码、用户权限设置及发送各种操作请求。分布式应用程序服务器12存储有一系列软件程序装置(如第二图所示),用于对用户密码加密解密、用户身份验证及用户操作合法性验证等。所有设置好的用户ID及密码、用户权限存储在数据库14中。用户登录系统时输入用户ID及密码,分布式应用程序服务器12通过查询数据库中用户密码并将的与登录时输入的密码进行比较来验证用户身份的合法性;当用户发出操作请求时,分布式应用程序服务器12通过查询数据库中用户权限来判断该请求的操作是否在设定的权限范围内来验证请求操作的合法性。
如图2所示,是本发明所述的用户权限安全管理系统的功能模块图。客户端计算机10包括用户界面101及一SSL加密装置102。其中用户界面101为用户提供一交互式用户界面,以便于用户执行相应操作。SSL加密装置102用于将用户输入的密码进行加密,以保证该密码通过网络传输时的安全性。分布式应用程序服务器12包括有权限设置装置121、安全装置122及验证装置123。其中权限设置装置121用于设置用户权限,其包括有操作定义装置1211、角色定义装置1212及用户管理装置1213。操作定义装置1211用于定义系统操作,所有系统相关的操作已经由系统设计人员预先定义,并存储在数据库14中。该等操作包括有新增用户、分配用户角色、项目承办等。角色定义装置1212用于定义系统角色。每一个角色都是一组操作的集合,有权限的用户可通过用户界面101调用该角色定义装置1212进行角色定义。用户管理装置1213用于新增、修改、删除用户及用户角色。如新增一用户,需为该用户设置相应的用户ID及密码,同时还需要为该用户分配一个角色,该角色即决定了该用户可执行的操作范围。一个用户可分配多个角色,其所能执行的操作即为该多个角色所定义的操作集合的并集。安全装置122用于相关信息的加密及解密,其包括有SSL解密装置1221及数据库加密装置1222。其中SSL解密装置1221用于对经过SSL加密的用户密码进行解密。用户密码在客户端计算机10进行SSL加密之后通过网络11传输至分布式应用程序服务器12,SSL解密装置1221将该加密后的密码进行解密还原成原始状态,然后将该原始状态的密码再通过数据库加密装置1222进行加密,并将该加密后的密码存储至数据库14中。这样,用户密码在网络传输状态及存储状态都处于加密状态,提升了用户密码的安全性。验证装置123用于对用户身份的合法性及用户操作的合法性分别进行验证,包括有用户验证装置1231及操作验证装置1232。其中用户验证装置1231用于对用户身份的合法性进行验证。当用户通过一客户端计算机登入该系统时,其输入用户ID及密码,其中用户密码通过上述SSL加密操作后,与用户ID通过网络传送至分布式应用程序服务器12。分布式应用程序服务器12的SSL解密装置1221将该SSL密码进行解密,再通过数据库加密装置1222进行加密。用户验证装置1231根据该用户ID查询数据库14中对应于该用户ID的用户密码,将上述经数据库加密装置1222加密后的密码与数据库14中存储的用户密码进行比较,如果相同,则该用户身份合法;如果不相同,则证明用户身份不合法,系统拒绝其登入。操作验证装置1232用于验证用户操作合法性。用户登入系统后,在客户端计算机通过相应的操作按钮发出操作请求,该操作请求通过网络传送至分布式应用程序服务器12。操作验证装置1232根据该用户ID查询数据库,获取该用户对应的角色,判断该用户请求的操作是否在该角色所定义的操作范围内,如果是,则用户操作请求认可,用户进行相应操作;如果不是,则用户操作请求被拒绝。
如图3所示,是本发明所述的用户权限安全管理系统的用户密码设置流程图。首先是密码设置(步骤S30)。对于每一个用户,都有唯一的一组用户ID及密码,其用户ID为其在该系统中的身份标识。对于每一新增用户,都会被赋予一用户ID及初始密码,用户可以通过用户界面101修改该初始密码。设置好的密码通过SSL加密装置102进行加密(步骤S31)。该加密后的密码通过网络11传送至分布式应用程序服务器12(步骤S32),然后通过分布式应用程序服务器12中的SSL解密装置1221进行解密还原成初始状态(步骤S33)。该初始状态密码通过数据库加密装置1222再度进行加密,以便于存储在数据库14中(步骤S34)。最后该设置好的密码被保存至数据库14中。
如图4所示,是本发明所述的用户权限安全管理系统的用户权限维护流程图。首先,进行操作定义(步骤S40)。操作定义是在系统设计过程中完成的。在系统完成时,所有的操作都已经定义完毕。接着进行角色定义(步骤S41),角色定义由系统管理员完成,每一个角色都是一组操作的集合,系统管理员可根据系统实际需求定义多种角色,还可以对已经定义好的角色进行修改及删除操作。最后是对用户角色的维护(步骤S42)。用户角色的维护包括为用户分配新角色、修改用户角色、删除用户角色等操作。当新增一用户时,需为该新用户分配用户角色,这样用户就拥有了该系统的相关操作权限。当用户需求变化时,可以通过修改用户角色、分配新角色给用户及删除用户已有角色来维护用户角色。用户与分配给该用户的角色是多对多的关系,即一个角色可以同时分配给多个用户,同时,一个用户可以被分配有多个角色。当删除一用户时,该用户与其角色之间的对应关系也随之消灭。用户ID与用户角色之间的对应关系设置好后保存在数据库14中。
如图5所示,是本发明所述的用户权限安全管理系统的验证流程图。在该流程5中,首先,用户通过客户端计算机10的用户界面登录该系统(步骤S50),用户输入用户ID及密码,该密码通过SSL加密装置102进行SSL加密,然后通过该用户ID及加密后的用户密码一起通过网络11传送至分布式应用程序服务器12进行用户身份验证(步骤S51)。分布式应用程序服务器12中的SSL解密装置1221将该处于SSL加密状态的密码进行解密还原成原始状态,然后再通过数据库加密装置1222进行加密。同时分布式应用程序服务器12中的用户验证装置1231根据该用户ID查询数据库中存储的与该用户ID相对应的用户密码,然后将上述通过数据库加密装置1222进行加密后的密码与该用户密码进行比较(步骤S52),如果相同,则证明用户身份合法,允许其登入系统;如果不相同,则证明用户身份不合法,拒绝用户登入系统。用户登入系统后,通过用户界面101发出操作请求(步骤S53),该操作请求通过网络11传送至分布式应用程序服务器12,进行操作合法性验证(步骤S54)。操作验证装置1232根据用户ID查询数据库14中存储的用户角色,然后判断用户请求的操作是否属于该用户角色所定义的操作范围(步骤S55),如果是,则证明该操作合法,允许该操作执行(步骤56);如果不是,则证明该操作不合法,拒绝该操作执行(步骤57)。该操作执行完毕后或该操作被拒绝后,用户可根据需要判断是否发出另一条操作请求(步骤S58),如果需要,则流程5返回至步骤S53,重复上述操作步骤;如果不需要,则该流程5结束。
权利要求
1.一种用户权限安全管理系统,其特征在于包括多台客户端计算机,每台客户端计算机包括一交互式用户界面,用户可通过该交互式用户界面发出操作请求;一SSL加密装置,用于对用户输入的用户密码进行SSL加密;一分布式应用程序服务器,其包括有一操作定义装置,定义有多种系统操作;一角色定义装置,定义有至少一种角色,每一种角色是一组操作的集合,包括至少一种操作;一用户管理装置,便于新增、修改、删除用户ID及为用户分配角色;一SSL解密装置,用于将处于SSL状态的密码进行解密还原成未加密状态;一数据库加密装置,用于将未加密状态的密码进行加密;一用户验证装置,用于验证用户身份合法性;一操作验证装置,用于验证用户操作的合法性;一数据库,用于存储上述用户ID及用户对应的角色;客户端计算机通过网络与分布式应用程序服务器相连,分布式应用程序服务器与数据库通过一种数据库连接相连,所述用户验证装置通过将用户登录时输入的密码与数据库中存储的密码相比较进行验证用户身份的合法性,所述操作验证装置通过将存储在数据库中的用户角色所定义的操作与用户请求的操作进行比较来判断用户操作的合法性。
2.如权利要求1所述的用户权限安全管理系统,其特征在于用户通过交互式用户界面调用用户管理装置设定用户密码,该用户密码通过SSL加密装置进行加密后,并通过网络传输至分布式应用程序服务器,然后被SSL解密装置进行解密还原成未加密状态,再通过数据库加密装置进行加密后保存至数据库。
3.一种用户权限安全管理系统,其特征在于包括多台客户端计算机,其提供交互式用户界面以便于用户发出操作请求;一分布式应用程序服务器,其包括有一操作定义装置,定义有多种系统操作;一角色定义装置,定义有至少一种角色,每一种角色是一组操作的集合,包括至少一种操作;一用户管理装置,便于新增、修改、删除用户ID及为用户分配角色;一操作验证装置,用于验证用户操作的合法性;一数据库,用于存储上述用户ID及用户对应的角色;客户端计算机通过网络与分布式应用程序服务器相连,分布式应用程序服务器与数据库通过一种数据库连接相连,所述操作验证装置通过将存储在数据库中的用户角色所定义的操作与用户请求的操作进行比较来判断用户操作的合法性。
4.一种用户权限安全管理方法,其特征在于通过一用户权限安全管理系统实现如下步骤定义多种系统操作;根据所定义的操作定义角色,每一角色对应一种操作或多种操作的集合;为用户分配角色,并将该分配好的用户角色存储至一数据库;根据数据库中存储的用户角色判断用户操作合法性。
5.如权利要求4所述的用户权限安全管理方法,其特征在于其中判断用户操作合法性包括如下步骤发出操作请求;查询数据库中与用户对应的用户角色;判断该操作请求是否在用户角色所定义的操作范围内,如果该操作请求是在用户角色所定义的操作范围内,操作合法,被允许执行;如果该操作请求不是在用户角色所定义的操作范围内,操作不合法,被拒绝执行。
6.如权利要求4所述的用户权限安全管理方法,其特征在于还通过客户端计算机上存储之SSL加密装置、存储于分布式应用程序服务器之SSL解密装置及数据库加密装置实现如下步骤通过客户端计算机设置用户密码;SSL加密装置将用户密码进行SSL加密;加密后的密码通过网络传输至分布式应用程序服务器通过SSL解密装置进行SSL解密还原成未加密状态,该未加密状态的密码再被数据库加密装置加密成另一种格式后,存储至数据库;当用户登入时,将用户输入的密码与数据库中存储的密码相比较验证用户身份合法性。
7.如权利要求6所述的用户权限安全管理方法,其特征在于其中验证用户身份合法性包括有如下步骤用户输入用户ID及密码;该密码被SSL加密后通过网络传输至分布式应用程序服务器进行SSL解密还原成未加密状态,该未加密状态的密码再被加密成另一种加密状态;查询数据库中存储的用户密码,将该用户密码与所述处于另一种加密状态的密码进行比较,如果用户密码与所述处于另一种加密状态的密码一致,则用户身份合法;如果用户密码与所述处于另一种加密状态的密码不一致,则用户身份不合法。
全文摘要
一种用户权限安全管理系统及方法,其包括有多台客户端计算机,一分布式应用程序服务器及一数据库。用户通过客户端计算机的用户界面调用分布式应用程序服务器中的应用程序装置进行操作定义及角色定义,以及设置用户ID及密码、为用户分配角色等,并将该等信息存储至数据库中。用户通过用户界面发出操作请求,分布式应用程序服务器通过查询数据库中用户对应角色来判断用户操作的合法性。本发明基于系统操作进行用户权限管控,保证了系统的可扩展性。此外,用户密码通过用户界面设置后,在客户端计算机进行SSL加密,再通过网络传输至分布式应用程序服务器进行SSL解密及数据库加密后存储至数据库,保证了密码传输及存储的安全性。
文档编号G06F12/14GK1485746SQ0213486
公开日2004年3月31日 申请日期2002年9月27日 优先权日2002年9月27日
发明者李忠一, 叶建发, 姜志强 申请人:鸿富锦精密工业(深圳)有限公司, 鸿海精密工业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1