当前位置:首页 期刊杂志

区块链与环签密结合的电子证据认证加密方案

时间:2024-07-29

黄 丹

(四川省高级人民法院,成都 610036)

0 引 言

随着计算机网络的快速发展与广泛普及,利用互联网进行跨区域的犯罪活动日益增加,随之而来的取证难问题也日渐凸显,这也使得司法领域对计算机技术的依赖程度逐渐加大。尤其是移动终端与移动互联网的广泛应用更是加剧了电子证据取证困难这一问题。

电子证据是司法案件发生过程中形成的以数字化形式存储、处理、传输的且能够证明案件事实的数据。电子证据由于其本身来源途径唯一且不可替换,脆弱无比,传统的存证技术在司法实践中以中心化单方存证方式为主,依赖存储介质,容易导致电子证据丢失、被修改或伪造,诉讼中出现的电子证据质量参差不齐,在证据认定的过程中,电子数据的真实性、合法性、关联性等难以得到保障。因此,司法实务对电子证据的采信较为困难[1-2]。

基于上述问题,人们考虑了基于区块链技术构建存证系统,例如:远程视频取证[3]、车联网电子取证[4]、数字音乐版权存证[5]等。区块链技术源于名为《比特币:一种点对点的电子现金系统》[6]的论文,它在去中心或弱中心化环境下通过P2P网络连接,并利用块链式数据结构来验证和存储数据,基于共识机制实现分布式数据的一致性,同时借助密码技术保证数据的传输与访问安全性。区块链技术具有去中心化或弱中心化、防篡改、分布式信任、时序性等特点,可用于物联网[7]、智能电网[8]、电子医疗[9]等场景中。

为了保证区块链电子证据的真实性及可追责等性质,需要证据采集人员或其他具有相关资质的人员对其进行认证。数字签名是一类可提供安全认证功能的密码技术,目前已广泛应用于区块链系统中,例如,文献[3]就探讨了数字签名与区块链在远程视频取证中的应用。众所周知,数字签名技术具有公开可验证与不可否认等性质,因此,一旦证据采集者生成了数字签名,任何人都可验证其有效性,这将使得证据采集者有所顾虑。在此背景下,需要具有隐私保护性质的签名方案保护证据采集者的身份隐私,环签名[10]便是具有这类性质的签名方案。在环签名方案中,签名者可以自行选择一个公钥集合,然后以该公钥集合的名义生成有效签名并公开。任意用户都能验证签名的有效性,并且可以确信一定是公钥集合中的某位用户生成了该签名,但是其不能获知签名者的真实身份信息,从而在认证性的基础上实现了匿名性质。自从Rivest等[11]首次提出环签名这一概念后,人们提出了许多新的改进方案,此外,人们还将其用于门罗币中[12]以实现交易的匿名认证等。

在电子证据存证系统中,除了证据数据的认证性需求外,保密性也是最基本的安全需求之一。一般地,可以通过先签名后加密的方式同时实现电子证据的认证性与保密性。为了降低运算量,Huang[13]首次提出了签密的概念,这种方案的关键在于将签名和加密放在同一个逻辑步骤内完成,从而提高了保密认证方案的执行效率。将环签名的概念结合到签密方案中能以一种比较高效的方式实现同时具有保密性和匿名认证性质的密码方案,例如,文献[13-16]均构造了环签密方案。李虓等[17]借助分布式密钥生成技术[18]实现了无可信中心的环签名方案。程文华等[19]声称实现了无可信中心的基于身份的环签密方案,但是经分析发现,他们的方案要求密钥生成中心是可信的,否则方案不安全,具体分析见后文。

分析现有工作不难发现,目前缺少与电子证据区块链系统相匹配的多中心环签密方案。针对该问题,本文构造一个多中心环签密方案,并将其用于电子证据存证区块链系统中。本文主要研究工作如下。

1)针对电子证据的中心化存储方式存在易篡改等问题,提出基于区块链的电子证据存储方式。相对于传统的中心化存储方式,区块链的分布式存储与共识机制可保证各区块链节点对电子证据的一致性信任,从而防止单点故障造成的证据不可信等问题。

2)针对电子证据区块链存储系统对认证加密的需求,提出一个新的多中心环签密方案,在中心个数为n的情况下,所提方案最多可抵抗n-1个恶意中心的合谋攻击。

3)分析了所提方案的安全性及效率,并与相关方案做比较。分析结果表明,本文所提方案比同类型环签密方案具有更高的安全性,且所提方案可用于区块链系统中电子证据的匿名认证与加密存储。

1 预备知识

1.1 双线性映射

令G1,G2是2个阶为大素数p的循环群,元素P是群G1的生成元。双线性映射指的是满足如下性质的一个映射e:G1×G1→G2:

