當前位置:首頁 » 區塊鏈知識 » 區塊鏈密鑰安全

區塊鏈密鑰安全

發布時間: 2023-03-23 20:58:43

區塊鏈安全性主要通過什麼來保證

區塊鏈技術是一種分布式記錄技術,它通過對數據進行加密和分布式存儲,來保證數據的安全性和可靠性。
主要通過以下幾種方式來保證區塊鏈的安全性:
1.加密技術:區塊鏈採用的是對稱加密和非對稱加密演算法,可以有效保護數據的安全。
2.分布式存儲:區塊鏈的數據不是集中存儲在單一節點上,而是分散存儲在網路中的各個節點上,這有效防止了數據的篡改和丟失。
3.共識機制:區塊鏈通常採用共識機制來確認交易的合法性,這有助於防止惡意交易的發生。
4.合約機制:區塊鏈可以通過智能合約來自動執行交易,這有助於防止操縱交易的發生。
區塊鏈技術在實現安全性的同時,也帶來了一些挑戰。例如,區塊鏈的安全性可能受到漏洞的攻擊,或者因為私鑰泄露而導致資產被盜。因此,在使用區塊鏈技術時,還需要注意身份認證、密碼安全等方面的問題,以確保區塊鏈的安全性。
此外,區塊鏈技術的安全性也可能受到政策、法規等方面的影響。例如,在某些國家和地區,區塊鏈技術可能會受到審查和限制,這也可能會對區塊鏈的安全性產生影響。
總的來說,區塊鏈技術的安全性主要通過加密技術、分布式存儲、共識機制和合約機制等方式來保證,但是還需要注意其他方面的挑戰和影響因素。

