为智慧城市应用提供移动云计算安全通信的高效匿名互认证技术

摘要
如今,移动用户的数量在近年来有了相当大的增长。用户可以在移动过程中通过移动设备使用多种云计算服务。然而,由于无线通信媒介的开放性,提供对这些服务的安全访问是困难的。本文提出了一种适用于智慧城市移动云计算应用的高效匿名互鉴技术。在这种技术中,移动用户Ui和服务提供商Sj都需要向对方证明其合法性,因此合法的Ui可以以高效和安全的方式利用所有的云计算服务。安全分析部分显示了所提出的匿名互认证技术在各种安全攻击下的安全强度,性能分析部分表明所提出的方法在计算开销方面比现有方案更有效。

云计算导论

随着云计算的快速发展和移动用户的增加,移动云计算近年来受到了广泛的关注。在移动云计算中,移动用户和服务提供商可以通过开放的无线媒介进行通信。由于空气是移动云计算中的通信介质,因此应该对其进行适当的保护;否则,它将容易受到各种安全攻击,如身份跟踪、假冒等。此外,与笔记本电脑和个人电脑相比,移动用户的计算效率是有限的。因此,设计一种高效的移动云计算匿名认证方案显得尤为重要。因为,移动用户需要来自不同服务提供商的各种云服务;由于移动设备存储的限制,移动用户很难以匿名方式存储所有服务提供商的详细信息。因此,在本文中,会话密钥完成后,用户和服务提供者之间进行交换。此外,在无线移动环境下,用户帐号的隐私被保护,以避免身份伪装、身份追踪和隐私相关的攻击。

传统的单点登录方法【这里主要是指2010-2013年的相关研究文献】是解决关键管理问题的一个可能的方法。在这种框架中,移动用户可以通过一个密码或私钥获得各种移动云计算服务。但是,大多数单点登录系统在每个身份验证过程中都需要可信第三方(TTP)的协助。最常见的单点登录认证方法之一是OpenID,它已经被各种互联网服务提供商普遍接受,目前有超过5万个网站使用OpenID作为他们的认证方法。OpenID与三个角色相关联:用户、身份提供者IdP和服务提供者S。在认证过程中,服务器S必须提前与IdP交换凭证,以获得OpenID标识和识别。类似地,用户应该在前面的IdP中注册以获得OpenID标识符。然后,用户使用安全套接字层SSL将其Open ID发送到服务器。接下来,服务器通过将需求重新定位到IdP以进行用户合法性验证来验证用户的OpenID。如果IdP验证了用户的合法性,那么,IdP就会用一条记录将移动用户重新定位到特定的服务器。预期的服务器将验证从IdP接收到的信息。接收到的信息是有效的,接下来服务器会验证移动用户。但是,当IdP繁忙时,服务器不能向移动用户提供服务来处理新的请求。例如,OpenID规定强烈建议在所有通信中使用SSL网络关联。然而,SSL方法的使用依赖于传统的公钥密码系统,如RSA实现需要更多的计算成本。因此,移动客户端不适合在移动云环境中实现单点登录解析。
本文提出的匿名互认证方案的主要目标描述如下
1)所提出的认证方案提供了一种匿名的相互认证方式,在不使用SSL的情况下,使用一些有效的密码系统对移动用户和服务提供者进行认证。
2)提出的认证方法大大降低了计算量。
3)该方法能够高效地交换会话密钥,实现成功的匿名认证。

相关联领域的其他研究工作

为了避免非法用户进入基于网络的应用程序,需要使用安全服务的核心部分,即身份验证。在传统公钥密码体制的基础上,提出了传统的认证方法。此外,传统的方法需要更多的计算时间。例如,传统的公钥密码系统之一是RSA,它需要很长的密钥大小和更多的计算。由于这些限制,大多数传统的认证方案都不适合移动设备。Koblitz和Miller提出了椭圆曲线密码系统(ECC) ,用于在移动计算应用中进行认证。基于离散对数问题(DLP)的ECC的稳定性。此外,在ECC中,256位的公钥可以提供相同的安全性,而RSA可以提供3072位。虽然这种方法在计算成本方面是有效的,但它没有为移动用户提供隐私。
近年来,椭圆曲线密码系统采用双线性配对技术来提高密码的安全性。在双线性配对技术的基础上,提出了许多基于身份的密码系统(Advances in crypology - crypto)。在基于id的公钥密码系统中,移动用户的凭证就是公钥,因此移动用户不需要执行身份验证过程来验证其他用户的公钥。因此,移动设备中不需要更多的内存空间来保存其他用户的公钥及其相关凭证。在云计算环境下,基于身份密码系统的加密方案已经被提出。例如,Lim和Robshaw提出了一种基于身份的密码系统来提供网格安全,Mao(2004)提出了一种基于身份的非交互式认证的网格新技术。此外,Li, Dai, Tian, and Yang(2009)提出了一种新的基于身份的云计算大气验证技术。但是,Hughes(2004)的认证过程并没有提供用户保密性和用户不可追溯性。
由于越来越多的认证方法依赖于双线性配对或ECC,它们主要用于客户端服务器环境。然而,双线性配对或ECC不适合各种服务提供商为提供各种服务而相互竞争的分散式服务氛围。这种方法的主要问题是,移动用户想要处理不同服务提供商的各种密钥。为了解决移动用户侧的密钥管理问题,每个服务提供商需要交换他们的主私钥。但是,如果对手攻击任何一个服务提供商成功,移动用户就可以找到主私钥并冒充其中一个服务提供商欺骗移动客户端。一旦对手从服务提供商获得主密钥,他/她就可以很容易地找到移动用户和其他服务提供商之间接受的会话密钥。因此,这种简单的身份验证方法并不保持前向保密。通过学习到的会话密钥,攻击者可以很容易地获取移动用户和各种服务提供商之间传输的信息。因此,这种方法不适合移动云计算环境。
通过使用移动云计算,用户可以轻松地按需访问资源。但是,移动云计算服务受到数据安全和隐私的影响。为了提高云计算中的数据安全性,有必要检查用户和服务提供商的合法性。其次,为了提供隐私,需要从外部挑战者那里获取用户的时刻历史和位置信息。因此,远程身份验证方法有必要保护用户的隐私。相关研究者们提出了一种保护隐私的互认证方法。为了保证数据的安全性,用户和服务提供者必须相互验证。该方案仅能控制用户使用该服务n次。n的值可能会根据云用户为预期服务支付的金额而变化。为了提高云计算中的数据安全性和私密性,Moctar和Konaté(2017)提出了一种基于Merkle树的安全云服务。该协议包括系统初始化、安全云存储、安全计算和结果验证四个阶段。
目前,有各种密钥协议和远程用户认证方案。这些方案包括四个阶段,即系统设置、用户注册、密钥协议和用户认证。在这些方案中,服务器可以知道所有移动用户的秘钥,因为所有的秘钥都来自于服务器的主密钥。因此,这些方法都存在设计缺陷,即服务器识别所有用户的密钥。这些方法存在的主要问题是无法提供内部攻击抵抗和联合认证。在内部攻击中,用户的密钥通过服务器内部的私钥被窃取。服务器的私权内部人士通常拥有服务器的主密钥,然后他/她可以简单地计算出用户的密钥。因此,这些方法都无法抵抗内部攻击。服务器的私有内部人员可以识别所有用户的密钥。另一方面,如果密钥被对手知道,他/她可以冒充移动用户通过选择一个随机数轻松访问服务器。
因此,服务器的私有内部人员可以模拟任何移动用户访问服务器。因此,这些方法不能提供用户到服务器的身份验证。在大多数用户匿名方案中,用户的身份都是以明文形式传递的。因此,对手可以很容易地找到用户的身份。因此,在这些方案中不能限制用户的匿名性。为此,本文提出了一种有效的匿名互认证技术,克服了现有匿名互认证方案的上述局限性。

为了理解本文的预备知识

密码学哈希

密码学哈希主要用于安全领域的哈希函数,它的特征可以总结为以下四点:

  1. 单方向性: 我们可以很容易从输入计算输出,但是从输出逆运算H-1从数学上非常困难。这里的非常困难是指即便以计算机的算力也很难去计算出想要的答案。
  2. 固定输出长度:不管输入的比特位数是多少,输出是恒定的比特位数。
  3. 乱序性: 即便输入仅仅做了非常细微的调整,输出也会与原输入的输出千差万别。
  4. 冲突碰撞性: 找到另一个输入x‘≠x,但H(x’)=H(x)的输入应该非常困难。

论文中的哈希函数特性是三点,但是我在这追加了一点,第三点是我追加的
这里非常困难的定义可以理解为不可能,但是出于严谨性,没有任何东西是不可能的,所以这里用非常困难代替。

双线性映射

