CN103209202A - 用于传输数据的方法和设备 - Google Patents

用于传输数据的方法和设备 Download PDF

Info

Publication number
CN103209202A
CN103209202A CN201210012962XA CN201210012962A CN103209202A CN 103209202 A CN103209202 A CN 103209202A CN 201210012962X A CN201210012962X A CN 201210012962XA CN 201210012962 A CN201210012962 A CN 201210012962A CN 103209202 A CN103209202 A CN 103209202A
Authority
CN
China
Prior art keywords
data
key
client
encrypted
memory node
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
CN201210012962XA
Other languages
English (en)
Other versions
CN103209202B (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.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing 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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN201210012962.XA priority Critical patent/CN103209202B/zh
Publication of CN103209202A publication Critical patent/CN103209202A/zh
Application granted granted Critical
Publication of CN103209202B publication Critical patent/CN103209202B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)

Abstract

提供了一种适用于分布式文件***的用于传输数据的方法和设备。所述用于传输数据的方法包括:客户端通过与管理节点交互来确定用于存储该数据的存储节点;客户端生成对所述数据进行加密的密钥,利用该密钥对数据进行加密,并将已加密数据传输到所述用于存储该数据的存储节点;通过密钥传送步骤将密钥传送到存储节点,该密钥传送步骤包括:客户端对所述密钥进行加密而得到已加密密钥,并将该已加密密钥传送到管理节点;管理节点对该已加密密钥进行解密而得到所述密钥,并将该密钥传送到所述用于存储该数据的存储节点。利用本发明实施例的上述技术方案中,能够提高数据在传输过程中的安全性,同时保持良好的数据传输性能。

Description

