TWI717798B - 架構於區塊鏈的密鑰保存方法及檔案分享與存取系統 - Google Patents
架構於區塊鏈的密鑰保存方法及檔案分享與存取系統 Download PDFInfo
- Publication number
- TWI717798B TWI717798B TW108127964A TW108127964A TWI717798B TW I717798 B TWI717798 B TW I717798B TW 108127964 A TW108127964 A TW 108127964A TW 108127964 A TW108127964 A TW 108127964A TW I717798 B TWI717798 B TW I717798B
- Authority
- TW
- Taiwan
- Prior art keywords
- key
- blockchain
- file
- partial
- node
- Prior art date
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
一種架構於區塊鏈的密鑰保存方法,其步驟包含:使用一密鑰對一檔案予以加密為一加密檔案後,分享該加密檔案;將該密鑰切分為複數個部分密鑰;將複數個部分密鑰分別上傳至一區塊鏈的複數節點,各節點將各部分密鑰儲存在其記憶體中;產生一智能合約,該智能合約記錄一密鑰存取歷史紀錄以及一滿足解密條件;以及當把複數個部分密鑰分送至該區塊鏈上複數個節點後,觸發該智能合約動作將該分送的歷程記錄於該密鑰存取歷史紀錄,在該區塊鏈上發佈該智能合約。
Description
本發明涉及一種密鑰保存方法,尤其涉及一種可以用於於檔案分享之密鑰保存方法。
現有技術中,確保檔案分享的秘密性一向是安全傳遞秘密檔案難以克服的問題,現有常見的檔案傳輸或者密鑰傳遞,通常僅透過分別傳輸檔案與用於加密檔案的密鑰,達成保密效果。然而,這種粗糙的保密效果,過度容易被有心人士盜取密鑰與檔案,破解取得秘密資訊,保密效果不佳。
為了解決現有技術檔案分享或密鑰資訊傳遞與取得之保密效果不知的技術問題,本發明提出一種架構於區塊鏈的密鑰保存方法,其步驟包含:使用一密鑰對一檔案予以加密為一加密檔案後,分享該加密檔案;將該密鑰切分為複數個部分密鑰;將複數個部分密鑰分別上傳至一區塊鏈的複數節點,各節點將各部分密鑰儲存在其記憶體中;產生一智能合約,該智能合約記錄一密鑰存取歷史紀錄以及一滿足解密條件;
當把複數個部分密鑰分送至該區塊鏈上複數個節點後,觸發該智能合約動作將該分送的歷程記錄於該密鑰存取歷史紀錄,在該區塊鏈上發佈該智能合約;其中在依據該密鑰存取歷史紀錄從至少部分的複數節點分別下載各部分密鑰的步驟後,將此過程附記在該智能合約的該密鑰存取歷史紀錄。
本發明再提供一種檔案分享與存取系統,其架構於區塊鏈,其包含:複數個區塊鏈節點,每個區塊鏈節點分別接收該伺服器所發送之部分密鑰並予以儲存;及一伺服器,該伺服器用於儲存一檔案並將該檔案以一密鑰予以加密,該伺服器以Shamir’Secret sharing演算法將該密鑰分切為複數個該部分密鑰,其中:該伺服器產生該智能合約記錄該部分密鑰的一存取歷史記錄與一滿足解密條件;及該伺服器接收區塊鏈上的一使用者裝置所發起一下載請求,該區塊鏈之該智能合約檢驗該使用者符合該滿足解密條件後執行該智能合約,該使用者裝置依據該密鑰存取歷史紀錄從至少部分的該複數節點分別下載各部分密鑰,經各節點驗證無誤後執行,在獲得至少部分的複數部分密鑰後將其組合為該密鑰,解開該加密檔案獲得該檔案。
由前述說明可知,本發明之方法與系統,可以有效解決密鑰容易破解的問題,達到更優異的密鑰保存、分享效果。
圖1是本發明較佳實施例的架構示意圖。
圖2是本發明較佳實施例的部分密鑰分享示意圖。
為能詳細瞭解本發明的技術特徵及實用功效,並可依照說明書的內容來實施,進一步以如圖式所示的較佳實施例,詳細說明如下。
本發明是一種架構於區塊鏈的密鑰保存方法,其步驟包含:
STEP A:使用一密鑰對一檔案予以加密為一加密檔案後,分享該加密檔案:請配合參考圖1,一伺服器(SERVER)將內部儲存的該檔案,依據使用者需求選取特定效能的該密鑰予以加密後,產生該加密檔案,該密鑰的種類不限定。
STEP B:將該密鑰切分為複數個部分密鑰:該伺服器以一檔案切割演算法,將該密鑰予以拆分為複數個部分密鑰,本實施例之檔案切割演算法為Shamir’Secret sharing演算法,將密鑰分割成M等份的部分密鑰(KEY SHARE)。
STEP C:將複數個部分密鑰分別上傳至一區塊鏈的複數節點(NODE),各節點將各部分密鑰儲存在其記憶體中:該將M個該部分密鑰上傳分享到區塊鏈中的M個該節點,其中該節點為已對該伺服器完成註冊的節點。
進一步地,各節點註冊時,可對應產生一對專屬的公鑰與私鑰,該伺服器對不同的節點以專用的公鑰予以加密後,再上傳至各節點,如此各節點得以所有的私鑰解密驗證各部分密鑰的檔案完整性、保密性,達到進一步資訊保全的效果。
STEP D:產生一智能合約,該智能合約記錄一密鑰存取歷史紀錄以及一滿足解密條件:該伺服器產生該區塊鏈的智能合約並與以發佈於區塊鏈,其中該智能合約至少必須記錄該密鑰存取歷史記錄以及該滿足解密條件。其中,當把複數個部分密鑰分送至該區塊鏈上複數個該節點後,觸發該智能合
約動作將該分送的歷程記錄於該密鑰存取歷史紀錄,並在該區塊鏈上發佈該智能合約。
該智能合約的啟動時間不限定,可於發送該部分密鑰同時完成,或於發送部分密鑰之前或者之後完成。舉例而言,該智能合約可於部分密鑰分送至區塊鏈上各節點時觸發智能合約動作;又或者也可透過該伺服器於發送部分密鑰之前/之後主動發佈該智能合約於該區塊鏈。
前述所謂的密鑰存取歷史紀錄,可能包含可以追蹤各此一動作記錄著存取動作及歷史記錄,但不直接記錄接收各部分密鑰的各節點資訊,作為未來外部使用者要存取該檔案可以透過智能合約以探尋方式,對區塊鏈上的所有節點提出詢問,間接取得擁有部分密鑰的各節點的回應。
述之該滿足解密條件,包含定義一部分密鑰數量、一時間臨界條件、一請求同意臨界條件、一價錢或代幣臨界條件。
該部分密鑰數量是指使用者取得該智能合約時,必須取得一預設數量(N)的部份密鑰,才得以實施該智能合約,而可用於取得解除密鑰取得該檔案。其中,該預設數量比分切的部分密鑰總數(M)為少。
該時間臨界條件是指使用者取得該智能合約時,必須滿足該時間臨界條件,才得以實施該智能合約,而可用於取得解除密鑰取得該檔案。該時間臨界條件可如一預設日期或一預設時間。
請求同意臨界條件是指使用者取得該智能合約時,必須滿足請求同意臨界條件才得以實施該智能合約,而可用於取得解除密鑰取得該檔案。該請求同意臨界條件可以例如一授權資訊、一授權密碼。
該價錢或代幣臨界條件是指使用者取得該智能合約時,必須滿足該價錢或代幣臨界條件,才得以實施該智能合約,而可用於取得解除密鑰取得該檔案。該價錢或代幣臨界條件可例如提供超過一設定價格之臨界條件、提供
足夠之設定代幣數量之臨界條件,亦即,支出設定價格或設定代幣數量,即可滿足、實施該智能合約。
本發明提供一種檔案分享與存取系統,其架構於區塊鏈,其包含一伺服器及複數個區塊鏈節點,該伺服器用於儲存一檔案並將該檔案以一密鑰予以加密,該伺服器以Shamir’Secret sharing演算法將該密鑰分切為複數個部分密鑰並發送至複數個區塊鏈節點,同時產生該智能合約記錄該部分密鑰的一存取歷史記錄與一滿足解密條件。
該伺服器接收區塊鏈上的一使用者裝置所發起一下載請求,該智能合約檢驗該使用者符合該滿足解密條件後執行該智能合約,該使用者裝置依據該密鑰存取歷史紀錄從至少部分的該複數節點分別下載各部分密鑰,經各節點驗證無誤後執行,在獲得至少部分的複數部分密鑰後將其組合為該密鑰,解開該加密檔案獲得該檔案。其中,在依據該密鑰存取歷史紀錄從至少部分的複數節點分別下載各部分密鑰的步驟後,將此過程附記在該智能合約的該密鑰存取歷史紀錄。
當外部使用者欲存取該檔案時,外部的該使用者裝置於取得該伺服器之同意後,即可發起請求下載部分密鑰。所謂的發起,係需經由區塊鏈上智能合約檢驗是否符合授權條件後,而發起下載請求動作,對各節點請求下載並附記之前存取的歷史訊息交易記錄,區塊鏈上的各節點於完成驗證無誤後,將所擁有的該部分密鑰,以請求使用者之公鑰加密,以確保只有請求使用者才能正確解密下載的部分密鑰。該使用者裝置將所有下載並驗證無誤的部分密鑰,以組合成原檔案用之該密鑰,即可解開該檔案。
以上所述僅為本發明的較佳實施例而已,並非用以限定本發明主張的權利範圍,凡其它未脫離本發明所揭示的精神所完成的等效改變或修飾,均應包括在本發明的申請專利範圍內。
Claims (9)
- 一種架構於區塊鏈的密鑰保存方法,其步驟包含:使用一密鑰對一檔案予以加密為一加密檔案後,分享該加密檔案;將該密鑰切分為複數個部分密鑰;將複數個部分密鑰分別上傳至一區塊鏈的複數節點,各節點將各部分密鑰儲存在其記憶體中;產生一智能合約,該智能合約記錄一密鑰存取歷史紀錄以及一滿足解密條件;以及當把複數個部分密鑰分送至該區塊鏈上複數個節點後,觸發該智能合約動作將該分送的歷程記錄於該密鑰存取歷史紀錄,在該區塊鏈上發佈該智能合約;其中該密鑰存取歷史紀錄包含用於追蹤各動作記錄的存取動作及歷史記錄,但不直接記錄接收該部分密鑰的該節點資訊,於一外部使用者要存取該檔案時,該外部使用者透過該智能合約以探尋方式,對該區塊鏈上的該等所有節點提出詢問,以間接取得擁有該部分密鑰的該節點的回應。
- 如請求項1所述架構於區塊鏈的密鑰保存方法,其中在依據該密鑰存取歷史紀錄從至少部分的複數節點分別下載各部分密鑰的步驟後,將此過程附記在該智能合約的該密鑰存取歷史紀錄。
- 如請求項2所述架構於區塊鏈的密鑰保存方法,各節點註冊一對註冊公鑰與註冊私鑰,其中在將複數個部分密鑰分別上傳至一區塊鏈的複數節點時,使用各註冊公鑰將各部分密鑰加密再上傳至各節點,各節點以各註冊私鑰解密驗證各部分密鑰的檔案完整性。
- 如請求項1至3其中任一項所述的架構於區塊鏈的密鑰保存方法,其中將該密鑰切分為複數部分密鑰之步驟是使用Shamir’Secret sharing演算法。
- 如請求項4所述的架構於區塊鏈的密鑰保存方法,其中該滿足解密條件包含定義一部分密鑰數量、一請求同意臨界條件、一時間臨界條件或一價錢或代幣臨界條件。
- 一種檔案分享與存取系統,其架構於區塊鏈,其包含:複數個區塊鏈節點,每個區塊鏈節點分別接收該伺服器所發送之部分密鑰並予以儲存;及一伺服器,該伺服器用於儲存一檔案並將該檔案以一密鑰予以加密,該伺服器以Shamir’Secret sharing演算法將該密鑰分切為複數個該部分密鑰,其中:該伺服器產生該智能合約記錄該部分密鑰的一存取歷史記錄與一滿足解密條件;及該伺服器接收區塊鏈上的一使用者裝置所發起一下載請求,該區塊鏈之該智能合約檢驗該使用者符合該滿足解密條件後執行該智能合約,該使用者裝置依據該密鑰存取歷史紀錄從至少部分的該複數節點分別下載各部分密鑰,經各節點驗證無誤後執行,在獲得至少部分的複數部分密鑰後將其組合為該密鑰,解開該加密檔案獲得該檔案;其中該部分密鑰的該存取歷史紀錄包含用於追蹤各動作記錄的存取動作及歷史記錄,但不直接記錄接收該部分密鑰的該節點資訊,於一外部使用者要存取該檔案時,該外部使用者透過該智能合約以探尋方式,對該區塊鏈上的該等所有節點提出詢問,以間接取得擁有該部分密鑰的該節點的回應。
- 如請求項6所述的檔案分享與存取系統,在依據該密鑰存取歷史紀錄從至少部分的複數節點分別下載各部分密鑰的步驟後,將此過程附記在該智能合約的該密鑰存取歷史紀錄。
- 如請求項6所述的檔案分享與存取系統,其中該滿足解密條件包含定義一部分密鑰數量、一請求同意臨界條件、一時間臨界條件或一價錢或代幣臨界條件。
- 如請求項6所述的檔案分享與存取系統,其中在將複數個部分密鑰分別上傳至一區塊鏈的複數節點時,各節點註冊一對註冊公鑰與註冊私鑰,使用各註冊公鑰將各部分密鑰加密再上傳至各節點,各節點以各註冊私鑰解密驗證各部分密鑰的檔案完整性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108127964A TWI717798B (zh) | 2019-08-06 | 2019-08-06 | 架構於區塊鏈的密鑰保存方法及檔案分享與存取系統 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108127964A TWI717798B (zh) | 2019-08-06 | 2019-08-06 | 架構於區塊鏈的密鑰保存方法及檔案分享與存取系統 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI717798B true TWI717798B (zh) | 2021-02-01 |
TW202107314A TW202107314A (zh) | 2021-02-16 |
Family
ID=75745449
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108127964A TWI717798B (zh) | 2019-08-06 | 2019-08-06 | 架構於區塊鏈的密鑰保存方法及檔案分享與存取系統 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI717798B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201732700A (zh) * | 2016-02-23 | 2017-09-16 | 恩鏈控股有限公司 | 以令牌化來進行以區塊鏈為基礎的匯兌 |
TW201926203A (zh) * | 2017-11-23 | 2019-07-01 | 香港商阿里巴巴集團服務有限公司 | 資源轉移和資金轉移的方法和裝置 |
US20190238525A1 (en) * | 2018-01-31 | 2019-08-01 | Salesforce.Com, Inc. | Systems, methods, and apparatuses for implementing super community and community sidechains with consent management for distributed ledger technologies in a cloud based computing environment |
-
2019
- 2019-08-06 TW TW108127964A patent/TWI717798B/zh active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201732700A (zh) * | 2016-02-23 | 2017-09-16 | 恩鏈控股有限公司 | 以令牌化來進行以區塊鏈為基礎的匯兌 |
TW201926203A (zh) * | 2017-11-23 | 2019-07-01 | 香港商阿里巴巴集團服務有限公司 | 資源轉移和資金轉移的方法和裝置 |
US20190238525A1 (en) * | 2018-01-31 | 2019-08-01 | Salesforce.Com, Inc. | Systems, methods, and apparatuses for implementing super community and community sidechains with consent management for distributed ledger technologies in a cloud based computing environment |
Non-Patent Citations (4)
Title |
---|
李強;舒展翔;余祥;黃郡,"區塊鏈系統的認證機制研究", 指揮與控制學報,Vol.5,No.1,http://www.jc2.org.cn/fileup/PDF/JCC-CN-201900001.pdf, 2019年3月 * |
李強;舒展翔;余祥;黃郡,"區塊鏈系統的認證機制研究", 指揮與控制學報,Vol.5,No.1,http://www.jc2.org.cn/fileup/PDF/JCC-CN-201900001.pdf, 2019年3月。 |
榮輝桂;莫進俠;常炳國;孫光;龍飛,"基於Shamir秘密共享的密鑰分發與恢復算法",通信學報,Vol.36 No. 3,http://gb.oversea.cnki.net/kcms/detail/d * |
榮輝桂;莫進俠;常炳國;孫光;龍飛,"基於Shamir秘密共享的密鑰分發與恢復算法",通信學報,Vol.36 No. 3,http://gb.oversea.cnki.net/kcms/detail/detailall.aspx?filename=txxb201503007&dbcode=CJFD&dbname=CJFDTEMP,2015年3月。 |
Also Published As
Publication number | Publication date |
---|---|
TW202107314A (zh) | 2021-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109144961B (zh) | 授权文件共享方法及装置 | |
US11032278B2 (en) | System, method and apparatus for generating device identifier | |
CN108259169B (zh) | 一种基于区块链云存储的文件安全分享方法及系统 | |
TWI709314B (zh) | 資料處理方法和裝置 | |
US9424400B1 (en) | Digital rights management system transfer of content and distribution | |
US8997198B1 (en) | Techniques for securing a centralized metadata distributed filesystem | |
CN103440436B (zh) | 访问来自智能存储器的内容的数字版权管理系统和方法 | |
US9847975B2 (en) | Method of provisioning persistent household keys for in-home media content distribution | |
US9716594B2 (en) | Attestation of data sanitization | |
US8091137B2 (en) | Transferring a data object between devices | |
US9721071B2 (en) | Binding of cryptographic content using unique device characteristics with server heuristics | |
CN111199045A (zh) | 信息的安全多方存储和传递的加密私钥管理的方法和系统 | |
US20050076232A1 (en) | Client apparatus and content processing method in client apparatus, and content provision system | |
JP2013514587A (ja) | 証明書失効リストを用いたコンテンツ管理方法 | |
CN115296838B (zh) | 基于区块链的数据共享方法、系统及存储介质 | |
WO2019114098A1 (zh) | 基于区块链的存储系统的下载方法 | |
US20150074399A1 (en) | Persistent household keys for in-home media content distribution | |
TW200820037A (en) | Content control system and method using certificate chains | |
WO2024060820A1 (zh) | 文件加解密方法、系统及电子设备 | |
CN111541731B (zh) | 一种基于区块链和知悉范围加密的电子文件访问控制方法 | |
CN117457133A (zh) | 支持动态访问的去中心化电子病历共享方法及系统 | |
CN117097526A (zh) | 一种基于区块链的数据安全共享方法及装置 | |
KR102501004B1 (ko) | 블록체인 기반의 데이터 관리 방법 및 장치 | |
TWI717798B (zh) | 架構於區塊鏈的密鑰保存方法及檔案分享與存取系統 | |
WO2022227799A1 (zh) | 设备注册方法及装置、计算机设备、存储介质 |