韩庆龙,吕 洁,王凤芹
(海军航空大学,山东烟台264001)
目前,大多党、政、军、企进行敏感信息分发时,仍很大程度依赖移动存储设备,为保证信息的安全性,有些部门采取安全围墙或U盘密盘化的形式进行信息管控[1-4]。但安全围墙具有明显的不足,如安全围墙的范围确定问题,对规模较大的单位,围墙范围较大,即设备注册数量大,则信息容易失控,较小则给工作造成障碍。为了解决该问题,研究人员提出了分级的思想[5-7],即将信息按敏感程度分为若干等级,同时将围墙按等级分层,给用户赋予不同权限,高安全等级的文件只能由具有高级别权限的人查阅。但如何进行分级,分多少级,每个级别范围如何界定仍然是个难题。而且有些敏感信息要求只能被特定部门的人员查阅。因此,必须对安全围墙进行进一步的优化。
为了解决安全围墙内文件分发过程中所遇到的上述困难,本文以混合加密为基础,建立了操作系统服务层的移动存储文件分发安全系统,设计了离线模式下的密钥交换方式,采用椭圆曲线加密算法(Elliptic Curve Cryptography,ECC)[8-9]和高级加密标准(Advanced Encryption Standard,AES)[10]对文件进行加密分发,系统能够保证文件的单点接收,确保敏感信息的分发范围完全可控。
系统的核心设计思想是利用加密算法将信息加密分发,并利用公钥体制进行密钥交换。文件的实际加密采用AES。密钥交换的实际体制是基于ECC的ECDH方案。AES以其算法的高效性和安全性,成为目前应用最广泛的分组加密算法[11]。ECC作为RSA的替代算法,具有更高的安全性和更快的加解密速度,对密钥的长度要求也更低[12-14]。
为提高系统的实用性,使用户在数据传输中获得可伸缩的安全性与便捷性,设计了多层嵌套的加解密模式。系统组织结构如图1所示。
系统的加密模块、解密模块和管理模块中的初始化子模块保证了利用移动存储设备进行信息传递时均处于完整的安全回路。
为使数据传输拥有可伸缩的安全性与便捷性,该系统设计了多层嵌套式的加解密模式。一方面,当采用两层(AES+ECC)嵌套加密方式时,可以接收任何其他计算机向该存储设备加密存储文件,但存储设备仅能在与该移动存储设备绑定的计算机上进行解密。该模式可最大程度保证数据传输中的安全性,避免无关人员查看数据。另一方面,当拥有者选择三层(AES+ECC+AES)嵌套加密方式时,可适当地扩大可解密范围,在拥有者的授权下,系统内部被授权的其他人员具有同样的使用权限,使得信息的传递更加方便快捷。拥有者可通过更换外层AES密钥,随时进行权限的收回。
初始化模块能够引导用户完成密钥对生成及其与移动存储设备和用户计算机的绑定。流程图如图2所示。当插入移动存储设备,并启动应用程序之后,选择设备初始化可对移动存储设备进行系统初始化,根据用户输入的具有唯一标识特征的密钥名称结合机器码生成ECC密钥对,并将密钥对中的公钥以文件的形式存入移动存储设备,私钥留存本地计算机,从而完成移动存储设备和计算机的绑定。之后,利用系统加密发送到该移动存储设备的文件只能在该计算机上打开。如果用户需要在其他计算机查看已加密的文件则需要根据用户输入的口令将密钥对中的私钥经过加密存入移动存储设备,在解密时需要设备拥有者输入口令打开加密文件,这提供了一定的便利,但也带来了一定的安全风险,使用时需特别注意。
加密功能提供了针对用户需求进行划分的2种加密方式。加密过程数据流图如图3所示,程序流程图如图4所示。系统随机生成AES加密密钥,并将所选文件利用AES算法和该密钥进行加密。同时,利用发方私钥和收方公钥将AES加密密钥进行加密,与发放公钥一同存入另一文件,作为数据密文的密钥交换文件。数据密文文件和密钥交换文件同时发往移动存储设备。
解密模块根据文件加密的方式进行二层解密或三层解密。解密数据流图如图5所示,程序流程图如图6所示。解密时,系统首先获取密钥交换文件,获得发放的公钥,结合本地私钥将AES密钥的密文进行解密,获得AES加密密钥,并用此密钥对密文文件进行解密。在该过程中,会首先判断本地计算机与移动存储设备是否匹配,如果不匹配则还需查看移动存储设备中是否包含收方的私钥密文,并提示解密者输入全局密钥。
具体实现时,公钥体系秘钥对的生成由用户端的初始化模块完成,公钥以文件格式存储于用户移动存储设备,对外公开,私钥以文件格式存储于用户个人计算机,与用户计算机的机器码相关联,并可根据需求不定期重新生成秘钥对,进一步保证了私钥的安全性。
系统基于.Net平台进行开发,主要使用System.Security.Cryptography类,秘钥对的生成采用ECDH子类生成。操作系统的文件关联和右键操作基于第三方控件SharpShell完成。
开发过程中创建的类、函数及其功能说明见表1。
表1 类和函数说明Tab.1 Classes and functions
系统测试按功能模块依次测试,各模块测试通过后进行系统联调,测试效果良好。测试环境软硬件平台信息如表2所示,测试项目及结果如表3所示。
表2 测试环境软硬件基本信息Tab.2 Hardware and software environment for testing
系统结合ECC与AES,建立了完善的基于混合加密的移动存储设备文件分发机制。设计了公钥离线交换机制,把移动存储设备等效为信道,设计了混合加密框架,保证移动存储设备数据分发过程中的安全性。采用混合加密手段,即采用对称加密算法AES加解密文件体,而采用ECC进行AES密钥分发。在该手段下可以获得对称加密的高速性和高安全性。设计了独特的ECC密钥对生成机制和保存格式,克服了离线进行公钥交换的困难。系统还设计了多层嵌套式的加解密模式,使该系统安全性和便捷性兼备。
表3 测试项目及结果Tab.3 Testing items and results
[1]顾桃峰,岳海燕,顾伟,等.便携式存储器安全管理平台的研究与实现[J].计算机应用与软件,2011,28(2):114-117.GU TAOFENG,YUE HAIYAN,GU WEI,et al.On safety management platform of removable storage devices and its implementation[J].Computer Application and Software,2011,28(2):114-117.(in Chinese)
[2]王飞平,高发桂.Windows下可移动存储设备加密系统的研究与实现[J].湖北民族学院学报:自然科学版,2016,34(4):442-450.WANG FEIPING,GAO FAGUI.Research and implementation of encrypting system for removable storage device in Windows[J].Journal of Hubei University for Nationalities:Natural Science Edition,2016,34(4):442-450.(in Chinese)
[3]赵清.内网中移动存储设备的安全防护技术及应用[J].上海电气技术,2014,7(3):47-50.ZHAO QING.The technique and applications of intranet security protection for removable storage device[J].Journal of Shanghai Electric Technology,2014,7(3):47-50.(in Chinese)
[4]廖洪其,凌捷,郝彦军,等.USB移动存储设备的惟一性识别方法研究[J].计算机工程与设计,2010,31(11):2778-2814.LIAO HONGQI,LING JIE,HAO YANJUN,et al.Study on unique identification methods of USB removable device[J].Computer Engineering and Design,2010,31(11):2778-2814.(in Chinese)
[5]郁滨,尹文浩.移动存储设备多密级安全交互方案[J].计算机工程与设计,2011,32(12):3969-3972.YU BIN,YIN WENHAO.Multilevel security scheme of removable storage device[J].Computer Engineering and Design,2011,32(12):3969-3972.(in Chinese)
[6]李永强,谭立清,马同茂,等.USB移动存储设备密级保护系统的设计与实现[J].计算机光盘软件与应用,2014(13):89-91.LI YONGQIANG,TAN LIQING,MA TONGMAO,et al.Design and implementation of multilevel security system for removable storage device[J].Computer CD software and applications,2014(13):89-91.(in Chinese)
[7]张学思,郁滨.一种基于移动存储设备的多密级安全交互模型[J].系统仿真学报,2015,27(4):755-778.ZHANG XUESI,YU BIN.Security model for multi-level interaction based on portable devices[J].Journal of System Simulation,2015,27(4):755-778.(in Chinese)
[8]DARREL HANKERSON,ALFREDJMENEZES,SCOTT VANSTONE.Guide to elliptic curve cryptography[M].New York:Springer-Verlag,2004:153-204.
[9]ANDREAS ENGE.Elliptic curves and their applications to cryptography[M].New York:Springer,1999:45-108
[10]NIST.Announcing the advanced encryption standard[M].Maryland:Federal Information Processing Standards Pub-lication,2001:13-24.
[11]JOSÉ M GRANADO CRIADO,MIGUEL A VEGA RODRÍGUEZ,JUAN M SÁNCHEZ PÉREZ,et al.A new methodology to implement the AES algorithm using partial and dynamic reconfiguration[J].Integration,the VLSI Journal,2010,43(1):72-80.
[12]GEOVANDRO C C F PEREIRA,MARCOS A SIMPLICIO,MICHAEL NAEHRIG,et al.A family of implementation-friendly BN elliptic curves[J].Journal of Systems and Software,2011,84(8):1319-1326.
[13]KIMMO JÄRVINEN.Optimized FPGA-based elliptic curve cryptography processor for high-speed applications[J].Integration,the VLSI Journal,2011,44(4):270-279.
[14]MOHAMED ELHOSENY,HAMDY ELMINIR,ALAA RIAD,et al.A secure data routing schema for WSN using elliptic curve cryptography and homomorphic encryption[J].Journal of King Saud University-Computer and Information Sciences,2016,28(3):262-275.