一种保证数据安全传输的打印控制方法

文档序号:6421254阅读:135来源:国知局
专利名称:一种保证数据安全传输的打印控制方法
技术领域
本发明是一种可以保证信息安全的打印控制方法,特别是涉及一种基于网络的保证数据安全传输的打印控制方法。
背景技术
目前,将若干个计算机连接成网络组成一个区域的办公系统网络,已经越来越普遍了。在这样的网络中,通常是多个计算机共同使用一个以上的打印机。虽然计算机与网络打印机之间都是以明文形式进行数据传输的,但是信息安全问题仍然是目前所有网络打印机都没有考虑的一个问题。监听者可以通过监听网络数据包的方法获得被打印的数据。虽然监听者不能马上将这些数据还原回被打印机的原文档,但是监听者可以将这些数据重新发送到该打印机上,这样就可以打印出与原文档相同的一份文档了。因此,使用现在这些不安全的网络打印机,很可能会造成商业机密的泄漏,发明内容本发明要解决的技术问题是提出一种保证数据安全传输的打印控制方法,使用本发明的方法,可以保证计算机与网络打印机之间所传输数据的安全性,在网络中传输的打印数据不会被还原回原始数据,也不会被重新打印出来,这样既保证了数据安全性,又抵御了重放攻击。
本发明所述的保证数据安全传输的打印控制方法,包括如下步骤步骤100当用户有数据需要进行打印时,用户主机上的带有安全模块的打印驱动程序向打印机发送认证数据的请求;步骤200安装有安全模块的打印机接受打印驱动程序发送来的请求,生成认证数据,并将该认证数据发送给打印驱动程序;步骤300打印驱动程序将需要打印的数据与认证数据一起加密,并将加密后的打印数据传送给打印机;步骤400打印机接收加密后的打印数据,对其进行解密,得到需要打印的数据和认证数据;步骤500打印机检验认证数据是否为有效的认证数据,如果有效,则打印;否则,将废弃该打印作业。
本发明采用加密机制,利用认证码检验该打印作业,使得被打印的数据文件只能一次性打印,从而保证用户打印的文档数据不会被他人通过网络监听的方式获取。


图1为本发明所述方法的原理流程图;图2为本发明所述方法打印驱动程序结构示意图;图3为图2中的应用程序与打印驱动程序交互图;图4为安全打印机的结构图;图5为本发明所述方法中用户端打印驱动程序数据加密处理流程图;图6为本发明所述方法中打印机端的数据处理过程图;图7为本发明所述方法的实施例中打印机与用户端打印驱动程序交互的流程图。
具体实施例方式
以下结合附图和具体的实施例对本发明进行详细的说明。
本发明所述方法的原理流程图如图1所示。为了保障信息安全,在网络中传输的打印数据需要进行加密处理。
在图1中,为了保证信息的安全性,敏感数据被加密为密文进行传输,使得监听者无法将密文恢复出被打印的敏感数据,为了抵御重放攻击。本发明引入了认证码机制,认证码由打印机生成,并且对于每一次用户请求,其所生成的认证码均不相同,这样可以保证监听者进行重放攻击所使用的数据包中的认证码无法与当前打印机生成的认证码相同,两者的交互过程具体说明如下当用户有数据需要打印时,打印驱动程序向打印机发出请求;打印机接受请求,通过某种算法生成认证码C;打印机将认证码C和某些与具体实现相关的信息发送给打印驱动程序;打印驱动程序将需要打印的数据M与C一起加密为E,并将E传送给打印机;打印机接收密文E后,对其进行解密,得到明文M和认证码C;打印机检验认证码C是否为有效的认证码,如果有效,则对M进行打印。否则将废弃该打印作业。
图2显示了应用本发明所述方法的安全打印机的打印驱动程序与原打印机驱动之间的一种可能的结构关系示意,但本发明所描述的打印驱动程序结构并不限于该示意。为了实现对打印数据信息的保护,需要将普通的打印驱动程序进行修改,增加一个新的安全模块,该安全模块负责从打印机获取认证码,并将认证码与需要打印的数据一起进行加密。
打印驱动程序与应用程序之间的交互如图3所示。应用程序调用打印驱动程序并将要打印的文档数据传送给打印驱动程序,打印驱动程序对文档数据进行处理,将其转换成该类型打印机可以识别的打印描述语言,如PCL,PS,GDI等等。以上工作是传统打印驱动程序所做的工作。本发明中,安全模块在打印驱动程序处理文档数据的同时,还向打印机请求一个打印认证码。当打印驱动程序处理完文档数据后,安全模块将处理后的文档数据与认证码一起进行加密,然后传送给打印机。
如图4所示,应用本发明所述方法的安全打印机相对于普通打印机增加了一个认证码生成器以及一个解密模块。认证码生成器在有效时域内生成的所有认证码都不可以重复。这里,有效时域指的是打印机的生命周期或解密模块的生命周期。解密模块负责将打印驱动程序传送过来的数据通过密钥进行解密,同时验证解密出的认证码是否为有效的认证码,如果是,打印机将进行打印处理,否则打印机将抛弃该打印作业。
密钥的管理和传输方法与安全打印机所选用的具体加密/解密方案有关。如果采用对称式加密/解密方法,在处理打印作业时,打印机与打印驱动程序两方面需要具有相同的密钥。所以无论将哪一端作为密钥提供者,都需要采用一种安全的方式在打印驱动程序与打印机之间进行密钥的传输以确保其同步。一般这种方式都是基于公钥体系的。如果采用非对称式加密/解密方案,那么就可以避免密钥的同步操作。非对称式加密/解密方法同样也是基于公钥体系的。
根据以上讨论,安全打印机中一定要包含一对公钥、密钥,而且每个打印机的公钥、密钥对都不得相同。所以在生产安全打印机时,一定要保证每个打印机所使用的公钥、密钥对均不相同。同时,在打印机超出寿命周期后,公钥、密钥对应该能够被销毁。
数据如何在网络上进行安全传输是计算机网络信息安全的一个重要研究课题。其核心部分在于通信方式的选取上。而通信的方式又取决于该通信模型中所采用的加密/解密算法的类型,所以加密/解密算法的选择是影响整个方案的最为关键的因素。
众所周知,目前加密算法分为分组加密与公开钥密加密两大类。分组加密属于对称式加密。公开钥加密属于非对称式加密,其算法的主要缺点是比分组加密方法慢很多。举个例子,RSA算法是公开钥加密算法中的典型代表。DES算法是分组加密算法的典型代表。在硬件实现时,RSA算法比DES算法慢将近1000倍。软件实现时慢将近100倍。但是RSA算法的优点---非对称式的加密方式一却是DES算法无法比拟的。因为RSA算法不需要进行密钥的传输。所以一般公开钥算法通常作为小数据量数据传输或身份验证用。而分组加密算法通常用作对敏感数据的加密保护上。根据以上的讨论,本发明采用RSA与DES相结合的方式作为信息保护手段。
当用户需要进行打印时,打印驱动程序会在处理文档数据的同时,向打印机请求打印认证码C和公钥KPUB。然后,打印驱动程序随机生成一个DES算法所需要的密钥KDES并将它通过RSA算法加密为EK(使用公钥KPUB)。接下来,打印驱动程序将处理好后的明文数据M与认证码C一同用DES算法加密为密文EM(使用的密钥为KDES)。最后,打印驱动程序将密文EM和EK传送给打印机。
打印驱动程序的数据处理过程如图5所示向打印机请求认证码C和打印机公钥KPUB;打印驱动程序随机生成一个5 6位的DES密钥KDES;打印驱动程序将KDES用RSA算法加密为密文EK,RSA算法使用的公钥是KPUB;将需要打印的文档数据M与C一起用DES算法加密为密文EM;DES算法使用的密钥为KDES;将EK与EM传送给打印机。
在上面流程中,对于第2步中随机生成的56位密钥的算法,要求其每次生成的密钥尽量不相同。这样可以提高系统的安全性,但这并不是必须的。这样的要求仅是为了最大程度的接近安全理论中一次一密的标准。不过,在本发明中允许使用相同的密钥。
为了实现安全打印,安全打印机需要添加认证码生成器、RSA公钥、密钥存储设备和RSA数据与DES数据的解密模块。在具体实现中,认证码生成器是一个长32位的静态存储区。RSA公钥、密钥存储设备也是长度为1536位的静态存储区。这两个存储区由同一个纽扣电池供电。当电池电量耗尽的时候,认证码C的值以及RSA的公钥与密钥均将同时被销毁。在打印机出厂前,厂家应将认证码生成器初始为0,并将对于每个打印机均不相同的RSA公钥、密钥对写入RSA公钥密钥存储区中。而且,应该选择使用寿命等于或大于打印机使用寿命的电池作为这两个存储区的电源。
当打印驱动程序请求打印认证码时,打印机将当前保存在认证码存储区的打印认证码C’发送给打印驱动程序。同时也将打印机的公钥发送给打印驱动程序。然后打印机等待接收密文数据EK和EM。在完成EK与EM的接收后,打印机先将EK通过RSA算法进行解密(使用密钥KPRI)。解密出的数据就是DES算法使用的KDES。接下来,打印机使用以KDES作为密钥的DES算法将EM解密出明文数据M与认证码C。打印机比较C与C’是否相同,如果相同,那么打印机将把C’加1,并继续处理M,否则直接抛弃数据M。
本发明所述方法中打印机端的数据处理过程如图6所示打印机将保存在认证码生成器中的当前的认证码C’和打印机公钥KPUB发送给打印驱动程序。
接收打印数据EK和EM;使用RSA算法,以KPRI为密钥,从EK中解密出KDES;以KDES作为密钥,使用DES算法从EM中在解密出C与M;比较C与C’是否相等,如果相等,C’加1,否则等待下一个作业到来;对数据M进行打印,完成该作业;等待下一个作业到来。
本发明所述方法的实施例中打印机与用户端打印驱动程序交互的流程如图7所示。
步骤10当用户有数据M需要进行打印时,用户主机上的带有安全模块的打印驱动程序向打印机发送认证数据的请求;步骤20安装有安全模块的打印机接受打印驱动程序发送来的请求,生成认证数据,并将该认证码C和公钥KPUB发送给打印驱动程序;步骤30打印驱动程序接收打印机发送来的认证数据后,随机生成一个DES密钥KDES,并通过RSA算法将其加密为加密DES密钥EK,其中,RSA算法使用的公钥为打印机发送来的公钥KPUB;步骤40将需要打印的数据M与认证码C一起用DES算法加密为加密打印数据EM,其中,DES算法使用的密钥为DES密钥KDES;步骤50将加密后的打印数据EM和加密DES密钥EK传送给打印机;步骤60打印机接收加密后的打印数据;步骤70通过RSA算法对加密DES密钥EK进行解密,得到DES密钥KDES,其中,RSA算法使用的密钥KPRI;(其中,KPRI为存储在RSA公钥、密钥静态存储区内、与打印机发送的公钥相对应的密钥。)步骤80使用解密出的DES密钥KDES,通过DES算法对加密的打印数据EM进行解密,得到打印数据M和认证码C;步骤90比较解密出来的认证码C与保存在当前认证码生成静态存储区内的认证码C’是否相等,如相等,则认证数据有效,同时,当前认证码生成静态存储区内的认证码C’加1,如不相等,则无效,废弃该打印作业。
在图7中,对于C的计数是一个关键的问题。打印机一定要确保每次生成的认证码C均不相同。本发明是这样处理的如果打印作业成功,则认证码计数器加1的方式。这样,如果上次请求被成功处理,那么打印驱动程序本次请求到的认证码C将比上次的认证码大1。由于打印机认证码寄存器是32位的,这样,在打印机的寿命期间内,最多可以打印232个文档。
可以对能够打印的最大文档数作一个估计。设打印机处理一个文档需要1分钟的时间,那么如果打印232个文档,共需要 这已经远远的超出了一台打印机的使用寿命。所以,使用认证码每次加1的方式可以在保证生成的认证码不会在打印机寿命期间内出现重复,这满足了信息安全的要求。
唯一的RSA公钥、密钥对的生成说明应用于RSA算法的打印机公钥、密钥对是在打印机出厂前写入到打印机中的。每个打印机都应该具有唯一的RSA公钥、密钥对。算法如下寻找素数 p1=g(p0),p2=g(p1)使其满足 p=2p1+1,q=2p2+1为素数其中的g(x)为素数发生器。它返回一个大于输入参数x的最小素数,同时需要满足p=2p1+1和q=2p2+1也为素数。这样的p、q称为安全素数。令n=pq,进而选择d使其满足gcd(d,Ф(n))=1,其中Ф(n)=(p-1)(q-1)然后通过e·d≡1(modФ(n))计算出e。这样就生成了一个公钥(n,e)和密钥(n,d)对。通过上面的方法进行迭代,就可以产生多组公钥密钥对了。
最后所应说明的是以上实施例仅用以说明而非限制本发明的技术方案,尽管参照上述实施例对本发明进行了详细说明,本领域的普通技术人员应当理解依然可以对本发明进行修改或者等同替换,而不脱离本发明的精神和范围的任何修改或局部替换,其均应涵盖在本发明的权利要求范围当中。
权利要求
1.一种保证数据安全传输的打印控制方法,其特征在于,包括如下步骤步骤100当用户有数据需要进行打印时,用户主机上的带有安全模块的打印驱动程序向打印机发送认证数据的请求;步骤200安装有安全模块的打印机接受打印驱动程序发送来的请求,生成认证数据,并将该认证数据发送给打印驱动程序;步骤300打印驱动程序将需要打印的数据与认证数据一起加密,并将加密后的打印数据传送给打印机;步骤400打印机接收加密后的打印数据,对其进行解密,得到需要打印的数据和认证数据;步骤500打印机检验认证数据是否为有效的认证数据,如果有效,则打印;否则,将废弃该打印作业。
2.根据权利要求1所述的保证数据安全传输的打印控制方法,其特征在于,所述步骤100及步骤200中的认证数据包括认证码及公钥,其中,认证码存储在打印机认证码生成静态存储区内,公钥存储在RSA公钥、密钥静态存储区内。
3.根据权利要求2所述的保证数据安全传输的打印控制方法,其特征在于,所述认证码生成静态存储区长度不少于8位。
4.根据权利要求2所述的保证数据安全传输的打印控制方法,其特征在于,所述RSA公钥、密钥静态存储区的长度不少于64位。
5.根据权利要求2或3所述的保证数据安全传输的打印控制方法,其特征在于,存储在打印机认证码生成静态存储区内的认证码在打印机出厂前初始为0。
6.根据权利要求2或3或4所述的保证数据安全传输的打印控制方法,其特征在于,存储在RSA公钥、密钥静态存储区内的公钥与密钥相对应,所述的RSA公钥、密钥对是在打印机出厂前写入到RSA公钥、密钥静态存储区内的,且每个打印机的RSA公钥、密钥对均不相同。
7.根据权利要求2所述的保证数据安全传输的打印控制方法,其特征在于,在步骤300中,打印驱动程序将需要打印的数据与认证数据一起加密的过程为打印驱动程序接收打印机发送来的认证数据后,随机生成一个DES密钥,并通过RSA算法将其加密为加密DES密钥,其中,RSA算法使用的公钥为打印机发送来的公钥;将需要打印的数据与认证码一起用DES算法加密为加密打印数据,其中,DES算法使用的密钥为DES密钥;将加密后的打印数据和加密DES密钥传送给打印机。
8.根据权利要求7所述的保证数据安全传输的打印控制方法,其特征在于,所述的DES密钥的长度不少于56位。
9.根据权利要求2或7或8所述的保证数据安全传输的打印控制方法,其特征在于,所述的步骤400中,打印机对打印数据进行解密的过程为首先通过RSA算法对加密DES密钥进行解密,得到DES密钥,其中,RSA算法使用的密钥为存储在RSA公钥、密钥静态存储区内、与打印机发送的公钥相对应的密钥KPRI;接着,使用解密出的DES密钥,通过DES算法对加密的打印数据进行解密,得到打印数据和认证码。
10.根据权利要求9所述的保证数据安全传输的打印控制方法,其特征在于,所述的步骤500中,打印机检验认证数据是否为有效的认证数据的方法为比较解密出来的认证码与保存在当前认证码生成静态存储区内的认证码是否相等,如相等,则认证数据有效,同时,当前认证码生成静态存储区内的认证码加1,如不相等,则无效,废弃该打印作业。
全文摘要
一种保证数据安全传输的打印控制方法,包括当用户有数据需要进行打印时,用户主机上的带有安全模块的打印驱动程序向打印机发送认证数据的请求;安装有安全模块的打印机接受该请求,生成认证数据,并将该认证数据发送给打印驱动程序;打印驱动程序将需要打印的数据与认证数据一起加密,并将加密后的打印数据传送给打印机;打印机接收加密后的打印数据,并解密,得到需要打印的数据和认证数据;检验认证数据是否为有效的认证数据,如果有效,打印;否则,废弃该打印作业。本发明采用加密机制,使得被打印的数据文件只能由其所有者进行打印,其他人无法通过所截获的打印数据获取被打印文档的内容,从而保证用户打印的文档数据不会被他人获取。
文档编号G06F3/12GK1632738SQ200310121780
公开日2005年6月29日 申请日期2003年12月23日 优先权日2003年12月23日
发明者刘为, 柯妍 申请人:联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1