Perhaps the big elephant in the room when it comes to the Internet of Things is security. The Internet of Things comprises of multiple processes (communication, data transmission, computation, networking, routing) in the IoT stack, all of which are prone to vulnerabilities.
The major security issues, at a high-level, facing the Internet of Things embedded devices are the following:
- Data encryption.
- Device authentication.
- Security design demands vs. compact design of an embedded device.
This is certainly not a comprehensive list but it presents a good starting point for discussion.
The Challenge: Security
When the Internet was introduced, hackers found a way in. When E-commerce took off, malicious parties found ways to profit illegally. With each technological milestone, hackers find a way to spoil the party. The risk of cyber- and physical-security is magnified with the Internet of Things embedded devices on the edge.
Security is only as good as the weakest link and often that weak link is on the edge. Most embedded devices lack sufficient security making it almost a child’s play to hack into the edge node to access the entire network.
Probable Solutions: Security Features
Security is complex. It’s never as simple as guarding a single point of entry. There are multiple ways of getting through cybersecurity and consequently there are multiple approaches to prevent unauthorized entry.
- Cipher Algorithms
Multiple cipher algorithms can be used as an effective way of encrypting data. These algorithms prevent leakage of data while communicating over distances. A metaphor for cipher algorithms is a key and lock mechanism: without the key, there’s no way to get past the lock. RSA (Rivest-Shamir-Adleman), ECC (Elliptic Curve Cryptographic), AES (Advanced Encryption Standard), and 3DES (Triple Data Encryption Standard) are the most popular cipher algorithms used for encryption.
Complex cryptographic algorithms ensure encryption complex and capable enough to secure data as it is transmitted.
2. Adaptable Communication Protocols
Adaptable communication protocol is a system of rules that allow two or more entities of a communications system to transmit information via any kind of variation of a physical quantity. These protocols may be implemented by hardware, software, or a combination of both. IPSec is an example of a protocol to strengthen cybersecurity to prevent unauthorized parties from penetrating the network.
3. Dedicated Processors or Digital Signal Processors (DSP)
DSP is a specialized microprocessor with its architecture optimized for the operational needs of digital signal processing. DSPs often use special memory architectures that are able to fetch multiple data or instructions at the same time.
The difference between a dedicated processor and a digital signal processor is that a dedicated processor executes the given instructions in accordance to the security primitives. Meanwhile, a digital signal processor executes an analogy using its multiplication-accumulation instruction for digital signal processing.
Additionally, a secure cryptoprocessor carries out cryptographic operations, embedded in a package with multiple physical security measures to provide a degree of tamper resistance. A secure cryptoprocessor acts as the keystone of a security subsystem, eliminating the need to protect the rest of the subsystem with physical security measures.
3.1 Dedicated Processors
A dedicated processor executes a single class of ciphering algorithm (symmetric or asymmetric). Symmetric processors need a specific set of instructions such as a logical operation, e.g., XOR-ADD or data permutation. An example of this is the CryptoManiac processor which provides a fast, flexible architecture for secure communication cryptographic workloads.
The physical design of a 0.25um processor has been proven capable of running the 3DES cipher algorithm 2.25 times faster than a 600 MHZ Alpha 2164 processor.
4. Secure Socket Layer (SSL)
Secure socket layer or SSL is meant to serve as a safe and secure method for establishing an encrypted link between a web server and a browser. The concepts and structure of SSL can be used for the provision of security in embedded devices.
This method closes the window for hackers to utilize open nodes. Using the secure socket layer, the links between devices and the networks are safer and secure against cyber threats.
5. System Specific Security Measures
Considering the diverse nature of embedded devices, system specific security measures are essential. Methods adopted for the security of a specific system (e.g smart cards) may not be effective for another system (e.g Smart phones or PDAs). This emphasizes the need for a clear cost and risk analysis to determine the levels of attack resistance that a system must support. After the recognition of the threat, adequate hardware and software solutions can be used to defend against it.
6. Secure Execution Environment
Security at physical or execution level demands the implementation of a secure execution environment (SEE). With the inclusion of SEE, any attacks originating from outside cannot alter the code and data being processed by it. To include SEE, the first necessity is a dedicated processor. The use of a dedicated processor for SEE comes with the benefit of isolation as well as offloading the main processor from executing security tasks.
Besides the dedicated processor, SEE also requires secure code and data memory (dedicated on-chip RAMs).
All code outside of SEE, needs to be integrity protected against modifications thereby ensuring protection from external malware attacks. For security, the external code must be encrypted using cryptographic algorithms.
Trusted Platform Module (TPM) by Atmel and Trustzone by ARM are good examples of the development in embedded platform security. TPM is a secure coprocessor that can be added to an existing architecture at the price that TPM itself does not solve any security problems. Rather, it serves as a foundation to build on. Whereas Trustzone comprises of a hardware enforced security environment. Basic functionality of Trustzone is that it separates two parallel execution worlds: non-secure execution environment and trusted/certifiable secure environment.
More to consider
The aforementioned security features represent a small subset of available means to protect Internet of Things embedded devices on the edge and the broader network. Other features to consider include secure boot, secure firmware updates, embedded firewalls, intrusion detection and security monitoring, and embedded security management.