3 密码鉴权
3.1 概述
密码鉴权技术基于对请求访问工业自动化控制系统(IACS)的某个设备或控制操作员应该知道的内容(比如,一个秘密)进行测试,决定真实性,诸如个人识别码(PIN)或密码。密码鉴权方案是最简单和最常用的。
有三种常见的密码:
• 数字密码或PIN-用一组数字作为秘密(比如,数字1234);
• 字符密码-用一条短字符串作为秘密(比如,“hat34slow”);
• 短语密码-用一条长字符串来生成秘密(比如,短语“downtown 23 boats hit cars and blew smoke into cabbage”可生成以64为基数的秘密值 X34B3-By88e-P345s-56df0)。
每种密码类型遵循相同的理念,但对用户给出了不同的复杂性,对系统提供了不同等级的信息安全。
• 数字密码是最简单的,甚至最小的嵌入式设备都能管理。它经常表现为一个从0到9999的数字,并且可以存储为一个16位整数。它也是最不安全方法。两个最常见的例子是把PIN当作自动取款机信用卡的密码或门访问设备的键板输入密码。
• 字符密码比较长,经常从6到14个字符。它要用更多的存储器和处理来管理,因此提供了多一点的信息安全。
• 短语密码更加长,在密码系统中可用来创建数码钥。虽然记忆像“downtown 23 boats hit cars and blew smoke into cabbage,”这样的短语要花费一些力气,但对多数人来说,比起记忆编码“X34B3-By88e-P345s-56df0.”要容易的多。这种方法也提供了更多的信息安全,因为对于黑客猜测是最难的,用密码破解程序来破解的可能性也较小。

3.2这项技术针对的信息安全漏洞
在IACS环境中,密码限制了授权用户对服务和功能的请求。
3.3 典型应用
密码通常用在两种方式中:
• 密码随授权请求一起发送。网络服务请求通常包括密码。一个常见的例子是简单网络管理协议(SNMP)请求,包括一个团体名字。
• 在请求后,系统要求密码确认授权。在用户试图访问时,鉴权机制通常要求输入密码。
3.4 已知的问题和弱点
密码的威力直接与它的长度和熵值(随意性)相关。长度的重要性是显而易见的。一个两位数字密码仅有00到99这100种可能的值,而一个8位字符密码有几十亿种可能的值。
熵值是对密码的一种随机性测量,并且相当重要。使用可推断的数字序列(比如,“1234”)或常用英语单词(比如,“password”或“operator”)为密码比随机密码更容易推测出来。不幸的是,在密码使用中最大的问题是控制系统用户往往挑选容易记忆的密码,因此熵值很低且容易推测。
在一个12键板上多采用数字密码,是一种简单自然的模式,像1254或1478,很多计算机密码为生日或配偶或宠物的名字。破译方案用人们的喜好作为判别模式,使攻击者猜测正确密码比理论上的尝试次数要少的多。如果供应商实施一种积极的密码检查器,禁止槽糕的,最近使用的,或公共使用的密码,能够减少密码漏洞。
另一个弱点是第三方窃取容易。键板或键盘上的典型密码是容易观察或记录的,特别在攻击者已植入微型无线相机或硬件击键探测器的区域内。网络服务鉴权经常使用明文(未加密)传送密码,用任何网络捕获工具就可获取真实密码。

