利用环签名提高去中心化身份的隐私性
摘要
目前使用的大多数身份,如OpenID Connect,都是由第三方控制的,第三方可以跟踪身份是如何使用的。为了克服这个问题,开发了自主身份,如去中心化身份(Decentralized identifier, DIDs),完全由用户拥有和管理。然而,在某些情况下,即使仅使用DID也不足以保护用户的隐私。例如,如果一个服务可以在多个固定位置访问,那么在每个位置重复使用相同的身份可能随着时间的推移也会暴露用户的位置。隐藏确切服务身份的技术之一是环签名,它允许生成匿名签名,其中真正的签名者的身份隐藏在一组可能的签名者中。
以电动汽车充电为例,如果电动汽车和充电站使用静态身份,则会暴露电动汽车的位置。以前的解决方案对每个交互都使用一个新的临时DID,但这需要创建大量的DIDs。本文研究了另一种使用环签名的方法,以更少的DIDs数量实现更好的隐私。
主要研究成果包括如何实现基于环签名的匿名认证,比较了环签名与已有方案的资源消耗,研究了环签名技术在受限设备等更大范围内的适用性。通过在Android手机上实现原型系统,对新方案与现有方案的性能进行了比较。基于挪威的真实数据,对收费事件的数量进行了假设。结果表明,环签名易于实现,并且提供了更好的隐私保护,但在存储(大约多2倍)和处理(大约慢9倍)方面,它们的资源消耗明显更高。因此,在受限设备上实现大规模环签名具有挑战性。
以电动汽车充电为例,如果电动汽车和充电站使用静态身份,则会暴露电动汽车的位置。以前的解决方案对每个交互都使用一个新的临时DID,但这需要创建大量的DIDs。本文研究了另一种使用环签名的方法,以更少的DIDs数量实现更好的隐私。
主要研究成果包括如何实现基于环签名的匿名认证,比较了环签名与已有方案的资源消耗,研究了环签名技术在受限设备等更大范围内的适用性。通过在Android手机上实现原型系统,对新方案与现有方案的性能进行了比较。基于挪威的真实数据,对收费事件的数量进行了假设。结果表明,环签名易于实现,并且提供了更好的隐私保护,但在存储(大约多2倍)和处理(大约慢9倍)方面,它们的资源消耗明显更高。因此,在受限设备上实现大规模环签名具有挑战性。
引言
在电子时代,隐私是开放社会的必要条件。根据Langheinrich[32],隐私建立在服务尊重用户信息的信任之上。在隐私保护服务中,用户知道何时以及什么数据被收集,并且明确需要用户的同意。此外,隐私保护服务不得强迫用户同意提供非必要的个人信息以使用服务,如Facebook和谷歌等许多主导公司的情况。因此,控制和便利之间的平衡很重要。
数字身份是实体间交互的重要手段,几乎所有的服务都使用数字身份来区分用户。数字身份(或简称身份)可以唯一地标识一个实体。身份通常是一串字符,唯一地与实体的一组属性相关联。数字身份不仅对身份识别很重要,而且对访问控制、个性化和保存历史信息也很重要。然而,虽然数字身份对其用户有用,但如果用户的数据泄露到其他域,相同的数字身份会造成关联,从而损害用户的隐私。
当信息连同在一个上下文中泄露的关联身份泄露到另一个上下文中时,就会发生侵犯隐私的情况。因此,身份应该设计为保护隐私。传统的身份标识解决方案,如OpenID Connect [51], Shibboleth[14]和Kerberos[58],都是由第三方机构管理的集中式解决方案,用户的隐私可能不是他们的首要利益。中央机构可以收集有关身份使用的信息,例如被访问的服务、使用时间、频率等。集中保存的身份会使用户的隐私面临风险,因为它们成为黑客的目标。不诚实的权威机构甚至可能选择出售这些身份和使用数据。
这就是为什么自主身份系统[62]被开发出来,它主张身份应该由使用它的实体拥有[53]。去中心化身份(DIDs)[45]就是这样一种技术,它允许实体创建自主身份,即完全独立于任何权威创建和管理自己的身份。身份的所有者完全控制身份的使用、共享和失效。DIDs设计为匿名的,因此一个用户可以同时使用几个DIDs。因此,DIDs允许用户使用不同的服务管理多个身份,而不会有被访问交互数据的人关联的风险。
然而,在某些情况下,需要更多的隐私,用户希望匿名向服务进行身份验证。在这些情况下,用户可以使用多个服务位置中的一个,并且服务提供者不需要确切地知道访问服务的位置。例如,在自动售货机中,用户需要向售货机公司证明他的身份,以获得账单和折扣价格。然而,售货亭公司不需要知道哪个售货亭被用于购买。另一个例子可能是建筑物的门禁系统。大楼保安可能需要确保进入大楼的人有权利这样做,而不一定知道具体的入口。位置信息是用户非常个人的信息,因此对位置信息的保护非常重要。位置信息可能被出售给广告商以牟利,例如基于位置的垃圾邮件,甚至可能被用于更险恶的目的,如跟踪、跟踪、绑架、抢劫等。
环签名(Ring signatures)是由Rivest等人首次提出的一种匿名签名技术,它将真实的签名者隐藏在一组可能的签名者中。该集合可以在没有其他签名者参与的情况下创建,由于所涉及的数学结构的特点,该集合被称为"环"。本文假设在足以证明一个实体是环的允许用户的情况下,可以使用环签名作为匿名认证的方法。本文还研究了环签名的适用性,以及使用下一小节中详细介绍的用例可能的隐私改进。
用例
本文以电动汽车充电为例进行研究。以Antonino的论文[5]为例,提出了一种用于管理电动汽车(ev)和充电站(CSs)身份和认证的隐私保护系统,适用于电网平衡电动汽车充电场景。该系统旨在通过将充电的电动汽车分流到有剩余能量的区域,平衡电网的能量流,同时保护电动汽车用户(EVUs)的位置隐私。需要对能源消耗进行监管,以防止反向电力流动,这可能对电网有害。
该解决方案定义了参与者和每一方需要的信息,这样每一方都有足够的信息来允许能源经销商和销售商跟踪使用情况,并在不侵犯EVU隐私的情况下正确地向客户收费。用例中相关的六个玩家如下:
- 配电系统运营商(DSO)管理将能源从生产厂传输到城市的高压基础设施,以及将能源传输到终端客户(如住宅和小企业)的电网。DSO通常将其覆盖区域划分为不同的能量区域。地区有助于平衡能源消耗——一个地区的剩余能源被输送到能源不足的地区。
- 充电站(CSs)是可以从电网中获取电力进行充电的服务点。
- 充电站所有者(CSOs)是拥有位于一个或多个地区的CSs的独立实体。
- 能源零售商(ERs)与CSO合作为客户提供充电服务。ERs还扮演中间人的角色,将DSO的能源需求与客户的充电需求相匹配。
- 电动汽车(EV)通过CSs消耗电力与电网交互。
- 电动汽车用户(EVUs)是使用电动汽车的用户。EVUs成为他们所选择的一个或多个ERs的客户来获得充电服务。
市场关系定义如下,定义见图1:
- DSO与一个或多个已在一个或多个能源区部署CSs的充电站所有者(CSOs)达成协议。
- DSO与一个或多个ERs签订协议,允许他们向客户出售能源。
- EVUs是ER的客户。一个ER与几个不同的客户EVUs签订合同,每个EVU可以是一个或多个ER的客户。
图1-1展示了市场中不同参与者之间不同关系的实体关系模式[5]
- ER可以通过属于一个或多个CSO的CSs提供服务。
- CSO的CSs可以被一个或多个ER使用。
支付关系决定了每一方实际需要的信息数量。电动汽车每次在充电站(CS)充电时,都会发生充电事件,并生成交易日志,其中包括特定的CS和涉及的电动汽车等细节。ERs在计费期结束时向EVUs计费,并根据通过CSs收取的电量向CSOs付费。因此,ERs必须能够向EVUs要求付款,而公民社会组织必须能够通过证明收费事件的真实性向ERs要求付款。此外,ER还必须向DSO证明充电事件的真实性,以便ER为其网格平衡工作申请奖励。通过交易日志实现支付解决方案。
然而,交易日志将CS身份泄露给各方,对EVUs的位置隐私构成威胁。充电事件的区域级粒度足以让DSO验证特定ER的客户在该区域内对一定数量的能量进行了充电。类似地,为了计费目的,ER只需要关于CSO的信息,而不需要识别参与计费事件的特定CS。最后,公民社会组织只需要验证EVU是ER的客户,而不需要EVU的身份。
因此,用例中EVU的隐私保护是一个双重问题。首先,电动汽车必须在CS处进行匿名认证,以保护其位置隐私不被CSO窃取;其次,CS必须向ER匿名验证自己,否则通过交易日志将CS的身份以及EVU的位置暴露给ER。Antonino[5]提出的系统为每笔充电交易的ev和CSs创建了不同的DIDs,以保护EVU的隐私。然而,这种方***产生和存储大量的DIDs,相应地增加资源消耗。
范围和研究问题
本文主要研究充电过程中EV和CS之间的交互,以及CSO、ER和DSO之间的支付解决方案,目的是在满足所有隐私需求的同时提供足够的计费证据。为了保护EVU的隐私,设计了一种基于环签名的EVU隐私保护方案。研究了使用环签名使CSs对交易进行签名,而不是在每个充电事件中创建新的CS身份(DIDs)的适用性。由于ER和DSO能够从地区层面识别充电事件的位置,而不是准确的位置,因此可以使用包含该地区所有充电站作为可能签名者集合的环签名对充电数据进行签名。环签名可以由一个地区内的任意一个计算机管理员创建,但环签名不会暴露真实签名者的身份。然后,验证者可以在不知道确切的CS身份的情况下,验证交易是否发生在该地区的某些CS。通过在移动设备(Android智能手机)上模拟充电事件,比较了仅使用DIDs时环签名的相对性能。更准确地说,本文回答了以下研究问题:
- RQ1:如何在不泄露用户个人信息的情况下记录计费事件并使用环签名,同时向CSO、ER和DSO证明计费交易的真实性?
- RQ2:与只使用去中心化身份相比,环签名与去中心化身份的使用如何影响用例中对EVUs的隐私保护?
- RQ3:在用例中,使用环签名对系统的资源消耗和事务处理时间有什么影响?
- RQ4:环签名对系统在受限设备上的可部署性有什么影响?
- RQ5:环签名如何在更广泛的范围内影响去中心化身份的使用?
文章结构
文档其余部分的结构如下。第二章介绍了分布式身份和环签名等关键技术以及在隐私保护领域的相关研究,并描述了本文用于比较的基线设计。第3章介绍了设计选择和修改后的设计。第4章提供了基线设计和修改后设计的实现细节。第五章给出了实验结果和分析。第六章对研究问题进行了阐述,并对研究结果进行了讨论。第7章介绍了未来的工作。最后,第八章对全文进行了总结。
相关工作
本节介绍了在物联网交互隐私领域所做的相关工作。首先阐述了论文所使用的关键技术,如去中心化身份、可验证凭证和环签名;然后,介绍面向物联网设备的隐私增强技术;然后,介绍了面向电动汽车充电的位置隐私保护技术;在此基础上,提出了由Antonino开发的面向电网平衡电动汽车充电场景的隐私保护系统[5]。最后介绍了Antonino等人提出的改进的电动汽车充电设计——[6],并将其作为本文的基准设计进行对比。
去中心化的身份(DID)
去中心化身份(Decentralized identifier, DIDs)[45]是万维网联盟(World Wide Web Consortium, W3C)正在开发的一种自主身份技术。DIDs的主要优点是DIDs的基础设施与单个授权机构解耦,因此DIDs允许用户在不受另一方干扰的情况下创建、管理和销毁DIDs,从而为用户提供了更多的隐私和控制。DIDs基于公钥加密,用户可以为一个DIDs生成一个或多个密钥对。DIDs是可扩展的,而且存在许多DIDs的标准和版本,但大体上有两种类型——公共DID和对等DID。
公共DID是已知的公开可用的,用于多个实体与DID所有者通信。与公共DIDs相关联的密钥通过在分布式账本、域名系统(DNS)或网站上写入内容而公开。分布式账本可以作为公共密钥基础设施(PKI),为公共DID作为公共身份的合法标识符(如机构)增加信任。分布式账本可以实现为几种可用的区块链实例之一,例如使用自己的身份区块链的Sovrin[62],以及使用以太坊网络的uPort[35][65]。更新的区块链技术具有更有效的加密特性[44],并有可能以更少的资源消耗提供共识。
然而,公共身份不适合用作临时身份,即仅将身份用于一次交互。将DID及其关联的密钥写入分类帐不仅是不必要的,而且还存在隐私风险,因为密钥要求只有被通信的实体知道。向公共账本写入数据通常要花钱,而且当DIDs的使用时间很短,甚至不需要公开访问时,就会变得昂贵和浪费。此外,由于读取账本的网络开销,解析与公共DID相关联的密钥比解析对等DID要慢。
另一方面,对端DIDs[42]不需要写入到账本上。对等DIDs不需要这种要求,因为它们将密钥编码到DID本身中,使通信方可以随时获得密钥。因此,peer DIDs适合用作临时身份。
将各类入侵检测信息及其密钥安全地存储在身份钱包[25]中。身份钱包通过允许密钥的使用来防止密钥的泄漏。签字,还没从钱包里拿出钥匙。使用只有钱包所有者知道的主密码访问身份钱包。
可验证的凭据(VCs)
可验证证书(VCs)[55]是W3C正在开发的另一种技术,它在创建去中心化的和可验证的身份系统方面补充了DIDs。一个可验证的凭证是一个签名的文件,包含一组关于一个主题的声明。vc是数字世界中与物理证明(如驾照、出生证明等)等价的东西。VC和DIDs一样,可以安全地存储在身份钱包中。风险投资通过发行人提供的证明来促进索赔。在VCs[20]中可以使用不同类型的证明,如零知识证明(ZKP)和JSON Web签名(JWS)[29]。ZKPs是复杂的结构,但提供了高级属性,如匿名提交凭证和选择性披露索赔。JWS类型的可验证凭据在加密方面要简单得多,因此适合于进行简单的声明。JCS Ed25519 signature 2020[16]是最近提出的一种椭圆密钥签名方案。JCS Ed25519 Signature 2020使用JSON规范化方案(JCS)[49]对VC数据进行规范化,并使用Ed25519签名算法[10]创建签名。
表示VCs的一种方法是使用链接数据结构[19],如JSON- ld[54],这是一种将链接数据序列化为JSON的轻量级语法。证书由上下文、主体和证明组成。上下文包含一个URI,该URI链接到一个文档,该文档解释凭据的所有字段以及使用和策略。主体是获授权的资料,如DID或其他声明。该证明包含凭据颁发者的签名以及有关签名的其他信息,如算法、时间戳和验证方法。
环签名
环签名是一种产生匿名签名的技术。它们首先由Rivest[47]提出,然后由Bender[8]重新定义。环签名将真实签名者的身份隐藏在一组被称为“环”的可能签名者中。环中签名者的数量称为环的大小。环的形成不需要其他签名者的参与或许可。环签名的生成首先需要为每个非签名者随机选择一个值,然后根据某个条件为签名者找到一个正确的值。真正的签名者在知道密钥的情况下能够找到这样的值。环签名的详细构造过程比较复杂,在这里就不描述了。鼓励读者阅读原文[47]中的结构。环签名的其他变体也被提出,如阈值环签名和可链接环签名[40]。环签名可以使用任何签名算法产生,例如RSA或EdDSA(Edwards-curve Digital Signature Algorithm)[52]。本文采用了Ed25519签名算法[10],它是一种基于Curve25519[9]的EdDSA。
增强物联网设备的隐私性
H. Aftab等人对oneM2M[60]和FIWARE[15]等主流物联网平台中的身份进行了分析。然而,采用基于资源的身份方法,它们使用静态身份,并且没有分析使用静态身份带来的隐私威胁。
在与外部通信时,物联网设备需要使用假名身份来隐藏其身份。然而,当使用相同的身份时,随着时间的推移,可以将其关联并挖掘行为模式。为了解决这个问题,Kortesniemi等人建议为每个交互使用新的身份。
Ansey等人已经展示了在5G中使用DIDs来确保物联网设备注册和软件更新。Lux等人提出了使用分布式账本支持的DIDs和VCs来去中心化的OpenId Connect的尝试[36]。DID是一种新技术,因此,优化它们的服务可用工作有限。
Bender等人在[8]中建议使用环签名(ring signatures)来提供某一类用户的成员访问特定资源,而无需显式地标识该成员。环签名可以提供不可否认的证据证明资源被访问过。Malina等人提出在电子支付和电子投票等数字交易中使用环签名来保护隐私。虽然他们的设计提供了组内的身份认证和匿名性,但没有指定任何方法向第三方证明身份认证。利用Rabin密码体制改进的环签名已被提出,但尚未实现[37]。
相比之下,Yang等人[66]提出使用零知识证明(ZKP)作为匿名证书进行匿名认证,但缺乏完整的通信协议。Wang[63]提出了一种面向物联网设备的隐私保护认证协议,但由于该协议使用群签名,需要额外的步骤,如群创建、密钥分发和昂贵的密码操作。
电动汽车位置隐私保护(EVs)
目前最先进的电动汽车充电设施包括电动汽车使用特定于ER的移动应用程序,并使用注册用户名和密码进行身份验证,或者使用ER颁发的RFID标签。这两种机制都使用静态身份,向CSO和ER揭示EVU的位置。此外,支付通常通过信用卡完成,这再次不必要地暴露EVU信息。
电动汽车位置隐私保护是一个研究热点,已有多种隐私保护方法被提出。Au等[7]开发了一种保护隐私的支付方案,使用零知识证明(ZKPs)进行交易,并存储支付余额账户。然而,由于ZKP涉及的加密操作比较密集,CS操作被转移到计费服务器上。其他方法使用可信第三方对地理上共存的消费者的数据进行聚合,以便服务提供者仍然可以获得街道或地区的交易事件的聚合视图,但不包括单个客户[31]。我们鼓励读者参考Antonino的论文[5],该论文在该领域提供了广泛的相关工作(在第3节),例如在安全支付方案中使用托管,以及使用群签名和环签名,因此在这里不再赘述。
面向隐私保护的电动汽车充电多DID设计
从Antonino的论文[5]的设计出发,与Antonino等人共同提出了一种改进的设计,即[6],简称多DID设计(Multi-DID design)。最初的设计通过添加更多的细节进行了改进,并通过合并Peer DID[42]、DID交换协议[50]、链接数据证明[19]、基于哈希链的微支付[46]和凭证重组使其更加高效和安全。
图2-1描述的用例的不同知识领域实心箭头表示个人身份信息。虚线箭头表示与单个实体(CS或EV)[5]无关的信息
凭证生成
多DID设计使用两种凭证对EV和CS使用的DID进行授权。首先,EV使用的凭证称为EV凭证(EV凭据);EVU将自己注册为一个或多个ERs的客户,以便能够为其电动汽车充电。ER可以使用自己的认证机制对EV和EVU进行验证。在使用充电事件之前,EV生成DIDs,因此称为EV DIDs,并将其发送到ER。ER向EV颁发凭据,而凭据的主体是单个EV。EV凭据用于验证在CSs充电的EV所有者,CSs与ER签订了提供服务的协议。在计费周期结束时,EV凭据使CSO和DSO能够验证交易日志。EV凭据可以使用ER的公共DID进行验证。在分布式账本上解析ER DID的关联公钥。由于EV不应该被重用以保护EVU的隐私,EV可以从ER请求所需的证书(最多限制)。EV证件的有效期为5天。
其次,CS使用的凭证称为CS凭证。每天,CS创建与预期收费交易数量相同的DIDs,并将DIDs转发给CSO。这些DID被称为CS DID,为了保护EVU的位置隐私,CS必须使用一次CS DID。海关执法局所在的地区由海关执法局知道,用地区ID表示。CSO颁发的CS证书有一个单一的CS DID和地区ID作为主题。CSO应提供正确的区域ID,因为DSO在CSs上安装了智能电表,可以监控能源消耗。如果中央电表上的总用电量与交易明细上的总用电量不符,则中央电表上的总用电量与交易明细上的总用电量不符,就会被揭穿。充电前,CS凭据可使其授权给电动汽车作为一个有效的充电站。在计费周期结束时,CS凭据向ER和DSO证明交易日志的真实性。可以使用CSO的公共DID(即CSO DID)来验证CS证书。CSO DID的相关公钥也在分布式账本上解析。CS证书有效期为3天。
交换信息和演示文稿
充电过程中,EV和CS通过蓝牙等无线信道进行通信。EV DID和CS DID的交换采用[50]协议进行安全交换。DID交换协议是一个四路握手协议,包括消息:交换邀请、交换请求、交换响应和交换完成。交换邀请是唯一未加密发送的消息,并提供了一个公钥来引导通信。通过交换请求和交换响应消息,通信双方相互交换各自的DID。最后,交换完整消息确认DID交换。EV和CS之间的交换消息如图2 - 2所示。
除了交换响应和交换完整消息之外,还会发送凭据和演示。演示文稿是凭证所有权的证明。陈述由两个字段组成:声明和证明。演示中的证明字段指定签名算法、创建时间、验证方法和签名值。演示文稿中的签名表明演示文稿创建者所使用的对等体的所有权。因此,EV和CS通过交换presentation来相互认证对方的peer did。
由CS创建的演示称为CS演示,它由EV收到的EV DID签名组成,用与CS DID相关联的密钥创建。CS表示和CS证书一起向EV证明了CS的真实性。另一方面,EV创建的表示称为支付承诺。支付承诺由EV使用与EV DID相关联的密钥签署。支付承诺及电动汽车凭据均证明电动汽车已获ER授权进行收费。
支付承诺是EV同意收费的证明。一旦EV和CS相互认证,EV就开始使用基于payword微支付方案[46]的支付协议进行充电。微支付方案使用哈希链安全地以少量增量支付大量金额。其基本思想是对一个秘密随机值重复哈希'n'次,并存储每个哈希值。最后一个散列值被称为散列链的根`w0`。然后,在每个哈希链步骤中,最后一个哈希的原像被揭示,并且CS释放出与该步骤'p'相对应的电荷量。这个过程不断迭代,直到支付所需的金额或达到链'n'的最大长度。使用微支付将双方的财务风险降到最低,因为CS无法满足单个请求的成本,或者相反,EV不支付的成本非常低。因此,支付承诺由以下值组成:从CS收到的CS DID(CS-DID)、哈希链的根(w0)、哈希链的最大长度(n)和每步哈希链释放的费用(p)。
收取交易
这里描述了多DID设计中收费交易的细节。具体步骤如图2-2所示,解释如下:
- CS通过发布自定义服务UUID、CS名称和套接字编号来广播其可用性。EV已经知道服务UUID, CS名称和插座编号也打印在CS上。附近的EV扫描附近的设备,并根据服务UUID、CS名称和插座编号过滤目标CSs。
- EV接入CS,协商优选连接参数。对于蓝牙的实现,通知功能也需要启用,详情见第4章。
- CS在建立连接后发送交换邀请,开始通信。交换邀请包含CS的静态公钥、CS INV密钥,用于与CS进行加密通信。
- EV向EVU展示了发现的CS及其细节。
- EVU证实了CS的细节和充电意图。此步骤完成后,EVU无需执行任何操作。
- EV从钱包中选择了一辆EV DIDs。
- EV创建Exchange请求并将其发送给CS。交换请求用CS INV密钥加密,包含EV DID。
- CS从其钱包中选择CS DID和相应的CS凭证。CS还通过使用与CS DID相关联的私钥签名EV DID来生成CS演示。
- CS the发送包含CS DID、CS Credential、CS Presentation和收费选项的Exchange响应。计费选项是支持的最大散列链长度值和每个步骤的计费金额。与EV关联的公钥加密的消息做到了。
- EV验证CS凭证和CS表示。然后,它生成付款承诺。支付承诺是用EV DID关联的私钥签署的。
- EV发送包含EV凭据和付款承诺的完整交换。消息使用与CS DID相关联的公钥加密。
- CS验证EV和CS之间的支付承诺,从而建立信任关系。
- 如果CS同意支付承诺中的条款,它将向EV发送充电协议消息。然后CS等待接收散列链步骤。
- 根据使用的哈希链步数重复该步骤——(a)EV表示下一个散列链步数。消息使用与CS DID相关联的公钥进行加密。(b)CS收到此消息后,验证哈希链步骤并释放与支付承诺中提到的步骤费用相等的微费用。
- 充电完成后,电动汽车发送充电终止请求。
- 在收到终止申请后,CS会发出终止申请的确认信。
支付方案
在计费事件发生后,CS存储最后一次显示的哈希链值wk,其中k是微支付的次数。付款承诺、CS演示、wk和k一起称为事务日志。CS将交易日志与每个充电事件的EV凭据一起发送给CSO。如图2-3所示,在计费周期结束时,该周期内所有计费事件的交易日志以及相关凭据将被共享给ER和DSO。
- 使用事务日志、EV凭证和CS凭证,CSO能够:
从支付承诺中确定参与交易的CS,从CS凭证中确定CS所在的地区。
确定EVU是其客户的急诊室,从而要求该急诊室为所提供的服务付款。
从每个步骤的充电量'p'和微支付的数量'k'确定充电所使用的能量。
根据支付承诺中的时间戳识别事务的时间。
- 类似地,对于事务日志、EV凭证和CS凭证,ER能够:
仅从CS凭证中标明交易发生的地区。这是因为每个事务中的CS DID是不同的,ER不知道与CS DID相关联的真实身份。
确定由其CS提供收费服务的CSO,并适当地向该CSO付款。
从每个步骤的充电量'p'和微支付的数量'k'确定充电所使用的能量。
在EV凭据中确定使用EV充电服务的EVU,并适当地向他们收费。
根据支付承诺中的时间戳识别事务的时间。
- 最后,使用事务日志、EV凭证和CS凭证,DSO能够:
从CS凭证中找出交易发生的唯一地区。这是因为每个事务中的CS DID是不同的,DSO不知道与CS DID相关联的真实身份。
根据EV凭证确定参与交易的雇员,并给予适当的奖励。
从每个步骤的充电量'p'和微支付的数量'k'确定充电所使用的能量。DSO计算每个区域的总能耗,并决定ER对电网平衡的贡献程度。
根据支付承诺中的时间戳识别事务的时间。
根据EV凭证确定参与交易的雇员,并给予适当的奖励。
从每个步骤的充电量'p'和微支付的数量'k'确定充电所使用的能量。DSO计算每个区域的总能耗,并决定ER对电网平衡的贡献程度。
根据支付承诺中的时间戳识别事务的时间。
系统设计
介绍基于环签名的隐私保护电动汽车充电设计。首先,讨论所做的设计选择。然后,它描述了设计所采取的假设。在此基础上,从凭证生成、消息和表示、计费事件和支付解决等方面对Multi-DID的设计进行了改进。最后,阐述了本设计的局限性。
为了使用环签名,在Multi-DID设计中主要做了三个改变:
- CS DID会在多个事务中重复使用,并在CS凭证有效期间内使用,例如一个月,
- 修改CS凭证,包括属于该地区所有CSs的CS DIDs,
- 最后,将CS在支付承诺中所做的操作替换为CS创建的环签名。
设计选择
本节从使用的标识符、签名类型、凭证格式和威胁模型等方面介绍环签名设计的各种设计选择。
身份和分类帐
DIDs提供了一种不受中央机构干扰的标准和安全的通信方式。公有和对等分布式入侵检测系统具有不同的特性,适用于不同的操作。公共DIDs用于服务提供实体,即CSO和ER,在需要维护长期关系时很有用。另一方面,对端DIDs适合用作临时身份,因此它们被用于EV和CS,它们的交互是临时的。表3-1列出了公共DIDs和对等DIDs的属性。
由于ER DID和CSO DID用于签发必须经过第三方验证的凭证,因此它们需要是可公开解析的。设计中使用的公共DIDs基于Hyperledger Indy[34],因为它提供了一个完整的生态系统来管理DIDs,如账本、钱包、加密标准[26]等。在Hyperledger Indy中,公共DIDs被写入一个由观察者和验证器节点组成的Hyperledger Indy账本池中。Hyperledger Indy依赖于一个经过许可的分布式账本,并由受托人、管理员、背书人和用户管理。Hyperledger Indy作为PKI,可以可靠地解决其他实体对CSO、ER和DSO的DIDs,从而消除在ev和CSs内部安装设备证书的需要。公共DIDs使用did:sov方法表示,并使用一个16字节的随机字符串作为标识符。
环签名
环签名和群签名[13]都允许创建匿名签名。然而,群签名所基于的密码算法要比环签名复杂得多。群签名生成和验证操作在移动设备[43]上耗时数秒。此外,群签名需要所有成员的参与才能创建群,因此在设计中没有使用群签名。
另一方面,环签名的操作要简单得多。环签名的性能随着环中成员数量的增加而线性下降。提出了几种具有特殊性质的环签名方案,并对[38]进行了分析。然而,专业环签名通常更为复杂,简单的环签名就足以满足本文的需求。
凭证
Hyperledger Indy提供的凭据是基于ZKP的,因此非常消耗资源,不适合部署在受限的设备上。尽管它们提供了诸如选择性披露和匿名表示等特性,但这些特性对于用例来说并不是必需的。因此,本文中使用的凭证是基于Linked Data proof[19]语法设计的,它具有独立的JWS签名。证书的设计是在演示过程中全面披露。
此外,Hyperledger Indy中的演示文稿是可转移的,这意味着演示文稿可以由不拥有凭据的实体转发。这个漏洞可以被用来进行中间人攻击。因此,设计中使用的凭证暴露了持有者DID(或者在环签名设计中可能的持有者DID集合)。凭据是由与凭据中提到的持有者相关联的密钥创建的新签名。使用同样的方法进行通信,也包括在凭据中,向另一方证明凭据的出示者是凭据的合法所有者。
威胁模型
攻击者可能试图获取EV和CS之间的通信流量,以获取有关EVU的信息,如ER名称、收费金额等。因此,除连接邀请外的所有通信都遵循信息最少的原则进行加密。CS INV密钥安全引导连接,协议中的其他消息均使用EV和CS对等DIDs关联的密钥进行加密。
由于蓝牙设备价格低廉,攻击者很容易在车站附近安装小型设备,建立虚假的CS服务,从而窃取电动汽车的凭据和支付承诺。另一种与蓝牙通信有关的攻击可能是EVU没有插入正确的充电插座,意外地为攻击者支付了充电费用。这似乎是一个不太可能的攻击,因为攻击者必须出现在同一个CS上,并且会被捕获。CS名称和插座号码通过蓝牙广告,同样清楚地打印在CS。因此,EV连接到哪个插座,EV应用程序与哪个CS插座通信,都不应该混淆。如果有一个竞争的CS周边广告相同的插座号码,EVU能够目视检查是否其正确的CS。
最后,另一种威胁可能是电动汽车逃避从CS收到的电力全额支付,或者CS不为从电动汽车支付的电力提供全额充电。前面描述的小额支付方案保护双方免受这类欺诈。
假设
为环签名设计所作的假设列在本小节中。同样的假设也适用于多DID设计。
- CSO和ER之间没有勾结,将他们存储的关于EVU的信息结合起来,以揭示EVU的身份和其他信息。
- 分布式账本由管理人员运行和管理,管理人员可以是代表相关各方利益的实体,例如EVU组织、公民社会组织、ERs和政府监管机构组成的财团。
- ER和CSO的公共did写在分布式账本上,并定期轮换相关的公钥,以维护系统的安全性。DID值,即ER DID和CSO DID,被EVU和CS认为是合法的。
- 密钥轮换由CSO和ER定期执行。轮换CSO和ER验证密钥,这样已经签发的凭据就不会失效。这是通过协调密钥轮换时间和凭据有效性来实现的。
- EV和CS的通信部件是具有足够计算能力执行公钥加密的物联网设备,并具备低功耗蓝牙(BLE)等无线通信能力。他们可以上网下载证书,尽管在充电期间不需要上网。
- DSO在每个CS安装了智能电表,提供一段时间内总用电量的信息。
- CSO签发带有正确地区ID的凭证。如果中央保安员签发的证件带有虚假的地区ID,中央保安员就会被地方保安员在将交易数据与该地区的智能电表读数进行比对时抓到。
- 一个充电站通常在一个地方有很多插座。然而,这里单个充电插座用缩写CS表示。也许有很多相近的CSs属于同一个CSO,但它们由于给定的CS名称和套接字编号而有所不同,因此EVUs可以区分它们。还有视觉指示器显示CSO和ER的品牌,这样就不会混淆哪个充电站为特定的ER服务,由哪个CSO拥有。
- CSO、ER和DSO之间存在安全通信通道,可以安全地传输事务日志。
凭证生成
在环签名设计中,CSO每月收集辖区内所有CSs的CS did。然后CSO给每个CSs颁发相同的CS证书。证书的主题是所有的CS ID和地区ID的集合。这组CS DIDs被CSs用作生成环签名的签名者集。环签名的验证者可以确定集合中有一个DIDs属于签名者,但不能确定是哪一个。CS证书有效期为1个月。CS证书的结构详见附录a。EV证书的生成方法与Multi-DID设计相同。
交换信息和演示文稿
使用的交换消息与Multi-DID设计相同,但CS表示和支付承诺已被修改。CS演示是通过在EV上生成环签名来创建的。在多did设计中,CS表示经过验证后被丢弃,而在环签名设计中,CS表示被用来创建支付承诺的CS签名字段。CS -签名由EV DID和CS演示得到的环签名组成。在环签名设计的支付承诺中,将cs-did字段替换为cs-signature字段。付款承诺的其他字段与Multi-DID设计相同。CS陈述和付款承诺的结构见附录A。
收取交易
介绍环签名设计中的计费交易细节。具体步骤如图3-1所示,解释如下:
- 与2.7.3节中的多did设计相同。
- 和多DID设计一样。
- 和多DID设计一样。
- 和多DID设计一样。
- 和多DID设计一样。
- 和多DID设计一样。
- 和多DID设计一样。
- CS从钱包中使用其长期存在的CS DID和CS凭证。CS还通过在EV上生成一个环签名来生成一个CS演示,该EV是与该地区的其他CSs作为环成员所做的。
- 和多DID设计一样。
- EV验证CS凭证和CS表示。由于CS演示文稿只包含一个环签名,这证明演示文稿创建者是该地区的CSs之一,而没有揭示确切的CS。然后,EV生成支付承诺。hash链的创建过程与Multi-DID相同,只是cs-DID字段被替换为cs-signature。CS-signature是上一步从CS展示中获得的消息和签名。然后,支付承诺与EV DID关联的私钥进行副签名。
- 和多DID设计一样。
- 和多DID设计一样。
- 和多DID设计一样。
- 和多DID设计一样。
- 和多DID设计一样。
- 和多DID设计一样。
支付方案
收费事件的交易日志的收集和传递与Multi-DID设计中相同,只是支付承诺和CS凭据如前所述略有修改。虽然CS和EV知道CS DID是收据的真正签名者,但从环签名本身看不出来,ER和DSO也无法从环签名中得知CS DID。
- 通过事务日志、EV凭证和CS凭证,CSO能够:
(a)根据CS证书确定交易发生的地区。CSO也知道CS身份,因为它从CS接收事务日志。然而,这并不能向CSO揭示EVU的位置,因为每次交易的EV DIDs都是不同的,CSO不知道EV DIDs的真实身份。
(b)确定EVU为其客户的ER,并因此要求ER就所提供的服务付款。
(c)根据每步“p”的充电量和微支付的数量“k”确定充电所使用的能量。
(d)根据付款承诺中的时间戳确定交易的时间。
(b)确定EVU为其客户的ER,并因此要求ER就所提供的服务付款。
(c)根据每步“p”的充电量和微支付的数量“k”确定充电所使用的能量。
(d)根据付款承诺中的时间戳确定交易的时间。
- 类似地,对于事务日志、EV凭证和CS凭证,ER能够:
(a)在CS证书上只标明交易发生的地区。这是因为CS演示中的环签名没有显示在交易中使用的CS。
(b)确定由所属的公务员提供收费服务的公务员团体,从而适当地向该公务员团体付款。
(c)根据每步“p”的充电量和微支付的数量“k”确定充电所使用的能量。
(d)在电动汽车凭证中确定使用电动汽车充电服务的电动汽车单位,并适当地向他们收费。
(e)根据付款承诺中的时间戳确定交易的时间。
(b)确定由所属的公务员提供收费服务的公务员团体,从而适当地向该公务员团体付款。
(c)根据每步“p”的充电量和微支付的数量“k”确定充电所使用的能量。
(d)在电动汽车凭证中确定使用电动汽车充电服务的电动汽车单位,并适当地向他们收费。
(e)根据付款承诺中的时间戳确定交易的时间。
- 最后,使用事务日志、EV凭证和CS凭证,DSO能够:
(a)在CS证书上只标明交易发生的地区。这是因为CS演示中的环签名没有显示在交易中使用的CS。
(b)根据EV证书确定参与交易的雇员,并给予适当奖励。
(c)根据每步“p”的充电量和微支付的数量“k”确定充电所使用的能量。DSO计算每个区域的总能耗,并决定ER对电网平衡的贡献程度。
(d)根据付款承诺中的时间戳确定交易的时间。
(b)根据EV证书确定参与交易的雇员,并给予适当奖励。
(c)根据每步“p”的充电量和微支付的数量“k”确定充电所使用的能量。DSO计算每个区域的总能耗,并决定ER对电网平衡的贡献程度。
(d)根据付款承诺中的时间戳确定交易的时间。
限制
多DID和环签名设计提供的隐私水平取决于区域的大小和位于该区域的充电站的数量。如果该区域在地理上太小或者只有很少的CSs, EVU的位置可能会受到影响。
而在多标识设计中,一个新的CS标识可以在向CS颁发证书后立即使用,在环签名设计中,更新一个长期存在的CS标识不仅需要向该CS颁发新证书,而且需要向区域内所有的CSs颁发新证书。然而,更新单个CS DID是不太可能的事件,因为所有的CS DID都是定期更新的,因此这个限制不会造成任何重大问题。
CSO和ER合谋货币收益可能是一种风险。人们一直认为两者之间没有勾结,但在现实世界中,勾结是可能发生的。CSO知道电动汽车DIDs和参与充电事件的CS的真实身份,ER知道与电动汽车DIDs相关的EVU。通过合并他们的信息,急诊室和CSO可以揭示EVU的位置。另一种可能的威胁是CS可以在环签名中使用非随机值,从而破坏环签名的匿名性。然而,这种环签名可能会被警惕的EV发现,CSO可能会失去其声誉或面临法律行动。
最后,关联攻击也可能使用与服务使用相关的其他数据。例如,当电动汽车通过移动网络访问互联网时,网络标识可能会泄露一些信息。其他信息,如车辆的类型和型号以及电动汽车电池系统的特征,也可以用于识别电动汽车。