Ⅱ 區塊鏈之加密原理總結(一)

    先放一張以太坊的架構圖:

    在學習的過程中主要是採用單個模塊了學習了解的,包括P2P,密碼學,網路,協議等。直接開始總結:

                秘鑰分配問題也就是秘鑰的傳輸問題,如果對稱秘鑰,那麼只能在線下進行秘鑰的交換。如果在線上傳輸秘鑰,那就有可能被攔截。所以採用非對稱加密,兩把鑰匙,一把私鑰自留,一把公鑰公開。公鑰可以在網上傳輸。不用線下交易。保證數據的安全性。

        如上圖,A節點發送數據到B節點,此時採用公鑰加密。A節點從自己的公鑰中獲取到B節點的公鑰對明文數據加密,得到密文發送給B節點。而B節點採用自己的私鑰解密。

        2、無法解決消息篡改。

    如上圖,A節點採用B的公鑰進行加密,然後將密文傳輸給B節點。B節點拿A節點的公鑰將密文解密。

        1、由於A的公鑰是公開的,一旦網上黑客攔截消息,密文形同虛設。說白了,這種加密方式,只要攔截消息,就都能解開。

        2、同樣存在無法確定消息來源的問題,和消息篡改的問題。

        如上圖,A節點在發送數據前,先用B的公鑰加密,得到密文1,再用A的私鑰對密文1加密得到密文2。而B節點得到密文後,先用A的公鑰解密,得到密文1,之後用B的私鑰解密得到明文。

        1、當網路上攔截到數據密文2時, 由於A的公鑰是公開的,故可以用A的公鑰對密文2解密,就得到了密文1。所以這樣看起來是雙重加密,其實最後一層的私鑰簽名是無效的。一般來講,我們都希望簽名是簽在最原始的數據上。如果簽名放在後面,由於公鑰是公開的,簽名就缺乏安全性。

        2、存在性能問題,非對稱加密本身效率就很低下,還進行了兩次加密過程。

        如上圖,A節點先用A的私鑰加密,之後用B的公鑰加密。B節點收到消息後,先採用B的私鑰解密,然後再利用A的公鑰解密。

        1、當密文數據2被黑客攔截後,由於密文2隻能採用B的私鑰解密,而B的私鑰只有B節點有,其他人無法機密。故安全性最高。

        2、當B節點解密得到密文1後, 只能採用A的公鑰來解密。而只有經過A的私鑰加密的數據才能用A的公鑰解密成功,A的私鑰只有A節點有,所以可以確定數據是由A節點傳輸過來的。

        經兩次非對稱加密,性能問題比較嚴重。

        基於以上篡改數據的問題,我們引入了消息認證。經過消息認證後的加密流程如下:

        當A節點發送消息前,先對明文數據做一次散列計算。得到一個摘要, 之後將照耀與原始數據同時發送給B節點。當B節點接收到消息後,對消息解密。解析出其中的散列摘要和原始數據,然後再對原始數據進行一次同樣的散列計算得到摘要1, 比較摘要與摘要1。如果相同則未被篡改,如果不同則表示已經被篡改。

        在傳輸過程中,密文2隻要被篡改,最後導致的hash與hash1就會產生不同。

        無法解決簽名問題,也就是雙方相互攻擊。A對於自己發送的消息始終不承認。比如A對B發送了一條錯誤消息,導致B有損失。但A抵賴不是自己發送的。

        在(三)的過程中,沒有辦法解決交互雙方相互攻擊。什麼意思呢? 有可能是因為A發送的消息,對A節點不利,後來A就抵賴這消息不是它發送的。

        為了解決這個問題,故引入了簽名。這里我們將(二)-4中的加密方式,與消息簽名合並設計在一起。

       在上圖中,我們利用A節點的私鑰對其發送的摘要信息進行簽名,然後將簽名+原文,再利用B的公鑰進行加密。而B得到密文後,先用B的私鑰解密,然後 對摘要再用A的公鑰解密,只有比較兩次摘要的內容是否相同。這既避免了防篡改問題,有規避了雙方攻擊問題。因為A對信息進行了簽名,故是無法抵賴的。

        為了解決非對稱加密數據時的性能問題,故往往採用混合加密。這里就需要引入對稱加密,如下圖:

        在對數據加密時,我們採用了雙方共享的對稱秘鑰來加密。而對稱秘鑰盡量不要在網路上傳輸,以免丟失。這里的共享對稱秘鑰是根據自己的私鑰和對方的公鑰計算出的,然後適用對稱秘鑰對數據加密。而對方接收到數據時,也計算出對稱秘鑰然後對密文解密。

        以上這種對稱秘鑰是不安全的,因為A的私鑰和B的公鑰一般短期內固定,所以共享對稱秘鑰也是固定不變的。為了增強安全性,最好的方式是每次交互都生成一個臨時的共享對稱秘鑰。那麼如何才能在每次交互過程中生成一個隨機的對稱秘鑰,且不需要傳輸呢?

        那麼如何生成隨機的共享秘鑰進行加密呢?

        對於發送方A節點,在每次發送時,都生成一個臨時非對稱秘鑰對,然後根據B節點的公鑰 和 臨時的非對稱私鑰 可以計算出一個對稱秘鑰(KA演算法-Key Agreement)。然後利用該對稱秘鑰對數據進行加密,針對共享秘鑰這里的流程如下:

        對於B節點,當接收到傳輸過來的數據時,解析出其中A節點的隨機公鑰,之後利用A節點的隨機公鑰 與 B節點自身的私鑰 計算出對稱秘鑰(KA演算法)。之後利用對稱秘鑰機密數據。

        對於以上加密方式,其實仍然存在很多問題,比如如何避免重放攻擊(在消息中加入 Nonce ),再比如彩虹表(參考 KDF機制解決 )之類的問題。由於時間及能力有限,故暫時忽略。

        那麼究竟應該採用何種加密呢?

        主要還是基於要傳輸的數據的安全等級來考量。不重要的數據其實做好認證和簽名就可以,但是很重要的數據就需要採用安全等級比較高的加密方案了。

        密碼套件 是一個網路協議的概念。其中主要包括身份認證、加密、消息認證(MAC)、秘鑰交換的演算法組成。

        在整個網路的傳輸過程中,根據密碼套件主要分如下幾大類演算法:

        秘鑰交換演算法:比如ECDHE、RSA。主要用於客戶端和服務端握手時如何進行身份驗證。

        消息認證演算法:比如SHA1、SHA2、SHA3。主要用於消息摘要。

        批量加密演算法:比如AES, 主要用於加密信息流。

        偽隨機數演算法:例如TLS 1.2的偽隨機函數使用MAC演算法的散列函數來創建一個 主密鑰 ——連接雙方共享的一個48位元組的私鑰。主密鑰在創建會話密鑰(例如創建MAC)時作為一個熵來源。

        在網路中,一次消息的傳輸一般需要在如下4個階段分別進行加密,才能保證消息安全、可靠的傳輸。

        握手/網路協商階段:

        在雙方進行握手階段,需要進行鏈接的協商。主要的加密演算法包括RSA、DH、ECDH等

        身份認證階段:

        身份認證階段,需要確定發送的消息的來源來源。主要採用的加密方式包括RSA、DSA、ECDSA(ECC加密,DSA簽名)等。

        消息加密階段:

        消息加密指對發送的信息流進行加密。主要採用的加密方式包括DES、RC4、AES等。

        消息身份認證階段/防篡改階段:

        主要是保證消息在傳輸過程中確保沒有被篡改過。主要的加密方式包括MD5、SHA1、SHA2、SHA3等。

         ECC :Elliptic Curves Cryptography,橢圓曲線密碼編碼學。是一種根據橢圓上點倍積生成 公鑰、私鑰的演算法。用於生成公私秘鑰。

         ECDSA :用於數字簽名,是一種數字簽名演算法。一種有效的數字簽名使接收者有理由相信消息是由已知的發送者創建的,從而發送者不能否認已經發送了消息(身份驗證和不可否認),並且消息在運輸過程中沒有改變。ECDSA簽名演算法是ECC與DSA的結合,整個簽名過程與DSA類似,所不一樣的是簽名中採取的演算法為ECC,最後簽名出來的值也是分為r,s。 主要用於身份認證階段 。

         ECDH :也是基於ECC演算法的霍夫曼樹秘鑰,通過ECDH,雙方可以在不共享任何秘密的前提下協商出一個共享秘密,並且是這種共享秘鑰是為當前的通信暫時性的隨機生成的,通信一旦中斷秘鑰就消失。 主要用於握手磋商階段。

         ECIES: 是一種集成加密方案,也可稱為一種混合加密方案,它提供了對所選擇的明文和選擇的密碼文本攻擊的語義安全性。ECIES可以使用不同類型的函數:秘鑰協商函數(KA),秘鑰推導函數(KDF),對稱加密方案(ENC),哈希函數(HASH), H-MAC函數(MAC)。

         ECC 是橢圓加密演算法,主要講述了按照公私鑰怎麼在橢圓上產生,並且不可逆。 ECDSA 則主要是採用ECC演算法怎麼來做簽名, ECDH 則是採用ECC演算法怎麼生成對稱秘鑰。以上三者都是對ECC加密演算法的應用。而現實場景中,我們往往會採用混合加密(對稱加密,非對稱加密結合使用,簽名技術等一起使用)。 ECIES 就是底層利用ECC演算法提供的一套集成(混合)加密方案。其中包括了非對稱加密,對稱加密和簽名的功能。

        ECC 是 Elliptic Curve Cryptography的簡稱。那麼什麼是橢圓加密曲線呢?Wolfram MathWorld 給出了很標準的定義: 一條橢圓曲線就是一組被  ​  定義的且滿足  ​ ​ 的點集。  

這個先訂條件是為了保證曲線不包含奇點。

所以,隨著曲線參數a和b的不斷變化,曲線也呈現出了不同的形狀。比如:

        所有的非對稱加密的基本原理基本都是基於一個公式 K = k*G。其中K代表公鑰,k代表私鑰,G代表某一個選取的基點。非對稱加密的演算法 就是要保證 該公式  不可進行逆運算( 也就是說G/K是無法計算的 )。

        ECC是如何計算出公私鑰呢?這里我按照我自己的理解來描述。

         我理解,ECC的核心思想就是:選擇曲線上的一個基點G,之後隨機在ECC曲線上取一個點k(作為私鑰),然後根據k*G計算出我們的公鑰K。並且保證公鑰K也要在曲線上。

        那麼k*G怎麼計算呢?如何計算k*G才能保證最後的結果不可逆呢?這就是ECC演算法要解決的。

        首先,我們先隨便選擇一條ECC曲線,a = -3, b = 7 得到如下曲線:

​        在這個曲線上,我隨機選取兩個點,這兩個點的乘法怎麼算呢?我們可以簡化下問題,乘法是都可以用加法表示的,比如2*2 = 2+2,3*5 = 5+5+5。 那麼我們只要能在曲線上計算出加法,理論上就能算乘法。所以,只要能在這個曲線上進行加法計算,理論上就可以來計算乘法,理論上也就可以計算k*G這種表達式的值。

        曲線上兩點的加法又怎麼算呢?這里ECC為了保證不可逆性,在曲線上自定義了加法體系。

        現實中,1+1=2,2+2=4,但在ECC演算法里,我們理解的這種加法體系是不可能。故需要自定義一套適用於該曲線的加法體系。

         ECC定義,在圖形中隨機找一條直線,與ECC曲線相交於三個點(也有可能是兩個點),這三點分別是P、Q、R。

         那麼P+Q+R = 0。其中0 不是坐標軸上的0點,而是ECC中的無窮遠點。也就是說定義了無窮遠點為0點。

        同樣,我們就能得出 P+Q = -R。 由於R 與-R是關於X軸對稱的,所以我們就能在曲線上找到其坐標。

        P+R+Q = 0, 故P+R = -Q , 如上圖。

以上就描述了ECC曲線的世界裡是如何進行加法運算的。

        從上圖可看出,直線與曲線只有兩個交點,也就是說 直線是曲線的切線。此時P,R 重合了。

        也就是P = R, 根據上述ECC的加法體系,P+R+Q = 0, 就可以得出 P+R+Q = 2P+Q = 2R+Q=0

        於是乎得到 2*P = -Q (是不是與我們非對稱演算法的公式 K = k*G 越來越近了)。

        於是我們得出一個結論,可以算乘法,不過只有在切點的時候才能算乘法,而且只能算2的乘法。

        假若 2 可以變成任意個數進行想乘,那麼就能代表在ECC曲線里可以進行乘法運算,那麼ECC演算法就能滿足非對稱加密演算法的要求了。

        那麼我們是不是可以隨機任何一個數的乘法都可以算呢? 答案是肯定的。 也就是點倍積 計算方式。

        選一個隨機數 k, 那麼k * P等於多少呢?

        我們知道在計算機的世界裡,所有的都是二進制的,ECC既然能算2的乘法,那麼我們可以將隨機數k描 述成二進制然後計算。假若k = 151 = 10010111

        由於2*P = -Q 所以 這樣就計算出了k*P。 這就是點倍積演算法 。所以在ECC的曲線體系下是可以來計算乘法,那麼以為這非對稱加密的方式是可行的。

        至於為什麼這樣計算 是不可逆的。這需要大量的推演,我也不了解。但是我覺得可以這樣理解:

        我們的手錶上,一般都有時間刻度。現在如果把1990年01月01日0點0分0秒作為起始點,如果告訴你至起始點為止時間流逝了 整1年,那麼我們是可以計算出現在的時間的,也就是能在手錶上將時分秒指針應該指向00:00:00。但是反過來,我說現在手錶上的時分秒指針指向了00:00:00,你能告訴我至起始點算過了有幾年了么?

        ECDSA簽名演算法和其他DSA、RSA基本相似,都是採用私鑰簽名,公鑰驗證。只不過演算法體系採用的是ECC的演算法。交互的雙方要採用同一套參數體系。簽名原理如下:

        在曲線上選取一個無窮遠點為基點 G = (x,y)。隨機在曲線上取一點k 作為私鑰, K = k*G 計算出公鑰。

         簽名過程:

        生成隨機數R, 計算出RG.

        根據隨機數R,消息M的HASH值H,以及私鑰k, 計算出簽名S = (H+kx)/R.

        將消息M,RG,S發送給接收方。

         簽名驗證過程:

        接收到消息M, RG,S

        根據消息計算出HASH值H

        根據發送方的公鑰K,計算 HG/S + xK/S, 將計算的結果與 RG比較。如果相等則驗證成功。

         公式推論:

        HG/S + xK/S = HG/S + x(kG)/S = (H+xk)/GS = RG

        在介紹原理前,說明一下ECC是滿足結合律和交換律的,也就是說A+B+C = A+C+B = (A+C)+B。

        這里舉一個WIKI上的例子說明如何生成共享秘鑰,也可以參考  Alice And Bob  的例子。

        Alice 與Bob 要進行通信,雙方前提都是基於 同一參數體系的ECC生成的 公鑰和私鑰。所以有ECC有共同的基點G。

         生成秘鑰階段:

        Alice 採用公鑰演算法 KA = ka * G ,生成了公鑰KA和私鑰ka, 並公開公鑰KA。

        Bob 採用公鑰演算法 KB = kb * G ,生成了公鑰KB和私鑰 kb, 並公開公鑰KB。

         計算ECDH階段:

        Alice 利用計算公式 Q = ka * KB  計算出一個秘鑰Q。

        Bob 利用計算公式 Q' = kb * KA 計算出一個秘鑰Q'。

         共享秘鑰驗證:

        Q = ka  KB = ka * kb * G = ka * G * kb = KA * kb = kb * KA = Q'

        故 雙方分別計算出的共享秘鑰不需要進行公開就可採用Q進行加密。我們將Q稱為共享秘鑰。

        在以太坊中,採用的ECIEC的加密套件中的其他內容:

        1、其中HASH演算法採用的是最安全的SHA3演算法 Keccak 。

        2、簽名演算法採用的是 ECDSA

        3、認證方式採用的是  H-MAC

        4、ECC的參數體系採用了secp256k1,  其他參數體系 參考這里

        H-MAC 全程叫做 Hash-based Message Authentication Code. 其模型如下:

在 以太坊 的 UDP通信時(RPC通信加密方式不同),則採用了以上的實現方式,並擴展化了。

首先,以太坊的UDP通信的結構如下:

        其中,sig是 經過 私鑰加密的簽名信息。mac是可以理解為整個消息的摘要, ptype是消息的事件類型,data則是經過RLP編碼後的傳輸數據。

        其UDP的整個的加密,認證,簽名模型如下:

Ⅲ 區塊鏈技術現存問題有哪些

1.性能問題

體積問題

區塊鏈對數據備份的要求對存儲空間提出挑戰。區塊鏈要求在一筆交易達成後向全網廣播,系統內每個節點都要進行數據備份。

比特幣為例,自創世區塊至今的區塊數據已經超過 60GB,並且區塊鏈數據量還在不斷增加,這將給比特幣核心客戶端的運行帶來很大挑戰。

處理速度問題

比特幣區塊鏈目前最高每秒處理 6.67 筆交易,一次確認時間大約為 10 分鍾,容易造成大量交易的堵塞延遲,可能會限制小額多次交易和對時間敏感度較高交易的應用。

盡管目前有了一些克服手段,但全面解決交易效率的方法仍然亟待發掘 。

耗能過高

第三,挖礦過程中的算力並不產生額外的實際社會價值,還會浪費大量的電子資源,隨著比特幣的日益普及,區塊鏈逐漸成為高耗能的資本密集型行業。

2.中心化問題

節點的不平等

第一,理論上,分布式網路中每個節點應當被平等對待,但是為了挖礦獲得回報,各節點可能會增加算力進行硬體競賽,從而導致節點的不平等,破壞區塊鏈記賬權的隨機性。

產業化、規模化挖礦產生了礦池

理論上如果礦池通過共謀掌握 51% 以上的算力進行系統供給,就可以實現雙重支付,實際過程中盡管其成本遠超收益,但不能否認合謀供給存在的可能性。

3.隱私安全問題

私鑰容易被竊取

第一,目前區塊鏈採用的是非對稱密鑰機制,盡管具有很高的安全性,但是私鑰保存在用戶本地,容易被黑客竊取。

區塊鏈數據的透明性容易造成隱私泄露

公有鏈中每個參與者都可以獲得完整的數據備份,整個系統是公開透明的,比特幣通過隔斷交易地址和持有人真實身份的關聯保護隱私。

當區塊鏈需要承載更多的業務時,節點如何驗證信息執行命令就需要更多的考慮。

4.升級和激勵問題

公有鏈中參與節點的數量龐大

無論是升級還是修復錯誤都無法關閉系統集中進行,可能需要考慮放鬆去中心化的問題。

各個節點之間存在著競爭博弈

要求激勵相容機制的完善,如何使去中心化系統中的自利節點能夠自發開展區塊數據驗證及記賬工作,並設計合理的懲罰函數抑制非理性競爭,是區塊鏈面臨的另一挑戰。

Ⅳ 區塊鏈以什麼方式保證網路中數據的安全性

區塊鏈保證網路中數據的安全性的方式:
在區塊鏈技術中,數字加密技術是其關鍵之處,一般運用的是非對稱加正晌密演算法,即加密時的密碼與解鎖時的密碼是不一樣的。簡單來說,就是我們有專屬的私鑰,只要把自己的私鑰保護好,把公鑰給對方,對方用公鑰加密文件生成密文,再將密文傳給你,我們再用私鑰解密得到明文,就能夠保障嘩清盯傳輸內容不被別人看到,這樣子,加密數據就傳輸完畢啦!
同時,還有數字簽名為我們加多一重保障,用來證明文件發給對方過程中沒有被篡改。由此可見區塊鏈的加密技術能夠有效解決數據流通共享過程中的安全問題,可謂是大有施展之處。亂和

Ⅳ 區塊鏈的加密技術

數字加密技能是區塊鏈技能使用和開展的關鍵。一旦加密辦法被破解,區塊鏈的數據安全性將受到挑戰,區塊鏈的可篡改性將不復存在。加密演算法分為對稱加密演算法和非對稱加密演算法。區塊鏈首要使用非對稱加密演算法。非對稱加密演算法中的公鑰暗碼體制依據其所依據的問題一般分為三類:大整數分化問題、離散對數問題和橢圓曲線問題。第一,引進區塊鏈加密技能加密演算法一般分為對稱加密和非對稱加密。非對稱加密是指集成到區塊鏈中以滿意安全要求和所有權驗證要求的加密技能。非對稱加密通常在加密和解密進程中使用兩個非對稱暗碼,稱為公鑰和私鑰。非對稱密鑰對有兩個特點:一是其間一個密鑰(公鑰或私鑰)加密信息後,只能解密另一個對應的密鑰。第二,公鑰可以向別人揭露,而私鑰是保密的,別人無法通過公鑰計算出相應的私鑰。非對稱加密一般分為三種首要類型:大整數分化問題、離散對數問題和橢圓曲線問題。大整數分化的問題類是指用兩個大素數的乘積作為加密數。由於素數的出現是沒有規律的,所以只能通過不斷的試算來尋找解決辦法。離散對數問題類是指基於離散對數的困難性和強單向哈希函數的一種非對稱分布式加密演算法。橢圓曲線是指使用平面橢圓曲線來計算一組非對稱的特殊值,比特幣就採用了這種加密演算法。非對稱加密技能在區塊鏈的使用場景首要包含信息加密、數字簽名和登錄認證。(1)在信息加密場景中,發送方(記為A)用接收方(記為B)的公鑰對信息進行加密後發送給

