CN108616537B - 一种低耦合的通用数据加解密方法及系统 - Google Patents
一种低耦合的通用数据加解密方法及系统 Download PDFInfo
- Publication number
- CN108616537B CN108616537B CN201810403474.9A CN201810403474A CN108616537B CN 108616537 B CN108616537 B CN 108616537B CN 201810403474 A CN201810403474 A CN 201810403474A CN 108616537 B CN108616537 B CN 108616537B
- Authority
- CN
- China
- Prior art keywords
- data
- encryption
- decryption
- layer
- client
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Bioethics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种低耦合的通用数据加解密方法及系统,本发明预先通过数据加解密客户端挂载预先部署的底层存储系统并挂载数据加密卡作为数据加解密服务器,阻塞等待用户的读写请求,如果收到用户的写请求,则将写请求分解成指定大小的数据段且对数据段进行对齐,然后将数据段一一发送给加解密服务器,加解密服务器将数据段加密后写入底层存储系统;如果收到用户的读请求,则读取缓存的明文数据或者将底层存储系统从的加密数据解密后返回。本发明能够适配不同的底层存储系统、具有低耦合架构、高性能、高可靠、通用性好的优点,能够最大限度提高系统可用性,降低加解密数据时延、满足高可靠性要求。
Description
技术领域
本发明涉及数据存储安全技术,具体涉及一种低耦合的通用数据加解密方法及系统。
背景技术
数据作为存储系统中最核心的资产,其安全性至关重要。最开始的存储系统是本地直连的方式,数据安全可以通过外网隔离等方式实现,如今随着网络存储和分布式存储的发展,数据被网络上的众多机器共享,因而更加容易受到攻击。从根本上来说,数据的安全存储主要是保证数据完整可靠不泄密。
现阶段存在很多商业或者开源的底层存储系统,这些存储系统绝大部分都通过明文访问底层数据,这样必然会存在安全隐患。同时由于部分存储系统紧耦合结构,即存储系统内部各个模块关系紧密,各模块之间依赖关系强;开发者如果需要在这些存储系统中插入加解密的模块,那么将会花费很长时间对该系统进行解耦,同时插入的加解密模块很容易使系统更脆弱,更容易崩溃,这无疑加重了技术开发的难度以及延长了技术的开发周期;对于一些自带加解密模块的存储系统,系统没有提供对外的加解密接口,加解密只能使用CPU资源来进行,由于加解密计算密集特性以及CPU并发性能弱等因素,从而导致加解密性能低,加解密占用的CPU资源大,从而导致用户体验差。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种低耦合的通用数据加解密方法及系统,本发明能够适配不同的底层存储系统、具有低耦合架构、高性能、高可靠、通用性好的优点,能够最大限度提高系统可用性,降低加解密数据时延、满足高可靠性要求。
为了解决上述技术问题,本发明采用的技术方案为:
一种低耦合的通用数据加解密方法,实施步骤包括:
1)预先通过数据加解密客户端挂载预先部署的底层存储系统并挂载数据加密卡作为数据加解密服务器,阻塞等待用户的读写请求,如果收到用户的写请求,则跳转执行步骤2);如果收到用户的读请求,则跳转执行步骤3);
2)通过数据加解密客户端将带有未加密的明文数据的写请求分解成指定大小的数据段且对数据段进行对齐,然后将数据段一一发送给加解密服务器;加解密服务器将对应的数据段中的数据通过密钥进行加密后写入底层存储系统,且密钥存储在写入文件的指定位置,将执行结果返回给数据加解密客户端,跳转执行步骤1);
3)解析读请求,确认数据加解密客户端的缓存中是否存在需要读取的明文数据,如果存在则更新缓存数据的存活时间,并将缓存中的数据返回;如果不存在则读取底层存储系统上对应的源数据,将源数据返回时通过加解密服务器将密文数据通过密钥进行解密,最终将解密后的明文数据通过数据加解密客户端的缓存进行缓存后返回给数据加解密客户端,跳转执行步骤1)。
优选地,步骤2)中的指定大小的数据段是指4K字节大小的数据段。
优选地,步骤2)中密钥存储在写入文件的第一个4K字节中。
优选地,所述数据加解密客户端包括Fuse层、VFS层、明文Cache层、加密层、密文Cache层,其中Fuse层用于通过fuse文件系统挂载数据加解密客户端,VFS层用于调用底层存储系统的读写操作,明文Cache层用于作为读缓冲缓存将解密后的明文数据,加密层用于挂载数据加密卡作为数据加解密服务器,密文Cache层用于作为写缓冲缓存通过密钥进行加密后写入底层存储系统的数据。
本发明还提供一种低耦合的通用数据加解密系统,包括计算机设备,其特征在于:所述计算机设备被编程以执行本发明低耦合的通用数据加解密方法的步骤。
本发明具有下述优点:
1、本发明方法通过将不同的文件系统进行抽象后采用统一的方式进行操作,从而用户可以直接进行读写调用而无须考虑具体文件系统和实际物理介质,能够向下兼容不同的底层存储系统,既可以是标准的底层存储系统,又可以是类似于Glusterfs的分布式存储系统,保证数据加密方法的通用性;
2、本发明方法使用的加密的密钥也会写入底层存储系统中,当更换系统后,可以重新部署环境来读取已存在的加密数据,从而最大的保证了数据的可用性;
3、发明方法使用加解密卡单独对数据进行加解密,既可以保证了数据加解密的低时延,又极大的满足了存储数据的高可靠性要求;
4、本发明方法具有低耦合特性,即模块之间的依赖关系弱,模块之间的接口关系简单,从而使得用户能够动态的对加解密客户端中模块进行调节以提升数据的读写性能。
附图说明
图1为本发明实施例方法的应用环境示意图。
图2为本发明实施例中的写流程示意图。
图3为本发明实施例中的读流程示意图。
图4为本发明实施例中的文件加密结构示意图。
图5为本发明实施例方法的数据加解密客户端拓扑结构示意图。
具体实施方式
下文将以图1所示,包含加密卡、Gluserfs文件系统以及EXT4文件系统的linux操作系统为例,对本发明具有低耦合、高可靠的通用的数据加解密方法及系统进行进一步的详细说明。本实施例实施的基础为部署好底层存储系统,本实施例具体部署Gluserfs文件系统作为底层存储系统,且Gluserfs文件系统构成存储集群,管理员选择存储集群的若干台存储服务器划分出对应的空闲分区搭建分布式文件系统,该文件系统提供基础的存储服务,与应用本实施例低耦合的通用数据加解密方法的主机在一个集群中。
如图2和图3所示,本实施例低耦合的通用数据加解密方法的实施步骤包括:
1)预先通过数据加解密客户端挂载预先部署的底层存储系统并挂载数据加密卡作为数据加解密服务器,阻塞等待用户的读写请求,如果收到用户的写请求,则跳转执行步骤2);如果收到用户的读请求,则跳转执行步骤3);
2)通过数据加解密客户端将带有未加密的明文数据的写请求分解成指定大小的数据段且对数据段进行对齐,然后将数据段一一发送给加解密服务器;加解密服务器将对应的数据段中的数据通过密钥进行加密后写入底层存储系统,且密钥存储在写入文件的指定位置,将执行结果返回给数据加解密客户端,跳转执行步骤1);
3)解析读请求,确认数据加解密客户端的缓存中是否存在需要读取的明文数据,如果存在则更新缓存数据的存活时间,并将缓存中的数据返回;如果不存在则读取底层存储系统上对应的源数据,将源数据返回时通过加解密服务器将密文数据通过密钥进行解密,最终将解密后的明文数据通过数据加解密客户端的缓存进行缓存后返回给数据加解密客户端,跳转执行步骤1)。
数据加解密客户端对上层调用者屏蔽了应用端与文件系统之间的细节,调用者只需要指定保存密文的外部文件系统类型和加解密的算法即可。
如图4所示,步骤2)中的指定大小的数据段是指4K字节大小的数据段。根据数据加解密的标准,客户端中加密卡对固定长度的明文加密生成了相同长度的密文;当加密长度过长,对于小于该加密长度的小文件加密时,会生成与加密长度同等大小的密文,从而浪费了存储空间,当加密长度过小时,大文件如果按照加密长度进行加密,则加密次数太多,从而降低了数据的加密性能。此处采用了虚拟内存中页的大小长度4K作为数据加解密长度。由于客户端中加密卡对数据加密的长度设置为4K字节加密,因此从客户端将会对写操作的数据从头到尾按照4K长度一一发送给加密层,通过加密卡对齐进行加密。如果需要写入的数据长度不是4K字节的整数倍,客户端会自动对不足4K字节的数据进行补零。
如图4所示,步骤2)中密钥存储在写入文件的第一个4K字节中。数据加解密客户端调用加密层的加密卡对数据进行加密,加密的密钥存储在文件的前4K字节中,如果是新创建一个文件,则首先在文件的头部写入加密信息,如果是append操作,则需要首先读取文件的前4K字节返回至加密层,在加密层解析该4K字节获取到加密密钥等信息。然后通过该加密密钥对明文数据进行加密。数据加密完成后,通过类VFS层调用Glusterfs文件系统的写操作,将密文数据一一写入存储中。如果写入成功,则返回成功信息,如果失败则返回失败信息。
如图5所示,本实施例中数据加解密客户端包括Fuse层、VFS层、明文Cache层、加密层、密文Cache层,其中Fuse层用于通过fuse挂载数据加解密客户端,VFS层用于调用底层存储系统的读写操作,明文Cache层用于作为读缓冲缓存将解密后的明文数据,加密层用于挂载数据加密卡作为数据加解密服务器,密文Cache层用于作为写缓冲缓存通过密钥进行加密后写入底层存储系统的数据。本实施例中,使用数据加密卡作为数据加解密服务器,调用者指定Glusterfs作为密文的存储介质,任选一种加密算法作为数据的加密算法,然后通过加解密客户端对文件系统进行挂载。加解密客户端采用fuse文件系统(用户空间文件系统,Filesystem in userspace,简称fuse)挂载,上层命令实际上是通过读取打开/dev/fuse设备文件的文件描述符获取的,正常情况下,客户端阻塞读取该设备,但当系统接收到调用者对挂载文件夹进行操作时,加解密客户端会通过该设备获取到这些操作信息。在读取文件时,通过类VFS层调用Glusterfs中的读操作,因为加密信息存储在文件的前4K字节,因而首先需要读取文件的前4K字节,并对该数据进行解析,获取到数据的解密密钥。同时又因为数据加解密的单位长度为4K字节,因此我们读取数据的长度为4K字节的整数倍。在这个过程中,如果获取失败,则失败返回;加密层首先对获取到的文件前4K字节进行解析,获取到解密密钥,然后对读取到的4K字节整数倍的数据从头到尾依次进行解密。同时解密后的数据在缓存层中进行缓存更新,最后将数据返回。
综上所述,本实施例低耦合的通用数据加解密方法通过使用数据加密卡作为数据加解密服务器,通过数据加解密客户端挂载该文件系统,对底层文件系统的读写操作都是通过该数据加解密客户端进行的;数据加解密客户端挂载后,数据加解密服务器与数据加解密客户端之间传输未加密的明文数据,与存储服务器之间传输密文数据,同时数据加解密客户端的明文Cache层能够缓冲明文数据以提升读性能,具有可拓展性、高可靠性、低耦合的优点,能够满足对加密存储的数据的低时延和高可靠性的要求。
此外,本实施例还提供一种低耦合的通用数据加解密系统,包括计算机设备,该计算机设备被编程以执行本实施例低耦合的通用数据加解密方法的步骤。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (2)
1.一种低耦合的通用数据加解密方法,其特征在于实施步骤包括:
1)预先通过数据加解密客户端挂载预先部署的底层存储系统并挂载数据加密卡作为数据加解密服务器,阻塞等待用户的读写请求,如果收到用户的写请求,则跳转执行步骤2);如果收到用户的读请求,则跳转执行步骤3);
2)通过数据加解密客户端将带有未加密的明文数据的写请求分解成指定大小的数据段且对数据段进行对齐,然后将数据段一一发送给加解密服务器;加解密服务器将对应的数据段中的数据通过密钥进行加密后写入底层存储系统,且密钥存储在写入文件的指定位置,将执行结果返回给数据加解密客户端,跳转执行步骤1);
3)解析读请求,确认数据加解密客户端的缓存中是否存在需要读取的明文数据,如果存在则更新缓存数据的存活时间,并将缓存中的数据返回;如果不存在则读取底层存储系统上对应的源数据,将源数据返回时通过加解密服务器将密文数据通过密钥进行解密,最终将解密后的明文数据通过数据加解密客户端的缓存进行缓存后返回给数据加解密客户端,跳转执行步骤1);
所述数据加解密客户端包括Fuse层、VFS层、明文Cache层、加密层、密文Cache层,其中Fuse层用于通过fuse文件系统挂载数据加解密客户端,VFS层用于调用底层存储系统的读写操作,明文Cache层用于作为读缓冲缓存将解密后的明文数据,加密层用于挂载数据加密卡作为数据加解密服务器,密文Cache层用于作为写缓冲缓存通过密钥进行加密后写入底层存储系统的数据;
步骤2)中的指定大小的数据段是指虚拟内存中页的大小长度4K字节大小的数据段,客户端中加密卡对数据加密的长度设置为4K字节加密,对写操作的数据从头到尾按照4K长度一一发送给加密层,通过加密卡对齐进行加密,如果需要写入的数据长度不是4K字节的整数倍,客户端会自动对不足4K字节的数据进行补零;
步骤2)中密钥存储在写入文件的第一个4K字节中,如果是新创建一个文件,则首先在文件的头部写入加密信息,如果是append操作,则需要首先读取文件的前4K字节返回至加密层,在加密层解析该4K字节获取到加密秘钥,通过加密秘钥对明文数据进行加密。
2.一种低耦合的通用数据加解密系统,包括计算机设备,其特征在于:所述计算机设备被编程以执行权利要求1所述低耦合的通用数据加解密方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810403474.9A CN108616537B (zh) | 2018-04-28 | 2018-04-28 | 一种低耦合的通用数据加解密方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810403474.9A CN108616537B (zh) | 2018-04-28 | 2018-04-28 | 一种低耦合的通用数据加解密方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108616537A CN108616537A (zh) | 2018-10-02 |
CN108616537B true CN108616537B (zh) | 2021-11-30 |
Family
ID=63661453
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810403474.9A Active CN108616537B (zh) | 2018-04-28 | 2018-04-28 | 一种低耦合的通用数据加解密方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108616537B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112487445B (zh) * | 2020-11-25 | 2024-05-14 | 湖南麒麟信安科技股份有限公司 | 一种文件型门卫式存储加密功能的Hadoop系统及其应用方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101288065A (zh) * | 2005-03-28 | 2008-10-15 | 德塔勒哥若公司 | 关系数据库管理系统的非侵入式加密 |
CN102355350A (zh) * | 2011-06-30 | 2012-02-15 | 北京邮电大学 | 一种用于移动智能终端的文件加密方法和系统 |
CN107018208A (zh) * | 2017-06-07 | 2017-08-04 | 湖南麒麟信安科技有限公司 | 一种具有横向扩展功能的san存储系统的数据加密方法 |
CN107948170A (zh) * | 2017-11-30 | 2018-04-20 | 中国平安人寿保险股份有限公司 | 接口请求参数加密方法、装置、设备及可读存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020147907A1 (en) * | 2001-04-06 | 2002-10-10 | Bruce Ross | System for authorizing transactions using specially formatted smart cards |
CN100536473C (zh) * | 2006-11-09 | 2009-09-02 | 华中科技大学 | 一种用于nas存储系统的加密读写方法 |
US20130262879A1 (en) * | 2012-03-29 | 2013-10-03 | Aptos Technology Inc. | Secure type storage device and information security system |
CN103065082A (zh) * | 2012-07-04 | 2013-04-24 | 北京京航计算通讯研究所 | 基于Linux系统的软件安全防护方法 |
CN104852922B (zh) * | 2015-05-26 | 2018-10-02 | 陈彬 | 基于分布式文件系统的大数据加解密方法 |
CN105119719B (zh) * | 2015-10-16 | 2018-05-04 | 成都卫士通信息产业股份有限公司 | 一种安全存储系统的密钥管理方法 |
CN106156289A (zh) * | 2016-06-28 | 2016-11-23 | 北京百迈客云科技有限公司 | 一种读写对象存储系统中的数据的方法以及装置 |
CN107609428A (zh) * | 2017-08-16 | 2018-01-19 | 大唐高鸿信安(浙江)信息科技有限公司 | 数据安全存储系统及方法 |
-
2018
- 2018-04-28 CN CN201810403474.9A patent/CN108616537B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101288065A (zh) * | 2005-03-28 | 2008-10-15 | 德塔勒哥若公司 | 关系数据库管理系统的非侵入式加密 |
CN102355350A (zh) * | 2011-06-30 | 2012-02-15 | 北京邮电大学 | 一种用于移动智能终端的文件加密方法和系统 |
CN107018208A (zh) * | 2017-06-07 | 2017-08-04 | 湖南麒麟信安科技有限公司 | 一种具有横向扩展功能的san存储系统的数据加密方法 |
CN107948170A (zh) * | 2017-11-30 | 2018-04-20 | 中国平安人寿保险股份有限公司 | 接口请求参数加密方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108616537A (zh) | 2018-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7162647B2 (en) | Method and apparatus for cryptographic conversion in a data storage system | |
JP4643427B2 (ja) | 暗号化機能内蔵ストレージシステム | |
JP4698982B2 (ja) | 暗号処理を行うストレージシステム | |
US20180218156A1 (en) | Encryption and Decryption Method and Apparatus in Virtualization System, and System | |
US8397083B1 (en) | System and method for efficiently deleting a file from secure storage served by a storage system | |
US20140331061A1 (en) | Drive level encryption key management in a distributed storage system | |
US20190325147A1 (en) | Method and apparatus for processing data, computer device and storage medium | |
US8843768B2 (en) | Security-enabled storage controller | |
US10089245B2 (en) | Management of encryption keys for multi-mode network storage device | |
CN111475524B (zh) | 基于拦截器的数据处理方法、装置和计算机设备 | |
KR101120779B1 (ko) | 시스템 페이징 파일의 암호화 | |
CN111339034B (zh) | 一种密文存储明文访问的系统、密文存储和明文访问方法 | |
KR20130107298A (ko) | 가상 머신을 이용한 공유 데이터 관리 | |
CN115225269A (zh) | 分布式密码卡的密钥管理方法、装置和系统 | |
CN112733189A (zh) | 一种实现文件存储服务端加密的系统与方法 | |
KR20080029687A (ko) | 암호화 기능이 내장된 메모리를 이용한 고속 대용량의암호화 장치 및 그 구현 방법 | |
US9158579B1 (en) | System having operation queues corresponding to operation execution time | |
CN108616537B (zh) | 一种低耦合的通用数据加解密方法及系统 | |
US20220085983A1 (en) | Encryption keys from storage systems | |
CN112487445B (zh) | 一种文件型门卫式存储加密功能的Hadoop系统及其应用方法 | |
CN112416526B (zh) | 一种直接存储访问方法、装置及相关设备 | |
CN109711207B (zh) | 一种数据加密方法及装置 | |
US20170242802A1 (en) | Method for setting encrypted storage area, apparatus for setting encrypted storage area, and terminal | |
US7984306B1 (en) | System and method for reducing processing latency in a security appliance | |
CN117290897A (zh) | 加解密电路、处理系统及电子设备 |
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: 410000 4th floor, Gongmei building, 156 Sany Avenue, Kaifu District, Changsha City, Hunan Province Applicant after: Hunan Qilin Xin'an Technology Co., Ltd Address before: 410000 4th floor, Gongmei building, 156 Sany Avenue, Kaifu District, Changsha City, Hunan Province Applicant before: HUNAN KYLIN XINAN TECHNOLOGY Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |