首页> 中国专利> 安全图形处理器、处理器芯片、显示卡、装置、方法及存储介质

安全图形处理器、处理器芯片、显示卡、装置、方法及存储介质

摘要

本申请提供安全图形处理器、处理器芯片、显示卡、装置、方法及存储介质,安全图形处理器包括:图形处理单元、安全设置寄存器、安全显示内存管理单元、加解密单元、安全显示控制器及安全控制器等;其中,安全设置寄存器中的属性值对应安全图形处理器的安全模式或非安全模式;在安全模式下,安全显示内存管理单元允许安全模式下的安全图形处理器对安全内存区域的访问而拒绝非安全模式下的访问,加解密单元用于处理安全模式下安全图形处理器对需保护的图形数据的加密或解密事务,以及解密的图形数据的显示由可靠的安全显示控制器负责;并且,通过可信安全控制器安全设置安全图形处理器,在安全图形处理器形成强力完整的安全链路,有力保护图形数据。

著录项

  • 公开/公告号CN113344764A

    专利类型发明专利

  • 公开/公告日2021-09-03

    原文格式PDF

  • 申请/专利权人 中天恒星(上海)科技有限公司;

    申请/专利号CN202110508811.2

  • 发明设计人 不公告发明人;

    申请日2021-05-11

  • 分类号G06T1/20(20060101);G06F21/60(20130101);

  • 代理机构31342 上海上谷知识产权代理有限公司;

  • 代理人高彦

  • 地址 200336 上海市长宁区威宁路470号1179室

  • 入库时间 2023-06-19 12:25:57

说明书

技术领域

本申请涉及集成电路设计技术领域,尤其涉及安全图形处理器、处理器芯片、显示卡、装置、方法及存储介质。

背景技术

随着图形处理器(Graphics Processing Unit,GPU)在各类电子设备的广泛使用,其保护数据的安全性问题也越来越重要。

无论在安全显示、系统内存访问、数字版权保护等各方面,安全图形处理器的设计都将起到至关重要的作用。然而,目前的图形处理器仍然缺乏全面强力的安全防护机制,导致不法分子可以轻易地获取内存(如显示内存)中的敏感数据。例如,通过在登录窗口上叠加透明的钓鱼窗骗取输入密码,或者通过获取数字影视的码流而传播盗版等。

发明内容

鉴于以上所述现有技术的缺点,本申请的目的在于提供安全图形处理器、处理器芯片、显示卡、装置、方法及存储介质,从而解决现有技术的问题。

为实现上述目标及其他相关目标,本申请第一方面提供一种安全图形处理器,包括:图形处理单元,耦接于显示内存;其中,所述显示内存包括安全内存区域和非安全内存区域;安全设置寄存器,至少用于存储安全属性值;所述安全属性值用于指示安全图形处理器的安全或非安全模式;安全显示内存管理单元,用于管理显示内存的访问事务,包括:根据安全图形处理器所处的模式以及访问事务对应的目标地址所属的内存区域,允许或拒绝所述访问事务;加解密单元,用于响应于安全模式下的加/解密指令,处理对安全内存区域中需保护的图形数据加密或解密事务;安全显示控制器,用于响应于在安全模式下的显示指令,根据解密后图形数据对应的显示数据进行图形显示;安全控制器,具有对所述安全图形处理器进行安全设置的权限;其中,所述安全设置包括对所述安全设置寄存器的安全属性值的设置。

在第一方面的实施例中,所述安全控制器在验证自身安全性通过的情况下进行所述安全设置。

在第一方面的实施例中,所述的安全图形处理器,包括:安全显示寄存器,至少用于存储安全显示属性值;所述安全显示属性值用于指示安全显示控制器的安全显示功能的开启或关闭。

在第一方面的实施例中,在第一方面的实施例中,所述根据安全图形处理器所处的模式以及访问事务对应的目标地址所属的内存区域,允许或拒绝所述访问事务,包括:允许在所述安全模式下的图形处理单元对所述安全内存区域及非安全内存区域的访问事务;以及,拒绝在所述非安全模式下的图形处理单元对所述安全内存区域的访问事务但允许对非安全内存区域的访问事务。

在第一方面的实施例中,所述的安全图形处理器包括:命令处理单元,用于处理所述安全图形处理器接收到的命令,以指令图形处理单元执行相应动作;其中,当接收到更改安全模式的命令时,清空所述图形处理单元当前的上下文数据。

