一种基于D‑BUS通讯协议的通讯方法与流程

文档序号:11960178阅读:429来源:国知局

本发明涉及通讯技术领域,尤其涉及一种基于D-BUS通讯协议的通讯方法。



背景技术:

D-BUS是一个提供简单的应用程序互相通讯的途径的自由软件项目,它是做为freedesktoporg项目的一部分来开发的。D-Bus 以daemon的方式实现。使用者可以执行好几个D-Bus的实体,每个实体被称为一个channel。通常系统中会有一个特权的channel称之为system channel,以及每个使用者拥有一个私有的实体。使用者需要私有的实体因为system channel将有存取的限制。

然而,从安全角度讲,尽管 D-Bus 做了一些安全策略配置,但是其安全性仍需进一步提高。



技术实现要素:

本发明的目的在于克服现有技术的不足,提供一种安全性高的基于D-BUS通讯协议的通讯方法。

为了实现以上目的,本发明所采用的技术方案是:

一种基于D-BUS通讯协议的通讯方法,其特征在于:包括D-Bus客户端、D-Bus 服务以及连接D-Bus客户端和D-Bus 服务的D-BuS总线,其中对D-Bus 服务各接口设置两级安全权限,分别为一般权限和高级权限;

D-Bus客户端向D-Bus 服务接口发送请求时D-Bus客户端先根据其自带的一级密钥交换算法生成一级加密密钥并将该一级加密密钥发送至D-Bus服务,D-Bus 客户端发送请求时根据一级加密密钥对请请求进行加密,D-Bus服务利用该一级加密密钥对D-Bus客户端的请求进行解密分析并判断该请求所属的权限;若该请求属于一般权限则D-Bus 服务执行该请求;

若该请求属于高级权限则D-Bus 服务会根据向其自带的二级密钥交换算法生成二级第一密钥交换因子并发送至D-Bus客户端,D-Bus客户端在接收二级第一密钥交换因子后根据其自带的二级密钥交换算法生成二级第二密钥交换因子并发送至D-Bus 服务,D-Bus 服务在接收二级第二密钥交换因子后根据其自带的二级密钥交换算法生成二级第三密钥交换因子并发送至D-Bus客户,D-Bus客户端在接收二级第三密钥交换因子后根据其自带的二级密钥交换算法生成二级加密密钥并发送至D-Bus 服务,D-Bus 服务对该二级加密密钥进行分析以验证D-Bus客户端所属的权限,若D-Bus客户端的所属权限为高级权限则D-Bus 服务执行该请求,若D-Bus客户端的所属权限仅为一般权限则D-Bus 服务拒绝执行该请求。

进一步,在判断D-Bus客户端的请求是否属于高级权限时,D-Bus 服务先获取该请求的值,同时查询所属D-Bus 服务接口的高级权限列表,所述的高级权限列表包括各高级权限请求的内容及其对应的值,通过对比该请求的值以及高级权限列表中各高级权限的值判断该请求是否属于高级权限。

本发明的有益效果:本发明的通讯方法将D-Bus 服务各接口按照安全等级设置一般权限和高级权限,使得D-Bus 服务的具体接口可以适应不同的安全需求,特别是D-Bus客户端请求高级权限时,更需要对D-Bus客户端进行多次动态的验证,使验证结果更安全可靠,提高该通讯的安全性。

具体实施方式

现结合具体实施例对本发明所要求保护的技术方案作进一步详细说明。

本实施例的一种基于D-BUS通讯协议的通讯方法,包括D-Bus客户端、D-Bus 服务以及连接D-Bus客户端和D-Bus 服务的D-BuS总线,其中对D-Bus 服务各接口设置两级安全权限,分别为一般权限和高级权限。

D-Bus客户端向D-Bus 服务接口发送请求时D-Bus客户端先根据其自带的一级密钥交换算法生成一级加密密钥并将该一级加密密钥发送至D-Bus服务,D-Bus 客户端发送请求时根据一级加密密钥对请请求进行加密,D-Bus服务利用该一级加密密钥对D-Bus客户端的请求进行解密分析并判断该请求所属的权。在本实施例中,在判断D-Bus客户端的请求是否属于高级权限时,D-Bus 服务先获取该请求的值,同时查询所属D-Bus 服务接口的高级权限列表,所述的高级权限列表包括各高级权限请求的内容及其对应的值,通过对比该请求的值以及高级权限列表中各高级权限的值判断该请求是否属于高级权限。

若该请求属于一般权限则D-Bus 服务执行该请求,若该请求属于高级权限则D-Bus 服务会根据向其自带的二级密钥交换算法生成二级第一密钥交换因子并发送至D-Bus客户端,D-Bus客户端在接收二级第一密钥交换因子后根据其自带的二级密钥交换算法生成二级第二密钥交换因子并发送至D-Bus 服务,D-Bus 服务在接收二级第二密钥交换因子后根据其自带的二级密钥交换算法生成二级第三密钥交换因子并发送至D-Bus客户,D-Bus客户端在接收二级第三密钥交换因子后根据其自带的二级密钥交换算法生成二级加密密钥并发送至D-Bus 服务,D-Bus 服务对该二级加密密钥进行分析以验证D-Bus客户端所属的权限,若D-Bus客户端的所属权限为高级权限则D-Bus 服务执行该请求,若D-Bus客户端的所属权限仅为一般权限则D-Bus 服务拒绝执行该请求。

本实施例的通讯方法将D-Bus 服务各接口按照安全等级设置一般权限和高级权限,使得D-Bus 服务的具体接口可以适应不同的安全需求,特别是D-Bus客户端请求高级权限时,更需要对D-Bus客户端进行多次动态的验证,使验证结果更安全可靠,提高该通讯的安全性。

以上所述之实施例仅为本发明的较佳实施例,并非对本发明做任何形式上的限制。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的技术内容对本发明技术方案作出更多可能的变动和润饰,或修改为等同变化的等效实施例。故凡未脱离本发明技术方案的内容,依据本发明之思路所作的等同等效变化,均应涵盖于本发明的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1