浙江大学学报(工学版), 2023, 57(1): 144-154 doi: 10.3785/j.issn.1008-973X.2023.01.015

计算机技术、通信工程

基于区块链的车联网矩阵计算安全卸载方案

刘雪娇,, 宋庆武, 夏莹杰,

1. 杭州师范大学 信息科学与技术学院,浙江 杭州 311121

2. 浙江大学 计算机科学与技术学院,浙江 杭州 310027

Secure computation offloading scheme for matrix in Internet of vehicles based on blockchain

LIU Xue-jiao,, SONG Qing-wu, XIA Ying-jie,

1. School of Information Science and Technology, Hangzhou Normal University, Hangzhou 311121, China

2. College of Computer Science and Technology, Zhejiang University, Hangzhou 310027, China

通讯作者: 夏莹杰,男,副教授. orcid.org/0000-0002-4642-2503. E-mail: xiayingjie@zju.edu.cn

收稿日期: 2022-04-13  

基金资助: 国家自然科学基金资助项目(61873232);浙江省自然科学基金资助项目(LY19F020021);2022年浙江省大学生科技创新活动计划(新苗人才计划)资助项目(2022R426B067)

Received: 2022-04-13  

Fund supported: 国家自然科学基金资助项目(61873232);浙江省自然科学基金资助项目(LY19F020021);2022年浙江省大学生科技创新活动计划(新苗人才计划)资助项目(2022R426B067)

作者简介 About authors

刘雪娇(1984—),女,副教授,从事车联网安全的研究.orcid.org/0000-0003-1821-2864.E-mail:liuxuejiao0406@163.com , E-mail:liuxuejiao0406@163.com

摘要

为了保护任务数据的机密性,验证计算结果的正确性,提出基于区块链的车联网矩阵计算安全卸载方案. 该方案利用编写在区块链上的智能合约自动执行计算结果验证过程,保证验证过程的安全性和结果的不可篡改. 方案提出的基于矩阵加法的轻量级矩阵加密方法,简化了矩阵计算卸载加解密的复杂度. 通过与现有方案比较可知,本文方案能够在有效保护车辆的敏感信息的同时,实现对矩阵计算结果正确性的验证. 利用所构建的矩阵加密方法,能够有效地降低车辆侧矩阵加解密的计算开销.

关键词: 车辆边缘计算 ; 安全计算卸载 ; 区块链 ; 矩阵乘法 ; 车联网

Abstract

A secure computation offloading scheme for matrix in the Internet of Vehicle based on blockchain was proposed in order to protect the confidentiality of the task data and verify the correctness of the computation results. The smart contract was used based on blockchain to automatically execute the verification process of the computation results, which can ensure the security of the verification process and the tamper resistance of the verification result. A lightweight matrix encryption method was proposed based on matrix addition, which can simplify the complexity of encryption and decryption in matrix computation offloading. The proposed scheme can effectively protect the sensitive information of the vehicle and verify the correctness of the matrix computation results compared with the existing schemes. The computing overhead of encryption and decryption on the vehicle side can be effectively reduced by the matrix encryption method.

Keywords: vehicular edge computing ; secure computation offloading ; blockchain ; matrix multiplication ; Internet of Vehicle

PDF (1383KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

刘雪娇, 宋庆武, 夏莹杰. 基于区块链的车联网矩阵计算安全卸载方案. 浙江大学学报(工学版)[J], 2023, 57(1): 144-154 doi:10.3785/j.issn.1008-973X.2023.01.015

LIU Xue-jiao, SONG Qing-wu, XIA Ying-jie. Secure computation offloading scheme for matrix in Internet of vehicles based on blockchain. Journal of Zhejiang University(Engineering Science)[J], 2023, 57(1): 144-154 doi:10.3785/j.issn.1008-973X.2023.01.015

近年来,越来越多的研究学者结合移动边缘计算(mobile edge computing, MEC)与车联网,提出车辆边缘计算(vehicular edge computing, VEC)[1]框架,利用部署在网络边缘的MEC服务器解决车辆对计算资源的需求,减轻云计算带来的高时延负担. VEC框架被广泛应用在自动驾驶[2]、增强现实和车载游戏[3]等车载应用中. 在边缘计算环境中,将计算任务卸载给边缘设备的同时,带来了各种安全和隐私问题[4]. 车辆卸载的计算任务中可能包含一些敏感信息,例如车辆的位置和行驶轨迹,恶意节点窃取原始数据会导致信息泄露. 利用完全同态加密(fully homomorphic encryption, FHE)方法可以对任意函数进行基于密文的计算,然而目前现有的FHE方案存在大量的取模和幂运算[5],难以在实际场景中应用[6-7].

由于MEC服务器处在开放式的网络环境,恶意节点可能会攻击MEC服务器,造成MEC服务器计算结果出错[8-9]. Zhang等[10-11]利用第三方服务器,对计算结果的正确性进行验证,但存在验证者与计算方合谋攻击和被恶意攻击造成验证出错的问题. 区块链技术具有去中心化、防篡改和公开透明的特性,可以在分布式环境中实现无可信第三方的交易认证与信息记录[12],保障车辆卸载的任务数据在传输、存储及计算过程中的安全性. 结合区块链和VEC框架,可以为车联网环境下的安全威胁提供新的解决方案[13]. 综上所述,车联网在边缘计算中,如何轻量级、安全地卸载计算任务,保护任务机密性和车辆隐私,如何安全、可靠地验证计算结果的正确性,成为目前亟待解决的研究问题.

矩阵乘法计算(matrix multiplication computation, MMC)作为科学和工程领域的基本计算,大量存在于车联网的应用服务中. 例如基于深度学习的车辆入侵检测[14]在进行模型的训练时,卷积神经网络使用通用矩阵乘法卷积将产生大量的大规模矩阵乘法运算[15]. 本文以典型的矩阵乘法计算卸载为例,设计基于区块链的车联网矩阵计算安全卸载方案,采用提出的矩阵加密方法能够更加快速地实现矩阵加解密过程,利用区块链上的智能合约自动执行对MEC计算结果的验证.

1. 相关工作

1.1. 车辆边缘计算

近年来,VEC这种新的网络模式被引入到车联网中,以增强车联网的计算能力. VEC旨在将通信、计算和缓存资源转移到车辆用户附近,以此来满足新兴的车载应用对通信和计算资源日益突出的需求. VEC是处理车联网中大量延迟敏感型和计算密集型应用的有效技术手段[16-18]之一.

为了缩短车联网虚拟现实(virtual reality, VR)应用程序的完成时间,Zhou等[16]利用MEC服务器,提出用于VR的并行计算和传输的协作方法. 他们将任务分为2个子任务,使得任务可以在MEC服务器和车辆上同时单独处理. Mourad等[17]考虑到未来人工智能驱动的自动驾驶车辆使用的入侵检测程序产生的大量计算任务,避免集中式云服务带来的高延时,提出基于VEC的雾检测方案. 该方案将入侵检测任务卸载到任务附近的车辆节点上进行计算,使用遗传算法最大化卸载生存能力,最小化计算执行时间和能耗. 自动驾驶的实现依赖大量的传感器数据,但资源有限的车辆端往往没有足够的计算能力来处理数据. 为了解决该问题,Cui等[18]结合MEC服务器和云服务器,设计分布式激光雷达即时定位与地图构建算法,实现任务在车辆、MEC服务器和云服务器上协同计算. 由于MEC服务器处在开放式的网络环境中,恶意节点可能通过攻击MEC服务器,使得服务器计算结果错误. 若车辆使用错误的计算结果指导自身行为,则将误导车辆,危害车辆驾驶安全,因此验证MEC服务器计算结果的正确性是十分重要的.

1.2. 区块链在车联网中的应用

区块链因去中心化和不可篡改的特征,可以为计算卸载提供分布式的事务系统,解决资源分配不均和单点故障、恶意攻击等安全问题,被广泛应用在车联网研究中[19-21].

为了解决车联网计算卸载中因节点之间的不合作或者恶意攻击造成的资源共享不可信、不透明的问题,Wang等[19]设计多步骤智能合约,实现安全计算资源共享框架,将参与者的行为记录上链,防止参与者的自私行为,利用智能合约来激励车辆共享计算资源. Liao等[20]考虑到车辆和计算节点在激励机制下存在的抵赖攻击和欺骗攻击,设计基于区块链和智能合约的安全任务卸载方案,通过在卸载前收取双方的数字货币,利用智能合约对恶意行为进行惩罚,在保护计算数据隐私的同时,实现了公平的计算卸载. 为了解决MEC服务器中存在不公平或有偏差的资源分配问题,Islam等[21]提出基于区块链的管理架构,以提高边缘计算资源管理的透明度,通过智能合约自动化执行,减少人为干预.

1.3. 基于智能合约的结果正确性验证

智能合约作为在区块链上自动执行的程序,具有正确性、透明性和不可变性,利用智能合约代替传统的物理设备作为验证过程的可信第三方,可以避免单点故障造成的验证错误[22-24].

Avizheh等[22]针对多服务器计算卸载框架下的结果可以验证存在的复制攻击(copy attack),使用智能合约作为第三方验证者,提高验证过程的安全性,基于智能合约编写有效抵御攻击的协议扩展,实现双服务器下的计算结果安全验证. 为了解决激励机制下自私节点的搭便车行为造成的不公平问题,Dorsala等[23]使用智能合约进行验证并支付,保证诚实的工人可以获得奖励,同时惩罚恶意工人. Dong等[24]研究2个云服务器同时计算同一任务时,为了使云服务器不会相互勾结,利用智能合约促使云服务器之间相互背叛和不信任,使得每个云都能够更加理智和诚实地工作. 通过交叉检查,验证云计算结果的正确性. 基于复制的多服务器方案与基于证明的单服务器方案相比,要占用更多的服务器带宽和计算资源.

1.4. 矩阵计算加密保护方法

由于矩阵乘法计算通常涉及到大型矩阵和巨大的计算资源,将其卸载给云或者MEC服务器进行计算可以减轻车辆的计算负担. 原始矩阵中可能包含客户端的敏感信息,为了防止敏感信息泄露,目前提出很多矩阵计算加密保护的方法[6-7,10,25-28].

为了保护统计分析和机器学习中输入矩阵的机密性,Mishra等[6]利用基于环的同态加密,将矩阵转化为多项式,将多项式加密,实现安全的矩阵乘法. Jiang等[7]利用同态密文压缩对矩阵进行编码,在实现单个密文加密多个矩阵的同时,仅需要时间复杂度为 $ \mathcal{O}({{d}}) $的同态运算,就可以计算 $d \times d$的加密矩阵乘积. Salianas等[25-26]使用相同的矩阵变化算法,利用有限域中的随机数生成附加向量,与原始矩阵相加来保证任务委托计算时矩阵的机密性. Kong等[27]利用相似变换定理,利用克罗内克 $\delta $函数(Kronecker delta function)和原始矩阵生成的可逆矩阵,与原始矩阵相乘来加密. 这种加密方式不能保护矩阵零元素数量的隐私,为了解决该问题,Fu等[28]利用附加随机矩阵的方式来盲化原始输入矩阵,提高了矩阵加密的安全性. 同态加密是计算密集型操作,现有的基于同态的加密方法在大规模密文计算时存在大量的取模和幂运算,即使对于云服务器来说也非常昂贵[25],难以应用于车载服务. 现有的基于可逆矩阵和随机矩阵的加密方法的附加矩阵生成过程完全随机,加解密的预处理开销较大.

2. 预备知识

2.1. 双线性对

$ {{G}}_{1}、{{G}}_{2} $${{G}_{{T}}}$是3个相同阶为大素数 $p$的乘法循环群,若满足以下条件,则称 ${{e}}:{{G}_1} \times {{G}_2} \to {{G}_T}$是双线性映射.

1) 双线性:对于任意 $ \alpha 、\beta \in {{Z}_p},g \in {{G}_1} $$h \in {{G}_2}$,有 $e\left( {{g^\alpha },{h^\beta }} \right) = e{(g,h)^{\alpha \beta }}$.

2) 非退化性:对于任意 $g \in {{G}_1}$,若任意 $h \in {{G}_2}$,使得方程 $ e(g,h)={1}^{\text{ }} $,则 $g = 1$ (在交换位置的情况下也是真的).

3) 可计算性:对于所有 $g \in {{G}_1}$$h \in {{G}_2}$$e(g,h)$都是可以高效计算的.

2.2. 矩阵摘要技术

矩阵摘要[26]是由矩阵与所选参数一起生成的向量. 对于矩阵 ${\boldsymbol{A}}{(m \times n 维)} \in {{Z}}$,有 ${\boldsymbol{A}} = [{{\boldsymbol{a}}_1},{{\boldsymbol{a}}_2}, \cdots , {{\boldsymbol{a}}_n}]$,其中 ${{\boldsymbol{a}}_i} \in {{Z}}$是列向量. 对于矩阵 ${\boldsymbol{A}} \in {{Z}}$和向量 ${\boldsymbol{p}} = [ {{p_1}, \cdots ,{p_m}} ] \in {{Z}}$${\boldsymbol{A}}$的矩阵摘要 $\hat{\boldsymbol{m}}$可以表示为

矩阵摘要有以下3个属性特征.

1) 确定性:给定一个矩阵,矩阵摘要仅由确定的参数,即向量 ${\boldsymbol{p}}$确定.

2) 可计算性:得到的矩阵摘要本质上是向量,它具有向量的所有性质,可以应用于向量的运算.

3) 不可逆性:矩阵摘要的计算是单向映射,即使同时给出矩阵摘要和参数,也无法得到原矩阵.

2.3. 计算不可区分

如果2个概率总体 $ X={\left\{{X}_{s}\right\}}_{s\in \bf{N}}和Y={\left\{{Y}_{s}\right\}}_{s\in \bf{N}} $是计算不可区分[25]的,那么可以表示为:若对于每一个概率多项式时间的区分器 $D$,都存在可忽略函数 ${\text{negl}}$,可得

标记 $D\left( {{X_s}} \right)$表示 $x$的选取符合分布 ${X_s}$,然后运行 $D\left( x \right)$. 若区分器 $D$可以确定 $x$是根据分布 ${X_s}$选择的,则返回1.

该表示法可以扩展到区分器 $D$访问向量X和向量Y的多个样本,即区分2个矩阵[25].

定义1 设 ${\boldsymbol{R}} \in {{\bf{R}}^{m \times n}}$是随机矩阵,第j列中的元素从区间 $\left[ { - {R_j},{R_j}} \right]\left( {j \in \left[ {1,n} \right]} \right)$均匀分布中采样,如果矩阵 ${\boldsymbol{R}}$${\boldsymbol{Q}} \in {{\bf{R}}^{m \times n}}$是计算不可区分的,那么可以表示为:对于每一个概率多项式时间的区分器 $D$,都存在可忽略函数 ${\text{negl}}$,使得