在第一方面的实施例中,所述的安全图形处理器包括:密钥生成器,用于产生密钥,以供所述加解密单元使用;所述密钥的用途包括以下的一或多种:用于安全图形处理器与外部间传递的图形数据的加密/解密;用于安全图形处理器所处理得到的中间数据的加密/解密。

在第一方面的实施例中,所述安全内存控制器通过页表管理所述显示内存中安全内存区域和非安全内存区域的地址;所述安全图形处理器还包括:安全显存页表寄存器,用于安全地存放所述页表的页表基地址。

在第一方面的实施例中,所述的安全图形处理器存在以下至少一种情形:

情形1):安全图形处理器包括:非安全显示控制器,用于对非安全内存区域的图形数据对应的显示数据进行显示;

情形2):安全显示内存管理单元限制非安全内存区域对安全显示控制器只读;

情形3):所述图形数据为码流数据,所述显示数据为解码数据。

为实现上述目标及其他相关目标,本申请第二方面提供一种处理器芯片,封装有包括:如第一方面中任一项所述的安全图形处理器。

为实现上述目标及其他相关目标,本申请第三方面提供一种图形显示卡,装载有包括:如第一方面中任一项所述的安全图形处理器。

为实现上述目标及其他相关目标,本申请第三方面提供一种服务器,包括:主板,包括第一信号接口、多个第二信号接口以及第一信号接口至多个第二信号接口之间的信号线路;主处理器,连接于所述第一信号接口;多个如第一方面中任一项所述的安全图形处理器,分别通信连接于各所述第二信号接口。

为实现上述目标及其他相关目标,本申请第四方面提供一种安全显示方法,应用于所述的安全图形处理器;所述方法包括:图形处理单元将待显示的加密图形数据移动至显示内存中的安全内存区域;当处于安全模式下,加解密单元解密所述加密图形数据为解密图形数据;图形处理单元根据所述解密图形数据得到第一显示数据;安全显示控制器根据所述第一显示数据或者根据所述第一显示数据同非安全区域中的图形数据得到的第二显示数据的组合,进行图形显示。

为实现上述目标及其他相关目标,本申请第五方面提供一种计算机可读存储介质,存储有程序指令,所述程序指令被运行时执行如第四方面所述的安全显示方法。

综合上述,本申请提供安全图形处理器、处理器芯片、显示卡、装置、方法及存储介质,所述安全图形处理器,包括:图形处理单元、安全设置寄存器、安全显示内存管理单元、加解密单元、安全显示控制器及安全控制器等;其中,安全设置寄存器中的安全属性值设置对应于安全图形处理器的安全模式或非安全模式;从而通过在安全模式下,安全显示内存管理单元能允许安全模式下的安全图形处理器对安全内存区域的访问而拒绝非安全模式下的访问,加解密单元用于处理安全模式下安全图形处理器对需保护的图形数据的加密或解密事务,以及解密的图形数据的显示由可靠的安全显示控制器负责;并且,通过可信安全控制器安全设置安全图形处理器,在安全图形处理器形成强力完整的安全链路,有力保护图形数据。

附图说明

图1显示为本申请一实施例中计算机装置的结构示意图。

图2A显示为本申请一实施例中安全图形处理器的结构示意图。

图2B显示为图2A的安全图形处理器中各单元之间的作用关系。

图3显示为本申请一实施例中安全显示方法的流程示意图。

图4显示为本申请一具体实例中安全显示方法执行过程的原理示意图。

具体实施方式

以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。本申请还可以通过另外不同的具体实施方式加以实施或应用系统,本说明书中的各项细节也可以基于不同观点与应用系统,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

下面以附图为参考,针对本申请的实施例进行详细说明,以便本申请所属技术领域的技术人员能够容易地实施。本申请可以以多种不同形态体现,并不限定于此处说明的实施例。

为了明确说明本申请,省略与说明无关的器件,对于通篇说明书中相同或类似的构成要素,赋予了相同的参照符号。

在通篇说明书中,当说某器件与另一器件“连接”时,这不仅包括“直接连接”的情形,也包括在其中间把其它元件置于其间而“间接连接”的情形。另外,当说某种器件“包括”某种构成要素时,只要没有特别相反的记载,则并非将其它构成要素排除在外,而是意味着可以还包括其它构成要素。

当说某器件在另一器件“之上”时,这可以是直接在另一器件之上,但也可以在其之间伴随着其它器件。当对照地说某器件“直接”在另一器件“之上”时,其之间不伴随其它器件。

虽然在一些实例中术语第一、第二等在本文中用来描述各种元件,但是这些元件不应当被这些术语限制。这些术语仅用来将一个元件与另一个元件进行区分。例如,第一信号接口及第二信号接口等描述。再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、步骤、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、步骤、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。因此,“A、B或C”或者“A、B和/或C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A、B和C”。仅当元件、功能、步骤或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。

此处使用的专业术语只用于言及特定实施例,并非意在限定本申请。此处使用的单数形态,只要语句未明确表示出与之相反的意义,那么还包括复数形态。在说明书中使用的“包括”的意义是把特定特性、区域、整数、步骤、作业、要素及/或成份具体化,并非排除其它特性、区域、整数、步骤、作业、要素及/或成份的存在或附加。

表示“下”、“上”等相对空间的术语可以为了更容易地说明在附图中图示的一器件相对于另一器件的关系而使用。这种术语是指,不仅是在附图中所指的意义,还包括使用中的装置的其它意义或作业。例如,如果翻转附图中的装置,曾说明为在其它器件“下”的某器件则说明为在其它器件“上”。因此,所谓“下”的示例性术语,全部包括上与下方。装置可以旋转90°或其它角度,代表相对空间的术语也据此来解释。

虽然未不同地定义,但包括此处使用的技术术语及科学术语,所有术语均具有与本申请所属技术领域的技术人员一般理解的意义相同的意义。普通使用的字典中定义的术语追加解释为具有与相关技术文献和当前提示的内容相符的意义,只要未进行定义,不得过度解释为理想的或非常公式性的意义。

目前的图形处理器,在安全性上存在较大缺失,造成在安全显示、系统内存访问、数字版权保护等方面都会被窃取数据。例如,通过钓鱼窗骗取密码,监听图形处理器访问系统内存的线程来窃取系统内存数据,通过截取数字影视的码流来制作盗版等。

在一些示例中,通过在显示内存(如显示内存或从系统内存中划分的)分配一段到多段连续的安全内存区域来达到存储安全数据,而安全存储区域只允许图形处理器访问。虽然一定程度上可以防止非安全,但是由于安全区域的配置仍是由非安全的中央处理器(CPU)在控制,因此仍然存在诸多的安全漏洞。

相比于此,本申请实施例中可以提供具有更完整安全链路的安全图形处理器,以提升安全性能。所述安全图形处理器可以应用在计算机装置的场景中。

请参阅图1,展示本申请一种实施例中安全图形处理器104的应用场景的结构示意图。

图1中展示有计算机装置100。在具体实例中,该计算机装置100可以实现为服务器、智能手机、平板电脑、笔记本电脑、台式电脑、机顶盒、电子阅读器、智能手表、或智能手环等。

在图1的示例中,计算机装置100包括:主板101、主处理器102、系统内存103、安全图形处理器104、及显示内存105。可选的,计算机装置100还可包含通信器106、显示器107等。

需说明的是,计算机装置100还可包含图1中未图示的额外模块或单元。另外,计算机装置100中所示的各种单元也可有可能不是在计算机装置100的每个实例中都必需的。举例来说,在计算机装置100为桌上型计算机或经装备以与外部用户接口单元或显示器107连接的其它装置的实例中,显示器107可在计算机装置100外部等。

所述主板101可以具有多个信号接口,以分别与主处理器102、系统内存103、安全图形处理器104、及显示内存105等部件相连接,并且主板101还具有在这些信号接口之间的连接线路,以形成各个部件之间的信号连通。

在一些实例中,用户接口单元可以实现为鼠标、键盘和其它类型的输入装置,例如触摸屏等具有输入及其他功能的复合功能的装置。通信器106可包含电路以允许计算机装置100与另一装置或网络之间的无线或有线通信。通信器106可包含调制器、解调器、放大器和用于有线或无线通信的其它此类电路。

在一些实例中,主处理器102的实例可能是中央处理单元(CPU)、片上系统(SoC)、或其它专用处理器(ASIC)等,其经配置以处理供执行的程序指令。所述主处理器102使用的存储器包括系统内存103,可以是随机存储器(RAM)实现。例如,在台式机、笔记本电脑上使用的双倍数据率同步动态随机存取存储器(Double Data Rate Synchronous DynamicRandom Access Memory,DDR SDRAM),如DDR3代、DDR4代等。

