Sometimes the biggest engineering challenge is overcoming NIH. The dreaded “not invented here” syndrome has derailed many a project, cost untold millions, wasted months, and produced inferior products. NIH is like our own children: it’s hard not to fall in love and overlook the flaws.
Sometimes what we need is a whack on the head and someone to tell us, “This is not your core competence! Give it up and let an expert do it!” It’s tough love in the engineering lab.
Nowhere is this more evident than in the category of security. Ten years ago, most of us didn’t care about designing-in security measures. Now it’s a requirement. Yet very few hardware or software developers have any real expertise with security, nor do most of us have any interest in it, either. It’s a necessary evil, not an opportunity to innovate. It’s also a good way to look bad in front of your boss and your peers. If your homegrown security measures somehow work, nobody cares because success was expected. But if your product ever gets hacked, you’re the goat. It’s a lose-lose situation.
That’s why outsourced security companies exist. Companies like Sequitur Labs, which has long offered its EmSpark package of security measures for embedded and IoT devices. The twelve-person company toils away on security measures because they know nobody else wants to. Now, they’ve augmented their security software with cloud-based services.
The new EmPower service offers a package of features to remotely manage devices in the field. EmPower handles over-the-air firmware updates, protects sensitive intellectual property, manages keys and certificates, detects threats, and collects interesting data from your devices to monitor their health and welfare. It doesn’t even need the EmSpark software layer to work, though that helps.
Like EmSpark, EmPower runs on relatively low-end microprocessors from ARM’s Cortex-A range, including chips from NXP, STMicro, Microchip, and (surprisingly) nVidia. Nearly any CPU with ARM’s TrustZone is a potential target. But, unlike EmSpark, EmPower can also run on low-end MCUs that don’t have TrustZone. You won’t get all the same features that the two-product combination can deliver, but it’s better than nothing.
Sequitur Lab’s VP of Marketing, Larry O’Connell, makes the point that security is (a) necessary, and (b) harder than it looks. It’s tough enough for most programmers to develop, test, and deliver working code that does what it’s supposed to under normal circumstances. Operating smoothly in the face of malicious hacking is exponentially tougher, largely because we don’t even know what we’re fighting against. Do we worry about RF-based side-channel attacks? Code injection? Hidden exploits in the operating system, code libraries, drivers, or hardware? Are production methods really secure, and are firmware updates reliable? The list goes on and on, and most of us are ill equipped to recognize, much less fix, such an array of vulnerabilities.
Moreover, every processor is different, so nailing down one product design may not help much with the next one. And the threats change over time, too. There’s a reason PC antivirus programs are subscriptions, not one-time purchases. With EmSpark, he says, programmers deal only with its software interface, not with the underlying hardware, so experience transfers from one project to the next.
Layering EmPower’s cloud services on top of EmSpark adds “entire life cycle management, from initial boot up until the product is removed from service,” says O’Connell.
If security concerns are going to be with us — and it looks like they will — it makes sense to either develop some in-house expertise or outsource it to someone who already has. Given that most embedded and IoT product developers already have their hands full developing their products, the latter course makes a lot of sense.