一种基于动态口令的异构机制身份认证方案
打开文本图片集
摘要:鉴于双因素认证需依赖智能卡和时钟同步问题突出,并且随机数开销大的弊端,提出了一种基于挑战应,答机制的动态口令异构机制认证方案,该方案不涉及第三方設备,通过SHA-256计算、“与”计算减轻了运算过程的开销,缩短了运算时间。同时服务器端与用户端的双向身份认证中采取随机数与Rabin加密机制加强安全性,能够有效地抵御重放攻击等各类攻击,可用于对安全性有一定要求的应用与环境。在同各类方案进行对比体现该方案优势的同时,也通过SVO逻辑方法对该方案的认证过程做了形式化的分析及论证。
关键词:软件即服务(SaaS);动态口令;双向身份认证;sv0
中图分类号:TP393
文献标识码:A
1 引言
身份认证应用于人们日常生活已经十分久远,并且随着Lamport[1]在1981年第一次提出基于远程口令的身份认证方案,基于其想法的OTP协议研究取得了较大进展,产生了CHAP、EAP等OTP协议。1991年,Bell core提出的依据OTP的挑战/应答式动态口令身份认证架构“S/KEY”初次亮相[2]。由于网络安全需求的提高,对于SaaS服务所处的网络安全研究也在如火如荼的开展着。
文献[3]采用了一种依据环签名形式的远程认证方案,同时还能够不借助第三方来进行双方可信的验证证实,由于云环境的复杂性特点,不能够确保可信计算平台的安全保障范围,从而无法保障公有云系统架构的安全性;文献[4]考虑了椭圆曲线密码体制(ECO安全性及现有OTP系统无需第三方公证的参与,提出了将双方特点结合在一起的一种新认证方案,该方案对于安全性、认证效率和存储空间上都具备较强的优势,但此方案没有在时间同步问题上作分析,为认证的结果埋下了隐患;文献[5]利用正弦函数有着变量取值范围较广的特点,再结合单向散列函数(SHA-1)对这些取值进行正弦投影,得到相对应的映射值,由此实现身份要素信息的变换运算,此方案具有存储小,能耗低的特点,但在各阶段的运算量仍成是个瓶颈,并且随着SHA-1遭到破解,安全性问题也变得没有保障。文献[6]对文献[7]的方案进行改进,对其方案使用单向散列函数和异或运算并借助智能卡来实现的双因素用户认证,前者用计算量的消耗来增加认证过程的安全性,让其具备了有效抵御密码猜测等恶意攻击的能力。
针对上述密码技术和认证机制的不足,在此提出了一种在传统的挑战/应答机制下的通过SHA-256运算、“与”运算及Rabin加密技术的复杂性结合的OTP认证技术来实现SaaS服务模式下的双向身份认证的方案。该方式既考虑到系统的存储能力又兼顾了认证中的安全性。
2 相关技术
2.1 挑战/应答机制
传统的依据挑战/应答机制[8-9]为基础的身份认证方式分为两个过程:注册过程、认证过程。图1为传统的依据挑战/应答机制的认证过程:
传统的依据挑战/应答机制存在以下几个弊端:
(1)缺少服务器端对用户端的合法性判定过程,非法的访问方可利用冒充服务器这一手段来完成同用户端的交互,从而对得到的交互信消息进行操作,来进行对用户端的攻击;
(2)图1的认证过程中必须完成较多的散列操作和加解密等步骤,用户端与服务器端在运算开销上付出了很大的代价;
(3)服务器端需要对每一位现实用户和潜在用户建立并保存相对应的对称密钥。
2.2 SHA-256算法
SHA-256是一种具有列散函数性质的SHA(Secure Hash Algorithm)算法,它能将输入进来的长度各异的明文信息,依据6个逻辑函数以及一组常数Kt来完成信息的转换,形成一段256bit的密文消息[10]。
在算法安全性方面,一方面SHA-256算法具有不可逆性这一特点,使得攻击者就算是得到了密文信息也无法从其本身得到明文并且对于任何输入的信息都会对其结果有很大的影响;另一方面从安全性衡量标准来看,Hash函数具有迭代算法的雪崩效应,以SHA-256算法的轮数可以有效的增强其整体碰撞难度,因此SHA-256被视为目前最为安全的哈希函数之一。
2.3 Rabin密码体制
Rabin密码体制是经RSA修正后得到的一种建立在数论中的求和数模平方根复杂性问题基础上的一种密码体制,其复杂度已经被证明与分解大整数一样困难。
使p和q作为两个大素数,且它们是互异的,其中这两个大素数由Dirichlet定理得出,m(m=p×q)和6(6≥1)已知公开,加密为:C= E(M)=M(M+b)(modm),其中C,M分别代表密文和明文。一般会在M中加入有关发送者身份的信息,如与发送者有关系的数字信息、字母信息、时间信息等[11-14]。
3 云模式下基于动态口令的身份认证方案
3.1 身份认证方案设计思想
(1)异种机制双向认证:通过依据挑战/应答的身份认证机制,来完成双方相互的身份确认过程。一方面在用户端进行Hash函数操作,确保变换的安全性,且结合“与”运算的方式来增加加密的复杂度从而提高信息交互时的安全性,确保认证的可靠性;另一方面服务器端采用Rabin加密技术的身份认证方式来对用户端的身份进行判定。
(2)多类结合加密算法:基于列散函数的特点,在SHA-1与MD5相继被破译后,SHA-256又以其在安全性方面的绝对优势,成为了相对于安全性需求更高的网络的首选加密算法;其次,Rabin算法是基于数论中的求和数模平方根这类问题复杂性的基础上的一种算法,其复杂度已经被证明与分解大整数一样困难,用Rabin算法选出来的系统公钥和秘钥更加具有安全性。
(3)四次交互双向认证:在三次携带检测信息及其鉴别口令的交互认证过程和确定认证成功的最终交互形式下,考虑到用户端登陆环境的多样性和硬件设施不同带来的运算能力差异性,用户端对服务器的认证采取简易的认证方式,这一举措可以使计算量降低,从而减轻用户端的计算开销;而另一方面,服务器端对用户端而言,则通过伪随机数与公钥加密结合的方式来实现,提高双向身份认证系统的安全性;采用Rabin密码体制对网上传输的明文、随机数、用户端输入的口令等进行加密传输处理,有效防止第三方截获明文消息。
3.2 身份认证方案的描述
本文中身份的认证方案分别是用户注册阶段、双向认证阶段这两个过程来进行。每个用户都要进行一次注册过程,在注册成功过后,用户每一次登录系统时,都将进行一次身份的双向认证过程。本文使用的符号及描述如表1所示。
3.2.1 注册阶段
注册阶段为每一个用户使用该系统前必须进行的一个步骤,在这个阶段关键在于对用户进行口令和密钥的生成和身份的确认。即用户注册时,初次将自己的身份信息交到认证服务器端进行存储待用,其次双方对密钥进行了交换。注册阶段流程图如2所示。
具体注册流程如下:
(1)认证服务器端AS通过Rabin密码体制选择合适的密钥对。KUR,KUR为用户端U的密钥对,KSR,KSS为认证服务器端AS的密钥对,其中Kxy,表示:x端的公/私钥(R/S);
(2)用户端U准备注册时,会将注册请求信息通过交互信道传至待注册的认证服务器端AS,当AS接收到请求信号后进行存储、备份等相应的处理,确保用户端再次访问时可依据己存信息进行身份的认证;
(3)在确认用户U为初次注册的用户后,认证服务器端AS则根据相关规则对用户发送Rabin及其公钥KSR,用于完成注册过程;
(4)用户端U存储认证服务器端的公钥并根据Rabin密码体制选取自己的密钥对;
(5)在对认证服务器端的交互过程中,用户U将自己的IDu和PW传送至AS端并请求注册,并向AS传输用AS的KSR加密的IDu\PW及KUR,令M1=SHA( IDU"| PW),M2=SHA (PW),即传送EKSR(IDU || KUR || Ml || Ml || PW);
(6) AS将用户端传送过来的加密消息进行相应的解密操作,利用其私钥得到解密后的明文信息,再根据明文信息到数据存储服务器中进行关键信息的匹配工作,若是服务器中已经存在该用户的注册信息,那么则返回注册失败的提示;
(7)接着(6)的另一种情况来看,假若用户发送的注册消息验证成功,即在存储服务器中没有匹配到相应的注册信息。那么AS将IDU与M1、M2、PW、KUR绑定,进一步用认证服务器私钥对其进行加密存储,存入数据存储服务器,方便在后续的身份认证过程中使用,同时向用户端发送成功注册的信息。
3.2.2 认证阶段
用户在登陆的阶段采取四次交互的方式完成双向认证过程,该阶段基于传统的挑战/应答方式并对其进行改进。在认证过程中,用户端U将自己的IDu发送至认证服务器端AS,当AS接收到IDU后搜索与IDU绑定在一起的用户的相关信息,从而对用户身份进行鉴别。
身份认证的具体过程可描述如下:
(1)U→AS:用户端向认证服务器端发出身份验证的请求信号,并向AS提交用户标识IDU; AS查询数据存储服务器,并检测用户端的用户是否完成注册,即判定ID列表中有没有IDU数据,若没有用户的信息,也就不具有对此资源的访问权利,用户端则被拒绝认证。
(2) AS→U:若在执行(1)后得到能够查询到用户的注册信息,认证服务器通过伪随机数获取算法进行计算,并得到进行此次认证的唯一伪随机数R,向用户端发送IDU,PW,R运算后的信息:(M1·R) || SHA (M2·R),并保存副本;用户端通过字符提取技术,获得M1·R、SHA (M2·R),令P=M1·R,Q=SHA (M1·R)。并计算M"= SHA -1 (IDU || PW),R"=M"·P,Q’=SHA (R"·M2)。若Q與Q"不相等,则不能够证明是合法的认证方,即会将其视为伪造服务器进而拒绝其认证,并且得到认证失败信息。如果Q与Q’相等,那么U对于AS的身份验证视为成功,进入U对AS的验证这一环节。
(3)U→AS:用户输入PW",令W= SHA (M2||R"|| PW")即对PW"、R"、M2进行哈希运算,用服务器公钥KSR对ID和W加密,得EKSR (IDu || SHA(M2 || R"||PW")),并利用用户私钥KUS对消息完成签名后(Signxus [EKSR (IDu || SHA (M2||R"||PW’))])传输给AS做进一步的处理;AS利用KSS进行密文的解密,并获得密文中的IDu和W。再通过IDu信息在存储库里面找到与之相对应的M2、PW和R信息,对于此处依然存在两种结果,一种是不存在对应的以上三个信息,则说明并非合法用户,进而拒绝认证;另一种则是能够检索到对应的信息,并且对它们做进一步做哈希处理,令其为W"= SHA (M2||R||PW)D,如果W与W"不相等,则此认证被视为失败,用户端具有不友好性,认证服务器端拒绝其交互,登陆失败。
双向身份认证的流程如图3所示:
4 形式化分析
4.1 SVO逻辑的语法
SVO逻辑所用的记号延续了BAN逻辑和AT逻辑的记号,其中|≡、<、|~、|≈、|→、⑤、#、≡符号分别表示:信任、收到、发送过、新发送过、管辖、拥有、新鲜与等价的含义[15-18]。
以下罗列了12种符号,以及它们在SVO逻辑系统中所特有的解释:
(1)*:主体不能识别的消息;
(2)K~:密钥K对应的解密密钥;
4.3 SVO逻辑分析过程
整个SVO逻辑分析过程可分为以下3个步骤:
步骤1:用SVO逻辑语言对该方案所有的假设条件集合(包括主体本身所蕴涵的初始信念和接收到的外来传入给主体的信息)做出合理的表示与解释;
步骤2:设定出该方案经推理后能够达到的目标集合,并且对此目标集合进行SVO逻辑语言的描述;
步骤3:利用“步骤1”所给出的初始假设集合进行符合本方案认证过程的推理证明,得到的结果与“步骤2”进行比对,看是否能够达到“步骤2”中所给出来的目标集合。
以下为SVO逻辑方法对该方案的具体分析,为本方案认证过程能否满足实体认证目标,给出了有利的分析依据。
本方案的初始假定,其中用户端与认证服务器端分别为:U,AS:
5 方案性能分析
5.1 安全性分析
(1)通过加入高质量的伪随机数,保证每次认证消息不同,使得攻击者所截获到的信息有异于认证方存储的认证信息则无法通过认证,能够对重放攻击与小数攻击等形成良好的抵御效果;
(2)根据3.2.1节对用户于注册阶段的具体描述可知,其经过安全的传输通道与认证服务器交换身份认证和公开密钥,因此,只有认证服务器AS拥有用户认证服务器的合法身份的依据M1、M2,攻击者无法冒充认证服务器,即使攻击者获得了Mi和M2其中的任意一个,通过运算获得Q"=SHA(M·P·M2)与Q=SHA (M2·R)不完全符合,从而无法通过认证。
同理,经认证服务器端AS传送来的信息,再根据用户端U所得的IDu、PW可运算出认证服务器端AS提供的随机数R,因为攻击者无法冒充用户,所以W≠W"= SHA (M2||R || PW),无法通过认证,进而对中间人攻击进行了有效地抵御。
5.2 各因素综合比较
本文方案通过与FTP双向认证协议、文献[6]这两种方法展开对比,来呈现本文方法的优点所在,对比的结果如表2所示。
(1)本文方案与依据动态口令的FrIP双向认证协议相比较:
基于动态口令的FTP双向认证协议是基于挑战/应答机制并结合散列函数、对称密码体制,利用第三方硬件设备(智能卡)来实现双向认证。本文方案采取无第三方设备的方式完成验证,利用伪随机数、散列函数、Rabin密码体系、公钥加密签名的方式来实现用户端与服务器端双向的身份验证,并确保认证过程的安全性,同时减少了服务器存储负担和注册成本,并避免了对第三方硬件的依赖和第三方硬件损坏或丢失所担负的风险与损失。
(2)本文方案与文献[6]方案相比较:
文献[6]利用单向散列函数、异或运算和智能卡来实现双因素类型的身份验证,认证过程中的通信次数多,并用计算量的消耗来增加认证过程的安全性,使其能够更加有效地抵抗内部人攻击、密码猜测等攻击,认证过程依赖外部硬件设备。本文相对于此方案拥有更加安全的密钥算法,确保了在信道中传送的安全性;无需第三方硬件,认证简洁,通信次数少从而减轻了运算和存储的开销。
6 结束语
基于挑战/应答模式,并融合Rabin密码体制和散列函数提出了一种适应于SaaS模式的动态口令异构机制身份认证的方案。本方案相比于其他传统身份认证方案和依靠第三方设备进行身份认证的方案相比较,有如下优势:(1)用户和认证服务器采用双向身份验证模式,能够有效避免冒充服务器的恶意攻击,提高身份验证的安全性;(2)考虑到用户端登陆环境的多样性和硬件设施不同带来的运算能力差异性,用户端对服务器的身份验证采用简易的身份验证方式,减少用户端计算负担;(3)服务器端对用户端的身份验证通过伪随机数与公钥加密结合的方式来完成,提高双向身份验证系统的安全性;(4)采用Rabin密码体制对网上传输的明文、随机数、用户端输入的口令等进行加密传输处理,有效防止第三方截获明文消息。在以后的工作研究中,将对认证方案安排数据仿真,并对方案展开不同场合下安全性差异的设定,达到安全性要求较高的SaaS服务模式下认证方案的适用性和合理性。
参考文献
[1]LAMPORT l.Password authentication with insecure commumca-tion EJl.Communications of the ACM, 1981, 24(ll):770-772.
[2] HALLER N M.The S/Key One-time Password System.Proceed-ings of the Internet Society Symposium on Network and Dis-tributed System Security [C].San Diego, 1995: 151-157.
[3] 杨绍禹,王世卿,郭晓峰.一种基于环签名的跨域云服务资源远程证明方法[J].小型微型计算机系统,2014,35(2):324- 328.
[4]曹阳,洪岐,余冬梅.基于椭圆曲线密码体制的OTP身份认证方案[J].计算机与数学工程,2011,39 (10):118-120.
[5]隆笑,王景成,赵广磊,等.基于哈希函数的正弦投影身份认证方案[J].计算机工程.012,38(9):126-130.
[6] HSIEH Wen-Bin,LEU Jenq-Shiou.A dynarruc identity user au-thentication scheme in wireless sensor networks [J].IEEE,2013:1132-1137.
[7] MOUFTAH V M, Mouftah.lmproved two-factor user authentica-tion in wireless sensor networks.Wireless and Mobile Comput-ing,Networking and Commurucations (WiMob) [J].IEEE,2010:600-606.
[8]張德育,徐莲.一种改进动态口令双向身份认证方案研究[J].沈阳理工大学学报,2013,32 (5):23-26.
[9]周福才,高克宁,曹光辉,等.基于混沌理论的身份认证机制及其安全性分析[J].小型微型计算机系统,2003,24 (12):2088 -2091.
[10]蒋华,阮玲玲,王鑫.基于SHA-256消息认证的四次握手协议研究[J].微电子学与计算机,2014,31(8):155-158.
[11] BEHROUZ A.Cryptography and Network Security by Forouzan[M] .McGraw Hill Highter Education, 2007: 291-293.
[12]刘嘉勇.应用密码学[M].北京:清华大学出版社,2008:154-155.
[13]韩秋君,丁岳伟.SaaS模式下新型认证方案的设计与分析[J].计算机工程,2011,37 (7):133-135.
[14]杨波,郑东,王育民.基于Rabin加密算法的密钥托管体制[J].西安电子科技大学学报,1999,26 (2):214-216.
[15] SYVERSON P F,VAN ORSCHOT P C.On unified some crypto-graphic protocol logics [A].IEEE Computer Society Press,1994:16-18.
[16] SYVERSON P F,VAN ORSCHOT P C.A unified cryptographicprotocollogics [R].NRL Publication 5540-227,Naval ResearchLah, 1996.
[17]陈丹伟,黄秀丽,孙国梓.基于sv0逻辑的云服务安全形式化分析[J].小型微型计算机系统,2010,31 (12):2439-2441.
[18]周鹏.基于sv0逻辑的网络安全协议形式化分析[D].贵阳:贵州大学,2011.
推荐访问: 口令 身份认证 机制 异构 方案