首页 > 信息安全 > 正文

工作流管理系统中的信息安全研究

2013-06-14 14:02:38  来源:万方数据

摘要:随着计算机技术的迅猛发展,基于预定流程的工作流管理系统应运而生。利用该系统来管理按照预定流程实现的业务过程,可大大简化和优化运行流程,提高运转效率。
关键词: 工作流管理 信息安全

    随着计算机技术的迅猛发展,基于预定流程的工作流管理系统应运而生。利用该系统来管理按照预定流程实现的业务过程,可大大简化和优化运行流程,提高运转效率,但同时也引入了一个急需解决的问题——安全问题。同时,作为管理系统,其可管理性也很重要。因此,如何构建一个安全的、便于管理的系统是工作流管理系统建设的目标和追求。


    根据工作流管理系统的特点,本文重点分析了其主要的安全问题,并在此基础上提出了一个新的安全模型,即利用数字签名技术和基于角色的访问控制(RBAC)来构造系统安全,使系统既具有数字签名的安全性也具有RBAC的可管理性。在实现上,利用该模型成功开发了一个基于J2EE,Oracle9i,Bes6.5的B/S模式工作流管理系统。


    1 工作流管理系统主要安全问题分析


    工作流安全白皮书指出,工作流的基本安全问题包括认证、授权、访问控制、审计、数据保密性、数据完整性、防否认、安全管理等。工作流管理系统作为交互系统,其安全隐患多出现于系统与人的交互环节。结合工作流管理系统的特殊性,其安全问题要体现在访问控制、保持数据的完整性以及防止抵赖等方面。


    1.1 访问控制


    系统交互是软件系统最主要的安全隐患,主要表现在用户对系统资源的非法访问和越权访问。访问控制的性能将决定系统的安全性能。对工作流管理系统,访问控制既要保证不让用户执行未授权的任务,又要保证授权用户顺利执行已经授权的任务。同时,方便合理的安全管理也是系统安全性能的一个重要方面。因此,采用合适的访问控制策对系统来说至关重要,适合的访问控制方式不仅可以使系统更加安全,也使系统的管理与维护都更加方便。


    1.2 传送信息的正确性


    在保证授权用户顺利访问授权资源的同时,确保交互数据的正确性也很重要。由于访问控制不涉及交互信息的正确性验证问题,交互数据有被篡改或者传送不完整的可能。因此,只有对交互信息进行正确性验证才能充分保证系统的安全。信息的正确性验证通常是通过发送方和接受方的信息进行比较来判断的,如果二者相同,则传送的信息正确,否则不正确。


    1.3 防止抵赖


    工作流管理系统主要包括工作流的流转及其管理,需要相关责任人进行确认和责任的承担。因此,防止抵赖也是工作流管理系统安全的一个重要方面。防止抵赖包括两个方面,一个是从技术上来保证这个操作确实是某人所为,没有被冒名顶替操作的可能;二是需要对系统重要操作信息进行记录,使其更具有说服力。通过在技术上的保证来说明只有自己才有操作的可能。同时,由于任何系统的安全保护措施都不是最完美不缺的,总是有人想方设法地打破控制。因此,对重要操作信息的记录(即审计)也相当重要。


    2 安全模型


    2.1 基于角色的访问控制


    访问控制是当今信息安全策略的主流,其目的是为了限制主体对客体的访问权限,使系统在合法范围内使用。访问控制包括自主访问控制(DAC)、强制访问控制(MAC)、基于任务的访问控制(TBAC)和基于角色的访问控制(RBAC)。其中,RBAC最为灵活、有效,它正在逐步成为访问控制方式的主流。


    RBAC模型主要包括由美国国家标准与技术局(NIST)提出的RBAC模型以及George Mason大学的提出的RBAC96模型,它是基于角色访问控制模型的权威参考文档,NIST已经将其作为制作规范的基础。图1为RBAC96基本思想示意图,其核心思想是在资源权限和用户之间增加一个中介“角色”,把对资源访问的权限赋予一定的角色,再把角色赋予相应的用户,当用户登录系统时,系统通过用户角色来判断其是否可以访问系统资源的方式来实现访问控制。RBAC最大的优点是兼顾安全性和可管理性。

\

    图1 RBAC96模型核心思想示意


