CN110602098A - 身份认证方法、装置、设备和存储介质 - Google Patents

身份认证方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN110602098A
CN110602098A CN201910870366.7A CN201910870366A CN110602098A CN 110602098 A CN110602098 A CN 110602098A CN 201910870366 A CN201910870366 A CN 201910870366A CN 110602098 A CN110602098 A CN 110602098A
Authority
CN
China
Prior art keywords
verification code
client
server
code
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910870366.7A
Other languages
English (en)
Other versions
CN110602098B (zh
Inventor
张治国
路京磊
卢小明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING ZHONGXIANG BIT TECHNOLOGY Co Ltd
Original Assignee
BEIJING ZHONGXIANG BIT TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BEIJING ZHONGXIANG BIT TECHNOLOGY Co Ltd filed Critical BEIJING ZHONGXIANG BIT TECHNOLOGY Co Ltd
Priority to CN201910870366.7A priority Critical patent/CN110602098B/zh
Publication of CN110602098A publication Critical patent/CN110602098A/zh
Application granted granted Critical
Publication of CN110602098B publication Critical patent/CN110602098B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Abstract

本申请公开了一种身份认证方法、装置、设备和存储介质,该方法包括:向服务器发送第一验证码,第一验证码是由认证客户端基于第一区块编码和预先识别得到的密钥生成的,第一区块编码是认证客户端向区块链客户端请求获得的;接收服务器发送的身份认证结果,身份认证结果是服务器基于第一验证码和至少一个第二验证码的比较结果产生的,每个第二验证码是服务器基于区块编码集合中的每一个第二区块编码和密钥对应生成的,区块编码集合是由服务器根据第二区块编码、时间差值和区块生成时间来确定的,第二区块编码是服务器向区块链客户端请求获得的。解决了身份认证过程中,由于用户客户端与服务器无法实时交互信息导致的用户身份无法认证的问题。

Description

身份认证方法、装置、设备和存储介质
技术领域
本申请一般涉及信息安全领域,具体涉及一种身份认证方法、装置、设备和存储介质。
背景技术
身份认证是用户登录网站过程中必不可少的步骤,目前常用的认证方法是双因素认证(英文:Two-factor authentication,简称:2FA)该方法可以使用用户密码和验证码的方式保证身份认证的安全性。
在相关技术中,用户在登录网站时,用户客户端可以向服务器发送认证请求,服务器基于该认证请求生成验证码并发送给用户客户端,用户客户端接收该验证码后,将该验证码发送给服务器实现用户身份的验证。
但是,在该过程中,在用户客户端发送认证请求后,可能出现服务器不能实时的接收到认证请求,或者不能实时的向用户客户端发送验证码的现象,导致用户客户端和服务器不能实时交互信息,这种用户客户端与服务器之间信息交互的非实时性,最终会导致用户身份认证失败。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种可以解决身份认证过程中,由于用户客户端与服务器无法实时交互信息导致的用户身份无法认证的问题的身份认证方法、装置、设备和存储介质。
第一方面,本申请实施例提供一种身份认证方法,该方法包括:
向服务器发送第一验证码,第一验证码是由认证客户端基于第一区块编码和预先识别得到的密钥生成的,第一区块编码是认证客户端向区块链客户端请求获得的;
接收服务器发送的身份认证结果,身份认证结果是服务器基于第一验证码和至少一个第二验证码的比较结果产生的,每个第二验证码是服务器基于区块编码集合中的每一个第二区块编码和密钥对应生成的,区块编码集合是由服务器根据第二区块编码、时间差值和区块生成时间来确定的,第二区块编码是服务器向区块链客户端请求获得的,时间差值是第一验证码的生成时间与服务器接收到第一验证码的接收时间之间的差值。
第二方面,本申请实施例提供一种身份认证方法,该方法包括:
接收用户客户端发送的第一验证码,第一验证码是认证客户端基于第一区块编码和预先识别得到的密钥生成的,第一区块编码是认证客户端向区块链客户端请求获得的;
向区块链客户端发送第二请求,第二请求用于请求获取第二区块编码;
接收区块链客户端发送的第二区块编码;
根据第二区块编码、时间差值和区块生成时间确定区块编码集合,时间差值是第一验证码的生成时间与接收第一验证码的接收时间之间的差值;
基于区块编码集合中的每个第二区块编码和密钥生成至少一个第二验证码;
基于第一验证码和至少一个第二验证码的比较结果产生身份认证结果;
向用户客户端发送身份认证结果。
第三方面,本申请实施例提供一种身份认证方法,该方法包括:
响应于认证触发请求,向区块链客户端发送第一请求,第一请求用于请求获取第一区块编码;
接收区块链客户端发送的第一区块编码;
基于第一区块编码和预先识别得到的密钥计算得到第一验证码;
将第一验证码提供给用户客户端,使得用户客户端在向服务器请求认证时,由服务器基于第一验证码和至少一个第二验证码的比较结果,来完成对用户客户端认证,其中,每个第二验证码是服务器基于区块编码集合中的每一个第二区块编码和密钥对应生成的,第二区块编码是服务器向区块链客户端请求获得的。
第四方面,本申请实施例提供一种身份认证装置,该装置包括:
第一发送模块,被配置为向服务器发送第一验证码,第一验证码是由认证客户端基于第一区块编码和预先识别得到的密钥生成的,第一区块编码是认证客户端向区块链客户端请求获得的;
第一接收模块,被配置为接收服务器发送的身份认证结果,身份认证结果是服务器基于第一验证码和至少一个第二验证码的比较结果产生的,每个第二验证码是服务器基于区块编码集合中的每一个第二区块编码和密钥对应生成的,区块编码集合是由服务器根据第二区块编码、时间差值和区块生成时间来确定的,第二区块编码是服务器向区块链客户端请求获得的,时间差值是第一验证码的生成时间与服务器接收到第一验证码的接收时间之间的差值。
第五方面,本申请实施例提供一种身份认证装置,该装置包括:
第二接收模块,被配置为接收用户客户端发送的第一验证码,第一验证码是认证客户端基于第一区块编码和预先识别得到的密钥生成的,第一区块编码是认证客户端向区块链客户端请求获得的;
第二发送模块,被配置为向区块链客户端发送第二请求,第二请求用于请求获取第二区块编码;
第二接收模块,还被配置为接收区块链客户端发送的第二区块编码;
确定模块,被配置为根据第二区块编码、时间差值和区块生成时间确定区块编码集合,时间差值是第一验证码的生成时间与接收第一验证码的接收时间之间的差值;
第一生成模块,被配置为基于区块编码集合中的每个第二区块编码和密钥生成至少一个第二验证码;
比较模块,被配置为基于第一验证码和至少一个第二验证码的比较结果产生身份认证结果;
第二发送模块,还被配置为向用户客户端发送身份认证结果。
第六方面,本申请实施例提供一种身份认证装置,该装置包括:
第三发送模块,被配置为响应于认证触发请求,向区块链客户端发送第一请求,第一请求用于请求获取第一区块编码;
第三接收模块,被配置为接收区块链客户端发送的第一区块编码;
计算模块,被配置为基于第一区块编码和预先识别得到的密钥计算得到第一验证码;
提供模块,被配置为将第一验证码提供给用户客户端,使得用户客户端在向服务器请求认证时,由服务器基于第一验证码和至少一个第二验证码的比较结果,来完成对用户客户端认证,其中,每个第二验证码是服务器基于区块编码集合中的每一个第二区块编码和密钥对应生成的,第二区块编码是服务器向区块链客户端请求获得的。
第七方面,本申请实施例提供一种计算机设备,该计算机设备包括:
处理器;
用于存储处理器的可执行指令的存储器;
其中,处理器被配置为执行如第一方面、第二方面或者第三方面任一的身份认证方法。
第八方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,当计算机程序被处理器执行时,实现如第一方面、第二方面或者第三方面任一的身份认证方法。
本申请的实施例提供的技术方案可以包括以下有益效果:
本申请实施例提供的身份认证方法、装置、设备和存储介质,可以在用户账号首次进行身份认证时,通过向服务器发送绑定请求,建立用户账号、认证客户端提供的第三验证码与服务器提供的密钥之间的映射关系;在后续的身份认证过程中,通过判断认证客户端生成的第一验证码与服务器生成的至少一个第二验证码中是否存在相同的验证码,确定待认证用户账号是否为合法用户账号。由于该第一验证码和第二验证码是基于与用户账号对应的密钥和区块编码确定的,即使用户客户端、认证客户端与服务器之间的信息交互出现延,也可以对用户身份进行认证。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本申请的实施例提供的一种身份认证系统的示意图;
图2为本申请的实施例提供的一种身份认证方法的流程图;
图3为本申请的实施例提供的另一种身份认证方法的流程图;
图4为本申请的实施例提供的一种身份认证装置的结构示意图;
图5为本申请的实施例提供的另一种身份认证装置的结构示意图;
图6为本申请的实施例提供的又一种身份认证装置的结构示意图;
图7为本申请的实施例提供的再一种身份认证装置的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关申请,而非对该申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与申请相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
如图1所示,身份认证系统可以至少包括:用户客户端110、认证客户端120和服务器130。
用户客户端110和认证客户端120为具有信息收发功能及显示功能的终端,例如,智能手机、电脑、多媒体播放器或电子阅读器等。
服务器130可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。
认证客户端120和用户客户端110之间,用户客户端110和服务器130之间可以通过有线网络或无线网络建立临时连接,或者,用户客户端110和服务器130之间可以通过有线网络或无线网络建立临时连接。
本申请实施例提供一种身份认证方法,该方法可以解决由于身份认证过程中用户客户端与服务器无法实时交互信息导致的用户身份无法认证的问题。
该方法可以应用于如图1所示的身份认证系统。该方法可以在用户客户端、认证客户端和服务器之间未建立映射关系的基础上实施,也可以在用户客户端、认证客户端和服务器之间已经建立映射关系的基础上实施。对于前者者,可以经过两个阶段实现,第一阶段为用户账号、认证客户端提供的第三验证码与服务器提供的密钥之间的映射关系建立阶段,该用户账号为在用户客户端首次进行身份认证的账号;第二阶段为用户身份认证阶段。在用户客户端、认证客户端和服务器之间未建立映射关系的情况下,可以参考图2示出的方法建立三者之间的映射关系,为用户身份认证提供安全环境。图2示出了本申请提供的一种身份认证方法。如图2所示,该方法包括:
步骤201、用户客户端向服务器发送绑定请求。
在本申请实施例中,用户账号首次在用户客户端上进行身份认证时,可以向服务器发送绑定请求,该绑定请求携带有用户账号,该绑定请求用于请求服务器建立用户账号、认证客户端提供的第三验证码与服务器提供的密钥之间的映射关系,使得该认证客户端和服务器可以在用户身份认证阶段对该用户账号的身份合法性进行认证。其中,第三验证码由认证客户端在识别密钥后,基于密钥生成,该密钥为服务器在接收到绑定请求后,生成的与该绑定请求中携带的用户账号对应的密钥。
步骤202、服务器响应于用户客户端发送的绑定请求生成密钥。
在本步骤中,服务器在接收到用户客户端发送的绑定请求后,获取绑定请求中携带的用户账号,生成密钥,建立并存储该密钥与用户账号之间的映射关系。
步骤203、服务器向用户客户端发送密钥。
步骤204、认证客户端获取用户客户端提供的密钥。
在本申请实施例中中,用户客户端以Token字符串或二维码的形式展示服务器发送的密钥,其中,当密钥以Token字符串的形式展示的时候,用户客户端展示的是该字符串对应的数字。
在本步骤中,当用户客户端以二维码的形式展示密钥时,认证客户端可以通过扫描二维码的形式获取用户客户端展示的密钥;当用户客户端以Token字符串的形式展示密钥时,认证客户端可以通过响应于用户输入的数字获取用户客户端展示的密钥;该密钥中携带有用户账号,认证客户端在获取密钥后可以建立并存储密钥与用户账号之间的映射关系。
可选的,当认证客户端与用户客户端之间可以通过网络建立连接时,认证客户端可以接受用户客户端发送的密钥,当该密钥为二维码时,可以通过识别二维码获取该密钥,当该密钥为Token字符串时,可以基于接收到的Token字符串对应的数字获取密钥。
步骤205、认证客户端基于密钥生成第三验证码。
在本步骤中,认证客户端可以基于获取的密钥和用户账号生成对应于该用户账号的第三验证码。该第三验证码的生成过程可以通过以下程序实现:
hmac=SHA1(secret+SHA1(secret));#采用单向散列函数SHA1(英文:SecureHash Algorithm,简称:SHA1)得到基于哈希的消息认证码(英文:Hash-based MessageAuthentication Code,简称:hmac),其中secret为密钥,hmac为一个20字节的数值#
last_byte=hmac[len(hmac-1)]&0xf;#取hmac的最后一个字节,与十六进制数0xF进行“与”操作,得到一个整数last_byte,该整数last_byte的取值范围是【0-15】#
four_bytes=hmac[last_byte:last_byte+3];#从hmac的第last_byte个字节开始取4个字节four_bytes#
large_integer=INT(four_bytes);#将获取的4个字节four_bytes转化为整数large_integer#
small_integer=large_integer%1,000,000;#获取整数large_integer与10的6次方的比值的余数,该余数为一个6位的整数small_integer,该整数small_integer为第三验证码#
需要说明的是,在该程序的最后一步,可以获取整数large_integer与10的N次方的比值的余数,该N为大于或者等于1的正整数,N的数值可以基于实际的算法需要确定,本申请实施例对此不做限定。
步骤206、认证客户端将第三验证码提供给用户客户端。
在本步骤中,认证客户端展示该第三验证码,以使得用户客户端向服务器发送第三验证码来获取绑定结果。其中,用户客户端可以通过响应于用户的第三验证码输入操作,获取认证客户端生成的第三验证码。或者,当认证客户端与用户客户端之间可以通过网络建立连接时,认证客户端可以将该第三验证码发送给用户客户端。
步骤207、用户客户端向服务器发送第三验证码。
在本步骤中,用户客户端向服务器发送第三验证码获取绑定结果,该第三验证码中携带有用户账号。
步骤208、服务器基于用户客户端发送的第三验证码产生绑定结果。
在本步骤中,服务器可以基于接收的第三验证码携带的用户账号,判断该用户账号是否为上述步骤201中发送过绑定请求的用户客户端的用户账户,防止出现非发送绑定请求的非法用户账号请求服务器建立用户账号、认证客户端提供的第三验证码与服务器提供的密钥之间的映射关系,保证建立安全的用户身份认证环境。
其中,服务器判断第三验证码携带的用户账号合法性的过程,至少可以包括以下两种可选的实现方式:
在第一种可选的实现方式中,服务器可以获取第三验证码中携带的用户账号,通过查询密钥与用户账号之间的映射关系,查映射关系中是否存在该用户账号,若存在,则确定该用户账号为发送过绑定请求的用户客户端的用户账户,则建立用户账号、认证客户端提供的第三验证码与服务器提供的密钥之间的映射关系;若不存在,则过滤该第三验证码。
进一步的,在第二种可选的实现方式中,当密钥与用户账号之间的映射关系中存在第三验证码中携带的用户账号时,获取与该用户账号对应的密钥,利用该密钥生成第四验证码,判断该第四验证码与第三验证码是否相同,若相同,则建立用户账号、认证客户端提供的第三验证码与服务器提供的密钥之间的映射关系;若不相同,则过滤该第三验证码。其中,服务器生成该第四验证码的过程可以参考上述步骤205中认证客户端基于密钥生成第二验证码的过程。本申请实施例对此不作赘述。通过生成验证码的方式可以进一步提高建立的用户身份认证环境的安全性。
步骤209、服务器向用户客户端发送绑定结果。
当用户账号、认证客户端提供的第三验证码与服务器提供的密钥之间成功建立映射关系时,服务器向用户客户端发送绑定成功提示;当用户账号、认证客户端提供的第三验证码与服务器提供的密钥之间无法建立映射关系时,服务器向用户客户端发送非法绑定请求提示,或者,向用户客户端发送发送重新绑定提示。
需要说明的是,在本申请实施例中,用户账号在首次进行身份认证时,可以建立用户账号、认证客户端提供的第三验证码与服务器提供的密钥之间成功建立映射关系,为后续的身份认证提供安全的环境;在后续的身份认证阶段,只有建立过映射关系的用户账号才可以通过身份认证,保证了身份认证的安全性。
在用户客户端、认证客户端和服务器之间已经建立映射关系的基础上,可以基于图3示出的方法实现用户客户端与服务器之间的安全认证。图3示出了本申请提供的一种身份认证方法。如图3所示,该方法包括:
步骤301、认证客户端响应于认证触发请求,向区块链客户端发送第一请求。
在本步骤中,在待认证用户账号进行身份认证时,认证客户响应于认证触发请求,向区块链客户端发送第一请求。该认证触发请求为认证客户端检测到的用户对于待认证用户账号的身份认证触发操作,基于该身份认证触发操作获取待认证用户账号,并向区块链客户端发送第一请求,该第一请求用于向区块链客户端请求获取第一区块编码,该第一区块编码为接收到第一请求后,区块链客户端中最新生成区块的区块编码。
可选的,当认证客户端与用户客户端之间可以通过网络建立连接时,认证客户端可以接收用户客户端发送的认证触发请求,该认证触发请求中携带有待认证用户账号,该认证触发请求请求用于向认证客户端请求对待认证用户账号的身份进行认证。认证客户端接收该认证触发请求后,向区块链客户端发送第一请求。
步骤302、认证客户端接收区块链客户端发送的第一区块编码。
步骤303、认证客户端基于第一区块编码和预先识别得到的密钥计算得到第一验证码。
在本步骤中,认证客户端计算第一验证码的过程可以包括:
步骤A1、基于存储的密钥与用户账号之间的映射关系获取与待认证用户账号对应的密钥。
认证客户端通过查询存储的密钥与用户账号之间的映射关系,获取与该待认证用户账号对应的密钥。
步骤A2、基于第一区块编码和密钥生成第一验证码。
认证客户端可以基于获取的密钥和第一区块编码生成第一验证码,该第一验证码的生成过程可以参考上述步骤205中第二验证码的生成过程,本申请实施例对此不做赘述。
需要说明的是,在该第一验证码的生成过程中,程序的输入为密钥和区块编码,也即是,该程序的第一行为:
hmac=SHA1(secret+SHA1(secret+height));#采用单向散列函数SHA1(英文:Secure Hash Algorithm,简称:SHA1)得到基于哈希的消息认证码(英文:Hash-basedMessage Authentication Code,简称:hmac),其中secret为密钥,height为第一区块编码,hmac为一个20字节的数值#。
步骤304、认证客户端将第一验证码提供给用户客户端。
认证客户端可以展示生成的第一验证码,用户客户端通过响应用户的第一验证码输入操作获取第一验证码,或者,当认证客户端与用户客户端之间可以通过网络建立连接时,认证客户端可以将该第一验证码发送给用户客户端。
步骤305、用户客户端向服务器发送第一验证码。
用户客户端可以向服务器发送第一验证码,该第一验证码携带有待认证用户账号,服务器可以基于该第一验证码和待认证用户账号对用户客户端进行认证。
步骤306、服务器向区块链客户端发送第二请求。
在本步骤中,服务器接收到用户客户端发送的第一验证码后,可以向区块链客户端发送第二请求,该第二请求用于请求获取第二区块编码,该第二区块编码为接收到第二请求后,区块链客户端中最新生成区块的区块编码。
步骤307、服务器接收区块链客户端发送的第二区块编码。
步骤308、服务器根据第二区块编码、时间差值和区块生成时间确定区块编码集合。
在本申请实施例中,服务器接收到的第一验证码是认证客户端基于密钥和第一区块编码生成的,由于区块链网络的特点是不断的生成新区块,因此,由于时间延迟,当服务器接收到第一验证码时,区块链网络中已经有新的区块生成,若服务器直接获取区块链网络中最新生成的第二区块编码,用该第二区块编码和密钥生成第二验证码,用该第二验证码与第一验证码的比对结果验证待认证用户账号身份的合法性是不合理的。因此,服务器需要基于从区块链客户端中获取的第二区块编码,获取与该第二区块编码相邻的M个已经生成区块的第二区块编码,将M个第二区块编码组成区块编码集合。该区块编码集合是由服务器根据第二区块编码、时间差值和区块生成时间来确定的,时间差值是第一验证码的生成时间与服务器接收到第一验证码的接收时间之间的差值。其中,该区块编码集合中区块的数量M的数值应该满足如下公式;
M×t<=L;
其中,M为区块数量,M为大于或者等于1的整数,t为区块链客户端中生成新区块所需要的时间,L为认证客户端中第一验证码的生成时间与服务器接收到第一验证码的时间差值。
步骤309、服务器基于区块编码集合中的每个第二区块编码和密钥生成至少一个第二验证码。
在本步骤中,服务器可以基于确定的区块编码集合中的每个第二区块编码和密钥生成至少一个第二验证码,例如,生成M个第二验证码,该第二验证码的生成过程可以参考上述步骤A2中第一验证码的生成过程,本申请实施例对此不做赘述。
步骤310、服务器基于第一验证码和至少一个第二验证码的比较结果产生身份认证结果。
服务器将该至少一个第二验证码与第一验证码进行比对,判断该至少一个第二验证码中是否存在与第一验证码相同的验证码,若存在,则确定待认证用户账号为合法账号;若不存在,则确定待认证用户账号为非法账号。由于该第一验证码与第二验证码都是基于密钥与区块编码生成的,即使用户客户端、认证客户端与服务器之间的信息交互出现延时,也可以对用户身份进行认证。
步骤311、服务器向用户客户端发送身份认证结果。
当待认证用户账号为合法账号时,服务器向用户客户端发送用户身份认证成功提示;当待认证用户账号为非法账号时,向用户客户端发送用户身份认证失败提示,或者,向用户客户端发送重新输入第一验证码提示。
综上所述,本申请实施例提供的身份认证方法,可以在用户账号首次进行身份认证时,通过向服务器发送绑定请求,建立用户账号、认证客户端提供的第三验证码与服务器提供的密钥之间的映射关系;在后续的身份认证过程中,通过判断认证客户端生成的第一验证码与服务器生成的至少一个第二验证码中是否存在相同的验证码,确定待认证用户账号是否为合法用户账号。由于该第一验证码和第二验证码是基于与用户账号对应的密钥和区块编码确定的,即使用户客户端、认证客户端与服务器之间的信息交互出现延,也可以对用户身份进行认证。
本申请实施例提供一种身份认证装置,如图4所示,该装置40包括:
第一发送模块401,被配置为向服务器发送第一验证码,第一验证码是由认证客户端基于第一区块编码和预先识别得到的密钥生成的,第一区块编码是认证客户端向区块链客户端请求获得的;
第一接收模块402,被配置为接收服务器发送的身份认证结果,身份认证结果是服务器基于第一验证码和至少一个第二验证码的比较结果产生的,每个第二验证码是服务器基于区块编码集合中的每一个第二区块编码和密钥对应生成的,区块编码集合是由服务器根据第二区块编码、时间差值和区块生成时间来确定的,第二区块编码是服务器向区块链客户端请求获得的,时间差值是第一验证码的生成时间与服务器接收到第一验证码的接收时间之间的差值。
可选的,如图4所示,装置40:
第一发送模块401,还被配置为向服务器发送绑定请求,绑定请求用于请求服务器建立用户账号、认证客户端提供的第三验证码与服务器提供的密钥之间的映射关系,第三验证码是认证客户端在识别密钥之后,基于密钥生成;
第一发送模块401,还被配置为向服务器发送第三验证码;
第一接收模块403,还被配置为接收服务器发送的绑定结果,绑定结果是服务器基于第三验证码产生的。
本申请实施例提供一种身份认证装置,如图5所示,装置50包括:
第二接收模块501,被配置为接收用户客户端发送的第一验证码,第一验证码是认证客户端基于第一区块编码和预先识别得到的密钥生成的,第一区块编码是认证客户端向区块链客户端请求获得的;
第二发送模块502,被配置为向区块链客户端发送第二请求,第二请求用于请求获取第二区块编码;
第二接收模块501,还被配置为接收区块链客户端发送的第二区块编码;
确定模块503,被配置为根据第二区块编码、时间差值和区块生成时间确定区块编码集合,时间差值是第一验证码的生成时间与接收第一验证码的接收时间之间的差值;
第一生成模块504,被配置为基于区块编码集合中的每个第二区块编码和密钥生成至少一个第二验证码;
比较模块505,被配置为基于第一验证码和至少一个第二验证码的比较结果产生身份认证结果;
第二发送模块502,还被配置为向用户客户端发送身份认证结果。
可选的,如图5所示,装置50还包括:
第二接收模块501,还被配置为响应于用户客户端发送的绑定请求生成密钥,绑定请求用于请求服务器建立用户账号、认证客户端提供的第三验证码与服务器提供的密钥之间的映射关系;
第二发送模块502,还被配置为向用户客户端发送密钥;
产生模块506,被配置为基于用户客户端发送的第三验证码产生绑定结果,第三验证码是认证客户端在识别密钥之后,基于密钥生成;
第二发送模块502,还被配置为向用户客户端发送绑定结果。
本申请实施例提供一种身份认证装置,如图6所示,装置60包括:
第三发送模块601,被配置为响应于认证触发请求,向区块链客户端发送第一请求,第一请求用于请求获取第一区块编码;
第三接收模块602,被配置为接收区块链客户端发送的第一区块编码;
计算模块603,被配置为基于第一区块编码和预先识别得到的密钥计算得到第一验证码;
提供模块604,被配置为将第一验证码提供给用户客户端,使得用户客户端在向服务器请求认证时,由服务器基于第一验证码和至少一个第二验证码的比较结果,来完成对用户客户端认证,其中,每个第二验证码是服务器基于区块编码集合中的每一个第二区块编码和密钥对应生成的,第二区块编码是服务器向区块链客户端请求获得的。
可选的,如图6所示,装置60还包括:
获取模块605,被配置为获取用户客户端提供的密钥,密钥是服务器响应于用户客户端发送的绑定请求生成的;
第二生成模块606,被配置为基于密钥生成第三验证码;
提供模块604,还被配置为将第三验证码提供给用户客户端,以使得用户客户端向服务器发送第三验证码来获取绑定结果。
综上所述,本申请实施例提供的身份认证装置,可以在用户账号首次进行身份认证时,通过向服务器发送绑定请求,建立用户账号、认证客户端提供的第三验证码与服务器提供的密钥之间的映射关系;在后续的身份认证过程中,通过判断认证客户端生成的第一验证码与服务器生成的至少一个第二验证码中是否存在相同的验证码,确定待认证用户账号是否为合法用户账号。由于该第一验证码和第二验证码是基于与用户账号对应的密钥和区块编码确定的,即使用户客户端、认证客户端与服务器之间的信息交互出现延,也可以对用户身份进行认证。
图7是根据一示例性实施例示出的一种计算机系统,该计算机系统包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM703中,还存储有系统操作所需的各种程序和数据。CPU701、ROM702以及RAM703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本申请的实施例,上文图1至图6描述的过程可以被实现为计算机软件程序。例如,本申请的各个实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理单元(CPU)701执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本申请所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的方法、装置和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器包括第一发送模块、第一接收模块。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定,例如,第一确定模块还可以被描述为“用于向服务器发送第一验证码的第一发送模块”。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如上述实施例中描述的身份认证方法。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的申请范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (14)

1.一种身份认证方法,其特征在于,所述方法包括:
向服务器发送第一验证码,所述第一验证码是由认证客户端基于第一区块编码和预先识别得到的密钥生成的,所述第一区块编码是所述认证客户端向区块链客户端请求获得的;
接收所述服务器发送的身份认证结果,所述身份认证结果是所述服务器基于所述第一验证码和至少一个第二验证码的比较结果产生的,每个所述第二验证码是所述服务器基于区块编码集合中的每一个第二区块编码和所述密钥对应生成的,所述区块编码集合是由所述服务器根据所述第二区块编码、时间差值和区块生成时间来确定的,所述第二区块编码是所述服务器向所述区块链客户端请求获得的,所述时间差值是所述第一验证码的生成时间与所述服务器接收到所述第一验证码的接收时间之间的差值。
2.根据权利要求1所述的方法,其特征在于,在向服务器发送所述第一验证码之前,所述方法还包括:
向所述服务器发送绑定请求,所述绑定请求用于请求所述服务器建立用户账号、所述认证客户端提供的第三验证码与所述服务器提供的密钥之间的映射关系,所述第三验证码是所述认证客户端在识别所述密钥之后,基于所述密钥生成;
向所述服务器发送所述第三验证码;
接收所述服务器发送的绑定结果,所述绑定结果是所述服务器基于所述第三验证码产生的。
3.一种身份认证方法,其特征在于,所述方法包括:
接收用户客户端发送的第一验证码,所述第一验证码是认证客户端基于第一区块编码和预先识别得到的密钥生成的,所述第一区块编码是所述认证客户端向区块链客户端请求获得的;
向所述区块链客户端发送第二请求,所述第二请求用于请求获取第二区块编码;
接收所述区块链客户端发送的所述第二区块编码;
根据所述第二区块编码、时间差值和区块生成时间确定区块编码集合,所述时间差值是所述第一验证码的生成时间与接收所述第一验证码的接收时间之间的差值;
基于所述区块编码集合中的每个所述第二区块编码和所述密钥生成至少一个第二验证码;
基于所述第一验证码和所述至少一个第二验证码的比较结果产生身份认证结果;
向所述用户客户端发送所述身份认证结果。
4.根据权利要求3所述的方法,其特征在于,在接收用户客户端发送的第一验证码之前,所述方法还包括:
响应于所述用户客户端发送的绑定请求生成密钥,所述绑定请求用于请求服务器建立用户账号、所述认证客户端提供的第三验证码与服务器提供的密钥之间的映射关系;
向所述用户客户端发送所述密钥;
基于所述用户客户端发送的第三验证码产生绑定结果,所述第三验证码是所述认证客户端在识别所述密钥之后,基于所述密钥生成;
向所述用户客户端发送所述绑定结果。
5.一种身份认证方法,其特征在于,所述方法包括:
响应于认证触发请求,向区块链客户端发送第一请求,所述第一请求用于请求获取第一区块编码;
接收所述区块链客户端发送的第一区块编码;
基于所述第一区块编码和预先识别得到的密钥计算得到第一验证码;
将所述第一验证码提供给用户客户端,使得所述用户客户端在向服务器请求认证时,由所述服务器基于所述第一验证码和至少一个第二验证码的比较结果,来完成对所述用户客户端认证,其中,每个所述第二验证码是所述服务器基于所述区块编码集合中的每一个第二区块编码和所述密钥对应生成的,所述第二区块编码是所述服务器向所述区块链客户端请求获得的。
6.根据权利要求5所述的方法,其特征在于,在响应于认证触发请求,向区块链客户端发送第一请求之前,所述方法还包括:
获取用户客户端提供的密钥,所述密钥是所述服务器响应于所述用户客户端发送的绑定请求生成的;
基于所述密钥生成第三验证码;
将所述第三验证码提供给用户客户端,以使得所述用户客户端向所述服务器发送所述第三验证码来获取绑定结果。
7.一种身份认证装置,其特征在于,所述装置包括:
第一发送模块,被配置为向服务器发送第一验证码,所述第一验证码是由认证客户端基于第一区块编码和预先识别得到的密钥生成的,所述第一区块编码是所述认证客户端向区块链客户端请求获得的;
第一接收模块,被配置为接收所述服务器发送的身份认证结果,所述身份认证结果是所述服务器基于所述第一验证码和至少一个第二验证码的比较结果产生的,每个所述第二验证码是所述服务器基于区块编码集合中的每一个第二区块编码和所述密钥对应生成的,所述区块编码集合是由所述服务器根据所述第二区块编码、时间差值和区块生成时间来确定的,所述第二区块编码是所述服务器向所述区块链客户端请求获得的,所述时间差值是所述第一验证码的生成时间与所述服务器接收到所述第一验证码的接收时间之间的差值。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第一发送模块,还被配置为向所述服务器发送绑定请求,所述绑定请求用于请求所述服务器建立用户账号、所述认证客户端提供的第三验证码与所述服务器提供的密钥之间的映射关系,所述第三验证码是所述认证客户端在识别所述密钥之后,基于所述密钥生成;
第一发送模块,还被配置为向所述服务器发送所述第三验证码;
第一接收模块,还被配置为接收所述服务器发送的绑定结果,所述绑定结果是所述服务器基于所述第三验证码产生的。
9.一种身份认证装置,其特征在于,所述装置包括:
第二接收模块,被配置为接收用户客户端发送的第一验证码,所述第一验证码是认证客户端基于第一区块编码和预先识别得到的密钥生成的,所述第一区块编码是所述认证客户端向区块链客户端请求获得的;
第二发送模块,被配置为向所述区块链客户端发送第二请求,所述第二请求用于请求获取第二区块编码;
第二接收模块,还被配置为接收所述区块链客户端发送的所述第二区块编码;
确定模块,被配置为根据所述第二区块编码、时间差值和区块生成时间确定区块编码集合,所述时间差值是所述第一验证码的生成时间与接收所述第一验证码的接收时间之间的差值;
第一生成模块,被配置为基于所述区块编码集合中的每个所述第二区块编码和所述密钥生成至少一个第二验证码;
比较模块,被配置为基于所述第一验证码和所述至少一个第二验证码的比较结果产生身份认证结果;
第二发送模块,还被配置为向所述用户客户端发送所述身份认证结果。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
第二接收模块,还被配置为响应于所述用户客户端发送的绑定请求生成密钥,所述绑定请求用于请求服务器建立用户账号、所述认证客户端提供的第三验证码与服务器提供的密钥之间的映射关系;
第二发送模块,还被配置为向所述用户客户端发送所述密钥;
产生模块,被配置为基于所述用户客户端发送的第三验证码产生绑定结果,所述第三验证码是所述认证客户端在识别所述密钥之后,基于所述密钥生成;
第二发送模块,还被配置为向所述用户客户端发送所述绑定结果。
11.一种身份认证装置,其特征在于,所述装置包括:
第三发送模块,被配置为响应于认证触发请求,向区块链客户端发送第一请求,所述第一请求用于请求获取第一区块编码;
第三接收模块,被配置为接收所述区块链客户端发送的第一区块编码;
计算模块,被配置为基于所述第一区块编码和预先识别得到的密钥计算得到第一验证码;
提供模块,被配置为将所述第一验证码提供给用户客户端,使得所述用户客户端在向服务器请求认证时,由所述服务器基于所述第一验证码和至少一个第二验证码的比较结果,来完成对所述用户客户端认证,其中,每个所述第二验证码是所述服务器基于所述区块编码集合中的每一个第二区块编码和所述密钥对应生成的,所述第二区块编码是所述服务器向所述区块链客户端请求获得的。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
获取模块,被配置为获取用户客户端提供的密钥,所述密钥是所述服务器响应于所述用户客户端发送的绑定请求生成的;
第二生成模块,被配置为基于所述密钥生成第三验证码;
提供模块,还被配置为将所述第三验证码提供给用户客户端,以使得所述用户客户端向所述服务器发送所述第三验证码来获取绑定结果。
13.一种计算机设备,其特征在于,所述计算机设备包括:
处理器;
用于存储所述处理器的可执行指令的存储器;
其中,所述处理器被配置为执行如权利要求1-6任一项所述的身份认证方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序被处理器执行时,实现如权利要求1-6任一项所述的身份认证方法。
CN201910870366.7A 2019-09-16 2019-09-16 身份认证方法、装置、设备和存储介质 Active CN110602098B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910870366.7A CN110602098B (zh) 2019-09-16 2019-09-16 身份认证方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910870366.7A CN110602098B (zh) 2019-09-16 2019-09-16 身份认证方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN110602098A true CN110602098A (zh) 2019-12-20
CN110602098B CN110602098B (zh) 2021-08-24

Family

ID=68859724

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910870366.7A Active CN110602098B (zh) 2019-09-16 2019-09-16 身份认证方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN110602098B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111669377A (zh) * 2020-05-27 2020-09-15 国家广播电视总局广播电视规划院 一种区块链上链信息的安全管控方法
CN112202556A (zh) * 2020-10-30 2021-01-08 联通物联网有限责任公司 安全认证方法、装置和系统
CN114726595A (zh) * 2022-03-24 2022-07-08 中科吉芯(昆山)信息科技有限公司 一种利用时空信息认证人机身份的方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104935555A (zh) * 2014-03-20 2015-09-23 华为技术有限公司 客户端证书认证方法、服务器、客户端及系统
CN105681030A (zh) * 2015-12-31 2016-06-15 腾讯科技(深圳)有限公司 密钥管理系统、方法及装置
WO2018050335A1 (en) * 2016-09-15 2018-03-22 Telefonaktiebolaget Lm Ericsson (Publ) Efficient obfuscation of program control flow
CN108683667A (zh) * 2018-05-16 2018-10-19 深圳市网心科技有限公司 账户保护方法、装置、系统和存储介质
US20190007214A1 (en) * 2017-02-14 2019-01-03 Cloudflare, Inc. Providing cross site request forgery protection at an edge server
CN109961292A (zh) * 2019-03-22 2019-07-02 杭州复杂美科技有限公司 区块链验证码应用方法、设备和存储介质
CN110049027A (zh) * 2019-04-02 2019-07-23 安徽省沃昇机电科技有限公司 一种用于区块链网络信息的传输平台
CN110177124A (zh) * 2019-06-20 2019-08-27 深圳市网心科技有限公司 基于区块链的身份认证方法及相关设备

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104935555A (zh) * 2014-03-20 2015-09-23 华为技术有限公司 客户端证书认证方法、服务器、客户端及系统
CN105681030A (zh) * 2015-12-31 2016-06-15 腾讯科技(深圳)有限公司 密钥管理系统、方法及装置
WO2018050335A1 (en) * 2016-09-15 2018-03-22 Telefonaktiebolaget Lm Ericsson (Publ) Efficient obfuscation of program control flow
US20190007214A1 (en) * 2017-02-14 2019-01-03 Cloudflare, Inc. Providing cross site request forgery protection at an edge server
CN108683667A (zh) * 2018-05-16 2018-10-19 深圳市网心科技有限公司 账户保护方法、装置、系统和存储介质
CN109961292A (zh) * 2019-03-22 2019-07-02 杭州复杂美科技有限公司 区块链验证码应用方法、设备和存储介质
CN110049027A (zh) * 2019-04-02 2019-07-23 安徽省沃昇机电科技有限公司 一种用于区块链网络信息的传输平台
CN110177124A (zh) * 2019-06-20 2019-08-27 深圳市网心科技有限公司 基于区块链的身份认证方法及相关设备

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111669377A (zh) * 2020-05-27 2020-09-15 国家广播电视总局广播电视规划院 一种区块链上链信息的安全管控方法
CN111669377B (zh) * 2020-05-27 2023-02-03 国家广播电视总局广播电视规划院 一种区块链上链信息的安全管控方法
CN112202556A (zh) * 2020-10-30 2021-01-08 联通物联网有限责任公司 安全认证方法、装置和系统
CN114726595A (zh) * 2022-03-24 2022-07-08 中科吉芯(昆山)信息科技有限公司 一种利用时空信息认证人机身份的方法
CN114726595B (zh) * 2022-03-24 2023-09-29 中科吉芯(昆山)信息科技有限公司 一种利用时空信息认证人机身份的方法

Also Published As

Publication number Publication date
CN110602098B (zh) 2021-08-24

Similar Documents

Publication Publication Date Title
CN107483509B (zh) 一种身份验证方法、服务器及可读存储介质
CN110602098B (zh) 身份认证方法、装置、设备和存储介质
CN111163182B (zh) 基于区块链的设备注册方法、装置、电子设备和存储介质
CN112019493B (zh) 身份认证方法、身份认证装置、计算机设备和介质
CN103067402B (zh) 数字证书的生成方法和系统
CN107911222B (zh) 数字签名生成、验证方法及其设备和存储介质
CN108805571B (zh) 数据保护方法、平台、区块链节点、系统和存储介质
CN105306534A (zh) 一种基于开放平台的信息校验方法和开放平台
CN105306490A (zh) 支付验证系统、方法及装置
CN105634743A (zh) 用于开放接口调用的认证方法
CN110958119A (zh) 身份验证方法和装置
CN112311779B (zh) 应用于区块链系统的数据访问控制方法及装置
CN111130798A (zh) 一种请求鉴权方法及相关设备
CN111800276B (zh) 业务处理方法及装置
CN108449186B (zh) 安全验证方法和装置
CN111050326B (zh) 基于区块链的短信验证方法、装置、设备及介质
CN115879074B (zh) 一种基于区块链的身份认证方法、装置和系统
CN114679276B (zh) 基于时间的一次性密码算法的身份认证方法和装置
CN114172923B (zh) 数据传输方法、通信系统及通信装置
CN115086090A (zh) 基于UKey的网络登录认证方法及装置
CN115525930A (zh) 信息转移方法、装置及相关设备
CN115150072A (zh) 云网签发认证方法、设备、装置及存储介质
CN104009963A (zh) 远程密码的安全认证机制
CN113344598A (zh) 数据校验方法、装置、介质及电子设备
CN111786936A (zh) 用于鉴权的方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant