管脚可重定义的存储器及其保护方法

文档序号:6755479阅读:164来源:国知局
专利名称:管脚可重定义的存储器及其保护方法
技术领域
本发明所涉及到专用集成电路的存储器保护技术,更具体地涉及到一种管脚可重定义的 存储器及其保护方法。
背景技术
现代安全系统通常是基于公开算法来保证通信或计算安全,因为算法是公开的,因此安 全性通过密钥来保护。正确的密钥保护方法始于密钥的保存,嵌入系统需要将密钥保存在存 储器内,而永远不要使之外泄,现在很多芯片都需要在内部保存密钥。而且芯片设计过程中 要增加很多防护手段,避免密钥被窃取。而随着芯片失效分析,芯片测试等手段的技术进步, 窃取密钥(后面将其称为密钥攻击)的技术也在逐渐进步,其中,物理层攻击方法最为常见。
微探针技术是物理层攻击的一种,微探针技术读出信号或者改变信号值,得到设计者希 望保密的数据;再去除芯片封装之后,通过金丝键合恢复芯片功能焊盘与外界的电气连接, 可以使用手动微探针通过扫描电子显微镜连接微控制器上的信号线,来读取线上所传输的保 密数据或将攻击者自己的数据注入芯片,改变电路行为,得到保密数据;微探针技术定位到 存储器端口连接上可以通过微探针测试探头进行数据存取;微探针技术可以对烧断的熔丝进 行重新连接,或者利用芯片的测试电路接口读出芯片内部保密数据。攻击者可以使用微探针 技术控制存储器的外部管脚,从而获得存储器内部的保密信息。
公开号为CN1645603A,发明名称为"实现芯片管脚功能互换的电路及芯片"公开专利申 请,其公开一种芯片釆用交换单元将需要交换位置的两个管脚的输入信号和输出信号分别交 换,从而实现芯片管脚功能互换的技术方案,解决现有技术中因芯片应用环境的限制而导致 芯片管脚排列无法兼容的问题。但是,该专利申请存在以下缺陷由于芯片管脚功能是巳知 的,不适于保护存储器;管脚功能交换单元对外界是透明的,不存在保密性;管脚功能交换 原理过于简单,仅仅是利用一个电平高低的切换就可以实现管脚功能的互换,因此,如果将 该技术用于存储器保护,那么攻击者很容易判断出每个管脚的功能含义,从而控制管脚获得 芯片中的保密信息。

发明内容
本发明提出一种外部管脚可重新定义的存储器及其保护方法,能够对存储器的外部管脚 进行重新定义,使非法用户不能知道每个管脚所对应存储器内部信号的具体含义,从而可以 防止攻击者使用控制存储器管脚的方法分析通信数据以窃取存储器中的保密信息,保证存储 器的内部信息安全。
为解决本发明的技术问题,本发明公开一种管脚可重定义的存储器,该存储器具有与外 部通信的多个管脚,其包括-具有管脚配置模块121的内部单元12,该管脚配置模块121提供用户编程定义管脚并 保存为不允许存储器外部用户访问的管脚配置信息;
通过多个双向端口分别连接各个管脚、且通过与每个双向信号端口具有映射关系的多个 单向信号端口与内部单元12进行数据通信的管脚重定义单元11,其根据管脚配置模块121 的管脚配置信息重新配置双向信号端口与单向信号端口的映射关系。
其中,所述管脚配置模块121包括是否允许用户编程的第一状态标识位;决定管脚重 定义单元11是否采用用户编程定义管脚的第二状态标识位;
若用户对管脚配置模块121编程后设置不允许再次编程,则将第一状态标识位由 "UNCLOK"设置为"LOCK";
若设置管脚重定义单元11采用用户编程定义管脚,则将第二状态标识位由"DEFAULT,, 设置为"CONFIG"。
其中,所述管脚配置模块121包括:在受保护的非易失性存储器上分配编程域和配置域; 编程域接收用户编程定义管脚的编程命令并存储为管脚配置信息,并于编程结束后将管脚配 置信息更新存储至配置域。
其中,所述非易失性存储器是允许存储器外部用户写入数据而不允许读取数据。
其中,所述管脚重定义单元11包括通过缓冲器连接在每个双向信号端口与每个单向 信号端口之间,用于分别选择输入和输出数据信号的两个多路选择器;用于选择向所述缓冲 器输出使能信号的多路选择器,其输出端连接在所述缓冲器的使能端;
所述管脚配置信息输入管脚重定义单元11中每个多路选择器的状态选择端,控制每个 多路选择器按照用户定义的映射关系选择正确的输入信号到多路选择器的输出端。
另外,本发明还公开一种管脚可重定义的存储器保护方法,该存储器具有与外部通信的 多个管脚,且各个管脚分别连接多个双向端口,而多个双向信号端口与多个单向信号端口具 有映射关系;其包括
用户通过管脚配置模块121编程定义管脚,将管脚定义信息保存为不允许存储器外部用 户访问的管脚配置信息;
由管脚重定义单元11其根据管脚配置模块121的管脚配置信息重新配置双向信号端口 与单向信号端口的映射关系。
其中,在管脚重定义单元11完成配置双向信号端口与单向信号端口的映射关系之前, 存储器不允许外界对其访问,只有在管脚重定义单元11成功完成配置后才允许外界对其访 问。
与现有技术相比,本发明具有如下有益效果-
1、 本发明是用户对存储器编程实现了管脚的重定义,相比简单的电平控制要复杂的多, 增加了非法用户攻击存储器的难度,提高了存储器的安全性。
2、 本发明的管脚重定义方法的关键是管脚配置模块对外界是不可读的,存入其中的管 脚配置信息也就是不可知的,因此,解决了现有技术中存储器管脚功能己知,容易被控制从 而分析获取存储器中保密信息的问题。
3、 本发明允许不同的用户可以根据自身的实际需要对存储器进行不同的编程,达到存储器保密方式个性化和多样化的效果,更好地保护存储器中的保密信息。


