面向数控机床产业集群区域网络协同制造的信息共享安全机制
2021-11-04林喜军于树松
石 硕,林喜军,于树松
(中国海洋大学 计算机科学与技术学院,青岛 266100)
0 引言
随着信息技术的快速发展以及Internet时代的到来,各行业受到极大地刺激和推动,逐渐向“互联网+”模式转型和升级。
制造业的发展状况作为衡量一个国家国民经济水平的重要指标,自然也不例外。当今制造业正在向“互联网+制造”模式发展。美国率先发布“国家先进制造战略计划”,日本、德国等国家紧随其后。在这股工业信息化改革的浪潮中,我国自然不甘人后,相应地发布了“中国制造2025”,旨在发展智能化协同制造新模式,提升制造业数字化程度。
数控机床是制造业的基础和根本,广泛应用于制造业的各个行业,下游产业链涉及面极广,包括国防军工、石油化工、船舶产业、机械行业、汽车产业以及其他工业制造相关领域。
目前,数控机床产业主要集中在亚洲和欧美[1]。我国数控机床产量占全球的31.5%,仅次于日本(占比32.1%),远高于排名第三位的德国(占比17.2%)[2]。
我国数控机床产量虽然很高,但是世界排名前十位的数控机床制造商却未见我国企业身影,全部被日本、德国和美国的企业占领。
这从侧面证明了,与欧美世界工业强国相比,我国在制造能力和产业协同方面还远远落后。其中最主要的原因是整个产业的信息化程度远不及欧美发达国家,信息化技术相对滞后,同时缺乏相应的支撑平台[3]。
在跨国企业间竞争日益激烈、国际局势日趋紧张的今天,数控机床产业的发展关乎到国计民生。
目前我国数控机床产业已形成区域集聚的状态[4],这就使得原本串行的工作模式无法满足产业快速发展的需求,整个产业链中包含的原材料供给、产品结构设计、计划调度、质量和财务管理、产品销售、售后服务、废品回收等各个方面需要有机地联合起来,因此,推动我国数控机床产业升级转型,发展区域网络协同制造势在必行。
数控机床产业集群的区域网络协同制造需要充分结合信息技术,以及以云服务、物联网、边缘计算为代表的网络高新技术[5],实现供应链上下企业的并行合作模式,将Internet、智能机器、工业云平台等相结合,形成基于云制造的网络协同制造模式[6]。
1 问题的提出
基于云制造的区域网络协同制造模式(如图1所示)允许产业链的合作企业实时接入“云端”并提供信息共享服务[7]。
图1 基于云制造的区域网络协同制造信息共享模式
然而,亟需解决的一个重要问题是,如何在供应链内部以及跨供应链的企业之间实现高层次、透明的信息共享。目前我国大小企业早已实现信息化和网络化,它们各有自己的信息系统。不同企业的系统由于并未遵循统一的开发标准,各系统的数据格式、接口参数、网络报文格式等千差万别,这就导致各系统之间无法实现直接的信息共享。因此,基于云制造的区域网络协同制造模式的一个研究方面就是探讨高层次、透明的信息共享解决方案。
实现信息共享的一种主流方法是基于REST的WEB服务交互方式。相比于XML-RPC和SOAP,REST更加简单轻量。
REST并没有一个明确的标准,它只是一组架构约束条件和原则。满足这些约束条件和原则的应用程序称为RESTful,它基于HTTP,可以使用XML传递数据。
图2 RESTful架构图
然而,REST中并没有给出保证数据机密性和完整性的具体方法,这就导致RESTful在实现信息共享时需要自行实现安全保护。
本论文面向数控机床产业集群区域网络协同制造,提出一种基于RESTful的数据安全保护机制,以提高信息系统之间信息共享的安全性。该机制可以保证共享数据的机密性、完整性、认证性,防范旧消息重放攻击,并提供轻量级的密钥管理功能。
2 基于RESTful的数据保护机制的设计
不失一般性,在本文提出的数据保护机制中,假设云平台拥有一个系统主密钥,记为msk。
2.1 系统注册
当企业的信息系统接入云端时,云平台为信息系统产生一对密钥,分别记为k1和k2。设F是安全的伪随机函数(PRF),则具体步骤如下:
1)为企业的信息系统分配系统唯一可识别的身份信息,记为IDi。
2)为信息系统产生当前时间戳Ti。
3)将信息系统的相关信息及(IDi,Ti)保存到数据库中。
4)计算k1=F(msk,i||1)和k2=F(msk,i||2)。
其中,k1用于保证数据机密性,k2用于保证数据完整性。
云平台通过秘密信道将密钥对(k1,k2)分发给信息系统。
如果该企业有多个信息系统,则可以重复以上过程,每个信息系统作为一个独立的信息单位记录在数据库中,并获得各自的密钥对。
实际应用中,可以用AES-128实现伪随机函数F,此时msk应为128比特的随机序列。
2.2 数据封装
信息系统在将数据上传到云平台之前,首先使用自己的密钥对(k1,k2)对数据进行机密性和完整性保护。
设(E,D)是安全的对称加密体制,k1是可以应用于(E,D)的密钥;MAC为安全的消息认证码算法,k2是可以应用于MAC的密钥。
首先,信息系统产生当前时间戳T,并对数据Data做如下计算:
最后,通过RESTful以XML格式将(IDi,C,M,T)发送到云服务器。
实际应用中,可以用AES-128/CTR实现对称加密体制(E,D),并用HMAC实现消息认证码算法MAC。
2.3 解密密钥的提取
在收到XML 后,云平台解析XML,并获得(IDi,C,M,T)。
然后,云平台计算k1=F(msk,i||1)和k2=F(msk,i||2)以恢复信息系统的密钥对。
2.4 数据解封
使用密钥对(k1,k2),首先检查消息认证码的正确性:
如果M与MAC(k2,C||T)不相等,说明XML在传输过程中发生了错误(这种错误可能是黑客造成的),便向信息系统报错;否则执行以下步骤:
1)检查数据库,如果该信息系统对应的时间戳Ti≥T,说明该数据是旧消息,向信息系统报错。
2)否则,更新数据库,将Ti更新为T。
3)调用解密算法D,以恢复相应的数据Data=D(k1,C)。
2.5 数据保存与共享
在恢复出数据Data后,云平台将之保存到数据库中。
当有某目标信息系统需要共享数据Data时,云平台执行以下步骤:
1)从数据库中读取数据Data。
2)从数据库中读取目标信息系统的可识别身份信息IDj。
3)计算相应的密钥对k’1=F(msk,j||1)和k’2=F(msk,j||2)。
4)产生当前时间戳T’。
5)用(k’1,k’2)对数据Data进行封装:C’=E(k’1,Data),M’=MAC(k’2,C’||T’)。
6)通过RESTful以XML格式将(C’,M’,T’)发送给目标信息系统。
目标信息系统在收到XML后,首先解析出(C’,M’,T’)。然后,目标信息系统使用自己的密钥对(k’1,k’2),检查消息认证码的正确性:
如果M’与MAC(k’2,C’||T’)不相等,说明XML在传输过程中发生错误,向云平台报错;否则调用解密算法D,以获得数据Data=D(k’1,C’)。
3 安全性
本文提出的数据保护机制满足以下安全特性:
1) 由于F是安全的伪随机函数,所以它能安全地隐藏主密钥msk的信息。即使某些信息系统由于管理不善,导致它们的密钥对(k1,k2)泄露,黑客也无法从这些密钥对中获得关于主密钥msk的任何信息。
另一方面,除主密钥msk以外,整个机制并没有为各信息系统的密钥对保存额外的信息,这样既有利于密钥管理,又有利于节省存储空间[8]。
2) 保证机密性和完整性:在同时保护数据机密性和完整性时,加密体制和MAC算法有三种组合方式:Enc-then-MAC、Enc-and-MAC和MAC-then-Enc。其中,Enc-and-MAC是不安全的,因为MAC可能会泄露数据的信息,MAC-then-Enc在某些情况下也不安全。因此,我们使用的方法属于Enc-then-MAC,只要(E,D)和MAC是安全的,它俩的组合就能同时保证数据的机密性和完整性。
3) 保证数据的认证性:MAC算法是对称密码算法,只有共享密钥的通信双方才可以产生正确的消息认证码。因此,如果接收方检查出收到的消息验证码是正确的,可以确认数据Data就是指定的发送者发送而来,由此保证数据的认证性。
4) 抵抗离线密钥窃取攻击:接入云端的所有信息系统的密钥对都不是直接保存在数据库中,而是通过伪随机函数F和主密钥msk,以及对应各系统的身份信息一起产生的。如果攻击者利用数据库系统的漏洞下载了数据库,既然他没有主密钥msk,他也无法获得信息系统的密钥对。
5) 抵抗旧消息重放:对应每个信息系统,云平台数据库中除了保存各系统的相关信息外,还保存了上次通信时使用的时间戳Ti。每次信息系统与云平台成功通信后,Ti都会被更新为本次通信时使用的时间戳。这样,如果攻击者发动旧消息重放攻击,因旧消息中的时间戳不会晚于数据库中保存的时间戳,因此会被云平台判定为非法。所以,本机制能有效抵抗旧消息重放攻击,防范向数据库中恶意注入重复数据。
4 结语
面向基于云制造的数控机床产业集群区域网络协同制造模式,本文提出一种基于RESTful的数据保护机制,以提高不同企业信息系统之间信息共享的安全性。