一、介绍
工业控制系统作为国家关键基础设施的重要组成部分,其安全性已经成为涉及国家安全稳定的重要战略问题。近年来,针对工控系统的病毒和攻击不断涌现,引起了各国的高度重视,纷纷在政策、标准、技术等方面开展了积极应对, 身份认证是降低工控系统安全风险的有效手段之一。鉴于当前我国工控系统面临着安全形势非常严峻,设备和系统主要依赖进口,且没有形成规避安全风险制度和规范,本文在介绍传统IT系统身份认证的基础上提出工控设备和系统身份认证方法。
二、身份认证技术
无论是确保个人信息的隐私性,还是企业保护核心数据的安全性,工控企业采用合适的身份验证方式已经是势在必行。我们盘点了目前可以用的大部分身份验证方式,除了用户名和密码之外,今天可以采用的身份验证方式还有如下几种:智能卡认证、USB Key认证、生物特征认证、动态口令认证等。
静态密码是由用户自己设定的一串静态数据,静态密码一旦设定之后,除非用户更改,否则将保持不变,这也就导致了静态密码的安全性缺点,比如容易被偷看、猜测、字典攻击、暴力破解、窃取、监听、重放攻击、木马攻击等。为了从一定程度上提高静态密码的安全性,用户可以定期对密码进行更改,但是这又导致了静态密码在使用和管理上的困难,特别是当一个用户有几个甚至几十个密码需要处理时,非常容易造成密码记错和密码遗忘等问题,而且也很难要求所有的用户都能够严格执行定期修改密码的操作,即使用户定期修改,密码也会有相当一段时间是固定的。从总体上来说,静态密码的缺点和不足主要表现在以下几个方面:
1)静态密码的易用性和安全性互相排斥,两者不能兼顾,简单容易记忆的密码安全性弱,复杂的静态密码安全性高但是不易记忆和维护;
2)静态密码的风险成本高,一旦泄密将可能造成最大程度的损失,而且在发生损失以前,通常不知道静态密码已经泄密;
3)静态密码的使用和维护不便,特别一个用户有几个甚至十几个静态密码需要使用和维护时,静态密码遗忘及遗忘以后所进行的挂失、重置等操作通常需要花费不少的时间和精力,非常影响正常的使用感受。
因此,静态密码机制虽然使用和部署非常简单,但从安全性上讲,静态密码属于单因素的身份认证方式,在很多情况下已无法满足工控系统对于身份认证安全性的需求。
2.智能卡
智能卡是指内嵌有微芯片的塑料卡(通常是一张信用卡的大小)的通称。智能卡可以有效防止硬件克隆,而且能使解密者对软件端代码的跟踪、调试、侦听数据的手段失效,从而在极大程度上保证了整个软件系统的安全性。
智能卡芯片具有很高的集成度,与普通低档的单片机不同,只有已通过国际安全机构检测和认证(EAL 4+)的专业安全芯片制造商才能提供智能卡芯片。而且必须具有如下优点:
1)私钥不可读:智能卡的软硬件设计严格控制用户私钥的使用权限,只能在满足条件时方可使用,保护私钥的安全性。
2)卡内签名、验证:私钥的签名、验证功能一律在卡内实现,不存在传输中私钥泄漏的可能性。
3)卡内生成RSA密钥对:RSA密钥对能直接在卡内产生,从而从源头上杜绝私钥泄露的可能性。
4)使用方便:智能卡小巧易携,使用上不受地域限制。用户只要在安装有相应驱动程序的计算机上就能激活使用载有私钥数字证书的智能卡,方便安全地在网络上实现电子交易。
总之,将用户密钥对、CA公钥、数字证书等存储在智能卡上能为用户提供更高级别的安全保障。智能卡使用多种加密算法技术,用更安全的方式存储私钥,而不是存储在易于受到攻击的计算机中。另外,智能卡的PIN码可以确保智能卡抵御非授权访问和暴力攻击。具有非对称密钥算法的智能卡可以满足人们对私钥的安全要求、移动式存储要求和防伪要求等,是目前最理想的PKI 私钥的安全载体。
3.USB Key
3.1介绍
智能卡就是一个完整的电脑架构,这种卡因为自己能够进行计算,所以使用上很灵活,安全性也很高,国内主要用在中石化加油卡、高速公路一卡通等。但是智能卡的使用必须要配合读卡器才行,这样就给一些个人用户造成了使用上的不便,随着USB协议的普及,一种将智能卡和读卡器结合的东西产生了,就是USBKey。
USBKey是集智能卡与读卡器于一体的USB设备,支持热插热拔和即插即用、符合安全标准、体积小、重量轻、便于携带。USBKey本身作为密钥存储器,自身硬件结构决定了用户只能通过厂商编程接口访问数据,这就保证了保存在USBKey中的数字证书无法被复制,并且每一个USBKey都带有PIN码保护,这样USBKey的硬件与PIN码就构成了使用USBKey进行身份认证的双因子。如果用户USBKey丢失,获得者由于不知道该硬件的PIN码,就无法冒充合法用户身份;如果用户PIN码泄露,只要保存好USBKey硬件就可以保证自己的身份不被冒充。
3.2原理
1)基于挑战-应答的双因子认证方式, 在这种方式中要求用户与服务器端共享一个密钥值,用户端存储在key中,服务器端存储在安全的数据库中。
a)在网络上验证用户身份时,客户端向服务器发送一个身份验证请求。
b)服务器端在收到身份验证请求之后,产生一个随机数并通过网络发送给客户端,这个随机数即称为挑战值。
c)客户端收到挑战值之后,将挑战值通过USB口传送给key,key使用该挑战值和key中的密钥生成HMAC值,并将该值发送给服务器,这个值即为应答。
d)服务器在收到应答值后,同样使用挑战值和服务器端存储的用户密钥计算HMAC值,若本地计算的值与传回的响应值一致,则身份认证通过。
2)基于数字证书的认证方式,数字证书是由权威公正的第三方机构即CA中心签发的,以数字证书为核心的加密技术,可以对网络上传输的信息进行加密和解密、数字签名和签名验证,确保网上传递信息的机密性、完整性,以及交易实体身份的真实性,签名信息的不可否认性,从而保障网络应用的安全性。每个用户拥有一个仅为本人所掌握的私有密钥(私钥),用它进行解密和签名;同时拥有一个公开密钥(公钥)用于文件发送者加密和接收者验证签名。当发送一份保密文件时,发送方使用接收方的公钥对数据加密,而接收方则使用自己的私钥解密。这样,信息就可以安全无误地到达目的地了,即使被第三方截获,由于没有相应的私钥,也无法进行解密。 用户也可以采用自己的私钥对信息进行加密,接收者用发送者的公钥解密,由于私钥仅为用户本人所有,所以就能够确认该信息确实是由该用户发送的。USB Key作为数字证书的存储介质,可以保证数字证书不被复制,并可以实现所有数字证书的功能。
4.生物特征识别
4.1介绍
生物特征认证是指通过自动化技术利用人体的生理特征和(或)行为特征进行身份鉴定。目前利用生理特征进行生物识别的主要方法有:指纹识别、虹膜识别、手掌识别、视网膜识别和脸相识别;利用行为特征进行识别的主要方法有:声音识别、笔迹识别和击键识别等。除了这 些比较成熟的生物识别技术之外,还有许多新兴的技术,如耳朵识别、人体气味识别、血管识别、步态识别等。
4.2原理
一个典型的生物特征识别系统包括生物特征识别传感器、特征提取、匹配其和系统数据库四个模块,以及采集生物特征样本、预处理、特征提取和特征匹配四个处理过程。
1)采集样本是通过某种技术和方法测量生物特征,并将其转换为计算机可以处理的数字信号,这就是生物特征传感器的主要任务,也是生物特征识别的第一步。大部分的生物特征,如人脸、指纹、虹膜、掌纹、手形、静脉等。都是通过光学传感器,例如电荷耦合器件图像传感器CCD或CMOS,形成图像信号。
2)预处理的目的主要是去除无用信息,加强有用的信息,并对测量仪器或其他因素所造成的退化现象进行复原。在一些生物特征识别技术中,一般从生物特征获取装置采集得到的原始信号不仅包括生物特征本身,还包括背景信息等,所以必须从原始信号中分割出感兴趣内容。定位和分割算法一般都是基于生物特征在图像结构和信号分布方面的先验知识。例如人脸检测就是要从图像中找到并定位人脸区域,这一直是计算机视觉领域研究的热点问题。
3)所谓特征提取过程,就是机器通过学习获取生物特征信号中能够凸显个性化差异的本质特征,从而实现身份的识别。特征提取是生物特征识别领域最基本的、原理性的问题,是生物识别领域最活跃的一个研究方向。生物特征技术的进展过程也 就是不断寻找能够凸显个性化差异本质特征的过程,由于生物特征的多样性和复杂性,目前这个问题只在个别的生物特征识别领域 得到了共识,例如指纹识别,大家都公认细节点(如末梢点和分叉点)是描述指纹特征的最佳表达方式,但是在其他生物特征识别领域,例如人脸、虹膜、掌纹等领域,研究人员还在不断探索最佳的特征表达模型。
4)特征匹配是计算两个生物特征样本的特征模板之间的相似度,实际上就是将采集到的生物特征模板与机器中已经登录的特征模板进行比对,并找出最佳的匹配对象。在特征匹配方面,除了传统的基于距离的匹配方法外,基于神经网络和基于支持向量机的方法也得到了广泛的应用。而图匹配的算法在指纹细节点模式、人脸模式、虹膜模式的相似性度量中得到了广泛的应用。
5.动态口令
动态口令也称一次性口令。动态口令是变动的口令,其变动来源于产生口令的运算因子是变化的。动态口令的产生因子一般都采用双运算因子:其一,为用户的私有密钥。它是代表用户身份的识别码,是固定不变的。其二,为变动因子。正是变动因子的不断变化,才产生了不断变动的动态口令。采用不同的变动因子,形成了不同的动态口令认证技术:基于时间同步认证技术、基于事件同步认证技术和挑战/应答方式的认证技术。具体使用过程中,它主要有这几种形态:硬件令牌、软件令牌、手机令牌、短信令牌等,最常用的是短信令牌或短信口令。
5.1思想
动态口令认证就是在登录过程中加入不确定因素,使每次登录时传送的认证信息都不相同,以提高登录过程安全性。动态口令认证技术消除了静态口令认证技术的大部分安全缺陷,能有效抵抗静态口令认证技术所面临的主要安全威胁和攻击,为网络应用系统提供了更加安全可靠的用户身份认证保障。该技术主要思想是为每个用户分配一个帐号,每个帐号配有种子、迭代值和通行短语,种子(时间)及变化的迭代值(随机数)就能够产生一系列口令,每个口令用户只能使用一次,由于用户的秘密通行短语(时间对密钥加密结果)从来不在网上传送,因此,系统不易受到重放攻击。
5.2原理
用户通过客户机访问服务器时,首先向服务器传送自己的帐号,服务器响应一个由与该帐号对应的种子和迭代值组成的挑战,客户机使用该挑战和秘密通行短语产生一个一次性口令,并以该一次性口令登录,作为对挑战的答复,服务器随即产生一次性口令与之对比,从而完成服务器对登录用户的鉴别,每次登录成功后,迭代值递减,当该值为0或秘密通行短语泄密后,必须重新初始化。
6.对比分析
类别 | 易用性 | 安全性 | 成本 | 备注 | 静态密码 | 中 | 低 | 低 | 安全性低,维护很多密码很困难 | 智能卡 | 高 | 中 | 中 | 需要智能卡及配套的读卡器 | USBKey | 高 | 高 | 中 |
1、采用通用的USB接口
2、需要提供独立的USBKEY硬件,增加了少量应用成本
| 生物特征 | 低 | 中 | 高 |
1、需要额外生物特征提取设备
2、生物识别技术也是一种单向认证技术,并且没有数字签名功能,客户的行为不能防止抵赖行为
| 动态口令 | 高 | 中 | 高 |
1、需要额外部署动态口令生成系统,一般需要联网使用或专有硬件
2、没有数字签名技术,无法保证业务的不可抵赖性
|
三、工控控制系统特殊性
工业控制系统和IT系统有很多与生俱来的差异,两个系统的侧重也不相同,工业控制系统控制一个物理存在的实体而IT系统更多是以管理数据为目的。由于工作对象的不同系统安全设计是追求的优先级也是不同的,工业控制系统的安全目标优先级则是可用性>数据完整性>保密性。并且通信和支撑系统上的要求也是完全不同的。下面就一些重要描述影响身份认证技术应用的特性。
1.可用性要求
很多工业控制系统生产过程自身是连续工作方式,要求一年365天不间断工作,因此系统自动化生产过程非预期的断电是不可接受的。
2.生命周期
传统的IT部件的生命周期大概在3~5年,主要是由于技术发展以及更新太快的原因。对于工业控制系统,由于技术开发在很多情况下主要是用于特定的应用和实现,因此这类系统的生命周期大概在15年~20年,甚至更长时间。许多工业控制系统使用老版本的操作系统,甚至目前的供应商已经不再支持。
3.资源限制
工业控制和实时操作系统通常是资源受限系统,因而不包括典型的IT网络安全能力。工业控制系统组件上可能没有可用的资源来加装提供网络安全能力的系统。
4.技术支持
传统的IT系统支持风格多元化,我们能够在企业中经常看到IT服务外包的情况。而对于工业控制系统,这是不可能的,工业控制系统技术服务多由单独的供应商提供,因此很难支持其他供应商提供的与此不同的技术解决方案。
5.通信方式
IT系统采用的通信协议标准化程度相当高,物理传输比较多地应用公共数据网络,本地连接常常具备无线接入的能力。而工业控制系统一般工控系统是封闭的环境,无法和互联网通讯。
四、总结
由于工业控制系统的这种特殊性,工控系统老旧、系统性能低、无法与互联网通讯、无有效的安全维护人员和体系等情况导致在IT领域使用的身份认证技术措施无法直接应用到工业控制领域。
从各个身份认证的原理来看,生物特征认证、智能卡、USBKey、动态口令均能解决静态密码的易用性问题。但是生物特征识别和动态口令没有签名来保障业务不可抵赖行为,无法追溯安全事件,同时生物特征识别需要单独的生物特征采集设备,成本较高,维护比较困难,不大适合在工控控制系统中大范围应用;而动态口令适合客户,由于网络和成本问题,常见的短信密码、硬件令牌和手机令牌均无法使用;
智能卡设备能够解决生物特征和动态口令的一些缺陷,但是其需要额外的读卡设备,已经完全可以被USB Key替代。
因此,综合各种认证方式的优缺点和适应性,建议以业务风险管理为导向,分级分类的思想,灵活使用身份认证机制。
1)低安全性要求的系统在做好密码规范的前提下可以采用用户名和密码的认证方式;
2)而对于较高安全性的设备可以采用USBKey的方式进行认证;
3)而对于安全性极高的系统可以采用双因素认证,既可以把用户名密码认证机制和USBKey认证机制结合起来使用。
威努特工控安全
专注工控·捍卫安全 |