一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于零信任组合访问控制策略的工业控制系统安全框架的制作方法

2022-02-22 17:37:06 来源:中国专利 TAG:


1.本发明涉及机密计算领域,尤其涉及一种基于零信任组合访问控制策略的 工业控制系统安全框架。


背景技术:

2.工业控制系统(ics)是由计算机和工业过程控制部件组成的自动控制系统, 是我国物联网技术(iot)的重要发展方向。工业控制系统可以替代人工对工业 生产过程中的海量工业数据进行采集、分析和反馈,实现实时监控生产状态、 控制生产进程的目的,在工业的信息化智能化生产中发挥重要的作用,并且被 广泛应用于电能、核能、铁路、航空航天等关系国计民生的重要行业当中。工 业控制系统一旦遭受攻击,将会造成严重的后果。因此业界存在对具有高可用 性的符合安全要求的新型安全框架的需求。
3.随着物联网的发展,工业系统所处的环境,正在从“孤岛”走向“互联”, 工业物联网的出现既是工业发展的新机遇,又对工业系统安全有序的生产进程 提出了新的挑战。
4.然而,一方面,在协议层面,现行的、已经成为事实上业界标准的协议如 modbus协议,设计之初主要致力于在于工业控制系统的可用性,可靠性方面的 设计,对安全性方面的关注较少,缺乏认证、权限、加密等安全方面的设计, 已经难以应对越来越严峻的安全威胁。另一方面,在硬件层次,工业物联网系 统中,存在设备老旧,兼容性差,能耗敏感、能源难以补充等硬件问题,然而 现行协议的严格离线注册规定和高能耗开销在实际工业生产中可用性不佳,因 此,业界存在对具有高可用性的符合安全要求的协议的需求。
5.传统的基于边界的网络安全模型难以应对来自内部的攻击。木马、钓鱼网站、 社交工程等攻击手段可以绕过防火墙的内外隔绝屏障,通过控制合法用户设备 实现身份仿冒,发起来自系统内部的攻击,造成数据泄露,数据丢失的严重后 果。
6.现行的基于零信任的网络架构过度依赖策略引擎。策略引擎是基于深度学习 建立的用于身份认证和访问控制的模型,如果用户的身份认证与系统访问权限 使用必须调用策略引擎进行判断与计算,将使得操作延迟上升,导致难以应对 突发工业事故需要人工介入的紧急处理。再者,策略引擎一旦失效、误判或被 恶意程序控制,会导致严重的安全事故。
7.现行身份认证协议存在不合理的安全假设与可用性缺陷。工业物联网需要面 对工业场景下高温、高压、强辐射、电磁干扰、剧毒等恶劣的生产环境,网关 与节点一经部署于工作区域,就难以取回。遗憾的是,一方面,现行身份认证 协议常假设网关处于可信的环境,网关中以静态密文,甚至明文存储信息,事 实上,针对无人监管区域的网关节点的捕获攻击可以使得攻击者获取网关存储 的信息,真正安全的环境与信道并不存在。另一方面,现行的身份认证协议大 多采用离线注册,假设用户和网关之间存在严格的离线安全通信环境,这使得 新用户注册时,需要将网关取回,在离线环境下执行,这实质上大大损害的系 统的可用性。


技术实现要素:

8.针对上述技术问题,本发明提出的一种基于零信任组合访问控制策略的工业 控制系统安全框架,使用组合策略实现对工控系统的安全保障,针对来自系统 内部的威胁,选择在协议层面实现基于零信任的身份认证和密钥协商协议,同 时在通信实体处做好埋点收集行为信息上交至策略引擎,当策略引擎认为存在 异常数据、指令时候介入截断拦截。
9.本发明提供的一种基于零信任组合访问控制策略的工业控制系统安全框架, 采用边界网络安全模型和零信任安全模型组合策略构建安全体系;
10.其中,边界网络安全模型用于抵御工业物联网控制系统外部威胁;零信任安 全模型用于防护工业物联网控制系统的内部威胁;
11.所述零信任安全模型具体包括:零信任身份认证协议和策略引擎;
12.所述零信任身份认证协议具体包括:系统初始化阶段、节点注册阶段、用户 初始化阶段、用户注册阶段、登录和密钥协商阶段;
13.所述系统初始化阶段,指超级管理员sa在离线安全环境下为网关和节点预 埋信息和函数,保障后续阶段的安全性和可行性,具体为:
14.超级管理员sa为网关gw配置机密计算芯片搭建机密计算环境,为每一网 关生成其独有的主密钥k
gw
并在机密计算安全区中保存;
15.超级管理员sa为网关gw和工业终端节点sn配置基本的运算函数,包括: 连接运算||、哈希运算函数h()和哈希运算消息认证码函数hmac()和异或运算函 数


