一种认证系统及其工作方法

文档序号:10492184阅读:469来源:国知局
一种认证系统及其工作方法
【专利摘要】本发明公开一种认证系统及其工作方法,属于信息安全领域,该方法包括:当服务器接收到访问请求时生成第一挑战值将其发送给客户端;客户端使用预设哈希算法对第一挑战值进行哈希计算生成挑战哈希值;当身份认证模块判断接收到的识别码与内部保存的配对码匹配时根据预设签名算法使用与匹配码对应的私钥对挑战哈希值进行计算得到签名值,客户端根据签名值生成验签请求并将其发送至服务器;服务器对验签请求进行验证,如验证成功则允许用户访问所请求的资源,如验证失败则不允许用户访问所请求的资源。采用本发明的技术方案,身份认证模块需要完成本地认证才能继续进行通讯,可以防止数据传输过程中数据泄露的问题,提高了通讯安全性。
【专利说明】
一种认证系统及其工作方法
技术领域
[0001 ]本发明涉及信息安全领域,尤其涉及一种认证系统及其工作方法。
【背景技术】
[0002]在现有技术中,认证设备(包括指纹认证设备、声纹认证设备、脸型认证设备、位置认证设备、虹膜认证设备、手势认证设备、掌纹认证设备等)与服务器只有通过客户端才能够实现数据交互,首先传输过程中可能出现数据泄露的问题,安全性比较低。

【发明内容】

[0003]为解决现有技术中出现的问题,本发明提供了一种认证系统及其工作方法。
[0004]本发明实施例提供一种认证系统的工作方法,所述认证系统包括服务器、客户端和独立的身份认证模块,所述方法包括:
[0005]步骤S1:当服务器接收到所述客户端发送的访问请求时生成第一挑战值并保存,并将所述第一挑战值发送给所述客户端;
[0006]步骤S2:所述客户端使用预设哈希算法对所述第一挑战值进行哈希计算,生成挑战哈希值并保存;
[0007]步骤S3:所述客户端启动所述身份认证模块,所述身份认证模块等待并接收用户输入的识别码;
[0008]步骤S4:所述身份认证模块判断接收到的识别码与内部保存的配对码是否匹配,如果是,则执行步骤S5,否则提示用户重新输入识别码,执行步骤S4;
[0009]步骤S5:所述身份认证模块根据预设签名算法使用与所述配对码对应的私钥对所述客户端保存的所述挑战哈希值进行计算得到签名值并将其发送给所述客户端,所述客户端根据所述签名值和所述挑战哈希值生成验签请求并将所述验签请求发送至所述服务器;
[0010]步骤S6:所述服务器对接收到的所述验签请求进行验证,并判断是否验证成功,如果是,则允许用户访问所请求的资源,否则不允许用户访问所请求的资源。
[0011]其中,所述步骤S6之前还包括:所述服务器根据用户信息检索对应的公钥,若检索到公钥,则执行步骤S6,否则服务器向客户端发送错误提示,结束;
[0012]步骤S6包括:所述服务器用检索到的公钥对所述验签请求中的签名值进行解密,用预设哈希算法对保存的第一挑战值进行哈希计算,判断计算得到的挑战哈希值和解密结果是否一致,是则允许用户访问所请求的资源,否则不允许用户访问所请求的资源。
[0013]其中,所述步骤SI中生成挑战值之前还包括:所述服务器保存所述访问请求中的用户信息,并根据所述用户信息判断所述访问请求是否合法,是则生成挑战值,否则向所述客户端发送错误提示。
[0014]其中,所述根据所述用户信息判断所述访问请求是否合法包括:所述服务器判断所述用户信息与内部保存的用户信息是否相同,是则所述访问请求合法,否则所述访问请求不合法。
[0015]其中,所述步骤S4与步骤S5之间包括:所述客户端生成第二挑战值并保存;
[0016]所述步骤S5具体为:所述身份认证模块根据预设签名算法使用与所述匹配码对应的私钥对所述第二挑战值和所述哈希挑战值进行计算得到签名值,将所述签名值发送给所述客户端,所述客户端根据所述第二挑战值、所述哈希挑战值和所述签名值生成验签请求将其发送给所述服务器。
[0017]其中,所述步骤S6之前还包括:所述服务器根据用户信息检索对应的公钥,若检索到公钥,则执行步骤S6,否则服务器向客户端发送错误提示,结束;
[0018]所述步骤S6包括:
[0019]步骤S6-1:所述服务器使用公钥解密验签请求,将解密得到的第二挑战值、挑战哈希值分别与所述验签请求中发来的第二挑战值、挑战哈希值进行比对,若均一致则执行步骤S6-2,否则不允许用户访问所请求的资源;
[0020]步骤S6-2:所述服务器使用预设哈希算法对保存的所述第一挑战值进行计算,判断计算得到的挑战哈希值与所述验签请求中的挑战哈希值是否一致,是则允许用户访问所请求的资源,否则不允许用户访问所请求的资源。
[0021]其中,所述步骤SI包括:所述服务器根据所述访问请求中的用户信息检索相应的密钥标识是否存在,若存在则生成第一挑战值,并将所述第一挑战值和密钥标识发送给所述客户端,否则向所述客户端发送错误提示;
[0022]所述步骤S6之前还包括:所述服务器根据用户信息和所述密钥标识检索对应的公钥,若检索到公钥,则执行步骤S6,否则所述服务器向所述客户端发送错误提示,结束。
[0023]其中,所述步骤S5之前包括:所述客户端将所述密钥标识发送给所述身份认证模块,所述身份认证模块根据接收到的所述密钥标识检索对应的私钥是否存在,是则执行步骤S5,否则提示错误,结束;所述配对码、所述密钥标识和所述私钥、所述公钥一一对应;
[0024]所述步骤S5具体为:所述身份认证模块生成第二挑战值,根据预设签名算法使用与所述检索到的私钥对所述挑战哈希值和所述第二挑战值进行计算得到签名值,将所述第二挑战值和所述签名值发送给所述客户端,所述客户端根据所述签名值、所述第二挑战值和所述挑战哈希值生成验签请求并将所述验签请求发送至所述服务器;
[0025]所述配对码、所述密钥标识和所述私钥、所述公钥一一对应。
[0026]其中,所述步骤SI包括:所述服务器根据所述访问请求中的用户信息检索相应的密钥标识和认证方式标识是否存在,若存在则生成第一挑战值,并将所述第一挑战值、密钥标识和认证方式标识发送给所述客户端,否则向所述客户端发送错误提示。
[0027]其中,所述认证系统还包括认证设备,所述步骤S3-S5替换为:
[0028]步骤Al:所述客户端将所述挑战哈希值、密钥标识和认证方式标识发送给所述认证设备;
[0029]步骤A2:所述认证设备根据所述认证方式标识启动相应的身份认证模块,等待并接收用户通过所述身份认证模块输入的识别码,执行步骤A3;
[0030]步骤A3:所述认证设备判断接收到的识别码与内部保存的配对码是否匹配,若匹配则执行步骤A4,否则提示用户重新输入识别码,返回步骤A3;所述配对码、所述密钥标识和所述私钥、所述公钥一一对应;
[0031]步骤A4:所述认证设备根据接收到的所述密钥标识检索相应的私钥是否存在,若存在则执行步骤A5,否则向所述客户端发送错误提示;
[0032]步骤A5:所述认证设备生成第二挑战值,并根据预设签名算法使用检索到的私钥对所述第二挑战值和接收到的所述挑战哈希值进行签名,得到签名值,并将所述签名值和所述第二挑战值发送给所述客户端;
[0033]步骤A6:所述客户端根据所述第二挑战值、所述挑战哈希值和所述签名值生成验签请求;
[0034]步骤A7:所述客户端向所述服务器发送所述验签请求。
[0035]其中,所述步骤A5中还包括:所述认证设备将接收到的所述挑战哈希值发送给所述客户端;
[0036]所述步骤A6之前包括:所述客户端判断接收到的所述挑战哈希值与保存的挑战哈希值是否一致,若一致则执行步骤A6,否则提示错误信息。
[0037]其中,所述步骤S6之前还包括:所述服务器根据用户信息和所述密钥标识检索对应的公钥,若检索到公钥,则执行步骤S6,否则向所述客户端发送错误提示,结束。
[0038]其中,所述系统还包括认证设备,所述步骤SI包括:
[0039]步骤Sl-1:所述服务器根据所述访问请求中的用户信息检索相应的注册密钥标识、认证方式标识和认证设备的特征值是否存在,若存在则执行步骤S1-2,否则向所述客户端发送错误提示;
[0040]步骤S1-2:所述服务器根据所述认证设备的特征值,判断所述服务器与认证设备之间是否存在网络连接,若存在则执行步骤S1-3,否则向所述客户端发送不存在网络连接响应;
[0041]步骤S1-3:所述服务器生成第一挑战值,并根据所述第一挑战值、密钥标识和认证方式标识生成第一认证请求并将其发送给所述认证设备。
[0042]其中,所述步骤S1-2判断为否时还包括:
[0043]步骤BI:当所述客户端接收到不存在网络连接响应时,所述客户端开启网络连接界面,提示用户启动所述认证设备;
[0044]步骤B2:当所述认证设备接收到启动信息后,获取内部预设的访问地址,根据所述访问地址访问对应的服务器,建立所述认证设备与所述服务器之间的网络连接;
[0045]步骤B3:所述认证设备根据预设签名算法,使用内置注册密钥对的私钥对内部保存的认证设备的特征值进行签名,得到第一签名值;
[0046]步骤B4:所述认证设备根据所述认证设备的特征值、所述注册密钥标识和第一签名值生成注册验签请求;
[0047]步骤B5:所述认证设备向所述服务器发送所述注册验签请求;
[0048]步骤B6:所述服务器根据所述注册验签请求中的注册密钥标识检索对应注册密钥对的公钥是否存在,若存在则执行步骤B7,否则向所述客户端发送错误提示;
[0049]步骤B7:所述服务器使用所述注册密钥对的公钥对注册验签请求进行验证,判断验证是否成功,是则执行步骤B8,否则向所述客户端发送错误提示;
[0050]步骤B8:所述服务器根据所述用户信息、所述注册密钥标识与所述认证设备的特征值的对应关系,建立所述用户信息与网络连接的对应关系,并建立认证设备与服务器之间的网络连接;
[0051]步骤B9:所述服务器向所述客户端发送网络连接响应,执行步骤Sl-3。
[0052]其中,所述步骤S3-S5替换为:
[0053]步骤Cl:所述认证设备根据第一认证请求中的认证方式标识启动对应的身份认证模块,等待并接收用户输入的识别码;
[0054]步骤C2:所述认证设备判断接收到的识别码与内部保存的配对码是否匹配,若匹配则执行步骤C3,否则提示用户重新输入识别码,返回步骤C2;
[0055]步骤C3:所述认证设备根据所述第一认证请求中的认证密钥标识检索是否存在匹配的私钥,是则执行步骤C4,否则向所述客户端发送错误提示;所述配对码、所述认证密钥标识和所述私钥、所述公钥一一对应;
[0056]步骤C4:所述认证设备生成第二挑战值,并根据预设哈希算法对接收到的所述第一挑战值进行计算生成挑战哈希值,使用检索到的私钥根据预设签名算法对所述第二挑战值和所述挑战哈希值进行签名,得到第二签名值;
[0057]步骤C5:所述认证设备根据所述第二挑战值、所述挑战哈希值和所述第二签名值生成第二验签请求,并将所述第二验签请求发送给所述服务器。
[0058]其中,所述步骤S6之前还包括:所述服务器根据所述用户信息和所述密钥标识检索对应的公钥,若检索到公钥,则执行步骤S6,否则向所述客户端发送错误提示,结束。
[0059]其中,当所述服务器在预设时间内未接收到数据时,还包括:所述服务器断开与所述认证设备之间的网络连接,以及销毁所述用户信息与所述网络连接的对应关系。
[0060]其中,所述步骤B8与步骤B9之间还包括:所述服务器根据所述用户信息判断是否能够获取到所述服务器与所述客户端之间的通道,如果是,则执行步骤B8,否则通过所述通道向所述客户端发送不存在网络连接响应。
[0061]其中,所述步骤S6中判断为是还包括:所述服务器向所述客户端发送身份认证成功的验签响应,所述客户端接收到身份认证成功的验签响应后提示用户断开网络连接,当所述认证设备检测到关机键被按下时,所述认证设备断开所述网络连接并关机。
[0062]其中,还包括:当所述认证设备在预设时间内未接收到所述服务器发送的数据时,所述认证设备断开与所述服务器之间的网络连接,关机。
[0063]本发明实施例又提供一种认证系统,包括:客户端、服务器和独立的身份认证模块;
[0064]所述服务器包括:
[0065]第一接收模块,用于接收所述客户端发送的访问请求和验签请求;
[0066]第一生成模块,用于当所述第一接收模块接收到访问请求时生成第一挑战值并保存;
[0067]第一验证模块,用于对所述第一接收模块接收到的所述验签请求进行验证,并判断是否验证成功,如果是,则允许用户访问所请求的资源,否则不允许用户访问所请求的资源;
[0068]第一发送模块,用于将所述第一挑战值发送给所述客户端;
[0069]所述客户端包括:
[0070]第二接收模块,用于接收所述服务器发送来的所述第一挑战值,还用于接收所述身份认证模块发送的签名值;[0071 ]计算保存模块,用于使用预设哈希算法对所述第一挑战值进行哈希计算,生成挑战哈希值并保存;
[0072]第二生成模块,用于根据所述第二接收模块接收到的所述签名值和保存的所述挑战哈希值生成验签请求;
[0073]第二发送模块,用于将所述挑战哈希值发送给所述身份认证模块,还用于向所述服务器发送所述访问请求和所述验签请求;
[0074]所述身份认证模块,用于接收用户输入的识别码和所述客户端发送的挑战哈希值,并判断接收到的识别码与内部保存的配对码是否匹配,是则根据预设签名算法使用与所述配对码对应的私钥对接收到的所述挑战哈希值进行计算得到签名值并将其发送给所述客户端。
[0075]其中,所述服务器还包括:第一检索模块,用于根据用户信息检索对应的公钥,若检索到公钥,则触发所述第一验证模块,否则触发所述第一发送模块向客户端发送错误提示;
[0076]所述第一验证模块,具体用于使用所述检索模块检索到的公钥对所述验签请求中的签名值进行解密,用预设哈希算法对保存的第一挑战值进行哈希计算,判断计算得到的挑战哈希值和解密结果是否一致,是则允许用户访问所请求的资源,否则不允许用户访问所请求的资源。
[0077]其中,所述服务器还包括:
[0078]保存判断模块,用于保存所述访问请求中的用户信息,并根据所述用户信息判断所述访问请求是否合法,是则触发所述第一生成模块,否则触发所述第一发送模块向所述客户端发送错误提示。
[0079]其中,所述保存判断模块,具体用于保存所述访问请求中的用户信息,并判断所述用户信息与内部保存的用户信息是否相同,是则触发所述第一生成模块,否则触发所述第一发送模块向所述客户端发送错误提示。
[0080]其中,所述客户端还包括:
[0081 ]生成保存模块,用于生成第二挑战值并保存;
[0082]所述第二发送模块,还用于将所述第二挑战值发送给所述身份认证模块;
[0083]所述身份认证认证模块具体用于接收用户输入的识别码和所述客户端发送的挑战哈希值、第二挑战值,并判断接收到的识别码与内部保存的配对码是否匹配,是则根据预设签名算法使用与所述匹配码对应的私钥对所述第二挑战值和所述哈希挑战值进行计算得到签名值并将其发送给所述客户端;
[0084]所述第二生成模块,具体用于根据所述签名值、保存的哈希挑战值和所述第二挑战值生成验签请求。
[0085]其中,所述服务器还包括:第一检索模块,用于根据用户信息检索对应的公钥,若检索到公钥,则触发所述第一验证模块,否则触发所述第一发送模块向客户端发送错误提示;
[0086]所述第一验证模块包括:
[0087]解密对比单元,用于使用公钥解密验签请求,将解密得到的第二挑战值、挑战哈希值分别与所述验签请求中发来的第二挑战值、挑战哈希值进行比对,若均一致则触发计算判断单元,否则不允许用户访问所请求的资源;
[0088]所述计算判断单元,用于使用预设哈希算法对保存的所述第一挑战值进行计算,判断计算得到的挑战哈希值与所述验签请求中的挑战哈希值是否一致,是则允许用户访问所请求的资源,否则不允许用户访问所请求的资源。
[0089]其中,所述服务器还包括第二检索模块和第三检索模块;
[0090]所述第二检索模块,用于根据所述访问请求中的用户信息检索相应的密钥标识是否存在,若存在则触发所述第一生成模块,否则触发所述第一发送模块向所述客户端发送错误提不;
[0091 ]所述第一发送模块还用于将所述密钥标识发送给所述客户端;
[0092]所述第三检索模块,用户根据用户信息和所述密钥标识检索对应的公钥,若检索到公钥,则触发所述第一验证模块,否则触发所述第一发送模块向所述客户端发送错误提不O
[0093]其中,所述第二接收模块还用于接收所述密钥标识,所述第二发送模块还用于将所述密钥标识发送给所述身份认证模块;
[0094]所述身份认证模块用于接收用户输入的识别码和所述客户端发送的挑战哈希值、所述密钥标识,并判断接收到的识别码与内部保存的配对码是否匹配,是则根据接收到的所述密钥标识检索对应的私钥是否存在,是则生成第二挑战值,根据预设签名算法使用与所述检索到的私钥对所述挑战哈希值和所述第二挑战值进行计算得到签名值,将所述第二挑战值和所述签名值发送给所述客户端;所述配对码、所述密钥标识和所述私钥、所述公钥——对应;
[0095]所述第二生成模块具体用于根据所述签名值、所述第二挑战值和所述挑战哈希值生成验签请求。
[0096]其中,所述服务器还包括:第四检索模块,用于根据所述访问请求中的用户信息检索相应的密钥标识和认证方式标识是否存在,若存在则触发所述第一生成模块,否则触发所述第一发送模块向所述客户端发送错误提示;
[0097]所述第一发送模块,还用于将所述第一挑战值、密钥标识和认证方式标识发送给所述客户端。
[0098]其中,还包括认证设备,所述身份认证模块设置在认证设备中;
[0099]所述第二发送模块,还用于将所述挑战哈希值、密钥标识和认证方式标识发送给所述认证设备;
[0100]所述认证设备包括:
[0101]第三接收模块,用于接收所述第二发送模块发送的挑战哈希值、密钥标识和认证方式标识;
[0102]身份认证模块,用于接收用户输入的识别码;
[0103]第三判断模块,用于判断所述身份认证模块接收到的识别码与内部保存的配对码是否匹配,若匹配则触发第五检索模块,否则提示用户重新输入识别码;
[0104]所述第五检索模块,用于根据所述第三接收模块接收到的所述密钥标识检索相应的私钥是否存在,若存在则触发生成签名模块,否则触发第三发送模块向所述客户端发送错误提示;所述配对码、所述密钥标识和所述私钥、所述公钥一一对应;
[0105]所述生成签名模块,用于生成第二挑战值,并根据预设签名算法使用检索到的私钥对所述第二挑战值和接收到的所述挑战哈希值进行签名,得到签名值;
[0106]所述第三发送模块,用于将所述第二挑战值和所述签名值发送给所述客户端;
[0107]所述第二接收模块还用于接收所述认证设备发送的所述第二挑战值;
[0108]所述第二生成模块具体用于根据所述第二接收模块接收到的所述第二挑战值、所述签名值和所述挑战哈希值生成验签请求。
[0109]其中,所述第三发送模块还用于将接收到的所述哈希挑战值发送给所述客户端;
[0110]所述第二接收模块还用于接收所述认证设备发送的挑战哈希值;
[0111]所述客户端还包括:
[0112]第四判断模块,用于判断接收到的所述挑战哈希值与保存的挑战哈希值是否一致,若一致则触发所述第二生成模块,否则提示错误信息。
[0113]其中,所述服务器还包括:
[0114]第六检索模块,用于根据用户信息和所述密钥标识检索对应的公钥,若检索到公钥,则触发所述第一验证模块,否则触发所述第一发送模块向所述客户端发送错误提示。
[0115]其中,还包括认证设备,所述服务器还包括:
[0116]第五判断模块,用于根据所述访问请求中的用户信息检索相应的注册密钥标识、认证方式标识和认证设备的特征值是否存在,若存在则触发第六判断模块,否则触发所述第一发送模块向所述客户端发送错误提示;
[0117]所述第六判断模块,用于根据所述认证设备的特征值,判断所述服务器与认证设备之间是否存在网络连接,若存在则触发所述第一生成模块,否则触发所述第一发送模块向所述客户端发送不存在网络连接响应;
[0118]所述第一生成模块,具体用于生成第一挑战值,并根据所述第一挑战值、密钥标识和认证方式标识生成第一认证请求;
[0119]所述第一发送模块,还用于将所述第一认证请求发送给所述认证设备。
[0120]其中,所述客户端包括的模块替换为:
[0121 ]第二接收模块,用于接收所述服务器发送来的所述第一挑战值、网络连接响应和不存在网络连接响应,还用于接收所述所述认证设备发送的第二签名值和所述第二挑战值;
[0122]计算保存模块,用于使用预设哈希算法对所述第一挑战值进行哈希计算,生成挑战哈希值并保存;
[0123]第二生成模块,用于根据所述第二接收模块接收到的所述第二签名值、第二挑战值和保存的所述挑战哈希值生成验签请求;
[0124]第二发送模块,用于将所述挑战哈希值、密钥标识和认证方式标识发送给所述认证设备,还用于向所述服务器发送所述访问请求和所述验签请求;
[0125]提示模块,用于当所述第二接收模块接收到不存在网络连接响应时,开启网络连接界面,提示用户启动所述认证设备;
[0126]所述认证设备包括:
[0127]第三接收模块,用于在接收到启动信息后,接收所述第一发送模块发送的第一认证请求;接收所述客户端发送的挑战哈希值、密钥标识和认证方式标识;
[0128]获取建立模块,用于当所述第三接收模块接收到启动信息后获取内部预设的访问地址,根据所述访问地址访问对应的服务器,建立所述认证设备与所述服务器之间的网络连接;
[0129]第一签名模块,用于根据预设签名算法,使用内置注册密钥对的私钥对内部保存的认证设备的特征值进行签名,得到第一签名值;
[0130]第四生成模块,用于根据所述认证设备的特征值、所述注册密钥标识和第一签名值生成注册验签请求;
[0131]身份认证模块,用于当根据所述第一认证请求中的认证方式标识被启动后,接收用户输入的识别码;
[0132]所述第七判断模块,用于判断所述身份认证模块接收到的识别码与内部保存的配对码是否匹配,若匹配则触发第八判断模块,否则提示用户重新输入识别码;
[0133]所述第八判断模块,用于根据所述第一认证请求中的认证密钥标识检索是否存在匹配的私钥,是则触发生成签名模块,否则触发第三发送模块向所述客户端发送错误提示;
[0134]所述生成签名模块,用于生成第二挑战值,使用检索到的私钥根据预设签名算法对所述第二挑战值和所述挑战哈希值进行签名,得到第二签名值;
[0135]第三发送模块,用于向所述服务器发送所述注册验签请求;还用于将所述第二签名值和所述第二挑战值发送给所述客户端;
[0136]所述第一接收模块还用于接收所述第三发送模块发送的注册验签请求;
[0137]所述服务器还包括:
[0138]第七检索模块,用于根据所述注册验签请求中的注册密钥标识检索对应注册密钥对的公钥是否存在,若存在则触发所述第二验证模块,否则触发所述第一发送模块向所述客户端发送错误提示;
[0139]所述第二验证模块,用于使用所述注册密钥对的公钥对注册验签请求进行验证,判断验证是否成功,是则触发建立模块,否则触发所述第一发送模块向所述客户端发送错误提示;
[0140]所述建立模块,用于根据所述用户信息、所述注册密钥标识与所述认证设备的特征值的对应关系,建立所述用户信息与网络连接的对应关系,并建立认证设备与服务器之间的网络连接,触发所述第一生成模块;
[0141]所述第一发送模块,还用于向所述客户端发送网络连接响应。
[0142]其中,所述客户端包括的模块替换为:
[0143]第二接收模块,用于接收所述服务器发送来的不存在网络连接响应;
[0144]第二发送模块,用于向所述服务器发送所述访问请求;
[0145]提示模块,用于当所述第二接收模块接收到不存在网络连接响应时,开启网络连接界面,提示用户启动所述认证设备;
[0146]所述认证设备包括:
[0147]第三接收模块,用于接收所述服务器发送的第一认证请求;
[0148]身份认证模块,用于当根据所述第一认证请求中的认证方式标识被启动后,接收用户输入的识别码;
[0149]第九判断模块,用于判断所述身份认证模块接收到的识别码与内部保存的配对码是否匹配,若匹配则触发第十判断模块,否则提示用户重新输入识别码;
[0150]所述第十判断模块,用于根据所述第一认证请求中的认证密钥标识检索是否存在匹配的私钥,是则触发生成签名模块,否则触发第三发送模块向所述客户端发送错误提示;
[0151]所述生成签名模块,用于生成第二挑战值,并根据预设哈希算法对接收到的所述第一认证请求中的第一挑战值进行计算生成挑战哈希值,使用检索到的私钥根据预设签名算法对所述第二挑战值和所述挑战哈希值进行签名,得到第二签名值;
[0152]第五生成模块,用于根据所述第二挑战值、所述挑战哈希值和所述第二签名值生成第二验签请求;
[0153]第三发送模块,用于将所述第二验签请求发送给所述服务器,还用于向所述客户端发送错误提示。
[0154]其中,所述服务器还包括:
[0155]第十一判断模块,用于根据所述用户信息和所述密钥标识检索对应的公钥,若检索到公钥,则触发所述第一验证模块,否则触发所述第一发送模块向所述客户端发送错误提示。
[0156]其中,所述服务器还包括:断开销毁模块,用于当所述第一接收模块在预设时间内未接收到数据时,断开与所述认证设备之间的网络连接,以及销毁所述用户信息与所述网络连接的对应关系。
[0157]其中,所述服务器还包括:第十一判断模块,用于根据所述用户信息判断是否能够获取到所述服务器与所述客户端之间的通道,如果是,则触发所述建立模块,否则触发所述第一发送模块通过所述通道向所述客户端发送不存在网络连接响应。
[0158]其中,所述第一发送模块还用于向所述客户端发送身份认证成功的验签响应;
[0159]所述客户端还包括:提示模块,用于当所述第二接收模块接收到身份认证成功的验签响应后,提示用户断开网络连接;
[0160]所述认证设备还包括:断开模块,用于当检测到关机键被按下时,断开所述网络连接并关机。
[0161 ]其中,所述认证设备还包括:断开模块,用于在预设时间内未接收到所述服务器发送的数据时,断开所述认证设备与所述服务器之间的网络连接,关机。
[0162]本发明取得的有益效果是:采用本发明的技术方案,需要身份认证模块完成本地认证才能继续进行通讯,可以防止数据传输过程中数据泄露的问题,提高了通讯安全性。
【附图说明】
[0163]为了更清楚的说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0164]图1是本发明实施例1提供的一种认证系统的工作方法流程图;
[0165]图2是本发明实施例2提供的一种认证系统的工作方法流程图;
[0166]图3是本发明实施例3提供的一种认证系统的工作方法流程图;
[0167]图4是本发明实施例4提供的一种认证系统的工作方法流程图;
[0168]图5和图6是本发明实施例5提供的一种认证系统的工作方法流程图;
[0169]图7和图8是本发明实施例6提供的一种认证系统的工作方法流程图;
[0170]图9是本发明实施例7提供的一种认证系统方框图;
[0171]图10是本发明实施例8提供的一种认证系统方框图;
[0172]图11是本发明实施例9提供的一种认证系统方框图;
[0173]图12是本发明实施例10提供的一种认证系统方框图。
【具体实施方式】
[0174]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0175]实施例1
[0176]本实施例1提供了一种认证系统的工作方法,应用于包括客户端、独立设置的身份认证模块和服务器组成的系统中。如I所示,该方法具体包括:
[0177]步骤S1:当服务器接收到客户端发送的访问请求时生成第一挑战值并保存,并将第一挑战值发送给客户端;
[0178]步骤S2:客户端使用预设哈希算法对第一挑战值进行哈希计算,生成挑战哈希值并保存;
[0179]步骤S3:客户端启动身份认证模块,身份认证模块等待并接收用户通过身份认证模块输入的识别码;
[0180]步骤S4:身份认证模块判断接收到的识别码与内部保存的配对码是否匹配,如果是,则执行步骤S5,否则提示用户重新输入识别码,执行步骤S4;
[0181]步骤S5:身份认证模块根据预设签名算法使用与配对码对应的私钥对保存的挑战哈希值进行计算得到签名值并将其发送给客户端;
[0182]在本实施例中,身份认证模块中的配对码与私钥一一对应;
[0183]步骤S6:客户端接收签名值,根据签名值和保存的挑战哈希值生成验签请求并将验签请求发送至服务器;
[0184]步骤S7:服务器对接收到的验签请求进行验证,并判断是否验证成功,如果是,则允许用户访问所请求的资源,否则不允许用户访问所请求的资源。
[0185]在本实施例中,在步骤S7还可以包括:如验证成功则服务器向客户端发送身份认证成功的验签响应,如验证失败则服务器向客户端发送身份认证失败的验签响应;当客户端判断接收到的验签响应的类型,如果是身份认证成功,则提示认证成功,如果是身份认证失败,则提示认证失败。
[0186]本实施例通过在身份认证模块完成本地认证才能继续进行通讯,可以防止数据传输过程中数据泄露的问题,提高了通讯安全性。
[0187]实施例2
[0188]本实施例2提供了一种认证系统的工作方法,应用于包括客户端、独立设置在客户端的身份认证模块和服务器组成的系统中。
[0189]具体地,在本实施例中,客户端具备身份认证功能,内置有独立的身份认证模块。
[0190]优选地,身份认证模块可用于指纹识别。相应地,身份认证模块将内置的配对码(即指纹识别所需的信息)与用户输入的识别码(即指纹)进行比对。身份认证模块还可以通过其他方式实现,例如声纹、掌纹、虹膜、口令等。
[0191]身份认证模块具有生成密钥对和进行数字签名的功能。用户在服务器进行注册过程中,身份认证模块生成密钥对并分配密钥标识,将用户ID、密钥标识和密钥对的公钥发给服务器。服务器保存用户ID、密钥标识和公钥,并建立对应关系,完成注册。本实施例中的密钥标识、配对码与密钥对——对应。
[0192]如2所示,本实施例中认证系统的工作方法具体包括:
[0193]步骤Pl:当服务器接收到来自客户端的访问请求时,保存访问请求中的用户ID;
[0? 94] 优选地,访问请求包括用户ID和待访问的资源标识URI ;
[0195]例如,用户ID:13012345678;
[0196]待访问的资源标识:https://www.allkey.com/Samp leApp/facets ;
[0197]步骤P2:服务器根据用户ID判断内部是否存在相同的用户ID,若存在,执行步骤P3,否则向客户端发送错误提示;
[0198]优选地,在本实施例中,错误提示指预先约定的错误码。
[0199]步骤P3:服务器生成第一挑战值并将其发送给客户端;
[0200]优选地,服务器生成预定长度(例如16字节)的随机串作为第一挑战值;
[0201 ]优选地,挑战值、加密结果等可能包含无法显示的字符的信息均以base64编码的形式传递。相应地,在本实施例中,使用base64编码值来给出这些信息的示例。
[0202]例如,生成的第一挑战值为:
[0203]HQlVkTUQClNJD0o600ffdxewrb9i5ffthjfKIehFxpeuU
[0204]步骤P4:客户端收到第一挑战值后,使用预设哈希算法对第一挑战值进行计算,生成挑战哈希值并保存;
[0205]优选地,哈希算法为MD5算法,除此之外还可以为SM3算法等;
[0206]例如,生成的挑战哈希值为:D41D8CD98F00B204E9800998ECF8427E
[0207]步骤P5:客户端启动身份认证模块,身份认证模块等待并接收用户输入的识别码;
[0208]具体地,客户端启动指纹识别界面,等待并接收用户通过指纹识别界面输入的指纹。
[0209]当身份认证模块通过其他方式实现时,接收到的识别码包括但不限于扫描到的虹膜、输入的口令、按下的键值等;
[0210]本步骤中,当客户端在预设时间内未接收到用户输入的识别码时,则关闭身份认证模块使其停止工作;
[0211]步骤P6:客户端的身份认证模块判断接收到的用户输入的识别码与内部保存的配对码是否匹配,是则本地认证结果为通过,执行步骤P7,否则本地认证结果为不通过,提示用户重新输入识别码,返回步骤P6;
[0212]除此之外,在步骤P6中判断为否时还包括:客户端提示用户剩余可输入次数,如可输入次数达到预设错误次数时关闭身份认证模块,否则提示用户重新输入识别码,返回步骤P6。
[0213]步骤P7:客户端的身份认证模块生成第二挑战值并保存,根据预设签名算法使用与配对码对应的私钥对第二挑战值和保存的挑战哈希值进行计算,得到签名值;
[0214]步骤P8:客户端的身份认证模块根据第二挑战值、挑战哈希值和签名值生成验签请求并将其通过客户端发送给服务器;
[0215]优选地,客户端使用的签名算法为RSA算法,除此之外,也可使用其他算法,如ECC、SM2 等。
[0216]步骤:服务器根据保存的用户ID检索公钥,使用公钥对验签请求进行验证,若验证成功则允许用户访问所请求的资源,否则不允许用户访问所请求的资源;
[0217]具体地,步骤P9包括:
[0218]步骤P9-0:根据用户ID检索匹配的公钥,若检索到公钥,则执行步骤P9-1,否则服务器向客户端发送错误提示,结束;
[0219]步骤P9-1:服务器使用公钥解密验签请求,得到解密出的第二挑战值、挑战哈希值,然后分别与验签请求中发来的第二挑战值、挑战哈希值进行比对,若均一致则执行步骤P9-2,否则验证失败,不允许用户访问所请求的资源;
[0220]步骤P9-2:服务器使用预设哈希算法对保存的第一挑战值进行计算,判断计算得到的挑战哈希值与验签请求中的挑战哈希值是否一致,是则验证成功,允许用户访问所请求的资源,否则验证失败,不允许用户访问所请求的资源。
[0221]实施例3
[0222]本实施例3提供了一种认证系统的工作方法,应用于包括客户端、独立设置在客户端的身份认证模块和服务器组成的系统中。
[0223]优选地,在本实施例中,身份认证模块设置在客户端中,在身份认证模块内设置多个密钥对,一个密钥对对应于一个用户,密钥对与密钥标识、配对码——对应。
[0224]如图3所示,认证系统的工作方法具体包括:
[0225]步骤LI:当服务器接收到来自客户端的包含用户ID的访问请求时,保存用户ID;
[0226]例如,用户ID:13012345678;
[0227]步骤L2:服务器根据用户ID判断内部是否存在相同的用户ID,若存在则执行步骤L3,否则执行步骤L4;
[0228]步骤L3:服务器根据用户ID检索相应的密钥标识是否存在,若存在则执行步骤L5,否则执行步骤L4;
[0229]步骤L4:服务器向客户端发送错误提示;
[0230]在本实施例中,错误提示指预先约定的错误码,步骤L4之后服务器继续等待接收客户端发送的访问请求。
[0231 ]步骤L5:服务器生成第一挑战值,执行步骤L6;
[0232]优选地,服务器生成预定长度(例如16字节)的随机串作为挑战值;
[0233]例如,挑战值:
[0234]HQlVkTUQClNJD0o600ffdxewrb9i5ffthjfKIehFxpeuU
[0235]步骤L6:服务器向客户端发送第一挑战值和密钥标识;
[0236]步骤L7:客户端根据预设哈希算法对第一挑战值进行计算,生成挑战哈希值并保存;
[0237]优选地,哈希算法为MD5算法,除此之外还可以为SM3算法等;
[0238]例如,生成的挑战哈希值为:
[0239]D41D8CD98F00B204E9800998ECF8427E;
[0240]步骤L8:客户端启动身份认证模块,身份认证模块等待并接收用户输入的识别码;
[0241]具体地,客户端启动指纹识别界面,指纹识别界面等待并接收用户输入的指纹。
[0242]当身份认证模块通过其他方式实现时,接收到的识别码包括但不限于扫描到的虹膜、输入的口令、按下的键值等;
[0243]本步骤中,当身份认证界面在预设时间内未接收到用户输入的识别码时,则客户端关闭身份认证模块使其停止工作;
[0244]步骤L9:客户端的身份认证模块判断接收到的识别码与内部保存的配对码是否匹配,若匹配则执行步骤LlO,提示用户重新输入识别码,返回步骤L9;
[0245]除此之外,当用户输入的识别码的次数小于预设错误次数时,客户端提示用户剩余可输入次数,当达到预设错误次数时关闭身份认证模块。
[0246]步骤L10:客户端的身份认证模块根据密钥标识检索相应的私钥是否存在,若存在则执行步骤LI I,否则提示错误信息,结束;
[0247]步骤LU:客户端的身份认证模块生成第二挑战值,根据预设签名算法使用私钥对第二挑战值和挑战哈希值进行签名,得到签名值;
[0248]优选地,客户端使用的签名算法为RSA算法,除此之外,也可使用其他算法,如ECC、SM2 等。
[0249]步骤L12:客户端根据第二挑战值、挑战哈希值和签名值生成验签请求,并将其发送给服务器;
[0250]步骤L13:服务器根据用户ID和密钥标识检索是否存在匹配的公钥,若存在则执行步骤L14,否则服务器向客户端发送错误提示,结束;
[0251 ]在本实施例中,错误提示指预先约定的错误码。
[0252]步骤L14:服务器使用公钥对验签请求进行验证,若验证成功则执行步骤L15,否则执行步骤L16;
[0253]具体地,步骤L14的实现过程与实施例2中步骤P9相同,在此不再赘述;
[0254]步骤L15:服务器允许用户访问所请求的资源,并向客户端发送身份认证成功的验签响应,执行步骤LI 7;
[0255]步骤L16:服务器不允许用户访问所请求的资源,并向客户端发送身份认证失败的验签响应,执行步骤LI 7;
[0256]步骤L17:客户端接收到服务器发来的验签响应后,判断验签响应的类型,若是身份认证成功,则提示认证成功,并显示访问界面,如是身份认证失败则提示认证失败,结束。
[0257]实施例4
[0258]本实施例4提供了一种认证系统的工作方法,应用于包括客户端、服务器和认证设备组成的系统中。
[0259]具体地,在本实施例中,客户端为认证设备之外的终端(例如计算机、移动终端等),客户端通过有线或者无线与认证设备连接,认证设备具备身份认证功能。
[0260]在服务器进行注册时,认证设备生成密钥对、分配密钥标识,将密钥标识和密钥对的公钥发送给服务器,还将认证方式列表发送给服务器。相应地,服务器保存认证方式列表、密钥标识和公钥,并建立对应关系。认证方式列表包括认证方式描述及其标识。
[0261 ]如4所示,本实施例的认证系统的工作方法具体包括:
[0262]步骤201:当服务器接收到客户端发送的包含用户ID的访问请求时,保存访问请求中的用户ID;
[0263]例如,用户ID:13012345678;
[0264]步骤202:服务器根据用户ID判断内部是否存在相同的用户ID,若存在则执行步骤203,否则执行步骤204;
[0265]步骤203:服务器根据用户ID检索相应的密钥标识和认证方式标识是否存在,若存在则执行步骤205,否则执行步骤204;
[0266]步骤204:服务器向客户端发送错误提示;
[0267]在本实施例中,错误提示指预先约定的错误码。
[0268]步骤205:服务器生成第一挑战值;
[0269]优选地,服务器生成预定长度(例如16字节)的随机串作为挑战值;
[0270]例如,挑战值:
[0271 ] HQlVkTUQClNJD0o600ffdxewrb9 i 5ffthj fKIehFxpeuU
[0272]步骤206:服务器向客户端发送第一挑战值、密钥标识和认证方式标识;
[0273]步骤207:客户端保存第一挑战值,使用预设哈希算法对第一挑战值计算,生成挑战哈希值并保存;
[0274]优选地,哈希算法为MD5算法,除此之外还可以为SM3算法等;
[0275]例如,生成的挑战哈希值为:
[0276]D41D8CD98F00B204E9800998ECF8427E
[0277]步骤208:客户端向认证设备发送挑战哈希值、密钥标识和认证方式标识;
[0278]步骤209:认证设备根据认证方式标识启动相应的身份认证模块,等待并接收用户通过身份认证模块输入的识别码,执行步骤210;
[0279]具体地,认证设备启动指纹识别界面,等待并接收用户通过指纹识别界面输入的指纹。
[0280]当认证设备的身份认证功能通过其他方式实现时,接收到的识别码包括但不限于扫描到的虹膜、输入的口令、按下的键值等。
[0281]本步骤中,当认证设备在预设时间内未接收到用户输入的识别码时,则断开与服务器的网络连接关机;
[0282]在本实施例中,错误提示指预先约定的错误码。
[0283]步骤210:认证设备判断接收到的识别码与内部保存的配对码是否匹配,若匹配则执行步骤211,否则提示用户重新输入识别码,返回步骤210;
[0284]除此之外,当用户输入的识别码超过一定的预设错误次数时,认证设备显示用户剩余可输入次数,达到预设错误次数时锁死。
[0285]步骤211:认证设备根据密钥标识检索相应的私钥是否存在,是则执行步骤213,否则执行步骤212;
[0286]步骤212:认证设备向客户端发送错误提示,结束;
[0287]步骤213:认证设备生成第二挑战值,并根据预设签名算法使用检索到的私钥对第二挑战值和接收到的挑战哈希值进行签名,得到签名值;
[0288]优选地,认证设备使用的签名算法为RSA算法,除此之外,也可使用其他算法,如ECC、SM2 等。
[0289]步骤214:认证设备将第二挑战值和签名值发送给客户端;
[0290]步骤215:客户端根据保存的挑战哈希值、接收到的第二挑战值和签名值生成验签请求;
[0291 ]在本实施例中,步骤214还可以包括:认证设备将接收到的挑战哈希值发送给客户端;步骤215之前包括:客户端判断验签请求中的挑战哈希值与已保存的挑战哈希值是否一致,是则执行步骤215,否则提示错误信息;
[0292]步骤216:客户端向服务器发送验签请求;
[0293]步骤217:服务器根据保存的用户ID和密钥标识检索是否存在匹配的公钥,是则执行步骤218,否则服务器向客户端发送错误提示;
[0294]在本实施例中,错误提示指预先约定的错误码。
[0295]步骤218:服务器使用公钥和预设哈希算法对验签请求进行验证,如验证通过则执行步骤219,如验证失败则执行步骤220,
[0296]具体的,本实施例中步骤218的实现过程与实施例2中的步骤P9,在此不再赘述;
[0297]步骤219:服务器允许用户访问所请求的资源,并向客户端发送身份认证成功的验签响应,执行步骤221;
[0298]步骤220:服务器不允许用户访问所请求的资源,并向客户端发送身份认证失败的验签响应,执行步骤221;
[0299]步骤221:客户端收到服务器发来的验签响应后,判断验签响应的类型,若是身份认证成功,则提示认证成功,并显示访问界面,如是身份认证失败则提示认证失败,结束。
[0300]实施例5
[0301]本实施例5提供了一种认证系统的工作方法,应用于包括客户端、服务器和认证设备组成的系统中。
[0302]优选地,在本实施例中,客户端为认证设备范围之外的终端(例如计算机、移动终端等),认证设备具备身份认证功能,具备无线通信功能(例如WIFI或者移动通信),认证设备和客户端分别与客户端和服务器建立通信连接。认证设备上设置有开/关机键、认证器(如指纹收集器、虹膜收集器等),还可设置有指示灯等。
[0303]用户在服务器进行注册过程中,首先通过客户端向服务器发送包含用户ID的认证请求,如服务器根据认证请求端检测不到对应的用户ID,则提示用户启动认证设备,认证设备生成密钥对、分配注册密钥标识,将注册密钥标识、密钥对的公钥和认证方式列表发给服务器,还将自身的网络特征值(例如MAC地址)发给服务器。相应地,在服务器中保存有用户ID、认证方式列表、注册密钥标识、公钥和认证设备的特征值,并建立对应关系。
[0304]如图5和图6所示,认证系统的工作方法具体包括:
[0305]步骤301:当服务器接收到客户端发送的包含用户ID的访问请求时,保存用户ID;
[0306]例如,用户ID:13012345678;
[0307]步骤302:服务器根据用户ID判断内部是否存在相同的用户ID,若存在则执行步骤303,否则执行步骤304;
[0308]步骤303:服务器根据用户ID检索相应的注册密钥标识、认证方式标识和认证设备的特征值是否存在,若存在则执行步骤305,否则执行步骤304;
[0309]例如,认证设备特征值:00:08:22:60: 4d: 40;
[0310]步骤304:服务器向客户端发送错误提示;
[0311]在本实施例中,错误提示指预先约定的错误码。
[0312]步骤305:服务器根据认证设备的特征值,判断服务器与认证设备之间是否存在网络连接,若存在则执行步骤317,否则执行步骤306;
[0313]具体的,在本实施例中,服务器根据认证设备的特征值获取对应的连接标识,判断该连接标识是否置位,是则服务器与认证设备之间存在网络连接,否则服务器与认证设备之间不存在网络连接;连接标识初始状态为复位;
[0314]步骤306:服务器向客户端发送不存在网络连接响应;
[0315]步骤307:当客户端接收到不存在网络连接响应时,客户端开启网络连接界面,提示用户启动认证设备;
[0316]步骤308:当认证设备接收到启动信息后,获取内部预设的访问地址,根据访问地址访问对应的服务器,开始建立认证设备与服务器之间的网络连接;
[0317]其中,在柜台给用户开通业务时,预先在认证设备中设置有访问服务器的访问地址,并预先在服务器中设置有用户信息与认证设备网络特征值以及与公钥的对应关系;
[0318]例如,认证设备中预先保存的访问地址为:https://www.allkey.com。
[0319]步骤309:认证设备根据预设签名算法,使用内置注册密钥对的私钥对内部保存的认证设备的特征值进行签名,得到第一签名值;
[0320]优选地,认证设备使用的预设签名算法为RSA算法,除此之外,也可使用其他算法,如 ECC、SM2 等。
[0321]具体地,步骤309具体为:认证设备根据预设哈希算法对认证设备的特征值进行哈希计算生成哈希结果,使用注册密钥对的私钥对哈希结果进行加密,得到第一签名值;
[0322]例如,获取到的认证设备网络特征值为00:08:22:60:4d:40,对该网络特征值签名后得到的第一签名值为:
[0323]4E69893E4BBA3E7A0813AE8...E688B7E694AFE4BB98E8B4B9E9A29
[0324]步骤310:认证设备根据认证设备的特征值、注册密钥标识和第一签名值生成注册验签请求;
[0325]步骤311:认证设备向服务器发送注册验签请求;
[0326]步骤312:服务器根据注册验签请求中的注册密钥标识检索对应注册密钥对的公钥是否存在,若存在则执行步骤313,否则执行步骤314;
[0327]步骤313:服务器使用注册密钥对的公钥对注册验签请求进行验证,判断验证是否成功,是则执行步骤315,否则执行步骤314;
[0328]具体的,在本实施例中,步骤313具体为:服务器使用公钥对注册验签请求中的第一签名值进行解密,服务器使用预设哈希算法对注册验签请求中的认证设备的特征值进行哈希计算,判断计算结果与解密结果是否一致,是则验证成功,执行步骤315,否则执行步骤314;
[0329]步骤314:服务器向客户端发送错误提示,结束;
[0330]在本实施例中,错误提示指预先约定的错误码。
[0331]步骤315:服务器根据用户ID、注册密钥标识与认证设备的特征值的对应关系,建立用户ID与网络连接的对应关系,并建立认证设备与服务器之间的网络连接;
[0332]在本实施例中,建立认证设备与服务器之间的网络连接具体为:将连接标识置位;
[0333]步骤316:服务器向客户端发送网络连接响应,执行步骤317;
[0334]步骤317:服务器生成第一挑战值,服务器根据第一挑战值、认证密钥标识和认证方式标识生成第一认证请求;
[0335]步骤318:服务器向认证设备发送第一认证请求;
[0336]步骤319:认证设备根据第一认证请求中的认证方式标识启动对应的身份认证模块,等待并接收用户输入的识别码,执行步骤320;
[0337]具体地,认证设备启动指纹识别界面,等待并接收用户输入的指纹。
[0338]当身份认证设备通过其他方式实现时,接收的识别码包括但不限于扫描到的虹膜、输入的口令、按下的键值等。
[0339]本步骤中,当认证设备在预设时间内未接收到用户输入的识别码时,则断开与服务器的网络连接关机;
[0340]步骤320:认证设备判断接收的识别码与内部保存的配对码是否匹配,是则执行步骤321,否则提示用户重新输入识别码,返回步骤320;
[0341 ]除此之外,当用户输入的识别码次数超过一定的预设错误次数时,认证设备显示用户剩余可输入次数,达到预设错误次数时锁死。
[0342]步骤321:认证设备根据第一认证请求中的认证密钥标识检索是否存在匹配的私钥,是则执行步骤323,否则执行步骤322;
[0343]步骤322:认证设备向客户端发送错误提示,结束;
[0344]在本实施例中,错误提示指预先约定的错误码。
[0345]步骤323:认证设备生成第二挑战值,认证设备利用预设哈希算法对接收到的第一挑战值进行计算,生产挑战哈希值;
[0346]优选地,哈希算法为MD5算法,除此之外还可以为SM3算法等;
[0347]例如,第一挑战值:
[0348]HQlVkTUQClNJD0o600ffdxewrb9i5ffthjfKIehFxpeuU
[0349]生成的挑战哈希值为:
[0350]D41D8CD98F00B204E9800998ECF8427E
[0351]在本实施例中,步骤321与步骤323的顺序可调换;
[0352]步骤324:认证设备使用检索到的私钥根据预设签名算法对第二挑战值和挑战哈希值进行签名,得到第二签名值;
[0353]优选地,认证设备使用的签名算法为RSA算法,除此之外,也可使用其他算法,如ECC、SM2 等。
[0354]例如,第二签名值:
[0355]015aaa8e8e5c2cba3ecba7636e...7864ac33ac85acb3bd9c035b8119dll24
[0356]步骤325:认证设备根据第二挑战值、挑战哈希值和第二签名值生成第二验签请求;
[0357]步骤326:认证设备向服务器发送第二验签请求;
[0358]步骤327:服务器收到第二验签请求后,根据用户ID和认证密钥标识检索是否存在匹配的公钥,是则执行步骤329,否则执行步骤328;
[0359]步骤328:服务器向客户端发送错误提示,结束;
[0360]在本实施例中,错误提示指预先约定的错误码。
[0361]步骤329:服务器使用公钥对第二验签请求进行验证,判断验证是否成功,是则执行步骤330,否则执行步骤331;
[0362]具体地,步骤329的实现过程与实施例2中步骤P9相同,在此不再赘述;
[0363]步骤330:服务器允许用户访问所请求的资源,并向客户端发送身份认证成功的验签响应,执行步骤332;
[0364]步骤331:服务器不允许用户访问所请求的资源,并向客户端发送身份认证失败的验签响应,执行步骤332;
[0365]步骤332:客户端收到服务器发来的验签响应后,判断验签响应的类型,若是身份认证成功,则提示认证成功,并显示访问界面,如是身份认证失败则提示认证失败,结束。
[0366]在本实施例中,步骤325和步骤326可以替换为:
[0367]步骤325:认证设备将第二挑战值和第二签名值发送给客户端;
[0368]步骤326:客户端根据第二挑战值、挑战哈希值和第二签名值生成第二验签请求,并将其发送给服务器。
[0369]实施例6
[0370]本实施例6提供了一种认证系统的工作方法,应用于包括客户端、服务器和认证设备组成的系统中。
[0371 ]优选地,认证设备具备身份认证功能和无线通信功能(例如WIFI或者移动通信),认证设备上设置有开/关机键、认证器(如指纹收集器、虹膜收集器等)、还可根据需要设置有指示灯等。认证设备和客户端分别与服务器建立通信连接。
[0372]在服务器注册用户时,认证设备除了生成密钥对、分配密钥标识,将注册密钥标识、密钥对的公钥和认证方式列表发给服务器,还将认证设备的特征值(例如序列号)发给服务器。相应地,服务器保存用户ID、认证方式列表、注册密钥标识、公钥和认证设备特征值,并建立对应关系。
[0373]考虑到注册密钥标识由认证设备分配,不同的认证设备可能使用相同的注册密钥标识,因此无法仅根据注册密钥标识检索公钥。而认证设备可能由多个用户使用,认证设备与服务器建立连接时当前用户不确定,因此在此步骤不发送用户ID。
[0374]如图7和图8所示,认证系统的工作方法具体包括:
[0375]步骤401:当服务器接收到来自客户端发送的包含用户ID和认证设备特征值的访问请求时,保存用户ID;
[0376]例如,
[0377]用户ID:13012345678;
[0378]认证设备特征值:1000196;
[0379]步骤402:服务器根据用户ID判断内部是否存在相同的用户ID,是则执行步骤403,否则执行步骤404;
[0380]步骤403:服务器根据用户ID检索对应的注册密钥标识、认证方式标识和认证设备特征值是否存在,是则执行步骤405,否则执行步骤404;
[0381]步骤404:服务器向客户端发送错误提示;
[0382]在本实施例中,错误提示指预先约定的错误码。
[0383]步骤405:服务器根据认证设备特征值判断服务器与认证设备是否存在网络连接,若存在则执行步骤417,否则执行步骤406;
[0384]步骤406:服务器向客户端发送不存在网络连接响应;
[0385]步骤407:当客户端收到不存在网络连接响应时,客户端开启网络连接界面,提示用户启动认证设备;
[0386]步骤408:当认证设备接收到启动信息时,获取内部预设的访问地址,认证设备根据访问地址访问对应的服务器,开始建立认证设备与服务器之间的网络连接;
[0387]其中,在柜台给用户开通业务时,预先在认证设备中设置有访问服务器的访问地址,并预先在服务器中设置有用户信息与认证设备特征值以及与公钥的对应关系;
[0388]例如,认证设备中预先保存的访问地址为:https://www.allkey.com。
[0389]步骤409:认证设备根据预设签名算法,使用的内置注册密钥对的私钥对认证设备的特征值进行签名,得到第一签名值;
[0390]本实施例中,优选的,预设签名算法为RSA算法,除此之外,还可以为SM2算法等;
[0391]其中,步骤409具体为:认证设备对认证设备的特征值进行哈希计算,生成哈希结果,使用私钥对哈希结果进行加密,得到第一签名值;
[0392 ] 例如,获取到的认证设备的特征值为1000196,对该认证设备的特征值签名后得到的第一签名值为:
[0393]86b923a062ddd41835fc5811a365e5c...1576295dce95831If75a85edd0a;
[0394]步骤410:认证设备根据认证设备的特征值、注册密钥标识和第一签名值生成注册验签请求;
[0395]步骤411:认证设备向服务器发送注册验签请求;
[0396]步骤412:服务器根据注册验签请求中的注册密钥标识检索对应注册密钥对的公钥是否存在,若存在则执行步骤413,否则执行步骤414;
[0397]步骤413:服务器使用注册密钥对的公钥对注册验签请求进行验证,判断是否成功,是则执行步骤415,否则执行步骤414;
[0398]具体的,本实施例中该步骤的实现过程与实施例五中步骤313相同,在此不再赘述;
[0399]步骤414:服务器向客户端发送错误提示;
[0400]在本实施例中,错误提示指预先约定的错误码。
[0401]步骤415:服务器根据用户ID、注册密钥标识与认证设备特征值的对应关系,建立用户ID与网络连接的对应关系;
[0402]在本实施例中,在步骤415之前还包括:服务器根据用户信息判断是否能够获取到服务器与客户端之间的通道,如果是,则执行步骤415,否则通过通道向客户端发送不存在网络连接响应。
[0403 ] 步骤416:服务器向客户端发送网络连接响应,执行步骤417 ;
[0404]步骤417:服务器生成第一挑战值,服务器根据挑战值、认证密钥标识和认证方式标识生成第一认证请求;
[0405]步骤418:服务器向认证设备发送第一认证请求;
[0406]步骤419:认证设备根据第一认证请求中的认证方式标识启动认证界面,等待并接收用户输入的识别码,执行步骤420;
[0407]具体地,认证设备启动指纹识别界面,等待用户输入指纹。
[0408]当身份认证设备通过其他方式实现时,接收的识别码包括但不限于扫描到的虹膜、输入的口令、按下的按键等。
[0409]本步骤中,当认证设备在预设时间内未接收到用户输入的识别码时,则断开与服务器的网络连接关机;
[0410]步骤420:认证设备判断接收到的识别码与认证设备内部保存的配对码是否一致,是则执行步骤421,否则提示用户重新输入识别码,返回步骤420;
[0411]除此之外,当用户输入的识别码的次数超过一定的预设错误次数时,认证设备显示用户剩余可输入次数,达到预设错误次数时锁死。
[0412]步骤421:认证设备利用预设哈希算法对第一挑战值进行计算,生成挑战哈希值;
[0413]优选地,哈希算法为MD5算法,除此之外还可以为SM3算法等;
[0414]例如,第一挑战值:
[0415]HQlVkTUQClNJD0o600ffdxewrb9i5ffthjfKIehFxpeuU
[0416]生成的挑战哈希值为:
[0417]D41D8CD98F00B204E9800998ECF8427E
[0418]步骤422:认证设备根据第一认证请求中的认证密钥标识检索是否存在匹配的私钥,若存在则执行步骤424,否则执行步骤423;
[0419]步骤423:认证设备向客户端发送错误提示,结束;
[0420]在本实施例中,错误提示指预先约定的错误码。
[0421]步骤424:认证设备生成第二挑战值,利用私钥根据预设签名算法对接收到的第二挑战值和挑战哈希值进行签名,得到第二签名值;
[0422]优选地,认证设备使用的签名算法为RSA算法,除此之外,也可使用其他算法,如ECC、SM2 等。
[0423]例如,第二签名值:
[0424]d3d2bla3cbf3b04edf33a8208c4...dl5cl019b4edld822defc95e2ca49ac9
[0425]步骤425:认证设备根据第二挑战值、挑战哈希值和第二签名值生成第二验签请求;
[0426]步骤426:认证设备向服务器发送第二验签请求;
[0427]步骤427:服务器收到第二验签请求后,根据用户ID和认证密钥标识检索是否存在匹配的公钥,若存在则执行步骤429,否则执行步骤428;
[0428]步骤428:服务器向客户端发送错误提示,结束;
[0429]在本实施例中,错误提示指预先约定的错误码。
[0430]步骤429:服务器使用公钥对第二验签请求进行验证,判断验证是否成功,是则执行步骤430,否则执行步骤431;
[0431]具体地,步骤329的实现过程与实施例2中步骤P9相同,在此不再赘述;
[0432]步骤430:服务器允许用户访问所请求的资源,并向客户端发送身份认证成功的验签响应,执行步骤432;
[0433]步骤431:服务器不允许用户访问所请求的资源,并向客户端发送身份认证失败的验签响应,执行步骤432;
[0434]步骤432:客户端收到服务器发来的验签响应后,判断验签响应的类型,若是身份认证成功,则提示认证成功,并显示访问界面,若是身份认证失败则提示认证失败,结束。
[0435]在本实施例中,当服务器在预设时间内未接收到数据时,还包括:服务器断开与认证设备之间的网络连接,以及销毁用户信息与网络连接的对应关系。
[0436]客户端接收到身份认证成功的验签响应后提示用户断开网络连接,当认证设备检测到关机键被按下时,认证设备断开网络连接并关机。
[0437]当认证设备在预设时间内未接收到服务器发送的数据时,认证设备断开与服务器之间的网络连接,关机。
[0438]本发明实施例中的用户ID也可以用其他用户信息代替。
[0439]在本实施例中,如步骤407-416也可以不执行,S卩服务器判断判断其与认证设备不存在网络连接时,结束操作。
[0440]实施例7
[0441]本实施例7提供了一种认证系统,如图9所示,包括服务器5、客户端6和独立设置的身份认证模块7,优选的,本实施例中的身份认证模块7设置在客户端6中。
[0442]服务器5包括:
[0443]第一接收模块501,用于接收客户端6发送的访问请求和验签请求;
[0444]第一生成模块502,用于当第一接收模块501接收到访问请求时生成第一挑战值并保存;
[0445]第一验证模块503,用于对第一接收模块501接收到的验签请求进行验证,并判断是否验证成功,如果是,则允许用户访问所请求的资源,否则不允许用户访问所请求的资源;
[0446]第一发送模块504,用于将第一挑战值发送给客户端6;
[0447]客户端6包括:
[0448]第二接收模块601,用于接收服务器5发送来的第一挑战值和验签响应;还用于接收身份认证模块发送的签名值;
[0449]计算保存模块602,用于使用预设哈希算法对第一挑战值进行哈希计算,生成挑战哈希值并保存;
[0450]第二生成模块603,用于根据第二接收模块601接收到的签名值和保存的挑战哈希值生成验签请求;
[0451 ]第二发送模块604,用于将挑战哈希值发送给身份认证模块7,还用于向服务器5发送访问请求和验签请求;
[0452]身份认证模块7,用于接收用户输入的识别码和客户端6发送的挑战哈希值,并判断接收到的识别码与内部保存的配对码是否匹配,是则根据预设签名算法使用与配对码对应的私钥对接收到的挑战哈希值进行计算得到签名值并将其发送给客户端6。
[0453]在本实施例中,服务器5还包括:第一检索模块,用于根据用户信息检索对应的公钥,若检索到公钥,则触发第一验证模块503,否则触发第一发送模块504向客户端发送错误提不;
[0454]第一验证模块503,具体用于使用检索模块检索到的公钥对验签请求中的签名值进行解密,用预设哈希算法对保存的第一挑战值进行哈希计算,判断计算得到的挑战哈希值和解密结果是否一致,是则允许用户访问所请求的资源,否则不允许用户访问所请求的资源。
[0455]服务器5还包括:
[0456]保存判断模块,用于保存访问请求中的用户信息,并根据用户信息判断访问请求是否合法,是则触发第一生成模块502,否则触发第一发送模块504向客户端6发送错误提示。优选的,保存判断模块,具体用于保存访问请求中的用户信息,并判断用户信息与内部保存的用户信息是否相同,是则触发第一生成模块502,否则触发第一发送模块504向客户端6发送错误提示。
[0457]在本实施例中,客户端6还包括:
[0458]生成保存模块,用于生成第二挑战值并保存;
[0459]第二发送模块604,还用于将第二挑战值发送给身份认证模块7;
[0460]身份认证认证模块4具体用于接收用户输入的识别码和客户端6发送的挑战哈希值、第二挑战值,并判断接收到的识别码与内部保存的配对码是否匹配,是则根据预设签名算法使用与匹配码对应的私钥对第二挑战值和哈希挑战值进行计算得到签名值并将其发送给客户端6;
[0461]第二生成模块603,具体用于根据签名值、保存的哈希挑战值和第二挑战值生成验签请求;
[0462]相应的,服务5器还包括:第一检索模块,用于根据用户信息检索对应的公钥,若检索到公钥,则触发第一验证模块503,否则触发第一发送模块504向客户端6发送错误提示;
[0463]第一验证模块503包括:
[0464]解密对比单元,用于使用公钥解密验签请求,将解密得到的第二挑战值、挑战哈希值分别与验签请求中发来的第二挑战值、挑战哈希值进行比对,若均一致则触发计算判断单元,否则不允许用户访问所请求的资源;
[0465]计算判断单元,用于使用预设哈希算法对保存的第一挑战值进行计算,判断计算得到的挑战哈希值与验签请求中的挑战哈希值是否一致,是则允许用户访问所请求的资源,否则不允许用户访问所请求的资源。
[0466]在本实施例中,服务器5还包括第二检索模块和第三检索模块;
[0467]第二检索模块,用于根据访问请求中的用户信息检索相应的密钥标识是否存在,若存在则触发第一生成模块502,否则触发第一发送模块504向客户端6发送错误提示;
[0468]第一发送模块504还用于将密钥标识发送给客户端6;
[0469]第三检索模块,用户根据用户信息和密钥标识检索对应的公钥,若检索到公钥,则触发第一验证模块503,否则触发第一发送模块504向客户端6发送错误提示。
[0470]相应的,第二接收模块601还用于接收密钥标识,第二发送模块604还用于将密钥标识发送给身份认证模块7;
[0471]身份认证模块7用于接收用户输入的识别码和客户端6发送的挑战哈希值、密钥标识,并判断接收到的识别码与内部保存的配对码是否匹配,是则根据接收到的密钥标识检索对应的私钥是否存在,是则生成第二挑战值,根据预设签名算法使用与检索到的私钥对挑战哈希值和第二挑战值进行计算得到签名值,将第二挑战值和签名值发送给客户端6;配对码、密钥标识和私钥、公钥一一对应;
[0472]第二生成模块603具体用于根据签名值、第二挑战值和挑战哈希值生成验签请求。
[0473]实施例8
[0474]本实施例8提供了一种认证系统,如图10所示,包括服务器8、客户端9和认证设备10。
[0475]服务器8包括:
[0476]第一接收模块801,用于接收客户端9发送的访问请求和验签请求;
[0477]第四检索模块802,用于根据访问请求中的用户信息检索相应的密钥标识和认证方式标识是否存在,若存在则触发第一生成模块803,否则触发第一发送模块805向客户端9发送错误提示;
[0478]第一生成模块803,用于当第一接收模块801接收到访问请求时生成第一挑战值并保存;
[0479]第一验证模块804,用于对第一接收模块801接收到的验签请求进行验证,并判断是否验证成功,如果是,则允许用户访问所请求的资源,否则不允许用户访问所请求的资源;
[0480]第一发送模块805,用于将第一挑战值、密钥标识和认证方式标识发送给客户端9;[0481 ] 客户端9包括:
[0482]第二接收模块901,用于接收服务器8发送来的第一挑战值、密钥标识和认证方式标识;还用于接收认证设备10发送的签名值和第二挑战值;
[0483]计算保存模块902,用于使用预设哈希算法对第一挑战值进行哈希计算,生成挑战哈希值并保存;
[0484]第二生成模块903,用于根据第二接收模块901接收到的第二挑战值、签名值和保存的挑战哈希值生成验签请求;
[0485]第二发送模块904,用于将挑战哈希值、密钥标识和认证方式标识发送给认证设备1,还用于向服务器8发送访问请求和验签请求;
[0486]认证设备10包括:
[0487]第三接收模块1000,用于接收第二发送模块904发送的挑战哈希值、密钥标识和认证方式标识;
[0488]在本实施例中,认证设备10中的身份认证模块1001与认证方式标识一一对应;
[0489]身份认证模块1001,用于接收用户输入的识别码;
[0490]第三判断模块1002,用于判断身份认证模块1001接收到的识别码与内部保存的配对码是否匹配,若匹配则触发第五检索模块1003,否则提示用户重新输入识别码;
[0491]第五检索模块1003,用于根据第三接收模块1000接收到的密钥标识检索相应的私钥是否存在,若存在则触发生成签名模块1004,否则触发第三发送模块1006向客户端9发送错误提示;
[0492]在本实施例中,配对码、密钥标识和私钥、公钥一一对应;
[0493]生成签名模块1004,用于生成第二挑战值,并根据预设签名算法使用检索到的私钥对第二挑战值和第三接收模块1000接收到的挑战哈希值进行签名,得到签名值;
[0494]第三发送模块1005,用于将第二挑战值和签名值发送给客户端9。
[0495]在本实施例中,第三发送模块1005还用于将接收到的所述哈希挑战值发送给客户端9;第二接收模块901还用于接收认证设备10发送的挑战哈希值;
[0496]客户端9还包括:第四判断模块,用于判断接收到的挑战哈希值与保存的挑战哈希值是否一致,若一致则触发第二生成模块903,否则提示错误信息。
[0497]在本实施例中,服务器8还包括:
[0498]第六检索模块,用于根据用户信息和密钥标识检索对应的公钥,若检索到公钥,则触发第一验证模块804,否则触发第一发送模块805向客户端9发送错误提示。
[0499]实施例9
[0500]本实施例9提供了一种认证系统,如图11所示,包括服务器11、客户端12和认证设备13。
[0501 ]服务器11包括:
[0502]第一接收模块1101,用于接收客户端12发送的注册验签请求、访问请求和第二验签请求;
[0503]第五判断模块1102,用于根据访问请求中的用户信息检索相应的注册密钥标识、认证方式标识和认证设备的特征值是否存在,若存在则触发第六判断模块1103,否则触发第一发送模块1109向客户端12发送错误提示;
[0504]第六判断模块1103,用于根据认证设备的特征值,判断服务器与认证设备之间是否存在网络连接,若存在则触发第一生成模块1104,否则触发第一发送模块1109向客户端12发送不存在网络连接响应;
[0505]第一生成模块1104,用于当第一接收模块1101接收到访问请求时生成第一挑战值,并根据第一挑战值、密钥标识和认证方式标识生成第一认证请求;
[0506]第一验证模块1105,用于对第一接收模块1101接收到的验签请求进行验证,并判断是否验证成功,如果是,则允许用户访问所请求的资源,否则不允许用户访问所请求的资源;
[0507]第七检索模块1106,用于根据注册验签请求中的注册密钥标识检索对应注册密钥对的公钥是否存在,若存在则触发第二验证模块1107,否则触发第一发送模块1109向客户端12发送错误提示;
[0508]第二验证模块1107,用于使用注册密钥对的公钥对注册验签请求进行验证,判断验证是否成功,是则触发建立模块1108,否则触发第一发送模块1109向客户端12发送错误提示;
[0509]建立模块1108,用于根据用户信息、注册密钥标识与认证设备的特征值的对应关系,建立用户信息与网络连接的对应关系,并建立认证设备与服务器之间的网络连接,触发第一生成模块;
[0510]第一发送模块1109,用于将第一挑战值发送给客户端12,还用于将第一认证请求发送给认证设备13;还用于向客户端12发送网络连接响应和不存在网络连接响应;
[0511]客户端12包括:
[0512]第二接收模块1201,用于接收服务器11发送来的第一挑战值、网络连接响应和不存在网络连接响应;还用于接收认证设备13发送的第二签名值和第二挑战值;
[0513]计算保存模块1202,用于使用预设哈希算法对第一挑战值进行哈希计算,生成挑战哈希值并保存;
[0514]第二生成模块1203,用于根据第二签名值、第二挑战值和保存的挑战哈希值生成验签请求;
[0515]第二发送模块1204,用于将将挑战哈希值、密钥标识和认证方式标识发送给认证设备13,还用于向服务器11发送访问请求和验签请求;
[0516]提示模块1205,用于当第二接收模块1201接收到不存在网络连接响应时,开启网络连接界面,提示用户启动认证设备13;
[0517]认证设备13包括:
[0518]第三接收模块1301,用于在接收到启动信息后,接收第一发送模块发1109送的第一认证请求;接收客户端12发送的挑战哈希值、密钥标识和认证方式标识;
[0519]获取建立模块1302,用于当第三接收模块1301接收到启动信息后获取内部预设的访问地址,根据访问地址访问对应的服务器,建立认证设备与服务器之间的网络连接;
[0520]第一签名模块1303,用于根据预设签名算法,使用内置注册密钥对的私钥对内部保存的认证设备的特征值进行签名,得到第一签名值;
[0521]第四生成模块1304,用于根据认证设备的特征值、注册密钥标识和第一签名值生成注册验签请求;
[0522]身份认证模块1305,用于当根据第一认证请求中的认证方式标识被启动后,接收用户输入的识别码;
[0523]第七判断模块1306,用于判断身份认证模块1305接收到的识别码与内部保存的配对码是否匹配,若匹配则第八判断模块1307,否则提示用户重新输入识别码;
[0524]第八判断模块1307,用于根据第一认证请求中的认证密钥标识检索是否存在匹配的私钥,是则触发生成签名模块1308,否则触发第三发送1309模块向客户端12发送错误提示;
[0525]生成签名模块1308,用于生成第二挑战值,使用检索到的私钥根据预设签名算法对第二挑战值和挑战哈希值进行签名,得到第二签名值;
[0526]第三发送模块1309,用于向服务器11发送注册验签请求;还用于将第二签名值和第二挑战值发送给客户端12;
[0527]在上述本实施例中,服务器11还包括:
[0528]断开销毁模块,用于当第一接收模块在预设时间内未接收到数据时,断开与认证设备之间的网络连接,以及销毁用户信息与网络连接的对应关系。
[0529]在本实施例中,服务器11还包括:
[0530]第十一判断模块,用于根据用户信息判断是否能够获取到服务器与客户端之间的通道,如果是,则触发建立模块,否则触发第一发送模块1106通过通道向客户端发送不存在网络连接响应。
[0531]在本实施例中,第一发送模块1109还用于向客户端12发送身份认证成功的验签响应;客户端12还包括:提示模块,用于当第二接收模块1201接收到身份认证成功的验签响应后,提示用户断开网络连接;
[0532]认证设备13还包括:断开模块,用于当检测到关机键被按下时,断开网络连接并关机。
[0533]在本实施例中,认证设备13还包括:断开模块,用于在预设时间内未接收到服务器发送的数据时,断开认证设备与服务器之间的网络连接,关机。
[0534]实施例10
[0535]本实施例10提供了一种认证系统,如图12所示,包括服务器14、客户端15和认证设备16。
[0536]服务器14包括:
[0537]第一接收模块1401,用于接收客户端15发送的访问请求和验签请求;
[0538]第五判断模块1402,用于根据访问请求中的用户信息检索相应的注册密钥标识、认证方式标识和认证设备的特征值是否存在,若存在则触发第六判断模块1403,否则触发第一发送模块1406向客户端15发送错误提示;
[0539]第六判断模块1403,用于根据认证设备的特征值,判断服务器与认证设备之间是否存在网络连接,若存在则触发第一生成模块1404,否则触发第一发送模块1406向客户端15发送不存在网络连接响应;
[0540]第一生成模块1404,用于当第一接收模块1401接收到访问请求时生成第一挑战值;并根据第一挑战值、密钥标识和认证方式标识生成第一认证请求;
[0541]第一验证模块1405,用于对第一接收模块1401接收到的验签请求进行验证,并判断是否验证成功,如果是,则允许用户访问所请求的资源,否则不允许用户访问所请求的资源;
[0542]第一发送模块1406,用于将第一挑战值发送给客户端15,向客户端15发送不存在网络连接响应;还用于将第一认证请求发送给认证设备16;
[0543]客户端15包括:
[0544]第二接收模块1501,用于接收服务器14发送来的不存在网络连接响应;
[0545]第二发送模块1502,用于向服务器14发送访问请求;
[0546]提示模块1503,用于当第二接收模块1501接收到不存在网络连接响应时,开启网络连接界面,提示用户启动认证设备;
[0547]认证设备16包括:
[0548]第三接收模块1600,用于接收服务器14发送的第一认证请求;
[0549]身份认证模块1601,用于当根据第一认证请求中的认证方式标识被启动后,接收用户输入的识别码;
[0550]具体的,在本实施例中,身份认证模块1601与认证方式标识一一对应;
[0551]第九判断模块1602,用于判断身份认证模块1601接收到的识别码与内部保存的配对码是否匹配,若匹配则触发第十判断模块1603,否则提示用户重新输入识别码;
[0552]第十判断模块1603,用于根据第一认证请求中的认证密钥标识检索是否存在匹配的私钥,是则触发生成签名模块1604,否则触发第三发送模块1606向客户端15发送错误提示;
[0553]生成签名模块1604,用于生成第二挑战值,并根据预设哈希算法对接收到的第一挑战值进行计算生成挑战哈希值,使用检索到的私钥根据预设签名算法对第二挑战值和挑战哈希值进行签名,得到第二签名值;
[0554]第五生成模块1605,用于根据第二挑战值、挑战哈希值和第二签名值生成第二验签请求;
[0555]第三发送模块1606,用于将第二验签请求发送给服务器14,还用于向客户端15发送错误提示。
[0556]在本实施例中,服务器14还包括:
[0557]第十一判断模块,用于根据用户信息和密钥标识检索对应的公钥,若检索到公钥,则触发第一验证模块1405,否则触发第一发送模块1406向客户端15发送错误提示。
[0558]在本发明实施例中,如认证设备与服务器直接连接,则计算挑战哈希值和生成第二验签请求的操作既可以在终端进行也可以在认证设备上进行。
[0559]以上所述,仅为本发明较佳的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
【主权项】
1.一种认证系统的工作方法,其特征在于,所述认证系统包括服务器、客户端和独立的身份认证模块,所述方法包括: 步骤S1:当服务器接收到所述客户端发送的访问请求时生成第一挑战值并保存,并将所述第一挑战值发送给所述客户端; 步骤S2:所述客户端使用预设哈希算法对所述第一挑战值进行哈希计算,生成挑战哈布值并保存; 步骤S3:所述客户端启动所述身份认证模块,所述身份认证模块等待并接收用户输入的识别码; 步骤S4:所述身份认证模块判断接收到的识别码与内部保存的配对码是否匹配,如果是,则执行步骤S5,否则提示用户重新输入识别码,执行步骤S4; 步骤S5:所述身份认证模块根据预设签名算法使用与所述配对码对应的私钥对所述客户端保存的所述挑战哈希值进行计算得到签名值并将其发送给所述客户端,所述客户端根据所述签名值和所述挑战哈希值生成验签请求并将所述验签请求发送至所述服务器; 步骤S6:所述服务器对接收到的所述验签请求进行验证,并判断是否验证成功,如果是,则允许用户访问所请求的资源,否则不允许用户访问所请求的资源。2.根据权利要求1所述的方法,其特征在于,所述步骤S6之前还包括:所述服务器根据用户信息检索对应的公钥,若检索到公钥,则执行步骤S6,否则服务器向客户端发送错误提示,结束; 步骤S6包括:所述服务器用检索到的公钥对所述验签请求中的签名值进行解密,用预设哈希算法对保存的第一挑战值进行哈希计算,判断计算得到的挑战哈希值和解密结果是否一致,是则允许用户访问所请求的资源,否则不允许用户访问所请求的资源。3.根据权利要求1所述的方法,其特征在于,所述步骤SI中生成挑战值之前还包括:所述服务器保存所述访问请求中的用户信息,并根据所述用户信息判断所述访问请求是否合法,是则生成挑战值,否则向所述客户端发送错误提示。4.根据权利要求3所述的方法,其特征在于,所述根据所述用户信息判断所述访问请求是否合法包括:所述服务器判断所述用户信息与内部保存的用户信息是否相同,是则所述访问请求合法,否则所述访问请求不合法。5.根据权利要求1所述的方法,其特征在于,所述步骤S4与步骤S5之间包括:所述客户端生成第二挑战值并保存; 所述步骤S5具体为:所述身份认证模块根据预设签名算法使用与所述匹配码对应的私钥对所述第二挑战值和所述哈希挑战值进行计算得到签名值,将所述签名值发送给所述客户端,所述客户端根据所述第二挑战值、所述哈希挑战值和所述签名值生成验签请求将其发送给所述服务器。6.根据权利要求5所述的方法,其特征在于,所述步骤S6之前还包括:所述服务器根据用户信息检索对应的公钥,若检索到公钥,则执行步骤S6,否则服务器向客户端发送错误提示,结束; 所述步骤S6包括: 步骤S6-1:所述服务器使用公钥解密验签请求,将解密得到的第二挑战值、挑战哈希值分别与所述验签请求中发来的第二挑战值、挑战哈希值进行比对,若均一致则执行步骤S6-2,否则不允许用户访问所请求的资源; 步骤S6-2:所述服务器使用预设哈希算法对保存的所述第一挑战值进行计算,判断计算得到的挑战哈希值与所述验签请求中的挑战哈希值是否一致,是则允许用户访问所请求的资源,否则不允许用户访问所请求的资源。7.根据权利要求1所述的方法,其特征在于,所述步骤SI包括:所述服务器根据所述访问请求中的用户信息检索相应的密钥标识是否存在,若存在则生成第一挑战值,并将所述第一挑战值和密钥标识发送给所述客户端,否则向所述客户端发送错误提示; 所述步骤S6之前还包括:所述服务器根据用户信息和所述密钥标识检索对应的公钥,若检索到公钥,则执行步骤S6,否则所述服务器向所述客户端发送错误提示,结束。8.根据权利要求7所述的方法,其特征在于,所述步骤S5之前包括:所述客户端将所述密钥标识发送给所述身份认证模块,所述身份认证模块根据接收到的所述密钥标识检索对应的私钥是否存在,是则执行步骤S5,否则提示错误,结束;所述配对码、所述密钥标识和所述私钥、所述公钥一一对应; 所述步骤S5具体为:所述身份认证模块生成第二挑战值,根据预设签名算法使用与所述检索到的私钥对所述挑战哈希值和所述第二挑战值进行计算得到签名值,将所述第二挑战值和所述签名值发送给所述客户端,所述客户端根据所述签名值、所述第二挑战值和所述挑战哈希值生成验签请求并将所述验签请求发送至所述服务器; 所述配对码、所述密钥标识和所述私钥、所述公钥一一对应。9.根据权利要求1所述的方法,其特征在于,所述步骤SI包括:所述服务器根据所述访问请求中的用户信息检索相应的密钥标识和认证方式标识是否存在,若存在则生成第一挑战值,并将所述第一挑战值、密钥标识和认证方式标识发送给所述客户端,否则向所述客户端发送错误提示。10.根据权利要求9所述的方法,其特征在于,所述认证系统还包括认证设备,所述步骤S3-S5替换为: 步骤Al:所述客户端将所述挑战哈希值、密钥标识和认证方式标识发送给所述认证设备; 步骤A2:所述认证设备根据所述认证方式标识启动相应的身份认证模块,等待并接收用户通过所述身份认证模块输入的识别码,执行步骤A3; 步骤A3:所述认证设备判断接收到的识别码与内部保存的配对码是否匹配,若匹配则执行步骤A4,否则提示用户重新输入识别码,返回步骤A3;所述配对码、所述密钥标识和所述私钥、所述公钥 对应; 步骤A4:所述认证设备根据接收到的所述密钥标识检索相应的私钥是否存在,若存在则执行步骤A5,否则向所述客户端发送错误提示; 步骤A5:所述认证设备生成第二挑战值,并根据预设签名算法使用检索到的私钥对所述第二挑战值和接收到的所述挑战哈希值进行签名,得到签名值,并将所述签名值和所述第二挑战值发送给所述客户端; 步骤A6:所述客户端根据所述第二挑战值、所述挑战哈希值和所述签名值生成验签请求; 步骤A7:所述客户端向所述服务器发送所述验签请求。11.根据权利要求10所述的方法,其特征在于,所述步骤A5中还包括:所述认证设备将接收到的所述挑战哈希值发送给所述客户端; 所述步骤A6之前包括:所述客户端判断接收到的所述挑战哈希值与保存的挑战哈希值是否一致,若一致则执行步骤A6,否则提示错误信息。12.根据权利要求10所述的方法,其特征在于,所述步骤S6之前还包括:所述服务器根据用户信息和所述密钥标识检索对应的公钥,若检索到公钥,则执行步骤S6,否则向所述客户端发送错误提示,结束。13.根据权利要求1所述的方法,其特征在于,所述系统还包括认证设备,所述步骤SI包括: 步骤Sl-1:所述服务器根据所述访问请求中的用户信息检索相应的注册密钥标识、认证方式标识和认证设备的特征值是否存在,若存在则执行步骤S1-2,否则向所述客户端发送错误提示; 步骤S1-2:所述服务器根据所述认证设备的特征值,判断所述服务器与认证设备之间是否存在网络连接,若存在则执行步骤S1-3,否则向所述客户端发送不存在网络连接响应;步骤S1-3:所述服务器生成第一挑战值,并根据所述第一挑战值、密钥标识和认证方式标识生成第一认证请求并将其发送给所述认证设备。14.根据权利要求13所述的方法,其特征在于,所述步骤S1-2判断为否时还包括: 步骤B1:当所述客户端接收到不存在网络连接响应时,所述客户端开启网络连接界面,提示用户启动所述认证设备; 步骤B2:当所述认证设备接收到启动信息后,获取内部预设的访问地址,根据所述访问地址访问对应的服务器,建立所述认证设备与所述服务器之间的网络连接; 步骤B3:所述认证设备根据预设签名算法,使用内置注册密钥对的私钥对内部保存的认证设备的特征值进行签名,得到第一签名值; 步骤B4:所述认证设备根据所述认证设备的特征值、所述注册密钥标识和第一签名值生成注册验签请求; 步骤B5:所述认证设备向所述服务器发送所述注册验签请求; 步骤B6:所述服务器根据所述注册验签请求中的注册密钥标识检索对应注册密钥对的公钥是否存在,若存在则执行步骤B7,否则向所述客户端发送错误提示; 步骤B7:所述服务器使用所述注册密钥对的公钥对注册验签请求进行验证,判断验证是否成功,是则执行步骤B8,否则向所述客户端发送错误提示; 步骤B8:所述服务器根据所述用户信息、所述注册密钥标识与所述认证设备的特征值的对应关系,建立所述用户信息与网络连接的对应关系,并建立认证设备与服务器之间的网络连接; 步骤B9:所述服务器向所述客户端发送网络连接响应,执行步骤S1-3。15.根据权利要求13所述的方法,其特征在于,所述步骤S3-S5替换为: 步骤Cl:所述认证设备根据第一认证请求中的认证方式标识启动对应的身份认证模块,等待并接收用户输入的识别码; 步骤C2:所述认证设备判断接收到的识别码与内部保存的配对码是否匹配,若匹配则执行步骤C3,否则提示用户重新输入识别码,返回步骤C2; 步骤C3:所述认证设备根据所述第一认证请求中的认证密钥标识检索是否存在匹配的私钥,是则执行步骤C4,否则向所述客户端发送错误提示;所述配对码、所述认证密钥标识和所述私钥、所述公钥一一对应; 步骤C4:所述认证设备生成第二挑战值,并根据预设哈希算法对接收到的所述第一挑战值进行计算生成挑战哈希值,使用检索到的私钥根据预设签名算法对所述第二挑战值和所述挑战哈希值进行签名,得到第二签名值; 步骤C5:所述认证设备根据所述第二挑战值、所述挑战哈希值和所述第二签名值生成第二验签请求,并将所述第二验签请求发送给所述服务器。16.根据权利要求15所述的方法,其特征在于,所述步骤S6之前还包括:所述服务器根据所述用户信息和所述密钥标识检索对应的公钥,若检索到公钥,则执行步骤S6,否则向所述客户端发送错误提示,结束。17.根据权利要求14所述的方法,其特征在于,当所述服务器在预设时间内未接收到数据时,还包括:所述服务器断开与所述认证设备之间的网络连接,以及销毁所述用户信息与所述网络连接的对应关系。18.根据权利要求14所述的方法,其特征在于,所述步骤B8与步骤B9之间还包括:所述服务器根据所述用户信息判断是否能够获取到所述服务器与所述客户端之间的通道,如果是,则执行步骤B8,否则通过所述通道向所述客户端发送不存在网络连接响应。19.根据权利要求14所述的方法,其特征在于,所述步骤S6中判断为是还包括:所述服务器向所述客户端发送身份认证成功的验签响应,所述客户端接收到身份认证成功的验签响应后提示用户断开网络连接,当所述认证设备检测到关机键被按下时,所述认证设备断开所述网络连接并关机。20.根据权利要求14所述的方法,其特征在于,还包括:当所述认证设备在预设时间内未接收到所述服务器发送的数据时,所述认证设备断开与所述服务器之间的网络连接,关机。21.一种认证系统,其特征在于,包括:客户端、服务器和独立的身份认证模块; 所述服务器包括: 第一接收模块,用于接收所述客户端发送的访问请求和验签请求; 第一生成模块,用于当所述第一接收模块接收到访问请求时生成第一挑战值并保存;第一验证模块,用于对所述第一接收模块接收到的所述验签请求进行验证,并判断是否验证成功,如果是,则允许用户访问所请求的资源,否则不允许用户访问所请求的资源;第一发送模块,用于将所述第一挑战值发送给所述客户端; 所述客户端包括: 第二接收模块,用于接收所述服务器发送来的所述第一挑战值,还用于接收所述身份认证模块发送的签名值; 计算保存模块,用于使用预设哈希算法对所述第一挑战值进行哈希计算,生成挑战哈希值并保存; 第二生成模块,用于根据所述第二接收模块接收到的所述签名值和保存的所述挑战哈希值生成验签请求; 第二发送模块,用于将所述挑战哈希值发送给所述身份认证模块,还用于向所述服务器发送所述访问请求和所述验签请求; 所述身份认证模块,用于接收用户输入的识别码和所述客户端发送的挑战哈希值,并判断接收到的识别码与内部保存的配对码是否匹配,是则根据预设签名算法使用与所述配对码对应的私钥对接收到的所述挑战哈希值进行计算得到签名值并将其发送给所述客户端。22.根据权利要求21所述的系统,其特征在于,所述服务器还包括:第一检索模块,用于根据用户信息检索对应的公钥,若检索到公钥,则触发所述第一验证模块,否则触发所述第一发送模块向客户端发送错误提示; 所述第一验证模块,具体用于使用所述检索模块检索到的公钥对所述验签请求中的签名值进行解密,用预设哈希算法对保存的第一挑战值进行哈希计算,判断计算得到的挑战哈希值和解密结果是否一致,是则允许用户访问所请求的资源,否则不允许用户访问所请求的资源。23.根据权利要求21所述的系统,其特征在于,所述服务器还包括: 保存判断模块,用于保存所述访问请求中的用户信息,并根据所述用户信息判断所述访问请求是否合法,是则触发所述第一生成模块,否则触发所述第一发送模块向所述客户端发送错误提示。24.根据权利要求23所述的系统,其特征在于,所述保存判断模块,具体用于保存所述访问请求中的用户信息,并判断所述用户信息与内部保存的用户信息是否相同,是则触发所述第一生成模块,否则触发所述第一发送模块向所述客户端发送错误提示。25.根据权利要求21所述的系统,其特征在于,所述客户端还包括: 生成保存模块,用于生成第二挑战值并保存; 所述第二发送模块,还用于将所述第二挑战值发送给所述身份认证模块; 所述身份认证认证模块具体用于接收用户输入的识别码和所述客户端发送的挑战哈希值、第二挑战值,并判断接收到的识别码与内部保存的配对码是否匹配,是则根据预设签名算法使用与所述匹配码对应的私钥对所述第二挑战值和所述哈希挑战值进行计算得到签名值并将其发送给所述客户端; 所述第二生成模块,具体用于根据所述签名值、保存的哈希挑战值和所述第二挑战值生成验签请求。26.根据权利要求25所述的系统,其特征在于,所述服务器还包括:第一检索模块,用于根据用户信息检索对应的公钥,若检索到公钥,则触发所述第一验证模块,否则触发所述第一发送模块向客户端发送错误提示; 所述第一验证模块包括: 解密对比单元,用于使用公钥解密验签请求,将解密得到的第二挑战值、挑战哈希值分别与所述验签请求中发来的第二挑战值、挑战哈希值进行比对,若均一致则触发计算判断单元,否则不允许用户访问所请求的资源; 所述计算判断单元,用于使用预设哈希算法对保存的所述第一挑战值进行计算,判断计算得到的挑战哈希值与所述验签请求中的挑战哈希值是否一致,是则允许用户访问所请求的资源,否则不允许用户访问所请求的资源。27.根据权利要求21所述的系统,其特征在于,所述服务器还包括第二检索模块和第三检索模块; 所述第二检索模块,用于根据所述访问请求中的用户信息检索相应的密钥标识是否存在,若存在则触发所述第一生成模块,否则触发所述第一发送模块向所述客户端发送错误提不; 所述第一发送模块还用于将所述密钥标识发送给所述客户端; 所述第三检索模块,用户根据用户信息和所述密钥标识检索对应的公钥,若检索到公钥,则触发所述第一验证模块,否则触发所述第一发送模块向所述客户端发送错误提示。28.根据权利要求27所述的系统,其特征在于,所述第二接收模块还用于接收所述密钥标识,所述第二发送模块还用于将所述密钥标识发送给所述身份认证模块; 所述身份认证模块用于接收用户输入的识别码和所述客户端发送的挑战哈希值、所述密钥标识,并判断接收到的识别码与内部保存的配对码是否匹配,是则根据接收到的所述密钥标识检索对应的私钥是否存在,是则生成第二挑战值,根据预设签名算法使用与所述检索到的私钥对所述挑战哈希值和所述第二挑战值进行计算得到签名值,将所述第二挑战值和所述签名值发送给所述客户端;所述配对码、所述密钥标识和所述私钥、所述公钥一一对应; 所述第二生成模块具体用于根据所述签名值、所述第二挑战值和所述挑战哈希值生成验签请求。29.根据权利要求21所述的系统,其特征在于,所述服务器还包括:第四检索模块,用于根据所述访问请求中的用户信息检索相应的密钥标识和认证方式标识是否存在,若存在则触发所述第一生成模块,否则触发所述第一发送模块向所述客户端发送错误提示; 所述第一发送模块,还用于将所述第一挑战值、密钥标识和认证方式标识发送给所述客户端。30.根据权利要求29所述的系统,其特征在于,还包括认证设备,所述身份认证模块设置在认证设备中; 所述第二发送模块,还用于将所述挑战哈希值、密钥标识和认证方式标识发送给所述认证设备; 所述认证设备包括: 第三接收模块,用于接收所述第二发送模块发送的挑战哈希值、密钥标识和认证方式标识; 身份认证模块,用于接收用户输入的识别码; 第三判断模块,用于判断所述身份认证模块接收到的识别码与内部保存的配对码是否匹配,若匹配则触发第五检索模块,否则提示用户重新输入识别码; 所述第五检索模块,用于根据所述第三接收模块接收到的所述密钥标识检索相应的私钥是否存在,若存在则触发生成签名模块,否则触发第三发送模块向所述客户端发送错误提示;所述配对码、所述密钥标识和所述私钥、所述公钥一一对应; 所述生成签名模块,用于生成第二挑战值,并根据预设签名算法使用检索到的私钥对所述第二挑战值和接收到的所述挑战哈希值进行签名,得到签名值; 所述第三发送模块,用于将所述第二挑战值和所述签名值发送给所述客户端; 所述第二接收模块还用于接收所述认证设备发送的所述第二挑战值; 所述第二生成模块具体用于根据所述第二接收模块接收到的所述第二挑战值、所述签名值和所述挑战哈希值生成验签请求。31.根据权利要求30所述的系统,其特征在于,所述第三发送模块还用于将接收到的所述哈希挑战值发送给所述客户端; 所述第二接收模块还用于接收所述认证设备发送的挑战哈希值; 所述客户端还包括: 第四判断模块,用于判断接收到的所述挑战哈希值与保存的挑战哈希值是否一致,若一致则触发所述第二生成模块,否则提示错误信息。32.根据权利要求30所述的系统,其特征在于,所述服务器还包括: 第六检索模块,用于根据用户信息和所述密钥标识检索对应的公钥,若检索到公钥,则触发所述第一验证模块,否则触发所述第一发送模块向所述客户端发送错误提示。33.根据权利要求21所述的系统,其特征在于,还包括认证设备,所述服务器还包括: 第五判断模块,用于根据所述访问请求中的用户信息检索相应的注册密钥标识、认证方式标识和认证设备的特征值是否存在,若存在则触发第六判断模块,否则触发所述第一发送模块向所述客户端发送错误提示; 所述第六判断模块,用于根据所述认证设备的特征值,判断所述服务器与认证设备之间是否存在网络连接,若存在则触发所述第一生成模块,否则触发所述第一发送模块向所述客户端发送不存在网络连接响应; 所述第一生成模块,具体用于生成第一挑战值,并根据所述第一挑战值、密钥标识和认证方式标识生成第一认证请求; 所述第一发送模块,还用于将所述第一认证请求发送给所述认证设备。34.根据权利要求33所述的系统,其特征在于, 所述客户端包括的模块替换为: 第二接收模块,用于接收所述服务器发送来的所述第一挑战值、网络连接响应和不存在网络连接响应,还用于接收所述所述认证设备发送的第二签名值和所述第二挑战值;计算保存模块,用于使用预设哈希算法对所述第一挑战值进行哈希计算,生成挑战哈希值并保存; 第二生成模块,用于根据所述第二接收模块接收到的所述第二签名值、第二挑战值和保存的所述挑战哈希值生成验签请求; 第二发送模块,用于将所述挑战哈希值、密钥标识和认证方式标识发送给所述认证设备,还用于向所述服务器发送所述访问请求和所述验签请求; 提示模块,用于当所述第二接收模块接收到不存在网络连接响应时,开启网络连接界面,提示用户启动所述认证设备; 所述认证设备包括: 第三接收模块,用于在接收到启动信息后,接收所述第一发送模块发送的第一认证请求;接收所述客户端发送的挑战哈希值、密钥标识和认证方式标识; 获取建立模块,用于当所述第三接收模块接收到启动信息后获取内部预设的访问地址,根据所述访问地址访问对应的服务器,建立所述认证设备与所述服务器之间的网络连接; 第一签名模块,用于根据预设签名算法,使用内置注册密钥对的私钥对内部保存的认证设备的特征值进行签名,得到第一签名值; 第四生成模块,用于根据所述认证设备的特征值、所述注册密钥标识和第一签名值生成注册验签请求; 身份认证模块,用于当根据所述第一认证请求中的认证方式标识被启动后,接收用户输入的识别码; 所述第七判断模块,用于判断所述身份认证模块接收到的识别码与内部保存的配对码是否匹配,若匹配则触发第八判断模块,否则提示用户重新输入识别码; 所述第八判断模块,用于根据所述第一认证请求中的认证密钥标识检索是否存在匹配的私钥,是则触发生成签名模块,否则触发第三发送模块向所述客户端发送错误提示; 所述生成签名模块,用于生成第二挑战值,使用检索到的私钥根据预设签名算法对所述第二挑战值和所述挑战哈希值进行签名,得到第二签名值; 第三发送模块,用于向所述服务器发送所述注册验签请求;还用于将所述第二签名值和所述第二挑战值发送给所述客户端; 所述第一接收模块还用于接收所述第三发送模块发送的注册验签请求; 所述服务器还包括: 第七检索模块,用于根据所述注册验签请求中的注册密钥标识检索对应注册密钥对的公钥是否存在,若存在则触发所述第二验证模块,否则触发所述第一发送模块向所述客户端发送错误提示; 所述第二验证模块,用于使用所述注册密钥对的公钥对注册验签请求进行验证,判断验证是否成功,是则触发建立模块,否则触发所述第一发送模块向所述客户端发送错误提示; 所述建立模块,用于根据所述用户信息、所述注册密钥标识与所述认证设备的特征值的对应关系,建立所述用户信息与网络连接的对应关系,并建立认证设备与服务器之间的网络连接,触发所述第一生成模块; 所述第一发送模块,还用于向所述客户端发送网络连接响应。35.根据权利要求33所述的系统,其特征在于, 所述客户端包括的模块替换为: 第二接收模块,用于接收所述服务器发送来的不存在网络连接响应; 第二发送模块,用于向所述服务器发送所述访问请求; 提示模块,用于当所述第二接收模块接收到不存在网络连接响应时,开启网络连接界面,提示用户启动所述认证设备; 所述认证设备包括: 第三接收模块,用于接收所述服务器发送的第一认证请求; 身份认证模块,用于当根据所述第一认证请求中的认证方式标识被启动后,接收用户输入的识别码; 第九判断模块,用于判断所述身份认证模块接收到的识别码与内部保存的配对码是否匹配,若匹配则触发第十判断模块,否则提示用户重新输入识别码; 所述第十判断模块,用于根据所述第一认证请求中的认证密钥标识检索是否存在匹配的私钥,是则触发生成签名模块,否则触发第三发送模块向所述客户端发送错误提示; 所述生成签名模块,用于生成第二挑战值,并根据预设哈希算法对接收到的所述第一认证请求中的第一挑战值进行计算生成挑战哈希值,使用检索到的私钥根据预设签名算法对所述第二挑战值和所述挑战哈希值进行签名,得到第二签名值; 第五生成模块,用于根据所述第二挑战值、所述挑战哈希值和所述第二签名值生成第二验签请求; 第三发送模块,用于将所述第二验签请求发送给所述服务器,还用于向所述客户端发送错误提示。36.根据权利要求35所述的系统,其特征在于,所述服务器还包括: 第十一判断模块,用于根据所述用户信息和所述密钥标识检索对应的公钥,若检索到公钥,则触发所述第一验证模块,否则触发所述第一发送模块向所述客户端发送错误提示。37.根据权利要求34所述的系统,其特征在于,所述服务器还包括: 断开销毁模块,用于当所述第一接收模块在预设时间内未接收到数据时,断开与所述认证设备之间的网络连接,以及销毁所述用户信息与所述网络连接的对应关系。38.根据权利要求34所述的系统,其特征在于,所述服务器还包括: 第十一判断模块,用于根据所述用户信息判断是否能够获取到所述服务器与所述客户端之间的通道,如果是,则触发所述建立模块,否则触发所述第一发送模块通过所述通道向所述客户端发送不存在网络连接响应。39.根据权利要求34所述的系统,其特征在于,所述第一发送模块还用于向所述客户端发送身份认证成功的验签响应; 所述客户端还包括:提示模块,用于当所述第二接收模块接收到身份认证成功的验签响应后,提示用户断开网络连接; 所述认证设备还包括:断开模块,用于当检测到关机键被按下时,断开所述网络连接并关机。40.根据权利要求34所述的系统,其特征在于,所述认证设备还包括:断开模块,用于在预设时间内未接收到所述服务器发送的数据时,断开所述认证设备与所述服务器之间的网络连接,关机。
【文档编号】H04L29/06GK105847247SQ201610162732
【公开日】2016年8月10日
【申请日】2016年3月21日
【发明人】陆舟, 于华章
【申请人】飞天诚信科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1