[Blockchain-5]BBARS: Blockchain-Based Anonymous Rewarding Scheme for V2G Networks

一 文章内容


摘要

背景和挑战:

在V2G(Vehicle-to-Grid)网络中,为鼓励BV(Battery-powered vehicle)的参与须要设置必定的奖励机制,可是扩大V2G网络部署会带来 安全隐私问题。html

提出方法:

本文提出一种新概念:BBARS (V2G网络中基于区块链的匿名奖励机制),并给出了正式的 系统模型安全模型,经过两种不一样的PKC(Public key cryptosystem)设计了详细的BBARS机制。web


1 简介

1.1 相关工做

在这里插入图片描述

现有工做的不足:

It is still an open problem to solve the anonymity, unlinkability,untraceability simultaneously安全

1.2 文章贡献

  • 首次提出基于区块链的V2G网络中匿名奖励机制,并给出正式的系统模型和安全模型。并首次考虑CAG(Center Aggregator)的匿名和BV的匿名。
  • 付款方和收款方地址具备 不可连接性(没法创建奖励双方的联系)和 不可追踪性(不可找到付款方的地址)。
  • 使用两种PKC来设计BBARS机制,一种用于聚合签名,一种用于区块链

2 BBARS 机制

2.1 密码方案

(1)ECC 和 双线性对

在这里插入图片描述在这里插入图片描述

(2)Aggregate signature & Ring signature

Aggravated signature

An aggregate signature scheme is a signature scheme which can aggregate many signatures on many distinct messages from many distinct users into one single signature.网络

Ring signature

For a secure ring signature,it is required that only users in the group member list can generate a valid signature and the signatures generated by different members are theoretically indistinguishable.架构


2.2 安全模型

2.2.1 安全目标

  • 1)BV、CAG和LAG间的互相认证
  • 2)BV的匿名性
  • 3)CAG的匿名性
  • 4)不可连接性

2.2.2 Definition-不可伪造性

1) 定义:

  • 拥有 几率多项式时间的敌手A赢得游戏的几率是可 忽略不计的,则称CAG的认证协议知足不可伪造性。

2) 过程:

  • Setup:生成系统参数,CAG生成公/私钥对(PKI),BV生成公/私钥对(By self),将系统参数、CAG的公钥、BV的公钥发送给敌手A;
  • 敌手A和挑战者C的交互:A能够选择性的向挑战者发送信息并获得回应:
    • Hash请求:A向C发送哈希请求,C建立哈希函数值并将其发送给A。或者,C访问哈希函数并用实际的哈希值响应A
    • Authentication请求:A使用不一样的公钥和相应的信息(表示为 C o n t i Cont_i .)发起请求,C建立认证信息 σ j \sigma _j 并返回给A.
  • 伪造:A使用公钥和相应的信息伪造有效认证 C o n t Cont ,A赢得游戏知足
    在这里插入图片描述
    其中p(k)是安全参数k的多项式,A赢得游戏的几率是不可忽略的。

2.3 BBARS架构

系统实体

  • CAG(Center Aggregator)
  • LAG(Local Aggregator)
  • BV(Battery powered vehicle)
  • Blockchain
    在这里插入图片描述

2.4 BBARS系统工做流程

2.4.1 Setup

1)Parameter type 1

  • 用途:Blockchain、Monero
  • E(椭圆曲线)、 F q \mathbb{F} _q (有限域)、 q q (素数)、 G G E ( F q ) E(\mathbb{F} _q) 的生成点/基点)、 l ^ \hat{l} (G的阶)、 F l ^ \mathbb{F}_{\hat{l}} (由参数 l ^ \hat{l} 构成的有限域)
    在这里插入图片描述

2)Parameter type 2

  • 用途:Registration、Receipt、Certificate、Authentication、Revocation
    在这里插入图片描述

2.4.2 Contract-based authorization

