[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階段時間開銷

在這裏插入圖片描述

相關文章
相關標籤/搜索