«上一篇 下一篇»
  计算机工程  2021, Vol. 47 Issue (6): 152-163  DOI: 10.19678/j.issn.1000-3428.0059614
0

引用本文  

廉文娟, 赵朵朵, 范修斌. 基于CFL_BLP模型的CFL SSL安全通信协议[J]. 计算机工程, 2021, 47(6), 152-163. DOI: 10.19678/j.issn.1000-3428.0059614.
LIAN Wenjuan, ZHAO Duoduo, FAN Xiubin. CFL SSL Security Communication Protocol Based on CFL_BLP Model[J]. Computer Engineering, 2021, 47(6), 152-163. DOI: 10.19678/j.issn.1000-3428.0059614.

基金项目

青岛市社科规划项目(QDSKL2001156)

作者简介

廉文娟(1977-), 女, 副教授、博士, 主研方向为深度学习、网络安全;
赵朵朵, 硕士研究生;
范修斌, 教授、博士、博士生导师

文章历史

收稿日期:2020-09-29
修回日期:2020-11-26
基于CFL_BLP模型的CFL SSL安全通信协议
廉文娟1 , 赵朵朵1,4 , 范修斌1,2,3,4     
1. 山东科技大学 计算机科学与工程学院, 山东 青岛 266590;
2. 中国科学院软件研究所青岛分部, 山东 青岛 266114;
3. 青岛博文广成信息安全技术有限公司, 山东 青岛 266235;
4. 山东文斌信息安全技术有限公司, 山东 泰安 271200
摘要:现有PKI、IBC认证技术与SSL/TLS通信协议已不能满足当今网络空间新兴信息产业的毫秒级信息安全需求。针对新兴信息产业的毫秒级通信安全问题,以CFL为原点技术,并基于CFL_BLP模型给出CFL SSL协议及其形式化描述,从协议层面上证明该协议可实现毫秒级双向认证、通信的机密性和完整性保护、自主可控以及防止中间人攻击等信息安全属性。实验结果表明,与SSL/TLS协议相比,该协议的可用性和安全性更高,且能够满足各种新兴信息产业通信机制的毫秒级信息安全需求。
关键词公钥基础设施    基于标识的密码体制    工业控制系统    CFL认证体制    CFL_BLP模型    
CFL SSL Security Communication Protocol Based on CFL_BLP Model
LIAN Wenjuan1 , ZHAO Duoduo1,4 , FAN Xiubin1,2,3,4     
1. College of Computer Science & Engineering, Shandong University of Science and Technology, Qingdao, Shandong 266590, China;
2. Qingdao Branch, Institute of Software, Chinese Academy of Sciences, Qingdao, Shandong 266114, China;
3. Qingdao Bowen Guangcheng Information Security Technology Limited Company, Qingdao, Shandong 266235, China;
4. Shandong Wenbin Information Security Technology Limited Company, Taian, Shandong 271200, China
Abstract: The existing Public Key Infrastructure(PKI), Identity-Based Cryptosystem(IBC) authentication technologies and SSL/TLS protocol, have failed to meet the millisecond-level information security requirements of the emerging information industry in cyberspace.To address the problem, this paper proposes the CFL SSL protocol, which is based on CFL.The paper gives a formalized description of CFL SSL on the basis of the CFL_BLP model, and proves at the protocol level that the protocol enables multiple information security properties, including millisecond-level mutual authentication, protection of the communication confidentiality and integrity, independent control and prevention of man-in-the-middle attacks.Experimental results show that the protocol can meet the millisecond information security requirements of communication mechanisms in emerging information industries, and has higher availability and security than SSL/TLS protocol.
Key words: Public Key Infrastructure (PKI)    Identity-Based Cryptosystem (IBC)    Industrial control System(ICS)    CFL authentication system    CFL_BLP model    

开放科学(资源服务)标志码(OSID):

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]

Download:
图 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所示。

Download:
图 2 IBC加密签名流程 Fig. 2 Procedure of IBC encryption signature
1.2.2 IBC签名算法

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

步骤1  计算乘法循环群$ {G}_{T} $中的元素$ g=e\left({P}_{1}, {P}_{\mathrm{p}\mathrm{u}\mathrm{b}-s}\right) $$ {P}_{1} $为加法循环群$ {G}_{1} $的生成元、$ {P}_{\mathrm{p}\mathrm{u}\mathrm{b}-s} $为签名主公钥。

步骤2  产生随机数$ r\in \left[1, N-1\right] $$ N $为循环群$ {G}_{1} $$ {G}_{T} $的阶。

步骤3  计算群$ {G}_{T} $中的元素$ w={g}^{r} $

步骤4  计算出整数$ h={H}_{2}\left(M\left|\right|w, N\right) $

步骤5  计算整数$ l=\left(r-h\right)\mathrm{m}\mathrm{o}\mathrm{d}N $,若$ l=0 $则返回步骤2。

步骤6  计算$ {G}_{1} $中的元素$ S=\left[l\right]\mathrm{d}{\mathrm{s}}_{A} $$ \mathrm{d}{\mathrm{s}}_{A} $$ A $的签名私钥。

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

$ {H}_{1} $$ {H}_{2} $是SM3密码杂凑函数派生的密码函数。

SM9的数字签名过程是采用BN曲线上Rate双线性对来实现的,该过程涉及到Miller算法、椭圆曲线多倍点运算等[13]。在签名运算过程步骤1中,元素$ g $为3 072 bit的$ {F}_{{q}^{2}} $上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握手协议流程如下:

Download:
图 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® CoreTM i5-8250U CPU @ 1.60 GHz 1.80 GHz,实验统计结果如表 1所示,统计分析如表 2所示。表 1中的时延是指数据(一个报文或分组,甚至比特)从网络(或链路)的一端传送到另一端所需的时间。数据在网络中经历的总时延包括发送时延、传播时延、处理时延和排队时延这四个部分[23],数据在网络传输的总时延中,耗时最多的是处理时延和排队时延。

下载CSV 表 1 远程访问时间统计结果 Table 1 Remote access time statistics
下载CSV 表 2 远程访问结果分析 Table 2 Remote access result analysis

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

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

$ \begin{array}{l} \int_0^{0.01} {\frac{1}{{\sqrt {2\pi } \sigma }}} {{\rm{e}}^{ - \frac{{{{(x - \mu )}^2}}}{{2{\sigma ^2}}}}}{\rm{d}}x0.032\;3 \times 0.01 \times \frac{1}{{{{\rm{e}}^{\frac{{{{(0.01 - \mu )}^2}}}{{2{\sigma ^2}}}}}}} = \\ 0.032\;3 \times 0.01 \times \frac{1}{{{{\rm{e}}^{\frac{{{{(48.63)}^2}}}{{2 \times 4980.12}}}}}} = 0.032\;3 \times 0.01 \times 0.788\;7 = \\ 0.000\;25 \end{array} $ (1)

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

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

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

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

2.1.2 IBC与SSL/TLS面临的挑战

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

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

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

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

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

结论4  SSL/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]等,用于对各种执行设备进行控制。现场设备层主要包括各类过程传感设备与执行设备单元,可用于对生产过程进行感知与操作。

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

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

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

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

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

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

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

推论1  SSL/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所示。

下载CSV 表 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\in T=\left\{\mathrm{0, 1}, \cdots , t, \cdots \right\} $时刻计算机系统$ S{Y}_{t} $的一个八元组,即:

$ S{Y}_{t}=\left(\mathrm{C}\mathrm{F}\mathrm{L}, {S}_{t}, {O}_{t}, \mathrm{R}\mathrm{A}, A, D, {M}_{t}, \mathrm{B}\mathrm{L}\mathrm{P}\left({S}_{t}, {O}_{t}\right)\right) $

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)$ {S}_{t} $$ {S}_{t}={\left\{{s}_{t, i}\right\}}_{i\in N} $,即$ t $时刻计算机系统$ S{Y}_{t} $的所有主体,包括用户、设备和进程等。

3)$ {O}_{t} $$ {O}_{t}={\left\{{o}_{t, j}\right\}}_{j\in N} $,即$ t $时刻计算机系统$ S{Y}_{t} $的所有客体,它是一个树型结构,是指一系列的对象或资源,例如数据、文件、程序以及存储器等。

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

4)$ \mathrm{R}\mathrm{A} $(Request Access)。$ \mathrm{R}\mathrm{A}=\left\{\mathrm{g}\mathrm{e}\mathrm{t}, \mathrm{r}\mathrm{e}\mathrm{l}\mathrm{e}\mathrm{a}\mathrm{s}\mathrm{e}, \mathrm{g}\mathrm{i}\mathrm{v}\mathrm{e}, \right. $ $ \mathrm{r}\mathrm{e}\mathrm{s}\mathrm{c}\mathrm{i}\mathrm{n}\mathrm{d}, \left.\mathrm{c}\mathrm{h}\mathrm{a}\mathrm{n}\mathrm{g}\mathrm{e}, \mathrm{c}\mathrm{r}\mathrm{e}\mathrm{a}\mathrm{t}\mathrm{e}, \mathrm{d}\mathrm{e}\mathrm{l}\mathrm{e}\mathrm{t}\mathrm{e}\right\} $。它是主体向系统发出请求命令的集合,下面对7种请求方式进行详细介绍:

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

(2)$ \mathrm{r}\mathrm{e}\mathrm{l}\mathrm{e}\mathrm{a}\mathrm{s}\mathrm{e} $:①从$ t $时刻BLP模型主体中删除一个主体;②从$ t $时刻BLP模型客体中删除一个客体。

(3)$ \mathrm{g}\mathrm{i}\mathrm{v}\mathrm{e} $:扩充$ {M}_{t} $某点集合中的元素。

(4)$ \mathrm{r}\mathrm{e}\mathrm{s}\mathrm{c}\mathrm{i}\mathrm{n}\mathrm{d} $:删减$ {M}_{t} $某点集合的元素。

(5)$ \mathrm{c}\mathrm{h}\mathrm{a}\mathrm{n}\mathrm{g}\mathrm{e} $:更改BLP模型客体安全级,或更改BLP模型主体当前安全级。

(6)$ \mathrm{c}\mathrm{r}\mathrm{e}\mathrm{a}\mathrm{t}\mathrm{e} $:创建一个新客体添加到当前的客体树型结构,并给BLP权限赋值以及自主访问控制矩阵赋值。

(7)$ \mathrm{d}\mathrm{e}\mathrm{l}\mathrm{e}\mathrm{t}\mathrm{e} $:从树型结构中删除一个客体,从而删除相关BLP赋值和自主访问控制矩阵赋值。

5)$ A $$ A=\left\{\underset{\_}{e}, \underset{\_}{r}, \underset{\_}{a}, \underset{\_}{w}, \underset{\_}{c}\right\} $,即主体访问客体的访问方式的集合,且有:(1)$ \underset{\_}{e} $$ \mathrm{e}\mathrm{x}\mathrm{e}\mathrm{c}\mathrm{u}\mathrm{t}\mathrm{e} $,执行(neither observation nor alteration),执行访问权限仅允许主体触发可执行的对象;(2)$ \underset{\_}{r} $$ \mathrm{o}\mathrm{n}\mathrm{l}\mathrm{y}\mathrm{ }\mathrm{r}\mathrm{e}\mathrm{a}\mathrm{d} $,只读(observation with no alteration);(3)$ \underset{\_}{a} $$ \mathrm{a}\mathrm{p}\mathrm{p}\mathrm{e}\mathrm{n}\mathrm{d} $,只写(alteration with no observation);(4)$ \underset{\_}{w} $$ \mathrm{r}\mathrm{e}\mathrm{a}\mathrm{d}\mathrm{ }\mathrm{a}\mathrm{n}\mathrm{d}\mathrm{ }\mathrm{w}\mathrm{r}\mathrm{i}\mathrm{t}\mathrm{e} $,读写(both observation and alteration);(5)$ \underset{\_}{c} $$ \mathrm{c}\mathrm{o}\mathrm{n}\mathrm{t}\mathrm{r}\mathrm{o}\mathrm{l} $,是指某主体用来授予或撤销另一主体对某一客体的访问权限的能力。

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

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

$ \forall {m}_{t, i, j}\subseteq A, 1\le i\le {\alpha }_{t}, 1\le j\le {\gamma }_{t} $时,$ {\boldsymbol{M}}_{t} $为:

$ {\boldsymbol{M}}_{t}=\left(\begin{array}{l}{m}_{t, \mathrm{1, 1}}, {m}_{t, \mathrm{1, 2}}, {m}_{t, \mathrm{1, 3}}, \cdots , {m}_{t, 1, {\gamma }_{t}}\\ {m}_{t, \mathrm{2, 1}}, {m}_{t, \mathrm{2, 2}}, {m}_{t, \mathrm{2, 3}}, \cdots , {m}_{t, 2, {\gamma }_{t}}\\ ⋮ \; \; \; \; \; \; \; \; \; \; ⋮ \; \; \; \; \; \; \; \; \; \; \; ⋮ \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; ⋮\\ {m}_{t, {\alpha }_{t}, 1}, {m}_{t, {\alpha }_{t}, 2}, {m}_{t, {\alpha }_{t}, 3}, \cdots , {m}_{t, {\alpha }_{t}, {\gamma }_{t}}\end{array}\right) $

$ {\boldsymbol{M}}_{t} $性质为$ \forall i, {m}_{t, i, {\beta }_{t}+1}=\mathrm{\varnothing } $,且有:

$ \left(\begin{array}{l}{m}_{t, \mathrm{1, 1}}, {m}_{t, \mathrm{1, 2}}, {m}_{t, \mathrm{1, 3}}, \cdots , {m}_{t, 1, {\gamma }_{t}}\\ {m}_{t, \mathrm{2, 1}}, {m}_{t, \mathrm{2, 2}}, {m}_{t, \mathrm{2, 3}}, \cdots , {m}_{t, 2, {\gamma }_{t}}\\ ⋮ \; \; \; \; \; \; \; \; \; \; ⋮ \; \; \; \; \; \; \; \; \; \; \; ⋮ \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; ⋮\\ {m}_{t, {\alpha }_{t}, 1}, {m}_{t, {\alpha }_{t}, 2}, {m}_{t, {\alpha }_{t}, 3}, \cdots , {m}_{t, {\alpha }_{t}, {\gamma }_{t}}\end{array}\right)= $
$ \left(\begin{array}{l}{m}_{t, \mathrm{1, 1}}, {m}_{t, \mathrm{1, 2}}, {m}_{t, \mathrm{1, 3}}, \cdots , {m}_{t, 1, {\gamma }_{t}}, {m}_{t, 1, {\gamma }_{t}+1}\\ {m}_{t, \mathrm{2, 1}}, {m}_{t, \mathrm{2, 2}}, {m}_{t, \mathrm{2, 3}}, \cdots , {m}_{t, 2, {\gamma }_{t}}, {m}_{t, 2, {\gamma }_{t}+1}\\ \; \; \; \; \; ⋮ \; \; \; \; \; \; \; \; \; ⋮ \; \; \; \; \; \; \; \; ⋮ \; \; \; \; \; \; \; \; \; \; \; \; \; \; ⋮ \; \; \; \; \; \; \; \; ⋮\\ {m}_{t, {\alpha }_{t}, 1}, {m}_{t, {\alpha }_{t}, 2}, {m}_{t, {\alpha }_{t}, 3}, \cdots , {m}_{t, {\alpha }_{t}, {\gamma }_{t}}, {m}_{t, {\alpha }_{t}, {\gamma }_{t}+1}\end{array}\right) $

其中,$ {\alpha }_{t} $$ {\gamma }_{t} $分别是CFL_BLP模型在$ t $时刻的主体集合和客体集合的个数。

8)BLP可表示为:

$ \begin{array}{l}\mathrm{B}\mathrm{L}\mathrm{P}\left({s}_{t, i}, {o}_{t, j}\right)=\left(\left(f\left({s}_{t, i}\right), {f}_{c}\left({s}_{t, i}\right)\right), f\left({o}_{t, j}\right)\right)=\\ \left(\begin{array}{l}\left(\left(C\left({s}_{t, i}\right), K\left({s}_{t, i}\right)\right), \left({C}_{c}\left({s}_{t, i}\right), {K}_{c}\left({s}_{t, i}\right)\right)\right), \\ \left(C\left({o}_{t, j}\right), K\left({o}_{t, j}\right)\right)\end{array}\right)\end{array} $ (2)

其中,$ C $$ C=\left\{{c}_{1}, {c}_{2}, \cdots , {c}_{q}\right\} $$ {c}_{1}>{c}_{2}>\cdots >{c}_{q} $即一个主体或客体的密级一般分为公开文件、内部文件、秘密文件、机密文件和绝密文件等级。$ K $$ K=\left\{{k}_{1}, {k}_{2}, \cdots , {k}_{r}\right\} $,即主客体组织机构隶属关系,显然其满足偏序关系。

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

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

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

(3)$ {f}_{c}\left(s\right)=\left({C}_{c}\left(s\right), {K}_{c}\left(s\right)\right) $:称其为主体$ s $的BLP模型当前安全级函数。

(4)$ \left(C\left(s\right), K\left(s\right)\right)\succ \left(C\left(o\right), K\left(o\right)\right)\iff $$\left(\left(C\left(s\right)\ge C\left(o\right)\right), K\left(s\right)\succ K\left(o\right)\right) $

(5)$ \left(C\left(s\right), K\left(s\right)\right)=\left(C\left(o\right), K\left(o\right)\right)\iff $$ \left(\left(C\left(s\right)=C\left(o\right)\right), K\left(s\right)=K\left(o\right)\right) $

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

$ \begin{array}{l}\mathrm{B}\mathrm{L}\mathrm{P}\left({s}_{t, i}, {o}_{t, j}\right)\stackrel{\mathrm{\Delta }}{=}\left(f\left({s}_{t, i}\right), f\left({o}_{t, j}\right)\right)=\\ \left(\left(C\left({s}_{t, i}\right), K\left({s}_{t, i}\right)\right), \left(C\left({o}_{t, j}\right), K\left({o}_{t, j}\right)\right)\right)\end{array} $ (3)

注:当前的判断和一般的判断结果是并集关系,当前的判断与$ {M}_{t} $是交集关系,一般的判断与$ {M}_{t} $是交集关系,最后的结果是前两个交集关系的并集。

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)用户按格式生成自身的信息标识$ \mathrm{I}{\mathrm{D}}_{1} $;(2)用户以SM2为工作公钥密码算法,并生成公私钥密钥对$ \left(\mathrm{R}\mathrm{A}\mathrm{P}\mathrm{K}, \mathrm{R}\mathrm{A}\mathrm{S}\mathrm{K}\right) $,私钥$ \mathrm{R}\mathrm{A}\mathrm{S}\mathrm{K} $由用户唯一拥有;(3)$ \mathrm{I}{\mathrm{D}}_{2}=\mathrm{I}{\mathrm{D}}_{1}\left|\right|\mathrm{R}\mathrm{A}\mathrm{P}\mathrm{K} $,用户对$ \mathrm{I}{\mathrm{D}}_{2} $进行签名,$ \mathrm{s}\mathrm{i}\mathrm{g}{\mathrm{n}}_{1}=\mathrm{S}\mathrm{I}\mathrm{G}{\mathrm{N}}_{\mathrm{R}\mathrm{A}\mathrm{S}\mathrm{K}}\left(H\left(\mathrm{I}{\mathrm{D}}_{2}\right)\right) $,其中$ H=\mathrm{S}\mathrm{M}3 $,其输出为$ N=256 $bit,$ H\left(\mathrm{I}{\mathrm{D}}_{2}\right)=h=\left\{{h}_{0}, {h}_{1}, \cdots , {h}_{t-1}\right\} $,其中,$ {h}_{i}\left(i=\mathrm{0, 1}, \cdots , t-1\right) $$ s $bit的数;(4)用户将$ \mathrm{I}{\mathrm{D}}_{3}=\mathrm{I}{\mathrm{D}}_{2}\left|\right|\mathrm{s}\mathrm{i}\mathrm{g}{\mathrm{n}}_{1} $提交给CFL证书发证机关。

2)CFL发证机关的操作。(1)$ \mathrm{V}\mathrm{E}\mathrm{R}\mathrm{I}\mathrm{F}{\mathrm{Y}}_{\mathrm{R}\mathrm{A}\mathrm{P}\mathrm{K}}\left(\mathrm{I}{\mathrm{D}}_{3}\right)=\mathrm{V}\mathrm{E}\mathrm{R}\mathrm{I}\mathrm{F}{\mathrm{Y}}_{\mathrm{R}\mathrm{A}\mathrm{P}\mathrm{K}}\left(\mathrm{I}{\mathrm{D}}_{2}\left|\right|\mathrm{s}\mathrm{i}\mathrm{g}{\mathrm{n}}_{1}\right) $,CFL证书发证机关根据用户提交的信息对$ \mathrm{I}{\mathrm{D}}_{3} $进行验证;(2)CFL证书发证机关审查用户提交$ \mathrm{I}{\mathrm{D}}_{1} $的合法性;(3)记$ \mathrm{I}{\mathrm{D}}_{4}=\mathrm{I}{\mathrm{D}}_{3}\left|\right|{I}_{C} $,其中$ {I}_{C} $包括CFL证书发证机关的名称、签发证书的时间、证书的使用生命周期等信息,CFL发证机关计算$ H\left(\mathrm{I}{\mathrm{D}}_{4}\right)=h $,得到控选函数输入的控制信息$ h $;(4)CFL证书发证机关根据$ h $和私钥基,计算多线性控选函数生成用户标识私钥,即$ {f}_{H\left(\mathrm{I}\mathrm{D}\right)}\left(\mathrm{S}\mathrm{K}\mathrm{B}\right)={f}_{h}\left(s{k}_{0}, s{k}_{1}, \cdots , \right. $ $ \left.s{k}_{t{2}^{s}-1}\right)=\mathrm{I}\mathrm{D}\mathrm{S}\mathrm{K} $,其中,$ \mathrm{S}\mathrm{K}\mathrm{B}=〈s{k}_{0}, s{k}_{1}, \cdots , $ $ s{k}_{t{2}^{s}-1}〉 $为私钥生成元集,$ s{k}_{i} $是由CFL发证机关随机选择,满足$ s{k}_{i}\in {Z}_{m}=Z/mZ $$ i=\mathrm{0, 1}, \cdots , t{2}^{s}-1 $且两两不等,$ Z $为整数集,$ m $$ \mathrm{S}\mathrm{M}2 $中椭圆曲线$ E $上基点$ P $的周期;(5)用签名算法$ \mathrm{S}\mathrm{I}\mathrm{G}\mathrm{N} $,以$ \mathrm{I}\mathrm{D}\mathrm{S}\mathrm{K} $为密钥,对以$ \mathrm{R}\mathrm{A}\mathrm{P}\mathrm{K} $为核心的证书内容进行签名,得到$ \mathrm{s}\mathrm{i}\mathrm{g}{\mathrm{n}}_{2}=\mathrm{S}\mathrm{I}\mathrm{G}{\mathrm{N}}_{\mathrm{I}\mathrm{D}\mathrm{S}\mathrm{K}}\left(H\left(\mathrm{I}{\mathrm{D}}_{4}\right)\right)=\left(r, s\right) $(证书信息中的第二次签名)。

3)公众方对用户证书的操作。(1)公众方在获得用户公布的证书后,将$ \mathrm{I}{\mathrm{D}}_{4} $输入$ H $,得到多线性控选函数输入的控制信息$ h $;(2)根据$ h $,经以下多线性控选函数变换$ {f}_{P}\left(H\left(\mathrm{I}\mathrm{D}\right), \mathrm{P}\mathrm{K}\mathrm{B}\right)={f}_{P}(h, p{k}_{0}, p{k}_{1}, \cdots , p{k}_{t{2}^{s}-1})= $ $ \mathrm{I}\mathrm{D}\mathrm{P}\mathrm{K} $,生成标识公钥$ \mathrm{I}\mathrm{D}\mathrm{P}\mathrm{K} $,其中$ \mathrm{P}\mathrm{K}\mathrm{B}=〈p{k}_{0}, p{k}_{1}, \cdots , p{k}_{t{2}^{s}-1}〉 $为公钥生成元集,$ p{k}_{i}=s{k}_{i}\cdot P\mathrm{m}\mathrm{o}\mathrm{d}E $;(3)以$ \mathrm{I}\mathrm{D}\mathrm{P}\mathrm{K} $作为验证算法的公钥,对经签名的证书进行验证,如验证正确,则证书通过,否则证书不予通过;(4)CFL证书在实际应用中,可添加随机数、时间戳等信息,通过再次签名构成CFL动态证书。

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

4.2.2 CFL SSL握手协议

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

Download:
图 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)用户AB交换动态CFL证书。

(2)用户AB验证彼此的CFL动态证书。用户AB分别生成自身的身份信息标识$ \mathrm{I}{\mathrm{D}}_{A} $$ \mathrm{I}{\mathrm{D}}_{B} $,然后使用SM2算法分别生成工作密钥对,($ \mathrm{R}\mathrm{A}\mathrm{P}{\mathrm{K}}_{A}, \mathrm{R}\mathrm{A}\mathrm{S}{\mathrm{K}}_{A} $)、$ (\mathrm{R}\mathrm{A}\mathrm{P}{\mathrm{K}}_{B}, \mathrm{R}\mathrm{A}\mathrm{S}{\mathrm{K}}_{B}) $

用户A的标识为:

