CN104486311B - 一种支持可扩展性的远程数据完整性检查方法 - Google Patents

一种支持可扩展性的远程数据完整性检查方法 Download PDF

Info

Publication number
CN104486311B
CN104486311B CN201410734406.2A CN201410734406A CN104486311B CN 104486311 B CN104486311 B CN 104486311B CN 201410734406 A CN201410734406 A CN 201410734406A CN 104486311 B CN104486311 B CN 104486311B
Authority
CN
China
Prior art keywords
data
signature
block
evidence
authentication
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.)
Active
Application number
CN201410734406.2A
Other languages
English (en)
Other versions
CN104486311A (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.)
Southeast University
Original Assignee
Southeast University
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 Southeast University filed Critical Southeast University
Priority to CN201410734406.2A priority Critical patent/CN104486311B/zh
Publication of CN104486311A publication Critical patent/CN104486311A/zh
Application granted granted Critical
Publication of CN104486311B publication Critical patent/CN104486311B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公开了一种支持可扩展性的远程数据完整性检查方法,包括如下步骤:初始化阶段,在外包数据到数据中心之前,数据源生成一对公私密钥对,并将公钥分发给数据中心和验证方;外包阶段,数据源将各个文件分成块,并且为每一个数据块生成一个签名,然后上传数据块及其签名到数据中心;远程数据完整性检查阶段,验证方首先发送一个验证请求给数据中心,然后数据中心从数据块及其签名中生成一小块聚合的证据并将它发送回验证方,最后验证方对证据进行检查。本发明的方法采用简单数学运算代替现有方案所采用的加密操作,并让多个数据元素共享仅有的少数几个加密操作,显著降低了数据流的计算成本,能够有效降低远程完整性检查通信成本,满足了数据完整性保护机制新的安全和高效特点。

Description

