Page 36

EETE JULAUG 2014

DATA ENCRYPTION & SECURITY Securing cryptographic assets for the Internet of Things By Michael Mehlberg This article surve ys various white box cryptography techniques for protecting critical cryptographic operations and data in an environment where white-box attacks are available. We will review the need for white-box cryptography, describe the techniques and technologies behind a typical white-box cryptography implementation, review how whitebox cryptography prevents attacks on critical cryptographic data and operations, and discuss important features in any white-box implementation. Finally, due to the expanding need for software cryptography combined with a rise in threats and attacks in the Internet of Things, we aim to conclude that white-box cryptography should be considered an essential technology for protecting cryptographic operations in any software systems. The need for white box cryptography The economic growth of the Internet of Things is unlike any other in recorded history. With estimates of over 200 billion connected devices by 2020, Internet-connected devices are influencing nearly every facet of modern life. The Internet of Things is impacting a multitude of markets from robotics to point-of-sale systems to mobile computing devices to 3D-printing. Embedded systems produced in these markets are helping to inform us, make autonomous decisions on our behalf, communicate with business associates and even manage our finances. Access to data, information systems, and digital content on these systems is commonly protected by encryption. To protect encrypted information, it is imperative that the cryptography key used to encrypt such data is never revealed. Standard cryptography implementations leave both the algorithm Fig. 1: The relationship between the white-box and classical key is non-trivial making it impractical to reconstruct the classical key using the tools available to a network-based attacker. and key vulnerable to tampering and reverse engineering: the single point of failure for any crypto system is the instance in which the key is used. This point is easily identifiable in modern systems using signature, pattern, and memory analysis. As an example, key extraction attacks against keys coded as literal data arrays in unprotected software can typically be successfully completed in a matter of hours. White box cryptography overview White-box cryptography is a well-described method for obfuscating a cryptographic algorithm such that the key material is sufficiently hidden from prying eyes. White-box cryptography aims to prevent critical information (such as a key) in cryptographic operations from being revealed to a would-be attacker with full access to the system. The name “white-box cryptography” is derived from what is known as a white-box attack. As opposed to black-box attacks in which an attacker does not have access to system internals, a white-box attack is one in which the attacker has full access to the system, its memory, its software routines, etc. One can safely assume, as modern systems become more open and mobile (laptops, tablets, phones), they become more accessible and therefore vulnerable to white-box attacks without appropriate security measures. A white-box algorithm is typically obscured such that access to or knowledge of the implementation doesn’t compromise the key material, even during cryptographic operations. A typical white-box implementation of a cryptographic standard encrypts, decrypts, signs, and verifies sensitive data in the same way as a classical implementation, yet it forces the attacker to reverse engineer complex mathematical transformations to obtain the secret key. Thus, white-box cryptography is useful wherever cryptography must be performed in a potentially vulnerable environment, where the crypto keys and/or plaintext data must be protected, or where an untrusted user could take control of the host system. Such use cases include compromise of networked systems, software delivered to business competitors, or commercially deployed software with private keys. Preventing attacks with white box cryptography One relevant example of a high-profile attack is the 2014 Heartbleed vulnerability that allowed an attacker to retrieve memory contents from vulnerable server-side software (namely OpenSSL) controlling security on a server. A properly constructed Heartbleed attack allows the memory contents to be retrieved Michael Mehlberg is Vice President of Sales & Product Management at Microsemi - www.microsemi.com 36 Electronic Engineering Times Europe July/August 2014 www.electronics-eetimes.com


EETE JULAUG 2014
To see the actual publication please follow the link above