消费者希望能够随时随地享有视频所带来的便利,但是如此广泛的视频需求产生了大量不同的流式视频压缩标准,以满足对不同屏幕尺寸分辨率以及高带宽的要求。
图 1.典型的数字视频应用
FPGA提供灵活的解决方案
多年来,低成本FPGA器件已经成为机顶盒和视频网关的关键器件,可提供视频增强、丢失像素替换、视频转换、产品灵活性以及产品差异等功能。此外,这些器件还允许生产商方便地支持不同的技术和协议,如图2所示。
图 2.FPGA可以支持的不同技术和协议
硬件安全问题
视频源提供商的担心已经不仅局限于视频流本身的安全性,而是已经扩展到接收硬件的安全性。有些视频源提供商正在设法将其许可和视频流限定范围定为能够提供安全视频接收机的系统。这需要很多企业寻求减少支持的数量并提高器件级的安全性,以进一步提高总体设计的安全水平。可编程逻辑器件生产商赛灵思公司提供的FPGA平台则可解决这一问题。该平台的DeviceDNA技术可提供支持多种解密算法的能力和更高的器件级安全性。
DeviceDNA允许设备生产商将一个的非易失工厂序列号直接写入到FPGA器件中。每个器件的ID都不同,因此可以将设计绑定到特定的FPGA器件中。DeviceDNA可以作为接收设备的独特序列号,一个的许可代码,或者与用户定义的写在FPGA构造中的认证算法配合使用,从而将特定的设计与特定FPGA器件紧密绑定在一起。如果某些人试图克隆或拷贝认证过的设计,或者将位流写入另一片不同的FPGA器件,那么由于器件的ID号码变化,设计就不会通过认证。DeviceDNA是一个57位长的序列号,可以通过器件内部的逻辑构造读取。
DeviceDNA与用户定义认证算法紧密结合能够以合理的系统成本实现所需要的安全度。在采用认证算法的方法中,安全性的关键是算法本身。在本方法中,安全过程中必须有某些部分要保密,在本案例中则是用户定义的算法本身。由于算法在PPGA逻辑构造中实现,因此成为FPGA数百万配置位中的少数位。除非知道这些位如何组合在一起,或者知道算法本身,否则参于任何试图拷贝设计的人来说,看起来都仅仅是一堆数字。
用户定义的算法可以如系统所需要的一样简单或复杂 - 例如:可以是简单的哈希算法,或者更为复杂的三次DES、AES64、128或256位,甚至是完全定制的算法。同时还可以将用户定义的认证算法集成到接收器的认证流程内部。这样可以进一步将接收单元与视频流系统、设计与特定的接收单元捆绑在一起,从而进一步提高抵抗克隆的安全能力。此外,算法可以改变以支持不同的视频解密协议配置,甚至在不同型号或不同代产品间采用不同的算法,从而进一步保证安全性。
安全性提高对生产的影响
硬件安全性问题同样适用于生产流程,特别是板级测试和验证。因此,设计中经常将JTAG功能移除,因为JTAG功能易使设计导致反向工程。许多企业都采用JTAG来缩短测试时间并提高测量和验证流程中的系统测试覆盖范围。然而,没有JTAG,就需要更多的测试,特别是系统级测试来保证一定的测试覆盖范围。不使用JTAG技术会提高生产成本,并终影响到系统总成本。
JTAG的问题在于INTEST命令,用于检查设计的内部逻辑功能。反向工程时,这一命令可用来判断设计的功能。图3给出了一个简单的例子,其中数据移入寄存器,执行INTEST命令,这样数据会在时钟作用下移入逻辑构造,进入下一寄存器,结果可以被读出。由于可将总体设计的复杂度缩小到更小的逻辑模块,因此这一命令可使反向工程的工作更容易。
图 3.INTEST命令方便了反向工程
图中句子:绕过关键逻辑阻断、中止关键功能
图 4.Xilinx BSCAN_SPARTAN3A宏模块可帮助防止反向工程