云服务器虚拟机通信串口数据安全性监控仿真
2023-09-20曹进克
刘 芳,曹进克
(1. 郑州工业应用技术学院信息工程学院,河南 新郑 451100;2. 解放军信息工程大学,河南 郑州 450011)
1 引言
随着计算机网络技术的飞速发展,数据通信具有越来越重要的作用,数据的共享与交换一直占据重要位置,如何对系统间的数据进行快速、安全的交换,一直都是科研工作者研究的重要课题之一[1,2]。作为云平台重要支撑的虚拟化技术可以大大提高数据通信过程中的利用率和容错率。当建立好虚拟机的共享数据通道后,通信两端通过共享内存通道进行数据交换[3],除此之外,虚拟机间还可以灵活的进行内网数据通信,这种通信方式可以极大程度上提高数据的吞吐率。由于每个虚拟机都具有独立的操作系统和存储空间,因此就安全性而言,虚拟机具有相当出色的隔离优势[4]。
现如今有大量学者参与到虚拟机通信数据的研究中。文献[5]基于虚拟化技术对云平台的虚拟机进行串口和网络配置,结合虚拟机镜像配置虚拟网络,通过串口自动触发虚拟机内部的路由,并自动实现外网的通信配置,该方法在数据通信过程中具有较高的效率。文献[6]基于XenVMC的高效率、在线迁移等特点,设计了多核环形共享数据缓存空间,为了使通信接收方能够进行数据并发的接收,调度多个运行的CPU,该方法在数据的吞吐率上有明显的提高。文献[7]设计了一种支持虚拟机代理的加速虚拟化框架,为用户提供高效、透明API虚拟化的同时,增强用户通信间的数据隔离性,并利用硬件虚拟化技术,通过CPU控制虚拟机间的虚拟化性能开销,实验结果表明,该模型与经典模型相比通信性能可以提高5倍左右。
基于以上研究,从安全方面考虑,本文围绕虚拟机通信数据机制,提出云服务器虚拟机通信串口数据安全性监控仿真方法。采用模糊身份机制在通信数据中引入随机掩码,确保数据用户身份信息的隐私性。并将云计算的信任问题转换成虚拟机的迁移问题。
2 串口通信设计
为了对串口通信提供安全保障,需要对串口通信系统进行全方面的设计。首先需要选择合适的点对数据进行获取;然后对截断点实施拦截;最后对用户数据进行加密与解密处理。串口通信系统由I/O管理器和设备驱动程序组成。I/O管理器将系统组件和应用程序连接到虚拟机上,并对设备的基础体系结构进行定义。设备驱动程序为虚拟机提供I/O接口,接收并发送驱动指令给I/O管理器。
数据安全基于串口通信安全技术,本文设计的安全技术模块主要包含:初始化模块、用户管理模块、驱动程序模块和数据处理模块四部分。
2.1 初始化模块
初始化模块是整个串口通信安全技术运行的基础,主要负责检测驱动程序是否安装、系统是否正常工作。驱动程序文件在系统启动时动态附加到相应的串口上,并调用其它模块正常运行。该模块的流程图如图1所示。
初始化时需要将计算机对应的串口代号传递给驱动程序模块,在判断串口代号时先检测串口是否能够正常工作。
2.2 用户管理模块
用户管理模块是为了应用安全技术之后,能够根据用户需求对整个串口通信系统进行监控,主要负责调用数据处理模块中秘钥的添加与修改等,通过设置通信对象,方便对数据进行处理。
2.3 驱动程序模块
驱动程序模块是串口通信安全技术的核心部分,主要负责截取串口数据,并调用数据处理模块对数据进行加密和签名等处理,删除掉不需要的数据。驱动程序模块有旁路和激活两种状态,用户通过操作界面的指定,进行两种状态的相互切换。
发送数据时,驱动程序模块通过调用数据处理模块对通信数据进行拦截加密处理,其中的密钥是用户由密钥表查询并设置的,然后将加密的数据附加上标志发送出去。接收数据时,依据通信数据标志,驱动程序模调用数据处理模块对数据进行解密处理。
2.4 数据处理模块
数据处理模块主要负责驱动加密卡和修改密钥。这个部分采用公钥算法与对称密钥算法相结合,完成串口通信数据的加密与密钥的分发过程。
用户通过管理界面将通信数据和公开的密钥进行对称加密,并将其持久化。在密钥表中结合通信数据找到与之对应的公钥,并对密钥进行加密,将随机生成的密钥添加到数据后面发送出去。接收到数据后,将通信数据与密钥做分离处理,根据私钥解密内容。此过程中,加密的数据格式如图2所示。
图2 加密数据格式
“标志1”和“标志2”的目的是为了能够将通信数据与密钥正确的分离出来,方便后续的解密工作。假设数据和密钥都是由0和1组成的64bit符号串,那么有
(1)
其中,a表示数据;b表示密钥,且b8,b16,b24,…,b64是奇偶校验位,不起作用,因此密钥b只有56bit有效。加密过程用公式可表示为
(2)
其中,E表示初始置换;Fi表示第i次的迭代过程。公钥算法的基础是欧拉定理,假设整数c和a互素,那么欧拉公式可表示为
cϖ(a)=1(moda)
(3)
其中,ϖ(a)表示与a互素且小于a的正整数的数量。对通信数据进行加密与解密时,其变换用公式可表示为
(4)
其中,e和f表示随机选取的整数。加密设计的原则是替换性良好,使新模块取代旧模块时,系统中的其它模块不做改动,因此在通信数据安全技术设计中,对数据处理模块进行独立研究设计。
3 云服务虚拟机安全性分析
云计算信息安全问题不仅有云服务器固有因素造成的,也有对外执行服务过程中表现的安全性。对于云平台而言,通信数据安全是首要问题。为了对用户的身份信息进行隐私保护,在模糊身份机制的密文中引入随机掩码,确保数据用户身份信息的隐私性。假设数据用户身份信息属性集合为φ,密文交互信息私密集合为φ′,两者满足的关系为
|φ∩φ′|≥ε
(5)
其中,ε表示交集中的属性个数,只有满足式(5)才能进行解密。在构建密钥的时候,私钥需要通过多项式构造出来,用公式可表示为
(6)
其中,h表示双线性群的生成元;k(i)表示e-1阶多项式,li表示任意整数。在对数据采取加密操作时,通过随机方式确定密文形式,用公式表示为
(7)
其中,H′表示消息密文;{Hi}表示公开参数集合;s表示非负数集合中的随机整数。消息接收者接收到数据后,解密过程用公式可表示为
(8)
其中,e表示双线性映射;S表示元组值数值集合。进而需要对数据用户身份的属性相关性进行分析,这也是模糊身份机制的重要之处。属性相关性是对数据用户身份与量化属性之间的相关性进行描述,根据各个属性的排序和设定的阈值进行弱相关属性的删除,那么用户身份信息集合所需的期望信息用公式可表示为
(9)
其中,vm表示数据用户身份信息元组的数目;pi表示任意样本属于某一类属性的概率。按照某一属性对数据用户身份信息的集合进行划分得出该属性的熵,用公式可表示为
(10)
其中,X表示属性;smi表示第i个集合所包含第m个类的元组。那么作用于属性X的信息增益用公式可表示为
GAI(X)=EXP(s1,s2,…,sm)-ENT(X)
(11)
云服务的基础是数据存储载体,因此针对这一基础设施,以虚拟化可信平台模块作为基础,进行虚拟机模块迁移的安全性研究。
监控系统采取暗盒的形式对虚拟机进行管理,从而保证其中数据与用户的解耦隔离,在这种安全保护措施下,云服务的信任问题转向了虚拟机的创建与迁移上。虚拟机的安全迁移方法主要包含身份认证、相互完整性检验和数据传输三部分内容,迁移方法如图3所示。
图3 虚拟机迁移方法示意图
基于用户身份加密机制,源服务器和目的服务器的公开密钥可以由自身信息描述获得,而私有密钥则是由私钥生成器生成。一旦目的服务器的身份信息被获取,源服务器就会通过公开密钥对双方的通信信息进行加密。目的服务器接收到以密文形式发送的通信数据后,利用私钥生成器获取自身的私钥信息,对接收的密文进行解密。
当源服务器和目的服务器互相认证身份成功后,会进入到完整性检验阶段。在检验阶段,虚拟机既要度量物理平台的环境,还要向检验工作者提供存储的度量信息,通过这些度量信息,虚拟机就可以处理通信过程的安全检验请求。
身份认证和相互完整性检验过程成功后,就可以进行数据传输。数据传输前目的服务器为了表示已经做好传输准备,会向源服务器发送一个新生成的随机数,源服务器接收到随机数后,开始进行通信数据的迁移。
4 仿真与结果分析
为了验证本文所设计串口数据通信安全技术的可行性,以及实施安全技术对系统带来的影响,通过实验比较发送1kB、10kB、100kB和1000kB数据时,在不同波特率9600bps、19200bps和57600bps下速率变化的百分比。实验结果如图4所示。
图4 不同波特率下速率百分比曲线
从图中可以看出,随着发送数据的不断增加,通信系统速率变化百分比逐渐降低。当发送的数据超过100kB时,速率变化曲线相对较为平缓。并且当发送的数据大小相同时,波特率越大,对串口通信速率的影响就越明显。总体而言,采用本文设计的安全技术对系统的影响在允许的范围内,表明本文方法具有可行性。
进一步对数据用户信息的属性相关性进行分析,数据用户身份的初始数据集如表1所示。
表1 初始数据集
为了对数据用户信息进行准确地归纳与描述,将每个数据用户视为一个独立个体。姓名属性是对数据用户描述贡献值最大的属性,因此姓名属性被保留;而年龄和民族等属性可能存在多数相同值,因此将这些贡献值较低的属性排除,通过实验得出属性的判别阈值为2.5,经过属性相关性分析,数据用户信息描述的属性集为{姓名,城市,电话,邮箱},并将其作为模糊身份机制加密属性集合。将文献[8]的密文结构标注为H1,将所提密文结构标注为H2,它们的比较如下
(12)
图5 密文结构构造开销
从图中可以看出,当通信数据长度相同时,基于H2的建立时间较H1延长了大约30%,同时,对内存的占用提升了大约1.5倍,然而可以看出涨幅较为稳定。在整个检验过程中,大部分为H2的建立时间,因此在没有对检验过程产生影响的同时,还可以较好的对通信数据进行安全性的保护。
5 结束语
为了对通信数据的安全性进行监控,设计了基于云服务器虚拟机通信串口数据安全监控方法。基于现有通信系统架构,对通信串口的安全技术结构进行设计。为了对数据用户身份属性信息进行描述,采用模糊身份加密机制,不仅避免了单一属性对身份信息描述的不足,还能增强云服务器通信数据的安全性保护。并将云计算环境的信任问题,转换成虚拟机的迁移问题,采用身份加密机制及虚拟迁移技术构造安全的迁移机制。最后通过实验对本文方法进行分析,证明了本文方法对通信数据的安全性具有较好的保护程度。