芯片验证的制作方法_2

文档序号:8516065阅读:来源:国知局
3] 根据本发明的第三方面,提供了一种用于初级验证系统验证上面的第一方面的芯 片的OTP存储器的指定部分的配置的方法。芯片的OTP存储器的指定部分的预期配置对于 初级验证系统是已知的。与芯片的秘密密钥相关联的验证密钥对于初级验证系统也是已知 的。所述方法包括:(a)向芯片发送关于OTP存储器的指定部分的验证请求,其中该验证请 求包括限定OTP存储器的指定部分的掩模数据;(b)从芯片接收关于OTP存储器的指定部 分的验证数据,其中该验证数据由芯片基于OTP存储器、所接收的掩模数据和秘密密钥生 成;以及(c)使用芯片的预期配置、掩模数据和验证密钥验证所接收的验证数据,从而确定 芯片的OTP存储器的指定部分的配置是否如预期的那样。
[0024] 本发明的该第三方面允许由第三方(即初级验证系统)使用芯片验证模块,该第三 方知晓对应于由芯片验证模块使用的机密秘密密钥的验证密钥。初级验证系统可以是受信 任第三方(TTP)。
[0025] 秘密密钥可以是对称密钥或非对称密钥。在一个实施例中,秘密密钥是芯片的私 钥,并且验证密钥是芯片的公钥。该实施例涉及非对称密码学。在另一个实施例中,验证密 钥与秘密密钥相同。换言之,秘密密钥是芯片和初级验证系统共享的对称秘密密钥。该实 施例涉及对称密码学。
[0026] 根据本发明的第四方面,提供了一种用于次级验证系统在秘密密钥是由芯片和初 级验证系统共享的对称秘密密钥时验证上面的第一方面的芯片的OTP存储器的指定部分 的配置的方法。芯片的OTP存储器的指定部分的预期配置对于次级验证系统是已知的。所 述方法包括:(a)从初级验证系统接收限定OTP存储器的指定部分的掩模数据;(b)从初级 验证系统接收与次级验证系统相关联的ID数据;(c)从初级验证系统接收次级密钥,其中 次级密钥由初级验证系统使用密钥导出方案从ID数据和秘密密钥导出;(d)向芯片发送关 于OTP存储器的指定部分的验证请求,其中验证请求包括掩模数据和ID数据;(e)从芯片 接收关于OTP存储器的指定部分的验证数据,其中验证数据由芯片基于OTP存储器、所接收 的掩模数据和次级密钥生成,其中次级密钥由芯片使用密钥导出方案从所接收的ID数据 和秘密密钥导出;以及(f)使用芯片的预期配置、掩模数据和次级密钥验证所接收的验证 数据,从而确定芯片的OTP存储器的指定部分的配置是否如预期的那样。
[0027] 本发明的该第四方面允许由第三方(即次级验证系统)询问芯片验证模块,该第三 方本身不可以访问由验证模块使用的秘密。特别地,次级验证系统不知晓或可访问芯片和 初级验证系统之间共享的秘密密钥。因此,初级验证系统基于秘密密钥将其自己唯一的次 级密钥发布给次级验证系统。芯片能够独立地计算次级密钥。
[0028] 根据本发明的第五方面,提供了一种计算机程序,该计算机程序在由处理器执行 时使得处理器执行上面的第三或第四方面的方法。
[0029] 根据本发明的第六方面,提供了一种携带上面的第五方面的计算机程序的数据携 带介质。
[0030] 数据携带介质可以是存储介质或传输介质。
[0031] 根据本发明的第七方面,提供了一种包括第一方面的芯片的机顶盒。
[0032] 在所附权利要求中阐述本发明的其他优选特征。
【附图说明】
[0033] 现在将通过示例的方式参考附图描述本发明的实施例,在附图中: 图1示意性地图示了现有技术芯片。
[0034] 图2示意性地图示了根据本发明的一个实施例的芯片。
[0035] 图3是示出生成关于图2的芯片的OTP存储器的指定部分的验证数据的芯片实现 的方法中的高级别步骤的流程图。
[0036] 图4是示出用于初级验证系统验证图2的芯片的OTP存储器的指定部分的配置的 方法中的高级别步骤的流程图。
[0037] 图5a和5b示意性地描绘了一个示例性实施例中的验证程序。图5a示意性地描 绘了初级验证系统的数据和处理,并且图5b示意性地描绘了图2的芯片的数据和处理。
[0038] 图6是示出用于次级验证系统验证图2的芯片的OTP存储器的指定部分的配置的 方法中的高级别步骤的流程图。
[0039] 图7a、7b和7c示意性地描绘了一个示例性实施例中的验证程序。图7a示意性地 描绘了初级验证系统的数据和处理,图7b示意性地描绘了特别的次级验证系统的数据和 处理,并且图7c示意性地描绘了图2的芯片的数据和处理。
【具体实施方式】
[0040] 在图2中示出根据本发明的一个实施例的芯片(或SoC) 110。芯片110完全类似 于图1中所示的现有技术芯片10,除了下面描述的区别。
[0041] 图2的芯片110还包括验证模块(或OTP报告模块)130。芯片110的CPU总线120 另外将验证模块130连接到ROM 12、OTP存储器14、CPU 16和公共逻辑模块18。因此,验 证模块130可以访问OTP存储器14。还可以将验证模块130连接到芯片110的CPU 16(如 果存在的话)。验证模块130也可以被配置有不牵涉芯片110的主CPU 16的到外部装备的 通信接口(未示出)。
[0042] OTP存储器14存储芯片配置数据。例如,参考芯片110中的功能模块F1......F 8, 芯片配置数据可操作来选择性地使能或禁用功能模块F1......F8中的每一个。在这种情况 下,将芯片配置数据存储在OTP存储器位置ei......e8。也可以将其他芯片配置数据存储 在OTP存储器14中。
[0043] 在芯片制造工艺期间,芯片110被配置有仅对于特别的第三方已知的少量数据。 该特别的第三方在下面被称为"初级验证系统"或"受信任第三方(TTP)"。有利地,芯片110 的验证模块130被配置有该数据。该数据意图用作密码操作中的秘密密钥K。秘密密钥K 可以是安全的,从而其在没有显著工作量的情况下不能被观测或修改。密钥K不应当是通 用软件程序在芯片Iio上执行期间或者通过外部接口(管脚)可访问的。
[0044] 一般骀证稈序的综沐 在芯片制造循环的结尾处,初级验证系统可以请求芯片110生成关于OTP存储器14中 的配置数据的验证消息。对于特别类型的芯片Iio而言,配置数据将被预期对于每一个芯 片110是相同的。由于第三方想要确信验证消息是由特别的芯片110的验证模块130 (而 不是由比方说制造商)生成的,所以生成的验证消息需要对于不同芯片10而言是不同的。 因此,验证模块130使用芯片110的密钥K来生成验证消息。例如,验证模块130可以使用 密钥K来生成用于OTP存储器14的特别的存储器位置ei......%的的密码散列值并且输 出该结果。存在可以用来计算密码散列值的广泛范围的函数。在一个变体中,密钥K可以 用来对OTP存储器14中存储的一些或全部配置数据进行数字签名或加密。
[0045] 只有初级验证系统(其具有密钥K (或与密钥K相关联的密钥,例如公钥对私钥)以 及OTP存储器14中的预期配置数据的知识)可以验证所生成的散列值与预期配置数据相匹 配。散列值的失配是制造问题的指示。
[0046] 为了防止对于相同类型的芯片10生成相同的散列值,密钥K对于特别的芯片110 是唯一的。替换地,可以使用公共(对称)密钥K,并且可以将一些随机数据(例如随机数)与 来自OTP存储器14的数据相组合以形成对密码散列函数的输入。该随机数可以形成从初 级验证系统到芯片110的验证请求的一部分。替换地,如果芯片110具有足够的随机数字 生成器,则可以在芯片110内生成随机数。在这种情况下,随机数据也是所生成的验证消息 的一部分,使得初级验证系统可以确认所生成的散列值。如将理解的,散列函数的性质使得 根据仅有预期配置数据和随机数据的知识确定密钥K在计算上是不可行的。
[0047] 在一些情况下,初级验证系统对于OTP存储器14中的配置数据的特定子集感兴 趣。因此,从初级验证系统到芯片110的验证请求包括指示OTP存储器14的指定部分的掩 模数据。这是有利的,因为如果来自OTP存储器14的其他数据值在其他方的控制之下的话, 则包括这些数据值可能创建问题,使得难以确立预期的散列值。
[0048] 芯片实现的骀证稈序的综沐 图3是示出生成关于芯片110的OTP存储器14的指定部分的验证数据的芯片实现的 方法中的高级别步骤的流程图。OTP存储器14的指定部分可以涉及OTP存储器14的对应 于请求
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1