广工物联网信息安全实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
课程名称物联网信息安全
题目名称物联网信息安全实验学生学院自动化学院
专业班级物联网工程* 班
学号 **********
学生姓名 ****** 指导教师曾****
2017年07 月01 日
实验一物联网实验箱基本使用
一、实验目的
掌握ZXBee物联网开发套件的使用。
二、实验环境
硬件:ZXBee CC2530 节点板 2 块、USB 接口的 CC2530 仿真器,PC 机;
软件:Windows 7/Windows XP、IAR 集成开发环境、串口监控程序。
三、实验内容
以下内容均使用《基于 CC2530 Zigbee 无线传感网协议开发》一书作为实验指导书,以后简称《指导书》。其中的代码不提供copy,请同学们自己输入。
1)自行阅读《指导书》第1章有关ZXBee开发环境的介绍,并完成1.5“创建第一个IAR应用程序”。
2)完成第2章基本接口实验:2.2“LED控制实验”和2.5“串口实验”。
3)完成第4章无线射频实验:4.1“点对点通信实验”、4.2“广播通信实验”和4.4“信道监听实验”。
四、实验结果
2.2“LED控制实验”结果图如下:
2.5“串口实验”结果图如下:
4.1“点对点通信实验”结果图如下:
发送节点将数据发送出去后,接收节点接收到数据,并通过串口调试助手打印输出。发送数据的最大长度为125 (加上发送的数据长度和校验,实际发送的数据长度为128 字节)。
4.4“信道监听实验”结果图如下:
使用了信道12:
使用了信道20:
五、实验总结
通过本次实验,我掌握了ZXBee物联网开发套件的使用,成功创建了第一个IAR应用程序,并且依据《指导书》成功完成了LED控制实验、串口实验、点对点通信实验、广播通信实验和信道监听实验等基础实验。为后续实验奠定了基础。
实验二常规加密算法实验
一、实验目的
掌握常规加密算法中替换算法的原理。
二、实验环境
硬件:ZXBee CC2530 节点板 2 块、USB 接口的 CC2530 仿真器,PC 机;
软件:Windows 7/Windows XP、IAR 集成开发环境、串口监控程序。
三、实验原理
假设所有发送及接收节点均工作在同一信号,很明显,如果发送的数据是明文的话,则每个节点均可监听到其他节点发送的数据。若不希望信息被未经授权的节点所监听,可采用加密算法实现保密性。
四、实验内容
1)本实验程序可在《指导书》4.4节程序上进行修改,可节约时间。信道编号不用更改。2)增加一个替换密码表产生函数KeyGenerator()。
3)增加一个加密函数Encrytion()。仅对明文中小写英文字母进行加密,其他字符不变。
4)增加一个发送数据函数rfSendData()。发送节点每隔 1s发送一次数据
12);中的12为种子值,各实验小组可随意更改。
5)修改接收数据函数rfRecvData()。接收节点不断接收各个发送节点发送的信息,并通过串口显示。
6)修改主函数main()。将main()中的如下语句部分修改。
五、实验步骤
1)将工程文件main.c 中的节点类型变量NODE_TYPE 的值设置为1,选择Project->Rebuild All 重新编译工程;将 CC2530 仿真器连接到第 1 个 CC2530 节点板,上电 CC2530 节点板,然后点击菜单Project->Download and debug 下载程序到此节点板。此节点以下称为发送节点。
2)将工程文件 main.c 中节点类型变量 NODE_TYPE 第值设置为 0,选择 Project->Rebuild All重新编译工程。将 CC2530 仿真器连接到第 2 个 CC2530 节点板,上电 CC2530 节点板,然后点击菜单Project->Download and debug 下载程序到此节点板。此节点以下称为接收节点。
3)将发送节点,上电并复位。
4)将接收节点通过串口线连接到 PC 上,打开串口调试助手,配置串口助手波特率为 19200。上电并复位接收节点,可看到串口上打印出信道监听接收到的数据。这时候数据应该是明文。5)修改发送函数rfSendData()。
将basicRfSendPacket(RECV_ADDR, PlainText, sizeof PlainText);
更改为basicRfSendPacket(RECV_ADDR, CipherText, sizeof CipherText);
6)重复上面第1步,更新发送节点程序。
7)将发送节点上电并复位。
8)将串口移至接收节点。上电并复位接收节点,注意观察串口上打印的结果。
9)自己编写一个解密函数
void Decrytion(uint8 *CipherText, uint8 *PlainText, uint8 *Key, int TextLen); 10)更改接收数据函数rfRecvData()。对每次接收到的信息,先进行解密,再通过串口打印。
(注意:解密时所用的密码表必须与加密时所用的密码表相同才能正确解密。决定密码表的因素为seed值。)
六、实验结果
实验的结果注意观察三种情况并对比。
1)发送数据均采用明文。
2)发送数据采用密文,但接收数据没有解密。
3)发送数据采用密文,接收数据后解密。
结果图1——自己编写的解密函数:
结果图2——改写的接收数据函数rfRecvData():