CN108153612A - 一种数据库文件的备份方法 - Google Patents

一种数据库文件的备份方法 Download PDF

Info

Publication number
CN108153612A
CN108153612A CN201611096857.3A CN201611096857A CN108153612A CN 108153612 A CN108153612 A CN 108153612A CN 201611096857 A CN201611096857 A CN 201611096857A CN 108153612 A CN108153612 A CN 108153612A
Authority
CN
China
Prior art keywords
database
server
backup
database file
file
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.)
Pending
Application number
CN201611096857.3A
Other languages
English (en)
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.)
Space Star Technology (beijing) Co Ltd
Original Assignee
Space Star Technology (beijing) Co Ltd
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 Space Star Technology (beijing) Co Ltd filed Critical Space Star Technology (beijing) Co Ltd
Priority to CN201611096857.3A priority Critical patent/CN108153612A/zh
Publication of CN108153612A publication Critical patent/CN108153612A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Power Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种数据库文件的备份方法,该方法包括:基于数据库服务器和备份服务器之间建立的密钥,数据库服务器将数据库文件的基本信息发送给备份服务器;基于一次一密的加密方法,所述数据库服务器将数据库文件分解发送给所述备份服务器;所述备份服务器对接收的每份文件信息进行校验后,合并获得该数据库文件,并存储该数据库文件。

Description

