2015年3月27日 星期五

Microsemi offers FPGA with secure comms, and explains PKI

Microsemi PUF

Having a physically uncloneable function PUF on board allows a chip to make a public-private key and manage its own secure communications with no human intervention. This can be used for firmware update and data transfer. Microsemi’s PUF is based around a patch of RAM that powers-up, partially predictably, in a pattern controlled by random proces variations.



The internet-of-things concept – using IPv6 addressing, standard protocol stacks and standard wireless links to connect products together – simplifies design because it removes the need for proprietary interfaces.


It also means that remote-control of products can be extended as far as the internet extends – a blessing for anyone wishing to check the living room temperature from the train home from work, for example.


However, this also means that anyone else on the internet could also potentially check the thermostat, unlock the front door, turn on the gas cooker, or interfere with any other internet-of-thing device.


And these other people might not just be thieves or vandals – don’t underestimate the temptation amongst marketing folk to ‘leverage’ the IoT and big data processing techniques to learn a bit more about you, or the desire of some people to adjust their own gas meter reading.


Plus, there is reliability. Cars are increasingly going to have a single computer system for everything, including entertainment and body electronics, and no one wants an IoT egg timer in Singapore to accidentally turn off the brakes of a car in Slough.


Product designers need to be aware that security is not just optional but essential in IoT devices, and processor companies like ARM and MIPS are doing their best to provide suitable hardware and firmware, as well as bang the drum to get people to use it.


The latest company to offer security for IoT devices is FPGA firm Microsemi, which has announced a reference design with ‘certificate authority’ (see box) Escrypt.


Sitting at the robust end of IoT security, it is aimed, for example, at smart grid, medical, industrial, and automotive applications.


It uses powerful hardware security blocks (see later) that have been embedded within the firm’s SmartFusion2 and Igloo2 FPGAs for a couple of years, but not enabled for data security – built in because they normally protect intellectual property (IP) on the FPGAs and provide a secure IP update.


“A multi-layered approach to security, such as ‘public key infrastructure’ [PKI, see box], is more important than ever. The use of hardware-based security creates a more secure system than software-only solutions, and forms the root-of-trust for secure software systems,” said Microsemi. “The Microsemi and Escrypt CycurKeys cloud-based solution enables state-of-the-art service that allows customers to cost-effectively integrate PKI functionality into their systems without the costs, complexity, risks and distraction from their core business associated with building and hosting their own infrastructure.” said Microsemi.


All security solutions and cryptographic mechanisms require cryptographic ‘keys’ or ‘certificates’ (see box).


CycurKeys is a security server that manages cryptographic keys and certificates, especially designed and implemented for automotive (Escrypt is part of Etas, owned by Bosch), industrial and embedded applications, and cyber physical systems (interacting embedded systems with physical interaction – robotics and automatic car control, for example).


“CycurKeys addresses all the weaknesses associated with using traditional PKI solutions for machine-to-machine [M2M] applications by targeting devices, not users, and addressing long lifecycles as well as the devices’ lack of full-time connectivity to a server,” claimed Microsemi. “It offers all commonly used cryptographic schemes and offers all standardised cryptographic algorithms including RSA, ECC [elliptic curve cryptography], AES and SHA. It supports the full PKI life-cycle from generating digital certificates in a choice of formats, to maintaining updated keys, and finally to certificate revocation.”


In the reference design, a user key pair (see box) is generated on SmartFusion2 FPGAs using the built-in hardware true random number generator (TRNG) and ECC engine with the secret key, which never leaves the chip, protected by the FPGA’s ‘physically uncloneable function (PUF, see optional figure).


The public key is securely exported, validated using credentials proving the FPGA’s and the key’s authenticity, and then digitally signed by the user’s root or intermediate certificate authority hosted in the secure Escrypt cloud server, “thus enrolling users’ systems into their own private PKI”, said Microsemi.


User PKI certificates enable positive identification of all authorised machines in the user’s virtual private network, and secure authenticated communications while rejecting imposter machines and forged messages.


Intended for system architects, program managers and security professionals, the reference design shows how to securely sign public keys.


What is on the FPGAs


In its data-security-enabled SmartFusion2 and Igloo2 FPGAs, Microsemi intends to provide secure hardware, design security and data security using a secure supply chain management system.


Secure hardware features include: proprietary differential power analysis (DPA) protection (there is an end-user DPA license), a true random number generator (TRNG), a physically uncloneable function (PUF), a DPA-protected elliptic curve cryptography (ECC) accelerator, and an integrated X.509 (ITU-T standard) device certificate.


There are also built-in tamper detectors and active tamper responses, including US National Security Agency (NSA)-approved ‘zeroization’ – the automatic deletion of critical numbers, as well as US NIST (National Institute of Science and Technology)-certified hardware implementations of AES-256, SHA-256, HMAC-SHA-256, ECCDH-P384 and a AES-CTR-based 256bit ‘deterministic random bit generator’ (DRBG).








Why PKI?

Encryption is all about getting information from one place to another without it being understood or corrupted by anyone who isn’t supposed to understand or corrupt it.


On digital data, encryption is done by mathematical functions that are customised for particular Sender-Receiver pairs by numbers called ‘keys’.


Microsemi private key Symmetrical keys


If both the Sender and Recipient of a message have access to the same secret key, then the Sender can encrypt their message with the key and the Recipient can decypt it with the same key (see diagram 25mar15 Microsemi private key). No one in the middle can read the message without a lot of work.


According to Microsemi marketing director Tim Moran, symmetrical key schemes still underlie the transfer of data in most secure communications systems, including AES, DES, and all the schemes further down this article, as they are not too computationally-arduous and are therefore fairly fast to execute.


What follows is all about getting the secret unlocking key from the Sender to the Recipient without them actually meeting up and exchanging a scrap of paper with numbers on.


Microsemi public key Asymmetric keys


Some very clever people discovered that there are mathematical functions that have two key numbers. One, the ‘public key’ encrypts the information easily, but cannot be used to decrypt it without a giant amount of effort, and another, the ‘private key’, that will easily decrypt the information.


This is the first part of ‘public key infrastructure (PKI).


To transfer the secret key for unlocking the data, the Sender encrypts the secret key with the Recipient’s public key – which can be published on a website or in a file on the internet somewhere – and sends it to the Recipient, who decrypts it with their private key. Now the Recipient has the Sender’s secret key and can decrypt the data part of the message.


Often, the secret key is a temporary one, used for one message only.


Why not encrypt all of the data using the public key?


According to Moran, you could, but public/private key encryption is far more computationally intensive that symmetrical key encryption, and therefore slow.


This is a great scheme, but it is vulnerable to ‘man-in-the-middle’ attacks.


Microsemi man in middle Man-in-the-middle


Assume an evil doer with his own public key, generally called man-in-the-middle (MitM), can sneakily get between the Sender and the Recipient (See diagram ’25mar15 Microsemi man in middle’).


If the MitM can get the Sender to believe that the MitM’s public key is the Recipient’s public key, then MitM can decode the secret key and get access to the data .


Not only that, but the MitM can get the Recipient’s freely-available public key, re-encrypt the sneakily decrypted secret key with the Recipients public key, and send it on to the intended Recipient – still following all this?


Done quickly enough, the Recipient will never know the message was intercepted, not whether or not the MitM corrupted the original data.


Microsemi signed Certification authority


Foiling the MitM requires a trusted third party, called a ‘certification authority’ (see diagram ’25mar15 Microsemi signed’). VeriSign, part of Symantec, is a well-known certification authority, and Escrypt is a certification authority for machine-to-machine communications.


The certification authority has a private/public key pair, but in this case the private key encrypts and the public key decrypts.


The certification authority certifies (or ‘signs’) the Recipient’s public key by encrypting it with the certification authority’s private key.


In use, the Recipient sends the Sender the Recipient’s certified public key.


The Sender then picks up the freely-available certification authority’s public key and uses it to decrypt the Recipient’s certified public key – yielding the Recipient’s actual public key.


This can be compared with the freely-available web version of the Recipient’s public key. If they match, it is the Recipient’s genuine public key and can be used.


For this to work, the certification authority has to be famous – so that all potential Senders know exactly where to get the certification authority public key, and the certification authority has to have a very close relationship with all potential Recipients using its services.


The rest of PKI is concerned with establishing the trusted bond between certification authorities and potential Receivers.








from News http://ift.tt/1MbOBaU

via Yuichun

沒有留言:

張貼留言