Smart config风险分析与对策

1、简介:

         Smart config是一种将未联网设备快速连接wifi的技术,大概原理如下图所示:

2、业务需求:

         要求实现真正意义上的设备一键自动化wifi配置,不损失用户体验。

3、风险分析:

风险1:wifi密码被窃取。

由于手机使用无线通信告诉设备要连接的wifi的密码,而手机发射的无线信号具有一定覆盖范围(7-8米或更远),因此,在此过程中,存在wifi密码被窃取的问题,此问题在独栋住宅并不明显,但在商品房或群租环境中则比较明显,如下图所示:

风险2:设备被恶意添加。

         同理,在手机无线信号能够覆盖的区域内,如果存在一台待添加和绑定用户的设备,那么这台设备就有可能被恶意设置连接到攻击者指定的wifi上,然后添加到攻击者的账户,导致隐私泄露,如下图所示:

4、目前解决方案分析

方案1、使用独立唯一的设备密钥进行加密通信

         设备出厂时为每个设备分配一个足够安全的独立密钥,用户在使用一键wifi配置功能时要求输入密钥,并使用对称加密算法进行加密,由于设备本身拥有该密钥,故可以对加密信息进行解密。

         优点:能同时解决风险1和风险2。

         缺点:单向通信,用户体验差(特别是密钥复杂时),也不满足业务一键配置的需求。

衍生方案:使用固定密钥加密,但很容易遭逆向破解获取密钥。

流程图如下:

方案2:使用近场通信或信号屏蔽性好的技术。

         声波具有难穿墙的特点,NFC具有超短距离通信特点,等等。

         优点:能同时解决风险1和风险2。

         缺点:需要增加硬件或专利费用等成本。

方案3:设置时间窗口降低风险。

         为刚启动上电或刚重置的设备设置一个可以设置wifi的时间窗口(比如15分钟),超过时间窗口后,需要拔电重启或重置设备才可以再此给设备设置wifi。

         优点:能降低设备被恶意设置wifi和添加的风险,且不增加成本,用户体验损失小。

         缺点:未能解决风险1的wifi口令泄漏问题。

备注:方案1的衍生方案(即使用固定密钥)和本方案结合使用可降低风险,且不增加成本和降低用户体验。

方案4:使用softAP

         即将设备模拟成一个wifi热点,移动客户端可以连接该热点和设备直接通信,这样便可以形成双向的通信,让使用公钥加密算法(比如:ECC)成为可能,流程图如下:

优点:双向通信,可采用公开密钥体制算法(比如:ECC),解决风险1描述的数据保密性问题,同时不损失用户体验。

缺点:未能解决风险2的恶意添加的问题,同时由于softAP产生的SSID暴露了设备的存在性,可能使得该问题变得更加严重。

备注:

1、  连接设备softAP时,采用硬编码的口令,即所有设备的softAP口令都一样,这也意味着攻击者是可以逆向破解获得口令的,因此,该方案必须假设此风险的存在性。

2、  当手机客户端连接上设备softAP后,相当于手机客户端可访问设备上的端口和服务,此无形增加了风险,因此需要一些措施进行缓解防止攻击者恶意连接设备进行攻击,比如:当设备在连接wifi的状态下应关闭softAP,以及在softAP模式下,设备只接受设置wifi的请求,不响应其它服务请求等。

3、  此方案可以和方案3一起使用降低风险2。

5、ECC加解密流程:

 

