1. 技术背景介绍
近年来,跨数据中心的大数据迁移需求日益旺盛,一方面是由于云计算技术的发展使得数据中心之间的数据共享变得更容易,另一方面是企业业务的诉求推动。比如,跨站点的虚拟机容灾恢复技术,就需要传输虚拟机镜像这类大文件(通常几十个G);在比如,跨站点的虚拟机整机迁移技术,也需要传输镜像文件。
云环境一般采用的方式是建立一个私有网络,实现站点间的点对点传输,这样可以保证传输效率,而且和公网隔离,安全性高。不幸的是,建立私有网络通道的成本太高,而且,跨国站点还需要获得当地政府的许可,手续繁琐。
另一种方式是利用公网完成数据传输。这种方式的挑战是要确保数据的安全传输,以及高吞吐量,同时要具备可扩展性。现有的网络安全传输机制,比如公钥授权(PKI),SSL/TLS协议,可以提升公网环境下的数据安全性。尽管这些机制在不断的加强和改进,但是使用公共网络作为底层数据传输意味着发送方和接收方实体不能通过设计来控制数据传输路径中的所有节点。因此,这些机制可能仍然容易受到窃听、伪装和其他类型的网络攻击。
2. VMWARE专利方案
2.1 总体架构
本专利通过区块链技术,云存储服务,实现了在公网环境下安全,高性能数据传输技术,有效解决了跨站点大数据传输的痛点。
系统环境中,发送者位于第一个站点,接收者位于第二个站点,两个站点可能是地理位置隔离的办公地点或者数据中心。发送者可以将大容量的虚拟机镜像文件发送给接收者(通常在容灾恢复场景以及虚拟机整机迁移场景)。这两个站点通过网管接入公网,可以同时访问区块链网络以及云存储网络。
区块链网络为双方提供安全的认证机制以及可信传输机制;云存储网络则提供高性能数据传输。可以简单将区块链网络理解为传输控制面,云存储网络理解为传输数据,二者各司其职。
2.1.1区块链网络
通过区块链网络,发送方和接收方可以在公网环境下安全的交换信息。这些信息被加密后保存在区块链上,利用强大的算力做背书,防止数据被篡改。而且只有接收方才能利用私钥将信息解密后查看。可以选择比特币,莱特币等主流的区块链网络。
2.1.2云存储服务
云存储为数据传输提供高性能传输通道,发送方上传到云存储后,接收方从相同地址下载。存储服务包括下载地址,账号密码等信息,提供数据安全保证。目前主流的公有云对象存储服务包括亚马逊的S3,Google Drive,Dropbox,微软的One-Drive等等。
2.1.3 HBDT模块
HBDT全称为Hybird Blockchain-based Data Transfer(混合区块链数据传输),同时部署在发送方和接收方,属于核心的通信装置。HBDT需要利用区块链网络传输数据控制信息,所以,包含一个或多个区块链客户端,同时,HBDT需要具备和云存储通信的能力,完成大数据量传输工作,下面的流程展示了HBDT的主要功能。
2.2 总体流程
发送方通过区块链向接收方转移一个token,其内容包含数据所在的云存储信息,元数据信息等,也就是将数据的下载地址告诉接收方。然后,接收方通过私钥提取出数据地址信息后,回复一个token表示ACK。
接着,发送方将数据上传到云存储网络,同时,接收方从相同的云存储地址下载数据。上述过程会不断重复,直到数据下载完成,具体流程如下图所示:
本专利方案有以下几点优势:
1)实现了公网环境下的数据传输,节约成本;
2)与现有的安全传输机制相比,专利方案提供更加安全,防篡改的特性,抵御多种网络攻击。这得益于区块链网络的特点;
3)区块链网络只负责完成控制面数据传输,云存储网络则负责数据面传输。这主要是因为,公有区块链网络的性能较低,而且传输成本比较昂贵(例如,比特币网络1MB数据大概需要3美元),所以,将大体量的数据面信息通过价格低廉的云存储网络传输;
控制面和数据面解耦后,系统的架构更加灵活,扩展性更强,可以组装不同的公有区块链网络以及多个云存储服务。
2.3 认证流程
区块链的token交易信息中,交易发起方可以在交易信息中记录一些私有信息(只有接收方可见)。认证流程就是利用这些私有信息,交换公钥和证书,完成双方的身份确认。具体流程如下:
2.4 token交换流程
发送方将元数据信息,云存储地址信息写入token交易的私有信息中,然后,将token发送到接收方的区块链地址上。其中,DSpec表示元数据信息,例如,数据长度,CSpec表示云存储信息,例如,存储对象的URL地址、登录账号等信息。
接收方收到token后,用私钥解密出私有信息后,进行校验,然后,将校验结果通过token私有信息发送回去,完成确认。具体流程如下:
2.5 云存储上传/下载流程
发送方将数据上传到约定的云存储地址上,然后,接收方开始下载,一旦下载完成,则删除数据,并发送一个token给发送方,通知本轮数据传输已完成,可以进行下一轮数据传输。发送方收到token后,确认下载完成,则重复上述过程进行下一轮数据上传,知道所有数据全部传输完成,具体流程如下:
3. 总结
数据的安全性一直是云计算领域的重要问题之一,特别是公网环境下的公有云。而区块链技术作为可信数据传输的载体,为云计算领域带来了全新的问题解决思路。相信在未来,区块链的安全技术会在越来越多的领域发挥它的价值。