CN107707331A - WiFi芯片与安全芯片信息交互方法 - Google Patents
WiFi芯片与安全芯片信息交互方法 Download PDFInfo
- Publication number
- CN107707331A CN107707331A CN201710822465.9A CN201710822465A CN107707331A CN 107707331 A CN107707331 A CN 107707331A CN 201710822465 A CN201710822465 A CN 201710822465A CN 107707331 A CN107707331 A CN 107707331A
- Authority
- CN
- China
- Prior art keywords
- chip
- data
- safety chip
- frame
- wifi
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
- H04L1/0083—Formatting with frames or packets; Protocol or part of protocol for error control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
- H04L1/0084—Formats for payload data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/6245—Modifications to standard FIFO or LIFO
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供一种WiFi芯片与安全芯片信息交互方法,包括以下步骤:WiFi芯片和安全芯片底层驱动初始化;在WiFi芯片和安全芯片中创建ring buffer数组;查询ring buffer数组中是否有数据;如果查询到ring buffer数组中有数据则判断查询到的数据是否有效;如果查询到的数据有效则WiFi芯片和安全芯片完成信息交互,如果查询到的数据无效则将查询到的数据丢弃;再次查询WiFi芯片和安全芯片中创建的ring buffer数组中是否有数据,依次循环,完成WiFi芯片和安全芯片信息交互,本发明WiFi芯片与安全芯片间的交互逻辑更合理,具有可扩展性,可靠性和安全性的特点。
Description
技术领域
本发明应用于互联网智能设备安全系统中,涉及到智能设备中WiFi芯片与安全芯片信息交互方法。
背景技术
近年来,随着物联网概念的越来越普及,市场上的智能设备也越来越多。这些智能设备通过wifi连接网络,产生大量数据,并向云端服务器传输。但是由于通过网络传输数据,目前大多数智能设备的数据传输都是明文传输或者加解密安全方案很简单,很容易被黑客截获信息或被攻击,很容易泄露用户的个人隐私数据。因此随着物联网的发展,信息的安全性也会越来越重要。
随着安全性越来越被重视,在智能设备网络体系中新增了安全系统。一般的智能设备网络体系为云端,手机APP和智能设备端三部分组成。现在加入安全系统的,就需要在云端,手机APP和智能设备端增加相应的安全系统实现。云端和手机APP端主要使用软件来实现,智能设备端通过增加硬件安全芯片ALKS80H1来实现。
发明内容
本发明介绍了一种WiFi芯片与安全芯片间的信息交互方法,该方法可适应不同的底层硬件通信驱动比如I2C通信、UART通信或SPI通信。并使得WiFi芯片与安全芯片间的交互逻辑更合理,具有可扩展性,可靠性和安全性的特点。
本发明的技术方案:一种WiFi芯片与安全芯片信息交互方法,包括以下步骤:
WiFi芯片和安全芯片底层驱动初始化;
在WiFi芯片和安全芯片中创建ring buffer数组;
查询WiFi芯片和安全芯片中创建的ring buffer数组中是否有数据;
如果查询到ring buffer数组中有数据则判断查询到的数据是否有效;
如果查询到的数据有效则WiFi芯片和安全芯片完成信息交互,如果查询到的数据无效则将查询到的数据丢弃;
再次查询WiFi芯片和安全芯片中创建的ring buffer数组中是否有数据,依次循环,完成WiFi芯片和安全芯片信息交互。
在WiFi芯片和安全芯片中创建ring buffer数组之后,WiFi芯片和安全芯片的硬件缓冲区接收到的数据均存入ring buffer数组中。
所述ring buffer数组创建之后配套创建读取指针和写入指针,每当ring buffer数组有数据加入写入指针就往后移,当ring buffer数组有数据取出读取指针就往后移。
所述查询WiFi芯片和安全芯片中创建的ring buffer数组中是否有数据的方法通过主程序循环判断读取指针和写入指针来实现。
通过数据中的消息帧的格式定义内容来判断查询到的数据是否有效。
所述消息帧的格式定义内容包括帧头、版本号、命令域、消息体长度、消息体和帧尾;
帧头,由2个byte组成,为固定的0xAA,0xAA;
版本号,该版本号指的是安全芯片里面软件版本号,因为不同的软件版本号将会包含不同的功能,版本号由6个byte组成;
命令域,命令域由2个byte组成,其包含各自目前安全芯片与WiFi芯片间的控制相关命令,并且使用2个byte将为后面的软件版本升级,功能添加进行保留,体现了本发明的可扩展性;
消息体长度,由2个byte组成,为16bit的小端模式,short型数据,指的是后面具体消息的长度,以byte字节为单位;
消息体,由对应命令域确定相关内容;
帧尾,一个byte,内容为固定的0xFF;
通过读取帧头、消息体长度和帧尾来判断消息帧是否合法,从而判断ring buffer数组内的数据是否有效。
所述消息帧为控制指令帧、状态指令帧、数据指令帧和响应指令帧,通过命令域来进行区分。
本发明的技术效果:WiFi芯片与安全芯片间的交互逻辑更合理,具有更好的扩展性,更高的可靠性,并使WiFi芯片与安全芯片间的通信也具备一定的安全性。
附图说明
图1是目前市场上智能设备网络拓扑结构示意图;
图2是本发明智能设备示意图;
图3是本发明信息交互方法流程图;
图4是本发明请求生成大随机数逻辑交互流程图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
目前市场上的智能设备网络拓扑结构如图1所示。主要由三部分组成,云端服务器,手机APP和智能设备。为了保证用户的数据信息安全,在这个网络体系中需要加入安全系统,就需要在这三大部分同时加入对应的安全方案配套措施。本发明应用于智能设备端,为智能设备端安全系统的一部分。
如图2所示,智能设备端的安全方案实现通过使用硬件安全芯片为基础来实现的。本发明的作用为建立WiFi主控芯片和安全芯片间的可靠的,有效的,可扩展性的,安全的信息交互连接机制。
WiFi芯片和安全芯片在数据接收端不依赖底层通信方式的实现,整体流程如图3所示。
一种WiFi芯片与安全芯片信息交互方法,包括以下步骤:
WiFi芯片和安全芯片底层驱动初始化;
在WiFi芯片和安全芯片中创建ring buffer数组;
查询WiFi芯片和安全芯片中创建的ring buffer数组中是否有数据;
如果查询到ring buffer数组中有数据则判断查询到的数据是否有效;
如果查询到的数据有效则WiFi芯片和安全芯片完成信息交互,如果查询到的数据无效则将查询到的数据丢弃;
再次查询WiFi芯片和安全芯片中创建的ring buffer数组中是否有数据,依次循环,完成WiFi芯片和安全芯片信息交互。
在WiFi芯片和安全芯片中创建ring buffer数组之后,WiFi芯片和安全芯片的硬件缓冲区接收到的数据均存入ring buffer数组中。
所述ring buffer数组创建之后配套创建读取指针和写入指针,每当ring buffer数组有数据加入写入指针就往后移,当ring buffer数组有数据取出读取指针就往后移。
所述查询WiFi芯片和安全芯片中创建的ring buffer数组中是否有数据的方法通过主程序循环判断读取指针和写入指针来实现。
通过数据中的消息帧的格式定义内容来判断查询到的数据是否有效。
WiFi芯片与安全芯片间的信息交互方法还包括信息的帧格式定义内容。每个消息帧都由如下几部分组成:header—帧头,version—版本号,cmd—命令域,len—消息体长度,msg—消息体,tail—帧尾。
该机制可以通过header,tail,len来判断ring buffer里面的消息帧是否为合法帧。
header:帧头,由2个byte组成,为固定的0xAA,0xAA。
version:版本号,该版本号指的是安全芯片里面软件版本号,因为不同的软件版本号将会包含不同的功能。版本号由6个byte组成。
cmd:命令域,命令域由2个byte组成。其包含各自目前安全芯片与WiFi芯片间的控制相关命令。并且使用2个byte将为后面的软件版本升级,功能添加进行保留,体现了本发明的可扩展性。
len:消息体长度,由2个byte组成,为16bit的小端模式,short型数据。指的是后面具体消息的长度,以byte字节为单位。
msg:消息体,由对应命令域确定相关内容。
tail:帧尾,一个byte,内容为固定的0xFF。
在该信息交互方法中,一个消息帧可分类为控制指令帧、状态指令帧、数据指令帧和响应指令帧。可通过cmd命令域来区分他们,其中响应指令帧的第一个byte将为0x8n。控制指令帧,在cmd命令域填各自控制码,在msg消息体中填相关控制需求信息。状态指令帧,在cmd命令域填相关的状态查询码,len为0,所以msg消息体不填内容,后面直接接tail帧尾(心跳帧也属于该类)。数据指令帧,该帧由两条或两条以上帧组成,第一条帧为在cmd命令域指出为数据帧起始帧,在msg消息体指出后续的数据帧总包数,由4个byte组成,为32bit的小端模式,int型数据。因此后续的数据帧内容为,cmd命令域表明该帧为数据帧,在msg消息体里头四字节表示该帧的包数,为4个byte组成,32bit小端模式,int型数据,后面接数据。
本发明在定义了帧格式后,还实现WiFi芯片和安全芯片间的几个逻辑功能。
WiFi芯片上电后向安全芯片请求生成大随机数。流程如图4所示,根据信息交互方法中的定义,请求生成大随机数的cmd命令域为0x00 0x05。所以WiFi芯片向安全芯片发送信息帧0xAA 0xAA 0x41 0x4C 0x4B 0x53 0x30 0x31 0x00 0x05 0x00 0x00 0xFF。如果安全芯片没有大随机数,则安全芯片会生成一个大随机数,并且回复生成大随机数成功响应帧,其中cmd命令域为0x80 0x05,msg为0x01,所以帧内容为0xAA 0xAA 0x41 0x4C 0x4B0x53 0x30 0x31 0x80 0x05 0x01 0x00 0x01 0xFF。如果已含有大随机数,则安全芯片回复已有大随机数响应帧,其msg为0x02,帧内容为0xAA 0xAA 0x41 0x4C 0x4B 0x53 0x300x31 0x80 0x05 0x01 0x00 0x02 0xFF。如果WiFi芯片收到的是生成大随机数成功响应帧,则WiFi芯片将继续发送请求存储大随机数帧,其cmd域为0x00 0x41,len为0x00 0x00,所以帧内容为0xAA 0xAA 0x41 0x4C 0x4B 0x53 0x30 0x31 0x00 0x41 0x00 0x00 0xFF。安全芯片则存储大随机数,并回复存储成功响应帧,其帧内容为:0xAA 0xAA 0x41 0x4C0x4B 0x53 0x30 0x31 0x80 0x41 0x01 0x00 0x01 0xFF。请求生成大随机数逻辑交互就完成了。
WiFi芯片请求安全芯片生成RSA密钥对。该流程域第一点类似,该请求帧中cmd命令域内容为0x00 0x03。如果安全芯片已经有密钥对了,安全芯片将回复已含有密钥对的成功响应,其cmd命令域为0x80 0x03,msg为0x02。如果安全芯片没有,就生成密钥对,并回复生成成功的响应帧,cmd命令域为0x80 0x03,msg为0x01。WiFi芯片如果得到生成成功响应帧,就发送命令请求安全芯片将密钥对进行存储,其cmd命令域为0x00 0x43。如果得到了已含有的成功响应帧,其cmd命令域为0x80 0x43,msg为0x01。该逻辑交互完成。
WiFi芯片请求安全芯片进行AES加密,该帧其实为数据帧,将会传输相关的消息数据,其数据起始帧cmd域0x00 0x60,len 0x0004,msg总包数,其数据帧cmd域0x00 0x61,len为msg长度,msg为第几包+消息体。安全芯片在进行加密操作后,再将加密的数据回给WiFi芯片,其响应帧起始帧cmd命令域为0x80 0x60,数据帧cmd命令域为0x80 0x61。同时还有WiFi芯片请求安全芯片进行AES解密数据帧,起始帧cmd命令域为0x00 0x70,数据帧cmd域为0x00 0x71。WiFi芯片请求生成消息HASH值,起始帧cmd域为0x00 0x80,数据帧cmd域0x000x81。WiFi芯片请求读取RSA公钥数据帧,起始帧cmd域为0x00 0x90,数据帧cmd域为0x000x91。WiFi芯片请求安全芯片进行RSA解密,起始帧cmd域为0x00 0xa0,数据帧cmd域为0x000xa1。WiFi芯片请求安全芯片进行RSA加密,起始帧cmd域为0x00 0xb0,数据帧cmd域为0x000xb1。
WiFi芯片请求升级安全芯片软件代码命令帧。安全芯片得到该帧后,将停止自己的其他工作,并回复已经准备就绪的响应帧。WiFi芯片获取已经准备就绪的响应帧后,将发送升级文件的大数据帧。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (7)
1.一种WiFi芯片与安全芯片信息交互方法,其特征在于,包括以下步骤:
WiFi芯片和安全芯片底层驱动初始化;
在WiFi芯片和安全芯片中创建ring buffer数组;
查询WiFi芯片和安全芯片中创建的ring buffer数组中是否有数据;
如果查询到ring buffer数组中有数据则判断查询到的数据是否有效;
如果查询到的数据有效则WiFi芯片和安全芯片完成信息交互,如果查询到的数据无效则将查询到的数据丢弃;
再次查询WiFi芯片和安全芯片中创建的ring buffer数组中是否有数据,依次循环,完成WiFi芯片和安全芯片信息交互。
2.根据权利要求1所述的WiFi芯片与安全芯片信息交互方法,其特征在于,在WiFi芯片和安全芯片中创建ring buffer数组之后,WiFi芯片和安全芯片的硬件缓冲区接收到的数据均存入ring buffer数组中。
3.根据权利要求1所述的WiFi芯片与安全芯片信息交互方法,其特征在于,所述ringbuffer数组创建之后配套创建读取指针和写入指针,每当ring buffer数组有数据加入写入指针就往后移,当ring buffer数组有数据取出读取指针就往后移。
4.根据权利要求3所述的WiFi芯片与安全芯片信息交互方法,其特征在于,所述查询WiFi芯片和安全芯片中创建的ring buffer数组中是否有数据的方法通过主程序循环判断读取指针和写入指针来实现。
5.根据权利要求1所述的WiFi芯片与安全芯片信息交互方法,其特征在于,通过数据中的消息帧的格式定义内容来判断查询到的数据是否有效。
6.根据权利要求5所述的WiFi芯片与安全芯片信息交互方法,其特征在于,所述消息帧的格式定义内容包括帧头、版本号、命令域、消息体长度、消息体和帧尾;
帧头,由2个byte组成,为固定的0xAA,0xAA;
版本号,该版本号指的是安全芯片里面软件版本号,因为不同的软件版本号将会包含不同的功能,版本号由6个byte组成;
命令域,命令域由2个byte组成,其包含各自目前安全芯片与WiFi芯片间的控制相关命令,并且使用2个byte将为后面的软件版本升级,功能添加进行保留,体现了本发明的可扩展性;
消息体长度,由2个byte组成,为16bit的小端模式,short型数据,指的是后面具体消息的长度,以byte字节为单位;
消息体,由对应命令域确定相关内容;
帧尾,一个byte,内容为固定的0xFF;
通过读取帧头、消息体长度和帧尾来判断消息帧是否合法,从而判断ring buffer数组内的数据是否有效。
7.根据权利要求6所述的WiFi芯片与安全芯片信息交互方法,其特征在于,所述消息帧为控制指令帧、状态指令帧、数据指令帧和响应指令帧,通过命令域来进行区分。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710822465.9A CN107707331A (zh) | 2017-09-13 | 2017-09-13 | WiFi芯片与安全芯片信息交互方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710822465.9A CN107707331A (zh) | 2017-09-13 | 2017-09-13 | WiFi芯片与安全芯片信息交互方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107707331A true CN107707331A (zh) | 2018-02-16 |
Family
ID=61172621
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710822465.9A Pending CN107707331A (zh) | 2017-09-13 | 2017-09-13 | WiFi芯片与安全芯片信息交互方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107707331A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080109665A1 (en) * | 2003-02-14 | 2008-05-08 | International Business Machines Corporation | Network processor power management |
CN103279397A (zh) * | 2013-04-25 | 2013-09-04 | 北京空间飞行器总体设计部 | 一种星载延时指令全部保存与恢复的实现方法 |
CN104545902A (zh) * | 2015-01-30 | 2015-04-29 | 中国科学院电子学研究所 | 4段流水线数字信号处理器及采用其的无线片上系统芯片 |
CN107155184A (zh) * | 2017-07-17 | 2017-09-12 | 深圳市安林克斯智能科技有限公司 | 一种带有安全加密芯片的wifi模块及其通信方法 |
-
2017
- 2017-09-13 CN CN201710822465.9A patent/CN107707331A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080109665A1 (en) * | 2003-02-14 | 2008-05-08 | International Business Machines Corporation | Network processor power management |
CN103279397A (zh) * | 2013-04-25 | 2013-09-04 | 北京空间飞行器总体设计部 | 一种星载延时指令全部保存与恢复的实现方法 |
CN104545902A (zh) * | 2015-01-30 | 2015-04-29 | 中国科学院电子学研究所 | 4段流水线数字信号处理器及采用其的无线片上系统芯片 |
CN107155184A (zh) * | 2017-07-17 | 2017-09-12 | 深圳市安林克斯智能科技有限公司 | 一种带有安全加密芯片的wifi模块及其通信方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106878138B (zh) | 一种报文传输方法和装置 | |
CN104067565B (zh) | 用于多租户访问网络的连接系统 | |
US10313410B2 (en) | Systems and methods using binary dynamic rest messages | |
CN105723674B (zh) | 用于在网络控制协议中动态地绑定头字段标识符的方法 | |
CN103647853B (zh) | 一种在VxLAN中发送ARP报文发送方法、VTEP及VxLAN控制器 | |
CN104253840B (zh) | 用于支持多种类型安全载体之间通信的装置及其通信方法 | |
CN104038528B (zh) | 中继装置、系统及方法 | |
KR20100075896A (ko) | Nfc 시스템 내에서 애플리케이션 데이터를 관리하는 방법 및 장치 | |
CN102480335B (zh) | 一种业务数据的发送方法及系统 | |
CN109067451A (zh) | 一种提高数据传输实时性的多功能测控与数据分发终端 | |
KR101188507B1 (ko) | 웹 플랫폼을 이용한 아이피 기반 IoT 사물 브라우징 기술 및 네트워크 중계 기술 기반 이기종 네트워크 중계 장치 및 방법과 이를 이용한 사용자 단말 | |
CN109890012A (zh) | 数据传输方法、装置、系统和存储介质 | |
CN106550427A (zh) | 用于实现无线局域网快速配置的方法、WiFi终端和系统 | |
CN108259453A (zh) | 一种报文转发方法及装置 | |
CN104602208B (zh) | 一种基于移动网络的短信加密通信方法 | |
KR101807429B1 (ko) | 스마트미터의 일괄 파라미터 설정을 위한 원격 관리 시스템 및 그 방법 | |
CN107395604A (zh) | 一种物联网信息传输方法和装置 | |
WO2019141094A1 (zh) | 用于可信服务管理的方法及装置 | |
CN106790283A (zh) | 一种物联网系统架构及数据通信方法 | |
CN104660644A (zh) | 通信方法及远程终端 | |
CN107707331A (zh) | WiFi芯片与安全芯片信息交互方法 | |
CN108092869A (zh) | 虚拟接口配置方法及通信设备 | |
CN103650457A (zh) | 一种共享接入的检测方法、设备和终端设备 | |
CN109302285A (zh) | 一种IPv6网络节点数据安全传输方法 | |
CN102480463B (zh) | 网络交互方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180216 |
|
RJ01 | Rejection of invention patent application after publication |