A Pattern for Secure Uploads and Downloads in AWS IoT

March 15th, 2018 | Greg Straw | Security

Suppose you have a large fleet of connected sensors, all gathering data and triggering events based on conditional logic within the device. It’s one thing to provide event notifications, but what about all the continuous readings and status data? This data is likely to be much larger than what is selected for triggering an event or notification. This data may be able to provide valuable insights, and is where analytics can provide incredible value.

If we want to leverage this data we first must consider how to ship it to the cloud, which forces us to think about security. Uploading data is not the only consideration when it comes to IoT. We must also consider the secure delivery of large amounts of configuration or firmware data to and from a connected device.

How to secure file transfers in AWS IoT: A Use Case

In the AWS ecosystem where we have a device connected using AWS IoT, you could download or upload a large amount of data by partitioning the data into individual MQTT messages and re-assembling after receipt. Assuming the packetization process also encrypts the data, this would certainly be secure. However, that’s not an efficient use of AWS IoT costs (paid by MQTT Message), and unnecessarily complicated since it requires partitioning and reassembling, and likely some form of acknowledgement or QoS increase to ensure all the data arrives successfully….

Read more

Principle of Least Privilege: An Introduction

March 1st, 2018 | Aaron Day | Security

Every program and every privileged user of the system should operate using the least amount of privilege necessary to complete the job. – Jerome Saltzer

In an effort to better serve our clients, SpinDance is building an internal cross project team which will focus on the security aspects of the applications. This team will review design, implementation, and deployment of customer projects and perform testing to ensure the clients applications and data are as safe and secure as possible. The team will also be providing internal training to the development teams, teaching high level concepts and application of those concepts to spread the skills throughout the engineering side of company. This article is an adaptation of some of the topics that will be covered.

What is the Principle of Least Privilege?

A main tenet of secure system design is layered security. The principle of least privilege is one of the building blocks to layered security. The idea of the principle of least privilege is that a user’s or program’s access is the minimum necessary to complete the intended task. In event of a compromise the damage is limited to elements of the system the original process is able to access. Using the principle of least privilege decreases exposure and damage thereby increasing the security of a system. This adds a layer of security to the system by protecting the remaining components of the system which the process does not have access to affect….

Read more

Blue data with cloud and lock graphic overlays

Internet of Things Security with AWS IoT Core: A Brief Use Case

February 11th, 2018 | Brian Ensink | Security

As the Internet of Things plays a more prominent role in the lives of consumers, you’re likely to use these “things” everywhere. Devices can be found  in your office, car, home, even on your wrist or clipped to your clothing – as such, they have access to your most vital and sensitive information. But how often do you consider the security implications of relying on IoT for your day-to-day life? As engineers, we think about Internet of things security so consumers don’t have to. “How do we secure it?” is one of the most important and required questions to answer for any piece of software, occurring during the design and implementation phase of a product. At SpinDance, we want our solid end-to-end security design to be reinforced by secure tools. This is where AWS IoT Core shines.

What is AWS IoT Core?

At SpinDance we have have invested time and effort into building useful components to better support future IoT projects, which has helped us build expertise in securing the communication between the device and the cloud. One of the solutions we’ve spent a significant amount of time with is AWS IoT Core. AWS IoT Core is Amazon’s foundation to build the Internet of Things. IoT Core supports connecting devices or things to a lightweight message broker to communicate with mobile, web and cloud apps,…

Read more

The Future’s Future: SpinDance Hosts High School Students for Winterim

February 9th, 2018 | Erin Bernhard Erno | SpinDance

During the second week of January 2018, SpinDance was abuzz with activity. The reason? A group of Holland Christian High School students were in the office, exploring the world of IoT to “test drive” a career in Software Engineering  during the school’s annual “Winterim” internship program. By the end of the week, they had successfully learned how to implement a smart IoT system through the cloud to light and power a small ceramic house with voice commands. Here’s what they worked on:

At the beginning of Winterim, students received an AWS IoT button and WeMo outlet for exploration. They quickly taught themselves about AWS IoT and Lambda, while creating AWS accounts and connecting their AWS IoT buttons to the cloud.  

“Setting up the AWS IoT Button is a good introduction to IoT because it introduces a person to the major concepts of IoT through configuration rather than writing code,” said SpinDance’s Director Engineering, Mike Stroud. “Concepts include the AWS Cloud, connecting a device (the button) to WiFi access point, associating the device with their AWS IoT account, and editing a Lambda function to associate an event (button press) with and action (sending an SMS).  

“It doesn’t take long to experience these concepts which builds interest and boosts confidence.”  Thanks to the support of SpinDance’s own Chris Samuelson, they were able to implement an AWS Lambda function to send a custom SMS message to their phones when the AWS IoT Button was pressed –…

Read more

Creating Community through Professional Development: The SpinDance Book Club

February 1st, 2018 | Erin Bernhard Erno | SpinDance

At SpinDance, one of our universal commitments is to seek and communicate truth within our teams as well as for our customers. We want to make sure that our teams are dynamic, energetic about being at here, and always learning new ideas to improve themselves and to create better solutions for our customers. Last November, the SpinDance Book Club was created to engage the SpinDance team in dialog around various skills and interests that range from management of teams to being better developers.

Group of professionals meeting to discuss a book

What We’re Reading

As a group of 17 SpinDance staffers, we brainstormed a number of different books and decided to kick off the inauguration of the book club with Peopleware: Productive Projects and Teams. We decided to start with this book not only because it’s relatively short and structured in a way that each chapter presents one key idea for us to discuss, but because it gives us a top-level view of organizational goals that any staffer can relate to. All project failures described in the book resulted from people issues and not technology issues. This can be seen not only in the book, but also in our own experiences.

At SpinDance, the successes of our projects with customers are measured both by our team interactions internally and customer interactions externally. As an organization that delivers custom software for our clients,…

Read more

From Demographic Profiles to Real World Data: How Insurance Companies are Leveraging IoT

January 19th, 2018 | Tom Miller | IoT Notes

Insurance companies have traditionally relied on demographic and geographic information to assess coverage rates for customers. Loss has typically been a trailing indicator, rather than a preventative event. IoT is changing this methodology and changing it quickly.

At the Insurance IoT USA Summit, held this year in Chicago, IL, the best of insurance companies were leading, listening and learning in sessions about how IoT innovations are and will transform the industry. SpinDance was there to share our IoT experience and be part of the narrative.

insurance IoTIoT is generating the data necessary to offer insurance customers the most personalized coverage — and rates — possible, while also providing the technology and information for further improvement. That data, which helps drive rates down and margins up, is available to large and small carriers alike, creating the disruptive playing field that is being experienced by many other industries: adapt or die.  An estimated 1,400 tech savvy insurance startups are demonstrating an awareness and readiness for the opportunity.

A few examples of IoT in insurance include:

  • Usage based auto coverage which collects data on mileage, speed, braking and turning will identify safe drivers regardless of age or gender.
  • Home, office, commercial and industrial facilities are equipped with sensors to detect internal and exterior environmental conditions, with two way communications able to respond instantly to smoke,

Read more

Protocol Buffers in Swift: A Use Study in Brushing Your Teeth

December 29th, 2017 | Sean Hamstra | Development

When dealing with the Internet of Things (IoT), developers are faced with many technical hurdles connecting multiple devices together over a computer network. Each of these devices is likely to speak its own language and require specific code to translate data from the other devices. More device, more languages, more work, more money.

For example, let’s say you just bought a connected toothbrush. You get it all set up and decide to take it for a spin. According to the instructions, all you as the user needs to know is how to brush your teeth. There’s obviously a lot more happening within the device, however. As you brush, sensors are working to track things like battery power, usage time, and perhaps even motion with a gyroscope and accelerometer. Embedded code in the toothbrush, written in C, is used to track all of this data and upload it to the cloud. Then a cloud app, perhaps written in Ruby, accepts and stores this data while running some analysis on the motion and timing of your usage.

You set your toothbrush down and whip open your Android phone and fire up the app, eager to see your progress and get your brushing rating. Once again, there’s much more happening than meets the eye. Triggered by you opening the app, the Java code in the Android app fetches the data from the cloud and displays it on a nice graph for you….

Read more

Four New Reasons to Consider AWS Greengrass For Your IoT Project

December 19th, 2017 | Conor Livingston | Systems

At the end of November, we sent developer Conor Livingston to AWS re:Invent, the premier learning conference for the global cloud computing community. After spending a few days with access to over 1,000 technical sessions, networking opportunities, and keynote announcements, he brought back to SpinDance an exciting announcement about AWS IoT: updates to AWS Greengrass.

What is AWS Greengrass?

AWS Greengrass is software designed to run on IoT devices that have a general purpose processor with at least 1GHz of compute and 128MB of RAM. Think Raspberry Pi. In an IoT system, Greengrass would run on a hub or a gateway as opposed to a low-powered, more resource-constrained sensor. The Greengrass Core software does the heavy lifting for a few important activities on IoT devices, including:

  1. Local compute via Lambda functions developed in AWS
  2. Messaging with cloud
  3. Data caching on device
  4. Sync device data with cloud

Not to mention the fact that using Greengrass is the best way to get the most out of the rest of the AWS IoT ecosystem.

One of the best things about Greengrass is its security model. It was clearly designed with security in mind because it uses X.509 certificates, AWS IoT policies and IAM policies to make sure IoT devices are secure….

Read more

Introducing the IoT Canvas: Planning Worksheets For Connected Products

December 19th, 2017 | Brian Tol | News,Operations,SpinDance

Managing an IoT project can be tricky. Every month, SpinDance talks to one or two organizations who are stuck somewhere on the IoT journey. Some of the scenarios we’ve heard recently include:

  • The project team is struggling to sort through competing vendor claims.
  • The organization isn’t sure how to build a business case or calculate long-term ROI.
  • Their QA process is taking 3x as long as expected, forcing them to rush a inferior product to market.
  • They didn’t plan for essential features like over-the-air updates, and are scrambling to add them to a suboptimal embedded design.
  • Their device analytics are not answering the questions the business /really/ cares about.
  • The outsourced cloud development team is months behind delivering a product, and there is finger pointing between all the various delivery groups.

These are all true stories we’ve seen up close, and unfortunately they aren’t isolated experiences. Cisco recently did a survey that found that 85% of IoT projects are considered business failures at some level. Meanwhile, we continue to consult with project teams that aren’t sure where to turn next.

There’s no reason that a properly-planned project should fail, so this raises the critical question: why are IoT projects so difficult?

Why is IoT so difficult?

There are lots of symptoms that contribute to the difficulty of IoT project management,…

Read more

Internet of Things

Hack the Train: SpinDance Shares Holiday Spirit with Interactive Window

December 19th, 2017 | Tom Miller | Development,IoT Notes,SpinDance

Storefront displays have come a long way since the Miracle on 34th Street. At SpinDance’s Holland, MI, headquarters, we think of it more as the Technology on River Avenue, as we’ve recently installed an interactive display to allow passersby of all ages the opportunity to touch the future of IoT development.

When you visit, you’ll notice that the first step in our display is an AWS IoT button attached to the company’s first floor office window, which allows you to control the lights on a Christmas tree. We used the popular NeoPixel platform to create the lights, and there are number of festive patterns you can cycle the lights through. The buttons runs some code in Amazon’s cloud, which then runs the commands on the tree.

After you’re done playing with the Christmas tree, you can scan the QR code on the window to access a web app which gives users the ability to control the speed and sound of a model train in the winter village. The train’s sound is amplified by a surface transducer that transforms the entire window into a large speaker.

As an IoT (Internet of Things) company, SpinDance is committed to using the same technology we implement for our customers in our own day-to-day lives. One way we do this is through our hackathons,…

Read more