APP下载

实验室物资管理安全子系统的设计与实现

2011-03-23唐毅鋆

漳州职业技术学院学报 2011年4期
关键词:数字签名访问控制文件夹

唐毅鋆



实验室物资管理安全子系统的设计与实现

唐毅鋆

(漳州职业技术学院 计算机工程系,福建 漳州 363000)

针对目前信息安全所存在的问题以及信息安全策略,结合ASP.NET开发的Web系统可能存在的漏洞解决方案,分别研究了身份认证、信息加密、数据输入输出安全以及数据库安全等方面的基础理论知识,设计了一个安全子系统。

信息安全策略;身份认证;信息加密

1 信息系统安全概述

1.1 信息系统安全实质

信息安全的实质就是要保护信息系统或信息网络中的信息资源免受各种类型的威胁、干扰和破坏,即保证信息的安全性。因此,信息安全又可以从以下几个方面来进行阐述[1]。

(1)保密性:信息系统或信息网络中的信息资源不会泄露给非授权的组织、个人以及可供其利用的事物。

(2)完整性:信息系统或信息网络中的信息资源不会被随意的删除或修改,导致信息丢失或错误。

(3)有效性:信息系统或信息网络中的信息资源永不失效,随时都能被合法的用户所使用。

1.2 信息系统安全策略

安全技术是信息系统能否安全可靠、稳定运行的保障,该技术的性能是信息系统生死存亡的关键,因此信息系统的安全技术可以归纳为以下两个方面[2]。

(1)计算机自身的安全策略及技术

计算机系统上硬件资源及软件资源的分配与调用都是由操作系统来进行管理控制的,所以保证信息系统安全的首要任务便是选择一个安全的操作系统。当今比较流行的操作系统有四种:Windows、NetWare、Unix、Linux。

(2)网络安全策略及技术

信息系统是运行在一个开放式的互联网环境下,很容易受到攻击,占用其网络资源或者被怀有恶意的攻击者截获、修改网络传输过程中的信息,从而非法进入主机,窃取系统内重要信息。针对以上出现的网络威胁,可以采取密码、安全协议、防火墙及入侵检测等几种技术进行防疫。

2 安全子系统基础理论

2.1 身份认证

身份认证是系统安全的第一道关卡。当用户请求访问系统资源之前,先由身份认证系统对其进行身份鉴定,才能经过访问控制器对用户身份和权限进行判断,并决定该用户所能够访问的资源。目前,常用的身份认证技术有静态口令和数字签名。

(1)静态口令认证

静态口令认证即是用户名/密码的认证方式。用户自己设定用户密码,并且该密码只有用户自己知道。但是,静态口令认证的安全性很低,没有办法保障复杂网络环境下的系统安全。

(2)数字签名

数字签名其实就是利用加密算法对客户所要发送的信息进行加密,然后再由服务器短通过解密算法来验证信息的完整性以及用户的正确性。

实现数字签名的算法有两种:对称加密算法和非对称加密算法。目前普遍使用非对称加密算法。常见的如: RSA签名[3]。

RSA数字签名的实现过程如下。

①对于给定任意长度的消息首先使用MD5或SHA-1算法产生一个杂凑值A,该杂凑值也称为消息摘要,是用于检验消息完整性的重要依据;

②发送者使用私钥对杂凑值进行加密,完成“签名”,将签名及消息发送给接收者;

③接收者使用发送者公开的密钥对签名进行解密,获得杂凑值B;

④接收者使用MD5或SHA-1算法对接收到的消息进行运算,获得杂凑值C;

⑤将杂凑值B与杂凑值C进行匹配,如果两者相同,则认为消息没有被改变,并且签名合法有效。

2.2 DES加密

DES是一种通用的对称加密算法,该算法的工作方式是通过密钥对用户输入的64位字符进行加密,生成密文,需要的时候再使用相同的密钥将密文还原回来。DES的加密过程如图1所示[4]。