一种数据库文件的备份方法
【技术领域】
本发明属于计算机和数据库领域,尤其涉及一种数据库文件的备份方法。
【背景技术】
近年来,随着大数据时代的到来,数据的使用量在成倍增长,而对于数据的备份和恢复有着越来越高的要求。现有技术中,数据通常都使用数据库来存储,而数据库在计算机上是由各个具体的数据库文件所组成的,例如MDF文件、DBF文件等等。因此,对数据库的备份可以具体化为对数据库文件的备份。
现有技术中,数据库的备份通常是本地局域网内进行的,这主要是为了安全性和备份效率的考虑,本地局域网一般认为是安全的,所以数据库文件可以明文传输而无需考虑被窃取。但是,近年来仍然出现了多个本地局域网被窃取数据的案例,使得局域网的安全性也备受质疑。另外,由于网络速度的提高,远程备份也成为了数据库文件备份的一种形式,备份也不在拘泥于局域网,而向互联网发展,这就要求一种新的数据库文件备份方法。
【发明内容】
为了解决现有技术中的上述问题,本发明提出了一种数据库文件的备份方法。
本发明采用的技术方案如下:
一种数据库文件的备份方法,该方法包括以下步骤:
步骤100:基于数据库服务器和备份服务器之间建立的密钥,数据库服务器将数据库文件的基本信息发送给备份服务器;
步骤200:基于一次一密的加密方法,所述数据库服务器将数据库文件分解发送给所述备份服务器。
步骤300:所述备份服务器对接收的每份文件信息进行校验后,合并获得该数据库文件,并存储该数据库文件。
进一步地,所述校验是哈希值校验。
进一步地,所述哈希值校验使用的是SHA-1算法。
进一步地,所述哈希值校验使用的是SHA-256算法。
进一步地,所述哈希值校验使用的是SHA-512算法。
本发明的有益效果包括:安全、快速地对数据库文件进行备份,不仅仅适用于本地局域网,也适用于安全性较低的互联网。
【附图说明】
此处所说明的附图是用来提供对本发明的进一步理解,构成本申请的一部分,但并不构成对本发明的不当限定,在附图中:
图1是本发明方法所应用的系统结构图。
图2是本发明方法的基本流程图。
【具体实施方式】
下面将结合附图以及具体实施例来详细说明本发明,其中的示意性实施例以及说明仅用来解释本发明,但并不作为对本发明的限定。
参见附图1,本发明涉及两台服务器之间的数据库文件传输,分别包括数据库服务器和备份服务器,两者之间通过网络连接,目的是通过该网络将数据库文件从数据库服务器传输到备份服务器。本发明的数据库文件传输方法的第一个考虑是安全性,因而文件在传输过程中应当是加密的,并且,为了具有普适性,本发明的数据库服务器和备份服务器可以在无需事先协商的情况下,完成数据库文件的加密传输;第二个考虑是传输的效率,但是加密传输一般会降低传输的效率,因而本发明采用了一个简单有效地加密方法,在保证足够加密强度的基础上,对传输效率的影响很小;第三个考虑是传输的可靠性和容错性,本发明通过将文件分块传输,使得即使少数文件块在传输过程中损坏,也可以进行文件块重传,不会对整个传输带来太大的影响;第四个考虑文件的完整性,本发明通过对文件块的哈希值校验来解决完整性问题。并且,本发明的数据库文件传输方法有机地将上述四个考虑方面结合在一起,较为完善地解决了数据库文件传输问题。
参见附图2,其示出了本发明数据库文件的备份方法的基本流程:
步骤100:基于数据库服务器和备份服务器之间建立的密钥,数据库服务器将数据库文件的基本信息发送给备份服务器;
步骤200:基于一次一密的加密方法,所述数据库服务器将数据库文件分解发送给所述备份服务器。
步骤300:所述备份服务器对接收的每份文件信息进行校验后,合并获得该数据库文件,并存储该数据库文件。
基于上述基本步骤,下面对本发明的方法流程进行详细地说明:
(1)数据库服务器与备份服务器建立连接后,数据库服务器生成一个随机数a,并且计算初始加密密钥K=ga mod P,同时备份服务器也生成一个随机数b,并计算Y=gb modP。
其中,P是一个大素数,g是P的一个本原元,为了安全考虑,P的长度应该足够大,优选地,P的长度为1024位,则K的长度也为1024位(如果不足1024位,则在前端补零至1024位)
(2)备份服务器将Y发送给数据库服务器,数据库服务器计算X=Ya mod P,并将X发送给备份服务器。
(3)备份服务器计算
由上述步骤容易推导出,步骤(3)备份服务器获得的K’就等于K,因此通过上述步骤,数据库服务器和备份服务器共同拥有了初始加密密钥K,由于整个过程中K都没有在网络上传输,因此即使有黑客监听了整个过程,也只能获得X和Y两个值,由于离散对数计算的困难性,该黑客实质上无法在可接受的时间内,基于X和Y的值计算获得K,因而K获得了足够的保密性和安全性。
(4)数据库服务器将待传输的数据库文件分块,每块的长度都是K的长度的m倍,m为整数,最后一块的长度如果不足,则通过在块最后增加随机数来补足长度。设该数据库文件被分成N块,记为F1,F2,……,FN
例如,K的长度为1024位,m=10,则将该数据库文件以10240位的长度分块,如果最后一块不足10240位,则在最后一块的后面增加随机数,补足至10240位。
数据库文件分块的目的,是为了分块传输,从而将损坏的风险分散,即使传输过程中发生错误,也只需要重传出错的块,而无需重传整个文件。
(5)数据库服务器组装一个文件信息包={File,N,mL}。其中File是待传输数据库文件的文件信息,包括文件名,文件长度等,N是数据库文件被分块的块数,L是K的长度,mL就是每个分块的长度。
(6)数据库服务器计算数据库文件的第一个分块的哈希值Hash(F1),设哈希值的长度为h,则在哈希值后补上长度为L-h的随机数R1,获得新的长度为L的密钥K1
Hash是本发明采用的哈希算法,优选地,本发明采用SHA-1的哈希算法,也可以采用SHA-256或者SHA-512算法。SHA-1的结果是160位,K的长度为1024位,则需要生成一个1024-160=864位的随机数,补在SHA-1哈希值后面,构成新的1024位的密钥K1,由于新密钥中不仅有随机数,还包括哈希值,进一步增强了密钥的随机性,该新密钥在后面用于对第一个文件包的加密。
(7)设文件信息包的长度为L0,则将文件信息包与K的前L0位进行异或,得到异或结果XF。然后数据库服务器组装一个初始信息包={K1⊕K,XF,HF},将该初始信息包括发送给备份服务器。其中HF是文件信息包和K1的哈希值,用于后续的校验。
(8)备份服务器使用K解密该初始信息包,获得K1和文件信息包,并使用HF进行哈希校验,如果校验不通过,则请求数据库服务器重发该初始信息包直到校验通过,如果校验通过,则备份服务器告知数据库服务器已准备好接收数据库文件。
由于备份服务器在步骤(3)中已经获得了密钥K,因此可以通过与初始信息包进行异或,解密出K1和文件信息包。哈希校验保证了初始信息包是正确的。另外,由于K1中包括了Hash(F1),因而备份服务器同时还获得了第一个分块的哈希值。
(9)数据库服务器设置循环变量i=1。
(10)数据库服务器组装第i个文件包Bi,如果i<N(即不是最后一个文件包),则令Bi={Fi,Ki+1},Ki+1={Hash(Fi+1),Ri+1},如果i=N,则Bi=Fi
其中,Ri+1是一个长度为L-h的随机数,则Ri+1的长度与Hash(Fi+1)的长度之和为L,也就是说,Ki+1的长度为L,作为下个文件包的加密密钥。
(11)数据库服务器使用密钥Ki加密第i个文件包,即计算Ei=E(Ki,Bi)。
本发明提出了一种新的加密算法E,即连接异或法,该方法在后面做详细介绍。
(12)数据库服务器将Ei和Hash(Bi)发送给备份服务器,备份服务器对Ei解密,获得Bi(具体的解密方法也在后面介绍)。如果i<N,则备份服务器就从Bi中获得Fi和Ki+1,从Ki+1中获得Hash(Fi+1)。如果i=N,则备份服务器只获得Fi
(13)备份服务器使用Hash(Bi)对Bi进行哈希值校验,同时使用Hash(Fi)对Fi进行哈希值校验,通过双重哈希值校验对第i个文件包的完整性进行确认,如果有一个校验没通过,则备份服务器请求数据库服务器重新发送直至校验通过。
从上述步骤可以看出,Hash(Bi)是从本次发送中获得的,而Hash(Fi)是从上一个文件包中获得的,双重的不同来源的哈希校验给黑客攻击增加了难度。
(14)如果i<N,则令i增加1,并返回步骤(10),否则继续下述步骤。
(15)备份服务器合并接收到的所有Fi,获得数据库文件并存储。
如果最后一个FN被添加了随机数,由于文件信息包中有数据库文件的长度,因而备份服务器可以通过该长度获知最后一部分哪些是被添加的随机数,因而可以去除该随机数。
本发明对于每个文件包,使用的都是不同的密钥Ki,这实际上起到了一次一密的效果,大大增强了数据库文件传输的安全性。而对于步骤(11)中的加密算法,本发明使用了一种简单有效的连接异或法,具体说明如下:
(11.1)将Bi分成多个长度为L的块,设共有S块。
当i<N时,由于Bi包括Fi和Ki+1,其中Fi的长度为mL,则S=m+1;当i=N时,S=m。
(11.2)设Bi分成的S块为A1,A2,……,AS,连接异或的计算过程如下:
C1=A1⊕Ki
Cj=Cj-1⊕Aj⊕Ki,2≤j≤S;
(11.3)连接异或的结果Ei={C1,,C2,……,CS}。
本发明提出的连接异或法其使用的计算只有异或,没有复杂的计算,因此整个计算过程的效率是非常高的,对数据库文件的传输效率不会有太大影响。
连接异或的解密也非常简单,具体如下:
(12.1)将需要解密的Ei分成S个长度为L的块,即C1,,C2,……,CS
(12.2)按照下述公式进行连接异或解密:
A1=C1⊕Ki
Aj=Cj⊕Cj-1⊕Ki,2≤j≤S
上述连接异或解密的过程实际上可以并行计算。
(12.3)连接异或解密结果Bi={A1,A2,……,AS}。
以上所述仅是本发明的较佳实施方式,故凡依本发明专利申请范围所述的构造、特征及原理所做的等效变化或修饰,均包括于本发明专利申请范围内。

