使用 TIAPortal 进行证书管理 (S7-1200, S7-1500, S7-1500T) TIA Portal (STEP 7) V14及更高版本与 S7-1500-CPU 固件版本 V2.0 及更高版本一同使用时, 支持 Internet PKI (RFC5280)。S7-1500 CPU 可以与同样支持 Internet PKI 的设备进行 数据通信。 例如,会而使用X.509 证书来验证前文介绍的证书。 STEP 7 V14 及更高版本采用的 PKI 与 Internet PKI类似。例如,证书吊销列表 (CRL) 不受支持。 在 TIA Portal 中创建或分配证书 对于具有安全属性的设备(例如,固件版本为V2.0 或更高版本的 S7-1500 CPU),可以在 STEP 7 中针对不同的应用创建相应的证书。 在 CPU巡视窗口的以下区域内,可创建新的证书或选择现有的证书: • “Web 服务器 > 安全”(Web server >Security) - 用于生成和分配 Web 服务器证书。 • “保护和安全 > 连接机制”(Protection &Security > Connection mechanisms) - 用于生成或 分配 PLC 通信证书(TIA PortalV17 及以上版本的 PG/HMI 间安全通信)。还包含以下扩展详细: • 指定公钥的使用范围(KeyUsage),如签名或密钥加密。 如在安全的开放式用户通信中,使用 STEP 7 创建一个新的证书,则可从可能的用途列表中选择相应的条目,例如“TLS”。 • 指定“Subject Alternative Name”(“SAN”),用于与 Web服务器进行安全通信 (HTTP over TLS),以确保 Web 浏览器地址栏中的证书同样属于该 URL 所指定的 Web 服务器。如何生成并验证签名 非对称密钥可用于证书的验证:在“MyCert”证书示例中,介绍了具体的“签名”与“验证签 名”过程。 生成签名:1. “MyCert”证书的签发者使用一个特定的哈希函数(例如,SHA-1,Secure Hash Algorithm),根据证书数据生成一个哈希值。 该 HASH 值是一个长度固定的位串。HASH 值长度固定的优势在于,签名的时间始终相同。 2.之后,证书的签发者再使用由这种方式生成的 HASH 值和私钥,生成一个数字签名。通常采用 RSA 签名机制。 3.数字签名将保存在证书中。此时,证书已签名。 验证一个签名: 1. “MyCert”证书的认证方将获得由证书签发者签发的证书和公钥。2. 使用签名时所用的哈希算法(例如,SHA-1),根据证书数据生成一个新的哈希值。 3.将该哈希值与通过证书签发者的公钥以及签名算法确定的哈希值进行比较,以验证证 书的签名。 4.如果签名验证结果为正,则表示证书持有者的身份以及完整性(即,证书内容的可靠性和真实性)均通过验证。拥有该公钥(即,证书颁发机构的证书)的任何人均可对该签名进行检 查,进而证明该证书确实由该证书颁发机构签发。下图显示了 Alice 如何采用 Twent(代表证书颁发机构,CA)证书中的公钥,验证 Bob 的公钥签名。在验证时仅需要验证证书颁发机构颁发的证书的可用性。验证会在 TLS 会话 中自动执行。
“保护和安全 >证书管理器”区域的特性 只有在巡视窗口的该区域,才能在全局(即,项目级)证书管理器和本地(即,设备特定的)证书管理器之间进行切换(选项“使用证书管理器的全局安全设置”(Use global security settings forcertificate manager))。该选项用于确定当前用户是否有权访问项目中的所有证 书。 •如果在全局安全设置中未使用证书管理器,则只能访问 CPU 的本地证书存储器。例如,当前用户无权导入证书或根证书。如果没有这些证书,则可用的功能有限。例如,用户只 能创建自签名的证书。 •如果在全局安全设置中使用证书管理器并以管理员身份登录,则有权访问全局(项目级) 证书存储器。例如,可将导入的证书分配给CPU,也可创建由项目 CA(项目的证书颁发 机构)颁发和签名的证书。 下图显示了在激活 CPU巡视窗口中的“使用证书管理器的全局安全设置”(Use global security settings for certificatemanager) 选项后“全局安全设置”(Global security settings) 在项目树 中如何显示。“保护和安全> 证书管理器”区域的特性 只有在巡视窗口的该区域,才能在全局(即,项目级)证书管理器和本地(即,设备特定的)证书管理器之间进行切换(选项“使用证书管理器的全局安全设置”(Use global security settings forcertificate manager))。该选项用于确定当前用户是否有权访问项目中的所有证 书。 •如果在全局安全设置中未使用证书管理器,则只能访问 CPU 的本地证书存储器。例如,当前用户无权导入证书或根证书。如果没有这些证书,则可用的功能有限。例如,用户只 能创建自签名的证书。 •如果在全局安全设置中使用证书管理器并以管理员身份登录,则有权访问全局(项目级) 证书存储器。例如,可将导入的证书分配给CPU,也可创建由项目 CA(项目的证书颁发 机构)颁发和签名的证书。 下图显示了在激活 CPU巡视窗口中的“使用证书管理器的全局安全设置”(Use global security settings for certificatemanager) 选项后“全局安全设置”(Global security settings) 在项目树 中如何显示。在项目树中,单击全局安全设置中的“用户登录”(User login) 并进行登录,将显示“证书管 理器”(Certificatemanager) 行。 双击“证书管理器”(Certificate manager) 行,即可访问项目中的所有证书。这些证书分别位于选项卡“CA”(证书颁发机构)、“设备证书”(Device certificates) 以及“受信证书和根证书颁发机构”(Trusted certificates and root certification authorities)中。TIA Portal (STEP 7) 在生成设备证书或服务器证书(Zui终实体证书)时将生成私钥。根据是否在全局安全设置使用证书管理器,可确定以加密形式存储私钥的位置: •如果使用全局安全设置,则私钥将以加密形式存储在全局(项目级)证书存储器中。 •如果未使用全局安全设置,则私钥将以加密形式在本地(CPU 特定的)证书存储器中。解密数据等操作所需的私钥显示在全局安全设置中证书管理器的“设备证书”(Device certificates)选项卡的“私钥”(Private key) 列。 下载硬件配置时,会将设备证书、公钥和私钥下载至 CPU。 注意启用“使用证书管理器的全局安全设置”(Use global security settings for the certificatemanager) 选项 - 后果 选项“使用证书管理器的全局安全设置”(Use global security settingsfor certificate manager) 会影响之前使用的私钥:如果在未在全局安全设置中使用证书管理器的情况下创建了证书,将该选项更改为使用证书管理器,则私钥会丢失,证书 ID 会发生变化。系统将发出一条警告,提示应注意以上问题。在开始组态时,指定证书管理所需的选项。 证书管理示例 (S7-1200, S7-1500,S7-1500T) 如前文所述,每种类型的安全通信都需要使用证书。在以下章节中,举例说明如何使用 STEP 7进行证书管理,从而满足开放式用户安全通信的要求。在下文中,就哪些设备是参与通信的伙伴进行了区分。为通信参与者提供所需证书的相应步骤分别进行了介绍。需要固件版本为 2.0 或更高版本的 S7-1500 CPU 或者 S7-1500 软件控 制器。通常,以下情况适用: 建立安全连接(“握手”)时,通信伙伴通常只会传送其Zui终实体证书(设备证书)。 验证已传送设备证书所需的CA 证书必须位于相应通信伙伴的证书存储器中。 说明 在 CPU 中,必须设置当前的日期/时间。 使用安全通信(如,HTTPS、安全OUC、OPC UA)时,需确保相应模块为当前时间和当前 日期。否则,模块将所用的证书评估为无效,不进行安全通信。 两个S7-1500 CPU 之间安全的开放式用户通信 两个 S7-1500 CPU PLC_1 和 PLC_2应通过安全的开放式用户通信交换数据。 使用 STEP 7 生成所需的设备证书,将其分配给 CPU,如下所述。 STEP 7项目证书颁发机构(项目的 CA)用于对设备证书进行签名。 在用户程序中根据证书 ID 对证书进行引用(TCON通信指令组合相关的系统数据类型,例如 TCON_IPV4_SEC)。STEP 7 在生成或创建证书时会自动分配证书 ID。 操作步骤STEP 7 自动将所需的 CA 证书连同硬件配置下载到参与通信的 CPU 中,使两个 CPU 均存在证书验证要求。您只需为相应的 CPU 生成设备证书即可,其余工作由 STEP 7 完成。 1. 选择PLC_1,并激活“保护和安全”(Protection & Security) 区域中的“使用证书管理器的全局 安全设置”(Useglobal security settings for certificate manager) 选项。 2.以用户身份登录项目树的“全局安全设置”(Global security settings) 区。对于新项目,首次登录时默认采用“管理员”身份。 3. 返回到“保护与安全”(Protection & Security)部分中的 PLC 1 中。在“设备证书”(Device certificates) 表格中,单击“证书持有者”(Certificateholder) 列的一个空行,添加新的证书。