數字簽名在數字契約中包含不便公開的敏感資訊時,如何進行有效的簽名?簽名時看不到資訊明文,日後出現糾紛該如何追究維權?連簽名者都看不到資料資訊,如何支援有效的監管介入?其背後的盲簽名技術和其他簽名技術相比,有何過人之處?
在越來越重視隱私保護的數位化經濟大背景下,對使用者資料的隱私保護要求也日益提高。甚至在一些涉及敏感資料的場景中,使用者向認證者提供待認證的資料,認證者都不能觀其明文。
例如,關鍵事務決議相關的電子投票系統可能要求投票認證者在不知道每張選票意向的條件下,對每張選票進行認證,排除未授權投票者的選票。這需要保護選票意向的私隱性,又要驗證選票意向明文的有效性,看起來是一項不可能的任務。
經典數字簽名技術,需要獲得資料明文,才能進行簽名和驗證,所以無法直接應用。為解決上述問題,盲簽名技術應運而生。盲簽名究竟如何在盲化資料明文之後,依舊保持數字簽名的可驗證性?盲簽名可以支援哪些典型的應用場景,且看本文一一解析。
盲簽名的盲化性
盲簽名技術設計的核心在於盲化待簽名的資料,對應的機制在傳統紙質簽名中也有類似的存在。
最典型的示例便是保密信封,其大致原理如下:
類似地,在使用盲簽名中,使用者通過技術手段對原始資料進行盲化,然後將盲化後的資料交給簽名者簽名,獲得盲簽名後再解盲,便得到了關於原始資料的有效數字簽名。
盲簽名技術的核心機制是盲化和解盲。盲化是指對原始資料新增隨機性資料,隱匿原始資料明文。解盲是指移除隨機性資料,將盲簽名恢復為可驗證的簽名。
由此,盲簽名在經典數字簽名的基礎上,新增了以下重要特性:
回到之前提到的電子投票系統,上述特性可以很好地滿足對應的隱私需求。具體操作時,投票者先對選票進行盲化,投票認證者僅能對盲化後的選票進行簽名認證,無法知曉投票者選票的具體內容;後續投票者將盲簽名解盲,投票認證者也無法追蹤投票者的投票簽名。據此,保護選票意向私隱性和驗證選票意向明文有效性的需求得以同時滿足。
值得注意的是,簽名者對盲化後待籤資料進行簽名獲得盲簽名的過程,與對空白支票先進行簽名,然後允許使用者任意改寫支票內容的過程大不同。一般情況下,盲簽名一旦簽發,其認證的原始資料是不能任意改變的,即解盲之後獲得的簽名,僅對盲化前的原始資料有效。
由此可見,盲化和解盲的構造是盲簽名有效性的關鍵,具體如何設計這兩個關鍵過程,常用的擴充套件有哪些,我們在下一節中繼續展開。
盲簽名的構造和擴充套件
盲簽名的構造
盲簽名的構造過程可以看作是經典數字簽名流程的一類通用擴充套件,通過引入盲化因子和盲化演算法,額外實現了簽名的盲化和解盲步驟,其核心流程如下:
現有的大多數經典數字簽名演算法,都可以較為方便地構造出對應的盲簽名實現,比較典型的實現有rsa盲簽名、schnorr盲簽名、dsa盲簽名等。
相比上一論中介紹的門限簽名(參見第17論),盲簽名沒有複雜的金鑰生成和協商問題,也不需要多方協同才能完成簽名,其效能與經典數字簽名相比並無太大區別。
盲簽名的擴充套件
盲簽名的不可追蹤性使得簽名者很大程度上失去了對簽名的控制權,如果出現使用者濫用簽名的情況,簽名者很難追究維權,這在不少業務場景中是難以接受的,因此時常需要對基礎的演算法流程進行擴充套件。
在諸多擴充套件中,最常見的擴充套件之一便是公平盲簽名方案,其主要設計目標是允許簽名者在出現糾紛時,能夠通過以監管為代表的可信第三方還原出請求簽名的使用者身份和其他相關資訊。
具體實現方式是引入乙個可信第三方,通過可信第三方建立一種對簽名的追蹤機制。使用者將待簽名的原始資料和盲化後的資料首先發給可信第三方進行認證和登記,然後將盲化的資料和認證的資料傳送給簽名者進行驗證,驗證通過後進行盲簽名,並儲存盲化的資料。
後續如果需要進行簽名追蹤,簽名者傳送盲化的資料給可信第三方進行查詢,獲取使用者的原始簽名資料和身份。
相比直接使用會暴露待簽名原始資料的經典數字簽名,公平盲簽名實現了一定程度上的隱私資料訪問許可權隔離:
除了公平盲簽名之外,另一類常見的擴充套件是部分盲簽名,即分離認證資料和隱私資料,只盲化需要保護的隱私資料,其典型的應用是網路流量的欺詐檢測。
總體而言,盲簽名的構造支援較為通用的擴充套件需求。在實際業務應用中,根據具體的隱私保護需求,一般都可以自由選擇資料進行定向盲化,並在必要時引入監管所需的解盲機制,控制盲簽名被濫用的風險。
盲簽名的應用賞析
在盲簽名的諸多應用中,較為知名的莫過於電子現金。現實的電子現金業務會涉及複雜的流程設計,不便於體現盲簽名的作用。所以,下面以乙個經典的教科書示例,來展示基於盲簽名的應用設計和使用注意事項。
在本例中,目標是構建乙個與傳統紙幣功能相當的電子現金系統e-cash,其核心需求如下:
可交換性:電子現金相比實體現金,其優勢在於更方便交換、流動。電子現金與電子現金之間可以流動,電子現金與實體現金之間可以兌換。
防偽與不可複製性:每一張電子現金均需要經過銀行認證,不能任意生成,而且要求不能將已有的電子現金複製出多個可用的電子現金,防止重複使用。
匿名性:電子現金不能與使用者的身份進行繫結,保護使用者使用電子現金的私隱性。
針對e-cash電子現金系統的各項業務流程,可以基於盲簽名技術,給出以下應用設計:
以上設計中,盲簽名的使用讓電子現金實現了與傳統紙幣同等的匿名性。使用者只有在經過銀行認證之後才能獲得電子現金,但銀行後續無法將使用解盲後的電子現金的使用者身份與當初發行的盲化電子現金關聯起來。
我們也可以進一步用公平盲簽名替換基礎盲簽名方案,將監管者引入電子現金系統,實現可控匿名的效果,為追究洗錢等犯罪活動提供有力的技術手段。
盲簽名的使用有很強的靈活性,在使用和設計基於盲簽名的應用時,分清角色進行針對性設計是用好盲簽名的重要前提,務必要釐清不同角色的訪問許可權,想清楚盲化的資料是針對哪個角色、對哪些角色展現的資料不能盲化等問題。
正是:業務涉密契約禁明示,盲化簽名可簽不可見!
在隱私保護要求趨嚴,隱私資料保護立法日益完善的商業環境下,盲簽名技術提供了一種獨特的隱私資料保護手段。對於關鍵隱私資料,盲簽名既可以實現簽名認證,又可以對其資料內容進行隱匿保護,還可以選擇性地提供監管追溯支援,在現實業務場景中具有重要的實踐價值。
至此,密碼學數字簽名系列分享已近尾聲,對於之前介紹的數字簽名技術,其驗證過程大多是逐一進行的。然而,對於大資料場景中的海量隱私資料,如果需要對海量的數字簽名進行一一驗證,不免會帶來巨大的系統負擔,有時甚至會影響業務方的決策。
數位化契約如何守護?密碼學數字簽名共性解析
數字簽名有哪些形式?相比其他簽名形式,密碼學數字簽名優勢幾何?具備哪些獨有功能?使用過程中又潛藏何等風險?簽名生效的契約是保障商業活動有序進行的核心手段之一。通過承諾的形式對預期在未來發生的商業行為進行約定,約定雙方將履行約定看作是一種義務,任意一方違背承諾,都可以通過法律手段進行追訴,以此保障約定...
如何面臨數位化轉型的挑戰
根據idc 的報告,目前全球有 80億的聯網裝置,到 2031 年會達到 2000 億甚至更多,這個數字將會是全球總人口的 25倍。在過去十年裡,和娛樂 零售 交通 銀行和保險 醫療 旅遊 物流等行業,無一不打上了數位化的烙印。統計顯示,一百多年前,公司的平均壽命是 67年 而在當今的數位化時代,則...
四款超棒的 jQuery 數位化簽名外掛程式
在瀏覽器中,我們有很多方式來繪製生成簽名效果,並且有很多很棒很智慧型的jquery外掛程式。數位化簽名是未來的發展方向,正是這個原因我們這裡收集並且推薦了四款超棒的jquery數位化簽名外掛程式,希望大家喜歡!jsignature 這個jquery外掛程式簡化了建立資料簽名的過程,允許使用者使用滑鼠...