區(qū)塊鏈系統(tǒng)權(quán)限管理方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及區(qū)塊鏈技術(shù)領(lǐng)域,尤其涉及一種區(qū)塊鏈管理系統(tǒng)和方法。
【背景技術(shù)】
[0002]自2009年比特幣系統(tǒng)推出以來(lái),以比特幣及其衍生競(jìng)爭(zhēng)幣為代表的去中心化加密貨幣受到了廣泛關(guān)注。該貨幣類系統(tǒng)的特點(diǎn)是基于區(qū)塊鏈構(gòu)建分布式共享總賬,從而保證系統(tǒng)運(yùn)行的安全、可靠、去中心化特性。
[0003]區(qū)塊鏈?zhǔn)侵竿ㄟ^(guò)去中心化和去信任的方式集體維護(hù)一個(gè)可靠數(shù)據(jù)庫(kù)的技術(shù)方案。該技術(shù)方案主要讓參與系統(tǒng)中的任意多個(gè)節(jié)點(diǎn),通過(guò)一串使用密碼學(xué)方法相關(guān)聯(lián)產(chǎn)生的數(shù)據(jù)塊,每個(gè)數(shù)據(jù)塊中包含了一定時(shí)間內(nèi)的系統(tǒng)全部信息交流數(shù)據(jù),并且生成數(shù)據(jù)指紋用于驗(yàn)證其信息的有效性和鏈接下一個(gè)數(shù)據(jù)庫(kù)塊。
[0004]權(quán)限管理是區(qū)塊鏈系統(tǒng)的核心內(nèi)容,由于區(qū)塊鏈系統(tǒng)用戶數(shù)量巨大、區(qū)塊數(shù)量眾多,傳統(tǒng)的權(quán)限管理技術(shù)存在資源消耗大且權(quán)限控制效率低的問(wèn)題。
[0005]傳統(tǒng)的權(quán)限管理技術(shù)可以分為三類:訪問(wèn)列表控制、強(qiáng)制訪問(wèn)控制以及基于角色的訪問(wèn)控制。訪問(wèn)列表控制方法通過(guò)列表進(jìn)行權(quán)限管理,一個(gè)簡(jiǎn)單的訪問(wèn)列表是一個(gè)由用戶與資源構(gòu)成的數(shù)組,當(dāng)數(shù)據(jù)量巨大時(shí),權(quán)限管理效率低下。強(qiáng)制訪問(wèn)控制方法中,一旦系統(tǒng)建立,用戶行為的訪問(wèn)控制強(qiáng)制執(zhí)行,用戶無(wú)法改變安全級(jí)別或?qū)ο蟮陌踩珜傩浴;诮巧脑L問(wèn)控制是一種基于用戶責(zé)任屬性進(jìn)行資源訪問(wèn)的策略,其核心是明確用戶性質(zhì),靈活進(jìn)行資源訪問(wèn)權(quán)限授權(quán),然而,基于角色的訪問(wèn)控制仍然存在如下缺點(diǎn):一是授權(quán)過(guò)程中角色分配、權(quán)限授予工作量仍然很大;二是缺乏靈活的動(dòng)態(tài)授權(quán)機(jī)制。
[0006]因此,提供一種能夠適用于區(qū)塊鏈系統(tǒng)的高效權(quán)限管理方法成為業(yè)內(nèi)急需解決的問(wèn)題。
【發(fā)明內(nèi)容】
[0007]本發(fā)明的目的是提供一種面向區(qū)塊鏈的高效的權(quán)限管理方法及系統(tǒng)。
[0008]根據(jù)本發(fā)明的一種方案,提供一種區(qū)塊鏈系統(tǒng)權(quán)限管理方法,包括:系統(tǒng)在用戶登陸系統(tǒng)成功后,根據(jù)用戶注冊(cè)信息生成以用戶為根節(jié)點(diǎn)的權(quán)限樹(shù),權(quán)限樹(shù)以用戶角色、權(quán)限以及區(qū)塊鏈為各層子節(jié)點(diǎn);當(dāng)用戶對(duì)區(qū)塊鏈進(jìn)行操作時(shí),系統(tǒng)遍歷用戶對(duì)應(yīng)的權(quán)限樹(shù),判斷用戶是否具有合法權(quán)限對(duì)區(qū)塊鏈進(jìn)行該操作,若有則允許進(jìn)行操作,若無(wú)則禁止進(jìn)行操作。
[0009]其中,生成權(quán)限樹(shù)之前進(jìn)行以下步驟:區(qū)塊鏈系統(tǒng)收集用戶信息、用戶角色信息、用戶權(quán)限信息和區(qū)塊鏈信息后,建立以下集合:用戶集合、用戶角色集合、用戶權(quán)限集合和區(qū)塊鏈集合。
[0010]具體地,該方法進(jìn)一步包括:系統(tǒng)根據(jù)用戶集合、角色集合、權(quán)限集合和區(qū)塊鏈集合,建立對(duì)應(yīng)的權(quán)限樹(shù):系統(tǒng)以每個(gè)用戶為根建立一棵權(quán)限樹(shù);根據(jù)用戶角色建立第二層子節(jié)點(diǎn);根據(jù)用戶和每個(gè)角色建立相應(yīng)的權(quán)限建立第三層子節(jié)點(diǎn);根據(jù)數(shù)據(jù)源集合中的數(shù)據(jù)資源建立葉子節(jié)點(diǎn)。
[0011]可選擇地,在配置時(shí),用戶角色和權(quán)限可任意組合。
[0012]優(yōu)選地,用戶角色和權(quán)限組合可以映射至指定區(qū)塊鏈。
[0013]可選擇地,用戶角色可以配置為管理員角色和普通用戶。
[0014]可選擇地,權(quán)限可以配置為修改、新建、讀取和/或刪除。
[0015]可選擇地,區(qū)塊鏈也可以為其它類型的數(shù)據(jù)資源。
[0016]根據(jù)本發(fā)明的另一方面,本發(fā)明還提供一種區(qū)塊鏈系統(tǒng)權(quán)限管理裝置,包括:控制模塊,用于系統(tǒng)在用戶登陸系統(tǒng)成功后,根據(jù)用戶注冊(cè)信息生成以用戶為根節(jié)點(diǎn)的權(quán)限樹(shù),權(quán)限樹(shù)以用戶角色、權(quán)限以及區(qū)塊鏈為各層子節(jié)點(diǎn);判斷模塊,用于當(dāng)用戶對(duì)區(qū)塊鏈進(jìn)行操作時(shí),通知控制模塊遍歷用戶對(duì)應(yīng)的權(quán)限樹(shù),根據(jù)控制模塊的遍歷結(jié)果,判斷用戶是否具有合法權(quán)限對(duì)區(qū)塊鏈進(jìn)行該操作,若有則允許進(jìn)行操作,若無(wú)則禁止進(jìn)行操作。
[0017]資源收集模塊,用于收集用戶信息,用戶角色信息,用戶權(quán)限信息和區(qū)塊鏈,建立以下集合:用戶集合、用戶角色集合、用戶權(quán)限集合和區(qū)塊鏈集合。
[0018]具體地,控制模塊建立對(duì)應(yīng)的權(quán)限樹(shù)的過(guò)程包括:以每個(gè)用戶為根建立一棵權(quán)限樹(shù);根據(jù)用戶角色建立第二層子節(jié)點(diǎn);根據(jù)用戶和每個(gè)角色的相應(yīng)的權(quán)限建立第三層子節(jié)點(diǎn);根據(jù)區(qū)塊鏈集合中的區(qū)塊鏈建立葉子節(jié)點(diǎn)。
[0019]可選擇地,控制模塊提供配置模式包括:用戶角色和權(quán)限可任意組合;或者,用戶角色和權(quán)限組合可以映射至指定區(qū)塊鏈。
[0020]可選擇地,角色、權(quán)限配置包括:用戶角色配置為管理員角色和普通用戶角色;權(quán)限配置為修改、新建、讀取和/或刪除。
[0021]本發(fā)明的有益效果是:本發(fā)明提出的權(quán)限管理方法和裝置,采用用戶、用戶角色、用戶權(quán)限以及區(qū)塊鏈對(duì)象分離的權(quán)限管理體系,通過(guò)建立權(quán)限樹(shù)進(jìn)行靈活權(quán)限控制,由于權(quán)限樹(shù)具有層數(shù)少、更新快的特點(diǎn),可以降低權(quán)限資源消耗,并兼顧保證權(quán)限管理的效率。
【附圖說(shuō)明】
[0022]圖1是本發(fā)明提供的區(qū)塊鏈系統(tǒng)權(quán)限管理方法的簡(jiǎn)化流程示意圖。
[0023]圖2是本發(fā)明提供的區(qū)塊鏈系統(tǒng)權(quán)限管理方法的權(quán)限樹(shù)示意圖。
[0024]圖3是本發(fā)明提供的區(qū)塊鏈系統(tǒng)權(quán)限管理方法的流程示意圖。
[0025]圖4是本發(fā)明提供的權(quán)限管理裝置的構(gòu)造示意圖。
【具體實(shí)施方式】
[0026]下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號(hào)表示相同或類似的元件或具有相同或類似功能的元件。下面通過(guò)參考附圖描述的實(shí)施例是示例性的,旨在用于解釋本發(fā)明,而不能理解為對(duì)本發(fā)明的限制。
[0027]本發(fā)明提供一種權(quán)限管理方法,參見(jiàn)圖1,包括以下步驟:
[0028]S10,系統(tǒng)在用戶登陸系統(tǒng)成功后,根據(jù)用戶注冊(cè)信息生成以用戶為根節(jié)點(diǎn)的權(quán)限樹(shù),權(quán)限樹(shù)以用戶角色、權(quán)限以及數(shù)據(jù)資源為各層子節(jié)點(diǎn);
[0029]S20,當(dāng)用戶對(duì)數(shù)據(jù)資源進(jìn)行操作時(shí),系統(tǒng)遍歷用戶對(duì)應(yīng)的權(quán)限樹(shù),判斷用戶是否具有合法權(quán)限對(duì)數(shù)據(jù)資源進(jìn)行該操作,若有則允許進(jìn)行操作,若無(wú)則禁止進(jìn)行操作。
[0030]其中,這里所說(shuō)的信息資源可以是存放數(shù)據(jù)的數(shù)據(jù)集合,例如區(qū)塊鏈資源,用戶進(jìn)行的操作可以是多種多樣的,根據(jù)現(xiàn)實(shí)的需求自行設(shè)定,通??梢允?,對(duì)數(shù)據(jù)資源進(jìn)行的讀取、修改、新建、刪除等操作。
[0031]進(jìn)一步,在上述步驟S10中,首先,為了建立權(quán)限樹(shù),系統(tǒng)需要收集用戶信息,用戶角色信息,用戶權(quán)限信息和區(qū)塊鏈資源,建立包括用戶集合、用戶角色集合,權(quán)限集合和區(qū)塊鏈集合的數(shù)據(jù)庫(kù),本發(fā)明中,將用戶信息、用戶角色信息、用戶權(quán)限信息以及區(qū)塊鏈資源均作為資源統(tǒng)一管理。然后,系統(tǒng)根據(jù)用戶集合、角色集合、權(quán)限集合和區(qū)塊鏈資源集合,建立對(duì)應(yīng)的權(quán)限樹(shù)。其中,針對(duì)用戶集合中的每一個(gè)用戶,參看圖2所示,以每個(gè)用戶為根建立一棵權(quán)限樹(shù),例如,分別以用戶1,用戶2和用戶3建立權(quán)限樹(shù),每個(gè)用戶建立的權(quán)限樹(shù)用不同的線條加以區(qū)分;根據(jù)用戶角色集合建立權(quán)限樹(shù)的第二層子節(jié)點(diǎn),同一個(gè)用戶可以擁有多個(gè)角色,例如用戶1可以是管理員角色,也可以是普通用戶角色,用戶在登錄后,可以自由選擇以哪個(gè)角色的身份進(jìn)行資源訪問(wèn);根據(jù)用戶和每個(gè)角色的相應(yīng)的權(quán)限作為權(quán)限樹(shù)的第三層子節(jié)點(diǎn);根據(jù)區(qū)塊鏈資源集合中的區(qū)塊鏈資源作為權(quán)限樹(shù)的葉子節(jié)點(diǎn)。這樣,以每個(gè)用戶為根一〉用戶角色為第二層子節(jié)點(diǎn)_>用戶角色對(duì)應(yīng)的權(quán)限為第三層子節(jié)點(diǎn)一〉區(qū)塊鏈資源為葉子節(jié)點(diǎn),每個(gè)用戶對(duì)應(yīng)的權(quán)限樹(shù)就建立完成了。
[0032]進(jìn)一步,用戶角色可以有多種類型,參見(jiàn)圖2,可以為管理員角色、普通用戶角色;同樣,權(quán)限也可以有多種類型的操作,如圖2權(quán)限樹(shù)所示,新建、修改、讀取、刪除等;不同的用戶角色對(duì)應(yīng)不同的權(quán)限,角色和權(quán)限間可以任意組合。將角色和權(quán)限的組合映射至某個(gè)數(shù)據(jù)資源,則反映了該數(shù)據(jù)資源的具體操作權(quán)限。角色、權(quán)限和映射對(duì)象之間,也是可以任意組合的。系統(tǒng)可以根據(jù)每個(gè)數(shù)據(jù)資源映射的角色和權(quán)限組合,判斷用戶訪問(wèn)的合法性。
[0033]進(jìn)一步,權(quán)限樹(shù)可以動(dòng)態(tài)更新,權(quán)限樹(shù)的子節(jié)點(diǎn)層數(shù)可