身份认证方法和装置的制造方法

文档序号:10660910阅读:270来源:国知局
身份认证方法和装置的制造方法
【专利摘要】本申请提供一种身份认证方法和装置,该方法包括:在与服务端建立HTTPS连接后,检测是否有USB Key接入;如果有USB Key接入,则生成随机数,并向USB Key发送随机数,以使USB Key根据预存的算法对随机数进行计算得到第一计算结果,并利用预存的私钥对第一计算结果进行加密得到第一加密结果;在获取到第一加密结果和USB Key中预存的数字证书后,构造携带随机数、第一加密结果和数字证书的认证报文,并基于HTTPS连接向服务端发送认证报文,以使服务端在确定数字证书合法,且确定对随机数的计算结果和对第一加密结果的解密结果一致时,确定身份认证成功。本申请技术方案可以提高身份认证方案的适用性。
【专利说明】
身份认证方法和装置
技术领域
[0001 ]本申请涉及通信技术领域,尤其涉及一种身份认证方法和装置。
【背景技术】
[0002] 随着互联网的快速发展,网络安全问题越来越重要。对于防火墙等网络安全产品, 管理员可以对其参数进行配置管理,而配置管理的安全性又首先取决于管理员身份的合法 性。在相关技术中,在对管理员身份的合法性进行认证时,可以在客户端与服务端建立 HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer,基于安全套接层的 超文本传输协议)连接的过程中完成身份认证过程。
[0003] 在上述情况下,需要在USB Key中预存符合中国国家标准的数字证书,并在客户端 和服务端的0penSSL(0pen Secure Socket Layer,开源安全套接层)库中集成符合中国国 家标准的密码算法套件,否则就无法在建立HTTPS连接的过程中进行身份认证。由于将符合 中国国家标准的密码算法套件集成在OpenSSL库中的过程非常复杂,因此上述身份认证方 案的适用性低。

【发明内容】

