CN114422176A - 基于区块链的动态访问控制方法及装置 - Google Patents

基于区块链的动态访问控制方法及装置 Download PDF

Info

Publication number
CN114422176A
CN114422176A CN202111504206.4A CN202111504206A CN114422176A CN 114422176 A CN114422176 A CN 114422176A CN 202111504206 A CN202111504206 A CN 202111504206A CN 114422176 A CN114422176 A CN 114422176A
Authority
CN
China
Prior art keywords
data
node
ciphertext data
encryption
block chain
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.)
Granted
Application number
CN202111504206.4A
Other languages
English (en)
Other versions
CN114422176B (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.)
Beijing Institute of Technology BIT
Original Assignee
Beijing Institute of Technology BIT
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 Beijing Institute of Technology BIT filed Critical Beijing Institute of Technology BIT
Priority to CN202111504206.4A priority Critical patent/CN114422176B/zh
Publication of CN114422176A publication Critical patent/CN114422176A/zh
Application granted granted Critical
Publication of CN114422176B publication Critical patent/CN114422176B/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0478Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

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

Abstract

本说明书一个或多个实施例提供一种基于区块链的动态访问控制方法及装置,对于明文数据,按照顺序进行加密处理,一次加密处理后的加密结果继续进行下一次的加密处理,直至最后一次加密处理后得到最终的密文数据,最后将密文数据以交易形式记录于区块链中;解密时,从区块链获取密文数据,依次对密文数据进行解密,能够得到明文数据的函数值;本实施例的方法适用于分布式多用户系统的动态访问控制,能够保证数据安全性和访问控制可靠性。

Description

