Security Solutions for FPGAs
Protect against Starbleed and other vulnerabilities
Reprogrammable integrated circuits such as FPGAs are increasingly being used for a wide range of secure computing and networking applications. However, security hacks such as Starbleed have shown how bitfile vulnerabilities can compromise the security of FPGAs. In this article, we look at why bitfile encryption is important, how it can be hacked and a new authentication solution that can improve FPGA security.
Common to all SRAM based devices from AMD and Intel is the need for a configuration bitfile to be loaded after power up. This is a critical point in the process of ensuring that the hardware device and code being loaded onto it is genuine and from an authorized source.
There are several reasons for encrypting the bitfile
- Intellectual property protection – prevent unauthorized access, reverse engineering and theft of proprietary code and methods.
- Security and confidentiality – block unauthorized modification of functions within the design.
- Licensing and royalty protection – prohibit unauthorized use and enforce licence agreements to protect revenue streams.
- Design differentiation – allow multiple features to be included in the design but selectively enable features based on licensing terms.
Bitstream encryption is one of multiple layers of protection that system designers need to consider when protecting their intellectual property. Others include key management, secure hardware storage (data at rest) and secure transmission (data in transit) and increasingly, also data in use.
Common Security Vulnerabilities
Threats and vulnerabilities are often referred to as the attack surface available to a malicious agent. Attack vectors affecting systems containing FPGAs include:
- Side channel attacks – the use of power consumption, electromagnetic radiation or timing to reveal some useful information that weakens security.
- Physical attacks –physically accessing the device, i.e., opening the device to probe and electrically or visually monitor nodes, fault injection or reverse engineering to extract sensitive information.
- Hardware Trojans – designs can be compromised by the insertion of hardware that introduces backdoors, vulnerabilities or unintended functionality into a design.
- Exploitation of design flaws – there may be unknown weaknesses that are discovered much later on in a product life cycle, allowing security vulnerabilities to be exploited
- Key interception– key security can be defeated through brute force attacks and data theft which can result in the entire encryption being bypassed. Hence keys must be kept secret at all times.
Compromised Bitstream Encryption
Bitfile encryption has long been the first line of defence for hardware. However, there are now fewer obstacles to producing fake and cloned hardware which may be completely indistinguishable from a genuine product. For example, “Starbleed”, the name given to an attack published by researchers at Germany’s Max Planck Institute, and acknowledged by AMD Xilinx to be un-patchable, affects all 6 and 7-series FPGAs.
The attack method can decrypt encrypted bitfiles in a matter of hours, using standard lab equipment accessing registers over the device’s JTAG port. It can even be used to produce an encrypted file from a manipulated source, masquerading as a legitimate bitfile.
The compromised security of the 6 and 7-series FPGA family devices has serious implications for many products that have already been shipped. The 7-series devices are widely used for a large range of products since introduction in 2010. AMD-Xilinx has announced its continued support for the 7-series device family at least until 2035 which means that companies do not need to redesign with newer devices due to obsolescence concerns. However, security concern remains a challenge now that bitstream encryption is compromised.
A Security Solution for FPGA
Chevin Technology has developed a secure authentication solution that offers a high degree of flexibility in systems built on FPGA or ASIC technology. The security it offers applies at a later stage in development, after the device has received its programmed content. It can be implemented within existing FPGA code, adding a layer of protection, without further changes to the FPGA. Therefore, authentication is useful as the next layer of defence, even if the bitstream encryption has been compromised. The FPGA IP authorization and authentication solution ensures that only the intended functionality is authorized to run, and only on authenticated hardware.
Authorization and authentication events take place continuously in the silicon logic gates during run-time, making it much harder to attack due to the imposed time constraints. However, it also gives the flexibility to change permissions during run-time and dynamically add or remove features.
The solution can be deployed under software control on FPGA reconfigurable logic or ASIC silicon gates to enable/disable functions dynamically. The Auth Server confirms each client’s authenticity and authorizes each function continuously while it is running, using a patent pending method that is both quick and secure. The solution makes sure that only the intended functions are running and that the function has not been tampered with.
The authorization and authentication solution occupies a small amount of FPGA resources and can be scaled to support a large number of reconfigurable functions simultaneously in each FPGA device.
FPGA security needs to be taken seriously. The impact of a successful attack can have far-reaching consequences. By adding Chevin Authenticate as an additional security layer you can ensure that only the intended and authorised functionality is able to run, and your security is not compromised.
The Chevin Authenticate security solution is available to license now from Chevin Technology, contact us for more information.