$ \mathrm{I}{\mathrm{D}}_{A}^{\mathrm{'}}= \\ \mathrm{I}{\mathrm{D}}_{A}\left|\right|\mathrm{R}\mathrm{A}\mathrm{P}{\mathrm{K}}_{A}\left|\right|\mathrm{S}\mathrm{I}\mathrm{G}{\mathrm{N}}_{\mathrm{R}\mathrm{A}\mathrm{S}{\mathrm{K}}_{A}}\left(H\left(\mathrm{I}{\mathrm{D}}_{A}\left|\right|\mathrm{R}\mathrm{A}\mathrm{P}{\mathrm{K}}_{A}\right)\right)\left|\right|{I}_{C}^{A} $

用户B的标识为:

$ \mathrm{I}{\mathrm{D}}_{B}^{\mathrm{'}}= \\ \mathrm{I}{\mathrm{D}}_{B}\left|\right|\mathrm{R}\mathrm{A}\mathrm{P}{\mathrm{K}}_{B}\left|\right|\mathrm{S}\mathrm{I}\mathrm{G}{\mathrm{N}}_{\mathrm{R}\mathrm{A}\mathrm{S}{\mathrm{K}}_{B}}\left(H\left(\mathrm{I}{\mathrm{D}}_{B}\left|\right|\mathrm{R}\mathrm{A}\mathrm{P}{\mathrm{K}}_{B}\right)\right)\left|\right|{I}_{C}^{B} $

用户A的标识私钥为:

$ {f}_{H\left(\mathrm{I}\mathrm{D}\right)}\left(\mathrm{S}\mathrm{K}\mathrm{B}\right)={f}_{H\left(\mathrm{I}{\mathrm{D}}_{A}^{\mathrm{'}}\right)}(s{k}_{0}, s{k}_{1}, \cdots , s{k}_{t{2}^{s}-1})=\mathrm{I}\mathrm{D}\mathrm{S}{\mathrm{K}}_{A} $

用户B的标识私钥为:

$ {f}_{H\left(\mathrm{I}\mathrm{D}\right)}\left(\mathrm{S}\mathrm{K}\mathrm{B}\right)={f}_{H\left(\mathrm{I}{\mathrm{D}}_{B}^{\mathrm{'}}\right)}(s{k}_{0}, s{k}_{1}, \cdots , s{k}_{t{2}^{s}-1})=\mathrm{I}\mathrm{D}\mathrm{S}{\mathrm{K}}_{B} $

用户A的证书中签名为:

$ \mathrm{s}\mathrm{i}\mathrm{g}{\mathrm{n}}_{A}=\mathrm{S}\mathrm{I}\mathrm{G}{\mathrm{N}}_{\mathrm{I}\mathrm{D}\mathrm{S}{\mathrm{K}}_{A}}\left(H\right(\mathrm{I}{\mathrm{D}}_{A}^{\mathrm{'}}\left)\right)=({r}_{A}, {s}_{A}) $

用户B的证书中签名为:

$ \mathrm{s}\mathrm{i}\mathrm{g}{\mathrm{n}}_{B}=\mathrm{S}\mathrm{I}\mathrm{G}{\mathrm{N}}_{\mathrm{I}\mathrm{D}\mathrm{S}{\mathrm{K}}_{B}}\left(H\left(\mathrm{I}{\mathrm{D}}_{B}^{\mathrm{'}}\right)\right)=\left({r}_{B}, {s}_{B}\right) $

用户A验证用户B的CFL动态证书签名为:

$ \mathrm{V}\mathrm{E}\mathrm{R}\mathrm{I}\mathrm{F}{\mathrm{Y}}_{\mathrm{I}\mathrm{D}\mathrm{P}{\mathrm{K}}_{B}}\left(\mathrm{I}{\mathrm{D}}_{B}^{\mathrm{'}}\left|\right|\left({r}_{B}, {s}_{B}\right)\right) $

用户B验证用户A的CFL动态证书签名为:

$ \mathrm{V}\mathrm{E}\mathrm{R}\mathrm{I}\mathrm{F}{\mathrm{Y}}_{\mathrm{I}\mathrm{D}\mathrm{P}{\mathrm{K}}_{A}}\left(\mathrm{I}{\mathrm{D}}_{A}^{\mathrm{'}}\left|\right|\left({r}_{A}, {s}_{A}\right)\right) $

CFL的证书验证流程为:

$ {U}_{A}=\mathrm{I}{\mathrm{D}}_{A}^{\mathrm{'}}\left|\right|\left({r}_{A}, {s}_{A}\right)\left|\right|R\left|\right|\mathrm{s}\mathrm{i}\mathrm{g}{\mathrm{n}}_{\mathrm{s}\mathrm{e}\mathrm{r}\mathrm{v}\mathrm{e}\mathrm{r}}\to $

服务器端独立拥有标识私钥生成元集$ \mathrm{S}\mathrm{K}\mathrm{B} $,根据$ H\left(\mathrm{I}{\mathrm{D}}_{A}^{\mathrm{'}}\right) $和私钥基计算多线性控选函数,推出标识签名私钥$ \mathrm{I}\mathrm{D}\mathrm{S}\mathrm{K} $。服务器端进行如下操作:计算$ e=H\left(\mathrm{I}{\mathrm{D}}_{A}^{\mathrm{'}}\right) $$ k\cdot P=\left({x}_{1}, {y}_{1}\right) $$ P $为椭圆曲线上的点;计算$ {r}_{A}=\left(e+{x}_{1}\right)\mathrm{m}\mathrm{o}\mathrm{d} \; m $$ {s}_{A}={\left(1+\mathrm{I}\mathrm{D}\mathrm{S}{\mathrm{K}}_{A}\right)}^{-1}\cdot \left(k-{r}_{A}\cdot \mathrm{I}\mathrm{D}\mathrm{S}{\mathrm{K}}_{A}\right)\mathrm{m}\mathrm{o}\mathrm{d} \; m $$ m $$ \mathrm{S}\mathrm{M}2 $中椭圆曲线$ E $上基点$ P $的周期。然后将$ {U}_{A}=\mathrm{I}{\mathrm{D}}_{A}^{\mathrm{'}}\left|\right|\left({r}_{A}, {s}_{A}\right)\left|\right|R\left|\right|\mathrm{s}\mathrm{i}\mathrm{g}{\mathrm{n}}_{\mathrm{s}\mathrm{e}\mathrm{r}\mathrm{v}\mathrm{e}\mathrm{r}} $通过CFL SSL协议从服务器端发送到CFL客户端。

$ \leftarrow \mathrm{V}\mathrm{E}\mathrm{R}\mathrm{I}\mathrm{F}{\mathrm{Y}}_{\mathrm{I}\mathrm{D}\mathrm{P}{\mathrm{K}}_{A}}\left(\mathrm{I}{\mathrm{D}}_{A}^{\mathrm{'}}\left|\right|\left({r}_{A}, {s}_{A}\right)\left|\right|R\left|\right|\mathrm{s}\mathrm{i}\mathrm{g}{\mathrm{n}}_{\mathrm{s}\mathrm{e}\mathrm{r}\mathrm{v}\mathrm{e}\mathrm{r}}\right) $

CFL客户端通过CFL SSL协议获得$ {U}_{A} $验证$ \mathrm{I}{\mathrm{D}}_{A}^{\mathrm{'}}\left|\right|\left({r}_{A}, {s}_{A}\right)\left|\right|\mathrm{s}\mathrm{i}\mathrm{g}{\mathrm{n}}_{\mathrm{s}\mathrm{e}\mathrm{r}\mathrm{v}\mathrm{e}\mathrm{r}} $,并提取随机数$ R $

$ {U}_{B}=\mathrm{I}{\mathrm{D}}_{B}^{\mathrm{'}}\left|\right|\left({r}_{B}, {s}_{B}\right)\left|\right|R\left|\right|\mathrm{s}\mathrm{i}\mathrm{g}{\mathrm{n}}_{\mathrm{C}\mathrm{F}\mathrm{L}\mathrm{ }\mathrm{c}\mathrm{l}\mathrm{i}\mathrm{e}\mathrm{n}\mathrm{t}}\to $

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

$ \leftarrow \mathrm{V}\mathrm{E}\mathrm{R}\mathrm{I}\mathrm{F}{\mathrm{Y}}_{\mathrm{I}\mathrm{D}\mathrm{P}{\mathrm{K}}_{B}}\left(\mathrm{I}{\mathrm{D}}_{B}^{\mathrm{'}}\left|\right|\left({r}_{B}, {s}_{B}\right)\left|\right|R\left|\right|\mathrm{s}\mathrm{i}\mathrm{g}{\mathrm{n}}_{\mathrm{C}\mathrm{F}\mathrm{L}\mathrm{ }\mathrm{c}\mathrm{l}\mathrm{i}\mathrm{e}\mathrm{n}\mathrm{t}}\right) $

服务器端验证CFL客户端证书签名、随机数$ R $$ \mathrm{s}\mathrm{i}\mathrm{g}{\mathrm{n}}_{\mathrm{C}\mathrm{F}\mathrm{L}\mathrm{ }\mathrm{c}\mathrm{l}\mathrm{i}\mathrm{e}\mathrm{n}\mathrm{t}} $

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

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

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

$ w=⌈\left(⌈\mathrm{l}\mathrm{n}\left(n\right)/2⌉\right)⌉-1\text{;} $
$ {Z}_{A}={H}_{256}\left(\mathrm{E}\mathrm{N}\mathrm{T}{\mathrm{L}}_{A}\left|\right|\mathrm{I}{\mathrm{D}}_{A}^{\mathrm{'}}\left|\right|a\left|\right|b\left|\right|{x}_{G}\left|\right|{y}_{G}\left|\right|{x}_{A}\left|\right|{y}_{A}\right)\text{;} $
$ {Z}_{B}={H}_{256}\left(\mathrm{E}\mathrm{N}\mathrm{T}{\mathrm{L}}_{B}\left|\right|\mathrm{I}{\mathrm{D}}_{B}^{\mathrm{'}}\left|\right|a\left|\right|b\left|\right|{x}_{G}\left|\right|{y}_{G}\left|\right|{x}_{B}\left|\right|{y}_{B}\right)\text{;} $

其中,$ a $$ b $$ G $的坐标$ ({x}_{G}, {y}_{G}) $为椭圆曲线方程参数,$ ({x}_{A}, {y}_{A}) $为用户A的公钥$ \mathrm{R}\mathrm{A}\mathrm{P}{\mathrm{K}}_{A} $的坐标,$ ({x}_{B}, {y}_{B}) $为用户B的公钥$ \mathrm{R}\mathrm{A}\mathrm{P}{\mathrm{K}}_{B} $的坐标,$ \mathrm{E}\mathrm{N}\mathrm{T}{\mathrm{L}}_{A} $$ \mathrm{I}{\mathrm{D}}_{A}^{\mathrm{'}} $的长度转换成的两个字节的值,$ \mathrm{E}\mathrm{N}\mathrm{T}{\mathrm{L}}_{B} $$ \mathrm{I}{\mathrm{D}}_{B}^{\mathrm{'}} $的长度转换成的两个字节的值,$ {H}_{256}\left(\right) $表示采用SM3算法其输出长度为256 bit的杂凑值。

用户A

① 用随机数发生器产生随机数$ {r}_{A}\in \left[1, n-1\right] $$ n=256 $

② 计算椭圆曲线点$ {R}_{A}=\left[{r}_{A}\right]G=\left({x}_{1}, {y}_{1}\right) $,产生临时密钥对$ \left({r}_{A}, {R}_{A}\right) $

③ 将$ {R}_{A} $发送给用户B

用户B

① 用随机数发生器产生随机数$ {r}_{B}\in \left[1, n-1\right] $

② 计算椭圆曲线点$ {R}_{B}=\left[{r}_{B}\right]G=\left({x}_{2}, {y}_{2}\right) $,产生临时密钥对$ \left({r}_{B}, {R}_{B}\right) $

③ 从$ {R}_{B} $中取出域元素$ {x}_{2} $,计算$ {\stackrel{-}{x}}_{2}={2}^{w}+\left({x}_{2}\&({2}^{w}-1)\right) $

④ 计算$ {t}_{B}=\left(\mathrm{R}\mathrm{A}\mathrm{S}{\mathrm{K}}_{B}+\overline{{x}_{2}}\cdot {r}_{B}\right)\mathrm{m}\mathrm{o}\mathrm{d}n $

⑤ 验证$ {R}_{A} $是否满足椭圆曲线方程,若满足则从$ {R}_{A} $中取出域元素$ {x}_{1} $,计算$ {\stackrel{-}{x}}_{1}={2}^{w}+\left({x}_{1}\&({2}^{w}-1)\right) $

⑥ 计算椭圆曲线点$ V=\left[h\cdot {t}_{B}\right]\left(\mathrm{R}\mathrm{A}\mathrm{P}{\mathrm{K}}_{A}+\left[\overline{{x}_{1}}\right]{R}_{A}\right)=\left({x}_{V}, {y}_{V}\right) $,若$ V $是无穷远点,则用户B协商失败。

⑦ 计算$ {K}_{B}=\mathrm{K}\mathrm{D}\mathrm{F}\left({x}_{v}\left|\right|{y}_{v}\left|\right|{Z}_{A}\left|\right|{Z}_{B}, \mathrm{k}\mathrm{l}\mathrm{e}\mathrm{n}\right) $即共享密钥。

⑧ 将$ {R}_{B} $发送给用户A

用户A

① 从$ {R}_{A} $中取出域元素$ {x}_{1} $,计算$ {\stackrel{-}{x}}_{1}={2}^{w}+\left({x}_{1}\&({2}^{w}-1)\right) $

② 计算$ {t}_{A}=\left(\mathrm{R}\mathrm{A}\mathrm{S}{\mathrm{K}}_{A}+\overline{{x}_{1}}\cdot {r}_{A}\right)\mathrm{m}\mathrm{o}\mathrm{d} \; n $

③ 验证$ {R}_{B} $是否满足椭圆曲线方程,若不满则协商失败,否则从$ {R}_{B} $中取出域元素$ {x}_{2} $,并计算$ {\stackrel{-}{x}}_{2}-{2}^{w}+\left({x}_{2}\&({2}^{w}-1)\right) $。。

④ 计算$ U=\left[h\cdot {t}_{A}\right]\left(\mathrm{R}\mathrm{A}\mathrm{P}{\mathrm{K}}_{B}+\left[\overline{{x}_{2}}\right]{R}_{B}\right)=\left({x}_{U}, {y}_{U}\right) $,若$ U $是无穷远点,则用户A协商失败。

⑤ 计算$ {K}_{A}=\mathrm{K}\mathrm{D}\mathrm{F}\left({x}_{U}\left|\right|{y}_{U}\left|\right|{Z}_{A}\left|\right|{Z}_{B}, \mathrm{k}\mathrm{l}\mathrm{e}\mathrm{n}\right) $即共享密钥,$ {K}_{A}={K}_{B} $

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

4.2.3 CFL SSL传输协议

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

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

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

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

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

SM4中假设明文输入为$ \left({X}_{0}, {X}_{1}, {X}_{2}, {X}_{3}\right)\in {\left({Z}_{2}^{32}\right)}^{4} $,轮密钥$ \left(r{k}_{0}, r{k}_{1}, \cdots , r{k}_{31}\right)\in {Z}_{2}^{32} $$ \mathrm{K}\mathrm{e}\mathrm{y} $通过密钥扩展算法生成,轮函数$ F $$ F\left({X}_{0}, {X}_{1}, {X}_{2}, {X}_{3}, rk\right)={X}_{0}\oplus $ $ T\left({X}_{1}\oplus {X}_{2}\oplus {X}_{3}\oplus rk\right) $,其中$ T $由非线性变换$ \tau $和线性变换$ L $复合而成,经过32次迭代运算后输出密文$ \left({Y}_{0}, {Y}_{1}, {Y}_{2}, {Y}_{3}\right)\in {\left({Z}_{2}^{32}\right)}^{4} $,发送给用户B

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

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

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

5)密文解密。CFL客户端和服务器对带有CFL动态签名和CFL证书的密文进行解密。用户B验证用户A的CFL动态签名后,使用轮密钥$ \left(r{k}_{31}, r{k}_{30}, \cdots , r{k}_{0}\right)\in {Z}_{2}^{32} $进行解密。

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

4.3 CFL SSL性质

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

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

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

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

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

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

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

性质7  CFL 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所示。

下载CSV 表 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® CoreTM i5CPU M430@2.27GHz,内存(RAM)为4 GB,操作系统为Windows 7旗舰版32位操作系统,交换机为TP-LINK TL-SG2016D。

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

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

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

下载CSV 表 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协议的通用性。

参考文献
[1]
DOMINNIC T, ESMIRALDA M. A methodology to enhance industrial control system security[J]. Procedia Computer Science, 2018, 126: 2117-2126. DOI:10.1016/j.procs.2018.07.240
[2]
DRIAS Z, SERHROUCHMI A, VOGEL O. Analysis of cyber security for industrial control systems[C]//Proceedings of International Conference on Cyber Security of Smart Cities, Industrial Control System and Communications (SSIC). Washington D.C., USA: IEEE Press, 2015: 1-8.
[3]
FAN Xiubin, LIU Xin, WANG Xunlong, et al. Identification-based authentication system CFL-netspace authentication and its examples[M]. Beijing: Beijing University of Posts and Telecommunications press, 2019. (in Chinese)
范修斌, 刘昕, 王勋龙, 等. 基于标识的认证体制CFL-网络空间认证学及其实例[M]. 北京: 北京邮电大学出版社, 2019.
[4]
KOHNFELDER L. Towards a practical public-key cryptosystem[D]. Cambridge, USA: MIT Press, 1978.
[5]
LI Congcong, JI Shouwen, FAN Xiubin, et al. The overview of authentication systems[J]. Journal of Information Security Research, 2016, 2(7): 649-659. (in Chinese)
李聪聪, 纪寿文, 范修斌, 等. 认证体制综述[J]. 信息安全研究, 2016, 2(7): 649-659.
[6]
LIN Jingqiang, JING Jiwu, ZHANG Qionglu, et al. Recent advances in PKI technologies[J]. Journal of Cryptologic Research, 2015, 2(6): 487-496. (in Chinese)
林璟锵, 荆继武, 张琼露, 等. PKI技术的近年研究综述[J]. 密码学报, 2015, 2(6): 487-496.
[7]
ALRAWAIS A, ALHOTHAILY A, CHENG X Z, et al. Secure guard: a certificate validation system in public key infrastructure[J]. IEEE Transactions on Vehicular Technology, 2018, 67(6): 5399-5408. DOI:10.1109/TVT.2018.2805700
[8]
HGLUND J, LINDERMER S, FURUHED M, et al. PKI4IoT: towards public key infrastructure for the Internet of things[J]. Computers & Security, 2020, 89: 1-8.
[9]
SINGLA A, BERTINO E. Blockchain-based PKI solutions for IoT[C]//Proceedings of the 4th International Conference on Collaboration and Internet Computing. Washington D.C., USA: IEEE Press, 2018: 1122-1130.
[10]
SANSEC HSM SJJ0930/SJJ1012-white paper version 3.0[EB/OL]. [2020-09-28]. https://wenku.baidu.com/view/a0bbb706844769eae009ed76.html#. (in Chinese)
三未信安服务器密码机- -技术白皮书v3.0[EB/OL]. [2020-09-28]. https://wenku.baidu.com/view/a0bbb706844769eae009ed76.html#.
[11]
SHAMIR A. Identity-based cryptosystems and signature schemes[C]//Proceedings of Workshop on the Theory and Application of Cryptographic Techniques. Berlin, Germany: Springer, 1984: 1123-1132.
[12]
ZHU Xinxiong, FAN Tao. Research on application of blockchain and identity-based cryptography[J]. IOP Conference Series Earth and Environmental Science, 2019, 252(4): 95-100.
[13]
State Cryptography Administration. Identity-based cryptographic algorithms SM9: GM/T 0044-2016[S]. Beijing: Standards Press of China, 2016. (in Chinese)
国家密码管理局. SM9标识密码算法: GM/T 0044-2016[S]. 北京: 中国标准出版社, 2016.
[14]
ZHEN Ping, TU Yinzi. Research on the miller loop optimization of SM9 bilinear pairings[C]//Proceedings of the 17th International Conference on Communication Technology. Washington D.C., USA: IEEE Press, 2017: 138-144.
[15]
CHEN Chu, TIAN Cong, DUAN Zhenhua, et al. RFC-directed differential testing of certificate validation in SSL/TLS implementations: an RFC-guided approach[J]. ACM Transactions on Software Engineering and Methodology, 2019, 28(4): 1-37.
[16]
State Cryptography Administration. SSL VPN Specification: GM/T 0024-2014[S]. Beijing: Standards Press of China, 2014. (in Chinese)
国家密码管理局. SSL VPN技术规范: GM/T 0024-2014[S]. 北京: 中国标准出版社, 2014.
[17]
COOPER D, SANTESSON S, FARRELL S, et al. RFC 5280-2008 Internet X. 509 public key infrastructure certificate and certificate revocation list profile[S]. [S. l. ]: Internet Engineering Task Force, 2008.
[18]
KUBILAY M Y, KIRAZ M S, MANTAR H A. Certledger: a new PKI model with certificate transparency based on blockchain[J]. Computers & Security, 2019, 85: 333-352.
[19]
JIANG Wenbo, LI Hongwei, XU Guowen, et al. PTAS: privacy-preserving thin-client authentication scheme in blockchain-based PKI[J]. Future Generation Computer Systems, 2019, 96: 185-195. DOI:10.1016/j.future.2019.01.026
[20]
MATSUMOTO S, REISCHUK R M. IKP: turning a PKI around with decentralized automated incentives[C]//Proceedings of 2017 IEEE Symposium on Security and Privacy. Washington D.C., USA: IEEE Press, 2017: 410-426.
[21]
HASSOUNA M A. A secure governmental supported service distribution model using identity-based cryptography[J]. International Journal of Computer Science and Information Security, 2020, 18(5): 116-123.
[22]
State Cryptography Administration. Digital certificate authentication system cryptography protocol specification: GM/T 0014-2012[S]. Beijing: Standards Press of China, 2012. (in Chinese)
国家密码管理局. 数字证书认证系统密码协议规范: GM/T 0014-2012[S]. 北京: 中国标准出版社, 2012.
[23]
XIE Xiren. Computer networks[M]. Beijing: Publishing House of Electronics Industry, 2017. (in Chinese)
谢希仁. 计算机网络[M]. 北京: 电子工业出版社, 2017.
[24]
STONE M M, CHOTHIA T, GARCIA F D. Spinner: semi-automatic detection of pinning without hostname verification[C]//Proceedings of the 33rd Annual Computer Security Applications Conference. Washington D.C., USA: IEEE Press, 2017: 120-130.
[25]
ACER M E, STARK E, FELT A P, et al. Where the wild warnings are: root causes of chrome HTTPS certificate errors[C]//Proceedings of 2017 ACM SIGSAC Conference. New York, USA: ACM Press, 2017: 1138-1149.
[26]
State Cryptography Administration. Information security technology baseline for classified protection of cybersecurity: GB/T 22239-2019[S]. Beijing: Standards Press of China, 2019. (in Chinese)
国家密码管理局. 信息安全技术网络安全等级保护基本要求: GB/T 22239-2019[S]. 北京: 中国标准出版社, 2019.
[27]
TEJASVI A, VINAY C, SHERALI Z. Industrial control systems: cyberattack trends and countermeasures[J]. Computer Communications, 2020, 155: 1-8. DOI:10.1016/j.comcom.2020.03.007
[28]
ASGHAR M R, HU Q, ZEADALLY S. Cybersecurity in industrial control systems: issues, technologies, and challenges[J]. Computer Networks, 2019, 165: 106946-106952. DOI:10.1016/j.comnet.2019.106946
[29]
YAN Shaobo. Research on the secure communication technology of the upper and lower computer in domestic PLC[D]. Xi'an: Xidian University, 2017. (in Chinese)
闫少勃. 国产化PLC上下位机安全通信技术研究[D]. 西安: 西安电子科技大学, 2017.
[30]
DU Chunling, LIU Jimin, FAN Xiubin, et al. CFL is statistical zero-knowledge proof system[J]. Journal of Information Security Research, 2016, 2(7): 621-627. (in Chinese)
杜春玲, 刘纪敏, 范修斌, 等. CFL满足统计零知识[J]. 信息安全研究, 2016, 2(7): 621-627.
[31]
JIAO Yihang, LI Youwen, FAN Xiubin, et al. Study on the CFL trust authentication[J]. Journal of Information Security Research, 2016, 2(7): 608-620. (in Chinese)
焦毅航, 李有文, 范修斌, 等. CFL可信认证研究[J]. 信息安全研究, 2016, 2(7): 608-620.
[32]
FAN Xiubin, WANG Wen, SUN Haidong. Comparative study on the properties of CFL[J]. Journal of Information Security Research, 2016, 2(7): 600-607. (in Chinese)
范修斌, 王玟, 孙海东, 等. CFL性质比较研究[J]. 信息安全研究, 2016, 2(7): 600-607.
[33]
QIN Hongbing, PAN Yuejun, FAN Xiubin, et al. Analysis on CFL provable security[J]. Journal of Information Security Research, 2016, 2(7): 589-599. (in Chinese)
秦红兵, 潘月君, 范修斌, 等. CFL可证明安全性分析[J]. 信息安全研究, 2016, 2(7): 589-599.
[34]
DU Chunling, FAN Xiubin. CFL authentication system and its applications in the blockchain[J]. Journal of Information Security Research, 2017, 3(3): 220-226. (in Chinese)
杜春玲, 范修斌. CFL认证体制及其在区块链中的应用[J]. 信息安全研究, 2017, 3(3): 220-226.
[35]
FAN Xiubin. New generation of identity authentication technology CFL[J]. Journal of Information Security Research, 2016, 2(7): 587-588. (in Chinese)
范修斌. 新一代身份认证技术CFL[J]. 信息安全研究, 2016, 2(7): 587-588.
[36]
FAN Wenzhao, FAN Yuning, HE Zizhi, et al. CFL_BLP model[J]. Journal of Taishan University, 2018, 40(6): 60-66. (in Chinese)
范文钊, 范宇宁, 和子郅, 等. CFL_BLP模型[J]. 泰山学院学报, 2018, 40(6): 60-66. DOI:10.3969/j.issn.1672-2590.2018.06.009
[37]
State Cryptography Administration. Public key cryptographic algorithm SM2 based on elliptic curves: GM/T 0003-2012[S]. Beijing: Standards Press of China, 2012. (in Chinese)
国家密码管理局. SM2椭圆曲线公钥密码算法: GM/T 0003-2012[S]. 北京: 中国标准出版社, 2012.
[38]
State Cryptography Administration. SM4 block cipher algorithm: GM/T 0002-2012[S]. Beijing: Standards Press of China, 2012. (in Chinese)
国家密码管理局. SM4分组密码算法: GM/T 0002-2012[S]. 北京: 中国标准出版社, 2012.