[发明专利]用于保护可编程器件的编程数据的方法和装置有效
申请号: | 201280020697.8 | 申请日: | 2012-04-17 |
公开(公告)号: | CN103493062B | 公开(公告)日: | 2017-04-19 |
发明(设计)人: | D·A·瑞斯;J·乔伊斯 | 申请(专利权)人: | 阿尔特拉公司 |
主分类号: | G06F21/76 | 分类号: | G06F21/76 |
代理公司: | 北京市金杜律师事务所11256 | 代理人: | 酆迅 |
地址: | 美国加*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 保护 可编程 器件 编程 数据 方法 装置 | ||
技术领域
本发明涉及一种用于保护可编程器件(例如现场可编程门阵列(FPGA)或者其它可编程逻辑器件(PLD))的编程数据免于复制的方法和装置,并且涉及这样保护的可编程器件。
背景技术
可编程器件众所周知。在一类已知PLD中,每个器件具有大量逻辑门,并且用户通常使用由器件的制造商提供的软件工具将器件编程为采用这些逻辑门的特定配置,让软件工具在具有适配器的计算机上执行,器件被插入到适配器中。早期几代此类器件通常使用一些形式的可编程只读存储器(“PROM”)技术来存储由软件工具产生的配置数据。在这些早期器件中,软件工具通过熔断可熔链来引起计算机将型样(pattern)“烧录”到PROM存储中。在后期几代中,PROM技术可以已经成为可擦除可编程只读存储器(“EPROM”)技术,其不被烧录,并且可以通过暴露于紫外线而被擦除(用于重编程)。再往后几代可以已经使用电可擦除可编程只读存储器(“EEPROM”或者“E2PROM”)技术。
所有这些技术为相对安全。在选择使用可编程逻辑器件而非蒙受开发定制芯片的努力和消费的用户的情况下,如果用户的竞争者试图逆向工程被编程的可编程逻辑器件,竞争者将基本上必须逐层切片器件以辨识其编程。对于所讨论的类型的用户(按照定义并非芯片制造商)而言,虽然这样的努力可能是技术上可行的,但是竞争者能够或者将承担该努力的可能性较小。
随后,在静态随机存取存储器(“SRAM”)存储中存储其配置数据的可编程逻辑器件变得可用并且仍然普遍。此类器件相比基于EPROM技术的器件具有更小和更快的优势。
然而,SRAM存储是易失性的;当断电时其并不留存其内容。因此,使用具有非易失性存储的基于SRAM技术的可编程逻辑器件,以在关断器件或者另外不提供功率期间留存配置编程数据。例如可以以闪存的形式提供此类非易失性存储,但是可以使用任何形式的非易失性存储,并且其可以在器件上或者与器件分离。
不管使用何种类型的非易失性存储,具有其配置数据的非易失性存储的SRAM可编程逻辑器件在防范其用户的竞争者逆向工程方面较不安全。这是因为竞争者可以监控流出上电的非易失性存储的数据,并且由此确定可编程逻辑器件的编程配置。事实上,竞争者甚至无需分析数据流,而仅需在其器件中记录数据流并且存储数据流。
共同转让的第5,768,372号和第5,915,017号美国专利描述了在非易失性存储中存储的配置数据的加密以及在向可编程器件中加载时其解密,包括向解密电路提供对信号的指示符,若干可能的加密/解密方案的指示符用来加密配置数据并且因此应当用来解密配置数据。
因此,可编程器件市场已经变得更加复杂。以前器件制造商向原始消费者出售空白可编程逻辑器件,原始消费者通常将对其编程并且将每个器件作为最终用户产品的一部分出售。因此,制造商的原始消费者通常为提供配置数据的唯一一方并且因此为需要保护配置数据的唯一一方。最近,器件制造商或者第三方已经出售用于各种通用功能的供应商提供的专属配置数据(通常被称作“知识产权核心”)。如果一方提供此类专属配置数据,其可能希望保护这些数据不被读取,但是原始消费者需要从另一供应商(其也将希望保护其专属配置数据)自由添加附加专属配置数据,以及其独有配置数据,并且随后希望保护包括其自己的配置数据和任何供应商提供的配置数据的最终配置。
发明内容
本发明涉及一种用于使用不同加密(包括选择不加密)和密钥来单独保护可编程器件的配置数据的不同部分、以及提供不同密钥和密钥组合的电路装置和方法。
因此,根据本发明的实施例,提供一种可编程集成电路器件,该器件具有用于配置数据的输入,配置数据用于可编程集成电路器件。根据至少一种加密方案至少部分加密配置数据。多个密钥存储存储用于至少一种加密方案的多个解密密钥。控制电路装置从至少部分加密的配置数据标识所需密钥并且生成密钥选择信号。密钥选择电路装置响应于密钥选择信号读取多个密钥存储并且向控制电路装置提供所需密钥。控制电路装置可以包括解密电路装置,解密电路装置使用所需密钥解密至少部分加密的配置数据。
根据本发明的附加实施例,配置数据包括多个部分配置数据部分。多个部分配置数据部分中的相应部分配置数据部分被加密并且需要相应解密密钥。控制电路装置从配置数据标识相应所需密钥并且生成相应密钥选择信号。密钥选择电路装置响应于相应密钥选择信号读取多个密钥存储并且将这些相应所需密钥提供给控制电路装置。
也提供配置和操作此类可编程集成电路器件的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿尔特拉公司,未经阿尔特拉公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201280020697.8/2.html,转载请声明来源钻瓜专利网。