基于ARM处理器的安全世界与非安全世界的通信方法与流程

文档序号:20919013发布日期:2020-05-29 13:54阅读:671来源:国知局
基于ARM处理器的安全世界与非安全世界的通信方法与流程

本发明涉及数据安全技术领域,特别涉及一种基于arm处理器的安全世界与非安全世界的通信方法。



背景技术:

为了解决电子设备安全方面的问题。arm处理器提出了信任区(trustzone)这个概念,使用芯片级的硬件隔离技术,将处理器的执行环境分为非安全世界(normalworld)和安全世界(secureworld)。normalworld运行的是普通的操作系统,处理一些正常的事物,如听歌、上网等;secureworld一般运行可信的操作系统,处理安全敏感的事物,如电子设备支付等涉及财产安全以及隐私的事物。secureworld会提供多种不同的服务供normalworld使用,当处于normalworld的处理器需要处理安全敏感的事物时,就会调用这些服务,进入secureworld来处理。两个世界的转换桥梁,称为安全的监视器(securemonitor),由它来管理世界的转换,一般执行上下文保存以及恢复操作。

不管是normalworld到secureworld,还是从secureworld返回normalworld,都需要经过securemonitor,由此带来的问题如下:中间传递的数据可能被securemonitor篡改,造成电子设备数据的安全性低。



技术实现要素:

本发明提供了一种基于arm处理器的安全世界与非安全世界的通信方法,其目的是为了解决电子设备数据的安全性低的问题。

为了达到上述目的,本发明的实施例提供了一种基于arm处理器的安全世界与非安全世界的通信方法,arm处理器包括至少两个处理器核,所述两个处理器核中的第一处理器核的执行环境为安全世界,所述两个处理器核中的第二处理器核的执行环境为非安全世界,所述通信方法包括:

所述第二处理器核在检测到所述非安全世界存在需通过所述安全世界处理的事项时,向所述第一处理器核发送安全中断信号,并将所述事项写入预先设置的共享内存中;

所述第一处理器核在接收到所述安全中断信号时,从所述共享内存中获取所述事项,并处理所述事项得到处理结果;

所述第一处理器核向所述第二处理器核发送非安全中断信号,并将所述处理结果写入所述共享内存中;

所述第二处理器核在接收到所述非安全中断信号时,从所述共享内存中获取所述处理结果。

其中,所述共享内存设于所述非安全世界的内存中。

其中,所述将所述事项写入预先设置的共享内存中的步骤,包括:

按照所述非安全世界与所述安全世界预先约定的通信协议,将所述事项写入预先设置的共享内存中。

其中,在所述处理所述事项得到处理结果的步骤之前,所述通信方法还包括:

判断所述共享内存中的所述事项的数据格式是否符合所述通信协议;

当所述共享内存中的所述事项的数据格式符合所述通信协议时,执行所述处理所述事项得到处理结果的步骤。

其中,所述将所述处理结果写入所述共享内存中的步骤,包括:

按照所述通信协议,将所述处理结果写入预先设置的共享内存中。

其中,在所述从所述共享内存中获取所述处理结果的步骤之前,所述通信方法还包括:

判断所述共享内存中的所述处理结果的数据格式是否符合所述通信协议;

当所述共享内存中的所述处理结果的数据格式符合所述通信协议时,执行所述从所述共享内存中获取所述处理结果的步骤。

其中,在所述第二处理器核在检测到所述非安全世界存在需通过所述安全世界处理的事项时,向所述第一处理器核发送安全中断信号,并将所述事项写入预先设置的共享内存中的步骤之前,所述通信方法还包括:

所述第一处理器核向所述安全世界运行的操作系统注册所述安全中断信号。

其中,在所述第二处理器核在检测到所述非安全世界存在需通过所述安全世界处理的事项时,向所述第一处理器核发送安全中断信号,并将所述事项写入预先设置的共享内存中的步骤之前,所述通信方法还包括:

所述第二处理器核向所述非安全世界运行的操作系统注册所述非安全中断信号。

本发明的上述方案至少有如下的有益效果:

