分布式存储系统通信协议的加密、解密方法及装置与流程

文档序号:12691869阅读:657来源:国知局
分布式存储系统通信协议的加密、解密方法及装置与流程

本发明涉及存储系统数据安全技术领域,尤其涉及一种分布式存储系统通信协议的加密、解密方法及装置。



背景技术:

分布式存储系统,是将数据分散存储在多台独立的设备上。分布式存储系统往往有多个节点组成,大规模分布式存储会有跨机房、在公网上传输控制数据、文件数据的情况。特别是在互联网环境下,会有攻击者根据报文长度推测报文内容,进而破解存储通信装置,截取关键内容信息。如何保证在公网上安全、可靠传输数据就变成了构建分布式存储系统的基础性问题。

分布式存储通信协议是构成分布式存储系统的基础,它保证了不同节点间状态、元数据信息的一致性,提供了用户访问、使用存储系统的基本条件。但其信息内容都暴露在公共网络上,信息安全收到极大的威胁,所以必须采取一定的措施才能保证彼此间信息传输的安全性。

RC4加密算法是一种对称加密算法(Symmetric Key Encryption),它是一个可变密钥长度、面向字节操作的流密码。流密码也属于对称密码,但与分组加密算法不同的是,流密码不对明文数据进行分组,而是用密钥生成与明文一样长短的密码流对明文进行加密,加解密使用相同的密钥。RC4加密算法被广泛应用于SSL/TLS(安全套接协议/传输层安全协议)标准,该标准是为网络浏览器和服务器间通信而制定的。

RC4加密算法特点:(1)算法简洁易于软件实现,加密速度快,安全性比较高;(2)密钥长度可变,一般用256个字节。因为RC4加密算法具有实现简单,加密速度快,对硬件资源耗费低等优点,使其跻身于轻量级加密算法的行列。但是其简单的算法结构也容易遭到破解攻击,RC4加密算法的加密强度完全取决于密钥,即伪随机序列生成,而真正的随机序列是不可能实现,只能实现伪随机。这就不可避免出现密钥的重复。RC4加密算法不管是加密还是解密,都只进行了异或运算,这就意味着,一旦子密钥序列出现了重复,密文就极有可能被破解。

因此,需要设计一种安全性高的分布式存储通信协议加密、解密方法,防止攻击者根据报文长度及重复字段推算出通信报文格式。



技术实现要素:

针对以上技术问题,本发明的目的是提供一种分布式存储系统通信协议的加密、解密方法及装置,针对RC4加密算法的问题,设计了一种长度可变、无重复序列的加密方法,增加了加密后数据被破解的难度,提高了数据传输的安全性。

为达到上述目的,本发明通过以下技术方案实现:

本发明提供一种分布式存储系统通信协议的加密方法,包括以下步骤:

发送端获取待加密的原始数据;

发送端构建分布式存储系统通信协议的报文,所述分布式存储系统通信协议的报文包括七个字段,其中第一字段为占一个字节的随机数,第二字段为占四个字节的魔法数字,第三字段为占一个字节的第四字段的长度值,第四字段为随机长度、随机内容的垃圾文字,第五字段为临时请求密钥,第六字段为临时响应密钥,第七字段为发送端上待加密的原始数据;

发送端获取加密算法的共享密钥;

发送端通过加密算法,利用共享密钥对报文中的第二字段至第六字段进行加密;

发送端通过加密算法,利用报文中的第五字段的临时请求密钥对报文中的第七字段进行加密,发送端将加密后的报文发送至接收端。

进一步地,所述分布式存储系统通信协议的报文的七个字段由分布式存储系统的多个存储节点生成。

进一步地,所述临时请求密钥和临时响应密钥由分布式存储系统的每个存储节点每隔规定时间随机生成。

进一步地,所述加密算法为RC4加密算法。

本发明还提供一种分布式存储系统通信协议的解密方法,包括以下步骤:

接收端接收来自发送端的加密后的报文;

接收端构建分布式存储系统通信协议的报文,所述分布式存储系统通信协议的报文包括七个字段,其中第一字段为占一个字节的随机数,第二字段为占四个字节的魔法数字,第三字段为占一个字节的第四字段的长度值,第四字段为随机长度、随机内容的垃圾文字,第五字段为临时请求密钥,第六字段为临时响应密钥,第七字段为接收端上待解密的原始数据;

接收端获取加密算法的共享密钥;

接收端通过加密算法,利用共享密钥对报文中的第二字段至第六字段进行解密,并将第一字段至第四字段内容丢弃;

接收端通过加密算法,利用报文中第六字段的临时响应密钥对报文中第六字段之后的字节进行解密,得到解密后的原始数据。

进一步地,所述接收端通过加密算法,利用共享密钥对报文中的第二字段至第六字段进行解密,并将第一字段至第四字段内容丢弃,进一步包括:

接收端读取报文中时,直接跳过并丢弃第一字段;

接收端通过加密算法,利用共享密钥对报文中的第二字段进行解密,并验证第二字段解密后的明文是否是魔法数字,若是,则进行下一步,若否,则丢弃该报文;

接收端读取报文中的第三字段,得到报文中的第四字段垃圾文字的长度值;

接收端通过加密算法,利用共享密钥对报文中的第四字段进行解密,丢弃解密后的第四字段的垃圾文字;

接收端通过加密算法,利用共享密钥对报文中的第五字段和第六字段进行解密。

本发明提供了基于上述分布式存储系统通信协议的加密方法的分布式存储系统通信协议的加密装置,包括:

原始数据获取单元,用于发送端获取待加密的原始数据;

发送端报文构建单元,用于发送端构建分布式存储系统通信协议的报文,所述分布式存储系统通信协议的报文包括七个字段,其中第一字段为占一个字节的随机数,第二字段为占四个字节的魔法数字,第三字段为占一个字节的第四字段的长度值,第四字段为随机长度、随机内容的垃圾文字,第五字段为临时请求密钥,第六字段为临时响应密钥,第七字段为发送端上待加密的原始数据;

共享密钥获取单元,用于发送端获取加密算法的共享密钥;

第一加密单元,用于发送端通过加密算法,利用共享密钥对报文中的第二字段至第六字段进行加密;

第二加密单元,用于发送端通过加密算法,利用报文中的第五字段的临时请求密钥对报文中的第七字段进行加密,发送端将加密后的报文发送至接收端。

本发明还提供了基于上述分布式存储系统通信协议的解密方法的分布式存储系统通信协议的解密装置,包括:

报文接收单元,用于接收端接收来自发送端的加密的报文;

接收端报文构建单元,接收端构建分布式存储系统通信协议的报文,所述分布式存储系统通信协议的报文包括七个字段,其中第一字段为占一个字节的随机数,第二字段为占四个字节的魔法数字,第三字段为占一个字节的第四字段的长度值,第四字段为随机长度、随机内容的垃圾文字,第五字段为临时请求密钥,第六字段为临时响应密钥,第七字段为接收端上待解密的原始数据;

获取单元,用于接收端获取加密算法的共享密钥;

第一解密单元,用于接收端通过加密算法,利用共享密钥对报文中的第二字段至第六字段进行解密,并将第一字段至第四字段内容丢弃;

第二解密单元,接收端通过加密算法,利用报文中第六字段的临时响应密钥对报文中第六字段之后的字节进行解密,得到解密后的原始数据。

进一步地,第一解密单元进一步包括:

第一读取单元,用于接收端读取报文中时,直接跳过并丢弃第一字段;

第一解密子单元,用于接收端通过加密算法,利用共享密钥对报文中的第二字段进行解密,并验证第二字段解密后的明文是否是魔法数字,若是,则进行下一步,若否,则丢弃该报文;

第二读取单元,用于接收端读取报文中的第三字段,得到报文中的第四字段垃圾文字的长度值;

第二解密子单元,用于接收端通过加密算法,利用共享密钥对报文中的第四字段进行解密,丢弃解密后的第四字段的垃圾文字;

第三解密子单元,用于接收端通过加密算法,利用共享密钥对报文中的第五字段和第六字段进行解密。

与现有技术相比,本发明一种分布式存储系统通信协议的加密、解密方法的有益效果如下:

1.本发明构建的分布式存储系统通信协议的报文包括七个字段,其中第四字段为随机长度、随机内容的垃圾文字,这样的通信协议的报文没有固定长度,即使是相同类型的报文,甚至是同一个数据包,加密后的密文内容和长度均不一样,增加了加密后数据被破解的难度,提高了数据传输的安全性;

2.由于分布式存储系统通信协议的报文中临时请求密钥和临时响应密钥的存在,并且是由分布式存储系统的每个节点每隔规定时间随机生成,有效时间范围是当前的请求-响应对,这样即使是相同的明文在不同时刻加密后生成的密文也不重复,同样增加了加密后数据被破解的难度,提高了数据传输的安全性;

一种分布式存储系统通信协议的加密、解密装置的有益效果与一种分布式存储系统通信协议的加密、解密方法的有益效果类似,在此不再赘述。

附图说明

图1为本发明分布式存储系统通信协议的加密方法的流程示意图。

图2为本发明分布式存储系统通信协议的解密方法的流程示意图。

图3为本发明分布式存储系统通信协议的加密装置的结构示意图。

图4为本发明分布式存储系统通信协议的解密装置的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

下面对下列实施例中出现的名词及概念进行解释说明:

分布式存储系统,是将数据分散存储在多台独立的设备上,其采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。分布式存储系统包含多个存储节点,存储节点一般是一个存储服务器(必然带控制器),服务器之间通过高速网络互连。

分布式存储系统中目前常用的通信协议有安全外壳SSH(Secure Shell)协议、安全套接层SSL(Security Socket Layer)协议和安全电子交易SET(Secure Electronic Transaction)协议。

分布式存储系统中数据的安全需要采用密码技术进行保护,数据加密是所有数据安全技术的核心。常见的加密算法可以分成三类:对称加密算法(Symmetric Key Encryption)、非对称加密算法(Asymmetric Key Encryption)和哈希算法。加密算法的效能通常可以按照算法本身的复杂程度、密钥长度(密钥越长越安全)、加解密速度等来衡量。对称加密算法要求加密和解密双方用于相同的密钥,典型的对称加密算法包括DES(Data Encryption Standard)、3DES、Bloefish、IDEA、RC4、RC5、RC6和AES(Advanced Encryption Standard)。而非对称加密算法是加密和解密双方采用互不相同的密钥,在不知道陷门信息的情况下,加密密钥和解密密钥是不能相互导出的,典型的非对称加密算法包括RSA,ECC、DSA。哈希算法用来校验数据的完整性,典型的哈希算法包括MD2、MD4、MD5(Message-Digest Algorithm 5)和SHA-1。

下面结合附图和具体实施方式对本发明一种分布式存储系统通信协议的加密、解密方法及装置作进一步地说明:

实施例1

请参考图1,一种分布式存储系统通信协议的加密方法,包括以下步骤:

步骤S101:发送端获取待加密的原始数据。

步骤S102:发送端构建分布式存储系统通信协议的报文,所述分布式存储系统通信协议的报文包括七个字段,其中第一字段为占一个字节的随机数,第二字段为占四个字节的魔法数字,第三字段为占一个字节的第四字段的长度值,第四字段为随机长度、随机内容的垃圾文字,第五字段为临时请求密钥,第六字段为临时响应密钥,第七字段为发送端上待加密的原始数据。

值得说明的是,分布式存储系统通信协议的报文的七个字段由分布式存储系统的多个存储节点生成,临时请求密钥和临时响应密钥为每隔规定时间由分布式存储系统的每个存储节点随机生成,规定时间建议为2小时。第一字段的随机数用于逃避协议识别,攻击者不能利用报文头来断定该报文是分布式存储系统的通信协议。第二字段的魔法数字为0x195E8FF1,用于给分布式存储系统的通信协议自己判断,这是否是一个通信协议报文,如果要加强防护,魔法数字可以有多个。为了防御有的网络管理人员或攻击者根据报文长度封堵我们的报文,协议在第四字段填充了一段随机长度、随机内容的垃圾文字,垃圾文字可以是纯数字,长度为10~100字节。第三字段是随机填充内容的长度。第五和第六字段是加解密的密钥之一,这个加解密密钥是每个存储节点自己随机生成,有效范围是当前请求-响应对,这样即使是相同的报文在不同时刻生成的密文内容也不相同。

所述临时请求密钥用于对请求消息的发送端加密,发送请求消息接收端解密;所述临时响应密钥用于给响应消息的发送端加密,接收响应消息的接收端解密。

步骤S103:发送端获取加密算法的共享密钥。

共享密钥是一串参与加密的字符串,加密算法在共享密钥的控制下进行操作,对应不同的密钥,相同的加密算法和相同的明文可以产生完全不同的密文。

加密算法的共享密钥的获取方式可以是密钥服务器、U盘或Email。

本发明所采用的加密算法是RC4加密算法。RC4加密算法与待加密的数据采用异或(XOR)运算生成密文,如共享密钥的字节为01101100,待加密数据的明文字节为11001100,则得出的密文字节为10100000。同样解密过程也是密文和共享密钥进行异或(XOR)运算,得到相应的原始数据明文。

步骤S104:发送端通过加密算法,利用共享密钥对报文中的第二字段至第六字段进行加密。

值得说明的是,第一字段的随机数不需要加密。

步骤S105:发送端通过加密算法,利用报文中的第五字段的临时请求密钥对报文中的第七字段进行加密,发送端将加密后的报文发送至接收端。

这样以来,通过该加密方法加密后,除了第一字段是明文外,第二至第七字段都是密文。

实施例2

请参考图2,一种分布式存储系统通信协议的解密方法,包括以下步骤:

步骤S201:接收端接收来自发送端的加密的报文。

步骤S202:接收端构建分布式存储系统通信协议的报文,所述分布式存储系统通信协议的报文包括七个字段,其中第一字段为占一个字节的随机数,第二字段为占四个字节的魔法数字0x195E8FF1,第三字段为占一个字节的第四字段的长度值,第四字段为随机长度、随机内容的垃圾文字,第五字段为临时请求密钥,第六字段为临时响应密钥,第七字段为接收端上待解密的原始数据。

步骤S203:接收端获取加密算法的共享密钥。

步骤S204:接收端通过加密算法,利用共享密钥对报文中的第二字段至第六字段进行解密,并将第一字段至第四字段内容丢弃。

步骤S205:接收端通过加密算法,利用第六字段的临时响应密钥对第六字段之后的字节进行解密,得到解密后的原始数据。

接收端同时保存临时请求密钥,用于供发送响应请求时使用。

上述步骤S204进一步包括:

步骤S2041:接收端读取报文中时,直接跳过并丢弃第一字段;

步骤S2042:接收端通过加密算法,利用共享密钥对报文中的第二字段进行解密,并验证第二字段解密后的明文是否是魔法数字0x195E8FF1,若是,则进行下一步步骤S2043,若否,则丢弃该报文;

步骤S2043:接收端读取报文中的第三字段,得到报文中的第四字段垃圾文字的长度值,如垃圾文字的长度为k字节;

步骤S2044:接收端通过加密算法,利用共享密钥对报文中k字节的第四字段进行解密,丢弃解密后的第四字段的垃圾文字;

步骤S2045:接收端通过加密算法,利用共享密钥对报文中的第五字段和第六字段进行解密。

实施例3

请参考图3,一种分布式存储系统通信协议的加密装置,包括以下单元:

原始数据获取单元301,用于发送端获取待加密的原始数据;

发送端报文构建单元302,用于发送端构建分布式存储系统通信协议的报文,所述分布式存储系统通信协议的报文包括七个字段,其中第一字段为占一个字节的随机数,第二字段为占四个字节的魔法数字,第三字段为占一个字节的第四字段的长度值,第四字段为随机长度、随机内容的垃圾文字,第五字段为临时请求密钥,第六字段为临时响应密钥,第七字段为发送端上待加密的原始数据;

共享密钥获取单元303,用于发送端获取加密算法的共享密钥;

第一加密单元304,用于发送端通过加密算法,利用共享密钥对报文中的第二字段至第六字段进行加密;

第二加密单元305,用于发送端通过加密算法,利用报文中的第五字段的临时请求密钥对报文中的第七字段进行加密,发送端将加密后的报文发送至接收端。

上述原始数据获取单元301依次顺序连接发送端报文构建单元302、共享密钥获取单元303、第一加密单元304和第二加密单元305。

实施例4

请参考图4,一种分布式存储系统通信协议的解密装置,包括以下单元:

报文接收单元401,用于接收端接收来自发送端的加密的报文;

接收端报文构建单元402,接收端构建分布式存储系统通信协议的报文,所述分布式存储系统通信协议的报文包括七个字段,其中第一字段为占一个字节的随机数,第二字段为占四个字节的魔法数字,第三字段为占一个字节的第四字段的长度值,第四字段为随机长度、随机内容的垃圾文字,第五字段为临时请求密钥,第六字段为临时响应密钥,第七字段为接收端上待解密的原始数据;

获取单元403,用于接收端获取加密算法的共享密钥;

第一解密单元404,用于接收端通过加密算法,利用共享密钥对报文中的第二字段至第四字段进行解密,并将第一字段至第四字段内容丢弃;

第二解密单元405,用于接收端通过加密算法,利用第六字段的临时响应密钥对第六字段之后的字节进行解密,得到解密后的原始数据。

所述第一解密单元404进一步包括:

第一读取单元4041,用于接收端读取报文中时,直接跳过并丢弃第一字段;

第一解密子单元4042,用于接收端通过加密算法,利用共享密钥对报文中的第二字段进行解密,并验证第二字段解密后的明文是否是魔法数字,若是,则进行第二读取单元4043,若否,则丢弃该报文;

第二读取单元4043,用于接收端读取报文中的第三字段,得到报文中的第四字段垃圾文字的长度值;

第二解密子单元4044,用于接收端通过加密算法,利用共享密钥对报文中的第四字段进行解密,丢弃解密后的第四字段的垃圾文字;

第三解密子单元4045,用于接收端通过加密算法,利用共享密钥对报文中的第五字段和第六字段进行解密。

上述报文接收单元401依次顺序连接接收端报文构建单元402、获取单元403、第一解密单元404和第二解密单元405,其中第一解密单元404进一步包括第一读取单元4041、第一解密子单元4042、第二读取单元4043、第二解密子单元4044和第三解密子单元4045。

对于本发明实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。而这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

以上所述仅为本发明示意性的具体实施方式,并非用以限定本发明的范围,任何本领域的技术人员在不脱离本发明构思和原则的前提下所做出的等同变化与修改,均应属于本发明保护的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1