本文描述了用于片上系统(SoC)安全插件的系统和技术。可以在互连端点处接收来自SoC组件的组件消息。互连端点可以经由安全互连将组件消息传递到安全组件。安全组件可以使用密码引擎来保护组件消息,以创建安全消息。安全消息经由安全互连传递回互连端点,并由互连端点跨互连发送。
【技术实现步骤摘要】
用于片上系统平台的安全插件本申请为分案申请,其原申请是于2017年5月19日(国际申请日为2015年12月8日)向中国专利局提交的专利申请,申请号为201580063003.2,专利技术名称为“用于片上系统平台的安全插件”。优先权要求本申请要求于2014年12月19日提交的美国专利申请序号14/577,812的权益,其全部内容通过引用并入本文。
本文描述的实施例总体上涉及片上系统(SoC)互连,并且更具体地涉及用于SoC平台的安全插件。
技术介绍
SoC是在单个芯片基板上包括多个计算机组件的集成电路(IC)。SoC可以包括任何数量的执行诸如图形处理、存储器管理、通用或专用处理等功能的组件块(例如,知识产权块或IP块),这里被称为SoC组件。SoC还可以包括经由互连(例如,总线)将各种SoC组件彼此连接(例如,芯片内的通信)或者与SoC外部的组件连接(例如,芯片间的通信)的结构。互连端点可以将SoC组件接口到互连,例如,通过将SoC组件数据打包成互连消息以用于在互连上传送,以及将互连消息解包以用于传送到SoC组件。附图说明在附图中,不一定按比例绘制,同样的数字可以在不同的视图中描述类似的组件。具有不同的字母后缀的同样的数字可以表示类似组件的不同实例。附图以示例而非限制的方式总体地示出了在本文档中讨论的各种实施例。图1是根据实施例的用于SoC平台的安全插件的系统的示例的框图。图2示出了根据实施例的用于SoC平台的安全插件的系统中的数据流的示例。图3-6示出了根据实施例的用于SoC平台的安全插件的系统中的互连消息的示例。图7是示出根据实施例的用于SoC平台的安全插件的方法的示例的泳道流程图。图8是示出可以在其上实现一个或多个实施例的机器的示例的框图。具体实施方式随着SoC在市场上的新兴主导,SoC平台正在成为精通且全面的平台,其包括大量的SoC组件,范围从视频/音频/图像处理、到极大数量的传感器、到低级通用处理器、以及输入-输出接口。固定功能且可编程的SoC组件使得制造商能够在市场上提供差异化。可以将SoC组件设计为在多个平台中使用并在特定平台的安全性需求已经定义之前实现。对于SoC组件设计人员而言,该设计周期可能使得确定要并入到给定的SoC组件中用于解决目标平台的安全性需求的特征成为挑战。由于平台资产(密钥、配置值等)跨结构/互连从IP块传输到另一IP块,所以数据的完整性和机密性变得至关重要。对于目标平台的示例安全性需求可以包括处理芯片内攻击——例如,使用例如调试硬件或软件在两个SoC组件之间的互连上进行消息窥探或修改——或者包括处理芯片间攻击——例如,对经由芯片间互连的第一SoC上的SoC组件与第二SoC上的SoC组件之间的消息进行窥探或修改。同时,通过定义普通结构(包括组件互连)的SoC融合正在驱动SoC组件跨各种SoC平台(范围从手机/平板计算机/微型服务器到客户端/服务器平台)的重用和快速集成。因此,已经识别了以下示例问题:·SoC平台(例如,14nm晶体管工艺)需要特定的SoC组件,其具有建立在较旧一代的工艺技术(例如,45nm晶体管工艺)上的密码电路。这导致较少程度优化的平台。·从不同组开发的SoC组件可能具有不一致的安全实现,因为一些组使用具有良好的安全实践的更大程度优化的电路,而其它组则以专门/定制的密码设计而结束。·鉴于SoC结构的多样性,集成SoC组件需要开发包装器和桥接器,这增加了管芯区域,并需要附加的实现和确认资源。·基于目标平台的安全性需求来集成SoC组件的密码/安全性成为繁重的任务。作为结果,安全特征的实现在调度影响方面面临着艰苦的斗争,并且可能无法及时使产品面市。为了解决这些问题,可以将模块化且可伸缩的微架构安全插件(例如,安全组件或安全块)用作具有经由对SoC互连结构的标准接口可用的各种密码引擎的SoC组件。如本文所使用的,安全插件是SoC平台中的硬件实现的功能块。通过使用标准接口,可以在不重新设计其它SoC组件的情况下选择不同的密码引擎来满足安全性和制造目标。例如,SoC设计人员可以选择四种或五种不同的高级加密标准(AES)SoC组件实现。没有安全插件,每种实现可能具有不同的接口,SoC集成团队必须适应集成任何一种实现。这可能表示对他们面市时间的挑战。然而,使用所描述的密码引擎,SoC集成人员可以在不重新设计其它SoC组件的连接的情况下选择实现中的任何实现。因此,SoC集成团队不需要在安全电路的内部或安全电路与控制器之间的总线接口上浪费时间。相反,他们可以基于其安全性和制造目标——例如,加密吞吐量、功耗、管芯尺寸、成本等——选择合适的策略,并对在不进行附加设计的情况下就满足这些目标的安全插件进行实例化。此外,通过在SoC互连的端点集成插件,单独的SoC组件不需要关注安全性,因为所有通信都将受益于由所描述的插件提供的安全性。附加的细节提供如下。图1是根据实施例的用于SoC平台的安全插件的系统100的示例的框图。系统100可以包括经由互连170连接的第一SoC管芯105和第二SoC管芯175。第一SoC管芯105可以包括多个SoC组件(例如,组件A110、组件B115、以及组件C120),其经由互连端点125以彼此或管芯外组件(例如,第二SoC管芯的组件D195)方式中的任何一个或多个方式通信地耦合。互连端点125可以包括安全组件130、面向组件的收发器155、安全互连160、以及互连封装器165。类似于第一SoC管芯105,第二SoC管芯175可以包括一个或多个SoC组件(例如,组件D195)和互连端点180。类似于互连端点125,互连端点180可以包括安全组件185、互连封装器186、安全互连187、以及面向组件的收发器188。在示例中,互连端点180和安全组件185的组件分别镜像互连端点125和安全组件130的组件。面向组件的收发器155可以被布置(例如,配置、设计、制造、结构化等)为发送或接收到组件(例如,组件A110、组件B115、组件C120、或组件D195)的组件消息。如本文所使用的,组件消息是单独的SoC组件与互连端点125之间的通信,例如,寄存器读取或写入(例如,到存储器映射的输入-输出寄存器)或直接存储器访问(DMA)消息。安全互连160可以被布置为将面向组件的收发器155和互连封装器165的消息传递管线连接到安全组件130。安全互连160可以符合安全组件130的标准接口。在操作期间,可以将在互连封装器165处从面向组件的收发器155接收的组件消息或者从互连170接收的组件消息传递到安全组件130,以在继续到其目的地之前分别对该消息进行加密或解密。在示例中,互连消息报头分析器可以存在于安全组件130、安全互连160、或互连端点125中的其它地方中,以读取互连消息报头并确定消息是否为经加密消息,并且如果消息为经加密消息则使得安全组件130对消息进行解密或认证。互连封装器165可以被布置为将组件消息变换成互连消本文档来自技高网...
【技术保护点】
1.一种系统(100),包括:/n第一片上系统(SoC)(105),包括:/n第一多个SoC组件(110、115、120),所述第一多个SoC组件(110、115、120)中的至少一些用于向第二SoC(175)发送组件消息;/n将所述第一多个SoC组件(110、115、120)彼此耦合的第一结构,所述第一结构用于在所述第一SoC(105)中发送所述组件消息;/n第一互连端点(125),其用于将所述第一多个SoC组件(110、115、120)与芯片间互连(170)接合,所述第一互连端点(125)包括:/n第一标准互连接口,所述第一标准互连接口用于接收所述组件消息;/n与所述第一标准互连接口耦合的第一安全组件(130),其中,所述第一标准互连接口使所述第一安全组件(130)可用于所述第一多个SoC组件(110、115、120),以用于将组件消息发送到所述第一互连端点(125),所述第一安全组件(130)包括:/n第一密码引擎(135),其用于接收并且加密所述组件消息以创建加密的组件消息;以及/n第一完整性引擎,其用于计算与所述组件消息相关联的完整性元素;以及/n与所述第一安全组件(130)耦合的第一互连封装器(165),所述第一互连封装器(165)用于基于所述加密的组件消息和所述完整性元素来产生互连消息,所述互连消息被构造为符合所述芯片间互连(170)的消息传送标准;/n密码控制器(140),其用于管理多个密码密钥,其中,所述密码控制器(140)用于与另一组件执行密钥协商;以及/n状态管理器,其用于管理与所述第一SoC相关联的密码会话,其中,所述状态管理器用于维护第一数据结构,所述第一数据结构包括用于会话密钥的字段;/n与所述第一SoC(105)耦合的所述芯片间互连(170),所述芯片间互连(170)用于根据所述消息传送标准来发送所述互连消息,其中,基于所述加密的组件消息和所述完整性元素的所述互连消息帮助在所述芯片间互连(170)上的传输期间向所述互连消息提供保密和完整性保护;以及/n与所述芯片间互连(170)耦合的第二SoC(175),所述第二SoC(175)包括:/n第二互连端点(180),包括:/n第二互连封装器(186),其用于将所述互连消息转换回到所述加密的组件消息和所述完整性元素;/n第二安全组件(185),所述第二安全组件(185)包括:/n第二完整性引擎,其用于使用所述完整性元素来验证与所述组件消息相关联的完整性;以及/n第二密码引擎,其中,所述第二安全组件(185)用于将所述加密的组件消息解密回所述组件消息;以及/n第二标准互连接口,其用于接收所述组件消息;/n第二结构,其用于在所述第二SoC(175)中发送所述组件消息;以及/n与所述第二结构耦合的第二多个SoC组件,所述第二多个SoC组件中的至少一个用于接收所述组件消息。/n...
【技术特征摘要】
20141219 US 14/577,8121.一种系统(100),包括:
第一片上系统(SoC)(105),包括:
第一多个SoC组件(110、115、120),所述第一多个SoC组件(110、115、120)中的至少一些用于向第二SoC(175)发送组件消息;
将所述第一多个SoC组件(110、115、120)彼此耦合的第一结构,所述第一结构用于在所述第一SoC(105)中发送所述组件消息;
第一互连端点(125),其用于将所述第一多个SoC组件(110、115、120)与芯片间互连(170)接合,所述第一互连端点(125)包括:
第一标准互连接口,所述第一标准互连接口用于接收所述组件消息;
与所述第一标准互连接口耦合的第一安全组件(130),其中,所述第一标准互连接口使所述第一安全组件(130)可用于所述第一多个SoC组件(110、115、120),以用于将组件消息发送到所述第一互连端点(125),所述第一安全组件(130)包括:
第一密码引擎(135),其用于接收并且加密所述组件消息以创建加密的组件消息;以及
第一完整性引擎,其用于计算与所述组件消息相关联的完整性元素;以及
与所述第一安全组件(130)耦合的第一互连封装器(165),所述第一互连封装器(165)用于基于所述加密的组件消息和所述完整性元素来产生互连消息,所述互连消息被构造为符合所述芯片间互连(170)的消息传送标准;
密码控制器(140),其用于管理多个密码密钥,其中,所述密码控制器(140)用于与另一组件执行密钥协商;以及
状态管理器,其用于管理与所述第一SoC相关联的密码会话,其中,所述状态管理器用于维护第一数据结构,所述第一数据结构包括用于会话密钥的字段;
与所述第一SoC(105)耦合的所述芯片间互连(170),所述芯片间互连(170)用于根据所述消息传送标准来发送所述互连消息,其中,基于所述加密的组件消息和所述完整性元素的所述互连消息帮助在所述芯片间互连(170)上的传输期间向所述互连消息提供保密和完整性保护;以及
与所述芯...
【专利技术属性】
技术研发人员:M·R·萨斯特里,A·纳伦德拉特里维迪,龙门,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。