• About

Max Hemingway

~ Musings as I work through life, career and everything.

Max Hemingway

Tag Archives: IoT

IoT Device Security Considerations and Security Layers – Encryption

25 Wednesday Nov 2015

Posted by Max Hemingway in IoT, Security

≈ 4 Comments

Tags

Encryption, IoT, Security

ThingsThe next layer to cover in my blog series on IoT Device Security Considerations and Security Layers is that of Encryption.

With the IoT expect to be collecting and storing masses of data, protecting the data is a key consideration for any system.

Encryption plays an important part on devices these days and it can be used/be part of a number of the layers in the IoT stack. End to end encryption should be considered in any IoT design.

There are numerous encryption standards currently available and product to help you secure your data. Some are now being tailored to IoT applications and solutions.

There are two main areas of consideration for encryption in an IoT design:

  • Data
  • Communication

Data is about encrypting the data at rest (data on a storage device) to secure the information.

Communication is about encoding data as it is sent over a network.

The main issue with encryption though is the overhead of encrypting & decrypting and the impact on resources on the IoT device/system.  This has been recognised by chip manufactures and application vendors as they work together to speed up this process. An example of this is Intel and McAfee. Other companies are doing the same.

In any case the use of encryption should be given considerable thought, especially on any network communications and back systems to protect the data. There have been many cases  in the news illustrating what can happen if your data is not encrypted.

Further Reading:

  • Lightweight Cryptography for the Internet of Things
  • Advanced Encryption Standard
  • Cryptography Standards
  • Data Encryption Standard

 

Share this:

  • Twitter
  • Facebook
  • LinkedIn
  • Email
  • Pinterest

Like this:

Like Loading...

IoT Device Security Considerations and Security Layers –Access Control & Authentication

18 Wednesday Nov 2015

Posted by Max Hemingway in IoT, Security

≈ 4 Comments

Tags

IoT, Security

ThingsThe next post in my IoT Series on IoT Device Security Considerations and Security Layers is on Access Control and Authentication.

Security around access is always a hot topic for people and systems and the IoT should be no different. From user interfaces to devices communicating with each other Access Control and Authentication are key to maintaining a secure solution/system.

There are lots of information and posts appearing about this subject, however in the larger stack its only one part of securing the IoT, so should be used in conjunction with other solutions to create and end to end secure stack. (See IoT Device Security Considerations and Security Layers  for the full stack).

To keep this blog post simple I have outlined four main areas in IoT that will use Access Control and Authentication.

ACL

Each of these areas can leverage or use their own Access Control and Authentication solution.

The good news is that you don’t necessarily need a “New” thing to to achieve this and there are a number of good standards and best practices currently available to follow. If however you are developing something specialised this may need to be customised.

Most solutions will employ a central Access Control and Authentication solution that can be updated, patched and maintained rather than a point solution that will require more effort to look after properly.

Examples of a centralised solution are Azure IoT Hub and Active Directory for a Cloud or On-Premise solution. Other solutions are available.

Areas that you may consider when looking at Access Control and Authentication could include:

Access Control Considerations

  • Access Control Lists
  • Permissions (Add, Change, Delete)
  • Policies

Authentication Considerations

  • LDAP/Active Directory Authentication
  • Certificates
  • Trusted Platform Modules (TPM)
  • Two Factor Authentication
  • Biometrics
  • Tokens
  • PKI
  • Mobile Authentication
  • Username Policy
  • Password Policy

 

Further Reading:

  • Authorization Framework for the Internet-of-Things
  • The impact of the IoT on access control
  • Network Access Control for Mobile Devices and IoT
  • Identity Authentication and Capability Based Access Control (IACAC) for the Internet of Things
  • Azure IoT Hub developer guide

 

 

 

Share this:

  • Twitter
  • Facebook
  • LinkedIn
  • Email
  • Pinterest

Like this:

Like Loading...

IoT Device Security Considerations and Security Layers – User Interface

11 Wednesday Nov 2015

Posted by Max Hemingway in Architecture, IoT, Programming, Security

≈ 4 Comments

Tags

Architecture, IoT, Programming, Security

ThingsThe next area in my series on IoT Device Security Considerations and Security Layers is the User Interface.

