你目前的位置>>主頁>>AutoCAD>>基礎(chǔ)相關(guān)知識(shí)

               AutoCAD 圖形文件的安全保護(hù)

    摘要:國內(nèi)企業(yè)和設(shè)計(jì)單位使用AutoCAD進(jìn)行輔助設(shè)計(jì)非常普遍,其中AutoCADDWG圖形文件的安全保護(hù)一直是急需解決的重要課題,否則一旦圖形文件流失,很可能會(huì)對原單位的知識(shí)產(chǎn)權(quán)造成傷害,因此有必要尋找一種可靠、方便的圖形文件保護(hù)方法。文中提出了一種簡單、實(shí)用的方法, 可使AutoCAD文檔只能在安裝有相關(guān)系統(tǒng)的AutoCAD中打開、編輯,從而較好地防止了設(shè)計(jì)文檔流失,避免了知識(shí)產(chǎn)權(quán)被侵犯。

    關(guān)鍵詞:計(jì)算機(jī)輔助設(shè)計(jì); DWG圖形文件; AutoCAD;知識(shí)產(chǎn)權(quán)

    1. AutoCAD 的安 全 措 施
   AutoCAD 從 2004 版 開 始 , 提 供 兩 種 措 施 保 證 圖 形 數(shù) 據(jù) 的 可 靠 與 安 全 。 一 是 數(shù) 字 簽 名 , 可 以 保 持 數(shù) 據(jù) 的 真 實(shí)性 , 并 為 發(fā) 送 和 接 收 數(shù) 據(jù) 提 供 一 個(gè) 安 全 的 環(huán) 境 , 用 戶 在 進(jìn)行 工 程 協(xié) 作 、 通 過 Internet 傳 送 圖 形 文 件 時(shí) 能 確 保 文 件 未 被 意 外 更 改 ; 二 是 圖 形 加 密 , 當(dāng) 圖 形 附 加 了 密 碼 時(shí) , 圖形 文 件 在 打 開 時(shí) 必 須 輸 入 正 確 的 密 碼 , 未 經(jīng) 授 權(quán) 的 人 員無 法 查 看 該 圖 形 , 若 選 擇 了“ 加 密 圖 形 特 性 ”, 則 連 縮 略 圖 也 無 法 看 到。對 比 這 兩 種 安 全 措 施 知 道 , 數(shù) 字 簽 名是 為 了 保持 數(shù) 據(jù) 的 真 實(shí) , 在 協(xié) 同 設(shè) 計(jì) 時(shí) 避 免 傳 遞 錯(cuò) 誤 的 數(shù) 據(jù) , 顯然 與 保 護(hù) 圖 形 文 件 的 內(nèi) 容 安 全 關(guān) 系 不 大 。 圖 形 加 密 可 使 得 非 授 權(quán) 人 員 無 法 打 開 圖 形 文 件 , 但 帶 來 的 麻 煩 也 是 顯而 易 見 的 , 因 為 在 一 個(gè) 單 位 中 , 設(shè) 計(jì) 圖 紙 成 千 上 萬 , 設(shè) 計(jì) 人 員 每 天 都 要 調(diào) 用 許 多 圖 紙 用 于 查 閱 、修 改 , 倘 若 每 張 圖 紙 密 碼 各 不 相 同 , 記 住 這 么 多 的 密 碼 顯 然 不 現(xiàn) 實(shí) , 而 采 用相 同 的 密 碼 保 存 圖 形 , 這 樣 的 密 碼 又 形 同 虛 設(shè) , 起 不 到 應(yīng) 有 的 作 用 。當(dāng) 然, 作 為 折 中 的 方 法 , 可 以 僅 對 重 要 的 、含有關(guān) 鍵 設(shè) 計(jì) 信 息 的 圖 紙 進(jìn) 行 加 密 , 但 畢 竟 仍 無 法 從 根 本 上 解 決 安 全 與 方 便 這對 矛 盾 。
   基 于 以 上 分 析 知 道 , 單 純 依 靠 AutoCAD 自 身 的 安 全 措 施 無 法 實(shí) 現(xiàn) 既 安 全 又 方 便 地 防 止 圖 形 文 件 流 失 后 造 成設(shè) 計(jì) 資 料 泄密 , 必 須 對 其 保 護(hù) 方 法 加 以 改 進(jìn) 。
    2. 解決 方 案
    2.1 加密 思 路
   除 去 AutoCAD 自 身 的 密 碼 保 護(hù) 外 , 圖 形 文 件 的 保 護(hù) 有 幾 種 形 式 , 一 是 用 專 門 的 文 件 加 密 工 具 對 整 個(gè) 圖 形 文件 進(jìn) 行 加 密 ; 二 是 對 圖 形 數(shù) 據(jù) 加 密 , 加 密 后 的 圖 形 在AutoCAD 環(huán) 境 中 可 以 查 看 、打 印 , 但 不 能 修 改 。
   從 可 靠 性 方 面 而 言 , 對 整 個(gè) 文 件 完 全 進(jìn) 行 加 密 最 為 安 全 , 但 完 全 加 密 處 理 的 過 程 花 費(fèi) 的 時(shí) 間 較 多 , 文 件 體 積越 大 , 時(shí) 間 消 耗 越 可 觀 。 此 外 , 這 樣 加 密 的 文 件 必 須 解 密