基于区块链的动态访问控制方法及装置
技术领域
本说明书一个或多个实施例涉及访问控制技术领域,尤其涉及一种基于区块链的动态访问控制方法及装置。
背景技术
传统的访问控制系统存在中心化系统缺点,密钥管理依赖于权威中心,一旦权威中心出现问题,系统安全性面临威胁,且,访问控制一般适用于单用户场景,难以支持分布式多用户访问控制。基于区块链的访问控制系统能够实现分布式多用户访问控制,而如何保证分布式多用户的数据安全性是所需解决的问题。
发明内容
有鉴于此,本说明书一个或多个实施例的目的在于提出一种基于区块链的动态访问控制方法及装置,能够保证分布式多用户的数据安全性。
基于上述目的,本说明书一个或多个实施例提供了基于区块链的动态访问控制方法,包括:
对明文数据依次进行加密处理,直至最后一次获得最终的密文数据;其中,除第一次外,当前次加密处理的数据为上次加密处理的加密结果;
将所述密文数据记录于区块链中。
可选的,所述方法还包括:
从所述区块链获取所述密文数据;
依次对所述密文数据进行解密,得到明文数据的函数值。
可选的,所述对明文数据依次进行加密处理,直至最后一次获得最终的密文数据为:
同一组内的各节点对明文数据依次进行加密处理,最后一个节点的加密处理结果为所述密文数据;
所述依次对所述密文数据进行解密为:
利用获取的各节点的私钥依次对所述密文数据进行解密。
可选的,同一组的各节点具有相同的组标签,各节点的公钥在同一个公钥集合中。
可选的,所述方法还包括:
当有节点加入时,在已有节点的基础上,将该节点作为最后一个节点。
本说明书实施例还提供一种基于区块链的动态访问控制装置,包括:
加密模块,用于对明文数据依次进行加密处理,直至最后一次获得最终的密文数据;其中,除第一次外,当前次加密处理的数据为上次加密处理的加密结果;
上传模块,用于将所述密文数据记录于区块链中。
可选的,所述装置还包括:
下载模块,用于从所述区块链获取所述密文数据;
解密模块,用于依次对所述密文数据进行解密,得到明文数据的函数值。
可选的,所述加密模块,用于使同一组内的各节点对明文数据依次进行加密处理,最后一个节点的加密处理结果为所述密文数据;
所述解密模块,用于利用获取的各节点的私钥依次对所述密文数据进行解密。
可选的,同一组的各节点具有相同的组标签,各节点的公钥在同一个公钥集合中。
可选的,所述装置还包括:
加入模块,用于当有节点加入时,在已有节点的基础上,将该节点作为最后一个节点。
从上面所述可以看出,本说明书一个或多个实施例提供的基于区块链的动态访问控制方法及装置,通过对明文数据按照顺序进行加密处理,一次加密处理后的加密结果继续进行下一次的加密处理,直至最后一次加密处理后得到最终的密文数据,最后将密文数据以交易形式记录于区块链中;解密时,从区块链获取密文数据,依次对密文数据进行解密,能够得到明文数据的函数值;本实施例的方法适用于分布式多用户系统的动态访问控制,能够保证数据安全性和访问控制可靠性。
附图说明
为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书一个或多个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书一个或多个实施例的加密方法流程示意图;
图2为本说明书一个或多个实施例的解密方法流程示意图;
图3为本说明书一个或多个实施例的数据加密流向示意图;
图4为本说明书一个或多个实施例的数据解密流向示意图;
图5为本说明书一个或多个实施例的系统模型示意图;
图6为本说明书一个或多个实施例的用户数量与加密时间的关系示意图;
图7为本说明书一个或多个实施例的用户数量与解密时间的关系示意图;
图8为本说明书一个或多个实施例的数据长度与交易开销的关系示意图;
图9为本说明书一个或多个实施例的加密装置结构框图;
图10为本说明书一个或多个实施例的解密装置结构框图;
图11为本说明书一个或多个实施例的电子设备结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
需要说明的是,除非另外定义,本说明书一个或多个实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本说明书一个或多个实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
如背景技术部分所述,在分布式系统中需要解决分布式数据的安全性访问控制问题。例如,应用于医疗系统的物联网中,分布式的数据采集设备需要定期上传收集的患者指标数据,为保证数据安全性,需要对患者指标数据进行加密再上传,医生终端接收加密的数据,并对数据进行解密获得原始的患者指标数据;由于采用传统的加密方法,患者指标数据存在隐私泄露的风险。
申请人在实现本公开的过程中发现,函数加密提供了一种解决思路,该方法能够在接收端获得原始数据的函数值,而非原始数据本身,这使得接收端可以获得原始数据的特定结果,不会造成原始数据的泄露;应用于医疗系统中时,医生可以正常获取病患的指标结果,而不会得到详细的指标数据,避免病患的隐私泄露。
鉴于此,本说明书实施例提供一种基于区块链的动态访问控制方法,将去中心化的区块链技术和动态分布式函数加密方法相结合,提供一种适用于分布式系统的访问控制方法,能够保证分布式多用户的数据安全性。
以下,通过具体的实施例进一步详细说明本公开的技术方案。
如图1、3所示,本说明书实施例提供一种基于区块链的动态访问控制方法,包括:
S101:对明文数据依次进行加密处理,直至最后一次获得最终的密文数据;其中,除第一次外,当前次加密处理的数据为上次加密处理的加密结果;
S102:将密文数据记录于区块链中。
本实施例提供的基于区块链的动态访问控制方法,利用分布式函数加密方法对明文数据进行加密处理。对于明文数据,按照顺序进行加密处理,一次加密处理后的加密结果继续进行下一次的加密处理,直至最后一次加密处理后得到最终的密文数据,最后将密文数据以交易形式记录于区块链中,保证数据安全性和访问控制可靠性。
一些实施方式中,在分布式系统中,存在n个数据拥有者(Data Owner,DO),每个数据拥有者拥有原始数据,并主动与其他用户共享这些数据。每个数据拥有者DOi上传原始数据时,先对所拥有的原始数据进行加密处理,加密之后将加密结果传输给下一个数据拥有者DOi+1,由下一个数据拥有者继续进行加密处理,直至第n个数据拥有者对第n-1个加密结果进行加密处理之后得到最终的密文数据,由第n个数据拥有者将密文数据以交易形式上传至区块链。
一些方式中,每个数据拥有者对应区块链中的一个节点,n个数据拥有者对应n个节点,从第一个节点到第n个节点依序对要上传的明文数据进行加密,除第一个节点外,当前节点对上个节点的加密结果进行加密处理。数据拥有者可以作为新节点动态加入,新加入的数据拥有者可以排在最后一个,当已有的数据拥有者依序对数据加密处理之后,由最后一个数据拥有者对加密结果进行加密处理得到最终的密文数据,并将密文数据以交易形式上传至区块链。利用本实施例的方法,可支持分布式的数据拥有者动态的加入系统,加密过程不依赖于可信第三方,实现加密处理的去中心化,且依序加密的过程需要所有数据拥有者的参与,密文状态会随着数据拥有者的变化而变化,每个数据拥有者的动态加入均可实现数据的访问控制,保证数据安全性。
如图2、4所示,一些实施例中,动态访问控制方法还包括:
S201:从区块链获取密文数据;
S202:依次对密文数据进行解密,得到明文数据的函数值。
本实施例中,数据拥有者可以上传原始数据,数据请求者(Data Requester,DR)可以从区块链下载所需数据。从区块链上下载的数据为密文数据,需要按顺序依次进行解密处理,从而得到所需数据。其中,为避免原始明文数据泄露隐私,数据请求者仅可获得所需要的明文数据的函数值,而不会获得原始的明文数据,保证数据隐私性。
结合图5所示,一些方式中,为实现系统的访问控制,数据拥有者和数据请求者需要先进行注册,只有已注册的用户才可以作为数据拥有者上传数据或者是作为数据请求者下载数据。注册时,用户提供身份信息,系统根据身份信息为用户分配上传数据或者下载数据时使用的访问参数。
具体的,在系统初始化阶段生成公共参数。以安全参数
Figure 851528DEST_PATH_IMAGE001
为输入参数,利用基于身 份的加密算法(Identity-Based Encryption, IBE)初始化生成公共参数pp。初始化算法过 程是:首先生成一个素数q, 两个阶为q的群G1,G2,双线性映射
Figure 768669DEST_PATH_IMAGE002
,选择一 个生成元
Figure 751668DEST_PATH_IMAGE003
;然后,选择随机数s作为主密钥,
Figure 146878DEST_PATH_IMAGE004
Figure 226829DEST_PATH_IMAGE005
是1~ q-1的所有整数集,并令 Ppub=sP;最后选择两个哈希函数
Figure 49291DEST_PATH_IMAGE006
Figure 644221DEST_PATH_IMAGE007
,得到公共参数
Figure 108700DEST_PATH_IMAGE008
系统初始化之后,用户可在系统注册,用户输入身份信息,根据用户提供的身份信 息和公共参数,生成用户的访问参数。一方面,利用IBE密钥生成算法生成用户的公私钥对, 基本过程是:将身份信息处理为由0和1构成的字符串序列
Figure 777579DEST_PATH_IMAGE009
,令公钥pk=ID,计算
Figure 974205DEST_PATH_IMAGE010
,设置私钥sk=sQpk,得到用户的公私钥对(pk,sk);第二方面,可 根据特定条件,将用户进行分组,并为同一组的用户分配相同的组标签,通过分组,只有同 一组中的用户可以完成完整的数据加密和上传过程,且只有提供正确组标签的用户可以完 成完整的数据解密过程,从而获得用户分享的数据。分组情况同样适用于用户的动态加入, 新加入的用户可作为某个组的新成员,参与完成该组的数据上传和数据下载过程。
可选的,可以将具有相同特征的用户分为一组,例如,在医疗系统中可将同一科室的用户分为一组,或者是按照地理位置范围将同一区域的用户分为一组,也可以灵活配置分组条件,将满足分组条件的用户分为一组,具体分组方式不做限定。这样,在用户注册阶段,可以为用户分配身份ID、公私钥对以及组标签等访问参数,通过访问参数实现用户信息管理和访问控制。
用户注册成功之后,即可以上传分享数据。设原始上传的明文数据表示为m=(xpk, UM,l),其中,
Figure 994114DEST_PATH_IMAGE011
,xpk为将明文数据处理后的字符串序列,L为序列长度;UM为同一 组的n个数据拥有者的公钥集合,表示为
Figure 59022DEST_PATH_IMAGE012
; l为组标签,
Figure 582407DEST_PATH_IMAGE013
,l为由 0、1构成的任意长度的字符串序列。
对于第一个节点,其所拥有的明文数据为xpk1,令
Figure 277830DEST_PATH_IMAGE014
,则第一个节点利用 IBE加密算法加密后得到第一个加密结果
Figure 519456DEST_PATH_IMAGE015
,将第一个加密结果传输给第二 个节点。第二个节点基于第一个加密结果继续进行加密处理。第二个节点先验证其公钥
Figure 997842DEST_PATH_IMAGE016
是否在公钥集合UM中,如果pk2在公钥集合中,计算
Figure 641313DEST_PATH_IMAGE017
,并随机选取
Figure 242058DEST_PATH_IMAGE018
,计算
Figure 970980DEST_PATH_IMAGE019
,其中,
Figure 377691DEST_PATH_IMAGE020
,得 到第二个加密结果
Figure 875668DEST_PATH_IMAGE021
,将第二个加密结果传输给第三个节点,第三个节点按 照上述方法计算得到第三个加密结果,按照此加密结果的传输过程,第i个节点基于第i-1 个加密结果继续进行加密处理,第i个节点先验证其公钥
Figure 912894DEST_PATH_IMAGE022
是否在公钥集合中,如果在公 钥集合中,计算
Figure 863533DEST_PATH_IMAGE023
,并随机选取
Figure 949300DEST_PATH_IMAGE024
,计算
Figure 301784DEST_PATH_IMAGE025
,其中,
Figure 509912DEST_PATH_IMAGE026
,得到第i个加密结果
Figure 947846DEST_PATH_IMAGE027
。按照上述过程,直至第n个节点计算得到第n个加密结果
Figure 696359DEST_PATH_IMAGE028
,第n个节点将第n个加密结果作为最终的密文数据,向区块链提交交易
Figure 434508DEST_PATH_IMAGE029
,区块链记录该交易内容,完成数据加密及上传,保证数据在上传阶 段的保密性和可靠性。
当数据请求者访问数据时,从区块链中获取所需明文。数据请求者向区块链提交 数据下载请求Q=l,区块链根据数据下载请求返回交易
Figure 547958DEST_PATH_IMAGE030
,并获取该组 标签l所对应的组内各用户的私钥以及各用户的加密顺序,数据请求者从交易中获取密文 数据
Figure 676451DEST_PATH_IMAGE031
,对密文数据解密以获得所需明文。解密过程为:对于密文数据CTn,将
Figure 900759DEST_PATH_IMAGE032
分为两部分Un和Vn,记为
Figure 227835DEST_PATH_IMAGE032
=<Un, Vn>,数据请求者利用获取的私钥,按顺序依次进行解 密,先计算
Figure 512186DEST_PATH_IMAGE033
,接着,令
Figure 252609DEST_PATH_IMAGE034
,再计算
Figure 280607DEST_PATH_IMAGE035
,按此解密过程计算
Figure 462190DEST_PATH_IMAGE036
,直 至计算至
Figure 917442DEST_PATH_IMAGE037
,最终得到所需明文,该明文为明文数据的函数值
Figure 817265DEST_PATH_IMAGE038
,由此,数据请求 者可获得明文函数值而非原始的明文数据,从而保证了原始数据的隐私性。
从上述上传数据和下载数据过程可以看出,公钥集合UM中包括了同一组中的所有用户的公钥,l为同一组中所有用户的组标签,在加密数据和解密过程中,只有同一个公钥集合,且组标签相同的用户可以完成完整的加密过程和解密过程,为访问控制提供了组约束条件,能够实现细粒度的组内访问控制管理。
本实施例提供的基于区块链的动态访问控制方法,基于区块链技术和动态分布式函数加密方法实现分布式多用户的访问控制,使用区块链可以保证数据可靠性和节点自治性,使用分布式函数加密方法能够实现多用户加解密过程的去中心化,能够支持用户的灵活、动态加入,数据请求者仅可获得明文数据的函数值,进一步避免隐私泄露,保证数据安全性。
以下结合实验结果说明本说明书的访问控制方法的性能与效果。
在系统初始化阶段,设定安全参数
Figure 586638DEST_PATH_IMAGE039
=1024bits,选取GMP库和PBC库实现加密算法, 使用的配对为椭圆曲线y2=x3+x;利用pypbc库中的Pairing()函数生成双线性映射;调用 pypbc库中的Element.random()函数,输入双线性映射和群G2随机生成群G1生成元;使用 PBC库的哈希函数接口的元素SHA-256生成哈希函数H1 H2
使用Go版本的以太坊客户端Geth构建私有链,共识机制遵循以太坊的PoW,交易的读写通过web3的JavaScript来实现.该私有链的部署首先创建一个创世区块”genesis.json”,通过JavaScript控制台初始化节点,并创建新的账户来启动交易。
数据拥有者的原始数据需要经过同组内各个数据拥有者依次进行加密处理之后,将最终的密文数据上传至区块链;数据请求者在下载数据时,需要依次解密处理,最终得到所需明文。由此,加密和解密的时间成本取决于用户的数量。结合图6、7所示,测试结果表明,随着用户数量的增加,加密和解密所花费的时间增加,增长趋势是不规则的,当用户数量达到30个时,加密处理的时间成本为0.528秒,解密处理的时间成本为0.083秒,可以表明,在保证数据安全性和支持用户动态加入的条件下,数据处理效率较高。
从数据量角度分析,区块链的每个交易都有一个固定的基础成本,当数据量超过一定阈值时,需要额外支出gas成本,gas成本取决于数据的长度,并以位为单位计算。如图8所示,测试结果表明,数据长度增加,交易成本随之增加,且二者呈线性趋势变化,当数据长度为3200位时,消耗的gas成本为73800gas,成本合理可控。
需要说明的是,本说明书一个或多个实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本说明书一个或多个实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
如图9所示,本说明书实施例还提供一种基于区块链的动态访问控制装置,包括:
加密模块,用于对明文数据依次进行加密处理,直至最后一次获得最终的密文数据;其中,除第一次外,当前次加密处理的数据为上次加密处理的加密结果;
上传模块,用于将密文数据记录于区块链中
如图10所示,一些实施例中,装置还包括:
下载模块,用于从区块链获取密文数据;
解密模块,用于依次对密文数据进行解密,得到明文数据的函数值。
一些实施例中,加密模块,用于使同一组内的各节点对明文数据依次进行加密处理,最后一个节点的加密处理结果为所述密文数据;
解密模块,用于利用各节点的私钥依次对密文数据进行解密。
一些实施例中,同一组的各节点具有相同的组标签,各节点的公钥在同一个公钥集合中。
一些实施例中,装置还包括:
加入模块,用于当有节点加入时,在已有节点的基础上,将该节点作为最后一个节点。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的装置用于实现前述实施例中相应的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
图11示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线 1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
上述实施例的电子设备用于实现前述实施例中相应的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本说明书一个或多个实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本说明书一个或多个实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本说明书一个或多个实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本说明书一个或多个实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本说明书一个或多个实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本说明书一个或多个实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。