Many IoT solutions may just have a standard Web interface to a back end system where IoT Devices and Sensors can be controlled. There is already a lot of documentation on good practices for the Web front end.

In some cases the User Interface may be on the IoT device or not delivered over a Web interface. In these cases many of the good practices for Web front ends can still be applied.

Here are a few of the main considerations:

User Interface

User experience is key to any system, however security is as well. When designing your User Interface you should consider the functionality needed to what the user requirements are, keeping the design slick reduces options for hackers to exploit.

Following good code practices and testing will help in this area.

Identification and Authentication

Most applications these days requires a form of log on and password to links into another system for identification such as AD, LDAP or SSO (Single Sign On).

Ensuring that a strong password policy is in place with rules such as:

  • At least 8 characters long
  • Includes alphanumeric characters
  • Different from previous password
  • No complete words
  • At least 1 upper case character
  • At least 1 lower case character
  • At least 1 number
  • At least 1 special character

Some of these rules will depend if you are authenticating against an existing directory system and its current policies. you should consider changing them if they are not secure.

This in turn allows for the authentication of users against other methods such as a 2 factor.

User Interface

Error Messages

Firstly ensuring that the application and interface have good error handling to reduce the number of messages that the user sees should something unexpected happen.

Secondly having simple well defined error messages reduces exposure of what systems you are running or the type of code that can appear in some errors.

Some further reading:

  • Guide to Authentication
  • Authentication cheat sheet
  • Basic Security Practices for Web Applications

Share this:

  • Twitter
  • Facebook
  • LinkedIn
  • Email
  • Pinterest

Like this:

Like Loading...

IoT Device Security Considerations and Security Layers – Device/Application API’s

09 Monday Nov 2015

Posted by Max Hemingway in Architecture, IoT, Programming, Security

≈ 4 Comments

Tags

Architecture, IoT, Programming, Security

ThingsFurthering my series on “IoT Device Security Considerations and Security Layers” next in the stack is the Device/Application API’s.

API’s (Application Programming Interface) provide a capability to easily interact with a system. This could be an API to an IoT Sensor that a server application could use to get information from through using a set of common libraries and functions.

IoT API

APIs often come in the form of a library that includes specifications for routines, data structures, object classes, and variables. In other cases, notably SOAP and REST services, an API is simply a specification of remote calls exposed to the API consumers.
-Wikipedia

There are a number of steps you can take to secure your API’s:

Standards

Follow any standards/security standards available for the systems you are working with. As discussed in previous blog posts standards for the IoT is one area that is still being defined.

Libraries

Installing only the API’s/libraries you need for your application/IoT Device/IoT Sensor (or un-installing any unused API’s/libraries) 

Secure Messaging

Where feasible using Secure Messaging using a level of authentication ensures that the API is communicating and operating with the right system. This ensures that the IoT Device/Sensor can only interface with the correct system and not accept any rogue requests.

Error Handling

An API should be able to understand what to do when it detects an error condition and what to do when it cant. This is important so false instructions/data cannot be sent to the API to make it fail and then be open to attack.

Patching

Using the most up to date version of the API’s/libraries will ensure any bugs or issues have been removed reducing any exposure to attacks that hit known issues. employing a regular patching capability where possible maintains a level of security. It may not be possible to update IoT Devices/Sensors that are embedded, however any server side API’s/libraries should be up to date. This will however increase compatibility testing with the IoT Devices/Sensors to ensure the interfaces still work.

Further Reading

OWASP REST Security Cheat Sheet

Share this:

  • Twitter
  • Facebook
  • LinkedIn
  • Email
  • Pinterest

Like this:

Like Loading...

IoT Device Security Considerations and Security Layers – Applications

02 Monday Nov 2015

Posted by Max Hemingway in IoT, Programming, Security

≈ 4 Comments

Tags

Development, IoT, Programming, Security

Continuing further my series on “IoT Device Security Considerations and Security Layers” next in the stack is the Application.

The level of Security that is put into the application on an IoT Device will depend upon several factors:

  • Hardware PlatformThings
  • Operating System
  • Programming Language
  • Standards followed
  • Level of Skill of developer
  • Security Testing

Hardware Platform

The hardware platform becomes a factor when the application makes use of any special features that are present on the device. This is ideal for applications that are written to use on bespoke devices such as sensors for specific tasks, but does not allow wider use without modification and different versions being developed.

There are a lot of modular kits available that utilise standard libraries of code that make it easier for those starting out, but the level of security will depend upon those used.

Operating System

In a similar way to the using specific hardware and programming for it, similar things can be accomplished using features of the operating system. Again ideal for bespoke platforms and devices, but not for generic apps.

So the first choice you need to make when looking to secure your application – Is it a Generic or Specific application and what elements of the Hardware and Operating System are you going to utilise.

Programming Language

There are lots of Programming Languages that can be used to create applications for the Internet of Things.

Redmonk carried out some research in June 2015 and ranked the most popular Programming Language’s. Some of the popular languages that are used current in IoT Development are:

  • JavaScript
  • Java
  • Python
  • C
  • C++
  • Go
  • Rust

There are lots of Languages available that can be used to programme for the IoT. The choice of Language used will vary based on the Hardware and Operating System used and the functionality required for the application provided by the Language.

Standards

There are a number of standards and frameworks are available for Application Security with general standard practices and some more specific depending upon the type of application being developed.  Others come down to good practice, experience and the Software Development Life-Cycle used.

Application Standards are well developed and defined. IoT Standards are being discussed and developed.

IoT Standards by Max Hemingway

Security Testing

Security Testing will be key to ensuring the developed application is secure. Applications and IoT Devices should be routinely security tested during development and after to ensure vulnerabilities are addressed.

OWASP (Open Web Application Security Project) lists the top 10 IoT Security vulnerabilities as:

  • I1 Insecure Web Interface
  • I2 Insufficient Authentication/Authorization
  • I3 Insecure Network Services
  • I4 Lack of Transport Encryption
  • I5 Privacy Concerns
  • I6 Insecure Cloud Interface
  • I7 Insecure Mobile Interface
  • I8 Insufficient Security Configurability
  • I9 Insecure Software/Firmware
  • I10 Poor Physical Security

The OWASP site also has a good set of Security Guidance for Manufacturers, Developers and Consumers setting out IoT Recommendations for each of the above areas.

If you want to learn a programming language but are not sure which one have a look at my blog on “Learn a Programming Language – But which one?“

Share this:

  • Twitter
  • Facebook
  • LinkedIn
  • Email
  • Pinterest

Like this:

Like Loading...

IoT Device Security Considerations and Security Layers – Operating System

21 Wednesday Oct 2015

Posted by Max Hemingway in Architecture, IoT, Security

≈ 4 Comments

Tags

Architecture, IoT, Security

ThingsAnother post in the series on “IoT Device Security Considerations and Security Layers“, this time looking at Operating Systems.

There are many Operating Systems available for use on IoT devices and there are more being developed all the time. These range from specific Operating Systems targeted at a specific IoT Chip set to ones that can be used across a number of devices. Some of the names in this field are well known by every day consumers and some not so well known but are strong in this area.

IoT Operating Systems

At this time there are not many standards agreed across the industry, but more group specific depending upon which platform you are developing on. The main standards that exist are around networking and connectivity. Groups and Communities currently discussing and creating IoT Standards). Some of these are around security and securing the IoT devices.

There are a number of standard practices that you can carry out to help secure your IoT device at the Operating System level:

Right Operating System

Choosing the right Operating System is key to ensuring your IoT Device will function as you require it to and support the applications you are using. You should look to only install the Operating Systems elements that are needed to reduce any future Security Issues through none used modules. Streamlining (or removing none used modules) also reduces the amount of space needed on the IoT device.

Upgrades

Upgrading to latest versions of the Operating System at regular intervals will ensure that you have the latest software and that additional space is not taken up with old patching files. This also ensures any known security holes in the Operating System are protected. This also has the added benefit of keeping up with any new features introduced into the Operating System.

Patching

Patching of both the hardware BIOS and Operating System should be considered. Ensuring that the BIOS is at the latest level makes any patching more effective as the Operating System and patches are normally created and tested on the latest hardware and releases.

Regular patching needs to be carried out in order to fix any known exploits or Security holes in the Operating System/ Some latest Operating Systems patch automatically at a regular interval which when configured allow this task to just be a monitored one to ensure devices are being updated.

Access