后 才 能 在 AutoCAD 環(huán) 境 中 打 開 、編 輯 , 倘 若 每 個(gè) 文 件 都 要 手 動(dòng) 解 密 再 打 開 , 顯 然 不 勝 其 煩 。 此 外 , 還 有 一 種 圖 形數(shù) 據(jù) 加 密 方 法 , 針 對 文 件 中 的 圖 形 數(shù) 據(jù) 加 密 , 加 密 后 的 圖形 文 件 在 AutoCAD 環(huán) 境 中 能 正 常 打 開 、瀏 覽 , 但 是 不 能在 圖 中 修 改 、編 輯 。 顯 然 , 這 種 加 密 方 法 只 能 防 止 其 他 人 直 接 修 改 、利 用 該 圖 形 文 件 , 并 不 能 防 止 圖 紙 內(nèi) 容 被 泄密 。
    針對 以 上 問 題 , 本文 提 出一種 DWG 圖 形 文 件 的 保 護(hù) 辦 法 : 加 密 系 統(tǒng) 與 AutoCAD 無 縫 結(jié) 合 , 每 次 打 開 圖 形 文件 時(shí) , 系 統(tǒng) 自 動(dòng) 判 斷 其 是 否 為 加 密 文 件 , 是 則 解 密 打 開 圖形 , 否 則 忽 略 操 作 ; 在 保 存 文 件 或 退 出 AutoCAD 系 統(tǒng) 時(shí) ,加 密 系 統(tǒng) 自 動(dòng) 地 對 圖 形 文 件 進(jìn) 行 加 密 處 理 , 即 保 存 后 的DWG 文 件 實(shí) 際 上 是 經(jīng) 本 系 統(tǒng) 加 密 后 的 文 件 , 在 正 常 的AutoCAD 環(huán) 境 中 這 樣 的 圖 形 文 件 不 能 被 打 開 或 編 輯 的 。 這 樣 就 實(shí) 現(xiàn) 了 加 密 后 的 圖 形 文 件 只 能 限 定 在 具 有 相 關(guān) 權(quán)
限 的 AutoCAD 環(huán) 境 中 使 用 , 即 使 圖 形 文 件 意 外 流 失 , 因 為 對 方 沒 有 安 裝 相 應(yīng) 的 系 統(tǒng) , 因 此 無 法 打 開 、編 輯 這 些 圖形 文 件 , 從 而 保證 了 圖 形 文 件 的 數(shù) 據(jù) 安 全 。
    整 個(gè) 過 程 中 , 設(shè) 計(jì) 人 員 像 平 常 那 樣 在 AutoCAD 中 打 開 和 修 改 圖 形 文 件 , 不 需 要 手 工 參 與 加 密- 解 密 過 程 , 因此 操 作 起 來 也 相當(dāng) 方 便 。
     2.2. 實(shí)現(xiàn) 方 法
     2.2.1. 密鑰 系 統(tǒng)
   根 據(jù) 以 上 的 加 密 思 路 , 本 系 統(tǒng) 設(shè) 計(jì) 有 兩 套 密 鑰 , 一 套 為 公 鑰 , 用 于 對 圖 形 文 件 信 息 進(jìn) 行 加 密 /解 密 , 公 鑰 在 安 裝 系 統(tǒng) 的 時(shí) 候 由 系 統(tǒng) 管 理 員 進(jìn) 行 設(shè) 置 , 即 使 安 裝 后 也 可 修 改 ; 另 一 套 為 系 統(tǒng) 密 鑰 , 用 作 系 統(tǒng) 的 身 份 識(shí) 別 , 系 統(tǒng) 密 鑰 經(jīng) 特殊 算 法 隨 機(jī) 生 成 , 一 旦 生 效 即 不 能 再作 修 改 。在 同一 單 位 安 裝 的 系 統(tǒng) 均 分 配 有 相 同 的 系 統(tǒng) 密 鑰 , 而 不 同 單 位 的 系 統(tǒng) 密 鑰 是 不相 同 的 。
     2.2.2. 加密- 解 密 流 程
   在 對 圖 形 文 件 加 密 時(shí) , 首 先 判 斷 該 文 件 是 否 已 被 同 一 系 統(tǒng) 加 密 , 若已加密 , 則不再 進(jìn) 行 二 次 加 密 ; 解 密 時(shí) 先要 驗(yàn) 證 系 統(tǒng) 密 鑰 , 僅 當(dāng) 加 密 文 件 具 有 與 本 系 統(tǒng) 相 同 的 系 統(tǒng) 密 鑰 才 用 公 鑰 進(jìn) 行 解密 , 否 則 提 示 出 錯(cuò) 不 進(jìn) 行 處 理 。因此, 本 系 統(tǒng) 的 密 鑰 機(jī) 制 很 好 地 保 證 了 圖 形 加 密 的 可 靠 性 ,不 用 擔(dān) 心 使 用 本 系 統(tǒng) 的 不 同 單 位 能 互 相 打 開 圖 形 。 具 體的加 密/解 密 流 程 參 見 圖 1。
         

     2.2.3. 加密 措 施
   對 圖 形 文 件 的 加 密 不 僅 要 可 靠 , 而 且 加 密/解 密 的 速 度 要 快 , 以 打 開/保 存 文 件 無 明 顯 的 延 遲 為 標(biāo) 準(zhǔn) 。 對 整 個(gè)文 件 雖 然 較 安 全 , 但 時(shí) 間 花 費(fèi) 也 多 , 因 此 不 推 薦 對 整 個(gè) 文件 進(jìn) 行 加 密 。由 于 DWG 的 文 件頭 記 錄 了 圖 形 文 件 相 關(guān) 的 重要 信 息 , 因 而 只 要 對 DWG 的 文 件 頭 抽 取 若干 關(guān) 鍵 字 節(jié)進(jìn) 行 加 密 即 可 快 速 安 全 地 實(shí) 現(xiàn) 對 DWG 文 件 的 保 護(hù) 。 用UltraEDIT 打開任意 DWG 文件可知( 見圖 2) , DWG 文 件 前6個(gè) 字 節(jié) 記 錄 AutoCAD 的 版 本 號(hào) ; 從 0Ah 處 開 始 的 一 個(gè) 長 整 數(shù) 類 型 的 指 針 , 指 向 預(yù) 覽 圖 片 特 征 字 段 的 開 始 位 置 , 欲使 加 密 后 的 DWG 文 件 仍 可 預(yù) 覽 縮 略圖 , 就 不 能 破 壞 該 處 的 文 件 信 息 。 因 此 , 可 從 文 件 頭 偏 移 80h 位 置 開 始 , 抽 取64~128 字 節(jié) 的 數(shù) 據(jù) 采 用 DES 或 RC2 等 加 密 算 法 進(jìn) 行 加密, 如果對安全性要求不高, 也可以采用簡單的異或加密 。
    
   加 密 用 的 公 鑰 統(tǒng) 一 以 密 文 形 式 存 放 于 特 定 的 密 鑰 文 件 中 , 若 單 位 有 局 域 網(wǎng) , 還 可 設(shè) 置 成 從 服 務(wù) 器 上 讀 取 相 關(guān) 的 密 鑰 文 件 , 進(jìn) 一 步 保 證 加 密 的 可 靠 。 文 件 加 密 后 , 需 作 一 加 密 過 的 標(biāo) 志 , 該 標(biāo) 志 可 存 放 于 密 文 中 , 或 者 保 存 于 文 件頭 40 h~60 h 之 間 的 特 定 位 置 。 限 于 篇 幅 , 略 去 具 體 的 加 密 代 碼 , 加 密 流 程 參 見 圖 3( 其它加密 算 法 過 程 與其 類 似) 。
                         
    經(jīng) 過 以上 方 法 處 理 過 的 DWG 圖 形 文 件 在 未 安 裝 本 系 統(tǒng) 的 AutoCAD 環(huán) 境 下 可 以 看 到 縮 略 圖 , 但 是 打 開文件 時(shí) 會(huì) 提 示“ 圖 形 文 件 無 效 ”, 無法 打 開 圖 形 , 而 且 也 無 法 用AutoCAD 自 身 的 圖 形 核 查 和 修 復(fù) 功 能 進(jìn) 行 修 復(fù) , 因 此 即 使 將 該 文 件拷 貝 到 外 單 位 , 因 對 方 未 安 裝 本 系統(tǒng) , 或 者 因 為 系 統(tǒng) 密 鑰 的 不 同 , 加 密后 的 圖 形 文 件 均 無 法 打 開 。
     3. AutoCAD 系統(tǒng) 配 置
    3.1 命令 定 制
   要 自 動(dòng) 執(zhí) 行 以 上 加 密 /解 密 過 程 , 需 要 禁用 并 重 新 定 制 AutoCAD的 相 關(guān) 命 令 , 由 系 統(tǒng)“ 接 管 ”這 部 分的 功 能 。 例 如 , 在 打 開 文 件 時(shí) 需 要 判 斷 圖 形 文 件 是 否 已 加 密 , 因 此 不 能 用 OPEN 命 令 直 接 打 開 文 件 , 可先 用 UNDEFINE 命 令 禁 用 OPEN 命 令 , 替 換 成 定 制 的OPEN 命 令 , 讀 取 文 件 前 先 嘗 試 尋 找 加 密 標(biāo) 記 , 若 存 在 則 判 斷 為 加 密 文 件 , 核 對 系 統(tǒng) 密 鑰 成 功 后 自 動(dòng) 解 密 , 文 件 開“ 鎖 ”, 否 則 忽略 , 直 接 調(diào) 入 該 文 件 進(jìn) 行 編 輯 。
   同 樣 , 保 存 、關(guān) 閉 和 退 出 等 命 令 也 需 要 重 新 定 義 , 在 關(guān) 閉 文 件 前 先 進(jìn) 行 常 規(guī) 的 保 存 動(dòng) 作 , 而 后 自 動(dòng) 調(diào) 用 加 密程 序 對該 文 件 進(jìn) 行 加 密 , 相 當(dāng) 于 把 文 件 重 新加“ 鎖 ”。
     3.2. 程序 實(shí) 現(xiàn)
   對 圖 形 的 加 密 - 解 密 過 程 可 用 Visual LISP、VBA 或ARX 編 程 實(shí) 現(xiàn) , 考 慮 到 加 密 程 序 本 身 的 代 碼 安 全 , 用LISP 編 寫 的 程 序 應(yīng) 編 譯 成 FAS 文 件 。加 密 的程 序 可 放 在 啟 動(dòng) 組 內(nèi) , 或 者 通 過 ACAD.LSP 在 AutoCAD 啟 動(dòng) 或 加 載圖 形 文 件 時(shí) 自 動(dòng) 調(diào) 入 , 從 而 實(shí) 現(xiàn) 整 個(gè) 加 密/解 密 過 程 自 動(dòng) 進(jìn) 行 。
   系統(tǒng) 實(shí) 現(xiàn) 的 LISP 算 法 部 分 示 例 如 下 :
       
        

    限于篇幅,詳細(xì)的過程從略。

      4.結(jié) 語

   本文提出的DWG圖形文件安全保護(hù)的方法已成功應(yīng)用于某設(shè)計(jì)單位,原先困擾企業(yè)的圖紙流失造成知識(shí)產(chǎn)權(quán)泄密的難題得到了較好的解決,同時(shí)本系統(tǒng)的實(shí)用性、方便性和安全性得到了很好的驗(yàn)證。

[參考文獻(xiàn)]

[1]鄭阿奇.AutoCAD2000中文版實(shí)用教程[M].北京:電子工業(yè)出版社,2000.

[2]徐源,荊冰彬,等.AutoCAD2000二次開發(fā)技術(shù)[M].北京:人民交通出版社,2000.

[3]陳伯雄.AutoCAD2002高級(jí)應(yīng)用技術(shù)[M].北京:機(jī)械工業(yè)出版社,2002.

   
民眾工作室.制作   版權(quán)所有