[發明專利]一種基于可信環境的智能合約保護方法和系統有效
| 申請號: | 201710540117.2 | 申請日: | 2017-07-05 |
| 公開(公告)號: | CN107342858B | 公開(公告)日: | 2019-09-10 |
| 發明(設計)人: | 金海;代煒琦;鄒德清;代春凱 | 申請(專利權)人: | 武漢鳳鏈科技有限公司 |
| 主分類號: | H04L9/08 | 分類號: | H04L9/08;H04L9/32;H04L29/06;G06Q20/38;G06Q20/40 |
| 代理公司: | 武漢臻誠專利代理事務所(普通合伙) 42233 | 代理人: | 宋業斌 |
| 地址: | 430000 湖北省武*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 可信 環境 智能 合約 保護 方法 系統 | ||
技術領域
本發明屬于智能合約安全領域,更具體地,涉及一種基于可信環境的智能合約保護方法和系統。
背景技術
智能合約(Smart Contracts)是一套數字形式定義的承諾,對數字資產進行控制并規定了合約參與者的權利與義務,智能合約由計算機系統自動執行,智能合約的執行過程就是對數據的處理過程。本質上講,智能合約就是使用計算機系統中如果-則(if-then)的方式與真實世界的財產進行交互。雖然智能合約概念提出較早,但是由于缺乏能夠支持智能合約特性的系統或者技術,智能合約的目標難以實現。
區塊鏈(Blockchain)技術因為具有去中心化,交易過程透明且可追蹤等特性被廣泛的應用于金融領域,區塊鏈的出現完美的解決了智能合約實現過程中的障礙。由于區塊鏈具有去中心化,交易記錄不可篡改并且可被追蹤的特性,這些特性就保證了智能合約執行的公正性,并且區塊鏈本身就是一個應用程序,智能合約就能夠與它交互。區塊鏈的出現使得智能合約快速發展,如今智能合約被廣泛應用,并且成為了區塊鏈技術的特性之一。
在區塊鏈執行的智能合約通常包括部署以及執行兩個階段,在部署階段創建者創建智能合約,并將智能合約部署到區塊鏈之上,由于區塊鏈的公開性,部署在區塊鏈上的智能合約對所有人都是可見的。在執行階段,區塊鏈節點獲取要執行的智能合約,之后獲取處理的數據,并通常在類似于虛擬機的環境中讓智能合約對數據進行處理,之后區塊鏈節點對結果共識,將共識結果返回給創建方。
然而,現有的智能合約系統存在以下技術問題:首先,智能合約一旦部署在區塊鏈之上,智能合約就要被公開,這就意味著智能合約能夠被智能合約創建者以外的人看到,但是有些智能合約的創建者不想讓別人看到智能合約的內容,這就涉及到版權問題,非常明顯,當今智能合約系統不能夠保護智能合約版權;其次,智能合約的執行環境類似于虛擬機,不能夠抵抗惡意主機內核級別的信息竊取,意味著惡意攻擊者可以獲取智能合約,通過挖掘智能合約本身代碼存在的漏洞,進而損害智能合約使用者的權益;第三,智能合約在執行之前,需要獲取數據源提供的數據,但是當前執行智能合約的過程中并不能夠對數據源提供的數據進行保護,攻擊者可能將數據源提供的數據緩存到本地或者將數據進行轉發,進而竊取數據源提供的數據。
發明內容
針對現有技術的以上缺陷或改進需求,本發明提供了一種基于可信環境的智能合約保護方法和系統,其目的在于,解決現有智能合約系統中存在的容易出現智能合約信息泄漏而導致無法保護智能合約版權、智能合約使用者權益受損的技術問題,以及容易出現數據泄露而導致數據被竊取的技術問題。
為實現上述目的,按照本發明的一個方面,提供了一種基于可信環境的智能合約保護方法,其是應用在一種智能合約保護系統中,所述智能合約保護系統包括區塊鏈節點、客戶端和數據提供方,其特征在于,所述方法包括以下步驟:
(1)客戶端創建智能合約,并在可信環境下對該智能合約進行哈希運算,使用對稱加密算法對智能合約進行加密處理,并將加密處理后的智能合約部署在區塊鏈上,以獲得智能合約地址。
(2)區塊鏈節點向客戶端發送合約信息獲取請求,客戶端根據該信息獲取請求與區塊鏈節點進行可信環境認證,如果可信環境認證通過則進入步驟(3),否則過程結束。
(3)客戶端在可信環境中使用區塊鏈節點提供的一次性公鑰對步驟(1)中哈希運算的結果、對稱加密智能合約過程使用的密鑰、以及智能合約地址作為合約信息進行非對稱加密,并將加密結果傳送到區塊鏈節點;
(4)區塊鏈節點在可信環境中使用與一次性公鑰對應的一次性私鑰對加密結果進行非對稱解密,并使用非對稱加密算法對解密得到的對稱密鑰以及哈希值進行加密,連同智能合約地址一同存儲在本地合約信息存儲池;
(5)區塊鏈節點從客戶端獲取其需要執行的智能合約地址,根據該智能合約地址獲取區塊鏈中對應的智能合約密文、以及步驟(4)中本地存儲的合約信息,在可信環境中對合約信息進行非對稱解密,以得到哈希運算的結果以及加密智能合約時使用的對稱密鑰,使用該對稱密鑰解密智能合約密文,并對解密后的智能合約進行哈希運算,判斷得到的結果與哈希運算的結果是否一致,如果一致則進入步驟(6),否則過程結束。
(6)區塊鏈節點向數據提供方發送數據獲取請求,數據提供方根據該數據獲取請求與區塊鏈節點進行可信環境認證,如果可信環境認證通過則進入步驟(7),否則過程結束。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于武漢鳳鏈科技有限公司,未經武漢鳳鏈科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710540117.2/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:分組方法及裝置
- 下一篇:一種匿名認證方法及其應用