B,B用自己的私鑰對信息進行解密。比特幣交易的加密就屬於這種場景。(2)在數字簽名場景中,發送方A用自己的私鑰對信息進行加密並發送給B,B用A的公鑰對信息進行解密,然後確保信息是由A發送的。(3)登錄認證場景下,客戶端用私鑰加密登錄信息並發送給伺服器,伺服器再用客戶端的公鑰解密認證登錄信息。請注意上述三種加密計劃之間的差異:信息加密是公鑰加密和私鑰解密,確保信息的安全性;數字簽名是私鑰加密,公鑰解密,確保了數字簽名的歸屬。認證私鑰加密,公鑰解密。以比特幣體系為例,其非對稱加密機制如圖1所示:比特幣體系一般通過調用操作體系底層的隨機數生成器生成一個256位的隨機數作為私鑰。比特幣的私鑰總量大,遍歷所有私鑰空間獲取比特幣的私鑰極其困難,所以暗碼學是安全的。為便於辨認,256位二進制比特幣私鑰將通過SHA256哈希演算法和Base58進行轉化,構成50個字元長的私鑰,便於用戶辨認和書寫。比特幣的公鑰是私鑰通過Secp256k1橢圓曲線演算法生成的65位元組隨機數。公鑰可用於生成比特幣交易中使用的地址。生成進程是公鑰先通過SHA256和RIPEMD160哈希處理,生成20位元組的摘要成果(即Hash160的成果),再通過SHA256哈希演算法和Base58轉化,構成33個字元的比特幣地址。公鑰生成進程是不可逆的,即私鑰不能從公鑰推導出來。比特幣的公鑰和私鑰通常存儲在比特幣錢包文件中,其間私鑰最為重要。丟掉私鑰意味著丟掉相應地址的所有比特幣財物。在現有的比特幣和區塊鏈體系中,現已依據實踐使用需求衍生出多私鑰加密技能,以滿意多重簽名等愈加靈敏雜亂的場景。

Ⅵ 區塊鏈中的私鑰和公鑰

公開密鑰(public key,簡稱公鑰)、私有密鑰(private key,簡稱私鑰)是密碼學里非對稱加密演算法的內容。顧名思義,公鑰是可以公開的,而私鑰則要進行安全保管。

私鑰是由隨機種子生成的,公鑰是將私鑰通過演算法推導出來。 由於公鑰太長,為了簡便實用,就出現了「地址」,地址是公鑰推導出來的。這些推導過程是單向不可逆的。也就是地址不能推出公鑰,公鑰不能推出私鑰。

從中我們可以看出,公鑰與私鑰是成對存在的。它們的用處用16個字來概括: 公鑰加密,私鑰解密;私鑰簽名,公鑰驗簽。

公鑰加密,私鑰解密。也就是用公鑰加密原數據,只有對應的私鑰才能解開原數據。這樣能使得原數據在網路中傳播不被竊取,保護隱私。

私鑰簽名,公鑰驗簽。用私鑰對原數據進行簽名,只有對應的公鑰才能驗證簽名串與原數據是匹配的。

可以用鎖頭,鑰匙來比喻公鑰,私鑰。鎖頭用來鎖定某物品,鑰匙來解鎖該物品。鑰匙所有者是物品的所有者。事實上就是這樣,公私鑰對奠定了區塊鏈的賬戶體系及資產(Token等)的所有權,區塊鏈的資產是鎖定在公鑰上的,私鑰是用來解鎖該資產然後使用。比如說我要轉讓資產給你,就是我用我的私鑰簽名了一筆我轉讓資產給你的交易(含資產,數量等等)提交到區塊鏈網路里,節點會驗證該簽名,正確則從我的公鑰上解鎖資產鎖定到你的公鑰上。

我們看到了私鑰的作用了吧,跟中心化記賬系統(支付寶、微信支付等)的密碼一樣重要,擁有私鑰就擁有了資產所有權,所以我們千萬要保管好私鑰,不能泄露。

Ⅶ 區塊鏈使用安全如何來保證呢

