进程间通信身份验证及应用软件间通信方法和系统的制作方法_5

文档序号:9708166阅读:来源:国知局
用于发明。
[0211]如上面详细描述的,适用于本发明的计算机系统900能执行进程间通信身份验证方法及应用软件间通信方法的指定操作。计算机系统900通过处理器910运行在计算机可读介质中的软件指令的形式来执行这些操作。这些软件指令可以从存储设备970或者通过局域网接口 1000从另一设备读入到存储器920中。存储在存储器920中的软件指令使得处理器910执行上述的进程间通信身份验证方法及应用软件间通信方法。此外,通过硬件电路或者硬件电路结合软件指令也能同样实现本发明。因此,实现本发明并不限于任何特定硬件电路和软件的组合。
[0212]以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
【主权项】
1.一种进程间通信身份验证方法,其特征在于,包括如下步骤: 创建本进程的第一消息接收窗体,其中,所述第一消息接收窗体用于与通信对象进程的第二消息接收窗体进行通信; 获取通信对象进程的通信连接请求,其中,所述通信连接请求包括第二消息接收窗体的窗体句柄; 根据所述窗体句柄获取第二消息接收窗体的线程标识,并根据所述线程标识获取系统进程中创建第二消息接收窗体的线程模块; 根据所述线程模块验证所述通信对象进程的身份。2.根据权利要求1所述的进程间通信身份验证方法,其特征在于,根据所述线程标识获取系统进程中创建第二消息接收窗体的线程模块的步骤: 根据所述线程标识查询线程信息获得相应线程的线程句柄; 通过所述线程句柄获取所述线程对应到进程中的线程模块的起始地址,并根据所述起始地址获取线程模块的模块句柄; 根据所述模块句柄确定所述线程模块所在的路径,并根据所述路径获取创建第二消息接收窗体的线程模块。3.根据权利要求1所述的进程间通信身份验证方法,其特征在于,根据所述线程模块验证所述通信对象进程的身份的步骤包括: 对所述线程模块进行数字签名检验,根据检验的签名信息确定所述通信对象进程的身份。4.一种应用软件间通信方法,其特征在于,包括如下步骤: 创建本应用软件的第一消息接收窗体,其中,所述第一消息接收窗体用于与通信对象软件的第二消息接收窗体进行通信; 获取通信对象软件的通信连接请求,其中,所述通信连接请求包括第二消息接收窗体的窗体句柄; 根据所述窗体句柄获取第二消息接收窗体的线程标识,并根据所述线程标识获取系统进程中创建第二消息接收窗体的线程模块; 根据所述线程模块验证所述通信对象软件的身份; 验证通过后利用所述第一消息接收窗体与第二消息接收窗体进行信息传递。5.根据权利要求4所述的应用软件间通信方法,其特征在于,还包括: 在所述通信对象软件中注入本应用软件的进程,并通过所述通信对象软件检验本通信对象软件的数字签名,检验通过后创建通信对象软件的第二消息接收窗体。6.根据权利要求4所述的应用软件间通信方法,其特征在于,根据所述线程标识获取系统进程中创建第二消息接收窗体的线程模块的步骤: 根据所述线程标识查询线程信息获得相应线程的线程句柄; 通过所述线程句柄获取所述线程对应到进程中的线程模块的起始地址,并根据所述起始地址获取线程模块的模块句柄; 根据所述模块句柄确定所述线程模块所在的路径,并根据所述路径获取创建第二消息接收窗体的线程模块。7.根据权利要求4所述的应用软件间通信方法,其特征在于,根据所述线程模块验证所述通信对象软件的身份的步骤包括: 对所述线程模块进行数字签名检验,根据检验的签名信息确定所述通信对象软件的身份。8.根据权利要求4所述的应用软件间通信方法,其特征在于,验证通过后利用所述第一消息接收窗体与第二消息接收窗体进行信息传递的步骤包括: 验证通过后建立所述第一消息接收窗体与第二消息接收窗体之间的通信通道; 利用第一消息接收窗体并根据第二消息接收窗体的窗体句柄发送消息,以及接收第二消息接收窗体发送的信息。9.根据权利要求4至8任一项所述的应用软件间通信方法,其特征在于,所述应用软件包括即时通讯软件、输入法软件。10.一种进程间通信身份验证系统,其特征在于,包括: 第一窗体创建模块,用于创建本进程的第一消息接收窗体,其中,所述第一消息接收窗体用于与通信对象进程的第二消息接收窗体进行通信; 第一连接请求获取模块,用于获取通信对象进程的通信连接请求,其中,所述通信连接请求包括第二消息接收窗体的窗体句柄; 第一线程模块获取模块,用于根据所述窗体句柄获取第二消息接收窗体的线程标识,并根据所述线程标识获取系统进程中创建第二消息接收窗体的线程模块; 第一对象身份验证模块,用于根据所述线程模块验证所述通信对象进程的身份。11.根据权利要求10所述的进程间通信身份验证系统,其特征在于,所述第一线程模块获取模块包括: 第一线程标记获取单元,用于根据所述窗体句柄获取第二消息接收窗体的线程标识; 第一线程句柄获取单元,用于根据所述线程标识查询线程信息获得相应线程的线程句柄; 第一模块句柄获取单元,用于通过所述线程句柄获取所述线程对应到进程中的线程模块的起始地址,并根据所述起始地址获取线程模块的模块句柄; 第一线程模块获取单元,用于根据所述模块句柄确定所述线程模块所在的路径,并根据所述路径获取创建第二消息接收窗体的线程模块。12.根据权利要求10所述的进程间通信身份验证系统,其特征在于,所述第一对象身份验证模块,进一步用于对所述线程模块进行数字签名检验,根据检验的签名信息确定所述通信对象进程的身份。13.一种应用软件间通信系统,其特征在于,包括: 第二窗体创建模块,用于创建本应用软件的第一消息接收窗体,其中,所述第一消息接收窗体用于与通信对象软件的第二消息接收窗体进行通信; 第二连接请求获取模块,用于获取通信对象软件的通信连接请求,其中,所述通信连接请求包括第二消息接收窗体的窗体句柄; 第二线程模块获取模块,用于根据所述窗体句柄获取第二消息接收窗体的线程标识,并根据所述线程标识获取系统进程中创建第二消息接收窗体的线程模块; 第二对象身份验证模块,用于根据所述线程模块验证所述通信对象软件的身份; 信息传递模块,用于验证通过后利用所述第一消息接收窗体与第二消息接收窗体进行信息传递。14.根据权利要求13所述的应用软件间通信系统,其特征在于,所述第二窗体创建模块,还用于在所述通信对象软件中注入本应用软件的进程,并通过所述通信对象软件检验本通信对象软件的数字签名,检验通过后创建通信对象软件的第二消息接收窗体。15.根据权利要求13所述的应用软件间通信系统,其特征在于,所述第二线程模块获取模块包括: 第二线程标记获取单元,用于根据所述窗体句柄获取第二消息接收窗体的线程标识; 第二线程句柄获取单元,用于根据所述线程标识查询线程信息获得相应线程的线程句柄; 第二模块句柄获取单元,用于通过所述线程句柄获取所述线程对应到进程中的线程模块的起始地址,并根据所述起始地址获取线程模块的模块句柄; 第二线程模块获取单元,用于根据所述模块句柄确定所述线程模块所在的路径,并根据所述路径获取创建第二消息接收窗体的线程模块。16.根据权利要求13所述的应用软件间通信系统,其特征在于,所述第二对象身份验证模块,进一步用于对所述线程模块进行数字签名检验,根据检验的签名信息确定所述通信对象软件的身份。17.根据权利要求13所述的应用软件间通信系统,其特征在于,所述信息传递模块,进一步用于验证通过后建立所述第一消息接收窗体与第二消息接收窗体之间的通信通道;利用第一消息接收窗体并根据第二消息接收窗体的窗体句柄发送消息,以及接收第二消息接收窗体发送的信息。18.根据权利要求13至17任一项所述的应用软件间通信系统,其特征在于,所述应用软件包括即时通讯软件、输入法软件。
【专利摘要】本发明提供一种进程间通信身份验证及应用软件间通信方法和系统;进程间通信身份验证方法包括:创建本进程的第一消息接收窗体,其中,所述第一消息接收窗体用于与通信对象进程的第二消息接收窗体进行通信;获取通信对象进程的通信连接请求,其中,所述通信连接请求包括第二消息接收窗体的窗体句柄;根据所述窗体句柄获取第二消息接收窗体的线程标识,并根据所述线程标识获取系统进程中创建第二消息接收窗体的线程模块;根据所述线程模块验证所述通信对象进程的身份。通过本发明,能够确保准确知道与本进程通信对方的身份,提高了进程间通信时的身份验证的安全性和可靠性,通信时无需通过后台的接入,避免被第三方截获风险,提高了通信的安全性。
【IPC分类】G06F9/54, G06F21/50
【公开号】CN105468462
【申请号】CN201410400524
【发明人】凌星
【申请人】腾讯科技(深圳)有限公司
【公开日】2016年4月6日
【申请日】2014年8月14日
当前第5页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1