发明名称 一种云计算环境下的隐蔽通信方法
摘要 本发明公开了一种云计算环境下的隐蔽通信方法,包括1)发送方与接收方约定机密信息的编解码方法,即将机密信息编码为正常数据传输中的间隔时间;2)发送方建立环形共享内存数据结构,将授权引用发送给接收方,双方以内核模块的形式将环形共享内存控制驱动加载到客户虚拟机内核中;3)接收方将共享内存映射到发送方的内存地址空间;4)发送方和接收方以生产者/消费者模式向共享内存写入和读取包含机密信息的正常数据;5)接收方获得代表机密信息的间隔时间序列,将其解码为机密信息;6)接收方解除共享内存映射;发送方回收授权引用。通过本发明的方法,能够突破虚拟机系统现有的完整性及其相关的安全机制,实现跨虚拟机的信息隐蔽传输。
申请公布号 CN102244682B 申请公布日期 2014.04.09
申请号 CN201110202708.1 申请日期 2011.07.19
申请人 中国科学院软件研究所 发明人 吴敬征;王永吉;丁丽萍
分类号 H04L29/08(2006.01)I;H04L29/06(2006.01)I 主分类号 H04L29/08(2006.01)I
代理机构 北京君尚知识产权代理事务所(普通合伙) 11200 代理人 余长江
主权项 1.一种云计算环境下的隐蔽通信方法,包括如下步骤:1)用域间信息隐蔽通信CC3类型的信息流传输方式在同一硬件平台上不同虚拟机之间传输信息,基于云计算平台建立发送方和接收方进程,通过对虚拟机系统信息流模型的描述,定义虚拟机的隔离属性,其形式化模型为:<![CDATA[<math><mrow><mo>&ForAll;</mo><mi>a</mi><mo>&Element;</mo><mi>N</mi><mo>,</mo><msub><mi>P</mi><mi>i</mi></msub><mi>&Theta;a</mi><mo>=</mo><msub><mi>P</mi><mi>j</mi></msub><mi>&Theta;</mi><mrow><mo>(</mo><msub><mi>P</mi><mi>i</mi></msub><mi>&Theta;a</mi><mo>)</mo></mrow></mrow></math>]]></maths>该模型表示对于任意的逻辑对象a,共享资源操作进程信息接收方进程P<sub>j</sub>无法通过共享资源a的属性或状态推测进程发送方进程P<sub>i</sub>的任何操作,即没有信息流从P<sub>i</sub>到P<sub>j</sub>,表示为<img file="FDA0000441407420000011.GIF" wi="94" he="72" /><img file="FDA0000441407420000012.GIF" wi="78" he="62" />定义所述虚拟机的隔离属性为:<![CDATA[<math><mrow><mo>&Exists;</mo><mi>a</mi><mo>&Element;</mo><mi>N</mi><mo>,</mo><msub><mi>P</mi><mi>i</mi></msub><mi>&Theta;a</mi><mover><mo>&RightArrow;</mo><mi>Sec</mi></mover><msub><mi>P</mi><mi>j</mi></msub><mi>&Theta;b</mi></mrow></math>]]></maths>其中<img file="FDA0000441407420000014.GIF" wi="128" he="55" />表示云计算虚拟机系统中部署了安全策略,在该策略下P<sub>i</sub>和P<sub>j</sub>相互隔离,没有信息流从P<sub>i</sub>到P<sub>j</sub>;P<sub>i</sub>和P<sub>j</sub>通过修改和访问逻辑对象a和b的值实现违反隔离性的信息通信;P<sub>i</sub>和P<sub>j</sub>之间的通信方式即称为隐蔽通信;所述隐蔽通信的发送方进程P<sub>i</sub>和信息接收方进程P<sub>j</sub>约定机密信息传输的编解码机制和同步机制,约定机密信息包括机密信息发送起始标识符S<sub>start</sub>和机密信息发送终止标识符S<sub>end</sub>,以及机密信息的二进制编解码方式,并用间隔时间T<sub>0</sub>和间隔时间T<sub>1</sub>分别表示二进制符号0和1且T<sub>0</sub><T<sub>1</sub>;2)发送方P<sub>i</sub>建立环形共享内存数据结构并在授权表中添加授权项允许接收方使用该共享内存,将授权引用发送给信息接收方进程P<sub>j</sub>;3)接收方将共享内存驱动加载到内核中,并将共享内存映射到自己的内存地址空间;发送方按照机密信息编码后的时间序列控制发送正常数据的时间,接收方接受数据并记录内存写入时间;收发双方以生产者/消费者模式在共享内存中写入和读取数据:所述收发双方进程分处同一硬件平台上不同的虚拟域中,机密信息伴随操作系统级的授权操作进行传输;当所有的正常数据发送完成之后,接收方解除映射,发送方回收授权;发送方按照事先的同步约定获取代表机密信息二进制编码的时间间隔序列,并解码成相应的机密信息字符串;3-1)发送方进程P<sub>i</sub>将机密信息编码成二进制字符串表示,然后根据得到的发送时间间隔序列填充共享系统内存,发送正常数据;3-2)在每个中断周期,P<sub>j</sub>处理发送方请求,得到原始数据及其到达时间信息,并计算相应的时间间隔序列;3-3)当所有的机密信息发送完后,P<sub>i</sub>继续发送正常数据直到所有数据发送过程完成;3-4)P<sub>j</sub>得到所有的原始信息,将时间间隔序列逆向解析为二进制字符串,然后将其解码成发送方进程P<sub>i</sub>发送的机密信息,所述发送方进程P<sub>i</sub>计算S<sub>start</sub>和S<sub>end</sub>之间的所有的时间间隔,并将其转换成时间间隔序列,将所述时间间隔序列转换成二进制字符串后该二进制字符串解码成发送方传递的机密信息;3-5)发送方P<sub>i</sub>回收授权引用,所述机密信息附带在正常的共享内存操作中从发送方虚拟机传输到接收方虚拟机,完成隐蔽通信。
地址 100190 北京市海淀区中关村南四街4号