CN112632646B - 一种单片机串口通讯加密方法 - Google Patents

一种单片机串口通讯加密方法 Download PDF

Info

Publication number
CN112632646B
CN112632646B CN202011606722.3A CN202011606722A CN112632646B CN 112632646 B CN112632646 B CN 112632646B CN 202011606722 A CN202011606722 A CN 202011606722A CN 112632646 B CN112632646 B CN 112632646B
Authority
CN
China
Prior art keywords
array
chip microcomputer
data
command
datac
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.)
Active
Application number
CN202011606722.3A
Other languages
English (en)
Other versions
CN112632646A (zh
Inventor
相辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangsu Qunje Iot Technology Co ltd
State Grid Hebei Electric Power Co ltd Material Branch
State Grid Hebei Public Bidding Co ltd
State Grid Corp of China SGCC
Original Assignee
Jiangsu Qunje Iot Technology Co ltd
State Grid Hebei Electric Power Co ltd Material Branch
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jiangsu Qunje Iot Technology Co ltd, State Grid Hebei Electric Power Co ltd Material Branch filed Critical Jiangsu Qunje Iot Technology Co ltd
Priority to CN202011606722.3A priority Critical patent/CN112632646B/zh
Publication of CN112632646A publication Critical patent/CN112632646A/zh
Application granted granted Critical
Publication of CN112632646B publication Critical patent/CN112632646B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Microcomputers (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种单片机串口通讯加密方法,包括以下步骤:将与单片机通讯的设备作为主机,然后发送一段数组A,开始发起一次交互指令;单片机作为从机接收交互指令,并且回复数组B,所述数组B记为dataB[],并且按照如下规则组织数据:dataB[]={xx,index,xx,xx,xx,xx,xx,xx,....,data[index],......},将index在数组B中所在的索引位置记为I;主机接收的数组B并且解析,先取出dataB[I]的值记录为index2,然后取出dataB[index2]的值记录为index3,然后主机发命令数组C,所述数组C记为dataC[],将需要发送的命令放在dataC[index3]中,主机发送命令dataC[]=(dataC[index3]=cmd);S4、从机接收到数组C,取数据dataC[]中索引为index3的数据作为要执行的命令;从机判断命令是否符合要求并执行或拒绝执行命令;本发明的加密算法计算量低,容易实现,并且占用的单片机资源少。

Description

一种单片机串口通讯加密方法
技术领域
本发明涉及一种单片机串口通讯加密方法,本发明涉及对信息数据的交互处理、信息加解密处理、加密交互方法在单片机上的实现。
背景技术
现有的单片机串口通讯在驱动层都是明文通讯,这在一些安全类的产品应用中,如果不在应用层做加密处理,如意泄露敏感信息。现有的一些对称加密技术,如AES、RSA等,理论上可以用于单片机串口消息应用层的加密,但是单片机这种资源受限,算法不适用于单片机系统。
现有的单片机串口通讯,涉及到敏感数据通信时,通过软件对数据总线监听或使用硬件采集总线电气特性就能够抓取到交互的敏感数据,如果传输时不对数据做出任何加密处理,将采集到的数据向单片机发送,仍然会被单片机接受并作出正确的处理,这在一些安全类的产品应用中是不允许的。现有的一些对称加密技术,如AES、RSA等,理论上可以用于单片机串口消息的加密,但是对于单片机这种资源受限的系统来说,计算量过大,占用资源过多,且同样存在加密的数据被抓包后仍然有效的风险。
发明内容
本发明的目的是针对现有技术存在的不足,提供一种单片机串口通讯加密方法,加密算法计算量低,容易实现,并且占用的单片机资源极低。
为实现上述目的,本发明提供了一种单片机串口通讯加密方法,包括以下步骤,
S1、将与单片机通讯的设备作为主机,然后发送一段数组A,开始发起一次交互指令;
S2、单片机作为从机接收交互指令,并且回复数组B,所述数组B记为dataB[],并且按照如下规则组织数据:dataB[]={xx,index,xx,xx,xx,xx,xx,xx,....,data[index],......},将index在数组B中所在的索引位置记为I;
S3、主机接收的数组B并且解析,先取出dataB[I]的值记录为index2,然后取出dataB[index2]的值记录为index3,然后主机发命令数组C,所述数组C记为dataC[],将需要发送的命令放在dataC[index3]中,主机发送命令dataC[]=(dataC[index3]=cmd);
S4、从机接收到数组C,取数据dataC[]中索引为index3的数据作为要执行的命令;
S5、从机判断命令是否符合要求并执行或拒绝执行命令,完成一次交互,从机内部会设置一个交互标志位。
作为上述方案的进一步地改进,所述数组B的数据中,index代表数组索引,data[index]代表数组B中第index个数据。
作为上述方案的进一步地改进,所述步骤S5中当命令执行完毕或命令数据错误,标志会被清除,代表本次交互失效。
作为上述方案的进一步地改进,所述步骤S1中的数组A根据主机和从机约定的规则,每次生成一串随机的数据,数据仅一次有效,一旦执行完步骤S5,本次交互即结束,数组A失效,需要重新进行下一次交互。
作为上述方案的进一步地改进,在数组A失效后,若再次向单片机发送同样的数据,因数据已经失效,单片机不会执行指令。
作为上述方案的进一步地改进,所述步骤S2中的索引位置I随机地改变,防止出现数据被抓包分析的问题。
本发明的有益效果为:这种单片机串口通讯加密方法加密算法计算量低,容易实现,因此占用的单片机资源极低;总线数据一次有效,通讯过程中,如果被抓取后再次发送,数据不会被单片机响应;可以有效防止抓包分析破解协议的行为;数据交互过程不存在复杂的计算,通过简单的一位操作即可完成,消耗极低的处理器及内存资源,因此特别适用单片机这种资源受限的嵌入式系统。
附图说明
图1是本发明实施例提供的一种可单片机串口通讯加密方法的流程示意图;
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
根据图1所示的一种单片机串口通讯加密方法,包括以下步骤:
S1、将与单片机通讯的设备作为主机,然后发送一段数组A,开始发起一次交互指令;
S2、单片机作为从机接收交互指令,并且回复数组B,所述数组B记为dataB[],并且按照如下规则组织数据:dataB[]={xx,index,xx,xx,xx,xx,xx,xx,....,data[index],......}数据中,将index在数组B中所在的索引位置记为I,I的位置根据双方协商,可以随机地改变,随机地数据可以有效防止数据被抓包分析问题;
S3、主机接收的数组B并且解析,先取出dataB[I]的值记录为index2,然后取出dataB[index2]的值记录为index3(index3=data[index]),然后主机发命令数组C,所述数组C记为dataC[],将需要发送的命令放在dataC[index3]中,主机发送命令dataC[]=(dataC[index3]=cmd);
S4、从机接收到数组C,取数据dataC[]中索引为index3的数据作为要执行的命令;
S5、从机判断命令是否符合要求并执行或拒绝执行命令,完成一次交互,从机内部会设置一个交互标志位。
本实施例中,所述数组B的数据中,index代表数组索引,xx代表随机的数据,data[index]代表数组B中第index个数据,所述步骤S5中当命令执行完毕或命令数据错误,标志会被清除,代表本次交互失效,所述步骤S2中的索引位置I随机地改变,防止出现数据被抓包分析的问题。
进一步地,所述步骤S1中的数组A根据主机和从机约定的规则,每次生成一串随机的数据,数据仅一次有效,一旦执行完步骤S5,本次交互即结束,数组A失效,需要重新进行下一次交互,在数组A失效后,若再次向单片机发送同样的数据,因数据已经失效,单片机不会执行指令。
总而言之,根据上述实施例所述的这种单片机串口通讯加密方法加密算法计算量低,容易实现,因此占用的单片机资源极低;总线数据一次有效,通讯过程中,如果被抓取后再次发送,数据不会被单片机响应;可以有效防止抓包分析破解协议的行为;数据交互过程不存在复杂的计算,通过简单的一位操作即可完成,消耗极低的处理器及内存资源,因此特别适用单片机这种资源受限的嵌入式系统。
对于本领域技术人员而言,显然本实用新型不限于上述示范性实施例的细节,而且在不背离本实用新型的精神或基本特征的情况下,能够以其他的具体形式实现本实用新型。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本实用新型的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本实用新型内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。

Claims (6)

1.一种单片机串口通讯加密方法,其特征在于:包括以下步骤,
S1、将与单片机通讯的设备作为主机,然后发送一段数组A,开始发起一次交互指令;
S2、单片机作为从机接收交互指令,并且回复数组B,所述数组B记为dataB[],并且按照如下规则组织数据:dataB[]={xx,index,xx,xx,xx,xx,xx,xx,....,data[index],......},将index在数组B中所在的索引位置记为I;
S3、主机接收的数组B并且解析,先取出dataB[I]的值记录为index2,然后取出dataB[index2]的值记录为index3,然后主机发命令数组C,所述数组C记为dataC[],将需要发送的命令放在dataC[index3]中,主机发送命令dataC[]=(dataC[index3]=cmd);
S4、从机接收到数组C,取数据dataC[]中索引为index3的数据作为要执行的命令;
S5、从机判断命令是否符合要求并执行或拒绝执行命令,完成一次交互,从机内部会设置一个交互标志位。
2.根据权利要求1所述的一种单片机串口通讯加密方法,其特征在于:所述数组B的数据中,index代表数组索引,data[index]代表数组B中第index个数据。
3.根据权利要求1所述的一种单片机串口通讯加密方法,其特征在于:所述步骤S5中当命令执行完毕或命令数据错误,标志会被清除,代表本次交互失效。
4.根据权利要求1所述的一种单片机串口通讯加密方法,其特征在于:所述步骤S1中的数组A根据主机和从机约定的规则,每次生成一串随机的数据,数据仅一次有效,一旦执行完步骤S5,本次交互即结束,数组A失效,需要重新进行下一次交互。
5.根据权利要求1所述的一种单片机串口通讯加密方法,其特征在于:在数组A失效后,若再次向单片机发送同样的数据,因数据已经失效,单片机不会执行指令。
6.根据权利要求1所述的一种单片机串口通讯加密方法,其特征在于:所述步骤S2中的索引位置I随机地改变,防止出现数据被抓包分析的问题。
CN202011606722.3A 2020-12-30 2020-12-30 一种单片机串口通讯加密方法 Active CN112632646B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011606722.3A CN112632646B (zh) 2020-12-30 2020-12-30 一种单片机串口通讯加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011606722.3A CN112632646B (zh) 2020-12-30 2020-12-30 一种单片机串口通讯加密方法

Publications (2)

Publication Number Publication Date
CN112632646A CN112632646A (zh) 2021-04-09
CN112632646B true CN112632646B (zh) 2022-09-23

Family

ID=75286515

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011606722.3A Active CN112632646B (zh) 2020-12-30 2020-12-30 一种单片机串口通讯加密方法

Country Status (1)

Country Link
CN (1) CN112632646B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114253196A (zh) * 2021-12-23 2022-03-29 深圳宇凡微电子有限公司 一种稳定可靠的单片机系统通讯方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103885770A (zh) * 2014-01-21 2014-06-25 唐道成 单片机从可执行文件找回汇编文件的实现方法
CN104699046B (zh) * 2015-02-10 2017-07-21 文庭荣 一种用公网实现对光伏或风电站远程控制的方法及系统
CN111835382B (zh) * 2019-04-16 2022-01-14 北京正唐科技有限责任公司 一种基于Si446x集成射频芯片和R5F562N8单片机的跳频电台
CN110209622B (zh) * 2019-05-14 2022-09-06 大连理工大学 一种通过串口传输多组信息的通讯方法与系统
CN110213021B (zh) * 2019-06-10 2022-01-25 海尔优家智能科技(北京)有限公司 串行通讯数据传输方法及装置
CN110329377A (zh) * 2019-06-21 2019-10-15 广东科学技术职业学院 一种多功能探测小车
CN110601944A (zh) * 2019-09-19 2019-12-20 成都埃克思智创科技有限公司 一种在物联网中运用的can协议通信方法
CN111443915B (zh) * 2020-03-30 2023-05-16 山东华辰连科通信网络有限公司 一种在单片机上实现cli命令界面的方法和系统

Also Published As

Publication number Publication date
CN112632646A (zh) 2021-04-09

Similar Documents

Publication Publication Date Title
KR20160139493A (ko) 클라우드 서비스를 위한 암호화 키 관리 방법 및 그 장치
CN106790221B (zh) 一种英特网协议安全IPSec协议加密方法和网络设备
CN111741268B (zh) 视频的传输方法、装置、服务器、设备和介质
CN113890730B (zh) 数据传输方法及系统
CN110888778B (zh) 一种基于云桌面的日志文件监控系统及方法
CN110740128A (zh) 一种离线数据加密方法及装置
CN112332940B (zh) 一种基于时间同步网络的数据传输方法及相关设备
CN112351022B (zh) 信任区的安全防护方法及装置
CN112632646B (zh) 一种单片机串口通讯加密方法
CN114297114B (zh) 加密卡及其数据交互方法、装置及计算机可读存储介质
CN113141333A (zh) 入网设备的通信方法、设备、服务器、系统及存储介质
WO2023197529A1 (zh) 针对输电线路的在线监测系统、方法、装置和主站
CN109726564B (zh) 应用于加密机的信息处理方法及信息处理系统
TW202020714A (zh) 指紋加密方法、指紋加密傳輸方法、解密方法及裝置、存儲介質、終端
US20100031016A1 (en) Program method, and device for encryption communication
CN114124572B (zh) 基于单向网络的数据传输方法、装置、设备和介质
CN114915503A (zh) 基于安全芯片的数据流拆分处理加密方法及安全芯片装置
CN114499958A (zh) 控制方法及装置、车辆及存储介质
CN113422754A (zh) 数据处理方法和装置、电子设备及计算机可读存储介质
CN112311551A (zh) 保护可证明的资源所有权
CN113572591A (zh) 智慧能源服务系统实时高并发安全接入装置和接入方法
CN111859351A (zh) 向芯片写入信息的方法、系统、服务器及存储介质
CN111240867A (zh) 一种信息通讯系统及方法
CN114500072B (zh) 报文数据的传输方法及系统
CN115242468B (zh) 一种基于rs485总线的安全通信系统及其方法

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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230104

Address after: 050000 56 Donggang Road, Yuhua District, Shijiazhuang City, Hebei Province

Patentee after: STATE GRID HEBEI ELECTRIC POWER CO.,LTD. MATERIAL BRANCH

Patentee after: STATE GRID HEBEI PUBLIC BIDDING CO.,LTD.

Patentee after: STATE GRID CORPORATION OF CHINA

Patentee after: JIANGSU QUNJE IOT TECHNOLOGY CO.,LTD.

Address before: 050000 56 Donggang Road, Yuhua District, Shijiazhuang City, Hebei Province

Patentee before: STATE GRID HEBEI ELECTRIC POWER CO.,LTD. MATERIAL BRANCH

Patentee before: JIANGSU QUNJE IOT TECHNOLOGY CO.,LTD.