




摘" 要: 針對當前社會頻繁出現的簡歷偽造和簡歷泄漏的問題,提出一種基于區塊鏈和密碼學累加器的多重簡歷保護及驗證方案。利用區塊鏈技術去中心化的特性,降低造假的風險,提升簡歷的真實性。利用密碼學累加器高效性和加密性的特點,減少儲存的數據量,降低了隱私暴露的風險。多重簡歷結構降低了驗證者的數據訪問量,用戶可以選擇性披露簡歷,自主隱藏簡歷。經過分析與對比驗證,本方案具備較高的性能、較低的時空消耗和隱私保護能力。
關鍵詞: 區塊鏈; 密碼學累加器; 多重簡歷; 簡歷隱私; 隱私保護
中圖分類號:AG30" " " " " 文獻標識碼:A" " "文章編號:1006-8228(2023)12-19-05
Multiple resume protection and verification scheme based on
blockchain and cryptographic accumulator
Wang Ping
(Zhejiang Sci-Tech University, School of Computer Science and Technology, Hangzhou, Zhejiang 310000, China)
Abstract: Aiming at the frequent issues of resume forgery and resume leakage in the current society, a multiple resume protection and verification scheme based on blockchain and cryptographic accumulator is proposed. The decentralized characteristics of blockchain technology are used to reduce 1hoods and improve the authenticity of resumes. The high efficiency and encryption features of cryptographic accumulators are used to reduce the amount of stored data and the risk of privacy exposure. The multiple resume structure reduces the data access volume of the verifier, and users can selectively disclose their resumes and hide their resumes autonomously. After analysis and comparison, this scheme is verified to have high performance, low space-time consumption and privacy protection ability.
Key words: blockchain; cryptographic accumulator; multiple resumes; resume privacy; privacy protection
0 引言
浙江省關于就業市場求職失信行為及其影響因素研究[1]中表示,有63.7%的被訪者表示對簡歷做過修飾,或編造過簡歷。大部分情況下簡歷造假對個人和企業帶來的影響都是非常大的。通常企業對求職者做背景調查(簡稱背調),一般采用如下方式:比如A企業需要核實候選人B的履歷信息,就需要委托第三方機構充當中心角色向C企業核實并返回調查報告[2]。背調過程中會有多方介入,同時簡歷數據還存在于中心化服務器中,各個中心化機構之間標準的不一致也會導致形成數據孤島[3]。驗證簡歷真實性所消耗的成本以及中心化機構的存在,都讓簡歷造假有了發揮的空間。2018年,Facebook遭遇了一場丑聞,該公司被曝光允許數據分析公司劍橋分析公司(Cambridge Analytica)非法獲取了8700萬用戶的數據[4],造成嚴重影響。
科技發展的同時也帶來了新的問題和挑戰。如何保護用戶的隱私,保障數據真實性以及安全性依舊是一個重點研究方向。區塊鏈(Blockchain)[5]作為一個去中心化的分布式數據管理平臺,具有安全、透明和數據一致性的優勢。區塊鏈技術在醫學病歷共享[6]、金融行業[7]和版權存證[8]方面已經有了相關的研究進展,但在個人簡歷數據保護和驗證領域相關研究還較少。
2011年Skelton[10]提出了在線簡歷認證機制,可以進行付費認證。將個人簡歷提交到中心數據庫中做數字化存儲,但仍然存在造假和簡歷泄露的問題。2018年Hou等[11]將區塊鏈和電子憑證相結合,以質押的方式打造無需驗證,實現了隱私保護。當質押的價值小于偽造的價值,則會出現造假的情況。2019年江麒海[12]實現基于區塊鏈的簡歷系統架構,采用企業級架構基于聯盟鏈實現了簡歷系統。將用戶信息存到區塊鏈,但是整體的存儲消耗大,同時無法隱藏已經上鏈的數據。2022年馬繼等[13]提出了人才履歷共享方案,基于區塊鏈確保了履歷信息的真實性,保護了隱私,提升了搜素性能。利用云服務器存儲簡歷密文,將搜索憑證可檢索標識存儲區塊鏈,造成較高的存儲消耗,同時與區塊鏈的交互步驟也比較多。
本方案結合區塊鏈技術和密碼學累加器(Cryptographic Accumulator)技術提出了一種基于區塊鏈和密碼學累加器的多重簡歷保護及驗證方案,去除了傳統的第三方背調簡歷數據的方式,大幅度降低了簡歷信息可能在中心化管理下出現的簡歷造假的風險。本方案首先基于區塊鏈數據真實一致性的特性,且存在鏈上的數據不可篡改,保持了簡歷數據的真實性。區塊鏈作為去中心的數據共享平臺,同時解決了數據孤島的問題。第二,本方案基于密碼學累加器,大幅度降低了存儲成本,同時提高了個人簡歷隱私安全性。第三,本方案利用構建多重簡歷的方式,可以進行選擇性披露簡歷的同時降低的驗證者的數據訪問量。進一步提升了本方案的性能和安全。最后經過分析和對比驗證,保證了本方案的正確性以及可行性。
1 相關技術
1.1 區塊鏈技術
2008年一篇名為《Bitcoin:a peer-to-peer electronic cash system》[5]的論文由一個署名為中本聰(Satoshi Nakamoto)的發表。自此,區塊鏈技術發展迅速。2015年隨著以太坊(Ethereum)[14]的提出,引入了智能合約(Smartcontract)的概念,自此區塊鏈加上了可編程的特性。智能合約是自動執行的程序腳本,它們在滿足某些預設條件時運行[15]。
區塊鏈技術的核心想法的是去中心化,與傳統的中心化系統相比,區塊鏈技術基于共識機制,所有節點共同維護一個分布式數據庫,讓參與區塊鏈網絡的節點獲取的數據具有一致性。基礎的區塊鏈結構如圖1所示。
根據區塊鏈的在去中心化程度的上進行分類,可以分為:公有鏈:成員可以無條件加入網絡,按照智能合約限制遵守規則,具有匿名性,以文獻[5,14]為代表。聯盟鏈:成員加入網絡之前需要被授權,通常被作為企業級區塊鏈應用的基礎架構,以文獻[16]為代表。私有鏈:網絡控制權個人擁有,常用于構建區塊鏈網絡開發環境。
1.2 密碼學累加器
密碼學累加器是一種復雜的數據結構,主要用于存儲一組元素,并能高效地執行成員資格檢查[17]。累加器使用單向函數來生成一個表示數據集合的摘要,該摘要可用于驗證特定元素是否是該集合的一部分。它的主要特點是,即使在數據集的大小發生變化時,累加器的大小仍然保持固定。
文獻[18]將密碼學累加器定義為函數集合[hl:Xl×Yl]
[→Zl],并且滿足計算有效性、準交換性和單向性。計算有效性確保了計算過程數據的有效。在數據輸入順序不同的情況下,利用準交換性,保證獲取的結果一致。HASH函數的單向性可以保證難以碰撞出相同的HASH值。常見的密碼學累加器有布隆過濾器,RSA累加器、默克爾哈希樹等,默克爾哈希數累加器也被應用于區塊鏈存儲歷史交易,以驗證交易是否已被包含在區塊中[19]。
2 方案模型
本方案提出基于區塊鏈和密碼學累加器的多重簡歷數據保護和驗證方案,連接用戶、驗證方、認證方三類角色。降低傳統背調簡歷方式下簡歷造假的風險、解決數據孤島和簡歷隱私保護等問題。使用密碼學累加器記錄用戶的簡歷,解決傳統認證技術下證書難撤銷和區塊鏈存儲空間成本大的問題,同時降低的用戶簡歷暴露的風險。構造多重簡歷,讓用戶可以有選擇地披露,保護簡歷隱私,同時減少驗證者數據訪問量,提升本方案的性能。本方案模型如圖2所示。
在本方案中,用戶簡歷信息由用戶在本地存儲。圖2中步驟①為通過密碼學累加器構建可驗證憑證(Verifiable Credentials,VC)。步驟②、步驟③為提交簡歷相關操作到認證者,包含簡歷信息和簽名信息。認證者通過認證后返回給用戶認證結果。步驟④為在通過用戶簡歷操作請求后,通過密碼學累加器提將簡歷操作更新到區塊鏈,包括簡歷的注冊、更新和隱藏。步驟⑤、步驟⑥將無隱私、弱隱私、強隱私類型的簡歷憑證選擇性提交給驗證者,驗證者返回驗證結果。步驟⑦為驗證者查詢鏈上數據驗證簡歷信息的真實性。
3 方案設計
3.1 生成可驗證憑證
在本方案中,簡歷數據存儲在用戶本地,通過密碼學累加器生成可驗證憑證VC。用戶對簡歷的各個字段取HASH值,通過累加器生成默克爾證明Mproof。VC中包含用戶簡歷的默克爾證明Mproof以及用戶公鑰PublicKey和用戶簽名Signature和組成Proof部分。可驗證憑證生成算法如算法1所示。
算法1 可驗證憑證生成算法
輸入:簡歷信息Resume,公鑰PublicKey,隨機數Noce
輸出:可驗證憑證
1. function VCGeneration
2." "ResumeHASH[ ]←Resume.MAP((r)=gt;{HASH(r)})
3." "Mproof←ACC.create(ResumeHASH[ ])
4." "Signature←Sign(Mproof)
5." "Proof←Json.combina[Signature,PublicKey,Noce]
6." "VC←Json.combina[(Resume),Mproof,Proof]
7." "RETURN VC
8. END function
3.2 簡歷保護
用戶在生成可驗證憑證VC的時候,可以選擇在滿足驗證者要求的情況下,選擇暴露隱私的程度。對于需要暴露的信息,用戶在可驗證憑證中加上原文,并且附上累加器證明。憑證的類型有以下三類,強隱私型VC:將簡歷數據的默克爾證明和簽名信息組合,驗證者驗證相應的簡歷經歷,無法獲知其具體的簡歷信息。弱隱私型VC:在強隱私類型的基礎上公開簡歷信息的部分內容,驗證者通過計算部分數據的HASH,驗證該數據是否在累加器中驗證真實性。無隱私型VC:公開全部的簡歷信息,驗證方式和弱隱私類型相同。可驗證憑證由JSON格式組成。用戶選擇性披露簡歷算法如下算法2所示。
算法2 選擇性披露算法
輸入:簡歷數據Resume,公鑰PublicKey,類型選擇Choice
輸出:可驗證憑證
1. function SelectiveDisclosure
2." "ResumeHash[]←Resume.MAP((content)=gt;{HASH(content)})
3." "Mproof←ACC.create(ResumeHASH[])
4." "Signature←Sign(Mproof)
5." "Proof←Json([Signature,PublicKey])
6." "SWITCH: Choice
7." " "CASE: StrongPrivacy
8." " " "VC←Josn([Mproof,Proof])
9." " "CASE: WeakPrivacy
10." " " VC←Josn([Mproof,(ResumeContent),Proof])
11." " "CASE: NoPrivacy
12." " " VC←Josn([Mproof,Resume,Proof])
13." " "RETURN VC
14. END function
4 分析
4.1 安全分析
本方案基于區塊鏈和密碼學累加器構建多重簡歷信息,能夠滿足實際場景下的應用需求,下面是對本方案安全性的相關分析。
數據真實性 區塊鏈底層技術所支持的數據不可篡改的特性,通過智能合約存儲在區塊鏈上的數據和認證者所認證的數據保持一致,難以篡改和偽造。有效的保證了簡歷數據的真實性。
可用性 本方案采用區塊鏈作為底層,由所有的節點共同維護數據賬本。同時數據一致性,能夠防止出現數據孤島,所有的驗證者只需要和區塊鏈交互就可以完成驗證。
隱私性 本方案基于密碼學累加器將個人簡歷各個字段構建默克爾證明,用戶提供可驗證憑證,可以選擇性的暴露原文。在簡歷上傳區塊鏈的時候,通過密碼學累加器將簡歷默克爾證明的HASH值添加進累加器,上傳到鏈上。用戶可自主選擇隱藏對應簡歷。除了簡歷信息遞交認證者認證,其他環節全部是通過HASH值進行數據流轉。極大的降低了用戶隱私暴露的風險。
4.2 對比分析
本方案與該研究領域相關的方案進行對比分析。方案1[14]利用云服務器存儲個人簡歷密文,將簡歷的索引信息上傳區塊鏈,提供搜索標識給用戶從鏈上獲取密文標識,請求服務器獲取密文。憑借密文和數據擁有者建立信任,獲取簡歷信息。本文方案(以下稱方案2)基于區塊鏈和密碼學累加器的多重簡歷保護及驗證方案,簡歷數據存在本地,密碼學累加器證明存儲鏈上,使用密碼學累加器驗證簡歷。
方案2和方案1均對簡歷和區塊鏈進行結合,將簡歷數據存儲在區塊鏈,降低了數據篡改的風險,降低簡歷認證過程中中間人攻擊的風險,同時,區塊鏈技術也能夠解決DDos攻擊和單點故障問題。方案2采用用戶本地存儲簡歷信息代替中心化擁有者保存簡歷信息,避免了中心化存儲帶來的造假風險。同時用戶可以主動隱藏自己的簡歷信息,增強了個人隱私保護,防止他人持續跟蹤個人簡歷。方案2和方案1的對比如表1所示。
4.3 實驗分析
實驗采用相同環境對上文方案1和方案2進行實驗實現。本實驗基于私有鏈的區塊鏈開發環境。本實驗對應的硬件配置:Apple M1 Pro,16G。軟件配置:以太坊、Nodejs,HardHat框架,Etherjs,LevelDB。
實驗構造了3000條簡歷數據,采用LevelDB作為數據庫,以相同的實驗環境進行存儲性能對比,統計儲存總量進行對比。對于方案1,用戶密文存儲在服務器,搜索標識和用戶搜索憑證儲存在區塊鏈。對于方案2,默克爾樹憑證存儲在區塊鏈。經過實驗統計,不同方案的數據存儲總量如圖3所示。
對方案1和方案2進行Gas消耗對比,按照簡歷認證注冊、更新步驟,每個步驟隨機執行500次計算Gas消耗平均值。Gas消耗的統計通過統計Ethersjs調用智能合約的回調數據中Gas消耗字段方式。不同方案的Gas消耗數量如圖4所示。
實驗表明,本文方案(方案2)顯著減少了數據存儲和計算消耗。隨著數據存儲的數據量增加,存儲優勢也越大。
5 結束語
本文對簡歷信息存在的簡歷造假和簡歷數據泄露的問題,提出了一個基于區塊鏈和密碼學累加器的多重簡歷保護和認證方案。方案利用區塊鏈存儲密碼學累加器證明,降低了簡歷造假和隱私泄露的風險。通過構造多重簡歷的方式,讓用戶可以選擇性披露簡歷信息,保護用戶簡歷隱私的同時也提升了系統的性能。通過分析和實驗對比,本方案具備較高的性能、較低的時間和空間消耗。但同時如何提升認證者的參與度以及驗證效率還有點提升。
參考文獻(References):
[1] 邵彩霞.浙江省就業市場求職失信行為及其影響因素研究[J].
時代金融,2017,No.660(14):315-316.
[2] 羅菁.揭開職場上神秘“背調”的面紗[J].勞動保障世界,
2019,No.554(34):30.
[3] Bai Y, Lei H, Li S, et al. Decentralized and self-sovereign
identity in the era of blockchain: a survey[C]//2022 IEEE International Conference on Blockchain (Blockchain).IEEE,2022:500-507.
[4] Ayaburi E W, Treku D N. Effect of penitence on social
media trust and privacy concerns:Thecase of Facebook[J]. International Journal of Information Management,2020,50:171-181.
[5] Nakamoto, S. (2008). Bitcoin: A Peer-to-Peer Electronic
Cash System.
[6] Chen L, Lee W K, Chang C C, et al. Blockchain based
searchable encryption for electronic health record sharing[J]. Future generation computer systems,2019,95:420-429.
[7] Mohamed K, Aziz A, Mohamed B, et al. Blockchain for
tracking serial numbers in money exchanges[J]. Intelligent Systems in Accounting, Finance and Management,2019,26(4):193-201.
[8] 翟社平,陳思吉,汪一景.基于區塊鏈的數字版權存證系統模
型研究[J].計算機工程與應用,2020,56(19):13-21.
[9] Wang G, Zhang S, Yu T, et al. A Systematic Overview of
Blockchain Research[J]. Journal of Systems Science and Information,2021,9(3):205-238.
[10] Skelton D H. Resume and cv certification process: U.S.
Patent Application 12/610,721[P].2011-5-5.
[11] Chen Z, Liu W, Yang Y, et al. Electronic evidence service
research in cloud computing environment[C]//2018 17th IEEE International Conference On Trust, Security And Privacy In Computing And Communications/12th IEEE International Conference On Big Data Science And Engineering (TrustCom/BigDataSE).IEEE,2018:332-338.
[12] 江麒海.基于區塊鏈的簡歷認證系統的設計與實現[D].
廈門:廈門大學,2019.
[13] 馬繼,周鳳,田有亮.基于區塊鏈的可搜索加密人才履歷
共享方案[J].計算機系統應用,2021,30(12):95-102.
[14] Buterin, V. (2013). Ethereum: A Next-Generation Smart
Contract and Decentralized Application Platform. White Paper.
[15] Christidis, K., amp; Devetsikiotis, M. (2016). Blockchains
and Smart Contracts for the Internet of Things. IEEE Access,2016(4):2292-2303.
[16] Androulaki E, Barger A, Bortnikov V, et al. Hyperledger
fabric: a distributed operating system for permissioned blockchains[C]//Proceedings of the thirteenth EuroSys conference,2018:1-15.
[17] Nguyen, L. (2005). Accumulators from Bilinear Pairings
and Applications. In C. Boyd amp; J. M. González Nieto (Eds.), Cryptographers' Track at the RSA Conference (pp. 275-292). Springer.
[18] 鐘曉睿,馬春光.基于動態累加器的異構傳感網認證組密鑰
管理方案[J].通信學報,2014,35(3):124-134.
[19] Bunz, B., Bonneau, J., Boneh, D., amp; Li, B. (2018).
Bulletproofs: Short Proofs for Confidential Transactions and More. In 2018 IEEE Symposium on Security and Privacy (SP) (pp. 315-334).