用於保護工業可編程裝置與可攜式可編程裝置之間的電子數據交換的方法和系統與流程
2023-06-10 17:09:16 1

本發明涉及用於保護實現工業過程控制的工業可編程裝置與可攜式可編程裝置之間的電子數據交換的方法和系統。
背景技術:
本發明在工業現場的控制和維護領域中具有應用,其使授權用戶能夠安全訪問和使用由過程控制應用提供、由工業可編程裝置(例如可編程邏輯控制器(PLC)或計算機伺服器)提供的信息。
這樣的工業可編程裝置配備有通信模塊以用於與配備有用戶接口的外部裝置通信,該外部裝置適於被用戶操作並且交換電子數據以用於工業過程控制。這樣的外部裝置的示例是可攜式可編程裝置,例如可攜式PC或平板計算機。
一般,這樣的可攜式可編程裝置能夠與工業可編程裝置交換電子數據,該工業可編程裝置使用在生產處安裝的用於通信的硬體和例如由提供在工業可編程裝置上安裝的工業過程控制軟體的公司所安裝的軟體。
大部分工業應用可能交換與工業過程相關的機密數據,因此需要保護這樣交換的電子數據。
技術實現要素:
本發明的目標是提供用於對這樣的應用保護電子數據交換、特別防止工業可編程裝置與可攜式可編程裝置之間的通信通道上的竊聽的方法和系統。
為此,本發明提出用於保護實現工業過程控制的工業可編程裝置與可攜式可編程裝置之間的電子數據交換的方法,該可攜式可編程裝置適於由用戶操作並且經由第一通信協議與所述工業可編程裝置交換電子數據,所述工業可編程裝置和可攜式可編程裝置中的每個包括啟用所述第一通信協議的通信模塊。
方法包括下列步驟:
-在工業可編程裝置上,
-使用用戶識別裝置讀取第一用戶標識符,以及
-檢查所述第一用戶標識符是否屬於之前存儲在所述工業可編程裝置的存儲器中的用戶標識符集,
-在否定檢查的情況下,停用所述工業可編程裝置的通信模塊,
-在可攜式可編程裝置上,
-使用用戶識別裝置讀取第二用戶標識符,以及
-檢查所述第二用戶標識符是否屬於之前存儲在所述可攜式可編程裝置的存儲器中的用戶標識符列表,
-在否定檢查的情況下,停用所述可攜式可編程裝置的通信模塊。
方法進一步包括證實所述第一用戶標識符是否與所述第二用戶標識符相同的步驟,並且在否定證實的情況下,方法包括停用所述工業可編程裝置的通信模塊和/或停用所述可攜式可編程裝置的通信模塊。
有利地,本發明提供這樣的方法,其中,除非該兩個可編程裝置的用戶識別裝置讀取到相同的用戶標識符,否則停用工業可編程裝置和可攜式可編程裝置的相應通信模塊。
根據特定特徵(單獨或組合來看),方法包括根據從屬權利要求的特徵。
根據特定特徵,方法進一步包括:
-在所述可攜式可編程裝置上獲得用於驗證的私鑰,其屬於密碼密鑰對,所述驗證私鑰與所述第二用戶標識符關聯地被本地存貯;
-用驗證私鑰(K1_priv)對第二用戶標識符加密並且將包含加密的第二用戶標識符的信息項傳送到工業可編程裝置;
-在所述工業可編程裝置上,接收包含加密的第二用戶標識符的信息項,並且使用在工業可攜式裝置中與所述第一用戶標識符關聯地存貯的驗證公鑰來對所述信息項解密以獲得解密的第二用戶標識符,以及
-將解密的第二用戶標識符與第一用戶標識符比較。
根據特定特徵,第一用戶標識符的讀取包括使用戶識別卡物理連接到工業可編程裝置,和/或第二用戶標識符的讀取包括使用戶識別卡物理連接到可攜式可編程裝置。
根據特定特徵,第一用戶標識符的讀取包括所述第一用戶標識符經由第二通信協議到工業可編程裝置的傳遞,並且/或讀取第二用戶標識符包括所述第二用戶標識符經由第二通信協議到可攜式可編程裝置的傳遞,所述第二通信協議與第一通信協議不同。
根據特定特徵,方法進一步包括在證實第一用戶標識符與所述第二用戶標識符相同後在工業可編程裝置與可攜式可編程裝置之間建立加密通信通道,其包括:
-在工業可編程裝置上獲得交換加密密鑰對,其包括與第一用戶標識符關聯的交換公鑰和交換私鑰,
-用與第一用戶標識符關聯的驗證公鑰來對交換公鑰加密,以及
-將加密的交換公鑰發送到可攜式可編程裝置。
根據特定特徵,獲得交換加密密鑰對包括應用存儲在工業可編程裝置上的第二密鑰對列表的偽隨機重組。
根據特定特徵,方法進一步包括在可攜式可編程裝置上接收加密的交換公鑰並且通過使用本地存儲的驗證私鑰應用解密而獲得交換公鑰。
根據特定特徵,方法進一步包括在預定時段期間交換用交換加密密鑰對所加密的數據。
根據特定特徵,方法進一步包括在所述預定時段後的以下步驟:
-在工業可編程裝置上獲得新的交換加密密鑰對,其包括與第一用戶標識符關聯的新的交換公鑰和新的交換私鑰,
-使用新的交換公鑰作為交換公鑰,重複在工業可編程裝置上加密和發送的步驟,以及
-重複在可攜式可編程裝置上接收和獲得交換公鑰的步驟。
根據特定特徵,方法進一步包括在預定時段期間交換用新的交換加密密鑰對所加密的數據。
根據特定特徵,第一通信協議是無線通信協議。
根據另一個方面,本發明涉及用於保護電子數據交換的系統,其包括實現工業過程控制的工業可編程裝置和可攜式可編程裝置,所述可攜式可編程裝置適於被用戶操作並且經由第一通信協議與所述工業可編程裝置交換電子數據,所述工業可編程裝置和可攜式可編程裝置中的每個包括啟用所述第一通信協議的通信模塊。
系統的特徵在於:
-工業可編程裝置適於:
-從用戶識別裝置讀取第一用戶標識符,以及
-檢查所述第一用戶標識符是否屬於之前存儲在所述工業可編程裝置的存儲器中的用戶標識符列表,
-在否定檢查的情況下,使所述工業可編程裝置的通信模塊維持被停用,
-可攜式可編程裝置適於:
-從用戶識別裝置讀取第二用戶標識符,以及
-檢查所述第二用戶標識符是否屬於之前存儲在所述可攜式可編程裝置的存儲器中的用戶標識符列表,
-在否定檢查的情況下,使所述可攜式可編程裝置的通信模塊維持被停用。
工業可編程裝置進一步包括這樣的方法,其適於證實所述第一用戶標識符是否與所述第二用戶標識符相同,並且在否定證實的情況下,停用所述工業可編程裝置的通信模塊和/或停用所述可攜式可編程裝置的通信模塊。
根據特定特徵,所述工業可編程裝置包括集成用戶識別閱讀器,其適於收容用戶識別卡,並且/或所述可攜式可編程裝置包括集成用戶識別閱讀器,其適於收容用戶識別卡。
根據特定特徵,所述工業可編程裝置包括第二通信模塊,其適於經由第二通信協議與外部用戶識別裝置通信,並且/或所述可攜式可編程裝置包括第二通信模塊,其適於經由第二通信協議與外部用戶標識符讀取裝置通信,第二通信協議與第一通信協議不同。本發明將根據詳細描述和下文列出的附圖而更好理解,其僅僅是示範性的而絕不是限制性的。
附圖說明
-圖1示意表示根據本發明的實施例用於保護電子數據交換的系統;
-圖2是根據本發明的實施例用於保護電子數據交換的方法的第一部分的流程圖。
-圖3是根據本發明的實施例用於保護電子數據交換的方法的第二部分的流程圖。
具體實施方式
圖1示意表示根據本發明的實施例用於保護電子數據交換的系統1。
系統1包括工業可編程裝置2(例如PLC)和可攜式可編程裝置4。
工業可編程裝置2包括通信模塊6,其啟用與可攜式可編程裝置4的第一通信協議。
通信模塊6包括硬體要素和軟體要素。
在實施例中,第一通信標準是無線標準(例如WiFi標準),並且通信模塊6包括用於通過無線通信連接到WiFi天線8的部件。
備選地,第一通信標準可以是用於行動電話的任何無線通信,例如GPRS、3G…
工業可編程裝置2還包括處理單元10,其適於使用一個或若干處理器實現代碼指令。
在示例中,處理單元10包括兩個工業過程控制應用APP1、APP2、用戶驗證模塊12和電子數據交換模塊14。
兩個工業過程控制應用APP1、APP2適於採用已知方式與工業自動化(未描繪)通信,因此在下文未進一步詳細描述它們。
要理解圖示兩個工業過程控制應用,但本發明適用於具有任何數量的過程控制應用或更一般地適用於由工業可編程裝置2實現的任何控制命令系統。
此外,工業可編程裝置2包括存儲器16,用於存儲數據和代碼指令以用於實現根據本發明的方法。
存儲器16存儲第一關聯列表L1,其包括用戶標識符集{UiD_i},用於識別工業過程控制應用APP1、APP2的授權用戶,第一列表L1的每個用戶標識符UID_i與密碼密鑰對{K1_pub-i,K1_priv-i }(在下文叫作驗證密鑰對)的驗證公鑰K1_pub-i關聯。
驗證密鑰對是採用已知密碼方案(例如RSA)來使用的密碼密鑰對,用於創建加密數字數據的第一安全通信通道C1。
存儲器16進一步存儲第二關聯列表L2,其包括每個用戶標識符UID_i與不同的密碼密鑰對(在下文叫作交換密鑰對{K2_pub-i,K2_priv-i })之間的關聯。
交換密鑰對是採用已知密碼方案(例如RSA)所使用的密碼密鑰對,用於創建加密數字數據的第二安全通信通道C2。
第一和第二關聯列表是在用於保護電子數據交換的方法中使用的{UiD_i},如在下文詳細解釋的。
在備選實施例中,授權用戶的用戶標識符列表存儲在第一列表中,並且驗證和交換密鑰分開存儲,而第一列表的用戶標識符與驗證和交換密鑰中的每個之間的關聯被維護。
在備選實施例中,第一關聯列表L1包括與對應授權用戶標識符關聯的驗證密鑰對{K1_pub-i,K1_priv-i }列表。
工業可編程裝置2進一步包括第二通信模塊18,其適於根據第二通信協議與外部用戶識別裝置20通信,該第二通信協議與第一通信協議不同。
在實施例中,第二通信協議是近距離無線電通信協議並且外部用戶識別裝置20是NFC(近場通信)閱讀器,其適於讀取存儲在晶片卡22中的第一用戶標識符。
備選地,使用RFID技術或其他近距離無線電通信系統,例如NFC技術或條形碼掃描器。
有利地,晶片卡22是用戶標識符卡,並且存儲在用戶標識符卡中的第一用戶標識符的讀取表明持卡者與工業可編程裝置2的物理接近度。
在備選實施例中,用於讀取第一用戶標識符的用戶識別裝置20在工業可編程裝置2內集成。
根據本發明,工業可編程裝置適於使用第一通信協議經由兩個安全通道C1、C2與可攜式可編程裝置通信,傳送的數據使用不對稱密碼方案來加密。
可攜式可編程裝置4包括啟用所述第一通信協議的通信模塊30。
可攜式可編程裝置4進一步包括處理單元32,其適於實現處理模塊,這些處理模塊使用一個或若干處理器執行代碼指令。
在示例中,處理單元32包括客戶端應用34,其適於從兩個工業過程控制應用APP1、APP2接收電子數據並且向這兩個工業過程控制應用發送請求。
此外,處理單元32實現用戶驗證模塊36和電子數據交換模塊38。
可攜式可編程裝置4還包括用戶接口40,例如觸屏,其適於對用戶顯示信息並且接收交互式命令。用戶因此可以與系統交互,特別以便操作工業過程控制應用以用於監測工業安裝。
在圖1中圖示的實施例中,可攜式可編程裝置4包括用戶識別裝置42,其適於從用戶識別卡44讀取信息,該用戶識別卡44例如是晶片卡,特別是第二用戶標識符。在用系統識別相同授權用戶時,兩個用戶識別卡22、24實際上是承載指定用戶標識符的單個卡。
此外,可攜式可編程裝置4包括存儲器46,用於存儲數據和代碼指令以用於實現根據本發明的方法。
存儲器46存儲第三關聯列表L3,其包括用戶標識符集{UiD_i}以用於經由可攜式可編程裝置4識別工業過程控制應用APP1、APP2的授權用戶,第三列表L3的每個用戶標識符UID_i與驗證密鑰對{K1_pub-i,K1_priv-i }的驗證私鑰K1_priv-i關聯。
確切相同的用戶標識符集存儲在工業可編程裝置2上的第一關聯列表L1中和可攜式可編程裝置4上的第三關聯列表L3中。這些關聯列表在電子數據交換之前存儲在相應的存儲器16、46中。這些關聯列表限定授權用戶。
列表的創建和更新由外部工具管理。該工具用授權UID列表配置,並且它生成L1、L2和L3列表。工具的使用以及L1、L2和L3列表的分配局限於識別且可信的用戶。
根據本發明,在第一安全通道C1上交換的電子數據使用對於在兩個裝置處獨立地用相同用戶標識符UID_i識別的授權用戶的驗證密鑰對{K1_pub-i,K1_priv-i }加密。
在兩個裝置2和4處缺乏相同授權用戶的成功識別的情況下,相應的通信模塊6和30被停用。
繼成功驗證之後,在第二安全通道C2上交換的電子數據(其是關於工業過程控制的電子數據)使用與通過用戶標識符UID_i識別的授權用戶關聯的交換密鑰對{K2_pub-i,K2_priv-i }加密。
圖2是圖示根據本發明的實施例用於保護工業可編程裝置2與可攜式可編程裝置4之間的電子數據交換的方法的第一部分的主要步驟的流程圖。
該第一部分涉及在兩個裝置上的授權用戶識別並且由相應的模塊12和36實現。
在工業可編程裝置2上,在用戶標識符讀取步驟50中讀取第一用戶標識符UID1。
然後在檢查步驟52中檢查讀取的第一用戶標識符UID1是否屬於存儲器中存儲的授權用戶標識符集。取圖1的示例,步驟52檢查例如UID1是否屬於第一列表L1。
在否定應答的情況下,因此如果讀取的第一用戶標識符UID1不屬於存貯的用戶標識符集,則檢查步驟52後跟停用工業可編程裝置2的通信模塊6的步驟54。
在實施例中,通信模塊6默認被停用,因此步驟54簡單地使通信維持被停用。
在步驟52處的肯定檢查的情況下,通信模塊6被啟用或維持被啟用,使得工業可編程裝置2可使用第一通信協議從可攜式可編程裝置4接收數據。
在步驟56中與第一用戶標識符UID1關聯地從存儲器提取驗證公鑰K1_pub。取圖1的示例,獲得與第一用戶標識符UID1關聯地存儲在第一關聯列表中的驗證公鑰。
並行或在短的時段內(在工業可編程裝置上的處理之前或之後)可感測地,在用戶標識符讀取步驟60中讀取可攜式可編程裝置上的第二用戶標識符UID2。
然後在檢查步驟62中檢查讀取的第二用戶標識符UID2是否屬於可攜式可編程裝置4的存儲器中存儲的授權用戶標識符集。取圖1的示例,步驟62檢查例如UID2是否屬於第三列表L3。
在否定應答的情況下,因此如果讀取的第二用戶標識符UID2不屬於存貯的用戶標識符集,則檢查步驟62後跟停用可攜式可編程裝置4的通信模塊30的步驟64。
在實施例中,通信模塊30默認被停用,因此步驟64簡單地使通信維持被停用。
在步驟62處的肯定檢查的情況下,通信模塊30被啟用或維持被啟用,使得可攜式可編程裝置4可使用第一通信協議與工業可編程裝置2交換數據。
在步驟66中與第二用戶標識符UID2關聯地從存儲器提取驗證私鑰K1_priv。取圖1的示例,獲得與第二用戶標識符UID2關聯地存儲在第三關聯列表L3中的驗證私鑰。
接著,在加密步驟68中,用驗證私鑰K1_priv對第二用戶標識符UID2加密,並且獲得加密數據項M1。
在發送步驟70中將加密數據項M1發送到工業可編程裝置。
工業可編程裝置2在接收步驟72中接收加密數據項M1,並且在解密步驟74中用本地提取的驗證公鑰K1_pub對接收的加密數據項M1解密。
解密促成提取解密的第二用戶標識符UID2』。
工業可編程裝置2的驗證模塊12然後在步驟76中證實解密的第二用戶標識符UID2』是否與第一用戶標識符UID1相同。
在肯定證實的情況下,在兩個裝置上讀取相同授權用戶卡這一事實被確立,並且證實步驟76後跟啟用與可攜式可編程裝置通信的步驟78。
可選地,在步驟78期間通信啟用的確認也發送到可攜式通信裝置。
在否定證實的情況下,證實步驟76後跟停用之前描述的通信54的步驟。
可選地,消息也發送到可攜式通信裝置以便要求通信停用。
圖3是圖示根據本發明的實施例用於保護工業可編程裝置與可攜式可編程裝置之間的電子數據交換的方法的第二部分的主要步驟的流程圖。
該第二部分涉及在兩個裝置上授權用戶的肯定識別後關於工業過程的數據交換並且由相應的模塊14和38實現。
在交換密鑰對初始化步驟80(其在工業可編程裝置2上的步驟78之後)中,動態生成與第一用戶標識符UID1關聯的交換密鑰對{K2_pub,K2_priv}。
在實施例中,密鑰對的第二列表L2存儲在存儲器中,並且列表採用偽隨機方式被重組。用於監測會話持續時間的時間計數器也初始化為0。
在步驟82中提取與第一用戶標識符UID1關聯的交換公鑰對K2_pub,並且然後在加密步驟84期間用可攜式可編程裝置4已經知道的驗證公鑰對K1_pub來加密。
加密數據項M2由加密步驟84產生並且在發送步驟86中發送到可攜式可編程裝置。
加密數據項M2在接收步驟88中由可攜式可編程裝置4接收,並且然後在解密步驟90中用與第二用戶標識符UID2關聯的驗證私鑰K1_priv解密。
從加密數據項提取交換公鑰K2_pub並且其被存儲以用於與工業可編程裝置2交換加密電子數據。
交換密鑰對K2_priv、K2_pub用於在通信會話期間使用第二安全通信通道C2在工業可編程裝置2與可攜式可編程裝置4之間的電子數據92、94的交換。
使用看門狗機制監測(步驟96)通信會話的持續時間,並且如果持續時間超過預定時段T,例如T=30分鐘,則通信暫時被停止,並且再次實施交換密鑰對初始化的步驟80,後跟已經描述的步驟82至90。
因為太長時間使用相同密鑰對可允許竊聽者提取關於使用的密鑰對的信息,因此,動態改變用於加密通信的交換密鑰對,以避免可能攻擊交換數據存儲和分析。
有利地,因為傳送的數據被加密並且因為加密密鑰中沒有一個曾經在兩個裝置之間透明地(沒有加密)傳送,本發明的方法確保電子數據交換的安全性。
用於對數據交換加密的密鑰對的動態更新進一步提高通信的安全性。