16.超级管理员sa分配硬件id号,并为每一个网关gw生成一对公私钥,分别 为公钥k
p
和私钥kv,超级管理员sa保存公钥k
p
和对应的网关信息,网关保存 私钥kv;
17.初始化阶段后网关gw即部署于工作区域,后续阶段无需取回;
18.所述节点注册阶段,指工业终端节点sn在超级管理员sa的协助下进行在 线注册,具体为:
19.超级管理员sa通过初始化阶段预存的公钥密码算法加密通信信息,保护通 信安全,实现在不可信信道中向网关gw进行在线注册,经此过程后工业终端 节点sn归属于唯一的网关gw,同时节点sn和网关gw相互存留信息以供后 续的登录和密钥协商阶段中进行相互的身份认证、信息交换从而达到通信密钥 协商的目的;
20.所述用户初始化阶段,指用户u在超级管理员sa处进行初始化,分配信息, 赋予用户合法的身份和一次性权限申请的凭证otv,使用户后续通过sa的身 份校验,并在sa协助下向网关gw发起在线注册和节点访问权限申请;
21.所述用户注册阶段,指用户u在超级管理员sa协助下向网关gw发起在线 注册和权限申请;用户u先通过提供用户初始化时信息以通过权限申请凭证 otv验证,后续在线注册和权限申请在超级管理员sa的监管下进行;
22.所述登录和密钥协商阶段,指用户u、网关gw、工业终端节点sn三者之 间的相互认证身份协商密钥,并在协商结束后动态更新通信凭证的过程。
23.进一步地,所述节点注册阶段的具体流程如下:
24.s11:工业终端节点sn获取自身唯一id标识idj、网关gw唯一标识id
gw
, 并生成随机
数sa根据id
gw
提供对应的公钥网关公钥k
p
并计算:
[0025][0026][0027][0028]
其中,是通信凭证、是通信凭证假名、是动态随机数的假名;
[0029]
s12:工业终端节点sn生成当前新鲜时间戳ts1,并计算:
[0030][0031]
s13:工业终端节点sn将消息m1={msgj,ts1}传输至网关gw;
[0032]
s14:网关gw检验时间戳ts1的新鲜性,若不新鲜,则丢弃并请求重发;若 新鲜,则计算:
[0033][0034]
其中表示通过kv解密密文msgj还原的信息;新鲜性判断用于防止 延迟的无效注册消息和攻击者的重放攻击;
[0035]
s15:网关gw判断与ts1是否相等,不等则丢弃并请求重发,相等则将idj传输至机密计算芯片中,并在机密计算环境中计算:
[0036]
ppidj=h(idj||k
gw
)
[0037]
计算完毕后从安全区输出ppidj,保存键值对于网关内存;
[0038]
其中ts1相等判断是为了防止消息内容遭到篡改,k
gw
是系统初始化阶段预存 并在机密计算环境中严格保护的主密钥。
[0039]
进一步地,所述用户初始化阶段,具体流程为:
[0040]
s21:用户端插入智能卡sc,获取智能卡身份标识id
sc
,用户端采集用户生 物特征信息bioi,计算:
[0041]
(σi,τi)=gen(bioi)
[0042]
uidi=h(id
sc
||σi)
[0043]
其中gen(bioi)是生物特征提取函数,σi,τi是提取的生物特征值;uidi是由智能 卡和用户生物特征组合计算的变量,是用户的全局唯一识别码,用户的访问和 控制行为可以通过uidi监测记录,交付旁挂策略引擎进行行为分析和控制;
[0044]
s22:用户端生成新鲜时间戳ts1,并将消息m1={id
sc
,uidi,ts1}发送至超 级管理员sa;
[0045]
s24:超级管理员sa检查ts1的新鲜度,若不新鲜则拒绝;若新鲜,则判断 自身存储的智能卡列表sclist中是否包含id
sc
,用户已存在则拒绝初始化请求; 若未包含,则生成随机数rn
sa
,计算otv=h(uidi||rn
sa
);
[0046]
其中,otv表示一次性的权限申请凭证,可凭此值在用户注册阶段进行身份 认证和权限申请,过后作废;
[0047]
s25:超级管理员sa生成当前最新时间戳ts2,并保存键值对{uid
i-rn
sa
}, 同时将消息m2={otv,ts2}发送至用户端;
[0048]
s26:用户端检查ts2的新鲜度,若新鲜,则保存{otv,τi}至sc卡;若不新 鲜,则请求重发。
[0049]
进一步地,所述用户注册阶段,具体流程如下:
[0050]
s31:用户端插入sc卡,获得本地存储信息id
sc
,otv和τi;
[0051]
s32:用户端输入要注册的自身id号id
sc
,生物信息bioi和密码pwi;
[0052]
计算:
[0053]
σi=rep(bioi,τi)
[0054]
uidi=h(id
sc
||σi)
[0055]
其中rep(bioi,τi)是生物特征匹配函数,是gen(bioi)函数的逆过程;
[0056]
s33:用户端向超级管理员sa请求uidi对应的rn
sa
,并计算:
[0057]
otv
*
=h(uidi||rn
sa
)
[0058]
判断otv是否与otv
*
是否相等,若是则计算
[0059]
rpw=h(id
sc
||σi||pww)
[0060]
v=h(uidi||rpw)
[0061]
其中,rpw是由密码pwi生成的密码校验变量,v是身份校验变量,这些变 量用于登陆与密钥协商阶段的用户身份校验;
[0062]
s34:用户输入欲申请访问和控制权限的目标节点识别码idj;sa判断是否允 许该权限申请,若是,则超级管理员提供idj所属网关的识别码id
gw