區塊鏈本身解決的就是陌生人之間大規模協作問題,即陌生人在不需要彼此信任的情況下就可以相互協作。那麼如何保證陌生人之間的信任來實現彼此的共識機制呢?中心化的系統利用的是可信的第三方背書,比如銀行,銀行在老百姓看來是可靠的值得信任的機構,老百姓可以信賴銀行,由銀行解決現實中的糾紛問題。但是,去中心化的區塊鏈是如何保證信任的呢?
實際上,區塊鏈是利用現代密碼學的基礎原理來確保其安全機制的。密碼學和安全領域所涉及的知識體系十分繁雜,我這里只介紹與區塊鏈相關的密碼學基礎知識,包括Hash演算法、加密演算法、信息摘要和數字簽名、零知識證明、量子密碼學等。您可以通過這節課來了解運用密碼學技術下的區塊鏈如何保證其機密性、完整性、認證性和不可抵賴性。
基礎課程第七課 區塊鏈安全基礎知識
一、哈希演算法(Hash演算法)
哈希函數(Hash),又稱為散列函數。哈希函數:Hash(原始信息) = 摘要信息,哈希函數能將任意長度的二進制明文串映射為較短的(一般是固定長度的)二進制串(Hash值)。
一個好的哈希演算法具備以下4個特點:
1、 一一對應:同樣的明文輸入和哈希演算法,總能得到相同的摘要信息輸出。
2、 輸入敏感:明文輸入哪怕發生任何最微小的變化,新產生的摘要信息都會發生較大變化,與原來的輸出差異巨大。
3、 易於驗證:明文輸入和哈希演算法都是公開的,任何人都可以自行計算,輸出的哈希值是否正確。
4、 不可逆:如果只有輸出的哈希值,由哈希演算法是絕對無法反推出明文的。
5、 沖突避免:很難找到兩段內容不同的明文,而它們的Hash值一致(發生碰撞)。
舉例說明:
Hash(張三借給李四10萬,借期6個月) = 123456789012
賬本上記錄了123456789012這樣一條記錄。
可以看出哈希函數有4個作用:
簡化信息
很好理解,哈希後的信息變短了。
標識信息
可以使用123456789012來標識原始信息,摘要信息也稱為原始信息的id。
隱匿信息
賬本是123456789012這樣一條記錄,原始信息被隱匿。
驗證信息
假如李四在還款時欺騙說,張三隻借給李四5萬,雙方可以用哈希取值後與之前記錄的哈希值123456789012來驗證原始信息
Hash(張三借給李四5萬,借期6個月)=987654321098
987654321098與123456789012完全不同,則證明李四說謊了,則成功的保證了信息的不可篡改性。
常見的Hash演算法包括MD4、MD5、SHA系列演算法,現在主流領域使用的基本都是SHA系列演算法。SHA(Secure Hash Algorithm)並非一個演算法,而是一組hash演算法。最初是SHA-1系列,現在主流應用的是SHA-224、SHA-256、SHA-384、SHA-512演算法(通稱SHA-2),最近也提出了SHA-3相關演算法,如以太坊所使用的KECCAK-256就是屬於這種演算法。
MD5是一個非常經典的Hash演算法,不過可惜的是它和SHA-1演算法都已經被破解,被業內認為其安全性不足以應用於商業場景,一般推薦至少是SHA2-256或者更安全的演算法。
哈希演算法在區塊鏈中得到廣泛使用,例如區塊中,後一個區塊均會包含前一個區塊的哈希值,並且以後一個區塊的內容+前一個區塊的哈希值共同計算後一個區塊的哈希值,保證了鏈的連續性和不可篡改性。
二、加解密演算法
加解密演算法是密碼學的核心技術,從設計理念上可以分為兩大基礎類型:對稱加密演算法與非對稱加密演算法。根據加解密過程中所使用的密鑰是否相同來加以區分,兩種模式適用於不同的需求,恰好形成互補關系,有時也可以組合使用,形成混合加密機制。
對稱加密演算法(symmetric cryptography,又稱公共密鑰加密,common-key cryptography),加解密的密鑰都是相同的,其優勢是計算效率高,加密強度高;其缺點是需要提前共享密鑰,容易泄露丟失密鑰。常見的演算法有DES、3DES、AES等。
非對稱加密演算法(asymmetric cryptography,又稱公鑰加密,public-key cryptography),與加解密的密鑰是不同的,其優勢是無需提前共享密鑰;其缺點在於計算效率低,只能加密篇幅較短的內容。常見的演算法有RSA、SM2、ElGamal和橢圓曲線系列演算法等。 對稱加密演算法,適用於大量數據的加解密過程;不能用於簽名場景:並且往往需要提前分發好密鑰。非對稱加密演算法一般適用於簽名場景或密鑰協商,但是不適於大量數據的加解密。
三、信息摘要和數字簽名
顧名思義,信息摘要是對信息內容進行Hash運算,獲取唯一的摘要值來替代原始完整的信息內容。信息摘要是Hash演算法最重要的一個用途。利用Hash函數的抗碰撞性特點,信息摘要可以解決內容未被篡改過的問題。
數字簽名與在紙質合同上簽名確認合同內容和證明身份類似,數字簽名基於非對稱加密,既可以用於證明某數字內容的完整性,同時又可以確認來源(或不可抵賴)。
我們對數字簽名有兩個特性要求,使其與我們對手寫簽名的預期一致。第一,只有你自己可以製作本人的簽名,但是任何看到它的人都可以驗證其有效性;第二,我們希望簽名只與某一特定文件有關,而不支持其他文件。這些都可以通過我們上面的非對稱加密演算法來實現數字簽名。
在實踐中,我們一般都是對信息的哈希值進行簽名,而不是對信息本身進行簽名,這是由非對稱加密演算法的效率所決定的。相對應於區塊鏈中,則是對哈希指針進行簽名,如果用這種方式,前面的是整個結構,而非僅僅哈希指針本身。
四 、零知識證明(Zero Knowledge proof)
零知識證明是指證明者在不向驗證者提供任何額外信息的前提下,使驗證者相信某個論斷是正確的。
零知識證明一般滿足三個條件:
1、 完整性(Complteness):真實的證明可以讓驗證者成功驗證;
2、 可靠性(Soundness):虛假的證明無法讓驗證者通過驗證;
3、 零知識(Zero-Knowledge):如果得到證明,無法從證明過程中獲知證明信息之外的任何信息。
五、量子密碼學(Quantum cryptography)
隨著量子計算和量子通信的研究受到越來越多的關注,未來量子密碼學將對密碼學信息安全產生巨大沖擊。
量子計算的核心原理就是利用量子比特可以同時處於多個相干疊加態,理論上可以通過少量量子比特來表達大量信息,同時進行處理,大大提高計算速度。
這樣的話,目前的大量加密演算法,從理論上來說都是不可靠的,是可被破解的,那麼使得加密演算法不得不升級換代,否則就會被量子計算所攻破。
眾所周知,量子計算現在還僅停留在理論階段,距離大規模商用還有較遠的距離。不過新一代的加密演算法,都要考慮到這種情況存在的可能性。

Ⅷ 區塊鏈的安全法則

