CN110688666B - 一种分布式存储中数据加密保存方法 - Google Patents

一种分布式存储中数据加密保存方法 Download PDF

Info

Publication number
CN110688666B
CN110688666B CN201910948478.XA CN201910948478A CN110688666B CN 110688666 B CN110688666 B CN 110688666B CN 201910948478 A CN201910948478 A CN 201910948478A CN 110688666 B CN110688666 B CN 110688666B
Authority
CN
China
Prior art keywords
data
encryption
encrypted
module
storage
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
CN201910948478.XA
Other languages
English (en)
Other versions
CN110688666A (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.)
Zhuoeer Purchase Information Technology Wuhan Co ltd
Original Assignee
Zhuoeer Purchase Information Technology Wuhan 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 Zhuoeer Purchase Information Technology Wuhan Co ltd filed Critical Zhuoeer Purchase Information Technology Wuhan Co ltd
Priority to CN201910948478.XA priority Critical patent/CN110688666B/zh
Publication of CN110688666A publication Critical patent/CN110688666A/zh
Application granted granted Critical
Publication of CN110688666B publication Critical patent/CN110688666B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种分布式存储中数据加密保存方法,该加密保存方法通过存取程序和若干个存储节点实现,所述存取程序是用来读取或存储加密文件的程序代码,所述存取程序由数据加解密模块、数据切分模块、数据发送与接收模块组成;所述存储节点是用来分布保存加密程序的节点,在多账户的分布式存储系统中,这些存储节点由不同的用户持用,所述存储节点由请求处理模块、身份权限模块、数据加密模块与数据保存读取模块组成;本发明能在多用户共享的分布式加密保存中,更安全的保存加密数据,增加非法入侵者得到原始数据的难度。

Description

