通行密碼是一種安全且使用者友善的身份驗證方法,也可以用於創建和安全存儲加密錢包,這歸功於它們使用的橢圓曲線加密技術。
在本篇文章中,我們將介紹通行證如何運作,探討使用通行證進行加密錢包的風險,並深入探討帳戶抽象如何使通行證能夠在與智能合約結合時使用。
密碼鑰匙是一種簡單而安全的方式,用戶可以在不需要存儲敏感密碼或記住任何登錄詳細信息的情況下登錄應用程序。相反,用戶可以使用熟悉的方法(如面容識別或指紋識別)創建和訪問帳戶。
這使用戶能夠輕鬆登錄並與應用程序進行授權交互,而無需存儲敏感憑據;提供無縫體驗,以及對抗數據泄漏和常見攻擊向量(如釣魚)的額外安全保障。
在大多數設備上,例如 iPhone,密碼都存儲在稱為 Gate 的專用硬件內。安全區; 一個專用的、隔離的環境,旨在保護敏感數據,即使主處理器受到破壞。
Passkeys利用公鑰密碼學在用戶設備上生成一對公私鑰,包括兩個鑰匙:
喜歡區塊鏈錢包,通行證的私鑰可用於簽署可發送以對區塊鏈上的狀態進行更改的消息和交易。
使用通行證的私鑰簽署交易,該交易被發送到安全硬體進行簽署,然後輸出結果的簽名。在整個過程中,所有者和應用開發人員都無法訪問私鑰;他們只接收生成的簽名。
這為用戶提供了增強的安全性,因為私鑰通常不會加載到應用程序的記憶體中,從而降低了暴露於潛在攻擊的風險。例如,在iPhone上,用戶甚至無法在其設置中訪問密碼的值,因為該密鑰是在專用硬件中生成並存儲的,不可通過界面訪問。
密鑰和加密錢包共用相同的橢圓曲線加密底層技術,以生成公鑰-私鑰對。區塊鏈應用程式開發人員可以利用密鑰為具有強大用戶體驗的用戶創建安全的應用內錢包。
然而,在使用通行證密鑰來管理區塊鏈帳戶時,有一個重要的不同之處;通行證密鑰使用不同的橢圓曲線。
在Apple、Android和WebAuthn中都使用secp256r1(又名P-256)曲線作為通行證,而區塊鏈帳戶則使用secp256k1橢圓曲線。
這意味著使用通行證的私鑰簽署的交易在以太坊或抽象等區塊鏈中不被理解(因此被拒絕)。區塊鏈的默認期望是交易由在secp256k1曲線上生成的密鑰對簽署。
由於普通(EOA)錢包是在k1曲線上生成的,所以智能合約錢包是必需的,因為它們可以包含自定邏輯,以驗證由私鑰生成的通行證簽署的交易,然後授權執行交易。
比特幣是第一個採用secp256k1曲線進行加密操作的,這為以太坊和其他基於EVM的鏈使用曲線的k1變體進行帳戶設置了標準。
曲線的k1變異也缺乏一些功能,例如額外的係數,使得secp256r1稍微複雜一些,這意味著secp256k1在密鑰生成、簽名創建和驗證方面更具計算效率。
雖然沒有發現直接的漏洞,但也有存在的陰謀論認為,比特幣選擇使用k1曲線而不是更受歡迎的r1曲線,以避免可能由像NSA這樣的政府機構秘密引入的後門,考慮到它們在NIST認可的加密標準的開發中的參與。
智能合約錢包(例如那些由Gate.io支援的)抽象的本地帳戶抽象化) 可以包含EVM执行的任意逻辑;包括对由在r1曲线上创建的私钥签名的消息进行签名验证。
像Gate.io這樣的開源庫Daimo的開源P256驗證器已經建立了在 Solidity 中編寫的智能合約內驗證 secp256r1 曲線簽名的功能。
在以太坊上,这意味着您可以使用使用智能合约构建的ERC-4337 賬戶抽象標準驗證使用者操作內的r1簽名validateUserOp
智能合約錢包的功能。
在Gate.io上,本地帳戶抽象化使智能合約錢包能夠以私鑰簽署的消息設置簽名字段來提交交易。如果發送交易的帳戶是一個包括驗證 r1 簽名邏輯的智能合約(驗證交易
當區塊鏈網絡中的節點(例如礦工)驗證了交易後,該交易就被接受。
智能合約錢包使用代碼(以智能合約的形式)來管理和控制其功能,這意味著它們可以具有任何自定義功能;包括恢復模塊、多個已批准的簽署者、消費限額、會話密鑰等等。
智能合約錢包比傳統的EOA(外部擁有帳戶)錢包更靈活,因為它們可以包含任意的EVM代碼,所以有能力驗證r1橢圓曲線上創建的金鑰對的簽名(即授權交易)。
由於在像以太坊或抽象這樣的區塊鏈上驗證 r1 曲線的簽名不是本地操作,因此進行此驗證的計算成本很高;這導致驗證 r1 簽名的燃氣成本大幅增加,相較於驗證 k1 簽名(大約昂貴了 100 倍)。
RIP-7212(Rollup Improvement Proposal)建議在Ethereum L2中增加預編譯的智能合約,以實現對r1曲線上更加節省Gas的簽名驗證。雖然這還沒有包含在以太坊上,但EVM兼容的擴展解決方案,如Abstract,已經實現了這一點,並為r1簽名驗證提供了100倍的Gas減少。
passkey錢包的缺點在於它們只與單一域名綁定。例如,如果您在some-domain.com上創建一個錢包,您的passkey(因此您的錢包)只能連接到該特定域名。
這是一個有意的設計選擇,以避免釣魚攻擊,但對於重視自主管理的用戶來說,這樣做可能存在一個重大缺陷,因為您的錢包直接綁定到一個應用程序上;這意味著:
出於這些原因,通行密鑰錢包最適合小金額或將初學者用戶引入到他們的第一次加密體驗中,直到他們對自我保管錢包更加熟悉。
這取決於您選擇如何備份金鑰。有多種選項可以將密鑰備份到雲中(例如 Apple 鑰匙串),以便即使丟失了原始密鑰,也可以在其他設備上訪問。
私鑰在任何時候都無法在設備上讀取,因為它位於安全隔區中。但是,如果他們可以訪問您的生物識別數據,他們可以像控制您的密鑰/錢包一樣執行操作。
不,您的生物特徵數據不會被發送到任何地方,它們會留在您的設備上。您的生物特徵數據只是用於“解鎖”通行密鑰。
通行密碼是一種安全且使用者友善的身份驗證方法,也可以用於創建和安全存儲加密錢包,這歸功於它們使用的橢圓曲線加密技術。
在本篇文章中,我們將介紹通行證如何運作,探討使用通行證進行加密錢包的風險,並深入探討帳戶抽象如何使通行證能夠在與智能合約結合時使用。
密碼鑰匙是一種簡單而安全的方式,用戶可以在不需要存儲敏感密碼或記住任何登錄詳細信息的情況下登錄應用程序。相反,用戶可以使用熟悉的方法(如面容識別或指紋識別)創建和訪問帳戶。
這使用戶能夠輕鬆登錄並與應用程序進行授權交互,而無需存儲敏感憑據;提供無縫體驗,以及對抗數據泄漏和常見攻擊向量(如釣魚)的額外安全保障。
在大多數設備上,例如 iPhone,密碼都存儲在稱為 Gate 的專用硬件內。安全區; 一個專用的、隔離的環境,旨在保護敏感數據,即使主處理器受到破壞。
Passkeys利用公鑰密碼學在用戶設備上生成一對公私鑰,包括兩個鑰匙:
喜歡區塊鏈錢包,通行證的私鑰可用於簽署可發送以對區塊鏈上的狀態進行更改的消息和交易。
使用通行證的私鑰簽署交易,該交易被發送到安全硬體進行簽署,然後輸出結果的簽名。在整個過程中,所有者和應用開發人員都無法訪問私鑰;他們只接收生成的簽名。
這為用戶提供了增強的安全性,因為私鑰通常不會加載到應用程序的記憶體中,從而降低了暴露於潛在攻擊的風險。例如,在iPhone上,用戶甚至無法在其設置中訪問密碼的值,因為該密鑰是在專用硬件中生成並存儲的,不可通過界面訪問。
密鑰和加密錢包共用相同的橢圓曲線加密底層技術,以生成公鑰-私鑰對。區塊鏈應用程式開發人員可以利用密鑰為具有強大用戶體驗的用戶創建安全的應用內錢包。
然而,在使用通行證密鑰來管理區塊鏈帳戶時,有一個重要的不同之處;通行證密鑰使用不同的橢圓曲線。
在Apple、Android和WebAuthn中都使用secp256r1(又名P-256)曲線作為通行證,而區塊鏈帳戶則使用secp256k1橢圓曲線。
這意味著使用通行證的私鑰簽署的交易在以太坊或抽象等區塊鏈中不被理解(因此被拒絕)。區塊鏈的默認期望是交易由在secp256k1曲線上生成的密鑰對簽署。
由於普通(EOA)錢包是在k1曲線上生成的,所以智能合約錢包是必需的,因為它們可以包含自定邏輯,以驗證由私鑰生成的通行證簽署的交易,然後授權執行交易。
比特幣是第一個採用secp256k1曲線進行加密操作的,這為以太坊和其他基於EVM的鏈使用曲線的k1變體進行帳戶設置了標準。
曲線的k1變異也缺乏一些功能,例如額外的係數,使得secp256r1稍微複雜一些,這意味著secp256k1在密鑰生成、簽名創建和驗證方面更具計算效率。
雖然沒有發現直接的漏洞,但也有存在的陰謀論認為,比特幣選擇使用k1曲線而不是更受歡迎的r1曲線,以避免可能由像NSA這樣的政府機構秘密引入的後門,考慮到它們在NIST認可的加密標準的開發中的參與。
智能合約錢包(例如那些由Gate.io支援的)抽象的本地帳戶抽象化) 可以包含EVM执行的任意逻辑;包括对由在r1曲线上创建的私钥签名的消息进行签名验证。
像Gate.io這樣的開源庫Daimo的開源P256驗證器已經建立了在 Solidity 中編寫的智能合約內驗證 secp256r1 曲線簽名的功能。
在以太坊上,这意味着您可以使用使用智能合约构建的ERC-4337 賬戶抽象標準驗證使用者操作內的r1簽名validateUserOp
智能合約錢包的功能。
在Gate.io上,本地帳戶抽象化使智能合約錢包能夠以私鑰簽署的消息設置簽名字段來提交交易。如果發送交易的帳戶是一個包括驗證 r1 簽名邏輯的智能合約(驗證交易
當區塊鏈網絡中的節點(例如礦工)驗證了交易後,該交易就被接受。
智能合約錢包使用代碼(以智能合約的形式)來管理和控制其功能,這意味著它們可以具有任何自定義功能;包括恢復模塊、多個已批准的簽署者、消費限額、會話密鑰等等。
智能合約錢包比傳統的EOA(外部擁有帳戶)錢包更靈活,因為它們可以包含任意的EVM代碼,所以有能力驗證r1橢圓曲線上創建的金鑰對的簽名(即授權交易)。
由於在像以太坊或抽象這樣的區塊鏈上驗證 r1 曲線的簽名不是本地操作,因此進行此驗證的計算成本很高;這導致驗證 r1 簽名的燃氣成本大幅增加,相較於驗證 k1 簽名(大約昂貴了 100 倍)。
RIP-7212(Rollup Improvement Proposal)建議在Ethereum L2中增加預編譯的智能合約,以實現對r1曲線上更加節省Gas的簽名驗證。雖然這還沒有包含在以太坊上,但EVM兼容的擴展解決方案,如Abstract,已經實現了這一點,並為r1簽名驗證提供了100倍的Gas減少。
passkey錢包的缺點在於它們只與單一域名綁定。例如,如果您在some-domain.com上創建一個錢包,您的passkey(因此您的錢包)只能連接到該特定域名。
這是一個有意的設計選擇,以避免釣魚攻擊,但對於重視自主管理的用戶來說,這樣做可能存在一個重大缺陷,因為您的錢包直接綁定到一個應用程序上;這意味著:
出於這些原因,通行密鑰錢包最適合小金額或將初學者用戶引入到他們的第一次加密體驗中,直到他們對自我保管錢包更加熟悉。
這取決於您選擇如何備份金鑰。有多種選項可以將密鑰備份到雲中(例如 Apple 鑰匙串),以便即使丟失了原始密鑰,也可以在其他設備上訪問。
私鑰在任何時候都無法在設備上讀取,因為它位於安全隔區中。但是,如果他們可以訪問您的生物識別數據,他們可以像控制您的密鑰/錢包一樣執行操作。
不,您的生物特徵數據不會被發送到任何地方,它們會留在您的設備上。您的生物特徵數據只是用於“解鎖”通行密鑰。