亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

基于區(qū)塊鏈的數據訪問控制方法與流程

文檔序號:11432568閱讀:315來源:國知局

本發(fā)明涉及區(qū)塊鏈數據管控技術領域,具體涉及基于區(qū)塊鏈的數據訪問控制方法。



背景技術:

大數據時代對數據共享和數據安全提出了更高的要求,傳統模式下要么因為共享而基本沒有什么附帶保護措施,要么將數據管得太緊而限制了共享。此外,現有技術的區(qū)塊鏈數據存在冗余。



技術實現要素:

針對上述現有技術,本發(fā)明目的在于提供基于區(qū)塊鏈的數據訪問控制方法,解決現有技術由于控制權限設計局限性和區(qū)塊數據存儲結構而導致的數據訪問可控性較差和區(qū)塊龐大等技術問題。

為達到上述目的,本發(fā)明采用的技術方案如下:

基于區(qū)塊鏈的用戶數據訪問控制方法,包括

在區(qū)塊鏈中注冊信息處理后,設置每個用戶數據訪問請求的限制條件為只接收用戶本身訪問請求或滿足用戶設置權限的代理訪問請求,同時設置第三方用戶(機構或其他用戶)只通過代理發(fā)出用戶數據訪問請求且只以代理身份進行用戶數據訪問。

上述方法中,所述區(qū)塊鏈中注冊信息處理包括以下步驟:

步驟1、用戶和第三方用戶在區(qū)塊鏈注冊成功后,生成用戶的公鑰、私鑰、共享密鑰和預定義訪問權限列表且生成第三方用戶的公鑰、私鑰、共享密鑰和預定義訪問權限列表,同時還生成代理的公鑰、私鑰、共享密鑰和預定義訪問權限列表,接著用戶與代理對應交換各自的公鑰和共享密鑰、第三方用戶與代理對應交互各自的公鑰和共享密鑰;

步驟2、由代理結合代理、用戶和第三方用戶的公鑰和預定義訪問權限列表進行計算,得到第三方用戶公鑰、用戶公鑰和代理公鑰的哈希值,再

將用戶公鑰和代理公鑰順序取哈希值后作為順序包含用戶公鑰、代理公鑰、用戶預定義訪問權限列表和第一指針的第一存儲元組的第一索引,

將代理公鑰和用戶公鑰順序取哈希值后作為順序包含代理公鑰、用戶公鑰、代理預定義訪問權限列表和第二指針的第二存儲元組的第二索引,

將第三方用戶公鑰和代理公鑰順序取哈希值后作為順序包含第三方用戶公鑰、代理公鑰、第三方用戶預定義訪問權限列表和第三指針的第三存儲元組的第三索引,

同時,將代理公鑰和第三方用戶公鑰順序取哈希值后作為順序包含代理公鑰、第三方用戶公鑰、代理預定義訪問權限列表和第四指針的第四存儲元組的第四索引;

步驟3、發(fā)起信息存儲請求至請求池,在閾值數量的共識與處理節(jié)點均達成共識時將所有存儲元組及其對應索引存儲至區(qū)塊鏈中。

上述方法中,還包括用戶通過滿足用戶設置權限的代理進行共享數據,其包括以下步驟:

步驟1、用戶將數據使用用戶的共享密鑰加密并附上所設置的用戶預定義訪問權限列表,簽名后得到加密數據,將加密數據發(fā)往代理;

步驟2、代理核對用戶身份成功后,根據第一索引生成加密數據共享請求并將加密數據共享請求發(fā)送到請求池;

步驟3、通過共識與處理節(jié)點按第一索引找出區(qū)塊鏈所存儲的第一存儲元組,再根據用戶和代理的注冊信息進行第一類投票共識驗證,在閾值數量的共識與處理節(jié)點均達成共識時,將加密數據存儲至區(qū)塊鏈下的分布式哈希表網絡,再更新步驟1中用戶預定義訪問權限列表,并同時存儲指向加密數據的指針。

上述方法中,所述第三方用戶以代理身份進行用戶數據訪問,包括以下步驟:

步驟1、由代理在用戶數據的訪問請求中寫入第三方用戶的簽名數據和預定義訪問權限列表,并以代理的簽名數據結尾,再將訪問請求發(fā)送到請求池;

步驟2、通過共識與處理節(jié)點按第一索引找出區(qū)塊鏈所存儲的第一存儲元組,再根據用戶和代理的注冊信息進行第二類投票共識驗證,在閾值數量的共識與處理節(jié)點均達成共識時,向代理返回存儲于區(qū)塊鏈下分布式哈希表網絡的加密數據;

步驟3、通過代理將加密數據通過用戶共享密鑰解密,然后利用第三方用戶共享密鑰對解密后的數據再加密,簽名后將再加密數據發(fā)送至第三方用戶。

上述方法中,所述加密數據的指針為指向用戶加密數據的哈希值,指向區(qū)塊鏈下分布式哈希表網絡中的一個鍵-值對。

基于區(qū)塊鏈的日志訪問控制方法,包括

在區(qū)塊鏈中注冊信息處理后,設置每個用戶數據訪問日志訪問請求的限制條件為只接收代理訪問日志訪問請求或滿足代理設置權限的用戶訪問日志訪問請求,同時設置第三方用戶(區(qū)塊鏈存儲機構)只通過代理發(fā)出用戶數據訪問日志的訪問請求且只以代理身份進行用戶數據訪問日志的訪問。

上述方法中,所述區(qū)塊鏈中注冊信息處理包括以下步驟:

步驟1、用戶和第三方用戶在區(qū)塊鏈注冊成功后,生成用戶的公鑰、私鑰、共享密鑰和預定義訪問權限列表且生成第三方用戶的公鑰、私鑰、共享密鑰和預定義訪問權限列表,同時還生成代理的公鑰、私鑰、共享密鑰和預定義訪問權限列表,接著用戶與代理對應交換各自的公鑰和共享密鑰、第三方用戶與代理對應交互各自的公鑰和共享密鑰;

步驟2、由代理結合代理、用戶和第三方用戶的公鑰和預定義訪問權限列表進行計算,得到第三方用戶公鑰、用戶公鑰和代理公鑰的哈希值,再

將用戶公鑰和代理公鑰順序取哈希值后作為順序包含用戶公鑰、代理公鑰、用戶預定義訪問權限列表和第一指針的第一存儲元組的第一索引,

將代理公鑰和用戶公鑰順序取哈希值后作為順序包含代理公鑰、用戶公鑰、代理預定義訪問權限列表和第二指針的第二存儲元組的第二索引,

將第三方用戶公鑰和代理公鑰順序取哈希值后作為順序包含第三方用戶公鑰、代理公鑰、第三方用戶預定義訪問權限列表和第三指針的第三存儲元組的第三索引,

同時,將代理公鑰和第三方用戶公鑰順序取哈希值后作為順序包含代理公鑰、第三方用戶公鑰、代理預定義訪問權限列表和第四指針的第四存儲元組的第四索引;

步驟3、發(fā)起信息存儲請求至請求池,在閾值數量的共識與處理節(jié)點均達成共識時將所有存儲元組及其對應索引存儲至區(qū)塊鏈中。

上述方法中,所述第三方用戶通過代理對訪問日志進行訪問,包括以下步驟:

步驟1、由代理將訪問日志通過代理共享密鑰加密、附加上代理預定義訪問權限列表再以代理簽名數據結尾,得到加密訪問日志并生成訪問日志訪問請求并將訪問日志訪問請求發(fā)送至請求池;

步驟2、通過共識與處理節(jié)點按第二索引找出區(qū)塊鏈所存儲的第二存儲元組,再根據代理和用戶的注冊信息進行第三類投票共識驗證,在閾值數量的共識與處理節(jié)點均達成共識時,將加密訪問日志存儲至區(qū)塊鏈下的分布式哈希表網絡,再更新步驟1中代理預定義訪問權限列表,并同時存儲指向加密訪問日志的指針。

上述方法中,還包括用戶通過代理對訪問日志進行訪問,其包括以下步驟:

步驟1、由代理在訪問日志的訪問請求中寫入用戶預定義訪問權限列表,并以代理的簽名數據結尾,再將訪問請求發(fā)送到請求池;

步驟2、通過共識與處理節(jié)點按第二索引找出區(qū)塊鏈所存儲的第二存儲元組,再根據代理和用戶的注冊信息進行第四類投票共識驗證,在閾值數量的共識與處理節(jié)點均達成共識時,向代理返回存儲于區(qū)塊鏈下分布式哈希表網絡的加密訪問日志;

步驟3、由代理將加密訪問日志返回給用戶。