Claims (10)

1.基于区块链的动态访问控制方法,其特征在于,包括:
对明文数据依次进行加密处理,直至最后一次获得最终的密文数据;其中,除第一次外,当前次加密处理的数据为上次加密处理的加密结果;
将所述密文数据记录于区块链中。
2.根据权利要求1所述的方法,其特征在于,还包括:
从所述区块链获取所述密文数据;
依次对所述密文数据进行解密,得到明文数据的函数值。
3.根据权利要求2所述的方法,其特征在于,所述对明文数据依次进行加密处理,直至最后一次获得最终的密文数据为:
同一组内的各节点对明文数据依次进行加密处理,最后一个节点的加密处理结果为所述密文数据;
所述依次对所述密文数据进行解密为:
利用获取的各节点的私钥依次对所述密文数据进行解密。
4.根据权利要求3所述的方法,其特征在于,同一组的各节点具有相同的组标签,各节点的公钥在同一个公钥集合中。
5.根据权利要求3所述的方法,其特征在于,还包括:
当有节点加入时,在已有节点的基础上,将该节点作为最后一个节点。
6.基于区块链的动态访问控制装置,其特征在于,包括:
加密模块,用于对明文数据依次进行加密处理,直至最后一次获得最终的密文数据;其中,除第一次外,当前次加密处理的数据为上次加密处理的加密结果;
上传模块,用于将所述密文数据记录于区块链中。
7.根据权利要求6所述的装置,其特征在于,还包括:
下载模块,用于从所述区块链获取所述密文数据;
解密模块,用于依次对所述密文数据进行解密,得到明文数据的函数值。
8.根据权利要求7所述的装置,其特征在于,
所述加密模块,用于使同一组内的各节点对明文数据依次进行加密处理,最后一个节点的加密处理结果为所述密文数据;
所述解密模块,用于利用获取的各节点的私钥依次对所述密文数据进行解密。
9.根据权利要求8所述的装置,其特征在于,同一组的各节点具有相同的组标签,各节点的公钥在同一个公钥集合中。
10.根据权利要求8所述的装置,其特征在于,还包括:
加入模块,用于当有节点加入时,在已有节点的基础上,将该节点作为最后一个节点。
CN202111504206.4A 2021-12-10 2021-12-10 基于区块链的动态访问控制方法及装置 Active CN114422176B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111504206.4A CN114422176B (zh) 2021-12-10 2021-12-10 基于区块链的动态访问控制方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111504206.4A CN114422176B (zh) 2021-12-10 2021-12-10 基于区块链的动态访问控制方法及装置