1)双线性。对任意的a,b∈Zp,e(aP,bP)=e(bP,aP)=e(P,P)ab;

2)非退化性。e(P,P)≠1,其中,1表示群G2的单位元;

3)可计算性。对任意的a,b∈Zp,存在有效的算法可以计算e(aP,bP)。

双线性映射目前已被广泛用于密码方案的构造,可以用超奇异椭圆曲线上的Weil对或Tate对构造出来,随着研究的深入,双线性映射的效率已经很高了,具体测试时间见方案效率分析部分。

1.2 困难问题假设

本文的公钥密码方案需要基于如下困难问题假设。

1)离散对数(discrete logarithm,DL)问题:给定P,aP,bP∈G1,计算abP∈G1;

2)计算双线性Diffie-Hellman(BCDH)问题:给定P,aP,bP,cP∈G1,计算e(P,P)abc∈G2;

3)判断双线性Diffie-Hellman(BDDH)问题:给定P,aP,bP,cP∈G1,T∈G2,判断等式e(P,P)abc=T是否成立。

1.3 区块链

区块链技术[20]是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。区块链具有分布式信任、防篡改、时序性等性质,已广泛用于车联网[4]、电子医疗[21]、供应链[22]等研究领域中,本文研究区块链在电子证据存证领域中的应用,基于区块链的优良性质,实现电子证据的分布式防篡改机制。

2 定 义

2.1 环签密定义

基于身份的多中心环签密方案包含如下几个算法。

1)系统建立(Setup)。各弱中心ui,i=1,2,…,n自行选定密钥SKi并合作生成系统的公开参数params。

3)环签密(RSigncrypt)。发送方选定一个身份信息集合U=(id1,id2,…,idt),其中,发送方的身份ids∈U。输入消息M,自己的私钥skids,接收者的身份信息idr和身份集合U运行该算法获得一个密文C,将其发送给接收者。

4)解环签密(RUnsigncrypt)。接收方idr用自己的私钥skidr对密文进行解密获得消息,并验证其有效性。

基于身份的多中心环签密方案的正确性要求如果发送方正确执行环签密算法,则接收方可以正确恢复出被认证加密的消息,即是说RUnsigncrypt(skidr,RSigncrypt(skids,ids,idr,U,M))→M。

2.2 基于区块链与环签密的电子证据存储系统

基于区块链与环签密技术的电子证据存储系统模型见图1。

图1 电子证据存证系统模型Fig.1 Electronic evidence deposit system model

系统包含证据采集者、证据接收者、区块链平台、数据存储中心等角色,其中,区块链平台为由密钥授权节点、系统管理节点、监督节点等共同维护的联盟链。为了保持各节点数据的一致性,可采用PBFT协议[23]作为区块链存证系统的底层共识机制。系统角色具体定义如下。

1)证据采集者。采集者通过区块链平台向密钥授权节点申请获取私钥并将其安全存储在本地,不同于传统的中心化授权机制[13-14],本文选用的多中心密钥授权机制,每个弱中心仅知道用户私钥的一部分,从而避免了传统中心化密钥授权机制带来的密钥托管问题。

采集到电子证据后,采集者利用自己的私钥与环签密算法对证据进行认证与加密操作。随后将密文上传至数据存储中心,与此同时,为了防止电子数据被恶意篡改,采集者还将证据的校验值上传至区块链系统用于存证记录,其中,数据校验值一般为数据的hash函数值,它只能用于校验原始数据完整性,并不会泄露任何原始数据。

2)证据存储中心。存储中心是用于存储电子证据的数据库。为了降低存储开销并提高检索效率,用区块链做存证系统时,一般对原始数据采用传统的中心化存储机制,而将原始数据的校验值上传至区块链存证。

3)区块链平台。区块链主要用于记录电子证据的校验信息,防止用户单方面篡改证据数据,从而造成证据不可采信。此外,为了增强对用户操作的管控,还可用区块链对用户的所有操作进行记录。存证区块链平台为联盟链类型,参与节点可以是多个密钥管理弱中心、管理者、监督者等。

4)证据接收者。接收者拥有解密密钥,他可以是证据存储中心的管理员,专门负责收集整理电子证据。在接收到新的证据密文后,他利用自己的私钥和解签密算法解密证据密文获得原始电子证据和认证信息,并认证采集者的真实性。此外,为了防止电子证据被恶意篡改或者某采集者故意上传错误证据至存储中心,接收者还可以从区块链平台中下载证据校验值,以验证电子证据的真实性。

2.3 安全性需求

根据上述模型描述可知,基于区块链与环签密的电子证据存证系统具有如下安全性质。