上述方案中,還包括用戶更改數據訪問權限,其包括以下步驟:

步驟1、由代理在訪問日志的訪問請求中寫入用戶的再定義訪問權限列表,并以代理的簽名數據結尾,再將訪問請求發(fā)送到請求池;

步驟2、通過共識與處理節(jié)點按第一索引找出區(qū)塊鏈所存儲的第一存儲元組,再根據用戶和代理的注冊信息進行第五類投票共識驗證,在閾值數量的共識與處理節(jié)點均達成共識時,把預定義訪問權限列表更新為再定義訪問權限列表后存入區(qū)塊鏈中。

上述方法中,所述加密訪問日志的指針為指向用戶加密訪問日志的哈希值,指向區(qū)塊鏈下分布式哈希表網絡中的一個鍵-值對。

與現有技術相比,本發(fā)明的有益效果:

通過將訪問控制權限和指向訪問日志的指針記錄在區(qū)塊鏈上,使得數據的擁有者自身不僅可以控制其他方對數據的訪問,追蹤誰在使用數據還可以隨時更改數據的訪問權限;

本發(fā)明還將數據和對數據的訪問記錄加密存儲到鏈下的分布式哈希表存儲設施中,在區(qū)塊中只記錄指向該加密數據的指針,以達到減少區(qū)塊鏈中區(qū)塊的大小和提高效率的目的。

附圖說明

圖1為本發(fā)明的模塊示意圖。

具體實施方式

本說明書中公開的所有特征,或公開的所有方法或過程中的步驟,除了互相排斥的特征和/或步驟以外,均可以以任何方式組合。

下面結合附圖對本發(fā)明做進一步說明:

基于區(qū)塊鏈的數據訪問控制方法中,需要在區(qū)塊鏈中存儲用于訪問用戶數據所需的權限列表,還需要存儲用于訪問用戶數據日志的權限列表。用戶共享數據時,通過驗證以后,將用戶的公鑰、代理的公鑰、用戶設置的訪問權限、指向用戶數據的指針記錄到區(qū)塊鏈中,作為其他方訪問用戶數據時的驗證依據和索引,而用戶數據將加密存儲于鏈下的分布式哈希表中。其他方如機構訪問用戶數據時,必須通過代理發(fā)出請求,代理取得數據后先解密再加密發(fā)送給該機構。代理還需要將這次訪問的機構名、時間、執(zhí)行的操作等記錄記錄在日志中,將被訪問用戶的公鑰、代理的公鑰、代理設置的訪問權限、指向訪問日志的指針以及時間記錄到區(qū)塊鏈中,作為訪問日志時的驗證依據和索引,而日志記錄也被加密存儲到鏈下的分布式哈希表中。

基于區(qū)塊鏈的數據訪問控制方法,所有用戶的數據只能由用戶和代理訪問(代理需要滿足用戶設置的權限),任何第三方想要訪問用戶數據必須通過代理發(fā)出請求,以代理的身份進行;

所有用戶數據的訪問日志只能由代理和用戶訪問(用戶需要滿足代理設置的權限),任何第三方想要訪問日志必須通過代理發(fā)出請求,以代理的身份進行;

區(qū)塊鏈上用于存儲驗證和控制的信息的索引由用戶的公鑰、代理的公鑰和其它元數據聯合做哈希運算產生;

區(qū)塊鏈上存儲的驗證和控制的信息包括但不限于(用戶的公鑰、代理的公鑰、用戶設置的訪問權限、指向用戶數據指針)元組以及(被訪問用戶的公鑰、代理的公鑰、代理設置的訪問權限、指向訪問日志的指針)元組;

指針為指向加密用戶數據或加密日志數據的哈希值,它指向鏈下分布式哈希表中的一個鍵-值對;

分布式哈希表中存儲的數據,包括用戶數據和訪問日志,具體為經共享密鑰加密并由用戶簽名的用戶數據或經共享密鑰加密并由代理簽名的訪問日志。

實施例1

1.用戶注冊。用戶注冊成功以后,生成公鑰puku、私鑰prku、共享密鑰sku和預定義訪問權限列表alu;代理生成生成公鑰puka、私鑰prka、共享密鑰ska和預定義訪問權限列表ala;其它機構或用戶注冊成功以后,生成公鑰puko、私鑰prko、共享密鑰sko和預定義訪問權限列表alo。用戶與代理交換公鑰和共享密鑰;機構與代理交換公鑰和共享密鑰。

