引介|主流密鑰管理項(xiàng)目深度對(duì)比

Odaily星球日?qǐng)?bào)官方賬號(hào)
隨著區(qū)塊鏈和其他加密用例的激增,私鑰在經(jīng)濟(jì)等方面被賦予更多價(jià)值。隨之而來的是密鑰管理的重要性不斷上升,目前,已經(jīng)有了多個(gè)密鑰管理系統(tǒng)。

隨著區(qū)塊鏈和其他加密用例的激增,私鑰在經(jīng)濟(jì)等方面被賦予更多價(jià)值。隨之而來的是密鑰管理的重要性不斷上升,目前,已經(jīng)有了多個(gè)密鑰管理系統(tǒng)。本文將進(jìn)一步深入探討密鑰管理的幾個(gè)問題及密鑰管理系統(tǒng)的取舍方案。

01基于用戶設(shè)備的密鑰管理

這幾乎是管理密鑰對(duì)的最基本方式——將其存儲(chǔ)在用戶的設(shè)備上。設(shè)備包括他們的瀏覽器、桌面、移動(dòng)設(shè)備或硬件錢包/賬本。這是目前在錢包上管理私鑰的最常見方式,但它有幾個(gè)缺點(diǎn)。

首先,大多數(shù)用戶并不熟悉密鑰和助記詞管理方法。此外,標(biāo)準(zhǔn)密鑰管理在安全性(密鑰被泄露的可能性)和冗余性(在沒有備份的情況下丟失密鑰)以及便利性三者之間需要有所取舍。這就有了其他管理方案

02托管式密鑰管理

受信任的第三方代表用戶管理私鑰,并在登錄時(shí)將私鑰返回給用戶.

03密碼管理模型

密碼管理模型使用用戶提供的容易記憶的密碼來加密客戶端生成的密鑰,然后將這些加密密鑰和密碼散列存儲(chǔ)在服務(wù)器上。

密碼管理模型是指,通過用戶設(shè)置的密碼口令在客戶端對(duì)私鑰進(jìn)行加密,他們?cè)賹⒓用芎蟮乃借€和密碼哈希存儲(chǔ)在服務(wù)器上。

1.png

當(dāng)用戶登錄時(shí),他們向服務(wù)器提供用戶名/密碼哈希組合,檢索并在本地對(duì)密鑰進(jìn)行加解密。尤其方便的是,該模型允許用戶使用任意設(shè)備去訪問其密鑰。

密碼管理模型的非托管性使得我們?cè)谑褂迷撃P蜁r(shí)仍需要做出取舍。由于是用密碼加密用戶密鑰,因此該模型也會(huì)遭受與傳統(tǒng)密碼系統(tǒng)相同的暴力/彩虹攻擊。任何能夠訪問密碼哈希/加密密鑰的攻擊者都能夠重復(fù)嘗試破譯用戶密鑰。對(duì)于帶有符號(hào)、字母和數(shù)字的密碼,破解6字符的密碼組合需要34秒,而8字符需要1-2天。此外,還可能拒絕訪問加密密鑰,從而導(dǎo)致審查的麻煩。

04門限密鑰管理

門限密鑰管理通常使用某種密鑰共享將用戶密鑰分割成多份。只要擁有某個(gè)最低份數(shù)的密鑰分片就可用于重建用戶密鑰。門限密鑰管理允許多個(gè)EOA控制單個(gè)帳戶,允許用戶對(duì)一個(gè)密鑰擁有多個(gè)分片,允許用戶在不損害主密鑰的情況下保留分片作為備份,并且,允許在不造成安全隱患的前提下實(shí)現(xiàn)密鑰分片重復(fù)使用。

門限密鑰管理模型的屬性取決于用戶保存每個(gè)密鑰分片的位置。不同的錢包和方案根據(jù)實(shí)際用例制定了不同的方法。

05智能合約錢包模型

