比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

安全多方計算MPC正熱,如何通過MPC管理密鑰?_區塊鏈

Author:

Time:1900/1/1 0:00:00

來源:鏈聞,原題《安全多方計算MPC正熱,如何通過MPC管理密鑰?》

受訪者:謝翔,PlatON算法科學家

采訪/撰文:李畫

密鑰管理是一個正在變得越來越重要的概念,已經成為區塊鏈領域重要的基礎設施。當數字貨幣或Token更多的被交易和使用,而不僅僅被一勞永逸地存儲時,通過私鑰或錢包密碼使用資產的方式既不安全,也不友好,更難以滿足諸多應用場景的需求。

基于?MPC的門限簽名方式與多重簽名方式是兩種不同的密鑰管理方法,在這篇文章中,我們采訪了?PlatON算法科學家謝翔博士,他將為我們介紹基于MPC的密鑰管理,以及這種方式與多重簽名方式的本質區別。

謝翔是數學與密碼學專業出身,現為PlatON算法科學家及?KeyShard?產品負責人,專注于密碼算法的研究、實現和產品化。KeyShard提供的是基于MPC的密鑰管理服務,為數字貨幣密鑰管理和恢復的痛點提供解決方案。

什么是基于MPC的密鑰管理

問:為什么我們需要密鑰管理?

謝翔:個人可以在區塊鏈或比特幣網絡上自由地注冊賬戶、轉賬,不需要任何第三方,這個功能是通過一套數字簽名機制來完成的。在數字貨幣里,最核心的就是如何去管理這個簽名,因為所有的東西都會依賴于這個簽名。

對于用戶而言,管理簽名其實就是去管理密鑰。因此我們說密鑰就是錢,密鑰管理很重要。

在傳統的行業里,你可以通過銀行也好,通過一系列的流程設計也好來管理錢,比如說可以多個人來管,投資經理同意了、投資總監同意了、財務同意了、CEO同意了,這筆錢才能轉出去。但是一旦挪到數字貨幣這個行業,傳統那套是做不了的,為什么?因為誰有私鑰誰就能轉錢,傳統那一套審批流程是形同虛設的,沒有任何意義。

所以我們做密鑰管理這件事情最初的一個想法,就是說能不能把傳統的對于錢的授權管理機制挪到數字貨幣的世界里面來。這個肯定是需要的,因為現在很多人已經開始用Token在投資了,比如說基金,比如說家族的VC,他們是需要有一種內部管理的機制的,但是傳統的那套審批機制在技術上過不來。

哈勃公鏈SCE安全共識引擎技術完成開發:據官方消息,基于Hubble Chain主網架構的SCE(Security Consensus Engine)安全共識引擎的開發,目前已完成全部的開發工作。來自美國硅谷的Hubble Chain技術團隊負責人介紹,SCE能夠有效提高哈勃鏈上網絡的共識效率和并行處理效率,有效實現多節點協作,讓每個生態參與者在高效公平的情況下獲得權益。[2020/6/14]

問:多簽可以解決這個問題嗎?

謝翔:多簽是基于腳本或智能合約的。它是設計一個規則,比如說三個人同時簽了或者兩個人同時簽了,將這些簽名傳遞給一份智能合約,合約就開始運行,把錢轉出去。多簽能解決一部分問題,它其實已經用到很多企業里了,但是隨著時間的進展會碰到越來越多的問題,問題在哪里呢?

多簽針對不同的主鏈需要實現不同的智能合約,現在的鏈至少有一千多個了,每個鏈的智能合約體系不一樣,每個人去寫合約寫得還不一樣。拿VC來說,VC可能會投很多鏈,這些Token怎么管?你要他們去寫十幾個合約,而且都還要經過安全認證?這是一個大的人力成本。

此外,區塊鏈上合約的任何細節都會被看見,這是有一層安全性問題在那里的。任何人都可以來看這個合約有沒有漏洞,而且很多新的鏈不像比特幣或以太坊那樣經過了時間的驗證,它的合約體系本身有沒有問題是不知道的。你會發現一些新的Token出問題,90%?都是合約出問題,這是一個大的風險。

所以在多鏈的情況下,多簽還能方便地支持密鑰管理嗎?目前看其實是很難的。用多簽通過合約的方式來管理密鑰,使用成本高,安全風險高。

問:如果這些不同的鏈都是基于相同的數字簽名算法,比如Schnorr,那么不同鏈的密鑰管理方法是不是就可以通用?

謝翔:不,邏輯不是這樣的,我給你畫一下。多簽是這樣的,最下邊是區塊鏈,中間是數字簽名,它有個簽名算法,可以是?ECDSA,可以是?Schnorr?等等,最上邊是智能合約。

安托將使用IBM Cloud保護數字錢包安全:3月3日,安托(Onchain Custodian)宣布將在其發布的新版SAFE平臺上使用IBM Cloud Hyper Protect Crypto Services來提升其基礎錢包管理的冷存儲功能,通過利用公有云中提供的FIPS 140-2 Level 4認證硬件構建的安全模塊(HSM)來實現密鑰的生成和存儲,具有高度的防篡改功能。

IBM Z(IBM Z as a Service)總監Rohit Badlaney表示:“通過利用IBM云超級保護服務,安托可以構建一個高度靈活且安全的基于云的解決方案,支持像安托這樣的托管平臺是IBM Cloud Hyper Protect Services非常理想的應用案例。”

安托董事會主席、Onchain CEO達鴻飛表示:“我們一直在與我們精選的合作伙伴一起不斷擴大客戶群和開放式金融服務產品。隨著我們增強的托管解決方案的上線,安托已準備好進一步擴展。我們正在尋找戰略投資者來加速我們的擴展。”

安托是一家位于新加坡的數字資產托管平臺,于2018年獲得復星、DHVC、紅杉資本的投資。[2020/3/4]

多簽是怎么做的呢?就是在最上邊的智能合約部分來數合法簽名的個數,一個、兩個、三個……夠了,就把錢轉出去。這種方式不在乎下邊用的是什么簽名算法,Schnorr?也好、BLS?也好,對它來說沒有半點區別。

這是多簽的一個基本原理,也可以說是好處,它能夠和底層的簽名算法做到一定程度的解耦。但它的問題是要適配不同鏈系統,一千條鏈就需要一千個智能合約,多鏈的兼容性很弱。

問:那基于MPC的門限簽名是怎樣的?

謝翔:我把這張圖重新畫一下。最下邊還是這條鏈,中間還是數字簽名,上邊是智能合約。基于MPC的門限簽名不會去管下邊的鏈,也不會去管上邊的合約,兩頭它都不會管,它只管右邊這部分,也就是鏈下創建簽名的部分。

它的思路是說一個簽名一定是有一個私鑰的,它把這個私鑰以某種方式分成很多「碎片」,這些碎片可以被很多人同時拿著,然后通過一套MPC協議,保證這些碎片不需要被拼起來就可以直接產生一個合法的簽名。「不需要被拼起來」代表著真正的私鑰始終沒有、而且也不需要出現。

分析 | 攻擊者控制了 GateHub 數據庫里的部分賬號 API 權限,不過用戶私鑰是安全的:慢霧安全團隊通過鏈上行為分析可以得知:攻擊者最早于 05/29/2019 12:14 UTC 時間通過 CoinPayments 創建并激活了攻擊者的第一個“攻擊者賬號”(rN5Gm1FijbTVeYFfpTRfGKfNZQY7hc9TbN),攻擊者在 05/30/2019 12:23 UTC 時間攻擊 GateHub 第一個賬號(控制了這個賬號的有關權限),并通過這個被攻擊的賬號創建并激活了第二個“攻擊者賬號”(r9do2Ar8k64NxgLD6oJoywaxQhUS57Ck8k),之后第二個“攻擊者賬號”還創建并激活了第三個“攻擊者賬號”(rpBDxqWArAQTEfPeWwkUvBh1cbc885nirX),之后攻擊者攻擊了 GateHub 至少 103 個賬號,最后一次攻擊時間是 06/01/2019 18:40 UTC 時間,并通過這三個“攻擊者賬號”完成洗幣操作。慢霧安全團隊通過相關分析推測攻擊者至少是控制了 GateHub 數據庫里的部分賬號 API 權限,不過用戶私鑰是安全的。攻擊持續三天多的時間才被阻止,該平臺的用戶應立即轉移資產并更新賬號相關權限。[2019/6/8]

問:簽名是在鏈下完成的?

謝翔:需要簽名的時候,比如說我們公司三個人會在鏈下跑一個協議,生成一個簽名,再把簽名放到鏈上。生成簽名的邏輯是放在MPC里實現的,出來的是一個標準的簽名,但怎么跑這個協議別人是不知道的。

把這個簽名結果放到鏈上去,別人分不清它后面是一個人簽的還是多個人簽的,因為它的形態、樣子就是一個簽名,和直接用私鑰簽出來是一模一樣的。這一套簽名機制可以完全獨立于鏈,部署在企業的內部。

發現了沒有,多重簽名主要是去數合法簽名的個數,它不依賴于簽名算法,但要去適配鏈系統;基于?MPC?的門限簽名主要是去產生一個簽名,它依賴于簽名算法,但不需要去適配合約和鏈系統。

基于MPC的門限簽名與合約模塊是完全解耦的,合約是怎么寫的、鏈是怎么樣的,它完全不在乎。它只要區別簽名算法,只要簽名算法是鏈系統支持的,它就能很好地銜接。算法的話現在可能就是ECDSA、Schnorr、BLS?,所以兼容算法就能兼容很多鏈。基于MPC的密鑰管理能做到對多鏈友好,這是一個大的優勢。

聲音 | 趙東:不是包庇幣安,所有的安全方案都不能防止被攻破:趙東剛剛回應網友指責是在包庇幣安時表示,“這不是包庇,黑客圈有句話:100萬美元代價可以攻破所有的網站。所有的安全方案,都不能防止自己不被攻破。能做到的事情是:1 降低被攻破的概率 2 在被攻破的時候把損失降到最低。”[2019/5/8]

另外一個優勢就是這套簽名機制的策略是鏈下的,因此更加安全,它避免了合約被黑客攻擊的風險,而且設計策略可以更加靈活,因為除了驗簽外的大部分流程都搬到鏈下了,使用方可以根據場景,制定自己的碎片管理策略。

問:MPC在這個過程中的作用是什么?

謝翔:MPC是一種基于密碼學的協同計算框架,廣義地理解就是多方各自有私密的輸入,一起來完成一個計算任務,在成功完成任務的同時,可以保證整個過程中各自的私密輸入不會泄露。

比如一個「2-3模式」的基于MPC的密鑰管理協議,意味著一共有3個碎片,只要任意的2個碎片參與執行協議,就可以產生一個合法簽名。這里的簽名產生過程,包括碎片產生過程,都可以看成一種安全多方計算,因為在協議執行過程中,產生和交換的所有中間數據都不會直接或者間接地造成碎片明文的泄露。

問:基于MPC的門限簽名為什么要跟簽名算法相關?

謝翔:我有多塊碎片,怎么去實現這一個簽名出來?這和算法結構是強相關的,所以會存在某個算法容易做MPC,某個算法不容易做MPC的問題。比特幣要升級到Schnorr,Schnorr?是非常兼容MPC的,ECDSA?不那么兼容MPC。

問:在基于MPC的密鑰管理中,真正的那個私鑰存儲在哪兒?

謝翔:你會發現有個很好玩的事情,就是在整個密鑰管理的生命周期里,真正的私鑰從來沒有出現過,也就沒有私鑰存儲在哪里這個問題了。這是基于MPC的密鑰管理的精髓所在,它能夠保證密鑰能用但不存在。

在傳統的密鑰管理中,密鑰是一種確實存在的數據資產,保管它是一件非常難的事情。基于MPC的門限簽名在物理層面直接從系統里剝離了密鑰,這與傳統系統在安全理念上是截然不同的。

在傳統方式下,黑客盯住一個點就行,因為私鑰就存在那個點上;但基于MPC的密鑰管理將密鑰的安全性分散在多個托管節點里,私鑰在任何時刻都會被分成多份在多個地方,黑客可能要攻破第一個、第二個、第三個、第四個,要把四個碎片全部搞定才能拿到密鑰,而且必須在某一時間范圍內同時拿到四個碎片才能得到密鑰,因為密鑰碎片是在不斷刷新的。