设G1,G2和GT表示一个素数阶p的乘法循环群。设u表示G1的生成函数,v表示G2的生成函数,并且φ是G2到G1的同构函数,使φ(v) = u,则G1 * G2 -> GT是双线性映射,双线性对的性质描述如下:

  1. 双线性: e ( u a , v b ) = e ( u , v ) a b , u ∈ G 1 , v ∈ G 2 , a , b ∈ Z p e(u^a,v^b)=e(u,v)^{ab},u∈G_1,v∈G_2,a,b∈Z_p e(ua,vb)=e(u,v)ab,uG1,vG2,a,bZp
  2. 非简并性: e ( u , v ) ≠ 1 G T e(u,v)≠1G_T e(u,v)=1GT
  3. 映射e和同构ψ是有效可计算的。

云环境的匿名互鉴技术

在这个方法中,它被认为是分布式移动云计算氛围是由TTP支持的。本文中使用的符号如表1所示
在这里插入图片描述

在提出的方法中有三个主要的组成部分,即服务提供商,移动用户和TTP。此外,还认为在移动云计算环境中存在着各种各样的服务提供商和移动用户,这些服务提供商和移动用户中有一小部分是恶意的。为方便起见,将用户称为V = {Ui| i = 1,…,n},将服务提供商称为W = {Sj |j = 1,…,m}。在该方法中,移动用户可以在不需要TTP参与的情况下秘密地从多个服务提供商获得多个服务。每个移动用户和服务提供商的私钥和公共参数由TTP生成。
该方法分为三个阶段,即系统建立阶段、注册阶段和认证阶段。在系统设置阶段,TTP从Zq*中选取两个随机数作为主密钥和私钥。之后,TTP计算自己的公钥,并将其分发给所有服务提供商和移动用户。注册阶段在完成设置阶段后执行,在此阶段中,服务提供者和移动用户都向TTP注册。通过使用他们的凭证,服务提供商和移动用户被要求向TTP注册。根据基于身份的公钥密码体制的意图,移动用户和服务提供商的凭据也被用作他们的公钥。最后,在服务提供商和移动用户之间进行认证阶段。在这个阶段,移动用户可以在不涉及TTP的情况下验证特定的服务提供者。类似地,服务提供者也以匿名方式对移动用户进行身份验证。为了进行匿名认证,临时会话密钥由服务提供商和移动用户生成。
让我们来分步看一下细节:

System setup phase[系统组建阶段]

设G1为q阶的乘法循环群,其中q为大素数,P为G1的生成器。首先,TTP选择随机数m属于Zq*作为它的私钥,并计算其对应的公钥为Pu=mP 。接下来,TTP计算双线性配对e(P,P)。此外,它选择单向哈希函数H {0,1}∈Zq*。最后,它将{e,P,Pu,e(P,P)}作为公共参数发布。

Registration phase[注册阶段]

移动用户Ui和服务提供商Sj的注册协议如图1所示。
在这里插入图片描述
如果新用户希望访问建议系统的服务,那么用户Ui(或服务提供商Sj)将其自己的唯一标识Ui(或UIj)发送给TTP进行注册。在接收到唯一标识Ui(或UIj)后,TTP将随机数ri或rj,r∈Zq*分配给注册用户Ui(或服务提供商Sj)。然后,TTP使用随机数ri或rj及其私钥m计算用户Ui(或服务提供商Sj)的私钥,如下所示
【1】 P r i = P 2 m + r i Pr_i=\frac{P}{2m+r_i} Pri=2m+riP
【2】 P r j = P 2 m + r j Pr_j=\frac{P}{2m+r_j} Prj=2m+rjP
移动用户Ui(或服务提供商Sj)。然后,TTP计算移动用户和服务提供商的公钥,如下所示
【3】 U p u b = ( m + r i ) P U_{pub}=(m+r_i)P Upub=(m+ri)P
【4】 S P p u b = ( m + r j ) P SP_pub=(m+r_j)P SPpub=(m+rj)P
接下来,TTP通过类似SSL的安全通道将私钥和公钥发送给移动用户和服务提供者。Ui从TTP接收到密钥值后,计算ECi= Pri+H(AC||F)P,然后将ECi存储在移动设备中,其中ACi和Fi分别为移动用户的认证码和指纹。

Authentication phase[认证阶段]

