首页 / 专利库 / 电脑零配件 / 计算机系统 / 软件 / 系统软件 / 操作系统 / 内核 / 一种基于核间异步消息队列与共享内存的域间通信方法

一种基于核间异步消息队列与共享内存的域间通信方法

阅读:355发布:2023-12-28

专利汇可以提供一种基于核间异步消息队列与共享内存的域间通信方法专利检索,专利查询,专利分析的服务。并且本 发明 提供了一种基于核间异步消息队列与共享内存的域间通信方法,包括:创建一对Netlink套接字,分别位于用户空间和 内核 空间,用于实现用户与内核之间的通信;发送方 进程 通过Netlink套接字将消息传递给内核空间, 操作系统 内核对消息进行预处理后,调用超级调用陷入安全通信层;其中,所述安全通信层对信息处理域的操作系统内核及用户进程都是不可见的;安全通信层 申请 共享内存,封装待发送的消息并将其写入共享内存,并向接收方的CPU核发送MailBox核间中断,通知接收方对方消息已经到来;接收方在核间中断的触发下产生特权自陷;消息发送完成,释放共享内存。,下面是一种基于核间异步消息队列与共享内存的域间通信方法专利的具体信息内容。

1.一种基于核间异步消息队列与共享内存的域间通信方法,其特征在于包括:
第一步骤:创建一对Netlink套接字,分别位于用户空间和内核空间,用于实现用户与内核之间的通信;
第二步骤:发送方进程通过Netlink套接字将消息传递给内核空间,操作系统内核对消息进行预处理后,调用超级调用陷入安全通信层;其中,所述安全通信层对信息处理域的操作系统内核及用户进程都是不可见的;
第三步骤:安全通信层申请共享内存,封装待发送的消息并将其写入共享内存,并向接收方的CPU核发送MailBox核间中断,通知接收方对方消息已经到来;
第四步骤:接收方在核间中断的触发下产生特权自陷;
第五步骤:消息发送完成,释放共享内存。
2.根据权利要求1所述的基于核间异步消息队列与共享内存的域间通信方法,其特征在于,发送消息的发送方或接收消息的接收方分别处于同一台物理机上的不同信息域。
3.根据权利要求1或2所述的基于核间异步消息队列与共享内存的域间通信方法,其特征在于,第四步骤包括下述子步骤:
第一子步骤:接收方的安全通信模首先进行中断的预处理;
第二子步骤:跳转到操作系统的中断例程,从中断例程中取出共享内存中的消息;
第三子步骤:判断发送方发送过来的消息的目标进程是操作系统内核还是用户进程,如果是操作系统内核,则直接在中断例程中进行处理,并返回;否则,跳转到第四子步骤;
第四子步骤:接收方将接收到的消息通过Netlink机制发送给用户层,用户层进程读取消息并处理。

说明书全文

一种基于核间异步消息队列与共享内存的域间通信方法

技术领域

[0001] 本发明涉及计算机技术领域,具体涉及一种基于核间异步消息队列与共享内存的域间通信方法。

背景技术

[0002] 当前,基于虚拟机的域间通信的典型示例是Xen及KVM(Kernel Virtual Monitor内核虚拟监控器),二者实现域间通信的主要方式是虚拟网络,直接通过通信双方的虚拟网卡来实现的。Xen还提供了一种事件通道的方式来实现虚拟域和VMM之间、虚拟域以及虚拟域之间的简单通信。
[0003] 在现有技术中,基于虚拟网络的域间通信要求通信双方的色都是用户进程,而没有考虑到通信双方可能是操作系统内核或BIOS。而且其中,Xen基于事件通道实现的虚拟域间的简单通信则是将通信消息放置于Xen的一片共享内存中,由通信对方发送消息到这片内存或者从这片内存处接收消息,这片共享内存对于通信双方域都是可见的,一旦恶意攻击者获取了某一方信息处理域的访问权限,也就意味着可以获取对这片共享内存的操作权限,进而危害通信双方传输信息的安全可靠性。另一方面,现有的域间通信技术并未考虑为用户提供灵活的用户层通信接口

发明内容

[0004] 本发明所要解决的技术问题是针对现有技术中存在计算机安全产品中不同信息处理域之间的安全通信问题,提供一种基于核间异步消息队列与共享内存的域间通信方法,其中通信双方的角色可以不对等,可以分别是用户进程和操作系统;同时基于Netlink套接字API提供了用户层的通信接口,供用户程序在不同信息处理域间收发消息时使用,提供了高效灵活的域间安全通信方式。
[0005] 根据本发明,提供了一种基于核间异步消息队列与共享内存的域间通信方法,包括:
[0006] 第一步骤:创建一对Netlink套接字,分别位于用户空间和内核空间,用于实现用户与内核之间的通信;
[0007] 第二步骤:发送方进程通过Netlink套接字将消息传递给内核空间,操作系统内核对消息进行预处理后,调用超级调用陷入安全通信层;其中,所述安全通信层对信息处理域的操作系统内核及用户进程都是不可见的;
[0008] 第三步骤:安全通信层申请共享内存,封装待发送的消息并将其写入共享内存,并向接收方的CPU核发送MailBox核间中断,通知接收方对方消息已经到来;
[0009] 第四步骤:接收方在核间中断的触发下产生特权自陷;
[0010] 第五步骤:消息发送完成,释放共享内存。
[0011] 优选地,发送消息的发送方或接收消息的接收方分别处于同一台物理机上的不同信息域。
[0012] 优选地,所述第四步骤包括下述子步骤:
[0013] 第一子步骤:接收方的安全通信模首先进行中断的预处理;
[0014] 第二子步骤:跳转到操作系统的中断例程,从中断例程中取出共享内存中的消息;
[0015] 第三子步骤:判断发送方发送过来的消息的目标进程是操作系统内核还是用户进程,如果是操作系统内核,则直接在中断例程中进行处理,并返回;否则,跳转到第四子步骤;
[0016] 第四子步骤:接收方将接收到的消息通过Netlink机制发送给用户层,用户层进程读取消息并处理。
[0017] 随着当前信息技术的发展,信息处理域间需要频繁地在不同层次上进行协作,对域间通信的安全性和灵活性提出了很高的要求。本发明在信息处理域和硬件层之间直接引入了一个安全通信层,信息处理域之间的安全通信必须且只能通过这个安全通信层进行处理,并且这个安全通信层对信息处理域是不可见的,因此保证了信息处理域之间通信的安全性。同时,本发明还提供了供用户层使用的消息库接口,方便用户的编程使用。附图说明
[0018] 结合附图,并通过参考下面的详细描述,将会更容易地对本发明有更完整的理解并且更容易地理解其伴随的优点和特征,其中:
[0019] 图1示意性地示出了根据本发明优选实施例的基于核间异步消息队列与共享内存的域间通信方法的流程图
[0020] 图2示意性地示出了根据本发明优选实施例的基于核间异步消息队列与共享内存的域间通信方法的示意图。
[0021] 需要说明的是,附图用于说明本发明,而非限制本发明。注意,表示结构的附图可能并非按比例绘制。并且,附图中,相同或者类似的元件标有相同或者类似的标号。

具体实施方式

[0022] 为了使本发明的内容更加清楚和易懂,下面结合具体实施例和附图对本发明的内容进行详细描述。
[0023] 本发明结合核间异步消息队列及共享内存机制实现了一种域间安全通信方法,该方法在原有的信息处理域层与硬件层之间引入了一个安全通信层。该安全通信层对信息处理域的操作系统内核及用户进程都是不可见的,信息处理域的操作系统内核只有通过特定接口才能陷入到该层,因此从根本上保证了域间通信的安全;与此同时,本发明还基于Netlink套接字API提供了用户层的消息库接口,为用户提供了多域之间进行安全通信的灵活易用的接口。
[0024] 下面将结合附图来描述本发明的具体优选实施例。
[0025] 图1示意性地示出了根据本发明优选实施例的基于核间异步消息队列与共享内存的域间通信方法的流程图。图2示意性地示出了根据本发明优选实施例的基于核间异步消息队列与共享内存的域间通信方法的示意图。
[0026] 其中,域间安全通信指的是共生在同一台物理机上的不同信息域之间的安全通信。
[0027] 在图1和图2中,以信息处理域X与信息处理域Y之间的通信为例,阐述域间安全通信的流程(在该通信流程中,发送消息的一方称为发送方,接收消息的一方称为接收方)。其中,发送方和接收方分别处于同一台物理机上的不同信息域。例如,发送方处于信息处理域X,而接收方处于信息处理域Y;反之亦然。
[0028] 如图1和图2所示,根据本发明优选实施例的基于核间异步消息队列与共享内存的域间通信方法包括:
[0029] 第一步骤S1:创建一对Netlink套接字,分别位于用户空间和内核空间,用于实现用户与内核之间的通信;
[0030] 第二步骤S2:发送方进程通过Netlink套接字将消息传递给内核空间,操作系统内核对消息进行预处理后,调用超级调用陷入安全通信层;其中,所述安全通信层对信息处理域的操作系统内核及用户进程都是不可见的;
[0031] 第三步骤S3:安全通信层申请共享内存,封装待发送的消息并将其写入共享内存,并向接收方的CPU核发送MailBox核间中断,通知接收方对方消息已经到来;
[0032] 第四步骤S4:接收方在核间中断的触发下产生特权自陷;
[0033] 优选地,第四步骤S4可包括下述子步骤:
[0034] 第一子步骤:接收方的安全通信模块首先进行中断的预处理;
[0035] 第二子步骤:跳转到操作系统的中断例程,从中断例程中取出共享内存中的消息;
[0036] 第三子步骤:判断发送方发送过来的消息的目标进程是操作系统内核还是用户进程,如果是操作系统内核,则直接在中断例程中进行处理,并返回;否则,跳转到第四子步骤;
[0037] 第四子步骤:接收方将接收到的消息通过Netlink机制发送给用户层,用户层进程读取消息并处理。
[0038] 第五步骤S5:消息发送完成,释放共享内存。
[0039] 由此,本发明在信息处理域和硬件层直接引入安全通信层,安全通信层供所有信息处理域共享,并且对信息处理域是不可见的。信息处理域之间请求信息及数据的传输必须且只能通过安全通信层。因此保证了信息处理域之间通信的安全性。而且,本发明为不同信息处理域提供了用户层的消息库接口,便于用户的编程使用。
[0040] 此外,需要说明的是,除非特别指出,否则说明书中的术语“第一”、“第二”、“第三”等描述仅仅用于区分说明书中的各个组件、元素、步骤等,而不是用于表示各个组件、元素、步骤之间的逻辑关系或者顺序关系等。
[0041] 可以理解的是,虽然本发明已以较佳实施例披露如上,然而上述实施例并非用以限定本发明。对于任何熟悉本领域的技术人员而言,在不脱离本发明技术方案范围情况下,都可利用上述揭示的技术内容对本发明技术方案作出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