Only allowing the users or systems that need access to the device and removing all other accounts and access rights will secure the device. The levels of access control, user id’s and passwords will be dependent on the Operating System used. These can range from local settings to a centralised control such as Active Directory.

Below are some links to Operating Systems and their supported hardware platforms.

Brillo

  • https://developers.google.com/brillo/?hl=en

Contiki

  • http://www.contiki-os.org/
  • http://www.contiki-os.org/hardware.html

FreeRTOS

  • http://www.freertos.org/
  • http://www.freertos.org/RTOS_ports.html

Linux

http://www.linux.org/

mbedOS

  • https://www.mbed.com/en/development/software/mbed-os/

Microsoft

  • http://www.microsoft.com/en-gb/server-cloud/internet-of-things/overview.aspx

OpenWSN

  • https://openwsn.atlassian.net/wiki/pages/viewpage.action?pageId=688187
  • https://openwsn.atlassian.net/wiki/display/OW/Hardware

Riot

  • http://www.riot-os.org/
  • http://www.riot-os.org/#usage

Tiny OS

  • http://www.tinyos.net/
  • http://tinyos.stanford.edu/tinyos-wiki/index.php/FAQ

Share this:

  • Twitter
  • Facebook
  • LinkedIn
  • Email
  • Pinterest

Like this:

Like Loading...

IoT Device Security Considerations and Security Layers – Sensor/Instruments

12 Monday Oct 2015

Posted by Max Hemingway in Architecture, IoT, Security

≈ 4 Comments

Tags

Architecture, IoT, Security

ThingsNext in the blog series “IoT Device Security Considerations and Security Layers” is Sensors and Instruments.

There are many different sensor types ranging from the consumer available to those used in industry and specialised, e.g:

  • Barometric Pressure sensor
  • Temperature sensor
  • Altitude sensor
  • Colour sensor
  • Accelerometer sensor
  • Compass sensor
  • Humidity sensor
  • Proximity sensor
  • Motion sensor
  • Light sensor
  • Roation sensor
  • Water sensor
  • Heat sensor

Sensors will typically be connected hard wired or remote.

IoT Sensors by Max Hemingway

Security for Wired sensors will be inherently secure as the connectivity is over a physical wire.

Where there is wireless connectivity the type of wireless used should be considered with security in mind. This is called a WSN (Wireless Sensor Network)

The list of considerations could be listed as:

  • Wireless Protocol
  • Authentication
  • Encryption
  • Pairing
  • Signal strengths and limitations
  • Certificates

Some good white papers that cover WSN’s and security considerations are:

  • Internet of Things: Wireless Sensor Networks
  • Wireless Sensor Networks and the Internet of Things: Do We Need a Complete Integration?

Share this:

  • Twitter
  • Facebook
  • LinkedIn
  • Email
  • Pinterest

Like this:

Like Loading...

IoT Device Security Considerations and Security Layers – Storage/Data

08 Thursday Oct 2015

Posted by Max Hemingway in Architecture, IoT, Security

≈ 4 Comments

Tags

Architecture, IoT, Security

ThingsThe next layer to cover in my blog series on IoT Device Security Considerations and Security Layers is that of Storage and Data.

Breaking IoT down to a basic form there will be two main sorts of IoT devices:

  • Those with local data storage on the IoT Device
  • and those without

That’s not to say that there would be a local storage system nearby such as sensors in a car having an on-board storage system for data that is then sent to a central system somewhere.

Either way, the future data economy will be huge. The IoT is predicted to create masses of data. Cisco have predicted this growing to 403 zettabytes a year by 2018.

Internet of Everything (IoE) Potential Impact on Cloud

●   Globally, the data created by IoE devices will reach 403 ZB per year (33.6 ZB per month) by 2018, up from 113.4 ZB per year (9.4 ZB per month) in 2013.

●   Globally, the data created by IoE devices will be 277 times higher than the amount of data being transmitted to data centers from end-user devices and 47 times higher than total data center traffic by 2018.

(Source Cisco)

That’s a lot of data to secure!

When looking at Storage and Data security the main consideration on securing data should be around data relevancy and what should actually be stored. This can be done locally at the IoT device with the programme/application collecting data at specific intervals or back at a collection system that applies policies to the data and filters out the relevant data, deleting the rest (Both could be done).

IoT Data by Max Hemingway