对明文密码的改进是打乱密码。使用一种单向算法把密码转换成一种杂乱码,它是一种很难通过计算译回原码。然而,不是所有杂乱码都安全。有可能把另一个密码转换成同一个值,但它也很难计算。更严肃地,甚至把密码作为杂乱码发送,网络捕获工具经常用报文更改和“重发”,容易创建一个新的带有效加密密码的完整报文,甚至不知道原始密码。
密码文件应该得到保护,防止阅读或拷贝。一个常用密码破译的方法是拷贝这个密码文件,然后离线逆着文件运行程序。这些程序生成大量可能的密码和杂乱码,每次用同样的单向算法,建立一张密码对应杂乱码的列表。然后这个程序把捕获密码文件与表中的每个值比较,直到找到一个匹配值。这种攻击方法限制了攻击者的暴露,且可以完全俘获系统。
[DividePage:NextPage]
3.5在工业自动化和控制系统环境中使用的评估
在IACS环境中使用唯一密码的一个问题是用户回忆和登录密码的能力可能被瞬间的压力所影响。在重要危机关头,人员干涉为必须时,一个操作员可能惊惶失措,很难记住密码,被完全锁在外面或延迟响应事件。如果登录的密码是错误的,系统具有错误密码登录次数限制,操作员可能永远被锁在外面,直到一个授权人员复位这个账号。
在IACS环境中,当使用基于注册密码鉴权的IT策略时,要给予特别考虑。没有一个基于机器识别(ID)的排除列表,非操作员登录可能产生诸如超时自动退出和管理员密码替换的策略执行结果,这对系统的运行是有害的。有些控制器的操作系统设置安全密码比较困难,因为密码尺寸非常小,所以系统通常仅允许组密码,在某个级别访问,不是各人的密码。
有些工业(和因特网)协议的传送密码使用明文,容易被侦听。万一不能避免这种情况,使用有加密和非加密系统,用户使用不同的(无关的)密码是重要的。

3.6 未来方向
工业自动化和控制系统装置比较复杂,应有高水平的密码信息安全。IACS装置需要具有用安全方式(比如,不是明文)传送密码的协议。将来使用密码的一个方法可能是一种称为RBA的公共方法,或基于角色鉴权。在某些情况下,几个操作员具有相同的密码,因此有相同授权,因为他们有同等授权,一旦他们进入控制系统通过授权,他们能够做和不能做的都一样。这种基于角色的方法与他或她的工作角色相关,而不是与他或她的个人相关,这对管理员在一个比公共IT 企业工作角色变化更频繁的环境中是有用的。
未来IACS密码装置和协议应在不同紧急情况下给操作员提供灵活性。例如,在紧急情况下,惊惶失措的操作员可能多次登录不成功。而在紧急情况下不允许操作员访问系统可能产生严重的问题,惨重的后果。因此,应该有密码算法预案,通过对不成功尝试与成功的相似性,对不成功尝试的人进行识别。算法应允许操作员使用简单紧急密码用于登录目的。
3.7 推荐与指南
下面是使用密码的一般性推荐和考虑。详细的推荐将在IEC 62443-2-1中给出。
• 密码应有适当的长度且使用随机字符,满足信息安全要求。特别的,它们不能在字典中发现或是能预测的数字或字母序列。
• 原始密码和重新设制的密码应能安全传送至目标接收器。用户鉴权不需使用社会工程方法。这些方法包括面对面ID鉴权和发送语音邮件。
•在操作员接口设备上应小心使用密码,诸如关键流程的控制操作台。如果操作员在关键事件期间在这些控制台上使用密码被锁住时,可能带来潜在的安全问题。
• 主密码的保管人应是可信赖的员工,在紧急时刻使用。对信赖员工有限授权,可以更改高级密码。密码登录,特别是主密码,应该与控制系统分开维护,可能锁在一台笔记本的保险箱或安全箱中。
•在可能侦听或入侵(诸如设施中的远程操作员接口,缺乏本地物理信息安全访问控制)的高风险环境中,用户应该考虑增加其他形式的密码鉴权,诸如挑战/响应或生物测量或物理令牌两因素鉴权。
• 为了达到用户鉴权目的,使用密码直接登录到本地设备或计算机是通常做法,可以接受。密码不应通过网络发送,除非有很强加密形式保护或有针对重发攻击而设计的加密。假设使用密码进入的设备都连接到安全形式的网络。
• 为了达到网络服务鉴权目的,如果可能应该避免使用密码。有多种安全方法可供选择,诸如挑战/响应或公共密钥鉴权。



