CN106534160B - 基于区块链的身份认证方法及*** - Google Patents

基于区块链的身份认证方法及*** Download PDF

Info

Publication number
CN106534160B
CN106534160B CN201611094966.1A CN201611094966A CN106534160B CN 106534160 B CN106534160 B CN 106534160B CN 201611094966 A CN201611094966 A CN 201611094966A CN 106534160 B CN106534160 B CN 106534160B
Authority
CN
China
Prior art keywords
information
transaction information
transaction
script
authentication
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.)
Active
Application number
CN201611094966.1A
Other languages
English (en)
Other versions
CN106534160A (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.)
Jiangsu Payegis Technology Co Ltd
Original Assignee
Jiangsu Payegis 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 Jiangsu Payegis Technology Co Ltd filed Critical Jiangsu Payegis Technology Co Ltd
Priority to CN201611094966.1A priority Critical patent/CN106534160B/zh
Publication of CN106534160A publication Critical patent/CN106534160A/zh
Application granted granted Critical
Publication of CN106534160B publication Critical patent/CN106534160B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明公开了一种基于区块链的身份认证方法及***,其中,基于区块链的身份认证方法包括:终端设备向应用服务器发送身份认证请求;身份认证请求包括认证因子;应用服务器接收身份认证请求,根据身份认证请求中的认证因子,生成第一交易信息;应用服务器将第一交易信息广播至区块链网络;应用服务器将第一交易信息的第一交易编号信息发送至终端设备;终端设备接收第一交易编号信息,根据第一交易编号信息和认证因子,生成第二交易信息,并将第二交易信息广播至区块链网络;区块链网络根据第一交易信息和第二交易信息,对终端设备进行身份认证,得到认证结果。根据本发明提供的技术方案,通过区块链网络能够安全、便捷地对终端设备进行身份认证。

Description

