改进Mahmood 等提出的基于椭圆曲线的轻量型的的认证协议

学习文档来源:《基于椭圆曲线密码的智能电网通信认证协议_刘欣东》

在这里插入图片描述

1.初始阶段

1.旧版

在初始过程中,可信任的第三方 τ 初始化一些参数。

建立椭圆曲线 Ep ( a,b)
τ 选取随机的生成元 P 和 3 个哈希函数 h1 (·) 、h2 (·) 、h3 (·)

τ 持有的密钥 s 不公开保密,参数{ Ep ( a,b) ,P,h1 (·) ,h2 (·) ,h3 (·) } 则是公开的。

1.改进(无)

一致,并无改变!

2. 注册阶段

1.旧版

用户 Ui 选取账号 IDi 并通过安全的渠道将之发送给可信
任的第三方 τ
当 τ 收到用户的账号信息时,计算 Kip = ai * P,Kis = ai + s * H1 ( IDi,Kip )
τ 通过安全的渠道将 Kip,Kis 发送给用户 Ui

2.改进

用户Ui 选取账号 IDi 和随机数 bi 并计算 Bi = bi * P
然后通过安全的渠道将 IDi 与 Bi 发送给可信任的第三方 τ
当 τ 收到用户的账号信息时,首先检验 IDi 是否被注册过,如果 IDi 已经存在,那么驳回用户的注册请求。
如果 IDi 没有被注册过,那么选择一个随机数 ai 并计算 Kip = ai * Bi,Kis = ai + s * H1 ( IDi,Kip )
τ 通过安全的渠道将 Kis,Kip 发送给用户 Ui

1.有随机数 bi 防止非法的第三方内部操作员截取了明文传输的参数
Kip = aiBi = aibiP 与 Kis = ai + sH1 ( IDi,Kip )
抵挡内部特权人员攻击
2.检验 IDi 是否被注册过,保证用户有唯一的用户名 
防止攻击者使用了与合法用户 Ui 相同的用户名 IDi,伪装成用户 Ui 与在同一智能电网中的用户进行通信,造成信息泄露与纠纷

用户收到信息之后,选择登录密码 PWi 并且计算:
Zi = bi * Kis = ai * bi + s * bi * H1 ( IDi,Kip )
Ki = H1 ( PWi‖IDi ) ⊕ Zi
Mi = bi * P * K
Ri = H1 ( PWi‖Zi )
最后存储 Ti,Kip,Ki,Mi,Ri 入智能设备

3. 用户间认证与建立临时会话密钥阶段

1.旧版

用户 Ui 选择一个随机数 xi ∈ ZP,并且得到时间戳 Ti ;
计算 Xi = xi * P,Yi = xi + Kis * H2 ( IDi,Xi,Ti ) ;
用户 Ui 把验证请求信息{ Xi,Yi,Kip,IDi,Ti} 发送给用户 Uj
用户 Uj 要验证 Ti 是否有效, 得到当前的时间戳 Tj 并验证不等式 Tj - Ti ≤ ΔT。如果不成立,则用户 Uj 拒绝请求,程序结束。
如果 Ti 的验证通过,则用户 Uj 继续验证: Yi * P = ?( Xi + Kip + H1 ( IDi,Kip ) sP) H2 ( IDj,Xi,Ti ) 。如果不成立,则 Uj 拒绝请求,程序结束;
如果成立,则 Uj 计算 Xj = xj * P,Yj = xj + Kjs * H2 ( IDi,Xj,Tj) 与 临 时 会 话 密 钥 SKij = H3 ( xi * Xj) 。
最后用户 Uj 把验证信息{ Xj,Yj,Kjp,IDj,Tj}发送给用户 Ui。
用户 Ui 获得了当前的时间戳 Ti ’ 并且验证不等式 Ti '- Tj ≤ ΔT 是否成立。如果不成立,则Ui 拒绝申请,程序结束。
如果成立,则 Ui 继续验证: YjP = ?( Xj +Kjp + H1 ( IDj,Kjp ) sP) H2 ( IDi,Xj,Tj) 。如果不成立,则 Ui 拒绝申请,程序结束;
如果成立,则 Ui 计算共有的协商密钥 SKij = H3 ( xi * Xj) 。

2.改进

用户 Ui 输入用户名 IDi 与密码 PWi
智能设备计算 Zi = Ki ⊕ H1 ( IDi ‖ PWi ) ,再选择随机数 xi ∈ ZP 得到时间戳 Ti。
计算: Xi = xi * P,Yi = xi + Zi * H2 ( IDj,Xi,Ti ) 。
用户 Ui 把信息{ Xi,Yi,Kip,IDi,Mi,Ti} 发送给 Uj
用户 Uj 先要验证 Ti 是否有效,得到当前的时间戳 Tj并验证不等 Tj - Ti ≤ ΔT。若不成立,则 Uj 拒绝请求,程序结
束。
若成立,则 Uj 输入 IDj 与 PWj 入设备,智能设备计算 Zj = Kj ⊕ H1 ( IDj ‖ PWj)
然后验证 YiP = ?Xi + ( Kip + H1 ( IDi,Kip ) M1 ) H2 ( IDj,Xi,Ti ) 若不成立,则 Uj 拒绝请求,程序结束。
若成立,Uj 选择随机数 xj 并计算:Xj = xj * P,Yj = xj + Zj * H2 ( IDi,Xj,Tj) ,SKji = H3 ( xj * Xi )

验证公式的改变:
YiP = ?Xi + ( Kip + H1 ( IDi,Kip ) M1 ) H2 ( IDj,Xi,Ti )
YjP = ?Xj + ( Kjp + H1 ( IDj,Kjp ) M1 ) H2 ( IDi,Xj,Tj)

最后 Uj 把验证信息{ Xj,Yj,Kjp,IDj,Mj,Tj} 发送给 Ui。
用户 Ui 先验证 Tj 是否有效。Ui 获取当前的时间戳 Ti ’ 并验证不等式 Ti ’ -Tj ≤ΔT 是否成立。若不成立,则 Ui 拒绝申请,程序结束。
若成立,则 Ui 继续验证: YjP = ?Xj + ( Kjp + H1 ( IDj,Kjp ) M1 ) H2 ( IDi,Xj,Tj) 。若不成立,则 Ui 拒绝申请,程序结束。
若成立,则 Ui 计算共有的协商密钥 SKij = H3 ( xi * Xj) 。

4. 用户更改口令阶段

1.旧版(无)
缺少更改口令更换阶段
在实际应用时,用户的秘密口令有可能泄露,察觉口令不安全之后应立即更换口令,防止口令泄露导致的安全问题。
而该协议缺少口令更换,将导致合法用户无法更换口令。
2.改进

若用户想要更换口令,可以直接在设备中进行,不必通过可信任的第三方,减小了第三方计算开销:

  1. 用户 Ui 输入 IDi 与 PWi 进智能设备,智能设备计算:
    Kis ’ = Ki ⊕ H1( PWi ‖ IDi )
    Ri ’ = H1 ( PWi ‖ Kis ')
    然后验证 Ri ’ = ?Ri,若不等,则终止更换口令请求。
  2. 用户更换新的口令,然后智能设备计算:

在这里插入图片描述

智能设备把参数 Ki,Ri 更换为在这里插入图片描述

5.BAN 逻辑证明

1.参数说明
  • P 与 Q 表示参与协议的普通实体
  • X 与 Y 表示信息语句
  • K表示加密密钥
  • P |≡X 表示 P 信任 X
  • #( X) 表示消息 X是新鲜的
  • P | ~ X 表示 P 发送过语句 X
  • ( X,Y) 表示 X 与 Y 的连接

在这里插入图片描述
在这里插入图片描述 表示信息 X与秘密 K相结合
在这里插入图片描述表示信息 X用密钥 K加密

在这里插入图片描述表示信息 X 与秘密 K 相结合在用 hash 函数作用
在这里插入图片描述表示 P 和 Q 共享密钥 K
在这里插入图片描述 表示 P 和 Q 共享秘密信息 K。

2. 逻辑规则

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值