首页 / 专利库 / 专利权 / 申请 / 国际申请 / 摘要 / 一种摘要认证方法及摘要认证系统

一种摘要认证方法及摘要认证系统

阅读:313发布:2020-05-11

专利汇可以提供一种摘要认证方法及摘要认证系统专利检索,专利查询,专利分析的服务。并且本 申请 公开了一种 摘要 认证方法及摘要认证系统,其中,所述客户端在按照所述摘要认证方法进行摘要认证的过程中,只需要向 服务器 发送一次报文即可,降低了向服务器发送 请求 的次数,从而降低了服务器在摘要认证过程中由于客户端多次发送请求而造成的压 力 。并且所述客户端利用与客户端当前时间对应的时间戳作为随机数,并根据所述时间戳按照预设规则确定加密密钥以保证向所述服务器发送的报文的加密特性,而且用户的密码以应答参数的方式在报文中体现,避免了由于报文在传输过程中 泄漏 而带来的信息泄漏 风 险。,下面是一种摘要认证方法及摘要认证系统专利的具体信息内容。

1.一种摘要认证方法,其特征在于,应用于通信系统,所述通信系统包括客户端和服务器;所述摘要认证方法包括:
将所述客户端当前时间对应的时间戳作为随机数,并根据所述时间戳按照预设规则从内置于客户端中的初始密钥中确定加密密钥;
根据所述随机数及所述加密密钥,通过预设加密算法计算随机签名;
根据所述随机数、加密密钥及访问参数计算应答参数;
根据所述应答参数、随机数、随机签名和所述预设加密算法生成报文,并将所述报文发送给所述服务器,以使所述服务器根据所述报文对所述客户端进行摘要验证。
2.根据权利要求1所述的方法,其特征在于,所述根据所述随机数、加密密钥及访问参数计算应答参数包括:
利用安全哈希算法,根据所述随机数、加密密钥及访问参数计算应答参数。
3.根据权利要求1所述的方法,其特征在于,所述服务器根据所述报文对所述客户端进行摘要验证包括:
所述服务器根据与所述随机数对应的时间戳按照预设规则从内置的初始密钥中确定验证密钥,并利用所述预设加密算法,根据所述随机数及验证密钥计算验证签名;
判断所述验证签名与所述随机签名是否一致,如果是,则所述客户端通过验证,如果否,则丢弃所述报文。
4.根据权利要求1所述的方法,其特征在于,所述服务器根据所述报文对所述客户端进行摘要验证包括:
所述服务器根据与所述随机数对应的时间戳按照预设规则从内置的初始密钥中确定验证密钥,并利用所述预设加密算法,根据所述随机数及验证密钥计算验证签名;
判断所述验证签名与所述随机签名是否一致,如果否,则丢弃所述报文;
如果是,则判断与所述随机数对应的时间戳与所述服务器的当前时间对应的时间戳之差是否超过预设阈值,若是,则生成挑战信息向所述客户端发送;若否,所述服务器根据所述用户名在预设数据库中查询与所述用户名对应的预先设置于服务器中的内置密码,并根据所述访问参数中的用户名、域名以及所述内置密码、随机数和加密密钥计算验证参数,当所述验证参数与所述应答参数一致时,所述客户端通过验证;
其中,所述预设数据库中存储有所述用户名与内置密码的对应关系。
5.根据权利要求4所述的方法,其特征在于,所述预设阈值的取值范围为30s-90s,包括端点值。
6.一种摘要认证系统,其特征在于,应用于通信系统,所述通信系统包括:客户端和服务器,所述摘要认证系统包括:
随机数确定模,用于将所述客户端当前时间对应的时间戳作为随机数,并根据所述时间戳按照预设规则从内置于客户端中的初始密钥中确定加密密钥;
签名计算模块,用于根据所述随机数及所述加密密钥,通过预设加密算法计算随机签名;
应答参数计算模块,用于根据所述随机数、加密密钥及访问参数计算应答参数;
报文生成模块,用于根据所述应答参数、随机数、随机签名和所述预设加密算法生成报文,并将所述报文发送给所述服务器,以使所述服务器根据所述报文对所述客户端进行摘要验证。
7.根据权利要求6所述的系统,其特征在于,所述应答参数计算模块根据所述随机数、加密密钥及访问参数计算应答参数的具体过程包括:
利用安全哈希算法,根据所述随机数、加密密钥及访问参数计算应答参数。
8.根据权利要求6所述的系统,其特征在于,所述服务器根据所述报文对所述客户端进行摘要验证的具体过程包括:
服务器根据与所述随机数对应的时间戳按照预设规则从内置的初始密钥中确定验证密钥,并利用所述预设加密算法,根据所述随机数及验证密钥计算验证签名;
判断所述验证签名与所述随机签名是否一致,如果是,则所述客户端通过验证,如果否,则丢弃所述报文。
9.根据权利要求6所述的系统,其特征在于,所述服务器根据所述报文对所述客户端进行摘要验证的具体过程包括:
服务器根据与所述随机数对应的时间戳按照预设规则从内置的初始密钥中确定验证密钥,并利用所述预设加密算法,根据所述随机数及验证密钥计算验证签名;
判断所述验证签名与所述随机签名是否一致,如果否,则丢弃所述报文;
如果是,则判断与所述随机数对应的时间戳与所述服务器的当前时间戳之差是否超过预设阈值,若是,则生成挑战信息向所述客户端发送;若否,所述服务器根据所述用户名在预设数据库中查询与所述用户名对应的预先设置于服务器中的内置密码,并所述访问参数中的用户名、域名以及所述内置密码、随机数和加密密钥计算验证参数,当所述验证参数与所述应答参数一致时,所述客户端通过验证;
其中,所述预设数据库中存储有所述用户名与内置密码的对应关系。
10.根据权利要求9所述的系统,其特征在于,所述预设阈值的取值范围为30s-90s,包括端点值。

说明书全文

一种摘要认证方法及摘要认证系统

技术领域

[0001] 本申请涉及摘要认证技术领域,更具体地说,涉及一种摘要认证方法及摘要认证系统。

背景技术

[0002] SIP(Session Initiation Protocol,会话初始协议)是由IETF(Internet Engineering Task Force,因特网工程任务组)制定的多媒体通信协议,是当前IP电话的主流协议。HTTP摘要认证(Digest authentication)是SIP中主要的安全机制,其基于挑战-响应机制实现。
[0003] 在现有技术中,利用摘要认证实现客户端与服务器之间的验证过程主要包括以下步骤:首先客户端向服务器发出请求,服务器接收到该请求后,生成随机数,并利用随机数及域名生成挑战信息,并向客户端发送;客户端接收到挑战信息后,根据随机数、域名、用户名及密码计算应答,并向服务器发送;服务器接收到应答后对客户端进行验证。
[0004] 在这个验证过程中,客户端需要向服务器发送两次请求,随着客户端数量的不断增加,这种验证方式给服务器造成了很大的压发明内容
[0005] 为解决上述技术问题,本发明提供了一种摘要认证方法及摘要认证系统,以实现降低客户端在摘要认证过程中对服务器造成的压力的目的。
[0006] 为实现上述技术目的,本发明实施例提供了如下技术方案:
[0007] 一种摘要认证方法,应用于通信系统,所述通信系统包括客户端和服务器;所述摘要认证方法包括:
[0008] 将所述客户端当前时间对应的时间戳作为随机数,并根据所述时间戳按照预设规则从内置于客户端中的初始密钥中确定加密密钥;
[0009] 根据所述随机数及所述加密密钥,通过预设加密算法计算随机签名;
[0010] 根据所述随机数、加密密钥及访问参数计算应答参数;
[0011] 根据所述应答参数、随机数、随机签名和所述预设加密算法生成报文,并将所述报文发送给所述服务器,以使所述服务器根据所述报文对所述客户端进行摘要验证。
[0012] 可选的,所述根据所述随机数、加密密钥及访问参数计算应答参数包括:
[0013] 利用安全哈希算法,根据所述随机数、加密密钥及访问参数计算应答参数。
[0014] 可选的,所述服务器根据所述报文对所述客户端进行摘要验证包括:
[0015] 所述服务器根据与所述随机数对应的时间戳按照预设规则从内置的初始密钥中确定验证密钥,并利用所述预设加密算法,根据所述随机数及验证密钥计算验证签名;
[0016] 判断所述验证签名与所述随机签名是否一致,如果是,则所述客户端通过验证,如果否,则丢弃所述报文。
[0017] 可选的,所述服务器根据所述报文对所述客户端进行摘要验证包括:
[0018] 所述服务器根据与所述随机数对应的时间戳按照预设规则从内置的初始密钥中确定验证密钥,并利用所述预设加密算法,根据所述随机数及验证密钥计算验证签名;
[0019] 判断所述验证签名与所述随机签名是否一致,如果否,则丢弃所述报文;
[0020] 如果是,则判断与所述随机数对应的时间戳与所述服务器的当前时间对应的时间戳之差是否超过预设阈值,若是,则生成挑战信息向所述客户端发送;若否,所述服务器根据所述用户名在预设数据库中查询与所述用户名对应的预先设置于服务器中的内置密码,并所述访问参数中的用户名、域名以及所述内置密码、随机数和加密密钥计算验证参数,当所述验证参数与所述应答参数一致时,所述客户端通过验证;
[0021] 其中,所述预设数据库中存储有所述用户名与内置密码的对应关系。
[0022] 可选的,所述预设阈值的取值范围为30s-90s,包括端点值。
[0023] 一种摘要认证系统,应用于通信系统,所述通信系统包括:客户端和服务器,所述摘要认证系统包括:
[0024] 随机数确定模,用于将所述客户端当前时间对应的时间戳作为随机数,并根据所述时间戳按照预设规则从内置于客户端中的初始密钥中确定加密密钥;
[0025] 签名计算模块,用于根据所述随机数及所述加密密钥,通过预设加密算法计算随机签名;
[0026] 应答参数计算模块,用于根据所述随机数、加密密钥及访问参数计算应答参数;
[0027] 报文生成模块,用于根据所述应答参数、随机数、随机签名和所述预设加密算法生成报文,并将所述报文发送给所述服务器,以使所述服务器根据所述报文对所述客户端进行摘要验证。
[0028] 可选的,所述应答参数计算模块根据所述随机数、加密密钥及访问参数计算应答参数的具体过程包括:
[0029] 利用安全哈希算法,根据所述随机数、加密密钥及访问参数计算应答参数。
[0030] 可选的,所述服务器根据所述报文对所述客户端进行摘要验证的具体过程包括:
[0031] 服务器根据与所述随机数对应的时间戳按照预设规则从内置的初始密钥中确定验证密钥,并利用所述预设加密算法,根据所述随机数及验证密钥计算验证签名;
[0032] 判断所述验证签名与所述随机签名是否一致,如果是,则所述客户端通过验证,如果否,则丢弃所述报文。
[0033] 可选的,所述服务器根据所述报文对所述客户端进行摘要验证的具体过程包括:
[0034] 服务器根据与所述随机数对应的时间戳按照预设规则从内置的初始密钥中确定验证密钥,并利用所述预设加密算法,根据所述随机数及验证密钥计算验证签名;
[0035] 判断所述验证签名与所述随机签名是否一致,如果否,则丢弃所述报文;
[0036] 如果是,则判断与所述随机数对应的时间戳与所述服务器的当前时间戳之差是否超过预设阈值,若是,则生成挑战信息向所述客户端发送;若否,所述服务器根据所述用户名在预设数据库中查询与所述用户名对应的预先设置于服务器中的内置密码,并根据所述访问参数中的用户名、域名以及所述内置密码、随机数和加密密钥计算验证参数,当所述验证参数与所述应答参数一致时,所述客户端通过验证;
[0037] 其中,所述预设数据库中存储有所述用户名与内置密码的对应关系。
[0038] 可选的,所述预设阈值的取值范围为30s-90s,包括端点值。
[0039] 从上述技术方案可以看出,本发明实施例提供了一种摘要认证方法及摘要认证系统,其中,所述客户端在按照所述摘要认证方法进行摘要认证的过程中,只需要向服务器发送一次报文即可,降低了向服务器发送请求的次数,从而降低了服务器在摘要认证过程中由于客户端多次发送请求而造成的压力。
[0040] 并且所述客户端利用与客户端当前时间对应的时间戳作为随机数,并根据所述时间戳按照预设规则确定加密密钥以保证向所述服务器发送的报文的加密特性,而且用户的密码以应答参数的方式在报文中体现,避免了由于报文在传输过程中泄漏而带来的信息泄漏险。附图说明
[0041] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0042] 图1为本申请的一个实施例提供的一种摘要认证方法的流程示意图;
[0043] 图2为本申请的一个实施例提供的一种客户端和服务器利用摘要认证方法进行摘要认证的流程示意图;
[0044] 图3为本申请的另一个实施例提供的一种客户端和服务器利用摘要认证方法进行摘要认证的流程示意图;
[0045] 图4为本申请的一个实施例提供的一种服务器根据报文对客户端进行验证的流程示意图;
[0046] 图5为本申请的另一个实施例提供的一种服务器根据报文对客户端进行验证的流程示意图;
[0047] 图6为本申请的一个实施例提供的一种摘要认证系统的结构示意图。

具体实施方式

[0048] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0049] 本申请实施例提供了一种摘要认证方法,如图1和图2所示,应用于通信系统,所述通信系统包括客户端和服务器;所述摘要认证方法包括:
[0050] S101:将所述客户端当前时间对应的时间戳作为随机数,并根据所述时间戳按照预设规则从内置于客户端中的初始密钥中确定加密密钥;
[0051] 需要说明的是,所述预设规则是通信系统中所述客户端及服务器实现约定的确定加密密钥的规则。
[0052] 例如,当所述初始密钥为123456789时,所述预设规则可以是:在一个小时内的第一分钟时,选取预设位置处的数字作为所述加密密钥,之后每过一定时间,将作为加密密钥的预设位置向后移一位,当预设位置覆盖初始密钥的最后一位时,下一次预设位置变更时,重置所述预设位置。以初始的预设位置为前三位为例,在一个小时内的第一分钟时,从初始密钥中确定的加密密钥为123;当经过一定时间后,初始位置向后移动一位,此时从初始密钥中确定的加密密钥为234,依次类推;当所述初始位置为最后三位,即当从所述初始密钥中确定的加密密钥为789时,下一次需要变更预设位置时,所述预设位置重置为前三位。
[0053] 当然的,上述举例仅为了更为明确的说明根据所述时间戳按照预设规则从内置的初始密钥中确定加密密钥的过程,在实际应用过程中,所述预设规则的确定根据实际情况而定。本申请对此并不做限定。
[0054] S102:根据所述随机数及所述加密密钥,通过预设加密算法计算随机签名;
[0055] S103:根据所述随机数、加密密钥及访问参数计算应答参数;
[0056] 一般情况下,所述访问参数包括用户名、密码和域名,其中,用户名和密码是用户权限的验证参数,服务器可以通过判断用户名是否注册,以及用户名和密码是否对应来判断该用户是否具有相应的权限;域名代表着用户想要访问的目标地址。
[0057] 例如,当用户张三想要访问ABC.COM这一域名时,需要向服务器发送预先在该域名注册的用户名zhangsan、密码zhangsan123以及想要访问的目的地址(ABC.COM),服务器接收这些访问信息后,首先判断在该域名对应的用户列表中是否有zhangsan这一用户名,如果有,则判断zhangsan对应的密码是否为zhangsan123,只有当全部验证通过后,才允许执行后续相应的访问操作。
[0058] S104:根据所述应答参数、随机数、随机签名和所述预设加密算法生成报文,并将所述报文发送给所述服务器,以使所述服务器根据所述报文对所述客户端进行摘要验证。
[0059] 为了保证所述用户的密码在传输过程中不被泄漏,在所述报文中,所述访问参数中的密码以应答参数的形式传输,具体地,在本申请的一个实施例中,所述报文的形式可以如下:
[0060] Authorization:Digest username="10089",realm="example",nonce="1482556327",
[0061] noncesign="c6c7d1a858c77c93fc222842",response="6d0660adbfc8c81d167c76de25129a42",algorithm=SHA1;
[0062] 其中,username是用户名,realm是域名,noncesign是随机签名,response是应答参数,algorithm是预设加密算法种类,SHA1为安全哈希算法。
[0063] 所述预设加密算法种类包括但不限于哈希算法、安全哈希算法和RSA算法。在本实施例中,以安全哈希算法为例。
[0064] 还需要说明的是,所述客户端在按照所述摘要认证方法进行摘要认证的过程中,只需要向服务器发送一次报文即可,降低了向服务器发送请求的次数,从而降低了服务器在摘要认证过程中由于客户端多次发送请求而造成的压力。
[0065] 并且所述客户端利用与客户端当前时间对应的时间戳作为随机数,并根据所述时间戳按照预设规则确定加密密钥以保证向所述服务器发送的报文的加密特性,而且用户的密码以应答参数的方式在报文中体现,避免了由于报文在传输过程中泄漏而带来的信息泄漏风险。
[0066] 在上述实施例的基础上,在本申请的一个实施例中,如图3所示,所述根据所述随机数、加密密钥及访问参数计算应答参数包括:
[0067] S1021:利用安全哈希算法,根据所述随机数、加密密钥及访问参数计算应答参数。
[0068] 即以nonce表示所述随机数,key表示所述加密密钥,password表示密码,username表示用户名,realm表示域名,则利用安全哈希算法,根据所述随机数、加密密钥及访问参数计算应答参数可以表示为:
[0069] response=F(nonce,username,password,realm,key);其中,F表示所述安全哈希算法,response表示所述应答参数。
[0070] 安全哈希算法(Secure  Hash Algorithm,SHA1)主要适用于数字签名标准(Digital Signature Standard,DSS)里面定义的数字签名算法(Digital Signature Algorithm,DSA)。对于长度小于264位的消息,SHA1会产生一个160位的消息摘要。当接收到消息的时候,这个消息摘要可以用来验证数据的完整性。在传输的过程中,数据很可能会发生变化,那么这时候就会产生不同的消息摘要。SHA1有如下特性:不可以从消息摘要中复原信息;两个不同的消息不会产生同样的消息摘要。SHA1的这种特性,保证了在传输过程中用户的密码的安全性。
[0071] 在上述实施例的基础上,在本申请的另一个实施例中,如图4所示,所述服务器根据所述报文对所述客户端进行摘要验证包括:
[0072] S201:所述服务器根据与所述随机数对应的时间戳按照预设规则从内置的初始密钥中确定验证密钥,并利用所述预设加密算法,根据所述随机数及验证密钥计算验证签名;
[0073] S202:判断所述验证签名与所述随机签名是否一致,如果是,则所述客户端通过验证,如果否,则丢弃所述报文。
[0074] 同样的,所述预设规则为所述客户端与所述服务器实现约定好的规则;由于所述服务器及客户端中内置的初始密钥相同,那么只要保证所述服务器的预设规则和客户端的预设规则相同,那么在相同时间段内从所述初始密钥中确定出的验证密钥和加密密钥是相同的;这样一来利用所述预设加密算法,根据所述随机数及验证密钥计算的验证签名,与利用所述预设加密算法,根据所述随机数及加密密钥计算的随机签名是相同的;这样可以在一定程度上保证客户端向服务器传输的报文没有被拦截,可以在一定程度上实现对客户端的验证。
[0075] 在上述实施例的基础上,在本申请的又一个实施例中,如图5所示,所述服务器根据所述报文对所述客户端进行摘要验证包括:
[0076] S201:所述服务器根据与所述随机数对应的时间戳按照预设规则从内置的初始密钥中确定验证密钥,并利用所述预设加密算法,根据所述随机数及验证密钥计算验证签名;
[0077] S203:判断所述验证签名与所述随机签名是否一致,如果否,则丢弃所述报文;
[0078] 如果是,则判断与所述随机数对应的时间戳与所述服务器的当前时间对应的时间戳之差是否超过预设阈值,若是,则生成挑战信息向所述客户端发送;若否,所述服务器根据所述用户名在预设数据库中查询与所述用户名对应的预先设置于服务器中的内置密码,并根据所述访问参数中的用户名、域名以及所述内置密码、随机数和加密密钥计算验证参数,当所述验证参数与所述应答参数一致时,所述客户端通过验证;
[0079] 其中,所述预设数据库中存储有所述用户名与内置密码的对应关系。
[0080] 在本实施例中,由于验证了验证签名与随机签名一致只能在一定程度上判定客户端向服务器传输的报文没有被拦截,但是仍然存在所述报文是攻击者发送或报文被拦截后重新发送的可能;因此,在本实施例中,在所述验证签名与随机签名一致的前提下,首先对所述随机数对应的时间戳与所述服务器的当前时间戳之差是否超过预设阈值进行验证,如果所述随机数对应的时间戳与所述服务器的当前时间戳之差超过了预设阈值,则有两种可能:一是客户端的本地时间不准确,二是这个报文可能是攻击者发送的攻击包,因此,在这种情况下,该报文已经不可信任,所述服务器生成挑战信息向所述客户端发送,以使所述客户端按照现有技术中的流程向所述服务器发送请求,以完成摘要认证;
[0081] 在所述随机数对应的时间戳与所述服务器的当前时间戳之差未超过预设阈值的情况下,所述服务器进一步根据所述用户名在预设数据库中查询与所述用户名对应的内置密码,并根据所述内置密码、用户名、域名、随机数和加密密钥计算验证参数,并判断所述验证参数与所述应答参数是否一致,如果是,则所述客户端通过验证,如果否,则丢弃所述报文。
[0082] 在本申请的一个实施例中,所述预设阈值的取值范围为30s-90s,包括端点值。在本申请的一个具体实施例中,所述预设阈值的取值为60s,当然的,在本申请的其他实施例中,所述预设阈值的取值还可以为其他取值,本申请对所述预设阈值的具体取值并不做限定,具体视实际情况而定。
[0083] 在本申请的另一个实施例中,所述服务器生成挑战信息的过程具体包括:
[0084] 所述服务器生成验证随机数,并根据所述验证随机数和域名生成所述挑战信息。
[0085] 具体地,在本实施例中,在当所述验证签名与所述随机签名通过验证时(验证签名与所述随机签名一致时),还需要进行时效的判断,也就是说,还需要判断与所述随机数对应的时间戳与所述服务器的当前时间对应的时间戳之差是否超过预设阈值,如果该时间戳之差超过预设阈值,则可能是客户端或服务器的时间出现错误,存在一定的安全隐患,此时需要服务器按照现有技术中的挑战-响应机制进行客户端的摘要认证。
[0086] 由于服务器向客户端发送挑战信息后的常规摘要认证过程已为本领域技术人员所熟知,本身请在此不做赘述。
[0087] 相应的,本申请实施例还提供了一种摘要认证系统,如图6所示,应用于通信系统,所述通信系统包括:客户端和服务器,所述摘要认证系统包括:
[0088] 随机数确定模块100,用于将所述客户端当前时间对应的时间戳作为随机数,并根据所述时间戳按照预设规则从内置于客户端中的初始密钥中确定加密密钥;
[0089] 签名计算模块200,用于根据所述随机数及所述加密密钥,通过预设加密算法计算随机签名;
[0090] 应答参数计算模块300,用于根据所述随机数、加密密钥及访问参数计算应答参数;
[0091] 报文生成模块400,用于根据所述应答参数、随机数、随机签名和所述预设加密算法生成报文,并将所述报文发送给所述服务器,以使所述服务器根据所述报文对所述客户端进行摘要验证。
[0092] 需要说明的是,所述预设规则是通信系统中所述客户端及服务器实现约定的确定加密密钥的规则。
[0093] 例如,当所述初始密钥为123456789时,所述预设规则可以是:在一个小时内的第一分钟时,选取预设位置处的数字作为所述加密密钥,之后每过一定时间,将作为加密密钥的预设位置向后移一位,当预设位置覆盖初始密钥的最后一位时,下一次预设位置变更时,重置所述预设位置;
[0094] 以初始的预设位置为前三位为例,在一个小时内的第一分钟时,从初始密钥中确定的加密密钥为123;当经过一定时间后,初始位置向后移动一位,此时从初始密钥中确定的加密密钥为234,依次类推;当所述初始位置为最后三位,即当从所述初始密钥中确定的加密密钥为789时,下一次需要变更预设位置时,所述预设位置重置为前三位。
[0095] 当然的,上述举例仅为了更为明确的说明根据所述时间戳按照预设规则从内置的初始密钥中确定加密密钥的过程,在实际应用过程中,所述预设规则的确定根据实际情况而定。本申请对此并不做限定。
[0096] 为了保证所述用户的密码在传输过程中不被泄漏,在所述报文中,所述访问参数中的密码以应答参数的形式传输,具体地,在本申请的一个实施例中,所述报文的形式可以如下:
[0097] Authorization:Digest username="10089",realm="example",nonce="1482556327",
[0098] noncesign="c6c7d1a858c77c93fc222842",response="6d0660adbfc8c81d167c76de25129a42",algorithm=SHA1;
[0099] 其中,username是用户名,realm是域名,noncesign是随机签名,response是应答参数,algorithm是预设加密算法种类,SHA1为安全哈希算法。
[0100] 还需要说明的是,在所述摘要认证系统中,所述客户端在进行摘要认证的过程中,只需要向服务器发送一次报文即可,降低了向服务器发送请求的次数,从而降低了服务器在摘要认证过程中由于客户端多次发送请求而造成的压力。
[0101] 并且所述客户端利用与客户端当前时间对应的时间戳作为随机数,并根据所述时间戳按照预设规则确定加密密钥以保证向所述服务器发送的报文的加密特性,而且用户的密码以应答参数的方式在报文中体现,避免了由于报文在传输过程中泄漏而带来的信息泄漏风险。
[0102] 一般情况下,所述访问参数包括用户名、密码和域名,其中,用户名和密码是用户权限的验证参数,服务器可以通过判断用户名是否注册,以及用户名和密码是否对应来判断该用户是否具有相应的权限;域名代表着用户想要访问的目标地址。
[0103] 例如,当用户张三想要访问ABC.COM这一域名时,需要向服务器发送预先在该域名注册的用户名zhangsan、密码zhangsan123以及想要访问的目的地址(ABC.COM),服务器接收这些访问信息后,首先判断在该域名对应的用户列表中是否有zhangsan这一用户名,如果有,则判断zhangsan对应的密码是否为zhangsan123,只有当全部验证通过后,才允许执行后续相应的访问操作。
[0104] 在上述实施例的基础上,在本申请的一个实施例中,所述应答参数计算模块300根据所述随机数、加密密钥及访问参数计算应答参数的具体过程包括:
[0105] 利用安全哈希算法,根据所述随机数、加密密钥及访问参数计算应答参数。
[0106] 即以nonce表示所述随机数,key表示所述加密密钥,password表示密码,username表示用户名,realm表示域名,则利用安全哈希算法,根据所述随机数、加密密钥及访问参数计算应答参数可以表示为:
[0107] response=F(nonce,username,password,realm,key);其中,F表示所述安全哈希算法,response表示所述应答参数。
[0108] 安全哈希算法(Secure  Hash Algorithm,SHA1)主要适用于数字签名标准(Digital Signature Standard,DSS)里面定义的数字签名算法(Digital Signature Algorithm,DSA)。对于长度小于264位的消息,SHA1会产生一个160位的消息摘要。当接收到消息的时候,这个消息摘要可以用来验证数据的完整性。在传输的过程中,数据很可能会发生变化,那么这时候就会产生不同的消息摘要。SHA1有如下特性:不可以从消息摘要中复原信息;两个不同的消息不会产生同样的消息摘要。SHA1的这种特性,保证了在传输过程中用户的密码的安全性。
[0109] 在上述实施例的基础上,在本申请的另一个实施例中,所述服务器根据所述报文对所述客户端进行摘要验证的具体过程包括:
[0110] 服务器根据与所述随机数对应的时间戳按照预设规则从内置的初始密钥中确定验证密钥,并利用所述预设加密算法,根据所述随机数及验证密钥计算验证签名;
[0111] 判断所述验证签名与所述随机签名是否一致,如果是,则所述客户端通过验证,如果否,则丢弃所述报文。
[0112] 同样的,所述预设规则为所述客户端与所述服务器实现约定好的规则;由于所述服务器及客户端中内置的初始密钥相同,那么只要保证所述服务器的预设规则和客户端的预设规则相同,那么在相同时间段内从所述初始密钥中确定出的验证密钥和加密密钥是相同的;这样一来利用所述预设加密算法,根据所述随机数及验证密钥计算的验证签名,与利用所述预设加密算法,根据所述随机数及加密密钥计算的随机签名是相同的;这样可以在一定程度上保证客户端向服务器传输的报文没有被拦截,可以在一定程度上实现对客户端的验证。
[0113] 在上述实施例的基础上,在本申请的又一个实施例中,所述服务器根据所述报文对所述客户端进行摘要验证的具体过程包括:
[0114] 服务器根据与所述随机数对应的时间戳按照预设规则从内置的初始密钥中确定验证密钥,并利用所述预设加密算法,根据所述随机数及验证密钥计算验证签名;
[0115] 判断所述验证签名与所述随机签名是否一致,如果否,则丢弃所述报文;
[0116] 如果是,则判断与所述随机数对应的时间戳与所述服务器的当前时间戳之差是否超过预设阈值,若是,则生成挑战信息向所述客户端发送;若否,所述服务器根据所述用户名在预设数据库中查询与所述用户名对应的内置密码,并根据所述访问参数中的用户名、域名以及所述内置密码、随机数和加密密钥计算验证参数,当所述验证参数与所述应答参数一致时,所述客户端通过验证;
[0117] 所述预设数据库中存储有所述用户名与内置密码的对应关系。
[0118] 在本实施例中,由于验证了验证签名与随机签名一致只能在一定程度上判定客户端向服务器传输的报文没有被拦截,但是仍然存在所述报文是攻击者发送或报文被拦截后重新发送的可能;因此,在本实施例中,在所述验证签名与随机签名一致的前提下,首先对所述随机数对应的时间戳与所述服务器的当前时间戳之差是否超过预设阈值进行验证,如果所述随机数对应的时间戳与所述服务器的当前时间戳之差超过了预设阈值,则有两种可能:一是客户端的本地时间不准确,二是这个报文可能是攻击者发送的攻击包,因此,在这种情况下,该报文已经不可信任,所述服务器生成挑战信息向所述客户端发送,以使所述客户端按照现有技术中的流程向所述服务器发送请求,以完成摘要认证;
[0119] 在所述随机数对应的时间戳与所述服务器的当前时间戳之差未超过预设阈值的情况下,所述服务器进一步根据所述用户名在预设数据库中查询与所述用户名对应的内置密码,并根据所述内置密码、用户名、域名、随机数和加密密钥计算验证参数,并判断所述验证参数与所述应答参数是否一致,如果是,则所述客户端通过验证,如果否,则丢弃所述报文。
[0120] 具体地,在本实施例中,在当所述验证签名与所述随机签名通过验证时(验证签名与所述随机签名一致时),还需要进行时效的判断,也就是说,还需要判断与所述随机数对应的时间戳与所述服务器的当前时间对应的时间戳之差是否超过预设阈值,如果该时间戳之差超过预设阈值,则可能是客户端或服务器的时间出现错误,存在一定的安全隐患,此时需要服务器按照现有技术中的挑战-响应机制进行客户端的摘要认证。
[0121] 由于服务器向客户端发送挑战信息后的常规摘要认证过程已为本领域技术人员所熟知,本身请在此不做赘述。
[0122] 在本申请的一个实施例中,所述预设阈值的取值范围为30s-90s,包括端点值。在本申请的一个具体实施例中,所述预设阈值的取值为60s,当然的,在本申请的其他实施例中,所述预设阈值的取值还可以为其他取值,本申请对所述预设阈值的具体取值并不做限定,具体视实际情况而定。
[0123] 在本申请的另一个实施例中,所述服务器生成挑战信息的过程具体包括:
[0124] 所述服务器生成验证随机数,并根据所述验证随机数和域名生成所述挑战信息。
[0125] 综上所述,本申请实施例提供了一种摘要认证方法及摘要认证系统,其中,所述客户端在按照所述摘要认证方法进行摘要认证的过程中,只需要向服务器发送一次报文即可,降低了向服务器发送请求的次数,从而降低了服务器在摘要认证过程中由于客户端多次发送请求而造成的压力。
[0126] 并且所述客户端利用与客户端当前时间对应的时间戳作为随机数,并根据所述时间戳按照预设规则确定加密密钥以保证向所述服务器发送的报文的加密特性,而且用户的密码以应答参数的方式在报文中体现,避免了由于报文在传输过程中泄漏而带来的信息泄漏风险。
[0127] 本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
[0128] 对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
相关专利内容
标题 发布/更新时间 阅读量
摘要生成方法及装置 2020-05-11 531
映射摘要和本地化 2020-05-11 770
平板扫描电子摘要本 2020-05-12 159
单文档摘要生成方法 2020-05-12 526
视频摘要提取 2020-05-11 588
摘要提取方法以及摘要提取模块 2020-05-11 357
中文文件自动摘要方法 2020-05-13 896
一种自动文本摘要方法 2020-05-13 741
一种文本摘要生成方法 2020-05-12 731
多功能摘要书籍 2020-05-11 250
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