基于区块链的身份认证方法及***
技术领域
本发明涉及互联网技术领域,具体涉及一种基于区块链的身份认证方法 及***。
背景技术
在互联网技术中,当用户登录某个应用服务器时,该应用服务器经常需 要对用户进行身份认证,从而确定该用户是否具有访问某些资源和使用某些 资源的权限,即确定该用户是否为授权用户,进而使互联网的访问策略能够 可靠、有效地执行,防止攻击者假冒授权用户获得资源的访问权限和使用权 限,保证数据安全以及授权用户的合法利益。
在现有技术中,可通过第三方认证服务器进行身份认证,具体过程为: 用户通过终端设备向第三方认证服务器发送身份认证请求,该身份认证请求 中包含有应用服务器要求的信息,接着第三方认证服务器对该身份认证请求 进行验证,验证通过后对应用服务器要求的信息进行签名,并将认证结果返 回给终端设备,该认证结果中包含有第三方认证服务器对应用服务器要求的 信息的签名,然后终端设备将该认证结果发送至应用服务器,应用服务器根 据认证结果中的签名就可验证终端设备的身份。但是,如果第三方认证服务器出现信息泄露或者信息被篡改,将可能会给终端设备侧的用户和应用服务 器带来巨大损失。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分 地解决上述问题的基于区块链的身份认证方法及***。
根据本发明的一个方面,提供了一种基于区块链的身份认证方法,该方 法包括:
终端设备向应用服务器发送身份认证请求;其中,身份认证请求包括认 证因子;
应用服务器接收身份认证请求,根据身份认证请求中的认证因子,生成 第一交易信息;
应用服务器将第一交易信息广播至区块链网络;
应用服务器将第一交易信息的第一交易编号信息发送至终端设备;
终端设备接收第一交易编号信息,根据第一交易编号信息和认证因子, 生成第二交易信息,并将第二交易信息广播至区块链网络;
区块链网络根据第一交易信息和第二交易信息,对终端设备进行身份认 证,得到认证结果。
根据本发明的另一方面,提供了一种基于区块链的身份认证***,该系 统包括:终端设备、应用服务器和区块链网络;其中,
终端设备用于:向应用服务器发送身份认证请求;其中,身份认证请求 包括认证因子;
应用服务器用于:接收身份认证请求,根据身份认证请求中的认证因子, 生成第一交易信息;将第一交易信息广播至区块链网络,并将第一交易信息 的第一交易编号信息发送至终端设备;
终端设备进一步用于:接收第一交易编号信息,根据第一交易编号信息 和认证因子,生成第二交易信息,并将第二交易信息广播至区块链网络;
区块链网络用于:根据第一交易信息和第二交易信息,对终端设备进行 身份认证,得到认证结果。
根据本发明提供的技术方案,应用服务器根据终端设备的身份认证请求 中的认证因子,生成第一交易信息,将第一交易信息广播至区块链网络,并 将第一交易信息的第一交易编号信息发送至终端设备,接着终端设备根据第 一交易编号信息和认证因子,生成第二交易信息,并将第二交易信息广播至 区块链网络,然后区块链网络根据第一交易信息和第二交易信息,对终端设 备进行身份认证,得到认证结果。根据本发明提供的技术方案,通过区块链 网络能够安全、便捷地对终端设备进行身份认证,另外,利用区块链不可篡 改的特性,还增加了身份认证的可信度。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技 术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它 目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本 领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的, 而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示 相同的部件。在附图中:
图1示出了根据本发明一个实施例的基于区块链的身份认证方法的信令 流程图;
图2示出了根据本发明另一个实施例的基于区块链的身份认证方法的信 令流程图;
图3示出了根据本发明一个实施例的基于区块链的身份认证***的结构 框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示 了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不 应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地 理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的基于区块链的身份认证方法的信令 流程图,如图1所示,该方法包括如下步骤:
步骤S100,终端设备向应用服务器发送身份认证请求。
其中,身份认证请求包括认证因子。具体地,认证因子包括以下一项或 多项:用户名信息、用户密码信息、设备指纹信息、动态码和行为习惯信息。 另外,认证因子还可包括其他可用于认证身份的信息,此处不做限定。
步骤S101,应用服务器接收身份认证请求,根据身份认证请求中的认证 因子,生成第一交易信息。
应用服务器接收终端设备发送的身份认证请求,接着根据身份认证请求 中的认证因子,生成第一交易信息。
步骤S102,应用服务器将第一交易信息广播至区块链网络。
在生成了第一交易信息之后,应用服务器将第一交易信息广播至区块链 网络。其中,区块链具有不可篡改的特性。
步骤S103,应用服务器将第一交易信息的第一交易编号信息发送至终端 设备。
具体地,第一交易信息的第一交易编号信息可为利用哈希算法对第一交 易信息进行计算得到的。为了使终端设备能够获得第一交易信息,应用服务 器将第一交易信息的第一交易编号信息发送至终端设备。
步骤S104,终端设备接收第一交易编号信息,根据第一交易编号信息和 认证因子,生成第二交易信息,并将第二交易信息广播至区块链网络。
终端设备在接收了应用服务器发送的第一交易编号信息之后,根据第一 交易编号信息和认证因子,生成第二交易信息,接着将所生成的第二交易信 息广播至区块链网络。
步骤S105,区块链网络根据第一交易信息和第二交易信息,对终端设备 进行身份认证,得到认证结果。
由于第一交易信息和第二交易信息都广播至了区块链网络,那么在步骤 S105中,区块链网络就可根据第一交易信息和第二交易信息,对终端设备进 行身份认证,得到认证结果。其中,认证结果包括:第一认证结果和第二认 证结果。具体地,第一认证结果为认证成功的认证结果,第二认证结果为认 证失败的认证结果。
根据本发明实施例提供的基于区块链的身份认证方法,应用服务器根据 终端设备的身份认证请求中的认证因子,生成第一交易信息,将第一交易信 息广播至区块链网络,并将第一交易信息的第一交易编号信息发送至终端设 备,接着终端设备根据第一交易编号信息和认证因子,生成第二交易信息, 并将第二交易信息广播至区块链网络,然后区块链网络根据第一交易信息和 第二交易信息,对终端设备进行身份认证,得到认证结果。根据本发明提供 的技术方案,通过区块链网络能够安全、便捷地对终端设备进行身份认证, 另外,利用区块链不可篡改的特性,还增加了身份认证的可信度。
图2示出了根据本发明另一个实施例的基于区块链的身份认证方法的信 令流程图,如图2所示,该方法包括如下步骤:
步骤S200,终端设备向应用服务器发送身份认证请求。
其中,身份认证请求包括认证因子。具体地,认证因子包括以下一项或 多项:用户名信息、用户密码信息、设备指纹信息、动态码和行为习惯信息。 本领域技术人员还可根据实际需要将其他可用于认证身份的信息作为认证因 子,此处不做限定。
步骤S201,应用服务器接收身份认证请求,根据身份认证请求,生成脚 本信息。
应用服务器在接收了身份认证请求之后,会根据身份认证请求,生成脚 本信息。
步骤S202,应用服务器利用身份认证请求中的认证因子和脚本信息,得 到数学变换结果。
具体地,利用脚本信息对身份认证请求中的认证因子进行数学变化,得 到数学变换结果。例如,将身份认证请求中的认证因子作为脚本信息对应的 输入信息,利用脚本信息得到输出信息,所得到的输出信息即为数学变换结 果。其中,数学变化包括但不限于加运算、减运算、与运算、异或运算和哈 希运算等。
步骤S203,应用服务器利用哈希算法计算得到脚本信息对应的脚本哈希 值。
应用服务器利用哈希算法对脚本信息进行哈希运算,得到脚本信息对应 的脚本哈希值。
步骤S204,应用服务器根据脚本信息的区块链地址信息、脚本哈希值和 数学变换结果,生成第一交易信息。
其中,脚本信息具有对应的区块链地址信息,根据脚本信息的区块链地 址信息可得到脚本信息。由于交易信息包括交易输入信息和交易输出信息, 那么在步骤S204中,应用服务器可将区块链的代币作为第一交易信息的交 易输入信息,将脚本信息的区块链地址信息、脚本哈希值和数学变换结果作 为第一交易信息的交易输出信息,从而生成第一交易信息。
步骤S205,应用服务器将第一交易信息广播至区块链网络。
在生成了第一交易信息之后,应用服务器将第一交易信息广播至区块链 网络。相当于应用服务器将脚本信息的区块链地址信息、脚本哈希值和数学 变换结果以第一交易信息的形式广播至区块链网络。
步骤S206,应用服务器将第一交易信息的第一交易编号信息发送至终端 设备。
具体地,第一交易信息的第一交易编号信息为利用哈希算法对第一交易 信息进行计算得到的。可选地,在步骤S206之前,该方法还可包括:应用 服务器利用哈希算法对第一交易信息进行计算,得到第一交易信息的第一交 易编号信息的步骤。
步骤S207,终端设备接收第一交易编号信息,根据第一交易编号信息, 获取第一交易信息。
由于第一交易信息的第一交易编号信息为利用哈希算法对第一交易信息 进行计算得到的,那么在终端设备接收了第一交易编号信息之后,就可根据 第一交易编号信息,获取第一交易信息。
步骤S208,终端设备根据第一交易信息,得到脚本信息。
由于第一交易信息是根据脚本信息的区块链地址信息、脚本哈希值和数 学变换结果生成的,那么终端设备根据第一交易信息就可得到脚本信息的区 块链地址信息,接着根据脚本信息的区块链地址信息就可得到脚本信息。
步骤S209,终端设备根据第一交易编号信息、脚本信息、认证因子和应 用服务器的区块链地址信息,生成第二交易信息。
应用服务器具有对应的区块链地址信息,根据应用服务器的区块链地址 信息可确定应用服务器。具体地,终端设备可将第一交易编号信息、脚本信 息、认证因子作为第二交易信息的交易输入信息,将应用服务器的区块链地 址信息作为第二交易信息的交易输出信息,从而生成第二交易信息。
步骤S210,终端设备将第二交易信息广播至区块链网络。
在生成了第二交易信息之后,终端设备将第二交易信息广播至区块链网 络。相当于终端设备将第一交易编号信息、脚本信息、认证因子和应用服务 器的区块链地址信息以第二交易信息的形式广播至区块链网络。
步骤S211,区块链网络根据第一交易信息和第二交易信息,对终端设备 进行身份认证,得到认证结果。
由于第一交易信息和第二交易信息都广播至了区块链网络,那么在步骤 S211中,区块链网络就可根据第一交易信息和第二交易信息,对终端设备进 行身份认证,得到认证结果。
由于第一交易信息是根据脚本信息的区块链地址信息、脚本哈希值和数 学变换结果生成的,那么区块链网络根据第一交易信息,可得到第一交易信 息对应的脚本信息的区块链地址信息、脚本哈希值和数学变换结果,同理, 第二交易信息是根据第一交易编号信息、脚本信息、认证因子和应用服务器 的区块链地址信息生成的,区块链网络根据第二交易信息,可得到第二交易 信息对应的第一交易编号信息、脚本信息、认证因子和应用服务器的区块链 地址信息。
具体地,区块链网络根据第二交易信息,得到第二交易信息对应的脚本 信息;利用哈希算法对第二交易信息对应的脚本信息进行计算,得到待认证 脚本哈希值。区块链网络根据第一交易信息,得到第一交易信息对应的脚本 哈希值。
在得到了待认证脚本哈希值和第一交易信息对应的脚本哈希值之后,区 块链网络判断待认证脚本哈希值是否与第一交易信息对应的脚本哈希值相 同。
如果区块链网络判断得到待认证脚本哈希值与第一交易信息对应的脚本 哈希值相同,则区块链网络根据第二交易信息,得到第二交易信息对应的认 证因子,并根据第二交易信息对应的认证因子和脚本信息,得到待认证数学 变换结果;接着区块链网络根据第一交易信息,得到第一交易信息对应的数 学变换结果;在得到了待认证数学变换结果和第一交易信息对应的数学变换 结果之后,区块链网络判断待认证数学变换结果是否与第一交易信息对应的 数学变换结果相同。如果判断得到认证数学变换结果与第一交易信息对应的 数学变换结果相同,则区块链网络得到第一认证结果,即得到认证成功的认 证结果;如果判断得到认证数学变换结果不与第一交易信息对应的数学变换 结果相同,则区块链网络得到第二认证结果,即得到认证失败的认证结果。
如果区块链网络判断得到待认证脚本哈希值不与第一交易信息对应的脚 本哈希值相同,则区块链网络得到第二认证结果。
在本实施例中,在区块链网络对终端设备进行身份认证的过程中,区块 链网络不仅验证脚本哈希值,还验证数学变换结果,从而能够更加全面、准 确地进行身份认证,进而获得可靠的认证结果。
其中,其他的验证交易合法性的方式与现有技术中区块链网络验证交易 合法性的方式相同,此处不再赘述。
在实际应用中,可由区块链网络中的矿工节点根据第一交易信息和第二 交易信息,对终端设备进行身份认证。如果经区块链网络中的矿工节点对终 端设备进行身份认证,得到第一认证结果,即认证成功,那么矿工节点在区 块链网络中广播第二交易信息,在区块链网络中的各节点达成共识后写入区 块链。
步骤S212,区块链网络将认证结果发送至应用服务器。
区块链网络根据第二交易信息可得到应用服务器的区块链地址信息,根 据应用服务器的区块链地址信息,就可将认证结果发送至应用服务器,以便 应用服务器获知终端设备的身份认证是否认证成功。
根据本发明实施例提供的基于区块链的身份认证方法,应用服务器根据 脚本信息的区块链地址信息、脚本哈希值和数学变换结果,生成第一交易信 息,将第一交易信息广播至区块链网络,并将第一交易信息的第一交易编号 信息发送至终端设备,终端设备根据第一交易编号信息、脚本信息、认证因 子和应用服务器的区块链地址信息,生成第二交易信息,并将第二交易信息 广播至区块链网络,然后区块链网络根据第一交易信息和第二交易信息,对 终端设备进行身份认证,得到认证结果。根据本发明提供的技术方案,通过区块链网络保存并验证脚本哈希值和数学变换结果,从而能够安全、便捷、 准确地对终端设备进行身份认证,另外,利用区块链不可篡改的特性,还增 加了身份认证的可信度。
图3示出了根据本发明一个实施例的基于区块链的身份认证***的结构 框图,如图3所示,该***包括:终端设备310、应用服务器320和区块链 网络330。
终端设备310用于:向应用服务器320发送身份认证请求。
其中,身份认证请求包括认证因子。本领域技术人员可根据实际需要将 可用于认证身份的信息作为认证因子,此处不做限定。例如,认证因子可包 括以下一项或多项:用户名信息、用户密码信息、设备指纹信息、动态码和 行为习惯信息。
应用服务器320用于:接收身份认证请求,根据身份认证请求中的认证 因子,生成第一交易信息;将第一交易信息广播至区块链网络,并将第一交 易信息的第一交易编号信息发送至终端设备。
具体地,应用服务器320包括:第一接收模块321、第一处理模块322、 第一生成模块323、第一广播模块324和第一发送模块325。其中,第一接收 模块321用于:接收身份认证请求。第一处理模块322用于:根据身份认证 请求,生成脚本信息;利用身份认证请求中的认证因子和脚本信息,得到数 学变换结果;利用哈希算法计算得到脚本信息对应的脚本哈希值。第一生成 模块323用于:根据脚本信息的区块链地址信息、脚本哈希值和数学变换结果,生成第一交易信息。第一广播模块324用于:将第一交易信息广播至区 块链网络。第一发送模块325用于:将第一交易信息的第一交易编号信息发 送至终端设备310。
其中,应用服务器320中的第一处理模块322利用脚本信息对身份认证 请求中的认证因子进行数学变化,得到数学变换结果。例如,将身份认证请 求中的认证因子作为脚本信息对应的输入信息,利用脚本信息得到输出信息, 所得到的输出信息即为数学变换结果。数学变化包括但不限于加运算、减运 算、与运算、异或运算和哈希运算等。
由于交易信息包括交易输入信息和交易输出信息,那么应用服务器320 中的第一生成模块323可将区块链的代币作为第一交易信息的交易输入信 息,将脚本信息的区块链地址信息、脚本哈希值和数学变换结果作为第一交 易信息的交易输出信息,从而生成第一交易信息。在第一生成模块323生成 了第一交易信息之后,应用服务器320中的第一广播模块324将第一交易信 息广播至区块链网络330,相当于第一广播模块324将脚本信息的区块链地 址信息、脚本哈希值和数学变换结果以第一交易信息的形式广播至区块链网 络。
可选地,应用服务器320还用于:利用哈希算法对第一交易信息进行计 算,得到第一交易信息的第一交易编号信息。具体地,应用服务器320中的 第一处理模块322利用哈希算法对第一交易信息进行计算,得到第一交易信 息的第一交易编号信息。
终端设备310还用于:接收第一交易编号信息,根据第一交易编号信息 和认证因子,生成第二交易信息,并将第二交易信息广播至区块链网络。
具体地,终端设备310包括:第二发送模块311、第二接收模块312、第 二处理模块313、第二生成模块314和第二广播模块315。其中,第二发送模 块311用于:向应用服务器320发送身份认证请求。第二接收模块312用于: 接收第一交易编号信息。第二处理模块313用于:根据第一交易编号信息, 获取第一交易信息;根据第一交易信息,得到脚本信息。第二生成模块314 用于:根据第一交易编号信息、脚本信息、认证因子和应用服务器的区块链地址信息,生成第二交易信息。第二广播模块315用于:将第二交易信息广 播至区块链网络330。
由于第一交易信息的第一交易编号信息为利用哈希算法对第一交易信息 进行计算得到的,那么终端设备310中的第二接收模块312接收了第一交易 编号信息之后,第二处理模块313根据第一交易编号信息,获取第一交易信 息。由于第一交易信息是根据脚本信息的区块链地址信息、脚本哈希值和数 学变换结果生成的,那么第二处理模块313根据第一交易信息就可得到脚本 信息的区块链地址信息,根据脚本信息的区块链地址信息就可得到脚本信息。
接着终端设备310中的第二生成模块314就可根据第一交易编号信息、 脚本信息、认证因子和应用服务器的区块链地址信息,生成第二交易信息。 具体地,第二生成模块314可将第一交易编号信息、脚本信息、认证因子作 为第二交易信息的交易输入信息,将应用服务器的区块链地址信息作为第二 交易信息的交易输出信息,从而生成第二交易信息。在第二生成模块314生 成了第二交易信息之后,第二广播模块315将第二交易信息广播至区块链网 络330,相当于第二广播模块315将第一交易编号信息、脚本信息、认证因 子和应用服务器的区块链地址信息以第二交易信息的形式广播至区块链网络 330。
区块链网络330用于:根据第一交易信息和第二交易信息,对终端设备 310进行身份认证,得到认证结果。
其中,区块链网络330包括:第三接收模块331、第三处理模块332、第 一认证模块333、第四处理模块334、第二认证模块335和结果生成模块336。
第三接收模块331用于:接收第一交易信息和第二交易信息。
第三处理模块332用于:根据第二交易信息,得到第二交易信息对应的 脚本信息;利用哈希算法对第二交易信息对应的脚本信息进行计算,得到待 认证脚本哈希值;根据第一交易信息,得到第一交易信息对应的脚本哈希值。
第一认证模块333用于:判断待认证脚本哈希值是否与第一交易信息对 应的脚本哈希值相同。
第四处理模块334用于:若第一认证模块333判断得到待认证脚本哈希 值与第一交易信息对应的脚本哈希值相同,则根据第二交易信息,得到第二 交易信息对应的认证因子,并根据第二交易信息对应的认证因子和脚本信息, 得到待认证数学变换结果;根据第一交易信息,得到第一交易信息对应的数 学变换结果。
第二认证模块335用于:判断待认证数学变换结果是否与第一交易信息 对应的数学变换结果相同。
结果生成模块336用于:若第一认证模块333判断得到待认证脚本哈希 值不与第一交易信息对应的脚本哈希值相同,则得到第二认证结果;若第二 认证模块335判断得到待认证数学变换结果与第一交易信息对应的数学变换 结果相同,则得到第一认证结果;若第二认证模块335判断得到待认证数学 变换结果不与第一交易信息对应的数学变换结果相同,则得到第二认证结果。
在本实施例中,区块链网络不仅验证脚本哈希值,还验证数学变换结果, 从而能够更加全面、准确地进行身份认证,进而获得可靠的认证结果。
可选地,区块链网络330还用于将认证结果发送至应用服务器320,以 便应用服务器320获知终端设备310的身份认证是否认证成功。具体地,区 块链网络330可包括第三发送模块(图中未示出),第三发送模块用于将认 证结果发送至应用服务器320。
根据本发明提供的基于区块链的身份认证***,应用服务器根据脚本信 息的区块链地址信息、脚本哈希值和数学变换结果,生成第一交易信息,将 第一交易信息广播至区块链网络,并将第一交易信息的第一交易编号信息发 送至终端设备,终端设备根据第一交易编号信息、脚本信息、认证因子和应 用服务器的区块链地址信息,生成第二交易信息,并将第二交易信息广播至 区块链网络,然后区块链网络根据第一交易信息和第二交易信息,对终端设 备进行身份认证,得到认证结果。根据本发明提供的技术方案,通过区块链网络保存并验证脚本哈希值和数学变换结果,从而能够安全、便捷、准确地 对终端设备进行身份认证,另外,利用区块链不可篡改的特性,还增加了身 份认证的可信度。
至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明 的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根 据发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修 改。因此,本发明的范围应该被理解和认定为覆盖了所有这些其他变型或修 改。
本领域技术人员应当理解,本发明的实施方式可以实现为一种***、装 置、设备、方法或计算机程序产品。此外,本发明也不针对任何特定编程语 言,应当明白,可以利用各种编程语言实现本发明描述的内容,并且上面对 特定语言所做的描述是为了披露本发明的最佳实施方式。
需要注意的是,尽管在上面的说明中详细描述了基于区块链的身份认证 ***中的若干模块,但是这种划分仅仅是示例性的,并非是强制性的。本领 域的技术人员可以理解,实际上,可以对实施例中的模块进行自适应性地改 变,将实施例中的多个模块组合成一个模块,也可将一个模块划分成多个模 块。
此外,尽管在附图中以特定顺序描述了本发明实施操作,但是,这并非 要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示 的操作才能实现期望的结果。可以省略某些步骤,将多个步骤合并为一个步 骤执行,或者将一个步骤分成多个步骤执行。
综上所述,应用本发明所述的基于区块链的身份认证方法和***,通过 区块链网络能够安全、便捷地对终端设备进行身份认证,另外,利用区块链 不可篡改的特性,还增加了身份认证的可信度。
以上对本发明的方法和具体实施方法进行了详细的介绍,并给出了相应 的实施例。当然,除上述实施例外,本发明还可以有其它实施方式,凡采用 等同替换或等效变换形成的技术方案,均落在本发明所要保护的范围之内。