在本发明的实施例中,当非安全世界存在需通过安全世界处理的事项时,通过非安全世界的第二处理器核向安全世界的第一处理器核发送安全中断信号,并将需通过安全世界处理的事项写入预先设置的共享内存中,相应的,第一处理器核在接收到安全中断信号时,从共享内存中获取需处理的事项,对该事项进行处理,并在得到处理结果后,向第二处理器核发送非安全中断信号,将处理结果写入共享内存中,从而使得第二处理器核在接收到非安全中断信号时,能从该共享内存中获得处理结果,完成安全世界与非安全世界之间的通信。其中由于安全世界与非安全世界进行通信时,不需要经过安全的监视器,直接通过发送中断信号完成通信,从而有效避免中间传递的数据被安全的监视器篡改,大大提高了电子设备数据的安全性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例的基于arm处理器的安全世界与非安全世界的通信方法的流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

本发明的实施例提供了一种基于arm处理器的安全世界与非安全世界的通信方法。其中,上述arm处理器包括至少两个处理器核,所述两个处理器核中的第一处理器核的执行环境为安全世界,所述两个处理器核中的第二处理器核的执行环境为非安全世界。

需要说明的是,最初由arm处理器所在的电子设备的基本输入输出系统(bios,basicinputoutputsystem)初始化好两个处理器核的双倍速率(ddr,doubledatarate)内存、中断控制器(可以为gicv3中断控制器)等运行环境,然后在bios的最后阶段,一个处理器核(即上述第二处理器核)进入普通的操作系统,也就是normalworld;另一个处理器核(即上述第一处理器核)进入可信的操作系统,也就是secureworld。

在bios阶段,会初始化一段安全内存以及某些安全外设,供secureworld使用。这些安全内存和安全外设只能由secureworld的处理器核(即上述第一处理器核)使用,normalworld的处理器核(即上述第二处理器核)不能看见、也不能访问这段安全内存空间以及安全外设。对normalworld的用户,感知不到可信的操作系统。当然可以理解的是,在bios阶段,也会初始化一部分内存和外设供normalworld使用,需要说明的是,secureworld的处理器核(即上述第一处理器核)能访问normalworld的内存。

如图1所示,上述基于arm处理器的安全世界与非安全世界的通信方法包括如下步骤:

步骤11,所述第二处理器核在检测到所述非安全世界存在需通过所述安全世界处理的事项时,向所述第一处理器核发送安全中断信号,并将所述事项写入预先设置的共享内存中。

其中,在本发明的实施例中,上述事项可以为需要安全世界处理任何事情,如请求敏感数据、请求打印某些信息等。上述共享内存可设于所述非安全世界的内存中,这样,安全世界的第一处理器核和非安全世界的第二处理器核均可以访问该共享内存,便于安全世界与非安全世界之间的通信。另,上述安全中断信号可以为arm处理器的软中断(sgi)的多个安全中断信号中的任一者,一般的,arm处理器的多个安全中断信号为8号至15号安全中断信号,即,上述第二处理器核向第一处理器核发送的安全中断信号可以为8号至15号安全中断信号中的任一安全中断信号。

需要说明的是,为确保后续第一处理器核在接收到第二处理器核发送的安全中断信号时,能对共享内存中的事项进行处理,第一处理器核需先注册该安全中断信号。具体的,在执行上述步骤11之前,上述通信方法还包括如下步骤:所述第一处理器核向所述安全世界运行的操作系统注册所述安全中断信号。

步骤12,所述第一处理器核在接收到所述安全中断信号时,从所述共享内存中获取所述事项,并处理所述事项得到处理结果。

其中,在本发明的实施例中,由于第一处理器核预先注册了第二处理器核发送的安全中断信号,因而当第一处理器核接收到该安全中断信号时,第一处理器核会根据该安全中断信号的触发,从共享内存中获取需处理的事项,并对该事项进行处理,得到该事项的处理结果。

需要说明的是,上述处理结果的所包含的内容由事项所请求的事情决定,如若事项为请求敏感数据,则该处理结果可以为敏感数据。

步骤13,所述第一处理器核向所述第二处理器核发送非安全中断信号,并将所述处理结果写入所述共享内存中。

其中,在本发明的实施例中,第一处理器核在对需处理的事项进行处理,得到处理结果后,会向第二处理器核发送非安全中断信号,并将该处理结果写入共享内存中,以便后续第二处理器核能获得该处理结果。

需要说明的是,为确保后续第二处理器核在接收到第一处理器核发送的非安全中断信号时,能从共享内存中获得事项的处理结果,第二处理器核需先注册该非安全中断信号。具体的,在执行上述步骤11之前,上述通信方法还包括如下步骤:所述第二处理器核向所述非安全世界运行的操作系统注册所述非安全中断信号。

