專利名稱:一種保證數(shù)據(jù)安全傳輸?shù)拇蛴】刂品椒?br>
技術(shù)領(lǐng)域:
本發(fā)明是一種可以保證信息安全的打印控制方法,特別是涉及一種基于網(wǎng)絡(luò)的保證數(shù)據(jù)安全傳輸?shù)拇蛴】刂品椒ā?br>
背景技術(shù):
目前,將若干個計(jì)算機(jī)連接成網(wǎng)絡(luò)組成一個區(qū)域的辦公系統(tǒng)網(wǎng)絡(luò),已經(jīng)越來越普遍了。在這樣的網(wǎng)絡(luò)中,通常是多個計(jì)算機(jī)共同使用一個以上的打印機(jī)。雖然計(jì)算機(jī)與網(wǎng)絡(luò)打印機(jī)之間都是以明文形式進(jìn)行數(shù)據(jù)傳輸?shù)?,但是信息安全問題仍然是目前所有網(wǎng)絡(luò)打印機(jī)都沒有考慮的一個問題。監(jiān)聽者可以通過監(jiān)聽網(wǎng)絡(luò)數(shù)據(jù)包的方法獲得被打印的數(shù)據(jù)。雖然監(jiān)聽者不能馬上將這些數(shù)據(jù)還原回被打印機(jī)的原文檔,但是監(jiān)聽者可以將這些數(shù)據(jù)重新發(fā)送到該打印機(jī)上,這樣就可以打印出與原文檔相同的一份文檔了。因此,使用現(xiàn)在這些不安全的網(wǎng)絡(luò)打印機(jī),很可能會造成商業(yè)機(jī)密的泄漏,發(fā)明內(nèi)容本發(fā)明要解決的技術(shù)問題是提出一種保證數(shù)據(jù)安全傳輸?shù)拇蛴】刂品椒?,使用本發(fā)明的方法,可以保證計(jì)算機(jī)與網(wǎng)絡(luò)打印機(jī)之間所傳輸數(shù)據(jù)的安全性,在網(wǎng)絡(luò)中傳輸?shù)拇蛴?shù)據(jù)不會被還原回原始數(shù)據(jù),也不會被重新打印出來,這樣既保證了數(shù)據(jù)安全性,又抵御了重放攻擊。
本發(fā)明所述的保證數(shù)據(jù)安全傳輸?shù)拇蛴】刂品椒?,包括如下步驟步驟100當(dāng)用戶有數(shù)據(jù)需要進(jìn)行打印時,用戶主機(jī)上的帶有安全模塊的打印驅(qū)動程序向打印機(jī)發(fā)送認(rèn)證數(shù)據(jù)的請求;步驟200安裝有安全模塊的打印機(jī)接受打印驅(qū)動程序發(fā)送來的請求,生成認(rèn)證數(shù)據(jù),并將該認(rèn)證數(shù)據(jù)發(fā)送給打印驅(qū)動程序;步驟300打印驅(qū)動程序?qū)⑿枰蛴〉臄?shù)據(jù)與認(rèn)證數(shù)據(jù)一起加密,并將加密后的打印數(shù)據(jù)傳送給打印機(jī);步驟400打印機(jī)接收加密后的打印數(shù)據(jù),對其進(jìn)行解密,得到需要打印的數(shù)據(jù)和認(rèn)證數(shù)據(jù);步驟500打印機(jī)檢驗(yàn)認(rèn)證數(shù)據(jù)是否為有效的認(rèn)證數(shù)據(jù),如果有效,則打印;否則,將廢棄該打印作業(yè)。
本發(fā)明采用加密機(jī)制,利用認(rèn)證碼檢驗(yàn)該打印作業(yè),使得被打印的數(shù)據(jù)文件只能一次性打印,從而保證用戶打印的文檔數(shù)據(jù)不會被他人通過網(wǎng)絡(luò)監(jiān)聽的方式獲取。
圖1為本發(fā)明所述方法的原理流程圖;圖2為本發(fā)明所述方法打印驅(qū)動程序結(jié)構(gòu)示意圖;圖3為圖2中的應(yīng)用程序與打印驅(qū)動程序交互圖;圖4為安全打印機(jī)的結(jié)構(gòu)圖;圖5為本發(fā)明所述方法中用戶端打印驅(qū)動程序數(shù)據(jù)加密處理流程圖;圖6為本發(fā)明所述方法中打印機(jī)端的數(shù)據(jù)處理過程圖;圖7為本發(fā)明所述方法的實(shí)施例中打印機(jī)與用戶端打印驅(qū)動程序交互的流程圖。
具體實(shí)施例方式
以下結(jié)合附圖和具體的實(shí)施例對本發(fā)明進(jìn)行詳細(xì)的說明。
本發(fā)明所述方法的原理流程圖如圖1所示。為了保障信息安全,在網(wǎng)絡(luò)中傳輸?shù)拇蛴?shù)據(jù)需要進(jìn)行加密處理。
在圖1中,為了保證信息的安全性,敏感數(shù)據(jù)被加密為密文進(jìn)行傳輸,使得監(jiān)聽者無法將密文恢復(fù)出被打印的敏感數(shù)據(jù),為了抵御重放攻擊。本發(fā)明引入了認(rèn)證碼機(jī)制,認(rèn)證碼由打印機(jī)生成,并且對于每一次用戶請求,其所生成的認(rèn)證碼均不相同,這樣可以保證監(jiān)聽者進(jìn)行重放攻擊所使用的數(shù)據(jù)包中的認(rèn)證碼無法與當(dāng)前打印機(jī)生成的認(rèn)證碼相同,兩者的交互過程具體說明如下當(dāng)用戶有數(shù)據(jù)需要打印時,打印驅(qū)動程序向打印機(jī)發(fā)出請求;打印機(jī)接受請求,通過某種算法生成認(rèn)證碼C;打印機(jī)將認(rèn)證碼C和某些與具體實(shí)現(xiàn)相關(guān)的信息發(fā)送給打印驅(qū)動程序;打印驅(qū)動程序?qū)⑿枰蛴〉臄?shù)據(jù)M與C一起加密為E,并將E傳送給打印機(jī);打印機(jī)接收密文E后,對其進(jìn)行解密,得到明文M和認(rèn)證碼C;打印機(jī)檢驗(yàn)認(rèn)證碼C是否為有效的認(rèn)證碼,如果有效,則對M進(jìn)行打印。否則將廢棄該打印作業(yè)。
圖2顯示了應(yīng)用本發(fā)明所述方法的安全打印機(jī)的打印驅(qū)動程序與原打印機(jī)驅(qū)動之間的一種可能的結(jié)構(gòu)關(guān)系示意,但本發(fā)明所描述的打印驅(qū)動程序結(jié)構(gòu)并不限于該示意。為了實(shí)現(xiàn)對打印數(shù)據(jù)信息的保護(hù),需要將普通的打印驅(qū)動程序進(jìn)行修改,增加一個新的安全模塊,該安全模塊負(fù)責(zé)從打印機(jī)獲取認(rèn)證碼,并將認(rèn)證碼與需要打印的數(shù)據(jù)一起進(jìn)行加密。
打印驅(qū)動程序與應(yīng)用程序之間的交互如圖3所示。應(yīng)用程序調(diào)用打印驅(qū)動程序并將要打印的文檔數(shù)據(jù)傳送給打印驅(qū)動程序,打印驅(qū)動程序?qū)ξ臋n數(shù)據(jù)進(jìn)行處理,將其轉(zhuǎn)換成該類型打印機(jī)可以識別的打印描述語言,如PCL,PS,GDI等等。以上工作是傳統(tǒng)打印驅(qū)動程序所做的工作。本發(fā)明中,安全模塊在打印驅(qū)動程序處理文檔數(shù)據(jù)的同時,還向打印機(jī)請求一個打印認(rèn)證碼。當(dāng)打印驅(qū)動程序處理完文檔數(shù)據(jù)后,安全模塊將處理后的文檔數(shù)據(jù)與認(rèn)證碼一起進(jìn)行加密,然后傳送給打印機(jī)。
如圖4所示,應(yīng)用本發(fā)明所述方法的安全打印機(jī)相對于普通打印機(jī)增加了一個認(rèn)證碼生成器以及一個解密模塊。認(rèn)證碼生成器在有效時域內(nèi)生成的所有認(rèn)證碼都不可以重復(fù)。這里,有效時域指的是打印機(jī)的生命周期或解密模塊的生命周期。解密模塊負(fù)責(zé)將打印驅(qū)動程序傳送過來的數(shù)據(jù)通過密鑰進(jìn)行解密,同時驗(yàn)證解密出的認(rèn)證碼是否為有效的認(rèn)證碼,如果是,打印機(jī)將進(jìn)行打印處理,否則打印機(jī)將拋棄該打印作業(yè)。
密鑰的管理和傳輸方法與安全打印機(jī)所選用的具體加密/解密方案有關(guān)。如果采用對稱式加密/解密方法,在處理打印作業(yè)時,打印機(jī)與打印驅(qū)動程序兩方面需要具有相同的密鑰。所以無論將哪一端作為密鑰提供者,都需要采用一種安全的方式在打印驅(qū)動程序與打印機(jī)之間進(jìn)行密鑰的傳輸以確保其同步。一般這種方式都是基于公鑰體系的。如果采用非對稱式加密/解密方案,那么就可以避免密鑰的同步操作。非對稱式加密/解密方法同樣也是基于公鑰體系的。
根據(jù)以上討論,安全打印機(jī)中一定要包含一對公鑰、密鑰,而且每個打印機(jī)的公鑰、密鑰對都不得相同。所以在生產(chǎn)安全打印機(jī)時,一定要保證每個打印機(jī)所使用的公鑰、密鑰對均不相同。同時,在打印機(jī)超出壽命周期后,公鑰、密鑰對應(yīng)該能夠被銷毀。
數(shù)據(jù)如何在網(wǎng)絡(luò)上進(jìn)行安全傳輸是計(jì)算機(jī)網(wǎng)絡(luò)信息安全的一個重要研究課題。其核心部分在于通信方式的選取上。而通信的方式又取決于該通信模型中所采用的加密/解密算法的類型,所以加密/解密算法的選擇是影響整個方案的最為關(guān)鍵的因素。
眾所周知,目前加密算法分為分組加密與公開鑰密加密兩大類。分組加密屬于對稱式加密。公開鑰加密屬于非對稱式加密,其算法的主要缺點(diǎn)是比分組加密方法慢很多。舉個例子,RSA算法是公開鑰加密算法中的典型代表。DES算法是分組加密算法的典型代表。在硬件實(shí)現(xiàn)時,RSA算法比DES算法慢將近1000倍。軟件實(shí)現(xiàn)時慢將近100倍。但是RSA算法的優(yōu)點(diǎn)---非對稱式的加密方式一卻是DES算法無法比擬的。因?yàn)镽SA算法不需要進(jìn)行密鑰的傳輸。所以一般公開鑰算法通常作為小數(shù)據(jù)量數(shù)據(jù)傳輸或身份驗(yàn)證用。而分組加密算法通常用作對敏感數(shù)據(jù)的加密保護(hù)上。根據(jù)以上的討論,本發(fā)明采用RSA與DES相結(jié)合的方式作為信息保護(hù)手段。
當(dāng)用戶需要進(jìn)行打印時,打印驅(qū)動程序會在處理文檔數(shù)據(jù)的同時,向打印機(jī)請求打印認(rèn)證碼C和公鑰KPUB。然后,打印驅(qū)動程序隨機(jī)生成一個DES算法所需要的密鑰KDES并將它通過RSA算法加密為EK(使用公鑰KPUB)。接下來,打印驅(qū)動程序?qū)⑻幚砗煤蟮拿魑臄?shù)據(jù)M與認(rèn)證碼C一同用DES算法加密為密文EM(使用的密鑰為KDES)。最后,打印驅(qū)動程序?qū)⒚芪腅M和EK傳送給打印機(jī)。
打印驅(qū)動程序的數(shù)據(jù)處理過程如圖5所示向打印機(jī)請求認(rèn)證碼C和打印機(jī)公鑰KPUB;打印驅(qū)動程序隨機(jī)生成一個5 6位的DES密鑰KDES;打印驅(qū)動程序?qū)DES用RSA算法加密為密文EK,RSA算法使用的公鑰是KPUB;將需要打印的文檔數(shù)據(jù)M與C一起用DES算法加密為密文EM;DES算法使用的密鑰為KDES;將EK與EM傳送給打印機(jī)。
在上面流程中,對于第2步中隨機(jī)生成的56位密鑰的算法,要求其每次生成的密鑰盡量不相同。這樣可以提高系統(tǒng)的安全性,但這并不是必須的。這樣的要求僅是為了最大程度的接近安全理論中一次一密的標(biāo)準(zhǔn)。不過,在本發(fā)明中允許使用相同的密鑰。
為了實(shí)現(xiàn)安全打印,安全打印機(jī)需要添加認(rèn)證碼生成器、RSA公鑰、密鑰存儲設(shè)備和RSA數(shù)據(jù)與DES數(shù)據(jù)的解密模塊。在具體實(shí)現(xiàn)中,認(rèn)證碼生成器是一個長32位的靜態(tài)存儲區(qū)。RSA公鑰、密鑰存儲設(shè)備也是長度為1536位的靜態(tài)存儲區(qū)。這兩個存儲區(qū)由同一個紐扣電池供電。當(dāng)電池電量耗盡的時候,認(rèn)證碼C的值以及RSA的公鑰與密鑰均將同時被銷毀。在打印機(jī)出廠前,廠家應(yīng)將認(rèn)證碼生成器初始為0,并將對于每個打印機(jī)均不相同的RSA公鑰、密鑰對寫入RSA公鑰密鑰存儲區(qū)中。而且,應(yīng)該選擇使用壽命等于或大于打印機(jī)使用壽命的電池作為這兩個存儲區(qū)的電源。
當(dāng)打印驅(qū)動程序請求打印認(rèn)證碼時,打印機(jī)將當(dāng)前保存在認(rèn)證碼存儲區(qū)的打印認(rèn)證碼C’發(fā)送給打印驅(qū)動程序。同時也將打印機(jī)的公鑰發(fā)送給打印驅(qū)動程序。然后打印機(jī)等待接收密文數(shù)據(jù)EK和EM。在完成EK與EM的接收后,打印機(jī)先將EK通過RSA算法進(jìn)行解密(使用密鑰KPRI)。解密出的數(shù)據(jù)就是DES算法使用的KDES。接下來,打印機(jī)使用以KDES作為密鑰的DES算法將EM解密出明文數(shù)據(jù)M與認(rèn)證碼C。打印機(jī)比較C與C’是否相同,如果相同,那么打印機(jī)將把C’加1,并繼續(xù)處理M,否則直接拋棄數(shù)據(jù)M。
本發(fā)明所述方法中打印機(jī)端的數(shù)據(jù)處理過程如圖6所示打印機(jī)將保存在認(rèn)證碼生成器中的當(dāng)前的認(rèn)證碼C’和打印機(jī)公鑰KPUB發(fā)送給打印驅(qū)動程序。
接收打印數(shù)據(jù)EK和EM;使用RSA算法,以KPRI為密鑰,從EK中解密出KDES;以KDES作為密鑰,使用DES算法從EM中在解密出C與M;比較C與C’是否相等,如果相等,C’加1,否則等待下一個作業(yè)到來;對數(shù)據(jù)M進(jìn)行打印,完成該作業(yè);等待下一個作業(yè)到來。
本發(fā)明所述方法的實(shí)施例中打印機(jī)與用戶端打印驅(qū)動程序交互的流程如圖7所示。
步驟10當(dāng)用戶有數(shù)據(jù)M需要進(jìn)行打印時,用戶主機(jī)上的帶有安全模塊的打印驅(qū)動程序向打印機(jī)發(fā)送認(rèn)證數(shù)據(jù)的請求;步驟20安裝有安全模塊的打印機(jī)接受打印驅(qū)動程序發(fā)送來的請求,生成認(rèn)證數(shù)據(jù),并將該認(rèn)證碼C和公鑰KPUB發(fā)送給打印驅(qū)動程序;步驟30打印驅(qū)動程序接收打印機(jī)發(fā)送來的認(rèn)證數(shù)據(jù)后,隨機(jī)生成一個DES密鑰KDES,并通過RSA算法將其加密為加密DES密鑰EK,其中,RSA算法使用的公鑰為打印機(jī)發(fā)送來的公鑰KPUB;步驟40將需要打印的數(shù)據(jù)M與認(rèn)證碼C一起用DES算法加密為加密打印數(shù)據(jù)EM,其中,DES算法使用的密鑰為DES密鑰KDES;步驟50將加密后的打印數(shù)據(jù)EM和加密DES密鑰EK傳送給打印機(jī);步驟60打印機(jī)接收加密后的打印數(shù)據(jù);步驟70通過RSA算法對加密DES密鑰EK進(jìn)行解密,得到DES密鑰KDES,其中,RSA算法使用的密鑰KPRI;(其中,KPRI為存儲在RSA公鑰、密鑰靜態(tài)存儲區(qū)內(nèi)、與打印機(jī)發(fā)送的公鑰相對應(yīng)的密鑰。)步驟80使用解密出的DES密鑰KDES,通過DES算法對加密的打印數(shù)據(jù)EM進(jìn)行解密,得到打印數(shù)據(jù)M和認(rèn)證碼C;步驟90比較解密出來的認(rèn)證碼C與保存在當(dāng)前認(rèn)證碼生成靜態(tài)存儲區(qū)內(nèi)的認(rèn)證碼C’是否相等,如相等,則認(rèn)證數(shù)據(jù)有效,同時,當(dāng)前認(rèn)證碼生成靜態(tài)存儲區(qū)內(nèi)的認(rèn)證碼C’加1,如不相等,則無效,廢棄該打印作業(yè)。
在圖7中,對于C的計(jì)數(shù)是一個關(guān)鍵的問題。打印機(jī)一定要確保每次生成的認(rèn)證碼C均不相同。本發(fā)明是這樣處理的如果打印作業(yè)成功,則認(rèn)證碼計(jì)數(shù)器加1的方式。這樣,如果上次請求被成功處理,那么打印驅(qū)動程序本次請求到的認(rèn)證碼C將比上次的認(rèn)證碼大1。由于打印機(jī)認(rèn)證碼寄存器是32位的,這樣,在打印機(jī)的壽命期間內(nèi),最多可以打印232個文檔。
可以對能夠打印的最大文檔數(shù)作一個估計(jì)。設(shè)打印機(jī)處理一個文檔需要1分鐘的時間,那么如果打印232個文檔,共需要 這已經(jīng)遠(yuǎn)遠(yuǎn)的超出了一臺打印機(jī)的使用壽命。所以,使用認(rèn)證碼每次加1的方式可以在保證生成的認(rèn)證碼不會在打印機(jī)壽命期間內(nèi)出現(xiàn)重復(fù),這滿足了信息安全的要求。
唯一的RSA公鑰、密鑰對的生成說明應(yīng)用于RSA算法的打印機(jī)公鑰、密鑰對是在打印機(jī)出廠前寫入到打印機(jī)中的。每個打印機(jī)都應(yīng)該具有唯一的RSA公鑰、密鑰對。算法如下尋找素?cái)?shù) p1=g(p0),p2=g(p1)使其滿足 p=2p1+1,q=2p2+1為素?cái)?shù)其中的g(x)為素?cái)?shù)發(fā)生器。它返回一個大于輸入?yún)?shù)x的最小素?cái)?shù),同時需要滿足p=2p1+1和q=2p2+1也為素?cái)?shù)。這樣的p、q稱為安全素?cái)?shù)。令n=pq,進(jìn)而選擇d使其滿足gcd(d,Ф(n))=1,其中Ф(n)=(p-1)(q-1)然后通過e·d≡1(modФ(n))計(jì)算出e。這樣就生成了一個公鑰(n,e)和密鑰(n,d)對。通過上面的方法進(jìn)行迭代,就可以產(chǎn)生多組公鑰密鑰對了。
最后所應(yīng)說明的是以上實(shí)施例僅用以說明而非限制本發(fā)明的技術(shù)方案,盡管參照上述實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解依然可以對本發(fā)明進(jìn)行修改或者等同替換,而不脫離本發(fā)明的精神和范圍的任何修改或局部替換,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
權(quán)利要求
1.一種保證數(shù)據(jù)安全傳輸?shù)拇蛴】刂品椒?,其特征在于,包括如下步驟步驟100當(dāng)用戶有數(shù)據(jù)需要進(jìn)行打印時,用戶主機(jī)上的帶有安全模塊的打印驅(qū)動程序向打印機(jī)發(fā)送認(rèn)證數(shù)據(jù)的請求;步驟200安裝有安全模塊的打印機(jī)接受打印驅(qū)動程序發(fā)送來的請求,生成認(rèn)證數(shù)據(jù),并將該認(rèn)證數(shù)據(jù)發(fā)送給打印驅(qū)動程序;步驟300打印驅(qū)動程序?qū)⑿枰蛴〉臄?shù)據(jù)與認(rèn)證數(shù)據(jù)一起加密,并將加密后的打印數(shù)據(jù)傳送給打印機(jī);步驟400打印機(jī)接收加密后的打印數(shù)據(jù),對其進(jìn)行解密,得到需要打印的數(shù)據(jù)和認(rèn)證數(shù)據(jù);步驟500打印機(jī)檢驗(yàn)認(rèn)證數(shù)據(jù)是否為有效的認(rèn)證數(shù)據(jù),如果有效,則打印;否則,將廢棄該打印作業(yè)。
2.根據(jù)權(quán)利要求1所述的保證數(shù)據(jù)安全傳輸?shù)拇蛴】刂品椒?,其特征在于,所述步驟100及步驟200中的認(rèn)證數(shù)據(jù)包括認(rèn)證碼及公鑰,其中,認(rèn)證碼存儲在打印機(jī)認(rèn)證碼生成靜態(tài)存儲區(qū)內(nèi),公鑰存儲在RSA公鑰、密鑰靜態(tài)存儲區(qū)內(nèi)。
3.根據(jù)權(quán)利要求2所述的保證數(shù)據(jù)安全傳輸?shù)拇蛴】刂品椒?,其特征在于,所述認(rèn)證碼生成靜態(tài)存儲區(qū)長度不少于8位。
4.根據(jù)權(quán)利要求2所述的保證數(shù)據(jù)安全傳輸?shù)拇蛴】刂品椒?,其特征在于,所述RSA公鑰、密鑰靜態(tài)存儲區(qū)的長度不少于64位。
5.根據(jù)權(quán)利要求2或3所述的保證數(shù)據(jù)安全傳輸?shù)拇蛴】刂品椒?,其特征在于,存儲在打印機(jī)認(rèn)證碼生成靜態(tài)存儲區(qū)內(nèi)的認(rèn)證碼在打印機(jī)出廠前初始為0。
6.根據(jù)權(quán)利要求2或3或4所述的保證數(shù)據(jù)安全傳輸?shù)拇蛴】刂品椒?,其特征在于,存儲在RSA公鑰、密鑰靜態(tài)存儲區(qū)內(nèi)的公鑰與密鑰相對應(yīng),所述的RSA公鑰、密鑰對是在打印機(jī)出廠前寫入到RSA公鑰、密鑰靜態(tài)存儲區(qū)內(nèi)的,且每個打印機(jī)的RSA公鑰、密鑰對均不相同。
7.根據(jù)權(quán)利要求2所述的保證數(shù)據(jù)安全傳輸?shù)拇蛴】刂品椒ǎ涮卣髟谟?,在步驟300中,打印驅(qū)動程序?qū)⑿枰蛴〉臄?shù)據(jù)與認(rèn)證數(shù)據(jù)一起加密的過程為打印驅(qū)動程序接收打印機(jī)發(fā)送來的認(rèn)證數(shù)據(jù)后,隨機(jī)生成一個DES密鑰,并通過RSA算法將其加密為加密DES密鑰,其中,RSA算法使用的公鑰為打印機(jī)發(fā)送來的公鑰;將需要打印的數(shù)據(jù)與認(rèn)證碼一起用DES算法加密為加密打印數(shù)據(jù),其中,DES算法使用的密鑰為DES密鑰;將加密后的打印數(shù)據(jù)和加密DES密鑰傳送給打印機(jī)。
8.根據(jù)權(quán)利要求7所述的保證數(shù)據(jù)安全傳輸?shù)拇蛴】刂品椒?,其特征在于,所述的DES密鑰的長度不少于56位。
9.根據(jù)權(quán)利要求2或7或8所述的保證數(shù)據(jù)安全傳輸?shù)拇蛴】刂品椒?,其特征在于,所述的步驟400中,打印機(jī)對打印數(shù)據(jù)進(jìn)行解密的過程為首先通過RSA算法對加密DES密鑰進(jìn)行解密,得到DES密鑰,其中,RSA算法使用的密鑰為存儲在RSA公鑰、密鑰靜態(tài)存儲區(qū)內(nèi)、與打印機(jī)發(fā)送的公鑰相對應(yīng)的密鑰KPRI;接著,使用解密出的DES密鑰,通過DES算法對加密的打印數(shù)據(jù)進(jìn)行解密,得到打印數(shù)據(jù)和認(rèn)證碼。
10.根據(jù)權(quán)利要求9所述的保證數(shù)據(jù)安全傳輸?shù)拇蛴】刂品椒?,其特征在于,所述的步驟500中,打印機(jī)檢驗(yàn)認(rèn)證數(shù)據(jù)是否為有效的認(rèn)證數(shù)據(jù)的方法為比較解密出來的認(rèn)證碼與保存在當(dāng)前認(rèn)證碼生成靜態(tài)存儲區(qū)內(nèi)的認(rèn)證碼是否相等,如相等,則認(rèn)證數(shù)據(jù)有效,同時,當(dāng)前認(rèn)證碼生成靜態(tài)存儲區(qū)內(nèi)的認(rèn)證碼加1,如不相等,則無效,廢棄該打印作業(yè)。
全文摘要
一種保證數(shù)據(jù)安全傳輸?shù)拇蛴】刂品椒?,包括?dāng)用戶有數(shù)據(jù)需要進(jìn)行打印時,用戶主機(jī)上的帶有安全模塊的打印驅(qū)動程序向打印機(jī)發(fā)送認(rèn)證數(shù)據(jù)的請求;安裝有安全模塊的打印機(jī)接受該請求,生成認(rèn)證數(shù)據(jù),并將該認(rèn)證數(shù)據(jù)發(fā)送給打印驅(qū)動程序;打印驅(qū)動程序?qū)⑿枰蛴〉臄?shù)據(jù)與認(rèn)證數(shù)據(jù)一起加密,并將加密后的打印數(shù)據(jù)傳送給打印機(jī);打印機(jī)接收加密后的打印數(shù)據(jù),并解密,得到需要打印的數(shù)據(jù)和認(rèn)證數(shù)據(jù);檢驗(yàn)認(rèn)證數(shù)據(jù)是否為有效的認(rèn)證數(shù)據(jù),如果有效,打??;否則,廢棄該打印作業(yè)。本發(fā)明采用加密機(jī)制,使得被打印的數(shù)據(jù)文件只能由其所有者進(jìn)行打印,其他人無法通過所截獲的打印數(shù)據(jù)獲取被打印文檔的內(nèi)容,從而保證用戶打印的文檔數(shù)據(jù)不會被他人獲取。
文檔編號G06F3/12GK1632738SQ200310121780
公開日2005年6月29日 申請日期2003年12月23日 優(yōu)先權(quán)日2003年12月23日
發(fā)明者劉為, 柯妍 申請人:聯(lián)想(北京)有限公司