C o n t i Cont_i 包含:BV’s status information、reward for the service、service charge standard、payment method、 ( A i , B i ) (A_i,B_i)

  • CAG首先用本身的私钥z和收到的 C o n t i Cont_i 生成签名 σ i = z H ( C o n t i ) \sigma _i =zH(Cont_i)
  • 在Tab表中记录BV的地址 A i , B i (Ai,Bi)
  • CAG将 ( C o n t i , σ i ) (Cont_i,\sigma _i) 发给 B V i BV_i
  • CAG发送更新的Tab表给LAGs

在这里插入图片描述


2.4.3 Anonymous service and receipt

在这里插入图片描述
B V i BV_i 访问 V 2 G V2G 网络而且为电网提供服务,它向 L A G j LAG_j 提供 ( C o n t i , σ i ) (Cont_i,\sigma _i) ,验证过程以下:app

  • L A G j LAG_j 收到大量 ( C o n t i , σ i ) (Cont_i,\sigma _i) 对,其中 i I i \in \mathbb{I}
  • L A G j LAG_j 选区随机数 α i F p \alpha _i \in \mathbb{\mathbb{F}}_p ,验证 e ( i I α i σ i , P ) = e ( i I α i H ( C o n t i ) , Z ) e(\underset{i \in \mathbb{I}}{\sum}\alpha_i \sigma_i,P)=e(\underset{i \in \mathbb{I}}{\sum}\alpha_i H(Cont_i),Z) 不成立则拒绝,不然执行下列步骤
    在这里插入图片描述
  • 对全部 i I i \in \mathbb{I} L A G j LAG_j C o n t i Cont_i 提取出相应公钥 ( A i , B i ) (Ai,Bi) ,判断 ( A i , B i ) (Ai,Bi) 是否属于 T a b Tab 表,成立则接受服务,不然拒绝
  • B V i BV_i 为电网提供了服务, L A G j LAG_j 生成相应的 r e c e i p t receipt
    • B V BV 的服务和相应奖励为信息 m i , j m_i,_j . L A G j LAG_j 计算 σ i , j = l j H ( m i , j , A i , B i ) \sigma _i,_j = l_jH(m_i,_j, Ai, Bi)
    • L A G j LAG_j C A G CAG B V i BV_i 都发送 ( m i , j , A i , B i , σ i , j ) (m_i,_j , Ai, Bi, \sigma _i,_j)

PS: Receipt(BVi): ( m i , j , A i , B i , σ i , j ) (m_i,_j , Ai, Bi, \sigma _i,_j) Certificate(CAG): ( m i , j , A i , B i , σ i , j ) (m_i,_j , Ai, Bi, \sigma _i,_j)


2.4.4 Reward from CAG