一种分布式存储中数据加密保存方法
技术领域
本发明涉及一种数据加密保存方法,特别是涉及一种分布式存储中数据加密保存方法。
背景技术
在区块链等领域,一般都是将数据加密保存到共享的分布式网络中,相比传统的加密保存,这些加密后的数据都是公开可读的,且这些加密数据都是长期保存,所以相比传统加密保存方法,非法入侵者可以更容易获取密文,安全面临更大威胁。
发明内容
为了克服现有技术的不足,本发明提供一种分布式存储中数据加密保存方法,能在多用户共享的分布式加密保存中,更安全的保存加密数据,增加非法入侵者得到原始数据的难度。
为解决上述技术问题,本发明提供如下技术方案:
本发明提供一种分布式存储中数据加密保存方法,该加密保存方法通过存取程序和若干个存储节点实现,所述存取程序是用来读取或存储加密文件的程序代码,所述存取程序由数据加解密模块、数据切分模块、数据发送与接收模块组成;所述存储节点是用来分布保存加密程序的节点,在多账户的分布式存储系统中,这些存储节点由不同的用户持用,所述存储节点由请求处理模块、身份权限模块、数据加密模块与数据保存读取模块组成,所述请求处理模块与存取程序交互,功能就是接收请求与返回结果,所述身份权限模块用于验证请示者的身份与权限,所述加解密模块的功能是用当前存储节点所有用户给定的密钥进行加解密,所述数据保存与读取模块功能是将当前加密后的文件保存到当前节点上,或保存到当前节点配置的某种存储系统。
作为本发明的一种优选技术方案,所述加密保存方法的具体步骤为:先将原始文件或数据用密钥A加密得到加密后数据A;再将数据A进行分块,得到加密数据块序列Ai:i为0到n;将不同的加密块Ai发给不同的用户;每个用户在接收到加密块Ai后,再用自己的密钥的对加密数据Ai做二次加密生成数据Bi;将二次加密后的数据保存到一般文件系统或专用数据保存系统,如结构化的数据库或简单对象存储系。
作为本发明的一种优选技术方案,读取加密数据的过程为:向保存加密数据Bi用户请求,经对应的存储节点用户自己的密钥解密,返回加密块Ai,请求者再把所有加密块并在一起,再用密钥A解密,得到原始数据,保存数据Bi的用户,在加密返回数据Ai时,需要对请求者做身份与权限验证。
作为本发明的一种优选技术方案,所述数据一次加密和数据做二次加密步骤中采用对称加密算法AES或DES算法进行数据加密。
作为本发明的一种优选技术方案,所述数据分发步骤中采用固定的路由表或一致性hash表将数据分发到每个用户的存储节点中;考虑到数据冗余,同一份数据可以发给多个节点。
与现有技术相比,本发明能达到的有益效果是:
在区块链等应用场景中,虽然加密后的数据Bi是公开的,但对于尝试想获取原始数据的非法入侵用户,他需要知道每个保存加密数据Bi的用户的密钥,与最终的加密密钥A,才能得到原始数据。如果这个文件被分成10份必需要10个用户保存,除了最终密钥,还需要破解这10个用户的密钥。即使考虑数据冗余,举个例子在一个3个存储节点的网络中,数据被分成3份,每份由两个节点保存,则要解密整个文件需要知道2个节的密钥和最终秘钥。综上所述,本发明的方法能在多用户共享的分布式加密保存中,更安全的保存加密数据,增加非法入侵者得到原始数据的难度。
附图说明
图1是本发明加密方法的加密流程图;
图2是本发明整体系统的模块图;
图3是本发明存取程序的模块图;
图4是本发明存储节点的模块图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
如图1所示,本发明提供一种分布式存储中数据加密保存方法,先将原始文件或数据用密钥A加密得到加密后数据A,再将数据A进行分块,得到加密数据块序列Ai:i为0到n。再将不同的加密块Ai发给不同的用户,每个用户在接收到加密块Ai后,再用自己的密钥的对加密数据Ai做二次加密生成数据Bi。
下面再就每一个步骤再做一些技术上说明:
1)数据一次加密:可以采用一些对称加密算法AES或DES算法等。
2)数据A进行分块:第一个是分几块问题,如果每一个分块保存到不同的用户那,则分得越多安全性越高,但性能与可维护性会降低,这是个折中问题,第二个,分块后需要保存分块的结果。
3)数据分发:哪些块分发到哪些用户的个存储节点,可以采用固定的路由表,也可以是一致性hash表等;考虑到数据冗余,同一份数据可以发给多个节点。
4)数据两次加密:每个用户用自己的密钥再对数据做二次加密,加密算法AES或DES等。
5)数据保存:数据可以保存到一般的文件系统,也可以保存到专用的数据保存系统,如结构化的数据库或简单对象存储系统等。
读取加密数据的过程为:向保存加密数据Bi用户请求,经对应的存储节点用户自己的密钥解密,返回加密块Ai,请求者再把所有加密块并在一起,再用密钥A解密,得到原始数据。保存数据Bi的用户,在加密返回数据Ai时,需要对请求者做身份与权限验证。
具体的:如图2所示,本发明整个系统由存取程序与多个存储节点构成。存取程序是用来读取或存储加密文件的程序代码,存储节点是用来分布保存加密程序的节点,在多账户的分布式存储系统中,这些存储节点由不同的用户持用。形式上存储程序可以内嵌在应用里或是内嵌在存储节点本身上,再由节点提供API供应用调用。
如图3所示,存取程序由三个模块构成:数据加解密模块、数据切分模块、数据发送与接收模块。从外面来看存取程序的整体作用就是把数据或文件加密保存到存储节点,内部是由三个模块组成。对于存数据,数据先由加解密模块由对称加密等算法加密成加密数据,其中加密用的密钥由外部传入。得到加密后,根据需求切分成几个部分,切分后的结果由此模块直接保存或返回给外面APP,由外部APP来保存。切分后的数据通过数据发送与接收模块保存到存储节点,切分的数据与存储节点的对应关系,可以是固定的对应关系,或是一致性hash等算法来决定,如果考虑到数据冗余,可以将同一份数据保存到多个节点上。对于读取数据,存取程序收到请求后,请求中会包含密钥与保存在各个节点的加密文件地址,过程与加密保存数据正好相反,先是数据发送与接收模块与各个节点获取得数据,然后由数据切片模块合并成一个正常的加密后的文件,再由数据加解密模块根据传入的密钥解密文件返回。
如图4所示,存储节点由4部分模块组成:请求处理模块、身份权限模块、数据加密模块与数据保存读取模块。请求处理模块与存取程序交互,功能就是接收请求与返回结果。身份权限模块用于验证请示者的身份与权限,加解密模块的功能是用当前存储节点所有用户给定的密钥进行加解密,数据保存与读取模块,将当前加密后的文件保存到当前节点上,或保存到当前节点配置的某种存储系统。对应上段中所讲的两流程一样,这也是相对应存与取两种流程。对于存流程,先是请求模块处理存取程序的请求,然后身份权限模块验证请求者的身份,不通过直接返回权限错误。经过身份权限验证后,就可以对要保存的文件进行加密,此时的加密密钥是用当前节点账户提供(最简单的加密密钥可以存在加解密模块中),最后由保存读取模块对加密后的文件进行保存。对于读程序,在经过请求处理模块后,再由身份权限模块进行验证,不通过就返回错误,对于通过验证请求,先是由数据保存读取模块读取到数据,再由加解密模块进行解密,最后由请求处理模块返回给存取程序。
本发明的实施方式不限于此,按照本发明的上述实施例内容,利用本领域的常规技术知识和惯用手段,在不脱离本发明上述基本技术思想前提下,以上优选实施例还可以做出其它多种形式的修改、替换或组合,所获得的其它实施例均落在本发明权利保护范围之内。

