原文作者: Iraklis Leontiadis
創作者:Hahaho@DAOrayaki.org
審核者:Yofu@DAOrayaki.org
原文: The Role of Signatures in Digital Assets and Cryptocurrencies
可能你正在閱讀本文的時,所使用的瀏覽器和內容終端之間的通信保密也正在運行中,這一過程得益於核心密碼原語實現的身份驗證。可能你沒聽說過類似加密(encryption)、籤名(signatures)、消息認證代碼(message authentication code)等抽象名詞,但端到端的安全也正被這些技術保護着,外部某一方是無法在不被發現的情況下閱讀傳輸的內容亦或改變內容的。在本文中,我們將重點分析數字籤名的內部結構以及它們在數字資產和加密貨幣中的作用。
往期文章可參考:DAOrayaki |非金融類去中心化應用的產品原則
銀行支票本質是從發送方到接收方的資金轉移指令,而這一指令由發行支票的銀行確認。出票人要在支票上指定收款人及金額,隨後需要出票人在支票紙上的親筆籤名來驗證。在理想狀態下,不會出現任何問題,指定接收者去銀行,銀行驗證後進行資金轉移。但事實是,每張支票紙上的籤名不是唯一的,經常是相同的,這就使支票籤名容易被僞造。設想一下,如果你的支票被人篡改,轉账金額多了位0的損失將是巨大的。
銀行支票
這個問題如何解決呢?在傳統籤名中,發送人籤發信息的手寫籤名是唯一的(或同一的),數字籤名採取的方式是將需要籤名的信息與籤名本身綁定,每一個籤發信息的電子籤名都是一個新的字節流。在這一基礎上想僞造電子籤名,需要解決的難題以目前已有的工具和知識幾乎是不可能的,所以它相對更安全。
發送者可以指定其籤名鑰匙公开和保密的部分,接收者將發送者的公共信息與它的公共密鑰(通常是證書的形式)結合起來,驗證籤名的正確性。
電子籤名
驗證機構將發送者的公鑰及其元數據籤名(可公开識別)進行綁定。協議的安全性不僅依賴於籤名的安全保證、整個過程的安全實現、祕鑰的安全存儲和可靠的通信渠道,還依賴於驗證機構本身是否足夠安全。攻擊者可以執行中間人攻擊或冒充相關方,攻擊驗證機構和發行“虛假”證書的後果是糟糕的,相關例子屢見不鮮,比如Diginotar、Comodo和MonPass。
隨着分布式账本技術和在此基礎上的金融應用(加密貨幣)出現,人們提起了對數字籤名的興趣。數字籤名是數字資產系統的核心,保證了數字資產所有權,並防止了雙花問題(花費的比持有的多)。
在一個加密貨幣系統中,當史蒂夫想發送特定數量的數字資產(例如比特幣)給勞拉時,史蒂夫會在自己的账戶籤署一個包含支出信息的字節流,然後,擁有公开信息的礦工(驗證者)驗證籤名的有效性,並根據基本的共識機制,將其作爲主分布式账本上的一個區塊,最終完成交易。
數字籤名如果出現缺陷,會對系統的公平性和安全性產生破壞性的影響。攻擊者可以通過不安全的私鑰存儲,或底層算法的潛在缺陷,啓動未經授權的交易,造成的損失可能永遠無法恢復。在傳統金融系統中,卡號和密碼就是祕鑰,所以金融數字資產的安全就包括祕鑰的安全和數字籤名的安全。
目前有三種籤名管理分布式账本系統:ECDSA、Schnorr和EdDSA。這些籤名方案都依賴於橢圓曲线組和數學難題。不同的曲线提供不同的效率和安全保證,例如愛德華曲线通常被認爲更安全,因爲它更容易在恆定的時間內實現,以避免因其通用形式而產生的側信道攻擊。
在下文,我們將把底層的橢圓曲线運算組作爲一個“黑匣子”,只強調上面的代數方程。下文的所有籤名,都在一個質數階爲q的基礎組G進行算術運算,所有的運算都是q的模運算且存在一個散列函數H,輸入任意字節流,輸出的是Zq中的元素。
比特幣網絡上线時,中本聰決定將ECDSA定爲基礎籤名方案。籤名算法的第一步,是對新的隨機k進行採樣,如果不這樣,對手可以通過不同信息的兩個不同的籤名提取密鑰(例如PS3被黑事件)。如果重復隨機性聽起來比較極端,那么只要重復k中的一部分字節,就足夠以良好的概率提取剩余的隨機性。
籤名的另一個缺點是,它不易與區塊鏈所需的籤名副產品兼容,即:多重籤名、聚合籤名和MPC協議。原因是逆元素k^-1對計算籤名的s部分的非线性方程的影響。
最後重要的是,ECDSA根據定義是可塑的(可延展的):兩個不同的籤名可以映射同一個信息。這是可行的,因爲(r,s)和(r,-s modq)可以通過對s的形式實施限制來緩解(始終考慮較小的s),驗證信息m。
ECDSA籤名
Schnorr籤名方案,克服了ECDSA的一些缺點,它具有线性形式,可以更輕松地實現其MPC版本,使聚合和多重籤名的工作量變得更少。與ECDSA相比,它不具有可塑性,但有更強的理論安全證明分析。然而,對新的隨機性的需求仍然存在,這使它容易受到實施錯誤的影響。
Schnorr籤名
EdDSA消除了對每個消息的新隨機性的需要。如下所述,籤名算法從密鑰和消息中確定地獲取隨機性。此外,EdDSA是在Edward曲线上實現的,如Curve25519和Curve448,這使得它們在實施正確的情況下很容易保持恆定,並提供更有效的代數實現。
EdDSA籤名
密碼學研究隨着區塊鏈生態系統的設計、實施和部署而發展:閾值密碼學、零知識證明、聚合籤名、VDF、VRF、分布式隨機信標等。在過去的幾年裏,從研究和工程方面投入到數字籤名的工作量呈指數級增長,我們見證了從協議描述到POC到實現生產的最短時間周期。
我們也將看到替代上述籤名的新籤名;更快、更安全、更易於實施。從協議描述到POC再到生產的每一步都需要進行徹底的審查,一個小缺陷都會造成巨大的損失。早期採用到成爲標准需要數年時間的積累,加密協議是每個數字金融系統的核心,確保數字資產的安全,一個最佳選擇總是需要權衡取舍。
加密協議在生產環境中不是獨立存在的,安全分析僅是第一步,產品所有者、工程師、QA和devops需要與密碼學家加強合作,了解部署加密代碼的風險,並確保免受惡意用戶的影響。完美安全永遠不會存在,在Parfin我們採取了所有必要的步驟來保護相關基礎設施,盡可能地信任並盡量減少潛在的關鍵信息暴露。
標題:DAOrayaki |籤名在數字資產和加密貨幣中的作用
地址:https://www.torrentbusiness.com/article/13496.html
標籤: