一种分布式系统中的双向安全审计方法及装置的制作方法

文档序号:7898519
专利名称:一种分布式系统中的双向安全审计方法及装置的制作方法
技术领域
本发明涉及一种分布式系统中的安全控制技术
背景技术
分布式平台是一项基于中间件的技术,中间件是一种独立的系统软件或服务程序,分布式平台通过该技术在不同的服务器之间共享资源,统一管理分布于不同服务器的服务和资源。用户在需要使用服务或资源时,通过客户端向分布式平台发出所需服务/资源的请求,并由分布式平台对用户所请求的服务/资源进行定位,找到该服务/资源所在的服务器,将该请求发送至对应的服务器进行处理,服务器处理完毕后,得出的处理结果仍然通过此分布式平台反馈给该客户端。在分布式系统中,为了防止安全威胁,必须在整个系统运作中采用安全防范措施, 即安全认证方法。具体的说,首先对于每一个处于客户端的用户,该系统都对其进行身份验证,并在验证通过后颁发数字证书和属性证书。用户在客户端登陆时会对其所提供的证书和密钥进行鉴定,只有在证明其合法身份及确定权限后,其所提出的请求才会得到响应。这个过程就是确认实体是他自己所声明的自己以及拥有合法有效的访问权限。使用数字证书的身份认证是一种强因子认证。数字证书是第三方权威公正的颁发机构签发,所以他能向一个实体确认另一个实体确实是他自己。在现有技术中,安全服务只在登录时进行身份和权限验证,就认定其在随后的运行时间内一直处于合法的身份和有效的权限分配。这为整个系统的安全性留下了隐患,为恶意攻击者提供了机会,并对审计模块的正常执行带来了不稳定因素。特别是针对一些重要工业数据的访问,执行更新、删除和复制操作时,仅对使用主体进行“一次验证通过,永远有效”的访问控制是不合理、不可靠及不彻底的。另外,本发明的发明人发现在现有分布式网络系统中,用户、客户端和应用进程都具备认证身份的数字证书和密钥。系统通过数字证书和密钥对其进行身份认证,为其提供服务。而作为提供服务方的服务器却不具备可鉴定的身份认证,也没有任何数字证书与密钥,更不对服务器的操作的合法性进行审计,无法确保这样的服务器所提供的服务合法,也无法辨识所获取的数据是否有效。尽管后台服务器群处于一个相对隔离的内部局域网中, 安全威胁较小,但也无法完全排除内部泄密、或内部黑客等人为行为。服务器与服务器之间的相互通讯无法保障数据的安全需求,这种安全级别对于普通的互联网系统而影响较小, 但对于要求高保密性的工业互联网而言是不够的,一旦发生非法行为,所造成的后果也更为严重。可见,为分布式平台提供一种更为有效的双向安全审计方法是保障分布式系统安全性的关键之一。

发明内容
本发明主要解决的技术问题是提供一种分布式系统中的双向安全审计方法及装置,确保分布式系统中用户、应用程序、服务器及系统应用场景中的各种合法角色在登录系统之后的操作中的身份和权限合法有效,最大程度保障系统安全。为了解决上述技术问题,本发明提供了一种分布式系统中的双向安全审计方法, 审计日志至少包含以下之一操作时间、数据源、安全等级和访问结果,并包含以下步骤分布式系统中每个受控端包含一身份认证模块,该身份认证模块中存储该受控端的数字证书、角色信息和角色对应的权限信息;受控端使用所述数字证书通过身份认证后,登录所述分布式系统;在登录后的受控端每次执行操作时,参照该受控端当前的角色所对应的权限信息对其操作信息进行审计,如果该权限信息中包含所述操作的权限,则允许该受控端执行所述操作,反之则禁止该受控端执行所述操作;该受控端至少包含接入所述分布式系统的客户端和所述分布式系统中的服务器。作为上述技术方案的改进,在受控端每次执行操作时,还包含以下步骤对受控端数字证书进行验证,在验证通过后,参照该受控端当前的角色所对应的权限信息对其操作信息进行审计。作为上述技术方案的改进,在对该客户端的用户的数字证书进行验证的步骤之前,对用户的密钥进行验证。作为上述技术方案的改进,如果受控端对应至少两个角色,则该受控端的身份认证模块中对应包含各角色的角色信息和各角色对应的权限信息;受控端在登录所述分布式系统时,选择当前使用的角色。作为上述技术方案的改进,身份认证模块为一外接模块,数字证书验证的步骤和所述操作信息审计的步骤中,从该外接的身份认证模块获取受控端的数字证书和当前角色所对应的权限信息,如果受控端与外接的身份认证模块断开连接,则该数字证书验证或操作信息审计失败。作为上述技术方案的改进,受控端执行的操作至少包含以下之一获取服务、访问系统资源、访问后台数据。作为上述技术方案的改进,数字证书为基于X. 509标准的数字证书;角色对应的权限信息保存在该基于X. 509标准的数字证书的扩展字段中。作为上述技术方案的改进,分布式系统中各类系统资源和后台数据分别对应一权限值,该分布式系统中的各服务分别对应一服务码;身份认证模块存储的权限信息包括一可访问服务列表和一权限值;参照受控端当前的角色所对应的权限信息对其操作信息进行审计的方式为如果受控端请求获取服务,则读取其请求中的服务码及其身份认证模块中对应当前角色的可访问服务列表,如果该服务码在该列表中对应的权限为允许,则允许该受控端获取所述服务;反之如果该服务码对应的权限为禁止,则禁止该受控端获取所述服务;如果受控端请求访问系统资源或后台数据,则将该待访问的系统资源或后台数据的权限值与该受控端的权限值相比较,如果受控端权限值高于或等于待访问的系统资源或后台数据的权限值,则允许该受控端访问所述系统资源或后台数据;反之,则禁止该受控端访问所述系统资源或后台数据。作为上述技术方案的改进,可访问服务列表为一字符串,字符串中每个比特对应一个服务,该比特的值表示该受控端允许或禁止使用该服务。
作为上述技术方案的改进,对于预设范围内的高安全等级的执行操作,保存审计
日志;审计日志至少包含以下之一操作时间、数据源、安全等级和访问结果。本发明还提供了一种分布式系统中的双向安全审计装置,还包含分布式系统中每个受控端包含一身份认证模块,该身份认证模块中存储该受控端的数字证书、角色信息和角色对应的权限信息,该装置包含验证模块,用于对受控端数字证书进行验证,在验证通过后,允许该客户端登录所述分布式系统;权限审计模块,用于在受控端每次执行操作时,参照该受控端当前的角色所对应的权限信息对其操作信息进行审计,如果该权限信息中包含所述操作的权限,则允许该受控端执行所述操作,反之则禁止该受控端执行所述操作;受控端至少包含接入所述分布式系统的客户端和所述分布式系统中的服务器。作为上述技术方案的改进,还包含身份审计模块,用于在受控端每次执行操作时,对该受控端数字证书进行验证,在验证通过后,指示权限审计模块对操作信息进行审计。作为上述技术方案的改进,对于客户端,身份审计模块还对使用该客户端的用户的密钥进行验证。作为上述技术方案的改进,如果受控端对应至少两个角色,则该受控端的身份认证模块中对应包含各角色的角色信息和各角色对应的权限信息;受控端在登录所述分布式系统时,选择当前使用的角色。作为上述技术方案的改进,身份认证模块为一外接模块,权限审计模块和身份审计模块从该外接的身份认证模块获取受控端的数字证书和当前角色所对应的权限信息,如果受控端与外接的身份认证模块断开连接,则数字证书验证或所述操作信息审计失败。作为上述技术方案的改进,受控端执行的操作至少包含以下之一获取服务、访问系统资源、访问后台数据;分布式系统中各类系统资源和后台数据分别对应一权限值,该分布式系统中的各服务分别对应一服务码;身份认证模块存储的权限信息包括一可访问服务列表和一权限值;权限审计模块对操作信息进行审计的方式为如果受控端请求获取服务,则读取其请求中的服务码及其身份认证模块中对应当前角色的可访问服务列表,如果该服务码在该列表中对应的权限为允许,则允许该受控端获取所述服务;反之如果该服务码对应的权限为禁止,则禁止该受控端获取所述服务;如果受控端请求访问系统资源或后台数据,则将该待访问的系统资源或后台数据的权限值与该受控端的权限值相比较,如果受控端权限值高于或等于待访问的系统资源或后台数据的权限值,则允许该受控端访问所述系统资源或后台数据;反之,则禁止该受控端访问所述系统资源或后台数据。作为上述技术方案的改进,可访问服务列表为一字符串,字符串中每个比特对应一个服务,该比特的值表示该受控端允许或禁止使用该服务。作为上述技术方案的改进,还包含
审计日志模块,对于预设范围内的高安全等级的执行操作,保存审计日志;审计日志至少包含以下之一操作时间、数据源、安全等级和访问结果。本发明实施方式与现有技术相比,主要区别及其效果在于在分布式系统中受控端(至少包括接入分布式系统的客户端和分布式系统中的服务器)通过身份认证,登录分布式系统后,每次执行操作时,参照该受控端当前的角色所对应的权限信息对其操作信息进行审计,如果该权限信息中包含该操作的权限,则允许该受控端执行该操作,反之则禁止该受控端执行该操作;从而确保分布式系统中用户、应用程序、服务器及系统应用场景中的各种合法角色在登录系统之后的操作中的身份和权限合法有效,最大程度保障系统安全。在受控端每次执行操作时,还对该受控端密码及数字证书进行验证,即进行身份审计,在身份审计通过后,参照该受控端当前的角色所对应的权限信息对其操作信息进行审计。从而有效防止操作者临时离开情况下,不法者盗用情况,进一步保障系统安全性。该身份认证模块为一外接模块,身份认证的步骤和操作信息审计的步骤中,均从该外接的身份认证模块获取受控端的数字证书和当前角色所对应的权限信息,一旦受控端与外接的身份认证模块断开连接,则身份认证或操作信息审计失败,受控端无法执行任何操作,保障了系统安全性。对于安全等级较高的资源访问及执行操作,都会留下包含时间、数据源、安全等级和访问结果等信息的审计日志,用以今后的统计和跟踪,随时发现可疑情况。