區塊鏈的安全法則,即第一法則:
存儲即所有
一個人的財產歸屬及安全性,從根本上來說取決於財產的存儲方式及定義權。在互聯網世界裡,海量的用戶數據存儲在平台方的伺服器上,所以,這些數據的所有權至今都是個迷,一如你我的社交ID歸誰,難有定論,但用戶數據資產卻推高了平台的市值,而作為用戶,並未享受到市值紅利。區塊鏈世界使得存儲介質和方式的變化,讓資產的所有權交付給了個體。
拓展資料
區塊鏈系統面臨的風險不僅來自外部實體的攻擊,也可能有來自內 部參與者的攻擊,以及組件的失效,如軟體故障。因此在實施之前,需 要制定風險模型,認清特殊的安全需求,以確保對風險和應對方案的准 確把握。
1. 區塊鏈技術特有的安全特性
● (1) 寫入數據的安全性
在共識機制的作用下,只有當全網大部分節點(或多個關鍵節點)都 同時認為這個記錄正確時,記錄的真實性才能得到全網認可,記錄數據才 允許被寫入區塊中。
● (2) 讀取數據的安全性
區塊鏈沒有固有的信息讀取安全限制,但可以在一定程度上控制信 息讀取,比如把區塊鏈上某些元素加密,之後把密鑰交給相關參與者。同時,復雜的共識協議確保系統中的任何人看到的賬本都是一樣的,這是防 止雙重支付的重要手段。
● (3) 分布式拒絕服務(DDOS)
攻擊抵抗 區塊鏈的分布式架構賦予其點對點、多冗餘特性,不存在單點失效的問題,因此其應對拒絕服務攻擊的方式比中心化系統要靈活得多。即使一個節點失效,其他節點不受影響,與失效節點連接的用戶無法連入系統, 除非有支持他們連入其他節點的機制。
2. 區塊鏈技術面臨的安全挑戰與應對策略
● (1) 網路公開不設防
對公有鏈網路而言,所有數據都在公網上傳輸,所有加入網路的節點 可以無障礙地連接其他節點和接受其他節點的連接,在網路層沒有做身份驗證以及其他防護。針對該類風險的應對策略是要求更高的私密性並謹慎控制網路連接。對安全性較高的行業,如金融行業,宜採用專線接入區塊鏈網路,對接入的連接進行身份驗證,排除未經授權的節點接入以免數據泄漏,並通過協議棧級別的防火牆安全防護,防止網路攻擊。
● (2) 隱私
公有鏈上交易數據全網可見,公眾可以跟蹤這些交易,任何人可以通過觀察區塊鏈得出關於某事的結論,不利於個人或機構的合法隱私保護。 針對該類風險的應對策略是:
第一,由認證機構代理用戶在區塊鏈上進行 交易,用戶資料和個人行為不進入區塊鏈。
第二,不採用全網廣播方式, 而是將交易數據的傳輸限制在正在進行相關交易的節點之間。
第三,對用 戶數據的訪問採用許可權控制,持有密鑰的訪問者才能解密和訪問數據。
第四,採用例如「零知識證明」等隱私保護演算法,規避隱私暴露。
● (3) 算力
使用工作量證明型的區塊鏈解決方案,都面臨51%算力攻擊問題。隨 著算力的逐漸集中,客觀上確實存在有掌握超過50%算力的組織出現的可 能,在不經改進的情況下,不排除逐漸演變成弱肉強食的叢林法則。針對 該類風險的應對策略是採用演算法和現實約束相結合的方式,例如用資產抵 押、法律和監管手段等進行聯合管控。

Ⅸ Chainge技術沙龍(0414)-區塊鏈技術的安全隱患

虛擬機設計

零錢整理

慢霧科技介紹

01| The Dao事件
以太坊第一個安全大事件
智能合約的取款
新建一個Bank,存入一部分錢,用Dao框架不停取錢。
取款-判斷余額-取款操作框架-轉空該賬戶下的所有錢。
簡單的例子就是,你的銀行卡有餘額100萬,你需要買一個10塊錢的飲料,但是支付的過程有漏洞,所以你銀行卡的所有錢都被轉走。

一、外部調用

02| 以太坊黑色情人節
起源:第一轉賬時間是2.14

ETH節點統計
客戶端、客戶端版本、OS系統。整個系統的龐雜

蜜罐檢測 (部署陷阱能檢測出黑客的點來)

net_version
判斷是主網還是測試網,只攻擊主網
3000+主網節點完全暴露

eth_accounts
獲取錢包賬號,涉及錢包賬號

eth_getBanlance
獲取有多少錢,被盜46000+ETH

why?
unlockAccount 函數介紹
該函數將使用密碼從本地的keystore 里提取private key 並存儲在內存中,函數第三個參數ration 表示解密後private key 在內存中保存默認是300 秒; 如果設置為0,則表的時間,示永久存留在內存,直至Geth/Parity 退出。
詳見:
https://github.com/ethereumgethereum/wiki/Management-APIs#personal_unlockaccount

節點存用戶的keystore信息(嚴重危險)

eth_getBlockByNumber
墨子掃描引擎,掃描有問題的節點,慢霧的以太坊安全事件的披露
被盜ETH,市值,被盜錢包數
具體內容可以查看慢霧發布的 以太坊黑色情人節專題

生態相關
ETH:礦池、錢包、web3、smart contract、dapp
BTC:礦池、錢包、Lightning Network

BTC RPC
防禦建議

管理數十萬用戶安全的接近百萬的比特幣

華人世界唯一被bitcoin.org網站展示的錢包

比特派多種區塊鏈資產(BTC、ETH、Token、分叉)
冷熱結合,確保安全
比特派-熱錢包
比特護盾-冷錢包/硬體錢包

區塊鏈安全事件

私鑰決定了區塊鏈資產的所有權,丟了私鑰也就相當於丟了一切。私鑰就是一個隨機數,這個隨機數的概率空間很大(256 位,即2^256)

錢包=生態入口
需要在安全的同時做到盡可能的開放

玩法的開放,技術的開放,通用的技術介面,生態的開放,把自己的資源進行導入。合作夥伴計劃:技術咨詢、區塊鏈技術支持、開放平台、入口支持、生態支持、海外市場合作。幫助夥伴實現區塊鏈轉型或區塊鏈項目孵化,安全、便捷實現真正落地的區塊鏈應用場景。

聯系方式 [email protected]

用戶風控系統,數百萬的數字貨幣用戶。
最大可能保持我們的數字資產

騙子故事:搶數字貨幣份額,錢沒到賬,冒充官方,交出助記詞

惡意錢包地址庫
詐騙錢包、黑客錢包、羊毛黨錢包

惡意網站庫
釣魚網站、空投網站、交易所、眾籌

風險合約庫
重名幣、空格幣、風險合約

安全事件庫
歷史安全事件提醒
最新事件提醒

