本发明涉及计算机,特别是涉及一种进程通信方法、装置、电子设备及可读存储介质。
背景技术:
1、随着计算机技术的发展,用户对隐私保护和机密计算的需求日益增加,需要对特定的软件等进程进行安全隔离。目前,往往依赖于运行在高特权级的进程对低权限进程进行隔离。
2、然而随着软件技术的发展,操作系统的功能越来越丰富,以linux为代表的宏内核操作系统,其内核代码呈爆炸式增长,由于操作系统的复杂性,其潜在风险日益增加,依赖于操作系统进行隔离的安全机制无法保证高安全等级进程的安全性,进而无法满足不同进程间通信的安全需求。
技术实现思路
1、本发明实施例的目的在于提供一种进程通信方法、装置、电子设备及可读存储介质,以满足不同进程间通信的安全需求。具体技术方案如下:
2、在本发明实施的第一方面,首先提供了一种进程通信方法,所述方法应用于进程通信系统包括的监控端,所述进程通信系统中还包括至少两个进程,所述方法包括:
3、响应于接收到任一进程的通信请求,确定所述通信请求所指示的请求进程以及响应进程;
4、在基于物理内存保护所构建的可信执行环境中为所述请求进程分配物理内存,作为通信内存,并将特权模式物理内存保护寄存器中的配置信息刷新为第一配置信息,所述第一配置信息用于表征所述请求进程对所述通信内存的访问权限为允许访问;
5、在所述请求进程访问所述通信内存写入通信数据之后,将所述特权模式物理内存保护寄存器中的配置信息刷新为第二配置信息,以使所述响应进程读取所述通信内存中的通信数据,并写入响应数据,所述第二配置信息用于表征所述响应进程对所述通信内存的访问权限为允许访问;
6、再次执行所述将特权模式物理内存保护寄存器中的配置信息刷新为第一配置信息的操作,以使所述请求进程读取所述通信内存中的响应数据。
7、在本发明实施的第二方面,还提供了一种进程通信装置,所述装置应用于进程通信系统包括的监控端,所述进程通信系统中还包括至少两个进程,所述装置包括:
8、第一确定模块,用于响应于接收到任一进程的通信请求,确定所述通信请求所指示的请求进程以及响应进程;
9、第一分配模块,用于在基于物理内存保护所构建的可信执行环境中为所述请求进程分配物理内存,作为通信内存,并将特权模式物理内存保护寄存器中的配置信息刷新为第一配置信息,所述第一配置信息用于表征所述请求进程对所述通信内存的访问权限为允许访问;
10、刷新模块,用于在所述请求进程访问所述通信内存写入通信数据之后,将所述特权模式物理内存保护寄存器中的配置信息刷新为第二配置信息,以使所述响应进程读取所述通信内存中的通信数据,并写入响应数据,所述第二配置信息用于表征所述响应进程对所述通信内存的访问权限为允许访问;
11、执行模块,用于再次执行所述将特权模式物理内存保护寄存器中的配置信息刷新为第一配置信息的操作,以使所述请求进程读取所述通信内存中的响应数据。
12、在本发明实施的第三方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
13、存储器,用于存放计算机程序;
14、处理器,用于执行存储器上所存放的程序时,实现上述第一方面所述的方法。
15、在本发明实施的第四方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。
16、在本发明实施的第五方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得所述计算机执行上述第一方面所述的方法。
17、本发明实施例提供的进程通信方法,通过响应于接收到任一进程的通信请求,确定所述通信请求所指示的请求进程以及响应进程;在基于物理内存保护所构建的可信执行环境中为所述请求进程分配物理内存,作为通信内存,并将特权模式物理内存保护寄存器中的配置信息刷新为第一配置信息,所述第一配置信息用于表征所述请求进程对所述通信内存的访问权限为允许访问;在所述请求进程访问所述通信内存写入通信数据之后,将所述特权模式物理内存保护寄存器中的配置信息刷新为第二配置信息,以使所述响应进程读取所述通信内存中的通信数据,并写入响应数据,所述第二配置信息用于表征所述响应进程对所述通信内存的访问权限为允许访问;再次执行所述将特权模式物理内存保护寄存器中的配置信息刷新为第一配置信息的操作,以使所述请求进程读取所述通信内存中的响应数据。这样,通过在可信执行环境中为需要进行进程通信的进程分配物理内存,可以实现基于pmp与spmp的双层嵌套组合架构,通过该双层嵌套组合架构为进程通信分配物理内存,并在通信过程中通过spmp寄存器实现对所分配的通信内存的访问权限的转移,使得在同一时刻,仅存在一个请求进程或响应进程拥有对通信内存的访问权限,避免了对共享内存的无需且恶意的修改,提高进程间通信的安全性,满足不同进程间通信的安全需求的同时,还可以保证通信的有序性。
1.一种进程通信方法,其特征在于,所述方法应用于进程通信系统包括的监控端,所述进程通信系统中还包括至少两个进程,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述将特权模式物理内存保护寄存器中的配置信息刷新为第一配置信息,包括:
3.根据权利要求1所述的方法,其特征在于,所述在基于物理内存保护所构建的可信执行环境中为所述请求进程分配物理内存,作为通信内存之后,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,所述将所述其他目标进程对应的运行内存的地址信息写入至所述目标进程对应的运行寄存器中之前,所述方法还包括:
7.根据权利要求1-6任一项所述的方法,其特征在于,所述请求进程读取所述通信内存中的响应数据之后,所述方法还包括:
8.一种进程通信装置,其特征在于,所述装置应用于进程通信系统包括的监控端,所述进程通信系统中还包括至少两个进程,所述装置包括:
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的方法。