下面结合附图和具体实施方式
对本发明作进一步详细说明。图1是本发明第一实施方式的分布式系统中的双向安全审计方法中用户侧的审计流程图;图2是本发明第一实施方式中的X. 509身份证书结构示意图;图3是本发明第一实施方式的分布式系统中的双向安全审计方法中服务器侧的审计流程图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施方式作进一步地详细描述。本发明第一实施方式涉及一种分布式系统中的双向安全审计方法,本实施方式中,摈弃传统的系统中服务器默认为安全的观念,在分布式系统中的客户端及服务器每次执行操作前,都要对其进行身份鉴定和权限审计,即对于每一次用户或服务器的数据访问、 操作执行及资源享用都有进行身份鉴定和权限审计。其中,操作执行一般包括获取服务、访问系统资源、访问后台数据等。而对于预设范围内的高安全等级的执行操作,还进行跟踪记录,生成日志信息,以便日后系统据此产生离线统计和审计报告。本实施方式中,用户向分布式平台发出登陆请求,并输入相应的密码。若用户关联两个或以上的角色时,则需在登陆界面上选择相应的角色。此时,分布式平台结合密钥对数字证书进行验证。经分布式平台验证通过后,返回与该用户所选角色及其权限相对应的用户界面。若用户需要执行一操作,需向分布式平台递交相应的操作信息,如请求服务的服务码、或请求访问的系统资源标识、或后台数据标识等,由分布式平台进行身份和权限的双重审计,并记录下相应的审计日志。具体的双向安全审计方法如图1所示,在步骤101中,用户通过客户端向分布式平台发出登陆请求,在客户端上外接一身份认证模块,并在客户端输入相应的密码。本步骤中,若该用户关联两个或以上的角色时,还需要选择当前登录的角色。该身份认证模块中包含该用户的数字证书、该用户对应的角色的角色信息和角色对应的权限信息。对于包含多个角色的用户,该身份认证模块中分别包含各角色信息,以及各角色对应的权限信息。步骤102中,分布式平台结合用户的密钥对其数字证书进行验证。从该外接的身份认证模块获取用户的数字证书,如果用户使用的客户端与外接的身份认证模块断开连接,则身份认证失败。其中,数字证书采用基于X. 509标准,并将用户角色及角色对应的权限信息保存在该数字证书的扩展字段中,如图2所示。步骤103中,向用户返回验证结果。若验证通过,则返回该角色和权限相对应的用户界面,进入步骤104。若没有通过验证,则返回登录失败信息,结束本流程。步骤104中,用户向分布式平台递交所需执行操作请求。用户需要执行的操作一般包括获取服务、访问系统资源、访问后台数据等。步骤105中,分布式平台收到该执行操作的请求后,先对用户进行身份认证,在身份认证通过后,参照该用户当前的角色所对应的权限信息对其操作信息进行审计,确定该用户是否有执行相应操作的权限,如果有执行该操作的权限则进入步骤106,如果没有则进入步骤107。其中,身份认证的方式同步骤102,结合用户的密钥对数字证书进行验证。即要求用户输入密码,对该用户的密码及数字证书分别进行验证。具体的说,参照该用户当前的角色所对应的权限信息对其操作信息进行审计的方式如下分布式系统中的各服务分别对应一服务码;分布式系统中各类系统资源和后台数据分别对应一权限值。用户的身份认证模块存储的权限信息包括一可访问服务列表和一权限值。其中,可访问服务列表为一字符串,共128比特。字符串中每个比特对应一个服务,该比特的值为1表示允许该用户使用该服务,该比特的值为0标表示禁止使用该服务, 如表1所示。
权利要求
1.一种分布式系统中的双向安全审计方法,其特征在于,包含以下步骤所述分布式系统中每个受控端包含一身份认证模块,该身份认证模块中存储该受控端的数字证书、角色信息和角色对应的权限信息;所述受控端使用所述数字证书通过身份认证后,登录所述分布式系统;在所述登录后的受控端每次执行操作时,参照该受控端当前的角色所对应的权限信息对其操作信息进行审计,如果该权限信息中包含所述操作的权限,则允许该受控端执行所述操作,反之则禁止该受控端执行所述操作;所述受控端至少包含接入所述分布式系统的客户端和所述分布式系统中的服务器。
2.根据权利要求1所述的分布式系统中的双向安全审计方法,其特征在于,在所述受控端每次执行操作时,还包含以下步骤对所述受控端数字证书进行验证,在验证通过后,参照该受控端当前的角色所对应的权限信息对其操作信息进行审计。
3.根据权利要求2所述的分布式系统中的双向安全审计方法,其特征在于,对于客户端,在对该客户端的用户的数字证书进行验证的步骤之前,还包含以下步骤对所述用户的密钥进行验证。
4.根据权利要求2所述的分布式系统中的双向安全审计方法,其特征在于,如果所述受控端对应至少两个角色,则该受控端的身份认证模块中对应包含各角色的角色信息和各角色对应的权限信息;所述受控端在登录所述分布式系统时,选择当前使用的角色。
5.根据权利要求2所述的分布式系统中的双向安全审计方法,其特征在于,所述身份认证模块为一外接模块,所述数字证书验证的步骤和所述操作信息审计的步骤中,从该外接的身份认证模块获取受控端的数字证书和当前角色所对应的权限信息,如果所述受控端与所述外接的身份认证模块断开连接,则所述数字证书验证或所述操作信息审计失败。
6.根据权利要求1所述的分布式系统中的双向安全审计方法,其特征在于,所述受控端执行的操作至少包含以下之一获取服务、访问系统资源、访问后台数据。
7.根据权利要求6所述的分布式系统中的双向安全审计方法,其特征在于,所述数字证书为基于X. 509标准的数字证书;所述角色对应的权限信息保存在该基于X. 509标准的数字证书的扩展字段中。
8.根据权利要求7所述的分布式系统中的双向安全审计方法,其特征在于,所述分布式系统中各类系统资源和后台数据分别对应一权限值,所述分布式系统中的各服务分别对应一服务码;所述身份认证模块存储的权限信息包括一可访问服务列表和一权限值;所述参照受控端当前的角色所对应的权限信息对其操作信息进行审计的方式为如果所述受控端请求获取服务,则读取其请求中的服务码及其身份认证模块中对应当前角色的可访问服务列表,如果该服务码在该列表中对应的权限为允许,则允许该受控端获取所述服务;反之如果该服务码对应的权限为禁止,则禁止该受控端获取所述服务;如果所述受控端请求访问系统资源或后台数据,则将该待访问的系统资源或后台数据的权限值与该受控端的权限值相比较,如果受控端权限值高于或等于待访问的系统资源或后台数据的权限值,则允许该受控端访问所述系统资源或后台数据;反之,则禁止该受控端访问所述系统资源或后台数据。
9.根据权利要求8所述的分布式系统中的双向安全审计方法,其特征在于,所述可访问服务列表为一字符串,字符串中每个比特对应一个服务,该比特的值表示该受控端允许或禁止使用该服务。
10.根据权利要求1至9中任意一项所述的分布式系统中的双向安全审计方法,其特征在于,对于预设范围内的高安全等级的执行操作,保存审计日志;所述审计日志至少包含以下之一操作时间、数据源、安全等级和访问结果。
11.一种分布式系统中的双向安全审计装置,其特征在于,所述分布式系统中每个受控端包含一身份认证模块,该身份认证模块中存储该受控端的数字证书、角色信息和角色对应的权限信息,该装置包含验证模块,用于对所述受控端数字证书进行验证,在验证通过后,允许该客户端登录所述分布式系统;权限审计模块,用于在受控端每次执行操作时,参照该受控端当前的角色所对应的权限信息对其操作信息进行审计,如果该权限信息中包含所述操作的权限,则允许该受控端执行所述操作,反之则禁止该受控端执行所述操作;所述受控端至少包含接入所述分布式系统的客户端和所述分布式系统中的服务器。
12.根据权利要求11所述的分布式系统中的双向安全审计装置,其特征在于,还包含 身份审计模块,用于在所述受控端每次执行操作时,对所述受控端数字证书进行验证,在验证通过后,指示所述权限审计模块对操作信息进行审计。
13.根据权利要求12所述的分布式系统中的双向安全审计装置,其特征在于,对于客户端,所述身份审计模块还对使用该客户端的用户的密钥进行验证。
14.根据权利要求12所述的分布式系统中的双向安全审计装置,其特征在于,如果所述受控端对应至少两个角色,则该受控端的身份认证模块中对应包含各角色的角色信息和各角色对应的权限信息;所述受控端在登录所述分布式系统时,选择当前使用的角色。
15.根据权利要求12所述的分布式系统中的双向安全审计装置,其特征在于,所述身份认证模块为一外接模块,所述权限审计模块和所述身份审计模块从该外接的身份认证模块获取受控端的数字证书和当前角色所对应的权限信息,如果所述受控端与所述外接的身份认证模块断开连接,则所述数字证书验证或所述操作信息审计失败。
16.根据权利要求12所述的分布式系统中的双向安全审计装置,其特征在于,所述受控端执行的操作至少包含以下之一获取服务、访问系统资源、访问后台数据;所述分布式系统中各类系统资源和后台数据分别对应一权限值,所述分布式系统中的各服务分别对应一服务码;所述身份认证模块存储的权限信息包括一可访问服务列表和一权限值;所述权限审计模块对操作信息进行审计的方式为如果所述受控端请求获取服务,则读取其请求中的服务码及其身份认证模块中对应当前角色的可访问服务列表,如果该服务码在该列表中对应的权限为允许,则允许该受控端获取所述服务;反之如果该服务码对应的权限为禁止,则禁止该受控端获取所述服务;如果所述受控端请求访问系统资源或后台数据,则将该待访问的系统资源或后台数据的权限值与该受控端的权限值相比较,如果受控端权限值高于或等于待访问的系统资源或后台数据的权限值,则允许该受控端访问所述系统资源或后台数据;反之,则禁止该受控端访问所述系统资源或后台数据。
17.根据权利要求16所述的分布式系统中的双向安全审计装置,其特征在于,所述可访问服务列表为一字符串,字符串中每个比特对应一个服务,该比特的值表示该受控端允许或禁止使用该服务。
18.根据权利要求11至17中任意一项所述的分布式系统中的双向安全审计装置,其特征在于,还包含审计日志模块,对于预设范围内的高安全等级的执行操作,保存审计日志; 所述审计日志至少包含以下之一操作时间、数据源、安全等级和访问结果。
全文摘要
本发明公开了一种分布式系统中的双向安全审计方法及装置,在分布式系统中受控端(至少包括接入分布式系统的客户端和分布式系统中的服务器)通过身份认证,登录分布式系统后,每次执行操作时,参照该受控端当前的角色所对应的权限信息对其操作信息进行审计,如果该权限信息中包含所述操作的权限,则允许该受控端执行所述操作,反之则禁止该受控端执行所述操作;从而确保分布式系统中用户、应用程序、服务器及系统应用场景中的各种合法角色在登录系统之后的操作中的身份和权限合法有效,最大程度保障系统安全。
文档编号H04L9/32GK102571873SQ201010619289
公开日2012年7月11日 申请日期2010年12月31日 优先权日2010年12月31日
发明者梁俊, 钱靖 申请人:上海可鲁系统软件有限公司
再多了解一些
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1