本發(fā)明實施例涉及區(qū)塊鏈技術領域,特別是涉及一種區(qū)塊鏈私鑰的保護方法、裝置及系統(tǒng)。
背景技術:
區(qū)塊鏈是用于記錄互聯(lián)網上的交易或其他數據,是一種按照時間順序將數據區(qū)塊以順序相連的方式組合成的一種鏈式數據結構,并以密碼學方式保證的不可篡改和不可偽造的分布式數字賬本。區(qū)塊鏈技術是利用塊鏈式數據結構來驗證與存儲數據、利用分布式節(jié)點共識算法來生成和更新數據、利用密碼學的方式保證數據傳輸和訪問的安全、利用由自動化腳本代碼組成的智能合約來編程和操作數據的一種全新的分布式基礎架構與計算范式。
區(qū)塊鏈主要用于解決交易的信任和安全問題,用到非對稱加密和授權技術,存儲在區(qū)塊鏈上的交易信息是公開的,但是賬戶身份信息是高度加密的,只有在數據擁有者(即區(qū)塊鏈用戶)授權的情況下才能訪問到,從而保證了數據的安全和個人的隱私。但是,現(xiàn)有技術中,區(qū)塊鏈的私鑰由區(qū)塊鏈用戶自己保存,可能由于用戶保管不當,導致自己的私鑰丟失或者被忘記,如果私鑰丟失將可能導致財產的損失,而忘記私鑰則將導致用戶無法進入自己的賬戶進行相應的合法交易,從而降低了用戶信息及區(qū)塊鏈的安全性。
因此,如何提供一種解決上述技術問題的區(qū)塊鏈私鑰的保護方法、裝置及系統(tǒng)成為本領域技術人員目前需要解決的問題。
技術實現(xiàn)要素:
本發(fā)明實施例的目的是提供一種區(qū)塊鏈私鑰的保護方法、裝置及系統(tǒng),在使用過程中可以防止私鑰的丟失,并在一定程度上提高了區(qū)塊鏈及用戶賬戶的安全性。
為解決上述技術問題,本發(fā)明實施例提供了一種區(qū)塊鏈私鑰的保護方法,包括:
獲取原始交易區(qū)塊;
將用戶輸入的私鑰隱藏至所述原始交易區(qū)塊頭部的字段中,得到隱藏信息后的交易區(qū)塊;
將所述隱藏信息后的交易區(qū)塊鏈接在區(qū)塊鏈上;
獲取用戶的提取指令;
依據所述提取指令從所述區(qū)塊鏈上的交易區(qū)塊中提取出所述私鑰。
可選的,所述將用戶輸入的私鑰隱藏至所述原始交易區(qū)塊頭部的字段中,得到隱藏信息后的交易區(qū)塊的過程具體為:
對用戶輸入的私鑰進行預處理,得到處理后的私鑰;
將所述處理后的私鑰嵌入至所述原始交易區(qū)塊頭部的字段中,得到隱藏信息后的交易區(qū)塊。
可選的,所述對用戶輸入的私鑰進行預處理的過程具體為:
采用加密算法對用戶的私鑰進行預處理。
可選的,所述加密算法為rsa對稱加密算法。
可選的,所述將所述處理后的私鑰嵌入至所述原始交易區(qū)塊頭部的字段中的過程具體為:
采用基于小波變換的隱藏信息算法將所述處理后的私鑰嵌入至所述原始交易區(qū)塊頭部的字段中。
可選的,如上述所述的區(qū)塊鏈私鑰的保護方法,所述依據所述提取指令從所述區(qū)塊鏈上的交易區(qū)塊中提取出所述私鑰的過程具體為:
依據所述提取指令從所述區(qū)塊鏈中找到所述交易區(qū)塊;
對所述交易區(qū)塊中的信息進行檢測,得到秘密信息;
將所述秘密信息進行解密得到并提取出所述私鑰。
可選的,所述字段為隨機數、哈希值或時間戳。
為解決上述技術問題,本發(fā)明實施例提供了一種區(qū)塊鏈私鑰的保護裝置,包括:
獲取模塊,用于獲取原始交易區(qū)塊;還用于獲取用戶的提取指令;
隱藏模塊,用于將用戶輸入的私鑰隱藏至所述原始交易區(qū)塊頭部的字段中,得到隱藏信息后的交易區(qū)塊;
鏈接模塊,用于將所述隱藏信息后的交易區(qū)塊鏈接在區(qū)塊鏈上;
提取模塊,用于依據所述提取指令從所述區(qū)塊鏈上的交易區(qū)塊中提取出所述私鑰。
可選的,所述隱藏模塊包括:
預處理單元,用于對用戶輸入的私鑰進行預處理,得到處理后的私鑰;
嵌入單元,用于將所述處理后的私鑰嵌入至所述原始交易區(qū)塊頭部的字段中,得到隱藏信息后的交易區(qū)塊。
為解決上述技術問題,本發(fā)明實施例提供了一種區(qū)塊鏈私鑰的保護系統(tǒng),包括如上述所述的區(qū)塊鏈私鑰的保護裝置。
本發(fā)明實施例提供了一種區(qū)塊鏈私鑰的保護方法、裝置及系統(tǒng),包括獲取原始交易區(qū)塊;將用戶輸入的私鑰隱藏至原始交易區(qū)塊頭部的字段中,得到隱藏信息后的交易區(qū)塊;將隱藏信息后的交易區(qū)塊鏈接在區(qū)塊鏈上;獲取用戶的提取指令;依據提取指令從區(qū)塊鏈上的交易區(qū)塊中提取出私鑰。
由于區(qū)塊頭部有多個字段,將重要信息隱藏其中既可以防止丟失又可以防止被攻擊,所以本發(fā)明實施例通過將用戶輸入的私鑰隱藏至所獲取的原始交易區(qū)塊頭部的字段中來隱藏相應的私鑰,得到隱藏信息后的交易區(qū)塊,再將隱藏信息后的交易區(qū)塊鏈接在區(qū)塊鏈上,當用戶需要訪問區(qū)塊鏈時,可以依據用戶輸入的提取指令從區(qū)塊鏈上的交易區(qū)塊中提取出私鑰,進一步使用戶訪問相應的區(qū)塊鏈??梢姡景l(fā)明實施例通過信息隱藏的方法將私鑰隱藏在原始交易區(qū)塊頭部的字段中,可以防止私鑰的丟失,并在一定程度上提高了區(qū)塊鏈及用戶賬戶的安全性。
附圖說明
為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對現(xiàn)有技術和實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本發(fā)明實施例提供的一種區(qū)塊鏈私鑰的保護方法的流程示意圖;
圖2為本發(fā)明實施例提供的一種區(qū)塊鏈私鑰的保護裝置的結構示意圖。
具體實施方式
本發(fā)明實施例提供了一種區(qū)塊鏈私鑰的保護方法、裝置及系統(tǒng),在使用過程中可以防止私鑰的丟失,并在一定程度上提高了區(qū)塊鏈及用戶賬戶的安全性。
為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
請參照圖1,圖1為本發(fā)明實施例提供的一種區(qū)塊鏈私鑰的保護方法的流程示意圖。該方法,包括:
s11:獲取原始交易區(qū)塊;
s12:將用戶輸入的私鑰隱藏至原始交易區(qū)塊頭部的字段中,得到隱藏信息后的交易區(qū)塊;
s13:將隱藏信息后的交易區(qū)塊鏈接在區(qū)塊鏈上;
s14:獲取用戶的提取指令;
s15:依據提取指令從區(qū)塊鏈上的交易區(qū)塊中提取出私鑰。
需要說明的是,信息隱藏技術是把機密信息隱藏在大量信息中不讓對手發(fā)覺的一種方法,信息隱藏主要研究如何將某一機密信息隱藏于另一公開的宿主信息載體中,然后通過公開信息的傳輸來傳遞機密信息,第三方則難以從公開信息中判斷機密信息是否存在,難以截獲機密信息,從而能保證機密信息的安全。
具體的,本發(fā)明實施例中可以采用信息隱藏技術將用戶輸入的私鑰隱藏在所獲取的原始交易區(qū)塊的頭部的字段中,由于原始交易區(qū)塊的頭部有很多字段,將用戶私鑰隱藏其中可以避免被敵人發(fā)現(xiàn),從而達到隱藏用戶私鑰的目的。由于每個交易完成后,交易信息都會以一個區(qū)塊的形式存在,例如原始交易完成后即得到原始交易區(qū)塊,并將原始交易區(qū)塊鏈接至區(qū)塊鏈中,在將原始交易區(qū)塊鏈接到區(qū)塊鏈的鏈條上時,需要將鏈條上最后一個區(qū)塊的哈希值和隨機數存儲在新的區(qū)塊的頭部,也即存儲在原始交易區(qū)塊的頭部,從而形成具有一定順序的區(qū)塊鏈,進一步保證信息的準確性。
當需要私鑰的時候,可以依據用戶發(fā)送的提取指令從相應的區(qū)塊鏈中找到隱藏有用戶私鑰的區(qū)塊(即交易區(qū)塊),并通過檢測從該區(qū)塊中提取出所隱藏的私鑰,以便用戶使用該私鑰進行區(qū)塊鏈的訪問。
還需要說明的是,在進行私鑰隱藏時,可以預先設定隱藏規(guī)則,使私鑰按照預先設定的隱藏規(guī)則隱藏至原始交易區(qū)塊頭部的字段中,當需要提取時,也是根據用戶預先設置的隱藏規(guī)則從相應的區(qū)塊中將私鑰提取出來。例如,隱藏規(guī)則可以為將私鑰以正序的方式隱藏在哈希值中,當然,也可以為其他的隱藏規(guī)則,具體的可以根據實際情況進行設定,本發(fā)明實施例對此不做特殊的限定,能實現(xiàn)本發(fā)明實施例的目的即可。
進一步的,在s12中將用戶輸入的私鑰隱藏至原始交易區(qū)塊頭部的字段中,得到隱藏信息后的交易區(qū)塊的過程,具體可以為:
s121:對用戶輸入的私鑰進行預處理,得到處理后的私鑰;
s122:將處理后的私鑰嵌入至原始交易區(qū)塊頭部的字段中,得到隱藏信息后的交易區(qū)塊。
需要說明的是,可以對用戶輸入的私鑰進行預處理,具體可以采用加密技術中的加密算法對私鑰進行性加密處理,得到處理后的私鑰。對私鑰采用加密算法進行處理主要是當私鑰被敵人提取(丟失)后,敵人也只能得到私鑰的暗紋,進一步加強私鑰的安全性。
進一步的,上述s121中的對用戶輸入的私鑰進行預處理的過程,具體可以為:
采用加密算法對用戶的私鑰進行預處理。
當然,除了采用加密算法對用戶的私鑰進行預處理之外,也可以通過其他的方式對用戶輸入的私鑰進行預處理操作,以加強私鑰的安全性。
更具體的,加密算法為rsa對稱加密算法。
本發(fā)明實施例中的加密算法可以優(yōu)選為rsa對稱加密算法,當然,不僅限于采用rsa對稱加密算法,也可以采用其他的加密算法,具體的本發(fā)明實施例對此不做特殊的限定,能實現(xiàn)本發(fā)明實施例的目的即可。
可選的,將處理后的私鑰嵌入至原始交易區(qū)塊頭部的字段中的過程具體為:
采用基于小波變換的隱藏信息算法將處理后的私鑰嵌入至原始交易區(qū)塊頭部的字段中。
需要說明的是,本發(fā)明實施例中優(yōu)選的可以采用基于小波的隱藏信息算法將處理后的私鑰的存在形式進行轉換,使處理后的私鑰具有另一種存在形式,再將私鑰以相應的存在形式嵌入至原始交易區(qū)塊頭部的字段中,并且小波變換算法適用于區(qū)塊鏈,且使用范圍廣。
更進一步的,如上述的區(qū)塊鏈私鑰的保護方法,在s15中依據提取指令從區(qū)塊鏈上的交易區(qū)塊中提取出私鑰的過程,具體可以為:
依據提取指令從區(qū)塊鏈中找到交易區(qū)塊;
對交易區(qū)塊中的信息進行檢測,得到秘密信息;
將秘密信息進行解密得到并提取出私鑰。
具體的,可以根據用戶輸入的提取指令從相應的區(qū)塊鏈中找到找到隱藏有私鑰的交易區(qū)塊,并對該交易區(qū)塊鏈進行檢測,從而檢測出秘密信息,并對該秘密信息進行解密后即可得到相應的私鑰,進一步可以將該私鑰提取出來,以便通過該私鑰訪問相應的區(qū)塊鏈賬戶。
可選的,字段為隨機數、哈希值或時間戳。
需要說明的是,可以將私鑰隱藏在原始交易區(qū)塊頭部的隨機數或哈希值或時間戳中,具體隱藏于哪種字段中可以根據實際情況而定,本發(fā)明實施例對此不做特殊的限定,能實現(xiàn)本發(fā)明實施例的目的即可。另外,本發(fā)明實施例中的字段不僅限于為上述幾種,也可以為其他類型的字段。
本發(fā)明實施例提供了一種區(qū)塊鏈私鑰的保護方法,包括獲取原始交易區(qū)塊;將用戶輸入的私鑰隱藏至原始交易區(qū)塊頭部的字段中,得到隱藏信息后的交易區(qū)塊;將隱藏信息后的交易區(qū)塊鏈接在區(qū)塊鏈上;獲取用戶的提取指令;依據提取指令從區(qū)塊鏈上的交易區(qū)塊中提取出私鑰。
由于區(qū)塊頭部有多個字段,將重要信息隱藏其中既可以防止丟失又可以防止被攻擊,所以本發(fā)明實施例通過將用戶輸入的私鑰隱藏至所獲取的原始交易區(qū)塊頭部的字段中來隱藏相應的私鑰,得到隱藏信息后的交易區(qū)塊,再將隱藏信息后的交易區(qū)塊鏈接在區(qū)塊鏈上,當用戶需要訪問區(qū)塊鏈時,可以依據用戶輸入的提取指令從區(qū)塊鏈上的交易區(qū)塊中提取出私鑰,進一步使用戶訪問相應的區(qū)塊鏈。可見,本發(fā)明實施例通過信息隱藏的方法將私鑰隱藏在原始交易區(qū)塊頭部的字段中,可以防止私鑰的丟失,并在一定程度上提高了區(qū)塊鏈及用戶賬戶的安全性。
相應的本發(fā)明實施例還公開了一種區(qū)塊鏈私鑰的保護裝置,具體請參照圖2,圖2為本發(fā)明實施例提供的一種區(qū)塊鏈私鑰的保護裝置的結構示意圖。在上述實施例的基礎上:
該裝置包括:
獲取模塊1,用于獲取原始交易區(qū)塊;還用于獲取用戶的提取指令;
隱藏模塊2,用于將用戶輸入的私鑰隱藏至原始交易區(qū)塊頭部的字段中,得到隱藏信息后的交易區(qū)塊;
鏈接模塊3,用于將隱藏信息后的交易區(qū)塊鏈接在區(qū)塊鏈上;
提取模塊4,用于依據提取指令從區(qū)塊鏈上的交易區(qū)塊中提取出私鑰。
可選的,隱藏模塊2包括:
預處理單元,用于對用戶輸入的私鑰進行預處理,得到處理后的私鑰;
嵌入單元,用于將處理后的私鑰嵌入至原始交易區(qū)塊頭部的字段中,得到隱藏信息后的交易區(qū)塊。
需要說明是,在實際應用中可以通過檢測器依據用戶輸入的提取指令對區(qū)塊鏈上相應的交易區(qū)塊中的信息進行檢測,得到秘密信息,并將秘密信息進行解密后得到并提取出相應的私鑰,以便通過該私鑰訪問相應的區(qū)塊鏈賬戶。
可見,本發(fā)明實施例提供了一種區(qū)塊鏈私鑰的保護系統(tǒng),通過信息隱藏的方法將私鑰隱藏在原始交易區(qū)塊頭部的字段中,可以防止私鑰的丟失,并在一定程度上提高了區(qū)塊鏈及用戶賬戶的安全性。另外,對于本發(fā)明實施例中所涉及到的區(qū)塊鏈私鑰的保護方法的具體介紹請參照上述方法實施例,本申請在此不再贅述。
在上述實施例的基礎上,本發(fā)明實施例提供了一種區(qū)塊鏈私鑰的保護系統(tǒng),包括如上述的區(qū)塊鏈私鑰的保護裝置。
需要說明的是,本發(fā)明實施例提供了一種區(qū)塊鏈私鑰的保護系統(tǒng),通過信息隱藏的方法將私鑰隱藏在原始交易區(qū)塊頭部的字段中,可以防止私鑰的丟失,并在一定程度上提高了區(qū)塊鏈及用戶賬戶的安全性。
另外,對于本發(fā)明實施例中所涉及到的區(qū)塊鏈私鑰的保護方法的具體介紹請參照上述方法實施例,本申請在此不再贅述。
還需要說明的是,在本說明書中,諸如術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
對所公開的實施例的上述說明,使本領域專業(yè)技術人員能夠實現(xiàn)或使用本發(fā)明。對這些實施例的多種修改對本領域的專業(yè)技術人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其他實施例中實現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。