电子设计工程ElectronicDesignEngineering第27卷Vol.27第1期No.12019年1月Jan.2019
收稿日期:2018-04-02稿件编号:201804011作者简介:郑寄平(1965—),男,浙江杭州人,高级工程师。研究方向:计算机应用。
网络信息时代,数据安全问题日益凸显。在社会的各领域当中,如政府机关的财政信息、军队系统的情报信息和内部核心技术、银行系统中的储蓄卡和信用卡网络信息、发展迅速的电子商务等,每天都有用户不断产生和交互大量的数据信息。数据作为信息系统的核心,数据安全是信息安全的核心内容。在信息系统中对数据进行有效保护,是对数据资源完整性、机密性、可用性的保护[1]。从安全的角度看,敏感数据尤其是核心数据都应当被特殊对待,除了考虑数据在传输过程中的安全性,还应该考虑数据在存储系统中的安全性。而目前存储的趋势是数据存储和网络传输逐渐融合,因此存储系统中的数据资源遭到恶意攻击或者非法授权存取的几率大大提高。采用加密技术对计算机敏感通信数据进行加密,是提高信息安全的重要方法之一。特别是,近年来军用信息系统对重要数据进行加密存储已逐渐成为强制要求,然而国内基于加密存储阵列研发技术积累相对薄弱,目前的常规技术手段都是通过外接存储密码机实现数据加密,数据传输慢导致其性能存在明显缺陷。与此同时,党政信息系统使用的存储产品多以国外商用产品为主,信息安全存在严重隐患。因此,设计一种基于硬件的加解密系统应用在国产存储阵列上,用以实现对重要数据的保护是很有必要的。综上所述,文中提出了一种基于国产平台的安全存储系统设计与实现架构。安全存储系统中的数据加解密由硬件系统完成,实现时可以采用FPGA
基于国产平台自主可控安全存储系统设计与实现郑寄平,龚骁敏,于天琦(中国电子科技集团有限公司第五十二研究所,浙江杭州310012)摘要:随着存储技术和网络技术的飞速发展,数据的安全存储越来越受到国内科研院所、机关单位、军队系统的重视。数据是整个存储的核心部分,因此数据的加密和保护是安全存储的重点。而基于国产平台的存储阵列在国产化的背景下应用日益广泛,在军用市场方面应用尤为突出,因此对数据进行安全存储和加密设计显得更为重要。本文以国产平台存储阵列为加解密对象,设计了一种基于硬件加解密的安全存储系统,实现对存储阵列中核心数据的加密及保护。关键词:加解密;安全存储系统;存储阵列;数据保护中图分类号:TN918文献标识码:A文章编号:1674-6236(2019)01-0053-05Thedesignandrealizationofanindependentcontrollablesecurestoragesystem
basedondomesticplatform
ZHENGJi⁃ping,GONGXiao⁃min,YUTian⁃qi(The52ndResearchInstituteofChinaElectronicTechnologyGroupCorporation,Hangzhou310012,China)Abstract:Withtherapiddevelopmentofstoragetechnologyandnetworktechnology,thesafestorageofdatahasbeenpaidmoreandmoreattentionbydomesticresearchinstitutes,organunitsandmilitarysystems.Thedataisthecoreoftheentirestorage,andtheencryptionandprotectionofdataisthefocusofsecurestorage.Andthestoragearraybasedonthedomesticplatformisgraduallybeingappliedinthecontextoflocalization,especiallyinthefaceofthemilitarymarket,thesecurestorageandencryptiondesignofdataisparticularlyimportant.Inthispaper,thedomesticplatformstoragearrayastheencryptedanddecryptedobject,adataencryptionanddecryptionsecuritystoragesystembasedonhardwareisdesignedtoencryptandprotectthecoredatainthestoragearray.Keywords:encryptionanddecryption;securitystoragesystem;storagearray;dataprotection
--53《电子设计工程》2019年第1期等方式。以FPGA为例,硬件加解密模块工作时通过PCIE总线将国产存储阵列接收的数据传输到安全加解密模块的缓存中,FPGA从缓存中读取数据并启动加解密模块进行处理,处理后的数据存放至缓存中,最后通过PCIE总线将处理后数据传回至存储阵列内存。1数据的安全存储存储系统作为海量数据的保存载体,是数据保护的最后一道防线。同时,随着存储系统由本地直连向着网络化和分布式的方向发展,并被网络上的众多计算机共享,使得存储系统更容易受到外部攻击,相对静态存储系统往往成为攻击者的首要目标,从而达到窃取、篡改或破坏数据的目的。因此,实现数据的安全存储显得尤为重要,数据安全存储主要包括存储安全技术、数据加解密技术等。文中提出的基于国产平台存储阵列的数据加解密系统正是基于上述两点进行开发、设计实现的。随着国产CPU的发展,X86平台的国产化替代已成为大势所趋,存储“国产化”成为实现存储安全技术的有效途径。而存储国产化的首要目标是自主可控、安全可靠。文中所提的国产双控存储阵列如图1所示,主控制器采用国产自主可控CPU平台,通过自身研发设计,实现了存储系统从硬件到软件的完全自主研发、生产、升级、维护的全程可控,使国产存储阵列成为安全可靠的数据平台,为实现数据的安全存储奠定良好基础。图1国产双控存储阵列另一方面,安全存储需要解决如何保证数据的安全性问题。而数据加解密技术是解决该问题的有效途径之一,同时也是数据安全存储的核心技术。在数据的安全存储中,利用加密技术将数据变为乱码存储,在使用数据的时候,应用解密技术将被加密数据还原。数据在存储和使用时在密文和明文状态两种方式切换,保证数据安全的同时又方便用户使用。数据的加解密处理大致可以分为两类:软件加解密和硬件加解密。其中软件加解密的最大劣势是数据在加解密过程中需要占用大量系统资源导致加解密速度缓慢且容易被破解;而硬件加解密一般采用专用加解密芯片代替软件,通过与主机进行数据交互,由硬件加解密模块完成数据加解密工作。硬件加解密数据的方式具备速度快、占用系统资源少、数据加解密安全可靠等优势。综合考虑,文中以基于AES算法和FPGA的硬件加解密模块为例,阐述如何实现对存储阵列中的数据进行安全保护[2]。2基于国产平台的安全存储系统总体
架构文中以国产存储阵列为基础,加入基于FPGA硬件加解密的安全存储模块和存储软件,从而实现对国产存储阵列中数据进行安全保护。基于国产平台的安全存储系统用户读写IO流程图如图2所示(黑双向箭头表示IO流向),FPGA硬件加解密模块与软件加解密模块(图2中虚框部分)位于同一位置层级,通过所设计的硬件加解密模块取代软件加解密模块完成对存储阵列中数据的加解密操作。
图2数据加解密用户读写IO流程简图基于国产平台的安全存储系统,采用集成硬件加解密模块的方式实现。其架构如下图所示。安全存储系统由基于国产平台的存储阵列和数据加解密模块组成。国产存储阵列为基于国产CPU平台设计的统一存储平台,技术趋于成熟,文中不再赘述;数据加解密模块以国产存储阵列为载体,通过PCIE总线与存储阵列的控制器进行通信,用于实现
加解密模块中FPGA芯片与存储阵列控制器之间的数据、密钥传输。--54图3数据加解密系统架构框图3基于国产存储阵列的数据加解密功能
基于国产存储阵列的数据加密过程数据流向如图4所示,数据解密过程反向行之。需要安全加密的数据,首先由通过鉴权的用户发送给安全存储阵列的IO模块,IO模块调用IO模块驱动接口,把明文数据和密钥分量通过驱动层发送给安全加解密模块,安全加解密模块调用相关算法和生成的密钥完成数据加密工作,加密后的数据按照原路径重新返回到IO模块,应用软件层按照正常的数据上传、下发的形式处理数据到磁盘中[3]。
图4数据加解密流程图驱动层接收到IO模块发送来的数据和控制选项(加/解密命令、算法),根据加解密模块规定的数据协议格式填充数据帧,超过协议长度的包进行分包处理,通过DMA引擎搬运到加解密模块的缓存中,经加解密后的数据包根据协议重新组包,发送给相应的IO模块。加解密模块通过加解密算法从缓存中导入连续的数据帧,按照数据包头部的明/密文性质和算法模块,以及数据长度等控制选项,将数据帧中的数据拆分出来,索引到密钥和加解密算法进行硬件加解密。明文经过算法模块前需要进行对齐校验和长度补充,经加解密算法模块处理后的数据保存在数据加解密模块的内存中,再通过协议栈将数据封装成
帧,使用DMA引擎向存储阵列主控制器内存传输,传输途径支持中断模式。驱动程序接收到加解密模块传回的数据帧,进行解析分解,将数据流通过应用接口进行输出[4]。数据加解密模块作为安全存储系统的核心部分,内部框架图如图5所示。
图5基于FPGA的数据加解密模块框图图5中基于FPGA的数据加解密模块主要分为交互模块、加解密模块和存储单元3部分。其通过PCIE总线与存储阵列进行数据传输;交互模块通过
内部DMA控制器控制PCIE总线与加解密模块进行DMA数据传输。数据加密时,存储阵列将要加密的
数据和使用的密钥传输给FPGA芯片,通过交互模块,将待处理的数据和密钥传输给加解密模块,经加解密模块加密处理的数据会实时存储在存储单元里;加密完成后,存储单元里的加密数据通过PCIE总线重新传回给存储阵列,最终完成数据加密的全部过程[5-6]。解密时,存储阵列将要解密的数据和密钥传输给加解密模块中的FPGA芯片,通过交互模块将数据和密钥传输给加解密模块进行数据解密,数据解密完成后重新传回给存储阵列,完成数据解密的全部过程。
4数据加解密模块硬件框架
本次所设计的基于FPGA的数据加解密模块硬件电路主要由FPGA单元、存储单元、随机数产生单元以及其它外围接口模块组成。其中FPGA单元包括PCIE链路传输逻辑、DMA控制逻辑、内存控制逻辑及其算法硬件优化和实现单元[7]。外围接口主要包含PCIE接口、USB接口、以及IIC接口。其整体电路框图如图6所示。