Claims (12)

1.一种基于区块链的身份认证方法,其特征在于,包括:
终端设备向应用服务器发送身份认证请求;其中,所述身份认证请求包括认证因子,所述认证因子包括以下一项或多项:用户名信息、用户密码信息、设备指纹信息、动态码和行为习惯信息;
所述应用服务器接收所述身份认证请求,根据所述身份认证请求中的认证因子,生成第一交易信息;
所述应用服务器将所述第一交易信息广播至区块链网络;
所述应用服务器将第一交易信息的第一交易编号信息发送至所述终端设备;
所述终端设备接收所述第一交易编号信息,根据所述第一交易编号信息和所述认证因子,生成第二交易信息,并将所述第二交易信息广播至所述区块链网络;
所述区块链网络根据所述第一交易信息和所述第二交易信息,对所述终端设备进行身份认证,得到认证结果;
其中,所述第一交易信息是根据脚本信息的区块链地址信息、脚本哈希值和数学变换结果生成的;所述脚本信息是根据所述身份认证请求生成的;所述第二交易信息是根据所述第一交易编号信息、所述脚本信息、所述认证因子和所述应用服务器的区块链地址信息生成的;
所述区块链网络根据所述第一交易信息和所述第二交易信息,对所述终端设备进行身份认证,得到认证结果进一步包括:所述区块链网络根据所述第一交易信息和所述第二交易信息,对所述脚本哈希值和所述数学变换结果进行验证,得到认证结果。
2.根据权利要求1所述的基于区块链的身份认证方法,其特征在于,所述应用服务器接收所述身份认证请求,根据所述身份认证请求中的认证因子,生成第一交易信息进一步包括:
所述应用服务器接收所述身份认证请求,根据所述身份认证请求,生成脚本信息;
所述应用服务器利用所述身份认证请求中的认证因子和所述脚本信息,得到数学变换结果;
所述应用服务器利用哈希算法计算得到所述脚本信息对应的脚本哈希值;
所述应用服务器根据脚本信息的区块链地址信息、所述脚本哈希值和所述数学变换结果,生成第一交易信息。
3.根据权利要求1所述的基于区块链的身份认证方法,其特征在于,在所述应用服务器将第一交易信息的第一交易编号信息发送至所述终端设备之前,所述方法还包括:
所述应用服务器利用哈希算法对所述第一交易信息进行计算,得到所述第一交易信息的第一交易编号信息。
4.根据权利要求2所述的基于区块链的身份认证方法,其特征在于,所述终端设备接收所述第一交易编号信息,根据所述第一交易编号信息和所述认证因子,生成第二交易信息,并将所述第二交易信息广播至所述区块链网络进一步包括:
所述终端设备接收所述第一交易编号信息,根据所述第一交易编号信息,获取所述第一交易信息;
所述终端设备根据所述第一交易信息,得到所述脚本信息;
所述终端设备根据所述第一交易编号信息、所述脚本信息、所述认证因子和应用服务器的区块链地址信息,生成第二交易信息;
所述终端设备将所述第二交易信息广播至所述区块链网络。
5.根据权利要求4所述的基于区块链的身份认证方法,其特征在于,所述区块链网络根据所述第一交易信息和所述第二交易信息,对所述终端设备进行身份认证,得到认证结果进一步包括:
所述区块链网络根据所述第二交易信息,得到所述第二交易信息对应的脚本信息;
所述区块链网络利用哈希算法对所述第二交易信息对应的脚本信息进行计算,得到待认证脚本哈希值;
所述区块链网络根据所述第一交易信息,得到所述第一交易信息对应的脚本哈希值;
所述区块链网络判断所述待认证脚本哈希值是否与所述第一交易信息对应的脚本哈希值相同;
若所述区块链网络判断得到所述待认证脚本哈希值与所述第一交易信息对应的脚本哈希值相同,则所述区块链网络根据所述第二交易信息,得到所述第二交易信息对应的认证因子,并根据所述第二交易信息对应的认证因子和脚本信息,得到待认证数学变换结果;所述区块链网络根据所述第一交易信息,得到所述第一交易信息对应的数学变换结果;所述区块链网络判断所述待认证数学变换结果是否与所述第一交易信息对应的数学变换结果相同;若是,则所述区块链网络得到第一认证结果;若否,则所述区块链网络得到第二认证结果;
若所述区块链网络判断得到所述待认证脚本哈希值不与所述第一交易信息对应的脚本哈希值相同,则所述区块链网络得到第二认证结果。
6.根据权利要求1-5任一项所述的基于区块链的身份认证方法,其特征在于,在所述区块链网络根据所述第一交易信息和所述第二交易信息,对所述终端设备进行身份认证,得到认证结果之后,所述方法还包括:
所述区块链网络将所述认证结果发送至所述应用服务器。
7.一种基于区块链的身份认证***,其特征在于,包括:终端设备、应用服务器和区块链网络;其中,
所述终端设备用于:向所述应用服务器发送身份认证请求;其中,所述身份认证请求包括认证因子,所述认证因子包括以下一项或多项:用户名信息、用户密码信息、设备指纹信息、动态码和行为习惯信息;
所述应用服务器用于:接收所述身份认证请求,根据所述身份认证请求中的认证因子,生成第一交易信息;将所述第一交易信息广播至区块链网络,并将第一交易信息的第一交易编号信息发送至所述终端设备;
所述终端设备进一步用于:接收所述第一交易编号信息,根据所述第一交易编号信息和所述认证因子,生成第二交易信息,并将所述第二交易信息广播至所述区块链网络;
所述区块链网络用于:根据所述第一交易信息和所述第二交易信息,对所述终端设备进行身份认证,得到认证结果;
其中,所述第一交易信息是根据脚本信息的区块链地址信息、脚本哈希值和数学变换结果生成的;所述脚本信息是根据所述身份认证请求生成的;所述第二交易信息是根据所述第一交易编号信息、所述脚本信息、所述认证因子和所述应用服务器的区块链地址信息生成的;
所述区块链网络进一步用于:根据所述第一交易信息和所述第二交易信息,对所述脚本哈希值和所述数学变换结果进行验证,得到认证结果。
8.根据权利要求7所述的基于区块链的身份认证***,其特征在于,所述应用服务器包括:第一接收模块、第一处理模块、第一生成模块、第一广播模块和第一发送模块;
所述第一接收模块用于:接收所述身份认证请求;
所述第一处理模块用于:根据所述身份认证请求,生成脚本信息;利用所述身份认证请求中的认证因子和所述脚本信息,得到数学变换结果;利用哈希算法计算得到所述脚本信息对应的脚本哈希值;
所述第一生成模块用于:根据脚本信息的区块链地址信息、所述脚本哈希值和所述数学变换结果,生成第一交易信息;
所述第一广播模块用于:将所述第一交易信息广播至区块链网络;
所述第一发送模块用于:将第一交易信息的第一交易编号信息发送至所述终端设备。
9.根据权利要求7所述的基于区块链的身份认证***,其特征在于,所述应用服务器进一步用于:
利用哈希算法对所述第一交易信息进行计算,得到所述第一交易信息的第一交易编号信息。
10.根据权利要求8所述的基于区块链的身份认证***,其特征在于,所述终端设备包括:第二发送模块、第二接收模块、第二处理模块、第二生成模块和第二广播模块;
所述第二发送模块用于:向所述应用服务器发送所述身份认证请求;
所述第二接收模块用于:接收所述第一交易编号信息;
所述第二处理模块用于:根据所述第一交易编号信息,获取所述第一交易信息;根据所述第一交易信息,得到所述脚本信息;
所述第二生成模块用于:根据所述第一交易编号信息、所述脚本信息、所述认证因子和应用服务器的区块链地址信息,生成第二交易信息;
所述第二广播模块用于:将所述第二交易信息广播至所述区块链网络。
11.根据权利要求10所述的基于区块链的身份认证***,其特征在于,所述区块链网络包括:第三接收模块、第三处理模块、第一认证模块、第四处理模块、第二认证模块和结果生成模块;
所述第三接收模块用于:接收所述第一交易信息和所述第二交易信息;
所述第三处理模块用于:根据所述第二交易信息,得到所述第二交易信息对应的脚本信息;利用哈希算法对所述第二交易信息对应的脚本信息进行计算,得到待认证脚本哈希值;根据所述第一交易信息,得到所述第一交易信息对应的脚本哈希值;
所述第一认证模块用于:判断所述待认证脚本哈希值是否与所述第一交易信息对应的脚本哈希值相同;
所述第四处理模块用于:若所述第一认证模块判断得到所述待认证脚本哈希值与所述第一交易信息对应的脚本哈希值相同,则根据所述第二交易信息,得到所述第二交易信息对应的认证因子,并根据所述第二交易信息对应的认证因子和脚本信息,得到待认证数学变换结果;根据所述第一交易信息,得到所述第一交易信息对应的数学变换结果;
所述第二认证模块用于:判断所述待认证数学变换结果是否与所述第一交易信息对应的数学变换结果相同;
所述结果生成模块用于:若所述第一认证模块判断得到所述待认证脚本哈希值不与所述第一交易信息对应的脚本哈希值相同,则得到第二认证结果;若所述第二认证模块判断得到所述待认证数学变换结果与所述第一交易信息对应的数学变换结果相同,则得到第一认证结果;若所述第二认证模块判断得到所述待认证数学变换结果不与所述第一交易信息对应的数学变换结果相同,则得到第二认证结果。
12.根据权利要求7-11任一项所述的基于区块链的身份认证***,其特征在于,所述区块链网络进一步用于:
将所述认证结果发送至所述应用服务器。
CN201611094966.1A 2016-12-02 2016-12-02 基于区块链的身份认证方法及*** Active CN106534160B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611094966.1A CN106534160B (zh) 2016-12-02 2016-12-02 基于区块链的身份认证方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611094966.1A CN106534160B (zh) 2016-12-02 2016-12-02 基于区块链的身份认证方法及***

Publications (2)

Publication Number Publication Date
CN106534160A CN106534160A (zh) 2017-03-22
CN106534160B true CN106534160B (zh) 2020-02-21

Family

ID=58354688

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611094966.1A Active CN106534160B (zh) 2016-12-02 2016-12-02 基于区块链的身份认证方法及***

Country Status (1)

Country Link
CN (1) CN106534160B (zh)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112929383A (zh) * 2017-05-16 2021-06-08 江峰 一种带区块发布机制的多中心认证***
CN107147652B (zh) * 2017-05-18 2019-08-09 电子科技大学 一种基于区块链的用户多形态身份的安全融合认证方法
CN107332826B (zh) * 2017-06-09 2019-12-03 中国联合网络通信集团有限公司 区块链代理节点的通信方法及装置
CN107171812A (zh) * 2017-07-18 2017-09-15 光载无限(北京)科技有限公司 一种基于区块链的无密钥签名基础设施构建方法
CN107181765A (zh) * 2017-07-25 2017-09-19 光载无限(北京)科技有限公司 基于区块链技术的网络数字身份认证方法
CN107493162A (zh) * 2017-07-25 2017-12-19 中国联合网络通信集团有限公司 区块链节点的实现方法及装置
CN107465698A (zh) * 2017-09-26 2017-12-12 武汉斗鱼网络科技有限公司 一种数据校验方法及服务器
CN107682328A (zh) * 2017-09-26 2018-02-09 武汉斗鱼网络科技有限公司 一种数据校验方法及客户端
CN107623865A (zh) * 2017-09-26 2018-01-23 武汉斗鱼网络科技有限公司 一种数据校验方法及服务器
CN107679149A (zh) * 2017-09-26 2018-02-09 武汉斗鱼网络科技有限公司 一种数据处理方法及服务器
CN107454110A (zh) * 2017-09-26 2017-12-08 武汉斗鱼网络科技有限公司 一种数据校验方法及服务器
CN107528855A (zh) * 2017-09-26 2017-12-29 武汉斗鱼网络科技有限公司 一种数据校验方法及服务器
CN109840766B (zh) * 2017-11-27 2024-03-29 华为终端有限公司 一种设备控制方法及其相关设备
CN108009825A (zh) * 2017-11-29 2018-05-08 江苏安凰领御科技有限公司 一种基于区块链技术的身份管理***及方法
CN108320173A (zh) * 2017-12-12 2018-07-24 北京瑞卓喜投科技发展有限公司 基于区块链技术的积分处理方法及装置
CN108540553B (zh) * 2018-04-08 2019-08-13 中国联合网络通信集团有限公司 物联网数据管理方法、平台及设备
CN108882005B (zh) * 2018-04-13 2021-04-27 武汉斗鱼网络科技有限公司 一种弹幕验证方法、计算机设备和存储介质
CN108809953B (zh) * 2018-05-22 2020-09-01 飞天诚信科技股份有限公司 一种基于区块链的匿名身份认证的方法及装置
CN108924089B (zh) * 2018-05-29 2021-11-09 武汉斗鱼网络科技有限公司 一种客户端设备识别方法、装置及客户端设备
KR101982604B1 (ko) * 2018-08-23 2019-05-27 신호열 블록체인 기반의 아이템 생성 방법
CN109194651B (zh) * 2018-09-04 2021-10-19 深信服科技股份有限公司 一种身份认证方法、装置、设备及存储介质
CN109257342B (zh) 2018-09-04 2020-05-26 阿里巴巴集团控股有限公司 区块链跨链的认证方法、***、服务器及可读存储介质
CN109493202A (zh) * 2018-09-27 2019-03-19 深圳壹账通智能科技有限公司 区块链对账方法、装置、***、设备及可读存储介质
CN109409134B (zh) * 2018-09-29 2021-08-31 浙江口碑网络技术有限公司 交易数据的监控方法及装置,存储介质和电子设备
CN109379357B (zh) * 2018-10-18 2021-01-08 全链通有限公司 基于社会关系担保实现区块链实名制认证的方法及装置
CN109302415B (zh) * 2018-11-09 2019-11-01 四川虹微技术有限公司 一种认证方法、区块链节点及存储介质
CN110263579B (zh) * 2018-11-16 2021-05-11 腾讯科技(深圳)有限公司 一种数据处理方法、***及相关设备
PL3602457T3 (pl) 2019-02-28 2021-10-25 Advanced New Technologies Co., Ltd. System i sposób zarządzania danymi w łańcuchu bloków
CN111193736B (zh) * 2019-12-30 2020-12-29 江苏恒宝智能***技术有限公司 一种信息的认证方法、装置、***及存储介质
CN111833976A (zh) * 2020-07-02 2020-10-27 中南大学湘雅医院 一种基于区块链的慢性关节炎患者随访管理***
CN112637184B (zh) * 2020-12-18 2022-05-17 珠海格力电器股份有限公司 安全认证***、方法、装置、设备和计算机可读存储介质
CN112685721A (zh) * 2020-12-23 2021-04-20 深圳供电局有限公司 电能表权限认证方法、装置、计算机设备和存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9876775B2 (en) * 2012-11-09 2018-01-23 Ent Technologies, Inc. Generalized entity network translation (GENT)
US10007913B2 (en) * 2015-05-05 2018-06-26 ShoCard, Inc. Identity management service using a blockchain providing identity transactions between devices
CN105701372B (zh) * 2015-12-18 2019-04-09 布比(北京)网络技术有限公司 一种区块链身份构建及验证方法
CN105975868A (zh) * 2016-04-29 2016-09-28 杭州云象网络技术有限公司 一种基于区块链的证据保全方法及装置
CN106096444B (zh) * 2016-06-12 2019-05-14 杨鹏 一种基于生物信息的身份识别与社会信息记录方法及***
CN106100847B (zh) * 2016-06-14 2021-10-26 惠众商务顾问(北京)有限公司 非对称加密区块链身份信息验证方法及装置
CN105976232B (zh) * 2016-06-24 2020-04-28 深圳前海微众银行股份有限公司 资产交易方法和装置
CN105959307A (zh) * 2016-06-30 2016-09-21 中国科学院计算技术研究所 基于区块链技术的存在证明及认证服务方法及***

