基于口令的认证方法及用于执行该方法的装置制造方法

文档序号:7773289阅读:183来源:国知局
基于口令的认证方法及用于执行该方法的装置制造方法
【专利摘要】本发明公开一种基于口令的认证方法及用于执行该方法的装置。根据本发明一个实施例的基于口令的认证方法包括如下步骤:在终端中,利用所述终端用户的ID以及与服务器交换的密钥生成因子而生成基于ID的密钥K;在所述终端中,利用将生成的所述密钥K作为对称密钥的对称密钥加密算法而对所述用户的口令进行加密,并将加密的所述口令发送给所述服务器,从而请求所述终端用户的认证;在所述终端中,从所述服务器接收针对上述认证请求的响应。
【专利说明】基于口令的认证方法及用于执行该方法的装置
【技术领域】
[0001]本发明涉及一种网络上的安全技术。
【背景技术】
[0002]基于口令的密钥交换协议(PAKE:Password Authenticated Key Exchange)是指参与通信的两个以上的主体共享基于其中的一个以上主体所掌握的口令而加密的用于通信的密钥的过程。PAKE可根据其具体实现方式而分为基于公开密钥证书的PAKE和基于非公开密钥证书的PAKE。
[0003]对于基于公开密钥证书的PAKE而言,存在的问题在于为了交换密钥而始终要有执行公开密钥认证的步骤,且在服务器的私钥被泄露时无法保障有关账户的前向安全性(forward secrecy)和后向安全性(backward security)。另外,至于为了解决这种基于公开密钥证书的问题而提出的基于非公开密钥证书的PAKE (相关规范:IEEE P1363.2以及IS0/IEC11770-4),则由于采用了将口令直接进行幂运算而存储的认证单元(verifier)构成方式,从而导致了现有的系统中数据迁移(migration)及参数(parameter)更新有困难的新问题。并且,由于采用这种方式时需要将口令与参数组(group parameter)直接结合,因此为了应对离线分析而需要相对较多的实时计算量,存在无法实现协议的消息流灵活交替的问题。

【发明内容】

[0004]本发明旨在解决如上所述的技术问题,本发明实施例的目的在于提供一种通过在现有技术中的基于口令的密钥交换协议中应用基于ID的加密技术而兼具基于公开密钥证书的PAKE以及基于非公开密钥证书的PAKE的所有优点的高效的认证及密钥交换协议。
[0005]根据本发明一个实施例的一种基于口令的认证方法,包括如下步骤:在终端中,利用所述终端用户的ID以及与服务器交换的密钥生成因子而生成基于ID的密钥K ;在所述终端中,利用将生成的所述密钥K作为对称密钥的对称密钥加密算法而对所述用户的口令进行加密,并将加密的所述口令发送给所述服务器,从而请求所述终端用户的认证;在所述终端中,从所述服务器接收针对上述认证请求的响应。
[0006]上述密钥生成步骤可包括如下步骤:在所述终端中,将通过终端侧随机数X计算的第一密钥要素X发送给服务器;在所述终端中,从所述服务器中接收第二密钥要素Y,其中,所述终端可利用所述终端侧随机数X、所述第一密钥要素X、所述第二密钥要素Y、以及所述ID而生成所述密钥K。
[0007]所述终端可利用所述第一密钥要素X、所述第二密钥要素Y、以及所述ID的哈希值I而生成共同哈希值e,并利用所述共同哈希值e、所述终端侧随机数X、所述第一密钥要素X、所述第二密钥要素Y、以及所述ID的哈希值I而生成所述密钥K。
[0008]可通过对包含所述共同哈希值e、所述终端侧随机数X、所述第一密钥要素X、所述第二密钥要素Y、以及所述ID的哈希值I的第一字符串进行哈希运算而生成所述密钥K。[0009]所述第一密钥要素X为可通过如下数学式进行计算:
[0010]x=gx
[0011]其中,当把有限群Zn={0,1,2,-,n-1}的最大循环子群的产生源表示为g时,g为
通过g = g2生成的循环子群G的产生源,而N为满足N=pq的整数,P和q为分别满足P = 3
(mod4)、q = 3 (mod4)的质数。
[0012]所述密钥K为可通过如下数学式进行计算:
[0013]K=Ii1 (X,(Y,I),(YIT)
[0014]其中,Ii1为第一随机哈希函数,I=H (ID), H为满足关系H:{0,1:T一>G的哈希函数。
[0015]所述方法还可以包括如下步骤:执行完将加密的所述口令发送给所述服务器的步骤之后,在所述终端中利用第二随机哈希函数h2而对包含所述共同哈希值e、所述终端侧随机数X、所述第一密钥要素X、所述第二密钥要素Y、以及所述ID的哈希值I的字符串进行哈希运算而生成会话密钥sk ;在所述终端中,利用第三随机哈希函数h3而对包含所述第一密钥要素X、所述第二密钥要素Y、所述ID的哈希值1、所述会话密钥sk、以及所述口令的第二字符串进行哈希运算而生成第一验证值;在所述终端中,将所述第一验证值发送给所述服务器。
[0016]所述会话密钥Sk为可以通过如下数学式进行计算:
[0017]sk=h2 (X,(Y,I),(YIT)
[0018]所述终端可将所述ID与所述第一密钥要素X —同发送给所述服务器,或者可将所述ID与所述第一验证值一同发送给所述服务器。
[0019]所述方法在执行完将所述第一验证值发送给所述服务器的步骤之后,还可以包括如下步骤:在所述终端中,从所述服务器接收第二验证值;在所述终端中,利用所述第一密钥要素X、所述第二密钥要素Y、所述ID的哈希值1、所述会话密钥sk、所述口令、以及第四随机哈希函数h4而验证所述第二验证值。
[0020]另外,根据本发明另一实施例的基于口令的认证方法,包括如下步骤:
[0021]在服务器中,利用终端用户的ID以及与所述终端交换的密钥生成因子而生成基于ID的密钥K ;在所述服务器中,从所述终端接收所述用户的被加密的口令;在所述服务器中,利用将生成的所述密钥K作为对称密钥的对称密钥解密算法而对加密的所述口令进行解密,并利用解密的所述口令而认证所述终端用户。
[0022]上述密钥生成步骤还可以包括如下步骤:在所述服务器中,从密钥分配装置接收对应于所述ID的私钥Sid ;在所述服务器中,从所述终端接收第一密钥要素X ;在所述服务器中,将通过服务器侧随机数I计算的第二密钥要素Y发送给所述终端,其中,所述服务器可利用所述第一密钥要素X、所述服务器侧随机数y、所述第二密钥要素Y、所述ID、以及所述私钥Sid而生成所述密钥K。
[0023]所述服务器可利用所述第一密钥要素X、所述第二密钥要素Y、以及所述ID的哈希值I而生成共同哈希值e,并利用所述共同哈希值e、所述第一密钥要素X、所述服务器侧随机数y、所述第二密钥要素Y、所述ID的哈希值1、以及所述私钥Sid而生成所述密钥K。
[0024]可通过将包含所述共同哈希值e、所述第一密钥要素X、所述服务器侧随机数y、所述第二密钥要素Y、所述ID的哈希值1、以及所述私钥Sid的第一字符串进行哈希运算而生成所述密钥K。
[0025]所述私钥Sid为可以通过如下数学式进行计算:
[0026]
【权利要求】
1.一种基于口令的认证方法,包括如下步骤: 在终端中,利用所述终端用户的ID以及与服务器交换的密钥生成因子而生成基于ID的密钥K ; 在所述终端中,利用将生成的所述密钥K作为对称密钥的对称密钥加密算法而对所述用户的口令进行加密,并将加密的所述口令发送给所述服务器,从而请求所述终端用户的认证; 在所述终端中,从所述服务器接收针对上述认证请求的响应。
2.如权利要求1所述的基于口令的认证方法,其中,上述密钥生成步骤包括如下步骤: 在所述终端中,将通过终端侧随机数X计算的第一密钥要素X发送给服务器; 在所述终端中,从所述服务器中接收第二密钥要素Y, 其中,所述终端利用所述终端侧随机数X、所述第一密钥要素X、所述第二密钥要素Y、以及所述ID而生成所述密钥K。
3.如权利要求1所述的基于口令的认证方法,其中,所述终端利用所述第一密钥要素X、所述第二密钥要素Y、以及所述ID的哈希值I而生成共同哈希值e,并利用所述共同哈希值e、所述终端侧随机数X、所述第一密钥要素X、所述第二密钥要素Y、以及所述ID的哈希值I而生成所述密钥K。
4.如权利要求3所述的基于口令的认证方法,其中,通过对包含所述共同哈希值e、所述终端侧随机数X、所述第一密钥要素X、所述第二密钥要素Y、以及所述ID的哈希值I的第一字符串进行哈希运算而生成所述密钥K。
5.如权利要求4所述的基于口令的认证方法,其中,所述第一密钥要素X为通过如下数学式进行计算:
X=gx 其中,当把有限群Zn= {O,1,2,…,N-1}的最大循环子群的产生源表示为g时,g为通过g = α'生成的循环子群G的产生源,而N为满足N=pq的整数,P和q为分别满足p ^ 3(mod4)、q = 3 (mod4)的质数。
6.如权利要求5所述的基于口令的认证方法,其中,所述密钥K为通过如下数学式进行计算:
K=Ii1 (X,(Y,I),(Yir) 其中,Ii1为第一随机哈希函数,I=H (ID), H为满足关系H: {O,I}*—>G的哈希函数。
7.如权利要求6所述的基于口令的认证方法,其中,还包括如下步骤: 执行完将加密的所述口令发送给所述服务器的步骤之后,在所述终端中利用第二随机哈希函数匕而对包含所述共同哈希值e、所述终端侧随机数X、所述第一密钥要素X、所述第二密钥要素Y、以及所述ID的哈希值I的字符串进行哈希运算而生成会话密钥sk ; 在所述终端中,利用第三随机哈希函数h3而对包含所述第一密钥要素X、所述第二密钥要素Y、所述ID的哈希值1、所述会话密钥sk、以及所述口令的第二字符串进行哈希运算而生成第一验证值; 在所述终端中,将所述第一验证值发送给所述服务器。
8.如权利要求7所述的基于口令的认证方法,其中,所述会话密钥sk是通过如下数学式进行计算:
sk=h2 (X,(Y,I),(YIe)x)。
9.如权利要求7所述的基于口令的认证方法,其中,所述终端将所述ID与所述第一密钥要素X —同发送给所述服务器,或者将所述ID与所述第一验证值一同发送给所述服务器。
10.如权利要求7所述的基于口令的认证方法,其中,在执行完将所述第一验证值发送给所述服务器的步骤之后,还包括如下步骤: 在所述终端中,从所述服务器接收第二验证值; 在所述终端中,利用所述第一密钥要素X、所述第二密钥要素Y、所述ID的哈希值1、所述会话密钥sk、所述口令、以及第四随机哈希函数h4而验证所述第二验证值。
11.一种基于口令的认证方法,包括如下步骤: 在服务器中,利用终端用户的ID以及与所述终端交换的密钥生成因子而生成基于ID的密钥K ; 在所述服务器中,从所述终端接收所述用户的被加密的口令; 在所述服务器中,利用将生成的所述密钥K作为对称密钥的对称密钥解密算法而对加密的所述口令进行解密,并利用解密的所述口令而认证所述终端用户。`
12.如权利要求11所述的基于口令的认证方法,其中,上述密钥生成步骤还包括如下步骤: 在所述服务器中,从密钥分配装置接收对应于所述ID的私钥Sid ; 在所述服务器中,从所述终端接收第一密钥要素X ; 在所述服务器中,将通过服务器侧随机数I计算的第二密钥要素Y发送给所述终端,其中,所述服务器利用所述第一密钥要素X、所述服务器侧随机数y、所述第二密钥要素Y、所述ID、以及所述私钥Sid而生成所述密钥K。
13.如权利要求12所述的基于口令的认证方法,其中,所述服务器利用所述第一密钥要素X、所述第二密钥要素Y、以及所述ID的哈希值I而生成共同哈希值e,并利用所述共同哈希值e、所述第一密钥要素X、所述服务器侧随机数y、所述第二密钥要素Y、所述ID的哈希值1、以及所述私钥Sid而生成所述密钥K。
14.如权利要求13所述的基于口令的认证方法,其中,通过将包含所述共同哈希值e、所述第一密钥要素X、所述服务器侧随机数y、所述第二密钥要素Y、所述ID的哈希值1、以及所述私钥Sid的第一字符串进行哈希运算而生成所述密钥K。
15.如权利要求14所述的基于口令的认证方法,其中,所述私钥Sid为通过如下数学式进行计算: 其中,当把有限群ZN={0,1,2,…,N-1}的最大循环子群的产生源表示为g时,g为通过i = ^生成的循环子群G的产生源,而N为满足N=pq的整数,P和q为分别满足 O OP ^ 3 (mod4), q ^ 3 (mod4)的质数,IDi为构成所述ID的第i个字符,α为所述ID的长度,
16.如权利要求15所述的基于口令的认证方法,其中,所述第二密钥要素为通过如下数学式进行计算:
Y=gy。
17.如权利要求16所述的基于口令的认证方法,其中,所述密钥K为通过如下数学式进行计算:
K=Ii1 (X,(Y,I),Xy+SIDXe) 其中,Ii1为第一随机哈希函数,I=H (ID), H为满足关系H: {O,I}*—>G的哈希函数。
18.如权利要求17所述的基于口令的认证方法,其中,执行完上述终端认证步骤之后还包括如下步骤: 在所述服务器中,从所述终端接收第一验证值; 在所述服务器中,利用第二随机哈希函数h2而对包含所述共同哈希值e、所述第一密钥要素X、所述服务器侧随机数y、所述第二密钥要素Y、所述ID的哈希值1、以及所述私钥Sid的字符串进行哈希运算而生成会话密钥sk ; 在所述服务器中,利用所述第一密钥要素X、所述第二密钥要素Y、所述ID的哈希值1、所述会话密钥sk、解密的所述口令、以及第三随机哈希函数h3而验证所述第一验证值。
19.如权利要求18所述的基于口令的认证方法,其中,所述会话密钥为通过如下数学式进行计算:
sk=h2 (X,(Y,I),Xy+SIDXe)。
20.如权利要求18所述的基于口令的认证方法,其中,所述服务器将所述ID与所述第一密钥要素X —并接收,或者将所述ID与所述第一验证值一并接收。
21.如权利要求18所述的基于口令的认证方法,其中,执行完上述第一验证值验证步骤之后,还包括如下步骤: 在所述服务器中,利用第四随机哈希函数h4而对包含所述第一密钥要素X、所述第二密钥要素Y、所述ID的哈希值1、所述会话密钥sk、以及所述口令的第二字符串进行哈希运算而生成第二验证值; 在所述服务器中,将所述第二验证值发送给所述终端。
22.如权利要求11所述的基于口令的认证方法,其中,上述终端认证步骤还包括如下步骤: 在所述服务器中,利用硬件安全模块生成解密的所述口令的消息认证码值; 判断生成的所述消息认证码值和预先存储的值是否一致。
23.一种用于执行基于口令的认证方法的装置,包括: 一个以上的处理器; 存储器; 一个以上的程序, 其中,所述一个以上的程序被存储于所述存储器,并通过所述一个以上的处理器而得到执行,而所述程序包括用于执行如下步骤的命令:利用终端用户的ID以及与服务器交换的密钥生成因子而生成基于ID的密钥K ; 利用将生成的所述密钥K作为对称密钥的对称密钥加密算法而对所述用户的口令进行加密,并将被加密的所述口令发送给所述服务器,从而请求所述终端用户的认证; 从所述服务器接收针对上述认证请求的响应。
24.一种用于执行基于口令的认证方法的装置,包括: 一个以上的处理器; 存储器; 一个以上的程序, 其中,所述一个以上的程序被存储于所述存储器,并通过所述一个以上的处理器而得到执行,而所述程序包括用于执行如下步骤的命令: 利用终端用户的ID以及与所述终端交换的密钥生成因子而生成基于ID的密钥K ; 从所述终端接收所述用户的被加密的口令; 利用将生成的所述密钥K作为对称密钥的对称密钥解密算法而对被加密的所述口令进行解密,并利用解密的所述口令`而认证所述终端用户。
【文档编号】H04L9/32GK103795534SQ201310473362
【公开日】2014年5月14日 申请日期:2013年10月11日 优先权日:2012年10月31日
【发明者】尹爻珍, 权珆经 申请人:三星Sds株式会社, 世宗大学校产学协力团
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1