式中: $i \in \left[ {1,m} \right],j \in \left[ {1,n} \right]$${r_{i,j}}$${q_{i,j}}$分别为矩阵 ${\boldsymbol{R}}$${\boldsymbol{Q}}$的第i行、第j列的元素. 若区分器 $D$确定输入是区间 $\left[ { - {R_j},{R_j}} \right]$内的均匀分布,则返回1.

2.4. 困难问题假设

$ {{G}}_{1}、{{G}}_{2} $${{G}_{{T}}}$是3个相同阶为大素数 $p$的乘法循环群,存在双线性映射 ${{e}}:{{G}_1} \times {{G}_2} \to {{G}_T}$.

co-CDH问题:给定 $ g、{g^\alpha } \in {{G}_1} $$h、{h^\beta } \in {{G}_2}$$ \alpha 、\beta { \in }{F}_p^ * $,计算 ${g^{\alpha \beta }}$.

困难问题假设:给定 $ g、{g^\alpha } \in {{G}_1} $$h、{h^\beta } \in {{G}_2}$,对于任何随机 $ \alpha 、\beta \in {F}_p^ * $,如果计算得到 ${g^{\alpha \beta }}$的概率是可以忽略的,则称co-CDH问题在 ${{G}_1}$上是成立的.

3. 模型设计

3.1. 车联网矩阵计算卸载模型

图1所示,为了描述车联网环境中移动车辆卸载矩阵计算的任务过程,本文方案中包含4个实体:移动车辆、路侧单元(road side unit, RSU)、可信机构(trusted authority, TA)和MEC服务器.

图 1

图 1   矩阵计算卸载模型

Fig.1   System model of matrix computation offloading


车辆:车辆提交卸载任务,通过直连无线网络(dedicated short range communications, DSRC)与RSU通讯,将计算任务卸载到MEC服务器.

RSU:RSU配备有MEC服务器,通过有线连接与MEC和可信机构进行通信,RSU同时配有无线设备,可以和覆盖区域内的车辆交换数据.

MEC服务器:MEC服务器部署在网络边缘,为多个RSU提供丰富的计算资源,在本文方案中,MEC服务器会积极地执行任务,但可能因为自私或者恶意攻击提交错误结果.

可信机构:TA负责系统的初始化和生成公钥,也负责验证标签的产生和分发. 在本文方案中,所有的TA组成了区块链,负责智能合约的运行和公钥、验证密钥等数据上链.

3.2. 设计目标

在车联网矩阵计算卸载模型中,MEC服务器可能由于恶意节点劫持网络数据流或者攻击造成MEC服务器计算结果是不可靠的. 开放式的网络环境可能泄露矩阵数据中的敏感信息,破坏数据机密性. 本文方案必须满足以下安全目标.

1) 数据的机密性:车联网和MEC开放式的网络环境使得信息容易被窃听和篡改,因此需要保证该方案在整个网络环境中数据的机密性.

2) 计算的正确性:车辆矩阵乘法计算任务可以卸载到MEC服务器,车辆应该能够验证结果的正确性,获得正确的计算结果.

3) 结果的不可伪造性:车辆可以验证MEC服务器的计算结果,应该能够验证结果是不可伪造的.

4. 车联网矩阵计算卸载方案

基于区块链技术实现了去中心化的矩阵乘法计算结果可验证方案,针对车辆网中数据机密性的需求,设计矩阵加密方法来实现矩阵计算的安全卸载. 如图2所示,主要分为以下6个阶段:系统初始化、公钥和验证标签生成、矩阵加密和验证密钥生成、矩阵计算、验证结果正确性、结果解密.

图 2

图 2   矩阵计算卸载的流程

Fig.2   Process of matrix computation offloading


4.1. 系统初始化

在初始化阶段,TA首先运行 ${\text{Setup}}\left( {{1^\lambda }} \right)$算法,生成系统参数.

${\text{Setup}}\left( {{1^\lambda }} \right)$算法:TA输入安全参数 $\lambda $,输出公开参数 ${\rm{PP}} = \left\{ {p,{{G}_1},{{G}_2},{{G}_T},g,h,\tilde h} \right\}$,其中 ${{G}_1}、{{G}_2}$为2个相同大素数 $p$阶的循环群. 这2个循环群满足双线性映射 $e:{{G}_1} \times {{G}_2} \to {{G}_T}$$ g、h $分别为循环群 $ {{G}}_{1}和{{G}}_{2} $中的2个生成元, $\delta \in {F}_p^{\text{*}}$. 计算 $\tilde h = {h^\delta }$,TA发布公开参数 ${\rm{PP}}$.

4.2. 公钥和验证标签生成

在该阶段,TA运行 ${\text{KeyGen}}\left( F \right)$算法,生成公钥和评估密钥.

车辆在行驶过程中,可能因为车载应用程序的运行,产生大量的大矩阵乘法计算任务. 车辆选择卸载这些计算任务给MEC服务器,将计算任务抽象为矩阵乘法函数 ${\boldsymbol{Y}} = {F} \left( {\boldsymbol{X}} \right) = {\boldsymbol{M}} \times {\boldsymbol{X}}$,函数包含公开矩阵 ${\boldsymbol{M}}$(m×n维)和车辆输入的原始矩阵 ${\boldsymbol{X}}$(n×s维). 其中 $ {\boldsymbol{M}} \in {{Z}_p},{\boldsymbol{X}} \in {{Z}_p} $,表示矩阵 ${\boldsymbol{M}}$和矩阵 ${\boldsymbol{X}}$中的元素取自集合 $ {{Z}_p} $.

${\text{KeyGen}}\left( F \right)$算法:TA在收到车辆发送的公开矩阵 ${\boldsymbol{M}}$后,随机生成2个向量 ${\boldsymbol{Q}}\;(1 \times m \;维) \in {Z}{_p^{{{*}}}}$$ {\boldsymbol{R}}(1 \; \times \; n \; 维) \in {Z}{_p^{*}} $,计算 $ \;\;{\rm{P}}{{\rm{K}}_1} = \left\{ {{g^{{q_1}}}, \cdots ,{g^{{q_m}}}} \right\} $${{\rm{PK}}_2} = \left\{ {{\rm{PK}}_{21}}, \cdots , {{\rm{PK}}_{2n}}\right\},$ $ \text{ }{{\rm{PK}}}_{2k}= e\left({g}^{{r}_{k}},h\right) $ $(k \in \left[ {1,n} \right])$.

TA计算 $\hat{\boldsymbol{m}} = {\boldsymbol{Q}} \times {\boldsymbol{M}} = \left[ {{m_1}, \cdots ,{m_n}} \right]$${t_k} = {g^{\delta {m_k}+{r_k}}}$,生成系统公钥 ${\rm{PK}}$和验证标签 $T$

$ {\rm{PK}} = \left\{ {{{\rm{PK}}_1},{{\rm{PK}}_2}} \right\}\,, $

$ T = \left\{ {{t_1},{t_2}, \cdots ,{t_n}} \right\}\,. $

使用矩阵摘要[26]技术,不需要遍历矩阵 ${\boldsymbol{M}}$中的所有元素来计算传统方案中的辅助矩阵,只需要计算验证标签 $T$,因此可以将计算复杂度从 $\mathcal{O}\left( {{{mn}}} \right)$降低到 $\mathcal{O}\left( {{n}} \right)$. TA将验证标签发送给MEC服务器,MEC利用 $T$生成计算结果正确性的承诺.

4.3. 矩阵加密和验证密钥生成

该阶段由车辆端执行 ${\text{ProbGen}}\left( {{\boldsymbol{X}},{{\rm{PK}}_2}} \right)$算法,生成加密矩阵和验证密钥.

${\text{ProbGen}}\left( {{\boldsymbol{X}},{{\rm{PK}}_2}} \right)$算法:车辆在将原始输入矩阵发送给MEC服务器之前,为了保护矩阵中的隐私信息,车辆使用矩阵加密方法加密矩阵 ${\boldsymbol{X}}$,将加密输入矩阵 ${\boldsymbol{\hat X}}$通过RSU发送给MEC服务器. 详细步骤如下所示.

算法1 MMCEnc算法

1:  输入:原始输入矩阵 ${\boldsymbol{X}}$

2: 输出:加密矩阵 ${\boldsymbol{\hat X}}、{\boldsymbol{U}}、{\boldsymbol{V}}$.

3: 随机生成参数 $\alpha $$\;\beta $,其中 $\alpha \in \left[ {1,s} \right]$$\;\beta \in \left[ {1,n} \right]$. 随机从 ${Z}_p^{\text{*}}$中选择一个元素 $\varphi $.

4: //借助矩阵 ${\boldsymbol{X}}$生成2个用于加解密的附加向量 ${\boldsymbol{U}}(n \times 1 维) \in {{Z}_p}$$ {\boldsymbol{V}(1 \times s 维)}\in {{Z}}_{p}$.

5: for k = 1,2,…,n do

6:   $ {u}_{k} ={x}_{k,\alpha } $;

7: end for

8: for j = 1,2,…,s do

9:   $v_{j}={x}_{\beta ,j}+\varphi$;

10: end for

11: //利用向量 ${{{\boldsymbol{U}}、{\boldsymbol{V}}}}$,车辆计算 ${{\hat {\boldsymbol{X}}}} = {\boldsymbol{X}}+{\boldsymbol{UV}}$, 加密原始矩阵

12: fork = 1,2,…,n do

13:  for j = 1,2,…,s do

14:    ${\hat x_{k,j}} = {x_{k,j}}+{u_k}{v_j}$;

15:  end for

16: end for

17: Final

车辆利用可信机构TA发布的公钥 ${\rm{PK}}_2$${{\hat {\boldsymbol{X}}}}$元素计算 ${{\rm{VK}}_j} = \displaystyle\mathop \prod \limits_{k = 1}^n {\rm{PK}}_{2k}^{{{\hat x}_{k,j}}}$,得到公开验证密钥:

$ {\rm{VK}} = \left\{ {{{\rm{VK}}_1},{{\rm{VK}}_2}, \cdots ,{{\rm{VK}}_s}} \right\}\,. $

${\rm{VK}}$发送给部署在区块链上的智能合约,智能合约结合 ${\rm{VK}}$来验证结果的正确性.

4.4. 矩阵计算

该阶段由MEC服务器执行 ${\text{Compute}}\left( {{{\hat{\boldsymbol{ X}}}},T} \right)$算法,对矩阵进行乘法计算.

${\text{Compute}}\left( {{{\hat {\boldsymbol{X}}}},T} \right)$算法:MEC服务器在收到由RSU发送的矩阵 ${{\hat {\boldsymbol{X}}}}$后,结合验证标签 $T$,利用自身的计算资源来计算结果 ${{\hat {\boldsymbol{Y}}}} = {{{\boldsymbol{M}}\hat {\boldsymbol{X}}}}$,将结果发送给车辆.

为了承诺计算结果是正确的,MEC服务器计算 ${\pi _j} = \displaystyle \prod \nolimits_{k = 1}^n t_k^{{{\hat x}_{k,j}}}$,生成结果正确性承诺:

$ \pi = \left\{ {{\pi _1},{\pi _2}, \cdots ,{\pi _s}} \right\}\,. $

MEC将计算结果和正确性承诺 $\pi $一起发送给链上的智能合约.

4.5. 验证结果正确性

该阶段由智能合约执行 ${\text{Verify}}\left( {{{\hat {\boldsymbol{Y}}}},\pi ,{{\rm{PK}}_1}} \right)$算法对结果进行验证.

${\text{Verify}}\left( {{{\hat {\boldsymbol{Y}}}},\pi ,{{\rm{PK}}_1}} \right)$算法:可信机构TA与车辆、MEC服务器的智能合约执行条件为:TA公布公钥 ${\rm{PK}}$,车辆提交验证密钥 ${\rm{VK}}$和MEC服务器提交结果正确性承诺 $\pi $.

采用Zhang等[26]提出的公开可验证方法,结合区块链技术,利用编写在区块链上的智能合约来验证计算结果的正确性,在 $j \in \left[ {1,s} \right]$的条件下验证下式是否成立:

$ e\left( {{\pi _j},h} \right)\mathop = \limits^? e\left( {\mathop \prod \limits_{i = 1}^m {{\left( {{{\rm{PK}}_{1i}}} \right)}^{{{\hat y}_{i,j}}}},\tilde h} \right) {{\rm{VK}}_j}\,. $

$s$个方程都成立,则验证通过,否则验证失败. 智能合约将验证结果发布并记录在区块链上.

4.6. 结果解密

该阶段由车辆端执行 ${\text{Solve}}\left( {{{\hat {\boldsymbol{Y}}}},{\boldsymbol{U}},{\boldsymbol{V}}} \right)$算法.

${\text{Solve}}\left( {{{\hat {\boldsymbol{Y}}}},{\boldsymbol{U}},{\boldsymbol{V}}} \right)$算法:车辆在收到MEC服务器计算结果 ${{\hat {\boldsymbol{Y}}}}$后,查询区块链上记录的验证结果. 若验证结果为错误,则车辆直接丢弃收到的 ${{\hat {\boldsymbol{Y}}}}$;否则将接受服务器发送的计算结果并执行算法2: $ {\boldsymbol{Y}}=\hat{{\boldsymbol{Y}}}-\left({\boldsymbol{MU}}\right){\boldsymbol{V}}  $,得到公开矩阵 ${\boldsymbol{M}}$和私有矩阵 ${\boldsymbol{X}}$相乘的最终结果 ${\boldsymbol{Y}}$.

算法2 MMCDec算法.

1: Input:加密的结果 ${{\hat {\boldsymbol{Y}}}}$

2: Output:正确结果 ${\boldsymbol{Y}}$.

3: //借助算法1生成的2个向量 ${{{\boldsymbol{U}}、{\boldsymbol{V}}}}$,车辆执行解密运算: $ {\boldsymbol{Y}}=\hat{{\boldsymbol{Y}}}-\left({\boldsymbol{MU}}\right){\boldsymbol{V}}  $.

4: for i = 1,2,…,m do

5:  for k = 1,2,…,n do

6:    $M_{\rm{u}}=M_{\rm{u}}+{{{M}}}_{i,k} {u}_{k}$;

7:  end for

8:  for j = 1,2,…,s do

9:    ${y_{i,j}} = {\hat y_{i,j}} - M_{\rm{u}} {v_j}$;

10:  end for

11: end for

12: Final

5. 实验与分析

5.1. 方案正确性分析

5.1.1. 验证阶段

在验证阶段,主要是由智能合约在 $j \in \left[ {1,s} \right]$ 时验证等式 $ e\left(\pi_j, h\right) \stackrel{?}{=} e\left( \displaystyle \prod_{i=1}^m\left({\rm{P K}}_{1 i}\right)^{\hat{y}_{i, j}}, \tilde{h}\right) \times {\rm{V K}}_j $是否成立,推导过程如下.

1)方案中存在如下推导:

利用算法KenGen和Compute,可以得到 ${\hat{\boldsymbol{m}}} = {\boldsymbol{Q}} \times {\boldsymbol{M}}$,推导出 $ \displaystyle\sum \nolimits_{k=1}^n m_k \hat{x}_{k, j}=\displaystyle \sum \nolimits_{i=1}^m q_i \hat{y}_{i, j}$$j \in \left[ {1,s} \right]$时是成立的.

2)验证下式成立:

因此,本文的验证方案是正确的.

5.1.2. 解密阶段

在解密阶段,车辆查询智能合约验证结果. 若通过验证,则车辆需要解密出矩阵乘法计算的结果.

根据算法ProbGen和Compute,可得

若本文方案能够被正确执行,则车辆解密得到的结果 ${\boldsymbol{Y}}$是矩阵卸载任务的正确结果.

5.2. 方法安全性分析
5.2.1. 矩阵加密方法

将矩阵计算任务卸载到MEC服务器之前,车辆需要对原始数据执行计算,保护数据中的隐私信息. 算法需要车辆少量的计算工作,允许MEC服务器返回有意义的结果. 设计基于矩阵加法的轻量级矩阵加密方法,该加密具有计算不可区分性,即概率多项式时间算法无法区分加密后的矩阵和概率不可忽略的随机矩阵.

根据算法1 可知,矩阵加密可以描述为: ${{\hat {\boldsymbol{A}} = {\boldsymbol{A}}+{\boldsymbol{UV}}}}$. 假设矩阵 ${\boldsymbol{A}}$中元素的值在 $\left[ { - K,K} \right]$内, $ {\boldsymbol{Z}}={\boldsymbol{UV }}$,其中 $K = {2^l}(l > 0)$是正常数. ${\boldsymbol{U}}(m \times 1维) \in {{Z}}$随机取自矩阵 ${\boldsymbol{A}}$的任意行向量,概率密度函数为

向量 ${\boldsymbol{V}}(1 \times n维) \in {{Z}}$是随机正常数向量,取值为 ${2^l} \leqslant {v_j} \leqslant {2^{l+p}}\left( {p > 0} \right)$. 矩阵Z中的元素 ${z_{i,j}} = {u_i}{v_j} ( i \in \left[ {1,m} \right], j \in \left[ {1,n} \right] )$是2个随机向量的乘积,因此 ${z_{i,j}}$是随机变量,概率密度函数定义为

式中: ${L_j} = K{v_j},j \in \left[ {1,n} \right]$,取值为 $\left[ {{2^{2l}},{2^{2l+p}}} \right]$. 最终可得关于矩阵 ${{\hat {\boldsymbol{A}}}}$和任意一个列中元素值是均匀分布的矩阵之间计算不可区分的定理.

定理1 设矩阵 ${\boldsymbol{R}}$是随机矩阵,第j列的元素从区间为 $\left[ { - {L_j},{L_j}} \right] (j \in \left[ {1,n} \right])$的均匀分布中随机取出,矩阵 ${\boldsymbol{R}}$${{\hat {\boldsymbol{A}}}}$在计算上是不可区分的.

证明 根据定义1,为了证明矩阵 ${\boldsymbol{R}}$${{\hat {\boldsymbol{A}}}}$在计算上不可区分,需要证明 ${r_{i,j}}、{\hat a_{i,j}}( i \in \left[ {1,m} \right], j \in \left[ {1,n} \right])$是不可区分的.

矩阵 ${\boldsymbol{R}}$${\boldsymbol{A}}$中元素的值分别在区间 $\left[ { - {L_j},{L_j}} \right]$$\left[ { - K,K} \right]$内,因此,可以得到 ${r_{i,j}}、{\hat a_{i,j}} \in \left[ { - {2^\kappa },{2^\kappa }} \right]$,其中 $ \text{ }\kappa =2l+p+1 $. 当给出样本 $x = {\hat a_{i,j}}$时,区分器 $D$的最佳策略如下:若 $ - {L_j} \leqslant x \leqslant {L_j}$,则以相等的概率返回 $b \leftarrow \left\{ {0,1} \right\}$;若 $x < - {L_j}$或者 $x > {L_j}$,则返回1. 当 $x = {\hat a_{i,j}}$时,区分器 $D$的成功概率由下式给出:

式中:

同理可得 ${\text{Pr}}\left[ {\hat a < - {L_j}} \right] \leqslant {K}/{{(2{L_j})}}$.$x = {\hat a_{i,j}}$时,区分器 $D$成功的概率为 ${\text{Pr}}\left[ {D\left( {{{\hat a}_{i,j}} = 1} \right)} \right] \leqslant {1}/{2}+{K}/{{(2{L_j})}}$.$x = {r_{i,j}}$,则可以算出 ${\text{Pr}}\left[ {D\left( {{r_{i,j}}} \right) = 1} \right] = {1}/{2}$. 根据计算不可区别的定义可知,对于任意 $ i \in \left[ {1,m} \right], j \in \left[ {1,n} \right] $,有

可得

这是可以忽略的函数,证明结束.

5.2.2. 方案整体安全性

定理2  在随机预言机模型下,如果敌手A以不可忽略的概率攻破本方案,那么挑战者B以不可忽略的优势解决co-CDH问题.

证明 假设存在敌手A,他能够以不可忽略的优势 $\varepsilon $攻破本文方案. 下面证明 co-CDH 假设可以被敌手B以不可忽略的概率 $\varepsilon '$攻破,其中 $\varepsilon ' \approx \varepsilon $.

为了攻破co-CDH假设,敌手B调用预言机 ${O_{{\text{co-CDH}}}}$生成 $ g、{g^\alpha } \in {{G}_1} $, $h、{h^\beta } \in {{G}_2}$. 敌手B模仿敌手A,完成完整的实验.

敌手B选择 $\alpha 、\beta \in {{F}_p}^{\text{*}}$,计算 $g' = {g^\alpha },h' = {\left( {{h^\beta }} \right)^\delta }$,设置公开参数 ${\rm{pp}}' = \left\{ {p,{{G}_1},{{G}_2},{{G}_T},e,g',h,h'} \right\}$.

随机生成验证标签 ${{T}}'\in {G}_1$.$1 \leqslant k \leqslant n$,敌手B计算

式中: ${\rm{PK}}'_{1i} = {{g'}^{{s_i}}}\left( {i \in [1,m]} \right)$.

定义 ${{\rm{PK}}}'_{1}=\{{{\rm{PK}}}'_{11},\cdots ,{{\rm{PK}}}'_{1m}\}$${\rm{PK}}'_2 = \{{{ {\rm{PK}}'}_{21}}, \cdots , {{{\rm{PK}}'}_{2n}}\}$,设置验证标签 ${{T'}}$. 敌手 B 实现了公钥 ${\rm{PK}}'_2$、公共参数 ${\rm{pp}}'$和相应的验证标签 ${{T'}}$. 预言机 ${O_{{\rm{KeyGen}}}}$的输出与算法 ${\text{KeyGen}}$的输出分布在统计上没有区别.

1) 对于输入私有矩阵 ${\boldsymbol{\hat X}}$和结果矩阵 ${{\hat {\boldsymbol{Y}}}} = {{{\boldsymbol{M}}\hat {\boldsymbol{X}}}}$的每一列,公钥 ${\rm{PK}}'_2$使得以下 m 个方程成立:

式中:

2) 验证标签 ${{T'}}$和公钥 ${\rm{PK}}' = \left\{ {{\rm{PK}}'_1,{\rm{PK}}'_2} \right\}$的统计分布,分别与 $T$和公钥 ${\rm{PK}} = \left\{ {{{\rm{PK}}_1},{{\rm{PK}}_2}} \right\}$的分布相同.

敌手A用输入 $\left\{ {{{\hat {\boldsymbol{X}}}},{\rm{PK}}'_2} \right\}$查询预言机 ${O_{{\text{ProGen}}}}$,敌手B模仿预言机 ${O_{{\text{ProGen}}}}$并以 $\left\{ {{{\hat {\boldsymbol{X}}}},{\rm{VK}}'} \right\}$作为输出,其中 ${\rm{VK}}' = \{ {{\rm{VK}}'_1}, \cdots ,{{\rm{VK}}'_m} \}$.

敌手A返回假结果 $\left( {{{{{\hat {\boldsymbol{Y}}}}}^{\text{*}}},\pi } \right)$${{{\hat {\boldsymbol{Y}}}}^{\text{*}}} \ne {{{\boldsymbol{M}}\hat {\boldsymbol{X}}}}$. 敌手B验证 ${{{\hat {\boldsymbol{Y}}}}^{\text{*}}} = {{\hat {\boldsymbol{Y}}}}$是否成立(这里认为 ${{\hat {\boldsymbol{Y}}}} = {{{\boldsymbol{M}}\hat {\boldsymbol{X}}}}$). 若结果通过验证,则说明敌手B失败;否则返回以下结果,攻破co-CDH假设. 将矩阵 ${{\hat {\boldsymbol{Y}}}}$和矩阵 ${{{\hat {\boldsymbol{Y}}}}^{\text{*}}}$的第j列分别定义为 $ {{{\hat {\boldsymbol{y}}}}_j} $${{\hat {\boldsymbol{y}}}}_j^{\text{*}}$.

敌手B可以计算得到 ${g^{\alpha \beta }}$,在co-CDH假设下,已知 $ g、{g^\alpha } \in {{G}_1} $$h、{h^\beta } \in {{G}_2}$,能够计算得到 ${g^{\alpha \beta }}$的概率是可以忽略的,所以敌手A攻破该方案的概率是可以忽略的,假设不成立,证明结束.

给出结果的详细推导过程. 若假结果 $\left( {{{{{\hat {\boldsymbol{Y}}}}}^{\text{*}}},\pi } \right)$通过验证,则表明以下s个等式成立:

根据 ${\rm{PK}}'_2$的计算公式,可得

根据以上2个等式,可得

${\boldsymbol{Q}}\left( {{{{{\hat {\boldsymbol{y}}}}}_{{j}}}{{ - {\hat{\boldsymbol{y}}}}}_{{j}}^{\text{*}}} \right) \ne {{0}}$,因为 $\delta \ne 0\left( {\delta \in {F}_p^{\text{*}}} \right)$,可得

5.3. 方案性能分析
5.3.1. 理论分析

在本文方案的执行过程中,车辆侧需要执行ProbGen和Solve 2个阶段,而这2个阶段的核心是矩阵加密和解密算法,即算法1和算法2. 从算法1可知,车辆计算了2个向量 ${\boldsymbol{U}}、{\boldsymbol{V}}$,该方法的加密时间复杂度为 $ \mathcal{{\boldsymbol{O}}}\left( {{{m}}+{{n}}+{{mn}}} \right) $. 从算法2可知,车辆侧仅需要计算 ${{{\boldsymbol{Y}} = \hat {\boldsymbol{Y}}}} - \left( {{\boldsymbol{MU}}} \right){\boldsymbol{V}}$,因此时间复杂度为 $\mathcal{{\boldsymbol{O}}}\left( {{{mn}}} \right)$.

表1所示为本文方案与其他矩阵乘法计算卸载方案在不同方面的比较.

表 1   与其他矩阵乘法计算卸载方案的比较

Tab.1  Comparison with other computing offloading schemes of matrix multiplication

方法 加密时间 解密时间 验证方式 客户端验
证开销
文献[27]方法 $ \mathcal{{{O}}}\left( {{{m}}+2{{{m}}^2}} \right) $ $ \mathcal{{{O}}}\left( {{{ms}}} \right) $ 客户端 $ \mathcal{{{O}}}\left( {{{kms}}} \right) $
文献[28]方法 $\begin{gathered} \mathcal{O} (m+2n+s+ \\ 2 (mn+ns))\end{gathered}$ $\mathcal{{{O}}}\left( {{{mn}}+4{{ms}}+{{ns}}} \right)$ 客户端 $ \mathcal{{{O}}}\left( {{{kms}}} \right) $
文献[29]方法 $\begin{gathered} \mathcal{O} ( {m}^2+{n}^2+ {s}^2 + \\ 3( mn+ns) )\end{gathered}$ $\mathcal{{{O}}}\left( {{{mn}}+2{{ms}}+{{ns}}} \right)$ 客户端 $\mathcal{{{O}}}\left( {{{kms}}} \right)$
文献[10]方法 $\mathcal{{{O}}}\left( {{{s}}+{{ns}}} \right)$ $\mathcal{{{O}}}\left( {\dfrac{1}{2}{{mn}}+\dfrac{3}{2}{{ms}}} \right)$ 第三方
服务器
0
本文方法 $\mathcal{{{O}}}\left( {{{n}}+{{s}}+{{ns}}} \right)$ $\mathcal{{{O}}}\left( {{{mn}}+{{ms}}} \right)$ 智能合约 $ \mathcal{{{O}}}\left( 1 \right) $

新窗口打开| 下载CSV


表1可以看出,基于矩阵乘法的加密方式[27,29]在加密阶段时间复杂度很高,在车联网环境下,可能存在单个RSU域无法完成的情况,不适用于要求高动态、低延时的车联网环境. 文献[28]方法与本文方法相比,虽然使用基于矩阵加法的加密方式,但该方法在附加矩阵的生成过程中需要执行2次向量乘法,时间复杂度较高. 客户端在加密阶段需要额外存储随机向量和变换函数[10],在多任务卸载时会占用大量的存储空间. 分析解密时间开销可以看出,相比于文献[2829]方案,本文方法的时间复杂度有明显优势. 单次循环内需要执行多次乘法和除法运算[27],实际使用时会带来很高的时间开销. 在验证方式上,本文使用智能合约执行自动化验证,与文献[27~29]相比,可以降低车辆侧的计算负担;与文献[10]相比,本文仅需一次链上查询的时间开销.

表2所示为本文方案与其他方案的安全性对比. 表中,“√”表示满足要求,“×”表示不满足要求,Pv为验证出错概率. 本文方案在验证方式上支持公开可验证,基于矩阵加法的矩阵加密方法能够更好地保护矩阵零元素,基于智能合约的验证能够更好地抵抗合谋和抵赖攻击,追责造成计算结果错误的节点.

表 2   与其他方案的安全性对比

Tab.2  Comparison of security properties across schemes

方法 公开可
验证
零元素
保护
抗合谋
攻击
抗抵赖
攻击
可追责性 Pv
文献[27]方法 × × × × ${1 /{{2^{{k}}}}}$
文献[28]方法 × × × ${1 /{{2^{{k}}}}}$
文献[29]方法 × × × ${1 /{{2^{{k}}}}}$
文献[10]方法 × × $ {1 / {{2^{n+m}}}} $
本文方法 $ {1/{{2^{2n+m}}}} $

新窗口打开| 下载CSV


在验证过程的数据隐私方面,Kong等[27-29]使用的验证方式需要借助原始输入矩阵和解密后的计算结果进行验证,无法保护矩阵的数据隐私性. Kong等[27]在加密阶段仅使用可逆矩阵进行加密,不能保护原始矩阵中的零元素. 传统利用第三方服务器对结果正确性验证的方案存在验证者和计算方合谋攻击的可能,恶意车辆可能声称没有收到计算结果或结果错误,造成抵赖攻击. Kong等[27-29]均使用客户端自行验证的方式对计算结果的正确性进行验证,虽然能够阻止合谋攻击,但无法阻止抵赖攻击. Zhang等[10]利用第三方服务器验证不能抵抗合谋攻击,本文使用智能合约代替第三方服务器,可以在区块链上自动化执行结果验证,能够同时抵抗合谋攻击和抵赖攻击,实现对恶意节点的链上追责. 在验证出错概率上,本文依赖矩阵维数(m,n),相比于该概率由验证次数k(20≤k≤80)决定[27-29],在大矩阵乘法中,有更高的安全性.

5.3.2. 实验分析

本文实验采用Java的配对密码库(JPBC)实现所有对比方案的加解密过程,为车辆侧配置Intel i5-4590 @3.30 GHz处理器和10 GB内存,为MEC服务器配置Intel Xeon Silver 4210 @ 2.20 GHz处理器和60 GB内存.

为了展示本文加解密方法和智能合约验证的效率,与文献[27~29]进行对比. 分别设置4组实验,其中mns=4꞉5꞉6,在100~4 800中选取11个值,下文所有实验结果图中每个点的数据是100次实验的平均值.

加解密及结果验证开销的实验结果如图3~5所示. 图中,Tv为时间开销. 可以看出,相比于其他3种方法,本文设计的方法,不论是加解密还是验证阶段,本文方法在车辆侧计算开销较小.

图 3

图 3   矩阵加密计算开销(mns = 4 ꞉ 5 ꞉ 6)

Fig.3   Computing overhead of matrix encryption (m: n: s = 4 ꞉ 5 ꞉ 6)


图 4

图 4   矩阵解密的计算开销(mns = 4 ꞉ 5 ꞉ 6)

Fig.4   Computing overhead of matrix decryption (mns = 4 ꞉ 5 ꞉ 6)


图 5

图 5   结果验证计算开销(mns = 4 ꞉ 5 ꞉ 6)

Fig.5   Computing overhead of result verification (mns = 4 ꞉ 5 ꞉ 6)


在加密阶段,文献[28]方法和本文方法使用矩阵加法对原始矩阵进行加密,与文献[27, 29]方案使用可逆矩阵乘法相比,大大降低了加密阶段的复杂度. 例如,自动驾驶车辆在利用3D传感器实现增强现实时[30],每秒会产生超过60张1 280×720像素的图片. 从图3可知,当n = 1200时,文献[27, 29]方法分别平均需要13.849和18.607 s,本文的矩阵加密方法将加密时间减少到0.844 s,加密时间开销明显降低. 即使在一些图片像素为4 096×2160的车联网场景中,当n = 4 800时,文献[27, 29]方法分别平均需要261.225和410.265 s,本文方法仅需9.790 s,能够更好地满足车联网对低时延的需求.

图4所示,在结果解密阶段,本文方法在结果解密时只需要执行2次向量乘法,平均需要1368.2 ms即可完成n = 1200的矩阵解密任务,文献[27~29]方法分别平均需要5.816、4.662和9.509 s来完成相同的任务. 进一步的,当n = 4800时,文献[27~29]方法的完成时间增加到102.381、125.436和159.853 s,本文方法仅需要15.623 s完成解密,优势更加明显.

计算结果验证阶段的计算开销如图5所示. 本文使用智能合约代替客户端对结果进行验证,开销较小,只产生一次链上查询的时间开销,车辆侧时间开销是恒定的,不会随着矩阵增大而变大. 当n = 4800时,文献[27]方法的车辆侧开销为14.028 s,而本文方法平均仅需0.598 s,车辆侧的结果验证开销明显降低.

选择车联网深度学习和3D传感器采集的点云图像[30]中常见的维度为n(300≤n≤1000)的矩阵,将方案整体计算开销与车辆本地计算开销进行对比,体现本文方案的有效性. 方案整体计算开销包含车辆侧加解密开销、车辆验证计算结果开销、MEC计算和通信过程构成的其他开销,结果如图6所示. 可以看出,本文方案的整体时间开销在各个矩阵维度下,均少于车辆本地计算的时间开销. 当n = 1 000时,本地计算的时间开销为86.8 s,而本文方法仅需39.8 s,减少了约1.36倍,车辆处理矩阵乘法计算的时间开销明显降低. 在面对车联网中大矩阵计算的需求时,本文方案不仅可以降低车辆的计算负担,还能够更好地满足矩阵计算任务的时延需求.

图 6

图 6   与车辆本地计算开销的对比(mns = 4 ꞉ 5 ꞉ 6)

Fig.6   Comparison with vehicle local computation overhead (mns = 4 ꞉ 5 ꞉ 6)


6. 结 语

针对VEC框架下,矩阵计算卸载存在计算结果错误、数据隐私泄露的问题,本文设计基于区块链的可验证的矩阵乘法计算卸载方案,在提供对边缘服务器计算结果验证的同时,能够提供计算卸载输入输出数据的隐私保护. 利用智能合约技术,实现验证过程链上进行,保证验证过程安全可靠. 性能分析表明,与现有方案相比,本文方案在矩阵加解密阶段的车辆侧计算开销明显降低.

下一步,将考虑减少边缘服务器侧的计算开销,优化整个方案的计算开销,提高服务器的并行效率,考虑在多服务器上进行更加通用的计算卸载.

参考文献

李智勇, 王琦, 陈一凡, 等

车辆边缘计算环境下任务卸载研究综述

[J]. 计算机学报, 2021, 44 (5): 963- 982

DOI:10.11897/SP.J.1016.2021.00963      [本文引用: 1]

LI Zhi-yong, WANG Qi, CHEN Yi-fan, et al

A survey on task offloading research in vehicular edge computing

[J]. Chinese Journal of Computers, 2021, 44 (5): 963- 982

DOI:10.11897/SP.J.1016.2021.00963      [本文引用: 1]

DAI H, ZENG X Y, YU Z L, et al

A scheduling algorithm for autonomous driving tasks on mobile edge computing servers

[J]. Journal of Systems Architecture, 2019, 94: 14- 23

DOI:10.1016/j.sysarc.2019.02.004      [本文引用: 1]

HU L, TIAN Y W, YANG J, et al

Ready player one: UAV-clustering-based multi-task offloading for vehicular VR/AR gaming

[J]. IEEE Network, 2019, 33 (3): 42- 48

DOI:10.1109/MNET.2019.1800357      [本文引用: 1]

赵梓铭, 刘芳, 蔡志平, 等

边缘计算: 平台、应用与挑战

[J]. 计算机研究与发展, 2018, 55 (2): 327- 337

DOI:10.7544/issn1000-1239.2018.20170228      [本文引用: 1]

ZHAO Zi-ming, LIU Fang, CAI Zhi-ping, et al

Edge computing: platforms, applications and challenges

[J]. Journal of Computer Research and Development, 2018, 55 (2): 327- 337

DOI:10.7544/issn1000-1239.2018.20170228      [本文引用: 1]

GENNARO R, GENTRY C, PARNO B. Non-interactive verifiable computing: outsourcing computation to untrusted workers [C]// Annual Cryptology Conference. Berlin: Springer, 2010: 465-482.

[本文引用: 1]

MISHRA P K, RATHEE D, DUONG D H, et al

Fast secure matrix multiplications over ring-based homomorphic encryption

[J]. Information Security Journal: A Global Perspective, 2020, 30 (4): 219- 234

[本文引用: 3]

JIANG X Q, KIM M, LAUTER K, et al. Secure outsourced matrix computation and application to neural networks [C]// Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security. New York: ACM, 2018: 1209-1222.

[本文引用: 3]

OLIVA G, CIOABA S, HADJICOSTIS C N

Distributed calculation of edge-disjoint spanning trees for robustifying distributed algorithms against man-in-the-middle attacks

[J]. IEEE Transactions on Control of Network Systems, 2017, 5 (4): 1646- 1656

[本文引用: 1]

ABBAS N, ZHANG Y, TAHERKORDI A, et al

Mobile edge computing: a survey

[J]. IEEE Internet of Things Journal, 2017, 5 (1): 450- 465

[本文引用: 1]

ZHANG S M, LI H W, DAI Y S, et al. EPP-DMM: an efficient and privacy-protected delegation scheme for matrix multiplication [C]// IEEE Global Communications Conference. Piscataway: IEEE, 2017: 1-6.

[本文引用: 7]

ZHANG S M, LI H W, DAI Y S, et al

Verifiable outsourcing computation for matrix multiplication with improved efficiency and applicability

[J]. IEEE Internet of Things Journal, 2018, 5 (6): 5076- 5088

DOI:10.1109/JIOT.2018.2867113      [本文引用: 1]

王晨旭, 程加成, 桑新欣, 等

区块链数据隐私保护: 研究现状与展望

[J]. 计算机研究与发展, 2021, 58 (10): 2099- 2119

DOI:10.7544/issn1000-1239.2021.20210804      [本文引用: 1]

WANG Chen-xu, CHENG Jia-cheng, SANG Xin-xin, et al

Data privacy-preserving for blockchain: state of the art and trends

[J]. Journal of Computer Research and Development, 2021, 58 (10): 2099- 2119

DOI:10.7544/issn1000-1239.2021.20210804      [本文引用: 1]

MOLLAH M B, ZHAO J, NIYATO D, et al

Blockchain for the internet of vehicles towards intelligent transportation systems: a survey

[J]. IEEE Internet of Things Journal, 2020, 8 (6): 4157- 4185

[本文引用: 1]

俞建业, 戚湧, 王宝茁

基于Spark的车联网分布式组合深度学习入侵检测方法

[J]. 计算机科学, 2021, 48 (Supple.1): 518- 523

DOI:10.11896/jsjkx.200700129      [本文引用: 1]

YU Jian-ye, QI Yong, WANG Bao-zhuo

Distributed combination deep learning intrusion detection method for Internet of vehicles based on spark

[J]. Computer Science, 2021, 48 (Supple.1): 518- 523

DOI:10.11896/jsjkx.200700129      [本文引用: 1]

VASUDEVAN A, ANDERSON A, GREGG D. Parallel multi channel convolution using general matrix multiplication [C]// 28th IEEE International Conference on Application-Specific Systems, Architectures and Processors. Piscataway: IEEE, 2017: 19-24.

[本文引用: 1]

ZHOU J, WU F, ZHANG K, et al. Joint optimization of offloading and resource allocation in vehicular networks with mobile edge computing [C]// 10th International Conference on Wireless Communications and Signal Processing. Piscataway: IEEE, 2018: 1-6.

[本文引用: 2]

MOURAD A, TOUT H, WAHAB O A, et al

Ad Hoc vehicular fog enabling cooperative low-latency intrusion detection

[J]. IEEE Internet of Things Journal, 2020, 8 (2): 829- 843

[本文引用: 1]

CUI M Y, ZHONG S P, LI B Y, et al

Offloading autonomous driving services via edge computing

[J]. IEEE Internet of Things Journal, 2020, 7 (10): 10535- 10547

DOI:10.1109/JIOT.2020.3001218      [本文引用: 2]

WANG S M, YE D D, HUANG X M, et al

Consortium blockchain for secure resource sharing in vehicular edge computing: a contract-based approach

[J]. IEEE Transactions on Network Science and Engineering, 2020, 8 (2): 1189- 1201

[本文引用: 2]

LIAO H J, MU Y S, ZHOU Z Y, et al

Blockchain and learning-based secure and intelligent task offloading for vehicular fog computing

[J]. IEEE Transactions on Intelligent Transportation Systems, 2021, 22 (7): 4051- 4063

DOI:10.1109/TITS.2020.3007770      [本文引用: 1]

ISLAM S, BADSHA S, SENGUPTA S, et al

Blockchain-enabled intelligent vehicular edge computing

[J]. IEEE Network, 2021, 35 (3): 125- 131

DOI:10.1109/MNET.011.2000554      [本文引用: 2]

AVIZHEH S, NABI M, SAFAVI R, et al. Verifiable computation using smart contracts [C]// Proceedings of the 2019 ACM SIGSAC Conference on Cloud Computing Security Workshop. New York: ACM, 2019: 17-28.

[本文引用: 2]

DORSALA M R, SASTRY V N, CHAPRAM S

Fair payments for verifiable cloud services using smart contracts

[J]. Computers and Security, 2020, 90: 101712

DOI:10.1016/j.cose.2019.101712      [本文引用: 1]

DONG C Y, WANG Y L, ALDWEESH A, et al. Betrayal, distrust, and rationality: smart counter-collusion contracts for verifiable cloud computing [C]// Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security. New York: ACM, 2017: 211-227.

[本文引用: 2]

SALINAS S, LUO C Q, CHEN X H, et al. Efficient secure outsourcing of large-scale linear systems of equations [C]// IEEE Conference on Computer Communications. Piscataway: IEEE, 2015: 1035-1043.

[本文引用: 5]

ZHANG X Y, JIANG T, LI K C, et al

New publicly verifiable computation for batch matrix multiplication

[J]. Information Sciences, 2019, 479: 664- 678

DOI:10.1016/j.ins.2017.11.063      [本文引用: 4]

KONG S, CAI Y, XUE F, et al

Cloud outsourcing computing security protocol of matrix multiplication computation based on similarity transformation

[J]. International Journal of Wireless and Mobile Computing, 2018, 14 (1): 90- 96

DOI:10.1504/IJWMC.2018.089984      [本文引用: 17]

FU S J, YU Y P, XU M. A secure algorithm for outsourcing matrix multiplication computation in the cloud [C]// Proceedings of the 5th ACM International Workshop on Security in Cloud Computing. New York: ACM, 2017: 27-33.

[本文引用: 7]

WU Y, LIAO Y J, LIANG Y K, et al

Secure and efficient protocol for outsourcing large-scale matrix multiplication to the cloud

[J]. IEEE Access, 2020, 8: 227556- 227565

DOI:10.1109/ACCESS.2020.3045999      [本文引用: 14]

QIU H, AHAMD F, BAI F, et al. AVR: augmented vehicular reality [C]// Proceedings of the 16th Annual International Conference on Mobile Systems, Applications and Services. New York: ACM, 2018: 81-95.

[本文引用: 2]

/