Claims (5)

1.一种数据库文件的备份方法,其特征在于,该方法包括以下步骤:
步骤100:基于数据库服务器和备份服务器之间建立的密钥,数据库服务器将数据库文件的基本信息发送给备份服务器;
步骤200:基于一次一密的加密方法,所述数据库服务器将数据库文件分解发送给所述备份服务器。
步骤300:所述备份服务器对接收的每份文件信息进行校验后,合并获得该数据库文件,并存储该数据库文件。
2.根据权利要求1所述的数据库文件的备份方法,其特征在于,所述校验是哈希值校验。
3.根据权利要求1-2所述的数据库文件的备份方法,其特征在于,所述哈希值校验使用的是SHA-1算法。
4.根据权利要求1-2所述的数据库文件的备份方法,其特征在于,所述哈希值校验使用的是SHA-256算法。
5.根据权利要求1-2所述的数据库文件的备份方法,其特征在于,所述哈希值校验使用的是SHA-512算法。
CN201611096857.3A 2016-12-02 2016-12-02 一种数据库文件的备份方法 Pending CN108153612A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611096857.3A CN108153612A (zh) 2016-12-02 2016-12-02 一种数据库文件的备份方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611096857.3A CN108153612A (zh) 2016-12-02 2016-12-02 一种数据库文件的备份方法

Publications (1)

Publication Number Publication Date
CN108153612A true CN108153612A (zh) 2018-06-12

Family

