国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

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

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

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



      背景技術(shù):

      大數(shù)據(jù)時(shí)代對數(shù)據(jù)共享和數(shù)據(jù)安全提出了更高的要求,傳統(tǒng)模式下要么因?yàn)楣蚕矶緵]有什么附帶保護(hù)措施,要么將數(shù)據(jù)管得太緊而限制了共享。此外,現(xiàn)有技術(shù)的區(qū)塊鏈數(shù)據(jù)存在冗余。



      技術(shù)實(shí)現(xiàn)要素:

      針對上述現(xiàn)有技術(shù),本發(fā)明目的在于提供基于區(qū)塊鏈的數(shù)據(jù)訪問控制方法,解決現(xiàn)有技術(shù)由于控制權(quán)限設(shè)計(jì)局限性和區(qū)塊數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)而導(dǎo)致的數(shù)據(jù)訪問可控性較差和區(qū)塊龐大等技術(shù)問題。

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

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

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

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

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

      步驟2、由代理結(jié)合代理、用戶和第三方用戶的公鑰和預(yù)定義訪問權(quán)限列表進(jìn)行計(jì)算,得到第三方用戶公鑰、用戶公鑰和代理公鑰的哈希值,再

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

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

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

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

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

      上述方法中,還包括用戶通過滿足用戶設(shè)置權(quán)限的代理進(jìn)行共享數(shù)據(jù),其包括以下步驟:

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

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

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

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

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

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

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

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

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

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

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

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

      步驟2、由代理結(jié)合代理、用戶和第三方用戶的公鑰和預(yù)定義訪問權(quán)限列表進(jìn)行計(jì)算,得到第三方用戶公鑰、用戶公鑰和代理公鑰的哈希值,再

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

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

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

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

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

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

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

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

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

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

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

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

      上述方案中,還包括用戶更改數(shù)據(jù)訪問權(quán)限,其包括以下步驟:

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

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

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

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

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

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

      附圖說明

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

      具體實(shí)施方式

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

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

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

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

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

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

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

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

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

      實(shí)施例1

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

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

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

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

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

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

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

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

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

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

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

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

      9.圖中的代理為一個(gè)邏輯實(shí)體,可以分布式的存在于網(wǎng)絡(luò)上,為進(jìn)一步保證數(shù)據(jù)安全,其提供的服務(wù)的實(shí)現(xiàn)基于安全多方計(jì)算技術(shù)。

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

      當(dāng)前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
      1