本文公開的主題涉及工業(yè)控制系統(tǒng),并且更具體而言涉及保護(hù)工業(yè)控制系統(tǒng)的工作的安全。
背景技術(shù):工業(yè)控制系統(tǒng),比如自動(dòng)化的發(fā)電系統(tǒng)(例如,風(fēng)、水以及燃?xì)鉁u輪系統(tǒng))和自動(dòng)化的制造系統(tǒng)(例如,煉油廠、化工廠等),是現(xiàn)代工業(yè)的共同特征。對于此類工業(yè)控制系統(tǒng),工業(yè)控制器通??煽刂葡到y(tǒng)的工作。例如,工業(yè)控制系統(tǒng)中的某些設(shè)備(例如傳感器、泵、閥、制動(dòng)器等)可受工業(yè)控制器控制并且可向工業(yè)控制器報(bào)告數(shù)據(jù)。此外,工業(yè)控制器可執(zhí)行指令(例如固件和/或應(yīng)用程序),該指令通??墒沟霉I(yè)控制器能夠控制工業(yè)控制系統(tǒng)(例如燃?xì)鉁u輪系統(tǒng))的工作。這些指令可由工業(yè)控制器的制造商提供。例如,可在工業(yè)控制系統(tǒng)中安裝工業(yè)控制器之前把這些指令載入到工業(yè)控制器中。另外,工業(yè)控制器可提供訪問工業(yè)控制器和/或向工業(yè)控制器提供指令(比如通過網(wǎng)絡(luò)連接或本地端口)的若干不同方法。
技術(shù)實(shí)現(xiàn)要素:以下概括了在范圍上與最初要求保護(hù)的發(fā)明相匹配的某些實(shí)施例。這些實(shí)施例不意圖限制要求保護(hù)的發(fā)明的范圍,而是這些實(shí)施例僅意圖提供本發(fā)明的可能形式的簡要概括。實(shí)際上,本發(fā)明可包含可與以下陳述的實(shí)施例相似或不同的各種形式。在一個(gè)實(shí)施例中,一種系統(tǒng)包括具有存儲器和處理器的工業(yè)控制器,處理器配置成使工業(yè)控制器工作在開放模式,其中開放模式配置成使工業(yè)控制器能夠通過未認(rèn)證的網(wǎng)絡(luò)連接或本地連接接收指令。工業(yè)控制器的處理器還配置成使工業(yè)控制器工作在安全模式,其中安全模式配置成使工業(yè)控制器能夠僅通過認(rèn)證的網(wǎng)絡(luò)連接接收指令。在另一個(gè)實(shí)施例中,一種方法包括使工業(yè)控制器工作在開放模式,其中開放模式包括允許工業(yè)控制器使用未認(rèn)證的網(wǎng)絡(luò)協(xié)議與配置工具通信。該方法還包括接收來自配置工具的指令以使工業(yè)控制器工作在安全模式,其中安全模式包括限制工業(yè)控制器僅使用認(rèn)證的網(wǎng)絡(luò)協(xié)議與配置工具通信。該方法還包括使工業(yè)控制器工作在協(xié)商(negotiation)模式,其中協(xié)商模式包括從證書權(quán)限(authority)獲得安全證書并且禁用未認(rèn)證的網(wǎng)絡(luò)協(xié)議。該方法還包括使工業(yè)控制器工作在認(rèn)證模式,其中認(rèn)證模式包括在工業(yè)控制器和配置工具之間建立證書認(rèn)證的連接。該方法還包括使工業(yè)控制器工作在安全模式。在另一個(gè)實(shí)施例中,一種有形的、非暫時(shí)的(non-transitory)計(jì)算機(jī)可讀的介質(zhì)配置成存儲可由工業(yè)控制器的處理器執(zhí)行的指令。該指令包括禁用通過未認(rèn)證的網(wǎng)絡(luò)連接或通過本地端口向工業(yè)控制器通信的指令。該指令還包括實(shí)現(xiàn)通過認(rèn)證的網(wǎng)絡(luò)連接向工業(yè)控制器通信的指令。該指令還包括驗(yàn)證在允許存儲在計(jì)算機(jī)可讀介質(zhì)上的可執(zhí)行文件執(zhí)行以前該可執(zhí)行文件沒有被修改的指令。根據(jù)本發(fā)明的第一方面,提供一種方法,包括:使工業(yè)控制器工作在開放模式,其中,所述開放模式包括允許所述工業(yè)控制器使用未認(rèn)證的網(wǎng)絡(luò)協(xié)議與配置工具通信;接收來自所述配置工具的指令以使所述工業(yè)控制器工作在安全模式,其中,所述安全模式包括限制所述工業(yè)控制器僅使用認(rèn)證的網(wǎng)絡(luò)協(xié)議與所述配置工具通信;使所述工業(yè)控制器工作在協(xié)商模式,其中,所述協(xié)商模式包括從證書權(quán)限獲取安全證書,并且禁用未認(rèn)證的網(wǎng)絡(luò)協(xié)議;以及使所述工業(yè)控制器工作在認(rèn)證模式,其中,所述認(rèn)證模式包括在所述工業(yè)控制器和所述配置工具之間建立證書認(rèn)證的連接;以及使所述工業(yè)控制器工作在安全模式。根據(jù)本發(fā)明第一方面的方法,其中,所述安全模式包括阻止所述工業(yè)控制器執(zhí)行在白名單中沒有對應(yīng)條目的二進(jìn)制文件。根據(jù)本發(fā)明第一方面的方法,建立證書認(rèn)證的連接包括在所述工業(yè)控制器和所述配置工具之間建立證書認(rèn)證的、加密的連接。根據(jù)本發(fā)明第一方面的方法,其中,所述安全模式包括禁用通過本地端口對所述工業(yè)控制器的訪問。根據(jù)本發(fā)明的第二方面,提供一種有形的、非暫時(shí)的計(jì)算機(jī)可讀介質(zhì),配置成存儲可由工業(yè)控制器的處理器執(zhí)行的指令,所述指令包括:禁用通過未認(rèn)證的網(wǎng)絡(luò)連接或通過本地端口到所述工業(yè)控制器的通信的指令;實(shí)現(xiàn)通過認(rèn)證的網(wǎng)絡(luò)連接到所述工業(yè)控制器的通信的指令;以及驗(yàn)證在允許存儲在所述計(jì)算機(jī)可讀介質(zhì)上的可執(zhí)行文件執(zhí)行前所述可執(zhí)行文件沒有被修改的指令。根據(jù)本發(fā)明第二方面的介質(zhì),包括接收來自配置工具的指令以把所述工業(yè)控制器從工作的開放模式改變到工作的安全模式的指令。根據(jù)本發(fā)明第二方面的介質(zhì),包括使所述工業(yè)控制器能夠在功率循環(huán)、軟件升級、應(yīng)用程序下載或它們的任何組合之后恢復(fù)工作的所述安全模式的指令。根據(jù)本發(fā)明第二方面的介質(zhì),包括:聯(lián)系證書權(quán)限并得到證書的指令;以及使用所述證書通過認(rèn)證的網(wǎng)絡(luò)連接、加密的網(wǎng)絡(luò)連接或認(rèn)證的加密的網(wǎng)絡(luò)連接與配置工具通信的指令。根據(jù)本發(fā)明第二方面的介質(zhì),其中,驗(yàn)證所述可執(zhí)行文件沒有被修改的所述指令包括:確定所述可執(zhí)行文件的哈希密鑰值的指令;以及確定當(dāng)所述哈希密鑰值存在于白名單文件中時(shí)所述可執(zhí)行文件沒有被修改的指令。根據(jù)本發(fā)明第二方面的介質(zhì),其中,所述工業(yè)控制器包括氣化器控制器、氣體處理控制器、渦輪控制器、發(fā)電機(jī)控制器或它們的任何組合。附圖說明當(dāng)下列的詳細(xì)描述參考附圖一起閱讀時(shí),將更好地理解本發(fā)明的這些和其它的特征、方面以及優(yōu)點(diǎn),其中在整個(gè)附圖中同樣的字符表示同樣的部件,其中:圖1是根據(jù)本公開內(nèi)容的各方面的正由工業(yè)控制器操作的工業(yè)控制系統(tǒng)的實(shí)施例的示意圖;圖2是根據(jù)本公開內(nèi)容的各方面的過程的實(shí)施例的流程圖,工業(yè)控制器可通過該過程從工作的開放模式移到工作的安全模式;圖3是根據(jù)本公開內(nèi)容的各方面的過程的實(shí)施例的流程圖,工業(yè)控制器可以協(xié)商模式執(zhí)行該過程;以及圖4是根據(jù)本公開內(nèi)容的各方面的過程的實(shí)施例的流程圖,工業(yè)控制器可以認(rèn)證模式執(zhí)行該過程。具體實(shí)施方式以下將描述當(dāng)前發(fā)明的一個(gè)或多個(gè)具體實(shí)施例。為了努力提供這些實(shí)施例的簡潔描述,在說明書中可不描述實(shí)際實(shí)施的所有特征。應(yīng)該領(lǐng)會(huì),在任何此類實(shí)際實(shí)施的開發(fā)中,如同在任何工程或設(shè)計(jì)項(xiàng)目中一樣,必須作出許多實(shí)施特定的決定以實(shí)現(xiàn)開發(fā)者的具體目標(biāo),比如符合涉及系統(tǒng)的和涉及商業(yè)的限制,其在一個(gè)實(shí)施與另一個(gè)實(shí)施間可有所不同。此外,應(yīng)該領(lǐng)會(huì),此開發(fā)努力可能是復(fù)雜并且耗時(shí)的,但是對于受益于本公開內(nèi)容的普通技術(shù)人員而言將仍然是設(shè)計(jì)、加工和制造的常規(guī)任務(wù)。在引入當(dāng)前發(fā)明的各種實(shí)施例的要素(element)時(shí),冠詞“一個(gè)(a)”、“一個(gè)(an)”、“該(the)”以及“所述”意圖表示存在一個(gè)或多個(gè)該要素。術(shù)語“包含”、“包括”和“具有”意圖是包括在內(nèi)的并且表示可以有不同于所列出要素的額外要素。另外,如本文所使用的,術(shù)語“可執(zhí)行文件”和“二進(jìn)制文件”通常都可指包括可由處理器(例如,工業(yè)控制器的處理器)執(zhí)行的指令(例如,二進(jìn)制指令)的計(jì)算機(jī)可讀文件。此外,如文本所使用的,術(shù)語“軟件開發(fā)者”通??芍搁_發(fā)、維護(hù)和/或提供以源代碼和/或可執(zhí)行文件的形式的指令以控制工業(yè)控制器工作的機(jī)構(gòu)。此外,如本文所使用的,術(shù)語“白名單(whitelist)”可指文件,該文件包括標(biāo)識被授權(quán)在工業(yè)控制器上運(yùn)行的可執(zhí)行文件的列表。另外,術(shù)語“授權(quán)的”在本文可用來指可執(zhí)行文件,該可執(zhí)行文件被驗(yàn)證來自可靠的源頭(即,軟件開發(fā)者)并且其內(nèi)容被驗(yàn)證是與當(dāng)它由可靠的源頭提供時(shí)相同。通常可需要使工業(yè)控制系統(tǒng)的工業(yè)控制器工作在安全模式。即,通??尚枰獙I(yè)控制器的典型行為或工作施加若干限制,以便提高工業(yè)控制系統(tǒng)的總體安全。例如,如以下所詳細(xì)陳述的,使工業(yè)控制器工作在安全模式通??勺柚刮词跈?quán)的可執(zhí)行文件的執(zhí)行和/或阻止由未授權(quán)的人員或系統(tǒng)對工業(yè)控制器的訪問。因此,當(dāng)前公開的系統(tǒng)和方法使得工業(yè)控制器能夠工作在安全模式,其中安全模式通常阻止對工業(yè)控制器的未授權(quán)訪問。此外,當(dāng)前公開的實(shí)施例通過逐漸地向工業(yè)控制器應(yīng)用若干安全限制,使得工業(yè)控制器能夠從開放模式(例如,沒有限制)移到安全模式(例如,有額外安全限制)。通過使得工業(yè)控制器能夠工作于在工業(yè)控制器的各種活動(dòng)(例如功率循環(huán)和軟件升級)持續(xù)的安全模式,當(dāng)前公開的實(shí)施例通常提供具有未授權(quán)訪問和/或未授權(quán)指令執(zhí)行的降低風(fēng)險(xiǎn)的工業(yè)控制系統(tǒng)。牢記前述,圖1是說明工業(yè)控制系統(tǒng)10的示意圖。根據(jù)本公開內(nèi)容的各方面,所說明的工業(yè)控制系統(tǒng)10包括可配置成工作在至少開放模式和安全模式的工業(yè)控制器12(例如,MarkTMVie或可從紐約Schenectady的通用電氣獲得的任何其它MarkTM工業(yè)控制器)。此外,工業(yè)控制器12可耦合到網(wǎng)絡(luò)14以控制若干現(xiàn)場(field)設(shè)備16、18和20的工作。例如,所說明的工業(yè)控制器12通過網(wǎng)絡(luò)14接收來自若干現(xiàn)場設(shè)備16、18和20(例如,溫度傳感器、壓力傳感器、電壓傳感器、控制閥、制動(dòng)器或工業(yè)控制系統(tǒng)的類似現(xiàn)場設(shè)備)的感知數(shù)據(jù),以監(jiān)測和控制燃?xì)鉁u輪系統(tǒng)22的工作。在其它實(shí)施例中,不是燃?xì)鉁u輪系統(tǒng)22,正由工業(yè)控制系統(tǒng)10監(jiān)測和控制的系統(tǒng)可包括例如任何自動(dòng)化的制造系統(tǒng)(例如,煉油廠系統(tǒng)、化工生產(chǎn)系統(tǒng)、氣化系統(tǒng)或類似的自動(dòng)化的制造系統(tǒng))或自動(dòng)化的發(fā)電系統(tǒng)(例如,發(fā)電廠、汽輪機(jī)系統(tǒng)、風(fēng)力渦輪機(jī)系統(tǒng)和類似的自動(dòng)化的發(fā)電系統(tǒng))。例如,在一個(gè)實(shí)施例中,氣化系統(tǒng)可包括:配置成氣化碳質(zhì)原料以生成合成氣的氣化器,配置成處理合成氣以移除不需要的成分(例如,酸性氣體)的氣體處理單元,配置成燃燒合成氣以驅(qū)動(dòng)渦輪的燃燒室以及配置成產(chǎn)生電力的耦合到渦輪的發(fā)電機(jī)。在此類實(shí)施例中,工業(yè)控制器12可使用至少現(xiàn)場設(shè)備16、18和20監(jiān)測和控制氣化系統(tǒng)的各個(gè)部件(例如,氣化器、氣體處理單元、燃燒室和渦輪)。對于所說明的工業(yè)控制系統(tǒng)10,現(xiàn)場設(shè)備16、18和20通信地(communicatiely)耦合到工業(yè)控制器12(例如,通過網(wǎng)絡(luò)14),同時(shí)監(jiān)測和控制燃?xì)鉁u輪系統(tǒng)22的工作的各個(gè)方面和參數(shù)(例如,監(jiān)測燃?xì)鉁u輪系統(tǒng)的燃燒室中的溫度,控制耦合到燃?xì)鉁u輪系統(tǒng)的軸(shaft)的發(fā)電機(jī)的電壓輸出,調(diào)節(jié)進(jìn)入燃燒室的燃料的流量,控制熱量回收蒸汽發(fā)生器(HRSG)的蒸汽輸入等)。應(yīng)該領(lǐng)會(huì),所說明的工業(yè)控制系統(tǒng)10表示簡化的工業(yè)控制系統(tǒng),并且其它工業(yè)控制系統(tǒng)可包括任意合適數(shù)目的工業(yè)控制器12、網(wǎng)絡(luò)14、連網(wǎng)設(shè)備、現(xiàn)場設(shè)備等以監(jiān)測和控制任何自動(dòng)化系統(tǒng)22的部分。在所敘述的實(shí)施例中,工業(yè)控制器12可使用網(wǎng)絡(luò)14與現(xiàn)場設(shè)備16、18或20中的任何一個(gè)通信并且控制現(xiàn)場設(shè)備16、18或20中的任何一個(gè)。例如,工業(yè)控制器12可居于工廠中并且可配置成調(diào)整涉及設(shè)備16、18、20的一個(gè)或多個(gè)生產(chǎn)過程(process)條件。網(wǎng)絡(luò)14可以是適合實(shí)現(xiàn)通信的任何電子和/或無線網(wǎng)絡(luò),并且可包括光纖介質(zhì)、雙絞線線纜介質(zhì)、無線通信硬件、以太網(wǎng)線纜介質(zhì)(例如,Cat-5、Cat-7)等。此外,網(wǎng)絡(luò)14可包括若干子總線,比如適合以100MB/sec和更高的通信速率連接工業(yè)控制系統(tǒng)10的部件的高速以太網(wǎng)子總線。另外,網(wǎng)絡(luò)14可包括輸入/輸出(I/O)網(wǎng)絡(luò),比如符合電氣和電子工程師協(xié)會(huì)(IEEE)802.3標(biāo)準(zhǔn)的I/O網(wǎng)絡(luò)。網(wǎng)絡(luò)14還可包括適合以大約31.25Kb/sec的通信速率連接工業(yè)控制系統(tǒng)10的部件的H1網(wǎng)絡(luò)子總線。例如,子總線可通過使用鏈接設(shè)備或網(wǎng)關(guān)(比如,在由德國Haar的softingAG提供的命名FG-100下可獲得的那些網(wǎng)關(guān)和/或從紐約Schenectady的通用電氣公司可獲得的I/O包裝(pack))彼此之間互相通信。實(shí)際上,網(wǎng)絡(luò)14的若干互連子總線可用來在工業(yè)控制系統(tǒng)10的部件間通信。工業(yè)控制器12,包括存儲器34和處理器36,可執(zhí)行指令(例如,可執(zhí)行文件中的二進(jìn)制指令)以通??刂乒I(yè)控制系統(tǒng)10的工作。例如,工業(yè)控制器12的存儲器34可包括包含二進(jìn)制指令的一個(gè)或多個(gè)文件,該文件可由處理器36執(zhí)行以便控制和監(jiān)測布置在燃?xì)鉁u輪系統(tǒng)22的部分內(nèi)的現(xiàn)場設(shè)備16、18和20。例如,這些可執(zhí)行文件可在工業(yè)控制器12安裝到工業(yè)控制系統(tǒng)10之前,最初由工業(yè)控制器12的制造商安裝到工業(yè)控制器12的存儲器34中。此外,例如,存儲在工業(yè)控制器12的存儲器34中的可執(zhí)行文件可不定期地更新以增加早先軟件版本的特征以及提高性能。還通信地耦合到工業(yè)控制器12(例如,通過網(wǎng)絡(luò)14或其它合適網(wǎng)絡(luò))的是設(shè)備24,其包括存儲器25和處理器26,設(shè)備24可托管(host)人機(jī)界面(HMI)系統(tǒng)27、制造執(zhí)行系統(tǒng)(MES)28、監(jiān)控站(supervisor)控制和數(shù)據(jù)獲取(SCADA)系統(tǒng)29、分布式控制系統(tǒng)(DCS)30或類似接口系統(tǒng)。特別地,在某些實(shí)施例中,設(shè)備24可托管配置應(yīng)用程序或工具,比如ToolboxSTTM(由要素32表示),可從紐約Schenectady的通用電氣公司獲得。通常,前述的系統(tǒng)可提供一個(gè)或多個(gè)接口,通過該接口用戶可監(jiān)測和控制工業(yè)控制器12的工作。例如,HMI27和/或ToolboxST32可提供用戶接口,通過該用戶接口工業(yè)控制系統(tǒng)10的各個(gè)參數(shù)(例如,存儲在工業(yè)控制器12的存儲器34中)可被強(qiáng)加(force)或設(shè)定。通過另一個(gè)示例,HMI27和/或ToolboxST32可包括接口,通過該接口存儲在控制器12的存儲器34中的各個(gè)可執(zhí)行文件可被更新到更新的版本。在某些實(shí)施例中,前述的系統(tǒng)可被托管在單個(gè)設(shè)備24上,而在其它實(shí)施例中,它們可各自被安裝到工業(yè)控制系統(tǒng)10中的一個(gè)或多個(gè)設(shè)備上。此外,具有存儲器40和處理器42的安全服務(wù)器38可通信地耦合到工業(yè)控制器12和設(shè)備24(例如,通過網(wǎng)絡(luò)14或其它合適網(wǎng)絡(luò))并且可托管證書權(quán)限(CA)44。由安全服務(wù)器38托管的證書權(quán)限44通常可在工業(yè)控制系統(tǒng)10中發(fā)出和撤回證書,以例如實(shí)現(xiàn)在工業(yè)控制器12和設(shè)備24之間的安全通信。應(yīng)該領(lǐng)會(huì),盡管在圖1中僅說明了單個(gè)安全服務(wù)器38和證書權(quán)限44,但是在某些實(shí)施例中,工業(yè)控制系統(tǒng)10可具有1、2、3、4或更多個(gè)安全服務(wù)器38和/或證書權(quán)限44。通常而言,證書是可使用數(shù)字簽名來驗(yàn)證證書持有者身份的電子文檔。例如,可需要控制系統(tǒng)10的各個(gè)部件使用相互認(rèn)證或其它安全技術(shù)(例如,雙因素(two-factor)認(rèn)證)來驗(yàn)證彼此的身份。通常,相互認(rèn)證可指第一個(gè)證書持有者(例如,設(shè)備24)驗(yàn)證第二個(gè)證書持有者(例如,工業(yè)控制器12)的身份,并且反過來該第二個(gè)證書持有者接著驗(yàn)證該第一個(gè)證書持有者的身份(例如,通過網(wǎng)絡(luò)14)。因此,相互認(rèn)證可減少工業(yè)控制系統(tǒng)10的未授權(quán)使用的幾率。如此,公開的實(shí)施例包括適用于通過使用證書的相互認(rèn)證(例如,雙向認(rèn)證)的使用使向工業(yè)控制器12的通信安全的系統(tǒng)和方法。例如,如以下詳細(xì)討論的,設(shè)備24(例如,在設(shè)備24上運(yùn)行的ToolboxST32或HMI27)和工業(yè)控制器12可從證書權(quán)限44獲得各自的證書。接著,例如當(dāng)ToolboxST32想要建立到工業(yè)控制器12的經(jīng)認(rèn)證通信通道時(shí),作為驗(yàn)證它們各自身份的一部分,該兩個(gè)設(shè)備可交換它們各自的證書。該認(rèn)證通??蓽p小或消除工業(yè)控制器12和/或設(shè)備24的未授權(quán)使用的可能性。另外,設(shè)備24可反過來驗(yàn)證工業(yè)控制器12的身份以進(jìn)一步提高工業(yè)控制系統(tǒng)10的安全。此外,除了該認(rèn)證之外,某些實(shí)施例還可實(shí)現(xiàn)加密的使用以進(jìn)一步保護(hù)經(jīng)認(rèn)證通信通道的安全。即,在某些實(shí)施例中,工業(yè)控制器12和設(shè)備24可分別使用包含于其它設(shè)備的證書中的數(shù)據(jù)(例如,公用密鑰(key))的一部分以加密通信內(nèi)容,使得這些內(nèi)容對于工業(yè)控制系統(tǒng)10中的其它設(shè)備通常不可讀。除了使通信安全以外,當(dāng)前公開的實(shí)施例可利用列白名單(whitelisting)方法來對存儲在工業(yè)控制器12的存儲器34中的每個(gè)可執(zhí)行文件在執(zhí)行之前進(jìn)行驗(yàn)證。例如,該白名單(whitelist)文件可包括對在特定軟件發(fā)布中的授權(quán)可執(zhí)行文件所確定的哈希(hash)密鑰值的集合。即,在每個(gè)可執(zhí)行文件建立(例如,編譯)之后,該可執(zhí)行文件可作為輸入提供給哈希函數(shù)(例如,循環(huán)冗余校驗(yàn)(CRC)哈希函數(shù)、消息摘要算法(MD:Message-DigestAlgorithm)哈希函數(shù)、安全哈希算法(SHA)哈希函數(shù)或其它合適的哈希函數(shù)),并且與該可執(zhí)行文件關(guān)聯(lián)的哈希密鑰值輸出可存儲在白名單文件(例如,可擴(kuò)展標(biāo)記語言(XML)文件)中。此外,白名單文件可安全地提供給工業(yè)控制器(例如,在打包和/或傳送之前加密,以及由工業(yè)控制器解密)。工業(yè)控制器在執(zhí)行特定可執(zhí)行文件之前,還可提供該特定可執(zhí)行文件給相同的哈希函數(shù)(例如,CRC、MD5、SHA-1或其它合適的哈希函數(shù)),并且可接著確定從哈希函數(shù)輸出的哈希密鑰值是否包括在白名單文件中。如果哈希密鑰值位于白名單文件中,那么工業(yè)控制器可斷定該特定可執(zhí)行文件經(jīng)過授權(quán)(例如,來自可靠的源頭并且自從它被建立以來沒有被修改過)并且繼續(xù)執(zhí)行該可執(zhí)行文件。然而,如果該哈希密鑰值沒有位于白名單文件中,那么工業(yè)控制器可阻止該特定可執(zhí)行文件的執(zhí)行,并且可把未授權(quán)執(zhí)行的嘗試記入日志。通過以這種方式使用列白名單方法,工業(yè)控制器12可在執(zhí)行前有效且同時(shí)地驗(yàn)證每個(gè)可執(zhí)行文件的身份和內(nèi)容。因此,當(dāng)前公開的實(shí)施例可施加若干安全限制(例如,以步進(jìn)方式)以把工業(yè)控制器12從工作的開放模式移到工作的安全模式。圖2是根據(jù)本公開內(nèi)容的各方面的過程50的實(shí)施例的流程圖,工業(yè)控制器12可通過過程50從工作的開放模式移到工作的安全模式。過程50始于工業(yè)控制器12工作(框52)在開放模式。通常而言,工業(yè)控制器12的工作的開放模式既不限制與工業(yè)控制器的通信,它也不限制可執(zhí)行文件由工業(yè)控制器的執(zhí)行。當(dāng)工作在該開放模式時(shí),工業(yè)控制器12可接收(框54)來自配置工具(例如,在設(shè)備24上的ToolboxST32)的指令,以把工業(yè)控制器的工作的模式從開放模式改變到安全模式。響應(yīng)于接收來自配置工具(例如,在設(shè)備24上的ToolboxST32)的使工業(yè)控制器12工作在安全模式的指令,工業(yè)控制器可切換到工作(框56)在協(xié)商模式。通常而言,在協(xié)商模式期間,工業(yè)控制器12通??蔀榘踩J焦ぷ髯鰷?zhǔn)備。例如,轉(zhuǎn)到圖3,說明了根據(jù)本公開內(nèi)容的各方面的過程70的實(shí)施例的流程圖,工業(yè)控制器12可在協(xié)商模式中執(zhí)行過程70。協(xié)商模式過程70可始于工業(yè)控制器12經(jīng)網(wǎng)絡(luò)14從證書權(quán)限(例如,在安全服務(wù)器38上的證書權(quán)限44)獲得(框72)安全證書。如以下關(guān)于圖4討論的,該證書可由工業(yè)控制器12稍后用來建立到例如ToolboxST32的安全(例如,認(rèn)證的和/或加密的)連接。接著,工業(yè)控制器12可禁用(框74)工業(yè)控制器12的未認(rèn)證和/或未加密的網(wǎng)絡(luò)連接。即,工業(yè)控制器12的處理器36可執(zhí)行禁用與向工業(yè)控制器的未認(rèn)證和/或未加密的通信關(guān)聯(lián)的連接、端口和/或協(xié)議的一個(gè)或多個(gè)指令。例如,在某些實(shí)施例中,工業(yè)控制器12可禁用到工業(yè)控制器12的文件傳送協(xié)議(FTP)、遠(yuǎn)程登錄和/或任何其它未認(rèn)證的或明文(plain-text)連接(例如,通過網(wǎng)絡(luò)14)。此外,工業(yè)控制器12可禁用(框76)工業(yè)控制器12的本地端口訪問(例如,通過本地串行端口登錄和/或控制工業(yè)控制器12的能力)。另外,作為協(xié)商模式過程70的一部分,工業(yè)控制器12還可阻止在白名單文件中沒有對應(yīng)條目(entry)的文件的執(zhí)行(框78)。即,如以上所陳述的,當(dāng)前工業(yè)控制器12的實(shí)施例可連同特定軟件發(fā)布的可執(zhí)行文件一起接收加密的白名單文件。此外,可執(zhí)行文件中的一個(gè)(例如,啟動(dòng)可執(zhí)行文件)可包括可用來解密白名單文件的專用密鑰值。接著,當(dāng)特定可執(zhí)行文件嘗試執(zhí)行時(shí),工業(yè)控制器12可比較嘗試執(zhí)行的可執(zhí)行文件的哈希密鑰值與在解密的白名單文件中列出的哈希密鑰值。如果可執(zhí)行文件的哈希密鑰值沒有位于白名單文件中,那么它可被阻止執(zhí)行。還應(yīng)該領(lǐng)會(huì),在協(xié)商過程期間,工業(yè)控制器12還可驗(yàn)證在工業(yè)控制器12進(jìn)入?yún)f(xié)商模式之前開始執(zhí)行的任何可執(zhí)行文件也經(jīng)過授權(quán)。即,在工業(yè)控制器12進(jìn)入?yún)f(xié)商模式時(shí),工業(yè)控制器12可對當(dāng)前正在工業(yè)控制器12上執(zhí)行的所有可執(zhí)行文件執(zhí)行可執(zhí)行文件的驗(yàn)證。回到圖2,一旦工業(yè)控制器12已完成協(xié)商模式(框56),工業(yè)控制器12可開始工作(框58)在認(rèn)證模式。通常而言,認(rèn)證模式在工業(yè)控制器12和配置工具(例如,在設(shè)備24上的ToolboxST32)之間建立安全(例如,認(rèn)證的和/或加密的)通信。例如,轉(zhuǎn)到圖4,說明了根據(jù)本公開內(nèi)容的各方面的過程90的實(shí)施例的流程圖,工業(yè)控制器12可在認(rèn)證模式中執(zhí)行過程90。說明的過程90始于工業(yè)控制器12接收(框92)來自配置工具(例如,ToolboxST32)的請求以建立到工業(yè)控制器12的認(rèn)證和/或加密連接(例如,安全套接字層(SSL)連接)。過程90繼續(xù),其中工業(yè)控制器12在配置工具(例如,ToolboxST32)和工業(yè)控制器12之間建立(框94)認(rèn)證和/或加密連接。再一次轉(zhuǎn)到圖2,在工業(yè)控制器12已完成認(rèn)證模式(框58)后,工業(yè)控制器12可開始工作(框60)在安全模式。應(yīng)該領(lǐng)會(huì),在協(xié)商模式和認(rèn)證模式期間(例如,如圖3和4所敘述的)施加在工業(yè)控制器上的安全限制可繼續(xù)在安全模式中應(yīng)用。即,在工業(yè)控制器12正工作在安全模式時(shí),向工業(yè)控制器的認(rèn)證的和/或未加密的通信(例如,F(xiàn)TP、遠(yuǎn)程登錄、本地端口通信)可被禁止,并且可與白名單文件對照驗(yàn)證所有可執(zhí)行文件以確保它們在執(zhí)行之前經(jīng)過授權(quán)。還應(yīng)該領(lǐng)會(huì),在整個(gè)功率循環(huán)和/或軟件升級中,安全模式可在工業(yè)控制器12中持續(xù)。例如,在某些實(shí)施例中,在工業(yè)控制器12正在重新引導(dǎo)時(shí),可遇到存儲器中的變量指示在功率循環(huán)之前正使工業(yè)控制器12工作在安全模式。如此,在重新引導(dǎo)過程期間,工業(yè)控制器12通常可執(zhí)行協(xié)商模式的動(dòng)作(例如,圖3的過程70)以應(yīng)用需要的安全限制(例如,在工業(yè)控制器12開始控制工業(yè)控制系統(tǒng)10之前)。因此,工業(yè)控制器12可開始安全模式中的操作(例如,僅接受來自ToolboxST32的加密連接并且僅執(zhí)行授權(quán)的可執(zhí)行文件)。該公開內(nèi)容的技術(shù)效果包括對工業(yè)控制系統(tǒng)10的整體安全的提高。即,當(dāng)前公開的實(shí)施例實(shí)現(xiàn)使工業(yè)控制器12工作在安全模式,該安全模式通??勺柚刮词跈?quán)可執(zhí)行文件的執(zhí)行和/或阻止由未授權(quán)人員或系統(tǒng)對工業(yè)控制器的訪問。另外,當(dāng)前公開的實(shí)施例通過對工業(yè)控制器12逐漸地應(yīng)用若干安全限制,使得工業(yè)控制器12能夠從開放模式(例如,沒有限制)移到安全模式(例如,有額外安全限制)。通過使工業(yè)控制器12能夠工作在持續(xù)于工業(yè)控制器12的各種活動(dòng)(例如,功率循環(huán)、軟件下載和/或軟件升級)的安全模式,當(dāng)前公開的實(shí)施例一般提供了具有未授權(quán)訪問和/或未授權(quán)指令執(zhí)行的降低風(fēng)險(xiǎn)的工業(yè)控制系統(tǒng)10。該書面描述使用示例公開包括最好模式的本發(fā)明,并且還使本領(lǐng)域的任何技術(shù)人員能夠?qū)嵺`本發(fā)明,包括制造和使用任何設(shè)備或系統(tǒng)以及執(zhí)行任何結(jié)合的方法。本發(fā)明可授予專利的范圍由權(quán)利要求書限定,并且可包括本領(lǐng)域技術(shù)人員所想到的其它示例。此類其它示例意圖在權(quán)利要求書的范圍之內(nèi),如果它們具有與權(quán)利要求書的字面語言沒有不同的結(jié)構(gòu)要素的話,或者如果它們包括與權(quán)利要求書的字面語言沒有實(shí)質(zhì)性差別的等價(jià)結(jié)構(gòu)要素的話。