[page]    2.2 数宇签名


    数字签名技术是指附加在数据单元上的一些数据或对数据单元所作的密码变换技术,它具有3个主要功能:一是信息接收方能够证实信息发送方的身份;二是信息发送方事后不能否认发送的信息;三是接收方或非法者不能伪造篡改信息。数字签名常通过RSA加密算法结合消息摘要(MD)的密码技术来进行,目前广泛使用的是MD5消息摘要算法MD。


    数字签名主要包括签名和签名验证两部分,签名主要是MD5和私匙Kua对发送信息M进行加密,而签名验证主要是利用公钥Kpa对发送方的数字签名信息解密并验证传送信息的完整性。数字签名的安全性已获得国家相关法律的认可,可以很好地防止抵赖。数字签名数据流如图2所示。

\

    图2 数字签名数据流动示意图


    2.3 基于数字签名和RBAC的安全模型


    基于工作流管理系统的安全性与可管理性需求,可利用数字签名技术和RBAC来构造一个安全的便于管理的工作流管理系统。需要将系统的任务按照需要抽象成不同的角色,并赋予角色相应权限,然后再把角色授权给不同用户。使用户具有相应的管理权限。这样,系统就可利用角色进行管理,同时结合数字签名技术可提高系统安全性,保障传送数据的完整性。因此,系统兼顾安全性与便于管理性以及良好的不可抵赖性。为此,本文提出了一个新的安全模型,如图3所示。

\

    图3 安全控制模型


    安全控制模型通过身份验证。签名验证、以及角色权限验证来实现系统的安全访问控制,保证系统的安全,同时也兼顾RBAC的灵活性和易管理性。模型由应用系统、数字验证服务器、RBAC服务器、工作流管理服务器等组成。它利用系统前台与控制流管理系统之间增加数字签名和基于角色的访问控制,然后由工作流管理系统控制应用系统后台程序。用户通过操作应用系统客户端将其操作意图通知系统,系统将操作意图信息进行数字签名后形成密文发送到数字验证服务器进行验证,对于通过信息验证的用户获得角色,然后根据用户角色权限验证用户操作的合法性,合法者操作成功并对成功操作的敏感部分信息进行审计,以备将来追究其责任。这样用户就可以安全方便地操作应用系统了,系统安全访问控制流程图如图4所示。

\

    图4 安全访问控制流程图


[page]    3 J2EE中的应用实现


    J2EE采用基于容器的安全机制,将系统组件开发与系统安全设计相分离,安全问题由组件组装人员和部署者和系统管理员来完成。结合RBAC和容器的申明性安全性策略。用它来管理J2EE容器中的系统组件资源,从系统组件访问控制的角度来实现系统安全。J2EE模式下安全模型的访问控制流程如图5所示。由于J2EE容器采用了一次登陆(SSO)机制,避免了用户访问资源时重复输入用户名,密码。

\

    图5 基于J2EE模式的模型访问控制流程


    在实现应用上,利用该模型成功开发了一套基于J2EE,Oracle9i,Bes6.5的B/S模式的工作流管理系统。目前,该系统在一家石油企业应用良好。系统在利用图5所示流程的同时,为了更好地实现系统的安全性与可管理性,还采用了如下的安全措施:


    (1)利用数字签名和“用户名/密码”来共同完成用户身份的验证,避免因“用户名/密码”被盗而带来的安全问题。


    (2)在Oracle数据库中创建用于保存RBAC信息的数据表,并通过数据库触发器保持数据库表数据与DBMS数据的同步性,这样就可以利用DBMS的RBAC策略来保护Oracle数据库资源。


    (3)结合数据表的设计,形成基于用户的动态菜单,给用户一个定制化的操作菜单,便于用户对系统的安全操作。


    4 结束语


    本文在分析工作流管理系统安全问题的基础上,根据工作流管理系统的特点和系统安全性能的要求,提出了新的基于角色的访问控制与数字签名的有机结合来实现系统的安全管理模型。同时结合数字签名技术来安全方便地实现工作管理系统的安全管理,使系统具有较高的安全性和可管理性。在实践上,利用这种安全模型成功开发一套基于J2EE的工作流管理系统。目前该系统应用良好。


第三十五届CIO班招生
国际CIO认证培训
首席数据官(CDO)认证培训
责编:fanwei

免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。