CN111245600B - 基于区块链技术的鉴权认证方法和系统 - Google Patents

基于区块链技术的鉴权认证方法和系统 Download PDF

Info

Publication number
CN111245600B
CN111245600B CN201911220139.6A CN201911220139A CN111245600B CN 111245600 B CN111245600 B CN 111245600B CN 201911220139 A CN201911220139 A CN 201911220139A CN 111245600 B CN111245600 B CN 111245600B
Authority
CN
China
Prior art keywords
public key
authentication
request
requester
rpk
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
CN201911220139.6A
Other languages
English (en)
Other versions
CN111245600A (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 Aijia Household Products Co Ltd
Original Assignee
Jiangsu Aijia Household Products 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 Aijia Household Products Co Ltd filed Critical Jiangsu Aijia Household Products Co Ltd
Priority to CN201911220139.6A priority Critical patent/CN111245600B/zh
Publication of CN111245600A publication Critical patent/CN111245600A/zh
Application granted granted Critical
Publication of CN111245600B publication Critical patent/CN111245600B/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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于区块链技术的鉴权认证方法和系统,鉴权系统可以生成系统私钥SK、系统公钥PK、请求公钥RPK;请求方R根据请求公钥RPK生成区块信息、签名信息,将唯一标识appkey、区块信息和签名信息作为一个区块加入区块链;各个认证方查询数据库中的区块,获取区块中记录的请求方R的唯一标识appkey,得到第一匹配公钥;根据鉴权系统发送的请求公钥RPK确定第二匹配公钥,在第一匹配公钥和第二匹配公钥一致时,生成并广播公钥通过信息,在检测到公钥通过信息的数量超过设定个数时,判定请求方R的请求认证通过,其中可以通过认证鉴权去中心化,构建共识机制来保证安全性,保证生成的信息真实可信、不能被篡改。

Description

基于区块链技术的鉴权认证方法和系统
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于区块链技术的鉴权认证方法和系统。
背景技术
在互联网技术极速发展的今天,越来越多的互联网平台融入我们的生活,在这些系统应用中,一般针对所有的请求都会进行权限校验。请求会通过一个权限的拦截器进行权限的校验,在登录时将用户信息缓存到共享存储中,后续访问则从缓存中获取用户信息。
近年随着微服务架构的兴起,以图1所示的微服务架构为例,一个应用被拆分成若干个微应用,每个应用都需要具备对【外部应用接入认证鉴权】、【用户访问服务认证鉴权】、【服务访问服务认证鉴权】等多种鉴权场景,一般都会设计一个鉴权认证服务来进行认证和权限的管理,这种传统的中心化系统面临这越来越大的挑战,主要存在的弊端有如下几点:存在中心化系统,它是一种信任机制,对管理人员和中心化系统过分的依赖,管理员可以随时篡改数据,信息交互方面存在严重的安全隐患;微服务之间的认证信息使用共享存储,面临信息安全和可用性风险;黑客很容易入侵数据库,带来严重的损失,对系统的稳定性带来极大的威胁;随着服务数量快速增加,服务之间认证口令和权限数据的维护难度会增加。可见传统的鉴权认证技术存在安全性低的问题。
发明内容
针对以上问题,本发明提出一种基于区块链技术的鉴权认证方法和系统。
为实现本发明的目的,提供一种基于区块链技术的鉴权认证方法,包括如下步骤:
S10,生成所述鉴权系统的系统私钥SK和系统公钥PK;
S20,在请求方R的请求被首次发送到鉴权系统时,根据请求方R的唯一标识appkey生成所述请求方R的请求公钥RPK,将所述请求公钥RPK发送至所述请求方R;
S30,根据所述系统私钥SK和请求公钥RPK确定所述请求方R的请求私钥RSK,将所述请求私钥RSK发送至鉴权主体的各个应用;
S40,所述请求方R根据所述请求公钥RPK生成区块信息,根据所述系统公钥PK和所述请求私钥RSK确定所述区块信息的签名信息,将所述唯一标识appkey、区块信息和签名信息作为一个区块加入区块链并存入数据库;
S50,各个认证方查询数据库中的区块,获取区块中记录的请求方R的唯一标识appkey,根据所述唯一标识appkey计算得到所述请求方R的请求公钥,得到第一匹配公钥;所述认证方包括鉴权主体中除所述请求方R之外的应用;
S60,各个认证方根据鉴权系统发送的请求公钥RPK确定第二匹配公钥,在第一匹配公钥和第二匹配公钥一致时,判定公钥认证通过,生成公钥通过信息,并向鉴权主体的各个应用广播所述公钥通过信息,在检测到公钥通过信息的数量超过设定个数时,判定请求方R的请求认证通过。
在一个实施例中,上述基于区块链技术的鉴权认证方法,还包括:
获取所述请求方R发送的请求对应的目标应用,将所述请求方R的请求转发至目标应用。
在一个实施例中,根据所述系统私钥SK和请求公钥RPK确定所述请求方R的请求私钥RSK的过程包括:
RSK=md5(SK+RPK+timestamp),
其中,timestamp表示当前时间戳,md5()表示加密函数。
在一个实施例中,请求方R根据所述请求公钥RPK生成区块信息的过程包括:
L=Base(RPK+timestamp),
其中,timestamp表示当前时间戳,Base()表示转换函数,L表示区块信息。
在一个实施例中,鉴权系统包括数据层、网络层、共识层和接口层。
作为一个实施例,认证请求接入到同一个区块链网络中,使用统一的接口层进行交互,同时接口层和网络层、共识层通过基础协议进行交互,网络层负责发现区块链网络中的服务节点和数据的传输,共识层负责认证,数据层负责存储数据。
一种基于区块链技术的鉴权认证系统,包括鉴权系统、请求方和认证方;
所述鉴权系统生成所述鉴权系统的系统私钥SK和系统公钥PK;在请求方R的请求被首次发送到鉴权系统时,根据请求方R的唯一标识appkey生成所述请求方R的请求公钥RPK,将所述请求公钥RPK发送至所述请求方R;根据所述系统私钥SK和请求公钥RPK确定所述请求方R的请求私钥RSK,将所述请求私钥RSK发送至鉴权主体的各个应用;
所述请求方R根据所述请求公钥RPK生成区块信息,根据所述系统公钥PK和所述请求私钥RSK确定所述区块信息的签名信息,将所述唯一标识appkey、区块信息和签名信息作为一个区块加入区块链并存入数据库;
所述认证方查询数据库中的区块,获取区块中记录的请求方R的唯一标识appkey,根据所述唯一标识appkey计算得到所述请求方R的请求公钥,得到第一匹配公钥;根据鉴权系统发送的请求公钥RPK确定第二匹配公钥,在第一匹配公钥和第二匹配公钥一致时,判定公钥认证通过,生成公钥通过信息,并向鉴权主体的各个应用广播所述公钥通过信息,在检测到公钥通过信息的数量超过设定个数时,判定请求方R的请求认证通过。
在一个实施例中,鉴权系统包括数据层、网络层、共识层和接口层。
作为一个实施例,认证请求接入到同一个区块链网络中,使用统一的接口层进行交互,同时接口层和网络层、共识层通过基础协议进行交互,网络层负责发现区块链网络中的服务节点和数据的传输,共识层负责认证,数据层负责存储数据。
上述基于区块链技术的鉴权认证方法和系统中,鉴权系统可以生成所述鉴权系统的系统私钥SK和系统公钥PK,在请求方R的请求被首次发送到鉴权系统时,根据请求方R的唯一标识appkey生成所述请求方R的请求公钥RPK,将所述请求公钥RPK发送至所述请求方R,根据所述系统私钥SK和请求公钥RPK确定所述请求方R的请求私钥RSK,将所述请求私钥RSK发送至鉴权主体的各个应用;请求方R根据所述请求公钥RPK生成区块信息,根据所述系统公钥PK和所述请求私钥RSK确定所述区块信息的签名信息,将所述唯一标识appkey、区块信息和签名信息作为一个区块加入区块链并存入数据库;各个认证方查询数据库中的区块,获取区块中记录的请求方R的唯一标识appkey,根据所述唯一标识appkey计算得到所述请求方R的请求公钥,得到第一匹配公钥;各个认证方还可以根据鉴权系统发送的请求公钥RPK确定第二匹配公钥,在第一匹配公钥和第二匹配公钥一致时,判定公钥认证通过,生成公钥通过信息,并向鉴权主体的各个应用广播所述公钥通过信息,在检测到公钥通过信息的数量超过设定个数时,判定请求方R的请求认证通过,其中可以通过认证鉴权去中心化,构建共识机制来保证安全性,保证生成的信息真实可信、不能被篡改,可以有效防止管理员和黑客的恶性侵入,还可以使每个应用服务不用维护繁多的认证账号密码等信息。
附图说明
图1是微服务架构示意图;
图2是一个实施例的基于区块链技术的鉴权认证方法流程图;
图3是另一个实施例的基于区块链技术的鉴权认证方法流程图;
图4为一个实施例的计算机设备示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
在一个实施例中,如图2所示,提供了一种基于区块链技术的鉴权认证方法,包括以下步骤:
S10,生成所述鉴权系统的系统私钥SK和系统公钥PK。
上述鉴权系统可以为鉴权主体对应的鉴权认证模块。鉴权系统可以包括数据层、网络层、共识层、接口层。具体地,认证请求通过接入到同一个区块链网络中,使用统一的接口层进行交互,同时接口层还能和网络层、共识层通过基础协议进行交互,网络层负责发现区块链网络中的服务节点和数据的传输,共识层负责认证,数据层负责存储数据。上述鉴权主体可以为电商系统等各个应用和外部对本地系统进行的操作需要进行鉴权认证的系统。鉴权主体的各个应用包括请求方和其他关联的各个应用。以鉴权主体为电商系统为例,从用户手机app发起一个商品库存信息修改的请求为例,此时请求方R为手机app、其他应用为除了app应用,这个电商系统里其他所有的应用,如订单应用、商品应用、物流应用等,目标应用可以为商品应用。
上述步骤为鉴权系统的初始化过程,在该步骤中,可以初始化基于区块链认证的鉴权系统,通过共识层生成鉴权系统的系统私钥SK和系统公钥PK。
S20,在请求方R的请求被首次发送到鉴权系统时,根据请求方R的唯一标识appkey生成所述请求方R的请求公钥RPK,将所述请求公钥RPK发送至所述请求方R。
S30,根据所述系统私钥SK和请求公钥RPK确定所述请求方R的请求私钥RSK,将所述请求私钥RSK发送至鉴权主体的各个应用。
具体地,请求方R的请求被首次发送到鉴权系统时,通过共识层根据请求方R的唯一标识appkey生成请求方R的请求公钥RPK。共识层还可以结合鉴权系统的系统私钥SK和请求方R的请求公钥RPK生成请求方R的请求私钥RSK。
在一个实施例中,根据所述系统私钥SK和请求公钥RPK确定所述请求方R的请求私钥RSK的过程包括:
RSK=md5(SK+RPK+timestamp),
其中,timestamp表示当前时间戳,md5()表示加密函数。
上述当前时间戳timestamp可以精确到毫秒。
S40,所述请求方R根据所述请求公钥RPK生成区块信息,根据所述系统公钥PK和所述请求私钥RSK确定所述区块信息的签名信息,将所述唯一标识appkey、区块信息和签名信息作为一个区块加入区块链并存入数据库。
请求方R作为信息生成方,根据请求公钥RPK生成区块信息,生成信息的请求方R对区块信息(鉴权系统的系统公钥PK和请求方R的请求私钥RSK)进行签名,生成签名信息,并将该请求方R的唯一标识appkey、信息、信息的签名作为一个区块加入区块链并存入数据库。
在一个实施例中,请求方R根据所述请求公钥RPK生成区块信息的过程包括:
L=Base(RPK+timestamp),
其中,timestamp表示当前时间戳,Base()表示转换函数,L表示区块信息。
上述当前时间戳timestamp可以精确到毫秒。
S50,各个认证方查询数据库中的区块,获取区块中记录的请求方R的唯一标识appkey,根据所述唯一标识appkey计算得到所述请求方R的请求公钥,得到第一匹配公钥;所述认证方包括鉴权主体中除所述请求方R之外的应用。
鉴权主体中除请求方R之外的应用作为信息认证方,查询数据库中的区块记录,获取区块中记录的请求方R的唯一标识appkey,通过相关算法计算得到生成信息的请求方R的请求公钥,以确定第一匹配公钥。
S60,各个认证方根据鉴权系统发送的请求公钥RPK确定第二匹配公钥,在第一匹配公钥和第二匹配公钥一致时,判定公钥认证通过,生成公钥通过信息,并向鉴权主体的各个应用广播所述公钥通过信息,在检测到公钥通过信息的数量超过设定个数时,判定请求方R的请求认证通过。
各个认证方生成公钥通过信息,向鉴权主体的各个应用广播公钥通过信息之后,各个认证方均可以检测当前本地包括的公钥通过信息(包括本地生成的公钥通过信息和本地接收的公钥通过信息),检测公钥通过信息的数量。上述设定个数可以依据相应的安全级别设置,比如可以设置为鉴权主体所包括的应用个数的一半等值。
上述步骤中,根据鉴权系统的公钥和请求方R的公钥RPK,信息认证方的节点用计算得到的请求方R的请求公钥RPK,以得到第二匹配公钥,如果信息认证方生成的请求方R的公钥RPK(第一匹配公钥)与共识层生成的RPK(第二匹配公钥)一致,则判定公钥认证通过。认证结果会广播到每个信息认证方,信息认证方记录认证通过结果数,当超过一半数量的信息认证方认证通过,认为此请求R通过认证,通过区块链系统认证的请求将会被转发至目标应用。
上述基于区块链技术的鉴权认证方法中,鉴权系统可以生成所述鉴权系统的系统私钥SK和系统公钥PK,在请求方R的请求被首次发送到鉴权系统时,根据请求方R的唯一标识appkey生成所述请求方R的请求公钥RPK,将所述请求公钥RPK发送至所述请求方R,根据所述系统私钥SK和请求公钥RPK确定所述请求方R的请求私钥RSK,将所述请求私钥RSK发送至鉴权主体的各个应用;请求方R根据所述请求公钥RPK生成区块信息,根据所述系统公钥PK和所述请求私钥RSK确定所述区块信息的签名信息,将所述唯一标识appkey、区块信息和签名信息作为一个区块加入区块链并存入数据库;各个认证方查询数据库中的区块,获取区块中记录的请求方R的唯一标识appkey,根据所述唯一标识appkey计算得到所述请求方R的请求公钥,得到第一匹配公钥;各个认证方还可以根据鉴权系统发送的请求公钥RPK确定第二匹配公钥,在第一匹配公钥和第二匹配公钥一致时,判定公钥认证通过,生成公钥通过信息,并向鉴权主体的各个应用广播所述公钥通过信息,在检测到公钥通过信息的数量超过设定个数时,判定请求方R的请求认证通过,其中可以通过认证鉴权去中心化,构建共识机制来保证安全性,保证生成的信息真实可信、不能被篡改,可以有效防止管理员和黑客的恶性侵入,还可以使每个应用服务不用维护繁多的认证账号密码等信息。
在一个实施例中,上述基于区块链技术的鉴权认证方法,还包括:
获取所述请求方R发送的请求对应的目标应用,将所述请求方R的请求转发至目标应用。
本实施例通过鉴权系统获取所述请求方R发送的请求对应的目标应用,将请求方R的请求转发至目标应用,以保证请求方R的请求得到及时有效地响应。
在一个实施例中,在第一匹配公钥和第二匹配公钥不一致时,可以判定公钥认证不通过,此时可以输出认证失败等信息。
在一个实施例中,鉴权系统包括数据层、网络层、共识层和接口层。
作为一个实施例,认证请求接入到同一个区块链网络中,使用统一的接口层进行交互,同时接口层和网络层、共识层通过基础协议进行交互,网络层负责发现区块链网络中的服务节点和数据的传输,共识层负责认证,数据层负责存储数据。
本实施例提供的鉴权系统可以有序执行相应地鉴权认证方法,以保证鉴权认证过程中顺利性。
在一个示例中,将上述基于区块链技术的鉴权认证方法应用于电商系统,此时鉴权主体为电商系统。具体以从用户手机app发起一个商品库存信息修改的请求为例,即请求方R为手机app、其他应用为除了app应用,这个电商系统里其他所有的应用,如订单应用、商品应用、物流应用等、目标应用为商品应用。此时上述基于区块链技术的鉴权认证方法也可以参考图3所示,执行过程包括:
(1)初始化基于区块链认证的鉴权系统,共识层生成所述认证鉴权系统的私钥SK和公钥PK;
(2)请求被首次发送到系统时,共识层根据请求方R应用的唯一标识appkey生成请求方R的公钥RPK;
(3)结合基于区块链认证系统的私钥SK和请求方R的公钥RPK,共识层通过如下算法计算获得请求方R的私钥RSK;
RSK=md5(SK+RPK+timestamp),其中timestamp为当前时间戳,精确到毫秒;
(4)由共识层将请求方R的私钥RSK分发给所有的其他应用;
(5)请求方R作为信息生成方,按如下方式生成区块信息;
L=Base(RPK+timestamp),其中timestamp为当前时间戳,精确到毫秒。
(6)生成信息的请求方R对该信息(区块链认证系统的公钥PK和请求方R的私钥RSK)进行签名,生成签名信息,并将该请求方R的唯一标识appkey、信息、信息的签名作为一个区块加入区块链并存入数据库;
(7)其他应用作为信息认证方,查询数据库中的区块记录,获取区块中记录的请求方R的唯一标识appkey,通过算法计算得到生成信息的请求方R的公钥RPK;
(8)根据区块链认证系统的公钥和请求方R的公钥RPK,信息认证方的节点用计算得到的请求方R的公钥RPK,如果信息认证方生成的请求方R的公钥RPK与共识层生成的RPK一致,则认证通过;
(9)认证结果会广播到每个信息认证方,信息认证方记录认证通过结果数,当超过一半数量的信息认证方认证通过,认为此请求R通过认证,通过区块链系统认证的请求将会被转发至目标应用.
上述基于区块链技术的鉴权认证方法具有分布式数据存储、点对点(P2P)网络传播、新型加密算法和共识机制等技术特点,构建的是动态化点对点(P2P)网络和去中心化服务,区块链网络没有中心管理员,让线上所有参与的服务共同维护,是维护成本大大降低;在区块链认证的过程中,只需信息生成方与信息认证方参与,且用户节点对信息进行认证时,直接计算生成信息生成方的公钥而无需访问第三方。其在微服务架构中的认证鉴权有以下有益效果:
1、通过认证鉴权去中心化,构建共识机制来保证安全性;
2、保证生成的信息真实可信、不能被篡改;
3、可以有效防止管理员和黑客的恶性侵入;
4、每个应用服务不用维护繁多的认证账号密码等信息。
在一个实施例中,提供一种基于区块链技术的鉴权认证系统,包括鉴权系统、请求方和认证方;
所述鉴权系统生成所述鉴权系统的系统私钥SK和系统公钥PK;在请求方R的请求被首次发送到鉴权系统时,根据请求方R的唯一标识appkey生成所述请求方R的请求公钥RPK,将所述请求公钥RPK发送至所述请求方R;根据所述系统私钥SK和请求公钥RPK确定所述请求方R的请求私钥RSK,将所述请求私钥RSK发送至鉴权主体的各个应用;
所述请求方R根据所述请求公钥RPK生成区块信息,根据所述系统公钥PK和所述请求私钥RSK确定所述区块信息的签名信息,将所述唯一标识appkey、区块信息和签名信息作为一个区块加入区块链并存入数据库;
所述认证方查询数据库中的区块,获取区块中记录的请求方R的唯一标识appkey,根据所述唯一标识appkey计算得到所述请求方R的请求公钥,得到第一匹配公钥;根据鉴权系统发送的请求公钥RPK确定第二匹配公钥,在第一匹配公钥和第二匹配公钥一致时,判定公钥认证通过,生成公钥通过信息,并向鉴权主体的各个应用广播所述公钥通过信息,在检测到公钥通过信息的数量超过设定个数时,判定请求方R的请求认证通过。
在一个实施例中,提供一种基于区块链技术的鉴权认证系统,包括鉴权系统、请求方和认证方;
所述鉴权系统生成所述鉴权系统的系统私钥SK和系统公钥PK;在请求方R的请求被首次发送到鉴权系统时,根据请求方R的唯一标识appkey生成所述请求方R的请求公钥RPK,将所述请求公钥RPK发送至所述请求方R;根据所述系统私钥SK和请求公钥RPK确定所述请求方R的请求私钥RSK,将所述请求私钥RSK发送至鉴权主体的各个应用;
所述请求方R根据所述请求公钥RPK生成区块信息,根据所述系统公钥PK和所述请求私钥RSK确定所述区块信息的签名信息,将所述唯一标识appkey、区块信息和签名信息作为一个区块加入区块链并存入数据库;
所述认证方查询数据库中的区块,获取区块中记录的请求方R的唯一标识appkey,根据所述唯一标识appkey计算得到所述请求方R的请求公钥,得到第一匹配公钥;根据鉴权系统发送的请求公钥RPK确定第二匹配公钥,在第一匹配公钥和第二匹配公钥一致时,判定公钥认证通过,生成公钥通过信息,并向鉴权主体的各个应用广播所述公钥通过信息,在检测到公钥通过信息的数量超过设定个数时,判定请求方R的请求认证通过。
在一个实施例中,鉴权系统包括数据层、网络层、共识层和接口层。
作为一个实施例,认证请求接入到同一个区块链网络中,使用统一的接口层进行交互,同时接口层和网络层、共识层通过基础协议进行交互,网络层负责发现区块链网络中的服务节点和数据的传输,共识层负责认证,数据层负责存储数据。
关于基于区块链技术的鉴权认证系统的具体限定可以参见上文中对于基于区块链技术的鉴权认证方法的限定,在此不再赘述。上述基于区块链技术的鉴权认证系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于区块链技术的鉴权认证方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
基于如上所述的示例,在一个实施例中还提供一种计算机设备,该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现如上述各实施例中的任意一种基于区块链技术的鉴权认证方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性的计算机可读取存储介质中,如本发明实施例中,该程序可存储于计算机系统的存储介质中,并被该计算机系统中的至少一个处理器执行,以实现包括如上述基于区块链技术的鉴权认证方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
据此,在一个实施例中还提供一种计算机存储介质计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如上述各实施例中的任意一种基于区块链技术的鉴权认证方法。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
需要说明的是,本申请实施例所涉及的术语“第一\第二\第三”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序。应该理解“第一\第二\第三”区分的对象在适当情况下可以互换,以使这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
本申请实施例的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或模块的过程、方法、装置、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或模块。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (8)

1.一种基于区块链技术的鉴权认证方法,其特征在于,包括如下步骤:
S10,生成鉴权系统的系统私钥SK和系统公钥PK;
S20,在请求方R的请求被首次发送到鉴权系统时,根据请求方R的唯一标识appkey生成所述请求方R的请求公钥RPK,将所述请求公钥RPK发送至所述请求方R;
S30,根据所述系统私钥SK和请求公钥RPK确定所述请求方R的请求私钥RSK,将所述请求私钥RSK发送至鉴权主体的各个应用;所述根据所述系统私钥SK和请求公钥RPK确定所述请求方R的请求私钥RSK的过程包括:RSK=md5(SK+RPK+timestamp),其中,timestamp表示当前时间戳,md5()表示加密函数;
S40,所述请求方R根据所述请求公钥RPK生成区块信息,根据所述系统公钥PK和所述请求私钥RSK确定所述区块信息的签名信息,将所述唯一标识appkey、区块信息和签名信息作为一个区块加入区块链并存入数据库;
S50,各个认证方查询数据库中的区块,获取区块中记录的请求方R的唯一标识appkey,根据所述唯一标识appkey计算得到所述请求方R的请求公钥,得到第一匹配公钥;所述认证方包括鉴权主体中除所述请求方R之外的应用;
S60,各个认证方根据鉴权系统发送的请求公钥RPK确定第二匹配公钥,在第一匹配公钥和第二匹配公钥一致时,判定公钥认证通过,生成公钥通过信息,并向鉴权主体的各个应用广播所述公钥通过信息,在检测到公钥通过信息的数量超过设定个数时,判定请求方R的请求认证通过。
2.根据权利要求1所述的基于区块链技术的鉴权认证方法,其特征在于,还包括:
获取所述请求方R发送的请求对应的目标应用,将所述请求方R的请求转发至目标应用。
3.根据权利要求1所述的基于区块链技术的鉴权认证方法,其特征在于,请求方R根据所述请求公钥RPK生成区块信息的过程包括:
L=Base(RPK+timestamp),
其中,timestamp表示当前时间戳,Base()表示转换函数,L表示区块信息。
4.根据权利要求1至3任一项所述的基于区块链技术的鉴权认证方法,其特征在于,鉴权系统包括数据层、网络层、共识层和接口层。
5.根据权利要求4所述的基于区块链技术的鉴权认证方法,其特征在于,认证请求接入到同一个区块链网络中,使用统一的接口层进行交互,同时接口层和网络层、共识层通过基础协议进行交互,网络层负责发现区块链网络中的服务节点和数据的传输,共识层负责认证,数据层负责存储数据。
6.一种基于区块链技术的鉴权认证系统,其特征在于,包括鉴权系统、请求方和认证方;
所述鉴权系统生成所述鉴权系统的系统私钥SK和系统公钥PK;在请求方R的请求被首次发送到鉴权系统时,根据请求方R的唯一标识appkey生成所述请求方R的请求公钥RPK,将所述请求公钥RPK发送至所述请求方R;根据所述系统私钥SK和请求公钥RPK确定所述请求方R的请求私钥RSK,将所述请求私钥RSK发送至鉴权主体的各个应用;所述根据所述系统私钥SK和请求公钥RPK确定所述请求方R的请求私钥RSK的过程包括:RSK=md5(SK+RPK+timestamp),其中,timestamp表示当前时间戳,md5()表示加密函数;
所述请求方R根据所述请求公钥RPK生成区块信息,根据所述系统公钥PK和所述请求私钥RSK确定所述区块信息的签名信息,将所述唯一标识appkey、区块信息和签名信息作为一个区块加入区块链并存入数据库;
所述认证方查询数据库中的区块,获取区块中记录的请求方R的唯一标识appkey,根据所述唯一标识appkey计算得到所述请求方R的请求公钥,得到第一匹配公钥;根据鉴权系统发送的请求公钥RPK确定第二匹配公钥,在第一匹配公钥和第二匹配公钥一致时,判定公钥认证通过,生成公钥通过信息,并向鉴权主体的各个应用广播所述公钥通过信息,在检测到公钥通过信息的数量超过设定个数时,判定请求方R的请求认证通过。
7.根据权利要求6所述的基于区块链技术的鉴权认证系统,其特征在于,鉴权系统包括数据层、网络层、共识层和接口层。
8.根据权利要求7所述的基于区块链技术的鉴权认证系统,其特征在于,认证请求接入到同一个区块链网络中,使用统一的接口层进行交互,同时接口层和网络层、共识层通过基础协议进行交互,网络层负责发现区块链网络中的服务节点和数据的传输,共识层负责认证,数据层负责存储数据。
CN201911220139.6A 2019-12-03 2019-12-03 基于区块链技术的鉴权认证方法和系统 Active CN111245600B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911220139.6A CN111245600B (zh) 2019-12-03 2019-12-03 基于区块链技术的鉴权认证方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911220139.6A CN111245600B (zh) 2019-12-03 2019-12-03 基于区块链技术的鉴权认证方法和系统

Publications (2)

Publication Number Publication Date
CN111245600A CN111245600A (zh) 2020-06-05
CN111245600B true CN111245600B (zh) 2022-12-16

Family

ID=70871505

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911220139.6A Active CN111245600B (zh) 2019-12-03 2019-12-03 基于区块链技术的鉴权认证方法和系统

Country Status (1)

Country Link
CN (1) CN111245600B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113094398B (zh) * 2021-04-20 2024-04-05 深圳力维智联技术有限公司 一种基于区块链技术的数据链路追踪的方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107079037A (zh) * 2016-09-18 2017-08-18 深圳前海达闼云端智能科技有限公司 基于区块链的身份认证方法、装置、节点及系统
CN110365488A (zh) * 2019-07-23 2019-10-22 上海铂英飞信息技术有限公司 基于非可信环境下的认证方法、装置及系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108449325A (zh) * 2018-02-27 2018-08-24 中国地质大学(武汉) 一种基于身份密码的区块链认证方法、设备及存储设备
CN108599954B (zh) * 2018-03-16 2020-04-07 西安电子科技大学 基于分布式账本的身份验证方法
CN108964901B (zh) * 2018-07-06 2021-05-28 武汉斗鱼网络科技有限公司 信息验证方法、系统、装置
CN109657450B (zh) * 2018-12-14 2021-04-16 泰康保险集团股份有限公司 基于区块链进行评价的方法、装置、介质及电子设备
CN110138733B (zh) * 2019-04-03 2021-09-21 华南理工大学 基于区块链的对象存储系统可信存证与访问权限控制方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107079037A (zh) * 2016-09-18 2017-08-18 深圳前海达闼云端智能科技有限公司 基于区块链的身份认证方法、装置、节点及系统
CN110365488A (zh) * 2019-07-23 2019-10-22 上海铂英飞信息技术有限公司 基于非可信环境下的认证方法、装置及系统

Also Published As

Publication number Publication date
CN111245600A (zh) 2020-06-05

Similar Documents

Publication Publication Date Title
CN111429254B (zh) 一种业务数据处理方法、设备以及可读存储介质
US10484185B2 (en) Method and system for distributing attestation key and certificate in trusted computing
US12010248B2 (en) Systems and methods for providing authentication to a plurality of devices
US9998438B2 (en) Verifying the security of a remote server
CN108259438B (zh) 一种基于区块链技术的认证的方法和装置
JP5497171B2 (ja) セキュア仮想マシンを提供するためのシステムおよび方法
US8196186B2 (en) Security architecture for peer-to-peer storage system
CN111737366B (zh) 区块链的隐私数据处理方法、装置、设备以及存储介质
CN112765684B (zh) 区块链节点终端管理方法、装置、设备及存储介质
JP2019526993A (ja) ネットワーク機能仮想化システム及び検証方法
CN110247758B (zh) 密码管理的方法、装置及密码管理器
WO2018112482A1 (en) Method and system for distributing attestation key and certificate in trusted computing
CN111901304B (zh) 移动安全设备的注册方法和装置、存储介质、电子装置
CN111245600B (zh) 基于区块链技术的鉴权认证方法和系统
Ahmed et al. Transparency of SIM profiles for the consumer remote SIM provisioning protocol
Niemi et al. Platform attestation in consumer devices
Kraxberger et al. Trusted identity management for overlay networks
US11977620B2 (en) Attestation of application identity for inter-app communications
KR102534012B1 (ko) 컨텐츠 제공자의 보안등급을 인증하는 시스템 및 그 방법
CN111708991B (zh) 服务的授权方法、装置、计算机设备和存储介质
WO2023183383A1 (en) Systems and methods for demonstrating identity to a trusted platform module
CN113987461A (zh) 身份认证方法、装置和电子设备
CN116886374A (zh) 身份认证方法及云计算服务平台
da Cruz Pinto et al. Privacy-Aware Device Identifier through a Trusted Web Service

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