APP下载

基于CFL_BLP 模型的CFL SSL 安全通信协议

2021-06-18廉文娟赵朵朵范修斌

计算机工程 2021年6期
关键词:工控信息产业密钥

廉文娟,赵朵朵,4,范修斌,2,3,4

(1.山东科技大学 计算机科学与工程学院,山东 青岛 266590;2.中国科学院软件研究所青岛分部,山东 青岛 266114;3.青岛博文广成信息安全技术有限公司,山东 青岛 266235;4.山东文斌信息安全技术有限公司,山东 泰安 271200)

0 概述

随着工业控制、智能制造、工业互联网以及工业物联网等新兴信息产业的不断涌现,网络空间已经由传统网络空间逐渐发展为当今网络空间。传统网络空间一般是指互联网+电子政务和电子商务,当今网络空间是指传统网络空间+各种新兴信息产业。在当今网络空间下,所有工业和制造业领域基本都包含工业控制系统(Industrial Control System,ICS),且许多关键基础设施高度依赖ICS 的安全运行[1],因此ICS 通信安全问题至关重要。

通信的可用性、可控性、可认证性以及数据传输过程中数据的完整性、机密性和不可否认性等都属于通信安全问题。通信安全离不开身份认证技术,而认证技术是信息安全的第一技术。现有的认证技术可分为参数认证技术和函数认证技术两类。参数认证技术包括指纹、声纹、虹膜和刷脸等,函数认证技术主要包括公钥基础设施(Public Key Infrastructure,PKI)和基于标识的密码体制(Identity-Based Cryptosystem,IBC)。PKI 和IBC 虽然具有信息安全认证功能,但是在应用过程中都需依赖第三方支持,并且产生了额外通信量,增大了双方通信延迟,达不到毫秒级安全级别。

在当今网络空间中,工业控制系统的信息安全目标已由传统的CIA(机密性、完整性、可用性),变成了AIC(可用性、完整性、机密性)[2],将可用性放在首位,可见工控系统对响应时间的迫切需求。陈华平等人[3]提出了当今网络空间信息安全八大原则,其中原则7 是指令级安全原则,毫秒级安全可确保指令级安全。传统的SSL/TLS 协议、VPN 和HTTPS等网络通信技术均采用了PKI 和IBC 认证机制,仍然无法保障毫秒级安全,本文明确提出毫秒级信息安全为当今网络空间的重要特征。CFL 是由陈华平等人[3]于2011 年提出且获得国家认可的认证体制,是PKI 和IBC 的继承和发展,同时规避了两者的不足。本文分析了CFL 认证体制的安全属性,并在CFL_BLP 模型的基础上给出CFL SSL 协议及安全性质,将其推广到各新兴信息产业,实现新兴信息产业的毫秒级信息安全通信。

1 传统认证与传输技术

1.1 PKI 技术

1978 年,KOHNFELDER L[4]提出了 证书的 概念。1988 年,国际电联电信委员会为单点登录(Single Sign On,SSO)和授权管理基础设施(Privilege Management Infrastructure,PMI)制定了PKI 标准,即X.509 v1[5]。1995 年,PKIX 工作组将该标准指定为适用于Internet[6]。

PKI 建立在公钥密码学算法基础上,由可信第三方证书认证中心(Certification Authority,CA)、RA注册中心、KMC 密钥管理中心、证书撤销列表(Certificate Revocation List,CRL)、轻量级目录访问协议(Lightweight Directory Access Protocol,LDAP)和在线证书状态协议(Online Certificate Status Protocol,OCSP)等功能模块构成[7-8]。经过多年的发展,PKI 证书认证体制已得到广泛应用。

PKI 组成如图1 所示。其中,CA 为PKI 的主要组成部分之一,主要功能是签发数字证书、验证证书有效性和维 护证书列表[7,9]。RA 主要功能是向CA 提交终端实体的签发、撤销和更新证书请求。KMC 主要功能是为CA 系统提供密钥的生成、保存等密钥服务。此外,OCSP 作为PKI 的核心组件,可为应用系统提供在线证书状态查询功能[8]。LDAP主要用来存放证书和提供证书撤销列表,供用户查询[7]。

图1 PKI 组成Fig.1 PKI composition

我国的PKI 体系采用非对称密码算法SM2 进行数字签名验证。SM2 是256 bit 域上的椭圆曲线上的加法群运算,由于256 bit 的域尺度较小,因此运算速度快。目前基于SM2 算法的硬件实现可达到毫秒级,例如三未信安的产品SJJ1012 RE10000,签名达到4 400 次/s,验证速度达到2 800 次/s[10]。虽然SM2算法的硬件实现可达到毫秒级,但是PKI 认证技术的证书验证需要CA 回证是非毫秒级的,因此PKI 面向当今网络空间时遇到了严峻的挑战。

1.2 IBC 技术

1.2.1 IBC 结构

1984 年,SHAMIR A[11]提出了IBC 的概念,简化了传统公钥系统中的证书管理。IBC 是一种不对称公钥密码系统,公钥为用户的身份信息(例如电子邮件地址、手机号码等),私钥由受信任的权威机构密钥生成中心(Key Generation Center,KGC)中的私钥生成器(Private Key Generator,PKG)生成,该机构在用户身份验证后,根据系统主密钥和用户的身份信息得出用户的私钥[12]。

IBC 加密签名流程如图2 所示。

图2 IBC 加密签名流程Fig.2 Procedure of IBC encryption signature

1.2.2 IBC 签名算法

根据SM9 标识密码算法标准,IBC 的签名算法包括系统建立、私钥生成、签名和签名验证这4 个阶段。为了说明IBC 的运算局限性,本文给出了签名过程。假设待签名的消息为比特串M,为了获取消息M的数字签名(h,S),用户A应实现以下运算步骤:

步骤1计算乘法循环群GT中的元素g=e(P1,Ppub-s),P1为加法循环群G1的 生成元、Ppub-s为签名主公钥。

步骤2产生随机数r∊[1,N-1],N为循环群G1、GT的阶。

步骤3计算群GT中的元素w=gr。

步骤4计算出整数h=H2(M||w,N)。

步骤5计算整数l=(r-h)modN,若l=0 则返回步骤2。

步骤6计算G1中的元素S=[l]dsA,dsA为A的签名私钥。

步骤7(h,S)为消息M的签名,发送给签名验证者B。

H1和H2是SM3 密码杂凑函数派生的密码函数。

SM9 的数字签名过程是采用BN 曲线上Rate 双线性对来实现的,该过程涉及到Miller 算法、椭圆曲线多倍点运算等[13]。在签名运算过程步骤1 中,元素g为3 072 bit 的上6 次扩域后的元素,因此IBC签名验证算法是3 072 bit 的大数运算,双线性对计算的高复杂性,限制了SM9 在资源有限情况下的进一步扩展[14]。目前基于SM9 算法的硬件实现,签名速度为5.7 次/s,验证速度为3.6 次/s,IBC 采用SM9算法在各新兴信息产业中的应用也将面临着挑战。

1.3 SSL/TLS 协议

SSL/TLS 协 议[15]是目前最常用的安全通信协议,该协议位于传输层和应用层之间,通过建立服务器与客户端的安全通道对数据进行保护。SSL/TLS协议由握手协议和记录协议组成,握手协议负责双方身份认证、交换密钥等,记录协议负责消息的压缩、加密及数据的认证。根据文献[16],如图3 所示,SSL/TLS 握手协议流程如下:

图3 SSL/TLS 握手协议流程Fig.3 Procedure of SSL/TLS handshake protocol

1)算法协商。客户端与服务器协商会话中使用的协议版本号、会话标识以及所支持的算法等信息。

2)证书交换。服务器将CA 证书发送给客户端,CA 证书的基本证书域包含版本号、序列号以及签名算法等内容[17],客户端接收到服务端的证书后对证书验证[18]及有效性进行判定。服务器若请求客户端证书,客户端将CA 证书发送给服务器,服务器对客户端证书进行验证及有效性判定。在双方身份确定后进行下一步密钥交换。

3)密钥交换。客户端和服务器分别构建主密钥,然后再分别构建会话密钥后进行密钥交换,则握手协议结束。

在握手协议完成后,记录协议使用会话密钥对数据进行加密传输。虽然SSL/TLS 应用广泛,但仍然存在及时性安全问题挑战,本文将在下一节中详细分析。

2 新兴信息产业通信安全的共性瓶颈问题

2.1 传统认证传输技术

2.1.1 PKI 面临的挑战

PKI 认证技术虽然得到了广泛应用,但是PKI 的传统体系结构依赖可信第三方CA,由于CA 的集中结构不可避免地存在单点故障问题[9,19],导致严重的可用性和安全性缺陷。同时基于PKI/CA 的电子签名复杂,使得建设成本较高[20],因此需要复杂的证书管理过程[21]。除此之外,PKI 技术在应用时进行CA证书的有效性验证,存在严重的效率问题。

在PKI 认证体制中常用的证书查询包括CRL 查询和OCSP 两种方式:

1)CRL 证书状态查询方式。在PKI 系统中,用户通过RA 申请签发/撤销/更新证书,再由CA 颁发/撤销/更新数字证书,CA 将新签发的证书或证书撤销/更新列表储存到LDAP 目录服务器,供用户下载查询[22]。

2)OCSP 证书状态查询方式。在实际应用中,应用系统作为OCSP 客户端向OCSP 服务端发送证书验证请求,OCSP 服务端将会给出相应的响应信息,包括证书标识符、证书状态等返回给客户端。

CRL、OCSP 两种查询方式都需要远程第三方CA支持,从而增加了额外通信延迟。为了说明证书查询等远程通信带来的影响,本文使用ping 和tracert 命令进行上百次随机的远程访问测试,并记录每次访问的时延、经过的中间节点数、连接成功或失败等数据。

实验环境采用的是Windows 操作系统,处理器为Intel®CoreTMi5-8250U CPU@ 1.60 GHz 1.80 GHz,实验统计结果如表1 所示,统计分析如表2 所示。表1 中的时延是指数据(一个报文或分组,甚至比特)从网络(或链路)的一端传送到另一端所需的时间。数据在网络中经历的总时延包括发送时延、传播时延、处理时延和排队时延这四个部分[23],数据在网络传输的总时延中,耗时最多的是处理时延和排队时延。

表1 远程访问时间统计结果Table 1 Remote access time statistics

表2 远程访问结果分析Table 2 Remote access result analysis

从表2 可以看出,在一般的网络远程访问中,连接成功的远程访问平均时延达到了48.64 ms,连接失败的比例约占实验总数的15%,且连接失败的时间均为秒级。

假定网络访问平均时延符合正态分布,根据表2数据,本文得到10 ms 以内访问成功的概率为:

其中,x=0.01、μ=48.64、σ=70.57。

结论1在平均时延符合正态分布的网络访问中,远程访问时间是非毫秒级的。

结论2PKI 认证技术为非毫秒级的认证技术。

证明PKI 证书认证体制需要CA 支持,即证书认证需要远程回证。通信双方证书认证时间为countt=2t1+2t2+2t3或countt=2t1+2t2+2t4,其 中t1为单次证书发送时间、t2为单次提交证书状态查询时间、t3、t4分别为图1 的①、②过程所用时间。t2、t3、t4为增加的额外时延。从理论上而言,PKI 认证机制不能满足各种新兴信息产业的安全需求,特别是毫秒级的认证需求,因此该结论成立。

2.1.2 IBC 与SSL/TLS 面临的挑战

由1.2 节分析可知IBC 不需要数字证书,解决了PKI 的证书管理问题,但是IBC 由于密钥托管问题而无法提供真正的不可否认性[21]。IBC 认证技术依靠可信第三方PKG 支持,并且是基于对构造的,计算速度较慢且计算效率较低。

结论3IBC 认证技术为非毫秒级的认证技术。

证明与PKI 相似,IBC 在应用过程中依靠远程第三方PKG 支持,增加了额外的通信延迟,计算速度较慢且可用性差,因此该结论成立。

此外,IBC 应用时若第三方PKG 受到恶意攻击,系统主密钥被窃取,用户的私钥将会泄露。若第三方PKG 假冒合法用户与其他用户通信,用户隐私信息将会泄露。

由1.3 节SSL/TLS 协议 分析可知,SSL/TLS 协议在进行身份认证时,通过第三方CA 验证证书的有效性,数据在网络中传输需经过大量的网络节点,造成网络延迟,从而无法保障高效的网络传输。因此,本文给出以下结论:

结论4SSL/TLS、VPN、HTTPS 为非毫秒级的通信协议。

证明因为SSL/TLS、VPN、HTTPS 需要使用PKI证书,所以需要利用CA 验证证书的有效性,从而产生额外的网络延迟,由结论2 可知,该结论成立。

此外,STONE 等人[24]研究了SSL/TLS 协议证书验证模块的安全性,得出其存在漏洞,这可能是因为中间人(MITM)攻击而破坏通信安全。ACER 等人[25]研究chrome-https 证书无效警告的原因,从另一方面展示了SSL/TLS 协议在使用过程中存在有安全隐患问题。

2.2 毫秒级信息安全认证技术

目前,关键基础设施如公共交通系统、智能制造等高度依赖工业控制系统ICS 的安全运行,因此ICS的安全问题是信息产业面临的主要问题。工业控制系统功能层次模型[26]如图4 所示,ICS 从功能上可分为5 层,过程监控层主要包括监控服务器与人机界面(Human Machine Interface,HMI)系统功能单元,应用数据采集与监视控制系统(SCADA)[27]对生产过程数据进行采集与监控,并利用HMI 实现人机交互。现场控制层主要包括各类控制器单元,如可编程逻辑控制器(Programmable Logic Controller,PLC)、集散控制系统(DCS)[28]等,用于对各种执行设备进行控制。现场设备层主要包括各类过程传感设备与执行设备单元,可用于对生产过程进行感知与操作。

