You are on page 1of 4

第 31 卷第 3 期 武  汉  工  程  大  学  学  报 Vol. 31  No .

3
        
2009 年 03 月 J .  Wuhan  Inst .  Tech. Mar.  2009

文章编号 :167422869 ( 2009) 0320074203

支持协同工作的加解密系统设计与实现
何成万 ,焦素廷 ,李  健
( 武汉工程大学计算机科学与工程学院 ,湖北 武汉 430074 )

摘  要 : 介绍了一种支持协同工作的加解密系统 . 与一般加解密系统不同 ,此系统在逻辑上将员工划分为不同


的组 . 各组的加密文件可以在组内成员间解密 ,达到了加密文件共享的目的 .
关键词 : 加密 ; 解密 ; 协同工作
中图分类号 : TP 309. 7    文献标识码 :A

0  引  言
一般的加解密工具加密的文件 , 解密时需要
解密密钥 [ 1 ] 和加密文件一起使用才能解密 . 不同
的客户使用的加密密钥是不同的 , 因此就产生了
许多不同的解密密钥 . 有时候 ,需要在一个部门或
单位共享加密文件 , 当共享的加密文件逐渐增多
图 1  加密文件的共享
时 ,解密文件的时候必须将加密文件与对应的解 Fig. 1  Encryption file sharing
密密钥一起使用来解密文件 ,这样显然很不方便 ,   此系统可以在网络环境下运行 , 地域上分散
而且容易造成混乱和信息的泄漏 . 为了方便文件 的用户可以方便使用此系统协同工作 . 系统将用
在本部门共享 ,又不会将信息泄漏给别的部门 , 需 户划分成一些组 , 组与组之间的关联体现也被系
要设计一个新型的支持协同工作的加解密系统 . 统描述 ,并将此信息存于文件中 .
这也是协同工作的加解密系统与一般加解密系统
的主要区别 . 2  支持协同工作的加解密系统实现
为了使加解密工作清晰有序的进行 , 系统的
1  支持协同工作的加解密系统介绍
各个部件之间需要协同实现有效的控制逻辑 .
在一个企业内部常常划分为几个部门 , 各个 2. 1  加解密系统中 ,员工 、
组与密钥之间的关系
部门之间需要共同合作完成一项任务 . 但是有的 表示
部门的文件是不需要公开的 . 比如财务部门的财   利用 XML ( The Extensible Markup Language) [3 ]
务信息通常只在本部门内部传递 ; 技术部门的核 文件可以非常方便表示出这三者之间的关系 . 利
心技术资料也只在一些员工之间交流 . 为了使各 用三个 XML 文件 , 将这三者关联起来 . 在用户验
个部门协同工作[ 2 ] 又不至于使信息在不适当的范 证 XML 文件中 ,存储了员工的用户名 、 密码 、 所属
围流动 ,支持协同工作的加解密系统自动的实现 组与个人的密钥信息 . 其格式如下 :
加密文件在逻辑空间的隔离 , 实现了在特定范围 < Employee >
使用加密文件 . 加密与解密文件的过程不需要用 < Name > aaa < / Name >
户输入密钥 ,由系统完成协同工作的过程 . 协作过 < Psw > bbb < / Psw >
程如图 1 所示 ,假设用户 A 与用户 B 属于同一组 , < Key ID = ” { E6AC7573263962413c29 EC32

用户 A 使用系统加密文件 , 并将加密文件传给用 7B55B87ACCDD} ” > ccc < / Key >


< Part > A < / Part >
户 B. 用户 B 使用系统解密 ,得到解密文件 .
< / Employee >

收稿日期 :2008205221
基金项目 : 国家自然科学基金项目 (60873024) ; 湖北省教育厅重点研究项目 (D20081505) .
作者简介 : 何成万 ( 19672) ,男 ,湖北荆门人 ,副教授 ,博士 . 研究方向 : 软件工程 .
第3期 何成万 ,等 : 支持协同工作的加解密系统设计与实现  75

  它描述了一个用户名为 aaa , 密码为 bbb 的员 等 . 在密钥管理当中 , 把密钥分为三个访问等级 :


工、
他的 p rivate 密钥与该用户属于的组 A . p ublic 、
p rotected 、
p rivate. 每个通过系统验证的用
把密钥分为 p ublic 、p rotected 、
p rivate 三个等 户可选择其中之一 ,进行文件加密 . 不同的级别的
级 ,后面将会讲述 . 此处存放的是 p rivate 密钥 . 在 加密文件使用的范围也不同 . 使用 p ublic 访问等
存储密钥的 XML 文件当中 ,存放了各个组的密钥 级加密的文件将可在本组和直属上属组中解密 .
信息 . 存 储 在 文 件 里 面 的 每 一 个 密 钥 都 有 ID 、 以 p rotected 访问等级加密的文件则只能在本组
Access 、
Current 属性 . ID 属性是密钥的唯一标识 , 范围被解密 . 而使用 p rivate 访问 等级 加密 的文
使用微软提供的全局唯一标识 ( GU ID ) . Access 属 件 ,只能由加密者本人解密 . 系统中的每一个密钥
性取值空间为 p ublic 、p rotected , 说明此密钥的访 被唯一的 ID 标识 ,系统可随时更新正在使用的密
问等级 . Current 属性取值为 0 或 1. 1 表示此密钥 钥 ,新增密钥的 Current 属性被置 1 , 并将旧密钥
是最新的正在使用的密钥 ,否则为 0. 其格式如下 : 的 Current 属性设为 0.
< Part Name = ”A ”> 2. 3  加密过程
< Key ID = ” { B0B95 ED72CD3C245ad282CD2 系统中用到的三个 XML 文件被保存在另一
70D884279B22} ”Access = ”
p ublic”Current = ”1 ” > vvvvv 台机器上 , 第一次用户验证过程和查找密钥的过
< / Key >
程序要通过网络 , 在另一台机器上完成验证[ 5 ] 与
< Key ID = ” { 2D1D6 E2D2 E83024cc629C662
查找 ,返回结果 , 并将结果存放在系统注册表中 ,
0 E4775C1C6D E} ”Access = ”p rotected ”Current = ”1 ” >
之后使用就可以先通过注册表得到结果 . 只有在
zzzzz < / Key >
< / Part >
注册表中查找不到所需信息时 , 才使用网络 . 用户
它描述了组 A 中存在两个密钥 , Access 属性分别为 使用系统加密文件的操作十分简单 . 加密文件时 ,
p ublic 、
p rotected. 在存储组关系的 XML 文件中表示各组 只需输入用户名与密码即可使用系统的加密功
之间的关系 . 其格式如下 : 能 . 首先 ,系统通过在用户验证 XML 文件中查找
< Part Name = ”A ”> 匹配的用户名与密码 , 并从中获取用户的 p rivate
< Relation re = ”Super”> B < / Relation > 访问属性的密钥与所属组的信息 . 如果匹配过程
< Relation re = ”Sub”> C < / Relation >
成功 , 则用户 选择具 有 p ublic 、
p rotected 、
p rivate
< / Part >
之一的访问属性的密钥进行加密 . 默认访问属性
它描述了组 A 有一个上级组 B 和一个下级组 C.
为 p rotected ,即在本组中的成员可以解密该加密
在如图 2 所示的上下级关系当中 , 假如 A 是
文件 . 如果用户选择 p ublic 访问权限进行加密 , 系
A1 和 A2 的直属上级 ,A 组的加密文件可在 A 组
统根据用户所属组在存储密钥的 XML 文件中找
内解密 ,也可以选择在 A 、 A1 、
A2 中被解密使用 .
到 Access 属性为 p ublic ,Current 属性为 1 的密钥
A1 与 A2 中的加密文件一定能被 A 解密使用 . 也
加密 . 如果用户选择 p rotected 访问权限加密 , 系
就是 ,A1 与 A2 的加密文件一定可以被 A 解密 ,
统根据用户所属组在存储密钥的 XML 文件中找
反之却不一定 . 系统通过这三个 XML 文件表示了
到 Access 属性为 p rotected , Current 属性为 1 的
它们之间的协作关系 ,并自动提供加解密服务 . 为
密钥加密 . 如果用户选择 p rivate 访问权限加密 ,
了系统的安全性 ,每一个员工只属于一个组 . 如果
系统直接使用在用户验证 XML 文件中匹配节点
有一个员工属于组 A1 ,同时又属于组 A2 ,他就有
中的密钥加密 . 之后 , 系统会生成后缀名为 ept 的
可能在 A1 与 A2 之间泄漏信息 . 像这样角色比较
文件 . 加密过程程序流程如图 3 所示 . 在生成的文
特殊的员工 ,可以考虑将他加入组 A 当中 .
件中 ,保存着加密信息及描述该文件的元信息 . 描
述信息被保存在文件头部 ,其结构如图 4 所示 , 整
个文件头长度为 33 字节 .
2. 4  解密过程
当用户使用系统解密 , 系统要求用户输入用
图 2  上下级关系
户名与密码通过验证 . 之后 , 系统读取待解密文件
Fig. 2  Relatio n between superio r and subordinate
 
头部 , 查看加密标识 . 如果加密标识不正确 , 则提
2. 2  密钥的更新与管理 示用户退出 . 如果加密标识正确 ,则读取存储在文
系统采用 D ES[ 4 ] 加解密算法 . 此算法属于对 件中的密钥 ID , 并在系统中查找比较各相关密钥
称密钥[ 1 ] 的加解密算法 , 加密密钥与解密密钥相 属性中的 ID 值 . 查找过程如下 : 首先 , 系统找到该
 76 武汉工程大学学报 第 31 卷

2. 5  加解密系统的安全性及保密性分析
此系统将加解密文件的密钥存放在一台安全
的机器上的一个单独的 XML 文件中 ,该文件不会
被非法修改 . 所有用户都没有直接使用加解密文
件的密钥 . 任何用户使用系统都必须通过系统的
验证 . 所以对系统的攻击 ,要求攻击者能获取相应
的权限 . 这就要看用户使用的登录口令的安全性 .
也就是说 ,只要用户的身份没有被利用 ,被此系统
加密过的文件不会被非法使用 ,系统就是安全的 .
由于解密使用 D ES 算法 , 所以保密性与该算
法的强度相关 .

图 3  加密过程程序流程图 3  Window s Shell 扩展与文件关联


Fig. 3  Flow chart of encryptio n p rocess
使用 Windows Shell 扩展技术实现鼠标右键
菜单的功能 . 当用户选中某文件时 , 单击鼠标右
键 ,会弹出一个菜单 ,其中有“加密文件”、 “解密文
件” 两个菜单项 ,分别实现加密与解密 . 另外 , 使用
文件关联 ,使的双击后缀名为 ep t 的文件 , 即可自
图 4  文件头结构
动运行系统进行解密 ,方便用户操作 .
Fig. 4  Header st ruct ure
用户的 p rivate 密钥 ,并比较其 ID 是否匹配 . 如果 4  结  语
匹配 , 则使用此密钥解密 . 如果不匹配 , 则继续在
在支持 协 同 工 作 的 加 解 密 系 统 中 , 使 用 了
用户所在组查找并比较 ID 是否匹配 . 如果找到了
XML 文件描述员工与组 , 组与组之间的关系 , 实
匹配的密钥 ,则使用此密钥解密 ,否则继续在其下
现了信息在逻辑单位上的隔离 [ 6 ] . 用户使用时只
级组中查找 Access 属性为 p ublic 的密钥的 ID 属
需要输入用户名与密码通过系统验证 , 控制逻辑
性值是否匹配 . 如果找到匹配项 ,则使用此密钥解
存于系统内部 ,用户操作过程非常简单 .
密 ,否则提示用户无法解密此文件后退出 . 密钥查
找过程的程序流程图如图 5 所示 . 在此过程中找 参考文献 :
到与待解密文件中 ID 匹配项后 , 即可使用相应得
[ 1 ]  STALL IN GS. 密码编码学与网络安全 [ M ] . 北京 : 电
密钥解密 . 解密完毕后 ,还原该解密后的文件后缀 子工业出版社 ,2005.
名. [ 2 ]  倪强 ,朱光喜 . 计算机支持下的协同工作的研究现状
综述 [J ] . 计算机工程与应用 ,2000 ,36 ( 4) :527.
[ 3 ]  栗松涛 . XML 程序设计 [ M ] . 北京 : 清华大学出社 ,
2001.
[ 4 ]  马银华 ,刘明生 ,王书海 ,等 . 提高 D ES 加密强度的密
钥选位方法研究 [J ] . 计算机工程 ,2000 , 26 ( 3 ) : 682
69.
[ 5 ]  刘黎志 ,刘军 . 基于 Internet 的 ASP. N ET 应用程度
安全模型研究 [J ] . 武汉工程大学学报 ,2008 ;30 ( 3 ) :
90293.
[ 6 ]  何成万 ,李健 ,焦素廷 . 基于 MVC 模式的科研成果管
理系统的开发 [J ] . 武汉工程大学学报 ,2009 ,31 ( 1 ) :
79281.
( 下转第 88 页)
图 5  密钥查找流程图
Fig. 5  Flow chart of finding secret key
 88 武汉工程大学学报 第 31 卷

通过人机界面 , 可方便地从上位机了解到现场的 优化控制产生了节能效益 .


工作情况 ,同时根据实际发出控制指令 , 实现对整
参考文献 :
个系统的监控功能 .
[ 1 ]  李宁军 ,曹文贵 ,刘生 . 隧道设计与施工百问 [ M ] . 北
5  结  语 京 : 人民交通出版社 ,2006 :1832189.
[ 2 ]  张万忠 . 可编程控制器入门与应用 [ M ] . 北京 : 中国
本系统利用 PL C 实现了高速公路电力监控系
电力出版社 ,2005 :1022120.
统的自动化 . 该系统把隧道内所有电力照明控制
[ 3 ]  王卫兵 . PL C 系统通信扩展与网络互联技术 [ M ] . 北
柜联入工业快速以太网 ,组成环网 ,实现分中心对
京 : 机械工业出版社 ,2002 :1250 ,1742237.
隧道电力系统的遥控 . 触摸屏面板设计为现场设
[ 4 ]  刘军 ,刘黎志 , 黄浩 . 一种无线嵌入式数字卫量接收
备的操作人员进行控制和监视提供了良好的人机 系统 的 模 块 化 设 计 . 武 汉 工 程 大 学 学 报 , 2008 , 30
界面 . 该系统已于 2006 年 11 月调试完毕正式投 ( 4) :992102.
入使用 ,目前系统运行良好 . 最为可观的是其灯光

Optimizing design of highway tunnel


power monitoring system based on PLC

L I N S hou2yi ng , L I N J i a n2f en g , XIA S heng2f en


1 1 2

(1. College of Mechanical and Electrical Engineering ,Fujian Agriculture and Forestry University ,Fuzhou 350002 ,China ;
2. College of Electrical and Electronic Engineering , Huazhong University of Science and Technology ,Wuhan 430074 ,China)

Abstract : A highway t unnel power mo nitoring system based o n PL C is designed , which co nsist s of
t unnel mo nito ring , light co nt rol , and t raffic signal co nt rol subsystems. By t he use of co mmunicatio n
net work , t he system has been used fo r t he intelligent management of t he highway t unnel power
mo nitoring. The result s of t he real applicatio n show t hat t he designed system has higher performance2
to2p rice ratio and reliabilit y. Meanwhile , power energy co nsumptio n can be reduced due to t he
op timizing light co nt rol .
Key words : PL C ;highway ;t unnel power mo nito ring ;optimizing light co nt rol
本文编辑 : 陈晓苹


( 上接第 76 页)

Design and realization of encryption and decryption


system supporting collaborative work

H E Cheng2wa n , J IAO S u2ti ng , L I J i a n


( School of Comp uter Science and Engineering , Wuhan Instit ute of Technology ,Wuhan 430074 , China)

Abstract : In t his paper , a collaborative wo rk in support of t he encryptio n system is int roduced.


Different f ro m general encryptio n systems , t he system will divide staff into different gro up s logically.
Each gro up of encrypted files can be decrypted in t he gro up bet ween member s to achieve file2sharing.
Key words : encryptio n ; decryptio n ;collaborative wo rk
本文编辑 : 陈晓苹

You might also like