繁易物联网模块如何接入第三方服务

繁易物联网模块如何接入第三方服务,第1张

繁易物联网模块通过MQTT协议接入第三方服务。繁易物联触摸屏,可以直接接入繁易工业物联网平台,实现真正的设备远程联网和售后运维等功能。同时,还支持MQTT,通过MQTT协议接入到第三方的物联网平台中。

把WiFi用于M2M连接的主要优点是使用现有网络、速率高(WiFi的速率大大超过处理遥测所需的数据量)、前后兼容性好。


WiFi现在是一种用得较多的无线技术。除了在笔记本电脑中,目前在许多网络设备(Cisco的所有路由器和交换机)中也增加了处理80211协议的能力,就像处理以太网和IP一样方便。由于WiFi在企业中已经非常普遍,故自然会考虑选用它来提供M2M连接。目前,诸如Airespace、TrapezeNetworks等无线交换机厂商,已经推出能够实时跟踪器具的软件。Intel出资的新兴公司Bluesoft甚至已经在销售基于80211b的RFID标记,一片小小的用电池供电的网络接口卡。
使用WiFi的缺点包括功耗大、成本高、协议开销大、需要接入点。目前在一个器具上增加WiFi至少需要15美元。Bluesoft标记的价格是65美元。虽然成本还会下降,但近期仍只能用于跟踪价值较高的资产。一个仓库可能只会把Bluesoft标记用于它的铲车,而不会用于铲车搬动的箱子。WiFi是一个无中继转发能力的单跳网,器具只能连接到接入点(AP)。AP之间的连接、AP与其它网络的连接往往通过常规的有线以太网。如果已经用于其它以太网业务的同一布线再用作WiFi回传,就需要进行认证或把WiFi无线数据包隔离开。要不,你就不得不安装新的缆线和交换机。

有很多通信模块只有TCP功能,没有MQTT功能,比如WIFI,W5500等模块,还有一些NBIOT模块,但是又想连接阿里云物联网平台,官方提供了 *** 作系统,需要自己移植,很麻烦,比较难看得懂。就在想有没有一些简单一定的方法。
心想MQTT是基于TCP的,能否使用TCP转MQTT?因此就想使用TCP协议然后转MQTT协议连接阿里云物联网平台,经过试验证明是可以的。
首先我们先分析一下如何登陆接入Onenet平台。
先从它数据格式开始分析。首先我们要从后台取出三个信息,我们以这个为例。
我们把产品ID,设备名称,设备秘钥,简称三要素 (具体是什么看你自己的设备)
其实阿里云物联网平台的MQTT协议用的就是标准的,不过它加入了自己的认证方式。
MQTT协议需要上传四个参数,报活时间,clientID,用户名,密码。
那么阿里云的就在clientID,用户名,密码做了手脚。
clientID比较长,按照一定的格式
用户名:设备名和秘钥组成
密码:使用了加密串进行了加密,有sha1或者MD5加密方式
下面我们来介绍一下
MQTT接入都是发十六进制的数据。
么我们发送的时候就是这样子的一串数据
0x74 0x00 0x04 0x4d 0x51 0x54 0x54 0x04 0xC0 0078 0033 0x61 0x62 0x63 0x7c 0x73 0x65 0x63 0x75 0x72 0x65 0x6d 0x6f 0x64 0x65 0x3d 0x33 0x2c 0x73 0x69 0x67
0x6e 0x6d 0x65 0x74 0x68 0x6f 0x64 0x3d 0x68 0x6d 0x61 0x63 0x73 0x68 0x61 0x31 0x2c 0x74 0x69 0x6d 0x65 0x73 0x74 0x61 0x6d 0x70 0x3d 0x31 0x32 0x30 0x7c 0009
0x35 0x36 0x37 0x38 0x26 0x31 0x32 0x33 0x34 0028 0x32 0x32 0x32 0x37 0x35 0x30 0x44 0x45 0x44 0x46 0x45 0x34 0x46 0x37 0x37 0x34 0x30 0x30 0x32 0x45 0x45 0x38 0x37 0x45 0x45 0x44 0x32 0x39 0x43 0x46 0x44 0x30 0x36 0x33 0x38 0x43 0x35 0x46 0x36 0x36
十六进制解释
数据长度:0x74
协议数据长度 0x00 0x04
协议类型: 0x4d 0x51 0x54 0x54
协议数据: 0x04 0xC0
keepAlive数据:0078
ClientID长度:0033
ClientID: 0x61 0x62 0x63 0x7c 0x73 0x65 0x63 0x75 0x72 0x65 0x6d 0x6f 0x64 0x65 0x3d 0x33 0x2c 0x73 0x69 0x67 0x6e 0x6d 0x65 0x74 0x68 0x6f 0x64 0x3d 0x68 0x6d 0x61 0x63 0x73 0x68 0x61 0x31 0x2c 0x74 0x69 0x6d 0x65 0x73 0x74 0x61 0x6d 0x70 0x3d 0x31 0x32 0x30 0x7c
用户名:0009
用户名: 0x35 0x36 0x37 0x38 0x26 0x31 0x32 0x33 0x34
密码长度:0028
密码: 0x32 0x32 0x32 0x37 0x35 0x30 0x44 0x45 0x44 0x46 0x45 0x34 0x46 0x37 0x37 0x34 0x30 0x30 0x32 0x45 0x45 0x38 0x37 0x45 0x45 0x44 0x32 0x39 0x43 0x46 0x44 0x30 0x36 0x33 0x38 0x43 0x35 0x46 0x36 0x36复制代码上面的就是连接服务器的连接包
下面呢,我们来做个发布包(上传数据到服务器)
0x30 0x1D 0009 2f7379732f706f7374 0x7b 0x70 0x61 0x72 0x61 0x6d 0x73 0x3a 0x7b 0x74 0x65 0x6d 0x70 0x3a 0x31 0x30 0x7d 0x7d
十六进制数据解释
数据头:0x30
数据长度:0x1D
TopicName数据长度:0009
TopicName数据内容:2f7379732f706f7374
主体json数据: 0x7b 0x70 0x61 0x72 0x61 0x6d 0x73 0x3a 0x7b 0x74 0x65 0x6d 0x70 0x3a 0x31 0x30 0x7d 0x7d复制代码以上就是连接阿里云的数据包格式及发布数据的格式,由于时间问题没有做订阅的数据包分析,下一次更新订阅的内容。

由WI-FI的不断发展,我们即将都会用上新的80211ax协议和比较安全稳定的WI-FI安全协议WPA3。在我们到底能弄明白WPA3究竟能带来哪些好处之前,有必要对之前WI-FI无线协议 历史 有个 历史 回顾,忆苦思甜才能真正知道有多甜,吃水不忘挖井人,只有知道前辈们为了WI-FI安全所做的那些努力我们才能知道任何一个系统安全保障是多么的不易。本文虫虫就给大家讲讲Wi-Fi协议发展简史以及关键的 历史 点

在上世纪90年代中后期,互联网伊始,通过任何一个机器都可以"嗅探"任何其他给定机器的流量,即使在有线网络上也是如此。当时的以太网主要是通过集线器而不是交换机相连,任何稍微懂点互联网协议的人都可以随时通过网络抓包浏览网络流量中传输的内容,从底层的网络包到应用层电子邮件的内容都一览无遗。

在世纪交替之际(2000年附近),有线以太网已经从集线器(甚至是旧的同轴电缆网)转到了交换机。集线器会将收到的每个数据包转发给连接到它的每台机器,所以基于此的网络嗅探非常简单。相比之下,交换机只会将数据包转发到它们所指定的MAC地址,因此当计算机B想要将数据包发送到路由器A时,交换机不会向计算机C上的用户提供网络包。这一点点的微妙变化使有线网络比以前更加值得信赖。当1997年发布最初的80211 Wi-Fi标准时,包括WEP-无线加密协议,它提供了与时下用户期望的有线网络具有相同的安全性期望,所以他的名字也是源于此。

WEP的原始版本需要一个10位数字或者26位的十六进制预共享密钥,比如0A3FBE839A类似的数字。由于十六进制位数可用字符有限制,只能0-9和A-F字母,所以和日常使用的可读字符比较差异很大,非常不易于阅读和使用,很容易出现故障。比如你使用一个个不在0-F范围的字母,就会报错。和大家预期的一样,WEP很快就被抛弃不用。尽管要求用户有效和准确地分享10或26位十六进制数字似乎非常不合理,但是在1997年确实是这样用的。
D-Link的DI-514 80211b是WEP路由器的一个例子。它是一个非常完美的路由器。

后续版本的WEP提供了对客户端和路由器都一致方式,自动将任意长度的人类可读密码hash散列化到10或26位十六进制代码。因此,尽管WEP的底层仍使用原始的40位或104位数字进行处理,但是至少不用人们使用阅读和分享这些难记的数字串。从数字到密码的转变开始,使得WEP使用量开始攀升。

虽然人们实际使用中WEP还挺好,但这个早期的安全协议仍然有很多问题。一方面,它故意使用了很弱的RC4加密,尽管可以手动设置加强的加密算法,仍然容易被同一网络的其他机器嗅探。由于所有流量都使用相同的PSK进行加密和解密,所以任何人都可以轻松截取你的流量,并且解密。
这还不是最可怕的,可怕的是WAP密码可以很容易被破解,基于Aircrack-Ng 破解套件可以在几分钟内就能破解任何的WEP网络。
WPA的最初实现采用了80211g WI-FI标准,该标准对WEP做了巨大地改进。 WPA从一开始就被设计为接受人性化的密码,但其改进远远不止于此。
WPA引入了TKIP,即Temporal Key Integrity Protocol临时密钥完整性协议。 TKIP主要两个主要用途。首先,它为每个每个发送的数据包创建一个新的128位密钥。这可以防止WEP网络在几分钟被攻破的窘境。TKIP还提供了比WEP简单循环冗余校验(CRC,Cyclic Redundancy Check)强得多的消息认证码。CRC通常可用于低可信度的数据验证,以减轻网络线路噪声的影响,但它有个天然缺陷,无法有效抵御针对性地攻击。

TKIP还使得不会自动将你的流量暴露给其他新加入Wi-Fi网络的人。WEP的静态预共享密钥意味任何人都可以完全清楚地接收其他人的流量。但是TKIP为每个传输的数据包使用了一个新的短暂密钥,所以其他人并不能使用这个密钥。连接到公共Wi-Fi网络的人,虽然大家都知道密码,但是各自用的数据加密密钥都不一样,你就无法直接浏览别人传输的网络包的内容。

但是TKIP也有其问题,并在2008年首次遭遇了中间人攻击(MITM,Man In The Middle)。安全研人员Martin Beck和Erik Tews发现了一种利用80211e QoS功能解密WPA/TKIP网络中短数据包的方法,该攻击方法也叫"Beck-Tews攻击"。攻击过程只需要12-15分钟,但这并不是最糟糕的,当时还相对有很少的网络实际上实施了80211e。

2009年,安全研究人员 Toshihiro Ohigashi和Masakatu Morii表了名为《有关Beck-Tews攻击的新变种》的论文,该论文披露了详细的攻击细节,该攻击可以攻击任何WPA/TKIP网络。
2004年,针对WEP和TKIP的已知的问题,电气和电子工程师协会(IEEE)创建了新的80211无线网络标准80211i扩展。拥有Wi-Fi商标的行业监管机构Wi-Fi Alliance则基于80211i扩展宣实现了WPA2。该版本的改进是用AES-CCMP代替TKIP用于非企业认证(企业通常使用RADIUS来为每个用于单独分配密码,这两个密码,可以避免大多数身份验证攻击问题)。
有一些些80211g路由器支持AES,但是真正大量的使用是从80211n路由器开始的,比如上图中的 Linksys WRT310n。

这里的字母汤很厚很热:AES是高级加密标准(the Advanced Encryption Standard),CCMP是计数器模式密码块链接消息认证码协议(the Counter Mode Cipher Block Chaining Message Authentication Code Protocol)。 AES-CCMP可以避免Beck-Tews及变种的中间人攻击。WPA2虽然支持AES-CCMP,但没有强制启用,为了兼容旧的非WPA2设备,很多用户仍然使用TKIP。

经管WPA2和AES-CCMP可以避免中间人工降,但是也并不是没有永久性地解决安全问题。2017年出现了的KRACK攻击像一般利箭刺穿了AES/CCMP的壁垒。
80211i预期到偶尔会丢失网络连接,并且为了加速重新连接,它允许断开连接的设备重新使用旧密钥重新连接。因此,精心伪装的侦听器可以捕获数据包并使用重放攻击来强制网络重复发送具有新随机数的相同已知块。这样攻击者可以,通过这些信息重建整个密钥串,从而实现完全网络访问。

KRACK攻击由于利用了80211i的漏洞,所以WPA2无法修复。虽然可以通过在密钥安装期间禁用EAPOL-Key帧重新传输等设置可以在很大程度上缓解攻击,但是这会导致下线设备回复重连的时间加长。不过,这是唯一可以防止KRACK攻击,提高安全性的方法。

在KRACK攻击公布后不久,Wi-Fi联盟于2018年1月推出了WPA3。WPA3通过将密钥预共享(PSK)替换为同等身份验证(SAE)来避免重放攻击。SAE是一种旨在强大而安全地识别对等设备的协议,它首次提出了适用于Wi-Fi网状网络的80211s标准。除了解决KRACK攻击之外,Wi-Fi联盟声称,IEEE 80211-2016中提到的SAE的实施将解决用户由于大意或者设置而导致的安全问题。SAE还解决了针对短密码设置的网络的(非暴力或字典)攻击。

WPA3认证还引入了利用NFC进行身份验证的能力。NFC或近场通信是一种极短距离无线通讯技术,用于通过将设备靠近验证设备而进行认证。如果WPA3路由器或接入点启用了NFC网络加入,你只需拿着支持NFC的手机或者互联网设备靠经路由器/接入点,就能通过认证,加入网络。虽然从某种意义上来说这是一种低安全性,任何可以利用手机轻轻靠就能上网。但是由于NFC会话无法被远程捕获,并且方便好用,无需记忆密码,而且可以基于入网设备进行审计和事后行为追踪,所以这是相对比较方便靠谱的方法,完美的权衡了安全性和易用性的要求。

WPA3还通过添加Perfect Forward Secrecy修补了Wi-Fi实施加密的另一个明显漏洞。对于WEP,WPA或WPA2,不知道Wi-Fi密码的攻击者可以记录他们所在范围内的所有内容,然后获得密钥后再解密。通过Perfect Forward Secrecy杜绝了预先录网络包的可能。即使你以后破解了网络,你先前捕获的包仍然不可解码。使用WPA3,即使较弱的>

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/10589939.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-09
下一篇 2023-05-09

发表评论

登录后才能评论

评论列表(0条)

保存