CN103257937B - 一种保护fpga芯片内部配置存储器的方法和装置 - Google Patents

一种保护fpga芯片内部配置存储器的方法和装置 Download PDF

Info

Publication number
CN103257937B
CN103257937B CN201210034216.0A CN201210034216A CN103257937B CN 103257937 B CN103257937 B CN 103257937B CN 201210034216 A CN201210034216 A CN 201210034216A CN 103257937 B CN103257937 B CN 103257937B
Authority
CN
China
Prior art keywords
memorizer
configuration
chip
access
controller
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201210034216.0A
Other languages
English (en)
Other versions
CN103257937A (zh
Inventor
李大伟
朱建彰
王强
王潘丰
邹丽娜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Capital Microelectronics Beijing Technology Co Ltd
Original Assignee
Capital Microelectronics Beijing Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Capital Microelectronics Beijing Technology Co Ltd filed Critical Capital Microelectronics Beijing Technology Co Ltd
Priority to CN201210034216.0A priority Critical patent/CN103257937B/zh
Publication of CN103257937A publication Critical patent/CN103257937A/zh
Application granted granted Critical
Publication of CN103257937B publication Critical patent/CN103257937B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公开了一种保护现场可编程门阵列FPGA芯片中配置存储器中数据的方法、芯片以及装置,其中所述方法包括:用解密密码对来自外部的用于配置所述芯片的加密数据进行解密;接收外部输入的用户密码;当强制加密控制比特指示需要对所述访问码进行加密时,用所述解密密码对所述访问码进行加密,加密结果作为访问权限密码,否则,直接将访问码作为访问权限密码;将所述输入的用户密码与所述访问权限密码进行比较,当比较结果为一致时,打开用户对所述配置存储器的访问权限。

Description

一种保护FPGA芯片内部配置存储器的方法和装置
技术领域
本发明涉及存储器领域,具体而言,涉及一种保护可编程芯片内部存储器的方法和装置。
背景技术
可编程芯片具有很强的灵活性。随着技术的发展,其保密性能也显得越来越重要,尤其是FPGA(Field Programmable Gate Array,现场可编程门阵列)芯片对保密性要求越来越高。FPGA一般采用SRAM(StaticRAM,静态随机存取存储器)工艺,内部配置寄存器、存储器都不是非易失的,需要在外部接一块非易失存储器,芯片上电时从上述非易失存储器中读取配置数据以使芯片工作。
上述非易失存储器由于在芯片外部,其内容比较容易被非法复制,对此,FPGA芯片一般都采用AES(Advanced Encryption Standard,高级加密标准)等加密算法对上述FPGA芯片外部的非易失存储器中存储的数据进行加密。
但是,FPGA芯片上电后,其外部的上述非易失存储器中的数据经过芯片内部的解密模块解密会配置到芯片内部的各个配置寄存器/存储器中,此时上述配置寄存器/存储器里面的内容是明文,而明文是很容易被非法复制的。
通常通过JTAG(Joint Test Action Group,联合测试行为组织)接口以方便FPGA芯片测试以及调试。JTAG接口可以访问到芯片内部的几乎所有的配置寄存器/存储器,因此必须对该接口的访问权限进行控制以防止非法访问,同时又要保证在正常需要时能够通过该接口访问所述配置寄存器/存储器。
图1是现有技术中JTAG接口访问现场可编程门阵列芯片的场景图。在图1中,非易失存储器中存储的是配置FPGA芯片的比特流。比特流一般由帧来构成,每一帧数据可以用于配置FPGA芯片内部的某个寄存器或存储器。FPGA芯片通过内部的一个访问控制器的一个或多个比特来控制JTAG接口访问FPGA芯片内部寄存器/存储器的权限。FPGA芯片上电时,该访问控制器初始值为全0,默认JTAG接口可以访问芯片内部的寄存器/存储器。随后,芯片外部的非易失存储器通过其包含的一个帧来配置所述访问控制器。如果配置值为非0,则JTAG接口将无法访问FPGA内部的寄存器/存储器,而且,该访问控制器一旦被配置为非0之后,无法再改写成0,除非FPGA芯片断电,或者芯片的全局复位信号被触发。
但是当第三方通过特殊手段可以将上述非易失存储器中的配置访问控制器的帧删除或者改为0值,FPGA芯片上电之后,第三方通过JTAG接口就能够访问芯片内部寄存器/存储器中的数据了。
可见FPGA上电之初,JTAG接口访问芯片内部寄存器/存储器的权限默认是打开的,这不利于从一开始就对内部寄存器/存储器的保护;另外,当上述权限被限制后,该权限难以再被打开,这不便于合法用户通过JTAG接口访问芯片;由于控制访问权限的外部非易失存储器的数据容易被删除或者篡改,因此防止JTAG接口非法访问FPGA芯片内部的寄存器/存储器的力度不足。
发明内容
本发明提供了一种能解决以上问题的保护现场可编程门阵列FPGA芯片中配置存储器中数据的方法、芯片以及装置。
根据本发明的一个方面,提供了一种保护配置存储器中数据的现场可编程门阵列FPGA芯片,所述芯片包括:
配置存储器,用于存储所述芯片的配置数据;
访问码存储器,用于存储访问码;
配置控制器,用于接收外部输入的用户密码;
访问控制器,用于从访问码存储器中读取访问码,并将所述用户密码与所述访问码进行比较,当比较结果为一致时,通知所述配置控制器允许用户访问所述配置存储器。
根据本发明的另一方面,还提供了一种保护配置存储器中数据的现场可编程门阵列FPGA芯片,所述芯片包括:
配置存储器,用于存储所述芯片的配置数据;
解密密码存储器,用于存储解密密码;
访问码存储器,用于存储访问码;
配置控制器,用于接收外部输入的用户密码;
强制加密控制参数存储器,用于存储指示所述用户密码是否经过预先加密的参数;
访问控制器,用于从所述访问码存储器中读取访问码,当所述参数指示所述用户密码是经过预先加密时,用所述解密密码对所述用户密码进行解密,并将解密后的用户密码与所述访问码进行比较,当比较结果为一致时,通知所述配置控制器允许用户访问所述配置存储器。
根据本发明的再一方面,还提供了一种保护配置存储器中数据的装置,所述装置包括如前所述的现场可编程门阵列FPGA芯片,所述的现场可编程门阵列FPGA芯片中包含所述配置存储器,所述装置还包括:
JTAG接口,用于向所述芯片输入用户密码;和/或
非易失存储器,用于提供所述芯片的加密的配置数据。
附图说明
下面将参照附图对本发明的具体实施方案进行更详细的说明,在附图中:
图1是现有技术中JTAG接口访问现场可编程门阵列芯片的场景图;
图2是根据本发明一个实施例的保护现场可编程门阵列FPGA芯片内部存储器的装置的***框图;
图3是根据本发明一个优选实施例的保护现场可编程门阵列FPGA芯片内部存储器的装置的***框图;
图4是根据本发明一个实施例的保护现场可编程门阵列FPGA芯片内部存储器的方法流程图;
图5是根据本发明一个优选实施例的保护现场可编程门阵列FPGA芯片内部存储器的方法流程图;
图6是根据本发明另一个优选实施例的保护现场可编程门阵列FPGA芯片内部存储器的方法流程图。
具体实施方式
图2是根据本发明一个实施例的保护现场可编程门阵列FPGA芯片内部存储器的装置的***框图。如图2所示,***包括现场可编程门阵列芯片、JTAG接口218以及非易失存储器220。其中现场可编程门阵列芯片包含配置存储器202、配置控制器204、解密密码存储器210、访问控制器212,以及访问码存储器214。所述的配置控制器204包含JTAG控制器206和解密模块208。所述的访问码存储器214储存了由一个或多个比特组成的访问码。所述的访问码作为访问权限密码。
FPGA芯片上电时,芯片外部的非易失存储器220中存储的与配置芯片相关的加密数据经芯片内部的解密模块208解密配置到配置存储器202中。
FPGA芯片内部的访问控制器212用于提供控制参数,所述控制参数指示JTAG接口218访问FPGA芯片内部配置存储器202的权限。FPGA芯片上电时,所述控制参数的初始值为非0,JTAG控制器206获知该初始值后不会允许JTAG接口218访问芯片内部的配置存储器202。这使得从芯片上电开始就做到了对配置存储器202的保护。
上述JTAG控制器206获知控制参数初始值的方式可以是JTAG控制器206主动从访问控制器212中读取该初始值,或者是访问控制器212主动向JTAG控制器206汇报。
要说明的是,上述“FPGA芯片上电时,所述控制参数的初始值为非0,JTAG控制器206获知该初始值后不会允许JTAG接口218访问芯片内部的配置存储器202”只是一种优选方式,也可以让初始值为0对应所述的默认禁止,或者让初始值为一个预先设定的其他值来对应所述的默认禁止,在此不做限定。
上电之后,如果用户想经过JTAG接口218访问芯片内部的配置存储器202,需要先通过JTAG接口输入与访问码存储器214中存储的访问码相同的用户密码才能获得经JTAG接口218访问配置存储器202的权限。获得权限之后,用户可以对配置存储器202进行操作。所述操作是指读和/或写操作。具体而言是JTAG控制器206将用户输入的用户密码提供给访问控制器212,访问控制器212从访问码存储器214中读取访问码,访问控制器判断所述用户密码与所述访问码是否一致,当一致时,访问控制器212通知配置控制器204允许用户访问所述的配置存储器202。
上述“JTAG控制器206将用户输入的用户密码提供给访问控制器212”与“访问控制器212从访问码存储器214中读取访问码”之间的先后顺序不存在限制。
要说明的是,FPGA芯片上电之后,上述“芯片外部的非易失存储器220中存储的与配置芯片相关的加密数据经芯片内部的解密模块208解密配置到配置存储器202中”与“如果用户想经过JTAG接口218访问芯片内部的配置存储器202,需要先通过JTAG接口输入与访问码存储器214中存储的访问码相同的用户密码才能获得经JTAG接口218访问配置存储器202的权限”这两个流程之间不存在特定的顺序,即,这两个流程可以是并行进行,也可以是一先一后或者一后一先,在此不做限定。
另外,要说明的是解密模块使用的解密密码可以针对不同用户来进行预先定制。也就是说,分发给不同用户的现场可编程门阵列芯片所采用的解密密码可以不同。例如,所述的不同解密密码可以由用户自己提供。另外对于前述的访问码,也可以针对不同用户来进行预先定制。例如由用户指定,或者芯片制造商直接指定后告知用户,也可以由用户与芯片制造商共同商定,在此不做限定。上述措施在一定程度上加强了对现场可编程门阵列芯片的保护。
要特别说明的是,所述的访问控制器212可以是独立于配置控制器204的部件,也可以是包含于配置控制器204中与JTAG控制器206相独立的部件,也可以是包含于JTAG控制器206中的部件。甚至在芯片中可以不包含独立的所述的访问控制器212,而只是将所述的访问控制器212的全部功能全部归入所述的JTAG控制器或配置控制器。
还有,所述的解密密码存储器310也可以包含于所述的配置控制器中。
所述的解密密码存储于芯片内部解密密码存储器中是一个优选方式,其也可以直接存储在解密模块中,或者固化在芯片内部其它部件之中,在此不做限定。
所述的访问码存储于芯片内部访问码存储器是一个优选方式,其也可以直接存储在访问控制器中,或者固化在芯片内部其它部件之中,在此不做限定。
在本实施例中,只有当用户输入的用户密码和所述访问码一致时,才允许用户对配置存储器进行操作,拓宽了保护配置存储器方法的应用范围。
最后要说明的是,本实施例中,JTAG控制器以及解密模块可以作为配置控制器中独立的部件,也可以不作为独立部件,而是将所述JTAG控制器以及解密模块的功能归入所述的配置控制器。
图3是根据本发明一个优选实施例的保护现场可编程门阵列FPGA芯片内部存储器的装置的***框图。如图3所示,***包括现场可编程门阵列芯片、JTAG接口318以及非易失存储器320。其中现场可编程门阵列芯片包含配置存储器302、配置控制器304、解密密码存储器310、访问控制器312,访问码存储器314,以及强制加密控制参数存储模块316。所述的配置控制器304包含JTAG控制器306和解密模块308。所述的访问码存储器314储存了由一个或多个比特组成的访问码。所述强制加密控制参数存储模块316中存储了强制加密控制参数,该参数由一个或多个比特组成。
FPGA芯片上电时,芯片外部的非易失存储器320中存储的与配置芯片相关的加密数据经芯片内部的解密模块308解密配置到配置存储器302中。
FPGA芯片内部的访问控制器312用于提供控制参数,所述控制参数指示JTAG接口318访问FPGA芯片内部配置存储器302的权限。FPGA芯片上电时,所述控制参数的初始值为非0,JTAG控制器306获知该初始值后不会允许JTAG接口318访问芯片内部的配置存储器302。这使得从芯片上电开始就做到了对配置存储器302的保护。
上述JTAG控制器306获知控制参数初始值的方式可以是JTAG控制器306主动从访问控制器312中读取该初始值,或者是访问控制器312主动向JTAG控制器306汇报。
要说明的是,上述“FPGA芯片上电时,所述控制参数的初始值为非0,JTAG控制器306获知该初始值后不会允许JTAG接口318访问芯片内部的配置存储器302”只是一种优选方式,也可以让初始值为0对应所述的默认禁止,或者让初始值为一个预先设定的其他值来对应所述的默认禁止,在此不做限定。
FPGA芯片上电时,所述强制加密控制参数存储模块316中存储的强制加密控制参数初始值为1,配置控制器304获知该强制加密控制参数初始值后知道用户输入的用户密码是预先经过加密的,必须采用解密模块310中的解密密码对所述用户密码进行解密。
要说明的是,上述“FPGA芯片上电时,所述强制加密控制参数存储模块316中存储的强制加密控制参数初始值为1,配置控制器304获知该强制加密控制参数初始值后知道用户输入的用户密码是预先经过加密的,必须采用解密模块310中的解密密码对所述用户密码进行解密”只是一种优选方式,也可以让初始值为0或者为一个预先设定的其他值来对应所述的强制加密,在此不做限定。
判断解密后的用户密码与上述访问权一致时,JTAG接口318才能获得访问配置存储器302的权限。获得权限之后,用户可以对配置存储器302进行操作。所述操作是指读和/或写操作。
具体而言是JTAG控制器306将用户输入的用户密码提供给访问控制器312,访问控制器312分别从解密密码存储器310、访问码存储器314中获取解密密码、访问码,并采用所述解密密码对所述用户密码进行解密,访问控制器判断解密后的用户密码与所述访问码是否一致,当一致时,访问控制器312通知配置控制器304允许用户访问所述的配置存储器302。
另外,对于上述“访问控制器判断解密后的用户密码与所述访问码是否一致,比较结果一致时,才能获得访问配置存储器的权限”,一种替代方式是,将经解密模块310中的解密密码对访问码存储器314储存的由一个或多个比特组成的访问码加密之后形成的密码作为访问权限密码,只有当用户输入的用户密码与该访问权限密码一致时,才能获得访问配置存储器的权限。
在该替代方式中,FPGA芯片上电时,所述强制加密控制参数存储模块316中存储的强制加密控制参数初始值为1,配置控制器304获知该强制加密控制参数初始值后知道访问权限密码必须是经解密模块310中的解密密码对访问码存储器314储存的由一个或多个比特组成的访问码加密之后形成的密码。
要说明的是,上述“FPGA芯片上电时,所述强制加密控制参数存储模块316中存储的强制加密控制参数初始值为1,配置控制器304获知该强制加密控制参数初始值后知道访问权限密码必须是经解密模块310中的解密密码对访问码存储器314储存的由一个或多个比特组成的访问码加密之后形成的密码”只是一种优选方式,也可以让初始值为0或者为一个预先设定的其他值来对应所述的强制加密,在此不做限定。
要说明的是,FPGA芯片上电之后,上述“芯片外部的非易失存储器320中存储的与配置芯片相关的加密数据经芯片内部的解密模块308解密配置到配置存储器302中”与“判断解密后的用户密码与上述访问权一致时,JTAG接口318才能获得访问配置存储器302的权限”这两个流程之间不存在特定的顺序,即,这两个流程可以是并行进行,也可以是一先一后或者一后一先,在此不做限定。
另外,要说明的是解密模块使用的解密密码可以针对不同用户来进行预先定制。也就是说,分发给不同用户的现场可编程门阵列芯片所采用的解密密码可以不同。所述的不同解密密码可以由用户自己提供,也可以由芯片制造商直接指定后告知用户,也可以由用户与芯片制造商共同商定。上述措施在一定程度上加强了对现场可编程门阵列芯片的保护。
要特别说明的是,所述的访问控制器312可以是独立于配置控制器304的部件,也可以是包含于配置控制器304中与JTAG控制器306相独立的部件,也可以是包含于JTAG控制器306中的部件。甚至在芯片中可以不包含独立的所述的访问控制器312,而只是将所述的访问控制器312的全部功能全部归入所述的JTAG控制器306。
还有,所述的解密密码存储器310以及强制加密控制参数存储器316也可以包含于所述的配置控制器中。
所述的解密密码存储于芯片内部解密密码存储器中是一个优选方式,其也可以直接存储在解密模块中,或者固化在芯片内部其它部件之中,在此不做限定。
所述的访问码存储于芯片内部访问码存储器中是一个优选方式,其也可以直接存储在访问控制器中,或者固化在芯片内部其它部件之中,在此不做限定。
所述的强制加密控制参数存储于芯片内部强制加密控制参数存储器中是一个优选方式,其也可以直接存储在配置控制器中,或者固化在芯片内部其它部件之中,在此不做限定。
在本优选实施例中,将访问码经解密密码加密之后作为访问权限密码,只有当用户输入的用户密码与所述访问权限密码一致时,才允许用户对配置存储器进行操作。由此拓宽了保护配置存储器方法的应用范围。
最后要说明的是,本优选实施例中,JTAG控制器以及解密模块可以作为配置控制器中独立的部件,也可以不作为独立部件,而是将所述JTAG控制器以及解密模块的功能归入所述的配置控制器。
图4是根据本发明一个实施例的保护现场可编程门阵列FPGA芯片内部存储器的方法流程图。该方法包括以下步骤:S402,FPGA芯片上电,访问控制器212初始值为非0,默认禁止JTAG接口218访问芯片内的配置存储器202;S404,接收用户通过JTAG接口218输入用户密码,S406,将用户密码在访问控制器212中与访问码进行比较;S408,如果二者相同,打开JTAG接口218对芯片内配置存储器202的访问权限。
要说明的是,步骤402中,“访问控制器212初始值为非0,默认禁止JTAG接口218访问芯片内的配置存储器202”只是一种优选方式,也可以让初始值为0对应所述的默认禁止,或者让初始值为一个预先设定的其他值来对应所述的默认禁止,在此不做限定。
在本实施例中,将访问码预先存储在访问码存储器中。只有当用户输入的用户密码和预先存储的访问码一致时,才允许用户对配置存储器进行操作。所述操作是指读和/或写操作。由此提高了用户操作的灵活性,拓宽了保护配置存储器方法的应用范围。
图5是根据本发明一个优选实施例的保护现场可编程门阵列FPGA芯片内部存储器的方法流程图。该方法包括以下步骤:S502,FPGA芯片上电,访问控制器312初始值为非0,默认禁止JTAG接口318访问芯片内的配置存储器302;S504,接收用户通过JTAG接口318输入用户密码;S506,判断强制加密控制参数是否有效,如果是,进入S508,用解密密码对用户密码进行解密,解密后的用户密码作为比较对象;如果否,进入S510,直接将输入的用户密码作为比较对象;接下来,进入S512,将作为比较对象的用户密码在访问控制器312中与访问码进行比较,S514,如果二者相同,打开JTAG接口318对芯片内配置存储器302的访问权限。
要说明的是,步骤502中,“访问控制器312初始值为非0,默认禁止JTAG接口318访问芯片内的配置存储器302”只是一种优选方式,也可以让初始值为0对应所述的默认禁止,或者让初始值为一个预先设定的其他值来对应所述的默认禁止,在此不做限定。
另外,要说明的是,上述强制加密控制参数是否有效是指所述强制加密控制参数的值是否指示所述输入的用户密码是经过预先加密的。所述的强制加密控制参数由一个或多个比特组成,可以让所述参数的值为1时对应所述的有效,也可以让所述的参数值为0或者其他预先设定的值对应所述的有效,在此不做限定。
在本优选实施例中,只有当经过解密的用户密码与访问码一致时,才允许用户对配置存储器进行操作。所述操作是指读和/或写操作。由此提高了用户操作的灵活性,拓宽了保护配置存储器方法的应用范围。
图6是根据本发明另一个优选实施例的保护现场可编程门阵列FPGA芯片内部存储器的方法流程图。该方法包括以下步骤:S602,FPGA芯片上电,访问控制器312初始值为非0,默认禁止JTAG接口318访问芯片内的配置存储器302;S604,判断强制加密控制参数是否有效,如果是,进入S606,用解密密码对访问码进行加密,加密结果作为访问权限密码;如果否,进入S608,直接将访问码作为访问权限密码,接下来,进入S610,接收用户通过JTAG接口318输入用户密码,S612,将用户密码在访问控制器312中与访问权限密码行比较,S614,如果二者相同,打开JTAG接口318对芯片内配置存储器302的访问权限。
要说明的是,步骤602中,“访问控制器312初始值为非0,默认禁止JTAG接口318访问芯片内的配置存储器302”只是一种优选方式,也可以让初始值为0对应所述的默认禁止,或者让初始值为一个预先设定的其他值来对应所述的默认禁止,在此不做限定。
另外,要说明的是,上述强制加密控制参数是否有效是指所述强制加密控制参数的值是否指示将访问码经解密密码加密之后作为访问权限密码。所述的强制加密控制参数由一个或多个比特组成,可以让所述参数的值为1时对应所述的有效,也可以让所述的参数值为0或者其他预先设定的值对应所述的有效,在此不做限定。
在本优选实施例中,将访问码经解密密码加密之后作为访问权限密码预先存储在访问控制器中。只有当用户输入的用户密码与访问权限密码一致时,才允许用户对配置存储器进行操作。所述操作是指读和/或写操作。由此提高了用户操作的灵活性,拓宽了保护配置存储器方法的应用范围。
在上述所有实施例中,配置控制器都是一个核心部件,为此,作为一个例子,下面给出一种配置控制器的实施例。一般来说,可编程芯片的配置数据是以帧frame为单位的,一帧数据包括帧头、帧数据和帧尾,每一帧数据对应可编程芯片内部的一组寄存器,或者一组存储器。配置控制器从外部非易失存储器中读取配置数据进行分析,或者分析来自于JTAG等外部接口主动上报的配置数据,通过分析帧头来判断该帧数据对应那组寄存器/存储器,然后把帧数据部分的数据发送到所述寄存器/存储器。具体而言,可以将对应的芯片配置数据发送到配置存储器。
按照上述配置控制器的实施方式,可以构造一帧数据,其中帧头指向访问控制其中的一组寄存器,帧数据部分为想要输入的数据。在实际使用时,上述构造的一帧数据可以作为用户输入的用户密码。这样JTAG可以把该构造帧通过JTAG接口传送到访问控制器中的相应寄存器中,后续可用于与访问码的比较。
对于采用强制加密的方式,配置控制器解析帧数据时,会首先将帧数据送入解密模块中,然后把解密后的数据送入到指定的访问控制器中的寄存器/存储器中,后续可用于与访问码的比较。
进一步,作为一个例子,下面给出一种访问控制器的实施例。访问控制器中包含一组寄存器用于接收配置控制器解析/解密后的用户密码。访问控制器在上电时从访问码存储器中读取访问码。访问控制器将从访问码存储器中读取的访问码与配置控制器送来的用户密码进行比较,进而产生访问控制权限信号。
显而易见,在不偏离本发明的真实精神和范围的前提下,在此描述的本发明可以有许多变化。因此,所有对于本领域技术人员来说显而易见的改变,都应包括在本权利要求书所涵盖的范围之内。本发明所要求保护的范围仅由所述的权利要求书进行限定。

Claims (8)

1.一种保护配置存储器中数据的现场可编程门阵列FPGA芯片,其特征在于,所述芯片包括:
配置存储器,用于存储所述芯片的配置数据;
访问码存储器,用于存储访问码;
配置控制器,用于接收外部输入的用户密码;
访问控制器,用于从访问码存储器中读取访问码,并将所述用户密码与所述访问码进行比较,当比较结果为一致时,通知所述配置控制器允许用户访问所述配置存储器;
所述配置控制器包括:联合测试行为组织JTAG控制器,所述JTAG控制器通过外部JTAG接口接收外部输入的用户密码,以及根据所述访问控制器提供的控制参数指示所述外部JTAG接口访问所述配置存储器的访问权限;当所述访问控制器提供的控制参数为预设数值时,所述JTAG控制器禁止所述JTAG接口访问所述配置存储器;所述预设数值为所述控制参数的初始值。
2.根据权利要求1所述的芯片,其特征在于,所述访问控制器包含于所述配置控制器或JTAG控制器。
3.根据权利要求1-2之一所述的芯片,其特征在于,所述配置控制器包括:
解密模块,用于对来自外部非易失存储器的加密的配置数据进行解密并将解密数据提供给所述配置存储器。
4.一种保护配置存储器中数据的现场可编程门阵列FPGA芯片,其特征在于,所述芯片包括:
配置存储器,用于存储所述芯片的配置数据;
解密密码存储器,用于存储解密密码;
访问码存储器,用于存储访问码;
配置控制器用于接收外部输入的用户密码;
强制加密控制参数存储器,用于存储指示所述用户密码是否经过预先加密的参数;
访问控制器,用于从所述访问码存储器中读取访问码,当所述参数指示所述用户密码是经过预先加密时,用所述解密密码对所述用户密码进行解密,并将解密后的用户密码与所述访问码进行比较,当比较结果为一致时,通知所述配置控制器允许用户访问所述配置存储器;
所述配置控制器包括:联合测试行为组织JTAG控制器,所述JTAG控制器通过外部JTAG接口接收外部输入的用户密码,以及根据所述访问控制器提供的控制参数指示所述外部JTAG接口访问所述配置存储器的访问权限;当所述访问控制器提供的控制参数为预设数值时,所述JTAG控制器禁止所述JTAG接口访问所述配置存储器;所述预设数值为所述控制参数的初始值。
5.根据权利要求4所述的芯片,其特征在于,所述访问控制器包含于所述配置控制器或JTAG控制器。
6.根据权利要求4-5之一所述的芯片,其特征在于,所述配置控制器包括:
解密模块,用于对来自外部非易失存储器的加密的配置数据进行解密并将解密的配置数据提供给所述配置存储器。
7.一种保护配置存储器中数据的装置,所述装置包括如权利要求1-6之一的所述现场可编程门阵列FPGA芯片,所述的现场可编程门阵列FPGA芯片中包含所述配置存储器,其特征在于,所述装置还包括:
JTAG接口,用于向所述芯片输入用户密码。
8.如权利要求7的装置,其特征在于,所述装置还包括:
非易失存储器,用于提供所述芯片的加密的配置数据。
CN201210034216.0A 2012-02-15 2012-02-15 一种保护fpga芯片内部配置存储器的方法和装置 Active CN103257937B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210034216.0A CN103257937B (zh) 2012-02-15 2012-02-15 一种保护fpga芯片内部配置存储器的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210034216.0A CN103257937B (zh) 2012-02-15 2012-02-15 一种保护fpga芯片内部配置存储器的方法和装置

Publications (2)

Publication Number Publication Date
CN103257937A CN103257937A (zh) 2013-08-21
CN103257937B true CN103257937B (zh) 2016-09-14

Family

ID=48961867

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210034216.0A Active CN103257937B (zh) 2012-02-15 2012-02-15 一种保护fpga芯片内部配置存储器的方法和装置

Country Status (1)

Country Link
CN (1) CN103257937B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106933752A (zh) * 2017-03-09 2017-07-07 西安电子科技大学 一种sram型fpga的加密装置及方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105182221B (zh) * 2015-10-09 2017-12-22 天津国芯科技有限公司 一种jtag多路选择器及其在单芯片***中的连接方法
CN108228525B (zh) * 2016-12-13 2021-09-24 北京迪文科技有限公司 一种多核8051处理器soc的安全实现装置以及方法
FR3072195B1 (fr) * 2017-10-11 2019-10-18 Stmicroelectronics (Rousset) Sas Procede de gestion d'un retour de produit pour analyse et produit correspondant
CN111680000B (zh) * 2020-05-07 2023-08-18 中国科学院微电子研究所 现场可编程逻辑门阵列的配置***和方法
CN113641541A (zh) * 2021-07-27 2021-11-12 西安芯海微电子科技有限公司 芯片测试方法、装置、芯片及存储介质
CN113536351B (zh) * 2021-07-27 2023-01-20 中国电子科技集团公司第五十八研究所 一种基于flash型fpga的带永久加密的加密方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101330399A (zh) * 2007-06-19 2008-12-24 上海风格信息技术有限公司 嵌入式设备的升级方法
CN101958789A (zh) * 2010-09-17 2011-01-26 北京航空航天大学 一种通信链路中高速数据加/解密模块
CN102096783A (zh) * 2011-02-09 2011-06-15 浪潮电子信息产业股份有限公司 一种基于fpga的税控专用算法加密卡
US8099449B1 (en) * 2007-10-04 2012-01-17 Xilinx, Inc. Method of and circuit for generating a random number using a multiplier oscillation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101330399A (zh) * 2007-06-19 2008-12-24 上海风格信息技术有限公司 嵌入式设备的升级方法
US8099449B1 (en) * 2007-10-04 2012-01-17 Xilinx, Inc. Method of and circuit for generating a random number using a multiplier oscillation
CN101958789A (zh) * 2010-09-17 2011-01-26 北京航空航天大学 一种通信链路中高速数据加/解密模块
CN102096783A (zh) * 2011-02-09 2011-06-15 浪潮电子信息产业股份有限公司 一种基于fpga的税控专用算法加密卡

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106933752A (zh) * 2017-03-09 2017-07-07 西安电子科技大学 一种sram型fpga的加密装置及方法
CN106933752B (zh) * 2017-03-09 2019-10-08 西安电子科技大学 一种sram型fpga的加密装置及方法

Also Published As

Publication number Publication date
CN103257937A (zh) 2013-08-21

Similar Documents

Publication Publication Date Title
CN103257937B (zh) 一种保护fpga芯片内部配置存储器的方法和装置
US7334173B2 (en) Method and system for protecting processors from unauthorized debug access
CN104156642B (zh) 一种基于安全触控屏控制芯片的安全密码输入***和方法
CN101971186B (zh) 信息泄露防止装置和方法及其程序
US9906372B2 (en) Authentication devices, key generator devices, methods for controlling an authentication device, and methods for controlling a key generator
US8051345B2 (en) Method and apparatus for securing digital information on an integrated circuit during test operating modes
CN104025500A (zh) 使用在物理上不可克隆的函数的安全密钥存储
US9152822B2 (en) Method and apparatus for securing programming data of a programmable device
TW200935369A (en) Configurable asic-embedded cryptographic processing engine
US9305185B1 (en) Method and apparatus for securing programming data of a programmable device
TW201633207A (zh) 裝置金鑰保護
JP2007304847A (ja) メモリ装置
US8090108B2 (en) Secure debug interface and memory of a media security circuit and method
CN105656945B (zh) 一种工控主机安全存储验证方法及***
KR100972540B1 (ko) 라이프 사이클 단계들을 가진 보안 메모리 카드
KR102592286B1 (ko) 비밀 데이터의 보안 프로그래밍
CN106201352A (zh) 非易失性fpga片上数据流文件的保密***及解密方法
US10291402B2 (en) Method for cryptographically processing data
CN106933752A (zh) 一种sram型fpga的加密装置及方法
US8397079B2 (en) Method and apparatus for securing digital information on an integrated circuit read only memory during test operating modes
US20080104396A1 (en) Authentication Method
CN103870745B (zh) 电子设备和安全启动电子设备的方法
US20150324218A1 (en) Method for monitoring an electronic security module
CN106326781A (zh) 一种保护芯片测试模式的方法和装置
CN102426637A (zh) 一种嵌入式数据库加密存储方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
PP01 Preservation of patent right
PP01 Preservation of patent right

Effective date of registration: 20180601

Granted publication date: 20160914

PD01 Discharge of preservation of patent
PD01 Discharge of preservation of patent

Date of cancellation: 20210601

Granted publication date: 20160914