(Click diagram for a larger version)

Defining a Data Life Cycle is a key part to IoT Data Security.

Security of data on the device will depend upon the local security designed. There may be nothing stopping a sensor physically being stolen or tampered with, however electronically and through software other measures can be taken.

Storing data on a centralised solution and applying a level of security around that would provide a more secure environment as data transmitted could be encrypted through the network elements used.  Back end solutions will probably use standard solutions available today with well defined security standards and options available to secure data.

Where data is stored locally on the IoT device adding things like encryption at rest to data on a device may be necessary in some cases, but the flip side is an impact to the responsiveness of the device and data retrieval. This also adds to the complexity of the device and ultimately cost.

Personal security may also factor into the IoT Device solution, such as a wearable device on the wrist to record fitness data. As it is worn and secured onto the consumers wrist it may be classed as secure until the consumer went to a data point to upload their latest statistical data and analyse the results. Data is stored locally in this use case and then uploaded to a central point afterwards.

To summarise a list of considerations:

  • Local or Central Storage
  • Data Life Cycle
  • Data relevancy
  • Data retention policies
  • Encryption
  • Back end system data security
  • Security by use (ie. wearables)

Share this:

  • Twitter
  • Facebook
  • LinkedIn
  • Email
  • Pinterest

Like this:

Like Loading...

IoT Device Security Considerations and Security Layers – Chipset

07 Wednesday Oct 2015

Posted by Max Hemingway in Architecture, IoT, Security

≈ 4 Comments

Tags

Architecture, IoT, Security

ThingsContinuing the theme of IoT Security as first discussed in my post IoT Device Security Considerations and Security Layers, the next layer to look at is the Chipset.

There are lots of different chipsets available that can be used for IoT devices such as ARM, Intel, TI, etc. There are also lots of development platforms utilising these and other chipsets such as Raspberry Pi, Beagle, MinnowBoard MAX, Contiki, TinyOS, Nano-RK, Launchpad etc that consume these chipsets.

Chipset manufacturers have already recognised the importance of having a good security layer and security features within and supported by the chipsets manufactured for the IoT.

To build on this capability some manufactures are buying security solutions to complement and enhance, whilst others are creating.

  • ARM Expands IoT Security Capability with Acquisition of Sansa Security
  • Intel working with McAfee

These developments by Chipset manufacturers means that IoT Security is high on their agenda and provides the industry and consumer with a large amount of choice on additional security features based on chip and that can work with the chip in form of software.

As the IoT develops so will the security enhancements and capabilities of these devices.

Share this:

  • Twitter
  • Facebook
  • LinkedIn
  • Email
  • Pinterest

Like this:

Like Loading...

IoT Device Security Considerations and Security Layers – Power Source

06 Tuesday Oct 2015

Posted by Max Hemingway in Architecture, IoT, Security

≈ 4 Comments

Tags

Architecture, IoT, Security

ThingsFollowing on from my post on IoT Device Security Considerations and Security Layers the subject of this blog post is to look at the Power Source layer.

Power Sources for IoT Devices will differ depending upon the type of IoT Device being used or designed and its use, however they will fall into 3 main source of power.

  • Mains
  • Battery
  • Wireless

So how secure is a power source? There have been demonstrations on how data can be hacked through power outlets (How to use electrical outlets and cheap lasers to steal data) which have concentrated on using the fluctuations and noise in the power supply to work out what is being typed. This would effect both mains and wireless connections as these could be monitored in some way.  Battery presents a more secure method of providing a power supply.

At present any breaches using a power source are few and far between, however as the IoT connected world continues to evolve, perhaps this is one area that more security considerations are needed.

Not all IoT Devices will need mains power as there is a huge drive for wearables and mobile. The mains power would be aimed more at IoT devices within a business (such as plant machinery sensors) or a home system (turning on power or heating).

Mains also provides a medium to connect IoT devices such as Smart Meters or a Home Network over the mains using Ethernet to Power converters. IoT devices may well utilise this as a method to communicate back to a local hub, then off to a central hub via normal network connectivity.

There are already standards/rules for smart meters set out to protect devices and consumers around:

  • Data Access and Privacy
  • Security

(Smart meters and how they work)

Battery IoT Devices tend to be self contained for power and apart from a future change of the battery when its power expires connectivity and networking tend to be through the front end.

As the IoT advances there will be advancements in the protection for devices and in the rules that govern them. Not all devices will be equal with the same power needs, but one thing is constant. They all need power to operate in one form or another.

Some useful links:

  • IEEE IoT Standards
  • Groups and Communities currently discussing and creating IoT Standards

Share this:

  • Twitter
  • Facebook
  • LinkedIn
  • Email
  • Pinterest

Like this:

Like Loading...
← Older posts
Newer posts →

Technology Couch Podcast

Technology Couch Podcast

Topical discussions with different guests on Technology

Chat and views on latest Technology trends, news and what is currently hot in the industry

Max Hemingway

  • Listen on Apple Podcasts
  • Podcast RSS Feed

RSS Feed

RSS Feed RSS - Posts

Currently Reading

@HemingwayReads

Other Publications I contribute to

https://sparrowhawkbushcraft.com/

Recent Posts

  • Data Fellowship – Passed
  • Sign Up and Forget Culture
  • Data Fellowship – BCS Level 4 Certificate in Data Analysis Tools
  • Using the best of the Q Continuum
  • Importance of Regular Screen Breaks

Categories

  • 21st Century Human
  • 3D Printing
  • Applications
  • Architecture
  • Arduino
  • Automation
  • BCS
  • Big Data
  • Certification
  • Cloud
  • Cobotics
  • Connected Home
  • Data
  • Data Fellowship
  • Data Science
  • Development
  • DevOps/OpsDev
  • Digital
  • DigitalFit
  • Drone
  • Enterprise Architecture
  • F-TAG
  • Governance
  • Health
  • Innovation
  • IoT
  • Machine Learning
  • Micro:Bit
  • Mindset
  • Mobiles
  • Networks
  • Open Source
  • Podcasts
  • Productivity
  • Programming
  • Quantum
  • Raspberry Pi
  • Robotics
  • Scouting
  • Scouts
  • Security
  • Smart Home
  • Social Media
  • STEM
  • Tools
  • Uncategorized
  • Wearable Tech
  • Windows
  • xR

Archives

Reading Shelf

Archives

Recent Posts

  • Data Fellowship – Passed
  • Sign Up and Forget Culture
  • Data Fellowship – BCS Level 4 Certificate in Data Analysis Tools
  • Using the best of the Q Continuum
  • Importance of Regular Screen Breaks

Top Posts & Pages

  • Personal Knowledge Management System
  • Proving it - “If it’s obvious prove it. If you can’t prove it, it’s not obvious.”

Category Cloud

21st Century Human Architecture Automation Big Data Cloud Cobotics Data Data Science Development DevOps/OpsDev Digital DigitalFit Enterprise Architecture Governance Innovation IoT Machine Learning Mindset Open Source Podcasts Productivity Programming Raspberry Pi Robotics Security Social Media STEM Tools Uncategorized Wearable Tech

Tags

# 3D Printing 21st Century Human AI Applications Architecture Automation BCS Big Data Blockchain Certification Cloud Cobot Cobotics Coding Communication Connected Home Continuous Delivery CPD Data Data Fellowship Data Science Delivery Development DevOps Digital DigitalFit Digital Human Docker Drone Email Encryption Enterprise Architecture Framework GTD Hashtag Infographic Information Theory Innovation IoT Journal Knowledge learning Machine Learning Micro:Bit MicroLearning Mindset Mixed Reality Networks Open Source OpsDev Podcasts Productivity Programming Proving It R RaspberryPI Robot Robotics Scouts Security Smart Home Social Media Standards Statistical Inference STEM Technology Couch Podcast Thinking Tools Training Visualisation Voice Wearable Tech Windows xR

License

Creative Commons Licence
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Meta

  • Register
  • Log in
  • Entries feed
  • Comments feed
  • WordPress.com

Blog at WordPress.com.

  • Follow Following
    • Max Hemingway
    • Join 1,348 other followers
    • Already have a WordPress.com account? Log in now.
    • Max Hemingway
    • Customize
    • Follow Following
    • Sign up
    • Log in
    • Report this content
    • View site in Reader
    • Manage subscriptions
    • Collapse this bar
 

Loading Comments...
 

    %d bloggers like this: