We all know about the expected IoT projections: millions of services, billions of users, trillions of devices and quadrillions of dollars, it could go on and on! Well… the hard truth is that if we don’t work hard to get there, it might actually never happen. When I say “work hard”, I truly mean that we need to address the main issues that could prevent IoT to become universal: security, scalability and cost. Tackling these issues are the responsibility of the whole industry – Arm believes we have a role to play to help our partners, and the whole industry to tackle these challenges. Today I want to talk about the first tangible step in this journey, which takes the form of a small black 7mm square.
There is a lot of money to be made and lost with security in mind; research shows that the cost of a data breach in large companies can reach up to 10 million dollars (source). The 10 million dollar figure covers the cost of investigation, legal fees, reputation damage and vanished business. Of course, if a security breach affects products, the bill can certainly go much higher with product recalls, repair, upgrades and brand equity loss. Regardless of all of this, unsecure IoT devices are still being deployed; being connected with internal networks and critical business applications. With unsecure devices in the industry, we can expect more and more horror stories to be reaching the front pages of newspapers.
As a key player in the electronics industry, Arm is encouraging all others to join an initiative to bring security even in the smallest devices. We started with the Arm Security Manifesto (a call for the industry to take a security pledge) and continued with the launch of the Arm Platform Security Architecture (PSA) in October 2017. This program aims to supply a common framework for developers creating connected devices, by providing a range of threat models and recommendations, plus specifications for hardware and software for IoT devices. Numerous partners of the IoT chain, from the semiconductor manufacturers all the way to the cloud providers, have announced their support of the initiative and many are actively participating in the effort.
Giving recommendations is certainly a good start, but the best way to help partners implement a new level of security is to give them the tools to do it efficiently. The latest Arm Cortex-M23 and Cortex-M33 processors contain TrustZone technology and are a great start on the way to a more secure system. To speed-up and reduce the risk of your IoT design, Arm also have a range of System Design Kits (like the SDK-200), which combine the processors with system IP, into a pre-verified subsystem.
However, it doesn't stop there! Arm has taken another leap in the promotion of security in IoT systems: creating a test chip to demonstrate a reference platform for the aforementioned PSA. The test chip, which we have named Arm Musca-A1, can be loaned to partners at no cost, allowing you to get a head start in creating secure software following the PSA principles! Later this year, Arm is also releasing an open-source software layer that can be integrated in all IoT applications: Trusted Firmware for Cortex-M (TF-M).
Fig.1 The Arm Musca-A1 test chip and Arm Musca-A1 test chip board
Creating systems that work for IoT also require the ability to scale - it is not sufficient to produce billions of identical all-purpose chips. Instead we need to make sure that very efficient diversified SoCs for each class of application can be created, connected, managed, integrated in a consistent environment. This means that we have to manage simultaneously diversity and a high level of consistency, if not compatibility. It's also important to remember that we can't redesign everything from scratch for each new application - there are simply not enough designers in the World to achieve this with a trillion of diversified IoT devices.
This means that designers need the ability to reuse hardware and software elements, but this also requires collaboration on the definition of common best practices. This is an important part of our efforts around PSA - we hope that the best practice guidance, paired with a growing community of developers and the benefits of open-source initiatives.
Arm is also building and deploying cloud services, that complement end devices and can serve as the foundation layers for cloud-based applications. These services focus on the "hard" problems that need fixing for web developers, due to the fact that IoT devices are not like traditional devices connected to the Internet (because of their power limitations, security constraints, lack of human interaction and supervision, lack of continuous connectivity, low bandwidth and high latency, amongst many other factors).
The Musca test chip program has been designed to support these activities - with developers already working on adaptation of existing systems and starting to participate in the efforts around TF-M. This is one of the main strengths of the Arm ecosystem: each company participating in this ecosystem reinforces the benefits of being part of the "club" for all other participants.
IoT devices have a key impact on the total cost of an IoT solution: I'm not just referring to cost of purchasing the devices, but also the cost of maintenance (including battery replacements, security management and replacement due to failing devices). Many of these factors can be influenced at design time, and this is one area of focus for Arm.
Fig.2 Some of the functions of a device to consider when creating a SoC
As shown in the diagram above, integrating most of the functions of a device into a single system on chip (SoC) is certainly a way to reduce many sources of cost. If we take infrastructure monitoring as an example, you can just imagine the cost involved in changing a battery on a very remote IoT node, which is 40 km away from the next inhabited area - tiny changes may have huge consequences.
The Musca test chip demonstrates how this integration is made possible, helping to reduce another major cost - the cost of designing the product in the first place! One of the main tasks of a design team is to assemble various blocks of IP and make sure they function correctly (and securely) together. The Musca test chip is based on pre-integrated IP blocks, and can also serve as a reference design, demonstrating how to expand around the pre-integrated subsystems, helping the integration of the complete system. The assembly effort went beyond just Arm IP, working with Cadence who provided the interface IP that has been pre-integrated into the chip and TSMC. Having several partners participating in the integration of a solution is a great way to help SoC design teams, as you lower the design risk and help pave the way to successful silicon.
Finally, we have to consider that software development and maintenance costs, are quickly becoming a major source of design overhead. The availability of a large software community and the availability of many proven development tools, RTOS and software frameworks are key to reducing these costs. Arm is also playing a great part in this and Musca is a platform on which TF-M is developed, and a version of Mbed OS will be available. Arm Mbed OS brings a comprehensive framework to build IoT devices and is a great way to quickly go from prototyping to deployment at scale.
As we have seen, Musca is at the heart of the latest developments in security, is a great demonstration of how IoT can scale - giving a blueprint for the creation of cost efficient IoT devices. We're incredibly happy that Musca can fulfil so many use cases and help an industry to develop. The Musca program is also a demonstration of Arm working with its partners to make IoT a success, which will benefit everyone. It is a combination of efforts in all domains: system architecture, hardware, software and cloud services. Only collaboration can lead to successful product implementations that will share common features and be interoperable. This would also help in the development of IoT solutions outside of the current silos, and realize the potential benefits expected from IoT.
[CTAToken URL = "https://pages.arm.com/Musca-Board-Request.html?utm_source=Musca_Blog_Post&utm_medium=web&utm_campaign=Musca" target="_blank" text="Register for your Arm Musca Board" class ="green"]