[0063]
s35:用户端生成当前的时间戳ts1,生成动态的随机数并计算:
[0064][0065]
用户端将消息m1={msgi,ts1}发送至网关gw;
[0066]
s36:网关gw检查ts1的新鲜性,若不新鲜则拒绝注册;若新鲜,则计算:
[0067][0068]
s37:网关判断是否与ts1相等,若不等,则拒绝注册;若相等,则获取id
gw
, 并计算:
[0069][0070][0071][0072]
其中,表示被通信凭证和动态随机数保护的uidi;
[0073]
s38:网关传输和至机密计算芯片,并在安全区中计算:
[0074][0075]
计算完毕后从安全区输出保存键值对和键值对 于网关内存;其中k
gw
是系统初始化阶段网关主密钥;
[0076]
s39:网关生成新鲜的时间戳ts2,并计算:
[0077]
ack
gw
=h(id
gw
||ts2)
[0078][0079]
发送消息m2={msg
gw
,ts2}至用户端;
[0080]
s310:用户端检查ts2的新鲜性,若新鲜则计算:
[0081][0082]
ack
gw
=h(id
gw
||ts2)
[0083]
并进入步骤s311,若不符合要求则拒绝注册;
[0084]
s311:用户端判断与ack
gw
是否相等,若是则计算:
[0085][0086][0087]
并进入步骤s312,否则拒绝注册;
[0088]
s312:用户端计算:
[0089][0090][0091]
保存键值对{did
j-did
gw
}至sc卡的用户的访问控制列表aclist中;
[0092]
保存密钥对于sc卡中;
[0093]
设置允许访问时间范围ptime;获取允许访问区域ploc;
[0094]
保存{v,ptime,ploc}至sc卡。
[0095]
所述登录和密钥协商阶段,具体流程如下:
[0096]
s41:用户端插入sc卡;获取当前时间t和位置l;
[0097]
s42:判断当前时间t是否处于允许访问时间范围ptime,位置l是否处于允 许访问区域ploc;若是,则获取id
sc
,v,τi,进入步骤s43;否则,则拒绝登录;
[0098]
s43:用户端输入密码pwi、生物信息bioi和访问控制的目标节点识别码idj, 并计算:
[0099]
σi=rep(bioi,τi)
[0100]
uidi=h(id
sc
||σi)
[0101]
rpw=h(id
sc
||σi||pwi)
[0102]v*
=h(uidi||rpw)
[0103]
判断v
*
是否与v相等,若相等,则计算进入步骤s44; 否
则身份认证失败,拒绝登录;
[0104]
s44:用户端判断用户具有的权限列表aclist中是否包含didj,若是,则通 过didj获取did
gw
,进一步通过did
gw
获取计算:
[0105][0106][0107]
生成随机数ri和新鲜的时间戳ts1,计算:
[0108][0109][0110][0111]
其中,ri是组成本阶段最终协商的会话密钥key
ij
的组成部分,需要被安全的 传递至sn;pks1为使用共享的通信凭证和其他共享变量加密并保护ri传递的变 量;pidj为欲访问节点idj的匿名;q1用于验证,校验消息的来源,保证消息未被 篡改;
[0112]
s45:用户端发送消息至网关gw;
[0113]
s46:网关gw检查ts1的新鲜性,若新鲜,则通过获取并 将和传输至机密计算芯片,在机密计算芯片安全区中计算:
[0114][0115]
从安全区输出
[0116]
s47:网关gw通过获取并计算:
[0117][0118][0119][0120]
判断与是否相等,若是,则进入步骤s48;否则表示协商失败;
[0121]
s48:计算;
[0122][0123][0124]
判断是否成立,若是则将idj 传输至机密计算芯片,进入步骤s49;否则表示消息被篡改,协商失败;
[0125]
s49:在机密计算环境安全区中计算ppidj=h(idj||k
gw
),并从安全区中输 出ppidj,通过ppidj获取计算:
[0126][0127][0128][0129]
生成新鲜的时间戳ts2,并计算:
[0130][0131][0132]
将消息发送至工业终端节点sn;
[0133]
其中pks2为使用共享的通信凭证和其他共享变量加密并保护ri传递的变量, q2用于验证,校验消息的来源,保证消息未被篡改;
[0134]
s410:工业终端节点sn检查ts2的新鲜性,若新鲜,则获取idj、id
gw
、进入步骤s411,否则表示协商失败;
[0135]
s411:工业终端节点计算:
[0136][0137][0138]
判断是否成立,若是,则生成随 机数rj和新鲜的时间戳ts3,进入步骤s412,否则表示消息被篡改协商失败; 至此,ri被保密地传输至sn处;
[0139]
s412:工业终端节点sn计算:
[0140][0141][0142]
key
ij
=h(ri||rj)
[0143]
并将消息m2={pks3,q3,ts3}发送至网关gw;至此,登录和密钥协商阶段的会 话密钥key
ij
在节点端计算成功;
[0144]
s413:网关gw检查ts3的新鲜性,若新鲜,则计算:
[0145][0146]
进入步骤s414,否则表示协商失败;
[0147]
s414:网关判断是否成立,若是,则生成最新的时 间戳ts4,进入步骤s415,否则表示协商失败;
[0148]
s415:网关gw计算:
[0149]
[0150][0151]
并将消息m4={pks4,q4,ts4}发送至用户端,用户端进入步骤s417;
[0152]
网关生成新鲜的时间戳,同时计算:
[0153][0154]
并将消息m5={q5,ts5}发送至sn端,节点进入步骤s422;
[0155]
此后过程后,网关进入步骤s416;
[0156]
s416:网关计算:
[0157][0158][0159]
更新覆盖至此网关完成了对其管辖的节点对应的动态随机数伪 装的更新;
[0160]
s417:用户端检查ts4的新鲜性,若新鲜,则计算
[0161][0162]
进入步骤s418,否则表示协商失败;至此,rj被保密地传输至u处;
[0163]
s418:用户端判断:
[0164][0165]
是否成立,若是,则计算:
[0166]
key
ij
=h(ri||rj)
[0167]
进入步骤s419,否则表示协商失败;至此,登录和密钥协商阶段的会话密钥key
ij
在用户端计算成功;
[0168]
s419:用户端生成最新时间戳ts6,并计算:
[0169][0170][0171][0172][0173]
用户端更新并将消息m6={q6,ts6}传输至网关gw,网关进入步骤s420; 至此,用户端完成对动态随机数通信凭证通信凭证假名的更新;
[0174]
s420:网关gw检查ts6的新鲜性,若新鲜,则进入步骤s421,否则表示协 商失败;
[0175]
s421:网关gw判断:
[0176][0177]
是否成立,若是,则计算:
[0178][0179][0180][0181][0182]
进入步骤s422,否则表示协商失败;
[0183]
s421:将传输至机密计算芯片,并在安全区中计算:
[0184][0185]
随后从安全区中输出更新和至此,网关完成对动态随机数假名通信凭证假名用户识别码 假名的更新;
[0186]
s422:工业终端节点sn检查ts5的新鲜性,若新鲜,则进入步骤s423,否 则表示协商失败;
[0187]
s423:工业终端节点sn判断:
[0188][0189]
是否成立,若是,则计算:
[0190][0191][0192][0193]
进入s424,否则表示协商失败;
[0194]
s423:工业终端节点sn更新至此,节点完成了通信凭证的 更新。
[0195]
本发明提供的有益效果是:从安全模型层面,本发明解决了单一安全策略难 以同时应对严峻内外威胁的难题,采用组合策略实现对工业物联网控制系统的 安全保障,扬弃了单一策略存在的不足,结合各种安全手段的优点,共同实现 安全保护。
[0196]
从认证协议层面,本发明在初始化阶段预埋公钥解决了传统协议要求严格离 线注册带来的可用性缺陷,在登录和密钥协商时使用机密计算技术和动态轮转 技术,解决了传统协议容易遭受追踪攻击和节点捕获攻击的问题,在注册阶段 实现了权限分离,最小化了用户感染恶意程序、遭受社交工程攻击等手段带来 的内部威胁。
附图说明
[0197]
图1是边界网络安全模型示意图;
[0198]
图2是零信任身份认证协议示意图;
[0199]
图3是现行零信任产品示意图;
[0200]
图4是本技术组合策略示意图;
[0201]
图5是节点注册阶段流程示意图;
[0202]
图6是用户初始化阶段流程示意图;
[0203]
图7是用户注册阶段流程示意图;
[0204]
图8是登录和密钥协商阶段流程示意图。
具体实施方式
[0205]
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实 施方式作进一步地描述。
[0206]
为了更好的解释说明,先对相关概念阐述如下。
[0207]
请参考图1,图1是边界网络安全模型示意图。
[0208]
边界网络安全模型是图1中竖虚线由边界防护设备构建的安全体系,将整个 系统分为“内网”和“外网”,边界防护设备放行合法请求,拒绝外部异常请求。流 量一旦进入防火墙内侧,便不再校验,一旦用户被伪装,甚至自己就是被收买 的恶意用户,网络内部将会对他不设防,恶意用户/被病毒控制的用户的请求将 在内部畅通无阻。这是传统的基于边界网络模型的缺点,预设了对“内网”所有流 量和请求的信任,仅能针对外部异常威胁,对于伪装成合法的流量、或者本身 就是合法的流量带来的内部威胁无法防御。
[0209]
边界网络模型就像某公司的大楼门口处设立了门禁卡,合法用户通行,非法 用户禁止。但是如果攻击者捡到、破获了门禁卡内容,甚至攻击者就是合法用 户,直接就突破了边界的防护,边界网络模型不关心“合法用户”在内部做的任何 事情,预设了对内部的信任,无法应对内部的攻击,因此需要组合零信任模型 补充应对内部威胁。
[0210]
但是也并不能说零信任模型可以单独运作了,仍然需要边界防火墙针对外部 威胁。
[0211]
基于此,本发明提出的一种基于零信任组合访问控制策略的工业控制系统安 全框架,采用边界网络安全模型和零信任安全模型组合策略构建安全体系;
[0212]
其中,边界网络安全模型用于抵御工业物联网控制系统外部威胁;零信任安 全模型用于防护工业物联网控制系统的内部威胁;
[0213]
所述零信任安全模型具体包括:零信任身份认证协议和策略引擎;
[0214]
请参考图2,图2是零信任身份认证协议示意图;零信任身份认证协议实现 了用户u和工业终端节点sn之间建立通信密钥,进行加密通信,并在阶段设 计时践行的安全目标。
[0215]
所述零信任身份认证协议具体包括:系统初始化阶段、节点注册阶段、用户 初始化阶段、用户注册阶段、登录和密钥协商阶段;
[0216]
策略引擎是为了实现实时计算用户的访问控制权限,在出现异常流量和时终 止会话断开连接。
[0217]
请参考图3,图3是现行零信任产品示意图;现行零信任产品过度依赖策略 引擎,访问控制和数据流通都要经过策略引擎判断,这具有较高的延迟,难以 应对需要人工紧急处理的突发事件,而且由于机器学习模型无法做到100%的准 确度,识别错误可能会导致指令传递不及时、恶意指令放行等安全事故,恶意 用户也可以伪装自己的行为达到绕过策略引擎的目的。因此必须在协议层面实 现零信任,策略引擎可以从旁辅助进行动态访问控
制,如:在协商密钥后长时 间不通信时回收会话密钥、拦截恶意用户发出的dos攻击等任务,所以本技术 采用,边界网络安全模型抵御外部威胁,零信任身份认证协议和策略引擎旁挂 抵御内部威胁,组成图4的组合策略。
[0218]
请参考图4,图4是本技术组合策略示意图;
[0219]
策略引擎收集uidi、idgw、idsn等全局唯一识别码,和他们的访问及被 访问信息,进行动态判断,与零信任身份认证协议是一个同步的过程。
[0220]
所述系统初始化阶段,指超级管理员sa在离线安全环境下为网关和节点预 埋信息和函数,保障后续阶段的安全性和可行性,具体为:
[0221]
超级管理员sa为网关gw配置机密计算芯片搭建机密计算环境,为每一网 关生成其独有的主密钥k
gw
并在机密计算安全区中保存;
[0222]
超级管理员sa为网关gw和工业终端节点sn配置基本的运算函数,包括: 连接运算||、哈希运算函数h()和哈希运算消息认证码函数hmac()和异或运算函 数


