会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 电脑零配件 / 计算机系统 / 软件 / 软件进程间安全通信系统

软件进程间安全通信系统

阅读:1020发布:2021-03-03

IPRDB可以提供软件进程间安全通信系统专利检索,专利查询,专利分析的服务。并且本发明提供了一种软件进程间安全通信系统,其包括需要进行密钥交换的若干进程,其中发送数据的一方定义为源进程,接受数据的一方定义为终进程,其源进程与终进程间的进程间认证和密钥交换共享一个秘密的数据,所述该数据被用来生成密钥,所述生成的密钥将实时的加密两段进程的数据;本发明的有益效果是:操作系统系统驱动更加难以拦截和调试,增加了软件方案的安全性;同时由于系统驱动层的命令拦截更加困难,中间人攻击的可能性被大大的降低。由于共享密钥是在运行时确定的,它可以被用作被认证过的两个进程未来的进程间通信的会话密钥,或者用于加密会话密钥的根密钥,这种方法区别于使用事先分享好的密钥,可以更加有效的加强软件系统的安全性。,下面是软件进程间安全通信系统专利的具体信息内容。

1.一种软件进程间安全通信系统,其包括需要进行密钥交换的若干进程,其中发送数据的一方定义为源进程,接受数据的一方定义为终进程,其特征在于:源进程与终进程间的进程间认证和密钥交换共享一个秘密的数据,所述该数据被用来生成密钥,所述生成的密钥将实时的加密两段进程的数据。

2.根据权利要求1所述的一种软件进程间安全通信系统,其特征在于:所述需要进行密钥交换的进程间通过系统驱动对对方进行认证,在认证过程中,进程间没有直接的与安全相关的通信。

3.根据权利要求1所述的一种软件进程间安全通信系统,其特征在于:所述进程与驱动之间的命令,使用操作系统接口。

4.根据权利要求3所述的一种软件进程间安全通信系统,其特征在于:所述命令由安全模块发送,驱动层不发送命令,根据命令的格式从命令中解析出数据,或者写入数据到命令的缓冲区中。

5.根据权利要求1所述的一种软件进程间安全通信系统,其特征在于:所述进程各方保存有各自的公钥、私钥用以对发送的数据进行签名;进程各方保存对方的公钥用以对签名进行验证。

6.根据权利要求5所述的一种软件进程间安全通信系统,其特征在于:所述进行认证和密钥交换的流程还包括:标识数据的顺序连接;

源进程利用源进程的私钥对数据进行签名;

终进程利用终进程的私钥对数据进行签名;

利用源进程的公钥对源进程的签名进行验证;

利用终进程的公钥对终进程的签名进行验证。

7.根据权利要求1所述的一种软件进程间安全通信系统,其特征在于:所述数据的传输从认证驱动到发送命令的进程,进而从认证驱动获取随机数标识,该标识用以标记和对方进程互换的密钥。

8.根据权利要求7所述的一种软件进程间安全通信系统,其特征在于:所述数据的传输从发送命令的进程到认证驱动,进而发送一段数据到认证驱动,包括要发送的数据,密钥标识,和签名。

9.根据权利要求8所述的一种软件进程间安全通信系统,其特征在于:所述数据的传输从认证驱动到发送命令的进程,进而,从认证驱动获取一段数据,包括对方进程想要发送的数据,密钥标识,和对方进程的签名。

10.根据权利要求9所述的一种软件进程间安全通信系统,其特征在于:所述进行认证和密钥交换的流程还包括:源进程通过得到命令的到一个密钥标识;

源进程通过发送命令发送互换数据;

源进程调用终进程接口,终进程在接收到这一调用时开始进行终进程这段的步骤,如下,终进程首先进行任何其他相关的准备工作;

终进程通过得到命令得到一个密钥标识;

终进程读取源进程的互换数据;

终进程通过发送命令发送互换数据;

初始化安全通信接口返回,源进程此时认为终进程已经准备好进行安全通信;

源进程通过读取命令读取源进程的互换数据;

终进程计算共享密钥;