2.共識與處理節(jié)點處理用戶注冊信息。代理根據自己的信息puka、ala用戶注冊信息puku、alu,機構注冊信息puko、alo進行計算,

將(puku、puka)取哈希值后作為存儲元組(puku、puka、alu、pu)的索引iu(p代表加密后用戶數據的哈希值,此時為空);

將(puka、puku)取哈希值后作為存儲元組(puka、puku、ala、pa)的索引ia;

將(puko、puka)取哈希值后作為存儲元組(puko、puka、alo、po)的索引io;

將(puka、puko)取哈希值后作為存儲元組(puka、puko、ala、pa)的索引ia。隨后將存儲請求發(fā)送到請求池中,在有3個及以上的共識節(jié)點達成共識后將信息存儲到區(qū)塊中。

3.用戶共享數據。用戶將數據使用共享密鑰sku加密并附加上訪問權限列表alu后簽名發(fā)往代理,代理核對用戶身份成功后,根據索引iu生成請求發(fā)送到請求池中。共識與處理節(jié)點根據索引iu查找區(qū)塊鏈存儲元組(puku、puka、alu、pu),并依據pkuu、pkua是否相同進行投票,在有3個及以上的共識節(jié)點達成同意共識后,將加密數據存儲到鏈下dht網絡d(pu)處,在區(qū)塊中更新訪問權限列表alu并存儲指向該加密數據的指針pu(pu也是加密后用戶數據的哈希值)。

4.機構或其他用戶訪問數據。代理代表機構請求數據,代理在請求中包含機構的簽名數據、機構申請的訪問權限alo,末尾附加上代理自己的數字簽名,并將請求發(fā)送到請求池中共識與處理節(jié)點根據索引iu查找區(qū)塊鏈存儲的元組(puku、puka、alu、pu),并依據pkuu、pkua是否相同以及alo是否屬于alu進行投票,在有3個及以上的共識與處理節(jié)點達成同意共識后,則向代理返回存儲于dht網絡中的加密數據d(pu)。代理將數據使用共享密鑰sku解密,然后再使用共享密鑰sko加密并簽名后發(fā)回機構。

5.區(qū)塊鏈存儲機構訪問記錄。代理將訪問記錄使用共享密鑰ska加密,加上代理設置的訪問權限列表ala,末尾加上自己的數字簽名后發(fā)送到請求池中。共識與處理節(jié)點依據據索引ia查找區(qū)塊鏈存儲的元組(puka、puku、ala、pa),依據puka、puku是否相同進行投票,在有3個及以上的共識與處理節(jié)點達成同意共識后,將加密訪問記錄存儲到鏈下dht網絡d(pl)處.在區(qū)塊中更新訪問權限列表ala以及指向該加密日志的指針pl(pl也是加密后日志的哈希值)。

6.用戶跟蹤數據的使用。代理代表用戶發(fā)出請求,包含用戶申請的訪問權限alu,并在末尾加上自己的數字簽名后發(fā)送到請求池中。共識與處理節(jié)點依據請求中索引ia,查找區(qū)塊鏈存儲的元組(puka、puku、ala、pa),并依據pkua、pkuu是否相同以及alu是否屬于ala進行投票,在有3個及以上的共識與處理節(jié)點達成同意共識后,則向代理返回存儲于dht網絡中的加密日志d(pl)。代理隨后將加密日志返回給用戶。

7.用戶更改數據訪問權限。代理代表用戶發(fā)出請求,包含用戶要更改的訪問權限alu,并在末尾加上自己的數字簽名后發(fā)送到請求池中。共識與處理節(jié)點根據請求中索引iu查找區(qū)塊鏈存儲的元組(puku、puka、alu、pu),并依據pkuu、pkua是否相同進行投票,在有3個及以上的共識節(jié)點達成同意共識后,將新的alu存入到區(qū)塊中。

8.區(qū)塊鏈與鏈下分布式哈希表存儲設施間的加密通信可以混合采用公私鑰體系、對稱密鑰體系實現。

9.圖中的代理為一個邏輯實體,可以分布式的存在于網絡上,為進一步保證數據安全,其提供的服務的實現基于安全多方計算技術。

以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何屬于本技術領域的技術人員在本發(fā)明揭露的技術范圍內,可輕易想到的變化或替換,都應涵蓋在本發(fā)明的保護范圍之內。

當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1