欢迎来到学术参考网

简析一种网络应用系统信息安全模型的研究和应

发布时间:2015-07-02 14:37
论文关键词:安全技术和机制;身份认证;访问控制;数据加密
  论文摘要:针对一般网络应用系统的特征,融合了数据加密、身份认证和访问控制三种安全技术和机制,并充分考虑了系统安全性需求与可用性、成本之间的平衡,提出了一个以信息资源传输和存储安全保护,身份认证安全管理和资源访问安全控制为基本要素的网络应用系统信息安全模型,为加强中小型企业网络应用系统安全性提供了一个比较简单可行的方案。

  0引言
由于网络环境的特殊性,每一个投人使用的网络应用系统都不可避免地面临安全的威胁,因此,必须采取相应的安全措施。国内在信息安全方面已做了很多相关研究,但大多是单独考虑资源保护或身份认证等某一方面,而对如何构建一个相对完善且通用的网络应用系统信息安全解决方案研究不多。本文在iso提出的安全服务框架下,融合了数据加密、身份认证和访问控制三种安全技术和机制,并充分考虑了系统安全性需求与可用性、成本等特性之间的平衡,提出了一个以信息资源传输和存储安全保护、身份认证安全管理和资源访问安全控制为基本要素的网络应用系统信息安全模型,为加强中小型企业网络应用系统安全性提供了一个比较简单可行的方案。
  1网络应用系统信息安全模型设计
  1.1信息安全模型总体设想
本文提出的网络应用系统信息安全模型主要基于三个要素:信息资源传输和存储安全保护,身份认证安全管理以及用户对资源访问的安全控制。整个信息安全模型如图1所示。模型利用过滤器来区分敏感数据与非敏感数据,对于非敏感数据直接以明文形式进人信息资源层处理,而对敏感数据则采用加密传输通道进行传输,且需要经过身份认证层与访问控制层的控制后才能进人信息资源层。这样的设计在保证了信息传输和存储较高的安全性的同时,减少了身份认证层与访问控制层的系统开销,大大提高了系统的运行效率。而在信息资源层,则是通过备份机制、事务日志和使用常用加密算法对数据库中数据进行处理,来保障信息传输和存储的安全。

  1.2身份认证层的设计
身份认证层主要包括两部分:用户身份认证和用户注册信息管理,采用了基于改进的挑战/应答式动态口令认证机制。
目前使用比较普遍的是挑战/应答式动态口令认证机制,每次认证时服务器端都给客户端发送一个不同的“挑战”字串,客户端收到这个字串后,作出相应的”应答”。但是,标准的挑战/应答动态口令认证机制具有攻击者截获随机数从而假冒服务器和用户,以及口令以明文形式存放在数据库中易受攻击两个缺点。在本模型采用的改进的挑战/应答式动态口令认证机制中,通过1.4节中论述的敏感数据加密通道对随机数进行加密传输解决了上述第一个问题;通过在客户端将用户口令经mds算法散列运算并保存在服务器端数据库解决了上述第二个问题,使得服务器在认证时只需要比对客户端处理后传来的加密字符串即可。方案的具体流程如下:
1)服务器端口令的保存当用户在服务器端录人注册信息时,将用户的密码进行k次mds散列运算放在数据库中。
2)用户请求登录服务器端开始执行口令验证:当用户请求登录服务器时,web服务器在送出登录页面的同时产生一个随机数并将其通过敏感数据加密传输通道发给客户端。
3)客户端mds口令的生成客户端首先重复调用与服务器端同样的mds运算k次,得到与保存在服务器端数据库中的口令一致的消息摘要。然后,将从服务器传来的随机数与该口令相加后再调用客户端的mds散列运算函数,将结果(mds口令)通过敏感数据加密传输通道传送给服务器。
4)服务器端对mds口令的验证服务器端收到客户端传来的用户名和mds口令后,通过查询数据库,将已存储的经过k次mds散列运算的口令与随机数相加后同样进行mds散列运算,并比较两个结果是否相同,如相同则通过验证,否则拒绝请求。整个用户口令的生成和验证过程如图2所示。

  1.3基于rbac的访问控制层的设计
访问控制层主要包括两部分:权限验证与授权和资源限制访问,采用了基于角色的访问控制机制。在rbac中引人角色的概念主要是为了分离用户和访间权限的直接联系,根据组织中不同岗位及其职能,一个角色可以拥有多项权限,可以被赋予多个用户;而一个权限也可以分配给多个角色。在这里,约束机制对角色和权限分配来说非常重要,本模型设计的约束机制主要包括以下几方面:一是限制一个角色可以支持的最大用户容量。如超级管理员这个角色对于应用系统非常重要,只允许授权给一个用户,该角色的用户容量就是1。二是设置互斥角色。即不允许将互相排斥的角色授权给同一个用户。如客户类的角色和管理员类的角色是互斥的。三是设置互斥功能权限。即不允许将互相排斥的功能权限授权给同一个角色。如客户类角色查看自己银行账户余额信息的权限与修改自己账户余额的权限就是互斥的。
数据库结构设计是实现rbac的重要环节,良好的数据库结构设计本身就可以表述rbac的要求。具体设计如下:
1)用户信息表(user_info)保存用户基本信息。其字段有用户id(userid)、用户名称(username)、密码(passw)、用户类型(kind)。定义表中的kind数据项与role表中kind数据项具有相同的形式。将用户进行分类后,当分配给用户角色时可以指定用户只能被分派到与其kind属性相同的角色,这样就可以实现角色的互斥约束。
2)角色信息表(role)、保存各个等级的角色定义信息。其字段有角色id(role_id)、角色名称(rolename)、角色种类(kind)和角色描述(role_desc)okind数据项代表指定角色集合中的类别。
3)用户/角色关系信息表(user_role)保存用户和角色的对应关系,其字段有用户id和角色id。当向user_role表中添加数据即给用户分配角色时,要求user_info表中要分配角色的用户数据元组中的kind数据项与role表中相应角色的元组kind数据项相同,以实现一定尺度上的角色互斥,避免用户被赋予两个不能同时拥有的角色类型。
4)权限信息表(permission)保存系统中规定的对系统信息资源所有操作权限集合。其字段有权限id(per_id),操作许可(per),资源id(pro_id)和权限描述(perdesc)。
5)角色/权限信息表(role_per)保存各个角色应拥有权限的集合。其字段有角色id和权限id。
6)系统信息资源秘密级别表(secretlevel)保存规定的系统信息资源的秘密级别。其字段有资源id,密级id(secrlev_id)和密级信息描述(secr_desc)。在客户端和服务器端传输数据和存储的过程中,通过查询该表可以判断哪些信息资源为敏感数据,从而决定对其实施相应的安全技术和机制。
7)角色继承关系表(role_heir)存放表述各种角色之间继承关系的信息。其字段有角色id,被继承角色id(h_role_id)。角色继承关系可以是一对一,一对多或多对多的,通过遍历整个角色继承关系表,就可以知道所有的角色继承关系。
8)权限互斤表(mutexper)保存表述角色对应权限互斥关系的信息,其字段有权限id和互斥权限id。
  1.4敏感数据加密传输通道的设计
设计敏感数据加密传输通道的目的是保障敏感信息在传输过程中的保密性与完整性。针对中小型企业网络应用系统的特点,在充分对比各种数据加密传输解决方案的基础上,从成本和效果两方面出发,我们选择3des加密算法对敏感数据进行加密。同时又结合了rsa算法对密钥进行传输,从而解决了对称加密算法缺乏非对称加密算法}/}/公钥的安全性这个问题。具体工作流程如下:
1)服务器端由rsa加密算法生成公钥kspub和私钥kspriv;
2)服务器端将公钥kspub传送给客户端;
3)客户端接收公钥kspub,然后由3des加密算法生成对称密钥ksym,用kspub加密ksym;
4)客户端将加密后的ksym传送给服务器端;
5)服务器端用kspriv解密得到ksym;
6)敏感数据加密传输通道建立成功,服务器端和客户端以ksym作为密钥对敏感数据加/解密并传输。
  1.5安全审计部分的设计
本模型中的安全审计记录内容包括三个方面:一是用户信息,包括用户名、用户ip地址等;二是用户行为信息,包括用户访问系统敏感资源的内容、访问系统资源的方式等;三是时间信息,包括用户登录和注销的时间、特定行为发生的时间等。值得注意的是,安全审计跟踪不仅要记录一般用户的行为,同时也要记录系统管理员的行为。
  2结束语
  我们采用sis模式,在jzee技术平台上实现了本文设计的网络应用系统信息安全模型,在三种角色类型、九种不同权限的假设前提下,模拟了一个网上银行公共服务系统的业务流程,并对其中的主要安全防线的效果进行了如字典攻击等安全性测试,取得了较满意的结果。

上一篇:气象办公网络设计与维护

下一篇:浅谈高校无线局域网络应用探讨