CN111914272A - 一种移动边缘计算环境下起源数据的加密检索方法与系统 - Google Patents
一种移动边缘计算环境下起源数据的加密检索方法与系统 Download PDFInfo
- Publication number
- CN111914272A CN111914272A CN202010671351.0A CN202010671351A CN111914272A CN 111914272 A CN111914272 A CN 111914272A CN 202010671351 A CN202010671351 A CN 202010671351A CN 111914272 A CN111914272 A CN 111914272A
- Authority
- CN
- China
- Prior art keywords
- client
- key
- data
- encrypted
- contract
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 230000000977 initiatory effect Effects 0.000 claims description 24
- 238000011423 initialization method Methods 0.000 claims description 6
- 238000013475 authorization Methods 0.000 claims description 4
- 238000011217 control strategy Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 206010033799 Paralysis Diseases 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种移动边缘计算环境下起源数据的加密检索方法与系统,通过将不同的数据库分散在主智能合约和从智能合约中,在主智能合约中存储用户合约密钥表,在从智能合约中存储加密后的起源数据,不同的从智能合约中数据库不同,所存储的起源数据也不同;本发明在检索时通过主智能合约和从智能合约的相互配合进行检索,更加适应物联网设备众多,结构分散的特点,不易发生拥塞,检索效率较高。另外,本发明不论是对起源数据还是对查询语句,均分别在客户端,主智能合约以及从智能合约处进行了加密,同时也需要相应的密钥得到才能彻底地拿到明文的起源数据,保证了记录的隐私性,也保障了移动边缘计算环境下起源数据的加密检索的安全性。
Description
技术领域
本发明属于可搜索加密领域,更具体地,涉及一种移动边缘计算环境下起源数据的加密检索方法与系统。
背景技术
伴随着物联网和5G技术的蓬勃发展,由移动手机,可穿戴设备,智能终端等在线设备的激增所造成的网络过载使得传统的中心化的云计算架构无法提供理想的服务质量。移动边缘计算以其低时延,高带宽,靠近移动终端的特点很好地满足了移动互联网和物联网应用的需要,成为日前学术界和工业界研究的重点,在e-Health,车联网等新兴典型应用场景下得到了广泛使用。
我们在享受移动边缘计算利用移动互联网,物联网产生的数据构建的物理世界智能便捷应用的同时,其数据的来源广泛、结构不一,是一种多源异构数据,对该数据进行管理以及保证该数据的安全是移动边缘计算的一大难题。例如,在车联网应用中,行驶的车辆与路边的传感器设备以及周边的移动基站构成的移动边缘网络通过交换车辆状况和车辆运行的关键数据达到规划线路,调度车辆的目的,使得交通系统更安全,更便捷高效。然而,若交换的车辆关键数据遭到攻击者篡改,那么移动边缘计算的结果可能做出错误的决策,造成交通系统瘫痪甚至威胁驾驶者生命安全等不堪设想的后果。起源数据作为重要的元数据,目前W3C国际组织已经制定了相关的制度规范,一方面,起源数据可以作为数据来源可信性的佐证增强多源异构数据的可信性。另一方面,起源数据可以作为多源异构数据的一种统一表达,方便多源异构数据的管理和使用,故研究一种移动边缘计算环境下起源数据的加密检索方法与系统存在重要意义。
现有的移动边缘计算环境下起源数据的加密检索方法是在稳定可靠的第三方服务提供商上进行起源数据的加密检索。首先客户端向第三方服务提供商发起查询请求,第三方服务提供商进行检索并将检索结果返回给客户端。然而,由于物联网设备众多,结构分散,具有位置敏感的特性,容易造成中心化的云网络拥塞,增加网络延迟,导致查询响应时间较长,检索效率较低,无法满足物联网的服务质量需要;并且,中心化的结构也容易成为攻击者的目标,成为系统瓶颈。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种移动边缘计算环境下起源数据的加密检索方法与系统,其目的在于解决现有技术检索效率较低的技术问题。
为实现上述目的,第一方面,本发明提供了一种移动边缘计算环境下起源数据的加密检索方法,包括以下步骤:
S11、客户端使用会话密钥和其用户密钥对查询语句中的查询条件进行加密,并将其用户标识和加密后的查询语句发送给区块链,以向区块链发起起源数据加密检索请求;
S12、区块链接收到客户端发起的起源数据加密检索请求后,调用其主智能合约查询客户端的用户标识是否存在于用户合约密钥表中;若不存在,则拒绝客户端的加密检索请求,操作结束;否则,调用主智能合约使其采用该客户端的合约密钥对上述加密后的查询语句进行重加密,并将重加密后的查询语句路由到待检索的起源数据所对应的从智能合约上;在该从智能合约接收到上述重加密后的查询语句后,在该从智能合约中,采用其合约密钥对上述重加密后的查询语句进行三次加密后,执行查询操作得到查询结果,并采用该从智能合约的合约密钥对查询结果进行解密,将解密后的数据发送给主智能合约,调用主智能合约使其采用主密钥对上述解密后的数据进行进一步解密,并将二次解密后的结果发送给客户端;
S13、客户端使用上述会话密钥对上述二次解密后的结果进一步进行解密得到起源数据。
进一步优选地,上述主密钥是在区块链初始阶段生成的;
其中,区块链初始化方法,包括:
S01、区块链接收到初始化命令后,调用去中心化的密钥生成服务为已经加入区块链的客户端分配用户标识并发送给各客户端和主智能合约;将已经加入区块链的客户端随机两两进行分组,得到n个分组,并向各分组中的客户端发送用户密钥生成指令,其中n为正整数;
S02、各分组中的客户端接收到用户密钥生成指令后,分别计算其中客户端的用户密钥,具体为:对第i个分组的第一客户端和第二客户端,第一客户端随机生成密钥xi,计算得到并发送到第二客户端;第二客户端随机生成密钥yi,计算得到并发送到第一客户端;分别在第一客户端和第二客户端计算得到作为第i个分组的第一客户端和第二客户端的用户密钥,并发送给区块链;其中,g为生成元;
S03、区块链接收到已经加入区块链的客户端的用户标识和用户密钥后,调用主智能合约计算得到主密钥u=u1+u2+…+un后,对其进行存储,并计算各客户端的合约密钥p2i-1=p2i=u-ui,将各客户端的用户标识与其对应的合约密钥存储在其用户合约密钥表中;其中,i=1,2,…,n。
进一步优选地,在检索起源数据之前,需要保证该起源数据已经被上传到区块链上了;
其中,上传起源数据的方法,具体包括以下步骤:
S21、客户端随机生成一个会话密钥,使用该会话密钥和其用户密钥对待上传的起源数据进行加密后,将其用户标识和加密数据发送给区块链,以向区块链发起起源数据加密上传请求;
S22、区块链接收到客户端发起的起源数据加密上传请求后,调用主智能合约查询客户端的用户标识是否存在于用户合约密钥表中;若不存在,则拒绝客户端的加密上传请求,操作结束;否则,调用主智能合约使其采用客户端的合约密钥对上述加密数据进行重加密,并将重加密数据路由到待上传的起源数据所对应的从智能合约上;在从智能合约接收到重加密的数据后,在该从智能合约中,采用其合约密钥对上述重加密数据进行三次加密,并存储三次加密后的数据。
进一步优选地,若检索起源数据的客户端与上传起源数据的客户端为不同客户端,则检索起源数据的客户端在加密检索起源数据之前,需要得到上传起源数据的客户端的授权以及上传起源数据时所使用的会话密钥;否则,检索起源数据的客户端加密检索起源数据时所使用的会话密钥即为上传起源数据时所使用的会话密钥。
进一步优选地,在执行上传或加密检索操作之前,执行上传或加密检索操作的客户端需要先加入到区块链中,具体包括以下步骤:
S31、客户端将随机生成的用户密钥uk发送到区块链中,并向区块链发起加入网络请求;
S32、区块链接收到客户端发起的加入网络请求后,调用去中心化的密钥生成服务,通过预设访问控制策略确定是否通过客户端加入网络的请求,若不通过,则拒绝客户端的加入网络请求,操作结束;否则,调用去中心化的密钥生成服务使其为客户端分配用户标识,并发送给该客户端和主智能合约;调用主智能合约基于主密钥u和该客户端的用户密钥uk计算得到该客户端的合约密钥为u-uk,并将该客户端的用户标识和合约密钥存储在其用户合约密钥表中。
进一步优选地,上述查询语句为SPARQL查询语句;上述起源数据为RDF三元组形式。
第二方面,本发明提供了一种客户端,包括检索请求发起模块和检索结果接收模块;
检索请求发起模块用于使用会话密钥和客户端的用户密钥对查询语句中的查询条件进行加密,并将客户端的用户标识和加密后的查询语句发送给区块链,以向区块链发起起源数据加密检索请求;
检索结果接收模块用于接收区块链发送的对检索到的数据进行二次解密后的结果,并使用会话密钥对上述二次解密后的结果进一步进行解密得到起源数据。
进一步优选地,上述客户端还包括上传请求发起模块、加入请求发起模块和用户分组密钥生成模块;
上传请求发起模块用于随机生成一个会话密钥,使用该会话密钥和客户端的用户密钥对待上传的起源数据进行加密后,将其用户标识和加密数据发送给区块链,以向区块链发起起源数据加密上传请求;
加入请求发起模块用于将随机生成的用户密钥uk发送到区块链中,并向区块链发起加入网络请求;
用户分组密钥生成模块用于执行本发明第一方面所提供的区块链初始化方法中的步骤S02。
第三方面,本发明提供了一种区块链,用于在接收到客户端发起的起源数据加密检索请求时,执行本发明第一方面所提供的移动边缘计算环境下起源数据的加密检索方法中的步骤S12。
进一步优选地,上述区块链还用于在接收到客户端发起的起源数据加密上传请求时,执行执行本发明第一方面所提供的上传起源数据的方法中的步骤S22;
在接收到客户端发起的加入网络请求时,执行本发明第一方面所提供的客户端加入区块链方法中的步骤S32;
在接收到初始化命令后,执行本发明第一方面所提供的区块链初始化方法中的步骤S01和步骤S03。
第四方面,本发明提供了一种移动边缘计算环境下起源数据的加密检索系统,包括本发明第二方面所提供的客户端和本发明第三方面所提供的区块链。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
1、本发明提供了一种移动边缘计算环境下起源数据的加密检索方法、客户端、区块链和系统,通过将不同的数据库分散在主智能合约和从智能合约中,在主智能合约中存储用户合约密钥表,在从智能合约中存储加密后的起源数据,不同的从智能合约中数据库不同,所存储的起源数据也不同;本发明在检索时通过主智能合约和从智能合约的相互配合进行检索,其中,主智能合约负责接收用户的请求,实现对请求的加密等处理,然后路由到待检索起源数据所对应的从智能合约上进行检索;由于本申请将数据的存储分散在各个从智能合约中,各个从智能合约在检索时数据量有所减少,不易发生拥塞,检索效率较高。
2、本发明提供了一种移动边缘计算环境下起源数据的加密检索方法、客户端、区块链和系统,用于移动边缘计算环境下,在检索时,用于检索的客户端只需要连接就近的节点接入区块链网络就可以进行检索,更加适应物联网设备众多,结构分散的特点,不易发生拥塞,进一步提高了检索效率。
3、本发明提供了一种移动边缘计算环境下起源数据的加密检索方法、客户端、区块链和系统,不论是对起源数据还是对查询语句,均分别在客户端,主智能合约以及从智能合约处进行了加密,同时也需要相应的密钥得到才能彻底地拿到明文数据,保证了记录的隐私性,保障了移动边缘计算环境下起源数据的加密检索的安全性。
4、本发明提供了一种移动边缘计算环境下起源数据的加密检索方法客户端、区块链和系统,针对移动边缘环境提出了分组多方密钥协商方案,通过在区块链初始化时将已经加入区块链的客户端随机两两进行分组,各组分别协商组内客户端的用户密钥,并在主智能合约中根据各组协商的用户密钥得到主密钥,整个密钥生成的核心在于主密钥的机密性,用户密钥只有组内的成员知道,且各组相互独立,安全性较高;该方法取代了传统中心化的密钥生成服务,去除了对第三方的信任问题。
5、本发明提供了一种移动边缘计算环境下起源数据的加密检索方法客户端、区块链和系统,由于起源数据存放在智能合约中,数据本身受区块链的保护在正常情况下无法篡改。本发明充分利用了区块链去中心化的优点以及区块链天然的不可篡改特性,在检索过程中,由于共识机制的存在,一旦有恶意节点伪造查询结果,那么返回的结果无法达成共识,进一步地可以揪出其中结果不一样的恶意节点;本申请所提出的方法可以保证数据的完整性。
6、本发明提供了一种移动边缘计算环境下起源数据的加密检索方法客户端、区块链和系统,在追责方面,得益于区块链天然的不可篡改特性,我们可以追溯到每个用户的检索任务,进而追踪到哪些用户什么时间检索了哪条记录,且用户对于区块链的记录无可抵赖。
附图说明
图1是本发明实施例1提供的一种移动边缘计算环境下起源数据的加密检索方法流程图;
图2是本发明实施例1提供的从区块链初始化阶段到起源数据加密检索阶段整个过程的处理流程示意图;
图3是本发明实施例1提供的区块链初始化阶段中已经加入区块链的客户端的用户密钥生成示意图;
图4是本发明实施例4提供的移动边缘计算环境下起源数据的加密检索系统结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
以下首先就本发明中涉及到的技术术语进行解释和说明:
区块链:区块链的概念由中本聪于2008年在比特币白皮书中第一次提出,是电子货币比特币的重要组成部分。区块链是一个公共账簿记录了所有的交易,通过p2p网络和分布式时间戳服务器,区块链数据库能够进行自主管理。区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链是比特币的底层技术,本质上是一个去中心化的数据库,使用密码学技术将交易信息打包成区块,然后连接成一条链。每一个区块可以用来验证其信息的有效新和生成下一个区块。区块链有以下几个特性:1)去中心化:区块链网络不依赖额外的第三方管理机构或硬件设施,没有中心节点或中心管制,各个节点实现了信息自我验证、传递和管理。去中心化是区块链最突出最本质的特征;2)透明性:存储在区块链上的数据,除了交易各方的私有信息被加密外,区块链的数据对所有人开放,任何人都可以通过公开的接口查询区块链数据和开发相关应用,因此整个区块链系统信息高度透明;3)防篡改:一旦将数据写在了区块链上,数据会永久保存在区块链上,无法被篡改。
智能合约:智能合约是一种基于计算机的协议,其允许在没有第三方的状态下进行交易,且这些交易是可信的,这种智能合约协议的目的是将传播方式由传统合约转化为信息化方式,来对合同进行执行与验证。其上进行的交易都是不可逆转的,而且可以进行追踪。与传统合约相比,不但能够减少与合约相关但不必要的其他交易成本,而且能提供更高的安全策略。运行在区块链上的智能合约是计算机程序,具有可信执行的特性。
Diffie-Hellman密钥协商:Deffie-Hellman(简称DH)密钥交换是最早的密钥交换算法之一,它使得通信的双方能在非安全的信道中安全的交换密钥,用于加密后续的通信消息。Whitfield Diffie和Martin Hellman于1976提出该算法,之后被应用于安全领域。
SPARQL:是为RDF开发的一种查询语言和数据获取协议,它是为W3C所开发的RDF数据模型所定义,可以用RDF来表示的信息资源。SPARQL协议和RDF查询语言(SPARQL)于2008年1月15日正式成为一项W3C推荐标准。SPARQL构建在以前的RDF查询语言(例如rdfDB、RDQL和SeRQL)之上,拥有一些有价值的新特性。
下面结合实施例和附图对本发明做进一步说明:
实施例1、
一种移动边缘计算环境下起源数据的加密检索方法,如图1所示,包括以下步骤:
S11、客户端使用会话密钥和其用户密钥对查询语句中的查询条件进行加密,并将其用户标识和加密后的查询语句发送给区块链,以向区块链发起起源数据加密检索请求;
S12、区块链接收到客户端发起的起源数据加密检索请求后,调用其主智能合约查询客户端的用户标识是否存在于用户合约密钥表中;若不存在,则拒绝客户端的加密检索请求,操作结束;否则,调用主智能合约使其采用该客户端的合约密钥对上述加密后的查询语句进行重加密,并将重加密后的查询语句路由到待检索的起源数据所对应的从智能合约上;在该从智能合约接收到上述重加密后的查询语句后,在该从智能合约中,采用其合约密钥对上述重加密后的查询语句进行三次加密后,执行查询操作得到查询结果,并采用该从智能合约密钥对查询结果进行解密,将解密后的数据发送给主智能合约,调用主智能合约使其采用主密钥对上述解密后的数据进行进一步解密,并将二次解密后的结果发送给客户端;
S13、客户端使用上述会话密钥对上述二次解密后的结果进一步进行解密得到起源数据。
需要说明的是,在检索起源数据之前,需要保证该起源数据已经被上传到区块链上了;并且,在执行上传或加密检索操作之前,执行上传或加密检索操作的客户端需要先加入到区块链中。具体的,如图2所示,一个完整的流程包括以下几个阶段:
1)区块链初始化阶段:
具体的,在初始时刻,需要对区块链进行初始化,本实施例中,启动区块链网络,根据网络拓扑结构在每个区块链节点使用peer install命令安装智能合约后,使用peerinvoke命令调用实例化后的智能合约,设置密钥协商的初始化参数,包括大素数P和生成元g。需要说明的是初始化阶段安装的智能合约为区块链中的所有智能合约,包括主智能合约和从智能合约。在这个过程中为各从智能合约分配了各自的合约密钥,为后续加密上传和加密检索做准备。
具体的,本实施例中,区块链初始化方法,包括:
S01、区块链接收到初始化命令后,调用去中心化的密钥生成服务为已经加入区块链的客户端分配用户标识并发送给各客户端和主智能合约;将已经加入区块链的客户端随机两两进行分组,得到n个分组(本实施例中,已经加入区块链的用户有2n个),并向各分组中的客户端发送用户密钥生成指令,其中n为正整数;
S02、各分组中的客户端接收到用户密钥生成指令后,每组中客户端之间使用Diffie-Hellman密钥协商算法进行密钥协商,分别计算其中客户端的用户密钥,具体为:如图3所示,对第i个分组的第一客户端和第二客户端,第一客户端随机生成密钥xi,计算得到并发送到第二客户端;第二客户端随机生成密钥yi,计算得到并发送到第一客户端;分别在第一客户端和第二客户端计算得到作为第i个分组的第一客户端和第二客户端的用户密钥,并发送给区块链;
S03、区块链接收到已经加入区块链的客户端的用户标识和用户密钥后,调用主智能合约计算得到主密钥u=u1+u2+…+un后,对其进行存储,并计算各客户端的合约密钥p2i-1=p2i=u-ui,将各客户端的用户标识与其对应的合约密钥存储在其用户合约密钥表中;其中,i=1,2,…,n。
需要说明的是上述过程仅在对区块链进行初始化时才会执行。
2)客户端加入阶段:
S31、客户端将随机生成的用户密钥uk发送到区块链中,并向区块链发起加入网络请求;
S32、区块链接收到客户端发起的加入网络请求后,调用去中心化的密钥生成服务,通过预设访问控制策略确定是否通过客户端加入网络的请求,若不通过,则拒绝客户端的加入网络请求,操作结束;否则,调用去中心化的密钥生成服务使其为客户端分配用户标识,并发送给该客户端和主智能合约;调用主智能合约基于主密钥u和该客户端的用户密钥uk计算得到该客户端的合约密钥为u-uk,并将该客户端的用户标识和合约密钥存储在其用户合约密钥表中。
具体的,本实施例中,密钥生成服务被部署在区块链的多个节点中,当接区块链中接收到加入网络请求时,接收节点会调用多个密钥生成服务,分别通过预设访问控制策略确定是否通过客户端加入网络的请求,若结果统一为通过,才判断为通过,以起到去中心化的作用,更加安全。其中,预设访问控制策略可以为基于角色的访问控制,根据客户端的角色来同意或拒绝其加入。
3)起源数据上传阶段:
S21、客户端随机生成一个会话密钥,使用该会话密钥和其用户密钥对待上传的起源数据进行加密后,将其用户标识和加密数据发送给区块链,以向区块链发起起源数据加密上传请求;
具体的,本实施例中,起源数据为RDF三元组形式,客户端使用其用户密钥对待上传的RDF三元组形式的起源数据进行加密后,将其用户标识和加密数据一起通过明文或者隐私数据集合的方式发送给区块链,以向区块链发起起源数据加密上传请求;其中,隐私数据集合的方式即是建立一个隐私数据集,仅对该客户端和区块链可见。
具体的,本实施例中,加密起源数据的过程如下:客户端随机生成一个会话密钥r,使用该会话密钥r和其用户密钥uk1对待上传的明文的起源数据M进行加密,得到<C,C1>,其中,C=gr,(mod(P)表示对P求余),将<C,C1>发送给区块链的主智能合约。
S22、区块链接收到客户端发起的起源数据加密上传请求后,调用主智能合约查询客户端的用户标识是否存在于用户合约密钥表中;若不存在,则拒绝客户端的加密上传请求,操作结束;否则,调用主智能合约使其采用客户端的合约密钥对上述加密数据进行重加密,并将重加密数据路由到待上传的起源数据所对应的从智能合约上;在从智能合约接收到重加密的数据后,在该从智能合约中,采用其合约密钥对上述重加密数据进行三次加密,并存储三次加密后的数据。
具体的,本实施例中,若区块链接受客户端的加密上传请求,调用主智能合约使其根据客户端的用户标识查询用户合约密钥表得到该客户端的合约密钥pk1,其中,u=pk1+uk1,调用主智能合约使其采用客户端的合约密钥对上述加密数据进行重加密得到<C,C2>,并路由到从智能合约上,其中,具体的,该从智能合约为待上传的起源数据所对应的从智能合约,具体的,对C进行哈希,将所得哈希值对从智能合约的总个数求余(即mod(hash(gr),K)),得到待上传的起源数据所对应的从智能合约的编号;其中,K为从智能合约的总个数。最后,在从智能合约中,采用从智能合约的合约密钥对上述重加密数据<C,C2>进行三次加密,得到ENCsk(<C,C2>)并存储。
3)起源数据加密检索阶段
S11、客户端使用会话密钥和其用户密钥对查询语句中的查询条件进行加密,并将其用户标识和加密后的查询语句发送给区块链,以向区块链发起起源数据加密检索请求;
需要说明的是,若检索起源数据的客户端与上传起源数据的客户端为不同客户端,则检索起源数据的客户端在加密检索起源数据之前,需要得到上传起源数据的客户端的授权以及上传起源数据时所使用的会话密钥;否则,检索起源数据的客户端加密检索起源数据时所使用的会话密钥即为上传起源数据时所使用的会话密钥。这里以检索起源数据的客户端与上传起源数据的客户端为不同客户端为例,检索起源数据的客户端的用户密钥为uk2,检索起源数据的客户端在得到上传起源数据的客户端的授权后,得到上传起源数据时所使用的会话密钥r。
具体的,本实施例的查询语句为SPARQL查询语句,以查询语句“select年龄where学号=1”为例,本实施例对其中的查询条件“年龄”以及“学号=1”分别进行加密操作。对于与上述起源数据相对应的查询条件Q,客户端使用会话密钥和其用户密钥对查询语句中的查询条件Q进行加密,得到<Cq,Qq1>,并发送给区块链的主智能合约。其中,Cq=gr,
S12、区块链接收到客户端发起的起源数据加密检索请求后,调用其主智能合约查询客户端的用户标识是否存在于用户合约密钥表中;若不存在,则拒绝客户端的加密检索请求,操作结束;否则,调用主智能合约使其采用该客户端的合约密钥对上述加密后的查询语句进行重加密,并将重加密后的查询语句路由到待检索的起源数据所对应的从智能合约上;在该从智能合约接收到上述重加密后的查询语句后,在该从智能合约中,采用其合约密钥对上述重加密后的查询语句进行三次加密后,执行查询操作得到查询结果,并采用该从智能合约的合约密钥对查询结果进行解密,将解密后的数据发送给主智能合约,调用主智能合约使其采用主密钥对上述解密后的数据进行进一步解密,并将二次解密后的结果发送给客户端;
具体的,若区块链接受客户端的加密检索请求,调用主智能合约使其根据该客户端的用户标识查询用户合约密钥表,得到该客户端的合约密钥pk2,其中,u=pk2+uk2,调用主智能合约使其采用客户端的合约密钥对上述加密数据进行重加密得到<Cq,Qq2>,并路由到从智能合约上;其中,
具体的,该从智能合约为待检索的起源数据所对应的从智能合约,与上传时所采用的从智能合约相同。同样的,对C进行哈希,将所得哈希值对从智能合约的总个数求余(即mod(hash(gr),K)),得到待上传的起源数据所对应的从智能合约的编号;其中,K为从智能合约的总个数。最后,在从智能合约中,采用从智能合约的合约密钥对上述重加密数据<C,C2>进行三次加密,得到ENCsk(<Cq,Qq2>)。以上述查询语句“select年龄where学号=1”为例,通过上述过程分别对查询条件“年龄”和“学号=1”进行了三次加密,得到年龄密文和学号密文1,最终得到加密之后的查询语句为“select年龄密文where学号密文1”。采用三次加密后的查询语句查询从智能合约上的数据库,得到上传时经过三次加密后的ENCsk(<C,C2>)。需要说明的是,由于数据库中存储的数据为上传时经过三次加密的起源数据,且查询语句中的查询条件也是采用相应的方法对应进行三次加密的,所以可以正好进行匹配检索。
最后在从智能合约中该从智能合约的合约密钥,对查询到的结果ENCsk(<C,C2>)进行解密得到<C,C2>,将解密后的数据发送给主智能合约,调用主智能合约使其采用主密钥u对上述解密后的数据<C,C2>进行进一步解密得到<C,C3>,并发送给客户端;其中,C3=M*grmod(P)。
S13、客户端使用上述会话密钥对上述二次解密后的结果进一步进行解密得到起源数据。
具体的,客户端使用上述会话密钥r对上述二次解密后的结果<C,C3>进一步进行解密得到起源数据M。
需要说明的是,本发明充分利用了区块链去中心化的优点以及区块链天然的不可篡改特性,在上述区块链的操作过程中,分别调用了区块链中的各个节点,在检索过程中,由于共识机制的存在,一旦有恶意节点伪造查询结果,那么返回的结果无法达成共识,进一步地可以揪出其中结果不一样的恶意节点。本发明可以追溯到每个客户端的检索任务进而追踪到哪些客户端什么时间检索了哪条记录,且客户端对于区块链的记录无可抵赖。
实施例2、
一种客户端,包括检索请求发起模块和检索结果接收模块;
检索请求发起模块用于使用会话密钥和客户端的用户密钥对查询语句中的查询条件进行加密,并将客户端的用户标识和加密后的查询语句发送给区块链,以向区块链发起起源数据加密检索请求;检索结果接收模块用于接收区块链发送的对检索到的数据进行二次解密后的结果,并使用会话密钥对上述二次解密后的结果进一步进行解密得到起源数据。具体操作过程同实施例1中的起源数据加密检索阶段,这里不做赘述。
进一步地,上述客户端还包括上传请求发起模块、加入请求发起模块和用户分组密钥生成模块;
上传请求发起模块用于随机生成一个会话密钥,使用该会话密钥和客户端的用户密钥对待上传的起源数据进行加密后,将其用户标识和加密数据发送给区块链,以向区块链发起起源数据加密上传请求;加入请求发起模块用于将随机生成的用户密钥uk发送到区块链中,并向区块链发起加入网络请求;用户分组密钥生成模块用于执行本发明第一方面所提供的区块链初始化方法中的步骤S02。具体操作过程同实施例1中的客户端加入阶段、起源数据上传阶段和区块链初始化阶段,这里不做赘述。
实施例3、
一种区块链,用于在接收到客户端发起的起源数据加密检索请求时,执行本发明第一方面所提供的移动边缘计算环境下起源数据的加密检索方法中的步骤S12。
进一步地,上述区块链还用于在接收到客户端发起的起源数据加密上传请求时,执行执行本发明实施例1所提供的起源数据上传阶段中的步骤S22;在接收到客户端发起的加入网络请求时,执行本发明实施例1所提供的客户端加入阶段中的步骤S32;在接收到初始化命令后,执行本发明实施例1所提供的区块链初始化阶段中的步骤S01和步骤S03。
具体操作过程同实施例1,这里不做赘述。
实施例4、
一种移动边缘计算环境下起源数据的加密检索系统,包括本发明实施例2所提供的客户端和本发明实施例3所提供的区块链。具体技术特征同实施2和实施例3,这里不做赘述。具体的,如图4所示,这里客户端通过其最接近的无线网络接入点,接入移动边缘计算环境下的区块链中。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种移动边缘计算环境下起源数据的加密检索方法,其特征在于,包括以下步骤:
S11、客户端使用会话密钥和其用户密钥对查询语句中的查询条件进行加密,并将其用户标识和加密后的查询语句发送给区块链,以向区块链发起起源数据加密检索请求;
S12、区块链接收到客户端发起的起源数据加密检索请求后,调用主智能合约查询客户端的用户标识是否存在于用户合约密钥表中;若不存在,则拒绝客户端的加密检索请求,操作结束;否则,调用主智能合约使其采用该客户端的合约密钥对所述加密后的查询语句进行重加密,并将重加密后的查询语句路由到待检索的起源数据所对应的从智能合约上;在该从智能合约接收到所述重加密后的查询语句后,在该从智能合约中,采用其合约密钥对所述重加密后的查询语句进行三次加密后,执行查询操作得到查询结果,并采用该从智能合约的合约密钥对查询结果进行解密,将解密后的数据发送给主智能合约,调用主智能合约使其采用主密钥对所述解密后的数据进行进一步解密,并将二次解密后的结果发送给客户端;
S13、客户端使用所述会话密钥对所述二次解密后的结果进一步进行解密得到起源数据。
2.根据权利要求1所述的移动边缘计算环境下起源数据的加密检索方法,其特征在于,所述主密钥是在区块链初始阶段生成的;
其中,区块链初始化方法,包括:
S01、区块链接收到初始化命令后,调用去中心化的密钥生成服务为已经加入区块链的客户端分配用户标识并发送给各客户端和主智能合约;将已经加入区块链的客户端随机两两进行分组,得到n个分组,并向各分组中的客户端发送用户密钥生成指令,其中n为正整数;
S02、各分组中的客户端接收到用户密钥生成指令后,分别计算其中客户端的用户密钥,具体为:对第i个分组的第一客户端和第二客户端,第一客户端随机生成密钥xi,计算得到并发送到第二客户端;第二客户端随机生成密钥yi,计算得到并发送到第一客户端;分别在第一客户端和第二客户端计算得到作为第i个分组的第一客户端和第二客户端的用户密钥,并发送给区块链;其中,g为生成元;
S03、区块链接收到已经加入区块链的客户端的用户标识和用户密钥后,调用主智能合约计算得到主密钥u=u1+u2+…+un后,对其进行存储,并计算各客户端的合约密钥p2i-1=p2i=u-ui,将各客户端的用户标识与其对应的合约密钥存储在其用户合约密钥表中;其中,i=1,2,…,n。
3.根据权利要求1或2所述的移动边缘计算环境下起源数据的加密检索方法,其特征在于,在检索起源数据之前,需要保证该起源数据已经被上传到区块链上了;
其中,上传起源数据的方法,具体包括以下步骤:
S21、客户端随机生成一个会话密钥,使用该会话密钥和其用户密钥对待上传的起源数据进行加密后,将其用户标识和加密数据发送给区块链,以向区块链发起起源数据加密上传请求;
S22、区块链接收到客户端发起的起源数据加密上传请求后,调用主智能合约查询客户端的用户标识是否存在于用户合约密钥表中;若不存在,则拒绝客户端的加密上传请求,操作结束;否则,调用主智能合约使其采用客户端的合约密钥对所述加密数据进行重加密,并将重加密数据路由到待上传的起源数据所对应的从智能合约上;在从智能合约接收到重加密的数据后,在该从智能合约中,采用其合约密钥对所述重加密数据进行三次加密,并存储三次加密后的数据。
4.根据权利要求3所述的移动边缘计算环境下起源数据的加密检索方法,其特征在于,若检索起源数据的客户端与上传起源数据的客户端为不同客户端,则检索起源数据的客户端在加密检索起源数据之前,需要得到上传起源数据的客户端的授权以及上传起源数据时所使用的会话密钥;否则,检索起源数据的客户端加密检索起源数据时所使用的会话密钥即为上传起源数据时所使用的会话密钥。
5.根据权利要求3所述的移动边缘计算环境下起源数据的加密检索方法,其特征在于,在执行上传或加密检索操作之前,执行上传或加密检索操作的客户端需要先加入到区块链中,具体包括以下步骤:
S31、客户端将随机生成的用户密钥uk发送到区块链中,并向区块链发起加入网络请求;
S32、区块链接收到客户端发起的加入网络请求后,调用去中心化的密钥生成服务,通过预设访问控制策略确定是否通过客户端加入网络的请求,若不通过,则拒绝客户端的加入网络请求,操作结束;否则,调用去中心化的密钥生成服务使其为客户端分配用户标识,并发送给该客户端和主智能合约;调用主智能合约基于主密钥u和该客户端的用户密钥uk计算得到该客户端的合约密钥为u-uk,并将该客户端的用户标识和合约密钥存储在其用户合约密钥表中。
6.一种客户端,其特征在于,包括检索请求发起模块和检索结果接收模块;
所述检索请求发起模块用于使用会话密钥和客户端的用户密钥对查询语句中的查询条件进行加密,并将客户端的用户标识和加密后的查询语句发送给区块链,以向区块链发起起源数据加密检索请求;
所述检索结果接收模块用于接收区块链发送的对检索到的数据进行二次解密后的结果,并使用会话密钥对所述二次解密后的结果进一步进行解密得到起源数据。
7.根据权利要求6所述的客户端,其特征在于,还包括上传请求发起模块、加入请求发起模块和用户分组密钥生成模块;
所述上传请求发起模块用于随机生成一个会话密钥,使用该会话密钥和客户端的用户密钥对待上传的起源数据进行加密后,将其用户标识和加密数据发送给区块链,以向区块链发起起源数据加密上传请求;
所述加入请求发起模块用于将随机生成的用户密钥uk发送到区块链中,并向区块链发起加入网络请求;
所述用户分组密钥生成模块用于执行权利要求2所述的区块链初始化方法中的步骤S02。
8.一种区块链,其特征在于,用于在接收到客户端发起的起源数据加密检索请求时,执行权利要求1所述的移动边缘计算环境下起源数据的加密检索方法中的步骤S12。
9.根据权利要求9所述的区块链,其特征在于,还用于在接收到客户端发起的起源数据加密上传请求时,执行执行权利要求3所述的上传起源数据的方法中的步骤S22;
在接收到客户端发起的加入网络请求时,执行权利要求5所述的步骤S32;
在接收到初始化命令后,执行权利要求1所述的区块链初始化方法中的步骤S01和步骤S03。
10.一种移动边缘计算环境下起源数据的加密检索系统,其特征在于,包括权利要求6或7所述的客户端,以及权利要求8或9所述的区块链。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010671351.0A CN111914272B (zh) | 2020-07-13 | 2020-07-13 | 一种移动边缘计算环境下起源数据的加密检索方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010671351.0A CN111914272B (zh) | 2020-07-13 | 2020-07-13 | 一种移动边缘计算环境下起源数据的加密检索方法与系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111914272A true CN111914272A (zh) | 2020-11-10 |
CN111914272B CN111914272B (zh) | 2024-02-02 |
Family
ID=73279980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010671351.0A Active CN111914272B (zh) | 2020-07-13 | 2020-07-13 | 一种移动边缘计算环境下起源数据的加密检索方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111914272B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112699413A (zh) * | 2021-01-20 | 2021-04-23 | 泉州华中科技大学智能制造研究院 | 一种可保护数据安全的区块链系统及其数据处理方法 |
CN112905657A (zh) * | 2021-02-01 | 2021-06-04 | 泉州华中科技大学智能制造研究院 | 一种可保护用户隐私的区块链及其数据处理方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109189727A (zh) * | 2018-09-14 | 2019-01-11 | 江西理工大学 | 一种基于属性代理重加密的区块链密文云存储共享方法 |
CN110135986A (zh) * | 2019-04-23 | 2019-08-16 | 武汉大学 | 一种基于区块链智能合约实现的可搜索加密文件数据方法 |
US10459990B1 (en) * | 2018-12-27 | 2019-10-29 | Silver Rocket Data Technology (Shanghai) Co., Ltd | Data processing method and device, medium and terminal thereof |
CN111008855A (zh) * | 2019-12-10 | 2020-04-14 | 上海中信信息发展股份有限公司 | 一种基于改进代理重加密的追溯数据访问控制方法 |
CN111143471A (zh) * | 2019-12-27 | 2020-05-12 | 北京工业大学 | 一种基于区块链的密文检索方法 |
CN111191288A (zh) * | 2019-12-30 | 2020-05-22 | 中电海康集团有限公司 | 一种基于代理重加密的区块链数据访问权限控制方法 |
US20200204557A1 (en) * | 2018-12-19 | 2020-06-25 | International Business Machines Corporation | Decentralized database identity management system |
-
2020
- 2020-07-13 CN CN202010671351.0A patent/CN111914272B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109189727A (zh) * | 2018-09-14 | 2019-01-11 | 江西理工大学 | 一种基于属性代理重加密的区块链密文云存储共享方法 |
US20200204557A1 (en) * | 2018-12-19 | 2020-06-25 | International Business Machines Corporation | Decentralized database identity management system |
US10459990B1 (en) * | 2018-12-27 | 2019-10-29 | Silver Rocket Data Technology (Shanghai) Co., Ltd | Data processing method and device, medium and terminal thereof |
CN110135986A (zh) * | 2019-04-23 | 2019-08-16 | 武汉大学 | 一种基于区块链智能合约实现的可搜索加密文件数据方法 |
CN111008855A (zh) * | 2019-12-10 | 2020-04-14 | 上海中信信息发展股份有限公司 | 一种基于改进代理重加密的追溯数据访问控制方法 |
CN111143471A (zh) * | 2019-12-27 | 2020-05-12 | 北京工业大学 | 一种基于区块链的密文检索方法 |
CN111191288A (zh) * | 2019-12-30 | 2020-05-22 | 中电海康集团有限公司 | 一种基于代理重加密的区块链数据访问权限控制方法 |
Non-Patent Citations (2)
Title |
---|
A. KOSBA等: "Hawk: The Blockchain Model of Cryptography and Privacy-Preserving Smart Contracts.", 《2016 IEEE SYMPOSIUM ON SECURITY AND PRIVACY(SP)》, pages 839 - 858 * |
张小红等: "属性代理重加密的区块链密文云存储共享研究", 《系统仿真学报》, vol. 32, no. 06, pages 1009 - 1020 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112699413A (zh) * | 2021-01-20 | 2021-04-23 | 泉州华中科技大学智能制造研究院 | 一种可保护数据安全的区块链系统及其数据处理方法 |
CN112699413B (zh) * | 2021-01-20 | 2022-07-01 | 泉州华中科技大学智能制造研究院 | 一种可保护数据安全的区块链系统及其数据处理方法 |
CN112905657A (zh) * | 2021-02-01 | 2021-06-04 | 泉州华中科技大学智能制造研究院 | 一种可保护用户隐私的区块链及其数据处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111914272B (zh) | 2024-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Feng et al. | Efficient and secure data sharing for 5G flying drones: A blockchain-enabled approach | |
Samaniego et al. | Zero-trust hierarchical management in IoT | |
CN109829326B (zh) | 基于区块链的跨域认证与公平审计去重云存储系统 | |
WO2019237796A1 (zh) | 资源获取、分发、下载方法、装置、设备及存储介质 | |
CN105247529A (zh) | 在目录服务之间同步凭证散列 | |
CN113364735A (zh) | 多链场景下数据跨链访问控制方法、系统、设备及终端 | |
Marino et al. | Automatic contract negotiation, service discovery and mutual authentication solutions: A survey on the enabling technologies of the forthcoming IoT ecosystems | |
WO2019178942A1 (zh) | 一种进行ssl握手的方法和系统 | |
CN111310225A (zh) | 一种基于区块链的去中心化的隐私数据授权的方法及系统 | |
Murugesan et al. | Analysis on homomorphic technique for data security in fog computing | |
US11588629B2 (en) | Secure, decentralized, automated platform and multi-actors for object identity management through the use of a block chain technology | |
CN112487443A (zh) | 一种基于区块链的能源数据细粒度访问控制方法 | |
Sankar et al. | Security improvement in block chain technique enabled peer to peer network for beyond 5G and internet of things | |
CN111914272B (zh) | 一种移动边缘计算环境下起源数据的加密检索方法与系统 | |
CN113872760A (zh) | 一种sm9秘钥基础设施及安全系统 | |
Li et al. | Secure and temporary access delegation with equality test for cloud-assisted IoV | |
Xu et al. | A certificateless encryption scheme based on blockchain | |
CN115174061A (zh) | 基于区块链中继通信网络系统的消息传输方法及装置 | |
CN114173328B (zh) | 密钥交换方法、装置、电子设备 | |
CN114640473A (zh) | 基于区块链和abac的跨数据中心访问控制方法和系统 | |
Zhang et al. | Cerberus: Privacy-preserving computation in edge computing | |
Babu et al. | Fog‐Sec: Secure end‐to‐end communication in fog‐enabled IoT network using permissioned blockchain system | |
Liao | Design of the secure smart home system based on the blockchain and cloud service | |
WO2023116027A1 (zh) | 安全多方计算中的跨域身份验证方法及服务器 | |
Cheng et al. | Ocean data sharing based on blockchain |
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 |