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