一种存储加密网关密钥管理系统及方法
【技术领域】
[0001]本发明涉及网络安全技术领域,特别涉及一种存储加密网关密钥管理系统及方法。
【背景技术】
[0002]网关(Gateway),又称为网间连接器、协议转换器。网关在网络层以上实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。存储加密网关既可以用于广域网互连,也可以用于局域网互连。网关是一种充当转换重任的计算机系统或设备。使用在不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。与网桥只是简单地传达信息不同,网关对收到的信息要重新打包,以适应目的系统的需求。
[0003]密钥管理,主要负责对整个加密系统中的密钥进行管理,从密钥的产生到密钥的销毁的各个方面。主要表现于管理体制、管理协议和密钥的产生、分配、更换和注入等。具体过程一般包括:密钥生成、密钥分发、验证密钥、更新密钥、密钥存储、备份密钥、销毁密钥。
[0004]CBC(Cipher-block chaining,密码分组链接)模式,是指在进行加密时,每个平文块先与前一个密文块进行异或后,再进行加密。在这种方法中,每个密文块都依赖于它前面的所有平文块。同时,为了保证每条消息的唯一性,在第一个块中需要使用初始化向量。
[0005]ECBCElectronic Codebook,电码本)模式是分组密码的一种最基本的工作模式。在该模式下,待处理信息被分为大小合适的分组,然后分别对每一分组独立进行加密或解密处理。
[0006]随着信息化建设的不断推进,各行业、企事业单位利用计算机系统和计算机网络技术进行关键业务数据的存储和处理越加频繁。各种数据存储设备集中到数据中心机房为各种业务前端应用服务器提供数据存储服务,随着云计算和大数据业务的推广,数据中心存储的数据更将呈几何级数增长。在目前技术条件下数据存储主要依靠各种磁盘阵列为代表的网络存储设备,数据本身无安全保护措施在使用过程中存在极大的数据安全风险。
[0007]而现有的密钥管理系统,功能较简单,对密钥的整个生命周期并未进行完备的管理。导致一些情况无法处理,造成数据的无法解密和加密失败等。除此之外,现有的密钥管理系统多采用国外研制的算法进行加密和解密,导致系统安全性受到质疑;加密时客户端应用程序也需要进行参与,增加了客户端的负荷。另外,加密时相同的明文数据块加密后的密文一样,使得反向破译变得容易,降低了系统的安全性。
【发明内容】
[0008]鉴于此,本发明提供了一种存储加密网关密钥管理系统及方法,该系统及方法加密后的数据破解难度大、更加安全,且对整个密钥生命周期进行了完整的管理。
[0009]本发明采用的技术方案如下:
一种存储加密网关密钥管理系统,其特征在于,所述系统包括:密钥管理中心、存储加密网关、前端应用服务器、存储设备;
所述密钥管理中心,用于生成密钥,将生成的密钥发送给存储加密网关;检测系统中密钥是否过期,如果密钥过期,则发送密钥更新指令和新的密钥至存储加密网关进行密钥的更新;接收来自存储加密网关的密钥销毁请求,销毁密钥,将销毁的密钥存储在历史密钥存储区内;存储加密网关的密钥丢失后,接收存储加密网关的恢复密钥请求,将密钥重新发送给存储加密网关;
所述存储加密网关,用于接收密钥管理中心生成的密钥,并利用该密钥对前端应用服务器传递来的数据进行加密和解密;接收密钥管理中心更新密钥的指令,进行密钥更新;删除密钥后,通知密钥管理中心进行密钥的销毁;连接前端应用服务器和存储设备之间的数据通信;。
[0010]所述密钥管理中心包括中心数据通信模块、密钥生成模块、密钥更新模块、密钥销毁模块、历史密钥存储模块和密钥备份恢复模块;
所述中心数据通信模块,用于接收来自存储加密网关的数据和请求,以及将密钥和指令发送给存储加密网关;所述密钥生成模块,用于生成设备主密钥MK、数据保护密钥KEK和数据加密密钥DEK;所述密钥更新模块,用于检测系统中的数据保护密钥KEK是否过期,如果数据保护密钥KEK过期,则发送密钥更新指令和新的数据保护密钥KEK至存储加密网关;所述密钥销毁模块,用于根据来自存储加密网关的密钥销毁请求,销毁系统中的数据保护密钥KEK和数据加密密钥DEK,将销毁的数据保护密钥KEK和数据加密密钥DEK存储在历史密钥存储模块;所述历史密钥存储模块,用于将生成并发送给存储加密网关的密钥进行备份,将销毁后的密钥进行存储记录;所述密钥备份恢复模块,用于在存储加密网关的密钥丢失后,根据存储加密网关的恢复密钥请求,从历史密钥存储模块中获取备份的密钥,将密钥重新发送给存储加密网关。
[0011 ]所述存储加密网关包括网关数据通信模块、加密/解密模块、密钥更新模块和文件系统创建/删除t吴块;
所述网关数据通信模块用于连接前端应用服务器和存储设备之间的数据通信,接收来自前端应用服务器的数据和接收来自存储设备上的数据;接收来自密钥管理中心的密钥和指令,以及发送数据和请求至密钥管理中心;所述加密/解密模块,用于将前端应用服务器传递过来的数据进行加密以及将获取的存储设备上的数据进行解密;所述密钥更新模块,用于根据密钥管理中心发送来的密钥更新指令和新的数据保护密钥KEK进行密钥的更新;所述文件系统创建/删除模块,用于根据前端应用服务器的请求发送指令至存储设备删除文件系统,并销毁数据保护密钥KEK和数据加密密钥DEK。
[0012]一种基于权利要求1至3之一的存储加密网关密钥管理系统的方法,其特征在于,所述方法具体步骤为:
步骤1:系统初始化,启动成功后,存储加密网关在密钥管理中心进行注册,注册成功后密钥管理中心生成设备主密钥MK,并发送给存储加密网关;
步骤2:存储加密网关新建文件系统时,向密钥管理系统申请数据保护密钥KEK和数据加密密钥DEK;密钥管理中心接到申请后,生成I个数据保护密钥KEK和256数据加密密钥DEK,并发送给存储加密网关;
步骤3:存储加密网关生成CBC模式加密的初始化向量; 步骤4:存储加密网关接收来自前端应用服务器的数据,对数据进行加密;使用数据加密密钥DEK采用CBC模式对数据进行加密;
步骤5:存储加密网关将加密后的加密数据块传递到存储设备中,写入存储设备时,生成加密数据块标识;将对应数据块使用过的数据加密密钥DEK与对应的加密数据块标识一一对应的关系存储在存储设备中,形成密钥链;
步骤6:对加密数据块标识进行Hash运算,得到虚拟编号,然后取虚拟编号的末位I个字节作为Bucket Id;数据加密密钥DEK和Bucket Id——对应;
步骤7:存储加密网关在接受到前端应用服务器获取数据的请求后,获取存储设备上存储的相对应的数据块,根据不同数据块中不同的Bucket Id可以找到加密时使用的是哪一个DEK;存储加密网关先使用设备主密钥MK进行解密;然