一種plc程序保護方法、訪問方法及其裝置的製作方法
2023-10-24 14:38:32
專利名稱:一種plc程序保護方法、訪問方法及其裝置的製作方法
技術領域:
本發明涉及軟體保護領域,尤其涉及一種PLC(可編程控制器)程序的保護方法、 訪問方法及其裝置。
背景技術:
隨著自動化技術的飛速發展,PLC廣泛地應用於各個行業,如化工、冶金、機械、煙 草、汽車等。PLC軟體用於完成基礎自動化的實時控制,是工業自動化控制中的核心部分。 但是對PLC程序來說,沒有一種很好的保護措施,PLC製造公司只提供PLC開發軟體的保護, 如採用軟授權(如授權碼、授權文件等)或硬體狗等方式。但對於個人和公司辛苦開發出 來的PLC程序,缺乏有效的保護手段, 一但被外人得到PLC程序,就可以實現對PLC程序的 任意讀取、修改、複製、寫入。這樣,對工廠來說,不但控制系統的安全性受到影響,而且生產 技術也存在洩露的可能;而對於PLC應用程式的開發者來說,他的成果得不到保護,輕易被 競爭對手得到,企業和個人的利益都會受到侵害。 與一般計算機軟體不同PLC程序是在計算機上完成軟體開發和修改,但運行在 PLC上;PLC的處理能力不如計算機,但只運行專用軟體,其可靠性高。目前,國內外對於軟 件加密、解密的方法很多,但對於PLC程序的保護方法很少。部分廠家推出了指紋識別型U 盤,用於對保護U盤中的文件,但沒有涉及計算機和PLC中的PLC程序的保護,也沒有用戶 訪問機制及程序訪問機制。美國專利US20040260954A1,名稱為"生物測定學PLC接入控制 系統和方法"中提出一種自動化系統用於接入PLC的控制子系統。但是該方案只是能夠允 許用戶訪問或拒絕用戶訪問PLC,並沒有對控制程序的原始碼保護,也沒有用戶訪問機制及 程序訪問機制。中國專利申請號為200710111294. 5,名稱為"加密、解密方法,及應用所述 方法的PLC系統"中提出對存儲器內的信息進行加密、解密。該方法能在一定程度上保護 PLC程序,但存在以下不足僅考慮了存儲器中程序保護,沒有涉及計算機中PLC程序保護; 其訪問控制是針對單個控制程序,沒有對程序中部分內容,比如功能程序、程序段、功能塊 等的訪問控制,沒有訪問記錄、多用戶同時訪問、分級加密、疊加加密等功能。
發明內容
本發明的一個目的是提供一種PLC程序保護方法,能夠對計算機和PLC中的PLC 程序進行保護,並提供用戶訪問管理機制和程序訪問管理機制,更好地保護PLC程序源碼。
為了實現以上目的,本發明採用了以下技術方案
—種PLC程序保護方法,包括以下步驟
步驟A :創建用戶,設置用戶訪問管理機制;
步驟B :程序編程,設置程序訪問管理機制;
步驟C:設置加密方式;
步驟D:保存程序。
其中步驟A中的用戶訪問管理機制具體的為建立個人用戶或用戶組,採用自主訪問控制策略、強制訪問控制策略、角色訪問機制策略。步驟B中的程序訪問管理機制包括 程序授權管理機制、訪問記錄機制、同時訪問機制。步驟C中的加密方式為採用個人的生物 學唯一標識碼作為密鑰,採用對稱加密算法進行加密,加密的形式可以為分級加密和/或 疊加加密。其中個人生物學唯一標識碼可以為指紋、掌紋、DNA、眼睛虹膜。其中對稱加密算 法可以為DES 、 3DES 、 AES算法。 本發明的另一 目的是提供一種使用上述保護方法保護的PLC程序的訪問方法,為 了實現這個目的,採用以下方案所述方法包括以下步驟步驟A':打開程序請求;步驟B': 用戶身份鑑定,若匹配,則允許打開程序,否則拒絕打開程序;步驟C':訪問程序請求;步驟 D':程序訪問權限比較,若匹配,則允許訪問程序,否則拒絕該訪問;步驟E':訪問程序,進行 程序的讀取、修改、上傳、下載、授權等操作;步驟F':保存程序,按設置的用戶和程序訪問管 理機制、加密方式進行權限設定和加密,否則不保存; 本發明的另一 目的是提供一種用於實現PLC程序保護方法的裝置,為了達到這一 目的,採用如下的技術方案該裝置包括與通訊總線相連的嵌入式微處理器、存儲器、個人 生物學唯一標識碼提取裝置、USB接口電路以及輔助電路;其中嵌入式微處理器用於實現 加密、解密算法的計算,以及用戶訪問機制、程序訪問機制的管理;存儲器用於存儲臨時數 據、用戶訪問管理機制信息、程序訪問管理機制信息、密鑰、加密解密算法以及PLC程序,涉 及的存儲器有EPR0M、 RAM、 R0M、快閃記憶體等;個人生物學唯一標識碼提取裝置用於提取個人生 物學唯一標識碼;USB接口電路為USB收發器,公口與計算機上USB接口相連、母口與其它 加密、解密裝置的公口相連,實現裝置與計算機或裝置間的通訊;輔助電路包括時鐘、上電 復位電路、定時器,用於支持整個裝置的供電及基本的控制。
有益效果 本發明能夠對PLC程序提供安全保護,防止非授權人對程序的非法訪問;將個人 的生物學唯一標示碼作為密鑰,方便可靠;採用硬體裝置和對稱加密解密算法,不易被破 解;採用用戶訪問機制和程序訪問機制,進一步提高對程序的保護。
圖1為本發明用戶訪問管理機制、程序訪問管理機制示意圖; 圖2為本發明中一種PLC程序保護裝置的示意圖; 圖3為本發明中一種PLC程序保護流程圖; 圖4為訪問使用圖3所示保護方法保護的PLC程序的流程圖。
具體實施例方式
下面結合附圖和實施例對本發明做詳細的描述 實施例1 :如圖1、圖3所示,一種PLC程序保護方法,包括以下步驟
步驟A :創建用戶,設置用戶訪問管理機制; 用戶訪問管理機制是指一種用戶管理機制,建立個人用戶或用戶組,採用自主訪 問控制策略、強制訪問控制策略、角色訪問機制策略等訪問策略。自主訪問控制策略是一 個接入控制服務,其強制執行一個基於系統實體身份和它們訪問系統資源的授權的安全政 策。強制訪問控制策略是"強加"給訪問主體的,即系統強制主體服從訪問控制政策。角色訪問機制策略是按照角色的劃分來授予不同的權限。
步驟B :程序編程,設置程序訪問管理機制; 程序訪問管理機制,包括程序授權管理機制、訪問記錄機制、同時訪問機制。程序 授權管理機制分為分級授權管理機制、交叉授權管理機制、授權限期管理機制等。分級授權 管理機制可以將程序分為整個程序、功能程序、程序段、功能塊等分別授權。交叉授權管理 機制是指程序管理員可以在本地或通過乙太網將程序的訪問權限授權其他人,要求雙方的 加密、解密裝置均接入計算機的USB 口。授權期限管理機制是指可以對授權設定有效期限, 到期後需要重新授權,否則其原來的授權失效。訪問記錄管理機制是指軟體自動記錄用戶 對程序的訪問,包括創建、讀取、修改、上傳、下載、交叉授權管理機制等操作以及操作內容。 同時訪問管理機制是指多用戶可以同時按照設定的權限訪問程序。 通過用戶訪問管理機制與程序訪問管理機制有機結合,用戶不能對非授權的程序 進行訪問,可實現對PLC程序的有效管理,更好地保護PLC程序。如附圖l所示,其中程序 1劃分為功能程序1和功能程序2。功能程序1又劃分為程序段11與程序段12,進而程序 段11又包含功能塊111和功能塊112,程序段12又包含功能塊121和功能塊122。同樣,功 能程序2又劃分為程序段21與程序段22,進而程序段21又包含功能塊211和功能塊212, 程序段22又包含功能塊221和功能塊222。劃分用戶角色為管理員A、一級開發員B、二級 開發員C、維護員D、組員E。管理員A為整個PLC程序1的管理者,具有創建、讀取、修改、上 傳、下載、交叉授權等功能。 一級開發員B為程序1的開發者,具有創建、讀取、修改、上傳、 下載等功能。二級開發員Cl為功能程序1的開發者、C2為功能程序2的開發者,具有讀取、 修改、上傳、下載等功能。維護員D為整個PLC程序的維護者,具有讀取、修改、上傳、下載等 功能。組員E為整個程序1的訪問者,El為功能程序1的訪問者,E2為程序段11的訪問 者,具有讀取等功能。這樣,二級開發員Cl就只能對功能程序1進行訪問,而不能訪問功能 程序2,而且不具有上傳、下載、交叉授權的功能,其它以此類推。
步驟C:設置加密方式; 加密是指用個人的生物學唯一標示碼作為密鑰,當然這裡的密鑰可以採用其他的 方式。採用對稱加密算法對程序進行加密,其中對稱加密算法可以為DES、3DES、AES等。本 發明採用分級加密機制,可以按程序的機密程度,對不同的功能程序、程序段、功能塊採用 不同的加密方法,可疊加加密,以實現對PLC程序的保護。當然這裡也可以採用其他的具體 加密形式。以AES算法為例,介紹加密過程。把加密的程序分成128位,用一個函數進行迭 代計算,起始密鑰就是主密鑰。然後進入10輪迭代,前9輪相同,依次經過字節代替、行移 位、列混合、輪密鑰加最後一輪不含列混合。 步驟D :保存程序;按設置的用戶和程序訪問管理機制、加密方式進行權限設定和 加密。 關閉程序; 實施例2 :如圖4所示 一種使用上述保護方法保護的PLC程序的訪問方法,包括 以下步驟 步驟A':打開程序請求; 步驟B':用戶身份鑑定,若有效,則允許打開程序,否則拒絕打開程序;
步驟C':訪問程序請求;
步驟D':程序訪問權限比較,若匹配,則允許訪問程序,否則拒絕該訪問;
步驟E':訪問程序,進行程序的讀取、修改、上傳、下載、授權等操作;
步驟F':保存程序,按設置的用戶和程序訪問管理機制、加密方式進行權限設定和 加密,否則不保存;這裡加密的方式採用的是前文中所述的加密方式,在此不在重述。
關閉程序。 實施例3 :如圖2所示一種用於實現PLC程序保護方法的裝置,採用如下的技術 方案該裝置包括與通訊總線相連的嵌入式微處理器、存儲器、個人生物學唯一標識碼提取 裝置、USB接口電路以及輔助電路;其中嵌入式微處理器用於實現加密、解密算法的計算, 以及用戶訪問機制、程序訪問機制的管理;存儲器用於存儲臨時數據、用戶訪問管理機制 信息、程序訪問管理機制信息、密鑰、加密解密算法以及PLC程序,涉及的存儲器有EPR0M、 RAM、 R0M、快閃記憶體等;個人生物學唯一標識碼提取裝置用於提取個人生物學唯一標識碼;個人 生物學唯一標識碼可以選擇指紋、掌紋、DNA、眼睛虹膜等。USB接口電路為USB收發器,公 口與計算機上USB接口相連、母口與其它加密、解密裝置的公口相連,實現裝置與計算機或 裝置間的通訊;輔助電路包括時鐘、上電復位電路、定時器,用於支持整個裝置的供電及基 本的控制。 以上結合附圖具體了描述了具體實施例,但是任何在權利要求保護範圍內所做的 修改和變化都落在本發明的保護之內。
權利要求
一種PLC程序保護方法,其特徵在於包括以下步驟步驟A創建用戶,設置用戶訪問管理機制;步驟B程序編程,設置程序訪問管理機制;步驟C設置加密方式;步驟D保存程序。
2. 根據權利要求1所述的PLC程序保護方法,其特徵在於所述步驟A中的用戶訪問 管理機制具體為建立個人用戶或用戶組,通過自主訪問控制策略、強制訪問控制策略和角 色訪問機制策略來管理用戶。
3. 根據權利要求1所述的PLC程序保護方法,其特徵在於所述步驟B中的程序訪問 管理機制包括程序授權管理機制、訪問記錄機制、同時訪問機制。
4. 根據權利要求1所述的PLC程序保護方法,其特徵在於所述步驟C中的加密方式 為採用個人的生物學唯一標識碼作為密鑰,採用對稱加密算法進行加密。
5. 根據權利要求4所述的PLC程序保護方法,其特徵在於所述加密算法加密的形式為分級加密和/或疊加加密。
6. 根據權利要求4所述的PLC程序保護方法,其特徵在於所述對稱加密算法為DES、 3DES、AES算法其中的一種。
7. 根據權利要求4所述的PLC程序保護方法,其特徵在於所述個人生物學唯一標識 碼為指紋、掌紋、DNA、眼睛虹膜中的一種。
8. —種對使用權利要求所述保護方法保護的PLC程序的訪問方法,其特徵在於包括以下步驟步驟A':打開程序請求;步驟B':用戶身份鑑定,若匹配,則允許打開程序,否則拒絕打開程序; 步驟C':訪問程序請求;步驟D':程序訪問權限比較,若匹配,則允許訪問程序,否則拒絕該訪問; 步驟E':訪問程序,進行程序的讀取、修改、上傳、下載、授權等操作;步驟F':保存程序,按設置的用戶和程序訪問管理機制、加密方式進行權限設定和加 密,否則不保存。
9. 根據權利要求8所述的訪問方法,其特徵在於所述步驟E'中的下載具體為將用 戶和程序訪問管理機制、加密方式、密鑰下載到PLC存儲器;所述上傳具體為將經過加密 的程序上傳到計算機中。
10. —種用於實現PLC程序保護方法的裝置,其特徵在於所述裝置包括與通訊總線相 連的嵌入式微處理器、存儲器、個人生物學唯一標識碼提取裝置、USB接口電路以及輔助電 路;其中嵌入式微處理器用於實現加密、解密算法的計算,以及用戶訪問機制、程序訪問機制的管理;存儲器用於存儲臨時數據、用戶訪問管理機制信息、程序訪問管理機制信息、密鑰、加密解密算法以及PLC程序;個人生物學唯一標識碼提取裝置用於提取個人生物學唯一標識碼; USB接口電路為USB收發器,公口與計算機上USB接口相連、母口與其它加密、解密裝置的公口相連,實現裝置與計算機或裝置間的通訊;輔助電路包括時鐘、上電復位電路、定時器,用於支持整個裝置的供電及基本的控制。
11.根據權利要求10所述的PLC程序保護裝置,其特徵在於所述存儲器為EPR0M、RAM、 R0M、快閃記憶體中的一種。
全文摘要
本發明公開了一種PLC程序保護方法、訪問方法及其裝置,該PLC程序保護方法包括以下步驟步驟A創建用戶,設置用戶訪問管理機制;步驟B程序編程,設置程序訪問管理機制;步驟C設置加密方式;步驟D保存程序。本發明還公開了一種用於實現PLC程序保護方法的裝置,所述裝置包括與通訊總線相連的嵌入式微處理器、存儲器、個人生物學唯一標識碼提取裝置、USB接口電路以及輔助電路。本發明能夠對PLC程序提供安全保護,防止非授權人對程序的非法訪問。採用硬體裝置和對稱加密解密算法,不易被破解,進一步對程序進行了保護。
文檔編號G06F21/22GK101697188SQ200910104018
公開日2010年4月21日 申請日期2009年6月4日 優先權日2009年6月4日
發明者曾憲文, 杜雪飛 申請人:中冶賽迪工程技術股份有限公司;