基本通信协议(精选8篇)
时间:2023-07-04
时间:2023-07-04
蓝牙(Bluetooth)协议标准是由蓝牙特别兴趣小组(Bluetooth SIG)的,1999年了Bluetooth 1、0版,2001年2月了Bluetooth1、1版。目前SIG成员已经发展到3000家左右。蓝牙协议规定的无线通信标准,基于免申请的2、4GHz的ISM频段,采用GFSK跳频技术和时分双工(TDD)技术,通信距离为10米左右,Blue tooth 1、0版标准规定的数据传输速率为1Mbps。主要适用于各种短距离的无线设备互连应用场合。可以提供点到点或点到多点的无线连接。
1 基于电缆替代的蓝牙协议简析
1、1 蓝牙协议体系
蓝牙协议规范所措述的协议栈模式如图1所示。
蓝牙体系结构中的协议可分为四层:
核心协议:基带控制协议(Baseband)、链路管理协议(LMP)、逻辑链路控制应用协议(L2CAP)、服务发现协议(SDP);
电缆替代协议:RFCOMM;
电话传送控制协议:TCS二进制、AT命令集;
可选协议:PPP、UDP/TCP/IP、OBEX、WAP、vCard、vCal、IrMC、WAE。
在协议中,规定了为基带控制器、LMP、硬件状态及控制寄存器提供命令接口的主机控制器接口(HCI)。在不同的应用模式下,HCI所处的位置不同。它可以位于L2CAP的下面,也可以在L2CAP之上。
1、2 电缆替代协议应用模式
基于ETSI标准的TS07、10信令的RFCOMM协议,提供了一个基于L2CAP协议之上的串口仿真应用模式。蓝牙协议1、0版中,RFCOMM提供的上层服务模式主要有三种:对9针RS-232接口仿真模式、空Modem仿真模式和多串口仿真模式。典型的RFCOMM应用模式框图如图2所示。
1、3 蓝牙嵌入式应用模式
仅仅以RFCOMM协议为基础,作为串口的电缆替代应用,无形中限制了蓝牙设备的应用范围,降低了蓝牙设备的应用价值。目前计算机与外部设备的接口种类繁多,比较常见的有RS-232、RS-485、Parallel Port、CAN总线、SPI总线、I2C总线等。如果要使蓝牙设备在各种场合发挥作用,必须使蓝牙设备具备适合这些应用场合的多种接口功能。使用DSP数字信号处理器作为嵌入式控制器,不仅实现蓝牙物理设备的初始化、蓝牙高层协议,而且利用其接口灵活的特点,可以方便地对蓝牙电缆替代协议进行有效扩展。具体应用模式如图3所示。
2 系统硬件结构
本系统的构成在硬件上分为两个部分,蓝牙基带和射频部分采用爱立信(ERICSSON)公司提供的蓝牙模块ROK101007;嵌入式控制器采用美国TI公司的TMS320VC54X系列的DSP数字信号处理器。
2、1 ERICSSON蓝牙模块
ROK101007是根据蓝牙规范1、0版(Bluetooth 1、0B Version)而设计的短距离蓝牙通信模块,它包括三个主上部分:基带控制芯片、Flash存储器和Radio芯片。它工作在2、4GHz~2、5GHz的ISM频段,支持声音和数据的传输,其主上功能参数有:
Bluetooth 1、0B预认证;
2级RF射频功率输出;
提供FCC和ETSI纠错处理;
最大460 KB/s UART数据传输速率;
提供UART、USB、PCM、I2C等多种HCI接口;
提供内部晶振;
内部预制HCI框架;
点到点、点到多点操作;
嵌入式屏蔽保护。
ROK101007特别适合计算机及设备、手持设备、端口设备使用。其内含的蓝牙协议构架及内部系统框图如图4、图5所示。
2、2 DSP处理器
TMS320C54X是16-bit定点DSP,适合无线通信等实时嵌入式应用的需要。C54x使用了改进的哈佛结构。CPU具有专用硬件算术运算逻辑,大量的片内存储器、增强的片内外设以及高度专业化的指令集,使其具有高度的操作灵活性和运行速度。主要特点如下:
运算速度快:指令周期为25/20/15/12、5/10ns,运算能力为40/50/66/80/100MIPS;
优化的CPU结构:内含1个40位的算术运算逻辑单元,2个40位的累加器,2个40位的加法器,1个17×17的硬件乘法器和1个40位的桶形移位器。有4条内部总线和2个地址产生器等。先进的CPU优化结构可以使DSP高效地实现无线通信系统中的各种功能。
低功耗方式:54x系列DSP可以在3、3V或2、7V电压下工作,而有些DSP内核采用1、8V电压工作以减小功耗。
智能外设:除了标准的串行口和分时复用(TDM)串口外,54x还提供了多路缓冲串口(McBSP)和外部处理器通信的HPI并行接口。
2、3 系统构成
本系统中,采用单5V电源供电,嵌入式系统控制器与蓝牙模块之间的HCI接口采用UART方式。硬件构成框图如图6所示。整个系统分为四个部分:发射机、嵌入式控制器、电源管理、接口逻辑。
(1)发射机由蓝牙模块ROK101007和阻抗为50Ω的天线构成。初始化阶段,模块接收控制器通过UART发送的HCI命令,实现蓝牙设备的复位、启动、地址查询、跳频算法、自动寻呼等初始化操作,与附近的蓝牙设备建立可靠的物理链路,并对物理链路进行相应的加密。在数据传送阶段,接收控制器(HCI驱动模块)送来的HCI数据包,经过模块中HCI固件(HCI Firmwire)转化为基带数据包并送给基带协议层(Baseband)处理,基带对上层送来的数据进行解码,将其变为可以发送的位数据流,按照设定的跳频算法,采用高斯频移键控(GFSK)编码方式通过天线送出去。接收数据时,以相反的过程将接收到的数据进行编码,组合成HCI数据包格式并通过UART口送给控制器。具体的收发执行过程可以参考ROK101007数据及应用手册以及蓝牙协议相关部分。
(2)嵌入式控制器由TI的定点数字信号
处理器TMS320C54x、Flash Memory、SRAM组成,完成对蓝牙模块的初始化、数据传送、协议实现等功能。
(3)接口控制逻辑包括应用接口和控制接口。控制接口为控制器的HPI接口,主要实现系统的在线特殊控制和Flash在线编程数据传送口。HPI控制接口通过DSP的HPI主机接口实现。应用接口包括RS-232/RS-485串行接口逻辑、并行接口逻辑(如IEEE488总线)、SI同步串口逻辑,在不同的嵌入式应用中,分别通过不同的接口形式实现本嵌入式系统与主设备控制器的接口。应用接口通过DSP的片内外设(enhanced peripherals)或者通用I/O端口模拟实现。(4)电源管理。系统通过单5V电源供电,可以简单地从主设备接口中获取电源,无须另加电源器件。电源管理模块采用TI专用电路,提供两路电压输出,+3、3V工作电压和+1、8V控制器内核工作电压。
3 系统软件设计
【关键词】网络存储 iSCSI 访问控制
1 引言
当前中国经济的发展推动了各行各业的发展,信息技术也随着经济的发展而取得了长足进步,当前中国企业与个人使用信息数据量越来越大,当前信息呈现出海量增长趋势,传统的存储技术已无法满足信息发展需求,作为主流的网络存储技术,基于iSCSI协议构建SAN的存储区域网络技术实现了存储系统的高速运行。本文在分析iSCSI协议和SAN网络存储系统结构基础上,对基于iSCSI协议构建SAN存储系统的安全性进行分析,并在安全技术研究基础上,展开了基于iSCSI协议的远程灾备与安全网络存储的研究。
2 基于iSCSI协议的远程灾备系统
2、1 SCSI协议介绍
以太网技术的快速发展,推动了数据存储技术的发展,基于iSCSI协议的IP SAN技术已成为数据存储的技术手段,SCSI协议是IPSAN的主流协议,可运行在TCP / IP协议中。
2、2 基于iSCSI协议的灾备部署研究
iSCSI协议的最大特点是使用TCP / IP协议,以完成存储数据的传送。如图1所示根据灾备部署要求构建系统,本地存储和灾备恢复存储可通过互联网进行数据传输。通过这种模式,只要企业进入互联网,那么即可独立于互联网上,以实现地域的选择,确保灾备数据的恢复,在实际部署中可直接选用一个ISP以实现远程灾备数据恢复与备份的存储空间。
基于iSCSI协议的灾备部署系统使用了iSCSI协议来进行灾备数据恢复,该模式具有以下特点:(1)对距离方面的约束进行了技术上的突破。在数据的灾备恢复计划中可以看到通过远程技术可实现远距离的灾备数据恢复,不仅可实现本地存储灾备数据恢复,同时可实施远程灾备数据恢复,借助于远程灾备技术实现灾备数据的恢复与储远,数据恢复效果好,安全系数高。传统模式由于传输距离有限,使得安全和灾难恢复数据可行性大大降低。采用基于iSCSI协议的灾备数据部署方案,可对距离的限制进行有效突破,充分利用现有的因特网技术实现程灾备数据的恢复与存储。(2)备份的灵活性大大提高。在灾备数据恢复中,基于iSCSI协议的灾备数据部署与构建能实现有效的灾备数据恢复,可根据实际情况,灵活的进行数据存储,借助于LAN技术,实现灾备数据的恢复与存储,远程和本地两种灾备数据恢复,较好的实现了数据管理。(3)低成本实现多路技术。使用灾备数据恢复存储技术,其设备和线路是特别的,所以使用FCSAN建立一个灾难恢复体系必须通过网络来进行,所以在物理线路的冗余成本耗费较多,对冗余线路的灵活性有一定影响。在灾备数据恢复构建中使用基于iSCSI协议构建,让企业直接使用现有的ISP提供网络线,实现物理线路冗余,提高数据备份的灵活性,大大降低成本。通过分析,我们可看到基于iSCSI协议的灾难数据恢复能实现灾备数据的部署,有较强的灵活性,成本低,易于实现等等优点。因此基于iSCSI协议的灾备部署体系的构建具有较好的适用性。
3 基于iSCSI协议的安全网络存储系统研究
基于iSCSI协议的SAN构建的本质是采用iSCSI协议技术构建存储区域网络系统,如图2所示。
iSCSI-SAN存储系统的主要由存储用户(个人电脑),IP网络设备和存储设计组合而成,存储设备不是一个普通的存储设备,是具备网络接口的存储设备,在任何PC机访问IP网络存储设备。首先,在iSCSI的存储设备的操作中采用命令封装成iSCSI PDU,然后通过IP网络连接到网络存储装置,发送数据,对存储装置的指令进行解析,并在iSCSI PDU体系中执行命令,同时返回执行结果。iSCSI-SAN存储系统的优点包括:一是成本低,由于在iSCSI SAN广泛使用了IP网络,IP网络的成本比光纤设备低得多,和IP网络是一种广泛使用的网络技术,这使得在iSCSI-SAN不必由专业人员加以管理,即可减少系统维护管理成本。二是广泛的互联网应用,作为iSCSI的SAN存储网络使用IP网络构建,且当前IP网络构建较为广泛,这使得iSCSI的SAN可以在公园、公交车站、旅游区等各个地方提供存储服务。
4 结语
本文分析基于iSCSI协议的灾备数据恢复的特点,对部署体系的安全问题进行了分析,提出了灾备数据的安全恢复模式,对基于iSCSI协议的远程灾备与安全网络存储问题进行了研究。
参考文献:
[1] 孙振正,龚靖,段勇,雷俊智、面向下一代数据中心的软件定义存储技术研究[J]、电信科学,2014(01)、
关键字: HF数字通信电台; 协议识别与分析; 滑动窗口; 数据解码; PACTOR协议
中图分类号: TN915、04?34 文献标识码: A 文章编号: 1004?373X(2014)05?0039?03
0 引 言
HF数字通信是一种高频(3~30 MHz)无线通信[1]。它具有运行成本低、覆盖范围广、设备简单、机动性强等优点,主要用于远距离、大范围、移动通信等场合,是一种十分重要的通信手段[2]。随着微电子技术、大规模集成电路技术和计算机技术的发展,使HF数字通信技术取得了重大进步,HF数字通信设备在世界范围内得到了广泛的应用。相应地,短波数据传输协议也有了迅速的发展[3]。
HF数字通信电台协议识别与分析作为现代通信对抗和无线电监测的一项关键技术,受到越来越多的重视[4]。对于不同协议、不同波特率、不同调制方式的短波电台数据传输机制,研究在捕获二进制数据比特流的基础上,针对不同协议的特征进行识别具有重要的意义。进而,在确定了协议的结构,如协议帧头、数据段长度、CRC长度、状态字节长度等后,就可以对协议数据进行解码分析。
本文通过基于滑动窗口的协议数据解码算法,根据协议的coding方式,利用VC++和MySQL数据库平台[5],对短波电台PACTOR协议进行了解码分析和验证。
1 PACTOR协议的通信机制
由于协议的调制方式和波特率不同,所以短波电台的通信模式也不同。表1给出了典型的HF频段的协议特征分析及其分类。
从图1可以看出,WB8IMY将数据包发送给WB8ISZ时,其中2/5/6片段出现错误,于是WB8ISZ的MC(多模式控制器)将正确的1/3/4片段存储下来并且发送NAK信号,请求重发数据。重发之后,1/3/4片段出现了错误,但没关系,因为它们已经存储下来了,这时2/5/6片段恰好没有出错,于是WB8ISZ的MC重组接收到的数据包,形成完整的数据包,并且发送ACK信号请求发送下一个数据包,这种方式大大提高了通信效率。
PACTOR模式可以根据波段的具体情况,以可变速率进行通信。由于使用哈夫曼编码,字符的二进制位长度明显缩短,提高通信了效率。本系统将PACTOR通信使用的ASCII字符的哈夫曼编码存储在MySQL数据库中,如图2所示。每个字符对应的哈夫曼编码位数在2~15位,字符越常用,位数也就越少。在传统的通信中,传输一个字符通常需要8位,但PACTOR通信只需要4~5位。
2 基于滑动窗口的PACTOR协议解码算法
4 结 语
短波电台协议的识别与分析是一个较新的领域,并且变种现象很普遍,例如,改变协议的波特率或者调制方式等。以前,短波协议的识别分析是在信号层面上,而本文是从协议的数据比特流角度,利用VC6、0、MySQL数据库平台和基于滑动窗口的协议数据解码算法,对协议进行识别分析。并可根据协议的结构特征进行相应参数的设置,可扩展性强,易于对以后出现的其他短波协议进行分析。下一步的研究工作将主要集中在怎样提高数据传输质量、如何设计协议过滤器等[11]。
参考文献
[1] 杨莹莹、第三代短波通信数据链路层协议的研究与实现[D]、西安:西安电子科技大学,2013、
[2] 董彬虹,李少谦、短波通信的现状及发展趋势[J]、信息与电子工程,2007,5(1):1?5、
[3] 张有光,江琥,熊鹰、通用短波数据传输协议发展状况综述[J]、电讯技术,2002,30(2):140?144、
[4] 李雄伟、网络对抗系统及其关键技术研究[D]、北京:北京邮电大学,2005、
[5] 贾献品,周安栋,杨路刚,等、基于VC和Matlab的短波电台通信仿真设计[J]、通信技术,2010,43(1):51?53、
[6] PROAKIS J G、 Digital Communications [M]、北京: 电子工业出版社,2001、
[7] FORD S、HF/VHF数字通信手册[M]、张宏,译、北京:人民邮电出版社,2010、
[8] 樊昌信、通信原理教程[M]、2版、北京:电子工业出版社,2008、
[9] 高渊、协议识别与分析技术研究[D]、西安:西安电子科技大学, 2009、
TCP/IP协议是当前Internet(广域网)和以太网(局域网)普遍使用的基本的通信协议簇,TCP/IP协议不是一个协议,而是由一系列协议(包括TCP和IP协议)组成的协议簇,正是因为有了TCP/IP协议,Internet才得以迅速发展成为世界上最大的、开放的计算机通信网络。
在使用Windows操作系统的主机中,系统会自动为主机中的网卡绑定TCP/IP协议,简单配置一下该协议,主机就可以使用该网卡与其它主机进行通信了。
TCP/IP协议是美国国防部(DoD)基于战争的需要,在寻求把分散的计算机互联成网络的过程,随着第一个计算机网络ARPA网的出现而出现的。由于TCP/IP协议最初只是在一个小范围内应用,缺少安全性方面的考虑,随着计算机网络的普及,TCP/IP逐渐成为一种开放的网络标准协议,其安全性缺陷也逐渐显现,主要表现在以下几个方面:
1) TCP/IP协议使用明文传输数据,不对数据进行加密处理。如果传输的数据被截获,就会有泄密的风险。
2) TCP/IP协议没有认证机制。发送者无法确认接受方是不是合法的接收者,同样,接收者也无法确认数据的发送方是不是合法的发送者。
3) TCP/IP协议没有数据完整性检测机制。即使要传输的数据在传输的过程中被第三方篡改过,接收者也无从知晓。
2 Sniffer软件的数据捕获与解码
Sniffer是一款可以对计算机网络上发生的不同的数据传送进行跟踪、分析从而对网络行为进行统计、管理的软件。Sniffer提供了丰富的图形工具,可以非常直观地呈现当前网络的连接情况。
Sniffer软件还可以对发生在本网络内的数据传送进行捕获,并进而在网络模型的数据链路层、网络层、传输层等各层进行解码分析,从而找出数据传送的规律或问题。从这一点上看,Sniffer就像是一个外科医生,它可以深入到网络通信的内部,获取网络通信的数据。
当前所广泛使用的以太网(局域网)或者是Internet(广域网)都是使用TCP/IP协议进行工作的,TCP/IP协议是明文传输的,没有采取加密措施,这种明文传输的数据一旦被拦截、捕获,就会发生信息泄露,给正常的数据通信造成威胁。该文就是利用Sniffer软件可以对网络内的数据传送进行捕获这一功能,获取网络内的数据通信的一些样本,再对这些样本进行分析,从而更加清楚地看出TCP/IP协议缺乏安全机制这一特点。
3 TCP/IP数据通信实例的Sniffer分析
在使用TCP/IP协议的网络中,可以进行多种类型的数据通信服务,其中Telnet是一种应用较广泛的服务,它是一个通过创建虚拟终端提供连接到远程主机从而可以实现终端仿真的TCP/IP应用。Telnet远程登录服务通常需要通过用户名和口令进行认证,其实现过程一般分为以下几个步骤:
1) 本地与远程主机建立连接。该过程实际上是建立一个TCP连接,用户必须知道远程主机的IP地址或域名。
2) 将本地终端上输入的用户名和口令及以后输入的任何命令或字符以NVT(Net Virtual Terminal)格式传送到远程主机。该过程实际上是从本地主机向远程主机发送一个IP数据包。
3) 将远程主机输出的NVT格式的数据转化为本地所接受的格式送回本地终端,包括输入命令回显和命令执行结果。
4) 最后,本地终端撤消与远程主机之间的连接。
本文就以Telnet服务为实例,使用SnifferPro 4、70,抓取其通信过程中的数据,获取其用以建立TCP连接的用户和密码以及在连接建立完成后所发送的通信数据。
首先,确定好用以进行Telnet远程连接的主机其Telnet服务已经开启。在本实例中,远程主机IP地址为192、168、0、106,本地主机IP地址为192、168、0、100,在捕获数据前,可以先进行Telnet远程登录测试,以确保实验可以正常进行。
在确定远程主机可以正常Telnet登录后,打开Sniffer Pro软件,点击工具栏上的开始捕获按钮,Sniffer就开始对网络内的数据通信进行捕获数据了。此时,打开本地主机的命令提示符窗口,在命令提示符下输入telnet 192、168、0、106,回车后输入远程登录的用户名和administrator,密码345678,就可以Telnet到远程主机。
Telnet登录成功后,就可以操作远程主机了,比如,要查看远程主机当前的文件目录,可以在命令提示符下输入dir命令,该命令返回远程主机当前目录的文件列表。
从以上捕获结果可以看出,使用TCP/IP协议进行数据通信的Telnet服务,从初始TCP连接的建立到用户认证,以及通过用户认证后在远程主机上所执行的命令,都可以被Sniffer捕获并分析出来。这种数据通信过程如果被截获,用户名和密码就会被第三方所掌握,远程主机上的资料也会泄露,由此会带来很大的安全问题。
4 基于TCP/IP协议的数据通信安全
通过对网络内数据通信的Sniffer捕获并解码,可以清楚地看出,TCP/IP协议并没有提供数据通信的安全机制,从这一点上说,TCP/IP协议是存在安全缺陷的。但这并不能否认TCP/IP在网络通信中的作用,正是有了TCP/IP协议,才有了今天Internet的蓬勃发展,其在网络通信中基础性作用和地位至今无法憾动,更没有哪一种协议能够取代TCP/IP协议。
人们要做的是在TCP/IP协议的基础上,增加安全性的措施,对TCP/IP加以弥补和完善。从TCP/IP网络模型上看,可以从应用层、传输层或者网际层入手,增加安全性的措施和机制,提高TCP/IP网络的通信安全。
从应用层来看,可以对要传输的数据加密,这样加密后的数据,即使被第三方所捕获,也无从获知其内容,避免数据泄露。在应用层上还可以对要传数据进行哈希运算,以防止要传输的数据被篡改。
SSL(Secure Sockets Layer安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。
参考文献:
关键词:socket;TCP/IP协议;网络通信模式;并发响应
中图分类号:TP393、09
随着科学技术水平的不断快速提高,互联网的网络通信应用越来越广泛,已经成为人们日常生活中不可或缺的一部分,通过互联网络通信,人们彼此之间可以实现数据传输、信息共享等功能,从而提高现代人的生活质量。然而互联网的数据传输并不是漫无目的地随机传输,而是基于一定的通信协议和通信机制,TCP/IP通信协议以及Socket进程通信机制就是现代互联网络中常见的网络通信协议和通信机制。特别的,基于Socket的TCP/IP协议的网络通信模式是现代网络通信网络中常见的通讯模式,来实现服务器进程和客户端进行的相同通信,从而为互联网奠定了通信基础。所以对于基于Socket通信机制的TCP/IP网络通信模式的研究就有非常重要的现实意义,可以为我们对于网络设备的数据传输以及客户端服务器模型的构建打下坚实的基础。
1 TCP/IP通信协议以及Socket提供的编程接口
1、1 TCP/IP通信协议
一般的,互联网络通信模型有七个层次结构,分别为应用层,表示层,会话层,传输层,网络层,数据链路层以及物理层,而TCP/IP协议是应用在传输层和网络层的传输控制以及因特网的互联协议,用来规定网络设备如何接入到互联网以及设备之间的数据传输的标准。
在实际的互联网络中,当有两台计算机相互通信时,基于TCP/IP通信协议的要求,首先两台计算机要建立连接,然后进行数据通信。建立连接和数据传送的过程都是通过TCP/IP报文的形式发送的,首先发送计算机会将通信数据或者连接请求打包成TCP/IP报文的形式通过二者之间相连的互联网络电缆线以及路由网关等网络设备进行通信,而通信报文中会携带TCP/IP协议相关的识别字符串以及IP地址等在路由中进行选择,进而送至目标计算机。基于TCP/IP通信协议的报文格式如图1所示。
在互联网中发送的数据帧中,是包含各种协议的识别部分,其中TCP/IP协议的通信协议识别符就包含在数据帧中,并以图1、格式所示。每个数据帧中,去掉其他协议的头部识别数据,就可以得到TCP/IP协议的通信报文,该数据报文包括了IP协议的识别数据以及TCP协议的识别数据。通信报文中IP头数据包括了两台计算机的应用程式使用的IP协议版本以及IP头首部长度等等标示IP协议的信息,最重要的,包含了发送该条通信报文的源地址和目的地址,他们是以IP地址的二进制标示在数据报文中,通过该报文中的目的地址,通信数据就可以在互联网络中根据路由器中的路由列表来查找目的IP地址并自动选择路由,从而发送至目标计算机。同样的,将IP通信报文去除IP头数据后就可以得到TCP协议的通信报文,而TCP协议的头数据中,也包含了TCP通信的各种识别数据。在TCP协议头数据中包含了端口号、序列号、验证信息等内容,其中对通信来说比较重要的就是端口号数据,它包含了两台通信计算机的数据发送方的发送端口以及数据接收方的接收端口,从而使得这条TCP/IP通信报文在找到目标计算机后可以通过目的端口将该信息传送至应用程序,从而实现两台计算机的信息通信。所以对于两台计算机进行同时通信时,TCP/IP协议为发送的通信数据提供了通信识别符以及进行识别符,即目的IP地址和目的端口,通过识别符,通信数据就可以通过网络发送至目标计算机,从而实现互联网的通讯。
1、2 Socket
Socket是面向客户/服务器模型而设计的,针对客户与服务器程序之间的相互通信而提供的通信机制。Socket通常被称为“套接字”,通过Socket“套接字”的方式,计算机中的应用程序来向网络发送各种请求以及对网络的请求进行应答。Socket是独立于TCP/IP协议,工作在IP通信报文以及计算机应用层之间的网络编程接口,其中包含了流失套接字(SOCK_STREAM),数据包套接字(SOCK_DGRAM)以及原始套接字(SOCK_RAW)。流式套接字为应用层提供了一个面向连接的可靠的数据传输服务,可是使网络层的传输报文向应用层无差错、无重复地按照顺序接收;数据报套接字则提供了无连接服务,此时数据包可以独立的数据包进行发送而没有具体的保障措施;原始套接字则是为应用层提供了对IP、ICMP等网络协议的低层次的访问。
2 使用Socket实现TCP/IP网络通讯模式
由于TCP/IP通信协议的核心是在传输层、网络层以及物理接口层,但是他们只是向外提供了原始的不是直接的用户服务接口,开发者不可能直接编写TCP/IP协议头来发送具体的数据信息,而Socket则为TCP/IP通信协议提供了独立于协议的网络编程接口。通过Socket提供的网络编程接口,应用程式就可以通过Socket套接字接口来读取来自网络的IP通信报文,从而获取源计算机发送的数据信息,所以,可以根据TCP/IP协议和Socket来实现两台计算机的通信框架。
常见的请求响应的实现方案有两种,包括并发响应和重复响应。并发响应模型是处在等待状态的目标计算机在源计算机发送数据到达后通过产生子进程来响应源计算机请求而父进程继续等待请求,重复响应模型是维护请求列表并按照FIFO的原则对源计算机的请求进行处理。利用Socket创建并发响应模型时,首先创建新的Socket并将端口以及本地地址赋值给它,然后让Socket开始对端口进行监听,而此时,源计算机可以通过发送包含有目标计算机的IP地址和端口号的IP协议通信报文来向目标计算机发送请求,此时目标计算机的Socket就可以通过监听端口发现有请求到达,然后就可以产生新的Socket进行对源计算机发送的IP通信请求进行处理,而原有的Socket进行则继续对端口进行监听。重复响应的通信框架与并发响应通信框架不同的是在创建的Socket监听到端口有请求发送时会直接对请求处理而不会创建新的Socket进程,所以需要对源计算机的请求进行列表维护,来对所有监听到的请求进行相应。
总的来说,TCP/IP协议为传输数据提供了通信识别标示,这样通信数据可以在互联网中自动查询路由来到达目标计算机和目标端口,而Socket则对目标端口进行实时监听,当有发送数据到达时,Socket就可以将传输数据提供给应用层,从而实现两台计算机之间通过互联网络的通信。
参考文献
[1]刘骏,颜钢锋、基于Socket的网络编程技术及其实现[J]、江南大学学报,2004(03)、
[2]徐向东,周国祥,石雷、基于TCP/IP和Winsock文件上传的应用研究[J]、合肥工业大学学报(自然科学版),2008(11)、
[3]王静,曲凤娟、基于Socket的多用户并发通信的设计[J]、福建电脑,2007(03)、
[4]罗亚非、基于TCP的Socket多线程通信[J]、电脑知识与科技,2009,03、
关键词:WWW; HTTP; 网络协议;http协议;请求
中图分类号:TP391 文献标识码:A
一、HTTP协议简述
HTTP是一个客户端和服务器端请求和应答的标准。所有基于Web的应用都要使用到HTTP协议。通过使用Web浏览器、网络爬虫或者其它的工具,客户端发起一个到服务器上指定端口的HTTP请求。尽管TCP/IP协议是互联网上最流行的应用,HTTP协议并没有规定必须使用它和(基于)它支持的层。事实上,HTTP可以在任何其他互联网协议上,或者在其他网络上实现。HTTP只假定可靠的传输,任何能够提供这种保证的协议都可以被其使用。
二、HTTP协议的概念
超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器。
HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1、0的第六版。
三、HTTP协议的主要特点
1 支持“客户/服务器”模式。
2 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
3 灵活:HTTP允许传输任意类型的数据。正在传输的类型由Content-Type加以标记。
4 无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
5 无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。它并不知道这两个请求来自同一个客户端。 为了解决这个问题, Web程序引入了Cookie机制来维护状态。另一方面,在服务器不需要先前信息时它的应答就较快。
四、HTTP协议与URL
HTTP(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议,常基于TCP的连接方式,HTTP1、1版本中给出一种持续连接的机制,绝大多数的Web开发,都是构建在HTTP协议之上的Web应用。
http表示要通过HTTP协议来定位网络资源;host表示合法的Internet主机域名或者IP地址;port指定一个端口号,为空则使用缺省端口80;abs_path指定请求资源的URI;如果URL中没有给出abs_path,那么当它作为请求URI时,必须以“/”的形式给出,通常这个工作浏览器自动帮我们完成。
五、HTTP消息的结构
先看Request 消息的结构, Request 消息分为3部分,第一部分叫请求行, 第二部分叫http header, 第三部分是body。 header和body之间有个空行。
第一行中的Method表示请求方法,比如“POST”,“GET”,Path-to-resoure表示请求的资源, Http/version-number 表示HTTP协议的版本号。当使用的是“GET” 方法的时候,body是为空的。
Http协议定义了很多与服务器交互的方法,最基本的有4种,分别是GET,POST,PUT,DELETE。 HTTP中的GET, POST, PUT, DELETE就对应着对这个资源的查,改,增,删4个操作。 我们最常见的就是GET和POST了。GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。
我们再看Response消息的结构, 和Request消息的结构基本一样。 同样也分为三部分,第一部分叫request line, 第二部分叫request header,第三部分是body。 header和body之间也有个空行。
HTTP/version-number表示HTTP协议的版本号,status-code 和message 为状态代码。
Response 消息中的第一行叫做状态行,由HTTP协议版本号,状态码,状态消息 三部分组成。
状态码用来告诉HTTP客户端,HTTP服务器是否产生了预期的Response。
HTTP/1、1中定义了5类状态码,状态码由三位数字组成,第一个数字定义了响应的类别 。
200 OK-最常见的就是成功响应状态码200了, 这表明该请求被成功地完成,所请求的资源发送回客户端。
302 Found 重定向,新的URL会在response中的Location中返回,浏览器将会使用新的URL发出新的Request。
304 Not Modified 代表上次的文档已经被缓存了, 还可以继续使用。
400 Bad Request 客户端请求与语法错误,不能被服务器所理解。
403 Forbidden 服务器收到请求,但是拒绝提供服务。
404 Not Found 请求资源不存在。
500 Internal Server Error 服务器发生了不可预期的错误。
503 Server Unavailable 服务器当前不能处理客户端的请求,一段时间后可能恢复正常。
结语
以上便是HTTP协议的工作原理及基本结构,在实际工作学习中我们可以使用Fiddler软件工具来帮助我们具体分析http协议的工作流程。
参考文献
Abstract: Communication between devices within a puter system is required to follow a certain munication protocol、 Because the system development time, the hardware condition, and the application place are different, the protocol that each equipment supports is not necessarily the same、 So in different equipment interconnection, due to the different protocols supported by each device, many devices can not municate with each other、 Based on the embedded system, this paper designs a protocol conversion device to support most of the protocols that are mon at present, and provides an easy way for the interconnection between different systems、
P键词:计算机;嵌入式;协议转换
Key words: puter;embedded;protocol conversion
中图分类号:TP273 文献标识码:A 文章编号:1006-4311(2017)04-0067-03
0 引言
计算机系统内部,不同计算机系统之间,往往需要相互交换信息,而信息的交换是建立在一定的基础之上的。要使得计算机系统的信息交互,必须遵循一定的协议。
对于计算机系统本身而言,自身大都支持一定的通信协议,但是,由于计算机系统的开发时间、开发环境、开发经费、开发目的存在很大的不同,各计算机系统所支持的通信协议往往存在一定的差异,而为了实现计算机系统的互联,必须将不同计算机系统支持的不同的通信协议进行转换,使得协议转换为互联的计算机系统的其中一种差异或者其它一种共同可转换的协议。这样使得不同时期、不同开发环境、不同开发目的下所设计开发的设备之间可以进行互联,从而实现一个具有统一目标性的功能,而不需要二次开发或者重新开发相同功能设备,节约了大量的人力、物力和财力,其具有非常重要的实际意义。
1 计算机系统互联概述
随着科技的发展,人类需要解决和完成的任务越来越复杂,要完成一个特定的目标,一种或者有限几种计算机系统已经很难完成需要完成的任务,而面对复杂度较高的任务,必须是多个计算机系统互相连接在一起才可以实现所要完成的任务和功能。而各系统之间互联必须遵循相同的通信协议规范[1],如图1所示。
此处提出一种协议转换设备,支持不同通信协议的协议转换设备可以直接链接到协议转换设备上,并且计算机分系统可以和协议转换设备进行通信,同时,协议转换设备可以将发送信息的计算机系统的信息转换为符合接收信息的计算机系统的通信协议的信息。从而在发送、接收信息的计算机系统之间建立一种连接。
这种方案并不改变原来各个计算机分系统,可以很容易地实现将各个计算机分系统挂在到协议转换设备上,或者将任意一个计算机分系统从协议转换设备上卸载。这种模式增强了系统改造地灵活性,降低了系统改造成本。不同地计算机分系统可以以不同地方式通过协议转换设备互联,实现不同地功能,从而实现资源的有效整合,增大计算机分系统的效费比。
基于上述情况,本文提出一种基于嵌入式系统的上网实现方式,将不同的计算机系统连接到本文提出的嵌入式系统上,该系统对不同计算机分系统的通信方式和通信协议进行转化,将不同计算机分系统所使用的不同类型的通信方式相互转化为分系统之间可以相互识别的信号,从而实现了不同计算机分系统之间多种形式的、灵活的相互结合,完成不同的任务。
2 系统结构设计
挂载在协议转换设备的各个子系统之间要相互通信,必须符合各分系统之间相应的通信协议要求[2,3]。对于不同计算机分系统而言,协议转换设备需要实现:将某计算机分系统发送来的信息转换为符合接收方通信协议标准的信息,并准确发送给接收方。
结构如图2所示。
作为发送方的计算机分系统将数据发送出去以后,先到达协议转换设备的接收协议转换网关,然后数据送达数据转换网关,经过数据转换网关处理,将需要交互的数据本身和目标计算机分系统信息分离出来,协议的其它部分去除,然后将数据转交给发送转换网关,在发送协议转换网关,对数据进行重新处理,转换为作为接收方的计算机分系统所支持的通信协议,然后发送给作为接收方的计算机分系统。
发送协议转换网关和接收协议转换网关分别结合数据交换网关,分别实现了陈旧武器装备与作战系统网的数据发送和接收功能,符合协议转换设备要求,并且不同的计算机分系统可以随时从协议转换设备上挂载或者卸载而不对协议转换设备和其它计算机分系统产生影响,实现了系统所需要的功能,符合系统设计要求。
3 基于嵌入式系统的硬件设计
随着计算机和网络技术的发展,嵌入式系统在工业、农业、军事等领域得到了广泛的应用[4,5]。嵌入式芯片已经由最初的8位机发展到现在广泛应用的32位机,主频也已经发展到了上百兆,支持包括A/D、D/A、IIC、SPI等常见的外设[6]。
STM32是意法半导体公司推出的基于专为高性能、低成本、低功耗的基于ARM Cortex-M0、Cortex-M3、Cortex-M4内核的嵌入式产品。其具有很强的扩展能力,易于移植,具有丰富的外设资源(如图3所示),主控芯片电路模块丰富,包括ADC、DAC、CAN、SPI、IIC等接口,芯片主频高,运算能力强,具备系统升级和扩展的空间。
发送协议转换网关、接收协议转换网关和数据交换网关都是以STM32为核心所开发的,计算机系统发送来的以CAN或者串口等数据发送到发送协议转换网关,STM32驱动接收协议转换网关将数据进行处理,然后将中间待发送数据发送至数据交换网关,STM32驱动数据交换网关将接收到的数据转换为变成中间待发送数据;数据交换网关将数据处理完毕以后,在STM32的驱动下,发送数据网关将待处理数据转换为符合接收方通信协议标准的通信信息,然后将数据发送给接收方计算机系统。实现了不同计算机系统之间的数据互联。
4 系y软件设计
系统采用的开发环境为IAR Embedded Workbench for ARM,该开发环境支持汇编语言、C/C++语言开发应用程序。以CAN通信协议与以太网互相转化为例进行说明,系统软件框图如下:
本软件以CAN总线和以太网相互转换为例,说明了系统的软将框架,其它类似串口通信与以太网通信转换结构类似。实现了CAN协议与以太网协议之间的相互通信。
5 总结
本文的设计以嵌入式系统为基础,针对不同时期、不同开发环境和不同开发背景下开发的计算机系统,为实现某一特定的目标和功能,需要任意组合互联提供了一种不对原计算机系统进行改造的互联方案。本方案系统实现容易,稳定性高,经济投入低,满足遵循不同通信协议的计算机系统为实现某一复杂任务和功能需要互联的要求。
参考文献:
[1]王继龙,吴建平、大规模计算机互联网络性能监控模型的设计与实现[J]、计算机研究与发展,2000(04)、
[2]姜震,等、未来航空电子高速数据总线技术的研究[J]、电光与控制,2002(03)、
[3]李燕斌,等、基于软件无线电的嵌入式系统总线研究及应用[J]、电讯技术,2012(03)、
[4]胥军,方彦军、嵌入式现场总线协议转换网关开发[J]、计算机工程,2006(12)、
关键词:无线射频识别;前向安全;认证协议;密钥;循环冗余校验
中图分类号: TP309 文献标志码:A
Enhanced secure RFID authentication protocol for EPC Gen2
TANG Yong、zheng1*, WANG Ming、hui1, WANG Jian、dong2(
1、 School of Information Engineering, Yancheng Institute of Technology, Yancheng Jiangsu 224051, China;2、 College of Information Science and Technology, Nanjing University of Aeronautics and Astronautics, Nanjing Jiangsu 210016, ChinaAbstract:
As many current Radio Frequency IDentification (RFID) authentication protocols have some problems: cannot conform with the EPC Class 1 Gen 2 (EPC Gen2) standards; or cannot meet the requirements of low-cost tags for the RFID authentication protocol、 A novel RFID authentication protocol based on the EPC Class 1 Gen 2 (EPC Gen2) standards is proposed and the security proof is given with BAN Logic、 After analysis the security, the proposed protocol can meet the RFID security demand: information confidentiality, data integrity and identity authentication、
Many current Radio Frequency IDentification (RFID) authentication protocols cannot conform with the EPC Class 1 Gen 2 (EPC Gen2) standards or cannot meet the requirements of low、cost tags for the RFID authentication protocol、 A new RFID authentication protocol based on the EPC Class 1 Gen 2 (EPC Gen2) standards was proposed and the security proof was given with BAN logic、 After analyzing the security, the proposed protocol can meet the RFID security demands: information confidentiality, data integrity and identity authentication、Key words:
Radio Frequency IDentification (RFID); forward secrecy; authentication protocol; key; Cyclic Redundancy Check (CRC)
0引言
射频识别技术(Radio Frequency IDentification,RFID)是一种非接触式的自动识别技术,在系统的前端主要由RFID标签和读写器组成。读写器向标签发出认证请求,并将标签返回的数据传输给后台进行数据处理。它通过射频信号自动识别目标并获取相关数据,使得系统无需任何物理接触就可以完成特定目标对象的自动识别。目前RFID技术已经被广泛应用于物流供应管理、生产制造和装配、航空行李处理、邮件、快运包裹处理及物联网等领域。
然而,在有些情况下,未授权读写器可以读取和收集用户的电子标签里的个人信息,通过信息处理和比对,在用户下次使用标签时就可以跟踪其位置信息,并且还可以获取用户的隐私信息,因此,RFID系统的安全问题引起了人们的极大关注。但是,由于低成本电子标签在计算能力和存储上具有很大限制,目前很多的安全协议没有办法在其上面应用。本文通过比较分析目前比较典型的RFID安全协议,设计了一种低成本、高效率、安全的双向认证协议。并通过BAN逻辑分析了协议的安全性。
1RFID系统
1、1RFID系统的构成
RFID系统由标签、读写器和数据处理系统三部分组成
(如图1所示)。标签和读写器通过无线信号进行通信,读写器向RFID标签发出命令,标签根据接收到的命令做出响应。图片
图1RFID系统构成
1)标签(Tag)。
RFID 的标签是由用于无线通信的耦合线圈电路(天线)和计算、存储数据的逻辑门电路组成。天线用于无线通信,芯片的计算和存储能力十分有限。每个标签具有唯一的ID。
2)读卡器(Reader)。
读卡器由无线收发模块、信号天线、控制单元及接口电路等组成,其计算能力和存储能力都比标签要大。当RFID读写器通过收发模块发出询问命令且接收到标签返回的信息后,将信息传送给后端数据库。
3)后端数据库(Database)。
后端数据库系统具有巨大的数据分析和存储能力,存储着包含读卡器和标签的所有相关的数据信息,并且接收来自RFID读写器的数据。
从RFID读写器到标签的信道是不安全信道;从RFID读写器和后端数据库之间是安全信道。1、2安全需求
RFID系统的安全类似于网络和计算机安全,其主要目的是为了保证数据传输和数据存储的安全,但是RFID系统中的读写器和标签所具有的运算能力极其有限,因此,根据信息系统安全的基本要求,结合RFID系统自身的实际情况,比较完善的RFID系统安全解决方案应当具备信息机密性、数据完整性和身份真实性等基本特征。
1)信息机密性。
一个RFID系统在运行过程中,电子标签不能向任何未经允许的读写器泄漏任何产品信息,RFID电子标签中所包含的信息一旦被攻击者获取,将会泄露使用者的隐私,因而,一个完备的RFID安全方案必须能够保证标签中所包含的信息仅能被授权的读写器访问。
2)数据完整性。
在通信过程中,数据完整性能够保证接收者收到的信息在传输过程中没有被攻击者篡改或替换。在RFID系统中,通常使用循环冗余校验(Cyclic Redundancy Check,CRC)来进行数据完整性的检验,它使用的是一种带有共享密钥的散列算法,即将共享密钥和待检验的消息连接在一起进行散列运算,对数据的任何细微改动都会对消息认证码的值产生较大影响。
3)身份真实性。
电子标签的身份认证在RFID系统的许多应用中非常重要。攻击者可以伪造电子标签,也可以通过某种方式隐藏标签,使读写器无法获取该标签,从而成功地实施产品转移,读写器只有通过身份认证才能够确信消息是从正确的电子标签发送过来的;也有攻击者伪造读写器通过多次访问标签来获取标签中的信息。因此,标签也需要对读写器的身份进行认证,这称之为双向认证。
2、1相关协议分析
因为RFID系统应用广泛,很多学者在这方面投入很大精力,但由于每个学者对RFID系统能力的假设不同,所以提出的基于RFID的认证协议千差万别。有些协议中使用了哈希函数,其中比较典型的是Hash锁协议[1],随机Hash 锁协议[2]和Hash链协议[3];有些协议使用了更加复杂的运算,这些协议对RFID系统的计算能力要求很高,在实际使用中的成本很高。为了促进RFID技术的推广,EPC Global 组织制订了 EPC Class 1 Gen 2 ( EPC Gen2) [4]标准,这个标准利用了一个16位的伪随机数生成器(Pseudo Random Number Generator,PRNG)和一个16位的循环冗余校验码(CRC)为RFID协议提供基本的可靠性保证,符合该标准的标签只需采用硬件复杂度较低的PRNG和CRC,而不采用加密函数和 Hash 函数,这样就可以很大程度地提高协议的执行效率。
近年来,研究者们提出了很多符合EPC Gen2标准的认证协议。2008年,Burrow等[5]提出一个新的符合EPC Gen2标准的协议,声称该协议能够抵抗标签跟踪和伪装攻击,在这个协议中使用了伪随机数生成器(PRNG),同时标签具有乘法和加法的运算能力。通过分析可以发现文献[5]协议的安全性取决于一个线性函数g(),通过运算,攻击者能够得到标签中密钥的值,而且攻击者连续窃听同一个标签和读写器之间的回话,可以有效伪装一个标签,并且攻击者可以对标签进行跟踪[6]。
Chen等[7]提出一个轻量级的RFID认证协议,在协议中,产品电子代码(Electronic Product Code,EPC)被用作标签的标识码,读写器和标签共享秘密信息S1,S2和EPC。这个协议的致命缺陷是标签可以被模仿[8]。协议的运行过程如下:首先读写器R向标签T发送认证请求,并发送随机数rR:CRC(S1,rR)。标签T验证CRC(S1,rR),生成随机数rT,通过计算X(S2EPCrT),YCRC(rTEPCX),再将(rT,X,Y)发送给读写器R。读写器R验证(X,Y)后将结果返回标签T。
攻击者能够被动监听读写器和标签之间的通信,并且保存它们之间的交换数据。在同一个标签第二次认证时,攻击者将协议中的(rT,X,Y)替换为(r,X′,Y′)。其中X′=XrTr(X和rT在上次通信中获得),Y′=Y,Y=CRC(rTEPCX) =CRC(rTS1S2EPCrT)。这样,攻击者可以成功扮演标签T[9]。
最近,邓淼磊等[10]提出一个新的基于Gen2标准的RFID认证协议。在协议中,读写器R向标签T发出认证请求,并发送nr。标签T计算M1=CRC(P(nrnt))k,并且发送(M1, nt)给读写器R,读写器R转发(M1,nr,nt)给数据库D。在协议中,CRC被当成一个单项的加密函数,忽略了CRC的另外一个不安全属性,对于所有的A,B,都有CRC(AB)=CRC(A)CRC(B)[6]。再者,攻击者通过侦听,可以获得nr和nt,因此,攻击者可以计算出CRC(nrnt),M1CRC (nrnt)=CRC(P)k,攻击者可以通过伪造nr,在不需要知道P和k的情况下,成功地冒充标签T。2、2基于EPC Gen2认证协议中存在的问题
1)标签的ID以明文形式出现在认证协议中,没有对ID进行有效保护,致使标签容易受到跟踪,泄漏用户隐私信息。
2)错误地将CRC()当成加密函数,致使攻击者能够推导出标签的ID。
3)为了适应分布式环境,有些协议提供数据同步功能,但是标签和数据库的更新没有同时进行,或者受到攻击,导致数据不同步。
4)到目前为止,已经有很多的RFID安全协议被提出,但是大多缺乏严格的格式化分析和证明。
在总结上述问题的基础上,本文提出一个新的基于EPC Gen2标准的RFID认证协议,并采用BAN逻辑对上面所提出的协议进行形式化分析、证明。
3强安全的EPC Gen2认证协议
3、1协议设计系统初始化之后,数据库D和标签T之间共享秘密随机数k,数据库D和标签T之间共享标签的ID(ID在标签中称IDT,ID在数据库中称IDD),数据库中存储记录(TID,k)。
RT:读写器R向标签T发出认证请求Query。
TRD:标签T生成随机数α,计算MT=CRC(PRNG(IDTα) k,NT=kα。并将(MT,NT)发送给读写器R。读写器R产生随机数β,将(MT, NT, β)发送给数据库D。
DRT:数据库D首先认证标签T,数据库D本身存储有参数m的值,可以计算出α= NTm。通过查询记录(IDD,k),看是否满足CRC(PRNG(IDDα) k = MT,如果找到这样的IDD,则数据库D完成对标签T的认证,否则放弃此次连接。标签T通过数据库D的认证以后,数据库D计算K=PRNG(IDD)αβ,MD= CRC(PRNG(IDDβ) k,更新k=kK。将(MD,PRNG(IDD))发送给读写器R,读写器R计算α=NTk,K=PRNG(IDD)αβ,更新k=kK,并将(MD, β)发送给标签T。
T:标签T收到数据后,计算出K=(PRNG(IDT)αβ),如果CRC(PRNG(IDTβ) k= MD ,那么标签T完成对数据库D的认证,同时更新m=mK。
4)逻辑推理。
由消息3知D{IDTα}K,由假设P1和规则P|QYP,P{X}YP|Q|~X得到D|T|~(IDTα);由假设P3和规则P|#(X)P|#(X,Y),可得D|#(IDTα);由公式P|#(X),P|Q|~XP|Q|X可得D|T|(IDTα);再由规则P|Q|X,P|Q|XP|X可得D|(IDTα);最后由规则P|(X,Y)P|X得到D|IDT。
由消息5知T{IDDβ}K,由假设P1和规则P|QYP,P{X}YP|Q|~X得到T|D|~(IDDβ);由假设P4和规则P|#(X)P|#(X,Y),可得T|#(IDDβ);由公式P|#(X),P|Q|~XP|Q|X可得T|D|(IDDβ);再由规则P|Q|X,P|Q|XP|X可得T|(IDDβ);最后由规则P|(X,Y)P|X得到T|IDD。
4安全性分析
4、1安全性能比较
本文提出的协议与之前提出的协议进行了比较(详见表1), 通过比较可以看出,本协议具有很好的安全性能,满足了RFID认证协议的基本需求。其中,T表示具备该项要求;F表示不具备该项要求。
1)抵抗跟踪攻击。
抵抗跟踪是用户隐私保护的基本需求,由于当前的协议中标签在每次通信中都没有直接使用TID,传递的消息都不是固定的, 并且每次的输出都有随机数的参与,也是不可预知, 因此攻击者对标签的跟踪攻击很难实现。
2)抵抗冒充攻击。
攻击者可以被动地侦听读写器和标签之间的通信,并且有能力获得NT、NR、MD和MT。但是攻击者没有能力通过计算它们的历史数据获得当前通信中的数值,因为每次认证过程之后秘密信息m都会得到更新,而α和β在每次认证过程中都是随机生成的,两次相同的概率可以忽略不计。因此,攻击者没有能力成功地冒充读写器或者标签。
3)双向认证。
在本文协议中,服务器通过在数据库中查找TID′和m来验证MT,而TID和m为数据库和合法标签所共有。标签通过计算K和m来验证MD,K和m只有数据库和合法的标签及读写器才能拥有。
上一篇:播音技能培训(精选8篇)
热门推荐