一种支持可扩展性的远程数据完整性检查方法
技术领域
本发明涉及物联网安全的一种支持可扩展性的远程数据完整性检查方法,属于物联网安全技术领域。
背景技术
如今,数据中心(DCs)已经可以被广泛使用,为了提供数据源(DSs)(如笔记本电脑,智能手机,网站)的外包服务,需要设计远程数据完整性检查协议来确保外包数据没有被攻击者破坏或丢失。
当数据的数量级达到太字节(TB)时,对于远程数据完整性检查服务,可扩展性是一个严重的问题。由于有限的计算能力,数据源因为签署大规模数据产生的极高的计算成本得到了深切关注。不幸的是,当前的远程数据完整性检查技术主要关注的是可恢复性、隐私保护和数据更新等属性,并且假设数据源有足够的计算资源用于签名。然而,由于数据源可能是一个资源受限的设备,使得这种假设可能是不成立的。
一个针对太字节数量级数据的远程数据完整性检查协议应当满足下面的要求:(1)正确性。它允许数据源确保其外包数据既不会丢失也不会被恶意数据中心破坏。(2)支持公共的验证方。由于一些原因(例如,一些数据源没有验证能力),一个远程数据完整性检查协议应当允许数据源委托一个公共验证方来进行完整性检查过程,同时它应当允许数据源作为验证方。(3)支持隐私保护。当向数据中心外包敏感数据时,数据源应当确保数据不会泄露给公共验证方,它并没有权限来访问数据。(4)支持数据更新。数据源应当被允许更新它的外包数据。(5)支持批量验证。伴随着数据中心的参与,验证方应当有能力验证同时由多个数据源外包的数据。(6)可扩展性。可扩展性使得远程数据完整性检查协议在处理大量数据时工作良好。
显然,设计一个支持可扩展性的远程数据完整性检查协议是一项重要的任务,因为资源受限的数据源没有能力签署大量的数据。当前的方案可以满足需求(1),(2),(3),(4)和(5),然而,需求(6)还是被广泛地忽视了,这导致对于太字节数量级的数据,签名和验证成本仍然很高。更重要的是,当考虑到研究主题,我们观察到现存的加密原语都不可以直接用于实现上述讨论的目标。
发明内容
发明目的:为了解决上述的安全和效率问题,本发明提出了支持可扩展性的一种远程数据完整性检查方法。
技术方案:一种支持可扩展性的远程数据完整性检查方法,包括如下步骤:
(1)初始化阶段:数据源(DS)生成公私密钥对,并将公钥分发给数据中心(DC)和验证方;所述密钥对中的私钥用于签名,密钥对中的公钥用于验证;这一阶段使得初始化后的两个实体数据中心(DC)和验证方方拥有共享的密钥材料,确保在通信前后数据中心(DC)和验证方能使用正确的密钥进行签名算法和验证。
(2)外包阶段:数据源(DS)将各个文件分成块,为每一个数据块生成一个签名;并将数据块及其签名发送到数据中心(DC);这一阶段使得数据中心(DC)能够确保只接收经过授权的数据源(DS)提供的的数据块以及签名。
(3)远程数据完整性检查阶段:验证方发送验证请求给数据中心(DC);数据中心(DC)从数据块及其签名中生成一小块聚合的证据,并将证据发送回验证方;验证方检验证据,确保数据块没有被干扰或者丢失;检查阶段在初始化阶段和外包阶段的基础上完成远程数据完整性检查过程,从而实现了将初始化阶段生成的密钥材料应用到外包阶段产生的数据和签名上。
有益效果:本发明提供的支持可扩展性的远程数据完整性检查方法,采用简单数学运算(例如模块化乘法)代替现有方案所采用的加密操(例如椭圆曲线标量乘法)作,并让多个数据元素共享仅有的少数几个加密操作,显著降低了数据流的计算成本(特别是太字节数量级数据),能够有效降低远程完整性检查通信成本,满足了数据完整性保护机制新的安全和高效特点。
附图说明
图1是本发明的远程数据完整性检查的系统模型;
图2是本发明的初始化阶段流程图;
图3是本发明的外包阶段流程图;
图4是本发明的数据完整性检查阶段流程图。
具体实施方式
下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
如图1所示的远程数据完整性检查方案的系统模型,包括三种实体:数据源(DS),数据中心(DC)和验证方。
本发明包含三大部分内容:初始化阶段、外包阶段和远程数据完整性检查阶段。
如图2所示的初始化阶段,实现了公私密钥对的生成及其从数据源(DS)到数据中心(DC)和验证方的分发,具体操作为:
步骤101:数据源使用秘钥生成算法(pk,sk)←KeyGen(1k)来初始化完整性检查系统,它将安全参数k作为输入,并将私钥sk和公钥pk作为输出,其中,私钥用于之后的签名,公钥用于之后的验证;
私钥是一组随机数sk={sk0,sk1,...,sks∈Zp},其中p是随机选定的大素数,Zp是小于大素数p的自然数,s是私钥的个数,与公钥个数相等,且应小于p;
公钥可以通过私钥计算:首先计算其中G是阶数为p的加法群,g∈G是生成器;然后随机地生成u∈G,并将pk={pk0,pk1,...,pks,u}作为输出的公钥。
步骤102:数据源(DS)将生成的公钥分别发送给数据中心(DC)和验证方两个实体。
如图3所示的外包阶段,实现了数据源(DS)对文件的分块,对数据块的签名,以及与数据中心(DC)的通信,具体操作为:
步骤201:数据源(DS)将数据文件M分块M={mi},再将每一个数据块mi分区mi={mi1,mi2...mis};
步骤202:数据源(DS)使用签名算法σi←SigGen(sk,mi,metai)对每一个数据块mi进行签名;
所述签名算法将(sk,mi,metai)作为输入,将签名作为输出,其中metai=(name|i)唯一地标识数据块mi,name是文件名,i是文件中的块索引,mi,j是数据块mi的第j个分区,H代表哈希函数,uj是映射G中随机产生的元素;
由上可以分析得,不管每个数据块mi有多少分区,它只用了两个标量乘法,这一特点可以减少签名成本。如果每个文件由L个分区组成,每一块有s个分区,则文件中块的总数将是L/s,数据源需要运行标量乘法2L/s次签署这个文件。因此,如果数据源提高s,可以降低签署整个文件的计算成本。
步骤203:数据源(DS)对文件进行分块和签名算法之后,将数据块及其签名发送给数据中心(DC)用于下一阶段的数据完整性检查。
如图4所示的远程数据完整性检查阶段,实现了验证方验证从数据中心(DC)接收到的聚合证据,具体操作为:
步骤301:验证方持有元数据(即文件名和文件长度),唯一地标识数据源的外包文件,所述验证方向数据中心(DC)发送询问Q={(metai,ci)},表明这些数据块将被检查,其中metai=(name|i)由文件名name和文件中的索引i得到,ci∈Zp
步骤302:数据中心(DC)接收到Q后,使用证据生成算法P←GenProof(M,Φ,Q)生成证据P,并将证据P发送回验证方进行验证;
所述证据生成算法将(M,Φ,Q)={(metai,ci)}作为输入,将聚合的证据P={μ1,...,μs,σ}作为输出,其中M指数据文件,Φ指签名,Q是从验证方接收的验证请求,ci是一个考察值,σi是数据块mi的签名,mi,j是数据块mi的第j个分区分区;
由上可以分析得不管每一个数据块中的分区数量s有多少,Genproof算法对每一个数据块运行了一次标量乘法。因此,如果数据源提高分区数量s,数据中心(DC)的计算成本也将被减少;
步骤303:验证方接收到证据P后,对证据P运行验证算法{TRUE,FALSE}←VerifyProof(pk,P,Q),确保数据中心(DC)确实存储了数据源(DS)的数据;
所述验证算法将(pk,P,Q)作为输入,如果则表示输入可以通过验证,输出TRUE,否则表示输入未通过验证,输出FALSE,其中pk是公钥,P是数据中心生成的证据,Q是验证方接收的验证请求。
通过上述验证过程,从而判断接收到的消息中绝大多数块是否被完整地传送。

Claims (4)

1.一种支持可扩展性的远程数据完整性检查方法,其特征在于,包括如下步骤:
(1)初始化阶段:数据源生成公私密钥对,并将公钥分发给数据中心和验证方;所述密钥对中的私钥用于签名,密钥对中的公钥用于验证;
(2)外包阶段:数据源将各个文件分成块,为每一个数据块生成一个签名,并将数据块及其签名发送到数据中心;
(3)远程数据完整性检查阶段:验证方向数据中心发送一个验证请求,数据中心返回聚合的证据给验证方进行验证;
所述数据源使用秘钥生成算法(pk,sk)←KeyGen(1k)生成私钥sk和公钥pk,其具体步骤为:
(1)生成一组随机数作为私钥sk={sk0,sk1,...,sks∈Zp},其中p是一个选定的大的素数,Zp是小于p的自然数,s是密钥对的个数,应小于p;
(2)通过私钥计算公钥:pk={pk0,pk1,...,pks,u},其中u∈G,G是阶数为p的加法群,g∈G是生成器;
所述数据源生成签名的具体步骤为:
(1)数据源将数据文件M分块M={mi},再将每一个数据块mi分区mi={mi1,mi2...mis};
(2)使用签名算法SigGen对每一个数据块mi进行签名;
所述签名算法将(sk,mi,metai)作为输入,将签名作为输出,其中metai=(name|i)唯一地标识数据块mi,name是文件名,i是文件中的块索引,mi,j是数据块mi的第j个分区,H代表哈希函数,u是映射G中随机产生的元素。
2.如权利要求1所述的支持可扩展性的远程数据完整性检查方法,其特征在于,所述验证请求由文件名name、文件中的块索引i和考察值ci∈Zp组成。
3.如权利要求1所述的支持可扩展性的远程数据完整性检查方法,其特征在于,所述数据中心使用证据生成算法P←GenProof(M,Φ,Q)生成证据P;
所述证据生成算法将(M,Φ,Q)={(metai,ci)}作为输入,将聚合的证据P={μ1,...,μs,σ}作为输出,其中M指数据文件,Φ指签名,Q是从验证方接收的验证请求,metai=(name|i),ci∈Zp是一个考察值,mi,j是数据块mi的第j个分区,σi是数据块mi的签名,
4.如权利要求1所述的支持可扩展性的远程数据完整性检查方法,其特征在于,所述验证方接收到证据P后,对证据P运行验证算法{TRUE,FALSE}←VerifyProof(pk,P,Q);
所述验证算法将(pk,P,Q)作为输入,如果则表示输入可以通过验证,输出TRUE,否则表示输入未通过验证,输出FALSE,其中pk是公钥,P是数据中心生成的证据,Q是验证方接收的验证请求。
CN201410734406.2A 2014-12-04 2014-12-04 一种支持可扩展性的远程数据完整性检查方法 Active CN104486311B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410734406.2A CN104486311B (zh) 2014-12-04 2014-12-04 一种支持可扩展性的远程数据完整性检查方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410734406.2A CN104486311B (zh) 2014-12-04 2014-12-04 一种支持可扩展性的远程数据完整性检查方法

Publications (2)

Publication Number Publication Date
CN104486311A CN104486311A (zh) 2015-04-01
CN104486311B true CN104486311B (zh) 2017-11-03

Family

ID=52760815

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410734406.2A Active CN104486311B (zh) 2014-12-04 2014-12-04 一种支持可扩展性的远程数据完整性检查方法

Country Status (1)

Country Link
CN (1) CN104486311B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105227317B (zh) * 2015-09-02 2019-04-05 青岛大学 一种支持认证器隐私的云数据完整性检测方法和系统
CN108768975A (zh) * 2018-05-16 2018-11-06 东南大学 支持密钥更新和第三方隐私保护的数据完整性验证方法
CN111901568B (zh) * 2020-08-10 2022-04-19 北京国泰网信科技有限公司 一种基于物联网监控终端的数据加密系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8281151B2 (en) * 2008-04-09 2012-10-02 Hewlett-Packard Development Company L. P. Auditor assisted extraction and verification of client data returned from a storage provided while hiding client data from the auditor
CN103414690A (zh) * 2013-07-15 2013-11-27 北京航空航天大学 一种可公开验证云端数据持有性校验方法
CN103699851A (zh) * 2013-11-22 2014-04-02 杭州师范大学 一种面向云存储的远程数据完整性验证方法
CN103888262A (zh) * 2014-03-31 2014-06-25 公安部第三研究所 用于云数据审计的密钥变化和签名更新的方法
CN104023044A (zh) * 2014-01-01 2014-09-03 电子科技大学 一种具有隐私保护的云存储数据轻量级公共审计的方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7376235B2 (en) * 2002-04-30 2008-05-20 Microsoft Corporation Methods and systems for frustrating statistical attacks by injecting pseudo data into a data system
CN1805339B (zh) * 2005-12-31 2010-05-12 北京握奇数据系统有限公司 支持数字签名的个人可信设备及其实现签名的方法
CN101236590B (zh) * 2008-03-07 2010-11-03 北京邮电大学 一种基于门限密码体制的软件分割保护的实现方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8281151B2 (en) * 2008-04-09 2012-10-02 Hewlett-Packard Development Company L. P. Auditor assisted extraction and verification of client data returned from a storage provided while hiding client data from the auditor
CN103414690A (zh) * 2013-07-15 2013-11-27 北京航空航天大学 一种可公开验证云端数据持有性校验方法
CN103699851A (zh) * 2013-11-22 2014-04-02 杭州师范大学 一种面向云存储的远程数据完整性验证方法
CN104023044A (zh) * 2014-01-01 2014-09-03 电子科技大学 一种具有隐私保护的云存储数据轻量级公共审计的方法
CN103888262A (zh) * 2014-03-31 2014-06-25 公安部第三研究所 用于云数据审计的密钥变化和签名更新的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
支持不同粒度运算的远程数据完整性验证;陈龙等;《吉林大学学报(工学版)》;20120915;第42卷;295-299 *

Also Published As

Publication number Publication date
CN104486311A (zh) 2015-04-01

Similar Documents

Publication Publication Date Title
Chen et al. Design of personnel big data management system based on blockchain
CN108616539B (zh) 一种区块链交易记录访问的方法及系统
JP6577680B2 (ja) デジタル署名を用いた変形ブロックチェーンについての方法及びシステム
EP3114602B1 (en) Method and apparatus for verifying processed data
CN103268460B (zh) 一种云存储数据完整性验证方法
Kumar et al. RETRACTED ARTICLE: Secure access control for manufacturing sector with application of ethereum blockchain
CN111385103B (zh) 权限处理方法、系统、装置及电子设备
CN111160909B (zh) 区块链供应链交易隐藏静态监管系统及方法
CN114358782A (zh) 区块链交易审计方法、装置、设备及存储介质
CN104038493B (zh) 无双线性对的云存储数据安全审计方法
CN103888942B (zh) 一种基于协商密钥的数据处理方法
CN104462949A (zh) 一种插件的调用方法及装置
CN111695097A (zh) 登录检验方法、装置及计算机可读存储介质
CN111968714B (zh) 用于区块链的电子病历的处理方法、装置、系统和介质
CN104486311B (zh) 一种支持可扩展性的远程数据完整性检查方法
CN113822675A (zh) 基于区块链的报文处理方法、装置、设备及存储介质
CN115982769A (zh) 数据处理方法、装置、设备及存储介质
CN108390866A (zh) 基于双代理双向匿名认证的可信远程证明方法
CN108900310A (zh) 区块链签名处理方法及区块链签名处理装置
CN109831312A (zh) 可连接环签名方法、装置、设备以及存储介质
US20230316241A1 (en) Partitioning a request into transactions for a blockchain
CN112862484A (zh) 一种基于多端交互的安全支付方法及装置
CN104065488A (zh) 基于组合公钥认证微处理器卡云管理系统的方法
CN115643090A (zh) 基于隐私检索的纵向联邦分析方法、装置、设备及介质
CN114629663B (zh) 基于区块链的数字商品交易方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant