横河YOKOGAWA F3YP14-0N
横河YOKOGAWA F3YP14-0N
横河YOKOGAWA F3YP14-0N
-------------------------------------------------------------------------------------------------------------------
在现代电子系统设计中,由于可编程逻辑器件的***性能、灵活方便的可升级特性,而得到了广泛的应用。由于大规模高密度可编程逻辑器件多采用SRAM工艺,要求每次上电,对FPGA器件进行重配置,这就使得可以通过监视配置的位数据流,进行***设计。因此,在关键、核心设备中,必须采用加密技术保护设计者的知识产权。
1 基于SRAM工艺FPGA的保密性问题
通常,采用SRAM工艺的FPGA芯片的的配置方法主要有三种:由计算机通过***电缆配置、用专用配置芯片(如Altera公司的EPCX系列芯片)配置、采用存储器加微控制器的方法配置。***种方法适合调试设计时要用,第二种和第三种在实际产品中使用较多。第二种方法的优点在于外围电路非常简单,体积较小,适用于不需要频繁升级的产品;第三种方法的优点在于成本较低,升级性能好。
以上几种方法在系统加电时,都需要将配置的比特流数据按照确定的时序写入SRAM工艺的FPGA。因此,采用一定的电路对配置FPGA的数据引脚进行采样,即可得到配置数据流信息。利用记录下来的配置数据可对另一块FPGA芯片进行配置,就实现了对FPGA内部设计电路的***。典型的***方法见图1。

电路***方法
2对SRAM工艺FPGA进行有效加密的方法
由于SRAM工艺的FPGA上电时的配置数据是可以被***的,因此单独的一块FPGA芯片是无法实现有效加密的。FPGA芯片供应商对位数据流的定义是不公开的,因此无法通过外部的配置数据流信息推测内部电路。也就是说,通过对FPGA配置引脚的数据进行采样可得到配置信息。但也不能知道内部电路结构。如果在配置完成后使FPGA处于非工作状态,利用另外一块保密性较强的CPU产生密码验证信息与FPGA进行通信,仅在验证成功的情况下使能FPGA正常工作,则能有效地对设计进行加密。具体电路结构见图2。

电路结构
系统加电时,由单片机对SRAM工艺的FPGA进行配置。配置完成时,FPGA内部功能块的使能端为低,不能正常工作。此时,单片机判断到配置完成后,将ASET信号置为高电平,使能FPGA内的伪码发生电路工作;同时,单片机产生一个伪码验证信息,在FPGA中将两路伪码进行比较,两者完全匹配时,FPGA内部电路正常工作,否则不能正常工作。加密电路主要利用了配置完成后处于空闲状态的单片机和FPGA内部分逻辑单元,没有增加硬件成本。
由上述讨论可知,系统的加密能力主要由CPU的加密能力决定。这就要求CPU的加密算法要足够复杂,使得对验证信息的捕获与识别足够困难。***常见的加密算法就是产生两个伪随机序列发生器:一个位于SRAM工艺的FPGA内;另一个位于CPU内。当两者匹配时,通过验斑点。对PN码有两点要求:一方面,要求伪随机序列的长度足够长,使得要捕获整个序列不太可能;另一方面,伪随机序列的线性复杂度要足够高,使推测伪随机序列的结构不易实现。
通常采用的伪随机码发生器的反馈电路如图3所示。实际中,可采用级数较高的线性反馈移位寄存器来产生伪随机码。如采用40级线性移位寄存器产生的***大序列的周期为2?40=10?12。若将所有伪随机码截获并存储,就需要1000Gb的存储空间;若码速率为50Kbps,捕获时间将长达5555小时;当增加移位寄存器的级数时,所需的存储空间和捕获时间都会呈指数增长,以至于难以实现。采用较为简单的线性反馈电路被推测出反馈结构的可能性较大,因此实际的系统中,除了级数要较多之外,往往通过对多个线性移位寄存器产生的伪码进行特定运算产生长码,以增加所产生伪码的线性复杂度。
SD301 0608830194 Bosch Rexroth
51402755-100 Honeywell
51401583-100
51305348-100
51196655-100
51401635-150
51304754-150
51304441-175
Jumo 181-000-23 000
Johnson Metasys DX-9100-8154
AMT ISA96 P7 106
ICP WS-855AW ACE-832A
InoNet IPCr-M6CD
InoNet IPC-M6 566C
Indu-Sol IP20 010570
INDRAMAT LE5-024
INDRAMAT TVM-1.2-50W1-220V
INDRAMAT TDM2.1-030-300-W1-220
INDRAMAT TDM1.2-100-300-W1-000
LAUER VPC95c 486P
Lauer 830-1
Lauer VPC95e
Lambda LNS-Z-15
LABOD 2-B6 4Q GN 3 DZ 380 400-75-4Q 75
Kuka 69-334-040
Kuka Art.-Nr 69-327-921
Kollmorgen 7201-CAN
KNICK 71-2-5
KNICK 820 S1 4.
Knick 803R
KNICK 75X-2
Klckner PKZM1-24
Klckner PKZM1-16
Klckner AMX2-230-6-400
Kleinwchter WST100 WST 100
Klaschka MSZR - Z1.03
KISTLER 1911ASP
Kessler DMQ 132.AK.4.AFB
KEB 15.F5.GBE-YMOD
ABB AF145-30-11-72
ABB 3BSE040360R41
ABB S271-K16
ABB S283UX-K3
ABB A40S-84C
ABB A40S-84C
ABB S271 K3A 240/415V
ABB S282-K1
ABB OS30ACC12P
ABB S3N
ABB ASC501-015-4-00?P2
ABB CBK-TM3 3-POS
ABB CBK-3SRLIC
ABB ACS601-0016-4-0?00B1200800
ABB 1SFA663003R1060
ABB 1SFA663003R1060
ABB INNPM01
ABB 1SNA037902R1100
ABB 58031844
Camtek SA***COC00
ABB ESB-42010L
ABB VOY-12
ABB UXAB727131R103
ABB S1N015TL
ABB S503-C20-UA110V?AC
ABB ACS500
ABB S3N020TW-2
ABB K1600S
ABB CA7-22M
ABB S201 -B10
ABB 3HAB-880201/2B
ABB OESA-CF30J6SW
ABB 4640/500AM
AB 1326AB-B515-GS2?K5L
ABB OETL-NF175PABB
ABB OESA-F100JT6A
ABB SK824101-AF
ABB ZLS189BB
ABB MS116
ABB SACE S3 ISOMAX
ABB MF719626
ABB T3N200TM
ABB SR926380
AB 1326AB-B430G-M2?L
ABB S283-K16
ABB 58943410E
ABB TBL120ALD
ABB KC31E-01
ABB A260-30-22-84
ABB VBC6-30-10
ABB EHW250W
ABB S282 Z3A
ABB TU837V1
ABB S274K1
ABB ACS-BRK
ABB 3HAA1001-317
ABB CBK-3MKIR
ABB 12-220B
ABB ESB-43015L
ABB K4TER
ABB 48990001-FE/2 DSSR-115
ABB ZA16-84
ABB DSQC 230
ABB CBK-2BSL 2-POS
ABB CBK-S2KS120
ABB 6216BZ10000
ABB 202-506-01
ABB 6205BZ10000
ABB CBK-2BMKIC
ABB 6014BZ10000
ABB 6203BZ10000
ABB 6014BZ10000
ABB 6204BZ10100
ABB REV-EH210-120V
ABB HPT-T200
ABB A9-30-10
ABB S272
ABB RHC931
ABB 57288001
ABB 6228BZ10000D
ABB 4925717-01
ABB 492838402
ABB 6009BZ10000
ABB CP-24/20A
ABB S271
ABB A12-30-01
AB 1326AB-B410G-21
ABB YB161102-BV
ABB E21092
ABB UC86-8CH
ABB FDC86-cont
ABB 73-297-900
ABB VIZ-75
ABB 5STP-1842L0010
ABB EHDBCK360-2
ABB EHW160C-1L11
ABB AF580-30
ABB CBK-2BMLIC
ABB KC631-Y
ABB 480V/6V
ABB A300W-20-22
ABB FJ1003-3PB8BNV
ABB f364-63/0.03
GE 453AC2ABB
ABB 57086785
AB KZ800
ABB ACS401600615
ABB S1N090TL
ABB CBK-M2BML
ABB EH175C-1
ABB VBC7-30-10
ABB, A26-30-01
ABB 3E031709
ABB 492894301 200-RACN
ABB OESA-CF30J65W
ABB 6050NA10424
ABB G00600A00
ABB ACS601-0020-6-0?00B1200901
ABB 940-128-102
ABB YB560103-CD/23
AB 1326AB-B530E-21
AB 1326AB-B420-ES2?K4L
ABB ACS550-01-023A-?4
ABB ACH550-UH-059A-?4
AB 1326AB-B720F-21
AB 1326AB-B720F-21