[0223]
超级管理员sa分配硬件id号,并为每一个网关gw生成一对公私钥,分别 为公钥k
p
和私钥kv,超级管理员sa保存公钥k
p
和对应的网关信息,网关保存 私钥kv;
[0224]
初始化阶段后网关gw即部署于工作区域,后续阶段无需取回;
[0225]
所述节点注册阶段,指工业终端节点sn在超级管理员sa的协助下进行在 线注册,具体为:
[0226]
超级管理员sa通过初始化阶段预存的公钥密码算法加密通信信息,保护通 信安全,实现在不可信信道中向网关gw进行在线注册,经此过程后工业终端 节点sn归属于唯一的网关gw,同时节点sn和网关gw相互存留信息以供后 续的登录和密钥协商阶段中进行相互的身份认证、信息交换从而达到通信密钥 协商的目的;
[0227]
所述用户初始化阶段,指用户u在超级管理员sa处进行初始化,分配信息, 赋予用户合法的身份和一次性权限申请的凭证otv,使用户后续通过sa的身 份校验,并在sa协助下向网关gw发起在线注册和节点访问权限申请;
[0228]
所述用户注册阶段,指用户u在超级管理员sa协助下向网关gw发起在线 注册和权限申请;用户u先通过提供用户初始化时信息以通过权限申请凭证 otv验证,后续在线注册和权限申请在超级管理员sa的监管下进行;
[0229]
所述登录和密钥协商阶段,指用户u、网关gw、工业终端节点sn三者之 间的相互认证身份协商密钥,并在协商结束后动态更新通信凭证的过程。
[0230]
为方便解释说明,本技术首先对相关参数上、下标及参数本身统一解释:
[0231]
以下标量与变量阐述均采用下角标i、j、gw、sc表示其来源,i表示来自 用户u的变量常量,j表示来自工业终端节点sn的变量常量,gw表示来自网 关gw的变量常量,sc表示来自智能卡的变量常量;拥有上角标old和new表 示其是变量,old和new是更新过程中新旧值的区分;拥有*上角标表示该值来 源于本地计算,与不含*上角标的同名值来自于本地存储,其对比运算是一种验 证的过程。表示异或运算;h(
·
)表示单向哈希函数;||表示连接符;是 加密(encode)函数,是以k
p
为密钥的加密函数。是解密(decode)函数, 是kv为密钥的解密函数。
[0232]
关键参数本身解释如表1所示:
[0233]
表1参数符号释义
[0234][0235]
请参考图5,图5是节点注册阶段流程示意图;
[0236]
所述节点注册阶段的具体流程如下:
[0237]
s11:工业终端节点sn获取自身唯一id标识idj、网关gw唯一标识id
gw
, 并生成随机数sa根据id
gw
提供对应的公钥网关公钥k
p
并计算:
[0238][0239][0240][0241]
其中,是通信凭证、是通信凭证假名、是动态随机数的假名;
[0242]
s12:工业终端节点sn生成当前新鲜时间戳ts1,并计算:
[0243][0244]
s13:工业终端节点sn将消息m1={msgj,ts1}传输至网关gw;
[0245]
s14:网关gw检验时间戳ts1的新鲜性,若不新鲜,则丢弃并请求重发;若 新鲜,则计算:
[0246][0247]
其中表示通过kv解密密文msgj还原的信息;新鲜性判断是为了防 止延迟的无效注册消息和攻击者的重放攻击;
[0248]
s15:网关gw判断与ts1是否相等,不等则丢弃并请求重发,相等则将idj传输至机密计算芯片中,并在机密计算环境中计算:
[0249]
ppidj=h(idj||k
gw
)
[0250]
计算完毕后从安全区输出ppidj,保存键值对于网关内存;
[0251]
其中ts1相等判断是为了防止消息内容遭到篡改,k
gw
是系统初始化阶段预存 并在机密计算环境中严格保护的主密钥。
[0252]
请参考图6,图6是用户初始化阶段流程示意图;
[0253]
所述用户初始化阶段,具体流程为:
[0254]
s21:用户端插入智能卡sc,获取智能卡身份标识id
sc
,用户端采集用户生 物特征信息bioi,计算:
[0255]
(σi,τi)=gen(bioi)
[0256]
uidi=h(id
sc
||σi)
[0257]
其中gen(bioi)是生物特征提取函数,σi,τi是提取的生物特征值;uidi是由智能 卡和用户生物特征组合计算的变量,是用户的全局唯一识别码,用户的访问和 控制行为可以通过uidi监测记录,交付旁挂策略引擎进行行为分析和控制;
[0258]
s22:用户端生成新鲜时间戳ts1,并将消息m1={id
sc
,uidi,ts1}发送至超 级管理员sa;
[0259]
s24:超级管理员sa检查ts1的新鲜度,若不新鲜则拒绝;若新鲜,则判断 自身存储的智能卡列表sclist中是否包含id
sc
,用户已存在则拒绝初始化请求; 若未包含,则生成随机数rn
sa
,计算otv=h(uidi||rn
sa
);
[0260]
其中,otv表示一次性的权限申请凭证,可凭此值在用户注册阶段进行身份 认证和权限申请,过后作废;
[0261]
s25:超级管理员sa生成当前最新时间戳ts2,并保存键值对{uid
i-rn
sa
}, 同时将消息m2={otv,ts2}发送至用户端;
[0262]
s26:用户端检查ts2的新鲜度,若新鲜,则保存{otv,τi}至sc卡;若不新 鲜,则请求重发。
[0263]
请参考图7,图7是用户注册阶段流程示意图;
[0264]
所述用户注册阶段,具体流程如下:
[0265]
s31:用户端插入sc卡,获得本地存储信息id
sc
,otv和τi;
[0266]
s32:用户端输入要注册的自身id号id
sc
,生物信息bioi和密码pwi;
[0267]
计算:
[0268]
σi=rep(bioi,τi)
[0269]
uidi=h(id
sc
||σi)
[0270]
其中rep(bioi,τi)是生物特征匹配函数,是gen(bioi)函数的逆过程;
[0271]
s33:用户端向超级管理员sa请求uidi对应的rn
sa
,并计算:
[0272]
otv
*
=h(uidi||rn
sa
)
[0273]
判断otv是否与otv
*
是否相等,若是则计算
[0274]
rpw=h(id
sc
||σi||pwi)
[0275]
v=h(uidi||rpw)
[0276]
其中,rpw是由密码pwi生成的密码校验变量,v是身份校验变量,这些变 量用于登陆与密钥协商阶段的用户身份校验;
[0277]
s34:用户输入欲申请访问和控制权限的目标节点识别码idj;sa判断是否允 许该权限申请,若是,则超级管理员提供idj所属网关的识别码id
gw

[0278]
s35:用户端生成当前的时间戳ts1,生成动态的随机数并计算:
[0279][0280]
用户端将消息m1={msgi,ts1}发送至网关gw;
[0281]
s36:网关gw检查ts1的新鲜性,若不新鲜则拒绝注册;若新鲜,则计算:
[0282][0283]
s37:网关判断是否与ts1相等,若不等,则拒绝注册;若相等,则获取id
gw
, 并计算:
[0284][0285][0286][0287]
其中,表示被通信凭证和动态随机数保护的uidi;
[0288]
s38:网关传输和至机密计算芯片,并在安全区中计算:
[0289][0290]
计算完毕后从安全区输出保存键值对和键值对 于网关内存;其中k
gw
是系统初始化阶段网关主密钥;
[0291]
s39:网关生成新鲜的时间戳ts2,并计算:
[0292]
ack
gw
=h(id
gw
||ts2)
[0293][0294]
发送消息m2={msg
gw
,ts2}至用户端;
[0295]
s310:用户端检查ts2的新鲜性,若新鲜则计算:
[0296][0297]
ack
gw
=h(id
gw
||ts2)
[0298]
并进入步骤s311,若不符合要求则拒绝注册;
[0299]
s311:用户端判断与ack
gw
是否相等,若是则计算:
[0300][0301][0302]
并进入步骤s312,否则拒绝注册;
[0303]
s312:用户端计算:
[0304][0305][0306]
保存键值对{did
j-did
gw
}至sc卡的用户的访问控制列表aclist中;
[0307]
保存密钥对于sc卡中;
[0308]
设置允许访问时间范围ptime;获取允许访问区域ploc;
[0309]
保存{v,ptime,ploc}至sc卡。
[0310]
请参考图8,图8是登录和密钥协商阶段流程示意图;所述登录和密钥协商 阶段,具体流程如下:
[0311]
s41:用户端插入sc卡;获取当前时间t和位置l;
[0312]
s42:判断当前时间t是否处于允许访问时间范围ptime,位置l是否处于允 许访问区域ploc;若是,则获取id
sc
,v,τi,进入步骤s43;否则,则拒绝登录;
[0313]
s43:用户端输入密码pwi、生物信息bioi和访问控制的目标节点识别码idj, 并计算:
[0314]
σi=rep(bioi,τi)
[0315]
uidi=h(id
sc
||σi)
[0316]
rpw=h(id
sc
||σi||pwi)
[0317]v*
=h(uidi||rpw)
[0318]
判断v
*
是否与v相等,若相等,则计算进入步骤s44; 否则身份认证失败,拒绝登录;
[0319]
s44:用户端判断用户具有的权限列表aclist中是否包含didj,若是,则通 过didj获取did
gw
,进一步通过did
gw
获取计算:
[0320][0321][0322]
生成随机数ri和新鲜的时间戳ts1,计算:
[0323][0324][0325][0326]
其中,ri是组成本阶段最终协商的会话密钥key
ij
的组成部分,需要被安全的 传递至sn;pks1为使用共享的通信凭证和其他共享变量加密并保护ri传递的变 量;pidj为欲访问节点idj的匿名;q1用于验证,校验消息的来源,保证消息未被 篡改;
[0327]
s45:用户端发送消息至网关gw;
[0328]
s46:网关gw检查ts1的新鲜性,若新鲜,则通过获取并 将和传输至机密计算芯片,在机密计算芯片安全区中计算:
[0329][0330]
从安全区输出
[0331]
s47:网关gw通过获取并计算:
[0332][0333][0334][0335]
判断与是否相等,若是,则进入步骤s48;否则表示协商失败;
[0336]
s48:计算;
[0337][0338][0339]
判断是否成立,若是则将idj 传输至机密计算芯片,进入步骤s49;否则表示消息被篡改,协商失败;
[0340]
s49:在机密计算环境安全区中计算ppidj=h(idj||k
gw
),并从安全区中输 出ppidj,通过ppidj获取计算:
[0341][0342][0343][0344]
生成新鲜的时间戳ts2,并计算:
[0345][0346][0347]
将消息发送至工业终端节点sn;
[0348]
其中pks2为使用共享的通信凭证和其他共享变量加密并保护ri传递的变量, q2用于验证,校验消息的来源,保证消息未被篡改;
[0349]
s410:工业终端节点sn检查ts2的新鲜性,若新鲜,则获取idj、id
gw
、进入步骤s411,否则表示协商失败;
[0350]
s411:工业终端节点计算:
[0351][0352][0353]
判断是否成立,若是,则生成随 机数rj和新鲜的时间戳ts3,进入步骤s412,否则表示消息被篡改协商失败; 至此,ri被保密地传输至sn处;
[0354]
s412:工业终端节点sn计算:
[0355][0356][0357]
key
ij
=h(ri||rj)
[0358]
并将消息m2={pks3,q3,ts3}发送至网关gw;至此,登录和密钥协商阶段的会 话密钥key
ij
在节点端计算成功;
[0359]
s413:网关gw检查ts3的新鲜性,若新鲜,则计算:
[0360][0361]
进入步骤s414,否则表示协商失败;
[0362]
s414:网关判断是否成立,若是,则生成最新的时 间戳ts4,进入步骤s415,否则表示协商失败;
[0363]
s415:网关gw计算:
[0364][0365][0366]
并将消息m4={pks4,q4,ts4}发送至用户端,用户端进入步骤s417;
[0367]
网关生成新鲜的时间戳,同时计算:
[0368][0369]
并将消息m5={q5,ts5}发送至sn端,节点进入步骤s422;
[0370]
此后过程后,网关进入步骤s416;
[0371]
s416:网关计算:
[0372][0373][0374]
更新覆盖至此网关完成了对其管辖的节点对应的动态随机数伪 装的更新;
[0375]
s417:用户端检查ts4的新鲜性,若新鲜,则计算
[0376][0377]
进入步骤s418,否则表示协商失败;至此,rj被保密地传输至u处;
[0378]
s418:用户端判断:
[0379][0380]
是否成立,若是,则计算:
[0381]
key
ij
=h(ri||rj)
[0382]
进入步骤s419,否则表示协商失败;至此,登录和密钥协商阶段的会话密钥key
ij

用户端计算成功;
[0383]
s419:用户端生成最新时间戳ts6,并计算:
[0384][0385][0386][0387][0388]
用户端更新并将消息m6={q6,ts6}传输至网关gw,网关进入步骤s420; 至此,用户端完成对动态随机数通信凭证通信凭证假名的更新;
[0389]
s420:网关gw检查ts6的新鲜性,若新鲜,则进入步骤s421,否则表示协 商失败;
[0390]
s421:网关gw判断:
[0391][0392]
是否成立,若是,则计算:
[0393][0394][0395][0396][0397]
进入步骤s422,否则表示协商失败;
[0398]
s421:将传输至机密计算芯片,并在安全区中计算:
[0399][0400]
随后从安全区中输出更新和至此,网关完成对动态随机数假名通信凭证假名用户识别码 假名的更新;
[0401]
s422:工业终端节点sn检查ts5的新鲜性,若新鲜,则进入步骤s423,否 则表示协商失败;
[0402]
s423:工业终端节点sn判断:
[0403][0404]
是否成立,若是,则计算:
[0405][0406][0407]
[0408]
进入s424,否则表示协商失败;
[0409]
s423:工业终端节点sn更新至此,节点完成了通信凭证的 更新。
[0410]
本发明的有益效果是:从安全模型层面,本发明解决了单一安全策略难以同 时应对严峻内外威胁的难题,采用组合策略实现对工业物联网控制系统的安全 保障,扬弃了单一策略存在的不足,结合各种安全手段的优点,共同实现安全 保护;
[0411]
从认证协议层面,本发明在初始化阶段预埋公钥解决了传统协议要求严格离 线注册带来的可用性缺陷,在登录和密钥协商时使用机密计算技术和动态轮转 技术,解决了传统协议容易遭受追踪攻击和节点捕获攻击的问题,在注册阶段 实现了权限分离,最小化了用户感染恶意程序、遭受社交工程攻击等手段带来 的内部威胁。
[0412]
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精 神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保 护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献