如何保證區塊鏈的安全性
『壹』 區塊鏈有哪些安全軟肋
區塊鏈有哪些安全軟肋
區塊鏈是比特幣中的核心技術,在無法建立信任關系的互聯網上,區塊鏈技術依靠密碼學和巧妙的分布式演算法,無需藉助任何第三方中心機構的介入,用數學的方法使參與者達成共識,保證交易記錄的存在性、合約的有效性以及身份的不可抵賴性。
區塊鏈技術常被人們提及的特性是去中心化、共識機制等,由區塊鏈引申出來的虛擬數字貨幣是目前全球最火爆的項目之一,正在成就出新的一批億萬級富豪。像幣安交易平台,成立短短幾個月,就被國際知名機構評級市值達400億美金,成為了最富有的一批數字貨幣創業先驅者。但是自從有數字貨幣交易所至今,交易所被攻擊、資金被盜事件層出不窮,且部分數字貨幣交易所被黑客攻擊損失慘重,甚至倒閉。
一、 令人震驚的數字貨幣交易所被攻擊事件
從最早的比特幣,到後來的萊特幣、以太幣,目前已有幾百種數字貨幣。隨著價格的攀升,各種數字貨幣系統被攻擊、數字貨幣被盜事件不斷增加,被盜金額也是一路飆升。讓我們來回顧一下令人震驚的數字貨幣被攻擊、被盜事件。
2014年2月24日,當時世界最大的比特幣交易所運營商Mt.Gox宣布其交易平台的85萬個比特幣已經被盜一空,承擔著超過80%的比特幣交易所的Mt.Gox由於無法彌補客戶損失而申請破產保護。
經分析,原因大致為Mt.Gox存在單點故障結構這種嚴重的錯誤,被黑客用於發起DDoS攻擊:
比特幣提現環節的簽名被黑客篡改並先於正常的請求進入比特幣網路,結果偽造的請求可以提現成功,而正常的提現請求在交易平台中出現異常並顯示為失敗,此時黑客實際上已經拿到提現的比特幣了,但是他繼續在Mt.Gox平台請求重復提現,Mt.Gox在沒有進行事務一致性校驗(對賬)的情況下,重復支付了等額的比特幣,導致交易平台的比特幣被竊取。
2016年8月4日,最大的美元比特幣交易平台Bitfinex發布公告稱,網站發現安全漏洞,導致近12萬枚比特幣被盜,總價值約為7500萬美元。
2018年1月26日,日本的一家大型數字貨幣交易平台Coincheck系統遭遇黑客攻擊,導致時價580億日元、約合5.3億美元的數字貨幣「新經幣」被盜,這是史上最大的數字貨幣盜竊案。
2018年3月7日,世界第二大數字貨幣交易所幣安(Binance)被黑客攻擊的消息讓幣圈徹夜難眠,黑客竟然玩起了經濟學,買空賣空「炒幣」割韭菜。根據幣安公告,黑客的攻擊過程包括:
1) 在長時間里,利用第三方釣魚網站偷盜用戶的賬號登錄信息。黑客通過使用Unicode字元冒充正規Binance網址域名里的部分字母對用戶實施網頁釣魚攻擊。
2) 黑客獲得賬號後,自動創建交易API,之後便靜默潛伏。
3) 3月7日黑客通過盜取的API Key,利用買空賣空的方式,將VIA幣值直接拉暴100多倍,比特幣大跌10%,以全球總計1700萬個比特幣計算,比特幣一夜丟了170億美元。
二、黑客攻擊為什麼能屢屢得手
基於區塊鏈的數字貨幣其火熱行情讓黑客們垂涎不已,被盜金額不斷刷新紀錄,盜竊事件的發生也引發了人們對數字貨幣安全的擔憂,人們不禁要問:區塊鏈技術安全嗎?
隨著人們對區塊鏈技術的研究與應用,區塊鏈系統除了其所屬信息系統會面臨病毒、木馬等惡意程序威脅及大規模DDoS攻擊外,還將由於其特性而面臨獨有的安全挑戰。
1. 演算法實現安全
由於區塊鏈大量應用了各種密碼學技術,屬於演算法高度密集工程,在實現上比較容易出現問題。歷史上有過此類先例,比如NSA對RSA演算法實現埋入缺陷,使其能夠輕松破解別人的加密信息。一旦爆發這種級別的漏洞,可以說構成區塊鏈整個大廈的地基將不再安全,後果極其可怕。之前就發生過由於比特幣隨機數產生器出現問題所導致的比特幣被盜事件,理論上,在簽名過程中兩次使用同一個隨機數,就能推導出私鑰。
2. 共識機制安全
當前的區塊鏈技術中已經出現了多種共識演算法機制,最常見的有PoW、PoS、DPos。但這些共識機制是否能實現並保障真正的安全,需要更嚴格的證明和時間的考驗。
3. 區塊鏈使用安全
區塊鏈技術一大特點就是不可逆、不可偽造,但前提是私鑰是安全的。私鑰是用戶生成並保管的,理論上沒有第三方參與。私鑰一旦丟失,便無法對賬戶的資產做任何操作。一旦被黑客拿到,就能轉移數字貨幣。
4. 系統設計安全
像Mt.Gox平台由於在業務設計上存在單點故障,所以其系統容易遭受DoS攻擊。目前區塊鏈是去中心化的,而交易所是中心化的。中心化的交易所,除了要防止技術盜竊外,還得管理好人,防止人為盜竊。
總體來說,從安全性分析的角度,區塊鏈面臨著演算法實現、共識機制、使用及設計上挑戰,同時黑客通過利用系統安全漏洞、業務設計缺陷也可達成攻擊目的。目前,黑客攻擊已經在對區塊鏈系統安全性造成越來越大的影響。
三、如何保證區塊鏈的安全
為了保證區塊鏈系統安全,建議參照NIST的網路安全框架,從戰略層面、一個企業或者組織的網路安全風險管理的整個生命周期的角度出發構建識別、保護、檢測、響應和恢復5個核心組成部分,來感知、阻斷區塊鏈風險和威脅。
除此之外,根據區塊鏈技術自身特點重點關注演算法、共識機制、使用及設計上的安全。
針對演算法實現安全性:一方面選擇採用新的、本身經得起考驗的密碼技術,如國密公鑰演算法SM2等。另一方面對核心演算法代碼進行嚴格、完整測試的同時進行源碼混淆,增加黑客逆向攻擊的難度和成本。
針對共識演算法安全性:PoW中使用防ASIC雜湊函數,使用更有效的共識演算法和策略。
針對使用安全性:對私鑰的生成、存儲進行保護,敏感數據加密存儲。
針對設計安全性:一方面要保證設計的功能盡量完善,如採用私鑰白盒簽名技術,防止病毒、木馬在系統運行過程中提取私鑰;設計私鑰泄露追蹤功能,盡可能減少私鑰泄露後的損失。另一方面,應對某些關鍵業務設計去中心化,防止單點故障攻擊。
『貳』 區塊鏈技術是如何保證數據的安全性的
私有密鑰 ~
『叄』 區塊鏈如何提高安全性和數據共享
針對現有區塊鏈技術的安全特性和缺點,需要圍繞物理、數據、應用系統、加密、風控等方面構建安全體系,整體提升區塊鏈系統的安全性能。
1、物理安全
運行區塊鏈系統的網路和主機應處於受保護的環境,其保護措施根據具體業務的監管要求不同,可採用不限於VPN專網、防火牆、物理隔離等方法,對物理網路和主機進行保護。
2、數據安全
區塊鏈的節點和節點之間的數據交換,原則上不應明文傳輸,例如可採用非對稱加密協商密鑰,用對稱加密演算法進行數據的加密和解密。數據提供方也應嚴格評估數據的敏感程度、安全級別,決定數據是否發送到區塊鏈,是否進行數據脫敏,並採用嚴格的訪問許可權控制措施。
3、應用系統安全
應用系統的安全需要從身份認證、許可權體系、交易規則、防欺詐策
略等方面著手,參與應用運行的相關人員、交易節點、交易數據應事前受控、事後可審計。以金融區塊鏈為例,可採用容錯能力更強、抗欺詐性和性能更高的共識演算法,避免部分節點聯合造假。
4、密鑰安全
對區塊鏈節點之間的通信數據加密,以及對區塊鏈節點上存儲數據加密的密鑰,不應明文存在同一個節點上,應通過加密機將私鑰妥善保存。在密鑰遺失或泄漏時,系統可識別原密鑰的相關記錄,如帳號控制、通信加密、數據存儲加密等,並實施響應措施使原密鑰失效。密鑰還應進行嚴格的生命周期管理,不應為永久有效,到達一定的時間周期後需進行更換。
5、風控機制
對系統的網路層、主機操作、應用系統的數據訪問、交易頻度等維度,應有周密的檢測措施,對任何可疑的操作,應進行告警、記錄、核查,如發現非法操作,應進行損失評估,在技術和業務層面進行補救,加固安全措施,並追查非法操作的來源,杜絕再次攻擊。
文章來源:中國區塊鏈技術和應用發展白皮書
『肆』 如何推動區塊鏈技術為數據安全增效
區塊鏈在信息安全上的優勢和數軟體區塊鏈技術實驗室根據自身開發經驗和技術特點總結以下方面: 1.利用高冗餘的資料庫保障信息的數據完整性;2.利用密碼學的相關原理進行數據驗證,保證不可篡改;3.在許可權管理方面運用了多私鑰規則進行訪問許可權控制。
區塊鏈是去中心化,分布式,區塊鏈技術是公開透明的,目前來說還沒有有效的方法處理數據安全。事實上,數據項目對個人數據的控制有限。數據傳輸中項目就無法控制後續如何使用了。並且通過使用加密貨幣,區塊鏈為維護網路的機構提供經濟激勵,區塊鏈提供了一種安全的信息存儲和管理,包括個人數據。
建立跨地域、跨行業,能夠面向整個社會開放的數據共享平台,加強數據安全立法,同時逐步加大引入人工智慧和區塊鏈技術,推動大數據與人工智慧、區塊鏈等新技術的融合,提高對風險因素的感知、預測、防範能力。
『伍』 什麼區塊鏈的分布式存儲是怎麼保證安全性的
由於區塊鏈塊鏈結構,區塊之間相互串成一條鏈條,如果想篡改數據,只篡改一個節點並沒有用,需要同時篡改整條鏈上的節點才可以真正篡改數據,這種篡改難度極高,幾乎不可能完成。區塊鏈 通過數據加密和授權技術,存儲在區塊鏈上的信息是公開的 但是賬戶身份信息是加密的 只有數據擁有者授權的情況下才能訪問到,以此保證數據的安全和個人隱私。
『陸』 區塊鏈如何保證使用安全
區塊鏈項目(尤其是公有鏈)的一個特點是開源。通過開放源代碼,來提高項目的可信性,也使更多的人可以參與進來。但源代碼的開放也使得攻擊者對於區塊鏈系統的攻擊變得更加容易。近兩年就發生多起黑客攻擊事件,近日就有匿名幣Verge(XVG)再次遭到攻擊,攻擊者鎖定了XVG代碼中的某個漏洞,該漏洞允許惡意礦工在區塊上添加虛假的時間戳,隨後快速挖出新塊,短短的幾個小時內謀取了近價值175萬美元的數字貨幣。雖然隨後攻擊就被成功制止,然而沒人能夠保證未來攻擊者是否會再次出擊。
當然,區塊鏈開發者們也可以採取一些措施
一是使用專業的代碼審計服務,
二是了解安全編碼規范,防患於未然。
密碼演算法的安全性
隨著量子計算機的發展將會給現在使用的密碼體系帶來重大的安全威脅。區塊鏈主要依賴橢圓曲線公鑰加密演算法生成數字簽名來安全地交易,目前最常用的ECDSA、RSA、DSA 等在理論上都不能承受量子攻擊,將會存在較大的風險,越來越多的研究人員開始關注能夠抵抗量子攻擊的密碼演算法。
當然,除了改變演算法,還有一個方法可以提升一定的安全性:
參考比特幣對於公鑰地址的處理方式,降低公鑰泄露所帶來的潛在的風險。作為用戶,尤其是比特幣用戶,每次交易後的余額都採用新的地址進行存儲,確保有比特幣資金存儲的地址的公鑰不外泄。
共識機制的安全性
當前的共識機制有工作量證明(Proof of Work,PoW)、權益證明(Proof of Stake,PoS)、授權權益證明(Delegated Proof of Stake,DPoS)、實用拜占庭容錯(Practical Byzantine Fault Tolerance,PBFT)等。
PoW 面臨51%攻擊問題。由於PoW 依賴於算力,當攻擊者具備算力優勢時,找到新的區塊的概率將會大於其他節點,這時其具備了撤銷已經發生的交易的能力。需要說明的是,即便在這種情況下,攻擊者也只能修改自己的交易而不能修改其他用戶的交易(攻擊者沒有其他用戶的私鑰)。
在PoS 中,攻擊者在持有超過51%的Token 量時才能夠攻擊成功,這相對於PoW 中的51%算力來說,更加困難。
在PBFT 中,惡意節點小於總節點的1/3 時系統是安全的。總的來說,任何共識機制都有其成立的條件,作為攻擊者,還需要考慮的是,一旦攻擊成功,將會造成該系統的價值歸零,這時攻擊者除了破壞之外,並沒有得到其他有價值的回報。
對於區塊鏈項目的設計者而言,應該了解清楚各個共識機制的優劣,從而選擇出合適的共識機制或者根據場景需要,設計新的共識機制。
智能合約的安全性
智能合約具備運行成本低、人為干預風險小等優勢,但如果智能合約的設計存在問題,將有可能帶來較大的損失。2016 年6 月,以太坊最大眾籌項目The DAO 被攻擊,黑客獲得超過350 萬個以太幣,後來導致以太坊分叉為ETH 和ETC。
對此提出的措施有兩個方面:
一是對智能合約進行安全審計,
二是遵循智能合約安全開發原則。
智能合約的安全開發原則有:對可能的錯誤有所准備,確保代碼能夠正確的處理出現的bug 和漏洞;謹慎發布智能合約,做好功能測試與安全測試,充分考慮邊界;保持智能合約的簡潔;關注區塊鏈威脅情報,並及時檢查更新;清楚區塊鏈的特性,如謹慎調用外部合約等。
數字錢包的安全性
數字錢包主要存在三方面的安全隱患:第一,設計缺陷。2014 年底,某簽報因一個嚴重的隨機數問題(R 值重復)造成用戶丟失數百枚數字資產。第二,數字錢包中包含惡意代碼。第三,電腦、手機丟失或損壞導致的丟失資產。
應對措施主要有四個方面:
一是確保私鑰的隨機性;
二是在軟體安裝前進行散列值校驗,確保數字錢包軟體沒有被篡改過;
三是使用冷錢包;
四是對私鑰進行備份。
『柒』 區塊鏈它是如何安全的
區塊鏈中的安全性來自一些屬性。
1.挖掘塊需要使用資源。
2.每個塊包含之前塊的哈希值。
想像一下,如果攻擊者想要通過改變5個街區之前的交易來改變鏈條。如果他們篡改了塊,則塊的哈希值會發生變化。然後攻擊者必須將指針從下一個塊更改為更改的塊,然後更改下一個塊的哈希值...這將一直持續到鏈的末尾。這意味著塊體在鏈條的後面越遠,其變化的阻力就越大。
實際上,攻擊者必須模擬整個網路的哈希能力,直到鏈的前端。然而,當攻擊者試圖攻擊時,鏈繼續向前移動。如果攻擊者的哈希值低於鏈的其餘部分(<50%),那麼他們將始終追趕並且永遠不會產生最長的鏈。因此,這種類型的區塊鏈可以抵禦攻擊,其中攻擊者的哈希值低於50%。
當攻擊者擁有51%的哈希值時,他們可以使用有效事務列表重寫網路歷史記錄。這是因為他們可以比網路的其他部分更快地重新計算任何塊排序的哈希值,因此它們最終可以保證更長的鏈。51%攻擊的主要危險是雙重花費的可能性。這簡單的意思是攻擊者可以購買一件物品並表明他們已經在區塊鏈上用任意數量的確認付款。一旦他們收到了該物品,他們就可以對區塊鏈進行重新排序,使其不包括發送交易,從而獲得退款。
即使攻擊者擁有>50%的哈希值,攻擊者也只能造成這么大的傷害。他們不能做諸如將錢從受害者的賬戶轉移到他們的賬戶或列印更多硬幣之類的事情。這是因為所有交易都由帳??戶所有者簽署,因此即使他們控制整個網路,也無法偽造帳戶簽名。
『捌』 如何保證區塊鏈交易的安全性呢
對於一個交易所來說,最重要的就是信息交易的安全性,沃特量子社區以區塊鏈4.0技術版本為基礎,提供去中心化的數字貨幣交易所聯盟,以全球通鏈模式,實現跨交易所交易,提高眾交易所抗風險能力,為用戶提供更加安全、便捷的數字貨幣兌換服務。
『玖』 比特幣區塊鏈用什麼技術來保證交易安全
比特幣區塊鏈用公鑰密碼學來保證交易安全。
比特幣是一種加密貨幣(cryptocurreny),「Crypto」是密碼學(cryptography)的縮寫,更具體地說,是公鑰密碼學(public key cryptography),它使用一個私鑰-公鑰對和一個橢圓曲線數字簽名來確保交易的真實性和完整性。
私鑰是一組隨機產生的密碼數字,共有32個位元組,只有擁有與資金相對應私鑰的人才能夠移動資金,每個私鑰對應一個公鑰,私鑰可以推導出公鑰,但是反過來卻極難通過公鑰推導出私鑰。從公鑰推導出私鑰的唯一方法是暴力破解——通過嘗試每一個可能的私鑰然後看是否能夠生成對應的公鑰,但這是幾乎不可能完成的,私鑰的可能組合有10的77次方種。
『拾』 區塊鏈使用安全如何來保證呢
區塊鏈本身解決的就是陌生人之間大規模協作問題,即陌生人在不需要彼此信任的情況下就可以相互協作。那麼如何保證陌生人之間的信任來實現彼此的共識機制呢?中心化的系統利用的是可信的第三方背書,比如銀行,銀行在老百姓看來是可靠的值得信任的機構,老百姓可以信賴銀行,由銀行解決現實中的糾紛問題。但是,去中心化的區塊鏈是如何保證信任的呢?
實際上,區塊鏈是利用現代密碼學的基礎原理來確保其安全機制的。密碼學和安全領域所涉及的知識體系十分繁雜,我這里只介紹與區塊鏈相關的密碼學基礎知識,包括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)
隨著量子計算和量子通信的研究受到越來越多的關注,未來量子密碼學將對密碼學信息安全產生巨大沖擊。
量子計算的核心原理就是利用量子比特可以同時處於多個相干疊加態,理論上可以通過少量量子比特來表達大量信息,同時進行處理,大大提高計算速度。
這樣的話,目前的大量加密演算法,從理論上來說都是不可靠的,是可被破解的,那麼使得加密演算法不得不升級換代,否則就會被量子計算所攻破。
眾所周知,量子計算現在還僅停留在理論階段,距離大規模商用還有較遠的距離。不過新一代的加密演算法,都要考慮到這種情況存在的可能性。