[發明專利]一種基于區塊鏈的不可否認安全數據傳輸方法有效
| 申請號: | 201910448288.1 | 申請日: | 2019-05-27 |
| 公開(公告)號: | CN110223064B | 公開(公告)日: | 2020-07-28 |
| 發明(設計)人: | 陳興蜀;金泓鍵;蘭曉;張紅霞;曹琪 | 申請(專利權)人: | 四川大學 |
| 主分類號: | G06Q20/38 | 分類號: | G06Q20/38;G06F21/64;H04L9/32;H04L29/06 |
| 代理公司: | 成都禾創知家知識產權代理有限公司 51284 | 代理人: | 裴娟 |
| 地址: | 610065 四川*** | 國省代碼: | 四川;51 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 區塊 不可 否認 安全 數據傳輸 方法 | ||
1.一種基于區塊鏈的不可否認安全數據傳輸方法,其特征在于,在智能合約部署后,發送方不可否認地將文件F發送至接收方,包括以下步驟:
(1)接受方在本地生成一個臨時公私鑰對(sktem,pktem),并將臨時公鑰pktem和自己的區塊鏈賬戶地址AddR通過獨立于區塊鏈的普通信道發送至發送方;
(2)數據發送方收到接收方的臨時公鑰和區塊鏈賬戶地址后,在本地生成對稱加密密鑰k和一個隨機數L,并使用密鑰k對稱加密待發送的文件F得到密文C,另外使用接收方臨時公鑰pktem對密鑰k進行非對稱加密得到Ck;然后發送方使用哈希算法計算H(k),H(C)和H(Ck)得到hk,hC和hCk,隨后計算H(hk)和H(hC)得到hhk和hhC;所有計算完成后,發送方將參數L,hhk,hhC,hCk以及參與雙方賬戶區塊鏈賬戶地址AddS,AddR和接收方臨時公鑰pktem組成初始化參數集合φ:{L,hhk,hhC,hCk,AddS,AddR,pktem},并通過智能合約地址向智能合約發起交易將初始化參數集合φ發送至區塊鏈初始化一個數據傳輸實例然后進入第(3)步;
(3)第(2)步區塊鏈交易確認后,發送方通過智能合約地址向智能合約發起交易發送參數hCk'和L'至區塊鏈,并在交易中附加價值為vS的區塊鏈代幣作為保證金來保證其會在后續過程中公開哈希值hCk'對應數據;智能合約收到交易后驗證交易發起者地址是否為AddS并驗證參數hCk'和L'是否分別與初始化參數集合φ中的hCk和L相同,若驗證通過即hCk'=hCk、L'=L則設置一個時限T1并進入第(4)步;
(4)接收方通過智能合約地址查詢智能合約歷史交易獲取到初始化參數集合φ,并在T1規定的時間內通過智能合約地址向智能合約發起交易將參數hhk',hhC'和L”發送至區塊鏈,同時附加價值為vR的區塊鏈代幣作為保證金;接收方向區塊鏈發送此交易表明其接受第(2)步中的初始化參數集合φ,同時通過保證金來保證其會在后續過程中向智能合約公開哈希值hhk',hhC'對應的原始數據,即密鑰和密文的哈希值;智能合約收到交易后驗證交易發起者地址是否為AddR并驗證參數hhk',hhC'和L”是否與初始化參數集合φ中的hhk,hhC和L相同,若驗證通過即hhk'=hhk、hhC'=hhC、L”=L則設置另一個時限T2并進入第(5)步;
當存在接收方在時限T1內并未上傳合法的參數及保證金至智能合約并通過驗證,則接收方被判定為惡意方,流程結束,智能合約將保證金vS返回給發送方;
(5)發送方監聽到接收方已將保證金發送至智能合約后,立即使用其私鑰對密文哈希值hC進行簽名,隨后將密文C和數字簽名通過獨立于區塊鏈的普通信道發送給接收方;
(6)接受方收到密文C及簽名后計算密文哈希值H(C)得到hC',隨后立即驗證簽名合法性;若簽名驗證通過,接收方在時限T2內通過智能合約地址向智能合約發起交易將參數hC'和L”'發送至區塊鏈;智能合約收到交易后驗證交易發起者地址是否為AddR并判斷L”'值是否與初始化參數集合φ中的L相同,然后計算H(hC')并檢查其結果是否與初始化參數集合φ中的hhC相同,若驗證通過即H(hC')=hhC、L”'=L則設置另一個時限T3并進入第(7)步;
當存在發送方沒有發送密文至接收方或接收方簽名驗證不通過或接收方收到了密文但不上傳密文哈希值,即只要智能合約未能在時限T2內對接收方上傳的hC'參數驗證通過,則智能合約直接返回保證金vS至發送方,vR至接收方,流程結束;
(7)發送方監聽到接收方已向智能合約公開密文哈希值后,在時限T3內通過智能合約地址向智能合約發起交易將參數Ck和L””發送至區塊鏈;智能合約收到交易后首先驗證交易發起者地址是否為AddS并驗證L””值是否與初始化參數集合φ中的L相同,然后使用相同哈希算法計算H(Ck)并檢查其結果是否與初始化參數集合φ中的hCk相同;若驗證通過即H(Ck)=hCk、L””=L則保存Ck并設置另一個時限T4然后進入第(8)步;
當存在智能合約未能在時限T3內收到發送方上傳的合法參數并驗證通過,則智能合約判定發送方為惡意方,返回所有的保證金vS+vR至接收方,流程結束;
(8)接收方通過智能合約地址查詢智能合約歷史交易從區塊鏈中獲取到發送方在第(7)步中上傳的參數Ck,使用其臨時私鑰sktem解密得到密鑰k'同時計算其哈希值H(k')得到hk',并在時限T4內通過智能合約地址向智能合約發起交易將參數hk'和L””'發送至區塊鏈;智能合約收到交易后首先驗證交易發起者地址是否為AddR并確認L””'值是否與初始化參數集合φ中的L相同,若L””'=L則計算H(hk')并檢查其結果是否與初始化參數集合φ中的hhk相同并進行如下操作:
若H(hk')=hhk,智能合約同時向發送方返回其保證金vS,向接收方返回其保證金vR,至此全過程正常結束;
當存在智能合約未能在時限T4內收到接收方上傳的密鑰哈希值hk'和L””'參數,則智能合約直接判定接收方為惡意方,返回所有的保證金vS+vR至發送方,流程結束。
2.如權利要求1所述的一種基于區塊鏈的不可否認安全數據傳輸方法,其特征在于,還包括步驟(9):在步驟(8)中,若H(hk')≠hhk,智能合約保存hk',設置另一個時限T5并進入第(9)步,等待接收方申訴;
(9)若接收方在第(8)步中公開接收到的密鑰哈希值沒有成功兌換回保證金,則接收方可通過在T5規定的時間內通過智能合約地址向智能合約發起交易將私鑰sktem和L″″″發送至區塊鏈進行申訴,收到請求后,智能合約首先確認交易發起者地址為AddR并驗證參數L″″″是否與初始化參數集合φ中的L相同;若驗證通過即L″″″=L,智能合約使用臨時私鑰sktem對第(7)步保存的Ck進行解密得到密鑰k”,然后計算H(k”)得到hk”并驗證hk”與第(8)步保存的hk'是否相同:
·若hk'=hk”,智能合約判定發送方為惡意方,返回所有的保證金vS+vR至接收方,流程結束;
·若hk'≠hk”,智能合約判定接收方為惡意方,返回所有的保證金vS+vR至發送方,流程結束;
當存在智能合約未能在時限T5內收到接收方上傳的臨時私鑰sktem和L″″″參數,則智能合約判定接收方為惡意方,返回所有的保證金vS+vR至發送方,流程結束。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于四川大學,未經四川大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910448288.1/1.html,轉載請聲明來源鉆瓜專利網。