所述安全图形处理器104是可以实现安全显示、图形数据保护的图形处理器。所述安全图形处理器104耦接有存储器以供其使用。所述存储器包括显示内存105,可用于存储经渲染图形数据,例如像素数据以及任何其它数据。显示内存105还可被称为帧缓冲器。在具体实施示例中,安全图形处理器104可以集成到服务器、台式机、笔记本电脑、智能手机、平板电脑的主板101(mother board)中以作为集成图形显示卡,则显示内存105可为系统内存103的部分。或者,安全图形处理器104和主处理器102还可以集成在同一处理器处理器芯片中,其中的安全图形处理器104也被称为核心图形显示卡,简称“核显”,相应使用的显示内存105可为系统内存103的部分。再或者,安全图形处理器104可以集成到独立图形显示卡(未图示)中,独立图形显示卡安装在计算机装置100的主板101中的端口(例如PCI-E端口,以及早期的AGP端口等)中,显示内存105可与系统内存103为相互分离的不同存储器。

在具体实例中,与系统内存103相互独立的显示内存105可以实现为图形用双倍数据率同步动态随机存取存储器(Graphics Double Date Rate SDRAM,GDDR SDRAM),例如GDDR5代和GDDR6代等。

在具体实例中,系统内存103和显示内存105之间可以通过直接内存访问(DMA)方式直接进行数据的存/取;或者,也可以图形处理单元从系统内存103中读取数据并放入显示内存105。

在实际应用中,用户可通过用户接口单元对计算机装置100输入信息,以致使处理器执行一或多个应用程序。在处理器上执行的应用程序包括但不限于操作系统(如Windows、Linux等)、文本应用程序(如微软Office,金山WPS等)、电子邮件应用程序(如Outlook、Foxmail等)、电子表格应用程序(例如微软Excel,金山WPS)、媒体播放器应用程序(例如迅雷播放器等)、游戏应用程序等。处理器可运行用于控制安全图形处理器104运算的驱动程序。

在一些场景中,主处理器102所运行的上述应用程序会存在显示需求,向安全图形处理器104发送例如图形渲染的命令,以命令安全图形处理器104进行相关的图形运算工作,以最终将渲染的图形数据显示到显示器107。举例来说,存在显示需求的应用程序可能是图形应用程序、操作系统、便携式制图应用程序、用于工程或艺术应用的计算机辅助设计程序、视频游戏应用程序或使用2D或3D图形等应用程序。

更具体的,应用程序可经由图形API调用安全图形处理器104驱动程序向安全图形处理器104发出一或多个命令,以用于将一或多个图形图元渲染到可显示的图形图像中。在一些情况下,图元的定义可以例如三角形、矩形、三角形扇、三角形带等。图元定义可包含指定与待呈现的图元相关联的一或多个顶点的顶点规格。所述顶点规格可包含每个顶点的位置坐标,且在一些情况下包含与顶点相关联的其它属性,例如色彩属性、法向量和纹理坐标。图元定义还可包含图元类型信息(例如,三角形、矩形、三角形扇、三角形带等)、缩放信息、旋转信息及类似者。

所述通信器106可用于与外部的终端进行有线或无线方式的通信,例如无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现,有线方式可例如网线、光纤、USB等连接。

所述显示器107可用于显示安全图形处理器104产生的图像内容。在具体实例中,所述显示器107可以与计算机装置100集成为一体设备,例如智能手机、平板电脑等均集成了触摸或非触摸式的显示器107。或者,所述显示器107也可以是外置,通过图形信号接口与计算机装置100连接,例如与台式机的主机通过HDMI、DP、或DVI等图形信号接口连接的显示器107等。显示器107的类型可为液晶显示器107(LCD)、有机发光二极管显示器107(OLED)、阴极射线管(CRT)显示器107、等离子显示器107等。

在一些更具体的场景中,计算机装置100可以实现为一种服务器,其包括:主板101,包括第一信号接口、多个第二信号接口以及第一信号接口至多个第二信号接口之间的信号线路;主处理器102,连接于所述第一信号接口;多个安全图形处理器104,分别通信连接于各所述第二信号接口。

在实际示例中,所述多个安全图形处理器104可以分别装载在各个图形显示卡上,各个图形显示卡插接至各个第二信号接口(例如PCI-E接口),主处理器102用于控制各所述安全图形处理器104的运算工作。此示例中的服务器也被称为“GPU服务器”。GPU服务器是基于GPU应用于视频编解码、深度学习、科学计算等多种场景的快速、稳定、弹性计算的服务器。通过将应用程序计算密集部分的工作负载转移到GPU,GPU进行加速计算可以提供更好的应用程序性能,同时仍由CPU运行其余程序代码,能明显地加速应用程序的运行。

由此可以理解的是,通过GPU服务器实现的“云端”,能为终端用户提供相比于CPU服务器来讲更佳性能的服务。在GPU服务器上采用本申请实施例的安全图形处理器104,可以在获取到更加性能的同时也实现更好的安全性。

如图2A所示,展示本申请实施例中安全图形处理器的结构示意图。本示例中的安全图形处理器可以应用在图1的计算机装置中。

图2A中所展示的安全图形处理器200,包括图形处理单元201、安全设置寄存器202、安全显示内存管理单元203、加解密单元204、安全显示控制器205、及安全控制器208。

在一些实施例中,所述图形处理单元201即GPU,用于图形数据处理中的运算,例如图像的编解码、图形渲染等事务中的运算。在具体实例中,图形处理单元201可包含一或多个处理器,例如一或多个微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)或其它等效的集成或离散电路等。

基于数据安全保护的考虑,安全图形处理器200所使用的显示内存210可以划分成安全内存区域211和非安全内存区域212。其中,所述安全内存区域211可以用于存放需要保护的数据,比如图形数据,在渲染场景中,图形数据可以包括但不限于绘制命令、状态信息、图元信息、纹理信息中等中的至少一种。所述非安全内存区域212可以存放无需保护的数据。

通过所述安全图形处理器200的作用,可以限制对所述安全内存区域211的访问需要满足一定可信的条件,保护了安全内存区域211中的数据的安全性。相应的,对非安全内存区域212的访问可以在限制上放宽或不限制。

为进一步提升数据安全性,安全内存区域211中的数据也可以加密为密文后存储,以防止被窃取明文。

所述安全设置寄存器202,至少用于存储安全属性值。所述安全属性值用于指示安全图形处理器200的安全或非安全模式。其中,安全模式和非安全模式实际上对应于不同的可信度。在安全模式下,安全图形处理器200可以对安全内存区域211中数据进行读、写、加/解密及显示;在非安全模式下,安全图形处理器200则仅能对非安全内存区域212中数据进行读写及显示。示例性地,所述安全设置寄存器可以只能被安全控制器访问。

在一些实施例中,所述安全设置寄存器202可以存储安全图形处理器全局的安全参数,其数量也可以不止一个,而是一个寄存器群组。除了安全属性值,安全参数还可以包含例如显示内存的配置参数(可能会影响系统的稳定性),安全内存区域划分的配置(用于控制例如显示内存中的访问属性和起始及结束地址)等。

所述安全显示内存管理单元203,用于管理显示内存210的访问事务,包括根据安全图形处理器200所处的模式以及访问事务对应的目标地址所属的内存区域,允许或拒绝所述访问事务。

在可能的实现结构中,所述安全显示内存管理单元203可以包含用于显示内存210访问寻址的显示内存管理单元(GMMU),以及相连的用于验证访问是否可信的安全访问管理单元。在其它示例中,显示内存管理单元及安全访问管理单元也可能集成在一起。

在一些示例中,所述显示内存管理单元可以通过分页机制及相应的页表(PageTable)来进行管理显示内存210。具体来讲,显示内存210所对应的实际物理内存可以被划分为许多个固定大小的物理内存块,称为物理内存页面或者是页框(Page Frame),物理内存页面具有其页面号;每个物理内存块包括多个内存单元;显示内存210中的每个内存单元分配有对应的显示内存物理地址(Graphics Physical Address,GPA)。图形处理器可以根据显示内存虚拟地址(Graphics Viturl Address,GVA)来访问显示内存210,故可建立显示内存虚拟地址与显示内存物理地址间映射关系,该映射关系被记载在所述页表中。当需要访问显示内存物理地址时,内存管理单元可通过查询页表可以实现虚拟地址到物理地址的转换。在一些情况中,所述安全图形处理器200中还可以包括安全显存页表寄存器207,用于安全地存放显示内存的各页表的页表基地址。其中,页表基地址指向页表的起始地址。所述安全显存页表寄存器207也可以有多个,形成寄存器群组。

通过安全显存页表控制寄存器可以控制各个显存页表指向内容的安全状态。一方面,页表的基地址会受到保护(比如只能被安全控制器写);另一方面,通过安全显存页表寄存器存放多级页表的基地址,安全的多级页表可以形成安全链路(例如当且仅当要访问的多级页表都安全的时候安全内存管理单元203才被认为是安全访问),从而保证对显存访问的细粒度的安全控制。

在可能的情况中,对应安全内存区域211和非安全内存区域212可以分成不同的页表,例如安全页表和非安全页表,它们的页表基地址可以存放到同一个安全显存页表寄存器207,或者存放在不同的安全显存页表寄存器207中。

在一些示例中,所述安全访问管理单元可以允许在所述安全模式下的图形处理单元201对所述安全内存区域211及非安全内存区域212的访问事务;以及,拒绝在所述非安全模式下的图形处理单元201对所述安全内存区域211的访问事务但允许对非安全内存区域212的访问事务。在可选示例中,所述安全访问管理单元还可以限制在安全模式下的安全图形处理器200对所述非安全内存区域212的访问仅限于只读。

以下通过具体实例来说明对访问事务的验证过程的可能实现方式。在一些实施例中,可以在先确定安全图形处理器200所处模式(安全模式或非安全模式),再确定访问事务对应的地址所属区域(安全内存区域211或非安全内存区域212)的过程中,判断允许或拒绝访问事务;或者,也可以先确定访问事务对应的地址所属区域,再确定安全图形处理器200所处区域的过程中,判断允许或拒绝访问事务;或者,也可以先确定安全图形处理器200所处模式、及访问事务对应的地址所属区域之后,再进行判断允许或拒绝访问事务。

举一实例进行说明,设安全显示内存管理单元203接收到图形处理单元201对虚拟地址A的访问请求B。安全显示内存管理单元203确定安全图形处理器200所处的模式,以及确定虚拟地址A所属的区域。在可选示例中,可以根据读取安全设置寄存器202中的值来判断安全图形处理器200所处模式。

若安全图形处理器200处于安全模式,虚拟地址A属于安全内存区域211,允许访问请求B。

若安全图形处理器200处于安全模式,虚拟地址A属于非安全内存区域212,允许访问请求B。在一些可选示例中,还可以进一步判断访问请求B为对非安全内存区域212读或写操作,若访问请求B是写操作,则可以拒绝。

若安全图形处理器200处于非安全模式,虚拟地址A属于安全内存区域211,拒绝访问请求B。

若安全图形处理器200处于非安全模式,虚拟地址A属于非安全内存区域212,允许访问请求B。

所述加解密单元204,用于响应于安全模式下的加/解密指令,处理对安全内存区域211中需保护的图形数据加密或解密事务。在可选示例中,所述安全图形处理器200还可以包括密钥生成器213,用于产生密钥,以供所述加解密单元204使用。更具体的,所述密钥生成器213可以在安全图形处理器200的每次启动时生成密钥,而重新上电时前次密钥可以作废,提升安全性。所述密钥生成器210也可以仅连线到加解密单元204,而不提供被其它单元读取的端口。

在一些实施例中,所述密钥生成器213可以对应不同的安全需求生成不同类型的密钥。所述需求可以是安全处理器与外部(比如CPU)之间传递的图形数据的加密/解密,或用于安全图形处理器所处理得到的中间数据(比如解码过程中得到的数据)的加密/解密等。

举例来说,密钥生成器213生成用于安全图形处理器与CPU之间图形数据传递的一套内外密钥,其可以是公私钥对形式。安全图形处理器可以将其中的公钥提供给CPU,以供CPU对要传递给安全图形处理器的图形数据进行加密,而安全图形处理器持有私钥以用于对从CPU的系统内存读取的加密的图形数据进行解密。

再比如,所述密钥生成器213还可以再生成一套内部密钥,比如对经内外密钥解密的解密图形数据通过内部密钥加密及解密;和/或对解密的图形数据(如码流)进行解码得到的显示数据的加/解密等。从而,可以使图形数据在安全处理器的到显示的过程中的码流的中间数据都处于加密状态,从而避免中间数据的明文被窃取。

示例性地,所述内部密钥可以随机密钥,其长度可以根据实际需求的加密强度和加密运算资源的平衡来确定,例如1024bit的密钥等。

所述安全显示控制器205,用于响应于在安全模式下的显示指令,根据解密后图形数据对应的显示数据进行图形显示。在一些实例中,所述显示数据可以是由图形处理单元201对解密后的码流数据进行解码的解码数据,所述安全显示控制器205根据解码数据在显示器进行显示。可以理解的是,受保护的加密的图形数据,由可信的加解密单元204进行解密,并由安全模式下的可信的图形处理器进行解码,再到可信的安全显示控制器205进行显示,整个过程中受保护的图形数据的明文无法被窃取,实现完整的安全链路。