盜幣風險監控

安全意識教育

可能出現被盜的情況

游戲即資產,稀缺資源,成為游戲運營者。最後大BOSS死於暴露了自己的密鑰。
通過社工(社會工程學)【欺騙的藝術】黑客攻擊手法,虛擬景象做出錯誤判斷讓自己陷入危機。

人始終是系統中最薄弱的環節,幣安背鍋的黑客事件。大客戶泄露自己的賬戶,調用API介面,自動交易。雖然沒丟幣但是黑客在期貨市場盈利。

關於安全錢包的帖子(來自小白憤怒控訴,實際沒有理解整個機制):
1、我沒私鑰和交易密碼,東西都在你們那我不知道安全在哪裡
2、密語算個毛,你告訴我拿著你們的密語能做什麼。

汽車和自行車事件,出了問題之後,弱勢的一方被原諒。負責的是更大的一方。平台替沒有安全意識的用戶背鍋。

對於大部分用戶來說,交易所的安全性比普通用戶自己管理的安全性要高,用戶的安全意識沒有提高,交給交易所幫助、協助你來管理你的錢包提示很多風險操作。

為什麼要隨機生成256位的密鑰,為什麼不能用戶自己去設置,如果自己設置會處於一個集中的區域,隨機值不夠,私鑰生成時就處於危險的狀態。

自己的安全認識不夠,所以自己造成的損失,先懟交易所先懟錢包。先想到得是你們的問題和漏洞造成的,不是我的操作失誤和密鑰泄露造成的。

幣派做的是大神和小白的交流之間的翻譯,做畫漫畫,寫段子的逗比。

幣小寶防騙指南漫畫,貢獻題材和內容。

Ⅹ 區塊鏈在股權融資中的優點和缺點

區塊鏈的缺點
1.無隱私性
區塊鏈是分布式,在公有鏈上,等於每個人手上都有一份完整賬本,並且由於區塊鏈計算余額、驗證交易有效性等等都需要追溯每一筆賬,因此交易數據都是公開透明的,如果我知道某個人的賬戶,我就能知道他的所有財富和每一筆交易,沒有隱私可言。

2.監管
區塊鏈的去中心、自治化的特點淡化了國家監管的概念。然而所有的創新,都需要符合監管的要求。區塊鏈的監管,在某種程序上是促進區塊鏈的商業應用,更好的提供合規性保護。另一方面監管部門對這項新技術的法律和制度建立上存在滯後,也可能會毀掉區塊鏈,需要把握好尺度。

3.安全性問題
區塊鏈技術一大特點就是不可逆、不可偽造,但前提是私鑰是安全的。私鑰是用戶生成並保管的,沒有第三方參與。私鑰一旦丟失,便無法對賬戶的資產做任何操作。隨著量子計算機等新計算技術的發展,未來非對稱加密演算法具有一定的破解可能性,這也是區塊鏈技術面臨的潛在安全威脅。

4.數據確認的延遲性
區塊鏈的交易是存在延遲性的,拿比特幣舉例,當前產生的交易的有效性受網路傳輸影響,因為要被網路上大多數節點得知這筆交易,還要等到下一個記賬周期(比特幣控制在10分鍾左右),也就是要被大多數節點認可這筆交易。還受一個小概率事件影響,就是當網路上同時有2個或以上節點競爭到記賬權力,那麼在網路中就會產生2個或以上的區塊鏈分支,這時候到底那個分支記錄的數據是有效的,則要再等下一個記賬周期,最終由最長的區塊鏈分支來決定。因此區塊鏈的交易數據是有延遲性的。

區塊鏈的優點
1.集體維護
系統是開放的,除了交易各方的私有信息被加密外,系統是由其中所有具有維護功能的節點共同維護的,任何人都可以通過公開的介面查詢區塊鏈數據和開發相關應用,因此整個系統信息高度透明。

2.去中心化
區塊鏈存儲數據時使用的是對等網路技術,使用分布式核算和存儲,不存在中心化的硬體或管理機構。所有節點的權利和義務都相等,因此任一節點停止工作都會不影響系統整體的運作。

3.無須信任系統
由於節點之間的交換遵循固定的演算法,參與人不需要對任何人信任,隨著參與節點增加,系統的安全性反而增加。因此交易對手無須通過公開身份的方式讓對方自己產生信任,對信用的累積非常有幫助。

4.信息不可篡改
一旦信息經過驗證並添加至區塊鏈,就會永久的存儲起來。生成一套按照時間先後順序記錄的、不可篡改的、可信任的資料庫,從而可以限制相關不法行為。因此區塊鏈的數據穩定性和可靠性極高。

區塊鏈的不可篡改和撤銷既是優點也是缺點,在區塊鏈里沒有後悔葯,你對區塊鏈的數據變動幾乎無能為力,主要體現在:如果轉賬地址填錯,會直接造成永久損失且無法撤銷;如果丟失密鑰也一樣會造成永久損失無法挽回。而現實中如果你銀行卡丟了或者密碼忘記了,還能到銀行營業點處理,你的錢還在。

熱點內容
20歲比特幣8萬 發布:2025-06-28 05:15:19 瀏覽:680
btc美元價格新浪 發布:2025-06-28 05:12:34 瀏覽:615
btc市值換手率 發布:2025-06-28 05:11:54 瀏覽:601
幣圈畢加索最新信息 發布:2025-06-28 05:11:20 瀏覽:864
持有比特幣1000個段位 發布:2025-06-28 05:00:05 瀏覽:785
在哪買doge幣 發布:2025-06-28 04:55:11 瀏覽:511
歷屆數字貨幣增值倍數排行 發布:2025-06-28 04:33:35 瀏覽:500
中國首張區塊鏈電子發票在深圳開出 發布:2025-06-28 04:33:34 瀏覽:417
eth介面可以插網線嗎 發布:2025-06-28 04:21:20 瀏覽:5
幣圈1個U是多少錢 發布:2025-06-28 03:51:29 瀏覽:691