摘要:随着计算机网络技术在人们的生活中应用的越来越广泛。尤其当这种应用还逐渐包括了资金的支付、商务信息的传送等等方面的时候,这些网络上传递着的信息就很容易被不法分子乘机利用,为自己谋取个人不正当的利益。基于这种情况,人们研发了数字证书技术,以此来为网络之中传输的数据保驾护航。数字证书技术的应用能够让用户在网络中传输的数据得到有效的保护,使得不法分子难以通过网络将数据进行截取并修改。本文将基于C#语言,利用SqlServer技术,介绍数字证书的应用系统,即数字证书管理系统,为阐述数字证书在网络安全中的应用进行一个具体实现。
关键词:数字证书;网络安全;数字证书管理系统
1引言
网络技术的迅猛发展,使得我们大踏步地进入了一个前所未有的信息化时代。在信息化的时代背景下,人与人之间依靠网络这一新型媒介进行信息传递的数量、频率和速度都有了超大规模的提高。随着网络逐步成为人们传递和获取信息的主流媒介,信息在网络上进行传递时的安全与否就成了人们日渐关心的话题。
随着信息化建设的展开,计算机网络已经成为了各行各业不可或缺的效率助手,也为现在的交流、沟通、资金的流动提供了更快捷方便的模式。但是,网络却经常是不安全的,在网络中传输的数据往往存在着被截获、修改的可能。而被截获修改后的数据一旦被有心之人拿去加以利用,则可能产生不可预料的后果。而本文就是基于数字证书实现一个数字证书的应用管理系统,来体现数字证书应用到网络安全中的作用。
2数字证书的概念
Hash算法具备“通过私钥对一段数据进行加密后,只有对应的公钥能够进行解密,通过公钥进行加密后,只有配对的私钥才能解密”的特性,而数字签名就是基于的这个原理,来对待传递的信息摘要进行加密。
用户A能够在自己的电脑上通过自己的私钥对要传输的数据进行加密,而接收到数据的用户B可以利用用户A的公钥对A发送的数据进行签名校验,从而判断该段数据是否是用户A发送的,并且该段数据没有被经过修改。
3系统设计
3.1 系统的设计思想
管理性软件都是通过计算机将人从繁琐、重复、枯燥的工作、生活中解脱出来,便于人们处理更多的其他有意义的事情。所以,其管理类软件需要遵循以下几点特性:
完整性:即设计的程序其在功能上是完善的,不同的模块之间彼此是独立的但是同时也是相互关联的。其程序最终能实现最后的管理类工作。
简单性:一个优秀的系统必须具备操作简单,容易上手。所以,程序的设计应该尽量遵循主流的软件的设计方式,能够让用户即使第一次使用也能够快速熟悉系统。
稳定性:开发的系统应该运行稳定,不会因为特殊的情况就导致程序崩溃,即使出现异常,也应该能够将错误的异常暴露出来。
3.2 系统结构设计
本系统在程序的实现上,采用的是将界面、应用逻辑、数据库处理、数据库连接操作等进行相关的封装,这种封装能够在开发中将相关的功能集中在同样的类模块中,从而实现更方便的处理。
程序主要包括表现层、业务层、数据层。其中,表现层主要是接收用户的操作处理,获取用户操作的动作或输入结果。而业务层则是对用户的操作或输入的数据进行逻辑处理,处理完后,将相关数据更新到数据库中。最终,数据库将对应的结果反馈到界面。
3.3系统详细设计
系统在设计上主要分为了证书申请、申请管理、证书管理、证书应用模块。模块在业务层都是彼此独立的。但是,在数据层都通过相同的处理接口进行相应的处理。而界面则根据不同的功能进行不同的显示。下面将对每个模块进行详细介绍。
3.3.1 证书申请
证书申请就是申请的用户通过填写相关的个人信息,最终提交到数据库后台,最终用于证书生成的输入信息。
证书申请主要是用户输入相关的申请信息,其申请的信息如果格式正确,就會被写入数据库中,为证书生成提供数据。
3.3.2 申请管理
证书申请管理是对用户申请的证书进行生成或拒绝的管理,其具体处理逻辑如图。
证书生成时,首先通过读取数据库中的申请信息,然后调用C#中makecert.exe进程,实现证书的生成。当证书生成后,通过查询到证书存储区域查询出相关的证书信息保存到X509Store对象中,然后通过Export将证书导出为.cert文件。最终,将导出的结果保存到数据库中,用于证书的管理和应用。
3.4.3证书管理
证书的管理主要是实现对数据库中证书的激活以及废除。其主要操作是通过更新数据库证书的状态,实现对数据库中证书的废除和激活。对证书的管理只是将该证书的状态是否可用更新到数据库中。
3.4.4证书应用
对于生成的证书,要应用到实际中,但是该系统只是模拟了证书的应用,实现了对利用证书实现了对数据的加密,然后利用证书实现了对数据的解密校验。
4结论
论文系统介绍了数字证书在网络安全中的应用。其主要包括如下:
首先,从系统原理着手。分析了数字证书系统的基本原理和背景。从而从设计的角度,采用模块化的思想,对系统前期进行了细致的分析和设计。
然后,根据前期已经进行的设计和分析,采用了C#开发语言,其代码实现上采用分层的处理逻辑,利用C#相应的控件,并结合Windows API的编程,最终实现了系统的具体功能。
与此同时,在系统的设计上尽量多地去考虑了用户操作,使得系统功能更加明确,用户操作更加简便。在实现上,对每一步操作进行返回值的判断与处理,让系统能够尽早发现错误而对用户进行提示,防止出现无法返回的错误。
限制于自身的开发经验以及完成周期,整个系统肯定还是存在着一些需要打磨改进的方面。除去界面以及一些处理逻辑的优化,在系统的可扩展性和运行效率上还有可以雕琢的地方。
参考文献:
[1]施昊华,张朝辉编著.UML面向对象结构设计与应用[M].国防工业出版社,2013.
[2](美)NadirGulzar著,陈晓燕,丁炎炎译.实用J2EE应用程序体系结构[M].清华大学出版社,2013.
[3]邝孔武,王晓敏编著.信息系统分析与设计[M].清华大学出版社,2012.
[4](美)JamesRumbaugh等著,姚淑珍,唐发根等译.UML参考手册[M].机械工业出版社,2011.
[5]杨珏等编著.JSP网络开发技术[M].人民邮电出版社,2011.
作者简介:张圣龙(1996.08.24)男,汉,湖北荆州,武汉东湖学院计算机应用技术。