GE IC693ALG392、IC693ALG223
在现代电子系统设计中,由于可编程逻辑器件的***性能、灵活方便的可升级特性,而得到了广泛的应用。由于大规模高密度可编程逻辑器件多采用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小时;当增加移位寄存器的级数时,所需的存储空间和捕获时间都会呈指数增长,以至于难以实现。采用较为简单的线性反馈电路被推测出反馈结构的可能性较大,因此实际的系统中,除了级数要较多之外,往往通过对多个线性移位寄存器产生的伪码进行特定运算产生长码,以增加所产生伪码的线性复杂度。

ABB DSQC 201 YB560103-AB
ABB DSQC 205 YB560103-AD
ABB DSQC 206 YB560103-AG
ABB DSQC 212 YB560103-AP
ABB DSQC 218 YB560103-***
ABB DSQC 220 YB560103-AZ
ABB DSQC 225 YB560103-BG
ABB DSQC 322 3HAB5960-1
ABB DSQC 602 3HAC12816-1
ABB DSQC 604 3HAC12928-1
ABB DSQC 540 3HAC14279-1
ABB DSQC 612 3HAC15639-1
ABB DSQC 253 3E042816
ABB DSQC 314A 3E033017
ABB DSQC 335 3HAB6182-1
ABB DSQC 110 YB161102-BA
ABB DSQC 544A 3HAC16917-3
ABB DSQC 564B 3HAC022104-002
ABB DSQC 314A 3E033017U
ABB DSQC 230 3E041456U
ABB DSQC 346A 6369901-428
ABB DSQC 355 6369901-476
ABB DSQC 529 6369901-578
ABB DSQC 142 YB161102-CR
ABB DSQC 346C 3HAB8101-7
ABB DSQC 235A YB560103-BY
ABB DSQC 211S 5FSE706364-2
ABB DSQC 258 6369901-271
ABB DSQC 324 3HAB5957-1
ABB DSQC 319 3HAB7060-1
ABB DSQC 603 3HAC12817-1
ABB DSQC 327A 3HAC17971-1
ABB DSQC 615 3HAC14944-1
ABB DSQC 352 3HNE00009-1
ABB DSQC 503 6369901-506
ABB DSQC 260 6369901-604
ABB DSQS 173 6369901-34
ABB DSQC 239 6369901-228
ABB DSQC 314C 6369901-336
ABB DSQC 266K 6369901-355
ABB DSQC 117 YB161102-BG
ABB DSQC 115 YB161105-BZ
ABB DSQC 544B 3HAC16917-4
ABB DSQC 562 3HAC17396-1
ABB DSQC 510 3HAC5577-1
ABB DSQC 507 3HAC7520-1
ABB DSQC 210 3E041246
ABB DSQC 210 3E041246U
ABB DSQC 236D 3E041927
ABB DSQC 378 3HNE00421-1
ABB DSQC 346G 6369901-358
ABB DSQC 103 YB161102-AD
ABB DSQC 336 6369901-414
ABB DSQC 345E 6369901-491
ABB DSQC 545A 6369901-534
ABB DSQC 626 6369901-638
ABB DSQC 314 CS-0037
ABB DSQC 344 6369901-364
ABB DSQC 249A 3HAA3563-AGA
ABB DSQC 518B 6369901-525
ABB DSQC 320 6369901-528
ABB DSQC 358E 6369901-536
ABB DSQC 321 6369901-329
ABB DSQC 346U 6369901-490
ABB DSQC 546A 6369901-535
ABB DSQC 361 3HAC0373-1
ABB DSQC 532A 3HAC18158-1
ABB DSQC 266G 3E042760
ABB DSQC 512 3HAC5579-1
ABB DSQC 362 3HNE00405-1
ABB DSQC 541 3HAC14363-1
ABB DSQC 564C 3HAC022104-006
ABB DSQC 510 3HAC5577-1
ABB DSQC 110 6369901-26
ABB DSQC 325 6369901-322
ABB DSQC 345C 6369901-357
ABB DSQC 361 6369901-453
ABB DSQC 509 6369901-526
ABB DSQC 365 6369901-529
ABB DSQC 227 YB560103-BK
ABB DSQC 228 YB560103-BL
ABB DSQC 328A 6369901-619
ABB DSQC 518A 6369901-524
ABB DSQC 215 YB560103-BF
ABB DSQC 236U 3HAA3563-ANA
ABB DSQC 236G 6369901-393
ABB DSQC 236T 6369901-394
ABB DSQC 350 6369901-431
ABB CCBM-X4-DSQC-X4 3E041579
ABB DSQC 522 6369901-507
ABB DSQC 564B 3HNA001368-001
ABB DSQC 358F 6369901-502
ABB DSQC 351 6369901-433
ABB CCBM-X2-X3-DSQC-X2-X3-3E041580
ABB DSQC 208A 6369901-101
ABB DSQC 212 6369901-105
ABB DSQC 140 6369901-115
ABB DSQC 227 6369901-116
ABB DSQC 138 6369901-139
ABB DSQC 220 6369901-162
ABB DSQC 139 6369901-173
ABB DSQC 225 6369901-214
ABB DSQC 103 6369901-23
ABB DSQC 232 6369901-233
ABB DSQC 114 6369901-28
ABB DSQC 115 6369901-29
ABB DSQC 301 6369901-309
ABB DSQC 266U 6369901-356
ABB DSQC 236U 6369901-429
ABB DSQC 200 6369901-98
ABB DSQC 201 6369901-99
ABB DSQC 127 YB161102-BYL
ABB DSQC 529 3HAC11819-1
ABB DSQC 608 3HAC12934-1
ABB DSQC 627 3HAC020466-001
ABB DSQC 358C 6369901-420
ABB DSQC 351 3HNE01786-1
ABB DSQC 564B 3HAC022104-002
ABB 3HAC022104-001
ABB DSQC 346B 6369901-452
ABB DSQC 544B 6369901-603
ABB DSQC 352 6369901-468
ABB DSQC 306 6369901-298
ABB DSQC 368 6369901-469
ABB DSQC 546A 3HAB8101-18
ABB DSQC 545A 3HAB8101-19
ABB DSQC 625 3HAC020464-001
ABB DSQC 637 3HAC023047-001
ABB DSQC 510 6369901-576
ABB DSQC 532A 6369901-607
ABB DSQC 174 6369901-35
ABB DSQC 345A 6369901-419
ABB DSQC 345B 6369901-462
ABB DSQC 345D 6369901-463
ABB DSQC 544A 6369901-602
ABB DSQC 332A 6369901-621
ABB DSQC 604 3HAC020597-001
ABB DSQC 631 3HAC021629-001
ABB DSQC 500 3HAC3616-1
ABB DSQC 327A 6369901-620
ABB 3E033864
ABB 3E041278
ABB DSQC 223 3HAB2125-1
ABB DSQC 374 3HAC3462-1
ABB DSQC 328 3HAC1948-1
ABB DSQC 239 3HAB2572-1
ABB DSQC 385 3HAC9565-1
ABB DSQC 355 3HAB7342-1
ABB 3E041250
ABB 3HAC14864-1
ABB 3HNM11971-1
ABB DSQC 243 3HAA0001-CP
ABB DSQC 243 6369901-210
ABB DSQC 202 3E041242U
ABB DSQC 509 3HAC5687-1
ABB 3E042760U
ABB 3HAC11530-1
ABB 3HNE00955-1
ABB 6369901-639
ABB DSQC 142 YB161600-CE
ABB 3E041776
ABB 3E041926
ABB DSQC 508 3HNE03277-1
ABB 3E041775
ABB DSQC 505/5063HNE04092-1
ABB DSQC 215 6369901-177
ABB DSQC 224 26390351-PF
ABB 3HAC020079-001
ABB DSQC 224 YB560105-DH
ABB 3HAC020633-001
ABB 3HAC022313-001
ABB 6369901-614
ABB 6369901-615
ABB 6369901-625
ABB 6369901-640
ABB DSQC 562 3HAC16014-1
ABB 3HNE8101-1
ABB 3E041460
ABB 6369901-617
ABB 6369901-383
ABB 6369901-454
ABB 6369901-467
ABB DSQC 231 YB560103-BP
ABB DSQC 624 3HAC020150-001