用于传输数据的方法和设备
技术领域
本发明涉及通信领域,更具体地涉及一种用于传输数据的方法和设备。
背景技术
随着通信技术的发展、和电子设备的广泛使用,日益需要对海量数据进行传输和存储。为此,提出了分布式文件***(Distributed File System,DFS)。分布式文件***通常包括管理节点、和至少一个存储节点。由该管理节点进行统一管理,例如管理文件在存储节点上的存储、和客户端对文件的访问等。分布式文件***具有集中访问、简化操作、和提高文件存取效率的优点。
Hadoop是一套致力于海量数据处理的大规模互联网应用的软件基础设施,被设计用来在普通机器组成的集群上完成分布式应用的框架。作为分布式文件***的示例,Hadoop分布式文件***(Hadoop Distributed File System,HDFS)是Hadoop框架下的分布式文件***。HDFS有着高容错性的特点,被设计成可以部署在低廉的硬件上,并且提供高吞吐量来访问应用程序的数据,适合那些有超大数据集的应用程序。
分布式文件***的客户端通过与管理节点的通信来进行数据的写入和读取。然而,分布式文件***原生加密传输存储支持不够。当要提供诸如异地因特网数据中心(Internet data center,IDC)、存储级别租赁等对外服务时,分布式文件***存在数据安全性不足的缺点。此外,分布式文件***是基于自定义的基于传输控制协议/因特网协议(Transmission ControlProtocol/Internet Protocol,TCP/IP)的分布式远程过程呼叫(Remote ProcedureCall,RPC)协议通信,无法提供良好的传输层安全/安全套接层(TransportLayer Security/Secure Sockets Layer,SSL/TLS)加解密支持。因此,需要提供理想的数据加解密服务,从而在分布式文件***中提供安全的数据传输和存储。
发明内容
本发明实施例提供了在分布式文件***中用于传输数据的方法和设备,能够提高数据在传输过程中的安全性,同时保持良好的数据传输性能。
一方面,提供了一种用于传输数据的方法,该方法适用于分布式文件***,该分布式文件***包括管理节点、和至少一个存储节点,该管理节点用于管理文件在存储节点上的存储、和客户端对文件的访问,所述用于传输数据的方法包括:客户端通过与管理节点交互来确定用于存储该数据的存储节点;客户端生成对所述数据进行加密的密钥,利用该密钥对数据进行加密,并将已加密数据传输到所述用于存储该数据的存储节点;通过密钥传送步骤将密钥传送到存储节点,该密钥传送步骤包括:客户端对所述密钥进行加密而得到已加密密钥,并将该已加密密钥传送到管理节点;管理节点对该已加密密钥进行解密而得到所述密钥,并将该密钥传送到所述用于存储该数据的存储节点。
另一方面,提供了一种用于传输数据的设备,该设备适用于分布式文件***,该分布式文件***包括管理节点、和至少一个存储节点,该管理节点用于管理文件在存储节点上的存储、和客户端对文件的访问,所述用于传输数据的设备包括:确定单元,客户端利用其与管理节点交互来确定用于存储该数据的存储节点;生成单元,客户端利用该生成单元生成对所述数据进行加密的密钥;传输单元,用于利用该密钥对数据进行加密,并将已加密数据传输到所述用于存储该数据的存储节点;密钥传送单元,用于将密钥传送到存储节点,该密钥传送单元包括:第一部件,客户端利用该第一部件对所述密钥进行加密而得到已加密密钥,并将该已加密密钥传送到管理节点;第二部件,管理节点利用该第二部件对该已加密密钥进行解密而得到所述密钥,并将该密钥传送到所述用于存储该数据的存储节点。
在本发明实施例的上述技术方案中,通过以加密方式传输文件,并通过对密钥加密来在另外的路径中传输密钥,能够提高数据在传输过程中的安全性,同时保持良好的数据传输性能。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示意性地图示了分布式文件***的架构的框图;
图2图示了根据本发明实施例的用于传输数据的方法的流程图;
图3图示了根据本发明实施例的在数据被加密存储时的数据读取方法的流程图;
图4图示了根据本发明实施例的在存储已解密数据时的数据读取方法的流程图;
图5图示了根据本发明实施例的在HDFS中进行数据传输的流程图;
图6图示了根据本发明实施例的用于传输数据的设备的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
图1示意性地图示了分布式文件***的架构的框图。该分布式文件***通常包括管理节点、和至少一个存储节点(存储节点1、2、......n)。该管理节点用于管理文件在存储节点上的存储、和客户端对文件的访问。所述存储节点用于存储文件。当客户端需要存储文件时,向管理节点发出写入请求,管理节点分配特定的存储节点来存储所述文件,并通过响应将所分配的存储节点的地址通知客户端,然后客户端将文件传输到所分配的存储节点进行存储。如果在存储期间管理节点将所述文件转移到其他存储节点,则管理节点将转移后的存储节点的地址通知给客户端。当客户端需要读取文件时,向用于存储所述文件的存储节点发出读取请求,所述存储节点根据读取请求向存储节点传输文件。此外,在Hadoop分布式文件***中,所述管理节点被称作名称节点(Namenode),所述存储节点被称作数据节点(Datanode)。
管理节点和存储节点可以是普通的机器,例如linux操作***的机器。管理节点和存储节点可以位于不同的机器、也可以位于相同的机器上。典型的部署是,一个专门的机器来运行管理节点,机群中的每个其他机器各自运行一个存储节点。管理节点和存储节点的部署不构成对本发明的限制。
图2图示了根据本发明实施例的用于传输数据的方法200的流程图。该用于传输数据的方法适用于分布式文件***,该分布式文件***包括管理节点、和至少一个存储节点。该管理节点用于管理文件在存储节点上的存储、和客户端对文件的访问。所述存储节点用于存储文件。下面结合图1详细描述所述用于传输数据的方法200。
步骤S210,客户端通过与管理节点交互来确定用于存储该数据的存储节点。如前所述,管理节点用于管理文件在存储节点上的存储,其例如建立各个客户端的数据与存储节点之间的映射关系,从而根据客户端的请求管理存储节点。作为示例,客户端向管理节点发送数据写入请求,管理节点将分布式文件***的存储节点1确定为用于存储该数据的存储节点,并通过响应将存储节点1的地址发送到客户端。需要说明的是,客户端可以采用任何方式与管理节点交互来确定用于存储该数据的存储节点。
步骤S220,客户端生成对所述数据进行加密的密钥,利用该密钥对数据进行加密,并将已加密数据传输到所述用于存储该数据的存储节点。例如,客户端可以根据配置或用户的指定来生成用于所述数据进行加密的密钥K1,利用该密钥K1对数据进行加密,并将已加密数据传输到所述用于存储该数据的存储节点(例如,存储节点1)。由于在分布式文件***中进行传输的数据量通常很大,可以采取用对称密钥进行加密的方式,提高加密和解密的速度,从而降低对数据传输性能的影响。此外,客户端可以根据数据机密级别而生成不同长度(例如,32位、64位或128位)的密钥。对于高机密级别的数据采用较长的加密密钥(例如,128位),对于低机密级别的数据采用较短的加密密钥(例如,32位).
步骤S230,通过密钥传送步骤将密钥传送到存储节点,如图2中的虚线方框所示。该密钥传送步骤包括:步骤S231,客户端对所述密钥进行加密而得到已加密密钥,并将该已加密密钥传送到管理节点;和步骤S232,管理节点对该已加密密钥进行解密而得到所述密钥,并将该密钥传送到所述用于存储该数据的存储节点(例如存储节点1)。
在所述密钥传送步骤中,客户端经由管理节点将密钥传送到存储节点,而数据的传送是从客户端直接到存储节点,所以传送密钥的路径不同于传送数据的路径。此外,对密钥进行加密以从客户端传送到存储节点。因此,保证了密钥的安全性,从而保证了数据传输的安全性。
此外,需要注意的是,密钥传送和数据传送的先后顺序并不构成对本发明的限制。存储节点只要在要使用所述密钥之前从管理节点收到该密钥即可。
所述密钥传送过程是小数据量的传送过程,可以采用安全性能高的加密算法。作为示例,客户端可使用非对称加密算法对该密钥进行加密(在步骤S231中)以及管理节点对该已加密密钥进行解密(在步骤S232中)。当然,还可以采用安全性能高的其它加密算法。下面以非对称加密算法为例来说明所述密钥传送步骤。
管理节点生成非对称密钥对,包括公钥P1和私钥S1,并将公钥P1发送给客户端。客户端使用该公钥P1加密用于对数据进行加密的所述密钥(K1)而得到已加密密钥,并将该已加密密钥传送到管理节点。管理节点利用非对称密钥对中的所述私钥S1对该已加密密钥进行解密而得到所述密钥,并将该密钥传送到所述用于存储该数据的存储节点。
在Hadoop分布式文件***中,所述管理节点可以利用心跳信号将所述密钥传送到所述用于存储该数据的存储节点。具体地,所述管理节点在对来自存储节点的心跳信号进行响应时将所述密钥传送到所述用于存储该数据的存储节点。所述心跳信号是每个存储节点周期性地向管理节点发送、并且管理节点作出响应的信号,该心跳信号用于报告文件存储状态以便管理节点掌握各个存储节点的状态。因此,管理节点利用心跳信号向存储节点传送密钥,这可以节约***的传输资源。
在本发明实施例的用于传输数据的方法的上述技术方案中,通过以加密方式传输文件,并通过对密钥加密来在另外的路径中传输密钥,能够提高数据在传输过程中的安全性,同时保持良好的数据传输性能。
在将已加密数据传输到存储节点之后,在存储节点中进行存储,并且在收到客户端的读取请求时向客户端传输所述数据。此外,为了加强数据的传输安全性和数据的存储安全性,所述客户端还可以动态地更新所述用于对数据进行加密的密钥。也就是说,所述客户端可以生成用于更新所述密钥的新密钥(K2),并通过所述密钥传送步骤(步骤S230)将该新密钥K2传送到所述用于存储该数据的存储节点。要注意,所述客户端还可以多次更新密钥,以例如生成新密钥K3、K4、......。
下面对数据的存储和读取进行描述。
在将已加密数据传输到存储节点之后,存储节点可以使用接收到的密钥(K1)对数据进行解密,并然后存储解密后的数据。此外,还可以将已加密数据存储在存储节点,这样用于提供数据存储服务的服务提供方就无权查看用户数据,从而保证了数据的存储安全。
图3图示了根据本发明实施例的在数据被加密存储时的数据读取方法300的流程图。
在所述用于存储该数据的存储节点存储已加密数据的情况下,当所述用于存储该数据的存储节点从客户端收到读取请求时(步骤S310),存储节点查看从管理节点接收到的密钥是否包括更新后的新密钥K2(步骤S320)。
如果没有从管理节点收到所述新密钥K2(步骤S320中的否),则将所述已加密数据传送到客户端(步骤S360)。客户端在收到已加密数据之后,利用密钥K1进行解密,以得到数据。
如果从管理节点收到了所述新密钥K2(步骤S320中的是),则利用所述密钥K1对所述已加密数据进行解密(步骤S330),利用新密钥K2对所述解密的数据进行加密(步骤S340),并然后将利用新密钥K2加密的所述数据传送到所述客户端(步骤S350)。如果存储节点按照时间顺序从管理节点收到了多个在不同时间更新的新密钥(例如,K2、K3、K4),则存储节点可以利用最近接收的新密钥(例如,K4)对所述解密的数据进行加密,并然后将利用新密钥K4加密的所述数据传送到所述客户端。客户端在收到已加密数据之后,利用新密钥K4进行解密,以得到数据。
对于步骤S330和步骤S340的实现,进行如下示例性说明。在数据文件被分割成块以进行存储的情况下,存储节点遍历存储空间内的所有块,对于加密存储的块,使用更新前的密钥K1进行解密而得到明文。使用新密钥K2重新加密存储,并保存名字为Blk_xxxxx.bak。获取该Blk_xxxxx文件锁,暂时禁止文件读取。将原Blk_xxxxx重命名为Blk_xxxx.pre,将Blk_xxxxx.bak重命名为Blk_xxxx,释放文件锁,文件Blk_xxxx即为要向客户端传输的已加密数据。
此外,在向客户端传输已加密数据时,所传输的加密数据流中可以包含密钥版本信息,客户端根据该密钥版本信息而确定是使用相应的密钥进行解密。
图4图示了根据本发明实施例的在存储已解密数据时的数据读取方法400的流程图。
在所述用于存储该数据的存储节点存储已解密数据的情况下,当所述用于存储该数据的存储节点从客户端收到读取请求时(步骤S410),存储节点查看从管理节点接收到的密钥是否包括更新后的新密钥K2(步骤S420)。
如果没有从管理节点收到所述新密钥K2(步骤S420中的否),则利用所述密钥K1对所述已解密数据进行加密(步骤S450),并然后将利用密钥K1加密的所述数据传送到所述客户端(步骤S460)。客户端在收到已加密数据之后,利用所述密钥K1进行解密,以得到数据。
如果从管理节点收到了所述新密钥K2(步骤S420中的是),则利用新密钥K2对所述解密的数据进行加密(步骤S430),并然后将利用新密钥K2加密的所述数据传送到所述客户端(步骤S440)。在存储节从管理节点收到了多个在不同时间更新的新密钥时,存储节点可以利用最近接收的新密钥对所述解密的数据进行加密,并然后将利用新密钥加密的所述数据传送到所述客户端。客户端在收到已加密数据之后,利用新密钥进行解密,以得到数据。
为了更充分地公开根据本发明实施例的用于进行数据传输的方法,下面给出描述在HDFS体系中进行数据传输的操作流程以供参考。图5图示了根据本发明实施例的在HDFS体系中进行数据传输的流程图。
(1)管理节点生成非对称密钥对(S1/P1);(2)管理节点将公钥P1发送给客户端;(3)客户端生成用于对要传输的数据进行加密的传输密钥K1;(4)客户端用公钥P1对传输密钥K1加密得到已加密密钥K1′,并将该已加密密钥K1′传送到管理节点;(5)管理节点使用私钥S1对已加密密钥K1′进行解密,以得到密钥K1;(6)管理节点利用心跳信号将密钥K1传送到存储节点;(7)客户端使用密钥K1对要传输的数据进行加密而得到已加密的数据;(8)客户端向存储节点传送所述已加密的数据;(9)存储节点存储数据。要注意,在实践中,各个操作并不必须按照上面的顺序进行,可以根据需要调整各个操作的先后顺序。
如前所述,存储节点在存储数据时,可以使用从管理节点接收的密钥K1对从客户端接收的已加密数据进行解密后,存储解密后得到的数据,也可以直接存储已加密数据。在客户端要读取数据时,如果存储节点存储了已加密数据,则存储节点进行结合图3描述的操作来向客户端传输加密数据,从而实现数据的读取;以及如果存储节点存储了已解密的数据,则存储节点进行结合图4描述的操作来向客户端传输加密数据,从而实现数据的读取。
通过以上结合图2-5进行的描述可知,在上述的用于传输数据的方法的技术方案中,通过以加密方式传输文件,并通过对密钥加密来在另外的路径中传输密钥,能够提高数据在传输过程中的安全性,同时保持良好的数据传输性能;通过在存储节点中存储加密的数据,保证了数据的存储安全性;通过动态地更新用于对传输数据进行加密的密钥,加强了数据的传输安全性和数据的存储安全性。
图6图示了根据本发明实施例的用于传输数据的设备600的框图。该用于传输数据的设备600适用于分布式文件***,该分布式文件***包括管理节点、和至少一个存储节点,该管理节点用于管理文件在存储节点上的存储、和客户端对文件的访问。
所述用于传输数据的设备600包括:确定单元610,客户端利用其与管理节点交互来确定用于存储该数据的存储节点;生成单元610,客户端利用该生成单元生成对所述数据进行加密的密钥;传输单元630,用于利用该密钥对数据进行加密,并将已加密数据传输到所述用于存储该数据的存储节点;密钥传送单元640,用于将密钥传送到存储节点。该密钥传送单元640包括:第一部件641,客户端利用该第一部件对所述密钥进行加密而得到已加密密钥,并将该已加密密钥传送到管理节点;第二部件642,管理节点利用该第二部件对该已加密密钥进行解密而得到所述密钥,并将该密钥传送到所述用于存储数据的存储节点。
所述确定单元610用于使得客户端能够与管理节点交互来确定用于存储该数据的存储节点。如前所述,利用该确定单元610,客户端可向管理节点发送数据写入请求,管理节点可以进行响应以将所确定的用于存储该数据的存储节点的地址发送到客户端。需要说明的是,所述确定单元610可以采用任何的方式来在客户端与管理节点之间进行交互。
所述生成单元610用于为客户端生成用于对要传输的数据进行加密的密钥K1。客户端可根据数据机密级别,而利用所述生成单元610生成不同长度的密钥。对于高机密级别的数据生成较长的加密密钥(例如,128位),而对于低机密级别的数据生成较短的加密密钥(例如,32位)。此外,客户端还可以利用该生成单元610生成用于更新所述密钥的新密钥(K2、K3、K4),并通过所述密钥传送单元640将该新密钥传送到所述用于存储该数据的存储节点,从而加强数据传输和存储的安全性。
所述传输单元630可利用该密钥K1对数据进行加密,并将已加密数据传输到所述用于存储该数据的存储节点。存储节点在收到所述已加密数据之后进行存储。
所述密钥传送单元640可将生成单元610所生成的密钥(K1、K2)传送到存储节点。所述密钥传送单元640将密钥从客户端经由管理节点而传送到存储节点,采用可与传送数据的路径不同的路径,并且对密钥进行加密以从客户端传送到存储节点,从而保证了密钥的安全性,进而保证了数据传输的安全性。
所述密钥传送过程是小数据量的传送过程,可以采用安全性能高的加密算法。作为示例,在密钥传送单元640中,客户端对该密钥(K1、K2)进行加密以及管理节点对该已加密密钥进行解密所使用的是非对称加密算法。具体的实现操作可以参照前面的描述。
第二部件642在将该密钥从管理节点传送到存储节点时,可以利用心跳信号将所述密钥传送到所述用于存储该数据的存储节点,从而节约***的传输资源。
在本发明实施例的用于传输数据的设备的上述技术方案中,通过以加密方式传输文件,并通过对密钥加密来在另外的路径中传输密钥,能够提高数据在传输过程中的安全性,同时保持良好的数据传输性能。
存储节点在收到所述已加密数据和加密密钥之后进行存储,并且在接收到客户端的读取请求时向客户端传输数据。
在将已加密数据传输到存储节点之后,存储节点可以使用接收到的密钥(K1)对数据进行解密,并然后存储解密后的数据。此外,还可以将已加密数据存储在存储节点,这样用于提供数据存储服务的服务提供方就无权查看用户数据,从而保证了数据的存储安全。
每个存储节点可包括:接收单元,用于从客户端接收读取请求、和从管理节点接收密钥;和发送单元,用于向客户端发送数据。
在存储节点存储已加密数据的情况下,当存储节点的接收单元从客户端收到读取请求时,如果没有从管理节点收到新密钥K2,则将所述已加密数据传送到客户端,客户端在收到已加密数据之后,利用密钥K1进行解密以得到数据;以及如果从管理节点收到了所述新密钥K2,则利用密钥K1对所述已加密数据进行解密,利用新密钥K2对所述解密的数据进行加密,并然后将利用新密钥K2加密的所述数据传送到所述客户端。客户端在收到已加密数据之后,利用新密钥K2进行解密以得到数据。关于存储节点在存储已加密数据的情况下的数据读取操作,可以参照前面结合图3进行的描述。
在存储节点存储已解密数据的情况下,所述用于存储该数据的存储节点利用所述密钥K1对所接收的已加密数据进行解密,并存储已解密数据。当存储节点的接收单元从客户端收到读取请求时,如果没有从管理节点收到所述新密钥K2,则利用所述密钥K1对所述已解密数据进行加密,并然后传送到所述客户端;以及如果从管理节点收到了所述新密钥K2,则利用新密钥K2对所述已解密数据进行加密,并然后传送到所述客户端。关于存储节点在存储已解密数据的情况下的数据读取操作,可以参照前面结合图4进行的描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (20)

