CN112016923A - 基于区块链的网内跨域身份管理方法、系统以及算力网络 - Google Patents
基于区块链的网内跨域身份管理方法、系统以及算力网络 Download PDFInfo
- Publication number
- CN112016923A CN112016923A CN202010883539.1A CN202010883539A CN112016923A CN 112016923 A CN112016923 A CN 112016923A CN 202010883539 A CN202010883539 A CN 202010883539A CN 112016923 A CN112016923 A CN 112016923A
- Authority
- CN
- China
- Prior art keywords
- identity
- management
- node
- transaction
- nodes
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3218—Cryptographic 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 using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
Abstract
本发明提供的基于区块链的网内跨域身份管理方法、系统以及算力网络,通过预先建立包括多个管理节点的区块链,使得管理节点能通过区块链发布交易请求;管理节点用于管理算力网络中对应的计算节点,所述交易请求包括创建身份的交易请求、更新身份的交易请求或撤销身份的交易请求。区块链的各个挖矿节点接收所述交易请求,根据预设的共识机制对所述交易进行验证;各个挖矿节点达成共识后,完成所述交易,从而完成了创建身份、更新身份或撤销身份等操作,实现了对身份的管理。本发明利用区块链技术实现了弱中心化,无需中央身份仓库等身份提供方进行身份管理,提高了身份管理的效率。
Description
技术领域
本发明涉及算力网络领域,具体涉及一种基于区块链的网内跨域身份管理方法、系统以及算力网络。
背景技术
随着计算类型与提供主体的日趋多样化,单个网络节点已不能很好的满足计算服务的要求,存在着单点计算能力受限、传输时延过长等技术瓶颈。同时,边缘计算、乃至泛在计算场景中,由于单个站点的算力资源有限,需要多站点协作,现有架构一般通过集中式编排层来管理和调度,存在可扩展和调度性能差的问题。现有业务应用层和网络解耦,应用层无法精准、实时掌握网络性能,以应用层为主的寻址结果的综合性能可能不是最优、甚至比较差,导致业务体验差。在此背景之下,新型算力服务网络架构应运而生,其设计实现算网协同、集中式与分布式调度控制的优势互补,解决了传统严重依赖云端的网络架构面临的可扩展性差、反馈延迟高、单点失效和隐私泄露隐患等问题。
算力网络(算力服务网络)将算力资源整合在一起,内建计算任务动态路由的能力,根据业务需求,基于实时的计算资源性能、网络性能、成本等多维因素,动态、灵活地调度计算任务,从而提高资源利用率,网络利用效率,业务用户满意度高。它可以被定义为由终端用户,一组转发节点(即路由器)和CN组成的自治网络。CN是具有计算和存储功能的小型服务器级节点,它们可以为用户提供各种存储或者计算相关的服务,这些服务都被虚拟化成相关服务函数,并由相应控制节点安排部署。我们假设可以通过直接链路(例如LTE,5G或多跳链路(2-4跳))访问属于边缘网络的CN,这些CN由一组实体进行管理(例如,利益相关者,ISP)。CN们在物理地域上往往是分散的,同一地区范围内的CN也可能分属不同的利益相关者。
在实际算力网络提供服务的过程中,为了满足用户的一个服务需求,可能需要许多个不同服务函数相互协作提供服务,但是这些服务函数可能分布在地理位置不同的多个CN上,且分属不同利益相关者管理。因此,为了保证多个服务函数之间合作的有效性并防范可能存在的攻击,对CN的身份进行管理与验证是必要的。
在传统的身份管理系统中,都假定存在一个全网信任的身份提供方(IdP)进行统一的身份管理。即使在联合身份管理机制(FIdM)中,也需要各个联盟域同时信任某个统一的身份提供方的安全可靠性,而这个条件在算力服务网络这种弱中心、动态化的网络环境中是难以实现的。在弱中心分布式网络中,各局域网络中都有自己的共享资源,并且通过部署本地认证服务节点来控制资源访问权限,从而在不同机构之间形成相对独立、隔离的信任域。而出于虚拟化服务的要求,联合多个分属不同信任域的CN联合提供服务将是一种常态,因此身份管理与验证的请求不仅来自本地信任域,也可能来自其他信任域,这些不同信任域所认证的身份实体、标识符和凭证的有效性如何确认就成为亟待解决的问题。
同时,大多数身份管理机制都是基于传统公钥基础设施(PKI)技术构建认证功能。虽然PKI可实现对通信双方的双向身份验证,但是基于PKI的通信过程首先需要从某个中央身份仓库获取对方的数字证书,对这个中央节点处理响应的性能要求较高。在基于PKI体系的大规模系统中,中央节点将成为整个系统的性能瓶颈,随着系统规模增大将不堪重负,同时面临着DDOS攻击的威胁。
发明内容
本发明提供一种基于区块链的网内跨域身份管理方法、系统以及算力网络,以提高身份管理的效率。
根据第一方面,一种实施例中提供一种基于区块链的网内跨域身份管理方法,包括:
预先建立的区块链中的一管理节点通过所述区块链发布交易请求;所述区块链包括多个管理节点,所述管理节点用于管理算力网络中对应的计算节点,所述区块链中至少有一个管理节点为挖矿节点;所述交易请求包括创建身份的交易请求、更新身份的交易请求或撤销身份的交易请求;
各个挖矿节点接收所述交易请求,根据预设的共识机制对所述交易进行验证;
各个挖矿节点达成共识后,完成所述交易。
一实施例的所述的方法中,完成所述交易之后,还包括:所述管理节点与其他管理节点通信,调度其管理的各个计算节点的计算任务。
一实施例的所述的方法中,所述区块链中存储有全局累加器;所述全局累加器用于对所述身份进行验证;完成所述交易之后还包括:发布所述交易请求的管理节点更新所述全局累加器的值。
一实施例的所述的方法中,所述根据预设的共识机制对所述交易进行验证包括:
根据预设的共识机制,基于全局累加器的零知识证明机制对所述交易中的身份进行验证。
一实施例的所述的方法中,每个所述管理节点对应设置有一身份累加器,所述身份累加器用于验证对应管理节点管理的计算节点;所述全局累加器和身份累加器均为单向密码累加器。
根据第二方面,一种实施例中提供一种算力网络,包括:
多个计算节点;
多个管理节点,每个管理节点至少管理一个计算节点;
所述多个管理节点组成区块链,所述区块链中至少有一个管理节点为挖矿节点;
一管理节点发布交易请求到所述区块链;所述交易请求包括创建身份的交易请求、更新身份的交易请求或撤销身份的交易请求;
各个挖矿节点接收所述交易请求,根据预设的共识机制对所述交易进行验证;
各个挖矿节点达成共识后,完成所述交易。
一实施例的所述的算力网络中,所述管理节点还用于:
与其他管理节点通信,调度其管理的各个计算节点的计算任务。
一实施例的所述的算力网络中,所述区块链中存储有全局累加器;所述全局累加器用于对所述身份进行验证;发布所述交易请求的管理节点还用于:在完成所述交易之后,更新所述全局累加器的值。
根据第三方面,一种实施例中提供一种基于区块链的网内跨域身份管理系统,用于部署在算力网络的管理节点上,所述管理节点用于管理算力网络中对应的计算节点,包括:
通信模块,用于与其他管理节点通信;
验证模块,用于接收其他管理节点发布到预先建立的区块链中的交易请求,根据预设的共识机制对所述交易进行验证,并返回验证结果到区块链;所述区块链中的各个挖矿节点达成共识后,完成所述交易;
管理模块,用于调度其管理的各个计算节点的计算任务。
根据第四方面,一种实施例中提供一种计算机可读存储介质,包括程序,所述程序能够被处理器执行以实现如上所述的方法。
依据上述实施例的基于区块链的网内跨域身份管理方法、系统以及算力网络,通过预先建立包括多个管理节点的区块链,使得管理节点能通过区块链发布交易请求;管理节点用于管理算力网络中对应的计算节点,所述交易请求包括创建身份的交易请求、更新身份的交易请求或撤销身份的交易请求。区块链的各个挖矿节点接收所述交易请求,根据预设的共识机制对所述交易进行验证;各个挖矿节点达成共识后,完成所述交易,从而完成了创建身份、更新身份或撤销身份等操作,实现了对身份的管理。本发明利用区块链技术实现了弱中心化,无需中央身份仓库等身份提供方进行身份管理,提高了身份管理的效率。
附图说明
图1为本发明提供的算力网络一实施例的结构框图;
图2为本发明提供的基于区块链的网内跨域身份管理方法一实施例的流程图;
图3为管理节点一实施例的结构框图;
图4为DID与其关联的DID文档的示意图;
图5为区块链中交易过程的示意图;
图6为全局累加器与身份累加器之间关系的示意图。
具体实施方式
下面通过具体实施方式结合附图对本发明作进一步详细说明。其中不同实施方式中类似元件采用了相关联的类似的元件标号。在以下的实施方式中,很多细节描述是为了使得本申请能被更好的理解。然而,本领域技术人员可以毫不费力的认识到,其中部分特征在不同情况下是可以省略的,或者可以由其他元件、材料、方法所替代。在某些情况下,本申请相关的一些操作并没有在说明书中显示或者描述,这是为了避免本申请的核心部分被过多的描述所淹没,而对于本领域技术人员而言,详细描述这些相关操作并不是必要的,他们根据说明书中的描述以及本领域的一般技术知识即可完整了解相关操作。
另外,说明书中所描述的特点、操作或者特征可以以任意适当的方式结合形成各种实施方式。同时,方法描述中的各步骤或者动作也可以按照本领域技术人员所能显而易见的方式进行顺序调换或调整。因此,说明书和附图中的各种顺序只是为了清楚描述某一个实施例,并不意味着是必须的顺序,除非另有说明其中某个顺序是必须遵循的。
本文中为部件所编序号本身,例如“第一”、“第二”等,仅用于区分所描述的对象,不具有任何顺序或技术含义。而本申请所说“连接”、“联接”,如无特别说明,均包括直接和间接连接(联接)。
请参考图1,本发明提供的算力网络,包括:多个计算节点20,多个管理节点10。计算节点20用于为算力网络提供算力,其具有计算和存储功能,可以是小型服务器级节点。每个管理节点10至少管理一个计算节点(CN)20,其可以有两种形式,一种是管理节点10不是计算节点20,不为算力网络提供算力,例如作为算力网络的转发节点(如路由器),专用于管理对应的计算节点20;另一种是管理节点10也是计算节点20,能为算力网络提供算力,此种情况下,管理节点10可以只管理自身,也可以既管理自身还管理其他对应的计算节点20。
各个管理节点10通信连接,组成区块链。本实施例中,管理节点10管理计算节点20,是其管理的计算节点20的身份所有者,换而言之,管理节点10所管理的所有计算节点都会通过管理节点10来管理其身份,区块链部署在身份所有者(转发节点和利益相关者,即对CN节点进行管理的节点)节点上。本实施例中,区块链采用联盟链。区块链中至少有一个管理节点10为挖矿节点,各个管理节点10可以全部作为挖矿节点;当然,也可以一部分作为挖矿节点,另一部分作为轻节点。例如,根据各个管理节点10所拥有计算、存储能力的不同,将各个管理节点10分成区块链中的两种节点:计算、存储能力较强的节点成为挖矿节点,其会存储完整区块链账本数据,参与共识过程(即向区块链总帐中添加交易信息,在比特币中被称为挖矿),其余的节点在区块链中担任“轻节点”的角色,它们的功能类似现在的比特币钱包,它们会管理本地的信息、存储一些相关的交易数据,还会负责交易的打包与转发,但它们并不会存储完整的账本,也不会参与共识过程。挖矿节点、轻节点的选择会在区块链初始部署的时候被人为确定好,即,初始部署区块链时,根据人为操作确定挖矿节点、轻节点。
部署区块链主要用于对各个管理节点10、计算节点的身份进行管理,本实施例中,如图2和图5所示,算力网络基于区块链的网内跨域身份管理方法,包括如下步骤:
步骤1、一管理节点10通过区块链发布交易请求;具体的,根据区块链使用的共识不同,其有不同的方式,例如,本实施例中区块链使用的共识机制是PBFT(PracticalByzantine Fault Tolerance)共识,一管理节点10将交易请求发送给主节点,主节点广播所述交易请求给其它挖矿节点。在预设的时间段里,所有管理节点10会先投票选择一个管理节点10作为主节点,在这个时间段中,所有交易请求都会被转发给主节点,主节点负责把交易请求打包成一个区块,然后和其他挖矿节点执行三阶段共识。在下一个时间段会重复这样的流程。在其他实施例中,也可以无需选出主节点,需要发布交易请求的管理节点10直接广播交易请求给其它挖矿节点,例如采用POW共识、POS共识、或DPOS共识的区块链,就无需选出主节点。本实施例以PBFT共识为例,其共识速度比较快。
所述交易请求有创建身份的交易请求、更新身份的交易请求,撤销身份的交易请求等多种交易请求。即,所述交易请求可以是创建身份的交易请求,也可以是更新身份的交易请求,还可以是撤销身份的交易请求。所述身份可以是管理节点10的身份,也可以是计算节点的身份。本实施例中,一个身份由一个标识符(DID)唯一确定,如图4所示,所述标识符格式可以是did:exmp:1234567890abcde。DID与一个DID文档相关联,DID文档用于存储于身份信息与证明相关的其他元数据,主要包括DID和公钥(记作pkm)两部分。公钥用于签发管理节点管理的计算节点的身份,pkm对应的密钥skm可以用于撤回已签发的身份信息。
如图3所示,管理节点10包括验证模块110、管理模块120和通信模块130。管理模块120通过通信模块130发出所述交易请求。
步骤2、各个挖矿节点接收交易请求,根据预设的共识机制对交易进行验证,并返回验证结果到区块链。例如,各个挖矿节点的通信模块130接收交易请求。验证模块110根据预设的共识机制对交易进行验证,并通过通信模块130返回验证结果到区块链。
步骤3、其中一个挖矿节点(例如主节点)的通信模块130接收各个挖矿节点的验证结果,其验证模块110根据预设的共识机制判断所述交易请求对应的交易是否达成共识,若是则进入步骤4,否则进入步骤5。以PBFT共识机制为例,主节点的通信模块130接收到超过1/3的挖矿节点返回的验证通过的验证结果后,确定交易达成共识。在POW共识机制中,将由第一个计算出预设要求的散列值(哈希值)的挖矿节点作为“主节点”,代表所有节点发布了共识结果。POW的简单理解是,发布一个数学难题,最先解出答案的节点将获得发布区块(一大堆交易请求)的权利,其余节点会默认同意他发布的所有交易请求(也就是达成了共识)。
步骤4、完成所述交易,即在区块链上创建发布交易请求的管理节点10的身份、更新发布交易请求的管理节点10的身份或撤销发布交易请求的管理节点10的身份等。可能一个时间段内有多个交易请求,主节点将预设第一时间段内的所有完成的交易打包成一个区块,存储在区块链上。其他节点接收区块,把这个区块增加到自己的区块链上,该区块的上一区块的值指向当前区块链的末尾区块,之后再新加区块的时候,前一区块的值会指向这个区块。
步骤5、交易失败。
步骤6、完成所述交易之后,管理节点之间相互通信,例如传输数据,由管理模块120调度各自管理的各个计算节点的计算任务。
可见,本发明利用区块链技术实现了弱中心化,无需中央身份仓库等身份提供方进行身份管理,提高了身份管理的效率。
进一步的,区块链中存储有全局累加器。全局累加器用于对身份进行验证,以提高身份认证的效率。步骤2中,验证模块110根据预设的共识机制对交易进行验证,具体可根据预设的共识机制,基于全局累加器的零知识证明机制对交易中的身份进行验证。在算力网络中,身份本质上就是公钥+私钥,其中公钥是全网公开,用于标识自己的身份,私钥是自己保密的,用于证明这个公钥属于自己,故对身份的创建、更新和撤销,就相当于对公私钥的创建、更新和撤销。每次创建、更新和撤销公私钥时,即每次完成所述交易之后,若发布所述交易请求的管理节点是挖矿节点,则由其更新全局累加器的值,并在对应的区块中包括更新的全局累加器值,添加到全局累加器的信息以及新增的公钥相应的证据;若发布所述交易请求的管理节点不是挖矿节点,则该管理节点将交易请求广播给他附近的挖矿节点,因此会由离该管理节点物理距离较近且当前事务不繁忙(自己没有发布很多个交易请求以至于无法顾及别人的交易请求)的挖矿节点负责更新全局累加器的值,大部分情况下是由离该管理节点最近的挖矿节点负责更新全局累加器的值,并在对应的区块中包括更新的全局累加器值,添加到全局累加器的信息以及新增的公钥相应的证据。由于全局累加器具有公共可检查的属性,网络中的任一节点均可检查更新的全局累加器是否正确地包含新值a′,并且可以验证证明w计算的正确性。
在本系统中,将使用到和单向累加器相关的如下四个多项式时间算法:
1)AccGen(1k)→a0:为空累加器生成一个初始累加值a0。
2)AccAdd(a,y)→(a′,w):接受输入当前累加器的累加值a和待累加的数据y,输出累加之后的值a′和相对应的证明w。算法2)包含有算法3),接受输入当前累加器的累加值a和待累加的数据y,利用累加函数计算累加器的新值a′,之后利用算法3)计算新的证明w′。
3)AccWitAdd(w,y)→w′:输入待累加的数据y和当前的证明w,输出新的证明w′。
4)AccVer(a,y,w)→b∈{0,1}:输入当前的累加器的累加值a、待验证的数据y和y对应的属于累加器的证明w,若y属于累加器,即证明验证成功,则返回1;否则返回0。
累加器的累加函数记作f。f满足如下性质:
1)其辅助信息(单向陷门函数)tf为n的分解因式;
f(u,x)为以u,x为输入的累加函数f,mod为取余操作;
gcd(n,x)是n和x的最大公约数。
管理两个或以上计算节点的管理节点还设置有一身份累加器,身份累加器同样存储在区块链中。身份累加器用于验证对应管理节点管理的计算节点。本实施例中,全局累加器和身份累加器均为单向密码累加器,考虑到管理节点的拓展性,每个管理节点都对应设置一身份累加器。
算力网络还包括用户终端,用户终端用于接收用户输入的指令,并显示算力网络执行所述指令得到的结果。用户终端接受用户的算力任务,用户终端和/或管理节点10将算力任务分解成原子子任务,管理节点10调度分配其管理的一个或多个计算节点完成原子子任务,进而由各个管理节点10联合完成算力任务,并反馈用户终端算力任务的结果。其中在各个计算节点联合完成算力任务的过程中,各个计算节点相互确认身份可采用本发明的身份管理方法。假设计算节点1和计算节点2之间需要验证身份,如果它们同属一个管理节点1管理,那么通过该管理节点1验证身份即可。如果计算节点1属于管理节点1,计算节点2属于管理节点2,那么需要通过区块链验证身份。
如图5所示,在步骤1中,用户需要为一管理节点10增加计算节点,则通过用户终端输入对应的指令,用户终端将指令输出给该管理节点10,该管理节点10发出创建身份的交易(交易请求),其可以采用如下格式:
Treg=(<did,register,online,values>=(pkon,σon))
其中,did为该管理节点将要签发给新增计算节点20的标识符,给新增计算节点20签发管理节点10的标识符就相当于给了新增计算节点20签发了身份。pkon为该管理节点的公钥,σon为使用该管理节点的私钥签发的签名:σon=sig(skon,did),即该管理节点使用私钥对did进行hash加密,得到所述签名。可见,发出的创建身份的交易请求中,包括所述标识符、公钥和所述签名。
在步骤2中,各个挖矿节点通信模块接收交易请求,验证模块根据预设的共识机制对交易进行验证,并返回验证结果到区块链。具体的,验证模块判断创建身份的交易请求的did是否被占用,验证所述签名是否正确(ver(pkon,σon,did)=1),在did未被占用且所述签名正确时,确定身份创建有效,对此交易进行确认(验证成功),否则将此交易忽略(验证失败),并返回验证结果到区块链。验证模块判断创建身份的交易请求的did是否被占用,例如,通过全局累加器判断是否存在一个<did,pk′>且pk′≠pk,若否则确定did未被占用,若是则确定did被占用。因为创建身份实际上就是发布了一个请求,这个请求里面包含did、pk和签名,所以如果之前存在一个请求包含了这个did和一个pk,并且pk并不是自己的公钥,那肯定证明有其他管理节点占用了该did,不能再使用这个did进行身份创建。验证模块验证所述签名是否正确,例如,采用预设的验证函数用交易请求中的公钥对签名进行解密,判断解密后得到的数据是否是did,例如,判断解密后得到的值是否等于did,若等于则确定签名正确;若不等于则确定签名不正确。根据上述两个判断结果,从而得到验证结果,验证结果可以用二进制表示,例如,返回1到区块链,说明该管理节点对交易验证成功;返回0到区块链,说明该管理节点对交易验证失败。
由于公钥和私钥是通过一种算法得到的一个密钥对,故合法的管理节点发出的交易请求,通过合法的管理节点进行验证,通常能验证通过。
在创建身份的交易完成(即创建身份的交易得到全网确认)之后,发布交易请求的管理节点的验证模块主动更新全局累加器值ag,确认创建的身份的合法性:(a′g,w)←AccAdd(ag,did)。即,使用与全局累加器相关的多项式时间算法,将全局累加器当前的值ag和待累加的数据did输入到全局累加器,全局累加器则输出累加之后的值a′g和相对应的证明w。由于全局累加器是区块链上各个管理节点共同维护的,故更新全局累加器可以通过在区块链上发布交易来完成,在此不做赘述。如图6所示,发布交易请求的管理节点(用户)的验证模块在区块链上更新自己的身份累加器,例如,通过AccGen(did,1k)→a0为创建(注册)的身份did生成一个身份累加器,即,为空的身份累加器生成一个初始累加值a0,其中k是身份累加器的安全参数。这一步操作的作用是初始化用户账户状态。
各个挖矿节点将预设第一时间段内完成的各个交易打包成一个区块,在区块链账本数据中添加此区块的数据,轻节点则存储此次区块。
身份创建后,算力网络即可利用新增的计算节点进行数据计算处理,例如,用户终端接收用户输入的服务指令,向算力网络的各个管理节点发出服务请求(存储或者计算请求),各个管理节点根据服务请求以及预设的算力调度规则,对各自管理的计算节点进行算力调配,在完成所述服务后,用户终端的显示界面上显示存储结果或计算结果。
随着授权身份的增加,例如管理节点管理的计算节点增加,需要不断向Gdid增加密钥,相应地也需要更新累加器的值;即,增加一个管理的计算节点(为这个计算节点创建了公私钥),就需要增加did和这个密钥之间的联系,也就是修改自己保存的did对应的did文档,并且更新累加器。管理节点(身份所有者)执行操作AccAdd(did,pki)→(a′,w),其中a′为did所对应的累加器更新之后的累加值,而w由pki的身份所有者持有,用以证明此身份已经经过did授权。w的存在就是为了证明他是个被身份所有者授权的身份。管理节点(例如CN1)签发一计算节点(例如CN2)的身份时,只需要更新全局累加器和身份累加器,就是在全局累加器和身份累加器中加入新值<did,pk>,得到累加器的新值和证明w,之后把w的值告诉CN2,CN2使用w就可以让别人验证自己的身份,即以后有其他节点想确定CN2是不是CN1签发管理的,只要CN2提供w的值即可。区块链里面的创建身份、更新身份、撤销身份都是有关公钥pk的,就是说都可以只和管理节点有关,计算节点只要受管理节点的管理就行了。
在步骤1中,若管理节点希望使用新的公钥pknew代替旧公钥pkold,则需要发布更新身份的交易请求,可采用如下交易格式:
Tupd=(did,update,values=(pkold,pknew,σ1,σ2,aux))
其中,σ1=sign(skold,(did,pknew))是管理节点(身份所有者)使用旧私钥为did和新公钥pknew的签名,可以证明身份所有者更新did所对应的公钥信息;σ2=sign(sknew,did)是did所有者使用新的私钥sknew为did签名,证明身份所有者对pknew的所有权;aux字段包含辅助信息(通常是累加器的陷门函数tf),用于在pk和sk泄露时撤销密钥对。
在步骤2中,当区块链网络中的挖矿节点收到Tupd时,其验证模块判断交易请求的did是否对应交易中的pkold,例如查询之前的新建身份交易,找到当时交易里面的did和pk,拿这个pk和现在交易中的pkold对比看是否一致。验证交易请求的签名σ1是否正确(ver(pkold,σ1,(did,pknew))=1),验证交易请求的签名σ2是否正确(ver(pknew,σ2,did)=1)。具体的,验证模块采用预设的验证函数用交易请求中的旧公钥pkold对签名σ1进行解密,判断解密后得到的数据是否分别是did和新公钥pknew,若是则确定签名σ1正确;若不是则确定签名σ1不正确。验证模块采用预设的验证函数用交易请求中的新公钥pknew对σ2进行解密,判断解密后得到的数据是否是did,若是则确定签名σ2正确;若不是则确定签名σ2不正确。在did对应交易中的pkold、交易请求的签名σ1正确、且交易请求的签名σ2正确的情况下,确定该交易验证成功,返回验证成功的验证结果(例如1)到区块链;在其他情况下,返回验证失败的验证结果(例如0)到区块链。
之后根据各个挖矿节点反馈的验证结果判断是否达成共识,达成共识则身份更新(公钥更新)完成,之后,发布交易请求的管理节点的验证模块同样主动更新全局累加器值ag,确认更新身份的合法性:(a′g,w)←AccAdd(ag,pknew)。即,使用与全局累加器相关的多项式时间算法,将全局累加器当前的值ag和待累加的数据pknew输入到全局累加器,全局累加器则输出累加之后的值a′g和相对应的证明w。由于全局累加器是区块链上各个管理节点共同维护的,故更新全局累加器可以通过在区块链上发布交易来完成,在此不做赘述。如图6所示,发布交易请求的管理节点(用户)的验证模块在区块链上更新自己的身份累加器。
撤销身份可以被视为特殊的更新身份,因为就相当于新的公钥pknew=0。如果想要撤销pkold,发布交易请求Trev=(did,revoke,values=(pkold,0,σ,aux)),其中σ是使用旧私钥的签名。具体过程同上,在此不做赘述。
当然,变更私钥、管理节点管理的计算节点有变更也属于更新身份的范畴,其原理同上,故不做赘述。
在以往的使用区块链的系统中,由于区块顺序附加的特性,执行查询操作往往需要遍历整个链上的所有区块,其时间复杂度为O(N),代入身份管理系统即正比于网络中所有身份的数量。为了减小时间复杂度,本发明还提出了基于单向密码学累加器的身份验证方案。
身份验证功能函数接受参数<did,pkm>和提交的证明w,则验证即判断如下条件成立:
AccVer(ag,<did,pkm>,w)=1
具体的,验证模块将当前的全局累加器的累加值ag、待验证的数据<did,pkm>和<did,pkm>对应的属于累加器的证明w,若<did,pkm>属于累加器,即证明验证成功,则返回1;否则返回0。例如,管理节点CN1给一计算节点CN2签发身份的时候(意思是CN2的公钥私钥是CN1生成并管理的,类似于现在的公钥基础设施里面的CA),就已经将自己did对应的累加器的值执行了函数AccAdd,得到了新的累加值和相应的证明值w,w的值它会告诉CN2。那么在另一管理节点(假设是CN3)想要验证CN2的身份的时候,CN2会提供自己的公钥和w的值,CN3会利用这三个值和区块链上查询到的累加器的值验证CN2的身份,其实就是验证<did,pk_cn2>属不属于这个累加器,有没有被它加过。
由于全局累加器ag的值在区块链网络中每一个节点都可见,因此任一节点都可充当身份验证节点。
在算力网络中,数据的传输可能需要用到对计算节点的身份验证,可对目标计算节点进行上述身份验证,验证通过后再将数据输出到目标计算节点,或者验证通过后再接收目标计算节点的数据。
综上所述,本发明提出了基于区块链的算力网络分布式跨域身份管理机制。首先基于联盟链技术设计了一种去中心化身份标识符(DI D)用于给身份实体(管理节点)命名,DID无需中央认证节点的介入即可签发,其生命周期与所有权由管理节点控制。它依赖区块链系统来实现身份数据(如公钥、口令、指纹等)的存储与寻址,从而保证身份信息不可篡改。与此同时,系统中每一个节点都可以参与身份的验证与信任的建立,从而解决集中化机制的单点故障问题。其次,为了提高区块链上身份验证的效率,同时保护用户身份的隐私,引入了单向密码累加器作为身份数据结构。身份验证是利用基于单向累加器的零知识集合成员证明机制来证明实体身份的有效性。同时,联盟链系统通过分布式共识维护累加器状态的全局一致性与不可篡改性,既提高了身份验证的性能,同时能够保护用户的隐私。
本领域技术人员可以理解,上述实施方式中各种方法的全部或部分功能可以通过硬件的方式实现,也可以通过计算机程序的方式实现。当上述实施方式中全部或部分功能通过计算机程序的方式实现时,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器、随机存储器、磁盘、光盘、硬盘等,通过计算机执行该程序以实现上述功能。例如,将程序存储在设备的存储器中,当通过处理器执行存储器中程序,即可实现上述全部或部分功能。另外,当上述实施方式中全部或部分功能通过计算机程序的方式实现时,该程序也可以存储在服务器、另一计算机、磁盘、光盘、闪存盘或移动硬盘等存储介质中,通过下载或复制保存到本地设备的存储器中,或对本地设备的系统进行版本更新,当通过处理器执行存储器中的程序时,即可实现上述实施方式中全部或部分功能。
以上应用了具体个例对本发明进行阐述,只是用于帮助理解本发明,并不用以限制本发明。对于本发明所属技术领域的技术人员,依据本发明的思想,还可以做出若干简单推演、变形或替换。
Claims (10)
1.一种基于区块链的网内跨域身份管理方法,其特征在于,包括:
预先建立的区块链中的一管理节点通过所述区块链发布交易请求;所述区块链包括多个管理节点,所述管理节点用于管理算力网络中对应的计算节点,所述区块链中至少有一个管理节点为挖矿节点;所述交易请求包括创建身份的交易请求、更新身份的交易请求或撤销身份的交易请求;
各个挖矿节点接收所述交易请求,根据预设的共识机制对所述交易进行验证;
各个挖矿节点达成共识后,完成所述交易。
2.如权利要求1所述的方法,其特征在于,完成所述交易之后,还包括:所述管理节点与其他管理节点通信,调度其管理的各个计算节点的计算任务。
3.如权利要求1所述的方法,其特征在于,所述区块链中存储有全局累加器;所述全局累加器用于对所述身份进行验证;完成所述交易之后还包括:发布所述交易请求的管理节点更新所述全局累加器的值。
4.如权利要求3所述的方法,其特征在于,所述根据预设的共识机制对所述交易进行验证包括:
根据预设的共识机制,基于全局累加器的零知识证明机制对所述交易中的身份进行验证。
5.如权利要求3所述的方法,其特征在于,每个所述管理节点对应设置有一身份累加器,所述身份累加器用于验证对应管理节点管理的计算节点;所述全局累加器和身份累加器均为单向密码累加器。
6.一种算力网络,其特征在于,包括:
多个计算节点;
多个管理节点,每个管理节点至少管理一个计算节点;
所述多个管理节点组成区块链,所述区块链中至少有一个管理节点为挖矿节点;
一管理节点发布交易请求到所述区块链;所述交易请求包括创建身份的交易请求、更新身份的交易请求或撤销身份的交易请求;
各个挖矿节点接收所述交易请求,根据预设的共识机制对所述交易进行验证;
各个挖矿节点达成共识后,完成所述交易。
7.如权利要求6所述的算力网络,其特征在于,所述管理节点还用于:
与其他管理节点通信,调度其管理的各个计算节点的计算任务。
8.如权利要求6所述的算力网络,其特征在于,所述区块链中存储有全局累加器;所述全局累加器用于对所述身份进行验证;发布所述交易请求的管理节点还用于:在完成所述交易之后,更新所述全局累加器的值。
9.一种基于区块链的网内跨域身份管理系统,用于部署在算力网络的管理节点上,所述管理节点用于管理算力网络中对应的计算节点,其特征在于,包括:
通信模块,用于与其他管理节点通信;
验证模块,用于接收其他管理节点发布到预先建立的区块链中的交易请求,根据预设的共识机制对所述交易进行验证,并返回验证结果到区块链;所述区块链中的各个挖矿节点达成共识后,完成所述交易;
管理模块,用于调度其管理的各个计算节点的计算任务。
10.一种计算机可读存储介质,其特征在于,包括程序,所述程序能够被处理器执行以实现如权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010883539.1A CN112016923A (zh) | 2020-08-28 | 2020-08-28 | 基于区块链的网内跨域身份管理方法、系统以及算力网络 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010883539.1A CN112016923A (zh) | 2020-08-28 | 2020-08-28 | 基于区块链的网内跨域身份管理方法、系统以及算力网络 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112016923A true CN112016923A (zh) | 2020-12-01 |
Family
ID=73504035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010883539.1A Pending CN112016923A (zh) | 2020-08-28 | 2020-08-28 | 基于区块链的网内跨域身份管理方法、系统以及算力网络 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112016923A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112653553A (zh) * | 2020-12-29 | 2021-04-13 | 上海交通大学 | 物联网设备身份管理系统 |
CN112732832A (zh) * | 2021-01-06 | 2021-04-30 | 上海泰砥科技有限公司 | 基于did及零知识证明的区块链供应链金融供应方法及系统 |
CN113014392A (zh) * | 2021-02-19 | 2021-06-22 | 湖南大学 | 基于区块链的数字证书管理方法及系统、设备、存储介质 |
CN114760071A (zh) * | 2022-06-13 | 2022-07-15 | 深圳市永达电子信息股份有限公司 | 基于零知识证明的跨域数字证书管理方法、系统和介质 |
CN116305298A (zh) * | 2023-05-23 | 2023-06-23 | 之江实验室 | 一种算力资源管理方法、装置、存储介质及电子设备 |
WO2023115873A1 (zh) * | 2021-12-20 | 2023-06-29 | 深圳前海微众银行股份有限公司 | 基于区块链的数据处理方法及设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108009811A (zh) * | 2017-11-30 | 2018-05-08 | 中国人民解放军国防科技大学 | 一种面向云际计算环境价值交换的跨链通信方法 |
CN109242491A (zh) * | 2018-08-31 | 2019-01-18 | 深圳付贝科技有限公司 | 挖矿身份认证方法、挖矿机及区块链系统 |
US20190096021A1 (en) * | 2017-09-22 | 2019-03-28 | Sensormatic Electronics, LLC | Methods and Apparatus for Implementing Identity and Asset Sharing Management |
CN109769032A (zh) * | 2019-02-20 | 2019-05-17 | 西安电子科技大学 | 一种分布式计算方法、系统及计算机设备 |
JP2019096272A (ja) * | 2017-11-17 | 2019-06-20 | メタップス・プラス・インコーポレイテッドMetaps Plus Inc. | ブロックチェーンベースのユーザ識別管理用の分散型台帳装置、分散型台帳方法 |
US20190278852A1 (en) * | 2018-03-06 | 2019-09-12 | International Business Machines Corporation | Customized endorsement logic for blockchain |
CN110233739A (zh) * | 2017-11-15 | 2019-09-13 | 财付通支付科技有限公司 | 身份管理方法、装置及存储介质 |
CN110311883A (zh) * | 2018-03-27 | 2019-10-08 | 华为技术有限公司 | 身份管理方法、设备、通信网络及存储介质 |
CN110599342A (zh) * | 2019-09-23 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 基于区块链的身份信息的授权方法及装置 |
WO2020099924A1 (en) * | 2018-11-08 | 2020-05-22 | Iagon As | Intelligent, decentralized and autonomous marketplace for distributed computing and storage |
-
2020
- 2020-08-28 CN CN202010883539.1A patent/CN112016923A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190096021A1 (en) * | 2017-09-22 | 2019-03-28 | Sensormatic Electronics, LLC | Methods and Apparatus for Implementing Identity and Asset Sharing Management |
CN110233739A (zh) * | 2017-11-15 | 2019-09-13 | 财付通支付科技有限公司 | 身份管理方法、装置及存储介质 |
JP2019096272A (ja) * | 2017-11-17 | 2019-06-20 | メタップス・プラス・インコーポレイテッドMetaps Plus Inc. | ブロックチェーンベースのユーザ識別管理用の分散型台帳装置、分散型台帳方法 |
CN108009811A (zh) * | 2017-11-30 | 2018-05-08 | 中国人民解放军国防科技大学 | 一种面向云际计算环境价值交换的跨链通信方法 |
US20190278852A1 (en) * | 2018-03-06 | 2019-09-12 | International Business Machines Corporation | Customized endorsement logic for blockchain |
CN110311883A (zh) * | 2018-03-27 | 2019-10-08 | 华为技术有限公司 | 身份管理方法、设备、通信网络及存储介质 |
CN109242491A (zh) * | 2018-08-31 | 2019-01-18 | 深圳付贝科技有限公司 | 挖矿身份认证方法、挖矿机及区块链系统 |
WO2020099924A1 (en) * | 2018-11-08 | 2020-05-22 | Iagon As | Intelligent, decentralized and autonomous marketplace for distributed computing and storage |
CN109769032A (zh) * | 2019-02-20 | 2019-05-17 | 西安电子科技大学 | 一种分布式计算方法、系统及计算机设备 |
CN110599342A (zh) * | 2019-09-23 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 基于区块链的身份信息的授权方法及装置 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112653553A (zh) * | 2020-12-29 | 2021-04-13 | 上海交通大学 | 物联网设备身份管理系统 |
CN112653553B (zh) * | 2020-12-29 | 2022-07-12 | 上海交通大学 | 物联网设备身份管理系统 |
CN112732832A (zh) * | 2021-01-06 | 2021-04-30 | 上海泰砥科技有限公司 | 基于did及零知识证明的区块链供应链金融供应方法及系统 |
CN112732832B (zh) * | 2021-01-06 | 2024-02-13 | 上海泰砥科技有限公司 | 基于did及零知识证明的区块链供应链金融供应方法及系统 |
CN113014392A (zh) * | 2021-02-19 | 2021-06-22 | 湖南大学 | 基于区块链的数字证书管理方法及系统、设备、存储介质 |
WO2023115873A1 (zh) * | 2021-12-20 | 2023-06-29 | 深圳前海微众银行股份有限公司 | 基于区块链的数据处理方法及设备 |
CN114760071A (zh) * | 2022-06-13 | 2022-07-15 | 深圳市永达电子信息股份有限公司 | 基于零知识证明的跨域数字证书管理方法、系统和介质 |
CN116305298A (zh) * | 2023-05-23 | 2023-06-23 | 之江实验室 | 一种算力资源管理方法、装置、存储介质及电子设备 |
CN116305298B (zh) * | 2023-05-23 | 2023-08-04 | 之江实验室 | 一种算力资源管理方法、装置、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112016923A (zh) | 基于区块链的网内跨域身份管理方法、系统以及算力网络 | |
CN109829326B (zh) | 基于区块链的跨域认证与公平审计去重云存储系统 | |
CN113014392B (zh) | 基于区块链的数字证书管理方法及系统、设备、存储介质 | |
US20230021047A1 (en) | Identity-based public-key generation protocol | |
KR102209987B1 (ko) | 블록체인 및 스마트 컨트랙트 기반 인증서 상태 관리 장치 및 방법 | |
CN107332858B (zh) | 云数据存储方法 | |
Hoang et al. | Privacy-preserving blockchain-based data sharing platform for decentralized storage systems | |
US20230319103A1 (en) | Identifying denial-of-service attacks | |
Rabaninejad et al. | An identity-based online/offline secure cloud storage auditing scheme | |
Zhang et al. | Efficient auditing scheme for secure data storage in fog-to-cloud computing | |
US20240121109A1 (en) | Digital signatures | |
US20230163977A1 (en) | Digital signatures | |
Almasian et al. | Secure cloud file sharing scheme using blockchain and attribute-based encryption | |
Tiwari et al. | A novel secure cloud storage architecture combining proof of retrievability and revocation | |
CN113691376B (zh) | 一种密钥管理方法及装置 | |
KR102209988B1 (ko) | 복수 인증기관에 의한 인증서 상태 관리 장치 및 방법 | |
Shafieinejad et al. | Secure cloud file sharing scheme using blockchain and attribute-based encryption | |
Adouth et al. | Blockchain‐based certificateless public auditing with privacy‐preserving for cloud‐based cyber‐physical systems | |
Qiao | Group Signatures for Preserving Anonymity in Blockchain Supply Chain Transactions | |
Tian et al. | Identity-based proofs of storage with enhanced privacy | |
KR102209989B1 (ko) | 사용자 인증에 기초한 암호 키 제공 장치 및 방법 | |
CN115510504B (zh) | 基于环签名和承诺的数据共享方法、系统、设备及介质 | |
Zhang et al. | Stateless Blockchain-Based Lightweight Identity Management Architecture for Industrial IoT Applications | |
Liu et al. | A trust value sharing scheme in heterogeneous identity federation topologies | |
Albakri | Lightweight Cryptographic Protocols for Mobile Devices |
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 |