1)分布式防篡改。区块链是多方共同维护的分布式平台,采用共识机制保证各方数据的一致性。因此,证据校验值无法被单方面修改,从而保证其不可篡改性。如果存储中心管理员修改了所存数据,则会造成校验不通过。此外,为了增强对存储中心数据库的监管力度,也可用区块链对存储中心操作日志进行实时存证记录。

2)证据保密性。环签密方案融合了数据加密技术,因此,除了合法的密文接收者,其他用户都不能获得密文中关联的原始电子证据,从而保证了证据的保密性。

3)证据可认证性。环签密方案融合了数据认证技术,因此,接收者可以通过密文蕴含的消息与环签名验证签名的有效性,如果有效,则表明消息确实由某位合法的证据采集者所发送。

4)采集者身份隐私保护性。这里的隐私保护性质指的是匿名认证,即在接收者对消息进行认证时,如果有效,则可确定签名者是身份集合中的某位合法用户,但是接收者无法确定其真实身份,从而实现了在认证前提下的隐私保护性质。匿名认证性保证了在合法证据采集者身份认证的基础上,进一步保护其个人身份信息,如果采集者恶意上传错误证据信息,区块链平台的监督者可根据其上传记录与接收者提供的证据做比对,从签名环中找到采集者的真实身份信息,从而实现恶意采集者的身份追踪。

3 基于身份的多中心环签密方案

如前所述,现有环签密方案均需要单个的密钥授权中心对用户密钥进行授权操作,也就意味着该中心知道所有用户的私钥,这便是所谓的密钥托管问题。为了更好地符合区块链这一去分布式应用场景,本文结合分布式密钥生成技术[18],构造一个新的多授权中心环签密方案,具体如下。

3.1 方案构造

1)系统建立。系统建立算法包括系统初始化和弱中心密钥建立2个阶段。

系统初始化:各区块链弱中心联合随机选择一个大素数p,G1和G2是2个阶为p的循环群,P是群G1的生成元,双线性映射e:G1×G1→G2,此外,还选择2个公开的抗碰撞哈希函数H0:{0,1}*→G1和H1:{0,1}*→Zp。

2)密钥生成。密钥生成算法包括用户授权和密钥合成两个阶段。

3)环签密。令发送方为ids,接收方为idr,待认证加密的消息为M∈G2。发送方按如下操作执行环签密过程。

选择一个身份集合U=(id1,…,idt),其中,ids∈U表示发送方ids将以该身份集合的名义生成认证密文。

选择随机数k∈Zp,计算密文R=k·P,C=M·e(k·A,H0(idr))。一般地,在实际应用中可以加密对称密码的密钥,然后再用对称加密对数据进行加密操作。

对指标i∈{1,…,t}{s}而言,选择随机元素Ui∈G1,并计算hi=H1(M||U||R||C||Ui)。

最后将认证密文σ=(U,R,C,{Ui|i=1,…,t},V)发送给接收方idr。

4)解环签密。接收方idr收到认证密文后,执行如下操作解密并验证其有效性。

解密密文获取消息:M=C/e(R,skidr)。

3.2 方案正确性

上述多中心环签密方案的正确性包括用户密钥正确性、密文解密正确性和环认证正确性3方面。

2)密文解密正确性。密文解密的正确性可通过(1)式验证得知。

(1)

因此,如果发送方诚实执行环签密算法的话,则接收方可以正确恢复出被加密的消息。

3)环认证正确性。环认证的正确性可通过(2)式验证得知。

(2)

因此,如果发送方诚实执行环签密算法的话,则认证消息可被正确地验证。

4 方案分析

4.1 安全性分析

本文提出的多中心环签密方案具有如下安全性质。

1)保密性。消息M通过环签密算法中的加密机制进行了安全加密。事实上,本文所采用的加密方法是双线性映射下经典的基于身份的加密机制[24]。该机制在随机预言模型下基于BDDH假设是可证明安全的。因此,本文提出的环签密方案具有消息保密性。

2)认证性。环签密算法中的认证机制产生的认证信息({Ui|i=1,…,t},V)可提供认证性机制,该认证机制通过解环签密算法中的验证过程保证其有效性。本文所采用的底层算法是Chow等[25]提出的环签名方案,该方案具有结构简洁、效率很高等优点,已被广泛用于构造新的方案,例如文献[16-17,19]等。基于文献[25]的证明结果可知,该方案在随机预言模型下基于BCDH假设是可证明安全的。因此,本文提出的环签密方案具有消息认证性。

3)隐私保护性。该安全性质主要通过方案的匿名认证机制保障。在解环签密算法中,消息接收方执行验证操作时,输入的是身份集合U。对接收方而言,身份集合中的每一个用户都有可能是密文消息的合法发送方。因此,接收方无法判断谁是真实发送方,从而在认证性的基础上保证了发送方的身份隐私性质。

4.2 效率分析

本文提出的多中心环签密方案主要结合了简化的分布式密钥生成技术[18]和Chow等[25]的环签名方案,同时利用基于身份的加密方案实现消息的保密性质。分布式的密钥生成会造成系统初始化算法的计算复杂性和通信带宽都偏高。但是,系统初始化只需要在建立系统的时候执行一次即可。系统一旦成功建立后,就不再需要额外的计算开销。类似的还有用户的密钥生成算法,用户获得密钥后,也不再需要额外的计算开销。因此,我们只考虑环签密和解环签密2个子算法的计算开销,而不考虑系统建立和密钥生成2个子算法的计算开销。

对本文提出的环签密方案的环签密和解环签密计算开销进行测试,硬件采用Intel i7-8565U处理器,主频为2.0 GHz,内存为8 GB,代码库使用Java Pairing-Based Cryptography library(JPBC)[26],并在Windows 10操作系统上运行,得到测试时间结果:Tpar=10.438 ms,Texp=9.792 6 ms,Thtp=20.058 5 ms。其中,Tpar,Texp,Thtp分别为双线性映射计算开销、群的指数运算开销和hash-to-point计算开销。在双线性映射中,上述3个运算基本上占据了主要计算开销,因此,本文提出的方案中环签密和解环签密算法的计算开销分别为((t+2)·9.792 6+t·20.058 5+10.438)ms和(t·(9.792 6+20.058 5)+2×10.438)ms。

此外,通信复杂性方面,环签密的密文为σ=(U,R,C,{Ui|i=1,…,t},V),其中,U表示签名身份集合,这是所有环签名方案都必需的。目前,单个双线性群元素长度约为40 Byte,因此,本方案的通信复杂度约为 (t+3)×40 Byte,其中,t表示身份集合规模,同时也对应隐私保护性质的强度。与文献[25]中的基础环签名方案相比,仅增加了80 Byte。

4.3 方案对比

将本文设计的多中心环签密方案与文献[16-17,19]构造的同类型方案作对比。文献[16]结合基于身份的加密和基于身份的环签名方案构造了基于身份的环签密方案。文献[17]基于分布式密钥生成技术[18]和Chow等[25]的中心化的基于身份环签名方案实现了无可信中心的基于身份环签名方案。

文献[19]也构造了基于身份的无可信中心的环签密方案。但是,通过分析发现,其方案本质上要求密钥生成中心是可信的。首先描述一下文献[19]的密钥生成方法,用户id首先随机选择r∈Zp并计算R=r·P;随后,用户将(id,R)通过安全信道发送给密钥生成中心(key generation center,KGC);收到信息后,KGC计算Q=H0(id,R),S=s·Q,然后将S安全发送给用户id;最后,用户id的公钥为(Q,R),私钥为(S,r)。文献[19]声称通过该方法可以实现无可信中心的环签密方案。事实上,分析该密钥生成方法不难发现,尽管KGC不知道用户自己选择的随机数r,但是由于公钥信息R=r·P是随机生成的,与用户的身份信息id没有任何关系,因此,KGC完全可以自己选择新的随机数r′∈Zp,然后计算R′=r′·P,Q′=H0(id,R′)和S′=s·Q′,从而完全掌握了用户的私钥。综上所述,如果要将文献[19]的方案看成是基于身份的环签密方案的话,那么密钥生成中心必须是可信的,否则方案不安全。

本质上,文献[16-17,19]和本文提出的方案都是以文献[25]基于身份的环签名方案为基础的方案,因此,匿名认证开销部分和文献[25]是一致的。文献[16,19]和本文均在认证基础上添加了加密机制以实现消息保密性,文献[16,19]的加密与认证部分均选取了不同的随机数。但是,根据文献[27]的结果可知,在签密方案中,加密与认证可以选择同一个随机数,并不影响方案的安全性,但是加密认证使用相同随机数会增加方案的运行效率。因此,本文选择了这种方式。

我们从认证性、保密性、是否需要可信中心3个方面对上述相关方案做对比,见表1。

表1 方案对比Tab.1 Scheme comparison

从表1可知,在保证高效的匿名认证基础上,只有本文构造的方案同时具备了认证性、保密性和不需要可信中心3个性质。因此,相对现有基于身份的环签密方案,本文方案具有更高的安全性。

5 结 论

本文基于区块链与环签密方案构建了电子证据存证方案,借助区块链与环签密的性质,可以实现电子证据的分布式防篡改、保密性、匿名认证性等性质。此外,现有的中心化环签密方案不具有分布式特征的区块链,本文借鉴分布式密钥生成技术,改进了现有的基于身份的环签密方案,使其具有多中心抗合谋性质。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!