在这里插入图片描述,svg

  • C A G CAG 接受到 L A G j LAG_j 发送的 ( m i , j , A i , B i , σ i , j ) (m_i,_j , Ai, Bi, \sigma _i,_j) ,选取随机数 β i , j F p , i I , j J \beta _i,_j \in \mathbb{F}_p,i \in \mathbb{I}, j \in \mathbb{J}
    验证下列等式是否成立:
    在这里插入图片描述
    若是不成立则拒绝,成立则继续
    在这里插入图片描述
  • 对于特定 B V i BV_i C A G CAG 解压接收的消息并提取其地址 ( A i , B i (A_i,B_i) ,选取随机数 r F l ^ r \in \mathbb{F}^*_ {\hat{l}} ,而后计算 B V i BV_i 的一次性公钥(One-Time Public Key) P i ^ = H 1 ( r A i ) G + B i \hat{P_i}=H_1(rA_i)G+B_i
  • CAG能够解压信息 m i , j m_i,_j 获得奖励金额 b a l i , j bal_i,_j ,而后计算总的奖励金额 b a l i = j J b a l i , j bal_i=\underset{j \in \mathbb{J}}{\sum}bal_i,_j C A G CAG 能够从区块链读取总的奖励金额 b a l bal ,所以 C A G CAG 准备了 J + 1 \mathbb{J}+1 个输出:分别为上一步计算的一次性公钥(即地址) P i ^ \hat{P_i} b a l i bal_i 包含 J J 个元素。为了简化,将输出和一些元数据表示为信息 m m ,例如:对于每个 B V i BV_i m m 包含 R R ( P i ^ , b a l i ) (\hat{P_i},bal_i) ,其中 R = r G R=rG
  • CAG用私钥 z z 计算对消息 m m 的签名再哈希 A = H 2 ( S i g n z ( m ) ) A=H_2(Sign_z(m))
  • 最终步骤:
    在这里插入图片描述
    • 经过上述构造,CAG首先计算:
      L i = { q i G i f i = s q i G + w i P i i f i s L_i=\left\{\begin{matrix}q_iG & if & i=s\\ q_iG+w_iP_i & if & i \ne s\end{matrix}\right. R i = { q i H 2 ( P i ) i f i = s q i H 2 ( P i ) + w i I i f i s R_i=\left\{\begin{matrix}q_iH_2(P_i) & if & i=s\\ q_iH_2(P_i)+w_iI & if & i \ne s\end{matrix}\right.
    • 而后计算 c = H 1 ( m , A , L 0 , . . . , L n , R 0 , . . . , R n ) c=H_1(m,A,L_0,...,L_n,R_0,...,R_n) 和下列值:
      c i = { w i i f i s c i s c i i f i = s c_i=\left\{\begin{matrix}w_i & if & i \ne s\\ c-\underset{i \ne s}{\sum}c_i& if & i = s\end{matrix}\right. r i = { q i i f i s q s c s x s i f i = s r_i=\left\{\begin{matrix}q_i & if & i\ne s\\ q_s-c_sx_s & if & i = s\end{matrix}\right.
      最终的签名(环签名)为: σ = ( I , A , c 0 , . . . , c n , r 0 , . . . r n ) \sigma=(I,A,c_0,...,c_n,r_0,...r_n)

奖励 b a l i bal_i 发送到 P i ^ \hat{P_i} , b a l c bal_c 发送到 P c ^ \hat{P_c} (新选定的存储剩余奖金的地址)


2.4.5 Verification and Gain

收到消息 m m 的签名 σ \sigma 后,验证者对签名的有效性进行验证:函数

  • 计算: L i = r i G + c i P i , R i = r i H 2 ( P i ) + c i I L_i'=r_iG+c_iP_i, R_i'=r_iH_2(P_i)+c_iI
  • 验证者检查等式: n i = 0 c i = H 1 ( m , A , L 0 , . . . L n , R 0 , . . . , R n ) m o d    l ^ \sum_{n}^{i=0}c_i=H_1(m,A,L_0',...L_n',R_0',...,R_n') \mod \hat{l} ,成立则继续
  • 验证者检查镜像 I = x s H 2 ( P s ) I=x_sH_2(P_s) 是否在之前的签名中出现过,若是是则拒绝,不然接受 σ \sigma

接受签名 σ \sigma 后, B V i BV_i 获取奖励:区块链

  • 提取消息 m m 中的 R R ( P i ^ , b a l i ) (\hat{P_i},bal_i)
  • 计算 P i = H 1 ( a i R ) G + B i P_i '=H_1(a_iR)G+B_i 并判断 P i ^ = P i \hat{P_i} = P_i' 是否成立,成立则继续
  • B V i BV_i 计算 x i = H 1 ( a i R ) + b i x_i=H_1(a_iR)+b_i ,知足 P i ^ = x i G \hat{P_i}=x_iG ,由于 B V i BV_i 拥有本身的私钥 ( a i , b i ) (a_i,b_i)

3 实验结果

3.1 CAG在Contract-based authorization阶段时间开销和LAG在Anonymous service and receipt阶段时间开销比较

在这里插入图片描述

3.2 CAG在Reward from CAG阶段时间开销(不一样 J \mathbb{J}

在这里插入图片描述

3.3 CAG在Reward from CAG阶段时间开销(不一样 I \mathbb{I}

在这里插入图片描述

3.4 区块链在Verification and Gain阶段时间开销

在这里插入图片描述

相关文章
相关标签/搜索