边缘计算中端到端的可信及安全通信技术研究
- 来源:网络空间安全 smarty:if $article.tag?>
- 关键字:物联网,边缘计算,身份验证 smarty:/if?>
- 发布时间:2020-09-29 18:57
摘 要:文章从边缘计算环境出发,分析边边协同中端到端通信的可信及安全问题,提出了一种通过准入认证、访问授权、端到端加密的可信安全通信方法。该方法基于集中管理、分布计算、端端协作的思想设计,具有可信、安全、可管理等特点,已经得到了实际部署应用。
关键词:物联网;边缘计算;端到端加密;身份验证;访问授权
中图分类号: TP39 文献标识码:B
Abstract: Around the edge computing environment, this paper analyzes the trustworthiness and security of end-to-end communication in edge computing cooperation. This paper presents a trusted and security communication method through access authentication, access authorization and end-to-end encryption. With the idea of centralized management, distributed computing and end-to-end cooperation, the method has the characteristics of trustworthiness, security and manageability in edge computing, and applied practically.
Key words: IOT; edge computing; end to end encryption; authentication; authorization
1 引言
边缘计算是一种在物理上靠近数据源头的网络边缘侧,融合网络、计算、存储、应用核心能力的开放平台,就近提供边缘智能服务的计算模式。边缘计算发生的位置称为边缘结点,它可以是数据产生源头和云中心之间任一具有计算资源和网络资源的结点。
随着物联网和5G的发展,边缘计算在各行各业得到了广泛的应用。边缘产生的海量数据,被大量在边缘部署的本地化应用使用,边边协同让边缘计算发挥出更大的价值。但通过端到端通信实现的边边协同,在可信安全通信方面也面临更大的挑战。
相对于云端,边缘计算端的设备/服务应用面临更多的安全问题。
(1)边缘环境复杂,边缘设备容易被入侵、被替换,导致设备身份难以确认。
(2)边缘与边缘之间的访问缺乏统一的授权机制,增加了访问难度。
(3)缺乏可靠的身份验证以及访问授权,即使实现端到端加密也难保证访问的可信度。
基于以上问题,本文提出了在边缘环境中解决计算端身份确认,端到端访问授权以及端到端加密的方案。
2 问题描述
本文描述的三个问题场景解释为:
(1)证书获取的问题
线上获取证书,容易出现信息被泄漏盗取。边缘计算使用单位需要线下获得证书,这个过程需要通过系统的证书管理完成。
(2)准入认证的问题
边缘计算设备获得证书后,需要完成准入认证后才可以进行通信。准入认证将完成设备注册,身份确认以及与使用单位的归属关系。准入认证是设备可信的首要条件。
(3)安全通信
安全通信不只是加密。即便是已經通过准入认证的设备在通信前还需要做身份确认。是否可以访问其他计算端还需要边缘计算使用单位进行访问授权。只有得到授权后,端和端之间才能交换密钥进行加密通信。
3 一种端到端的可信和安全通信方案架构
3.1 整体架构
根据上文的描述,本文提出一种端到端的可信和安全通信方案整体架构,如图1所示。
系统由管理层、通信层、边缘层和计算层组成。管理层的任务是管理设备准入、认证设备身份、确定设备归属以及授权设备访问。通信层架构在现有通信网络之上,利用现有网络实现端到端通信。边缘层架构在使用者边缘环境中,比如办公室、车间等。计算层由边缘层里具有计算及网络能力的边缘设备构成,这些边缘层的设备被称为边缘计算端或计算端。
系统体现了集中管理、分布计算、端端协作的思想,有效利用了边缘计算环境的资源及优势。
3.2 系统组件
(1)证书管理
设备的准入由证书管理实现,只有获得系统颁发证书的设备才可以进入系统。证书管理同时配合计算端设备的加密芯片可以保证设备的可信度。
(2)身份管理
证书和设备绑定后,设备的身份将被确定。设备身份信息比如硬件信息、操作系统信息通常不会发生变化;如果发生变化将影响设备的可信度,身份管理将通知设备使用单位确认变化。
(3)归属管理
计算端设备都会归属于某个使用单位,使用单位可以对设备进行管理。
(4)访问管理
计算端之间是否可以相互访问,由访问管理决定。只有使用单位在访问管理中授权,两个计算端之间才可以互相访问。
(5)计算端
使用加密芯片防止边缘设备上的数据被篡改、被复制,保护设备安全。
(6)边缘通信网络
为端到端的通信提供通道。局域网和VPN都可以实现。目前有种新兴应用层隧道通信技术也可以实现边缘通信网络,并且该技术完全在应用层实现,在应用之间建立通信隧道。
4 一种端到端的可信安全通信具体方案
4.1 证书申请
边缘计算使用单位,从证书管理中心申请计算端身份证书,并将证书归属到使用单位名下,同时保存证书公钥的Hash值,在将来计算端身份验证时,计算端和身份验证系统握手时使用。
4.2 证书导入
使用单位线下将计算端身份证书导入计算端,并存入加密芯片中。利用加密芯片的防复制防篡改的特性防止证书被盗用。
4.3 计算端准入认证
计算端准入认证分为三个阶段:握手、注册、绑定。
(1)握手阶段。
步骤一:计算端发起连接,请求与身份管理系统握手。
步骤二:身份管理系统回应一次性不会重复使用的握手密钥给计算端。
步骤三:计算端将证书公钥拼接握手密钥后再Hash为握手响应信息:
hash(证书公钥+握手密钥)=握手响应信息
然后发送公钥Hash及握手响应信息给身份管理系统:
negotiate(Hash(证书公钥)+握手响应信息)
步骤四:身份管理系统使用公钥Hash作为索引获得对应的身份证书,再使用证书公钥拼接握手密钥Hash后与握手响应信息对比:
match(hash(证书公钥+握手密钥),握手响应信息)
如果结果不匹配将拒绝计算端认证。
步骤五:身份管理系统使用证书私钥加密握手密钥产生握手确认信息:
encrypt(证书私钥, 握手密钥) = 握手确认信息
并发送给计算端。
步骤六:计算端使用公钥解密握手确认信息,并与握手密钥对比:
match(decrypt(公钥), 握手密钥)
如果结果不匹配,计算端将拒绝注册。
握手的目的是实现计算端和系统的双向有效性验证,同时防止无效认证及恶意认证的行为。
(2)注册阶段
握手完成后,计算端将加密芯片ID、硬件系统信息、操作系统信息加密发给身份管理系统:
encrypt(公钥,[加密芯片ID,硬件系统信息,操作系统信息])=注册信息
身份管理系统揭秘注册信息并保存。
(3)绑定阶段
由于加密芯片具有防侵入、防篡改、防复制的能力,身份管理系统会将加密芯片ID作为计算端ID与计算端绑定。而计算端通过身份证书与边缘计算使用单位形成绑定管理。在之后的通信中,计算端ID可以当做通信地址使用,使用单位可以通过访问管理系统为抵制添加访问策略及授权。
绑定完成后。使用端位可以在归属管理系统解除绑定关系,这样计算端将无法通信,必须重新获得证书,并在此完成准入认证。准入认证结束后,计算端的可信度得到保证。
4.4 安全通信
端到端的安全通信将完成四个阶段。
(1)访问授权
如果有A端访问B端:
步骤一:A端与访问管理系统之间完成握手,握手的机制与准入认证的握手机制相同。
步骤二:A端加密B端的ID产生访问权限请求信息:
encrypt(A端公钥, B端ID) = 访问权限请求信息
A端发给访问权限请求信息给访问管理系统。
步骤三:访问管理系统解密访问权限请求信息,并查找A端到B端的权限。如未授权,拒绝A端访问B端。
步骤四:如有权限,访问管理系统将产生一次性不会重复使用的握手密钥。并将此握手密钥与A端的ID一起用B端的私有加密發送给B端:
encrypt(B端公钥, [A端ID,握手密钥])
= B端访问握手预备信息
再用A端的私钥加密握手密钥:
encrypt(A端公钥,握手密钥) = A端访问握手预备信息
发送给A端。
步骤五:A端收到A端访问握手预备信息后解密,将A端ID、B端ID、访问握手密钥一起Hash:
hash(A端ID、B端ID、访问握手密钥)=访问握手码
然后将访问握手码发送给B端。B端收到访问握手码后,用从访问管理系统收到的B端访问握手信息里的A端ID、访问握手密钥和B端ID一起进行Hash并与从A端收到的访问握手码比对:
match(hash(A端ID、B端ID、访问握手密钥), 访问握手码)
如果匹配失败,B端拒绝A端访问。如果匹配成功,B端回应访问握手确认码:
hash(B端ID、A端ID、访问握手密钥)= 访问握手确认码
A端收到访问握手确认信息,将本端信息Hash后与之比较:
match(hash(B端ID、A端ID、访问握手密钥), 访问握手确认码)
如果匹配A端将开始与B端建立安全通道,否则A端将中断连接。
(2)二次身份验证
访问握手确认后,A/B端相互交换密钥建立安全通道。
步骤一:A端为此次通信产生一对临时的公钥/私钥,并将临时公钥发送给B端。
步骤二:B端收到A端的临时公钥后,首先也为端为此次通信产生一对临时的公钥/私钥,然后使用A端临时公钥加密访问握手码进行二次身份验证码:
encrypt(A端临时公钥, 访问握手码)=二次身份验证码
并将B端的临时公钥与二次身份验证码发送给A端:
exchange(B端的临时公钥, 二次身份验证码)
步骤三:A端收到B端的临时公钥及二次身份验证码后,首先校对二次身份验证码:
match(decrypt(A端临时私钥, 二次身份验证码),访问握手码)
如果匹配不成功,A端將中断连接。如果匹配成功,A端使用B端临时公钥加密访问握手确认码进行二次身份验证确认:
encrypt(B端临时公钥, 访问握手确认码)=二次身份验证确认码
并将二次身份验证确认码发送给B端。
步骤四:B端收到二次身份验证确认码后,对二次身份验证确认码进行校验:
match(decrypt(B端临时私钥, 二次身份验证确认码),访问握手确认码)
如果不匹配B端将拒绝A端访问,如果匹配B端将与A端进行通信密钥交换。
(3)通信密钥交换
B端产生对称加密密钥,并用A端临时公钥加密:
encrypt(A端临时公钥,对称加密密钥)=通信密钥信息
然后发送给A端。A端收到通信密钥信息后解密并保存。
(4)加密通信
A/B端使用双方交换的对称加密密钥对通信数据进行加密解密。
通信完毕,A/B断开连接,双方清除所有对方信息,等待下一次连接。
4.5 安全性总结
本研究从三个方面提升了边缘计算环境中端到端通信的可信及安全。
(1)设备可信。使用加密芯片可以防止边缘设备上的数据被篡改、被复制。同时设备被替换也很容易被识别出来。使用数字证书可以保证设备认证时的数据真实性及可靠性。数字证书与安全芯片的绑定保证了设备的唯一可用性,这也提升了系统对边缘设备的可信度。
(2)访问可信。使用握手机制,确认端的可信度,防止恶意连接及无效连接,同时避免了潜在的攻击及入侵行为。访问管理,使端到端的访问需要先得到授权才能进行连接,保证访问的有效性,避免恶意访问及未授权访问。二次身份验证,防止计算端在完成访问授权后被劫持,保证计算端的可信性。
(3)通信加密。端到端加密,保证了在整个通信过程中,数据不会泄漏,不会被篡改。
5 结束语
本文提出的方案不仅可以用在端到端的直连场景下,也是物联网中心平台的重要组成部分。在物联网的应用中经常会出现平台级联中心点的场景,而基于本文提出的方法,可以将权限垂直管理,实现数据的扁平化传输,同时减少了系统总线带宽,提高报警推送的实时性,减少由于多媒体流转发需要大量的硬件资源投入。该技术方案已在国内某安全可控物联网平台上部署实施,可复合多种通讯通道,提升通讯能力及可靠性,建立无枢纽无中心(亦即多枢纽多中心),具有自适应、自修复的能力。
余丹 尚志斌