基于ECC的匿名网页认证协议

一种用于匿名网页浏览的实用认证协议

摘要

近年来,具有匿名性的认证协议因其能够保护用户隐私而受到广泛关注。匿名网页浏览是指利用万维网时隐藏用户个人身份识别信息,使其不被所访问的网站获知。即使用户可通过Tor等匿名程序隐藏IP地址及其他物理信息,Web服务器仍可能基于用户身份对其进行跟踪。本文提出了一种用于匿名网页浏览的实用认证协议。在所提出的协议中,我们结合伪身份机制和基于身份的椭圆曲线密码算法,实现了用户匿名性、强安全性以及高效率。安全分析与性能评估结果表明,我们所提出的匿名认证协议具有可行性和实用性。

关键词 : 认证 · Anonymous网页浏览 · Privacy安全 · Efficiency

1 引言

当用户打开一个网页时,其IP地址和其他计算机信息(例如设备指纹)会暴露给目标网页的服务器。这些信息可用于追踪用户。匿名网页浏览是指在访问网站时隐藏用户个人身份信息的万维网使用方式。匿名网页浏览可以通过代理服务器、虚拟专用网络以及其他匿名程序(如Tor)实现[3]。

这些程序通过将信息经由一系列路由器进行发送,以隐藏源地址和目的地址。例如,Tor 通过一个免费的、覆盖全球的志愿者网络(包含七千多个中继节点)来转发互联网流量,从而向任何实施网络监控或流量分析的攻击者隐藏用户的位置和使用情况。使用 Tor 可以使互联网活动更难以追溯到用户本身:这包括访问网页网站、在线帖子、即时消息和其他通信形式。Tor 的使用旨在保护用户的个人隐私,以及他们的自由和进行保密通信的能力,防止其互联网活动被监控。

在用户获得某些Web服务的访问权限之前,通常需要先向Web服务器注册,并获取用户名和密码,之后便可使用这些凭据浏览网站。例如弗雷斯特研究公司或IBM专利服务器网站。这些网站被许多企业广泛使用。一旦您成为注册用户,便可访问大量信息。但另一方面,弗雷斯特研究公司和IBM有可能确定您的真实身份。更糟糕的是,通过分析您的阅读习惯,他们可能推断出您所在公司的商业策略以及正在考虑进入的新市场。试想一下,如果这些信息落入您的竞争对手手中会怎样?这种用户追踪行为也可能发生在订阅报纸、杂志、股票数据库、按次付费电影以及其他许多资源时。用户的行踪可能会被汇总,并以潜在恶意的方式加以利用。

即使用户可以使用Tor等匿名程序隐藏其IP地址和其他计算机信息,Web服务器仍可以根据用户名持续监控用户。因此,为了在这一类应用中保护用户隐私,需要一种匿名Web认证机制。

本文考虑这样一种场景:存在一些移动用户(MU)、一个认证服务器(AS)和多个网站(WS),其中移动用户包括个人计算机、智能手机、个人数字助理等。移动用户需要向认证服务器注册以访问Web服务。一旦用户成为注册用户,就可以通过基于Tor等匿名程序实现的匿名通道访问多个网站。图1所示的场景可以说明如下。

为了为移动用户提供安全的匿名认证环境,有一些关键需求需要考虑。匿名性是认证的重要属性。移动用户的隐私信息泄露可能带来极大的不便,并且这些信息可能被攻击者用于未来的计算机犯罪。除了匿名性之外,认证协议的效率和安全性也非常重要。认证协议的计算和通信复杂度应较低,并且协议应能抵御各种攻击。

早期在用户与服务器之间实现相互认证的方法基于公钥密码系统(PKC),例如RSA和ElGamal。然而,PKC需要进行耗时的模幂运算,并且需要额外的密钥管理系统来进行证书管理 [13]。因此,传统的基于PKC的认证协议不适用于资源受限的移动用户。

与传统的基于PKC的认证协议相比,基于身份的密码学(IBC)认证协议在移动环境中表现出巨大优势

示意图0

应用场景

