文摘

5 g通信提出了明显改善了4 g的效率和安全性。在这些小礼品,5 g网络切片似乎有一个突出的作用:部署多个虚拟网络片,每一个都提供不同的服务有不同的需求和特性。这样,一片操作符(所以)裁决特定片可能需要为用户提供一个服务满足一些要求。最重要的是提供一个健壮的认证协议,能够确保用户满足要求,同时提供privacy-by-design架构。这么做就更有必要拥有一个种植密度的物联网(物联网)设备通过网络交换私人信息。在本文中,我们提高了5 g网络切片验证使用Self-Sovereign身份(SSI)方案:允许用户完全控制他们的数据。我们介绍一个方法允许用户来证明他有权访问一个特定的服务没有泄露任何关于他的信息。这种方法是无,一个协议,提供nonlinkable对任何发布信息的保护,防止因此或偷听者跟踪用户的行为和有关自己的真实身份。此外,我们的协议是可伸缩的,可以作为一个框架,用于改善相关技术在类似的情况下,认证的5 g无线接入网络(RAN)或其他无线网络和服务。这些特性可以通过使用加密原语称为零知识证明(ZKPs)。 Upon implementing our solution using a state-of-the-art ZKP library and performing several experiments, we provide benchmarks demonstrating that our approach is affordable in speed and memory consumption.

1。介绍

5 g通信增强的方式移动设备连接到蜂窝网络。他们不仅仅提高了4 g无线接入网络(RAN)也引入了一个新的范式,不同规格的设备通过不同的物理和逻辑网络路由,称为网络片。这打开了新的商业模式,例如,创建网络片为第三方提供的特定服务。这样,一片操作符(所以)裁决网络片可以向用户提供服务满足一些要求(例如,用户参与政府项目和用户付费使用这样的服务)。在物联网的生长密度(物联网)设备使用5 g通信,我们可以发现设备通过网络共享敏感数据的例子:医疗器械交换私人信息或自主汽车与网络片分享他们的位置。不用说,这些数据不应该追踪任何因此或偷听者。在这种情况下,传统的身份验证方案泄漏这些数据。因此,Self-Sovereign身份(SSI) [1成为一个重要的特性来实现:系统,用户可以控制、访问、和透明的同意他们的身份,防止实体跟踪和收集他们的个人数据。同样,SSI体系背后的主要思想是为用户提供一个独特的机制进行身份验证到不同的服务,只提供所需的信息,信息应当nontraceable。

1.1。贡献

我们引入无小说self-sovereign身份验证方法,用户访问服务展示他的权利,不泄露任何关于他的信息。我们的方法是一个底层协议被集成到现有的SSI体系,避免任何用户活动与其他活动在过去或未来。此外,它还可以防止或攻击者冒充他跟踪用户的活动。我们的协议授予用户提供这些主要特性:(我)匿名:所以无法与任何数字身份真实身份。(2)证据要求:用户可以证明他使用一个特定的服务满足所需要求。(3)Nonlinkable活动:所以无法与任何用户活动到另一活动在网络中完成。

为了实现上述关键特性,我们使用零知识证明(ZKPs),加密原语获得大量的势头在过去几年。由于开创性的论文(2),演示ZKPs可以证明知识的秘密不泄露任何信息,多个应用程序已经设想。然而,在几十年里,他们远不是在真实的应用程序中使用,由于不存在有效的实现。然而,最近,许多高效ZKPs分为现场,革新不仅在该地区最先进的,而且市场在cryptocurrencies等场景(例如,Zcash [3])或smart-contracts(例如,Ethereum [4])。使用ZKPs,我们可以确保self-sovereign认证5 g网络片,作为用户能够访问一个特定的服务证明自己的权利,所以请求,不泄露任何关于他的信息。

1.2。路线图

2,我们公开所需的背景了解问题的背景和我们的解决方案。节3,我们介绍了有关工作方面的话题。节4,我们提出我们的协议细节,包括安全分析、实现和执行实验。结论提供了部分5

2。背景

在本节中,我们首先介绍基本的5 g网络切片,后来,为了完整性,我们概述ZKPs是什么以及他们如何可以应用到我们的协议。

2.1。5 g网络切片

5 g的第五代移动通信(5),达到更快的速度比LTE网络和更可靠的服务。5 g网络分为不同的网片,是独立的网络专用的特定服务和优化。这个新的体系结构构建采用软件定义网络(SDN)和网络功能的虚拟化(NFV),以及基础设施。所有这些变化导致更高的性能:更高的速度,更低的延迟和更少的网络延迟。如图1,不同类型的用户设备(UE)是不同的片,根据产品规格或者他们愿意使用的服务。简而言之,主要的网络片如下:(我)eMBB片:增强的移动宽带(eMBB)片是需要高带宽的服务,如互联网浏览,高清视频、虚拟现实等。(2)mMTC片:巨大的机器类型通信(mMTC)片旨在组高密度的设备,没有等基本要求的低延迟、高带宽。这样的例子是物联网设备,特别是在智能城市的背景下。(3)uRLLC片:飞船稳定性极强,和低延迟通信(uRLLC)片的目标是提供非常低的网络延迟,一个至关重要的服务,如自主驾驶或远程管理要求。

如图1用户连接问题,小5克跑的5 g细胞,提出了连接5 g的核心网络,分成不同软件定义网络(即。、eMBB mMTC和uRLLC)。

此外,允许访问5 g核心网络不仅仅从新的5 g跑,还从其他网络4 g跑或光纤连接,根据服务的需求。因此,我们理解5 g作为异构网络(HetNet),不同的规范和协议的网络互连设备,一个共同的和值得信赖的认证计划将是一个理想的特性。

2.2。零知识证明

一个零知识证明(ZKP) [2)是一种加密原语允许验证 说服一个验证器 这声明是真实的,没有泄露任何机密信息。特别是,ZKPs必须满足三个属性:(我)完整性:如果该声明是正确的, 必须能够说服 (2)稳健:如果声明是错误的, 不能说服 的声明是正确的,除了概率可以忽略不计。(3)0知识: 不能学到任何信息以外的证明这一事实的声明是正确的。

此外, 也可能感兴趣的额外属性,知识的证明,保证 知道这个秘密的信息。这个秘密信息,验证方知道通常被称为证人 换句话说, 想证明知识的一个秘密证人 的一组操作。这样的操作是由一个电路,图由不同的电线和盖茨,导致的一组方程有关这些门的输入和输出。这些方程称为约束。

为了实现他们的目标,两者兼而有之 需要多次交互。然而,随着迭代并不总是可取的属性,另一种ZKPs称为非交互的ZKP (NIZKP) [6)出现。在这种情况下, 证明一份声明 他通过发送一个消息,没有互动。第一NIZKP计划远未实现,由于他们不切实际的计算需求。这是其中一个最受欢迎的ZKPs起来,zk-SNARKs,零知识的简洁和非交互的参数(7]。这种证明是短暂的和简洁的:它可以验证在几毫秒。在这个方案中,一个值得信赖的设置是必需的,为了得到一些公共参数使用 作为参考来生成和验证证明。这些参数被称为共同引用字符串(CRS)。如果攻击者能够得到秘密的随机值 用于生成CRS,他将能够产生虚假证明。出于这个原因,初始设置通常是通过一个安全多方计算(MPC) (8),生成所需的参数使用分布式计算的协议。因此,zk-SNARKs由三个算法:设置,证明和验证。其中的一些元素的计算复杂度取决于门的数量 ,这是操作的数量,我们做证明一个特定的语句。

还有其他有趣的ZKPs zk-SNARKs,而是像防弹9]。如表所示1,防弹结构的大小大于zk-SNARKs证明,复杂在哪里 固定大小和证明zk-SNARKs的复杂性。此外,在验证时间复杂度zk-SNARKs也更快。即使防弹有线性时间复杂度,每个约束导致大量的操作需要在实践中证明时间。因此,防弹的主要优势是,他们不需要一个值得信赖的设置。

另一个有趣的ZKPs zk-STARKs(零知识简洁透明的论点)10),其规模远远高于zk-SNARKs和防弹 他们的一个主要优势是,像防弹;他们不需要一个值得信赖的设置。zk-STARKs的另一个优点是,他们应该是postquantum安全,这不是zk-SNARKs和防弹。

关于上面描述的安全方案,每个方案的可靠性属性依赖于不同的安全假设[11]。如表所示1,zk-SNARKs使用强大的假设, - - - - - -力量指数的知识( )假设,在防弹或zk-STARKs使用更好的方法:离散对数问题(DLP)和耐碰撞散列函数(CRHF),分别。

然而,最重要的一个改进关于ZKPs zk-SNARK建设介绍了(12),介绍了到目前为止最有效的zk-SNARK设计。主要改进之一是验证人评价一个方程,只使用三个配对,而不是五个方程和十二配对,在[7]。改进导致大量使用这类建筑在Zcash等不同的应用程序。

另一个重要的研究课题是弹性量子攻击。必不可少的贡献有关这个话题已经完成(13,14),一个新的zk-SNARK建设被认为是postquantum安全的介绍。

关于实现的可伸缩性,已做了重大贡献(15]。他们提出声波,zk-SNARK建设需要一个值得信赖的设置,但这样的区别设置支持不同的电路,也可更新,这意味着该计划可以不断改进。在安装期间,CRS还公开,通过使用一个可更新的CRS模型(16),任何用户都可以更新CRS,他也可以证明它是正确的,使用正确性的证明。如果这个证明验证,新CRS可以信任只要老CRS或用户的更新是诚实的。此外,zk-SNARK结构不需要可信的设置也被设计,就像在17]。

记住上述方案后,ZKP建设最适合我们的解决方案(写这篇文章的时候)是zk-SNARKs。我们需要证明简洁可核查不超载验证人,同时,也喜欢有证明一个常数的大小。在这方面,Groth的16建设(12)提供了一种合理有效的验证,所以它可以SANS的首选,有建设与有效的证明和验证算法在我们的场景中是至关重要的。节4.4,我们将展示几个实验的结果,我们在这方面所做的。然而,我们记得,我们的解决方案可以用来与其他ZKP结构如果更好的选择。

Self-Sovereign身份(SSI)获得了很多感兴趣的最后一年。作者在18设想一个SSI体系,用户可以控制,同意,并被广泛使用他们的身份在不同的服务,以及其他属性。这些属性被定义在[1]Sovrin基金会(https://sovrin.org/)。他们介绍了如何实现SSI体系指南以及区块链技术,提供了一个分布式架构的信任没有中央政府管理用户的数据。在这方面,SSI身份验证方案的提出(19)利用区块链技术部署分散和私人身份验证系统。

好复习的最先进的关于这一主题在[20.]。状态,ZKPs允许用户来证明身份的所有权,即证明公钥密钥相关的知识存储在一个区块链。

如前所述,网络分割依赖于SDN-based架构的核心。在这方面,有趣的研究是在21),一种新颖的身份验证方案预防多种类型的SDN验证攻击了。这么做就更有必要医疗云共享上下文中的敏感信息,这一事实导致了计划(22)保证一个安全的身份验证在这个场景中。

一个更具体的用例与我们的方法介绍了(23]。他们国家的一些好处SSI对物联网设备,像所有者的身份不同设备本地存储设备,而不是在一个集中的实体(即。所以在我们的场景中)。作者解释说,SSI分层认证系统分离应用程序的身份验证提供了一个从渠道认证,在前处理的信任需求。这个资助一个更可靠的端到端安全性,建立安全通信中不同的协议。

上述研究中关于SSI,我们所知,没有解决方案应用于5 g网络片。在这方面,我们提出一个解决SSI融入网络片在下一节。

4所示。我们的解决方案:无

在本节中,我们首先解释我们的方法所需的细节。后,我们分析我们的安全协议,其计算约束,和基准。

4.1。协议描述

我们从高层开始SANS,后来搬到一个更详细的描述:用户愿意加入一个网络片使用其服务可能需要满足一些要求,如有支付订阅费用。这样,用户验证 愿意证明一个验证器 ,所以,他已经支付金额(声明)。我们的协议实现这个目的。要做到这一点,我们的协议的一个重要要求是能够证明知识的合同签署使用给定的密钥: 必须说服 他知道合同及其签名,使用公钥验证。合同会秘密的价值,不过, 必须相信。为了高效,使用签名算法必须ZKP-friendly,这意味着其操作可以减少到一个低数量的限制。例如,Edwards-curve数字签名算法(EdDSA) [24)是一个快速签名算法与zk-SNARKs广泛使用。此外,签名算法zk-SNARKs必须结合高效的散列函数。的一个最有效的zk-SNARK-friendly散列的日期是海神波塞冬25),需要限制电路的8倍少于彼得森广泛使用的散列。

我们的身份验证方案分为两个协议,描绘在图2。第一个是服务注册协议,为每个发布执行付款。其步骤如下。

协议1。服务注册(1) 提供了 一些请求信息 (例如,银行在一份声明中说,付款已发布)。(2)后验证 , 生成一个惟一的字节数组 识别用户并将其发送给他加上一个时间戳 代表合同有效期。此外, 提供了一个签名 和它的公钥 注册到服务后,用户可以使用所提供的参数进行身份验证服务每次需要使用它,从而创建一个新的会话到服务。此外,为了避免重播攻击(26(即。,an eavesdropper taking the proof and replying it to the SO), every proof must include the hash of the secret token concatenated to a variable public parameter 进一步讨论了这种方法的细节部分4.2。执行会话认证协议如下。

协议2。会话的认证(1) 计算证明 电路的输入 (公共输入); (私人输入); (私人输入); (公共输入); (公共输入)。(2) 验证证明 和资助服务。生成的凭证 证明了知识的秘密输入电路的描绘在图3。如图所示,我们证明知识秘密令牌的散列连接到它的到期日期 这是我们的合同,我们也证明我们知道它的秘密签名(签名 )使用公钥 这个输出 如果是验证签名,分别,这价值乘以的输出 如果都是正确的,电路将输出一个散列;否则,输出是0。

4.2。安全分析

在本节中,我们分析的安全解决方案。我们也详细如何克服一些可能的攻击。

4.2.1。准备假证明代

zk-SNARKs等ZKP结构的主要缺点是需要一个可信的设置。在很多情况下,像在Zcash,一个不忠的设置可能会导致巨额亏损的钱如果恶意方活板门 并开始创建虚假交易。然而,这不是一个问题在我们的解决方案:可以生成不同的设置由每个。如果保存和传播地板门 ,人知道 将能够访问服务通过生成错误的证明。因此,该协议是安全的,只要设置生成的所以他破坏 此外,如前所述,ZKP建设最适合我们的解决方案目前的写作这是‘16 zk-SNARK。因此,无依赖的安全 假设。

4.2.2。椭圆曲线的攻击

我们的解决方案的安全也依赖于安全的椭圆曲线。最常用的曲线在ZKPs Barreto-Naehrig曲线(27)称为BN128,安全级别的在实践中估计有110位(28]。这意味着攻击者愿意打破BN128应当履行 操作。等曲线bls12 - 381 (3估计约128位的安全,重组操作的缺点。破坏的安全椭圆曲线会导致使用能够产生虚假的证明。

4.2.3。账户共享

每一个计算证明是不同的,因为它是使用随机生成参数,允许用户生成不同的证明与相同的输入。因此,用户可以生成多个证明对于其他用户来说,使用单个订阅访问服务。为了克服这个问题,一个简单的解决方案整合到我们的协议:所有证明必须包括秘密令牌的散列连接到公共参数变量 理想情况下,该参数可以是一个时间戳与特定的准确性,例如,日期格式yyyy / mm / dd加上时间格式hh: mm不秒。这样应该乘以一个散列的输出验证的签名(1或0,如果验证不信,职责),如果一切都是正确的,电路应该输出一个散列。像这样,所以接收相同的散列不止一次可以识别那些证明计算使用同样的原因。因此,如果两个用户试图使用服务的同时,也会涉及和拒绝都连接。

4.2.4。5克跑的身份验证

的一个主要担忧我们的解决方案是提供一个完全的私人认证,所以不能学习的用户的身份。在此场景中,我们还有另一方,互联网服务提供商(ISP),充当SDN控制器提供最佳的架构和工作流网络切片。因此,ISP学习用户的身份问题的时刻访问5克。要克服这一点,我们设想的使用无问题时需要进行身份验证访问5 g跑。换句话说,问题将会证明他的访问5克,例如,通过证明用户支付上月ISP的法案。

4.3。效率分析

本节描述一些无效率的考虑。

4.3.1。计算复杂度

正如我们看到的部分2,设置协议只取决于门的数量,所以这个协议有一个线性计算的复杂性 所做的大多数消费操作验证是计算一个多项式的系数 ,可以更有效地计算采用快速傅里叶变换(FFT)技术(29日),导致计算的复杂性 验证人一群常数计算本章和一个方程组成的三个配对。

4.3.2。验证优化

有不同的操作执行的zk-SNARK验证可并行化以提高其效率。这意味着CPU和GPU多处理技术可以应用于加速实现。即便如此,外部计算资源的使用在[30.可以考虑)。例如,在验证的情况下作为一个smartwatch较低的计算资源,最重的计算可以通过用户的电话,预先计算的,其计算能力应该更高。

4.3.3。电路规模

我们的电路包含一个EdDSA签名结合两个散列(写这个日期,波塞冬似乎是最好的选项)。的作者circomlib (https://github.com/iden3/circomlib/)开发的最优EdDSA和波塞冬电路,它使我们的解决方案总规模7565约束和负担得起的第二小节所示计算倍。

4.4。实现和基准

我们实现了(https://github.com/xevisalle/sans使用snarkjs)我们的解决方案,一个JavaScript和实现zk-SNARK WASM框架应用程序。选择这个选项的原因是其实现电路简单和可移植性在web环境。在这方面,我们在一个web服务器部署我们的实现,来执行不同的设备使用不同的浏览器。总的来说,这个实现的限制是7565的数量,以及图的图4,我们的解决方案能够满足高性能cpu (i7 - 8750 h),使用Mozilla Firefox或Google Chrome。因此,我们的解决方案可用于桌面应用程序对性能没有问题。

另一方面,证明时间增加尤其是在低档次的处理器(英特尔Atom x7-Z8750),实现计时高于在Firefox和Chrome 2秒。一个有趣的事实是Chrome表现略好于Firefox桌面版,这并不适用于移动cpu(金鱼草845)。845年关于金鱼草,即使它是一个顶级移动处理器,我们可以看到,结果不如i7 - 8750 h。然而,实现性能结果证明我们的解决方案是可行的,特别是在可移植性是当务之急。此外,内存消耗已经在所有的测试在150年和200 MB(不考虑什么是被默认的浏览器)。

此外,我们还测试了libsnark (https://github.com/scipr-lab/libsnark),一个优化的c++ zk-SNARKs库实现优秀的基准,但不是缺点的便携式snarkjs等其他解决方案。例如,正如作者libsnark状态,图书馆不优化的ARM体系结构(例如金鱼草845),和BN128曲线不支持在这个架构。

我们实现了一个电路具有相同数量的约束,我们的解决方案,我们在多核模式下执行验证方使用16和BN128曲线。结果显示在图的图表5。可以看到,比snarkjs libsnark达到更好的结果,所以使用这个库实现无将更加可行。对于内存消耗,libsnark表现更好:大约20 MB的测试设备。此外,优化图书馆手机和嵌入式系统将导致额外的性能改善,所以在这方面未来的工作将是一个令人兴奋的研究课题。

5。结论

在本文中,我们介绍了san,协议的证明正确的用户访问一个特定的5 g网络片,不泄露任何关于他的信息超出了他拥有这样的权利。我们的解决方案是一个底层协议被集成到现有的SSI方案。此外,它可以很容易地扩展到其他场景,像5 g认证,其他种类的无线通信,分布式应用程序。即使有些像zk-SNARKs ZKP方案需要昂贵的计算操作,我们已经证明了我们的解决方案能够负担得起的效率和内存消耗通过实现无使用现有的库。此外,我们证明了我们的实现的可移植性测试几个设备。然而,未来的工作对优化ZKP图书馆嵌入式系统将会是很有趣的,传播这个协议的使用。

数据可用性

所有的数据都包含在这篇文章本身。

的利益冲突

作者宣称没有利益冲突。

确认

作者所支持项目rti2018 - 102112 b - 100 (AEI /菲德尔,问题)。