用户和服务提供者之间的认证过程如图2所示。如果移动用户界面需要与服务提供商Sj通信,则采用如下匿名认证协议
在这里插入图片描述

  1. 移动用户Ui向Sj发送一个服务请求(Sreq),同时发送时间戳TS1
  2. Sj收到(Sreq||TS1)后,如方程式5计算A。然后Sj发送{A||TS2}给Ui
    【5】 A = e ( P , P ) x , x ∈ Z q ∗ A=e(P,P)^x,x∈Z_q^* A=e(P,P)x,xZq
  3. Ui接收{A||TS2}, Ui验证时间戳,使| TS2-TS1 |<△T;. 如果这个条件满足,那么用户就接受A,否则就直接拒绝它。然后,移动用户选择一个随机数y∈Zq*,计算以下参数
    在这里插入图片描述
  4. 然后Ui发送B2,B5,TS3给Sj,Sj通过下面的方程计算临时密钥(Session key)
    【11】 B 1 = e ( B 2 , P r j ) x = e ( P , P ) x y B_1=e(B_2,Pr_j)^x=e(P,P)^{xy} B1=e(B2,Prj)x=e(P,P)xy
    下面是正确性证明:
    在这里插入图片描述
    然后,Sj收到(B3||B4)=B5XORB1,Sj就可以通过下面的方程式检测状态
    【12】 ( B 3 ∣ ∣ B 4 ) = B 5 ⊕ B 1 (B_3||B_4)=B_5⊕B_1 (B3B4)=B5B1
    【13】 e ( B 3 , B 4 + B 1 P ) = E ( P , P ) e(B_3,B_4+B_1P)=E(P,P) e(B3,B4+B1P)=E(P,P)
    以下是正确性证明
    在这里插入图片描述
  5. 为了通过Ui验证Sj,首先由服务提供商Sj进行验证计算
    【14】 Z i = H ( B 1 ∣ ∣ A ∣ ∣ P u ) Z_i=H(B_1||A||P_u) Zi=H(B1APu)
    计算过后将{Zi||TS4}给Ui。当Ui收到这个数据后,开始计算
    【15】 Z i ′ = H ( B 1 ∣ ∣ A ∣ ∣ P u ) Z_i'=H(B_1||A||P_u) Zi=H(B1APu)
    然后验证计算出的Zi’值与得到的Zi值是否相似。如果值相同,则验证服务提供者Sj的合法性。这里B1=e(P,P)xy是移动用户Ui和服务提供商Sj之间交换的会话密钥。

安全分析

本节分析了匿名互认证方案的安全特性,包括抗伪造攻击、抗重放攻击、用户匿名、认证和碰撞攻击。

伪造攻击抗性

伪造任何用户或服务提供者的私钥 P r i = P 2 m + r i Pr_i=\frac{P}{2m+r_i} Pri=2m+riP,攻击者需要从Pri找到m和ri值。然而,由于ECDLP问题从数学上不可能。由于ECDLP是一个计算困难的问题,它不能在亚指数时间内被破解。因此,任何用户或服务提供商的私钥都是不可伪造的。类似地,很难从B2中找到rj的值也是一个ECDLP问题。因此,本文提出的方案可以抵抗伪造攻击。

重放攻击抗性

在重放攻击中,攻击者以欺骗或恶意的方式重复或延迟有效的消息传输。此攻击由拦截消息并重新发送消息的对手执行。然而,这种攻击在提议的协议中是不可能的,因为当前的时间戳TSi包含在通信消息中。移动用户或服务提供商通过获取该消息,检查时间戳| TS2-TS1 |<△T,以确保该消息不是重复消息。如果时间戳不合理,则服务提供者或移动用户直接丢弃通信信息。其中△T为服务提供商与移动用户双方约定的时延。

用户匿名性

该互认证技术为移动云计算应用提供了一种高效的匿名性。该方法可以保护服务提供商和移动用户的隐私不受其他实体或攻击者的侵犯。为了提供匿名性,TTP为每个移动用户分配随机数ri/rj和服务提供商在注册阶段接收到用户ui(或服务提供商UIj)的原始唯一身份后,使用TTP分配的随机数生成私钥Pr。即使这些参数被公开,由于ECDLP问题的复杂性,攻击者也不可能从这些参数中获得用户和服务提供者的原始身份。由于Pri的计算是基于这个ECDLP问题,我们提出的方法可以有效地实现匿名性。
在我们提出的方法中,身份验证过程以一种安全的方式执行。这里,每个用户Ui和服务提供者Sj的私钥计算为 P r i = P 2 m + r i Pr_i=\frac{P}{2m+r_i} Pri=2m+riP。在这个私钥中,m和ri的值只有TTP知道。因此,攻击者不可能在不知道m和ri值的情况下计算Pri。同样,要在认证过程中计算B1的值,也需要计算Prj的值。但是,由于主密钥m和ri的保密性,攻击者无法计算(B1,B5)。因此,在认证过程中,攻击者无法满足条件 e ( B 3 , B 4 + B 1 P ) = E ( P , P ) e(B_3,B_4+B_1P)=E(P,P) e(B3,B4+B1P)=E(P,P)。因此,与现有方法相比,我们提出的方法提供了安全的匿名认证。

碰撞攻击抗性

该方法还能抵抗碰撞攻击。在该方案中,匿名认证仅基于这个临时密钥y进行,并且每一次认证都是不同的。身份验证参数B2、B3和B4是基于这个临时密钥y计算的。因此,对于每个会话,密钥y都由服务提供者Sj更改。因此,一旦它们离开与服务提供者的通信会话,那么它就不会被服务提供者用于下一个通信会话。因为在每个会话中,服务提供者以随机方式更新临时密钥y,以避免碰撞攻击。

比较分析与性能评估

在本节中,我们将根据所提出的匿名互认证方案的计算开销,对所提出的匿名互认证方案与现有方法相比的性能效率进行如下计算

计算成本是这样计算的:验证一个用户或多个用户所花费的时间。将所提出方案的认证延迟与一些现有方案进行比较,即Goriparthi方案(Goriparthia et al., 2009)、Khan s方案(Khan Pathan et al., 2009)、Chen s方案(Chen et al., 2011)和Sun s方案(Sun et al., 2013)。

Tp是执行配对操作所花费的时间,
Th是执行哈希函数所花费的时间,
Ta为进行点加法运算所需的时间,,
Tm是执行点乘运算所花费的时间。
该方案通过基于配对的密码学(PBC)库实现了指数运算、点乘法、哈希运算和配对运算(Pairing-Based Cryptography Library, 2019; Urien, Marie, & Kiennert, 2010; Wang et al., 2017).
为了计算提出的匿名互认证方案的精确计算时间,我们选择了一个内存容量为4gb的2ghz计算机系统,运行Cygwin 1.7.35 15 (Cygwin: Linux Environment Emulator for Windows, 2019)和gcc版本4.9.2。在超过100次的模拟运行中分析每个输出,然后考虑输出的平均值。仿真结果表明,时间参数Tp、Th和Tm分别为1.6 ms(毫秒)、2.7 ms和0.6 ms。在表2中,我们回顾了我们的认证方案与前面提出的Goriparthi方案、Khan方案、Chen方案和Sun方案的计算代价。
在这里插入图片描述

从表2可以证明,与现有方案相比,我们提出的认证方案执行认证过程的计算量非常小。该方法仅需要4Tm,2Th ,2Ta就可以对单个用户进行认证。
在这里插入图片描述

如图3所示,我们提出的认证方案只需要7.8 ms,而现有的其他方案,如Goriparthi方案、Khan方案、Chen方案和Sun方案,单用户认证过程分别需要8.7 ms、23.4 ms、9.2 ms和12.5 ms。因此,可以理解我们所提出的方法只消耗较少的计算量。因此,它比现有的其他方法具有更高的计算效率。
在这里插入图片描述

从表3可以看出,我们提出的匿名互认证技术在服务提供者认证过程中只消耗较少的计算成本。该方法仅消耗2Th,2Tm,2Tp, 和Ta操作对单个服务提供者进行认证。
在这里插入图片描述

在单一服务提供者的身份验证过程中,提出了匿名相互的身份验证方案只需要9.8毫秒,而现有Goriparthi年代计划,汗方案,陈计划和太阳年代计划消耗15.2毫秒,17ms,9.9ms和12.0ms,分别是图4所示。因此,可以理解的是,与现有的其他方案相比,我们提出的方法消耗了非常少的计算成本。

论文总结

在该方案中,提出了一种新的移动云计算环境下的匿名认证方法。该方案允许移动用户通过单个私钥访问来自多个服务提供商的大量服务。该方法还支持相互认证、密钥共享、用户保密和用户不可追溯性。安全分析已经揭示了所提出的匿名互认证技术能够抵御大多数重要的安全威胁,并提供了普遍的安全需求。在该认证方案中,认证过程中不需要使用TTP服务。通过这样的安排,该方法减少了云服务提供商之间数据传输和计算的认证时间,减少了传统的TTP。由于所提出的认证方案的安全级别依赖于双线性配对过程,因此该方法不受时间同步问题的影响,易于在移动云计算环境下执行。本方案未提供机密性,但考虑将其作为通信消息通信安全的未来工作。此外,我们将在未来开发一个有效的密钥管理方案,以提供多组用户之间的安全通信。

版权声明:本文是对世界上位5%论文An efficient anonymous mutual authentication technique for providing secure communication in mobile cloud computing for smart city applications的解读学习,在翻译的基础上修正和添加了部分内容。商务报告引用或学习转载须备注信息出处。本文已公开发布于学术论坛,各授权的学术数据库可访问,本文公开翻译已获作者授权。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Chahot

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值