基于认证信息的密钥交换系统及方法

文档序号:9931095阅读:486来源:国知局
基于认证信息的密钥交换系统及方法
【技术领域】
[0001] 本发明涉及一种网络上的安全技术。
【背景技术】
[0002] 基于认证信息的密钥交换协议(口令认证密钥交换(PAKE : Pas sword Authenticated Key Exchange))是指参与通信的两个以上的主体共享用于如下的通信的 密钥的过程,即该通信基于其中一个以上的主体所知道的密码(Password)而被加密。PAKE 可根据其实现方式而分为基于公钥证书的PAKE及基于非公钥证书的PAKE。
[0003] 对于基于公钥证书的PAKE而言,为了交换密钥常常需要执行公钥认证的步骤,对 于基于非公钥证书的PAKE(相关联的标准:IEEE P1363. 2及IS0/IEC 11770-4)而言,因通 过直接指数乘密码来存储的认证者(verifier)构成方式而发生了难以更新现有系统的迁 移(migration)及参数(parameter)的新问题。此外,由于这种方式需要将密码与成组参 数(group parameter)直接结合,因此为了应对针对此的离线分析需要相对多的实时计算 量并且无法灵活地交换协议的消息流。

【发明内容】

[0004] 本发明的实施例旨在提供一种将基于ID(身份标识号码)的加密技术应用于现有 的基于认证信息的密钥交换协议而同时具有基于公钥证书的PAKE的优点及基于非公钥证 书的PAKE的优点的高效的认证及密钥交换协议。
[0005] 此外,本发明的实施例旨在最小化认证及密钥交换所需的通信次数。
[0006] 根据示例性实施例,提供一种基于用户认证信息的密钥交换系统,包括:终端,利 用终端侧随机数及服务器ID来生成与所述终端用户的认证信息对应的基于ID的密文;月艮 务器,利用与所述服务器ID对应的服务器侧私钥来对从所述终端接收的所述基于ID的密 文进行解密以恢复所述认证信息,并利用恢复的所述认证信息来认证所述终端,并且生成 与认证的所述终端对应的服务器侧会话密钥。
[0007] 所述终端可由所述终端侧随机数计算第一会话密钥元素,并由所述服务器ID及 所述终端侧随机数生成终端侧加密化元素,并且结合所述认证信息和所述终端侧加密化元 素而生成加密化字符串。
[0008] 所述终端侧加密化元素可通过如下的数学式来计算。
[0009] D = (H(IDS))X
[0010] (其中,D为终端侧加密化元素,IDS为服务器ID,x为终端侧随机数,H为单向哈 希值)
[0011] 所述加密化字符串可通过所述认证信息及所述终端侧加密化元素的异或运算 (X0R)来计算。
[0012] 所述服务器可从所述终端接收包含所述第一会话密钥元素及所述加密化字符串 的基于ID的密文,并通过所述服务器侧私钥及所述第一会话密钥元素来计算服务器侧加 密化元素,并且利用所述服务器侧加密化元素而从所述加密化字符串恢复所述认证信息。
[0013] 所述服务器侧加密化元素可通过如下的数学式来计算。
[0014] D' = XKs
[0015] (其中,D'为服务器侧加密化元素,X为第一会话密钥元素,Ks为服务器侧私钥)
[0016] 所述认证信息可通过接收到的所述加密化字符串及所述服务器侧加密化元素之 间的异或运算(X0R)来恢复。
[0017] 所述服务器可根据恢复的所述认证信息和已存储于所述服务器的所述终端的认 证信息的相同与否来认证所述终端。
[0018] 所述服务器在所述终端得到认证时,可由通过服务器侧随机数计算第二会话密钥 元素,并且由所述服务器侧随机数及所述第一会话密钥元素来生成服务器侧第三会话密钥 元素。
[0019] 所述服务器侧第三会话密钥元素可通过将所述第一会话密钥元素作为底数,并将 所述服务器侧随机数作为指数的乘方来计算。
[0020] 所述终端可从所述服务器接收所述第二会话密钥元素,并由所述第二会话密钥元 素生成终端侧第三会话密钥元素及终端侧会话密钥。
[0021] 所述终端侧第三会话密钥元素可通过将所述第二会话密钥元素作为底数并将所 述终端侧随机数作为指数的乘方来计算。
[0022] 所述终端侧会话密钥(sk)可以是包含所述终端ID、所述服务器ID、所述加密化字 符串、所述第一会话密钥元素、所述第二会话密钥元素、所述终端侧加密化元素及所述终端 侧第三会话密钥元素中的一个以上的字符串的哈希值。
[0023] 所述服务器侧会话密钥可以是包含所述终端ID、所述服务器ID、所述加密化字符 串、所述第一会话密钥元素、所述第二会话密钥元素、所述服务器侧加密化元素及所述服务 器侧第三会话密钥元素中的一个以上的字符串的哈希值。
[0024] 根据另一个示例性实施例,提供一种基于用户认证信息的密钥交换方法,包括如 下步骤:在终端中,利用终端侧随机数及服务器ID来生成与所述终端用户的认证信息对应 的基于ID的密文;在服务器中,通过与所述服务器ID对应的服务器侧私钥来对从所述终端 接收的所述基于ID的密文进行解密以恢复所述认证信息;在所述服务器中,利用恢复的所 述认证信息来认证所述终端;在所述终端得到认证时,生成与认证的所述终端对应的服务 器侧会话密钥。
[0025] 生成所述基于ID的密文的步骤还可包括如下步骤:由所述终端侧随机数计算第 一会话密钥元素;由所述服务器ID及所述终端侧随机数生成终端侧加密化元素;结合所述 认证信息和所述终端侧加密化元素而生成加密化字符串。
[0026] 所述终端侧加密化元素可通过如下的数学式来计算。
[0027] D = (H(IDS))X
[0028] (其中,D为终端侧加密化元素,IDS为服务器ID,x为终端侧随机数,H为单向哈 希值)
[0029] 所述加密化字符串可通过所述认证信息及所述终端侧加密化元素的异或运算 (X0R)来计算。
[0030] 恢复所述认证信息的步骤还可包括如下步骤:从所述终端接收包含所述第一会话 密钥元素及所述加密化字符串的基于ID的密文;通过所述服务器侧私钥及所述第一会话 密钥元素来计算服务器侧加密化元素;利用所述服务器侧加密化元素而从所述加密化字符 串恢复所述认证信息。
[0031] 所述服务器侧加密化元素可通过如下的数学式来计算。
[0032] D' = XKs
[0033] (其中,D'为服务器侧加密化元素,X为第一会话密钥元素,Ks为服务器侧私钥)
[0034] 从所述加密化字符串恢复所述认证信息的步骤可被构成为:通过接收到的所述加 密化字符串及所述服务器侧加密化元素之间的异或运算(X0R)来恢复所述认证信息。
[0035] 认证所述终端的步骤可被构成为:根据恢复的所述认证信息和已存储于所述服务 器的所述终端的认证信息的相同与否来认证所述终端。
[0036] 生成所述服务器侧会话密钥的步骤还可包括如下步骤:由服务器侧随机数计算所 述第二会话密钥元素;由所述服务器侧随机数及所述第一会话密钥元素生成服务器侧第三 会话密钥元素。
[0037] 所述服务器侧第三会话密钥元素可通过将所述第一会话密钥元素作为底数,并将 所述服务器侧随机数作为指数的乘方来计算。
[0038] 所述终端可从所述服务器接收所述第二会话密钥元素,并由所述第二会话密钥元 素生成终端侧第三会话密钥元素及终端侧会话密钥。
[0039] 所述终端侧第三会话密钥元素可通过将所述第二会话密钥元素作为底数,并将所 述终端侧随机数作为指数的乘方来计算。
[0040] 所述终端侧会话密钥(sk)可以是包含所述终端ID、所述服务器ID、所述加密化字 符串、所述第一会话密钥元素、所述第二会话密钥元素、所述终端侧加密化元素及所述终端 侧第三会话密钥元素中的一个以上的字符串的哈希值。
[0041] 所述服务器侧会话密钥(sk')可以是包含所述终端ID、所述服务器ID、所述加密 化字符串、所述第一会话密钥元素、所述第二会话密钥元素、所述服务器侧加密化元素及所 述服务器侧第三会话密钥元素中的一个以上的字符串的哈希值。
[0042] 根据另一个示例性实施例,提供一种计算机程序,该计算机程序为了与硬件结合 而执行如下的步骤而存储于介质:利用终端侧随机数及服务器ID来生成与所述终端用户 的认证信息对应的基于ID的密文;利用与所述服务器ID对应的服务器侧私钥来对从所述 终端接收的所述基于ID的密文进行解密以恢复所述认证信息;利用恢复的所述认证信息 来认证所述终端;在所述终端得到认证时,生成与认证的所述终端对应的服务器侧会话密 钥。
[0043] 根据本发明的实施例,可利用用户的认证信息来有效且安全地认证终端,尤其是 在初期由服务器执行针对终端的认证,从而可有效地应对分布式
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1