專利名稱:一種用于cad文檔的簽章水印系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于CAD文檔的簽章水印系統(tǒng),屬于機械制圖領(lǐng)域。
背景技術(shù):
當前,CAD工程制圖軟件因其圖形精度高,繪制速度快,傳輸保存方便等優(yōu)點,逐步 取代了手工制圖而成為建筑設計,零件制造以及導彈、車輛設計等部門的首選。但是,它在 給工程師和設計師們帶來便利的同時,也給電子圖紙及其承載的知識產(chǎn)權(quán)的安全帶來了嚴 峻挑戰(zhàn)。在電子圖紙的傳播過程中,人們可以方便、完整地復制、修改原圖,這樣極有可能引 起機密信息的泄漏,知識產(chǎn)權(quán)糾紛等問題。CAD圖紙以矢量圖形式存儲,不能直接應用傳統(tǒng)的基于標量的圖像安全技術(shù),而如 今的矢量圖軟件安全設計方面,仍然沒有一個能對各安全方面都有考慮到的軟件。另外, CAD圖紙的DWG文件的格式一直未公開,這又給針對AutoCAD圖紙的安全應用方案的設計增 加了難度。現(xiàn)有的針對電子圖紙的安全解決方案主要包括基于版式文檔的保護、嵌入圖章以 及最近出現(xiàn)的針對CAD圖紙的加密狗。但是這些方式在安全保護手段上都多少存在著隱患 或缺點。版式保護完全刪除了文檔中的結(jié)構(gòu)化信息(例如PDF文檔),使得其難于編輯,從 版式文檔恢復成原文檔的難度非常大,而且在版式文檔上直接對元素進行編輯幾乎不可能 實現(xiàn);簽章(例如優(yōu)泰科技公司的電子簽章系統(tǒng),采用COM技術(shù)將標量的簽章圖像與電子 圖紙相關(guān)聯(lián))往往是標量圖,不能與矢量圖紙完全兼容,使得簽章操作受到很大限制;盡管 加密狗安全性較高,但在加密狗使用前(即制圖完畢與加密的中間環(huán)節(jié))無法確認其簽發(fā) 者.
發(fā)明內(nèi)容
本發(fā)明目的是為了解決現(xiàn)有CAD簽章系統(tǒng)還原文檔難度大;即使和加密聯(lián)手保護 文檔也存在無法確認簽發(fā)者的問題。提供了一種用于CAD文檔的簽章水印系統(tǒng)。本發(fā)明所述一種用于CAD文檔的簽章水印系統(tǒng),它包括簽章模塊、驗章模塊和還 原模塊,簽章模塊用于將設定的章形分解后嵌入到原始CAD文檔中,并嵌入簽名信息水印 和篡改定位信息水印進行簽章,然后將簽章后的CAD圖形發(fā)布;驗章模塊用于對接收到的簽章后的CAD文檔進行完整性的驗證提取該CAD文檔 的簽名信息,用于驗證該CAD文檔的簽名是否是偽造的;還原該CAD文檔的水印圖形,用于 驗證該CAD文檔是否被篡改,當圖形被篡改的情況能給出篡改定位信息;還原模塊用于還原驗章通過的CAD文檔。其中,簽章模塊的工作流程為步驟一、判斷該CAD文檔是否已被蓋章,判斷結(jié)果為是,退出該程序;判斷結(jié)果為否,執(zhí)行步驟二 ;
步驟二、對CAD文檔進行蓋章操作,獲得含章形的CAD文檔;步驟三、在含章形的CAD文檔上嵌入該CAD文檔的簽名信息水??;步驟四、在含章形的CAD文檔上嵌入該CAD文檔的篡改信息水印,完成該CAD文檔 的簽章,并將簽章后的CAD圖形發(fā)布。驗章模塊的工作流程為步驟1、判斷接收的CAD文檔是否已被蓋章,判斷結(jié)果為是,執(zhí)行步驟2,判斷結(jié)果為否,該CAD文檔無法進行驗章操作,退出程 序;步驟2、采用篡改定位水印算法提取出該CAD文檔中的脆弱水印,步驟3、根據(jù)所述脆弱水印信息判斷該CAD文檔是否被篡改,判斷結(jié)果為是,標識出篡改位置,驗章失敗;判斷結(jié)果為否,執(zhí)行步驟4 ;步驟4、采用8點DCT可逆水印算法提取可逆水印,即為該CAD文檔嵌入的簽名信 息?步驟5、判斷該CAD文檔的簽名信息是否正確,判斷結(jié)果為是,驗章成功;判斷結(jié)果為否,驗章失敗。還原模塊的工作流程為步驟A、判斷CAD文檔是否已經(jīng)被還原,判斷結(jié)果為是,退出該程序;判斷結(jié)果為否,執(zhí)行步驟B ;步驟B、判斷該CAD文檔是否通過驗章,判斷結(jié)果為是,執(zhí)行步驟C ;判斷結(jié)果為否,驗章未通過,退出該程序;步驟C、還原該CAD文檔的篡改信息水印;步驟D、還原該CAD文檔的簽名信息水印,完成該CAD文檔的還原。本發(fā)明的優(yōu)點本發(fā)明系統(tǒng)首先進行可逆水印的嵌入然后再進行脆弱水印的嵌 入。由于基于整數(shù)變換的可逆水印技術(shù)具有能夠精確還原原始圖形的特性,且具有較大的 容量,我們可以將簽名信息嵌入到原始作品中,這樣在提取簽名信息的同時,圖形也被還原 成最初始的狀態(tài),完好地保證了圖形來源的真實性。而基于網(wǎng)格劃分的脆弱水印算法作為 系統(tǒng)最外層的保護方案,對篡改的敏感性以及圖形拓撲結(jié)構(gòu)的不變性玩好地保證了圖形的 完整性,矢量圖電子作品在繪制完成以及傳輸?shù)倪^程的安全性也就得到了良好的保護。
圖1是本發(fā)明的簽章水銀系統(tǒng)對CAD文檔進行簽章的過程圖;圖2是實施方式二所述的簽章模塊的工作流程圖;圖3是實施方式四所述的在含章形的CAD文檔上嵌入該CAD文檔的簽名信息水印 的工作流程圖;圖4是實施方式五所述的在含章形的CAD文檔上嵌入該CAD文檔的篡改信息水印 的工作流程圖;圖5是實施方式六所述的驗章模塊的工作流程圖;圖6是實施方式七所述的判斷該CAD文檔是否被篡改的工作流程圖;圖7是實施方式八所述的判斷該CAD文檔的簽名信息是否正確的工作流程圖8是實施方式九所述的還原模塊的工作流程圖。
具體實施例方式具體實施方式
一下面結(jié)合圖1至圖8說明本實施方式,本實施方式所述一種用于 CAD文檔的簽章水印系統(tǒng),它包括簽章模塊、驗章模塊和還原模塊,簽章模塊用于將設定的章形分解后嵌入到原始CAD文檔中,并嵌入簽名信息水印 和篡改定位信息水印進行簽章,然后將簽章后的CAD圖形發(fā)布;驗章模塊用于對接收到的簽章后的CAD文檔進行完整性的驗證提取該CAD文檔 的簽名信息,用于驗證該CAD文檔的簽名是否是偽造的;還原該CAD文檔的水印圖形,用于 驗證該CAD文檔是否被篡改,當圖形被篡改的情況能給出篡改定位信息;還原模塊用于還原驗章通過的CAD文檔。本實施方式對各安全方面進行了綜合考慮,設計并實現(xiàn)了基于多重水印技術(shù)的矢 量圖簽章水印,該系統(tǒng)使用可逆水印技術(shù)嵌入發(fā)送者的數(shù)字簽名信息并使用加密狗技術(shù)對 圖形文件進行加密,從根本上保護了矢量圖的安全性。簽章模塊,簽章部分主要包括章形文件的嵌入,第一次脆弱可篡改定位水印的嵌 入以及第二次可逆水印的嵌入。圖2描述了簽章的主要過程。在對整個繪制完成的圖形進 行章形文件的嵌入以后,系統(tǒng)將對包含章形文件的整個圖形進行第一次水印即將簽名信息 用可逆水印的方式的嵌入。在得到嵌入完成的圖形之后,立即使用第二次水印算法即脆弱 水印的方式嵌入圖形的每個分塊信息。這樣即得到了嵌入完成的作品。驗章模塊,驗章模塊主要包含了對接收到的圖形進行完整性的驗證、簽名信息的 提取及驗證以及水印圖形的還原。在圖形被篡改的情況下能給出篡改定位信息,在簽名信 息驗證不通過的情況下能夠告知用戶簽名是偽造的。驗章的流程參見圖5。還原模塊,如圖8所示,還原之前首先對對圖形中是否存在水印信息進行判定,只 有包含水印信息并且前兩步驗證通過的圖紙才能還原到初始狀態(tài),而被篡改過或者是簽名 來源驗證失敗的圖紙將不能被還原。
具體實施方式
二 下面結(jié)合圖1和圖2說明本實施方式,本實施方式對實施方式一 作進一步說明,簽章模塊的工作流程為步驟一、判斷該CAD文檔是否已被蓋章,判斷結(jié)果為是,退出該程序;判斷結(jié)果為否,執(zhí)行步驟二 ;步驟二、對CAD文檔進行蓋章操作,獲得含章形的CAD文檔;步驟三、在含章形的CAD文檔上嵌入該CAD文檔的簽名信息水??;步驟四、在含章形的CAD文檔上嵌入該CAD文檔的篡改信息水印,完成該CAD文檔 的簽章,并將簽章后的CAD圖形發(fā)布。首先是在CAD文檔上蓋章。該部分的主要功能是將章形插入到原始圖形當中,并 且將章塊進行分解,為水印的嵌入做好準備。步驟三中是簽名信息水印的嵌入。參見圖3,要保證圖形來源的真實性,最好的方 式就是使用發(fā)送者對圖形的哈希使用其私鑰進行加密后將該簽名信息使用水印的方式嵌 入到原始圖形中。使用8點整數(shù)DCT算法,將圖形中所有數(shù)據(jù)信息進行哈希之后,使用發(fā)送 者的私鑰對其進行簽名,得到IOM位的簽名信息,將該信息作為水印信息,使用8點整數(shù)DCT算法嵌入到原始圖形當中,該算法良好的容量以及幾乎不改變圖形視覺特性的特點十 分適合該步的目的。步驟四中是篡改定位信息水印的嵌入。參見圖4,在第一次的水印嵌入之后,我們 使用可篡改定位的水印方式來進行對圖形完整性的保護。該算法在嵌入之前需要進行一次 對原始圖形的初始化工作。該算法的主要思想是將水印信息嵌入到圖形實體的直線當中, 而直線端點的坐標大小則指示出了該位水印信息。
具體實施方式
三本實施方式對實施方式二作進一步說明,步驟二所述對CAD文 檔進行蓋章操作的過程為將設定好的章塊進行分解,然后加載入CAD文檔中。
具體實施方式
四下面結(jié)合圖3說明本實施方式,本實施方式對實施方式二作進 一步說明,步驟三中在含章形的CAD文檔上嵌入該CAD文檔的簽名信息水印的工作流程 為步驟三a、遍歷含章形CAD文檔,獲取所有直線實體的坐標數(shù)據(jù);步驟三b、根據(jù)步驟三a獲取的坐標數(shù)據(jù)計算出所述含章形CAD文檔的哈希值,所 述哈希值為1 位;步驟三C、根據(jù)加密狗中的私鑰及步驟三b獲取的哈希值獲取IOM位簽名信息;步驟三d、采用8點DCT可逆水印算法將步驟三c獲取的IOM位簽名信息嵌入到 含章形的CAD文檔中,完成在含章形的CAD文檔上嵌入該CAD文檔的簽名信息水印的工作。
具體實施方式
五下面結(jié)合圖4說明本實施方式,本實施方式對實施方式二作進 一步說明,步驟四中在含章形的CAD文檔上嵌入該CAD文檔的篡改信息水印的工作流程 為步驟四a、將含章形的CAD文檔進行圖形初始化;步驟四b、對步驟四a處理后的CAD文檔按迭代劃分規(guī)則進行自適應分塊;步驟四C、獲取該CAD文檔每一個分塊的實體數(shù)據(jù)的哈希值;步驟四d、根據(jù)對CAD文檔的迭代劃分規(guī)則確定哈希值的精度位;步驟四e、根據(jù)精度位,采用脆弱水印算法將水印嵌入到每一個分塊中,完成在含 章形的CAD文檔上嵌入該CAD文檔的篡改信息水印的過程。
具體實施方式
六下面結(jié)合圖5說明本實施方式,本實施方式對實施方式一作進 一步說明,驗章模塊的工作流程為步驟1、判斷接收的CAD文檔是否已被蓋章,判斷結(jié)果為是,執(zhí)行步驟2,判斷結(jié)果為否,該CAD文檔無法進行驗章操作,退出程 序;步驟2、采用篡改定位水印算法提取出該CAD文檔中的脆弱水印,步驟3、根據(jù)所述脆弱水印信息判斷該CAD文檔是否被篡改,判斷結(jié)果為是,標識出篡改位置,并輸出驗章失敗信息;判斷結(jié)果為否,執(zhí)行步驟 4;步驟4、采用8點DCT可逆水印算法提取可逆水印,即為該CAD文檔嵌入的簽名信 息?步驟5、判斷該CAD文檔的簽名信息是否正確,判斷結(jié)果為是,輸出驗章成功信息;判斷結(jié)果為否,輸出驗章失敗信息。
驗章主要包括兩大塊1、篡改定位及其脆弱水印的驗證。接收者拿到手中的圖形是一張既包含了簽章簽 名信息,又包含了篡改定位信息的圖形。按照多重水印嵌入的順序,我們必須首先對篡改定 位信息進行提取并進行驗證,在驗證通過的情況下才能進行下一步的工作。篡改定位及其 脆弱水印的驗證流程圖參見圖6。2、簽名及其可逆水印的驗證。在上一步篡改定位驗證通過以后,我們可以拿到一 張只包含簽名水印的圖形。此時,接收者要驗證該圖之中包含的簽名信息是否是真實的, 首先要使用可逆水印算法將水印信息提取出,該提取出的水印信息即為需要驗證的簽名信 息。在提取出水印信息的同時,由于使用可逆水印算法對圖形進行水印的嵌入,在圖形沒有 被篡改的情況下,我們能夠得到嵌入水印即簽名信息之前的圖形。由于驗證者持有簽名者 的公鑰,所以能夠使用該公鑰對還原后圖形哈希進行簽名,從而進行該簽名信息與提取出 的簽名信息進行對比,確定圖形的來源是否真實。簽名及其可逆水印的驗證過程參見圖7。
具體實施方式
七下面結(jié)合圖6說明本實施方式,本實施方式對實施方式六作進 一步說明,步驟3中判斷該CAD文檔是否被篡改的過程為步驟31、將步驟2提取出的脆弱水印劃分的該CAD文檔每塊的水印信息;步驟32、判斷每塊的水印信息是否相同,判斷結(jié)果為是,該CAD文檔沒有被篡改,結(jié)束該步驟的驗證;判斷結(jié)果為否,則該 CAD文檔被篡改過,并用紅色框?qū)⒋鄹牟糠謽俗R出。
具體實施方式
八下面結(jié)合圖7說明本實施方式,本實施方式對實施方式六作進 一步說明,步驟5中判斷該CAD文檔的簽名信息是否正確的過程為步驟51、遍歷含章形CAD文檔,獲取所有直線實體的坐標數(shù)據(jù);步驟52、根據(jù)步驟51獲取的坐標數(shù)據(jù)計算出所述含章形CAD文檔的哈希值,所述 哈希值為1 位;步驟53、根據(jù)從加密狗中的私鑰及步驟52獲取的哈希值獲取IOM位簽名信息;步驟M、將步驟53獲取的簽名信息與步驟4獲取的簽名信息進行比較,比較結(jié)果如果一致,則該CAD文檔的簽名驗證正確;比較結(jié)果不一致,則該CAD文 檔的簽名驗證失敗。
具體實施方式
九下面結(jié)合圖8說明本實施方式,本實施方式對實施方式一作進 一步說明,還原模塊的工作流程為步驟A、判斷CAD文檔是否已經(jīng)被還原,判斷結(jié)果為是,退出該程序;判斷結(jié)果為否,執(zhí)行步驟B ;步驟B、判斷該CAD文檔是否通過驗章,判斷結(jié)果為是,執(zhí)行步驟C ;判斷結(jié)果為否,驗章未通過,退出該程序;步驟C、還原該CAD文檔的篡改信息水印;步驟D、還原該CAD文檔的簽名信息水印,完成該CAD文檔的還原。
權(quán)利要求
1.一種用于CAD文檔的簽章水印系統(tǒng),其特征在于,它包括簽章模塊、驗章模塊和還原 模塊,簽章模塊用于將設定的章形分解后嵌入到原始CAD文檔中,并嵌入簽名信息水印和篡 改定位信息水印進行簽章,然后將簽章后的CAD圖形發(fā)布;驗章模塊用于對接收到的簽章后的CAD文檔進行完整性的驗證提取該CAD文檔的簽 名信息,用于驗證該CAD文檔的簽名是否是偽造的;還原該CAD文檔的水印圖形,用于驗證 該CAD文檔是否被篡改,當圖形被篡改的情況能給出篡改定位信息; 還原模塊用于還原驗章通過的CAD文檔。
2.根據(jù)權(quán)利要求1所述的一種用于CAD文檔的簽章水印系統(tǒng),其特征在于,簽章模塊的 工作流程為步驟一、判斷該CAD文檔是否已被蓋章, 判斷結(jié)果為是,退出該程序;判斷結(jié)果為否,執(zhí)行步驟二 ; 步驟二、對CAD文檔進行蓋章操作,獲得含章形的CAD文檔; 步驟三、在含章形的CAD文檔上嵌入該CAD文檔的簽名信息水印; 步驟四、在含章形的CAD文檔上嵌入該CAD文檔的篡改信息水印,完成該CAD文檔的簽 章,并將簽章后的CAD圖形發(fā)布。
3.根據(jù)權(quán)利要求2所述的一種用于CAD文檔的簽章水印系統(tǒng),其特征在于,步驟二所述 對CAD文檔進行蓋章操作的過程為將設定好的章塊進行分解,然后加載入CAD文檔中。
4.根據(jù)權(quán)利要求2所述的一種用于CAD文檔的簽章水印系統(tǒng),其特征在于,步驟三中在 含章形的CAD文檔上嵌入該CAD文檔的簽名信息水印的工作流程為步驟三a、遍歷含章形CAD文檔,獲取所有直線實體的坐標數(shù)據(jù); 步驟三b、根據(jù)步驟三a獲取的坐標數(shù)據(jù)計算出所述含章形CAD文檔的哈希值,所述哈 希值為1 位;步驟三C、根據(jù)加密狗中的私鑰及步驟三b獲取的哈希值獲取IOM位簽名信息; 步驟三d、采用8點DCT可逆水印算法將步驟三c獲取的IOM位簽名信息嵌入到含章 形的CAD文檔中,完成在含章形的CAD文檔上嵌入該CAD文檔的簽名信息水印的工作。
5.根據(jù)權(quán)利要求2所述的一種用于CAD文檔的簽章水印系統(tǒng),其特征在于,步驟四中在 含章形的CAD文檔上嵌入該CAD文檔的篡改信息水印的工作流程為步驟四a、將含章形的CAD文檔進行圖形初始化;步驟四b、對步驟四a處理后的CAD文檔按迭代劃分規(guī)則進行自適應分塊; 步驟四c、獲取該CAD文檔每一個分塊的實體數(shù)據(jù)的哈希值; 步驟四d、根據(jù)對CAD文檔的迭代劃分規(guī)則確定哈希值的精度位; 步驟四e、根據(jù)精度位,采用脆弱水印算法將水印嵌入到每一個分塊中,完成在含章形 的CAD文檔上嵌入該CAD文檔的篡改信息水印的過程。
6.根據(jù)權(quán)利要求1所述的一種用于CAD文檔的簽章水印系統(tǒng),其特征在于,驗章模塊的 工作流程為步驟1、判斷接收的CAD文檔是否已被蓋章,判斷結(jié)果為是,執(zhí)行步驟2,判斷結(jié)果為否,該CAD文檔無法進行驗章操作,退出程序; 步驟2、采用篡改定位水印算法提取出該CAD文檔中的脆弱水印,步驟3、根據(jù)所述脆弱水印信息判斷該CAD文檔是否被篡改,判斷結(jié)果為是,標識出篡改位置,并輸出驗章失敗信息;判斷結(jié)果為否,執(zhí)行步驟4 ;步驟4、采用8點DCT可逆水印算法提取可逆水印,即為該CAD文檔嵌入的簽名信息,步驟5、判斷該CAD文檔的簽名信息是否正確,判斷結(jié)果為是,輸出驗章成功信息;判斷結(jié)果為否,輸出驗章失敗信息。
7.根據(jù)權(quán)利要求6所述的一種用于CAD文檔的簽章水印系統(tǒng),其特征在于,步驟3中判 斷該CAD文檔是否被篡改的過程為步驟31、將步驟2提取出的脆弱水印劃分的該CAD文檔每塊的水印信息; 步驟32、判斷每塊的水印信息是否相同,判斷結(jié)果為是,該CAD文檔沒有被篡改,結(jié)束該步驟的驗證;判斷結(jié)果為否,則該CAD文 檔被篡改過,并用紅色框?qū)⒋鄹牟糠謽俗R出。
8.根據(jù)權(quán)利要求6所述的一種用于CAD文檔的簽章水印系統(tǒng),其特征在于,步驟5中判 斷該CAD文檔的簽名信息是否正確的過程為步驟51、遍歷含章形CAD文檔,獲取所有直線實體的坐標數(shù)據(jù); 步驟52、根據(jù)步驟51獲取的坐標數(shù)據(jù)計算出所述含章形CAD文檔的哈希值,所述哈希 值為1 位;步驟53、根據(jù)從加密狗中的私鑰及步驟52獲取的哈希值獲取IOM位簽名信息; 步驟M、將步驟53獲取的簽名信息與步驟4獲取的簽名信息進行比較, 比較結(jié)果如果一致,則該CAD文檔的簽名驗證正確;比較結(jié)果不一致,則該CAD文檔的 簽名驗證失敗。
9.根據(jù)權(quán)利要求1所述的一種用于CAD文檔的簽章水印系統(tǒng),其特征在于,還原模塊的 工作流程為步驟A、判斷CAD文檔是否已經(jīng)被還原,判斷結(jié)果為是,退出該程序;判斷結(jié)果為否,執(zhí)行步驟B ;步驟B、判斷該CAD文檔是否通過驗章,判斷結(jié)果為是,執(zhí)行步驟C ;判斷結(jié)果為否,驗章未通過,退出該程序;步驟C、還原該CAD文檔的篡改信息水印;步驟D、還原該CAD文檔的簽名信息水印,完成該CAD文檔的還原。
全文摘要
一種用于CAD文檔的簽章水印系統(tǒng),屬于機械制圖領(lǐng)域,本發(fā)明為解決現(xiàn)有CAD簽章系統(tǒng)還原文檔難度大;即使和加密聯(lián)手保護文檔也存在無法確認簽發(fā)者的問題。本發(fā)明它包括簽章模塊、驗章模塊和還原模塊,簽章模塊用于將設定的章形分解后嵌入到原始CAD文檔中,并嵌入簽名信息水印和篡改定位信息水印進行簽章,然后將簽章后的CAD圖形發(fā)布;驗章模塊用于對接收到的簽章后的CAD文檔進行完整性的驗證提取該CAD文檔的簽名信息,用于驗證該CAD文檔的簽名是否是偽造的;還原該CAD文檔的水印圖形,用于驗證該CAD文檔是否被篡改,當圖形被篡改的情況能給出篡改定位信息;還原模塊用于還原驗章通過的CAD文檔。
文檔編號G06T1/00GK102117476SQ201110094949
公開日2011年7月6日 申請日期2011年4月15日 優(yōu)先權(quán)日2011年4月15日
發(fā)明者李瓊, 牛夏牧, 王莘, 石振鋒, 韓琦 申請人:哈爾濱工業(yè)大學