为消除前述钓鱼窗口的威胁,所述安全显示控制器205可以具有对应的安全显示功能,所述安全显示功能包括:强制所述图形显示的界面窗口置顶。具体的,在例如操作系统如Windows中,可以同时显示多个界面窗口,相互之间存在重叠,安全显示控制器205可以将其显示数据对应的界面窗口进行置顶,使得无法再在此界面窗口的上层再叠加钓鱼窗口,从而避免输入数据(例如账号、密码或其它敏感数据)被盗窃的情形。可选的,所述安全显示控制器205的安全显示功能也是可以选择启动或关闭的。所述安全图像处理器还可以包括安全显示寄存器206,至少用于存储安全显示属性值;所述安全显示属性值用于指示安全显示控制器205的安全显示功能的开启或关闭。可选的,安全显示寄存器也可以是寄存器群组,通过所存储的与安全显示功能相关的安全显示参数,来为安全显示控制器提供可控的安全选项。在可能的实例中,安全显示控制器可以根据安全显示参数所定义的安全选项,执行相应的显示控制动作,比如令显示的界面窗口置顶而避免被覆盖,以及安全显示流与非安全显示流的融合等。

此外,所述安全显示控制器205也可以用于根据来自非安全内存区域212的图形数据的显示数据进行显示,也可以将安全或非安全区域的显示数据组合显示。

为降低安全显示控制器205的工作量,可选的,安全图形处理器200还包括非安全显示控制器205,用于对非安全内存区域212的图形数据对应的显示数据进行显示。

通过安全显示控制器205进行涉及受保护的图形数据的显示工作,而相配合地,通过非安全显示控制器205进行不涉及受保护的图形数据的显示工作,可以达到安全且又高效的图形显示。

所述安全控制器208,具有对所述安全图形处理器200进行安全设置的权限。在一些实例中,所述安全设置可以发生在安全图像处理器的初始化时机,例如在对安全图形处理器200进行上电时。安全控制器208的安全设置可以包括:对所述安全设置寄存器202、安全显示寄存器206、安全显存页表寄存器207的参数的初始化设置。为保障安全性,可选的,所述安全控制器208可以在验证自身安全性通过的情况下才进行所述安全设置。在具体实现实例中,所述安全控制器208可以是微控制器(MCU)等。通过安全控制器208来自行管控安全图形处理器200的安全设置,而非由主处理器(如CPU)来控制,避免来自主处理器一侧的恶意程序的攻击,大大提升GPU的安全性。

在可选实例中,所述安全图形处理器200还可以包括命令处理单元209,用于处理所述安全图形处理器200接收到的命令,以指令图形处理单元201执行相应动作。可以参考图1,所述命令可以是来自主处理器的显示命令(如渲染)等,也有可能是更改安全模式的命令。当图形显示主当接收到更改安全模式的命令时,清空所述图形处理单元201当前的上下文(Context)的数据,比如程序计数器、寄存器、显示内存210等中的数据。

在一些示例中,安全图形处理器200的安全设置的参数,例如安全设置寄存器202、安全显示寄存器206、安全显存页表寄存器207等中的参数可以设置成只读,或者被限制读取权限,以提升安全性。例如,对图形处理单元201设置成不可见;只能被安全控制器208读/写,只能被加解密单元204、安全显示内存管理单元203、安全显示控制器205等读取等。上述多种对安全设置的参数的保护方式,只是示例性的,可以加以变化而非以此为限。

如图2B所示,展示图2A的安全图形处理器中各单元之间的作用关系。

命令处理单元209用于处理安全图形处理器200所接收的命令,例如接收到切换安全图形处理器200的安全或非安全模式的命令等,令安全图形处理器200清空当前的上下文等。安全控制器208可以设置安全设置寄存器202、安全显存页表寄存器207、安全显示寄存器206中的参数。安全设置寄存器202的参数提供安全内存管理单元203关于显示内存的配置参数(如页面大小)、安全内存区域211和非安全内存区域212划分的地址等。通过将安全显存页表寄存器207中安全内存区域211相关安全页表的基地址提供给加解密单元204,以使加解密单元204能查找显示内存210中相关地址中的数据,进行加密或解密。安全显示寄存器206中的安全显示选项的参数可用于控制安全显示控制器205的安全显示,比如置顶界面,安全和非安全显示数据的融合显示等。密钥生成器213生成的密钥传递给加解密单元204,以用于加/解密使用,例如生成内部密钥用于中间数据的加/解密等。

结合上述实施例,本申请在一些实施例中,可以提供一种处理器芯片,所述处理器芯片中可以仅集成前述实施例中的所述安全图形处理器以形成显示芯片。

本申请在一些实施例中,可以提供一种处理器芯片,所述处理器芯片中还可以集成主处理器(例如图1中的主处理器)以及所述安全图形处理器,以形成具有核显的处理器芯片。

本申请在一些实施例中,可以提供一种图形显示卡,包括封装有前述实施例中的所述安全图形处理器的显示芯片。所述图形显示卡上还可以装载有提供显示内存的存储器芯片。

本申请在一些实施例中,可以提供一种服务器,其特征在于,包括:主板,包括第一信号接口、多个第二信号接口以及第一信号接口至多个第二信号接口之间的信号线路;主处理器,连接于所述第一信号接口;多个所述的安全图形处理器,分别通信连接于各所述第二信号接口。

基于上述实施例中安全图形处理器的应用场景,本申请实施例中还可以提供安全显示方法,以实现对显示内容的保护,从而避免视频作品盗版、钓鱼窗口等问题。

如图3所示,展示本申请实施例中安全显示方法的流程示意图。

所述安全显示方法包括:

步骤S301:图形处理单元将待显示的加密图形数据移动至显示内存中的安全内存区域。

在一些实施例中,安全图形处理器可以在接收到主处理器的显示命令时,执行对应的加密图形数据的移动。

步骤S302:当处于安全模式下,加解密单元解密所述加密图形数据为解密图形数据。

在一些实施例中,图形处理单元可以调用加解密单元进行所述解密,解密图形数据可以保存在安全内存区域,而无法被主处理器或非安全模式下的其它GPU访问到,以保证其安全。

步骤S303:图形处理单元根据所述解密图形数据得到第一显示数据。

在一些实施例中,所述图形处理单元可以通过对解密图形数据进行例如解码等,从而得到解码后的第一显示数据,所述第一显示数据仍然可以存放在安全内存区域中。

步骤S304:安全显示控制器根据所述第一显示数据或者根据所述第一显示数据同非安全区域中的图形数据得到的第二显示数据的组合,进行图形显示。

可以进一步参考图4,展示在一个更加直观的实例中安全显示方法执行过程的原理示意图。在安全图形处理器402接收到主处理器401的显示命令时,图形处理单元将待显示的加密图形数据B从系统内存402移动至显示内存403中的安全内存区域430。

进一步的,图形处理单元调用加解密单元对加密图形数据进行解密,安全显示内存管理单元和加解密单元在判断安全图形处理器处于安全模式且加密图形数据在安全内存区域时,安全内存单元允许加解密单元访问加密图形数据,加解密单元对加密图形数据解密,以得到解密图形数据B1,可以存放在安全内存区域中的原地址也可以在其它地址中。图形处理单元经安全显示内存管理单元访问解密图形数据,进行解码而得到第一显示数据B2。安全显示控制器根据第一显示数据B2结合非安全内存区域431中已解码的第二显示数C据进行图形显示。

可选的,B1也可以是对所述加密图形数据解密得到的解密图形数据再通过另一套密钥S加密得到的密文,B2可以是通过S解密B1之后经图形处理单元解码得到解码数据再经S(或其它密钥)加密的密文存储,在需要对B2的明文显示时再通过加解密单元通过S(或其它密钥)解密B2得到明文并显示。如此可见,B、B1、B2都可以是密文形式存储,无法被窃取。

在上述过程中,对显示内存中的数据的访问事务会经过安全显示内存管理单元的检查,在如之前实施例中判断通过的情况下才会进行虚拟地址到物理地址的映射,而能访问到显示内存中的数据。

可以理解的,在此显示过程中,由可信的安全模式下的图形处理单元、安全显示内存管理单元、加解密单元、安全显示控制器、安全内存区域之间相互配合以形成完整强大的安全链路,有效保护需要受到保护的图像数据及相应显示数据,从而保护显示内容不会被盗窃,避免盗版情形。

在一些实施例中,所显示的图像可能是登录界面等,当安全显示控制器的安全显示功能开启时,则可以将该登录界面强制置顶,可防止被覆加钓鱼窗口。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、ROM、RAM、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

本领域普通技术人员可以理解上述实施例的安全显示方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、ROM、RAM、磁盘或光盘等。

上述实施例仅例示性说明本申请的原理及其功效,而非用于限制本申请。任何熟悉此技术的人士皆可在不违背本申请的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本申请所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本申请的权利要求所涵盖。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号