CN101355428A - 采用增量检验来保护数据完整性的方法 - Google Patents

采用增量检验来保护数据完整性的方法 Download PDF

Info

Publication number
CN101355428A
CN101355428A CNA2008100427779A CN200810042777A CN101355428A CN 101355428 A CN101355428 A CN 101355428A CN A2008100427779 A CNA2008100427779 A CN A2008100427779A CN 200810042777 A CN200810042777 A CN 200810042777A CN 101355428 A CN101355428 A CN 101355428A
Authority
CN
China
Prior art keywords
data
test value
data block
server
sub
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
Application number
CNA2008100427779A
Other languages
English (en)
Other versions
CN101355428B (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.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong 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 Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN2008100427779A priority Critical patent/CN101355428B/zh
Publication of CN101355428A publication Critical patent/CN101355428A/zh
Application granted granted Critical
Publication of CN101355428B publication Critical patent/CN101355428B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明涉及一种数据安全技术领域的采用增量检验来保护数据完整性的方法。本发明中,大量数据存储在远程服务器上,服务器计算磁盘数据的检验值,通过加密信道交由用户保存。当服务器上某块数据被修改时,服务器更新检验值,并通过加密信道更新给用户。用户通过明文信道访问服务器数据,获得数据后必要时重新计算其检验值,与自己所保存的检验值作对比便可侦测出数据是否被非法篡改。这里攻击者可以直接篡改服务器上的数据也可以对明文信道作中间人攻击,但是无法篡改用户所保存的检验值。本发明能够防范包括重放攻击在内的完整性篡改行为,并具有检验的良好性能。

Description

采用增量检验来保护数据完整性的方法
技术领域
本发明涉及一种信息处理技术领域的检验方法,具体地说,涉及的是一种采用增量检验来保护数据完整性的方法。
背景技术
数据安全涉及诸方面的因素;其中,保护数据完整性是维护数据安全的基本要素之一。数据完整性的一个主要目的在于检验对数据的非法篡改;即,系统能够通过完整性检验机制,探测到非法用户/程序对数据的写/修改操作。通常,实现数据完整性保护依赖于哈希(Hash,也称散列)函数;即,基于哈希函数而为数据生成对应的检验结果,然后,在重新访问数据时验证数据与该结果是否吻合。通常,检验数据完整性是通过为被保护的数据附着一个完整性检验码而实施,如采用密码安全的HMAC(keyed-Hash Message Authentication Code)函数为被保护的数据创建对应的MAC(Message Authentication Code,消息认证码)结果,从而依赖(数据,MAC)配对来检验被读取的数据是否保持完整性。对于大容量的具有动态更新特性的数据空间(比如磁盘的全盘数据或某一分区的数据),为了便于MAC的计算与更新,需要基于尺寸适度的数据单位(如磁盘块或者磁盘扇区)来创建对应MAC结果。但这样一来,由于缺乏一个(全部数据,MAC)配对,会存在遭受重放攻击(replay attack)的安全威胁;即,攻击者可以用先前拷贝的合法的(数据单位,MAC)配对来替换当前的(数据单位,MAC)配对而不会被检验到。如果通过在被保护的数据空间上创建哈希树(Hash Tree,或Merkle Tree)来对抗重放攻击,由于检验路径上的每一层节点都需要随着叶节点对应数据的更新而重新计算,而大容量数据空间上所创建的哈希树具有较长的检验路径,则哈希树依然会带来较大的性能损失。因此,需要更为可行高效的完整性检验方法,以用于大容量的具有动态更新特点的数据空间的完整性保护。
经对现有技术的文献检索发现,M.Bellare等人1997年在《ComputerScience》(《计算机科学》)上发表的《A New Paradigm for Collision-FreeHashing:Incremental at Reduced Cost》(《一种新型高效的抗碰撞哈希函数设计范式》)中提出的增量哈希函数设计思想是近些年来国际上增量检验研究的基石。该文中提出的增量哈希函数的基本设计范式为,将被保护的数据X分成若干子数据块,获得X的检验值的方式为将个子数据块与自己的二进制标识连接后作伪随机化,使其值可以映射到某个群上,最后通过群上的运算将各伪随机值合并起来。其安全性依赖于群的选择。其不足在于,在对N个子数据块间作剪切操作时其更新检验值的时间复杂度为O(N),而本发明可在不增加性能消耗和保证安全性的前提下将剪切操作时间复杂度降为O(1)。
发明内容
本发明的目的在于针对现有技术的不足,提供一种采用增量检验来保护数据完整性的方法,使得能够防范包括重放攻击在内的完整性篡改行为,并具有检验的良好性能。
本发明是通过以下技术方案实现的,本发明包括如下步骤:
第一步,远程服务器上存储有大量数据,服务器计算磁盘数据的检验值,通过加密信道交由用户保存。
所述服务器计算磁盘数据的检验值,具体为:
步骤一,将被保护数据空间X分割为具有两个及两个以上数量的数据块,其中的每一数据块都具有一个唯一标识该数据块的标识,且第i+1个数据块是第i个数据块的下一个数据块,这样,就有
X=x1,x2,...,xi,...,xn
                                                           。
其中,xi是组成被保护磁盘数据空间X的第i个数据块,i是xi的标识
步骤二,对于一个确定的数据块,将该数据块与其下一个数据块的标识相连接,并将连接的结果使用哈希函数生成一个子检验值,对于第i个数据块的子检验值为
yi=h(<i+1>·xi)其中,h是标准的哈希函数,符号“·”表示连接
依此,为每个数据块生成对应的子检验值
由所得到的全部子检验值,通过群上的运算而得到被保护数据空间X初始的完整性检验值,即
H ( X ) = y 1 &CircleTimes; y 2 . . . &CircleTimes; y i . . . &CircleTimes; y n 其中,符号
Figure A20081004277700052
是群G上的运算。
第二步,当服务器上某块数据被修改时,服务器更新检验值,并通过加密信道更新给用户。出于性能的考虑,用户通过明文信道访问服务器数据,获得数据后用户可根据得到的数据重新计算其检验值,与自己所保存的合法检验值作对比,如不同则说明该数据在服务器端或在网络中遭到了非法篡改。这里攻击者可以直接篡改服务器上的数据也可以对明文信道作中间人攻击,但是无法篡改用户所保存的检验值。
所述服务器更新检验值,是指为更新第i个数据块而更新被保护数据空间X的完整性检验值,具体为:
步骤一,将第i+1个数据块的标识和第i个数据块相连接,将连接的结果使用哈希函数生成出子检验值并进而计算该子检验值在群G上的逆元,
步骤二,将第i+1个数据块的标识和第i个数据块被更新后的结果相连接,将连接的结果使用哈希函数生成出子检验值,
步骤三,通过更新之前被保护数据空间X的完整性检验值、更新之前由第i个数据块而得到的子检验值的逆元、更新之后由第i数据块而得到的子检验值,获得更新之后被保护数据空间的完整性检验值,即
H ( X &prime; ) = H ( X ) &CircleTimes; h ( < i + 1 > &CenterDot; x i ) - 1 &CircleTimes; h ( < i + 1 > &CenterDot; x i &prime; )
其中,X′是更新之后的被保护数据空间,
                                                   。
符号“-1”表示群G上的逆元,xi′是更新之后的数据块xi
本发明具有如下有益效果:随数据块更新而进行的检验值更新具有增量性和并行性,时间消耗与修改的数据块规模成比例,不需要针对全部被保护的数据块重新计算哈希结果,从而具有完整性检验值更新的高性能。引入了指向下一数据块的标识到检验值的计算中,从而使诸数据块形成了一个类链表的结构,在进行数据块基于位置的剪切-粘贴操作时,能够降低计算复杂度。
附图说明
图1为本发明在一种分布式网络中应用的实施场景图。
具体实施方式
下面结合附图对本发明的实施例作详细说明:本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
如图1所示,大量数据存储在远程服务器上,服务器计算磁盘数据的检验值,通过加密信道交由用户保存。当服务器上某块数据被修改时,服务器更新检验值,并通过加密信道更新给用户。出于性能的考虑,用户通过明文信道访问服务器数据,获得数据后可重新计算其检验值,与自己所保存的检验值作对比便可侦测出数据是否被非法篡改。这里攻击者可以直接篡改服务器上的数据也可以对明文信道作中间人攻击,但是无法篡改用户所保存的检验值。
在本实施例中,所涉及的群及其相关概念是指:
定义一个集合G和集合中上的一种运算
Figure A20081004277700071
如果满足以下三个条件则称G为一个群:(1)集合中的任意两个元素a和b,在这种运算下得到的值 a &CircleTimes; b 均被这个集合所涵盖;(2)集合中存在唯一的本原元素e,使得集合中任意元素a,均有 a &CircleTimes; e = a ; (3)集合中任意元素a,均存在唯一一个与之对应的逆元a-1使得 a &CircleTimes; a - 1 = e .
群G可以是无限群,如整数空间加法群,其本原元素是0,每个元素a的逆元是-a。G也可以是有限群,如集合{1,2,3,4},群运算为(ab)mod 5,本原元素为1,元素1、2、3和4对应的逆元分别为1、3、2和4。
本实施例以磁盘数据的完整性保护作为描述的对象。磁盘中,数据被存储在一系列的数据块中;数据块的单位可以是扇区,也可以是文件系统所使用的簇(比如,连续8个512字节扇区组成一个4KB的簇而作为文件系统数据存储的单位)。不失一般性,本实施例就以簇作为磁盘数据块的单位。文件系统会为每一个簇赋予一个标识;不失一般性地,这一标识总可以确定每一个具体的簇。这一标识可以有不同的存储形式,比如与簇直接存储在一起,或者存储在文件系统元数据中;但不管怎样,标识与对应的簇是能够关联在一起的。下面的内容就描述如何为包含K个簇的文件系统数据空间创建完整性检验值,并在其中某一簇被更新时,更新包含K个簇的整个数据空间的完整性检验值。
被保护的文件系统数据空间X包括K个簇,这K个簇分别是(x1,x2,…,xi,…,xK)。为检验数据空间X的完整性;其中,文件系统通过标识<i>来指明簇xi,且簇xi的下一个簇是xi+1。系统首先计算完整性检验的初始值如下:
H(X)=SHA1(<2>·x1)+......+SHA1(<i+1>·xi)+......+SHA1(pad·xK)
其中,
SHA1是具有160bit输出结果的安全哈希函数;
<i+1>·xi表示将连接第i个簇与指向第i+1个簇的标识,且连接采用二进制位串的连接;
符号“+”是模2160+1的加法。
这样,被保护的磁盘数据空间就具有了一个160bit的完整性检验值H(X)。
此后,当某一簇被更新时,数据空间X就更新其完整性检验值如下:
H(X′)=H(X)+SHA1(<i+1>·xi)-1+SHA1(<i+1>·xi′)
其中,
X′是更新之后的待保护磁盘数据空间;
符号“-1”表示群G上的逆元,加法群上元素a的逆元为-a;
xi′是更新之后的簇xi
本实施方案所选择的群是模2160+1的加法群,是离散对数问题困难的群,是抗碰撞的。鉴于此,本方案是可证明安全的。
远程服务器负责检验值的初始化和合法更新,在数据更新后要负责通过加密信道更新用户端所保存的检验值。如果用传统哈希函数,如MD5,SHA1等均需要对原始数据做迭代操作来得到检验值,这样,原始数据做了微小的改动检验值也需要完全重新计算,而在本方案中计算量只与更新数据的规模成比例,数据改动量越小,更新消耗越小。在实施实例中假定服务器上的数据和传输数据的网络都是不可信的,只有服务器通过加密信道更新过来的检验值是可靠的。服务器无法阻止攻击者篡改数据,攻击者也可以对网络实施中间人攻击。但是用户可以利用本发明中设计的机制来侦测从服务器端获取的数据是否被非法篡改。用户得到数据后重新计算其检验值,生成数据的指纹,与本地安全区域所保存的合法检验值相对比,如不同则说明数据的改动并不是由远程服务器做的,故可以侦测出攻击者的篡改。

Claims (3)

1、一种采用增量检验来保护数据完整性的方法,其特征在于,包括如下步骤:
第一步,远程服务器上存储有大量数据,服务器计算磁盘数据的检验值,通过加密信道交由用户保存;
第二步,当服务器上某块数据被修改时,服务器更新检验值,并通过加密信道更新给用户,用户通过明文信道访问服务器数据,获得数据后用户根据得到的数据重新计算其检验值,与自己所保存的合法检验值作对比,如不同则说明该数据在服务器端或在网络中遭到了非法篡改,这里攻击者可直接篡改服务器上的数据以及对明文信道作中间人攻击,但是无法篡改用户所保存的检验值。
2、根据权利要求1所述的采用增量检验来保护数据完整性的方法,其特征是,所述服务器计算磁盘数据的检验值,具体为:
步骤一,将被保护数据空间X分割为具有两个及两个以上数量的数据块,其中的每一数据块都具有一个唯一标识该数据块的标识,且第i+1个数据块是第i个数据块的下一个数据块,这样,就有:
X=x1,x2,…,xi,…,xn
其中,xi是组成被保护磁盘数据空间X的第i个数据块,i是xi的标识;
步骤二,对于一个确定的数据块,将该数据块与其下一个数据块的标识相连接,并将连接的结果使用哈希函数生成一个子检验值,对于第i个数据块的子检验值为:
yi=h(<i+1>·xi)其中,h是标准的哈希函数,符号“·”表示连接,
依此,为每个数据块生成对应的子检验值,
由所得到的全部子检验值,通过群上的运算而得到被保护数据空间X初始的完整性检验值,即:
H ( X ) = y 1 &CircleTimes; y 2 &CenterDot; &CenterDot; &CenterDot; &CircleTimes; y i &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CircleTimes; y n 其中,符号“
Figure A2008100427770002C2
”是群G上的运算。
3、根据权利要求1所述的采用增量检验来保护数据完整性的方法,其特征是,所述服务器更新检验值,是指为更新第i个数据块而更新被保护数据空间X的完整性检验值,具体为:
步骤一,将第i+1个数据块的标识和第i个数据块相连接,将连接的结果使用哈希函数生成出子检验值并进而计算该子检验值在群G上的逆元,
步骤二,将第i+1个数据块的标识和第i个数据块被更新后的结果相连接,将连接的结果使用哈希函数生成出子检验值,
步骤三,通过更新之前被保护数据空间X的完整性检验值、更新之前由第i个数据块而得到的子检验值的逆元、更新之后由第i数据块而得到的子检验值,获得更新之后被保护数据空间的完整性检验值,即
H ( X &prime; ) = H ( X ) &CircleTimes; h ( < i + 1 > &CenterDot; x i ) - 1 &CircleTimes; h ( < i + 1 > &CenterDot; x i &prime; )
其中,X′是更新之后的被保护数据空间,
符号“-1”表示群G上的逆元,xi′是更新之后的数据块xi
CN2008100427779A 2008-09-11 2008-09-11 采用增量检验来保护数据完整性的方法 Active CN101355428B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008100427779A CN101355428B (zh) 2008-09-11 2008-09-11 采用增量检验来保护数据完整性的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008100427779A CN101355428B (zh) 2008-09-11 2008-09-11 采用增量检验来保护数据完整性的方法

Publications (2)

Publication Number Publication Date
CN101355428A true CN101355428A (zh) 2009-01-28
CN101355428B CN101355428B (zh) 2010-12-08

Family

ID=40308040

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100427779A Active CN101355428B (zh) 2008-09-11 2008-09-11 采用增量检验来保护数据完整性的方法

Country Status (1)

Country Link
CN (1) CN101355428B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102291377A (zh) * 2010-06-17 2011-12-21 侯方勇 一种数据安全传送方法和装置
CN102957577A (zh) * 2011-08-31 2013-03-06 国家密码管理局商用密码检测中心 抗重放攻击检测方法和装置
CN106603244A (zh) * 2016-12-30 2017-04-26 北京海泰方圆科技股份有限公司 一种数字版权保护方法及装置
CN111198827A (zh) * 2018-11-16 2020-05-26 展讯通信(上海)有限公司 页表预取方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1645931A1 (en) * 2004-10-11 2006-04-12 Telefonaktiebolaget LM Ericsson (publ) Secure loading and storing of data in a data processing device
CN1841255B (zh) * 2005-03-30 2011-09-07 侯方勇 保护数据存储的机密性与完整性的方法和装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102291377A (zh) * 2010-06-17 2011-12-21 侯方勇 一种数据安全传送方法和装置
CN102957577A (zh) * 2011-08-31 2013-03-06 国家密码管理局商用密码检测中心 抗重放攻击检测方法和装置
CN106603244A (zh) * 2016-12-30 2017-04-26 北京海泰方圆科技股份有限公司 一种数字版权保护方法及装置
CN106603244B (zh) * 2016-12-30 2018-04-06 北京海泰方圆科技股份有限公司 一种数字版权保护方法及装置
CN111198827A (zh) * 2018-11-16 2020-05-26 展讯通信(上海)有限公司 页表预取方法及装置

Also Published As

Publication number Publication date
CN101355428B (zh) 2010-12-08

Similar Documents

Publication Publication Date Title
US20200374126A1 (en) Method for storing an object on a plurality of storage nodes
Lee et al. Blockchain based privacy preserving multimedia intelligent video surveillance using secure Merkle tree
CN109074433B (zh) 使用分布式散列表和点对点分布式分类账验证数字资产完整性的方法和系统
Tan et al. A survey on proof of retrievability for cloud data integrity and availability: Cloud storage state-of-the-art, issues, solutions and future trends
Van Dijk et al. Hourglass schemes: how to prove that cloud files are encrypted
TW202029694A (zh) 用於透過區塊鏈網路有效安全處理、存取及傳輸資料之系統與方法(二)
RU2351978C2 (ru) Способ обеспечения целостности набора записей данных
CN111092737A (zh) 数字证书管理方法、装置及区块链节点
Tasnim et al. Crab: Blockchain based criminal record management system
CN110226167A (zh) 抽象包围区身份
US7962765B2 (en) Methods and systems for tamper resistant files
CN111656386A (zh) 管理账本系统中的交易请求
Khan et al. OTIT: Towards secure provenance modeling for location proofs
Yang et al. Efficient data integrity auditing supporting provable data update for secure cloud storage
Hartung et al. Practical and robust secure logging from fault-tolerant sequential aggregate signatures
Periasamy et al. Efficient hash function–based duplication detection algorithm for data Deduplication deduction and reduction
CN101355428B (zh) 采用增量检验来保护数据完整性的方法
Krishnasamy et al. An efficient data flow material model based cloud authentication data security and reduce a cloud storage cost using Index-level Boundary Pattern Convergent Encryption algorithm
CN111630545A (zh) 管理账本系统中的交易请求
Li et al. A blockchain‐based privacy‐preserving authentication system for ensuring multimedia content integrity
Yang et al. A new outsourced data deletion scheme with public verifiability
Cao et al. Design and implementation for MD5-based data integrity checking system
He et al. Enabling Decentralized and Dynamic Data Integrity Verification for Secure Cloud Storage via T‐Merkle Hash Tree Based Blockchain
Homoliak et al. Aquareum: A centralized ledger enhanced with blockchain and trusted computing
CN113491090B (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
C14 Grant of patent or utility model
GR01 Patent grant