一种设备认证方法、系统、电子设备及存储介质与流程

文档序号:34022237发布日期:2023-05-05 02:38阅读:32来源:国知局
一种设备认证方法、系统、电子设备及存储介质与流程

本发明涉及密码,更具体地说,涉及一种设备认证方法、系统、电子设备及存储介质。


背景技术:

1、电商行业所提供的应用程序(application,app)经常会举办活动,例如,拉新和投票;客户端可以通过安装该app,以便向访问对应的服务端来参与该活动,为了保证参与的设备均是合法的,服务端可以对访问的客户端的合法性进行校验。

2、现有的设备合法性的验证方法,通常是客户端对相应设备信息进行加密和加签,得到相应的加密信息后,服务端再对加密信息进行解密和验签来校验该客户端是否合法,在确定合法的情况下,接收该客户端发送的访问请求。这种方式虽然保证了单个设备(客户端)的合法性,但是无法保证第三方业务行为是发生在该设备(客户端)上的,也就是说,无法保证该设备(客户端)在真实环境中运行,例如,非法用户通过虚拟软件模拟该设备(客户端)向服务端发送相应的访问请求,这样就容易出现用户使用单个合法设备创建大量账号进行薅羊毛的现象。


技术实现思路

1、有鉴于此,本发明提供一种设备认证方法、系统、电子设备及存储介质,以实现在保证设备的合法性的前提下,保证设备在真实环境中运行,避免用户使用单个合法设备创建大量账号进行薅羊毛。

2、本发明第一方面公开一种设备认证方法,所述方法包括:

3、客户端当检测到目标app初始化客户端sdk时,向服务端发送参数信息,其中,所述参数信息至少包括设备标识;

4、所述服务端接收到所述参数信息时,根据所述设备标识和加密盐值,生成密钥,并将根据第一时间戳和时间片,生成的目标参数信息发送给所述客户端;其中,所述第一时间戳为所述服务端的本地时间戳;

5、所述客户端接收到所述目标参数信息时,根据所述第一时间戳和第二时间戳,计算时钟偏差,并根据所述第二时间戳、所述时钟偏差、所述时间片和与所述服务端预先约定的密钥,生成动态令牌,并将所述动态令牌发送给所述服务端;其中,所述与所述服务端预先预定的密钥和所述密钥相同;所述第二时间戳为所述客户端的本地时间戳;

6、所述服务端接收到所述动态令牌时,根据所述第一时间戳、所述时间片和所述密钥,生成至少一个目标动态令牌;

7、所述服务端若存在与所述动态令牌一致的目标动态令牌,确定所述客户端认证通过,向所述目标app对应的服务方发送相应的认证通过信息。

8、可选的,所述服务端接收到所述参数信息时,根据所述设备标识和加密盐值,生成密钥,并将根据第一时间戳和时间片,生成的目标参数信息发送给所述客户端,包括:

9、所述服务端接收到所述参数信息时,从时间同步钟获取第一时间戳和时间片,并从所述设备标识中截取目标设备标识;

10、所述服务端根据所述目标设备标识和加密盐值,生成密钥;

11、所述服务端根据所述第一时间戳和所述时间片,生成目标参数信息,并将所述目标参数信息发送给所述客户端。

12、可选的,所述客户端接收到所述目标参数信息时,根据所述第一时间戳和所述第二时间戳,计算时钟偏差,并根据所述第二时间戳、所述时钟偏差、所述时间片和与所述服务端预先预定的密钥,生成动态令牌,并将所述动态令牌发送给所述服务端,包括:

13、所述客户端接收到所述目标参数信息时,从所述时间同步钟获取第二时间戳,并根据所述第一时间戳和所述第二时间戳,计算时钟偏差;其中,所述目标参数信息包括所述第一时间戳和所述第一时间片;

14、所述客户端根据所述第二时间戳、所述第一时钟偏差和所述时间片,生成校准时间;其中,所述校准时间和所述目标校准时间相同;

15、所述客户端利用哈希算法对所述校准时间和与所述服务端预先预定的密钥进行处理,得到相应的第一哈希值,并利用hmac-sha1算法对所述第一哈希值进行处理,生成相应的动态令牌,并将所述动态令牌发送给所述服务端。

16、可选的,所述服务端接收到所述动态令牌时,根据第一时间戳、所述时间片和所述密钥,生成至少一个目标动态令牌,包括:

17、所述服务端接收到所述动态令牌时,根据所述第一时间戳确定目标校准时间,并将所述目标校准时间加上预设数值,得到第一校准时间,将所述目标校准时间减去所述预设数据,得到第二校准时间;

18、所述服务端利用哈希算法对所述目标校准时间和所述密钥进行处理,得到第二哈希值,并利用hmac-sha1算法对所述第二哈希值进行处理,生成第一目标动态令牌;利用哈希算法对所述第一校准时间和所述密钥进行处理,得到第三哈希值,并利用hmac-sha1算法对所述第三哈希值进行处理,生成第二目标动态令牌;利用哈希算法对所述第二校准时间和所述密钥进行处理,得到第四哈希值,并利用hmac-sha1算法对所述第四哈希值进行处理,生成第三目标动态令牌。

19、可选的,所述服务端判断所述至少一个目标动态令牌中,是否存在与所述动态令牌一致的目标动态令牌;若存在与所述动态令牌一致的目标动态令牌,确定所述客户端认证通过,向所述目标app对应的服务方发送相应的认证通过信息,包括:

20、所述服务端判断所述动态令牌是否与所述第一目标动态令牌一致,或者是否与所述第二目标动态令牌一致,或者是否与所述第三目标动态令牌一致;

21、若所述动态令牌与所述第一目标动态令牌一致,或者与所述第二目标动态令牌一致,或者与所述第三目标动态令牌一致,所述服务端确定所述客户端认证通过,向所述目标app对应的服务方发送相应的认证通过信息。

22、本发明第二方面公开一种设备认证系统,所述设备认证系统包括客户端和服务端;

23、所述客户端,用于当检测到目标app初始化客户端sdk时,向服务端发送参数信息,其中,所述参数信息至少包括设备标识;接收到所述目标参数信息时,根据所述第一时间戳和第二时间戳,计算时钟偏差,并根据所述第二时间戳、所述时钟偏差、所述时间片和与所述服务端预先约定的密钥,生成动态令牌,并将所述动态令牌发送给所述服务端;其中,所述与所述服务端预先预定的密钥和所述密钥相同;所述第二时间戳为所述客户端的本地时间戳;

24、所述服务端,用于接收到所述参数信息时,根据所述设备标识和加密盐值,生成密钥,并将根据第一时间戳和时间片,生成的目标参数信息发送给所述客户端;其中,所述第一时间戳为所述服务端的本地时间戳;接收到所述动态令牌时,根据所述第一时间戳、所述时间片和所述密钥,生成至少一个目标动态令牌;若存在与所述动态令牌一致的目标动态令牌,确定所述客户端认证通过,向所述目标app对应的服务方发送相应的认证通过信息,并允许所述客户端访问所述服务端。

25、可选的,接收到所述参数信息时,根据所述设备标识和加密盐值,生成密钥,并将根据所述密钥、第一时间戳和时间片,生成的目标参数信息发送给所述客户端的所述服务端,具体用于:

26、接收到所述参数信息时,从时间同步钟获取第一时间戳和时间片,并从所述设备标识中截取目标设备标识;根据所述目标设备标识和加密盐值,生成密钥;根据所述第一时间戳和所述时间片,生成目标参数信息,并将所述目标参数信息发送给所述客户端。

27、可选的,接收到所述目标参数信息时,根据所述第一时间戳和所述第二时间戳,计算时钟偏差,并根据所述第二时间戳、所述时钟偏差、所述时间片和与所述服务端预先预定的密钥,生成动态令牌,并将所述动态令牌发送给所述服务端的所述客户端,具体用于:

28、接收到所述目标参数信息时,从所述时间同步钟获取第二时间戳,并根据所述第一时间戳和所述第二时间戳,计算时钟偏差;其中,所述目标参数信息包括所述第一时间戳和所述第一时间片;根据所述第二时间戳、所述时钟偏差和所述时间片,生成校准时间;利用哈希算法对所述校准时间和与所述服务端预先预定的密钥进行处理,得到相应的第一哈希值,并利用hmac-sha1算法对所述第一哈希值进行处理,生成相应的动态令牌,并将所述动态令牌发送给所述服务端。

29、本发明第三方面公开的一种电子设备,包括:处理器以及存储器,所述处理器以及存储器通过通信总线相连;其中,所述处理器,用于调用并执行所述存储器中存储的程序;所述存储器,用于存储程序,所述程序用于实现如上述本发明第一方面公开的设备认证方法。

30、本发明第四方面公开,一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行如上述本发明第一方面公开的设备认证方法。

31、本发明提供一种设备认证方法、系统、电子设备及存储介质,客户端当检测到目标app初始化客户端sdk时,向服务端发送参数信息,其中,参数信息至少包括设备标识;服务端接收到参数信息时,根据设备标识和加密盐值,生成密钥,并将根据第一时间戳和时间片,生成的目标参数信息发送给客户端;客户端接收到目标参数信息时,根据第一时间戳和第二时间戳,计算时钟偏差,并根据第一时间戳、时钟偏差、时间片和与服务器预先预定的密钥,生成动态令牌,并将动态令牌发送给服务端;服务端接收到动态令牌时,根据第一时间戳、时间片和密钥,生成至少一个目标动态令牌;服务端若存在与动态令牌一致的目标动态令牌,确定客户端认证通过,向目标app对应的服务方发送相应的认证通过信息。本发明提供的技术方案,分别通过客户端和服务端生成具有唯一性和时效性的的动态令牌,并将客户端和服务端生成的动态令牌进行比对,从而防止非法用户通过虚拟软件模拟该设备(客户端)访问服务端,能够有效保证设备(客户端)在真实环境中运行,从而避免用户使用单个合法设备创建大量账号进行薅羊毛。

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