He 等人 [5]提出了一种基于双线性对函数的安全高效的匿名认证协议。然而,He 等人 [6]指出,[5]完全不安全,因为它无法抵抗密钥泄露攻击。尽管他们也提出了一个改进方案,Yeo 等人 [16]指出,He 等人的协议 [6]仍然存在密钥泄露问题。由于双线性对运算的复杂性和低效率,设计不使用双线性对运算的认证协议具有吸引力。

为了提高效率,一些基于椭圆曲线密码学(ECC)的匿名认证协议 [8,9,11,14,15]已被提出。Yang 等人 [15]和 Islam 等人 [9]都提出了基于 ECC 的移动用户认证的基于身份的方案。不幸的是,他们的协议存在诸多问题,例如安全攻击和缺乏用户匿名性。为了增强安全性,Hsieh 等人 [8]也提出了一种基于 ECC 的改进型匿名认证协议。然而,He 等人 [7]指出,该协议可能轻易获取其他用户的身份,这意味着 Hsieh 等人的协议 [8]无法保护用户匿名性。此外,Li 等人 [11]设计了一种使用 ECC 的高效隐私感知漫游认证协议。然而,Xie 等人 [14]指出 Li 等人的协议易受到冒充攻击,并提出了一种改进的协议以增强安全性。尽管该改进在安全性上能够抵御冒充攻击,但 [11]中的原始缺陷并未完全消除,因此攻击者仍可发送伪造消息并被接入点认证。

考虑到近期认证协议中存在的弱点,本文利用基于身份的椭圆曲线算法 [2]并提出一种适用于网页浏览的实用高效认证协议。简而言之,我们的主要贡献可总结如下。

(1) 当移动用户需要与Web服务器进行认证时,我们的协议能够提供用户匿名性。该匿名性通过伪身份机制实现。如果移动用户希望从系统中被撤销,或其私钥已被泄露,则系统可轻松将其撤销。(2) 除了移动用户和Web服务器外,在网页认证过程中无需额外的第三方参与。在网页认证阶段,移动用户与Web服务器之间仅需交换两条消息。(3) 通过使用椭圆曲线密码算法,我们的认证协议实现了更高的效率和强安全性。通过仿真分析及与其他协议的比较表明,我们的协议在计算和通信开销方面具有良好的性能。

本文的其余部分组织如下。第2节讨论了一些预备知识,包括椭圆曲线群、数学问题和安全要求。在第3节中,我们提出了一种新的Web认证协议。第4节和第5节分别对我们的协议进行了安全分析和性能评估。最后,我们在第6节中总结了全文。

2 预备知识

在本节中,我们简要介绍椭圆曲线密码学、其上的相关数学问题以及认证协议的安全要求。

2.1 椭圆曲线密码学

令 $F_q$ 为一个素数有限域,$E/F_q:y^2 = x^3 + a \cdot x + b$ 是定义在 $F_q$ 上的一条椭圆曲线,其中 $a, b \in F_q$ 和 $\Delta = 4a^3 + 27b^2 \neq 0 \mod q$。设 $P$ 是 $E/F_q$ 中一个大素数阶 $q$ 的元素。$E/F_q$ 上的所有点与一个额外的点 $\Theta$(称为无穷远点)共同构成一个群 $G = {(x, y):x, y \in F_q;(x, y) \in E/F_q} \cup {\Theta}$。$G$ 是一个合数阶的循环加法群 $q$。此外,$E/F_q$ 上的标量乘法可按如下方式计算:$tP = P + P + \cdots + P$(共 $t$ 次),其中 $t$ 是一个整数。

2.2 数学问题

椭圆曲线群上存在以下问题,这些问题在认证协议的设计中被广泛使用。

离散对数(DL)问题 :对于随机选择的值 $a \in Z^*_q$ 和 $G$ 的生成元 $P$,给定 $aP$,在计算上无法求出值 $a$。

计算性Diffie-Hellman(CDH)问题 :对于随机选择的值 $a, b \in Z^*_q$ 以及 $G$ 的生成元 $P$,给定 $aP$ 和 $bP$,在计算上无法求出值 $abP$。

2.3 安全要求

为了保证安全通信,认证协议的设计应满足以下要求:

(1) 相互认证 :为了确保只有合法用户可以访问网页服务,认证协议应在MU和WS之间提供相互认证。(2) 用户匿名性 :为了保护用户隐私,合法用户在网页认证过程中应对任何WS保持匿名。任何攻击者或好奇的WS都不应能够提取MU的真实身份或追踪MU的活动。(3) 条件隐私保护 :如果存在某些用户行为对系统造成危害,则AS应能够通过网页认证过程中交换的消息提取MU的真实身份。(4) 前向保密 :MU和WS之间共享的会话密钥可能因MU或WS被攻破而被攻击者获知。为应对这种被泄露会话密钥的潜在威胁,认证过程应能够提供前向保密,以防止攻击者提取之前的会话密钥。(5) 抗攻击性 :面对各种类型的攻击(如重放、冒充、篡改、中间人等),Web认证协议的安全性应能够抵御上述攻击,从而具备实际应用价值。

3 所提出的协议

在本节中,我们提出了一种新的匿名网页浏览认证协议。该协议包含四个阶段:系统初始化阶段、密钥预分发阶段、匿名Web认证阶段和用户撤销阶段。为了便于阐述,我们在表1中列出了相关符号。

Notation Description
q A k位素数
Fq 素数有限域
E/Fq 一条椭圆曲线 E定义在 F上 q
G 一个循环加法群,G={(x, y) : x, y ∈ E/Fq}∪{Θ}
P 群 G的生成元
IDx 实体 x 的身份
ts 时间戳
H1() 一个安全的哈希函数 H1:{0, 1}∗ × G → Z∗ q
H2() 一个安全的哈希函数 H2:{0, 1}∗ ×{0, 1}∗ × G →{0, 1}k
H3() 一个安全的哈希函数 H3:{0, 1}k × G →{0, 1}k
H4() 一个安全的哈希函数 H4:{0, 1}k × G× G → Z∗ q
PK 公钥
Sx 实体 x的私钥
V erx 由实体 x 生成的验证值

3.1 系统初始化阶段

这里我们假设认证服务器是一个可信第三方,由它执行系统初始化过程以生成系统参数。认证服务器执行以下操作:

(1) 正确选择一个 k‐位素数 q 并确定元组{Fq, E/Fq, G, P}。(2) 选择随机数 $s \in Z^*_q$ 作为主密钥,并计算系统公钥 $PK = s \cdot P$。(3) 选择四个安全的哈希函数 H1,H2,H3 和 H4。(4) 公布 {Fq, E/Fq, G, P, PK, H1, H2, H3, H4} 作为系统参数,并将主密钥保密。

3.2 密钥预分发阶段

如图2所示,在此阶段,MU 和 WS 均向 AS 发送其身份,然后 AS 为每个 MU 和 WS 返回长期密钥元组。

(1) 当认证服务器从工作站接收到 $ID_{WS}$ 时,首先检查该身份的有效性。如果有效,认证服务器选择随机数 $r_{WS} \in Z^* q$,然后计算 $R {WS} = r_{WS} \cdot P$ 和私钥 $S_{WS} = r_{WS} + H1(ID_{WS}‖R_{WS}) \cdot s$。最后,使用安全传输协议(例如,有线传输层安全协议)将长期密钥组 $(ID_{WS}, R_{WS}, S_{WS})$ 发送给工作站。在接收到私钥 $S_{WS}$ 后,工作站可以验证

示意图1

通过检查 $PK_{WS} = S_{WS} \cdot P = R_{WS} + H1(ID_{WS}‖R_{WS}) \cdot PK$ 是否成立来验证接收到的私钥。

(2) 同样,当移动用户MU向认证服务器AS发送包含其真实身份 $ID_{MU}$ 的请求消息时,AS首先检查其有效性。如果该MU有效,AS将选择随机数 $r_{MU} \in Z^* q$,然后计算一个伪身份 $PID {MU} = ID_{MU} \oplus H3(r_{MU}‖PK)$。对于此伪ID,AS计算 $R_{MU} = r_{MU} \cdot P$ 以及对应的私钥 $S_{MU} = r_{MU} + H1(PID_{MU}‖R_{MU}) \cdot s$。最后,AS安全地将元组 $(PID_{MU}, R_{MU}, S_{MU})$ 返回给MU。在接收到该元组后,MU可通过 $PK_{MU} = S_{MU} \cdot P = R_{MU} + H1(PID_{MU}‖R_{MU}) \cdot PK$ 验证接收到的私钥。通过这种方式,移动用户MU可以在网页认证阶段持续更换其伪ID,以实现用户匿名性。

3.3 网页认证阶段

为了接入无线网络进行网页浏览,移动用户在访问新的工作站时需要执行网页认证过程。如图3所示,本阶段应完成移动用户与新工作站之间的相互认证。会话密钥应在网页认证阶段直接在两者之间建立。以下是网页认证阶段需要交换的消息。

示意图2

(1) $MU \rightarrow WS:Ppid, R’ {MU}, A, ts, Ver {MU}$

移动用户首先选择随机值 $a, c \in Z^* q$,并计算 $A = a \cdot P$、$Ppid = c \cdot H1(PID {MU}‖R_{MU})$、$R’ {MU} = c \cdot R {MU}$ 和 $S’M_U = c \cdot S_{MU}$。此外,令 $H_{MU} = H4(Ppid‖ts‖R’ {MU}‖A)$,其中移动用户添加时间戳 $ts$ 以抵抗重放攻击(我们假设所有网络实体通过某些现有时间同步机制保持松散的时间同步)。然后,移动用户计算验证值 $Ver {MU} = a + S’M_U \cdot H_{MU}$。执行完毕后,移动用户向工作站发送请求消息 ${Ppid, R’ {MU}, A, ts, Ver {MU}}$。

(2) $WS \rightarrow MU:ID_{WS}, R_{WS}, B, Ver_{WS}$

收到消息后,工作站(WS)首先检查时间戳 $ts$ 以防止重放攻击。如果该时间戳 $ts$ 已超过服务有效期,WS将丢弃此消息。否则,它计算 $PK_{MU} = R’ {MU} + Ppid \cdot PK$ 和 $H {MU} = H4(Ppid‖ts‖R’ {MU}‖A)$。为了验证 $Ver {MU}$ 的正确性,WS检查等式 $Ver_{MU} \cdot P = A + PK_{MU} \cdot H_{MU}$ 是否成立。若不成立,则WS丢弃此消息;否则,移动用户(MU)将被WS认证。然后,WS选择一个随机值 $b \in Z^* q$ 来计算 $B = b \cdot P$,并计算密钥 $K {WS-MU} = S_{WS} \cdot A + b \cdot PK_{MU}$ 以生成会话密钥 $SK_{WS-MU} = H2(Ppid‖ID_{WS}‖K_{WS-MU})$。同样,为了被移动用户(MU)认证,WS还生成一个验证值 $Ver_{WS} = H1(SK_{WS-MU}‖A)$,并向移动用户(MU)发送响应消息 ${ID_{WS}, R_{WS}, B, Ver_{WS}}$。

(3) $MU$

当移动用户接收到工作站发回的消息后,将计算密钥 $K_{MU-WS} = S’ {MU} \cdot B + a \cdot PK {WS}$ 并生成会话密钥 $SK_{MU-WS} = H2(Ppid‖ID_{WS}‖K_{MU-WS})$。然后检查 $H1(SK_{MU-WS}‖A)$ 是否等于接收到的 $Ver_{WS}$。只有当确认值正确时,移动用户才成功认证工作站;否则,终止本次认证过程。执行结束后,移动用户与工作站之间建立会话密钥 $SK_{MU-WS}(SK_{WS-MU})$,从而完成双向网页认证。

密钥协商 :移动用户与工作站之间的会话密钥共享可通过以下等式进行验证。

$$
K_{WS-MU} = S_{WS} \cdot A + b \cdot PK_{MU}
= S_{WS} \cdot a \cdot P + b \cdot (Ppid \cdot PK + R’ {MU})
= a \cdot PK
{WS} + b \cdot (c \cdot H(PID_{MU}‖R_{MU}) \cdot s \cdot P + c \cdot r_{MU} \cdot P)
= a \cdot PK_{WS} + (c \cdot (H(PID_{MU}‖R_{MU}) \cdot s + r_{MU})) \cdot b \cdot P
= a \cdot PK_{WS} + (c \cdot S_{MU}) \cdot B
= a \cdot PK_{WS} + S’ {MU} \cdot B
= K
{MU-WS}
$$