图1是本发明提出的受保护存储器的系统结构图; 图2是图1中管脚配置模块的编程原理示意图; 图3是图1中管脚重定义单元的功能示意图; 图4是图1中管脚重定义单元的电路原理示意图。
具体实施例方式
应用本发明的存储器的管脚数目为多组,具体数目根据存储器的设计规模来确定。在实 施例以四组管脚为例,对本发明管脚重定义的存储器保护方法和系统的具体实施来进行说 明。
图1所示为本发明受保护存储器的系统结构图。存储器1由管脚重定义单元11和内部 单元12组成;内部单元12包含了管脚配置模块121,存储器1通过四个管脚PIN1、 PIN2、 PIN3和PIN4实现与外界的通信,他们分别被编号为;该四个管脚PIN1 、 PIN2、 PIN3和PIN4 分别通过四个双向信号端口 Dl、 D2、 D3和D4与管脚重定义单元11相连接;且四个信号 端口D1、 D2、 D3和D4所要映射的是与内部单元12连接的四个单向信号端口是I1, 12, 01和02,其中信号端口 II和12是内部单元12的输入数据信号端口,信号端口 01和02 是内部单元12的输出数据信号端口。
因此,管脚重定义单元11对信号端口 Dl、 D2、 D3和D4、信号端口 II、 12、 01和02 的映射关系进行配置就是对存储器的管脚PIN1、 PIN2、 PIN3和PIN4与内部单元12的信号 映射关系进行配置。
另外,图1中01_ENB和02—ENB分别是从信号端口 01和02输出数据的使能信号端 口,从Ol一ENB和02_ENB信号端口输出的使能信号分别控制信号端口 01和02的数据信 号输出。
内部单元12包含了一个管脚配置模块121,该管脚配置模块121可以被用户编程,用 户把管脚的定义模式以管脚配置信息的形式存储在管脚配置模块121中。在编程的过程中, 用户要对STATE1和STATE2这两个状态标识位进行设置,对存储器编程成功完成后,管脚 配置模块121就可以把用户定义的管脚配置信息发送到管脚重定义单元11中,管脚配置信 息控制管脚重定义单元11以用户定义的模式配置信号端口 Dl、 D2、 D3、 D4与信号端口 II, 12、 01、 02的映射关系;在配置成功完成后,存储器l才允许外界对其进行访问。
图2所示为管脚配置模块121的编程原理图。由于212管脚配置模块中存储了管脚的配 置信息,为了防止外界读取这些信息控制管脚,就要设置管脚配置模块只能被写数据而不能 被读数据,同时还要保证这些管脚配置信息在存储器重新启动后数据不被丢失,因此,管脚 配置模块121的存储介质应该是受保护的非易失性存储器。故本实施例是在一个受保护的非 易失性存储器210上实现的管脚配置模块121 。
非易失性存储器210被分配成多个存储区域,其中两个存储区域被分配并实现管脚配置模块121: —个是配置域212,用于配置管脚重定义单元ll,存储旧的管脚配置信息; 一个 是编程域211,用于用户编程,存储新的管脚配置信息。当用户把"编程开始"命令发送到存 储器1时,存储器1就会通过某种选择模式把用户将要发送的编程命令选择到编程域211;
用户开始对编程域211进行编程,当所有的编程命令被写入编程域211以后,用户把"编程 结束"命令发送到存储器1,存储器1就会结束编程域211的编程状态,对管脚配置模块121 编程结束,同时,存储器1把用户编程选择到其他的存储域或停止对存储器1编程。这时, 编程域211中存储了用户新定义的管脚配置信息,管脚配置模块121把新的管脚配置信息传 输到配置域212中以覆盖旧的管脚配置信息,完成了配置信息更新,这样,配置域212把用 户新定义的管脚配置信息发送到管脚重定义单元11中,控制管脚重定义单元11按照用户的 要求完成存储器1外部管脚和内部信号的重新映射。
在编程初始阶段用户检测管脚配置模块121中STATE1的状态,如果它的状态是 "UNLOCK",说明此模块没有被锁死,存储器1允许用户对此模块编程,否则不允许对此模 块编程。在编程的过程中,用户还要设置管脚配置模块中STATE1和STATE2这两个状态标 识位,在存储器1出厂的时候,STATE1和STATE2的状态分别为"UNLOCK"与"DEFAULT"。 如果用户以后还想再次对管脚配置模块121编程,那么设置STATEl状态为"UNLOCK",如 果用户对管脚配置模块121只这一次编程,以后都不会再编程,那么设置STATE1状态为 "LOCK";当管脚是默认配置的情况下,STATE2状态为"DEFAULT",在用户对管脚配置模 块121编程成功,存储器l的管脚被重新定义后,STATE2状态被设置为"CONFIG"。
在用户对管脚配置模块121编程成功后,管脚配置模块121存储了用户重新定义的管脚 配置信息,管脚配置模块121把管脚配置信息发送到管脚重定义单元11中,控制管脚重定 义单元按照用户的要求重新定义外部管脚。另外,管脚配置模块121的物理介质是受保护的 非易失性存储器,因此,尽管存储器掉电后,管脚配置模块中的管脚配置信息数据仍然不会 丢失。当此存储器再次上电启动时,内部单元12首先检测管脚配置模块中STATE2的状态, 如果STATE2状态为"DEFAULT",那么管脚配置模块121向管脚重定义单元输入默认的管 脚配置信息;如果STATE2状态为"CONFIG",那么管脚配置模块121向管脚重定义单元11 输入用户定义管脚的管脚配置信息。管脚重定义单元11在收到管脚配置模块121发送的管 脚配置信息后,它就以默认的或用户定义的模式来设定管脚与内部信号的映射关系。同时, 在管脚重定义单元121对管脚定义完成之前,存储器不允许外界对其进行访问,只有在管脚 定义成功完成后,外界才被允许访问存储器l。
如图3所示是管脚重定义单元11的功能示意图。管脚重定义单元11在管脚配置信息的 控制下对信号端口D1、 D2、 D3、 D4和信号端口I1、 12、 01、 02的映射关系进行配置实 线表示的是存储器默认模式下的映射关系,虚线表示的是用户可配置的映射关系,他们都是 一一对应的,故总共有16种映射关系可供用户选择配置。
图4是管脚重定义单元11的电路原理示意图。内部单元12中的管脚配置模块121用于 向管脚重定义单元11中的多路选择器发送管脚配置信息,控制多路选择器按照用户的定义 选择正确的输入或输出信号,完成管脚与内部信号的正确映射。存储器1的内部单元12用 于向管脚重定义单元ll发送输出数据信号,输出使能信号,同时从管脚重定义单元11接收输入数据信号。
管脚重定义单元ll内部包含用于选择输出数据信号的多路选择器431、 433、 435和 437;用于选择输出使能信号的多路选择器432、 434、 436和438;用于选择输入数据信号 的多路选择器439和440;所有的多路选择器都由管脚配置信息控制;用于隔离输出信号和 输入信号的缓冲器411、 412、 413、 414、 415、 416、 417、 418、 419、 420、 421、 422、 423 和424,其中缓冲器413、 416、 420、 423是带控制使能的三态缓冲器,用于控制输出数据 信号。
管脚重定义单元11开始工作时,其接收来自管脚配置模块121的管脚配置信息,该管 脚配置信息输入管脚重定义单元11中每个多路选择器的状态选择端,控制每个多路选择器 按照用户定义的映射关系选择正确的输入信号到多路选择器的输出端。信号端口D1、 D2、 D3和D4分别发送一个信号,每个信号被一个多路选择器选择输出后,再经过缓冲器412 或414到达信号端口 II或12。管脚重定义单元11中的信号端口 01和02输出的信号输入 到信号端口D1、 D2、 D3和D4之前,要经过缓冲器419或424。信号端口01和02分别发 送一个信号,每个信号被多路选择器431、 433、 435、 437其中的一个选择输出后,再经过 带有控制使能的三态缓冲器413、 416、 420、 423其中的一个到达信号端口D1、 D2、 D3或 D4。三态缓冲器413、 416、 420和423的控制使能信号分别来自四个多路选择器432、 434、 436和438,该四个多路选择器432、 434、 436和438的输入信号来自输出数据信号使能端 01_ENB和02_ENB,他们分别控制信号端口 01和02数据信号的输出。当信号端口 Ol 或02的一个数据信号被多路选择器选择输入到信号端口D1、 D2、 D3或D4时,此数据信 号相应的使能信号01—ENB或02—ENB也被多路选择器432、 434、 436或438选择输入到 数据映射端口之前的三态缓冲器413、 416、 420或423的控制使能端,控制三态缓冲器413、 416、 420或423的数据信号输出。这样,管脚重定义单元11就在管脚配置模块121的控制 下完成了管脚与内部信号的映射关系配置。
以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此,任何 熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应该 涵盖在本发明的保护范围之内,因此,本发明的保护范围应该以权利要求书的保护范围为准。
权利要求
1、一种管脚可重定义的存储器,该存储器具有与外部通信的多个管脚,其特征在于,包括具有管脚配置模块(121)的内部单元(12),该管脚配置模块(121)提供用户编程定义管脚并保存为不允许存储器外部用户访问的管脚配置信息;通过多个双向端口分别连接各个管脚、且通过与每个双向信号端口具有映射关系的多个单向信号端口与内部单元(12)进行数据通信的管脚重定义单元(11),其根据管脚配置模块(121)的管脚配置信息重新配置双向信号端口与单向信号端口的映射关系。
2、 根据权利要求1所述的管脚可重定义的存储器,其特征在于,所述管脚配置模块 (121)包括是否允许用户编程的第一状态标识位;决定管脚重定义单元(11)是否采用用户编程定义管脚的第二状态标识位;若用户对管脚配置模块(121)编程后设置不允许再次编程,则将第一状态标识位由 "UNCLOK"设置为"LOCK";若设置管脚重定义单元(11)采用用户编程定义管脚,则将第二状态标识位由 "DEFAULT"设置为"CONFIG"。
3、 根据权利要求1所述的管脚可重定义的存储器,其特征在于,所述管脚配置模块 (121)包括在受保护的非易失性存储器上分配编程域和配置域;编程域接收用户编程定义管脚的编程命令并存储为管脚配置信息,并于编程结束后将管脚配置信息更新存储至 配置域。
4、 根据权利要求3所述的管脚可重定义的存储器,其特征在于,所述非易失性存储 器是允许存储器外部用户写入数据而不允许读取数据。
5、 根据权利要求1所述的管脚可重定义的存储器,其特征在于,所述管脚重定义单 元(11)包括通过缓冲器连接在每个双向信号端口与每个单向信号端口之间,用于分别选择输入和输出数据信号的两个多路选择器;用于选择向所述缓冲器输出使能信号的多路选择器,其输出端连接在所述缓冲器的使能端;所述管脚配置信息输入管脚重定义单元(11)中每个多路选择器的状态选择端,控制 每个多路选择器按照用户定义的映射关系选择正确的输入信号到多路选择器的输出端。
6、 一种管脚可重定义的存储器保护方法,该存储器具有与外部通信的多个管脚,且 各个管脚分别连接多个双向端口,而多个双向信号端口与多个单向信号端口具有映射关系;其特征在于,包括用户通过管脚配置模块(121)编程定义管脚,将管脚定义信息保存为不允许存储器 外部用户访问的管脚配置信息;由管脚重定义单元(11)其根据管脚配置模块(121)的管脚配置信息重新配置双向信 号端口与单向信号端口的映射关系。
7、 根据权利要求6所述的管脚可重定义的存储器保护方法,其特征在于,还包括 若用户对管脚配置模块(121)编程后设置不允许再次编程,则将是否允许用户编程的第一状态标识位由"UNCLOK"设置为"LOCK";若设置管脚重定义单元(11)采用用户编程定义管脚,则将决定管脚重定义单元(11) 是否釆用用户编程定义管脚的第二状态标识位由"DEFAULT"设置为"CONFIG"。
8、 根据权利要求6所述的管脚可重定义的存储器保护方法,其特征在于,所述管脚 配置模块(121)包括在受保护的非易失性存储器上分配编程域和配置域;编程域接收 用户编程定义管脚的编程命令并存储为管脚配置信息,并于编程结束后将管脚配置信息更 新存储至配置域。
9、 根据权利要求6所述的管脚可重定义的存储器保护方法,其特征在于,在管脚重 定义单元(11)完成配置双向信号端口与单向信号端口的映射关系之前,存储器不允许外 界对其访问,只有在管脚重定义单元(11)成功完成配置后才允许外界对其访问。
10、 根据权利要求6所述的管脚可重定义的存储器保护方法,其特征在于,所述管脚 重定义单元(11)包括通过缓冲器连接在每个双向信号端口与每个单向信号端口之间, 用于分别选择输入和输出数据信号的两个多路选择器;用于选择向所述缓冲器输出使能信 号的多路选择器,其输出端连接在所述缓冲器的使能端;所述管脚配置信息输入管脚重定义单元(11)中每个多路选择器的状态选择端,控制 每个多路选择器按照用户定义的映射关系选择正确的输入信号到多路选择器的输出端。
全文摘要
本发明公开一种管脚可重定义的存储器及其保护方法。其中,该存储器包括具有与外部通信的多个管脚;具有管脚配置模块(121)的内部单元(12),该管脚配置模块(121)提供用户编程定义管脚并保存为不允许存储器外部用户访问的管脚配置信息;通过多个双向端口分别连接各个管脚、且通过与每个双向信号端口具有映射关系的多个单向信号端口与内部单元(12)进行数据通信的管脚重定义单元(11),其根据管脚配置模块(121)的管脚配置信息重新配置双向信号端口与单向信号端口的映射关系。本发明能够对存储器的外部管脚进行重新定义,使非法用户不能知道每个管脚所对应存储器内部信号的具体含义,从而保证存储器的内部信息安全。
文档编号G11C7/24GK101625889SQ20091010914
公开日2010年1月13日 申请日期2009年7月29日 优先权日2009年7月29日
发明者刘华预, 王良清, 马广威 申请人:深圳国微技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1