网络技术是一把“双刃剑”。网络的精妙在于互联,网络的问题也在于互联。信息网络国际化、社会化、开放化和个人化的特点,给人们提供“信息共享”,带来了工作的高效率和生活的高质量,同时,也投下了不安全的阴影。网络技术带来的负面影响值得我们警惕和重视,但也不能因噎废食。世界上一切事物正是在斗争中发展的。依靠人类智慧建立起来网络,它所带来的网络风险,也一定可以依靠人类智慧化解风险,趋利避害解决网络安全问题。
现在许多企业、公司都组建了自己的企业局域网。尽管企业局域网与Internet之间有防火墙。可以比较好的防患外部的侵害,但仅仅这样还不够,因为企业局域网内有企业的特殊要求,例如电子文件的保密等,因此企业局域网中对数据的传输进行加密传输、加密存储和建立与企业结构相适应的信息安全系统是非常重要的。本文以局域网中一个安全的办公系统为背景,探讨加密技术在局域网中的应用。
一、系统设计
首先系统将用户分为四种类型,即企业领导、系统管理人员、中层部门办公室人员和普通职工。这些用户都处于系统的客户端,当然这些用户的权限并不一样,但客户端的基本功能却大致相同,如完成编辑文档,对机密文件进行数据签名、加密传输,具有接收和发送功能,对接收的加密文件具有解密功能。
文件管理中心是系统的服务器端,服务器端除了客户端具有的功能外,还设有数据库,存储用户信息,归档文档等信息。可以根据群组和用户分配对每个模块的访问权限。系统根据用户注册的名字自动的区分所在单位及权限级别;不同级别的用户能查到不同级别的信息:未授权的用户不能与么统进行交互操作;每个用户只能看到与其相关的信息。其数数据库体系结构如图1所示。
在企业内部网中,有很多文件都需要加密,例如财务数据、人事提交、领导批示、秘密表决等。以秘密表决为例来介绍文件的加密流程。例如企业领导需要对某一个问题进行表决后做出最后决定,但是参加表决的人不希望被人知道表决的结果。所以对结果要在网上加密传输,由于本系统的客户端与客户端不能直接传输。即企业领导和要表决的人之间不能直接通信,必须通过服务器中转。首先,企业领导向文件管理中心发一加密公文,表明表决内容、表决人和对应每个表决人的表决编号。文件管理中心对该文件解密阅读后,向每个表决人加密表决内容和表决编号。表决人收到该加密文件后。先对文件解密,然后将表决结果和表决编号加密送到文件管理中心,文件管理中心收到该文件后,文件管理中心收到该文件后,加密发送到企业领导。对文件批示“已提交”的信息。并对该文件的提交者和企业领导设置可阅览的权限,提交者可根据自己的编号查看提交结果,防止文件管理中心更改表决结果,企业领导可以根据编号查证提交者的表决结果是否与文件管理中心提交的表决结果一致。这样就防止了中转机构作弊的行为。
系统的加密,解密发送模块的实现采用类似PGP密钥系统的实现技术,即RSA算法与传统加密算法相结合的方法。因为RSA算法计算置极大在速度上不适合加密大量数据,所以在加密大信息量时,不是采用RSA。而是采用了一种叫IDEA的传统加密的传输加密算法。它的主要缺点就是密钥的传递渠道解决不了安全性问题,不适合网络环境邮件加密需要。IDEA的加密、解密速度比RSA快得多,所以在实际上是以一个随机生成密钥(注:每次加密均不同)采用IDEA算法对明文加密,然后用RSA算法对该密钥加密。这样收件人同样是用RAS解密出这个随机密钥,再用IDEA解密邮件本身。这样的链式加密就做到了既有RSA体系的保密性,又有IDEA算法的快捷性;既保证了保密性,又保证了加密的速度。
二、系统的传输实现
本系统网络中的信息传输是一个GS模型的系统。服务器端与客户端之间的传输是通过socket传输。Socket是两个程序之间进行双向数据传输的网络通讯端点,由一个地址和一个端口号来标识。每个服务程序在提供服务时都要在一个指定的端口进行,而想使用该服务的客户机则必须连接该端口。
在C/S方式下,系统传输的模式如图2所示。
服务器端和客户端的工作步骤如下:
服务器端:
1、打开一通信通道并告知本地主机,它愿意在某一公认地址端口上(周知端口,如http为80)接受客户请求。
2、等待客户请求到达该端口。
3、接收到重复服务请求。处理该请求并发送应答信号。接收并发服务请求,要激活一新进程来处理这个客户请求。新进程处理此客户请求,并不需要对其他请求做出应答。
服务完成后,关闭此新进程与客户的通信链路,并终止。
4、返回第二步,等待另外的客户请求。
5、关闭服务器。
客户端:
1、打开一通信通道,并连接到服务器所在主机的特定端口。
2、向服务器发出服务请求报文,等待并接收应答;继续提出请求。
3、请求结束后关闭通信通道并终止。
从上面的描述过程可知:
1、客户与服务器进程的作用是非对称的。因此编码不同。
2、服务进程一般是先于客户请求启动的。只要系统运行,该进程一直存在,直到正常终止或者强迫终止。
客户端与服务器之间的通信采用socket传输,传输的基本框架如图3所示。
应用的执行过程如下:
服务器程序首先进行初始化操作:调用函数socket()创建套接字,函数bind()将套接字与服务器的知名地址绑定,函数listen()将此套接宇转换成侦听套接字。然后调用acccpt0等待客户机的连接请求。客户机程序相对要简单。调用函数socket()创建一个套接字,一般不需要绑定。调用函数connecL()建立与服务器的连接,连接建立后,双方通过write()、read()函数读写套接字实现数据通信。通信结束后,双方调用close()函数断开TCP连接,释放系统资源。
小知识之办公自动化系统
办公自动化系统是利用技术的手段提高办公的效率,进而实现办公自动化处理的系统。它采用Internet/Intranet技术,基于工作流的概念,使企业内部人员方便快捷地共享信息,高效地协同工作;改变过去复杂、低效的手工办公方式,实现迅速、全方位的信息采集、信息处理,为企业的管理和决策提供科学的依据,深受众多企业的青睐。