西門子PLC模塊CPU226型號216-2AD23-0XB8
使用 CSR
可通過以下兩種方式使用 CSR:
● 將 CSR 發(fā)送到證書頒發(fā)機構(gòu) (CA):讀取特定證書頒發(fā)機構(gòu)的信息,。證書頒發(fā)機構(gòu)
(CA) 將檢查用戶的身份和信息(認(rèn)證),并使用該證書頒發(fā)機構(gòu)的私鑰對該證書進行
簽名,。如,,接收已簽名的 X.509 證書,并將該證書用于 OPC UA,、HTTPS 或 Secure
OUC (secure open user communication) 中,。通信伙伴將使用該證書頒發(fā)機構(gòu)的公鑰
檢查該證書是否確實由 CA 機構(gòu)頒發(fā)(即,該證書頒發(fā)機構(gòu)已確定您的信息),。
● 用戶對 CSR 進行自簽名:使用用戶的私鑰,。該選項將在下一個操作步驟中介紹。

自簽名證書西門子PLC模塊CPU226型號216-2AD23-0XB8
輸入以下命令,,生成一個證書并對自簽名(自簽名證書):“x509 -req -days 365 -in
myRequest.csr -signkey myKey.key -out myCertificate.crt”,。
下圖顯示了包含以下命令和 OpenSSL 的命令行窗口:
該命令將生成一個 X.509 證書,其中包含通過 CSR 傳送的屬性信息(在本示例中,,為
“myRequest.csr”),,例如有效期為一年(-days 365)。該命令還將使用私鑰對證書進行
簽名(在本示例中為“myKey.key”),。通信伙伴可使用公鑰(包含在證書中)檢查您是否
擁有屬于該公鑰的私鑰,。這樣還可以防止公鑰被攻擊者濫用。
通過自簽名證書,,用戶可確定自己證書中的信息是否正確,。此時,,無需依靠任何機構(gòu)即可
檢查信息是否正確。

消息的安全模式
OPC UA 使用以下安全策略確保消息安全:
● 不安全
所有消息均不安全,。要使用該安全策略,,則需與服務(wù)器建立安全策略為“無”(None) 的
端點連接。
● 簽名
所有消息均已簽名,。系統(tǒng)將對所接收消息的完整性進行檢查,。檢測篡改行為。要使用
該安全策略,,則需與端點安全策略為“簽名”(Sign) 的服務(wù)器立連接,。
● 簽名和加密
對所有消息進行簽名并加密。系統(tǒng)將對所接收消息的完整性進行檢查,。檢測篡改行
為,。而且,攻擊者無法讀取消息內(nèi)容(保護機密),。要使用該安全策略,,則需與端點
安全策略為“簽名并加密”(SignAndEncrypt) 的服務(wù)器建立連接。
安全策略還可根據(jù)所使用的算法命名,。示例:“Basic256Sha256 -簽名和加密”表示:端點
進行安全連接,,支持一系列 256 位哈希和 256 位加密算法。

所需層級
下圖顯示了建立連接時通常所需的三個層:傳輸層,、安全通道和會話,。
圖 9-6
所需層級:傳輸層、安全通道和會話
● 傳輸層:
該層用于發(fā)送和接收消息,。OPC UA 在此使用優(yōu)化的基于 TCP 的二進制協(xié)議,。傳輸層
是后續(xù)安全通道的基礎(chǔ)。
● 安全通道
安全層從傳輸層接收數(shù)據(jù),,再轉(zhuǎn)發(fā)到會話層中,。安全通道將待發(fā)送的會話數(shù)據(jù)轉(zhuǎn)發(fā)到
傳輸層中。
在“簽名”(Sign) 安全模式中,,安全通道將對待發(fā)送的數(shù)據(jù)(消息)進行簽名,。接收消息
時,,安全通道將檢查簽名以檢測是否存在篡改的情況,。
采用安全策略“簽名并加密”(SignAndEncrypt) 時,安全通道將對待發(fā)送數(shù)據(jù)進行簽名并
加密,。安全通道將對接收到的數(shù)據(jù)進行解密,,并檢查簽名。
采用安全策略“不安全”(No security) 時,,安全通道將直接傳送該消息包而不進行任何更
改(消息將以純文本形式接收和發(fā)送),。

會話
會話將安全通道的消息轉(zhuǎn)發(fā)給應(yīng)用程序,,或接收應(yīng)用程序中待發(fā)送的消息。此時,,應(yīng)
用程序即可使用這些過程值或提供這些值,。