1.一种用于传输数据的方法,该方法适用于分布式文件***,该分布式文件***包括管理节点、和至少一个存储节点,该管理节点用于管理文件在存储节点上的存储、和客户端对文件的访问,所述用于传输数据的方法包括:
客户端通过与管理节点交互来确定用于存储该数据的存储节点;
客户端生成对所述数据进行加密的密钥,利用该密钥对数据进行加密,并将已加密数据传输到所述用于存储该数据的存储节点;
通过密钥传送步骤将密钥传送到存储节点,该密钥传送步骤包括:
客户端对所述密钥进行加密而得到已加密密钥,并将该已加密密钥传送到管理节点;
管理节点对该已加密密钥进行解密而得到所述密钥,并将该密钥传送到所述用于存储该数据的存储节点。
2.根据权利要求1的用于传输数据的方法,其中,所述用于存储该数据的存储节点存储所述已加密数据。
3.根据权利要求2的用于传输数据的方法,其中,所述客户端生成用于更新所述密钥的新密钥,并通过所述密钥传送步骤将该新密钥传送到所述用于存储该数据的存储节点。
4.根据权利要求2的用于传输数据的方法,其中,当所述用于存储该数据的存储节点从客户端收到读取请求时,
如果没有从管理节点收到用于更新所述密钥的新密钥,则将所述已加密数据传送到客户端;以及
如果从管理节点收到了所述新密钥,则利用密钥对所述已加密数据进行解密,利用新密钥对所述解密的数据进行加密,并然后将利用新密钥加密的所述数据传送到所述客户端。
5.根据权利要求1的用于传输数据的方法,其中,所述用于存储该数据的存储节点利用所述密钥对所接收的已加密数据进行解密,并存储已解密数据。
6.根据权利要求5的用于传输数据的方法,其中,所述客户端生成用于更新所述密钥的新密钥,并通过所述密钥传送步骤将该新密钥传送到所述用于存储该数据的存储节点。
7.根据权利要求5的用于传输数据的方法,其中,当存储节点从客户端收到读取请求时,
如果没有从管理节点收到用于更新所述密钥的新密钥,则利用所述密钥对所述已解密数据进行加密,并然后传送到所述客户端;以及
如果从管理节点收到了所述新密钥,则利用新密钥对所述已解密数据进行加密,并然后传送到所述客户端。
8.根据权利要求1的用于传输数据的方法,其中,所述管理节点利用心跳信号将所述密钥传送到所述用于存储该数据的存储节点。
9.根据权利要求1的用于传输数据的方法,其中,客户端对该密钥进行加密以及管理节点对该已加密密钥进行解密所使用的是非对称加密算法。
10.根据权利要求1的用于传输数据的方法,其中,客户端生成对所述数据进行加密的密钥的步骤包括:客户端根据数据机密级别而生成不同长度的密钥。
11.一种用于传输数据的设备,该设备适用于分布式文件***,该分布式文件***包括管理节点、和至少一个存储节点,该管理节点用于管理文件在存储节点上的存储、和客户端对文件的访问,所述用于传输数据的设备包括:
确定单元,客户端利用其与管理节点交互来确定用于存储该数据的存储节点;
生成单元,客户端利用该生成单元生成对所述数据进行加密的密钥;
传输单元,用于利用该密钥对数据进行加密,并将已加密数据传输到所述用于存储该数据的存储节点;
密钥传送单元,用于将密钥传送到存储节点,该密钥传送单元包括:
第一部件,客户端利用该第一部件对所述密钥进行加密而得到已加密密钥,并将该已加密密钥传送到管理节点;
第二部件,管理节点利用该第二部件对该已加密密钥进行解密而得到所述密钥,并将该密钥传送到所述用于存储该数据的存储节点。
12.根据权利要求11的用于传输数据的设备,其中,所述用于存储该数据的存储节点用于存储所述已加密数据。
13.根据权利要求12的用于传输数据的设备,其中,所述客户端利用该生成单元生成用于更新所述密钥的新密钥,并通过所述密钥传送单元将该新密钥传送到所述用于存储该数据的存储节点。
14.根据权利要求12的用于传输数据的设备,其中,每个存储节点包括:接收单元,用于从客户端接收读取请求、和从管理节点接收密钥;和发送单元,用于向客户端发送数据,
当所述用于存储该数据的存储节点的接收单元从客户端收到读取请求时,
如果没有从管理节点收到用于更新所述密钥的新密钥,则将所述已加密数据传送到客户端;以及
如果从管理节点收到了所述新密钥,则利用所述密钥对所述已加密数据进行解密,利用新密钥对所述解密的数据进行加密,并然后将利用新密钥加密的所述数据传送到所述客户端。
15.根据权利要求11的用于传输数据的设备,其中,所述用于存储该数据的存储节点利用所述密钥对所接收的已加密数据进行解密,并存储已解密数据。
16.根据权利要求15的用于传输数据的设备,其中,所述客户端生成用于更新所述密钥的新密钥,并通过所述密钥传送单元将该新密钥传送到所述用于存储该数据的存储节点。
17.根据权利要求15的用于传输数据的设备,其中,每个存储节点包括:接收单元,用于从客户端接收读取请求、和从管理节点接收密钥;和发送单元,用于向客户端发送数据,
当所述用于存储该数据的存储节点的接收单元从客户端收到读取请求时,
如果没有从管理节点收到用于更新所述密钥的新密钥,则利用所述密钥对所述已解密数据进行加密,并然后传送到所述客户端;以及
如果从管理节点收到了所述新密钥,则利用新密钥对所述已解密数据进行加密,并然后传送到所述客户端。
18.根据权利要求11的用于传输数据的设备,其中,所述管理节点利用第二部件、通过心跳信号将所述密钥传送到所述用于存储该数据的存储节点。
19.根据权利要求11的用于传输数据的设备,其中,在密钥传送单元中,客户端对该密钥进行加密以及管理节点对该已加密密钥进行解密所使用的是非对称加密算法。
20.根据权利要求11的用于传输数据的设备,其中,所述客户端根据数据机密级别,而利用所述生成单元生成不同长度的密钥。
CN201210012962.XA 2012-01-16 2012-01-16 用于传输数据的方法和设备 Active CN103209202B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210012962.XA CN103209202B (zh) 2012-01-16 2012-01-16 用于传输数据的方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210012962.XA CN103209202B (zh) 2012-01-16 2012-01-16 用于传输数据的方法和设备

Publications (2)

Publication Number Publication Date
CN103209202A true CN103209202A (zh) 2013-07-17
CN103209202B CN103209202B (zh) 2016-03-02

Family

ID=48756286

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210012962.XA Active CN103209202B (zh) 2012-01-16 2012-01-16 用于传输数据的方法和设备

Country Status (1)

Country Link
CN (1) CN103209202B (zh)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104283868A (zh) * 2014-09-11 2015-01-14 江苏集群信息产业股份有限公司 面向物联网和云计算安全存储分布式文件***的加密方法
CN104504128A (zh) * 2014-12-31 2015-04-08 天津南大通用数据技术股份有限公司 一种基于联邦集群的数据库***非对称部署的构建方法
CN104753870A (zh) * 2013-12-30 2015-07-01 ***通信集团公司 一种数据传输方法和***
CN104767712A (zh) * 2014-01-03 2015-07-08 ***股份有限公司 用于安全性信息交互的设备以及安全浏览器
CN104852922A (zh) * 2015-05-26 2015-08-19 陈彬 基于分布式文件***的大数据加解密方法
CN104852925A (zh) * 2015-05-28 2015-08-19 江南大学 移动智能终端数据防泄漏安全存储、备份方法
CN105095785A (zh) * 2014-05-22 2015-11-25 中兴通讯股份有限公司 分布式文件***的文件访问处理、访问方法及装置
CN105721405A (zh) * 2014-12-04 2016-06-29 北京奇虎科技有限公司 一种防止工具数据包被盗的方法、客服端、客户端及***
CN106936763A (zh) * 2015-12-29 2017-07-07 航天信息股份有限公司 数据加密及解密的方法和装置
CN107395580A (zh) * 2017-07-10 2017-11-24 深圳怡化电脑股份有限公司 一种数据校验方法及装置
CN107704775A (zh) * 2017-09-28 2018-02-16 山东九州信泰信息科技股份有限公司 对数据导航信息进行aes加密存储的方法
CN108429733A (zh) * 2018-02-05 2018-08-21 济南浪潮高新科技投资发展有限公司 一种数据处理的***
CN109237716A (zh) * 2018-09-28 2019-01-18 珠海格力电器股份有限公司 一种电器的数据分析方法及***
CN110086805A (zh) * 2019-04-25 2019-08-02 四川师范大学 基于跨域分布式微服务架构下的信息安全传输方法
CN110543772A (zh) * 2019-08-23 2019-12-06 厦门市美亚柏科信息股份有限公司 离线解密方法和装置
CN111580755A (zh) * 2020-05-09 2020-08-25 杭州海康威视***技术有限公司 分布式数据处理***、分布式数据处理方法
CN113726746A (zh) * 2021-08-10 2021-11-30 北京网藤科技有限公司 一种工控安全管理平台及其控制方法
CN114070555A (zh) * 2021-11-12 2022-02-18 江苏亨通问天量子信息研究院有限公司 一种量子密钥分发方法及计算机可读存储介质
WO2023046207A1 (zh) * 2021-09-27 2023-03-30 苏州浪潮智能科技有限公司 一种数据传输方法、装置及计算机非易失性可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1387236A1 (en) * 2002-07-08 2004-02-04 Broadcom Corporation Key management system and method for secure data transmission
CN101039225A (zh) * 2007-04-04 2007-09-19 北京佳讯飞鸿电气有限责任公司 一种分布式协同入侵检测***数据安全传输的实现方法
CN101282213A (zh) * 2007-04-05 2008-10-08 财团法人工业技术研究院 无线传感器网络中安全数据聚合的方法和***

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1387236A1 (en) * 2002-07-08 2004-02-04 Broadcom Corporation Key management system and method for secure data transmission
CN101039225A (zh) * 2007-04-04 2007-09-19 北京佳讯飞鸿电气有限责任公司 一种分布式协同入侵检测***数据安全传输的实现方法
CN101282213A (zh) * 2007-04-05 2008-10-08 财团法人工业技术研究院 无线传感器网络中安全数据聚合的方法和***

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104753870A (zh) * 2013-12-30 2015-07-01 ***通信集团公司 一种数据传输方法和***
CN104767712A (zh) * 2014-01-03 2015-07-08 ***股份有限公司 用于安全性信息交互的设备以及安全浏览器
CN105095785A (zh) * 2014-05-22 2015-11-25 中兴通讯股份有限公司 分布式文件***的文件访问处理、访问方法及装置
WO2015176461A1 (zh) * 2014-05-22 2015-11-26 中兴通讯股份有限公司 分布式文件***的文件访问处理、访问方法及装置
CN104283868A (zh) * 2014-09-11 2015-01-14 江苏集群信息产业股份有限公司 面向物联网和云计算安全存储分布式文件***的加密方法
CN105721405B (zh) * 2014-12-04 2019-08-16 北京奇虎科技有限公司 一种防止工具数据包被盗的方法、客服端、客户端及***
CN105721405A (zh) * 2014-12-04 2016-06-29 北京奇虎科技有限公司 一种防止工具数据包被盗的方法、客服端、客户端及***
CN104504128B (zh) * 2014-12-31 2017-09-12 天津南大通用数据技术股份有限公司 一种基于联邦集群的数据库***非对称部署的构建方法
CN104504128A (zh) * 2014-12-31 2015-04-08 天津南大通用数据技术股份有限公司 一种基于联邦集群的数据库***非对称部署的构建方法
CN104852922A (zh) * 2015-05-26 2015-08-19 陈彬 基于分布式文件***的大数据加解密方法
CN104852922B (zh) * 2015-05-26 2018-10-02 陈彬 基于分布式文件***的大数据加解密方法
CN104852925B (zh) * 2015-05-28 2018-08-28 江南大学 移动智能终端数据防泄漏安全存储、备份方法
CN104852925A (zh) * 2015-05-28 2015-08-19 江南大学 移动智能终端数据防泄漏安全存储、备份方法
CN106936763A (zh) * 2015-12-29 2017-07-07 航天信息股份有限公司 数据加密及解密的方法和装置
CN107395580B (zh) * 2017-07-10 2020-09-15 深圳怡化电脑股份有限公司 一种数据校验方法及装置
CN107395580A (zh) * 2017-07-10 2017-11-24 深圳怡化电脑股份有限公司 一种数据校验方法及装置
CN107704775A (zh) * 2017-09-28 2018-02-16 山东九州信泰信息科技股份有限公司 对数据导航信息进行aes加密存储的方法
CN108429733A (zh) * 2018-02-05 2018-08-21 济南浪潮高新科技投资发展有限公司 一种数据处理的***
CN109237716A (zh) * 2018-09-28 2019-01-18 珠海格力电器股份有限公司 一种电器的数据分析方法及***
CN110086805A (zh) * 2019-04-25 2019-08-02 四川师范大学 基于跨域分布式微服务架构下的信息安全传输方法
CN110086805B (zh) * 2019-04-25 2021-10-26 四川师范大学 基于跨域分布式微服务架构下的信息安全传输方法
CN110543772A (zh) * 2019-08-23 2019-12-06 厦门市美亚柏科信息股份有限公司 离线解密方法和装置
CN111580755A (zh) * 2020-05-09 2020-08-25 杭州海康威视***技术有限公司 分布式数据处理***、分布式数据处理方法
CN111580755B (zh) * 2020-05-09 2022-07-05 杭州海康威视***技术有限公司 分布式数据处理***、分布式数据处理方法
CN113726746A (zh) * 2021-08-10 2021-11-30 北京网藤科技有限公司 一种工控安全管理平台及其控制方法
WO2023046207A1 (zh) * 2021-09-27 2023-03-30 苏州浪潮智能科技有限公司 一种数据传输方法、装置及计算机非易失性可读存储介质
CN114070555A (zh) * 2021-11-12 2022-02-18 江苏亨通问天量子信息研究院有限公司 一种量子密钥分发方法及计算机可读存储介质

Also Published As

Publication number Publication date
CN103209202B (zh) 2016-03-02

Similar Documents

Publication Publication Date Title
CN103209202B (zh) 用于传输数据的方法和设备
US8938074B2 (en) Systems and methods for secure communication using a communication encryption bios based upon a message specific identifier
US11683160B2 (en) Encrypted group communications
US10735186B2 (en) Revocable stream ciphers for upgrading encryption in a shared resource environment
US10965653B2 (en) Scalable and secure message brokering approach in a communication system
CN103532702A (zh) 通信装置、密钥生成装置、通信方法和通信***
WO2016136024A1 (ja) 鍵付替え方向制御システムおよび鍵付替え方向制御方法
JPWO2018070242A1 (ja) 車載ゲートウェイ、鍵管理装置
CN103326850A (zh) 密钥产生装置和密钥产生方法
CN107172001B (zh) 网站代理服务器的控制方法及装置、密钥代理服务器
US10116442B2 (en) Data storage apparatus, data updating system, data processing method, and computer readable medium
KR101615137B1 (ko) 속성 기반의 데이터 접근 방법
US20180115535A1 (en) Blind En/decryption for Multiple Clients Using a Single Key Pair
CN201919030U (zh) 一种网络文件存储及管理***
JP2018207348A (ja) 通信装置、通信システム、鍵共有方法及びプログラム
JP2014530553A (ja) グループメンバーによるグループ秘密の管理
KR102266654B1 (ko) Mqtt-sn 프로토콜의 보안을 위한 mqtt-sn 보안 관리 방법 및 시스템
KR20190139742A (ko) 블록체인에서 정보 조회 시간의 기록을 위한 분산 원장 장치
KR101812311B1 (ko) 사용자 단말 및 속성 재암호 기반의 사용자 단말 데이터 공유 방법
KR101146510B1 (ko) Synk 데이터베이스 암호화 시스템 및 그 방법
US9369442B2 (en) System and method for the safe spontaneous transmission of confidential data over unsecure connections and switching computers
KR20150034591A (ko) 암호화된 데이터를 재암호화하는 클라우드 서버 및 그것의 재암호화 방법
KR20190139744A (ko) Uuid를 이용한 블록체인에서 정보 조회 기록의 무결성을 위한 분산 원장 장치
US10033713B2 (en) System and method for managing keys for use in encrypting and decrypting data in a technology stack
KR101599996B1 (ko) 폐기가능한 id 기반 암호 서버 및 시스템

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