安全电子印章系统的设计与实现
王淼;刘胜厚
【摘 要】Compared with traditional seal, electronic seal is easier to use and lower in cost. But there will be much more possible for it to be stolen if it is not kept in a secure environment. This paper explores the structure of secure electronic seal system from hardware and software.%电子印章与传统印章相比具有简单、快捷、低成本等很多优点。但是如果电子印章没有保存在安全的环境之中,它被窃取的可能性将会比传统印章大得多。从硬件和软件两个方面提出了安全电子印章的系统结构。韩孝周
西安封城了吗【期刊名称】《北京工业职业技术学院学报》
【年(卷),期】2012(011)001
【总页数】3页(P71-73)
【关键词】电子印章;盖章;验章
金婧个人资料
【作 者】王淼;刘胜厚
【作者单位】北京工业职业技术学院信息工程系,北京100042;北京工业职业技术学院信息工程系,北京100042
【正文语种】中 文
【中图分类】TP39
0 引言
随着计算机技术的发展,长期以来文书等信息以电子化的形式存储于计算机中,并在网络上传输。这虽然提高了工作效率,节约了大量的人力和物力,但是如何保证这些公文的合法性,唯一性,可追溯性,不可复制性,不可篡改性。电子印章技术就是为了解决以上这些问题而提出的。电子印章除了具有原始印章的物理特性,更主要的是数字化的。电子印章将会促进无纸化办公的发展,在大力提倡环保的今天,电子印章的发展将会有广泛的应用前景。
随着电子商务,电子政务的发展,电子文档逐渐取代了纸质文档。这种转化一方面可以提高我们的工作效率,节约大量资源,另一方面也带来了电子文档的安全性问题。如何保证电子文档的真实性,来源的可靠性,电子印章是一个很好的解决方案。电子印章正以其简单、便捷、高效、低成本征服广大潜在的巨大市场需求,使得电子印章的推广非常迅速[1]。
1 Word 2007的签名行
Word是目前最流行的文字处理软件,所以多安全域的电子印章系统的研究从word文档的盖章研究开始。
从Word 2007开始,软件中带有电子印章的功能,在使用过程中会发现很多的问题。这里只是最简单的印章功能,仅仅涉及到文档上盖章功能,但是对于印章的申请,分发,保存,防伪等安全性问题并未涉及。
赵汉善打开word 2007,首先切换到“插入”面板,将插入光标定位到需要盖章的位置,单击“签名行”按钮。在弹出的菜单中选择“图章签名行”,单击后会弹出一个对话框,询问是否链接到
Office网站使用第三方提供的签名服务,因为第三方软件都是付费的,所以这里我们选择单击“确定”按钮关闭对话框。接着系统弹出“签名设置对话框”,按提示填入必要信息后,一个图片就会插入进来。右键点击此图片,从快捷菜单中选择“签署”命令,如果系统中尚未安装数字标志,此时会弹出一个“获取数字标识”的对话框,这里提供了两种方法:一是从微软的合作伙伴处获取数字标志,这种是需要付费后才能使用的,二是创建自己的数字标志,在随后弹出的对话框中输入数字标志中需要包含的信息,确认后创建自己的数字证书。进入签名窗口,在这里单击“选择图像”链接,导入事先存储的电子印章图片,单击“更改”按钮可以查看到这份数字标志的内容,如图1所示。
图1 “签名”对话框
如果没有错误,单击“签名”按钮即可完成签章操作。
在Word2007中通过这种方法签章的文档的安全性有以下几个问题:
(1)这里的电子印章采用的是图片的形式存储在计算机中,如何保证图片不被复制,窃取,这是关键性的一个问题。
(2)签章完成后,当前的文档被自动设置为只读状态,同时标记为最终状态。如果用户再次打开word文档,就会发现文档底部的状态栏中添加了“此文档包含签名”的图标,单击此图标,将会显示有效的签名信息。但是这种信息用户只能在本地机器上进行验证文档的有效性,如果用户换台机器,将无法实现这个操作。
(3)盖完章的文档无法被修改,若想修改文本内容的话,需要删除文档中的数字签名。
(4)数字签名很容易被删除。选择印章图片,单击鼠标右键在弹出的快捷菜单中选择“删除签名”命令,确认后数字签名将会被永久删除。
2 安全电子印章要求
(1)采用何种方式存储电子印章存储介质。
(2)采用何中算法能够保证印章的唯一性和防伪造。
(3)数字化系统中或者网络系统中如何解决电子印章的申请、分发、使用的安全性。
(4)对电子文档数据的完整性和不可抵赖性,以及使用者的身份问题确定问题提出解决方案。
3 安全系统结构
3.1 印章的存储
华为 mate8(1)采用USBkey保存印章图片
USBkey里面内置的芯片可以保存少量的数据,采用USB接口,便于计算机读取里面的数据[2]。USBKey的内置芯片和PIN取码可以保证,即使用户在丢失USBKey智能存储设备时,没有PIN码也无法读取里面保存的印章数据。黑客如果破解了PIN码,但是没有USBKey硬件也是无法读取里面的印章数据的。采用USBkey的好处还在于它的价格低廉,便宜的只需要几十元人民币,便于普及。在USBkey中我们可以事先保存印章图片和相应的数字证书,使用时将它插入计算机中的USB接口即可,方便使用。使用的方便性类似于物理印章,但又解决了物理印章的保管难题。制作USBKey的过程如下:
扫描实物印章图案,或制作印章图片,将图片中嵌入数字水印,同时向证书授权中心CA申请数字证书,这个数字证书中保存了用户所有信息,相当于是用户的数字身份证,由于采用了128位的身份码存储,且每次身份码都由CA中心随机颁发,保证了数据的安全性。用
户登录CA中心的网站填写个人信息,系统会发确认邮件到指定的,进入邮箱后,可以看到系统给定的入口和身份识别码。在此入口中,输入正确的身份识别码,即可看到数字证书申请成功。选中证书点击导出到USBKey,即可得到数字证书的.pfx文件。将嵌入水印的印章图片和数字证书同时写入USBKey硬件设备中。USBKey携带方便,可以随时使用。
(2)采用生物识别仪器保存电子印章
生物识别技术是利用人体生物特征进行身份认证的一种技术。现在市场上最常见的生物识别仪器就是指纹识别仪器[3]。它可以将电子印章图片装载在指纹识别仪器中,用户想要使用印章必须通过指纹验证。由于它的技术的成熟,所以现在指纹识别仪应用比较广泛,价格也随之降低,便宜的才几十元一个。
3.2 印章的实现
利用VBA基于对象的开发技术,在word中嵌入组件程序,对word文档进行二次开发。利用VBA技术将保存在硬件中的印章加盖到文档中要求的位置的操作。
在word2007之中单击“视图”/“宏”命令,创建一个新宏,进入到microsoft visual basic编辑界面,输入如下代码:
开机要按f1怎么解决关闭宏后,word2007出现“加载项”菜单栏,单击之后可以看见新建的“盖章”和“验章”按钮,如图2所示。
图2 加载菜单项
单击“盖章”按钮时,对文档进行检测,检测文档是否受到保护,如果受到保护,则无法实现盖章功能,否则,加盖电子印章。
“盖章”菜单和“验章”按钮采用vc++程序实现,具体算法如下:
(1)盖章模块
在盖章模块中,将数字水印嵌入到印章图片中。嵌入水印的过程如下:
首先提取文档中的内容,经过Hash运算后得到文档的摘要,对文档摘要加密后嵌入数字水印信息。Hash运算是一种将任意长度的消息压缩成为某一固定长度的消息摘要的函数[4
]。Hash函数,可以实现明文到密文的不可逆性,可以加密但是不可以解密。文档的内容经过Hash运算后,得到一个固定的哈希值,一旦文章被篡改将会得到不同的哈希值。得到的哈希值再使用加密算法加密,加密后的摘要再嵌入数字水印,实现多重保护[5]。
(2)验章模块
验章模块包括验证文档是否被篡改,显示证书授权中心证书的相关信息,验证是否是证书授权中心颁发的证书。
验证文档是否被篡改:利用公钥对真实文档密文进行解密,与当前文档摘要进行对比判断内容是否被修改。
显示证书授权中心证书的相关信息:提取电子印章图片中嵌入的证书授权中心证书信息。