融合双区块链的征信数据存储和查询方案
2022-01-25刘发升孙起玄李江华
刘发升,孙起玄,李江华
江西理工大学 信息工程学院,江西 赣州 341000
隐私数据的泄露在互联网和大数据时代已经是司空见惯的了[1]。从淘宝购买一件生活用品、收看一期电视节目,到银行存款、买车购房,消费者享受了互联网带来的种种便利的同时,也在不知不觉中付出了隐私数据泄露的代价。
根据一份中国消费者协会2018年的调查问卷,其中85.2%的受访者曾被个人信息的泄露带来困扰。健康生理信息、生物识别信息等数据的泄露或者被滥用可能导致个人的财产、名誉以及身心的健康带来严重的危害。
现代社会已经越来越向信用社会转化了,信用为社会经济的发展提供方便,并促进了社会的发展。征信又是现代信用社会体系的基础,征信可以促进信贷市场的发展,服务其他授信市场,提高履约水平,加强金融监管和宏观调控,维护金融稳定防范金融重大风险具有重要作用[2]。国内的征信数据尤为庞大,而当前绝大部分的征信平台使用的是分布式的、一主多从的存储模式,此模式下主服务器负责数据的调度和均衡,而从服务器负责备份主服务器的数据[3]。征信行业中存在征信数据不对称、征信数据可能泄露和篡改、征信数据冗余过大,征信报告查询不便等诸多问题[4]。随着区块链技术的诞生,区块链的优秀性能也许能给征信数据的存储方式带来新的突破。
区块链技术的提出与2008年一个笔名叫中本聪(Satoshi Nakamoto)的美国学者发表的《比特币:一个点对点的电子现金系统》[5]有关,区块链技术一开始是数字加密货币-比特币的底层技术,因为区块链技术具有分布式去中心化、去信任化、内容不可篡改、隐私保护等特性而被学术界和工业界广泛关注。区块链技术的隐私保护特性与其所使用的非对称加密算法[6]有关,数字签名是利用非对称加密算法对消息进行验证,可以验证消息的完整性和签名的归属性。区块链被认为最有可能是继大型机、个人计算机、互联网、社交网络之后计算模式的又一颠覆式创新。被看作是人类信用史上同血亲、贵金属、央行纸币一样重新定义信用的表现形式,并对人类的社会生活产生重要的影响[7]。随着研究和应用的深入,区块链技术从以比特币为代表的区块链1.0,发展到以以太坊[8]为代表的区块链2.0,正在加速向超越金融领域去中心化[9]应用的区块链3.0发展。区块链现已在分布式账本[10]、防伪溯源[11]、供应链物流[12]、电子投票[13]等多个领域有应用,其中“数据安全存储与共享”[14]已经成为重要的应用方向。
1 相关研究
征信是现代信用社会的保障,征信数据能否正确地反映一个人的信用状况对社会的运行和防范金融风险至关重要[15],同时征信数据又涉及人的重要隐私,征信隐私的泄露又会影响被泄露人的正常生活,因此急需要正确反映被征信人的信用状况又需要保护隐私的征信数据模型应该具有以下基本原则[16]:
(1)真实性原则:征信数据的真实性是保证征信工作最重要的条件,只有真实的征信数据才能正确地反映被征信人的信用状况。
(2)全面性原则:全面性又叫完整性,完整的征信数据才能更加全面地反映一个人的征信情况,因此征信数据不仅包括被征信人的正面征信数据,也应当包括被征信人的负面征信数据,所以每次征信报告的查询都是遍历被征信人的整个征信数据。
(3)及时性原则:及时性指征信数据的收集时要尽量实时跟踪,记录并使用被征信人最新的征信数据,反映被征信人最新的信用状况。
(4)隐私性原则:征信数据是个人隐私,任何机构或个人在未获得允许的情况下都不得将个人征信数据泄露,保护被征信人的征信数据隐私也是保证活动顺利展开的必要条件。
当前数据的当前已存在一些利用区块链进行数据安全存储与共享的成果。文献[17]提出了一种基于区块链的电子医疗病历共享方案,文献[14]提出了一种基于联盟链的智能电网数据安全存储与共享系统,文献[18]提出了一种基于区块链的档案管理系统,也有人提出将区块链技术融入到征信领域的研究,琚春华等人[19]2018年11月列出了区块链与首次提出了将区块链技术融入征信系统的概念,以区块链技术为基础建立了多源征信数据共享的借贷平台,然而该平台只适合于第三方的贷款业务,并不适合银行的征信数据的查询与共享。陈春玲等人[4]2019年3月提出了基于DCIS的征信数据存储模型,该模型分为上下两部分,其中上部分为与外网交互的全节点,下半部分是单节点的构造。单节点包括区块链副本、验证节点群和存储节点群三个部分,该模型由内容和结构冗余度极高的“全网节点和公识区块链”以及“本地区块链副本”和“本地验证节点群”“本地存储节点群”构成,其冗余度非常高,浪费内存,且当用户需要查询征信报告时,没有很好的解决方式,2020年5月张晶等人[20]提出了区块链技术在我国市场化个人征信中的应用初探,但也只是简单地利用区块链技术与征信相结合简单地解决了数据隐私问题也给数据的提取带来了麻烦。因此本次课题提出融合双区块链的征信数据收集和查询方案。
针对当前存在的这些问题本文提出了融合双区块链的征信数据存储和查询方案采用双链的形式,一条链用于存储多人的实时征信数据,一条链用于存储单人的征信报告[21],在征信数据的获取过程中采用了数据自动聚合加密处理,在数据的存储与传输过程中使用的是非对称加密与签名技术以保障征信数据的安全性,融合双区块链的设计不仅能保证征信机构实时征信数据的收集记录,而且做到个人征信报告的快速自动生成功能,避免了个人征信数据在征信查询的过程中的隐私泄露和征信数据的篡改和伪造的风险。
2 DCIS模型
陈春玲等人[4]提出的基于DCIS的征信数据存储模型如图1所示,该模型分为上下两部分,其中上部分为与外网交互的全节点,下半部分是单节点的构造。单节点包括区块链副本、验证节点群和存储节点群三个部分。
图1 DCIS单节点模型结构Fig.1 Structure of DCIS single-node model
(1)区块链副本:区块链副本始终与全网的大部分节点保持数据同步,作用是当本地数据丢失或者非法篡改时,通过迈克尔树的hash比较,就可以恢复数据。且数据一旦写入不可更改,当数据合法修改,内容会被记录在新区块且广播至全网。
(2)验证节点群:由若干个校验节点组成,当用户发出存储数据操作时,会先同步至全网然后再校验。
(3)存储节点群:由若干存储节点组成,主要对接验证元数据的写入和查询功能。
在DCIS模型中区块链表示存储数据的区块,这些区块会随着时间的推移而有序排列。区块中存储着用户及其征信信息的新建或修改,每次提供用户的有效签名sign以及对应的时间过滤后可得到唯一的数据信息。每次读取或者校验数据时,为避免发生本地篡改或者读到脏数据等情况,本地验证节点群会对本地区块链进行定期更新并同步。此过程中,验证节点群会对比全网区块链和本地区块链的待同步区块头信息,任何单方面的对信息更改都会导致区块链的区块头信息不一致,此时需要替换本地区块。
由分析可知,该模型由两份大体一样的区块链节点和两份大致的节点群构成,采用单链的结构,隐私保护性较强,征信数据的完整性较弱,当用户需要查询征信报告时,没有很好的解决方式,征信报告查询较难,及时性因为区块链副本经常需要更新和多次验证而较弱,存在大量相同的区块,冗余度非常高,浪费内存,因此本次课题提出融合双区块链的征信数据收集和征信报告共享模型。
3 CDSB模型
本方案分为两个模块,一个是征信数据的安全收集以及征信报告安全查询两模块,其中征信数据安全收集方案中,利用区块链技术存储地方银行上报而来的征信数据,征信数据在经过数据聚合器聚合后存储在征信数据存储链上(credit data storage blockchain,CDSB)如图2所示。CDSB中包含征信数据的存储和征信数据查询两组数据交易。用户通过当地银行LB上报征信数据,用户可以通过WEB和手机APP获取Service服务查询个人征信报告。
图2 CDSB征信数据存储模型Fig.2 CDSB credit data storage model
地方银行LB获取个人征信数据,签名并加密之后上报到数据收集器DC中,DC将收集的征信数据再聚合加密,在CDSB中申请征信数据区块的上链。在数据的存储与传输过程中使用的是非对称加密与签名技术,LB和DC对征信数据使用的签名加密算法用(Gsign,Ssign,Vsign)(生成、签名、验证)与(Gencode,Eencode,Dencode)(生成、加密、解密)来表示。存储聚合征信数据的区块链服务器节点通过PBFT共识机制同步征信数据。
3.1 征信数据安全收集
本模型中的征信数据的收集模型如图3所示,多个实体在本方案中将实现不同的功能。
图3 征信数据收集模型Fig.3 Credit data collection model
(1)地方银行(local bank,LB),对用户的征信数据进行实时记录,一定时间会将征信数据上报。地方银行数据所采用的存储结构如图4区块结构所示,区块链结构存储的本地征信数据保障了数据在向上传输的过程中的正确性与完整性,保障了数据不被篡改。
图4 区块结构Fig.4 Block structure
(2)数据收集器(data collector,DC)主要负责收集由LB上报的征信数据,通过数据收集聚合后再向上一层提交,上一层可以继续是DC也可以是CPC。
(3)控制处理中心(control processing center,CPC),DC处的征信数据收集后,CPC将对征信数据经行分析、整合和处理。CPC作为整个征信系统的调度和控制中心,是绝对安全和可靠的,可以抵御外部攻击,CPC应该对征信数据保持诚实且好奇。
3.1.1 系统的初始化与实体注册
CPC通过密钥与签名生成算法对Gencode和Gsign生成对应的安全参数,为LB和DC生成密钥并派发,LB集合[1]获得加密密钥对和签名密钥对,DC集合{A1A2…An}将获得加密密钥对和签名密钥对。
3.1.2 征信数据上报
用户每次进行银行征信业务时,需要首先进行登录,未注册的用户需要先进行注册,LB每次收集的征信数据测量值是多维的,包括时间,地点和事件,用{
3.1.3 征信数据聚合
DC获取到所管辖范围内的LB发来的征信数据后由DC聚合加密所有数据,并对这些数据进行签名然后生成数据区块,向CDSB请求上链,在CDSB达成共识之后,将该聚合的数据存储入CDSB链。
3.2 征信报告安全查询
征信报告共享包括征信数据上链和征信报告共享两部分,征信数据上链就是将DC获取到的数据存入CDSB链上,征信报告的查询即是终端用户经过一系列的验证解密后安全地查询自己的征信报告。
3.2.1 征信数据上链
CDSB链上的节点被用来存储聚合征信数据,节点内部不需要相互信任。在链中由CPC在内部选举产生一个主节点,主节点只起共识过程的发起和引导作用,不具备任何共识中的投票优势,主节点可以选择由性能更强的服务器节点来担任,而其余节点则作为此次共识过程的从节点。主节点收到DC上报的征信数据之后,先验证身份的合法性,然后通过PBFT共识机制将其同步至CDSB。具体步骤:
(1)主节点将接收到的征信聚合数据整理后生成一个区块,将数据写入区块,并签名加上该区块的hash,广播至CDSB网络如图5所示。
图5 CDSB共识过程Fig.5 Process of CDSB consensus
(2)从节点在收到新区块后,将新区块中的内容添加到自己新区块中,对新区块进行hash验证,若通过验证,则被广播至CDSB网络中。
(3)各节点不仅验证主节点所广播的区块,还接收其他节点的验证结果,若接收到的正确性大于2x+1,则认为该区块有效,并将该区块记录至本地CDSB账户中(x为本链允许发生错误节点的个数)。
3.2.2 征信报告查询
征信系统的稳定运行不仅需要征信数据的收集,更重要的是征信报告的查询功能,每个人的征信数据应当被单一分类统计,以方便查询,如图6所示,征信报告的存储结构上,采用的是“一人一链”的形式,每个有征信数据的人的征信数据都会被记录到CDSB上,用户每次有征信记录时,征信报告链都会触发更新操作,以保证征信报告的数据都是最新的数据。当用户需要查询征信报告时,由于链上数据是加密数据,首先需要进行严格的身份验证,通过之后才能获取到数据并用私钥解密获得解密后的征信报告。
图6 征信查询过程Fig.6 Process of credit inquiry
4 模型分析
当前对征信领域的研究比较少,将CDSB模型与当前存在模型从链结构、安全性、数据完整性、不可篡改性、征信报告查询、有无可信中心、数据冗余程度进行特性对比,从表1可以看出CDSB模型具有一定的优势。
表1 模型对比Table 1 Comparison of models
4.1 链结构
DCIS模型采用的是单链结构,传统的一主多辅模型大都使用的是基于Hadoop的Zookeeper分布式文件系统未使用区块链结构,DCIS模型采用的是传统的单链结构,而CDSB模型采用的是双链结构,数据的收集一条链,报告的查询另一条链。
4.2 隐私保护性
传统的存储方式下隐私保护能力有限,隐私数据极易泄露这也是当前数据经常遭受泄露的主要原因,采用区块链结构存储的DCIS模型的隐私保护能力有所加强,而采用CDSB模型的双链结构中所有的征信数据都经过了LB的加密,在传输过程是以密文的形式进行的,假如存在恶意攻击的人,即使监听到了也无法知道用户的征信数据,并且用户发生征信行为不是经常性的,即使被监听且破解一次征信行为,数据的价值有限。
4.3 数据完整性
传统的一主多辅的数据存储方式中数据的完整性较弱,通常收集存储的数据有限不能因人而异,收集模型比较固化难以更新收集方式。DCIS模型只是更换了数据的存储方式,因此数据的完成性与一主多辅的存储结构并没有太大的区别。CDSB模型设置的背景就是用户在银行发生征信数据之前需要先注册登录方可进行征信活动,登录之后,用户只要发生征信活动产生征信数据就会被系统收集,因此CDSB模型的征信数据是最完整的。
4.4 可篡改性
在传统的一主多辅的模型中,从服务器的征信数据主要根据主服务器的数据来调整更新,因此征信数据极易被非法篡改。DCIS模型中引入本地验证节点群,这些节点群可以验证数据的有效性,因此数据不易被篡改。被征信人的征信数据经过签名后聚合上链,区块链中的数据是经过多重哈希隐藏且被其他链记录的,因此是不可篡改和伪造的,征信数据的完整性和真实性得以保证。
4.5 可信中心
传统的基于一主多辅模型具有可信中心,可信中心通常是主服务器,征信数据易被篡改。基于DCIS模型的单区块链的存储方式中引入了区块链的特点不具备可信中心不易被篡改。CDSB本质是联盟链,使用PBFT共识机制,各节点之间不需要相互信任,其中的每个节点都记录了整个账本数据,以自己的数据为基础做共识判断,不会被欺骗。
4.6 及时性
传统模型和DCIS模型的报告需要临时检验数据的真实性并且临时从数据库中获取生成,实时性较差。CDSB模型的数据采集过程及时,本模型设想当用户发生征信数据时实时采集的模型,且征信报告的生成也是实时动态地生成的。
4.7 数据冗余性
传统的一主多从模型的数据存储需要通过备份多份相同的数据来确保当主服务器发生故障或者宕机时的征信数据的安全,DCIS模型为了确保数据的准确性和不易篡改而使用了备份节点,因此冗余度都较高,而CDSB模型冗余度则较低。
5 结语
互网络的高速发展给征信的存储方式带来了新的挑战,传统征信数据的存储方式弊端已经越来越显现,而区块链技术的迅速崛起又给新的征信存储方式带来了机遇,区块链技术具有优秀的溯源,去中心化和隐私保护性能,本文提出了一种基于双区块链技术的征信数据存储和报告查询的方案,本方案通过多对加密解密算法解决隐私问题和数据真实性以及数据不对称性问题,通过引入两条链解决报告查询缓慢问题。接下来的工作将着重于具体模型的实现,具体模型的实施可能会遇到很多的问题,希望本文在征信领域的探索能带来一些启发,在征信数据存储和查询方面能提供更好的解决方式。