Publications (2)

Publication Number Publication Date
CN114422176A true CN114422176A (zh) 2022-04-29
CN114422176B CN114422176B (zh) 2023-03-10

Family

ID=81265498

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111504206.4A Active CN114422176B (zh) 2021-12-10 2021-12-10 基于区块链的动态访问控制方法及装置

Country Status (1)

Country Link
CN (1) CN114422176B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109933995A (zh) * 2019-01-31 2019-06-25 广州中国科学院软件应用技术研究所 一种基于云服务及区块链的用户敏感数据保护及系统
US20190379646A1 (en) * 2018-06-11 2019-12-12 Fujitsu Limited Delayed-access encryption for blockchain field
CN111191288A (zh) * 2019-12-30 2020-05-22 中电海康集团有限公司 一种基于代理重加密的区块链数据访问权限控制方法
CN111541731A (zh) * 2020-03-08 2020-08-14 杭州电子科技大学 一种基于区块链和知悉范围加密的电子文件访问控制方法
CN112163854A (zh) * 2020-09-14 2021-01-01 北京理工大学 一种层级化基于区块链公钥可搜索加密方法及系统
US20210176052A1 (en) * 2019-12-06 2021-06-10 MOAC Blockchain Technology Inc. Apparatus and method for terminating an authorization to access a record in a blockchain ledger
CN113595971A (zh) * 2021-06-02 2021-11-02 云南财经大学 一种基于区块链的分布式数据安全共享方法、系统和计算机可读介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190379646A1 (en) * 2018-06-11 2019-12-12 Fujitsu Limited Delayed-access encryption for blockchain field
CN109933995A (zh) * 2019-01-31 2019-06-25 广州中国科学院软件应用技术研究所 一种基于云服务及区块链的用户敏感数据保护及系统
US20210176052A1 (en) * 2019-12-06 2021-06-10 MOAC Blockchain Technology Inc. Apparatus and method for terminating an authorization to access a record in a blockchain ledger
CN111191288A (zh) * 2019-12-30 2020-05-22 中电海康集团有限公司 一种基于代理重加密的区块链数据访问权限控制方法
CN111541731A (zh) * 2020-03-08 2020-08-14 杭州电子科技大学 一种基于区块链和知悉范围加密的电子文件访问控制方法
CN112163854A (zh) * 2020-09-14 2021-01-01 北京理工大学 一种层级化基于区块链公钥可搜索加密方法及系统
CN113595971A (zh) * 2021-06-02 2021-11-02 云南财经大学 一种基于区块链的分布式数据安全共享方法、系统和计算机可读介质

Also Published As

Publication number Publication date
CN114422176B (zh) 2023-03-10

Similar Documents

Publication Publication Date Title
US11032278B2 (en) System, method and apparatus for generating device identifier
CN112434313A (zh) 数据共享方法、系统、电子设备及存储介质
US20160028702A1 (en) System and method for key management for issuer security domain using global platform specifications
JP6014585B2 (ja) 属性ベースのデジタル署名システム
CN106134128B (zh) 使用关联私钥部分更快的公钥加密的系统和方法
JP6363032B2 (ja) 鍵付替え方向制御システムおよび鍵付替え方向制御方法
CN110061840A (zh) 数据加密方法、装置、计算机设备及存储介质
US11212082B2 (en) Ciphertext based quorum cryptosystem
Sethia et al. CP-ABE for selective access with scalable revocation: A case study for mobile-based healthfolder.
CN105656881B (zh) 一种电子病历的可验证外包存储和检索系统及方法
US20150023498A1 (en) Byzantine fault tolerance and threshold coin tossing
CN114553590A (zh) 数据传输方法及相关设备
CN113411323A (zh) 基于属性加密的医疗病历数据访问控制系统及方法
CN104462877B (zh) 一种版权保护下的数字资源获取方法及系统
JP5079479B2 (ja) Idベース暗号システム、方法
CN108768642A (zh) 一种数据聚合方法、装置、计算机设备及存储介质
CN111010283B (zh) 用于生成信息的方法和装置
CN114422176B (zh) 基于区块链的动态访问控制方法及装置
CN115632782B (zh) 基于sm4计数器模式的随机数生成方法、系统及设备
KR20180053066A (ko) 키 확장 방식을 적용한 묵시적 인증서 발급 방법 및 시스템
JP6348273B2 (ja) 情報処理システム
KR101812311B1 (ko) 사용자 단말 및 속성 재암호 기반의 사용자 단말 데이터 공유 방법
CN110460604B (zh) 一种云存储加密、解密和验证方法及系统
CN113779629A (zh) 密钥文件共享方法、装置、处理器芯片及服务器
Vishnukumar et al. Scalable Access Control in Cloud Computing Using Hierarchical Attribute Set Based Encryption (HASBE)

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