图1 DES加密过程图

2.3 访问控制

访问控制是指将用户按照其身份及所在的分组的定义用作为是否对网络中某项资源进行访问或操作的判断依据。主要有基于对象的访问控制、基于任务的访问控制及基于角色的访问控制三种类型。其中,基于角色的访问控制是系统开发过程中最常用的一种访问控制模型。

基于角色的访问控制在实现的过程中,首先要将资源的访问权限分配给某一种或几种特定角色,再让用户扮演访问许可中的一种或几种角色,便可实现用户对资源的访问。它可以保证每个角色的用户,只能行使其角色所规定的职能,达到身份与职能统一的效果。

3 安全子系统的设计与实现

3.1 安全的网络体系结构

在引言的信息安全策略,曾经介绍使用防火墙技术是防止攻击的最有效解决方案。为此,选择了如图2所示的网络体系结构用于Web系统的部署。

3.2 身份认证的实现

3.2.1 静态口令认证

在身份认证的几种技术中,静态口令的认证方式是最快捷、消耗成本最低的一种认证方式。考虑到本系统的便捷性及开发成本,用户在执行身份认证的时候主要以传统的静态口令进行登录。

用户在进行用户密码匹配的时候,由于事先存放在数据库中的密码字段已经使用了该用户所有的密钥进行加密保护,所以匹配之前需获得该密钥对明文加密后的密文。密文的生成是由.NET中的DESCryptoServiceProvider类来实现的。为了保障密钥的安全,本系统将密钥存放在另外的数据库表Key中。

3.2.2 数字签名

本系统采用的是公开密钥密码算法的数字签名,所以在使用数字签名进行身份认证之前,首先必须对为系统中的属于实训室管理员、分管领导、系统管理员等角色的用户创建加密的私钥及解密的密钥。在ASP.NET中,可以使用RSA 类和RSACryptoServiceProvider 类来创建和存储公钥及密钥。

(1)用户密钥对生成

首先读取入用户信息,再调用RSACryptoServiceProvider类所提供的ToXmlString( )方法创建密钥对。

(2)私钥的存储

在生成密钥对信息后,通过ASP.NET所提供的StreamWriter对象所提供的Write( )方法将私钥的信息写入文本文件中,用户可以将该私钥保存到USB盘中或是其计算机磁盘中。需要的时候再将其取出进行签名。

(3)公钥的存储

为方便服务器读取公钥,将公钥存储在数据库表PublicKey中。

(4)身份认证

当进行身份认证的时候,用户在客户端使用私钥及哈希算法进行数字签名,服务器则使用数据库中所不保存的公钥对客户验证数字签名。身份认证流程图如图3所示。

图2 实验室物资管理系统网络结构图

图3 身份认证过程

3.3 访问控制的实现

3.3.1. 强制身份认证

为了防止攻击者通过URL路径直接访问系统后台页面,必需强制访问者先从系统首页进行身份验证。要解决这个安全问题可以采用两种方法:(1)在每个页面的Page_Load事件中进行Session[“User”]==null判断;(2)利用ASP.NET所提供的安全验证模型。本系统中采用方法二来实现。

ASP.NET提供了两种身份验证模式:Windows 安全验证模型和Form 安全验证模型,默认的是Windows 安全验证。要想强制用户从首页进行登录就得采用Form安全验证。本系统通过Form安全验证模式实现强制验证步骤如下:

(1)更改Web系统根目录下的web.config文件,将节点的mode参数值修改为“Forms”,并对节点内的子节点设置loginUrl参数值为"Default.aspx"。loginUrl参数值表示的是强制身份验证所要调用的验证页面路径。

(2)在Web系统根目录下创建一个文件夹,命名为“Web_UI”,将除Login.aspx页面外的所有页面放入该文件夹中。

(3)在Web_UI文件夹内创建一个web.config文件,在文件中添加节点,并配置节点信息:

至此,在服务器上完成匿名用户对该Web系统的访问控制配置。但是,要实现合法用户对该文件夹的访问,还需要在用户登录的时候做一些设置。这就需要使用ASP.NET所提供的FormsAuthentication对象调用方法SetAuthCookie( )为登录用户分配一个已验证的用户标识存放在Cookie,这样就可以访问Web_UI文件夹内的所有页面。

当用户需要退出时,如果是直接关闭网页,存放在Cookie中的用户身份票证不会立马消失,如果有人这时候使用已经登录过的机子打开系统页面就可以绕过身份验证。所以在系统中还必须设置一个退出按钮,并在按钮事件中调用FormsAuthentication对象的SignOut( )方法将已验证标识删除,以此来达到防止其他人绕过身份验证进入系统。

3.3.2 访问控制

访问控制的实现是在上述应用程序配置之上通过对页面文件根据访问许可在Web_UI文件夹下进行归类存放来实现的,具体实现步骤如下。

(1)在Web系统根目录下建立三个文件夹分别命名为:Admin、Leader、LabManager、Teacher。将UserList.aspx和ManagerUser.aspx页面放入Admin文件夹中,将EquipmentIn.aspx、LowerGodIn.aspx、MaterialIn.aspx、EquipmentOut.aspx、LowerGodOut.aspx、MaterialOut.aspx等页面放入LabManager文件夹中,将ApplyExamine.aspx、RepairExamine.aspx、ScrapExamine.aspx等页面放入LabManager文件夹中,将RepairCheck.aspx、ApplyCheck.aspx等页面放入Teacher文件夹中。

(2)分别在Admin、Leader、LabManager文件夹下各创建一个web.config文件。在文件中添加节点。在Admin文件夹中的web.config文件内添加节点,并配置节点信息: ;在Leader文件夹中的web.config文件内添加节点,并配置节点信息: ;在LabManager文件夹中的web.config文件内添加节点,并配置节点信息: ;在Teacher文件夹中的web.config文件内添加节点,并配置节点信息:

(3)在Web系统根目录下创建一个全局文件Global.asax,通过HttpContext对象获得已验证用户标识,再利用new GenericPrincipal( )方法将用户角色添加入已验证用户标识中。

[1] 刘微微,程景云,程海蓉.互联网时代的信息安全[J].计算机辅助工程,2001(2):54-61

[2] 朱亚殊,朱荆州.实现操作系统安全的几种策略[J].计算机与数字工程,2005(01):49-52

[3] 肖力.RSA密码系统实现数字签名[J].长春工程学院学报(自然科学版),2002(4):68-70

[4] 管莹,敬茂华.DES算法原理及实现[J].电脑编程技巧与维护,2009(4):5-7

The security subsystem Design and Implementation of Laboratory Materials Management

TANG Yi-yun

(Computer Department of Zhangzhou Institute of Technology, Fujian Zhangzhou 363000,China)

according to the current problems in information security and information security policy, combine the loophole solution that the Web system of ASP.NET development may exist, studied an identity respectively earnest, the information encrypt, data importation output safety and database safety etc. of foundation theory knowledge, designed a safe sub-system.

information safe strategy; identity respectively earnest; the information encrypt

TP393.08

A

1673-1417(2011)04-0001-05

2011-09-05

唐毅鋆(1982-),女,福建漳州人,助教,硕士。

(责任编辑:季平)

猜你喜欢

数字签名访问控制文件夹
一种跨策略域的林业资源访问控制模型设计
基于正交拉丁方理论的数字签名分组批量验证
交通运输行业数字签名系统的设计与实现分析
Fast Folders,让你的文件夹四通八达
浅析计算机安全防护中数字签名技术的应用
摸清超标源头 大文件夹这样处理
调动右键 解决文件夹管理三大难题
ONVIF的全新主张:一致性及最访问控制的Profile A
动态自适应访问控制模型
不容忽视的空文件夹