智能合約錢包不是密碼,而是持有和管理用戶資產(chǎn)的合約,由私鑰或外部擁有的帳戶(EOA)管理。因此,智能合約錢包的屬性同樣取決于應(yīng)用場具及其EOA的管理方式。與門限密鑰管理類似,智能合約錢包具有多個(gè)EOA控制單個(gè)帳戶的優(yōu)點(diǎn)。此外,還可以利用抽象計(jì)算來實(shí)現(xiàn)諸如日常開支限制或權(quán)限之類的功能,從而保護(hù)用戶資產(chǎn)。

與較強(qiáng)的算力相伴而生的是更少的可組合性和更高的成本。智能合約錢包僅限于在其所在的區(qū)塊鏈上使用,甚至被局限在L1和L2之間。智能合約錢包也不是一個(gè)簡單的密鑰,而是一個(gè)合約。因此,用戶預(yù)期的簡單本機(jī)函數(shù)(如簽名或認(rèn)證)無法工作。另外,盡管隨著更快、更具可擴(kuò)展性的解決方案的推出,成本有希望進(jìn)一步降低。但是成本仍是目前存在的無法忽視的問題。

解決方案

Metamask

Metamask可用于普通的Chrome瀏覽器中訪問,稱為Chrome擴(kuò)展錢包或移動(dòng)錢包。Metamask可管理設(shè)備上的密鑰,具有操作簡單且非托管的特點(diǎn),但需要將助記詞和設(shè)備同步。

Portis

使用密碼管理器模型保存密鑰。作為一個(gè)集成到DAPP中的web錢包,Portis利用用戶的瀏覽器iFrame和域安全模型來保護(hù)用戶的密鑰。Portis有一個(gè)npm包(javascript著名的包管理工具),為開發(fā)者提供Web3支持。

Fortmatic/Magic

由于Magic(前身為以太坊錢包解決方案提供商Fortmatic)使用密碼/電子郵箱組合,所以經(jīng)常被誤認(rèn)為是密碼管理器模型。然而,他們實(shí)際上是由HSM(硬件安全模塊)和AWS(亞馬遜云服務(wù))保管的。在深入挖掘Fortmatic的內(nèi)在機(jī)制后,我們發(fā)現(xiàn)其博客也印證了我們的結(jié)論:

2.png

上圖向我們展現(xiàn)了注冊(cè)過程中的交互流程。其訪問密鑰的明確身份驗(yàn)證取決于調(diào)用憑據(jù)(Access Token)。fortmatic relayer和AWS cognito也可以訪問此調(diào)用憑據(jù)。

Magic的密鑰恢復(fù)過程印證了以上結(jié)論。除非您暴力破解用戶的密碼,密碼管理器模型是不可能的實(shí)現(xiàn)密鑰恢復(fù)的。但Magic可以在不知道您以前的密碼的情況下,通過電子郵件發(fā)送、驗(yàn)證和重置您的密碼。

3.png

Bitski

Bitski是托管類電子錢包。它們從不在前端或?yàn)g覽器公開用戶密鑰,從而避免系統(tǒng)漏洞,提高安全性。

Argent

Argent使用智能合約錢包和存儲(chǔ)在其移動(dòng)應(yīng)用程序中的密鑰。Argent與其他Argent智能合約錢包共同實(shí)現(xiàn)社交恢復(fù),甚至代表用戶支付gas費(fèi)用。

Authereum

Authereum同樣是一款智能合約錢包,專為網(wǎng)絡(luò)使用而設(shè)計(jì),其EOA通過密碼管理器模型進(jìn)行管理。Authereum支持密鑰恢復(fù),整個(gè)恢復(fù)過程是通過附加并下載另一個(gè)密鑰來完成的。

Torus/tKey

Fireblocks

Fireblocks也同樣進(jìn)行閾值密鑰管理,但通常面向企業(yè)而不是個(gè)人級(jí)別。Fireblocks允許不同的個(gè)人以不同的配置來管理公司中的資產(chǎn)。

小結(jié)

4.png

THEEND

最新評(píng)論(評(píng)論僅代表用戶觀點(diǎn))

更多
暫無評(píng)論