Smart config风险分析与对策的更多相关文章

  1. Webduino Smart 从入门到起飞

    前言 原创文章,转载引用务必注明链接.水平有限,如有疏漏,欢迎指正. 试用了一下,感觉这板子+WebduinoBlockly在线开发环境,下限低.上限也低,以后肯定要刷其他固件的.举个简单的例子,WB ...

  2. 物联网(莹石云)WIFI一键配置原理分析(zz)

    最近打算做一款自己的无线传输模块用来实现光伏电站的数据接入,希望可以尽量简化接入流程,其中wifi密码的配置就是一个比较麻烦的事情,想到最近使用萤石摄像头时,wifi密码配置似乎很简单,他们是怎么做到 ...

  3. WIFI接入Internet配置过程

    转载请注明出处:http://club.gizwits.com/thread-256-1-1.html AirLink模式GoKit2代配置路由SSID和密码方法如下:1.GoKit2上电2.长按Ke ...

  4. app配置智能硬件的解决方案

    随着越来越多的智能硬件产品上市,越来越多的硬件都戴上了智能的帽子,什么智能插座,智能音箱,智能称等等.凡是所谓的智能,都是通过wifi或者蓝牙来连接互联网,其中蓝牙也只能算是手机的附属品吧.主要还是硬 ...

  5. esp-12e折腾

    寒假前就从x宝买了esp-12e以及esp32s,当时似乎是想给自己的蓝牙开门升级换代?esp32s拿来过度linux? 寒假放在书包拿回去以为有时间会玩玩,没想到一直耽搁到现在.前两天才拿出来,网上 ...

  6. ESP8266 01S WIFI 网络

    ESP8266是一款超低功耗的UART-WiFi 透传模块,拥有业内极富竞争力的封装尺寸和超低能耗技术,专为移动设备和物联网应用设计,可将用户的物理设备连接到Wi-Fi 无线网络上,进行互联网或局域网 ...

  7. 开发快平台(M302I小e开发板系列教程)

    开发快平台(M302I小e开发板系列教程) 开发块平台ESP8266模块相关理解 一. M302I小e开发板源码注释,源码基于:v1.4.0.8-u34.zip 1. user_main.c /*** ...

  8. Arduino Core For ESP8266

    如果选择纯C作为ESP8266的开发,有两个途径: 使用乐鑫官方原生的 RTOS-SDK或者NONOS-SDK 使用Arduino IDE 使用PlatformIO 作为一个"Arduino ...

  9. RealTek WiFi 模块 RTL8710AF RTL8711AF RTL8711AM RTL8195AM

    瑞昱 8710 是一个完整且自成体系的 WiFi 网络解决方案, 能够独立运行,也可以作为从机搭载于其他主机 MCU 运行. 瑞昱 8710 在搭载应用并作为设备中唯⼀的应⽤处理器时,能够直接从外接闪 ...

随机推荐

  1. sicily 1059. Exocenter of a Trian

    Description Given a triangle ABC, the Extriangles of ABC are constructed as follows: On each side of ...

  2. 【bzoj4567】SCOI2016背单词

    题号莫名喜感. 倒序建Trie,dfs这棵Trie,贪心一下,每次按照size排序计算贡献就好. #include<bits/stdc++.h> #define N 100010 #def ...

  3. ASPxgridview 编辑列初始化事件

    在初始化编辑咧的时候,给其赋值或者是disable等等.... 贴上代码 protected void master_CellEditorInitialize(object sender, ASPxG ...

  4. linux命令(13):kill/killall命令

    停止指定的进程名:kill 进程ID号 把所有httpd进程杀掉:killall httpd 强制停止进程mysqld:killall -9 mysqld

  5. 利用flex布局来column分布

    html代码 <div class='items'> <div class='item'></div> <div class='item'></d ...

  6. 怎么制作CHM格式电子书

    CHM格式的帮助文件相信大家都不陌生,CHM文件形式多样,使用方便,深受大家喜爱. 今天给大家介绍一种把文本文件转换为CHM格式电子书的方法. 前期准备过程 1 下载QuickCHM v2.6文件 去 ...

  7. string与int的相互转换以及把一个字符加入到string的末尾

    #include "stdafx.h" #include<sstream> #include<string> #include<iostream> ...

  8. OSError: libgfortran.so.3: cannot open shared object file: No such file or directory

    运行程序遇到下面问题 OSError: libgfortran.so.3: cannot open shared object file: No such file or directory 安装yu ...

  9. 【笔试题】Spring笔试题

    spring笔试题 1.Spring支持的事务管理类型 Spring支持两种类型的事务管理: 编程式事务管理:这意味你通过编程的方式管理事务,给你带来极大的灵活性,但是难维护. 声明式事务管理:这意味 ...

  10. VS2013下实现移动端的跨平台开发

    http://www.th7.cn/Program/Android/201412/336394.shtml 前一天准备下载VS2015预览版,到VisualStudio官网一看,发现微软发布了Visu ...