數字簽名在數字契約中包含不便公開的敏感信息時,如何進行有效的簽名?簽名時看不到信息明文,日后出現糾紛該如何追究維權?連簽名者都看不到數據信息,如何支持有效的監管介入?其背后的盲簽名技術和其他簽名技術相比,有何過人之處?
在越來越重視隱私保護的數字化經濟大背景下,對用戶數據的隱私保護要求也日益提高。甚至在一些涉及敏感數據的場景中,用戶向認證者提供待認證的數據,認證者都不能觀其明文。
例如,關鍵事務決議相關的電子投票系統可能要求投票認證者在不知道每張選票意向的條件下,對每張選票進行認證,排除未授權投票者的選票。這需要保護選票意向的隱私性,又要驗證選票意向明文的有效性,看起來是一項不可能的任務。
經典數字簽名技術,需要獲得數據明文,才能進行簽名和驗證,所以無法直接應用。為解決上述問題,盲簽名技術應運而生。盲簽名究竟如何在盲化數據明文之后,依舊保持數字簽名的可驗證性?盲簽名可以支持哪些典型的應用場景,且看本文一一解析。
盲簽名的盲化性
盲簽名技術設計的核心在于盲化待簽名的數據,對應的機制在傳統紙質簽名中也有類似的存在。
最典型的示例便是保密信封,其大致原理如下:
AMD 全部 Zen 2 處理器寄存器存在漏洞,攻擊者可訪問敏感信息:7月25日消息,Google 信息安全部門發現 AMD 處理器寄存器漏洞(CVE-2023-20593),影響全部 Zen 2 處理器,攻擊者可在虛擬機內監聽宿主機數據。其中該漏洞在特定的微架構情況下,使 Zen 2 處理器中的一個寄存器可能無法正確地寫入 0,導致來自另一個進程或線程的數據被存儲在 YMM 寄存器中,可能允許攻擊者訪問敏感信息。目前 AMD 已發布微碼補丁更新,如果無法應用更新,可以設置chicken bit DE_CFG,但可能會帶來一些性能損失。[2023/7/25 15:57:02]
第一步:將保護敏感數據的文件放進信封,在待簽名區域上方放入一張復寫紙,而后密封信封。這樣一來,任何人不能透過信封觀察信封內文件的具體內容。
第二步:將密封的信封提交給簽名者簽名,簽名過程中,信封上的簽名可以透過復寫紙簽到文件上。
第三步:使用者打開信封,取出的已簽名文件,任意第三方可以認證其簽名的有效性。
類似地,在使用盲簽名中,用戶通過技術手段對原始數據進行盲化,然后將盲化后的數據交給簽名者簽名,獲得盲簽名后再解盲,便得到了關于原始數據的有效數字簽名。
慢霧創始人余弦:助記詞/私鑰等敏感信息交給對安全不夠負責任的錢包來守護簡直就是諷刺:金色財經報道,慢霧創始人余弦在社交媒體上針對Atomic Wallet被盜事件稱,又一個知名錢包出現嚴重被盜事件,助記詞/私鑰如此敏感的信息交給對安全不夠負責任或安全等級不足夠高的錢包來守護,簡直就是諷刺。這里的信息不對稱太嚴重了,連我都難以回答哪些錢包是持續安全的...
助記詞/私鑰就應該躲在加密芯片、離線環境或可信環境里,用多簽/MPC去單點故障也行。
金色財經此前報道,根據ZachXBT統計的數據,Atomic Wallet鏈上被盜資金已經超過1400萬美元,估計至少有2000萬美元被盜。[2023/6/4 21:14:36]
盲簽名技術的核心機制是盲化和解盲。盲化是指對原始數據添加隨機性數據,隱匿原始數據明文。解盲是指移除隨機性數據,將盲簽名恢復為可驗證的簽名。
由此,盲簽名在經典數字簽名的基礎上,新增了以下重要特性:
盲化性:簽名者難以通過盲化后的待簽數據,反推出原始數據的明文。
不可追蹤性:簽名者之前是對盲化后的待簽數據簽名,但使用者獲取該盲簽名后,會進行解盲處理,得到對應原始數據的另一個不同的簽名,因此簽名者無法對這一對簽名進行關聯和追蹤。
TikTok可能正在窺探比特幣地址和金融敏感數據:6月30日消息,“海外版抖音”、字節跳動旗下短視頻應用TikTok會讀取收集內剪貼板數據。據悉,蘋果iOS 14開發人員Tommy Mysk和Talal Haj Bakry聲稱TikTok和許多其他應用程序會定期從iOS和iPadOS剪貼板中調出數據,即使用戶不在文本輸入也是如此,這些數據可能包含比特幣地址和其他敏感金融信息。對于任何在蘋果設備上處理敏感數據的人來說,這都是一個令人不安的情況,無論是密碼、比特幣地址,還是私人數據和其他有價值的信息。
據了解,蘋果旗下設備——包括iPhone、iPad和Mac電腦具有共享通用剪貼板功能,TikTok曾表示該功能是作為反垃圾郵件措施實施的,并稱會嘗試解決,但到目前為止還沒有更新版本提交給蘋果APP Store批準。(Decrypto)[2020/6/30]
回到之前提到的電子投票系統,上述特性可以很好地滿足對應的隱私需求。具體操作時,投票者先對選票進行盲化,投票認證者僅能對盲化后的選票進行簽名認證,無法知曉投票者選票的具體內容;后續投票者將盲簽名解盲,投票認證者也無法追蹤投票者的投票簽名。據此,保護選票意向隱私性和驗證選票意向明文有效性的需求得以同時滿足。
動態 | 安全公司:OkCoin韓國站某平臺接口未授權訪問 導致內部敏感信息泄露:DVP漏洞平臺安全研究員發現OkCoin韓國站某平臺存在未授權訪問,導致內部敏感信息和多個內部敏感接口泄露,攻擊者可通過這些接口重置內部系統用戶的密碼和谷歌Key并可監控管理員的每次的操作請求,可截獲每次請求的authkey從而偽造請求包。[2019/2/26]
值得注意的是,簽名者對盲化后待簽數據進行簽名獲得盲簽名的過程,與對空白支票先進行簽名,然后允許使用者任意改寫支票內容的過程大不同。一般情況下,盲簽名一旦簽發,其認證的原始數據是不能任意改變的,即解盲之后獲得的簽名,僅對盲化前的原始數據有效。
由此可見,盲化和解盲的構造是盲簽名有效性的關鍵,具體如何設計這兩個關鍵過程,常用的擴展有哪些,我們在下一節中繼續展開。
盲簽名的構造和擴展
盲簽名的構造
盲簽名的構造過程可以看作是經典數字簽名流程的一類通用擴展,通過引入盲化因子和盲化算法,額外實現了簽名的盲化和解盲步驟,其核心流程如下:
盲化數據:通過引入隨機數作為盲化因子blinding_factor,將原始待簽名的數據進行盲化處理。
動態 | 支點出品的支點小程序被暫停服務 或因借鑒挖礦分紅機制涉及敏感話題:今日,支點出品的支點微信小程序被暫停服務。據網友爆料,昨日上線的支點小程序支點行情,是借鑒挖礦分紅機制的新聞類軟件,今天疑似被微信封殺。近期,騰訊阿里百度等互聯網聯手封殺敏感話題。[2018/8/30]
簽名數據:利用私鑰將盲化的數據進行簽名。
解盲簽名:利用盲化數據階段的盲化因子將盲簽名解盲。
驗證簽名:利用公鑰驗證簽名。
現有的大多數經典數字簽名算法,都可以較為方便地構造出對應的盲簽名實現,比較典型的實現有RSA盲簽名、Schnorr盲簽名、DSA盲簽名等。
相比上一論中介紹的門限簽名(參見第17論),盲簽名沒有復雜的密鑰生成和協商問題,也不需要多方協同才能完成簽名,其性能與經典數字簽名相比并無太大區別。
盲簽名的擴展?
盲簽名的不可追蹤性使得簽名者很大程度上失去了對簽名的控制權,如果出現用戶濫用簽名的情況,簽名者很難追究維權,這在不少業務場景中是難以接受的,因此時常需要對基礎的算法流程進行擴展。
在諸多擴展中,最常見的擴展之一便是公平盲簽名方案,其主要設計目標是允許簽名者在出現糾紛時,能夠通過以監管為代表的可信第三方還原出請求簽名的用戶身份和其他相關信息。
具體實現方式是引入一個可信第三方,通過可信第三方建立一種對簽名的追蹤機制。用戶將待簽名的原始數據和盲化后的數據首先發給可信第三方進行認證和登記,然后將盲化的數據和認證的數據發送給簽名者進行驗證,驗證通過后進行盲簽名,并保存盲化的數據。
后續如果需要進行簽名追蹤,簽名者發送盲化的數據給可信第三方進行查詢,獲取用戶的原始簽名數據和身份。
相比直接使用會暴露待簽名原始數據的經典數字簽名,公平盲簽名實現了一定程度上的隱私數據訪問權限隔離:
簽名者只能看到用戶身份,不能看到待簽名的原始數據明文。
只有當可信第三方和簽名者聯合之后,才可以將原始數據明文和用戶身份關聯起來。
除了公平盲簽名之外,另一類常見的擴展是部分盲簽名,即分離認證數據和隱私數據,只盲化需要保護的隱私數據,其典型的應用是網絡流量的欺詐檢測。
總體而言,盲簽名的構造支持較為通用的擴展需求。在實際業務應用中,根據具體的隱私保護需求,一般都可以自由選擇數據進行定向盲化,并在必要時引入監管所需的解盲機制,控制盲簽名被濫用的風險。
盲簽名的應用賞析
在盲簽名的諸多應用中,較為知名的莫過于電子現金。現實的電子現金業務會涉及復雜的流程設計,不便于體現盲簽名的作用。所以,下面以一個經典的教科書示例,來展示基于盲簽名的應用設計和使用注意事項。
在本例中,目標是構建一個與傳統紙幣功能相當的電子現金系統E-Cash,其核心需求如下:
貨幣價值性:電子現金是代表一定價值的數字符號,需要具備銀行的授權信用,并提供相關實體現金支持。
可交換性:電子現金相比實體現金,其優勢在于更方便交換、流動。電子現金與電子現金之間可以流動,電子現金與實體現金之間可以兌換。
防偽與不可復制性:每一張電子現金均需要經過銀行認證,不能任意生成,而且要求不能將已有的電子現金復制出多個可用的電子現金,防止重復使用。
匿名性:電子現金不能與用戶的身份進行綁定,保護用戶使用電子現金的隱私性。
針對E-Cash電子現金系統的各項業務流程,可以基于盲簽名技術,給出以下應用設計:
用戶開戶:在運行E-Cash電子現金系統的銀行,用戶注冊一個傳統的銀行資金賬戶和一個電子現金賬戶,并在銀行資金賬戶中存入一定量的資金。
電子現金發行:用戶在銀行的錢包客戶端生成一個隨機序列號,并設置申請的電子現金面額,這里為了簡化描述,假定所有任意序列號所代表的的面額相同。而后用戶將隨機序列號進行盲化,再將電子現金發送給銀行進行盲簽名。
銀行無法知道用戶電子現金的序列號,卻能將簽發的電子現金發到用戶的電子現金賬戶。
電子現金支付:用戶A將一張電子現金支付給用戶B,用戶A在支付前需要解盲電子現金,再發送給用戶B。用戶B收到電子現金后進行簽名驗證,驗證成功后將電子現金的序列號發送給銀行。
銀行查詢該序列號,如查詢到該序列號已存在,代表該電子現金已花費,用戶A此次支付失敗。如未查詢到,則將序列號存儲下來,用戶A此次電子現金花費成功,銀行根據之前約定的序列號代表的面額,將收到款項計入用戶B的賬戶中。
以上設計中,盲簽名的使用讓電子現金實現了與傳統紙幣同等的匿名性。用戶只有在經過銀行認證之后才能獲得電子現金,但銀行后續無法將使用解盲后的電子現金的用戶身份與當初發行的盲化電子現金關聯起來。
我們也可以進一步用公平盲簽名替換基礎盲簽名方案,將監管者引入電子現金系統,實現可控匿名的效果,為追究洗錢等犯罪活動提供有力的技術手段。
盲簽名的使用有很強的靈活性,在使用和設計基于盲簽名的應用時,分清角色進行針對性設計是用好盲簽名的重要前提,務必要厘清不同角色的訪問權限,想清楚盲化的數據是針對哪個角色、對哪些角色展現的數據不能盲化等問題。
正是:業務涉密契約禁明示,盲化簽名可簽不可見!
在隱私保護要求趨嚴,隱私數據保護立法日益完善的商業環境下,盲簽名技術提供了一種獨特的隱私數據保護手段。對于關鍵隱私數據,盲簽名既可以實現簽名認證,又可以對其數據內容進行隱匿保護,還可以選擇性地提供監管追溯支持,在現實業務場景中具有重要的實踐價值。
至此,密碼學數字簽名系列分享已近尾聲,對于之前介紹的數字簽名技術,其驗證過程大多是逐一進行的。然而,對于大數據場景中的海量隱私數據,如果需要對海量的數字簽名進行一一驗證,不免會帶來巨大的系統負擔,有時甚至會影響業務方的決策。
為了滿足高性能要求,校驗數據有效性的數字簽名可能被迫舍棄。有沒有更有效的批量簽名驗證技術,使得僅需一次驗證計算,便可完成多個簽名的效驗?技術上有何挑戰?欲知詳情,敬請關注下文分解。
尊敬的WBF用戶: 為回饋廣大用戶的支持,WBF特開展”主流幣交易打卡,瓜分5000DUSD獎池“活動.
1900/1/1 0:00:00先看日線圖經過昨天的大陰線,底部有一個MA10日均線的支撐10900附件,下行試探出現下引線而后開始回調上行目前11160附件,上方受11300壓制.
1900/1/1 0:00:00海量數字簽名數據如何進行高效存儲和驗證?能否對來自多個參與方的簽名實現數據聚合壓縮?如果每個參與方使用不同的簽名私鑰對不同消息進行簽名.
1900/1/1 0:00:00Hotbit不為任何區塊鏈資產做信用背書,所有相關介紹均來自第三方并有可能存在錯誤與遺漏。區塊鏈資產投資是高風險行為,您必須自行承擔價格有可能歸零的風險,請根據您自身能力謹慎投資.
1900/1/1 0:00:00策略具有時效性,思路要靈活多變,落袋為安是保障,與其盲目入市不如找個領路人為你的投資保駕護航!如果有問題可以持續關注老李解幣以防走勢出現反轉,帶來不必要的損失.
1900/1/1 0:00:00全球加密貨幣總市值為3380億美元,較昨日暴跌168.4億美元,BTC市值2053億美元,占總市值60.75%.
1900/1/1 0:00:00