您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 移动商务身份机制的研究
1移动商务身份认证机制的设计与研究摘要:移动商务的身份认证问题已成为制约移动商务发展的瓶颈。动态口令技术实现简单、成本低、无须第三方认证的特点使其较适合移动商务的身份认证。本文基于动态口令的认证思想,引入椭圆曲线密码体制进行改进,提出一套移动商务身份认证机制,最后分析了该机制具备很好的安全性。关键字:身份认证;一次性口令;椭圆曲线密码;IMEI1移动商务的身份认证需求在移动商务环境的安全机制中,身份认证处于核心地位,因为在缺乏对用户身份有效认证的前提下,用户信息的完整性和保密性没有任何意义可言[1],因此,移动商务环境下身份认证机制的研究,对移动商务的安全体系,乃至对整个移动商务的推广与发展具有重大意义。目前,移动商务的身份认证机制多基于GSM网络、短信息以及简单的用户静态口令认证,这些方法易受到攻击并且口令在无线传输中易被截获。非移动商务环境下的身份认证机制多采用基于公钥的认证体系,它必须以完善的CA(CertificationAuthority,证书授权中心)体系为基础,需要一个合法的公正的第三方参与认证,这种方法成本高昂,技术复杂,不适合于目前尚不成熟的移动商务环境。本文拟对移动商务的身份认证进行研究,提出适合于移动商务环境的安全、高效的身份认证机制。无线信道资源短缺,带宽成本高,时延长,连接可靠性较低,同时,相比有线终端,无线终端的资源有限、处理能力低,存储能力小,需要尽量减少证书的数据长度和处理难度。考虑到上述特点,因此,移动商务身份认证机制的需求主要为[2]-[4]:①移动用户与移动网络的双向认证;移动用户与移动通信网络之间相互认证身份,这是在移动通信中被普遍认同的一个安全需求,也是安全通信中最基本的安全需求。但是在第二代移动通信系统中存在很多安全问题,其中之一就是缺少用户对移动网络的身份认证,导致“中间人攻击”的威胁。②密钥协商和双向密钥控制;移动用户与移动通信网络之问通过安全参数协商确定会话密钥,保证一次一密。一方面可以防止由于一个旧的会话密钥泄漏而导致的重传攻击;另一方面可以防止由通信的一方指定一特定会话密钥带来的安全隐患,保证密钥质量。③敏感数据(如移动用户身份信息)的机密性;有些用户为了防止自己的所在位置信息和行踪泄漏,需要对自己的身份信息进行保护,即身份信息不能以明文形式在网络传输。④相关数据(如移动用户发送的数据)的不可否认即防止抵赖;移动通信中的某一方对自己发送或者接收到的某些数据在事后不能进行抵赖。这个特性对于部署移动商务不可缺少。⑤认证机制尽量简单、计算量小、通信量小。2考虑到目前移动通信系统的带宽受限,以及移动通信终端的计算资源有限,所设计的身份认证协议应保证尽量简单、计算量小、通信量小。即使在第三代移动通信系统中,带宽得到大幅度改善,目前硬件的瓶颈得到一定的突破,手持移动通信终端的体积和市场价格决定了其计算资源和存储资源的有限性。对于上述安全需求,并不是每种身份认证机制都要全部满足。在设计移动商务身份认证机制时,可根据具体情况需要,设计满足其中上述部分安全需求的移动商务身份认证机制。2OTP及椭圆曲线密码体制2.1OTP实现机制及安全分析一次性口令(One-TimePassword,简称OTP),指用户在网上传送的口令只使用一次,从而使攻击者无法通过窃取用户口令非法访问系统。OTP的认证思想是[5]:在登录过程中加入不确定因素,使每次登录过程中摘录所得的密码都不相同,提高了登录过程的安全性。例如:5MDOTP(用户名十随机数/口令/时间戳),系统接收到登录口令后以同样的算法做一个验算即可验证用户的合法性。OTP的认证过程如图2-1:客户端服务器端发起连接请求发出挑战信息(种子、迭代次数)应答(种子+通行密语+迭代次数生成OTP)服务器认证图2-1OTP的认证过程一次性口令认证机制通过在登录过程中加入不确定因素,使每次登录密码都不相同,提高登录安全性。本文选择一次性口令做为移动商务的身份认证技术,主要基于:①一次性口令机制实现较为简单、无需十分复杂的算法,适合运算能力不高的移动终端;②一次性口令由用户秘密的通行短语和挑战信息通过单向散列函数生成,具备一定的安全性;③认证过程中客户端和服务器端通信次数不多,数据传输量小,适合目前移动商务网络速度尚不十分快速的情况;④目前国内缺乏权威的第三方认证机构,相关法律也不健全,使用一次性口令认证机制无需第三方参与,避免了需第三方认证带来的诸多问题。一次性口令认证机制应用于移动商务身份认证具备一定的优势,但也存在一些问题:①易遭受离线字典攻击[6];②攻击者可利用小数攻击获取一系列口令冒充合法移动用户[7];③仅支持服务器对客户端的单向认证,无法防范假冒的服务器欺骗客户端。一次性口令认证机制的安全隐患主要在于参与一次性口令生成的随机数以及口令认证信息都以明文方式传送,因此,如果采取密码体制对随机数及认证信息进行加密传输,必然给攻击者攻击行为带来巨大困难。32.2椭圆曲线密码体制目前,三类公钥密码体制被公认为安全有效,按照其所依据的数学难题划分分为:基于大整数因式分解问题的IF类公钥密码体系,如RSA体制;基于有限乘法群上离散对数问题的DLP类公钥密码体系,如DSA体制;基于代数曲线有限加法群上的离散对数问题的ECDLP公钥密码体系,如椭圆密码体制ECC[8]。与公钥算法如RSA相比,ECC具有抗攻击性强、计算量小、处理速度快、密钥尺寸小、系统参数小以及带宽要求低等优点,如:与RSA相比,ECC抗攻击性有绝对的优势,具有单位比特较高强度的安全性。如160位密钥的ECC和1024位密钥的RSA有相同的安全强度,而210位密钥的ECC则与2048位密钥RSA具有相同的安全强度[9],同时ECC算法易于用软件硬件实现,因此,ECC对于计算能力、集成电路空间和带宽受限的安全应用特别具有吸引力,十分适合于移动商务的认证环境。3移动商务身份认证机制的设计3.1设计思路针对上述OTP认证机制存在的问题,利用椭圆曲线密码体制对其进行改进,提出基于一种移动商务身份认证机制,设计思路如下:(1)本文提出的认证机制将认证分成两级,一是移动设备对用户身份的认证,二是移动设备与服务器的双向身份认证。第一级验证使用该移动设备的用户为合法用户,第二级验证移动设备和服务器的合法性,即不是仿冒的终端。若第一级验证没有通过,那么移动设备与服务器间不会进行通信。若第一级验证通过,移动设备自动与服务器间通信,用户对过程不可见,仅能知晓是否验证通过。(2)使用移动设备特征性标识)(IMEI做为一次性因素的生成因子;(3)利用椭圆曲线生成客户端、服务器端的公钥和私钥,较传统的公钥算法效率更高;(4)利用哈希链构造一次性口令时加入服务计数,避免针对已知散列函数的小数攻击;(5)利用散列函数生成随机因子,避免了明文传输,而且替代了散列次数递减作为随机因子所带来的哈希链长度不够问题;(6)认证口令传输时,客户端和服务器端分别用对方的公钥加密,在另一方用私钥解密,避免了明文传输,且对随机因子进行了二次加密,提高了口令传输的安全性。3.2设计流程符号说明C:参与认证的用户端S:用来认证的服务器端UID:用户注册提供的用户身份标识UPW:用户提供的口令,在注册时第一次提供,存储在客户端。以后每次认证,用户都需提供正确的用户密码IMEI:移动设备唯一标识nalInternatio(MobileEquipment)Identity,也称为手机4串号,IMEI作为客户端与服务器的认证口令因子而存在()Hash:哈希函数,为了叙述简便,以下使用()H代替||:运算符表示两端的信息或文字进行连接ECC:服务器端生成的安全椭圆曲线密码系统的参数集KUR:用户公钥KUS:用户私钥KSR:服务器公钥KSS:服务器私钥()E:加密过程()D:解密过程i:表示客户端第i次登录iCP:客户端的第i次认证口令iSP:服务端的第i次认证口令Counter:客户接受服务的次数iOTPC:验证客户端身份的一次性因素iOTPS:验证服务器端身份的一次性因素3.2.1注册阶段设计注册阶段流程如下:(1)S初始化生成安全椭圆曲线,选取自己的公钥KSR和私钥KSS;(2)C向S发起注册请求;(3)S将椭圆曲线系统参数集ECC连同KSR发送给C;(4)C存储KSR,并根据安全椭圆曲线系统选取自己的密钥对KUR和KUS;(5)C输入UID和UPW,并存储UID和)(UPWH,向S发送利用KSR加密的UID、)(UPWH、IMEI以及KUR,即),),(,(KURIMEIUPWHUIDEkSR;(6)S接收),),(,(KURIMEIUPWHUIDEkSR,利用KSS做)),),(,((KURIMEIUPWHUIDEDkSRKSS运算,得到UID、)(UPWH、IMEI和KUR。S验证UID是否已经存在其用户数据库中,如果存在,则向C发送用户名重复的注册失败信息;(7)如果UID验证成功,则S将UID与)(UPWH、IMEI绑定,并存入数据库,Counter初始化为0,将Counter与UID、IMEI绑定,生成一次性因素CounterHOTPS(0||)IMEI并向C发送注册成功信息m,0OTPS将做为认证阶段的随机因子被S存储;(8)C接收m,将Counter也初始化为0,将Counter与IMEI绑定,客户端生成一次性因素)||(0CounterIMEIHOTPC,存储在C,注册阶段完成。注册流程设计如图3-1:5图3-1注册阶段流程设计3.2.2登录(双向认证阶段)设计登陆阶段利用注册阶段产生的公钥和私钥对认证口令进行加密和解密。认证口令中的一次性因素是认证的关键因素,C和S每次计算iOTPC和iOTPS,通过比较验证双方合法性。认证过程步骤如下:(1)C输入UID和UPW,计算)(UPWH,比较此计算值是否与移动设备存储的)(UPWH相同。若相同,继续;否则提示用户,口令错误;(2)C向S发起登录请求,发送用KSR加密后的UID、iOTPC和)(UPWH,即iCP=))(,,(UPWHOTPCUIDEiKSR,其中iOTPC计算如下:1(iiOTPCHOTPC||Counter);对于第一次登录的用户:)(01OTPCHOTPC,)||(0CounterIMEIHOTPC。iOTPC是一个关于初始0OTPC的哈希链值,但并不是一次计算完全长度的哈希链,仅从上次认证的iOTPC中迭代计算哈希值;(3)S接收iCP,利用KSS做解密,即执行)(iKSSCPD,得到UID、iOTPC和)(UPWH。S比较UID、)(UPWH,若与数据库存储的相同,则计算'iOTPC,否则提示该用户无法享受此服务。'iOTPC计算如下:1'(iiOTPCHOTPC||Counter);(4)若S计算的'iOTPC与iOTPC相同,则说明C合法。若计算结果不正确,则终止会话,认证结束;(5)S验证C成功后,发送用KUR加密的iOTPS和Counter,即iSP=KURE(Counter,iOTPS),其中iOTPS计算如下:1(iiOTPSHOTPS||Counter)对于第一次验证:)(01OTPSHOTPS,CounterHOTPS(0||)IMEI;(6)C接收S的信息后利用KUS解密,用Counter和客户端的IMEI计算'iOTPS,与解密得到的iOTPS比较,若相同,则说明S合法,否则终止会话,认证结束;6(7)C的Counter增加1,并发送给S,S将Counter更新。双向认证流程设计如图3-3所示:图3-3双向认证流程设计3.3安全性分析下文分析移动商务身份认证机制的安全性。(1)抵御离线字典攻击认证口令传输时,客户端和服务器端分别用对方的公钥加密,在另一方用私钥解密,避免了明文传输,且对随机因子Counter进行哈希函数计算后,进一步使用密钥进行加密实现二次加密,提高了口令传输的安全性。(2)双向认证机制中双向认证的实现主要依靠一次性因素iOTPC、iOTPS完成。当服务器端计算出的1(iOTPCH||Cou
本文标题:移动商务身份机制的研究
链接地址:https://www.777doc.com/doc-2237595 .html