ID=62470266

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611096857.3A Pending CN108153612A (zh) 2016-12-02 2016-12-02 一种数据库文件的备份方法

Country Status (1)

Country Link
CN (1) CN108153612A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116708420A (zh) * 2023-07-28 2023-09-05 联想凌拓科技有限公司 用于数据传输的方法、装置、设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101394273A (zh) * 2008-10-17 2009-03-25 电子科技大学 一种多通道加密信息传输方法
CN102231727A (zh) * 2011-03-18 2011-11-02 杭州奕锐电子有限公司 基于加密增量传输的异地共享备份恢复方法
CN103118089A (zh) * 2013-01-22 2013-05-22 华中科技大学 一种基于多个云存储系统的安全存储方法及其系统
CN103530201A (zh) * 2013-07-17 2014-01-22 华中科技大学 一种适用于备份系统的安全数据去重方法和系统
CN104754055A (zh) * 2015-04-03 2015-07-01 易云捷讯科技(北京)有限公司 一种多云环境下的安全云存储方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101394273A (zh) * 2008-10-17 2009-03-25 电子科技大学 一种多通道加密信息传输方法
CN102231727A (zh) * 2011-03-18 2011-11-02 杭州奕锐电子有限公司 基于加密增量传输的异地共享备份恢复方法
CN103118089A (zh) * 2013-01-22 2013-05-22 华中科技大学 一种基于多个云存储系统的安全存储方法及其系统
CN103530201A (zh) * 2013-07-17 2014-01-22 华中科技大学 一种适用于备份系统的安全数据去重方法和系统
CN104754055A (zh) * 2015-04-03 2015-07-01 易云捷讯科技(北京)有限公司 一种多云环境下的安全云存储方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116708420A (zh) * 2023-07-28 2023-09-05 联想凌拓科技有限公司 用于数据传输的方法、装置、设备及介质
CN116708420B (zh) * 2023-07-28 2023-11-03 联想凌拓科技有限公司 用于数据传输的方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
JP6724249B2 (ja) 情報保護用のシステム及び方法
EP3692681B1 (en) A system and method for quantum-safe authentication, encryption and decryption of information
CN105939191B (zh) 一种云存储中密文数据的客户端安全去重方法
CN106254374B (zh) 一种具备去重功能的云数据公开审计方法
CN106357701B (zh) 云存储中数据的完整性验证方法
CN104917609B (zh) 一种基于用户感知的高效安全数据去重方法及系统
Asharov et al. More efficient oblivious transfer and extensions for faster secure computation
CN110741600A (zh) 提供去中心化协议以找回加密资产的计算机实现的系统和方法
CN103634114B (zh) 智能密码钥匙的验证方法及系统
JP2020502857A (ja) 情報保護用のシステム及び方法
CN106899406B (zh) 一种云端数据存储完整性的证明方法
CN111128322A (zh) 基于区块链的医疗数据处理方法、服务器及系统
US20130067218A2 (en) Incorporating data into cryptographic components of an ecqv certificate
CN105516340B (zh) 一种云存储数据可恢复性验证方法及系统
Azraoui et al. Stealthguard: Proofs of retrievability with hidden watchdogs
CN109510818A (zh) 区块链的数据传输系统、方法、装置、设备及存储介质
CN111274594B (zh) 一种基于区块链的安全大数据隐私保护共享方法
CN104809407A (zh) 云存储前端数据加解密及校验方法和系统
CN102045356A (zh) 一种面向云存储的可信存储验证方法和系统
CN108599934A (zh) 一种用于量子密钥分发的可验安全保密增强方法
CN106549963A (zh) 基于hdfs的安全存储系统
CN113660226B (zh) 一种基于区块链的能源数据可信共享系统和方法
CN104202160B (zh) Cpu卡在线充值加密通信方法
CN104052819A (zh) 多地理位置存储的云端数据完整性验证方法
Zhang et al. Provably secure cloud storage for mobile networks with less computation and smaller overhead

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
CB02 Change of applicant information

Address after: 101399 No. 2 East Airport Road, Shunyi Airport Economic Core Area, Beijing (1st, 5th and 7th floors of Industrial Park 1A-4)

Applicant after: Zhongke Star Map Co., Ltd.

Address before: 101399 Building 1A-4, National Geographic Information Technology Industrial Park, Guomen Business District, Shunyi District, Beijing

Applicant before: Space Star Technology (Beijing) Co., Ltd.

CB02 Change of applicant information
RJ01 Rejection of invention patent application after publication

Application publication date: 20180612

RJ01 Rejection of invention patent application after publication