源进程计算共享密钥;

利用共享密钥,源进程和终进程可以加密任意的需要加密的IPC信息,从而实现安全的进程间通信。

说明书全文

软件进程间安全通信系统

技术领域

[0001] 本发明涉及计算机信息安全领域,尤其涉及一种进程间安全的交换数据信息的软件进程间的安全通信系统。

背景技术

[0002] 在现代基于很多种原因,软件使用多进程的架构实现,比如由于模块化,权限分担等。在进程间安全的交换数据信息是一种非常基本的需求。许多软件设计利用传统的进程间通信技术来达到此目的,比如信号,套接字,邮件槽,共享内存,信号量等。
[0003] 在有些情况下,进程间的需要高级别的安全通信。比如当将具有版权的内容在进程间进行拷贝。传统的进程间通信方法暴露在很多威胁面前,比如竞争条件,中间人攻击等等。一个安全的通信路径需要在进行内容交换前建立起来。所以,非常需要安全的进行认证和密钥交换的方法。
[0004] 鉴于以上的几种问题,一种新的效果好、安全性能高的一种软件进程间安全通信系统的发明是势在必行的。

发明内容

[0005] 本发明要解决的技术问题是现有的进程间的安全通信的级别较低,仍然有许多问题,比如竞争条件,中间人攻击等等。
[0006] 本发明的目的是针对上述问题,提出一种利用系统驱动层来进行认证和密钥交换的方法,即一个安全的通信路径在进行内容交换前被建立起来、安全的进行认证和密钥交换的方法。
[0007] 为了达到上述目的,本发明提供了一种软件进程间安全通信系统,[0008] 一种软件进程间安全通信系统,其包括需要进行密钥交换的若干进程,其中发送数据的一方定义为源进程,接受数据的一方定义为终进程,其特征在于:源进程与终进程间的进程间认证和密钥交换共享一个秘密的数据,所述该数据被用来生成密钥,所述生成的密钥将实时的加密两段进程的数据。
[0009] 所述需要进行密钥交换的进程间通过系统驱动对对方进行认证,在认证过程中,进程间没有直接的与安全相关的通信。
[0010] 所述进程与驱动之间的命令,使用操作系统接口。
[0011] 所述命令由安全模块发送,驱动层不发送命令,根据命令的格式从命令中解析出数据,或者写入数据到命令的缓冲区中。
[0012] 所述进程各方保存有各自的公钥、私钥用以对发送的数据进行签名;进程各方保存对方的公钥用以对签名进行验证。
[0013] 所述进行认证和密钥交换的流程还包括:
[0014] 标识数据的顺序连接;
[0015] 源进程利用源进程的私钥对数据进行签名;
[0016] 终进程利用终进程的私钥对数据进行签名;
[0017] 利用源进程的公钥对源进程的签名进行验证;
[0018] 利用终进程的公钥对终进程的签名进行验证。
[0019] 所述数据的传输从认证驱动到发送命令的进程,进而从认证驱动获获取随机数标识,改标识用以标记和对方进程互换的密钥。
[0020] 所述数据的传输从发送命令的进程到认证驱动,进而发送一段数据到认证驱动,包括要发送的数据,密钥标识,和签名。
[0021] 所述数据的传输从认证驱动到发送命令的进程,进而,从认证驱动获取一段数据,包括对方进程想要发送的数据,密钥标识,和对方进程的签名。
[0022] 所述进行认证和密钥交换的流程还包括:
[0023] 源进程通过得到命令的到一个密钥标识;
[0024] 源进程通过发送命令发送互换数据;
[0025] 源进程调用终进程接口,终进程在接收到这一调用时开始进行终进程这段的步骤,如下4-7,
[0026] 终进程首先进行任何其他相关的准备工作;
[0027] 终进程通过得到命令得到一个密钥标识;
[0028] 终进程读取源进程的互换数据;
[0029] 终进程通过发送命令发送互换数据;
[0030] 初始化安全通信接口返回,源进程此时认为终进程已经准备好进行安全通信;
[0031] 源进程通过读取命令读取源进程的互换数据;
[0032] 终进程计算共享密钥;
[0033] 源进程计算共享密钥;
[0034] 利用共享密钥,源进程和终进程可以加密任意的需要加密的IPC信息,从而实现安全的进程间通信。
[0035] 本发明的有益效果是:
[0036] 1.操作系统系统驱动更加难以拦截和调试,增加了软件方案的安全性。同时由于系统驱动层的命令拦截更加困难,中间人攻击的可能性被大大的降低。
[0037] 2.由于共享密钥在运行时确定,它可以被用作被认证过的两个进程未来的进程间通信的会话密钥,或者用于加密会话密钥的根密钥。这种方法区别于使用事先分享好的密钥,可以加强软件系统的安全性。

附图说明

[0038] 通过以下对本发明的实施例结合其附图的描述,可以进一步理解其发明的目的、具体结构特征和优点。其中,附图为:
[0039] 图1为本发明进程间密钥交换流程示意图;
[0040] 图2为本发明命令传递示意图;
[0041] 图3为本发明进程间建立一条安全的通信通道的示意图。
[0042] 图4为本发明实施例的操作流程示意图。

具体实施方式

[0043] 本发明是应用在计算机信息安全领域,尤其涉及一种进程间安全的交换数据信息的软件进程间的安全通信系统,是在对现有的软件进程间的安全通信系统的基础上作出的重大改进,具有非常重要的实践意义。
[0044] 本发明介绍了一种利用系统驱动层来进行认证和密钥交换的方法。
[0045] 首先,把通信的进程发送数据的一方和接受数据的一方简称为源进程和终进程。进程间认证和密钥交换的目的是为了共享一个秘密的数据,然后该数据被用来生成的密钥,这个生成的密钥将实时的加密两段进程的数据。如图1所示,在这一模型中,许多认证算法可以使用。下面使用椭圆曲线密钥交换算法(Elliptic curve Diffie-Hellman)来描述一个进程认证和密钥交换的流程。
[0046] 如图1所示,本发明的目的是为源进程(数据发送进程)和终进程(数据接受进程)安全的IPC(进程间通信)和安全的数据传输提供密钥分享机制。在一种典型的设计场景中有源进程,终进程,认证驱动3方。双方进程在运行时通过一系列与认证驱动的命令(具体由图2、图3所示)来进行认证和密钥交换,此后,利用所交换的密钥,对IPC和数据传输进行加密传输(具体的加密格式可以任意)。
[0047] 如图2所示,需要进行密钥交换的两个进程通过系统驱动对对方进行认证,在认证过程中,进程间没有任何直接的与安全相关的通信。进程与驱动之间命令,使用操作系统接口。在windows中,使用DeviceIoControl,在Linux中,使用ioctl接口。所有的命令都是由安全模块发送,驱动层不会发送命令,根据命令的格式从命令中解析出数据,或者写入数据到命令的缓冲区中。
[0048] 图例3示例了一个在进程间建立一条安全的通信通道的过程。如下将以此为例详细介绍认证和密钥交换的流程:
[0049] 双方进程将保存有各自的公钥、私钥对用以对发送的数据进行签名。进程双方保存对方的公钥用以对签名进行验证。其中:
[0050] A||B标识A数据和B数据的顺序连接。
[0051] Sign_src(DATA)表示源进程利用源进程的私钥对DATA数据进行签名。
[0052] Sign_sin(DATA)表示终进程利用终进程的私钥对DATA数据进行签名。
[0053] Verify_src(DATA(Sign_src(DATA)))表示利用源进程的公钥对源进程的签名进行验证。
[0054] Verify_sin(DATA(Sign_sin(DATA)))表示利用终进程的公钥对终进程的签名进行验证。
[0055] 认证驱动命令列表:
[0056]
[0057]
[0058] 1.源进程通过CMD_Get_Session_Nonce命令的到一个密钥标识Sn_e[0059] 2.源进程通过CMD_Send_Session_Data命令发送ECDH的互换数据[0060] a)生成随机数Ek,
[0061] b)计算椭圆曲线上的点Ev=Ek*G,
[0062] c)通过CMD_Send_Session_Data发送数据给认证驱动,包括:
[0063] (Ev||Sn_e||Sign_src(Ev||Sn_e))
[0064] 3.源进程调用终进程接口(该接口可以命名为初始化安全通信)终进程在接收到这一调用时开始进行终进程这段的步骤,如下4-7
[0065] 4.终进程首先进行任何其他相关的准备工作
[0066] 5.终进程通过CMD_Get_Session_Nonce命令的到一个密钥标识Sn_d[0067] 6.终进程通过CMD_Read_Session_Data命令读取源进程的ECDH互换数据[0068] a)终进程发送CMD_Read_Session_Data命令到认证驱动
[0069] b)认证驱动将(Ev||Sn_e||Sign_src(Ev||Sn_e))写到命令的返回缓冲区中[0070] c)CMD_Read_Session_Data命令返回,终进程得到源进程的ECDH互换数据[0071] d)对得到的数据进行验证签名Verify_src(Ev||Sn_e||Sign_src(Ev||Sn_e))[0072] 7.终进程通过CMD_Send_Session_Data命令发送ECDH的互换数据[0073] a)生成随机数Dk,
[0074] b)计算椭圆曲线上的点Dv=Dk*G,
[0075] c)通过CMD_Send_Session_Data发送数据给认证驱动,包括:
[0076] (Dv||Sn_d||Sn_e||Sign_sin(Ev||Sn_d||Sn_e))
[0077] 8.初始化安全通信接口返回,源进程此事认为终进程已经准备好进行安全通信[0078] 9.源进程通过CMD_Read_Session_Data命令读取源进程的ECDH互换数据[0079] a)源进程发送CMD_Read_Session_Data命令到认证驱动
[0080] b)认证驱动将(Dv||Sn_d||Sn_e||Sign_sin(Ev||Sn_d||Sn_e))写到命令的返回缓冲区中
[0081] c)CMD_Read_Session_Data命令返回,源进程得到终进程的ECDH互换数据[0082] d)对 得 到 的 数 据 进 行 验 证 签 名 Verify_sin(Dv||Sn_d||Sn_e||Sign_sin(Ev||Sn_d||Sn_e))
[0083] 10.终进程计算共享密钥
[0084] a)Ks=Dk*Ev
[0085] 11.源进程计算共享密钥
[0086] a)Ks=Ek*Dv
[0087] 12.利用共享密钥,源进程和终进程可以加密任意的需要加密的IPC信息,从而实现安全的进程间通信
[0088] 在实践中具体应用的示例1:应用程序进程和微软PMP进程的安全通信:PMP,全称为Protected Media Path,是微软windows 7操作系统的媒体基础的重要组成部分,目的是保护版权保护的视频内容不被盗版。微软官方对想要运行在PMP进程中的所有库文件和驱动文件进行认证校验,从而对运行环境进行保护。
[0089] 在实践中具体应用的示例2:在windows 7中的一个视频程序与微软PMP进程安全通信:应用程序进程和微软保护进程分别部署有程序的不同模块。其中应用程序模块位于用户进程,视频处理模块和认证驱动位于微软保护进程,微软负责这两个模块的安全性。应用程序进程如果通过如上所述过程,就可以认证视频处理模块进程是可以信任的,并且模块内容由微软保护。从而将加密后的带有版权的视频数据发送给微软保护进程(终进程)去处理。
[0090] 上述优选实施例的描述使本领域的技术人员能制造或使用本发明。这些实施例的各种修改对于本领域的技术人员来说是显而易见的,这里定义的一般原理可以被应用于其它实施例中而不背离本发明的精神或范围。因此,本发明并不限于这里示出的实施例,而要符合与这里揭示的原理和新颖特征一致的最宽泛的范围。
高效检索全球专利

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

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

电话:13651749426

侵权分析

IPRDB的侵权分析产品是IPRDB结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用