资源描述
资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。
基于OTP的移动商务身份认证协议的设计与实现
王秦国家自然科学基金资助项目: 移动商务系统中的身份认证研究(60773033)
作者简介: 王秦, 男, 吉林省梨树县, 1973年生, 北京交通大学博士研究生, 研究方向: 移动商务身份认证,
张润彤, 男, 辽宁省大连市, 1963年生, 北京交通大学教授, 研究方向: 信息安全、 移动电子商务、 网格计算等,
, 张润彤
(北京交通大学信息系统研究所, 北京100044)
摘要: 国内移动商务身份认证主要采用基于用户名/口令的静态口令认证机制, 这种方式易于实现且操作简单, 但容易遭受攻击而且口令在无线传输中易被截获。一次性口令( One-Time Password, 简称OTP) 认证机制能够实现一次一密, 具备更高的安全性, 同时, 其实现简单、 成本低、 无需第三方公证, 十分适合于受限的移动商务环境, 但难以抵御小数攻击以及没有实现双向认证。本文结合OTP认证机制和椭圆曲线密码体制提出一种基于OTP的移动商务身份认证协议MCIA, 并利用仿真软件Opnet仿真实现MCIA协议, 结果表明其适合于移动商务环境。
关键字: 身份认证; 一次性口令; MCIA; Opnet
Design and Implementation of Identity Authentication Protocol in Mobile Commerce based on OTP
Wang Qin, Zhang Run-tong
(Institute of Information System, Beijing Jiaotong University, Beijing 100044, China)
Abtract: Presently, identity authentication in domestic mobile commerce is mainly implemented by static password mechanism based on Userid/password. The method has some advantages, such as easier implementation and simpler operation. But its security is worse, which it is easily attacked, and its password is easily intercepted and seized in transmission process by wireless network. OTP (One-Time Password) authentication mechanism has higher security by one time padding. It is implemented simply, cost less and needed no third-party notarization, and so it is more suitable for limited mobile commerce environment, but it couldn’t resist decimal attack and realize bidirectional authentication. Combined OTP with Elliptic curve cryptosystem, it is presented a mobile commerce identity authentication protocol based on OTP, named by MCIA protocol. The protocol is simulated through simulation software Opnet and it is suitable for mobile commerce environment by simulation results.
Key words: Identity authentication; One-Time Password; Mobile commerce identity authentication; Opnet
1 引言
随着移动商务的普及和应用, 移动商务的安全性已成为人们关注的焦点。身份认证是第一道安全屏障, 通信安全几乎总是始于身份认证的握手过程。基于密码技术的认证协议是实现身份认证最安全的方式, 因此, 安全、 高效的移动商务身份认证协议是保证移动商务安全通信的必要条件。
与传统商务相比, 移动商务在身份认证的实现上具备一定的优势: 首先, 移动通信设备传输的信号为数字信号, 便于进行加密处理; 其次, 由于移动用户和移动终端普遍为一对一, 身份认证更易实现。可是, 移动商务实现身份认证也存在诸多薄弱环节, 主要包括: 一是开放的无线信道使移动商务传送的信息更易遭受窃听、 干扰、 篡改等攻击, 这可能是移动商务最大的安全问题[1]; 二是与有线信道相比, 无线信道带宽较小, 容易产生信号的衰落、 频移以及时延扩展, 信道的误码率较高[2]; 三是与固定终端相比, 移动终端在功能及资源上严重受限, 如: 计算能力弱、 存储空间小、 通信带宽窄和电源供应时间短等; 四是移动终端本身不能提供足够的安全防护。因此, 移动商务身份认证协议的研究必须综合考虑上述因素, 特别重点考虑硬件资源上受限的移动终端。
2 研究现状
二十世纪九十年代以来, 国外提出了一些无线网络环境下的认证协议, 如: 协议、 改进协议、 协议、 协议、 协议和协议[3]-[8]。这些协议都能够实现身份认证, 但同时也存在一些局限性, 诸如: 多数无线认证协议采用基于数字证书的身份认证机制, 这需要具备完善的CA认证体系; 认证协议都是基于公钥密码体制实现数字签名, 由于传统的公钥密码体制基本上经过大数计算实现加解密, 造成认证协议的运算负载较高、 耗时长且效率低下等问题; 多数认证协议都考虑了无线链路中数据的机密性和实体认证, 但没有考虑移动用户的匿名性。移动用户的匿名性指防止非法用户从认证协议的信息获取移动用户的相关信息[9]。
当前, 国外无线身份认证研究的重点为无线公开密钥体系WPKI[10]( Wireless Public Key Infrastructure, 简称WPKI) 。WPKI将互联网电子商务中公开密钥体系PKI( Public Key Infrastructure, 简称PKI) 的安全机制引入无线网络环境, 是一套遵循既定标准的密钥及证书管理平台体系。它使用公共密钥加密及开放标准技术构建可信的安全性架构, 实现无线通信网络上的交易和安全通信鉴权。WPKI为基于无线通信网络的各类移动终端用户提供基于WPKI体系的各种安全服务, 能够实现数据传输中真正的端到端安全性、 安全的用户识别及可信交易, 保护数据传输的完整性和保密性, 而且能够实现交易参与方的不可抵赖, 有效地建立安全的移动商务环境。但也有专家认为: WPKI认证机制对承载设备的运算能力要求较高, 并不十分适合计算能力受限的移动商务环境[11], 同时, 其成本高昂、 技术复杂、 缺乏统一的标准和良好的互操作性[12], 最重要的是国内尚无一家法律上承认的、 权威的第三方认证机构——CA( Certification Authority, 简称CA) 中心, 这些因素都限制了WPKI认证机制在国内的应用。国内移动商务身份认证的实现多数基于简单的静态口令认证机制[13], 这种方式实现简单、 易于操作。但静态口令认证机制是一种单因子的认证技术, 其安全性仅依赖于用户口令的保密性, 一旦用户口令泄密, 安全性则彻底丧失。一次性口令认证机制( One-Time Password, 简称OTP) 采用一次一密的方法, 能够有效保证用户身份的安全性, 同时, 其实现简单、 成本低、 无需第三方认证, 是实现移动商务身份认证一个可行的选择。可是, OTP认证机制易遭受小数攻击、 没有实现双向认证。OTP认证机制的安全隐患主要在于参与一次性口令生成的随机数以及口令认证信息均以明文方式传送, 因此, 如果采取密码体制对随机数及认证信息进行加密, 必然给攻击者攻击带来巨大困难。
3 基于OTP的移动商务身份认证协议MCIA的设计
椭圆曲线密码体制是现有公钥密码体制中运算效率、 安全性最高且无须第三方的体制, 其存储空间占用小、 带宽要求低、 计算量小和处理速度快等特点使其十分适合应用于移动商务环境。因此, 本文结合OTP认证机制和椭圆曲线密码体制提出基于OTP的移动商务身份认证协议MCIA( Mobile Commerce Identity Authentication, 简称MCIA) 。
3.1 MCIA协议的设计思路
MCIA协议的设计思路如下:
( 1) 将认证分成两级, 一是客户端对用户身份的认证, 二是客户端与服务器的双向身份认证;
( 2) 使用椭圆曲线加密算法产生客户端、 服务器端的公钥和私钥, 较传统的公钥算法效率更高;
( 3) 使用移动设备特征性标识做为一次性因素的生成因子;
( 4) 利用哈希链构造一次性口令时加入服务计数, 避免针对已知散列函数的小数攻击;
( 5) 认证口令传输时, 客户端和服务器端分别用对方的公钥加密, 在另一方用私钥解密, 避免了明文传输, 且对随机因子进行了二次加密, 提高了口令传输的安全性。
3.2 MCIA协议的流程设计
符号说明
协议中描述的符号说明:
: 参与认证的客户端 : 用来认证的服务器端
: 用户注册提供的用户身份标识
: 用户提供的口令, 在注册时第一次提供, 存储在客户端。以后每次认证, 用户都需提供正确的用户密码
: 移动设备的唯一标识( International Mobile Equipment Identity, 简称) , 也称手机串号, 做为客户端与服务器端的认证口令因子
: 服务器身份标识
: 哈希函数, 为了叙述简便, 以下使用代替
||: 连接符, 表示两端的信息或文字进行连接
: 服务器端生成的安全椭圆曲线密码系统的参数集
: 用户公钥 : 用户私钥
: 服务器公钥 : 服务器私钥
: 加密过程 : 解密过程
: 表示客户端第次登录 : 服务器端的计算器
: 客户端登陆的一次性口令
: 客户端产生的随机数 : 服务器端产生的随机数
3.2.1 注册阶段流程设计
注册阶段完成用户的口令和密码选择、 客户端和服务器端的公钥产生。MCIA协议利用ECC进行第一次密钥分配和敏感信息的传输加密。
MCIA协议的注册阶段流程如下:
( 1) 初始化生成椭圆曲线, 选取密钥对——和;
( 2) 向发起注册请求;
( 3) 将椭圆曲线系统参数集连同发送给;
( 4) 存储, 并根据安全椭圆曲线选取自己的密钥对和;
( 5) 输入和, 并存储和, 向发送利用加密的、 、 以及, 即;
( 6) 接收, 利用做
运算, 得到、 、 和。验证是否已经存在其用户数据库中, 如果存在, 则向发送用户名重复的注册失败信息;
( 7) 如果验证成功, 则将与、 、 绑定, 并存入数据库, 将服务计数初始化为0, 生成一次性因素, 并向发送注册成功信息、 用加密的和, 即;
( 8) 接收并用解密得到和, 存储、 , 注册阶段完成。
3.2.2 登录阶段( 认证阶段) 流程设计
登录阶段利用注册阶段产生的公钥和私钥对认证口令进行加密和解密。认证中产生的随机数是认证的关键因素, 和 经过比较和、 和验证双方身份的合法性。口令传输过程中, 均用公钥进行加密处理。
MCIA协议的登录阶段( 第一次登录) 流程如下:
( 1) 输入和, 计算, 比较此计算值是否与移动设备存储的相同。若相同, 继续; 否则提示用户, 口令错误;
( 2) 向发起登录请求, 生成随机数, 发送用加密的、 和, 即, 并保存;
( 3) 接收, 利用做解密, 即执行
得到、 和。查找, 若存在此用户, 则得到和, 根据和计算, 如果, 生成新的一次性口令和随机数,
||) ||)
发送用加密的、 、 和, 即, 并保存, 否则认证结束;
( 4) 接收的信息后利用解密, 即执行, 得到、 、 和。比较和, 如果相同, 则验证了的身份, 存储新的一次性口令做为下一次登陆的认证口令。比较和, 如果相同, 发送用加密后的, 即, 否则认证结束;
( 5) 接收, 利用做解密, 即执行, 得到, 并与保存的比较, 若相同, 则经过正确验证, 否则终止会话, 认证结束。认证成功后, 将加1更新, 发送认证成功消息;
( 6) 接收认证成功消息, 认证结束。
3.3 MCIA协议的安全性分析
基于OTP的移动商务身份认证协议MCIA具备如下特点:
1. 双向认证
协议中双向认证的实现主要依靠随机数、 完成。当的, 证明合法。当的, 证明合法。
2. 抵御小数攻击
值不断变化, 每次计算传输的也在变化, 两者拼接后的哈希函数值与单纯经过散列函数对一次性口令进行计算后的结果差别较大, 因此, 利用哈希链构造一次性口令时加入服务计数, 能够避免针对已知散列函数的小数攻击。
3. 抵御中间人攻击
在协议的认证过程中, 使用随机数, 并用的公钥加密, 不会被第三方截获, 同样接收到发送的用的公钥加密的挑战信息, 也不会被截获。如果挑战中包含, 那么能够确定的身份真实性, 否则终止认证, 因此, 攻击者无法冒充。
在协议的认证过程中, 因为攻击者没有合法的私钥, 不可能得到传来的挑战信息, 因此, 不能经过验证, 攻击者无法冒充。
4. 密钥协商
和的密钥出自同一椭圆曲线, 因此, 双方都相信密钥是随机的, 同时也保证了密钥协商的公平性, 并能够防止其中任何一方提供弱密钥而带来的安全隐患。
4 基于Opnet的MCIA协议仿真实现
网络仿真是分析认证协议性能的重要手段。为了验证MCIA协议在真实移动网络环境中的运行效率和性能, 本文利用Opnet Modeler仿真软件建立MCIA协议的仿真模型, 经过三层建模机制对协议进行仿真实现, 设计了移动客户端、 服务器端和网关的进程模型、 节点模型以及网络模型, 从认证时间、 时延、 信道利用率、 吞吐量等统计变量分析MCIA协议性能。
4.1 MCIA协议的仿真参数设计
下文描述在MCIA协议的仿真实现过程中使用的软硬件平台和环境变量的设置。
1. 仿真软硬件平台
MCIA协议的仿真软硬件平台的具体组成如表4-1:
表4-1 MCIA协议的仿真环境的软硬件配置
项目
配置
CPU
Intel 1.50GHz
内存
1.99GB
操作系统
Microsoft Windows XP Professional
仿真软件
OPNET Modeler 10.0
编程语言
Microsoft Visual C++ 6.0
2. 环境变量设置
环境变量依据国际电信联盟ITU 5月确定的2.5G及3G标准设置。仿真使用的随机信号由具有simple source类型的随机发生器generator产生, 它以特定分布时间间隔产生特定分布大小的数据包, 另外, 使用指数分布函数随机确定数据包的大小。
仿真过程用到的固定设置, 其值分别设定如下:
( 1) 随机信号间隔, 移动客户端服从参数为2s的指数分布;
( 2) 随机信号数据包大小, 移动客户端产生1024Kb大小的固定数据包;
( 3) 仿真时间设定为30s, seed为32, Values Per Statistic为100;
( 4) Specify Size设置为12.5km*12.5km网络, 移动客户端经过无线网关与服务器通信。
对于节点模型中无线收发器的无线信道相关参数的设置, 参考无线网络的相关指标, 主要设定无线信道的数据传输率为384kbps, 带宽30KHz, 噪音、 增益等模型均为缺省模型; 客户端发送频率为920MHz, 接收频率为960MHz, 发送机功率为 0.2W; 网关接收频率同客户端的发送频率相同, 而发送频率则同客户端的接收频率相同, 网关发送机功率为15W; 网关和服务器之间有线链路的数据传输速率为 100M; 无线收发器支持的包格式为MCIA_packet_data, 此包存放认证信息, 进行客户端与服务器端的通信。
3. 仿真统计变量
MCIA协议的仿真统计变量包括认证时间、 时延、 误码率、 信道利用率、 吞吐量和丢包率, 这六项统计变量的涵义及变量名称见上表4-2。
表4-2 MCIA协议的仿真统计变量
仿真统计变量
涵义
说明
设定变量
认证时间
( s)
指从客户端发起认证请求, 服务器端响应后, 客户端输入信息进行认证, 到最终认证成功的时间
认证时间越短, 表明接入越快, 协议效率越高
Scheme time
( 认证时间)
时延
( s)
指认证消息数据包在服务端队列中等待处理的时间, 表示协议中服务器端的服务能力
时延越短, 表明服务器端响应客户端请求的效率越高, 越有利于提高服务质量
queue_s. queueing delay
( 服务器队列时延)
误码率
( ‰)
指信息传输过程中出现的误码比率, 是最常见的数据通信传输质量指标
误码率越小, 表明信息传输过程中出现差错的概率越低, 协议的性能越好
rr_c.channel
radio reciever.bet error ratio
( 接收机误码率)
信道利用率
( %)
指信道平均被占用的程度, 协议运行时认证消息数据包占用的无线信道资源, 表示协议是否允许大量移动终端接入
信道利用率越低, 表明协议运行时占用的信道资源越少, 无线网关容纳同时接入的用户数越多
rr_c.channel
radio reciever.utilization
( 接收机信道利用率)
rt_c.channel
radio transmitter.utilization
( 发送机信道利用率)
吞吐量( bits/sec)
指单位时间内( 一般为秒) 节点之间成功传送的无差错数据的数量
吞吐量越大, 表明协议的性能越高, 效率越好
rr_c.channel
radio receiver.throughout
( 接收机吞吐量)
rt_c.channel
radio transmitter.throughout
( 发送机吞吐量)
丢包率
( bits/sec)
指节点之间发送数据过程中所丢失数据包数量占所发送数据包的比率,
一般在吞吐量范围内测试, 丢包率越低, 表明协议的性能越好
rr_c.channel
radio reciever.data dropped
( 接收机数据丢失率)
4.2 MCIA协议的仿真实现
本文仿真在移动客户端数量为1时MCIA协议中认证过程的运行情况。
1. 认证时间
图4-1表示MCIA协议的认证时间, 仿真运行的30s内MCIA协议的认证时间平均约为7s, 即移动客户端连接服务器时进行身份认证的时间为7s。协议的认证时间越短, 表明协议的接入越快, 移动客户端的满意度越高。
图4-1 MCIA协议的认证时间
2. 时延
时延( delay) 由服务速率和数据包大小确定。MCIA协议运行时移动节点与服务器间队列的平均时延如图4-2, 图中表示了移动节点的数据包在服务器端等待处理的平均时间, MCIA协议的平均时延在0.13s-0.17s之间变化。对于服务器来说, 时延越短, 响应用户请求的效率越高。
图4-2 MCIA协议的服务器队列时延
3. 误码率
误码率( bit error rate, 简称Ber) 是最常见的数据通信传输质量指标, 是衡量数据在规定时间内数据传输精确性的指标。由于种种原因, 数字信号在传输过程中不可避免地会产生差错。MCIA协议的误码率如图4-3, 从图中能够看出, 在协议开始运行的期间, 即在0s至11s左右的时间内, MCIA协议会出现一定的误码率, 最高到6‰, 随着MCIA协议的稳定运行, 误码率降到最低值。
图4-3 MCIA协议的误码率
4. 信道利用率
本文只仿真一个移动终端接入时的情况, 实际应用中必然有多个用户同时接入, 而利用率越低, 说明MCIA协议运行时占用的信道资源越少, 网关能容纳同时接入的用户数便越多, 因此, 本文从网关的无线收发机观察发送信道及接收信道利用率。由图4-4、 图4-5可知, 接收信道的利用率平均值在仿真30s约从0.9%变化到4.7%, 发送信道的利用率平均值在仿真30s约从0.9%变化到6.8%。
图4-4 MCIA协议的接收信道利用率
图4-5 MCIA协议的发送信道利用率
5. 吞吐量
MCIA协议接收节点和发送节点的吞吐量如图4-6和4-7, 接收到的无差错数据包最大值约为6700bits/sec, 发送的无差错数据包最大值约为3600bits/sec。
图4-6 MCIA协议的接收节点吞吐量( bit/sec)
图4-7 MCIA协议的发送节点吞吐量( bit/sec)
6. 丢包率
丢包率( packet loss rate) 指数据传输过程中丢失数据包数量占发送数据包的比率, 一般在吞吐量范围内测试。丢包率一般与数据包长度以及包发送频率相关。为了与图4-6接收机的吞吐量进行对照, 本文选择了数据丢失量作为衡量丢包率的指标, MCIA协议的数据丢失率如图4-8。
由图4-8可知, MCIA协议运行12s后, 在产生吞吐量的情况下开始有数据丢失, 接受节点的吞吐量越大, 数据丢失量就越大, 在18s时数据吞吐量达到最大值6700bits/sec, 因此, 数据丢失量也达到最大值100bit/sec, 随着MCIA协议的稳定运行, 数据丢失量随着吞吐量的逐步稳定也变化不大, 数据丢失量基本稳定在65bit/sec。
图4-8 MCIA协议的数据丢失率( bit/sec)
综上, 从认证时间、 时延、 信道利用率和吞吐量等统计变量的仿真结果看, MCIA协议能够在模拟实际的网络环境中正常运行, 适合于移动商务的身份认证。
5 结论
OTP认证机制是一种比较简单的认证机制, 经过ECC对其进行改进, 提出基于OTP移动商务身份认证协议MCIA, 阐述了协议的登录及认证流程。本文利用Opnet对协议的人认证过程进行仿真实现, 从认证时间、 时延、 误码率、 信道利用率、 吞吐量等统计变量分析MCIA协议性能, 表明MCIA协议具备良好的性能, 适用于移动商务的身份认证。
参考文献:
[1] 胡爱群. 无线通信网络的安全问题及对策 [J]. 电信科学, (12):42-45.
[2] 杨义先, 钮心忻. 无线通信安全技术 [M]. 北京: 北京邮电大学出版社, .
[3] M. Tatebayashi, N. Matsuzaki, D.B. Newman Jr. Key distribution protocol for digital mobile communications systems [A]. In: Advances in Cryptology-Crypto'89 [C], Springer, Berlin, 1990:324-333.
[4] M.J.Beller, L.F. Chang, Y. Yacobi. Fully-fledged two-way public key authentication and key agreement for low-cost terminals [J]. Electronics Letter, 1993, 29:999-1001.
[5] A. Aziz, W. Diffie. Privacy and Authentication for Wireless Local Area Networks [J]. IEEE Personal Communications, 1994, 1(1):25-31.
[6] C. S. Park. On certificate-based security protocols for wireless mobile communications systems [J]. IEEE network September/October, 1997, 9:50-55.
[7] M. Aydos, B. Sunar, C. K. Koc. An elliptic curve cryptography based authentication and key agreement protocol for wireless communication [A]. In: The 2nd International Workshop on Discrete Algorithms and Methods for Mobility [C], DIALM’98, Dallas, TX, 1998, 10:231-237.
[8] Horn G, Preneel B. Authentication and Payment in Future Mobile Systems [A]. In: Computer Security ESORICS'98 Lecture Notes in Computer Science [C], 1998:277-293.
[9] 张斌, 邬江兴. 移动计算环境下的用户匿名性问题研究 [J]. 微电子学与计算机, (8):53-56, 79.
[10] Noureddine Boudriga. Security of Mobile Communications [M]. American: CRC,
[11] Feilder. Mobility Technology Growth Could Cause New Security Risks [J]. Electronic Commerce News, , 12(9):1-2.
[12] 赵文, 戴宗坤. WPKI应用体系架构研究 [J], 四川大学学报 (自然科学版) , , 4(24) :725-730
[13] Yang Mu, Zhang Runtong. New authentication scheme for M-commerce based on two dimension bar code [A]. In: Proceedings of IEEE International Conference on Service Operations and Logistics, and Informatics [C], :1029-1034.
展开阅读全文