作者:廖飛強|微眾銀行區塊鏈核心開發者
來源:微眾銀行區塊鏈微信公眾號
數字簽名在數字契約中包含不便公開的敏感信息時,如何進行有效的簽名?簽名時看不到信息明文,日后出現糾紛該如何追究維權?連簽名者都看不到數據信息,如何支持有效的監管介入?其背后的盲簽名技術和其他簽名技術相比,有何過人之處?
在越來越重視隱私保護的數字化經濟大背景下,對用戶數據的隱私保護要求也日益提高。甚至在一些涉及敏感數據的場景中,用戶向認證者提供待認證的數據,認證者都不能觀其明文。
例如,關鍵事務決議相關的電子投票系統可能要求投票認證者在不知道每張選票意向的條件下,對每張選票進行認證,排除未授權投票者的選票。這需要保護選票意向的隱私性,又要驗證選票意向明文的有效性,看起來是一項不可能的任務。
經典數字簽名技術,需要獲得數據明文,才能進行簽名和驗證,所以無法直接應用。為解決上述問題,盲簽名技術應運而生。盲簽名究竟如何在盲化數據明文之后,依舊保持數字簽名的可驗證性?盲簽名可以支持哪些典型的應用場景,且看本文一一解析。
1.盲簽名的盲化性
盲簽名技術設計的核心在于盲化待簽名的數據,對應的機制在傳統紙質簽名中也有類似的存在。
最典型的示例便是
保密信封,其大致原理如下:
彭博商品策略師:在數字化世界里,比特幣正在成為抵押品:金色財經報道,Bitcoin Magazine發推稱,彭博高級商品策略師稱,在一個數字化的世界里,比特幣正在成為抵押品。[2022/4/25 14:46:11]
第一步:將保護敏感數據的文件放進信封,在待簽名區域上方放入一張復寫紙,而后密封信封。這樣一來,任何人不能透過信封觀察信封內文件的具體內容。
第二步:將密封的信封提交給簽名者簽名,簽名過程中,信封上的簽名可以透過復寫紙簽到文件上。
第三步:使用者打開信封,取出的已簽名文件,任意第三方可以認證其簽名的有效性。
類似地,在使用盲簽名中,用戶通過技術手段對原始數據進行盲化,然后將盲化后的數據交給簽名者簽名,獲得盲簽名后再解盲,便得到了關于原始數據的有效數字簽名。
盲簽名技術的核心機制是盲化和解盲。盲化是指對原始數據添加隨機性數據,隱匿原始數據明文。解盲是指移除隨機性數據,將盲簽名恢復為可驗證的簽名。
由此,盲簽名在經典數字簽名的基礎上,新增了以下重要特性:
盲化性:簽名者難以通過盲化后的待簽數據,反推出原始數據的明文。
不可追蹤性:簽名者之前是對盲化后的待簽數據簽名,但使用者獲取該盲簽名后,會進行解盲處理,得到對應原始數據的另一個不同的簽名,因此簽名者無法對這一對簽名進行關聯和追蹤。
中國科學院龔健:工業區塊鏈的四個優勢可助產業數字化轉型:近日在內蒙古自治區包頭市舉辦的“2020中國新產業峰會”上,中國科學院軟件所區塊鏈與邊緣計算實驗室首席科學家龔健表示,工業區塊鏈具有去中心化、公開透明、安全可靠、開放共識四個優勢特點,可助力產業實現數字化轉型。工業區塊鏈在具體應用中,企業內部可以實現生產流程自動化,在產業鏈中可以實現數字化,最終實現產融協同。區塊鏈可以打通上下游產業鏈,打破信息鴻溝,實現生產、物流、交易等各個環節的信息公開共享,高效撮合各類交易,與此同時還能保障各方信息安全,大大提高效率,為中小工業企業金融融資提供技術支撐。(新華社)[2020/12/10 14:47:37]
回到之前提到的電子投票系統,上述特性可以很好地滿足對應的隱私需求。具體操作時,投票者先對選票進行盲化,投票認證者僅能對盲化后的選票進行簽名認證,無法知曉投票者選票的具體內容;后續投票者將盲簽名解盲,投票認證者也無法追蹤投票者的投票簽名。據此,保護選票意向隱私性和驗證選票意向明文有效性的需求得以同時滿足。
值得注意的是,簽名者對盲化后待簽數據進行簽名獲得盲簽名的過程,與對空白支票先進行簽名,然后允許使用者任意改寫支票內容的過程大不同。一般情況下,盲簽名一旦簽發,其認證的原始數據是不能任意改變的,即解盲之后獲得的簽名,僅對盲化前的原始數據有效。
實力派 | 眾安科技褚維國:在場景數字化建設過程中積極引入區塊鏈技術:在今日“金色實力派”線上訪談中,眾安科技/供應鏈金融解決方案總監褚維國表示,領導層的講話確實將區塊鏈帶入更多人的視野當中,讓更多的政府、企業等開始關注區塊鏈技術發展和應用,區塊鏈由此進入了一個快速普及、發展的好時段,政府、企業都在積極的探索區塊鏈的應用。從落地的角度來看,個人覺得更多的不是看行業,而是看場景,結合區塊鏈的技術特征,在場景數字化建設過程中積極引入區塊鏈技術,而不是反其道為之,抱著技術去找場景。從具體的場景上來看,供應鏈金融、商品溯源、積分、通證經濟等方面都是不錯的落地場景。[2019/12/10]
由此可見,盲化和解盲的構造是盲簽名有效性的關鍵,具體如何設計這兩個關鍵過程,常用的擴展有哪些,我們在下一節中繼續展開。
2.盲簽名的構造和擴展
盲簽名的構造
盲簽名的構造過程可以看作是經典數字簽名流程的一類通用擴展,通過引入
盲化因子和
盲化算法,額外實現了簽名的盲化和解盲步驟,其核心流程如下:
盲化數據:通過引入隨機數作為盲化因子blinding_factor,將原始待簽名的數據進行盲化處理。
聲音 | 國家區塊鏈經濟課題研究小組秘書長:5G將催生和推動各行各業的數字化發展:11月4日, “2019第三屆深圳區塊鏈與分布式存儲大會暨展覽會”在深圳開幕。與會的專家學者和企業代表分別就“區塊鏈搭建數字資產的互信機制”、“區塊鏈物聯網解決方案”、“民生領域中聚合區塊鏈創新應用”等話題進行交流。國家區塊鏈經濟課題研究小組秘書長、中國移動通信聯合會區塊鏈專業委員會主任陳曉華表示,5G將催生和推動各行各業的數字化發展。[2019/11/6]
簽名數據:利用私鑰將盲化的數據進行簽名。
解盲簽名:利用盲化數據階段的盲化因子將盲簽名解盲。
驗證簽名:利用公鑰驗證簽名。
現有的大多數經典數字簽名算法,都可以較為方便地構造出對應的盲簽名實現,比較典型的實現有RSA盲簽名、Schnorr盲簽名、DSA盲簽名等。
聲音 | 袁煜明:區塊鏈包括分布式賬本、價值傳輸網絡、通證激勵機制和資產數字化四個層次:火幣中國CEO袁煜明近日稱,區塊鏈分四個層次的,包括分布式賬本、價值傳輸網絡、通證激勵機制和資產數字化。這四個是逐步遞進的,越后面的復雜性、靈活性越高,風險也越大。分布式賬本就是賬本,基本是不可篡改的特性,目的是增強公信力。價值傳輸網絡是傳輸媒介,可能穩定幣或者法定數字貨幣;通證激勵體系,不僅要穩定,而且還要挖礦方式,使用場景;資產數字化,還需要進行交易和流通。[2018/11/28]
相比上一論中介紹的門限簽名(參見第17論),盲簽名沒有復雜的密鑰生成和協商問題,也不需要多方協同才能完成簽名,其性能與經典數字簽名相比并無太大區別。
盲簽名的擴展
盲簽名的不可追蹤性使得簽名者很大程度上失去了對簽名的控制權,如果出現用戶濫用簽名的情況,簽名者很難追究維權,這在不少業務場景中是難以接受的,因此時常需要對基礎的算法流程進行擴展。
在諸多擴展中,最常見的擴展之一便是公平盲簽名方案,其主要設計目標是允許簽名者在出現糾紛時,能夠通過以監管為代表的可信第三方還原出請求簽名的用戶身份和其他相關信息。
具體實現方式是引入一個可信第三方,通過可信第三方建立一種對簽名的追蹤機制。用戶將待簽名的原始數據和盲化后的數據首先發給可信第三方進行認證和登記,然后將盲化的數據和認證的數據發送給簽名者進行驗證,驗證通過后進行盲簽名,并保存盲化的數據。
后續如果需要進行簽名追蹤,簽名者發送盲化的數據給可信第三方進行查詢,獲取用戶的原始簽名數據和身份。
相比直接使用會暴露待簽名原始數據的經典數字簽名,公平盲簽名實現了一定程度上的
隱私數據訪問權限隔離:
簽名者只能看到用戶身份,不能看到待簽名的原始數據明文。
只有當可信第三方和簽名者聯合之后,才可以將原始數據明文和用戶身份關聯起來。
除了公平盲簽名之外,另一類常見的擴展是
部分盲簽名,即分離認證數據和隱私數據,只盲化需要保護的隱私數據,其典型的應用是網絡流量的欺詐檢測。
總體而言,盲簽名的構造支持較為通用的擴展需求。在實際業務應用中,根據具體的隱私保護需求,一般都可以自由選擇數據進行定向盲化,并在必要時引入監管所需的解盲機制,控制盲簽名被濫用的風險。
3.盲簽名的應用賞析
在盲簽名的諸多應用中,較為知名的莫過于電子現金。現實的電子現金業務會涉及復雜的流程設計,不便于體現盲簽名的作用。所以,下面以一個經典的教科書示例,來展示基于盲簽名的應用設計和使用注意事項。
在本例中,目標是構建一個與傳統紙幣功能相當的電子現金系統E-Cash,其核心需求如下:
貨幣價值性:電子現金是代表一定價值的數字符號,需要具備銀行的授權信用,并提供相關實體現金支持。
可交換性:電子現金相比實體現金,其優勢在于更方便交換、流動。電子現金與電子現金之間可以流動,電子現金與實體現金之間可以兌換。
防偽與不可復制性:每一張電子現金均需要經過銀行認證,不能任意生成,而且要求不能將已有的電子現金復制出多個可用的電子現金,防止重復使用。
匿名性:電子現金不能與用戶的身份進行綁定,保護用戶使用電子現金的隱私性。
針對E-Cash電子現金系統的各項業務流程,可以基于盲簽名技術,給出以下應用設計:
用戶開戶:在運行E-Cash電子現金系統的銀行,用戶注冊一個傳統的銀行資金賬戶和一個電子現金賬戶,并在銀行資金賬戶中存入一定量的資金。
電子現金發行:用戶在銀行的錢包客戶端生成一個隨機序列號,并設置申請的電子現金面額,
這里為了簡化描述,假定所有任意序列號所代表的的面額相同。而后用戶將隨機序列號進行盲化,再將電子現金發送給銀行進行盲簽名。
銀行無法知道用戶電子現金的序列號,卻能將簽發的電子現金發到用戶的電子現金賬戶。
電子現金支付:用戶A將一張電子現金支付給用戶B,用戶A在支付前需要解盲電子現金,再發送給用戶B。用戶B收到電子現金后進行簽名驗證,驗證成功后將電子現金的序列號發送給銀行。
銀行查詢該序列號,如查詢到該序列號已存在,代表該電子現金已花費,用戶A此次支付失敗。如未查詢到,則將序列號存儲下來,用戶A此次電子現金花費成功,銀行根據之前約定的序列號代表的面額,將收到款項計入用戶B的賬戶中。
以上設計中,
盲簽名的使用讓電子現金實現了與傳統紙幣同等的匿名性。用戶只有在經過銀行認證之后才能獲得電子現金,但銀行后續無法將使用解盲后的電子現金的用戶身份與當初發行的盲化電子現金關聯起來。
我們也可以進一步用公平盲簽名替換基礎盲簽名方案,將監管者引入電子現金系統,實現可控匿名的效果,為追究洗錢等犯罪活動提供有力的技術手段。
盲簽名的使用有很強的靈活性,在使用和設計基于盲簽名的應用時,分清角色進行針對性設計是用好盲簽名的重要前提,務必要厘清不同角色的訪問權限,想清楚盲化的數據是針對哪個角色、對哪些角色展現的數據不能盲化等問題。
正是:業務涉密契約禁明示,盲化簽名可簽不可見!
在隱私保護要求趨嚴,隱私數據保護立法日益完善的商業環境下,盲簽名技術提供了一種獨特的隱私數據保護手段。對于關鍵隱私數據,盲簽名既可以實現簽名認證,又可以對其數據內容進行隱匿保護,還可以選擇性地提供監管追溯支持,在現實業務場景中具有重要的實踐價值。
至此,密碼學數字簽名系列分享已近尾聲,對于之前介紹的數字簽名技術,其驗證過程大多是逐一進行的。然而,對于大數據場景中的海量隱私數據,如果需要對海量的數字簽名進行一一驗證,不免會帶來巨大的系統負擔,有時甚至會影響業務方的決策。
為了滿足高性能要求,校驗數據有效性的數字簽名可能被迫舍棄。有沒有更有效的批量簽名驗證技術,使得僅需一次驗證計算,便可完成多個簽名的效驗?技術上有何挑戰?欲知詳情,敬請關注下文分解。
最近舉行的第90期核心開發者會議幾乎全程都在討論一個問題。我強烈建議大家親自聽一下這場會議。在這場會議上,Alexey提出了客戶端開發者負荷過重的問題.
1900/1/1 0:00:00盡管監管機構需要更多時間,但比特幣ETF最終可能會獲得加密市場的批準。在7月15日的采訪中,灰度投資的董事總經理MichaelSonnenshein告訴摩根溪聯合創始人AnthonyPompli.
1900/1/1 0:00:00—撰文|?Cobo金庫大掌柜黑客從來只黑有價值的人,如果你覺得自己很安全,那只是你缺乏被黑的價值根據近幾年的用戶調研,掌柜發現有相當一部分用戶,即使你告訴他千萬遍“手機端軟件更便捷,更安全”.
1900/1/1 0:00:00據Cryptopotato7月17日報道,泰國央行計劃啟動其央行數字貨幣開發的第三階段,在當地企業中試行該數字貨幣.
1900/1/1 0:00:00OceanProtocol是一種專注于數據收集,共享和貨幣化的去中心化數據交換協議。它宣布與梅賽德斯·奔馳制造商戴姆勒公司合作進行一個試點項目.
1900/1/1 0:00:00兩種估值方法表明,DeFi將會繼續火爆,而且現在也沒有被高估。與MakerDAO相比,諸如Aave和Synthetix之類的創新協議有著更高的需求,與其潛在的增長潛力相稱.
1900/1/1 0:00:00