Also Published As

Publication number Publication date
CN106534160A (zh) 2017-03-22

Similar Documents

Publication Publication Date Title
CN106534160B (zh) 基于区块链的身份认证方法及***
CN110493202B (zh) 登录令牌的生成及验证方法、装置和服务器
TWI522836B (zh) Network authentication method and system for secure electronic transaction
CN112019493B (zh) 身份认证方法、身份认证装置、计算机设备和介质
CN110401615B (zh) 一种身份认证方法、装置、设备、***及可读存储介质
KR101744747B1 (ko) 휴대 단말기, 단말기 및 보안쿠키를 이용한 인증 방법
CN108322416B (zh) 一种安全认证实现方法、装置及***
JP6200068B2 (ja) Icカードのオフラインpinの検証方法及びicカードのオフライン検証システム
CN110611647A (zh) 一种区块链***上的节点加入方法和装置
CN107453871B (zh) 口令生成方法、口令验证方法、支付方法及装置
CN105743854A (zh) 安全认证***及方法
CN112437068A (zh) 认证及密钥协商方法、装置和***
CN107770183B (zh) 一种数据传输方法与装置
CN112422516B (zh) 基于电力边缘计算的可信连接方法、装置和计算机设备
CN116506134B (zh) 数字证书管理方法、装置、设备、***及可读存储介质
CN107979579B (zh) 一种安全认证方法和安全认证设备
CN116707758A (zh) 可信计算设备的认证方法、设备和服务器
CN111628985A (zh) 安全访问控制方法、装置、计算机设备和存储介质
CN109145543B (zh) 一种身份认证方法
CN111652720A (zh) 云取证方法、装置、计算机设备及存储介质
CN108429621B (zh) 一种身份验证方法及装置
CN109428869B (zh) 钓鱼攻击防御方法和授权服务器
CN107786553B (zh) 基于工作量证明的身份认证方法、服务器及***
CN108574657B (zh) 接入服务器的方法、装置、***以及计算设备和服务器
CN111988336A (zh) 访问请求的处理方法、装置、***和计算机设备

Legal Events

Date Code Title Description
C06 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