CN117896066A - 基于双链架构的可验证多用户授权跨域的可搜索加密方法 - Google Patents
基于双链架构的可验证多用户授权跨域的可搜索加密方法 Download PDFInfo
- Publication number
- CN117896066A CN117896066A CN202410303232.8A CN202410303232A CN117896066A CN 117896066 A CN117896066 A CN 117896066A CN 202410303232 A CN202410303232 A CN 202410303232A CN 117896066 A CN117896066 A CN 117896066A
- Authority
- CN
- China
- Prior art keywords
- user
- domain
- search
- search request
- administrator
- 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 39
- 238000013475 authorization Methods 0.000 title claims abstract description 19
- 230000004044 response Effects 0.000 claims abstract description 34
- 230000004083 survival effect Effects 0.000 claims description 21
- 238000012795 verification Methods 0.000 claims description 19
- 238000013500 data storage Methods 0.000 abstract description 2
- 238000007726 management method Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012946 outsourcing Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000001154 acute effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012508 change request Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于双链架构的可验证多用户授权跨域的可搜索加密方法,涉及可搜索加密技术领域,该方法涉及到的节点包括云服务器,***管理员,域管理员,以及不同身份的用户。域管理员在更新数据时指定该数据的搜索权限,使用具有搜索权限的用户的公钥和用自身私钥生成一个共享密钥,使将共享密钥和自身私钥嵌入搜索标签中。使用双链架构中的需求链上的智能合约判定用户搜索请求的合法性,使用域管理员对用户的搜索请求生成授权搜索信息,使用双链架构中的响应链上的智能合约判断授权搜索请求的合法性。本发明保证了多数据域跨域搜索中搜索信息的不可篡改性,为用户的数据存储和数据搜索提供了更高的灵活性。
Description
技术领域
本发明涉及可搜索加密技术领域,具体而言,涉及一种基于双链架构的可验证多用户授权跨域的可搜索加密方法。
背景技术
云,作为外包服务的提供商,为日益增长的用户数据提供了方便的存储服务和更低的存储代价,因此,越来越多的组织和个人选择将自己的数据外包给第三云服务提供商。但是,数据外包也引来了用户对于数据机密性的担忧。为了更好的保护个人数据的隐私安全,同时方便数据查找,相关研究人员提出了可搜索加密技术。
可搜索加密是一种安全计算技术,在不暴露明文数据的前提下,允许用户在很短的时间内对加密的数据中实现对有效的搜索操作。在传统的可搜索加密方案中,用户往往被认为是一个诚实的实体,能诚实的执行搜索操作,但这种假设往往不能满足实际生产生活环境的需要,恶意敌手往往扮演着用户的角色威胁***的数据安全性。因此,用户身份的合法性验证就显得及其重要。用户身份验证是确保***只允许合法用户访问资源和执行操作的过程,通过验证用户身份的合法性,***可以确保只有经过授权的用户才能访问特定的信息和资源,这一措施有助于防止敌手恶意冒充用户身份,降低恶意行为,如入侵,拒绝服务攻击等。于此同时,传统的可搜索加密方案还面临着搜索令牌管理的风险。搜索令牌的管理是指***对于搜索令牌的一系列创建,颁发,验证的过程。通常,搜索令牌含有用户的搜索权限信息,这有助于云服务提供商使用搜索令牌实现细粒度的访问控制。令牌的泄露和滥用将导致用户的数据安全受到严重的威胁。
如今,现有的医疗***或者地质***往往存在着多个数据拥有者,多个数据源的存在使得数据共享和用户跨域搜索的需求愈发剧烈。数据共享和跨域搜索是指在某个域下的用户实体访问和使用其他域的数据内容。为了保护数据的隐私安全,实现细粒度的访问控制,确保只有授权用户才能访问数据,各个实体之间在共享数据前需要对数据进行处理,设置特定的密钥对数据进行加密。但目前,关于多个数据源的跨域搜索的研究还较为稀少,共享数据的密钥信息和访问令牌的管理在跨域搜索中也是一个解决的问题。
区块链因其分布式和不可篡改的特性以及智能合约的内部公平性,逐渐进入研究人员的视线。从本质上说,作为一个分布式数据库,区块链以块的形式维护一个不断扩展数据记录,每个记录中包含了一定的时间范围内的***各个实体的所有交易信息,这些记录列表都被网络中的所有节点记录和验证。针对上述问题,研究如何在区块链上部署一个跨域搜索的可搜索加密方案,实现用户的身份验证和基于用户身份的细粒度访问控制,实现搜索令牌的管理,保障交易结果的可靠性是十分必要的。
发明内容
本发明在于提供一种基于双链架构的可验证多用户授权跨域的可搜索加密***及方法,在保证数据隐私安全以及搜索可靠性的情况下实现多用户场景下用户的授权管理、跨域搜索以及对基于用户身份的细粒度访问控制。
本发明采取的技术方案如下:
一种基于双链架构的可验证多用户授权跨域的可搜索加密方法,该方法涉及到的节点包括云服务器,***管理员,位于域管理员DA,用户组,可搜索加密方法包括初始化阶段,***节点权限控制阶段,数据更新阶段,数据搜索阶段;
初始化阶段包括以下具体步骤:
步骤1:针对目标***,***管理员生成公开参数 ;
进一步地,步骤1中,目标***生成的公开参数 。其中,/> 是***管理员为目标***设置的安全参数; /> 是一个阶为 /> 的乘法循环群, /> 是一个阶为 /> 的乘法循环群; /> 是一个定义在群 /> 和群 /> 上的双线性对, /> ;/> 是***管理员选取的两个大素数; /> 是群 /> 的任意生成元; /> 指***管理员指定的一个标准的哈希函数。
步骤2:针对目标***,***管理员生成***双链架构,包括需求链,响应链,需求链上的智能合约,响应链上的智能合约,并公布云服务器的身份标志符 。
***节点权限控制阶段,具体包括域管理员注册,用户注册和注销,用户权限变更;
其中,域管理员注册阶段具体步骤如下:
步骤3:针对域管理员发送的注册请求,***管理员使用公开参数 生成域管理员的身份标识符 /> ,域管理员的公私钥对 /> ,公开域管理员身份标识符 />,公钥/> ,使用安全信道向域管理员分发私钥 /> 。
进一步地,步骤3中,域管理员公钥 ,私钥 /> 。其中 />是***管理员公布的公开参数PG 中的生成元 , /> 是***管理员从整数域Z中选取的一个随机数;
步骤4:响应链上的智能合约记录域管理员的身份标识符 ,公钥信息 /> ;
其中,用户注册具体步骤如下:
步骤5:针对用户发送的注册请求,***管理员使用公开参数 生成用户的身份标识符 /> ,用户的公私钥对 /> ,公开域管理员身份标识符 /> ,公钥 /> ,使用安全信道向用户分发私钥 /> 。
进一步地,步骤5中,用户公钥 ,私钥 /> 。其中 /> 是***管理员公布的公开参数 /> 中的生成元 /> , /> 是***管理员从整数域Z中选取的一个随机数;
步骤6:需求链上的智能合约记录用户发送注册请求后地身份标识符 ,公钥信息 /> 。
其中,用户注销请求具体步骤如下:
步骤7:针对用户发送的注销请求,***管理员设置用户公钥 为0,公开用户身份标识符 /> ,公钥 /> 。
步骤8:需求链上的智能合约记录用户发送注销请求后的身份标识符 和公钥信息 /> 。
其中,用户权限变更请求具体步骤如下:
步骤9:针对用户发送的搜索权限变更请求,***管理员通知对应的搜索域管理员,域管理员为该用户生成该搜索权限对应的新的搜索标签 。
数据更新阶段:
步骤10:针对域管理员上的数据 ,域管理员生成反向索引数据库 /> 。
进一步地,域管理员生成反向索引数据库 的格式为(关键字 /> ,文档索引 ),这意味着文档索引 /> 对应的文件中含有关键字 /> 。
步骤11:域管理员使用自身私钥 和具有搜索权限的用户公钥 /> 生成共享密钥 /> 。
进一步地,域管理员生成共享密钥 ,其中 /> 是域管理员的私钥 ,/> 是具有搜索权限的用户公钥 /> , /> 是域管理员的身份标识符, /> 是***管理员公布的公开参数 /> 中的双线性对 /> 和哈希函数 /> 。
步骤12:针对其反向索引数据库 中的文档条目 /> ,域管理员使用共享密钥 /> ,自身私钥 /> 生成搜索标签 /> ,发送给云服务器。
进一步地,域管理员生成搜索标签 的具体步骤如下:
步骤12a:域管理员使用***管理员公布的公开参数 中的哈希函数 /> 和文档条目 /> 中的关键字 /> ,计算哈希值 /> ,使用域管理员生成的共享密钥 /> 和从整数域 /> 中随机选取一个随机数 /> ,计算标签 /> ;域管理员使用***管理员公布的公开参数 /> 中的生成元 /> 计算标签 /> ;域管理员使用***管理员公布的公开参数 /> 中的生成元 /> 计算标签 /> ;
数据搜索阶段:
步骤13:用户构造用户搜索请求,发送给需求链上的智能合约。
进一步地,构造用户搜索请求的步骤如下:
步骤13a:用户生成和目标搜索域域管理员共享的密钥 ,其中 />是用户的私钥 /> ,/> 是目标搜索域的域管理员公 /> , /> 是***管理员公布的公开参数 /> 中的双线性对 /> 。
步骤13b:用户使用***管理员公布的公开参数 中的哈希函数 /> 和待搜索的关键字 /> 计算哈希值 /> ,使用用户生成的共享密钥 /> 和从整数域 />中随机选取一个随机数/>,计算搜索令牌 /> ;用户使用***管理员公布的公开参数 /> 中的生成元/> 计算搜索令牌 /> ;用户使用***管理员公布的公开参数 /> 中的哈希函数 ,共享密钥 /> ,令牌 />计算搜索令牌 /> ;
步骤13c:用户构造用户搜索请求,在用户搜索请求中的发送者处填入自身的身份标识符 ,在用户搜索请求中的接收者填入目标搜索域域管理员的身份标识符 /> ,在用户的搜索请求中的存活时间内填入用户能够接受的最晚接收搜索结果的时间 /> ;
步骤13d:用户使用***管理员公布的公开参数 中的哈希函数 /> ,用户搜索请求中发送者的身份标识符 /> ,接收者的身份标识符 /> ,存活时间 /> 计算哈希值。并对此哈希值执行ECDSA签名算法,使用自身私钥 /> 生成签名 /> ,并将此签名填入用户搜索请求中的签名部分。
步骤13e:用户将用户搜索令牌 填入用户搜索请求中的数据域中。
步骤14:针对用户发送的用户搜索请求,需求链上的智能合约判定用户搜索请求的合法性,若判定通过,需求链上的智能合约将用户搜索请求转发给对应搜索域的域管理员。若判定不通过,则需求链上的智能合约丢弃的用户搜索请求。
进一步地,需求链上的智能合约验证用户搜索请求的步骤如下:
步骤14a:需求链上的智能合约首先判断合约接收用户搜索请求的时间是否在搜索请求存活时间内,若判定通过,则需求链上的智能合约执行步骤14b;
步骤14b:需求链上的智能合约利用用户搜索请求中用户的身份标识符 判断需求链上记录的用户公钥信 /> 是否为0,若是,则需求链上的智能合约丢弃该用户的搜索请求,否则,需求链上的智能合约执行步骤14c;
步骤14c:需求链上的智能合约使用哈希函数 ,用户搜索请求中的发送者的身份标识符 /> ,接收者的身份标识符 /> 进行哈希运算后,使用ECDSA签名验证算法验证用户搜索请求中签名的合法性。若验证通过,需求链上的智能合约将用户搜索请求转发给对应搜索域的域管理员;否则,需求链上的智能合约丢弃用户的搜索请求,并向***管理员发送错误报告;
步骤15:目标搜索域域管理员首先生成共享密钥 ,然后判定用户身份的合法性,若判定通过,则域管理员生成授权搜索令牌 /> ,构造授权搜索请求,发送给响应链上的智能合约,若判定不通过,域管理员丢弃授权搜索请求,向***管理员发送错误报告。
进一步地,目标搜索域域管理员生成共享密钥 的步骤如下:
步骤15a:域管理员和用户搜索请求中用户共享的密钥 ,其中/>是域管理员的私钥/> ,/> 用户搜索请求中用户的公钥 /> ,/> 是***管理员公布的公开参数 /> 中的双线性对 /> 。
进一步地,目标搜索域域管理员生成授权搜索令牌的步骤如下:
步骤15b:域管理员使用步骤步骤15a中生成的共享密钥 计,从整数域 /> 中选取的随机数 /> ,***管理员公布的公开参数 /> 中的生成元 /> ,用户搜索请求中的用户搜索令牌用户搜索令牌 /> 计算授权搜索令牌 ;
进一步地,目标搜索域域管理员生成授权搜索请求的步骤如下:
步骤15c:域管理员使用***管理员公布的公开参数 中的哈希函数 /> ,用户搜索请求中发送者的身份标识符 /> ,接收者的身份标识符 /> ,存活时间 /> 计算哈希值。并对此哈希值,使用自身私钥 /> 执行ECDSA签名算法生成签名 /> 。
步骤15d:域管理员修改用户搜索请求,将用户请求中的签名 修改为步骤15c生成的签名 /> ;将用户搜索请求中的数据域中的用户搜索令牌 /> 修改为步骤15b生成的授权搜索令牌 /> ;
步骤16:响应链上的智能合约判定授权搜索请求的合法性,若判定通过,响应链上的智能合约将授权搜索转发给云服务器。若判定不通过,则丢弃授权搜索请求。
进一步地,响应链上的智能合约验证授权搜索请求的步骤如下:
步骤16a:响应链上的智能合约首先判断合约接收授权搜索请求的时间是否在搜索请求存活时间内,若判定通过,则响应链上的智能合约执行步骤16b;
步骤16c:响应链上的智能合约使用哈希函数 ,用户搜索请求中的发送者的身份标识符 /> ,接收者的身份标识符 /> ,存活时间 /> 进行哈希运算后,使用ECDSA签名验证算法验证授权搜索请求中签名的合法性。若验证通过,响应链上的智能合约将授权搜索请求转发给云服务器;否则,响应链上的智能合约丢弃授权搜索请求,并向***管理员发送错误报告;
步骤17:云服务器初始化一个空的结果集合R,云服务器遍历授权搜索请求中接收者,即目标域的所有搜索标签,执行搜索匹配操作,并将搜索后的结果返回给授权搜索请求中的发送者。
进一步地,云服务器执行授权搜索请求的步骤如下:
步骤17a:云服务器遍历授权搜索请求中目标搜索域的所有数据标签条目 ,其中 /> 。
步骤17b:云服务器使用授权搜索请求中的授权搜索令牌 和数据标签条谬中的 /> 计算目标值1和目标值2。若目标值1和目标值2相等,则云服务器该加密标签中对应的文档索引ind放入结果集合R中。
其中,
。
步骤17c:根据授权搜索请求中的发送者的身份标识符 ,云服务器向发送搜索请求的用户返回结果集合 /> 。
在本发明的一较佳实施方式中,域管理员和用户的密钥对是由***管理员拟定***公开参数 后,根据***公开参数 /> 计算得到。
在本发明的一较佳实施方式中,需求链上的智能合约记录的用户信息包括用户的身份标识符、公钥信息,用户搜索请求;响应链上记录的用户信息包括域管理员的身份标识符、公钥信息,域管理员授权搜索请求。
在本发明的一较佳实施方式中,需求链和响应链均为联盟链。
在本发明的一较佳实施方式中,***管理员在审批了各个域管理员和用户的注册请求后,公开分发各个域管理员和用户的身份标识符,通过安全信道分发各个域管理员和用户的私钥。
在本发明的一较佳实施方式中,***管理员在审批了某个用户的注销请求后,将该用户的公钥设置为0,标识该用户已经被注销,同时公开该用户的身份标识符和公钥。
在本发明的一较佳实施方式中,用户搜索请求和域管理授权搜索请求中,签名使用发送者,接收者,存活时间和***公开参数PG中的哈希函数得到哈希值并使用ECDSA算法进行签名。
在本发明的一较佳实施方式中,域管理员使用自身私钥 ,具有搜索权限的用户的公钥 /> ,自身身份标识符 /> ,***公开参数PG计算共享密钥 。
在本发明的一较佳实施方式中,具有搜索权限的用户使用自身的私钥 ,目标搜索域域管理员的公钥 /> ,目标搜索域域管理员的身份标识符 /> ,***公开参数PG计算共享密钥 /> 。
在本发明的一较佳实施方式中,对于同一个用户来说,域管理员使用自身私钥 ,具有搜索权限的用户的公钥 /> ,自身身份标识符 /> ,***公开参数PG计算共享密钥 />,和用户使用自身的私钥 /> ,目标搜索域域管理员的公钥 /> ,目标搜索域域管理员的身份标识符 /> ,***公开参数PG计算共享密钥 /> 的值是相同的。
在本发明的一较佳实施方式中,域管理员使用具有搜索权限的用户的公钥生成的共享密钥,自身的私钥/>,反向索引数据库中的文档条目/>,针对每一个文档条目生成的随机数/>,***公开参数PG生成搜索标签 />,保证只有拥有此共享密钥 /> 和具有使用域管理员私钥 /> 生成的授权搜索请求的实体才能和搜索标签进行匹配。
在本发明的一较佳实施方式中,用户使用和目标搜索域的共享密钥 生成搜索令牌 /> ,保证域管理员使用共享密钥 />进行身份验证,其中,/>、/>和/>均为令牌。。
在本发明的一较佳实施方式中,域管理员使用用户搜索令牌和自身私钥生成授权
搜索令牌:
,保证只有授权搜索令牌才能和搜索标签相匹配。
与现有技术相比,本发明的有益效果是:
使用传统的公钥加密技术实现不同身份的用户在不同域上的数据搜索操作,确保了用户存放数据的隐私安全;
使用智能合约以及域管理员和用户的共享密钥实现用户身份的两重验证操作,使用区块链的公开记录的相关搜索信息,文件验证信息,以及智能合约的内在公平性,来保证用户搜索行为和云服务器搜索行为的合法性、有效性;
使用双链架构管理多数据域,为用户的数据存储和数据搜索提供了更高的灵活性。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举本发明实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例中基于双链架构的可验证多用户授权跨域的可搜索加密***总体框架图;
图2为本发明实施例中基于双链架构的用户搜索请求和授权搜索请求的格式图;
图3为本发明实施例中基于双链架构的域管理员注册协议和用户注册协议流程图;
图4为本发明实施例中基于双链架构的用户注销协议和用户搜索权限变更协议流程图;
图5为本发明实施例中基于双链架构的数据更新协议和数据搜索协议流程图;
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
结合图1、图2和图5所示,本发明实施例提供了一种基于双链架构的可验证多用户授权跨域的可搜索加密方法,该方法涉及到的节点包括云服务器,***管理员,域管理员,用户组,以及上述实体参与的具有双链架构的目标***,可搜索加密方法包括初始化阶段,***节点权限控制阶段,数据更新阶段,数据搜索阶段,下面对各阶段进行详细介绍。
1、初始化阶段:
1)针对目标***,***管理员拟定公开参数PG,云服务器的身份标志符 。
公共参数 ;
其中, 是***管理员为目标***设置的安全参数; /> 是一个阶为 /> 的乘法循环群, /> 是一个阶为 /> 的乘法循环群; /> 是一个定义在群 /> 和群 /> 上的双线性对, ; /> 是***管理员选取的两个大素数; /> 是群/> 的任意生成元;/> 指***管理员指定的一个标准的哈希函数。
2)***管理员部署具有双链架构的目标***,包括需求链,响应链,需求链上的智能合约,响应链上的智能合约。
2、***节点权限控制阶段:
其中,***节点权限控制阶段包括域管理员注册阶段,用户注册阶段,用户注销阶段,用户搜索权限变更阶段,域管理员注册协议和用户注册协议流程如图3所示,用户注销协议和用户搜索权限变更协议流程如图4所示。
进一步地,域管理员注册阶段介绍如下:
1)域管理员发送注册请求,***管理员使用公开参数 生成域管理员的身份标识符 /> ,域管理员的公私钥对 /> ,公开域管理员身份标识符 /> ,公钥 /> ,使用安全信道向域管理员分发私钥 /> 。
其中,其中 是***管理员公布的公开参数 /> 中的生成元 /> , /> 是***管理员从整数域Z中选取的一个随机数。
2)响应链上的智能合约记录域管理员的身份标识符 ,公钥信息 /> 。
进一步地,用户注册阶段介绍如下:
3)用户发送注册请求,***管理员使用公开参数 生成用户的身份标识符 />,用户的公私钥对 /> ;***管理员公开域管理员身份标识符 /> ,公钥 ,使用安全信道向用户分发私钥 /> 。
其中, 是***管理员公布的公开参数 /> 中的生成元 /> ,/> 是***管理员从整数域Z中选取的一个随机数。
4)需求链上的智能合约记录用户发送注册请求后地身份标识符 ,公钥信息 。
进一步地,用户注销阶段介绍如下:
5)用户发送注销请求,***管理员设置用户公钥 为0,公开用户身份标识符 ,公钥 /> 。
6)需求链上的智能合约记录用户身份标识符 ,公钥信息 /> 。
进一步地,用户权限变更阶段介绍如下:
7)用户向***管理员发送搜索权限变更请求,***管理员通知对应的搜索域管理员,域管理员为该用户生成该搜索权限对应的新的搜索标签 。
3、数据更新阶段:
1)域管理员为本域数据 生成反向索引数据库 /> ,其中,被处理后地反向索引数据库 /> 由(关键字 /> ,文档索引 /> )这些文档条目组成。
2)域管理员生成共享密钥 。
其中,中 是域管理员的私钥 /> ,/> 是具有搜索权限的用户公钥 /> ,/> 是***管理员公布的公开参数 /> 中的双线性对 /> 。
3)域管理员使用反向索引数据库 计算搜索标签 ;
其中, 是域管理员从整数域 /> 中选取的一个随机数; /> 是域管理员秘密保存的私钥 /> , /> 是域管理员生成的共享密钥, /> ***管理员公布的公开参数 /> 中的哈希函数和生成元;
4)域管理员将搜索标签
发送给云服务器;
4、数据搜索阶段:
1)用户选择目标搜索域,计算和目标搜索域域管理员共享的密钥 。
其中 是用户的私钥 /> ,/> 是目标搜索域的域管理员公 /> ,/> 是***管理员公布的公开参数 /> 中的双线性对 /> 。
2)用户从整数域 中随机选取一个随机数 /> ,使用待搜索关键字 /> , ***管理员公布的公开参数 /> 中的哈希函数 /> ,生成元 /> ,用户计算得到的共享密钥 />,计算用户搜索令牌
。
3)用户指定用户搜索请求的存活时间 ,指定发送者为自身身份标识符 /> ,指定接收者为目标搜索域域管理员的身份标识符 /> 。
4)用户计算使用***管理员公布的公开参数 中的哈希函数 /> ,用户搜索请求中发送者的身份标识符 /> ,接收者的身份标识符 /> ,存活时间 /> 计算哈希值,并使用ECDSA算法,使用自身私钥 /> 和需求链上地址对此哈希值得到签名 /> 。
5)用户构造用户搜索请求,填入发送者 ,接收者 /> ,存活时间 /> ,用户签名 /> ,用户搜索令牌 /> 。
6)用户将搜索请求发送到需求链上的智能合约。
7)需求链上的智能合约首先判断合约接收用户搜索请求的时间是否在搜索请求存活时间内,若判定不通过,则需求链上的智能合约丢弃该用户的搜索请求;若判定通过,需求链上的智能合约利用用户搜索请求中发送者的身份标识符 判断需求链上记录的用户公钥 /> 是否为0,若是,则需求链上的智能合约丢弃该用户的搜索请求,否则,需求链上的智能合约使用哈希函数 /> ,用户搜索请求中的发送者的身份标识符 /> ,接收者的身份标识符 /> ,存活时间 /> 计算哈希值,对得到的哈希值和需求链上的用户地址信息以及用户公钥信息使用ECDSA签名验证算法验证用户搜索请求中签名的合法性;若验证通过,需求链上的智能合约向目标搜索域转发用户搜索请求。
8)目标搜索域域管理员计算共享密钥 。
其中 是域管理员的私钥 /> ,/> 用户搜索请求中用户的公钥 /> , /> 是***管理员公布的公开参数 /> 中的双线性对 /> 。
9)目标搜索域域管理员使用统管理员公布的公开参数 中的哈希函数 /> ,用户搜索请求中搜索令牌 /> 计算哈希值 /> ,并和搜索令牌 /> 相比较,若两者的值相等,则说明该用户是一个合法的用户;否则,域管理员丢弃该用户的搜索请求,并向***管理员发送错误报告。
10)目标搜索域域管理员从整数域 中随机选取一个随机数 /> ,使用***管理员公布的公开参数 /> 中的哈希函数 /> ,生成元 /> ,自身私钥 /> ,用户搜索请求中搜索令牌/> ,计算授权搜索令牌
。
11)目标搜索域域管理员使用搜索请求中发送者的身份标识符 ,接收者的身份标识符 /> ,存活时间 /> 以及***管理员公布的公开参数 /> 中的哈希函数 /> ,使用自身私钥 /> 和需求链上地址对此哈希值得到签名 /> 。
12)目标搜索域域管理构造授权搜索请求,填入发送者 ,接收者 /> ,存活时间/> ,域管理员签名/> ,用户搜索令牌 /> 。
13)域管理员将授权搜索请求发送到响应链上的智能合约。
14)响应链上的智能合约首先判断合约接收授权搜索请求的时间是否在搜索请求存活时间 内,若判定不通过,则响应链上的智能合约丢弃该授权搜索请求;若判定通过,响应链上的智能合约使用哈希函数 /> ,授权搜索请求中的发送者的身份标识符 /> ,接收者的身份标识符 /> ,存活时间 /> 计算哈希值,对得到的哈希值和响应链上的域管理员地址信息以及域管理员公钥信息,使用ECDSA签名验证算法授权用户搜索请求中签名的合法性;若验证通过,响应链上的智能合约向云服务器转发授权搜索请求。
15)云服务器初始化一个空的结果集合 ,遍历目标域上的加密标签 ,使用授权搜索请求中的授权搜索令牌 /> 计算
。
16)云服务器判断目标值1和目标值2是否相等,若相等,则云服务器将标签中的文档索引值放入结果集合 中。
17)云服务器将结果集合 返回给搜索用户。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于双链架构的可验证多用户授权跨域的可搜索加密方法,该方法涉及到的节点包括云服务器,***管理员,域管理员,以及不同身份的用户,其特征在于,该方法包括以下步骤:
步骤1:针对目标***,***管理员生成公开参数;
步骤2:针对目标***,***管理员生成***双链架构,包括需求链,响应链,需求链上的智能合约,响应链上的智能合约,并公布云服务器的身份标志符;
步骤3:针对域管理员发送的注册请求,***管理员使用公开参数生成域管理员的身份标识符/>,域管理员的公私钥对/>,公开域管理员身份标识符/>,公钥/>,使用安全信道向域管理员分发私钥/>;
步骤4:响应链上的智能合约记录域管理员的身份标识符,公钥/>;
步骤5:针对用户发送的注册请求,***管理员使用公开参数生成用户的身份标识符,用户的公私钥对/>,公开域管理员身份标识符/>,公钥/>,使用安全信道向用户分发私钥/>;
步骤6:需求链上的智能合约记录用户发送注册请求后地身份标识符,公钥/>;
步骤7:针对用户发送的注销请求,***管理员设置用户公钥为0,公开用户身份标识符/>,公钥/>;
步骤8:针对用户发送的搜索权限变更请求,***管理员通知对应的搜索域管理员,域管理员为该用户生成该搜索权限对应的搜索标签;
步骤9:需求链上的智能合约记录用户的身份标识符和公钥信息/>;
步骤10:针对域管理员上的数据,域管理员生成反向索引数据库/>,其中,反向索引数据库/>的组成结构为(关键字/>,文档索引/>);
步骤11:域管理员基于自身私钥和具有搜索权限的用户公钥/>生成共享密钥/>;
步骤12:针对反向索引数据库中的文档条目(关键字/>,文档索引/>),域管理员使用共享密钥/>,自身私钥/>生成搜索标签/>,发送给云服务器;
步骤13:用户构造用户搜索请求,发送给需求链上的智能合约;
步骤14:针对用户发送的用户搜索请求,需求链上的智能合约判定用户搜索请求的合法性,若判定通过,需求链上的智能合约将用户搜索请求转发给对应搜索域的域管理员,若判定不通过,则需求链上的智能合约丢弃的用户搜索请求;
步骤15:目标搜索域域管理员首先使用域管理员计算得到的共享密钥判定用户身份的合法性,若判定通过,则域管理员生成授权搜索请求,发送给响应链上的智能合约,若判定不通过,域管理员丢弃授权搜索请求,向***管理员发送错误报告;
步骤16:针对域管理员发送的授权搜索请求,响应链上的智能合约判定授权搜索请求的合法性,若判定通过,响应链上的智能合约将授权搜索转发给云服务器,若判定不通过,则丢弃授权搜索请求;
步骤17:针对域管理员发送的授权搜索请求,云服务器执行搜索匹配操作,并将搜索后的结果返回给授权搜索请求中的发送者。
2.根据权利要求1所述基于双链架构的可验证多用户授权跨域的可搜索加密方法,其特征在于,步骤1中,公开参数,其中,/>指***管理员为目标***设置的安全参数;/>是一个阶为/>的乘法循环群,/>是一个阶为/>的乘法循环群;/>是一个定义在群/>和群/>上的双线性对,/>;/>是***管理员选取的两个大素数;/>是群/>的任意生成元;/>指***管理员指定的一个标准的哈希函数;
步骤3中,域管理员的公私钥对,其中,/>是***管理员从整数域Z中选取的一个随机数;
步骤5中,用户的公私钥对,其中,/>是***管理员从整数域Z中选取的一个随机数;
步骤11中,域管理员共享密钥由域管理员的私钥/> ,具有搜索权限的用户的公钥和域管理员的身份标识符/>计算得到,共享密钥/>。
3.根据权利要求2所述基于双链架构的可验证多用户授权跨域的可搜索加密方法,其特征在于,步骤12中,搜索标签的生成方法包括:
步骤12a:域管理员使用公开参数中的哈希函数H,计算文档条目(关键字/>,文档索引)中的关键字/>和哈希值/>;
步骤12b:域管理员从整数域中随机选取一个整数,使用共享密钥/>,自身私钥/>和公开参数/>中的生成元/>计算搜索标签:
其中,、/>和/>均为标签。
4.根据权利要求3所述基于双链架构的可验证多用户授权跨域的可搜索加密方法,其特征在于,步骤13中,用户搜索请求包括发送者、接收者、存活时间、签名、数据域和用户的搜索令牌;
发送者为发送搜索请求的用户身份标识符;接收者为目标搜索域中域管理员的身份标识符/>;存活时间为用户搜索请求执行的最晚的时间/>;签名为用户根据发送者、接收者、存活时间、***管理员发布的参数PG中的哈希函数/>和自身的私钥/>,使用ECDSA签名算法得到的签名值/>。
5.根据权利要求4所述基于双链架构的可验证多用户授权跨域的可搜索加密方法,其特征在于,用户的搜索令牌的生成方法包括:
步骤13a:用户使用自身私钥,待搜索目标域域管理员的公钥/>,待搜索目标域域管理员的身份标识符/>,公开参数/>中的哈希函数/>和双线性对/>计算共享密钥;
步骤13b:用户使用共享密钥K,随机数,公开参数/>中的生成元/>和哈希函数/>,待搜索关键字/>计算用户的搜索令牌:
其中,、/>和/>均为令牌。
6.根据权利要求5所述基于双链架构的可验证多用户授权跨域的可搜索加密方法,其特征在于,步骤14中,需求链上的智能合约判定用户搜索请求的合法性的方法包括:
步骤14a:需求链上的智能合约首先判定用户搜索请求是否在用户搜索请求存活时间内,若是,则执行步骤14b,否则丢弃用户搜索请求;
步骤14b:需求链上的智能合约判定用户搜索请求中的用户公钥是否为0,若是,则丢弃该用户搜索请求,否则,执行步骤14c;
步骤14c:需求链上的智能合约使用公开参数中的哈希函数/>,对用户搜索请求中的发送者的身份标识符,接收者的身份标识符,存活时间进行哈希运算,之后使用ECDSA签名验证算法和用户搜索请求中发送者所对应的公钥,验证用户搜索请求中签名的合法性;若签名验证通过,则需求链上的智能合约将用户搜索请求转发给用户搜索请求的接收者,若判定不通过,需求链上的智能合约向***管理员报告相关错误信息,并丢弃用户搜索请求。
7.根据权利要求6所述基于双链架构的可验证多用户授权跨域的可搜索加密方法,其特征在于,步骤15中,域管理员判定用户搜索请求中用户身份合法性和生成共享密钥K的具体步骤如下:
步骤15a:域管理员使用自身私钥,搜索请求中用户的公钥/>,自身身份标识符,公开参数/>中的哈希函数/>和双线性对/>,计算共享密钥/>;
步骤15b:域管理员使用自身计算的共享密钥K,***管理员发布的公开参数中哈希函数/>和用户搜索令牌中的/>,计算哈希值/>,若该哈希值和用户搜索请求中搜索令牌/>相等,则说明该用户是一个合法的用户,否则不合法。
8.根据权利要求7所述基于双链架构的可验证多用户授权跨域的可搜索加密方法,其特征在于,步骤15中,域管理员生成授权搜索请求的方法包括:
步骤15c:域管理员使用自身私钥,从整数域中选取的随机数/>,公钥参数/>中的生成元/>和用户搜索请求中的搜索令牌/>,生成授权搜索令牌:
;
步骤15d:域管理员使用ECDSA算法对用户搜索请求中发送者的身份标识符,接收者的身份标识符,存活时间,以及自身的私钥进进行签名得到签名值/>;
步骤15e:域管理员使用用户搜索请求中的发送者的身份标识符,用户搜索请求中接收者的身份标识符,用户搜索请求中的存活时间,目标搜索域域管理员的身份标识符,以及自身生成的授权搜索令牌,签名/>生成授权搜索请求。
9.根据权利要求8所述基于双链架构的可验证多用户授权跨域的可搜索加密方法,其特征在于,步骤16中,响应链上的智能合约验证授权搜索请求合法性的具体步骤如下:
步骤16a:响应链上的智能合约首先判定授权搜索请求是否在用户搜索请求存活时间内,若是,则执行步骤16b,否则丢弃授权搜索请求;
步骤16b:响应链上的智能合约使用公开参数中的哈希函数/>对授权搜索请求中的发送者的身份标识符,接收者的身份标识符,存活时间进行哈希运算,之后使用ECDSA签名验证算法和授权搜索请求中接收者所对应的公钥,验证用授权搜索请求中签名的合法性;若签名验证通过,则响应上智能合约将授权搜索请求转发给云服务器,若判定不通过,需求链上的智能合约向***管理员报告相关错误信息,并丢弃授权搜索请求。
10.根据权利要求9所述基于双链架构的可验证多用户授权跨域的可搜索加密方法,其特征在于,步骤17中,云服务器执行搜索匹配的具体操作包括:
云服务器初始化一个空的结果集合R,遍历授权搜索请求中接收者中目标搜索域的所有加密标签,即/>,使用授权搜索令牌/>和公开参数/>中的双线性对/>,计算目标值1和目标值2;若目标值1和目标值2相等,则云服务器将该加密标签中对应的文档索引ind放入结果集合R中;
其中,
。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410303232.8A CN117896066B (zh) | 2024-03-18 | 2024-03-18 | 基于双链架构的可验证多用户授权跨域的可搜索加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410303232.8A CN117896066B (zh) | 2024-03-18 | 2024-03-18 | 基于双链架构的可验证多用户授权跨域的可搜索加密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117896066A true CN117896066A (zh) | 2024-04-16 |
CN117896066B CN117896066B (zh) | 2024-05-28 |
Family
ID=90641675
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410303232.8A Active CN117896066B (zh) | 2024-03-18 | 2024-03-18 | 基于双链架构的可验证多用户授权跨域的可搜索加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117896066B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180349617A1 (en) * | 2017-06-06 | 2018-12-06 | City University Of Hong Kong | Electronic storage system and a method of data management |
CN110474893A (zh) * | 2019-07-30 | 2019-11-19 | 同济大学 | 一种异构跨信任域密态数据安全分享方法及*** |
CN113067857A (zh) * | 2021-03-15 | 2021-07-02 | 新疆大学 | 一种基于双链结构的电子病历跨院共享方法 |
CN115174126A (zh) * | 2022-09-08 | 2022-10-11 | 山东省计算中心(国家超级计算济南中心) | 基于区块链和sgx的外包数据密文搜索方法及*** |
CN115603934A (zh) * | 2022-05-06 | 2023-01-13 | 中国人民解放军国防科技大学(Cn) | 基于区块链的多用户可搜索加密方法和装置 |
CN116579001A (zh) * | 2023-04-07 | 2023-08-11 | 北京航空航天大学 | 一种基于区块链的多关键字可搜索加密方法 |
CN117592101A (zh) * | 2023-11-20 | 2024-02-23 | 南京邮电大学 | 基于新型区块链结构的医疗数据细粒度安全共享方法 |
-
2024
- 2024-03-18 CN CN202410303232.8A patent/CN117896066B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180349617A1 (en) * | 2017-06-06 | 2018-12-06 | City University Of Hong Kong | Electronic storage system and a method of data management |
CN110474893A (zh) * | 2019-07-30 | 2019-11-19 | 同济大学 | 一种异构跨信任域密态数据安全分享方法及*** |
CN113067857A (zh) * | 2021-03-15 | 2021-07-02 | 新疆大学 | 一种基于双链结构的电子病历跨院共享方法 |
CN115603934A (zh) * | 2022-05-06 | 2023-01-13 | 中国人民解放军国防科技大学(Cn) | 基于区块链的多用户可搜索加密方法和装置 |
CN115174126A (zh) * | 2022-09-08 | 2022-10-11 | 山东省计算中心(国家超级计算济南中心) | 基于区块链和sgx的外包数据密文搜索方法及*** |
CN116579001A (zh) * | 2023-04-07 | 2023-08-11 | 北京航空航天大学 | 一种基于区块链的多关键字可搜索加密方法 |
CN117592101A (zh) * | 2023-11-20 | 2024-02-23 | 南京邮电大学 | 基于新型区块链结构的医疗数据细粒度安全共享方法 |
Non-Patent Citations (3)
Title |
---|
RANG ZHOU等: "Device-Oriented Keyword-Searchable Encryption Scheme for Cloud-Assisted Industrial IoT", 《IEEE INTERNET OF THINGS JOURNAL》, 2 November 2021 (2021-11-02) * |
SHURAN WANG等: "MagikCube: Securing Cross-Domain Publish/Subscribe Systems with Enclave", 《2021 IEEE 20TH INTERNATIONAL CONFERENCE ON TRUST, SECURITY AND PRIVACY IN COMPUTING AND COMMUNICATIONS》, 9 March 2022 (2022-03-09) * |
周让等: "支持多用户场景的区块链可搜索加密新方案", 《 密码学报》, 15 October 2023 (2023-10-15) * |
Also Published As
Publication number | Publication date |
---|---|
CN117896066B (zh) | 2024-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Eskandarian et al. | Express: Lowering the cost of metadata-hiding communication with cryptographic privacy | |
Luo et al. | Proving your location without giving up your privacy | |
JP4463979B2 (ja) | 暗号方式でカムフラージュされた暗号方式キーをストアし証明し使用する装置および方法 | |
KR100807926B1 (ko) | 암호 키 생성의 효율적인 관리 | |
CN109922039A (zh) | 一种基于区块链技术的半中心化的身份管理方法 | |
RU2512139C2 (ru) | Способ и устройство для генерации и аутентификации псевдонима | |
CN105262843A (zh) | 一种针对云存储环境的数据防泄漏保护方法 | |
CN114826703B (zh) | 基于区块链的数据搜索细粒度访问控制方法及*** | |
US20190141048A1 (en) | Blockchain identification system | |
Cissée et al. | An agent-based approach for privacy-preserving recommender systems | |
CN108632385B (zh) | 基于时间序列的多叉树数据索引结构云存储隐私保护方法 | |
RuWei et al. | Study of privacy-preserving framework for cloud storage | |
CN109829333A (zh) | 一种基于OpenID的关键信息保护方法及*** | |
Jiang et al. | FVC-dedup: A secure report deduplication scheme in a fog-assisted vehicular crowdsensing system | |
Guo et al. | Using blockchain to control access to cloud data | |
WO2022242572A1 (zh) | 一种个人数字身份管理***与方法 | |
CN106657002A (zh) | 一种新型防撞库关联时间多密码的身份认证方法 | |
Kulynych et al. | Claimchain: Improving the security and privacy of in-band key distribution for messaging | |
Pussewalage et al. | An anonymous delegatable attribute-based credential scheme for a collaborative e-health environment | |
Yan et al. | Traceable and weighted attribute-based encryption scheme in the cloud environment | |
CN110572392A (zh) | 一种基于Hyperledger网络的身份认证方法 | |
CN110012024A (zh) | 一种数据共享方法、***、设备及计算机可读存储介质 | |
CN117240452A (zh) | 一种基于区块链的高原数据安全共享方法 | |
Rukavitsyn et al. | The method of ensuring confidentiality and integrity data in cloud computing | |
Lashkami et al. | A blockchain based framework for complete secure data outsourcing with malicious behavior prevention |
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 |