1.一种用于智能设备通信的多因素认证密钥协商方法,其特征在于:该方法包括:初始化阶段:生成系统在注册和认证阶段所需要用到的系统参数;
注册阶段:客户端与注册中心进行交互,客户端生成相关参数并存储到相应移动设备中并发送给注册中心,注册中心在接收到客户端的注册请求后,运用模糊提取器、公钥加密生成相应的用户标识记录并将其存储到后端数据库中;
登录认证阶段:
用户已注册的移动设备输入相应参数信息并向服务器发送身份认证请求;
服务器在接收到用户的登录请求后,首先通过注册阶段生成的用户标识来验证用户的合法身份,其次,服务器随机生成随机数并计算相关安全参数,生成当前会话标识并将其作为认证响应反馈给客户端;
客户端在接收到服务器的认证响应后,首先生成随机数,基于离散对数问题的计算进而生成会话密钥,利用公钥加密算法计算一系列后续用于认证的参数并发送给服务器;
服务器在收到客户端的认证请求后,同样基于离散对数问题的计算并生成会话密钥,利用公钥加密算法生成认证参数反馈给客户端;
最终客户端与服务器两边各自拥有一组认证参数,两边同时输入各自的认证参数,利用消息认证码,实现双方认证与密钥协商。
2.根据权利要求1所述的用于智能设备通信的多因素认证密钥协商方法,其特征在于:初始化阶段具体包括:
首先给定安全参数κ,服务器选择一个素数阶为p,生成元为H的循环群 其次运行公钥生成算法PKE.KeyGen获取(PK,private key),其中private key为其私钥,PK为其公钥;
最终系统的公共参数
本阶段输出:
3.根据权利要求2所述的用于智能设备通信的多因素认证密钥协商方法,其特征在于:注册阶段客户端与注册中心交互如下:首先,客户端随机选择一个密码∈,随后生成一个生物特征ω并将其发送给注册中心;
注册中心利用模糊提取器中的生物特征提取算法Gen(ω)得到一个对应于用户生物特征的随机字符串θ和一个公开辅助字符串 随即删除生物特征采样ω;
(∈+θ+μ)
客户端从群 中选择一个元素μ,注册中心计算E=H 并删除θ,运行公钥加密算法PKE.Enc(PK,(E,otherinfo))进行加密,otherinfo表示输入的用户其他信息,Edata表示加密结果;
服务器随机生成一个用户标识userid用于表示客户端身份,并将(userid,Edata)作为一条用户记录存储到后端数据库中;客户端利用通信设备,下载并保存生物特征恢复算法Rep并安全存储参数
4.根据权利要求3所述的用于智能设备通信的多因素认证密钥协商方法,其特征在于:登录认证阶段具体包括:
首先具有用户标识userid的客户端使用已注册的设备向服务器发送身份认证请求;服务器在收到认证请求后,此时客户端与服务器各自拥有(∈,θ,μ);
服务器利用用户标识userid作为索引从数据库中搜索加密结果Edata,利用公钥解密(∈+θ+μ)
算法PKE.Enc(private key,Edata)进行解密得到E,E=H ;并从群 随机选择4个数κ
(α1,α2,α3,α4)以及选择一个由安全参数κ相关的随机数η1∈{0,1} ,开始计算生成用于表示当前会话的会话标识sessionid;将challenge={A1,A2,A3,A4,η1,sessionid}发送给客户端,challenge表示服务器对客户端的认证挑战;
客户端在接受到challenge后,从群 随机选择两个元素α′3,α′4并生成一个随机数η2κ
∈{0,1},计算认证参数 计算会话密钥:以及参数Z1=A1||A2||A3||A4||η1||sessionid,Z1表示交互消息;随后客户端运行消息认证码中加密消息和密钥的函数MAC.MacSK(Z1),得到一个验证标签Γ1;将客户端对服务器的认证应答response={A′3,A′4,η2,sessionid}和验证标签Γ1发送给服务器;
服务器在接收到客户端发来的认证应答response后,计算会话密钥:以及参数Z2=A′3||A′4||η2||sessionid,Z2表示交互消息;随后服务器运行消息认证码中加密消息和密钥的函数MAC.MacSK′(Z2),得到一个验证标签Γ2;将验证标签Γ2发送给客户端;
此时,客户端与服务器两者分别拥有一组参数{Γ1,Z1}和{Γ2,Z2};
最终服务器运行消息认证码中验证消息和密钥的函数MAC.VerifySK‘(Γ1,Z1),若输出
1,则通过认证且会话密钥正确有效,反之输出0,则拒绝认证且会话密钥错误无效;
同样,客户端运行消息认证码中验证消息和密钥的函数MAC.VerifySK(Γ2,Z2),若输出
1,则通过认证且会话密钥正确有效,反之输出0,则拒绝认证且会话密钥错误无效。