能否在物联网领域构建一个通用的安全模型?

图2.一个通用安全模型
图2给出的通用安全模型解释了物联网安全责任应该如何在不同合作方之间进行划分。从顶部开始,客户负责保护各种设备,拒绝未经授权的访问并且管理用户账户。
物联网平台通过集成显示和无需编码即可使用的权限简化了任务。例如,地区、部门和位置可以被定义,用户只能访问自己地区的对象而不能访问其它地区的。职能角色也可以在一个组织之中创建,比如“服务管理者”,“服务管理者”的角色也可以被分配给新用户,而新用户可以自动接收被分配角色的所有权利。
理想情况中,在连接服务器的帮助下,当平台本身位于防火墙之内的话,物联网平台将提供在“隔离区(DMZ)”工作的选项。如果物联网平台处于内部网络,那么即使是最坚定的外部攻击,也会遇到很大的困难。好的网络概念可以帮助组织更好地保护他们的物联网基础设施。
应用程序开发人员可以使用领先平台提供的适当工具进行最佳实践,比如开放式Web应用程序安全项目(OWASP,Open Web Application Security Project)TOP 10,这是在开发Web应用程序时应该避免的弱点。美国联邦贸易委员会(FTC)强烈建议所有企业需遵循OWASP所发布的十大Web弱点防护守则。
SQL注入是十大问题之一,它是指程序把用户输入的一段字符串直接用在了拼凑SQL语句上,导致了用户可以控制SQL语句,比如加入delete的行为、绕过用户密码验证等。解决方式是使用参数形式调用SQL/使用存储过程(存储过程中不要使用动态SQL拼语句)/使用Linq, EF等框架来写(不要使用里面的直接拼SQL语句的方式)。物联网平台可以通过parameterising 输入(parameterising input)和直接停止SQL查询的方式来防止这种攻击。
然而,一些物联网安全的责任应该由开发人员来承担。通过传输层安全协议(TLS),大多数物联网平台具有为设备通信过程提供加密的能力。当然,这项能力必须由开发人员来激活。
 
无论在应用程序的发展过程中如何重视安全问题,遭受攻击的可能性总是存在。因此,至关重要的是设立一种让每一层级都可以反复更新到最近版本的保护机制。
因此,一个物联网平台不但应该提供集成的软件和内容管理功能,还应支持自动分发更新。更复杂的平台还会包括如何分配这些更新的选项。这意味着,你可以在对所有设备进行常规更新的时候,可以先在少量设备上导入和测试这些选项。
一个通用的安全模型以及其它许多功能简化了物联网应用程序开发和实现的过程。因此,您可以优化您广泛分布的设备的性能,同时,确保防止未经授权的恶意使用。