区块链加密检索方法技术

技术编号:15392030 阅读:65 留言:0更新日期:2017-05-19 05:04
区块链加密检索方法,有权查询的用户设置一个检索码,将需要检索的要素和检索码串联,并做哈希运算,将哈希运算的结果作为key,value里放需要查询的内容,用对称密钥加密,对称密钥用有权限用户的公钥加密,查询时,用户有上述方法算出key,可查到value。key和value作为交易内容算出哈希值hash上传到区块链。

Block chaining encryption retrieval scheme

Block chain encryption retrieval schemes, have the right to query the user to set a retrieval code will need to search and retrieve elements series codes, and hash operations, will hash as a result of key, value on the need to query the content encrypted with a symmetric key and symmetric key with the user access the public key encryption, query when the user has the above method to calculate the key, can be found in value. Key and value as transaction content calculated hash value hash upload to the block chain.

【技术实现步骤摘要】
区块链加密检索方案
本专利技术涉及区块链上的隐私保护及加密状态下的检索。
技术介绍
目前大多数区块链用零知识证明或同态加密效率不高,需要一种高效的在加密情况下的检索方式。
技术实现思路
本专利技术的目的是设计一种方案能够使区块链上的数据在加密的情况下可以被迅速的检索。本方案使只有知道检索码的用户才能检索相关数据,并且可以分级管理。本专利技术所采用的技术方案是:区块链加密检索方案,其特征在于,用户甲需要在区块链上存数据,包括检索的关键字和内容,用户设置一个检索码c_i,用于用户甲自己查看,或授权给乙用户查看,步骤如下;步骤S1,将需要检索的关键字和检索码c_i串联,并做哈希运算,算出哈希值hash_c_i,把与关键字对应的内容value用对称密钥加密,计算内容的哈希值Hash(内容),用甲公钥加密对称密钥,用乙公钥加密对称密钥;步骤S2,将步骤S1获得的所有数据进行哈希运算,得出交易哈希值Hash_c_i,一同写入区块链;步骤S3,区块链上的数据下载解析分离出key_c_i和value_c_i后存入数据库;步骤S4,甲或乙知道检索码c_i,需要检索某关键字,计算出关键字加检索码c_i的哈希值key_c_i;步骤S5,在数据库中用key_c_i检索出value_c_i,将两者串联哈希后,得出交易哈希值hash_c_i,可在区块链上找到对应的Tx_c_i,找到key_c_i和value_c_i,可验证数据是否在区块链上;步骤S6,甲或乙用自己的私钥可以解开各自公钥加密的对称密钥,用对称密钥解密加密的内容,内容进行哈希后和区块链上的Hash(内容)对比是否一致;步骤S7,若想告诉其他用户,可以告诉交易哈希值hash_c_i、内容、Hash(内容),其他用户可以在区块链上直接校验内容是否是甲保存到区块链上的。根据权利要求1所述区块链加密检索方案,其特征在于,用户可以分小组,管理一小组用户的小组长可以知道其下管理的所有用户的检索码,小组长可以检索到全小组的所有数据,多个小组还可以组成大组,每个大组长可以知道其下所有小组用户的检索码。根据权利要求1、2所述区块链加密检索方案,其特征在于,用户的检索码用小组长的公钥加密,用大组长的公钥加密,存于value中,key用小组长的检索码与用户的特征值如证件号串联哈希后获得的hash值表示,这里大组长因为知道小组长的检索码,所以也能算出key,获得value里的数据。根据权利要求1所述区块链加密检索方案,其特征在于,用户的检索码可以由小组长的检索码加用户特征值串联哈希运算后得出的哈希值hash_id来代替,用户的特征值id可以是用户自己知道并不会忘记的一些信息,小组长告知用户检索码hash_id,用户可以用检索码hash_id查询自己的数据。附图说明图1是区块链上加密检索方案原理的说明图;图2是区块链航空意外险的加密检索方案的说明图;具体实施方式实施例1,参照说明书附图1,本例说明区块链上加密检索方案的实现原理;用户甲需要在区块链上存数据,包括检索的关键字和内容,用户设置一个检索码c_i,用于用户甲自己查看,或授权给乙用户查看,步骤如下;步骤S1,将需要检索的关键字和检索码c_i串联,并做哈希运算,算出哈希值hash_c_i,把与关键字对应的内容value用对称密钥加密,计算内容的哈希值Hash(内容),用甲公钥加密对称密钥,用乙公钥加密对称密钥;步骤S2,将步骤S1获得的所有数据进行哈希运算,得出交易哈希值Hash_c_i,一同写入区块链;步骤S3,区块链上的数据下载解析分离出key_c_i和value_c_i后存入数据库;步骤S4,甲或乙知道检索码c_i,需要检索某关键字,计算出关键字加检索码c_i的哈希值key_c_i;步骤S5,在数据库中用key_c_i检索出value_c_i,将两者串联哈希后,得出交易哈希值hash_c_i,可在区块链上找到对应的Tx_c_i,找到key_c_i和value_c_i,可验证数据是否在区块链上;步骤S6,甲或乙用自己的私钥可以解开各自公钥加密的对称密钥,用对称密钥解密加密的内容,内容进行哈希后和区块链上的Hash(内容)对比是否一致;步骤S7,若想告诉其他用户,可以告诉交易哈希值hash_c_i、内容、Hash(内容),其他用户可以在区块链上直接校验内容是否是甲保存到区块链上的。实施例2,参照说明书附图2,本例说明保险保单在区块链上的加密检索方案;监管部门、承保公司、代理公司、乘客是分级权限管理,监管部分可以看所有的数据,承保公司可以看自己下属的代理公司及乘客的信息,代理公司可以查询下属乘客的信息,乘客只能看自己的信息,代理公司的客服若不知道乘客的信息也不能查询乘客的信息;根据信息查询要求进行加密,承保企业或代理公司将信息加密后,在经私钥签名后上传,在区块链和数据库中建立加密索引。监管方,10家承保公司拥有不对称公私钥,用于加密的检索码,私钥和检索码各自保密保管。每家承保公司的代理公司都有公私钥及检索码,检索码的哈希值用作加密对比检索。每个代理公司将自己的检索码和用户的特征值ID号串联哈希后,生成用户的检索码,监管部门、承保公司、代理公司都可以获取下属相应乘客的检索码,可以检索到加密的用户信息,乘客可以向代理公司索要自己的检索码,用自己的检索码查询相应的信息,并可校验真实性。以下是信息录入和查询的方案;1、录入航班号,可由监管部分审批后提交,value里可保存参加承保的公司Key_ab1234=Hash(航班号ab1234)Value用监管公钥或承保公司加密对称密钥,密钥加密承保及代理公司名称及检索码的hash值。如果每日检索码都一致,下面第3项可以不需要。2、录入每天的航班号Key_ab1234_20161212=Hash(ab1234航班号+日期20161212)Value用监管或承保公钥加密对称密钥,密钥加密承保及代理的几家公司名称及检索码的hash值,若需要可每天用不同的检索码,保密性更好,也可以设置一段时间内有效。3、每日各航班的购买保险的乘客及保单号,承保公司、代理公司和监管可查Key_ab1234_20161212_za=Hash(ab1234航班号+日期20161212+众安保险代理检索码的hash+第几个乘客)Value姓名+身份证+保单号对称密钥加密后保存,用众安和监管的公钥加密密钥,一同保存。4、用乘客作为索引记录保单号,承保公司、代理公司和监管可查。Key_Name_ID_za=Hash(姓名+身份证+年(2016或加12月)+保险代理公司的检索码),这个Key可重复,但保单号不能重复。Value保单号购买时间,对称密钥加密后保存,用承保公司和代理公司和监管的公钥加密密钥,一同保存。这里可以查询某乘客在莫保险代理下的2016年某月的所有保单,key可以相同,但是保单号一定不同。5、由代理公司帮乘客查询,代理公司用自己的检索码加上乘客的信息,如乘客姓名、证件名称、证件号码串联后进行哈希运算得出哈希值作为乘客的检索码。Hash(乘客检索码+2016年+当年第几个保单),由代理公司提供,承保公司上传,给乘客设的检索码,用于校验数据是否在区块链上,仅相关的代理公司、承保公司、监管、乘客本人知道。算出Hash作为查询的Ke本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/201611269078.html" title="区块链加密检索方法原文来自X技术">区块链加密检索方法</a>

【技术保护点】
区块链加密检索方案,其特征在于,用户甲需要在区块链上存数据,包括检索的关键字和内容,用户设置一个检索码c_i,用于用户甲自己查看,或授权给乙用户查看,步骤如下;步骤S1,将需要检索的关键字和检索码c_i串联,并做哈希运算,算出哈希值hash_c_i,把与关键字对应的内容value用对称密钥加密,计算内容的哈希值Hash(内容),用甲公钥加密对称密钥,用乙公钥加密对称密钥;步骤S2,将步骤S1获得的所有数据进行哈希运算,得出交易哈希值Hash_c_i,一同写入区块链;步骤S3,区块链上的数据下载解析分离出key_c_i和value_c_i后存入数据库;步骤S4,甲或乙知道检索码c_i,需要检索某关键字,计算出关键字加检索码c_i的哈希值key_c_i;步骤S5,在数据库中用key_c_i检索出value_c_i,将两者串联哈希后,得出交易哈希值hash_c_i,可在区块链上找到对应的Tx_c_i,找到key_c_i和value_c_i,可验证数据是否在区块链上;步骤S6,甲或乙用自己的私钥可以解开各自公钥加密的对称密钥,用对称密钥解密加密的内容,内容进行哈希后和区块链上的Hash(内容)对比是否一致;步骤S7,若想告诉其他用户,可以告诉交易哈希值hash_c_i、内容、Hash(内容),其他用户可以在区块链上直接校验内容是否是甲保存到区块链上的。...

【技术特征摘要】
1.区块链加密检索方案,其特征在于,用户甲需要在区块链上存数据,包括检索的关键字和内容,用户设置一个检索码c_i,用于用户甲自己查看,或授权给乙用户查看,步骤如下;步骤S1,将需要检索的关键字和检索码c_i串联,并做哈希运算,算出哈希值hash_c_i,把与关键字对应的内容value用对称密钥加密,计算内容的哈希值Hash(内容),用甲公钥加密对称密钥,用乙公钥加密对称密钥;步骤S2,将步骤S1获得的所有数据进行哈希运算,得出交易哈希值Hash_c_i,一同写入区块链;步骤S3,区块链上的数据下载解析分离出key_c_i和value_c_i后存入数据库;步骤S4,甲或乙知道检索码c_i,需要检索某关键字,计算出关键字加检索码c_i的哈希值key_c_i;步骤S5,在数据库中用key_c_i检索出value_c_i,将两者串联哈希后,得出交易哈希值hash_c_i,可在区块链上找到对应的Tx_c_i,找到key_c_i和value_c_i,可验证数据是否在区块链上;步骤S6,甲或乙用自己的私钥可以解开各自公钥加密的对称密钥,用对称密钥解密加密的内容,内容进行哈希后和区...

【专利技术属性】
技术研发人员:吴思进王志文其他发明人请求不公开姓名
申请(专利权)人:杭州复杂美科技有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1