需要进一步说明的是,上述非安全中断信号可以为arm处理器的软中断(sgi)的多个非安全中断信号中的任一者,一般的,arm处理器的多个非安全中断信号为0号至7号非安全中断信号,即,上述第一处理器核向第二处理器核发送的非安全中断信号可以为0号至7号非安全中断信号中的任一非安全中断信号。

步骤14,所述第二处理器核在接收到所述非安全中断信号时,从所述共享内存中获取所述处理结果。

其中,在本发明的实施例中,由于第二处理器核预先注册了第一处理器核发送的非安全中断信号,因而第二处理器核在接收到非安全中断信号时,会根据该非安全中断信号的触发,从共享内存中获取处理结果,完成安全世界与非安全世界之间的通信。

值得一提的是,在本发明的实施例中,当非安全世界存在需通过安全世界处理的事项时,通过非安全世界的第二处理器核向安全世界的第一处理器核发送安全中断信号,并将需通过安全世界处理的事项写入预先设置的共享内存中,相应的,第一处理器核在接收到安全中断信号时,从共享内存中获取需处理的事项,对该事项进行处理,并在得到处理结果后,向第二处理器核发送非安全中断信号,将处理结果写入共享内存中,从而使得第二处理器核在接收到非安全中断信号时,能从该共享内存中获得处理结果,完成安全世界与非安全世界之间的通信。其中由于安全世界与非安全世界进行通信时,不需要经过安全的监视器,直接通过发送中断信号完成通信,从而有效避免中间传递的数据被安全的监视器篡改,大大提高了电子设备数据的安全性。同时由于不需要经过安全的监视器,从而能大大缩短安全世界与非安全世界通信的交互时间,提升用户的体验。

接下来,对上述通信方法的步骤11、步骤12、步骤13及步骤14的部分内容作进一步说明。

其中,上述步骤11中将所述事项写入预先设置的共享内存中的步骤的具体实现方式为:第二处理器核按照所述非安全世界与所述安全世界预先约定的通信协议,将所述事项写入预先设置的共享内存中。相应的,在执行上述步骤12中处理所述事项得到处理结果的步骤之前,上述通信方法还包括如下步骤:判断所述共享内存中的所述事项的数据格式是否符合所述通信协议,当所述共享内存中的所述事项的数据格式符合所述通信协议时,执行所述处理所述事项得到处理结果的步骤,而当所述共享内存中的所述事项的数据格式不符合所述通信协议时,不对该事项进行处理。

类似的,上述步骤13中将所述处理结果写入所述共享内存中的步骤的具体实现方式为:按照所述通信协议,将所述处理结果写入预先设置的共享内存中。相应的,在执行上述步骤14中从所述共享内存中获取所述处理结果的步骤之前,上述通信方法还包括如下步骤:判断所述共享内存中的所述处理结果的数据格式是否符合所述通信协议,当所述共享内存中的所述处理结果的数据格式符合所述通信协议时,执行所述从所述共享内存中获取所述处理结果的步骤,当所述共享内存中的所述处理结果的数据格式不符合所述通信协议时,不获取该处理结果。

由此可见,在本发明的实施例中,不管是第二处理器核往共享内存中写入需通过安全世界处理的事项,还是所述第一处理器核往共享内存中写入事项的处理结果,都需要按照非安全世界与安全世界预先约定的通信协议完成写入,同时,第二处理器核与第一处理器核在从共享内存中获取数据(即上述事项、事项的处理结果)前,都需要先判断该数据的数据格式是否符合预先约定的通信协议,只有当符合预先约定的通信协议时,才获取共享内存中的数据,从而确保安全世界与非安全世界通信的安全可靠性。

其中,在本发明的实施例中,为便于理解上述通信方法。在此以一具体实例对上述通信方法作进一步说明。

假设非安全世界需要安全世界打印信息,首先非安全世界的第二处理器核按照约定好的通信协议将打印事项写入共享内存,然后发送8号安全中断信号给安全世界的第一处理器核,安全世界的第一处理器核接收到安全中断信号后,检查共享内存的数据是否符合通信协议,检查通过,然后调用安全世界的串口打印输出信息。之后安全世界的第一处理器核将处理结果写入共享内存,并发送7号非安全中断信号给非安全世界的第二处理器核,非安全世界的第二处理器核收到7号非安全中断信号后,会检查共享内存的数据是否符合通信协议,检查通过,从中获得处理结果(该处理结果可以包括串口打印是否成功等相关信息)。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

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