$$
SK_{WS-MU} = H(Ppid‖ID_{WS}‖K_{WS-MU})
= H(Ppid‖ID_{WS}‖K_{MU-WS})
= SK_{MU-WS}
$$

由于随机数 $a, b, c$ 和私钥 $S_{MU}, S_{WS}$ 为保密信息,且会话密钥的计算基于 CDH问题,只有合法的 MU 和 WS 才能生成有效的私钥,实现相互认证并建立会话密钥。

3.4 用户撤销阶段

如果移动用户(MU)希望从系统中撤销自身,或私钥已泄露,认证服务器(AS)将对其进行检查并将其从系统中撤销。认证服务器(AS)会发布包含所有被撤销用户身份的撤销列表(RL),该撤销列表可定期更新。此撤销列表中的内容如下:
$$
{{PID_{MU1}, R_{MU1}},{PID_{MU2}, R_{MU2}},…,{PID_{MUi}, R_{MUi}},…}
$$
当工作站(WS)收到来自移动用户(MU)的第一条消息时,该消息包含其伪身份 $Ppid$ 和参数 $R’ {MU}$,WS将首先验证验证值。如果该消息有效,则WS将通过重复检查 $Ppid \cdot H1(PID {MUi}‖R_{MUi})^{-1} \cdot R_{MU}$ 是否等于 $R’ {MU}$,在撤销列表(RL)上核对身份。由于 $Ppid = c \cdot H1(PID {MUj}‖ R_{MUj})$ 和 $R’ {MU} = c \cdot R {MUj}$ 的存在,若 $i = j$ 成立,则很容易匹配等式 $Ppid \cdot R_{MU} = H1(PID_{MUi}‖R_{MUi}) \cdot R’ {MU}$。如果该等式匹配,则表示对应的 ${PID {MUj}, R_{MUj}}$ 已被撤销,此时元组 ${Ppid, R’_{MU}}$ 无效。否则,该移动用户(MU)是合法用户且未被撤销。

4 安全分析

在本节中,我们讨论所提出的协议的安全性。

相互认证 :在这里,我们仅讨论所提出的协议中移动用户与Web服务器之间的相互认证。相互认证可分为两个方面,一是移动用户到Web服务器的认证,另一个是Web服务器到移动用户的认证。

  • 移动用户到工作站的认证 :当工作站接收到移动用户发送的消息 ${Ppid, R’ {MU}, A, ts, Ver {MU}}$ 时,工作站可以通过验证消息中的密钥信息(即验证值 $Ver_{MU}$)来对该移动用户进行认证。因此我们假设攻击者 A 能够伪造一个有效的验证值 $Ver’ {MU}$,使得该值能以不可忽略的优势被工作站成功验证。此伪造消息 A 应形如 ${Ppid, R’ {MU}, A, ts’, Ver’ {MU}}$,以满足方程 $Ver’ {MU} \cdot P = A + S’ {MU} \cdot H’ {MU} \cdot P$。由于真实的验证值满足 $Ver_{MU} \cdot P = A + S’ {MU} \cdot H {MU} \cdot P$,我们可以得到 $(Ver’ {MU} - Ver {MU}) \cdot P = (H’ {MU} - H {MU}) \cdot S’ {MU} \cdot P$。因此,攻击者 A 可以将值 $(Ver’ {MU} - Ver_{MU}) \cdot (H’ {MU} - H {MU})^{-1} \mod q$ 作为给定离散对数问题的解。然而,这与基于离散对数问题的假设相矛盾,故攻击者 A 无法被工作站成功认证。因此,我们所提出的协议可以提供移动用户到工作站的身份认证。

  • Web服务器到移动用户的认证
    当移动用户(MU)收到来自Web服务器(WS)的响应消息 ${ID_{WS}, R_{WS}, B, Ver_{WS}}$ 时,可以通过生成有效的会话密钥来验证该 WS,以检验验证值 $Ver_{WS}$。完成Web服务器到移动用户的认证所需的关键信息是私钥 $K_{WS-MU} = S_{WS} \cdot A + b \cdot PK_{MU}$。因此,对WS-to-MU认证的安全分析实际上与密钥协商的安全分析类似。我们假设攻击者 A 能够伪造一个有效的私钥 $K’ {WS-MU} = V + b’ \cdot PK {MU}$ 来生成验证值,并以不可忽略的优势成功通过MU的验证。也就是说,A能够利用 $PK_{WS} = S_{WS} \cdot P$ 和 $A = a \cdot P$ 获得等于 $V$ 的值,该值等于 $S_{WS} \cdot a \cdot P$。然而,这与CDH问题的假设相矛盾。因此,攻击者 A 无法被MU成功认证。我们所提出的协议可以提供安全的WS-to-MU认证。

用户匿名性和条件隐私保护 :在我们的协议中,移动用户MU从认证服务器 AS 获取一个伪身份 $PID_{MU}$ 和相应的参数 $R_{MU}$。在Web认证过程之前,MU使用随机数 $c$ 生成一个新的伪身份 $Ppid$ 和相应的 $R’ {MU}$。因此,MU可以确保每个伪身份 $Ppid$ 及其对应的 $R’ {MU}$ 仅使用一次。攻击者无法通过两个不同的伪身份来识别MU的真实身份或追踪该MU。此外,如果系统中存在某个已被攻破或违规的MU,AS可以通过收集其伪身份 $Ppid$ 和对应的 $R’ {MU}$ 来追踪该 MU。AS可以从存储的用户列表中提取用户的初始身份 $PID {MU}$ 和对应的 $R_{MU}$,然后进行循环验证,计算 $c’ = Ppid \cdot H1(PID_{MU}‖R_{MU})^{-1}$ 并检查 $c’ \cdot R_{MU}$ 是否等于 $R’ {MU}$。如果相等,则AS可以从存储的用户列表中提取该 MU的真实身份 $ID {MU}$。因此,我们的认证协议能够提供用户匿名性,并实现条件隐私保护。

前向保密 :我们的协议中的会话密钥由哈希运算 $SK_{WS-MU} = H2(Ppid‖ID_{WS}‖K_{WS-MU}) \rightarrow {0, 1}^k$ 生成,因此该会话密钥与其他会话密钥无关。因此,即使攻击者获取了某个会话密钥,也不会影响网页认证过程的安全性。

抗攻击性 :我们的方案能够抵抗以下攻击。

  • 重放攻击 :在我们的方案中,重放攻击是不可行的,因为我们使用时间戳 $ts$ 来防止重放攻击;也就是说,任何重放的消息都无法超过服务过期时间。即使攻击者可以在重放消息中更新时间戳 $ts$,该攻击者也无法生成与此新 $ts$ 相关联的有效验证值 $Ver_{MU}$。因此,由于 $ts$ 的不同,无法成功通过验证。

  • 冒充攻击 :正如在相互认证中所分析的,由于冒充的攻击者无法生成有效的验证值和会话密钥,因此无法冒充授权的MU或WS来发送或接收信息。因此,我们的协议能够抵抗冒充攻击。

  • 篡改攻击 :验证值 $Ver_{MU}$ 由移动用户的私钥和单向哈希函数计算得出。认证消息中的单向哈希函数可确保数据完整性。因此,在认证过程中无法篡改有效消息。

  • 中间人攻击 :由于我们方案中的密钥协商基于CDH问题,移动用户MU和工作站WS在发送数据包时会验证Diffie-Hellman公有分量,并通过长期私钥生成会话密钥,这使得我们的协议能够抵御攻击者通过中间窃听伪造或重放消息的企图。

5 性能评估