知道創宇404區塊鏈安全研究團隊發布預警 某虛擬貨幣正發生盜幣事件:近日知道創宇 404 區塊鏈安全研究團隊通過網絡空間搜索引擎 ZoomEye 發現有近兩千個某著名區塊鏈貨幣節點管理接口暴露在互聯網上,問題嚴重的是,這些暴露的節點管理接口不需要任何登陸密碼即可訪問登陸。知道創宇 404 區塊鏈安全研究團隊通過測試發現,通過更改管理接口,將造成節點 SDK 地址等重要信息泄露,而這些 SDK 地址同樣無需密碼登陸即可訪問,更為嚴重的是通過這些節點管理接口,可以惡意提交目的為任意地址的轉賬交易,實現盜幣行為!知道創宇 404 區塊鏈安全研究小組進一步跟進并通過部署對應蜜罐發現,已有惡意攻擊者通過這些暴露的節點管理接口盜取該虛擬貨幣,相關平臺應盡快自查節點安全,辨識錢包地址是否被篡改,知道創宇 404 區塊鏈安全研究團隊將持續跟進此次盜幣事件。[2018/5/14]

比如密鑰是10,把它拆成兩個碎片,分在兩個地方。你可以把10拆成5+5,但過一分鐘后把它拆成1+9,再過一分鐘后把它拆成2+8。黑客要在一分鐘之內把兩個點都攻破才能拿到10,如果第一分鐘攻破第一個地方、第二分鐘攻破第二個地方,黑客拿到的是5和9,不是正確的密鑰。

問:多簽是無法做這種刷新的?

謝翔:沒有辦法。對于多簽,比如參與多簽的是三個人,其中一個人的私鑰被偷了,那對應的方法不是說刷新密鑰,而是要趕緊換地址,把錢轉到新的地址里,這在很多應用場景里是個痛點;或者比如說現在是三個人參與多簽,需要加第四個人,這個時候也要換地址,然后需要一個新的多簽的合約,這是很費勁的,而且轉錢到新地址還需要手續費。

但這些對于MPC來說就很容易,它可以保證對外的地址一直不變,內部刷新就好。這個好處也是我們看重的點。

基于MPC的密鑰管理的應用

問:基于MPC的密鑰管理可以降低私鑰的使用門檻嗎?這或許是最讓普通用戶頭疼的地方。

謝翔:它可以做到與傳統的中心化的方式沒有區別,做到用戶體驗一樣:使用數字貨幣時的操作和你使用微信錢包時的操作是一樣的,你不需要去記助記詞、或者把助記詞存硬件、用本子抄寫下來等等。

用MPC一個好玩的事情是什么呢?比方說A和B用MPC共同管理一個賬戶,那么他們倆就可以同時來控制這個賬戶,但同時都不需要記助記詞。如果A想用的時候,要發一個請求給B,B同意后,A和B通過一套既定的規則,在本地利用各自的碎片計算出一些中間變量,通過信息交換,A就可以在本地生成一個合法的完整簽名,驗簽通過后,A就可以把賬戶里的錢轉出去。

當然這里還有一個問題,如何為A和B生成碎片。事實上,利用MPC技術可以實現A和B各自在本地生成一個碎片,這兩個碎片可以隱式地拼接成一個私鑰,注意,這種拼接只是一種蘊含的數學關系,碎片實際上從未在任何時刻被拼接過。

這個時候,B那個角色也可以是一個第三方的服務器。服務器確認一下KYC,核實是不是你發起的,是你發起的之后它就自動通過,也就是自動給出另一個碎片來一起生成簽名。KYC就是通過發短信、人臉識別、發郵件等等方式,這樣一來,用戶的操作方式就和傳統的操作方式一模一樣。這就和實際的應用場景很掛鉤了。

我們做了一個叫?KeyShard?的App,是為了告訴用戶基于MPC的密鑰管理可以怎么用,可以試著體驗一下,現在只支持以太坊。它就是模擬的傳統的權限管理,要兩個人同意才能動賬戶。

問:回到最開始。你說把傳統的對于錢的授權管理機制挪到數字貨幣領域。在傳統審批流程里,可能需要A先通過,然后B簽字,然后C簽字,這是MPC現在就可以做到的嗎?

謝翔:這其實是一個很關鍵的問題。在傳統的流程里這叫做傳簽,傳簽在MPC里會有一些障礙,我畫一下MPC大概的邏輯。

MPC這個算法協議是要彼此相連和交互的,比如說經理、財務、CEO三個人參與生成簽名,它是要求這三個人必須同時在線的,所以MPC純算法本身很難做到傳簽。

但我們可以利用工程架構在產品層面實現傳簽功能,讓上層的用戶不用去管也不用去想底層是怎么運行的,對于用戶而言,產品的操作體驗和傳統傳簽是一樣的。所以算法和產品之間是有很大差異的,這里有兩套東西,除了算法本身,還需要把技術和業務邏輯結合起來。

問:可以這么理解嗎,基于MPC的密鑰管理不僅是為了安全地存儲密鑰,它更是為了個人或企業能夠方便地、滿足業務邏輯地使用密鑰?

謝翔:它有多個優勢,安全存儲是一方面;而讓個人或者企業更安全便捷地使用密鑰是另一方面。前者是指基于MPC的密鑰管理對密鑰或者資產的「托管能力」,體現了靜態的安全性;后者是指基于MPC的密鑰管理可以主動設計出多樣化的策略管理,是一種動態的業務賦能。

問:如果有一個需要管理多種Token的投資機構,它是不是可以買一套基于MPC的密鑰管理算法,然后用這套算法實現對不同鏈的簽名,進而實現對不同鏈上資產的管理?

謝翔:它不太可能直接買算法,它會買產品,比如買一套基于MPC的密鑰管理軟件裝在公司內部的服務器上,然后就可以通過一個界面去管理資產。你可以理解為它買了一套基于MPC的財務管理系統。

密鑰管理的最底層是一套算法,但可以把它包成產品,也可以包成?App、包成SDK。

問:如果有一個錢包公司,希望錢包添加一個讓用戶能基于MPC管理私鑰的功能,是不是可以找專業的提供MPC解決方案的公司合作?

謝翔:對。你可以理解為這個市場有投資機構、有錢包、有交易所,還有其它的一些業務公司,它們各自有自己的業務,但它們一定都會有怎么管錢這個問題,我們就是提供一套基于MPC的密鑰管理能力,也就是基于MPC的管錢的能力,來跟它們自己現在的這套系統對接。

從公司的定位來說,KeyShard?其實是一個技術提供商或一個基礎設施公司,它把自己往下沉得多一點,不碰上面的業務。它主導的是底層的密鑰管理的SDK,希望把授權管理的業務流程揉到SDK里面去,當然難點在于要抽象出一套相對來說足夠靈活、好用的SDK。

基于MPC的密鑰管理面臨的挑戰

問:基于MPC的密鑰管理現在碰到的難點是什么?

謝翔:技術的、非技術的都有。非技術的是有人會問為什么它是安全的?給我個證書。傳統KMS?是有證書的,但因為基于MPC的密鑰管理時間沒有那么長,沒有認證。

這是這個學科的特殊性引發的問題。密碼學雖然有堅實的理論基礎,但是它分理論安全和實際安全,實際安全是不是能達到理論安全這個層面是需要時間檢驗的。所以一是需要標準機構,二是需要學術研究的推動。我們會積極地去推進類似標準、去推進工業界對這個技術的認可,但需要時間,沒那么快。

技術上的難點就是剛才說的,需要把這一套新的技術和復雜的業務邏輯結合起來。此外,MPC是一套分布式的技術,分布式的話就會有同步,也就是共識的問題。

原來的授權管理是一個純中心化的東西,業務流程會很好配;但分布式的場景下會有一定的難度,比如使用者在不在線的問題,網絡好不好的問題,如果在密鑰刷新的時候有延時,是用后面那個碎片還是用前面那個碎片的問題。這種細節會有很多,都要去考慮。

問:基于MPC的密鑰管理沒有可追究性這種說法是準確的嗎?就是說不知道誰簽了誰沒有簽,無法追查責任?

謝翔:其實是可以知道的,從算法層面就可以抓到是誰簽的。算法底層可以通過引入檢查和舉報機制,追查到誰沒有簽,甚至知道是誰在簽名過程中給了不遵循規則的錯誤信息。

來自使用的需求:

密鑰管理是一個正在變得越來越重要的概念,它甚至有可能成為區塊鏈領域一類重要的基礎設施。因為當數字貨幣或Token更多的被交易和使用,而不僅僅被一勞永逸地存儲時,通過私鑰或錢包密碼使用資產的方式既不安全,也不友好,更難以滿足諸多應用場景的需求。

多重簽名和基于MPC的門限簽名都是實現密鑰管理的方法,但它們是截然不同的設計路線:前者在鏈上,依靠智能合約數合法簽名的個數;后者在鏈下,依靠MPC用碎片生成合法簽名。本文重點介紹的是后者,也就是基于MPC的密鑰管理,希望能對你了解這種技術和方案有一些幫助。

重新認識「私鑰」:私鑰不是鑰匙

「私鑰」這個詞帶來的直覺反應是,它是一種「鑰匙」,作用是打開保管著數字貨幣的保險柜,想一想也似乎有道理,使用私鑰就能拿到幣。但實際上,在區塊鏈和數字貨幣領域,私鑰就意味著資產本身。

試想,你的保險柜鑰匙丟了,你的錢是依然還在的,你可以再配一把鑰匙;但如果私鑰被忘了,錢可就永遠消失了。你的保險柜鑰匙被偷了,你的錢可能依然安全,因為小偷還需要溜進大樓、撬開房間的門鎖;但如果私鑰被偷了,錢幾乎立馬就不再屬于你。

私鑰不是那把打開保險柜的鑰匙,它是要被放進保險柜的資產本身。而如何設計一個保險柜系統存放私鑰,使得柜中的私鑰既安全、又易用,就是密鑰管理。屆時,交到用戶手中的就不是私鑰,而是一套打開保險柜的鑰匙。

多重簽名和基于MPC的門限簽名都是實現密鑰管理的方法,但它們是截然不同的設計路線:前者在鏈上,依靠智能合約數合法簽名的個數;后者在鏈下,依靠MPC用碎片生成合法簽名。本文重點介紹的是后者,也就是基于MPC的密鑰管理,希望能對你了解這種技術和方案有一些幫助。

Tags:MPC區塊鏈數字貨幣KENgmpc幣還能再上線嗎區塊鏈的五大應用領域穩定幣是數字貨幣嗎為什么tokencan交易所

萊特幣價格
區塊鏈商業支付公司Paystand獲得2000萬美元B輪融資_TUR

據報道,區塊鏈商業支付公司Paystand已經在B輪融資中籌集了2000萬美元。 圖片來源:Pixabay動態 | 報告:全球醫療保健市場區塊鏈2018-2023年將獲得4206萬美元:根據Ma.

1900/1/1 0:00:00
評論 | 疫情促進中國數字經濟進入更高版本 危機下區塊鏈不再缺席_人工智能

作者:互鏈脈搏,原題《此次公共衛生事件,促進中國數字經濟進入更高版本》時間回到2019年12月17日,按照時間推算“新冠病”已經出現,但這一天.

1900/1/1 0:00:00
區塊鏈技術融合,全流程溯源不是偽命題_區塊鏈

文/路成業 編輯/王巧 本文首發于微信公眾號鋅鏈接,關注公眾號,和我們一起探索產業區塊鏈價值。如需轉載文章,請微信申請開白名單.

1900/1/1 0:00:00
Trezor錢包也不再安全?只需15分鐘,黑客通過物理訪問就能竊取私鑰_ZOR

據Cointelegraph2月1日報道,Kraken安全實驗室于近日對外公布,Trezor硬件錢包及其衍生產品可以被黑客竊取私鑰.

1900/1/1 0:00:00
以太坊2.0更新速覽(七):階段1.5意味著以太坊告別PoW_以太坊

歡迎閱讀2020年第一篇以太坊2.0更新速覽系列文章!今年將是令人興奮的一年。 長話短說: 基金會發布v0.10.0規范,為多客戶端測試網和安全審查目標提供基礎;@paulhauner和@sig.

1900/1/1 0:00:00
比特幣是否實現了亨利·福特的能源貨幣夢想?_LIBRA

大約100年前,實業家和汽車大亨亨利·福特提出了一種“能源貨幣”來代替黃金。比特幣最終能否兌現這種“能源貨幣”的某些承諾?根據CaprioleInvestments最近在Medium上發布的帖子.

1900/1/1 0:00:00
ads