[0004] 有鉴于此,本申请提供一种身份认证方法和装置,以解决相关技术中身份认证方 案的适用性低的问题。
[0005] 具体地,本申请是通过如下技术方案实现的:
[0006] 第一方面,本申请提供一种身份认证方法,所述方法应用于客户端,包括:
[0007] 在与服务端建立HTTPS连接后,检测是否有USB Key接入;
[0008] 如果有USB Key接入,则生成随机数,并向所述USB Key发送所述随机数,以使所述 USB Key根据预存的算法对所述随机数进行计算以得到第一计算结果,并利用预存的私钥 对所述第一计算结果进行加密以得到第一加密结果;
[0009] 在获取到所述第一加密结果和USB Key中预存的数字证书后,构造携带所述随机 数、所述第一加密结果和所述数字证书的认证报文,并基于所述HTTPS连接向所述服务端发 送所述认证报文,以使所述服务端在确定所述数字证书合法,且确定对所述随机数的计算 结果和对所述第一加密结果的解密结果一致时,确定身份认证成功。
[0010] 第二方面,本申请提供一种身份认证方法,所述方法应用于服务端,包括:
[0011]在与客户端建立HTTPS连接后,接收所述客户端基于所述HTTPS连接发送的认证报 文,所述认证报文携带随机数、第一加密结果和数字证书,所述随机数由所述客户端生成, 所述第一加密结果为USB Key在根据预存的算法对所述随机数进行计算以得到第一计算结 果后,利用预存的私钥对所述第一计算结果进行加密后得到,所述数字证书为USB Key中预 存的数字证书;
[0012]在确定所述数字证书合法时,从所述数字证书中获取预存的算法和公钥,并根据 所述算法对所述随机数进行计算以得到第二计算结果,以及利用所述公钥对所述第一加密 结果进行解密以得到第一解密结果;
[0013]在确定所述第二计算结果与所述第一解密结果一致时,确定身份认证成功。
[0014] 第三方面,本申请提供一种身份认证装置,所述装置应用于客户端,包括:
[0015] 检测单元,用于在与服务端建立HTTPS连接后,检测是否有USB Key接入;
[0016] 执行单元,用于在有USB Key接入时,生成随机数,并向所述USB Key发送所述随机 数,以使所述USB Key根据预存的算法对所述随机数进行计算以得到第一计算结果,并利用 预存的私钥对所述第一计算结果进行加密以得到第一加密结果;
[0017] 第一发送单元,用于在获取到所述第一加密结果和USB Key中预存的数字证书后, 构造携带所述随机数、所述第一加密结果和所述数字证书的认证报文,并基于所述HTTPS连 接向所述服务端发送所述认证报文,以使所述服务端在确定所述数字证书合法,且确定对 所述随机数的计算结果和对所述第一加密结果的解密结果一致时,确定身份认证成功。
[0018] 第四方面,本申请提供一种身份认证装置,所述装置应用于服务端,包括:
[0019] 接收单元,用于在与客户端建立HTTPS连接后,接收所述客户端基于所述HTTPS连 接发送的认证报文,所述认证报文携带随机数、第一加密结果和数字证书,所述随机数由所 述客户端生成,所述第一加密结果为USB Key在根据预存的算法对所述随机数进行计算以 得到第一计算结果后,利用预存的私钥对所述第一计算结果进行加密后得到,所述数字证 书为USB Key中预存的数字证书;
[0020] 计算单元,用于在确定所述数字证书合法时,从所述数字证书中获取预存的算法 和公钥,并根据所述算法对所述随机数进行计算以得到第二计算结果,以及利用所述公钥 对所述第一加密结果进行解密以得到第一解密结果;
[0021] 认证单元,用于在确定所述第二计算结果与所述第一解密结果一致时,确定身份 认证成功。
[0022]分析上述技术方案可知,客户端与服务端可以先利用其OpenSSL库中已集成的符 合国际标准的算法建立HTTPS连接,再由客户端基于所述HTTPS连接向服务端发送认证报 文。服务端在接收到该认证报文后,可以利用该认证报文对接入的USB Key进行认证,完成 身份认证过程。与相关技术相比,在USB Key中预存的是符合中国国家标准的数字证书时, 无需在客户端与服务端的OpenSSL库中集成符合中国国家标准的算法,也可以实现身份认 证过程,从而提高了上述身份认证方案的适用性。
【附图说明】
[0023]图1是本申请一示例性实施例示出的一种身份认证方法的流程图;
[0024] 图2是本申请一示例性实施例示出的另一种身份认证方法的流程图;
[0025] 图3是本申请一示例性实施例示出的另一种身份认证方法的流程图;
[0026] 图4是本申请一示例性实施例示出的一种身份认证装置所在设备的硬件结构图;
[0027] 图5是本申请一示例性实施例示出的另一种身份认证装置所在设备的硬件结构 图;
[0028] 图6是本申请一示例性实施例示出的一种身份认证装置的框图;
[0029]图7是本申请一示例性实施例示出的另一种身份认证装置的框图。
【具体实施方式】
[0030]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及 附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例 中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附 权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0031 ]在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。 在本申请和所附权利要求书中所使用的单数形式的"一种"、"所述"和"该"也旨在包括多数 形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语"和/或"是指并包 含一个或多个相关联的列出项目的任何或所有可能组合。
[0032]应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这 些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离 本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第 一信息。取决于语境,如在此所使用的词语"如果"可以被解释成为"在……时"或"当…… 时"或"响应于确定"。
[0033] 相关技术中,客户端与服务端可以在通过双向的SSL(Secure Sockets Layer,安 全套接层)握手建立HTTPS连接的过程中,实现身份认证过程,即将身份认证过程整合到双 向的SSL握手过程中。由于在身份认证过程中使用的USB Key中预存的是符合中国国家标准 的数字证书,因此为了在SSL握手过程中实现身份认证,需要分别在客户端与服务端的 OpenSSL库中集成符合中国国家标准的算法。由于该算法集成过程非常复杂,因此上述身份 认证方案的适用性低。
[0034]参考图1,为本申请一示例性实施例示出的一种身份认证方法的流程图,该方法应 用在客户端,包括以下步骤:
[0035]步骤101:在与服务端建立HTTPS连接后,检测是否有USB Key接入。
[0036] 本实施例中,客户端与服务端可以先通过相关技术中的SSL握手过程建立HTTPS连 接,此时SSL握手过程可以采用已集成在客户端与服务端的OpenSSL库中符合国际标准的算 法,也可以采用较容易集成到OpenSSL库中的算法。客户端可以在与服务端建立HTTPS连接 后,检测是否有USB Key接入。如果有USB Key接入,则可以执行步骤102。如果没有USB Key 接入,则客户端可以通过弹窗提示用户插入USB Key。
[0037] 步骤102:生成随机数,并向所述USB Key发送所述随机数,以使所述USB Key根据 预存的算法对所述随机数进行计算以得到第一计算结果,并利用预存的私钥对所述第一计 算结果进行加密以得到第一加密结果。
[0038]本实施例中,如果客户端在前述步骤101中检测到已有USB Key接入,则可以生成 随机数。USB Key在获取到客户端生成的随机数后,可以根据预存的算法对所述随机数进行 计算,得到第一计算结果,并利用预存的私钥对所述第一计算结果进行加密,得到第一加密 结果。其中,所述随机数的长度可以是默认的缺省值,也可以是用户预先设置的阈值,本申 请不作特殊限制。
[0039]步骤103:在获取到所述第一加密结果和USB Key中预存的数字证书后,构造携带 所述随机数、所述第一加密结果和所述数字证书的认证报文,并基于所述HTTPS连接向所述 服务端发送所述认证报文,以使所述服务端在确定所述数字证书合法,且确定对所述随机 数的计算结果和对所述第一加密结果的解密结果一致时,确定身份认证成功。
[0040] 本实施例中,USB Key可以将在前述步骤102中得到的第一加密结果和预存的数字 证书发送给客户端,客户端可以基于在前述步骤102中生成的随机数,以及获取到的第一加 密结果和数字证书,构造认证报文,并将该认证报文发送给服务端。服务端在接收到该认证 报文后,可以先检测所述数字证书是否合法,如果合法,则可以利用所述数字证书中的算法 和公钥,比较对所述随机数的计算结果和对所述第一加密结果的解密结果是否一致,如果 一致,则服务端确定身份认证成功;否则,服务端确定身份认证失败。
[0041] 由上述实施例可见,客户端与服务端可以先利用其OpenSSL库中已集成的符合国 际标准的算法建立HTTPS连接,再由客户端基于所述HTTPS连接向服务端发送认证报文。月艮 务端在接收到该认证报文后,可以利用该认证报文对接入的USB Key进行认证,完成身份认 证过程。与相关技术相比,在USB Key中预存的是符合中国国家标准的数字证书时,无需在 客户端与服务端的OpenSSL库中集成符合中国国家标准的算法,利用数字证书中预存的算 法即可实现身份认证过程,从而大幅提高了上述身份认证方案的适用性。
[0042]参考图2,为本申请一示例性实施例示出的另一种身份认证方法的流程图,该方法 应用在服务端,包括以下步骤:
[0043]步骤201:在与客户端建立HTTPS连接后,接收所述客户端基于所述HTTPS连接发送 的认证报文,所述认证报文携带随机数、第一加密结果和数字证书,所述随机数由所述客户 端生成,所述第一加密结果为USB Key在根据预存的算法对所述随机数进行计算以得到第 一计算结果后,利用预存的私钥对所述第一计算结果进行加密后得到,所述数字证书为USB Key中预存的数字证书。
[0044] 本实施例中,客户端与服务端可以先通过相关技术中的SSL握手过程建立HTTPS连 接,此时SSL握手过程可以采用已集成在客户端与服务端的OpenSSL库中符合国际标准的算 法,也可以采用较容易集成到OpenSSL库中的算法。客户端在检测到已有USB Key接入后,可 以生成随机数。USB Key在获取到客户端生成的随机数后,可以根据预存的算法对所述随机 数进行计算,得到第一计算结果,并利用预存的私钥对所述第一计算结果进行加密,得到第 一加密结果。其中,所述随机数的长度可以是默认的缺省值,也可以是用户预先设置的阈 值,本申请不作特殊限制。客户端可以基于生成的随机数,以及通过USB Key获取到的第一 加密结果和USB Key中预存的数字证书,构造认证报文,并将该认证报文发送给服务端。 [0045]步骤202:在确定所述数字证书合法时,从所述数字证书中获取预存的算法和公 钥,并根据所述算法对所述随机数进行计算以得到第二计算结果,以及利用所述公钥对所 述第一加密结果进行解密以得到第一解密结果。
[0046]本实施例中,服务端在接收到客户端发送的认证报文后,可以先检测其携带的数 字证书是否合法。USB Key预存的数字证书中包含有该USB Key的公钥和支持的算法,服务 端可以在所述数字证书合法时,从所述数字证书中提取出所述公钥和所述算法。服务端可 以利用所述算法对接收到的认证报文携带的随机数进行计算,得到第二计算结果,同时还 可以利用所述公钥,对接收到的认证报文携带的第一加密结果进行解密,得到第一解密结 果。其中,所述算法即为前述步骤201中USB Key对随机数进行计算所使用的算法。
[0047]步骤203:在确定所述第二计算结果与所述第一解密结果一致时,确定身份认证成 功。
[0048] 本实施例中,服务端在前述步骤202中得到第二计算结果和第一解密结果后,可以 比较两者是否一致。如果两者一致,则服务端确定身份认证成功;如果两者不一致,则服务 端确定身份认证失败。
[0049] 由上述实施例可见,客户端与服务端可以先利用其OpenSSL库中已集成的符合国 际标准的算法建立HTTPS连接,再由客户端基于所述HTTPS连接向服务端发送认证报文。月艮 务端在接收到该认证报文后,可以利用该认证报文对接入的USB Key进行认证,完成身份认 证过程。与相关技术相比,在USB Key中预存的是符合中国国家标准的数字证书时,无需在 客户端与服务端的OpenSSL库中集成符合中国国家标准的算法,利用数字证书中预存的算 法即可实现身份认证过程,从而大幅提高了上述身份认证方案的适用性。
[0050] 参考图3,为本申请一示例性实施例示出的另一种身份认证方法的流程图,该方法 包括以下步骤:
[00511步骤301:客户端在与服务端建立HTTPS连接后,检测是否有USB Key接入。若是,执 行步骤302。
[0052] 本实施例中,客户端与服务端可以先通过相关技术中的SSL握手过程建立HTTPS连 接,此时SSL握手过程可以采用已集成在客户端与服务端的OpenSSL库中符合国际标准的算 法,也可以采用较容易集成到OpenSSL库中的算法,本申请不作特殊限制。客户端可以在与 服务端建立HTTPS连接后,检测是否有USB Key接入。如果有USB Key接入,则可以执行步骤 302。如果没有USB Key接入,则客户端可以通过弹窗提示用户插入USB Key。
[0053]步骤302:客户端生成随机数,并向所述USB Key发送所述随机数,以使所述USB Key根据预存的算法对所述随机数进行计算以得到第一计算结果,并利用预存的私钥对所 述第一计算结果进行加密以得到第一加密结果。
[0054] 本实施例中,如果客户端在前述步骤301中检测到已有USB Key接入,则可以生成 随机数。USB Key在获取到客户端生成的随机数后,可以根据预存的算法对所述随机数进行 计算,得到第一计算结果,并利用预存的私钥对所述第一计算结果进行加密,得到第一加密 结果。其中,所述随机数的长度可以是默认的缺省值,也可以是用户预先设置的阈值,本申 请不作特殊限制。
[0055]步骤303:客户端在获取到所述第一加密结果和USB Key中预存的数字证书后,构 造携带所述随机数、所述第一加密结果和所述数字证书的认证报文,并基于所述HTTPS连接 向所述服务端发送所述认证报文。
[0056]本实施例中,USB Key可以将在前述步骤302中得到的第一加密结果和预存的数字 证书发送给客户端,客户端可以基于在前述步骤302中生成的随机数,以及获取到的第一加 密结果和数字证书,构造认证报文,并将该认证报文发送给服务端。如表1所示,为认证报文 的一种不例:
[0058]表1
[0059]其中,认证头即为该认证报文的报文头,包括有源IP地址和目的IP地址等信息。 [0060]步骤304:服务端在接收到所述认证报文后,检测所述数字证书是否合法。若是,执 行步骤305。
[0061]本实施例中,服务端在接收到客户端发送的认证报文后,可以先检测其携带的数 字证书是否合法。具体的,数字证书的合法性可以包括:数字证书是否过期,签发数字证书 的CA( Cert if icat ion Authority,证书管理机构)是否可靠,数字证书中的公钥是否能正确 解密其中来自CA的数字签名,数字证书中的域名是否与实际域名一致。如果所述数字证书 合法,则可以执行步骤305;如果所述数字证书不合法,则服务端确定身份认证失败,客户端 可以在接收到服务端返回的身份认证失败信息后,通过弹窗提示用户认证失败。
[0062]步骤305:服务端从所述数字证书中获取预存的算法和公钥,并根据所述算法对所 述随机数进行计算以得到第二计算结果,以及利用所述公钥对所述第一加密结果进行解密 以得到第一解密结果。
[0063]本实施例中,如果服务端在前述步骤304中检测到所述数字证书合法,则可以从所 述数字证书中获取预存的算法和公钥。USB Key中预存的数字证书中包含有该USB Key的公 钥和支持的算法,服务端可以从接收到的认证报文携带的数字证书中,提取出所述公钥和 所述算法。服务端可以利用所述算法对接收到的认证报文携带的随机数进行计算,得到第 二计算结果,同时还可以利用所述公钥,对接收到的认证报文携带的第一加密结果进行解 密,得到第一解密结果。其中,所述算法即为前述步骤302中USB Key对随机数进行计算所使 用的算法。
[0064]步骤306:服务端比较所述第二计算结果与所述第一解密结果是否一致。若是,执 行步骤307。
[0065]本实施例中,在服务端前述步骤305中得到第二计算结果和第一解密结果后,可以 比较两者是否一致。如果两者一致,则可以执行步骤307;如果两者不一致,则服务端确定身 份认证失败,客户端可以在接收到服务端返回的身份认证失败信息后,通过弹窗提示用户 认证失败。
[0066] 步骤307:服务端确定身份认证成功。
[0067]基于前述步骤306的判断结果,如果所述第二计算结果与所述第一解密结果一致, 则服务端确定身份认证成功,此时客户端将配置管理页面显示给用户。
[0068]在一个可选的实施例中,在前述步骤302前,还可以包括:客户端显示基于用户名 和密码的登录页面,所述登录页面中包含有供用户输入其用户名和密码的输入框,客户端 可以获取到用户输入的用户名和密码。此后,客户端可以构造携带所述用户名和所述密码 的数据报文,并将该数据报文发送给服务端。服务端预先存储有用户名和密码的对应关系, 在接收到该数据报文后,可以根据所述对应关系检测用户输入的用户名和密码是否匹配。 如果两者匹配,则服务端可以向客户端发送密码验证成功的消息,此后客户端可以执行步 骤302;如果两者不匹配,则服务端确定身份认证失败,客户端可以在接收到服务端返回的 身份认证失败信息后,通过弹窗提示用户认证失败。
[0069]由上述实施例可见,客户端与服务端可以先利用其OpenSSL库中已集成的符合国 际标准的算法建立HTTPS连接,再由客户端基于所述HTTPS连接向服务端发送认证报文。月艮 务端在接收到该认证报文后,可以利用该认证报文对接入的USB Key进行认证,完成身份认 证过程。与相关技术相比,在USB Key中预存的是符合中国国家标准的数字证书时,无需在 客户端与服务端的OpenSSL库中集成符合中国国家标准的算法,利用数字证书中预存的算 法即可实现身份认证过程,从而大幅提高了上述身份认证方案的适用性。另外,在上述身份 认证方案中,还可以兼容通过用户名和密码进行身份认证的过程,提高了身份认证的准确 性。
[0070] 与前述身份认证方法的实施例相对应,本申请还提供了身份认证装置的实施例。
[0071] 本申请身份认证装置的实施例可以分别应用在客户端与服务端上。装置实施例可 以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个 逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指 令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本申请身份认证装置所在客 户端的一种硬件结构图,如图5所示,为本申请身份认证装置所在服务端的一种硬件结构 图。除了图4与图5所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置 所在的客户端与服务端通常根据身份认证的实际功能,还可以包括其他硬件,对此不再赘 述。
[0072]参考图6,为本申请一示例性实施例示出的一种身份认证装置的框图,该身份认证 装置600可以应用于图4中的客户端,包括:
[0073]检测单元601,用于在与服务端建立HTTPS连接后,检测是否有USB Key接入;
[0074]执行单元602,用于在有USB Key接入时,生成随机数,并向所述USB Key发送所述 随机数,以使所述USB Key根据预存的算法对所述随机数进行计算以得到第一计算结果,并 利用预存的私钥对所述第一计算结果进行加密以得到第一加密结果;
[0075] 第一发送单元603,用于在获取到所述第一加密结果和USB Key中预存的数字证书 后,构造携带所述随机数、所述第一加密结果和所述数字证书的认证报文,并基于所述 HTTPS连接向所述服务端发送所述认证报文,以使所述服务端在确定所述数字证书合法,且 确定对所述随机数的计算结果和对所述第一加密结果的解密结果一致时,确定身份认证成 功。
[0076] 在一个可选的实施例中,所述装置600还可以包括:
[0077] 显示单元604,用于显示基于用户名和密码的登录页面;
[0078]第二发送单元605,用于将用户基于所述登录页面输入的用户名和密码发送给服 务端以进行密码验证;
[0079]所述执行单元602用于在接收到服务端返回的密码验证成功的消息后,生成所述 随机数。
[0080]参考图7,为本申请一示例性实施例示出的另一种身份认证装置的框图,该身份认 证装置700可以应用于图5中的服务端,包括:
[0081 ]接收单元701,用于在与客户端建立HTTPS连接后,接收所述客户端基于所述HTTPS 连接发送的认证报文,所述认证报文携带随机数、第一加密结果和数字证书,所述随机数由 所述客户端生成,所述第一加密结果为USB Key在根据预存的算法对所述随机数进行计算 以得到第一计算结果后,利用预存的私钥对所述第一计算结果进行加密后得到,所述数字 证书为USB Key中预存的数字证书;
[0082]计算单元702,用于在确定所述数字证书合法时,从所述数字证书中获取预存的算 法和公钥,并根据所述算法对所述随机数进行计算以得到第二计算结果,以及利用所述公 钥对所述第一加密结果进行解密以得到第一解密结果;
[0083]认证单元703,用于在确定所述第二计算结果与所述第一解密结果一致时,确定身 份认证成功。
[0084]在一个可选的实施例中,所述装置700还可以包括:所述认证单元703用于在满足 以下条件之一时,确定身份认证失败:
[0085]客户端发送的用户基于登录页面输入的用户名和密码不匹配;
[0086] 所述数字证书不合法;
[0087] 所述第二计算结果与所述第一解密结果不一致。
[0088] 上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的 实现过程,在此不再赘述。
[0089] 对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实 施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件 说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以 不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的 需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付 出创造性劳动的情况下,即可以理解并实施。
[0090] 以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精 神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
【主权项】
1. 一种身份认证方法,所述方法应用于客户端,其特征在于,包括: 在与服务端建立HTTPS连接后,检测是否有USB Key接入; 如果有USB Key接入,则生成随机数,并向所述USB Key发送所述随机数,以使所述USB Key根据预存的算法对所述随机数进行计算以得到第一计算结果,并利用预存的私钥对所 述第一计算结果进行加密以得到第一加密结果; 在获取到所述第一加密结果和USB Key中预存的数字证书后,构造携带所述随机数、所 述第一加密结果和所述数字证书的认证报文,并基于所述HTTPS连接向所述服务端发送所 述认证报文,以使所述服务端在确定所述数字证书合法,且确定对所述随机数的计算结果 和对所述第一加密结果的解密结果一致时,确定身份认证成功。2. 根据权利要求1所述的方法,其特征在于,在所述生成随机数前,还包括: 显示基于用户名和密码的登录页面; 将用户基于所述登录页面输入的用户名和密码发送给服务端以进行密码验证; 在接收到服务端返回的密码验证成功的消息后,生成所述随机数。3. -种身份认证方法,所述方法应用于服务端,其特征在于,包括: 在与客户端建立HTTPS连接后,接收所述客户端基于所述HTTPS连接发送的认证报文, 所述认证报文携带随机数、第一加密结果和数字证书,所述随机数由所述客户端生成,所述 第一加密结果为USB Key在根据预存的算法对所述随机数进行计算以得到第一计算结果 后,利用预存的私钥对所述第一计算结果进行加密后得到,所述数字证书为USB Key中预存 的数字证书; 在确定所述数字证书合法时,从所述数字证书中获取预存的算法和公钥,并根据所述 算法对所述随机数进行计算以得到第二计算结果,以及利用所述公钥对所述第一加密结果 进行解密以得到第一解密结果; 在确定所述第二计算结果与所述第一解密结果一致时,确定身份认证成功。4. 根据权利要求3所述的方法,其特征在于,在满足以下条件之一时,确定身份认证失 败: 客户端发送的用户基于登录页面输入的用户名和密码不匹配; 所述数字证书不合法; 所述第二计算结果与所述第一解密结果不一致。5. -种身份认证方法,其特征在于,所述方法包括: 客户端在与服务端建立HTTPS连接后,检测是否有USB Key接入; 如果有USB Key接入,则客户端生成随机数,并向所述USB Key发送所述随机数,以使所 述USB Key根据预存的算法对所述随机数进行计算以得到第一计算结果,并利用预存的私 钥对所述第一计算结果进行加密以得到第一加密结果; 客户端在获取到第一加密结果和USB Key中预存的数字证书后,构造携带所述随机数、 所述第一加密结果和所述数字证书的认证报文,并基于所述HTTPS连接将所述认证报文发 送给服务端; 服务端在接收到所述认证报文后,如果确定所述数字证书合法,则从所述数字证书中 获取预存的算法和公钥,并根据所述算法对所述随机数进行计算以得到第二计算结果,以 及利用所述公钥对所述第一加密结果进行解密以得到第一解密结果; 服务端在确定所述第二计算结果与所述第一解密结果一致时,确定身份认证成功。6. -种身份认证装置,所述装置应用于客户端,其特征在于,包括: 检测单元,用于在与服务端建立HTTPS连接后,检测是否有USB Key接入; 执行单元,用于在有USB Key接入时,生成随机数,并向所述USB Key发送所述随机数, 以使所述USB Key根据预存的算法对所述随机数进行计算以得到第一计算结果,并利用预 存的私钥对所述第一计算结果进行加密以得到第一加密结果; 第一发送单元,用于在获取到所述第一加密结果和USB Key中预存的数字证书后,构造 携带所述随机数、所述第一加密结果和所述数字证书的认证报文,并基于所述HTTPS连接向 所述服务端发送所述认证报文,以使所述服务端在确定所述数字证书合法,且确定对所述 随机数的计算结果和对所述第一加密结果的解密结果一致时,确定身份认证成功。7. 根据权利要求6所述的装置,其特征在于,所述装置还包括: 显示单元,用于显示基于用户名和密码的登录页面; 第二发送单元,用于将用户基于所述登录页面输入的用户名和密码发送给服务端以进 行密码验证; 所述执行单元用于在接收到服务端返回的密码验证成功的消息后,生成所述随机数。8. -种身份认证装置,所述装置应用于服务端,其特征在于,包括: 接收单元,用于在与客户端建立HTTPS连接后,接收所述客户端基于所述HTTPS连接发 送的认证报文,所述认证报文携带随机数、第一加密结果和数字证书,所述随机数由所述客 户端生成,所述第一加密结果为USB Key在根据预存的算法对所述随机数进行计算以得到 第一计算结果后,利用预存的私钥对所述第一计算结果进行加密后得到,所述数字证书为 USB Key中预存的数字证书; 计算单元,用于在确定所述数字证书合法时,从所述数字证书中获取预存的算法和公 钥,并根据所述算法对所述随机数进行计算以得到第二计算结果,以及利用所述公钥对所 述第一加密结果进行解密以得到第一解密结果; 认证单元,用于在确定所述第二计算结果与所述第一解密结果一致时,确定身份认证 成功。9. 根据权利要求8所述的装置,其特征在于,所述装置还包括:所述认证单元用于在满 足以下条件之一时,确定身份认证失败: 客户端发送的用户基于登录页面输入的用户名和密码不匹配; 所述数字证书不合法; 所述第二计算结果与所述第一解密结果不一致。
【文档编号】H04L29/06GK106027574SQ201610615981
【公开日】2016年10月12日
【申请日】2016年7月28日
【发明人】黄春平, 王永亮, 姜广龙
【申请人】杭州迪普科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1