图4 工业控制系统功能层次模型Fig.4 Functional hierarchy model of ICS

ICS 现场控制层对实时性要求较高,因此给出以下命题:

命题1工控迫切需要毫秒级的信息安全技术。

证明工控上下位机通信时需要控制命令的及时响应,控制命令是由指令完成的,需要指令级安全来确保控制命令的安全,显然计算机的指令至少需要毫秒级信息安全技术来支撑。

文献[29]给出了目前工控上下位机通信机制存在的诸多安全风险,其中一条为控制器缺乏身份认证、访问控制机制。因此,工控上下位机通信需要身份认证机制提高通信的安全性。在工控通信时,认证体制应该立即更新撤销信息,规避客户端接收到被撤销证书而受到攻击,因此工控上下位机通信安全机制中的信息安全算法必须是毫秒级才是安全的。由本文对已有认证技术的分析可知,参数认证以及PKI、IBC 都不能满足工控毫秒级的信息安全认证需求。

如图5 所示,在工控上下位机通信中使用SSL/TLS 协议进行通信,由结论2~结论4 可知,该协议无法满足工控通信的毫秒级需求。

图5 SSL/TLS 协议在工控上下位机通信中的应用Fig.5 Application of SSL/TLS protocol in communication between upper and lower computer in industrial control

推论1SSL/TLS 不能满足各种新兴信息产业对安全通信的毫秒级可用性需求。

类似地,VPN 也不能满足各种新兴信息产业对安全通信的毫秒级可用性需求。

近年来,涉及工业制造、水利、交通、医疗卫生、能源等方面[27]的全球大规模ICS 攻击事件频发。因为ICS 与智能制造、工业互联网、工业4.0、中国制造2025、物联网等新兴信息产业存在必然的联系,所以本文可得出以下结论:

结论5毫秒级信息安全是工控及相关信息产业的共性瓶颈问题。

对工控及相关新兴信息产业的通信安全而言,毫秒级信息安全是关键的安全问题。远程访问是很多新兴信息产业必不可少的环节,虽然通信协议SSL/TLS 应用较为广泛,但是其协议无法满足毫秒级信息安全需求,因此本文需要寻找满足毫秒级信息安全的认证技术以及通信技术。

3 CFL 认证技术

3.1 CFL 概述

CFL 是2008 年以陈华平为核心、与范修斌和吕述望发明并取其首字母命名,拥有自主知识产权的基于标识的证书认证技术。2016 年2 月17 日,CFL 认证技术获得了国家知识产权局授予的发明专利。2016 年3 月21 日,《基于SM2、SM3 的CFL 认证体制》获得了国家密码管理局红头批文,通过了国家密码管理局审查。2016 年7 月,在《信息安全研究》刊发了CFL 的理论研究专刊[3,5,30-35]。CFL 属于函数认证,是PKI 和IBC 的继承和发展,且可同时弥补两者不足。CFL 认证体制满足信息安全五性(机密性、完整性、可用性、可控性、可认证性)需求,可实现毫秒级认证。

3.2 CFL 认证体制的安全属性及分析

CFL 认证体制的安全属性为:

1)CFL 是基于标识的证书认证体制[3,5]。

2)CFL 理论上可证明安全[5,33-35]。

3)CFL 应用时满足统计零知识[5,30,33-34]。

4)CFL 证书应用过程中不依赖第三方,可直接认证、现场认证[3]。

5)CFL 证书满足毫秒级、指令级安全[3]。

6)CFL 支持BLP 模型[36],即BLP 模型的范畴权限可以作为CFL 证书中的部分标识,即CFL 可支持基于BLP 模型的操作机密性保护。

CFL 认证体制是应用去中心化、可自认证、可实现可信认证以及可实现主动防御的认证技术[5],该认证体制还具有隶属轻量级、应用去存储化、一人一密、支持统一认证、跨域认证、支持安全进程认证和动态认证等技术优势[34]。CFL 作为底层信息安全技术可广泛应用于信息产业中[3],可为各种信息产业提供安全保障,因此CFL 可满足各种信息产业对毫秒级信息安全认证的迫切需求。CFL 与PKI、IBC 的属性对比分析如表3 所示。

表3 CFL、PKI 和IBC 属性对比分析Table 3 Comparative analysis of CFL,PKI and IBC attributes

4 CFL SSL 协议

