Security(Cyber Security) is an essential requirement for any IoT platform or devices or end users and the communication infrastructure.  In order to achieve or design best possible security solutions,  to avoid some external entity or hacker gaining access to your IoT device or infrastructure, every architect or system designer should do Threat Modeling exercise.  As the system is designed and architected, we can minimize the exposure to external threats to our IoT architecture.

With this article I am trying to provide you relevant bits and pieces essential for your understanding:

What is Cyber Security?

As per WhatIs.com – “Cybersecurity is the body of technologies, processes and practices designed to protect networks, computers, programs and data from attack, damage or unauthorized access. In a computing context, security includes both cybersecurity and physical security.”

To make it more clear and simpler – Cyber Security also known as Computer security, or IT security, is the protection of computer systems from the theft or damage to their hardware, software or information, as well as from disruption or misdirection of the services they provide. Cyber security includes controlling physical access to the hardware, as well as protecting against harm that may come via network access, data and code injection.

What is Threat Modeling?

The objective of threat modeling is to understand how an attacker might be able to compromise a system and then make sure appropriate mitigations are in place. Threat modeling forces the design team to consider mitigations as the system is designed rather than after a system is deployed. This fact is critically important, because retrofitting security defenses to a myriad of devices in the field is infeasible, error prone and will leave customers at risk.

[Content courtesy:  Microsoft]

In order to optimize security best practices, it is recommended that a proposed IoT architecture be divided into several component/zones as part of the threat modeling exercise.

Relevant Important  Zones  for an IoT architecture  :

  • Device,
  • Field Gateway,
  • Cloud gateways, and
  • Services.

Each zone is separated by a Trust Boundary, which is noted as the dotted red line in the diagram below. It represents a transition of data/information from one source to another. During this transition, the data/information could be subject to Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service and Elevation of Privilege (STRIDE).

[Content courtesy:  Microsoft]

This diagram like below provides a full 360 view you any proposed solution:

Summary of important Sections/Zones:

  1. The Device Zonerepresents a thing or device where device to device or local user physical access is possible.
  2. The Field Gateway Zone –  Field gateway is a device/appliance (Embedded/Hardware) or some general-purpose software that runs on a Physical Server, and acts as communication enabler and potentially, as a device control system and device data processing hub.
  3. The Cloud Gateway ZoneCloud gateway is a system that enables remote communication from and to devices or field gateways from several different sites across public network space, typically towards a cloud-based control and data analysis system, a federation of such systems.
  4. The Services Zone –  A “service” is  any software component or module that is interfacing with devices through a field- or cloud gateway for data collection and analysis, as well as for command and control. Services are mediators.

Once we identified threat boundaries we should be able to provide fail safe security measures each associated zones, to meet the business needs and global information exchange and data compliance  standards.  It is also important to design the product from the start with security in mind because understanding how an attacker might be able to compromise a system helps make sure appropriate mitigations are in place from the beginning.

In next session, we will go through Microsoft’s IoT Reference architecture and associated security measures been put together across each zones. 

Additional Resources:
{"cc_re__cc_re__cc_by_3_0": ["d\">Follow me on Facebook</a></blockquote></div>\n\t\t</div>\n\t\t</div><div id=\"twitter_timeline-4\" class=\"widget hidden-xs\"><h2 class=\"widgettitle\">Follow me on Twitter</h2>\n<a class=\"twitter-timeline\" data-height=\"400\" data-theme=\"light\" data-link-color=\"#f96e5b\" data-border-color=\"#e8e8e8\" data-lang=\"EN\" data-partner=\"jetpack\" href=\"https://twitter.com/nithinmohantk\" href=\"https://twitter.com/nithinmohantk\">My Tweets</a></div><div id=\"text-16\" class=\"widget hidden-xs\">\t\t\t<div class=\"textwidget\"><p><a rel=\"license\" href=\"http://creativecommons.org/licenses/by/3.0/\" \">  <img src=\"https://i2.wp.com/i.creativecommons.org/l/by/3.0/88x31.png?resize=88%2C31\" alt=\"Creative Commons License\" style=\"border:none;\" height=\"31\" width=\"88\" data-recalc-dims=\"1\" /><br />\n          </a></p>\n</div>\n\t\t</div><div id=\"blog_subscription-5\" class=\"widget hidden-xs\"><h2 class=\"widgettitle\">Subscribe to Blog via Email</h2>\n\n\t\t\t<form action=\"#\" method=\"post\" accept-charset=\"utf-8\" id=\"subscribe-blog-blog_subscription-5\">\n\t\t\t\t<div id=\"subscribe-text\"><p>Enter your email address to sub", "log is to share knowledge, tips & tricks on software development using Emerging Technologies.&nbsp;Thanks to the readers and sincere thanks to all author's of crossposted blogs.&nbsp;Blog is powered by theme <b><a href='http://nehalist.io/' target='_blank'>gitsta</a></b>, customized for this blog. Enjoy reading the blog and subscribe to the RSS feed.</p>\n<p style=\"vertical-align:middle;\">\n<strong>License:</strong>\n Except where otherwise noted, content on this site is\n          licensed under a <a rel=\"license\" href=\"http://creativecommons.org/licenses/by/3.0/\" class=\"subfoot\">Creative Commons\n          Attribution 3.0 License</a> &nbsp;&nbsp;<a rel=\"license\" href=\"http://creativecommons.org/licenses/by/3.0/\" >  <img src=\"http://i.creativecommons.org/l/by/3.0/88x31.png\" alt=\"Creative Commons License\" style=\"border:none; position:absolute; overflow:hidden;margin-top:-5px;\" height=\"31\" width=\"88\">\n          </a>\n</p>\n\t\t\t\t\t\t\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t\n\t\t\t<div class=\"row\">\n\t\t\t\t<div class=\"col-md-12\" style=\"vertical-align:middle;\">\n\t\t\t\t\t <p > \n\t\t\t\t\t\t &copy; 2008 \u2013 2018  <s", "or's of crossposted blogs.&nbsp;Blog is powered by theme <b><a href='http://nehalist.io/' target='_blank'>gitsta</a></b>, customized for this blog. Enjoy reading the blog and subscribe to the RSS feed.</p>\n<p style=\"vertical-align:middle;\">\n<strong>License:</strong>\n Except where otherwise noted, content on this site is\n          licensed under a <a rel=\"license\" href=\"http://creativecommons.org/licenses/by/3.0/\" class=\"subfoot\">Creative Commons\n          Attribution 3.0 License</a> &nbsp;&nbsp;<a rel=\"license\" href=\"http://creativecommons.org/licenses/by/3.0/\" >  <img src=\"http://i.creativecommons.org/l/by/3.0/88x31.png\" alt=\"Creative Commons License\" style=\"border:none; position:absolute; overflow:hidden;margin-top:-5px;\" height=\"31\" width=\"88\">\n          </a>\n</p>\n\t\t\t\t\t\t\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t\n\t\t\t<div class=\"row\">\n\t\t\t\t<div class=\"col-md-12\" style=\"vertical-align:middle;\">\n\t\t\t\t\t <p > \n\t\t\t\t\t\t &copy; 2008 \u2013 2018  <strong>Nithin Mohan T K</strong>\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t</div>\n        </footer>\n    </div>\n    \n    \t<div style=\"display:none\">\n\t</div>\n"]}