OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5590|回复: 6

TEA加密控制LED实验最终版!!!

[复制链接]

27

主题

711

帖子

0

精华

版主

Rank: 7Rank: 7Rank: 7

积分
12469
金钱
12469
注册时间
2015-11-5
在线时间
2140 小时
发表于 2017-1-6 11:25:04 | 显示全部楼层 |阅读模式
本帖最后由 FreeRTOS 于 2017-1-9 15:26 编辑

上周发过一个抛砖引玉的帖子,链接如下:
http://www.openedv.com/thread-91823-1-1.html

在此重新归纳一下,小灯一直希望做一个简单的通信加密方式防止别人窃取自己的信息或控制自己的板子,
为此引入了IC卡授权的方式,具体请参照小灯的上面链接的帖子,上个帖子只是单纯做了MCU生成密文的实验,
这个帖子是完成版,完成了PC通过串口控制MCU的整个通信加密过程!
小灯为PC与MCU通信制定了一个简单的串口协议,协议具体如下:

数据帧格式:
---------------------------------------------------------------------
|     命令头部     | 数据长度 | 有效数据 |   校验    |
---------------------------------------------------------------------
| "APOLLO_TEA" |   4字节   |      ...     |   CRC32  |
---------------------------------------------------------------------

为了简单,暂时不使用校验,因此最后的4字节CRC校验并没有加入本次通信协议当中
PC与MCU具体通信步骤简单分为3步:

1、PC发送控制请求:
"APOLLO_TEA" + 4字节数据长度 + "LED_CONTROL"

2、MCU返回密码匹配要求:
"APOLLO_TEA" + 4字节数据长度 + 8字节密文

3、PC返回解密后的明文与控制信息:
"APOLLO_TEA" + 4字节数据长度 + 8字节明文 + 2字节控制信息
其中2字节控制信息如下:
-----------------------------------------------------------------------------------------------
|                 第一字节                |                 第二字节                 |
-----------------------------------------------------------------------------------------------
| LED编号,0表示DS0,1表示DS1 | LED控制,0表示关闭,1表示打开 |
-----------------------------------------------------------------------------------------------


通信过程就是这么简单,按照小灯的初衷,只有PC端输入正确的密码才能控制开发板的LED,
而上面的通信过程均采用随机序列授权验证,每次PC发送一个控制命令都必须重新授权,
因此哪怕你抓取了串口的整个通信数据,也是无法控制开发板的LED的,因为每次授权的数据都不相同!
如果你足够牛X,也可以通过通信过程当中的“明文”和“密文”反推出用户密码,哈哈!
下面晒几张实验的靓照:
/* PC端测试软件 */
PC.png

/* 输入正确密码情况 */
correct.png

/* 输入错误密码情况 */
wrong.png

小灯为各位大佬免费做的例程,请各位大佬过目!@正点原子 @zuozhongkai @八度空间 @openedvadmin @FantaSy_
测试板采用@阿波罗STM32F7,只要把程序烧进去就可以测试开发板上的DS0和DS1了。什么,没这款开发板?那赶紧买一套呗!
TEA加密通信实验-完善版.rar (1.04 MB, 下载次数: 422)
拿来长岛冰茶换我半晚安睡
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

13

主题

276

帖子

0

精华

高级会员

Rank: 4

积分
697
金钱
697
注册时间
2014-6-20
在线时间
146 小时
发表于 2017-1-6 11:50:03 | 显示全部楼层
回复 支持 反对

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2017-1-6 12:10:20 | 显示全部楼层
我去,NB!有时间了测试一下
回复 支持 反对

使用道具 举报

3

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2015-10-13
在线时间
5 小时
发表于 2017-1-6 12:36:37 | 显示全部楼层
牛,很好,先MARK以下,有时间学习一下,一直没电
回复 支持 反对

使用道具 举报

14

主题

1592

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
2622
金钱
2622
注册时间
2014-7-17
在线时间
350 小时
发表于 2017-1-6 22:46:25 | 显示全部楼层
恩哥你的上位机打不开啊
恩哥.jpg
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2017-1-6 22:46:57 | 显示全部楼层
大神啊
回复 支持 反对

使用道具 举报

27

主题

711

帖子

0

精华

版主

Rank: 7Rank: 7Rank: 7

积分
12469
金钱
12469
注册时间
2015-11-5
在线时间
2140 小时
 楼主| 发表于 2017-1-9 15:28:07 | 显示全部楼层
各位大神,上位机的问题解决了,动下你们发财的小手试试呗~@FantaSy_ @zuozhongkai @八度空间 @正点原子
拿来长岛冰茶换我半晚安睡
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-19 14:24

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表