文献[36]给出了CFL_BLP 模型并提到了CFL SSL,但并未给出具体的协议描述以及工作流程,为此本文对CFL_BLP 模型进行改进,给出了CFL SSL协议的具体定义、安全性质以及应用分析。

4.1 CFL_BLP 模型

CFL_BLP 模型定义为t∊T={0,1,…,t,…}时刻计算机系统SYt的一个八元组,即:

1)CFL 定 义并实 现CFL_BLP 模型中 的CFL 签名验证,CFL 数据格式为:(1)CFL 签名文件,明文||创建者的CFL 证书||时间戳||签名.文件.cfl_sign;(2)CFL 对称加密文件,密文||创建者的CFL 证书||时间戳||签名.文件.cfl_bcipher;(3)CFL 电子信封文件,密文||创建者的CFL 证书||接收者的CFL 证书||时间戳||签名.文件.cfl_pcipher。CFL 证书的标识部分含BLP 权限。

2)St:St=,即t时 刻计算 机系统SYt的 所有主体,包括用户、设备和进程等。

3)Ot:Ot=,即t时刻计算机系统SYt的所有客体,它是一个树型结构,是指一系列的对象或资源,例如数据、文件、程序以及存储器等。

主体必须通过CFL 证书认证且达到BLP 访问权限时,才可对客体进行访问操作,操作过程包括CFL_BLP 模型中的请求、模型给出的请求回答、允许访问的方式等。

4)RA(Request Access)。RA={get,release,give,rescind,change,create,delete} 。它是主体向系统发出请求命令的集合,下面对7 种请求方式进行详细介绍:

(1)get:①在t时刻的主体集合中添加一个主体,并且给该主体赋值BLP 一般权限;②在t时刻的主体集合中添加一个主体,并且给该主体赋值BLP当前权限;③在t时刻的客体集合中添加一个客体,并且给该客体赋值BLP 权限。

(2)release:①从t时刻BLP 模型主体中删除一个主体;②从t时刻BLP 模型客体中删除一个客体。

(3)give:扩充Mt某点集合中的元素。

(4)rescind:删减Mt某点集合的元素。

(5)change:更改BLP 模型客体安全级,或更改BLP 模型主体当前安全级。

(6)create:创建一个新客体添加到当前的客体树型结构,并给BLP 权限赋值以及自主访问控制矩阵赋值。

(7)delete:从树型结构中删除一个客体,从而删除相关BLP 赋值和自主访问控制矩阵赋值。

5)A:A=,即主体访问客体的访问方式的集合,且有:(1):execute,执 行(neither observation nor alteration),执行访问权限仅允许主体触发可执行 的对象;(2):only read,只 读(observation with no alteration);(3):append,只写(alteration with no observation);(4):read and write,读写(both observation and alteration);(5):control,是指某主体用来授予或撤销另一主体对某一客体的访问权限的能力。

6)D:D={yes,no},系统接收到主体对客体的请求访问操作后,会对请求访问操作进行判定,其为判定的结果集合。其中:(1)yes 表示请求被执行;(2)no 表示请求被拒绝。

7)Mt:即t时刻自主访问控制矩阵,该控制矩阵是某主体对某客体可操作的集合,其是一个超矩阵。

当∀mt,i,j⊆A,1≤i≤αt,1≤j≤γt时,Mt为:

其中,αt和γt分别是CFL_BLP 模型在t时刻的主体集合和客体集合的个数。

8)BLP 可表示为:

其中,C:C={c1,c2,…,cq},c1>c2>…>cq即一个主体或客体的密级一般分为公开文件、内部文件、秘密文件、机密文件和绝密文件等级。K:K={k1,k2,…,kr},即主客体组织机构隶属关系,显然其满足偏序关系。

BLP 安全级集合定义为F=C×K,同理可知,其也满足以下偏序关系:

(1)f(s)=(C(s),K(s)):称其为主体s的BLP 模型一般安全级函数。

(2)f(o)=(C(o),K(o)):称其为客体o的BLP模型安全级函数。

(3)fc(s)=(Cc(s),Kc(s)):称其为主体s的BLP模型当前安全级函数。

若主体没有当前临时安全级赋值,则有:

注:当前的判断和一般的判断结果是并集关系,当前的判断与Mt是交集关系,一般的判断与Mt是交集关系,最后的结果是前两个交集关系的并集。

CFL_BLP 模型保证了用户的BLP 模型的权限完整性,提高了CFL SSL 协议数据传输的安全性和可靠性。

4.2 CFL SSL 协议

在通信建立时,通信双方必须都持有CFL 证书,然后再经过CFL SSL 握手协议和CFL SSL 传输协议进行加密通信。下面本文对CFL SSL 协议的证书申请、CFL SSL 握手协议和CFL SSL 传输协议流程进行介绍。

4.2.1 CFL SSL 证书申请

CFL 是基于SM2、SM3 进行数字签名的,CFL 证书申请流程包括:

1)CFL 用户方的操作。(1)用户按格式生成自身的信息标识ID1;(2)用户以SM2 为工作公钥密码算法,并生成公私钥密钥对(RAPK,RASK),私钥RASK由用户唯一拥有;(3)ID2=ID1||RAPK,用户对ID2进行签名,sign1=SIGNRASK(H(ID2)),其中H=SM3,其输出为N=256 bit,H(ID2)=h={h0,h1,…,ht-1},其中,hi(i=0,1,…,t-1)为sbit 的数;(4)用户将ID3=ID2||sign1提交给CFL 证书发证机关。

2)CFL 发证机关的操作。(1)VERIFYRAPK(ID3)=VERIFYRAPK(ID2||sign1),CFL 证书发证机关根据用户提交的信息对ID3进行验证;(2)CFL 证书发证机关审查用户提交ID1的合法性;(3)记ID4=ID3||IC,其中IC包括CFL 证书发证机关的名称、签发证书的时间、证书的使用生命周期等信息,CFL 发证机关计算H(ID4)=h,得到控选函数输入的控制信息h;(4)CFL证书发证机关根据h和私钥基,计算多线性控选函数生成用户标识私钥,即,其中,SKB=为私钥生成元集,ski是由CFL 发证机关随机选择,满足ski∊Zm=,i=0,1,…,t2s-1且两两不等,Z为整数集,m为SM2 中椭圆曲线E上基点P的周期;(5)用签名算法SIGN,以IDSK 为密钥,对以RAPK为核心的证书内容进行签名,得到sign2=SIGNIDSK(H(ID4))=(r,s)(证书信息中的第二次签名)。

3)公众方对用户证书的操作。(1)公众方在获得用户公布的证书后,将ID4输入H,得到多线性控选函数输入的控制信息h;(2)根据h,经以下多线性控选函数变换fP(H(ID),PKB)==IDPK,生成标识公钥 IDPK,其 中 PKB=为公钥 生成元 集,pki=ski˙PmodE;(3)以IDPK 作为验证算法的公钥,对经签名的证书进行验证,如验证正确,则证书通过,否则证书不予通过;(4)CFL 证书在实际应用中,可添加随机数、时间戳等信息,通过再次签名构成CFL 动态证书。

由上述过程可知,用户的标识为多标识且用户的CFL 证书在应用时为动态证书需再次签名,以增强证书安全性。目前,基于SM2 算法的CFL 硬件产品已达到毫秒级,签名速度为2 300 次/s,验证速度为1 400 次/s。

4.2.2 CFL SSL 握手协议

建立通信时,通信双方经过CFL SSL 握手协议进行证书交换、身份鉴别、密钥交换。CFL SSL 握手协议流程如图6 所示。

图6 CFL SSL 握手协议流程Fig.6 Procedure of CFL SSL handshake protocol

CFL SSL 握手协议流程如下:

1)CFL 动态证书交换。服务器端产生随机数R存入到CFL 动态证书中,对CFL 动态证书进行CFL签名后发送给CFL 客户端,证书内容包含协议版本号、证书序列号、标识、公钥、用户私钥签名、有效期、时间戳、发证机关签名、随机数以及扩展等。CFL 客户端接收到服务器CFL 动态证书可直接进行验证及有效性判定,验证通过后获取证书中携带的R。CFL客户端将R存入到自身证书中并进行CFL 签名,然后发送给服务器,服务器验证进行签名验证和随机数验证,规避重发证书或使用他人合法证书进行通信的情况,验证通过后,CFL 客户端和服务器端进行密钥交换。

注:CFL 动态证书验证及有效性判定,无需通过CRL 或OCSP 进行证书状态查询,即整个验证过程无需第三方的介入,具有自主认证功能。

2)密钥交换。CFL 客户端和服务器基于国产密码算法生成共享密钥,并进行密钥交换。将服务器端记为用户A,CFL 客户端记为用户B,即当持有CFL证书的用户A与用户B进行通信时,CFL SSL 握手流程分为以下3 个步骤:

(1)用户A、B交换动态CFL 证书。

(2)用户A、B验证彼此的CFL 动态证书。用户A、B分别生成自身的身份信息标识IDA、IDB,然后使用SM2 算法分别生成工作密钥对,(RAPKA,RASKA)、(RAPKB,RASKB)。

CFL 客户端通过CFL SSL 协议获得UA验证||signserver,并提取随机数R。

③UB=

CFL 客户端将带有服务器端随机数R和CFL 客户端签名的证书发送给服务器端。

服务器端验证CFL 客户端证书签名、随机数R和signCFLclient。

(3)用户A和用户B基于SM2 进行密钥交换。

使用SM2 进行密钥交换,不需要交换用户A和用户B的公钥,可直接从CFL 证书中获取,且文献[37]给出了通信双方密钥交换过程。

记用户A为发起方,用户B为响应方,进行如下运算步骤:

其中,a、b、G的坐标(xG,yG)为椭圆曲线方程参数,(xA,yA)为用户A的公钥RAPKA的坐标,(xB,yB)为用户B的公钥RAPKB的坐标,ENTLA为的长度转换成的两个字节的值,ENTLB为的长度转换成的两个字节的值,H256()表示采用SM3 算法其输出长度为256 bit 的杂凑值。

用户A和用户B在密钥交换后,通过CFL SSL传输协议进行数据加密传输。

4.2.3 CFL SSL 传输协议

在CFL SSL 握手协议结束后,CFL 客户端和服务器通过CFL SSL 传输协议进行数据的加密传输。

CFL SSL 传输协议主要流程如图7 所示。

图7 CFL SSL 传输协议流程Fig.7 Procedure of CFL SSL transport protocol

CFL SSL 传输协议流程描述如下:

1)数据加密。CFL 客户端和服务器用共享密钥基于国产密码算法SM4[38]的硬件对数据进行加密,并生成密文。与上文类似,服务器端记为用户A,CFL 客户端记为用户B,用户A通过如下方式产生密文:

SM4 中假设明文输入为(X0,X1,X2,X3)∊,轮密钥(rk0,rk1,…,rk31)∊由Key 通过密钥扩展算法生成,轮函数F为F(X0,X1,X2,X3,rk)=X0⊕T(X1⊕X2⊕X3⊕rk),其中T由非线性变换τ和线性变换L复合而成,经过32 次迭代运算后输出密文,发送给用户B。

2)密文签名。CFL 客户端和服务器对密文进行基于国产硬件的CFL 动态签名并添加CFL 证书。

3)密文传输。CFL 客户端和服务器进行带有CFL 动态签名和CFL 证书的密文传输。

4)签名验证。CFL 客户端和服务器对密文的CFL 动态签名进行验证。

5)密文解密。CFL 客户端和服务器对带有CFL动态签名和CFL 证书的密文进行解密。用户B验证用户A的 CFL 动态签名后,使用轮密钥(rk31,rk30,…,rk0)∊进行解密。

上述CFL SSL 协议的通信实现需要CFL 相关硬件产品的支持,且维护成本低。

4.3 CFL SSL 性质

通过上述CFL SSL 协议流程的描述可知,CFL SSL 性质包括以下7 个性质:

性质1CFL SSL 可满足通信过程中对信息安全五性的需求。由CFL 安全属性1、安全属性4~安全属性6 和CFL SSL 协议流程可知。

性质2CFL SSL 可实现毫秒级安全认证。由CFL 安全属性4 和CFL SSL 协议流程可知,CFL SSL协议应用过程中不需要第三方支持,规避了额外时延的产生,且计算是基于SM2 实现的,因此CFL SSL可达到毫秒级安全。

性质3CFL SSL 可为通信双方提供分级分类的强制访问控制机制,提高对通信数据的机密性保护。CFL SSL 的CFL 证书中包含了BLP 权限,通信双方进行证书交换可确定通信双方的权限,根据权限的设置实现分级分类强制访问控制。

性质4CFL SSL 可防止中间人攻击,并提高对通信数据的机密性和完整性保护。CFL SSL 对传输的数据进行加密和CFL 动态签名,通信双方只有通过CFL 签名验证才可对密文解密。

性质5CFL SSL 可防止重放攻击。CFL SSL中CFL 证书中含有时间戳标识,可对通信双方传输的数据进行时间戳标记。

性质6CFL SSL 可以防钓鱼、防欺诈。CFL SSL 在进行通信时对通信双方进行身份认证,实现双向认证。

性质7CFL SSL 支持标记上级等级保护安全、先天免疫安全、处处是边界安全。CFL SSL 是数据传输时的CFL 数据结构化。

由上述分析可知,CFL SSL 具有满足信息安全五性需求、毫秒级安全通信、防止重放攻击等性质,与传统SSL/TLS 相比具有以下优势:

1)CFL SSL 协议在进行通信时不需要进行算法协商,统一使用国产密码算法SM2 进行密钥协商。SM3 对消息进行摘要,SM4 进行数据加密,简化了SSL/TLS 的握手过程。

2)证书验证时采用的是CFL 认证机制,不需要依赖远程CA 进行证书验证,可直接认证、毫秒级认证,减少了证书验证产生的通信延迟,提高了可用性。

3)CFL 证书为动态证书,每次会话需要重新进行认证,并且都带有CFL 动态签名,规避了重放攻击,增强了抵御其他攻击的能力,提高了安全性。

4)通过CFL 动态证书、动态签名、BLP 权限可实现对数据在传输前、传输过程中以及接收后的完整性和机密性保护。

5)加密模块基于CFL 硬件实现,安全强度高。

本文以信息安全五性以及毫秒级安全等属性为标准,将所提CFL SSL 协议与传统SSL/TLS 协议进行比较分析,结果如表4 所示。

表4 CFL SSL 协议与传统SSL/TLS 协议对比Table 4 Comparison between CFL SSL protocol and traditional SSL/TLS protocol

4.4 CFL SSL 通信时CFL 证书的签名及验签测试

为了验证CFL SSL 通信时双方进行证书认证的时间,采用包含CFL 密码卡在内的硬件设备进行实际测试,测试环境为:CFL 密码卡服务器的CPU 为Intel®PentiumR G2030 @ 3.00GHz,内存为4 GB,硬盘为1 TB,操作系统为CentOS release 6.5,密码卡为SC26E-1RQHE;PC 机 的CPU 为Intel®CoreTMi5CPU M430@2.27GHz,内存(RAM)为4 GB,操作系统为Windows 7 旗舰版32位操作系统,交换机为TP-LINK TL-SG2016D。

如表5 所示,证书签名进行了792 次测试,输出了每秒签名次数,平均签名速度为每秒1 772 次。

表5 CFL SSL 证书签名实验数据Table 5 Experimental data of CFL SSL certificate signature

如表6 所示,证书签名验证进行了600 次测试,输出每秒验签次数,平均验签速度为每秒1 204 次。

表6 CFL SSL 证书验签实验数据Table 6 Experimental data of CFL SSL certificate verification

由以上实验结果可知,CFL 客户端与服务器端通信时CFL 签名及签名验证均为毫秒级的,因此CFL SSL 协议可满足各种新兴信息产业的毫秒级安全通信需求。随着硬件设备计算能力的不断提高,CFL SSL 协议的性能会进一步得到提升。

CFL SSL 认证是基于标识和证书的,同时可实现分级分类的强制访问控制,为通信双方提供了身份认证机制和访问控制机制。通信双方进行身份认证时无需依赖中心,可直接认证、现场认证,满足了毫秒级信息安全通信的需求。

在工控领域,工控上下位机进行通信时,首先进行CFL 证书交换,然后通信双方进行证书认证及验证证书的有效性,最后建立通信通道,并进行数据加密传输。CFL SSL 协议在工控上下位机通信中使用CFL 认证技术,可直接认证,从而减少了通信量,降低了通信延迟,实现了通信双方的毫秒级认证。工控系统不仅对实时性要求高,安全性也至关重要。工控上下位机之间传输的指令比较小,因此很容易受到黑客的短指令耦合攻击。CFL SSL 协议应用的分组密码算法SM4 是128 bit 的,可规避工控上下位机通信时受到短指令的耦合攻击。CFL SSL 自主可控,规避了恶意后门产生的攻击,保障了通信及通信过程中数据的安全性。与SSL/TLS 协议相比,CFL SSL 协议对各种新兴信息产业的通信更具有应用价值。

5 结束语

随着新兴信息产业的发展,常用的PKI、IBC 认证技术以及传统的SSL/TLS 通信协议已不能满足其毫秒级信息安全需求,毫秒级信息安全已经成为工控及相关信息产业的共性瓶颈问题。本文针对各产业毫秒级通信问题,给出基于CFL_BLP 模型的CFL SSL 协议,保证了通信的机密性和完整性,通过BLP权限确保数据被访问时的可信性和安全性,实验结果证明了该协议可满足工控及其他新兴信息产业的毫秒级信息安全需求。下一步将利用国产密码算法来优化通信协议的算法选择部分,以增强CFL SSL协议的通用性。

猜你喜欢

工控信息产业密钥
7524亿元
密码系统中密钥的状态与保护*
TPM 2.0密钥迁移协议研究
一种对称密钥的密钥管理方法及系统
四川省信息产业发展研究
工控速派 一个工控技术服务的江湖
工控速浱 一个工控技术服务的江湖
热点追踪 工控安全低调而不失重要
电子信息产业集群发展对技术创新的影响
基于攻击图的工控系统脆弱性量化方法