Claims (1)

1.一种分布式存储中数据加密保存方法,其特征在于,该加密保存方法通过存取程序和若干个存储节点实现,所述存取程序是用来读取或存储加密文件的程序代码,所述存取程序由数据加解密模块、数据切分模块、数据发送与接收模块组成;所述存储节点是用来分布保存加密程序的节点,在多账户的分布式存储系统中,这些存储节点由不同的用户持用,所述存储节点由请求处理模块、身份权限模块、数据加密模块与数据保存读取模块组成,所述请求处理模块与存取程序交互,功能就是接收请求与返回结果,所述身份权限模块用于验证请示者的身份与权限,所述加解密模块的功能是用当前存储节点所有用户给定的密钥进行加解密,所述数据保存与读取模块功能是将当前加密后的文件保存到当前节点上,或保存到当前节点配置的某种存储系统,所述数据加密保存方法的具体步骤为:数据一次加密:将原始文件或数据用密钥A加密得到加密后数据A;数据分片:将数据A进行分块,得到加密数据块序列Ai:i为0到n;数据分发:将不同的加密块Ai发给不同的用户;数据二次加密:每个用户在接收到加密块Ai后,再用自己的密钥对加密数据Ai做二次加密生成数据Bi;数据保存:将二次加密后的数据保存到一般文件系统或专用数据保存系统,如结构化的数据库或简单对象存储系统;二次加密后数据的读取过程为:向保存加密数据Bi的用户请求,经对应的存储节点用户自己的密钥解密,返回加密块Ai,请求者再把所有加密块并在一起,再用密钥A解密,得到原始数据,保存数据Bi的用户,在加密返回数据Ai时,需要对请求者做身份与权限验,所述数据一次加密和数据做二次加密步骤中采用对称加密算法AES或DES算法进行数据加密,所述数据分发步骤中采用固定的路由表或一致性hash表将数据分发到每个用户的存储节点中;考虑到数据冗余,同一份数据可以发给多个节点。
CN201910948478.XA 2019-10-08 2019-10-08 一种分布式存储中数据加密保存方法 Active CN110688666B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910948478.XA CN110688666B (zh) 2019-10-08 2019-10-08 一种分布式存储中数据加密保存方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910948478.XA CN110688666B (zh) 2019-10-08 2019-10-08 一种分布式存储中数据加密保存方法

Publications (2)

Publication Number Publication Date
CN110688666A CN110688666A (zh) 2020-01-14
CN110688666B true CN110688666B (zh) 2023-07-28

Family

ID=69111465

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910948478.XA Active CN110688666B (zh) 2019-10-08 2019-10-08 一种分布式存储中数据加密保存方法

Country Status (1)

Country Link
CN (1) CN110688666B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111277655A (zh) * 2020-01-21 2020-06-12 山东公链信息科技有限公司 一种基于智能音箱的分布式存储系统
CN111680307A (zh) * 2020-04-23 2020-09-18 平安科技(深圳)有限公司 分布式数据加密方法、装置、云存储服务器及存储介质
CN112328984B (zh) * 2020-11-24 2024-02-09 深圳市鹰硕技术有限公司 一种应用于大数据的数据安全管理方法和系统
CN113641648B (zh) * 2021-08-18 2023-04-21 山东省计算中心(国家超级计算济南中心) 一种分布式云安全存储方法、系统和存储介质
CN114189595A (zh) * 2021-11-19 2022-03-15 临沂大学 一种基于联盟链的图像秘密共享方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106156653A (zh) * 2016-07-05 2016-11-23 浪潮(北京)电子信息产业有限公司 一种数据存储的方法及系统
CN107566374A (zh) * 2017-09-07 2018-01-09 山东超越数控电子有限公司 一种基于用户隔离存储的云存储数据保护方法及系统
CN108491732A (zh) * 2018-03-13 2018-09-04 山东超越数控电子股份有限公司 一种基于业务隔离存储的海量存储数据保护系统及方法
CN108647523A (zh) * 2018-04-28 2018-10-12 华南理工大学 一种基于区块链的电子证明系统及存证、文件恢复方法
CN109918925A (zh) * 2019-02-19 2019-06-21 上海泉坤信息科技有限公司 数据存储方法、数据节点及存储介质
CN110099114A (zh) * 2019-04-30 2019-08-06 普华云创科技(北京)有限公司 区块链和ipfs协议的文件存储方法、系统、终端及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017193108A2 (en) * 2016-05-06 2017-11-09 ZeroDB, Inc. Encryption for distributed storage and processing

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106156653A (zh) * 2016-07-05 2016-11-23 浪潮(北京)电子信息产业有限公司 一种数据存储的方法及系统
CN107566374A (zh) * 2017-09-07 2018-01-09 山东超越数控电子有限公司 一种基于用户隔离存储的云存储数据保护方法及系统
CN108491732A (zh) * 2018-03-13 2018-09-04 山东超越数控电子股份有限公司 一种基于业务隔离存储的海量存储数据保护系统及方法
CN108647523A (zh) * 2018-04-28 2018-10-12 华南理工大学 一种基于区块链的电子证明系统及存证、文件恢复方法
CN109918925A (zh) * 2019-02-19 2019-06-21 上海泉坤信息科技有限公司 数据存储方法、数据节点及存储介质
CN110099114A (zh) * 2019-04-30 2019-08-06 普华云创科技(北京)有限公司 区块链和ipfs协议的文件存储方法、系统、终端及存储介质

Also Published As

Publication number Publication date
CN110688666A (zh) 2020-01-14

Similar Documents

Publication Publication Date Title
CN110688666B (zh) 一种分布式存储中数据加密保存方法
CN109120639B (zh) 一种基于区块链的数据云存储加密方法及系统
US10803194B2 (en) System and a method for management of confidential data
EP3248310B1 (en) Method, apparatus, and system for quantum key distribution
US9122888B2 (en) System and method to create resilient site master-key for automated access
CN110061983B (zh) 一种数据处理方法及系统
US11128447B2 (en) Cryptographic operation method, working key creation method, cryptographic service platform, and cryptographic service device
US9020149B1 (en) Protected storage for cryptographic materials
KR101103403B1 (ko) 향상된 보안성을 갖는 데이터 관리 시스템의 제어방법
US10887085B2 (en) System and method for controlling usage of cryptographic keys
KR20130039354A (ko) Dbms 및 데이터베이스에서 암호화 방법
US11128452B2 (en) Encrypted data sharing with a hierarchical key structure
CN103414682A (zh) 一种数据的云端存储方法及系统
Kumar et al. Data outsourcing: A threat to confidentiality, integrity, and availability
KR102298266B1 (ko) 클라우드 환경에서 안전하고 효율적인 데이터 공유를 위한 속성기반 암호를 활용한 데이터 접근 제어 방법 및 시스템
Riad et al. Secure storage and retrieval of IoT data based on private information retrieval
Onica et al. Efficient key updates through subscription re-encryption for privacy-preserving publish/subscribe
CN111917711B (zh) 数据访问方法、装置、计算机设备和存储介质
US20240179150A1 (en) Management of access rights to digital files with possible delegation of the rights
EP4012689B1 (en) Key management system providing secure management of cryptographic keys, and methods of operating the same
KR101812311B1 (ko) 사용자 단말 및 속성 재암호 기반의 사용자 단말 데이터 공유 방법
Kanna et al. A new approach in multi cloud environment to improve data security
KR101663632B1 (ko) 데이터베이스 암호화를 지원하는 스토리지 서비스 제공 서버 및 방법
Singh et al. Role based security for cloud based data with data reliability
Passricha et al. A secure deduplication scheme for encrypted data

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
GR01 Patent grant
GR01 Patent grant