System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于区块链的安全数据交换方法技术_技高网

一种基于区块链的安全数据交换方法技术

技术编号:40835401 阅读:2 留言:0更新日期:2024-04-01 14:59
本发明专利技术公开了一种基于区块链的安全数据交换方法。本发明专利技术中,在数据交换的过程中,通过计算用户属性敏感值总量并与数据对象的属性敏感值区限层级进行比较,可以进一步筛选出满足属性敏感值要求的用户。有效地制止了用户“越级”访问数据主体的情况,表明该方法可以从敏感访问层级的角度来保护敏感数据的安全,从而提高了整体方法在进行交换时的安全性;同时通过利用区块链评估属性值和敏感层级,实现了更细粒度更安全的数据分层访问控制策略。也有效地解决了用户越级访问数据主体的安全问题,并在关键功能上符合预期的运行效率,从而使得本方法在保证了数据交换的工作效率的同时,也提高了数据的整体安全性,增加了整体使用时的便利性。

【技术实现步骤摘要】

本专利技术属于数据交换,具体为一种基于区块链的安全数据交换方法


技术介绍

1、目前,信息化、数字化基础设施建设在很多城市已基本完成,新型智慧城市的建设将转向以人、服务和管理为规划设计重心。其中,数字化办公已成为单位和企业最基本的it手段,智慧城市、电子政务等智慧型it信息的建设,需要打通企业间、单位间,以及企业和单位间的数据共享链接。数据交换系统是基于互联网技术面向单位机关内部和其他单位机构的信息服务以及信息处理系统,系统利用现代信息技术对单位进行信息化改造,以提高单位部门办事的水平。

2、但是常见的交换系统在使用过程中,制止了用户“越级”访问数据主体的情况,从而使得数据交换过程中的安全性不够高。


技术实现思路

1、本专利技术的目的在于:为了解决上述提出的问题,提供一种基于区块链的安全数据交换方法。

2、本专利技术采用的技术方案如下:一种基于区块链的安全数据交换方法,区块链的安全数据交换方法包括以下步骤:

3、s1:区块链使用端的单体根据本身数据资源按照标准将源数据信息进行加工封装;源数据信息加工包括数据加密处理、数据去重;

4、s2:进行数据发布上链。区块链使用端单体将共享数据的摘要申请发布到区块链使用端链上,区块链使用端其他单体对摘要信息共识认证后加密存储到使用端单体区块,并同步到本方法中设置的区块链中,同时更新数据共享目录,确保了上链的信息是由每个区块链使用端单体认可且可溯源;

5、s3:更新数据共享目录之后设置层次化访问控制,首先属性评估上链:在信息安全和身份管理领域,属性授权机构是负责管理和颁发数字身份认证中的属性声明的实体。在初始阶段,属性授权机构会对预分配的属性进行敏感估值,出于公开透明的考虑将评估结果上链公开;

6、s4:进行属性分配:属性授权机构会对所有加入用户实体分配相关的属性认证。区块链会为用户颁发包含公私钥的身份证书;

7、每个待访问的数据对象d都包含一个访问控制策略树τ,在访问策略树τ中,其中2of3为需要满足其3个孩子节点中的2个属性,该策略树由do在数据注册阶段进行指定,指定的内容包括数据访问所需的属性和访问层级区限r。这里的r是一个取值范围,数据拥有者do可以利用r对数据的访问进行敏感分层,即一个数据可以包含多个不同的r以作为层次化访问控制验证的依据;

8、s5:进行数据注册:若数据拥有者欲共享自己的数据,需进行数据注册操作。数据注册通过调用访问控制智能合约实现。数据拥有者需要指定数据的访问策略p,之后通过pail-lier同态加密算法将数据信息(数据id,即数据的离链地址)、策略p的哈希值、访问区限加密后发起交易上传至区块链。

9、s6:数据请求:若数据用户欲请求数据拥有者上传的数据资源,则需要通过pail-lier同态加密算法将请求的数据id、自身属性和属性敏感总值加密后发起交易上传至区块链,区块链通过raft共识算法选举的验证节点在收到来自数据用户的数据请求加密信息后,利用pail-lier算法的加法同态性在不知道用户实际的属性和敏感值的情况下完成访问控制权限的验证,验证过程包括属性的验证和访问层级区限的验证;

10、s7:通s7过验证之后,区块链使用端的单体在进行数据交换的过程中时,根据业务需求授权受理业务的部门发起数据查询请求,并将授权信息:授权哈希值、授权事项、数据使用成员等上链,业务受理部门作为数据请求方在区块链使用端链上发起数据访问请求和授权信息,数据提供方通过数字签名、哈希加密算法等方法验证授权信息的真实性;

11、s8:用户授权信息验证通过后,通过在区块链使用端链上数据目录摘要中进行匹配,如数据资源在区块链使用端链上那么直接从区块链使用端链上获取,否则通过数据共享交换平台远程访问数据提供方的本地数据源获取相关资源信息后再进行加密传输返回。数据发送记录、数据授权信息、数据调用等交易过程信息全部上链存储;

12、s9:数据处理与计算:数据资源传输可以直接返回给数据查询请求方,也可以传输到可信环境完成处理与计算后,再将结果返回数据请求方。如涉及请求只是简单的验证可以直接加密返回,否则返回可信环境进行处理和计算。

13、在一优选的实施方式中,步骤s1中,使用rsa加密算法进行数据加密,使用rsa加密算法进行数据加密过程中公钥和私钥是一对位数大于200位的大素数的函数,所以通过公钥和加密后的密文解密出明文相当于分解这两个大素数的乘积。

14、在一优选的实施方式中,rsa的参数主要包括两个大素数p和q,n=p*q,计算出f(n)=(p-1)(q-1),选择一个与f(n)互质的数m,保证1<m<f(n),计算出一个数d,使d*m≡1modf(n),其中≡是同余符号,保证符号两遍进行模运算后余数相同,都等于1;由以上数据得到公钥ku=(e,n),私钥kr=(d,n);进行加密运算时首先将安全数据明文转换成0到n-1的一个整数,若安全数据明文长度过长,可先进行分割后再进行变换,长度不够时用填充位进行填充;安全数据明文m加密后的密文c≡m^mmod(n);

15、安全数据解密模块的解密过程为m≡c^dmod(n)。

16、在一优选的实施方式中,步骤s1中,进行数据去重时,先对采集到的区块链的安全数据进行数据去重,取出采集到的部分重复参数信息,之后再使用数据分类分析模块对其进行分类分析;

17、进行区块链安全数据去重时先为区块链安全数据设置集合set的key为order,然后将区块链安全数据的重要属性连接起来作为vaule加入order中,若保存成功则表示该数据唯一,则将其插入到mysql数据库表单中供上层业务使用;

18、区块链安全数据去重的核心代码为:

19、”redis去重”'

20、def

21、remove_duplicate(start,destination,goods_name,goods_weight,vehicle_length,price,goods_volu

22、me,vehicle_type,publish_time,load_time):

23、info=start

24、+”+destination+”+goods_name+”+vehicle_weight+”+str(vehicle_length)+”+price+”

25、+vehicle_volume+”+vehicle_type+”+publish_time+”+load_time

26、res=red.sadd('order',info)#sadd函数将数据保存至set集合中

27、#若上一步成功保存,说明该条区块链安全数据唯一,将其存至mysql中。

28、在一优选的实施方式中,步骤s4中,将属性分为资源属性和环境属性的过程中只是把属性对应的值公开,出于本文档来自技高网...

【技术保护点】

1.一种基于区块链的安全数据交换方法,其特征在于:所述区块链的安全数据交换方法包括以下步骤:

2.如权利要求1所述的一种基于区块链的安全数据交换方法,其特征在于:所述步骤S1中,使用RSA加密算法进行数据加密,使用RSA加密算法进行数据加密过程中公钥和私钥是一对位数大于200位的大素数的函数,所以通过公钥和加密后的密文解密出明文相当于分解这两个大素数的乘积。

3.如权利要求2所述的一种基于区块链的安全数据交换方法,其特征在于:所述RSA的参数主要包括两个大素数p和q,n=p*q,计算出f(n)=(p-1)(q-1),选择一个与f(n)互质的数m,保证1<m<f(n),计算出一个数d,使d*m≡1modf(n),其中≡是同余符号,保证符号两遍进行模运算后余数相同,都等于1;由以上数据得到公钥Ku=(e,n),私钥Kr=(d,n);进行加密运算时首先将安全数据明文转换成0到n-1的一个整数,若安全数据明文长度过长,可先进行分割后再进行变换,长度不够时用填充位进行填充;安全数据明文M加密后的密文C≡M^mmod(n);

4.如权利要求1所述的一种基于区块链的安全数据交换方法,其特征在于:所述步骤S1中,进行数据去重时,先对采集到的区块链的安全数据进行数据去重,取出采集到的部分重复参数信息,之后再使用数据分类分析模块对其进行分类分析;

5.如权利要求1所述的一种基于区块链的安全数据交换方法,其特征在于:所述步骤S4中,将属性分为资源属性和环境属性的过程中只是把属性对应的值公开,出于安全和隐私的考虑而不是对每个实体拥有的属性进行公开;属性值评估完成后对所有用户实体进行常规属性分配,颁发来自AA属性签名证明;

6.如权利要求1所述的一种基于区块链的安全数据交换方法,其特征在于:所述步骤S5中,通过sha256哈希函数对数据进行哈希计算后将结果作为数据的ID上链,作为数据的离链地址。

7.如权利要求1所述的一种基于区块链的安全数据交换方法,其特征在于:所述步骤S7中,区块链使用端链上访问日志:在访问控制流程结束后,验证节点则通过交易的方式将数据ID、数据用户ID、访问策略密文、请求策略密文上传至区块链作为访问日志以供审计。

8.如权利要求1所述的一种基于区块链的安全数据交换方法,其特征在于:所述步骤S7中,区块链使用端链上数据的内部设置有数据层:数据层主要功能是数据存储,源数据存储在各政务部门本地中心数据库,区块链使用端链上主要存储数据交易记录、数据授权信息、数据摘要目录。

9.如权利要求1所述的一种基于区块链的安全数据交换方法,其特征在于:所述步骤S3中,属性上链时分析属性个数对上链性能开销的影响;实验定义了属性资产的结构体,包括属性的类别、内容和量化值,该量化值由属性机构得出评估值后上链;调用链码中的CreateAsset函数,其用于在区块链世界状态中创建新的属性资产以及属性上链的功能;该函数接收属性资产的详细信息作为参数,并进行一些资产创建权限的检查和属性数据处理,每次调用仅能针对一个属性进行操作;

10.如权利要求1所述的一种基于区块链的安全数据交换方法,其特征在于:所述步骤S9中,设置有平台层:包括分布式存储、共识算法、加密技术、智能合约,设置的平台层基于以太坊搭建区块链联盟,使用Solidity语言进行智能合约编写,通过智能合约实现数据自动交易,并将交易记录写入区块链;其中服务层提供基础服务支撑能力包括数据目录摘要上链、数据授权上链、数据交易跟踪、数据可信处理;

...

【技术特征摘要】

1.一种基于区块链的安全数据交换方法,其特征在于:所述区块链的安全数据交换方法包括以下步骤:

2.如权利要求1所述的一种基于区块链的安全数据交换方法,其特征在于:所述步骤s1中,使用rsa加密算法进行数据加密,使用rsa加密算法进行数据加密过程中公钥和私钥是一对位数大于200位的大素数的函数,所以通过公钥和加密后的密文解密出明文相当于分解这两个大素数的乘积。

3.如权利要求2所述的一种基于区块链的安全数据交换方法,其特征在于:所述rsa的参数主要包括两个大素数p和q,n=p*q,计算出f(n)=(p-1)(q-1),选择一个与f(n)互质的数m,保证1<m<f(n),计算出一个数d,使d*m≡1modf(n),其中≡是同余符号,保证符号两遍进行模运算后余数相同,都等于1;由以上数据得到公钥ku=(e,n),私钥kr=(d,n);进行加密运算时首先将安全数据明文转换成0到n-1的一个整数,若安全数据明文长度过长,可先进行分割后再进行变换,长度不够时用填充位进行填充;安全数据明文m加密后的密文c≡m^mmod(n);

4.如权利要求1所述的一种基于区块链的安全数据交换方法,其特征在于:所述步骤s1中,进行数据去重时,先对采集到的区块链的安全数据进行数据去重,取出采集到的部分重复参数信息,之后再使用数据分类分析模块对其进行分类分析;

5.如权利要求1所述的一种基于区块链的安全数据交换方法,其特征在于:所述步骤s4中,将属性分为资源属性和环境属性的过程中只是把属性对应的值公开,出于安全和隐私的考虑而不是对每个实体拥有的属性进行公开;属性值评估完成后对所有用户实体进行常规属性分配,颁发来自aa属性签名证明;

6.如权利要求1所述的...

【专利技术属性】
技术研发人员:阮晓迅李腾欢袁飞朱国刚
申请(专利权)人:广东尚恒智汇科技发展有限公司
类型:发明
国别省市:

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

1