一种基于公钥密码系统的认证协议设计及其实现方法与流程

文档序号:16433208发布日期:2018-12-28 20:17阅读:1219来源:国知局
一种基于公钥密码系统的认证协议设计及其实现方法与流程

本发明公开了一种基于公钥密码系统的认证协议设计及其实现方法,具体为信息安全技术领域。

背景技术

公钥密码技术是一种广泛应用的对发送给指定接收者的文件、消息等信息进行加密的技术。采用这种密码技术的系统需要为每个用户生成一对数学上的相关联的公钥和私钥,公钥通过某种方式公开发布,使得任何发送者都可获得接收者的公钥,私钥则有接收者私密保存。

公钥密码系统应用中一个重要的安全需求就是确保使用的公钥确切的属于指定的接收者,即需要一种将用户标识(id)和其公钥绑定在一起的安全机制。传统公钥密码体制中,例如采用rsa、dsa、ecc等算法的系统,公钥的产生和用户的标识没有关系,需要由第三方认证中心(ca)发放证书,即对用户的公钥和标识进行签名,将二者绑定。公钥kpi能够为大量的用户提供身份认证和授权服务器,适合于作为因特网上的基本身份认证协议的基础设施。公钥方式的身份认证协议安全度高,但是其计算开销大、标准不统一,用户标识私钥丢失后,传统公钥体制中用户的标识和公钥绑定在一起,如果用户私钥丢失,用户可以重新生成一对公钥和私钥,而在标识密码体制中,用户的标识就是公钥,因此无法被注销。为此,我们提出了一种基于公钥密码系统的认证协议设计及其实现方法投入使用,以解决上述问题。



技术实现要素:

本发明的目的在于提供一种基于公钥密码系统的认证协议设计及其实现方法,以解决上述背景技术中提出的问题。

为实现上述目的,本发明提供如下技术方案:一种基于公钥密码系统的认证协议设计及其实现方法,包括客户端、加密模块、用户程序、身份认证服务器、管理服务器、应用服务器、应用接口、系统数据库、数据库管理模块;

所述客户端包括支持ieee80.21x协议的网络设备和radius服务器,用于对上网用户的访问进行认证控制;所述应用接口提供所述客户端和应用服务器的应用开发接口,其包含创建或读取身份认证请求例程,创建安全或秘密消息的例程;所述加密模块用于将用户标识id和其公钥绑定,采用密钥加密块算法des进行数据加密;所述系统数据库用于记录每个用户的敏感信息、共享密钥及其失效期数据,并通过所述数据库管理模块进行信息安全维护;所述管理服务器提供对所述应用服务器进行读写的网络操作接口,其客户方可运行在网络上的任何机器上;所述身份认证服务器为请求者产生会话密钥,并定期从所述用户程序中获取更新的密钥。

优选的,所述身份认证服务器采用拨入计费,在拨号服务器和集中存放认证信息的radius服务器之间传输认证、授权和配置信息的协议。

优选的,所述应用接口内置受控端口和非受控端口,其中所述非受控端口始终处于双向连通状态,用于传递eap协议包;所述受控端口可配置为双向受控、输人受控两种方式,以适应不同的应用环境。

优选的,所述客户端还包括web服务器,用于注册用户通过web方式对上网记录进行查询,系统管理员通过所述web服务器对注册用户的上网情况进行统计和管理。

优选的,该实现方法的具体步骤如下:

s1:向认证者pae发送认证请求,输入安全参数k,采用kgc运行算法对系统进行初始化;

s2:接收认证者pae的eap请求,并进行应答,kgc在证实用户的身份后,输入系统参数params、主密钥master-key和一个用户的身份识别符ida,ida∈{0,1}*,计算qa=h1(ida)∈g1并返回用户的部分私钥da=(s+qa)-1p∈g1,然后将da通过安全信道传送给用户;

s3:输入用户的秘密值xa、公钥ra和部分私钥da,计算和sa=(xa+ya)-1da∈g1,并返回用户的私钥ska=sa;

s4:输入消息明文m∈m、签名者身份ida、私钥sa及系统参数params,对系统进行无证书签名;

s5:对输入的信息进行验证,若通过,则完成认证协议,若不通过,则返回步骤s2进行重新验证。

优选的,kgc算法为:输出<g1,g2,e>,其中g1和g2是两个q阶循环群,e:g1×g2→g2是一个双线性映射,选择一个随机数和g1的一个生成元p∈g1,计算ppub=sp和g=e(p,p),选择三个密码学哈希函数并公开系统参数params=<g1,g2,e,q,g,p,ppub,h1,h2,h3>,消息空间为m={0,1}*,系统主密钥master-key为

优选的,在进行无证书签名时的算法运行为选择一个随机数计算u=gr=e(p,p)r,设计算v=(r+h)sa,返回σ=(u,v)作为签名者a对m的签名。

优选的,在进行验证时,计算qa=(s+qa)p=ppub+h1(ida)p,ya=h2(ra)及h=h3(m,u),检查e(v,ra+yaqa)=ugh是否成立,若等式成立,验证者输出1,否则输出0。

与现有技术相比,本发明的有益效果是:本发明采用无证书签名体制,签名验证者在验证签名时无需像在传统公钥密码系统下那样验证签名者公钥的有效性,没有基于身份密码系统中的密钥托管问题,采用高层消息格式传递公钥认证的相关消息,无需了解底层细节,其认证模式安全性高、可靠性好,同时具有良好的系统拓展性能。

附图说明

图1为本发明系统原理框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,,都属于本发明保护的范围。

请参阅图1,本发明提供一种技术方案:一种基于公钥密码系统的认证协议设计,包括客户端、加密模块、用户程序、身份认证服务器、管理服务器、应用服务器、应用接口、系统数据库、数据库管理模块;

所述客户端包括支持ieee80.21x协议的网络设备和radius服务器,用于对上网用户的访问进行认证控制;所述应用接口提供所述客户端和应用服务器的应用开发接口,其包含创建或读取身份认证请求例程,创建安全或秘密消息的例程;所述加密模块用于将用户标识id和其公钥绑定,采用密钥加密块算法des进行数据加密;所述系统数据库用于记录每个用户的敏感信息、共享密钥及其失效期数据,并通过所述数据库管理模块进行信息安全维护;所述管理服务器提供对所述应用服务器进行读写的网络操作接口,其客户方可运行在网络上的任何机器上;所述身份认证服务器为请求者产生会话密钥,并定期从所述用户程序中获取更新的密钥。

其中,所述身份认证服务器采用拨入计费,在拨号服务器和集中存放认证信息的radius服务器之间传输认证、授权和配置信息的协议,所述应用接口内置受控端口和非受控端口,其中所述非受控端口始终处于双向连通状态,用于传递eap协议包;所述受控端口可配置为双向受控、输人受控两种方式,以适应不同的应用环境,所述客户端还包括web服务器,用于注册用户通过web方式对上网记录进行查询,系统管理员通过所述web服务器对注册用户的上网情况进行统计和管理。

本发明还提供了一种基于公钥密码系统的认证协议设计的实现方法,具体步骤如下:

s1:向认证者pae发送认证请求,输入安全参数k,采用kgc运行算法对系统进行初始化,kgc算法为:输出<g1,g2,e>,其中g1和g2是两个q阶循环群,e:g1×g2→g2是一个双线性映射,选择一个随机数和g1的一个生成元p∈g1,计算ppub=sp和g=e(p,p),选择三个密码学哈希函数并公开系统参数params=<g1,g2,e,q,g,p,ppub,h1,h2,h3>,消息空间为m={0,1}*,系统主密钥master-key为

s2:接收认证者pae的eap请求,并进行应答,kgc在证实用户的身份后,输入系统参数params、主密钥master-key和一个用户的身份识别符ida,ida∈{0,1}*,计算qa=h1(ida)∈g1并返回用户的部分私钥da=(s+qa)-1p∈g1,然后将da通过安全信道传送给用户;

s3:输入用户的秘密值xa、公钥ra和部分私钥da,计算和sa=(xa+ya)-1da∈g1,并返回用户的私钥ska=sa;

s4:输入消息明文m∈m、签名者身份ida、私钥sa及系统参数params,对系统进行无证书签名,在进行无证书签名时的算法运行为选择一个随机数计算u=gr=e(p,p)r,设计算v=(r+h)sa,返回σ=(u,v)作为签名者a对m的签名;

s5:对输入的信息进行验证,若通过,则完成认证协议,若不通过,则返回步骤s2进行重新验证,在进行验证时,计算qa=(s+qa)p=ppub+h1(ida)p,ya=h2(ra)及h=h3(m,u),检查e(v,ra+yaqa)=ugh是否成立,若等式成立,验证者输出1,否则输出0。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1