在本节中,我们讨论我们的Web认证协议的性能,并与最近的一种认证协议进行比较 [14]。我们从计算和通信开销方面分析了我们的协议的性能。所有测试均在一台配备以下规格的笔记本电脑上进行:CPU:2.2 GHz Intel Core i7,内存:16 GB 1600 MHz DDR3,我们还通过gmpy2 Python模块(https://gmpy2.readthedocs.io/en/latest/)使用了来自libgmp的高性能实现。

计算开销表示每个实体上密码学操作的处理延迟。我们仅考虑以下操作的成本($T_M$, $T_A$, $T_H$),其中用 $T_M$ 表示一次椭圆曲线标量乘法操作所需时间,用 $T_A$ 表示一次椭圆曲线点加法操作所需时间,用 $T_H$ 表示一次哈希操作所需时间。根据美国国家标准与技术研究院推荐的密钥长度 [1],我们基于椭圆曲线密码学的密钥长度:160位、224位、256位、384位和512位,测试了5轮的计算时间和通信大小。众所周知,随着密钥长度的增加,椭圆曲线密码学操作的安全性会增强,但也会导致计算效率降低以及通信开销增大。不同密钥长度下执行椭圆曲线密码学操作的时间开销如表2所示。

我们还假设移动用户伪身份、工作站身份、时间戳和通用哈希函数输出的大小分别为32位、32位、32位和160位。基于这些事实,我们分析了我们的协议中密钥预分发和匿名Web认证阶段的计算和通信开销。表3显示了我们评估的计算和通信消耗结果。

在我们的协议的密钥预分发阶段,移动用户和工作站的计算开销相同,均包括两次标量乘法运算、一次点加法操作和一次哈希操作,即总执行时间为 $2T_M + T_A + T_H$。认证服务器上的计算开销包括两次标量乘法操作和两次点加法操作,即总执行时间为 $2T_M + 2T_A$。因此,密钥预分发阶段的总计算开销为 $6T_M + 4T_A + 2T_H$。类似地,在我们的协议的匿名Web认证阶段,移动用户的计算开销包括四次标量乘法操作、一次点加法操作和四次哈希操作,即MU的总执行时间为 $4T_M + T_A + 4T_H$。工作站的计算开销包括六次标量乘法操作、三次点加法操作和三次哈希操作,即WS的总执行时间为 $6T_M + 3T_A + 3T_H$。因此,匿名Web认证阶段的总计算开销为 $10T_M + 4T_A + 7T_H$。在不同ECC密钥长度下,密钥预分发阶段和匿名Web认证阶段的总计算开销如图4(a)所示。类似地,在不同ECC密钥长度下,密钥预分发阶段和匿名Web认证阶段的总通信开销如图4(b)所示。从这两个图中可以看出,当ECC密钥长度为160位时,网页认证和密钥预分发两个阶段的计算开销均低于20毫秒,通信开销低于2000位。即使ECC密钥长度达到512位,计算开销和通信开销也分别低于600毫秒和5000位。

比较 :我们的协议与最近的认证协议 [14] 进行了比较。谢等人提出的协议也是基于椭圆曲线密码学。除了安全问题外,这里我们主要评估计算和通信开销。我们假设在密钥预分发阶段,一个MU获得10个伪身份[14]。在[14]中,密钥预分发阶段和认证阶段的总计算开销分别为 $33T_M + 11T_A + 22T_H$ 和 $11T_M + 5T_A + 8T_H$。此外,在[14]中,密钥预分发阶段和认证阶段的总通信开销分别为1664 + 20s和 416 + 10s。如图5所示,我们基于不同的ECC密钥长度,比较了密钥预分发阶段和认证阶段的通信开销和计算开销。总体而言,仿真结果表明,我们的认证协议仅产生较小的计算和通信开销,并且与其他所提出的协议相比具有更好的性能。

示意图3 我们的协议在不同密钥长度下的总计算开销;(b) 我们的协议在不同密钥长度下的总通信开销。)

示意图4 密钥预分发阶段的计算开销比较;(b) 密钥预分发阶段的通信开销比较;(c) 认证阶段的计算开销比较;(d) 认证阶段的通信开销比较。)

6 结论

在本文中,我们提出了一种基于身份的椭圆曲线密码学的实用且高效的匿名网页浏览认证协议。通过使用伪身份机制,在密钥预分发阶段实现了用户匿名性。网页认证阶段仅需交换两条消息,效率较高。此外,我们的协议还为移动用户提供了用户撤销机制。安全分析和性能评估均表明,我们提出的认证协议具有可行性和实用性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值