无线新型电子车牌安全加密和鉴权系统概述_第1页
无线新型电子车牌安全加密和鉴权系统概述_第2页
无线新型电子车牌安全加密和鉴权系统概述_第3页
无线新型电子车牌安全加密和鉴权系统概述_第4页
无线新型电子车牌安全加密和鉴权系统概述_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

无线新型电子车牌安全加密和鉴权系统概述

JIANGSUUNIVERSITY

本科毕业论文

基于无线新型电子车牌安全加密与鉴权系统设计

与实现

Designandimplementationofsecurityencryptionand

authenticationsystembasedonwirelesselectroniclicenseplate

专业;通信工程

班级:

姓名:

指导教师姓名:

指导教师职称:副教授

2015年5月

基于无线新型电子车牌安全加密与鉴权系统设计与实现

专业班级:11通信1班学生姓名:张乐然

指导老师:王志超职称:副教授

摘要当前,随着智慧交通技术的进展,课题组所研发的无线新型电子车牌有着广泛

的市场需求,而电了•车牌加密与鉴权系统的设计与实现工作意义重大,是直接关系到此类

电子车牌能否进一步推广的关键技术之一。

本文针对这一需求,提出了一种基于无线新型电子车牌安全加密与鉴权系统设计思路

与具体实现过程。要紧涉及设备鉴别、信息传输与存储与代码与数据保护等方面一系列安

全措施。

在设备鉴别上通过Cortex系列芯片内部固化全球唯一ID的方法作为设备在网络服务

中的识别ID,确保设备的唯一性,即设备与服务账号的一对一绑定。同时还设置一个特殊

的256bit密钥作为设备登录服务器的身份验证。能够有效防止套用牌照、盗版牌照等情

况的出现。

在设备信息传输与储存中使用SHA256作为数据的指纹校验,使用AES256作为数据加

密的方法。高达256bit的数据校验指纹与加密密钥,配合牢固的AES加密算法来确保数

据传输的安全可靠。改进的Diffie-Hellman密钥交换算法来保护密钥交换防止传输途中

的失窃。运用了基于Cortex-M4协处理器的一种特别优化的SHA256与AES256加密算法,

在资源贫乏的单片机中也能够高速处理数据而不占用CPU时间,避免影响其他操作的执行。

在设备的代码与数据保护上,利用硬件级保护方法,在硬件上电加载前就设定保护模

式,未经授权的外部设备不能读取设备中的任何信息,强制的读取会触发保护机制,设备

Flash会强制启动擦除程序擦除所有数据。

最后,使用本文设计实现的数据加密与鉴权系统,在新型无线电子汽车牌照上进行应

用,并对保护中的电子车牌进行攻击与测试,验证了系统的安全性与可靠性,保证用户的

授权安全性及可控性。

关键词:无线电子车牌加密鉴权

Designandimplementationofsecurityencryptionandauthenticationsystem

basedonwirelesselectroniclicenseplate

AbstractAtpresent,Internetofthingstechnologyinthefieldsofenergy,healthcare,publicsecurity,

traffic,intelligenthomeplaysamajorrole,providesaconvenient,fastandreliablewayoflifefor

humanbeings,Buttheopennetworkingplatformexistauthenticationandauthorizationmechanismis

notperfect,communicationdataconfidentialityisnotstrong,hardwaredevicedataantifake

deficienciessuchaslackofability,andalotoftimenetworkingequipmentapplicationswereaskedto

havehighersecurity,thereforeitmustbeasearlyaspossibleinthedesignasecureencryptionand

authenticationsystembasedonequipmentnecessarytoprotect.

Theresponsetothisdemand,providinganewwirelesselectroniclicenseplatethisbasedon

equipmenthashighersecurityrequirementsofsecureencryptionandauthenticationsystemdesign

andimplementation.

IntheequipmentidentificationthroughacortexserieschipinternalcuringgloballyuniqueIDmethod

astheequipmentinservicenetworkID,toensurethattheequipmentuniqueness,i.e.,theequipment

andtheserviceaccountofbinding.Atthesametimealsosetaunique256bitaskeydevice

loginauthenticationserver.Caneffectivelypreventpiracyandapplythelicense,thelicense.

Inthecodeanddataprotectionofequipment,usinghardwareprotectionmethod,inhardware

electricalloadsetprotectionmode,theauthorizedexternalequipmentcannotreadanyinformation

equipment,mandatoryreadingwilltriggerprotectionmechanism,flashdevicewillforcedtostartthe

programerasealldata.

Finally,usedinthedesignandimplementationofdataencryptionandauthenticationsystem,inthe

newwirelesselectroniccarlicense,andattacksandtestingontheprotectionoftheelectroniclicense

plate,toverifythereliabilityandsafetyofthesystem,ensuretheusersecurityauthorizationand

controllable.

Keywords:Securityencryptionauthenticationelectroniclicenseplate

5.4.5通讯模块测试....................................................42

5.5片上门ash储存.......................................................43

5.5.1flash储存测试.....................................................44

5.6基于硬件的芯片读取保护...............................................44

5.6.1读取保护收U试45

第六章系统测试.....................................................47

6.1硬件测试.............................................................47

6.1.2K60最小系统测试................................................47

6.2软件测试..............................................................47

6.3测试总结..............................................................48

结论................................................................49

1.本论文要紧工作........................................................49

2.未来工作展望.........................................................49

致谢................................................................51

参考文献:52

第一章绪论

1.1研究背景与意义

随着近年来嵌入式技术不断进展,产品应用也越来越广泛、在包含工业制造、生产操

纵、军事装备、消费类产品、航空航天、仪器仪表检测、交通运输等各个方面都发挥着不

可替代的作用。

汽车电子牌照作为一种新型的基于嵌入式技术的智能设备,被开发用于解决当前汽车

牌照功能单一,交通管理部门与车主对车辆的管理不方便,在车辆行驶过程中的识别不迅

速,在交通管理中对车辆的统计不够精确等问题。是一个实现智能化交通管理、智能动态

信息服务与车辆智能化操纵的一体化系统。

半导体技术不断革新不仅带动硬件平台性能不断提升,也使得硬件的成本不断降低,嵌

入式软件已经成为产品智能化改造与增值的关键之所在,也是整个行业保持不断增长的中

心之所在11]。然而嵌入式设备由于使用方式比较特殊,由于缺乏保护与防盗版机制,新

产品投放市场不久,就被竞争对手复制,然后以盗版产品的形式重新投放到市场。这些各

类形式的盗版、破解极大的损害了原创厂商的利益,阻碍了创新的进展,假如不加阻止,

将让厂商不再敢投入资金与人力进行创新,关于行业百害而无一例。据国际反仿冒联盟称,

到2015年,仿冒与盗版产品的国际贸易额估计将超过1.7万亿美元,而这个数字己经超过

了当前全球经济出口总额的2机2]。显然,形势已经非常紧迫。

另一方面,由于嵌入式设备的特殊使用方式,关于嵌入式内部的代码与数据保护,也成

了一个难题。嵌入式系统中的程序代码与数据都储存在FLASH、EEPROM这样的存储器中,

这些储存设备缺乏必要的,呆护措施,使其中的信息很容易被读取与拷贝,严重威胁设备的

信息安全C

在这种情况下,迫切需要引入一种低成本的保护机制来基于产品一定的安全防护措施

不仅要防止固件不被拷贝,更重要的是保证固件能够在安全的环境下运行。而且即使固件

被复制或者者克隆,也不能在复制的设备上正确执行,这样才能保护原版设备的唯一性。

然而嵌入式系统硬件不像PC机那样具备丰富的资源,因此PC系统中常用的各类加密方法

在嵌入式系统中水土不服,这种安全防护措施务必使用一种全新的思想与方案来保护,这

个课题对嵌入式软件保护技术的研究十分有意义。

1.2国内外研究现状

目前在物联网设备的信息保护上的研究要紧分为下列几种:

1、纯软件加密。纯软件加密是用软件实现一个加密方案对自身进行保护,这是人们通

常容易想到的方法。这种方法成本比较低、也易于实现。通常利用核心数据(如密钥)与核

心软件模块(如Bootloader)配合来验证其它的模块,而通常两者与其它普通数据一样,都

存放在Flash上。一旦盗版者利用1IAG等底层手段进行修改、替换核心数据与核心模块,

则整套安全机制都将失效[3]。同时,嵌入式系统空间有限、资源宝贵,用纯软件加密的办

法对产品进行保护关于大部分低端嵌入式设备来讲并不有用。

2、硬件加密。按实现原理上来分,硬件加密能够分成两类:第一类是所谓的加密型存储

产品。这种加密型存储产品的原理是将普通的EEPROM按某种算法进行加密,用来保护存储

在EEPROM中的数据。因此这类产品的加密算法是不能公开的,正由于使用的算法是没有得

到国际公认的,因此其加密等级、加密安全性也谈不上任何标准。另一类是厂商自己使用

一些单片机,开发一些简单的算法,以期达到在与主机通讯时数据是加密的效果c采用这种

方法,厂商能够掌握全部的技术细节,安全性也有保障,唯一不足的是,这种方法需要花费

较大的精力与财力才能完成。

然而不管是上面哪种方法都有很大的局限性,首先是保护内容的局限性,即只能保护

flash上面的数据,数据一旦离开芯片就将完全暴露。其次是保护方式在通用性与性能上

缺乏平衡,不是太消耗资源就是不方便移植。最后是保护缺乏维度,在身份识别与设备鉴

别上缺乏比较的措施,无法真正从各类攻击中保护设备。我们设计的数据加密与鉴权系统

的方案则克服了上述的缺点,做到了多方面的保护。

1.3要紧工作

本毕业设计来源于“新型无线电子车牌与智能交通管理系统”课题,设计的要紧任

务是提供一个多层面的数据加密与鉴权系统,一方面使得设备数据在传输与储存中都能

够有效防范各类攻击,一方面也保护设备的唯一性,防止出现盗用、冒用设备的情况。

本文要紧完成了下列模块的设计与实现:

1、实现uniqueID读取与验证

2、实现sha256散列算法

3、实现aes256加密算法

4、受保护的片上flash储存

5、基于socket与json的传输加密

6、基于硬件的芯片读取保护

1.4论文结构

全义共分为六章,具体内容安排如下:

第一章绪论,介绍了本课题的来源及其研究背景与意义。在此基础上给出了毕业设计

核心内容及论文结构;

第二章有关技术,对系统设计中用到的关键技术进行介绍;

第三章设计概要,对系统总体设计及其需求分析与设计分析进行阐述;

第四章硬件设计,包含芯片的选择、主控器及其最小系统的设计、GPRS模块使用设计、

定位模块使用设计、操纵系统的设计、电源系统的设计;

第五章软件设计,要紧是各类安全措施的软件实现方法。程序使用C语言,使用IAR7.2

编写与编译,在freescalek60芯片上调试与运行。同时对各个模块进行测试‘

第六章系统测试,对系统的功能进行测试,分为两个部分:硬件测试与软件测试,看

是否能够实现。

结论总结全文工作,并对系统的进一步完善提出展望。

附录给出了系统设计的原理图与系统实物图。

第二章有关技术

安全防护系统的强度很大程度上在于安全算法的强度,为了构建一个足够强壮的

安全防护框架,本设计选用了安全散列算法的最高级别SHA256与高级加密标准下的AES256

算法作为核心算法。其中SHA256负责对数据计算指纹,AES256则负责加密数据。两种算

法都是由美国国家标准与技术协会(NIST)公布并作为行业标准算法通过了十多年各类广

泛的考验,安全性能能够信赖。下文将全面阐述两种算法。

2.1安全散列算法

SHA(SecureHashAlgorithms,安全散列算法)是一种将一个消息映射到一个固定长

度的消息摘要的算法。其最大的特点就是不一致的输入消息,它们映射得到的摘要大相径

庭的机率非常高。这种算法由美国国家安全局(NSA)设计并于1993年被美国国家标准与技

术协会(NIST)公布。

其算法的安全基于下列两点[4]:

a.由消息摘要反推原始输入消息,从计算上来说是不可行的。

b.想要找到两组不一致的消息对应到相同的消息摘要,从计算上来说也是不可行的。

对输入消息作出任何改变,有很高的机率导致其生成迥异的消息摘要。

SHA尽管是基于MD4的,但是SHA更为复杂。SHA相比于MD4要紧是添加了扩展转换、

将摘要位数进行了扩展、通过将上一轮的输出作为下一轮的输入这样的方法产生更快的雪

崩效应这几点。除此之外还有下列改变[5]:

a.额外增加了第四轮,只只是是使用了与第二轮相同的运算函数。

b.每一步的加法常量都是唯一的。

c.使用了循环纠错编玛。

SHA家族一共包含五种安全散列算法,分别是SHA-1、SHA-224,SHA-256、SHA-384,与

SHA-512o其中后四者统称之SHA-2、它们的设计原理基本相同,只是摘要的位数不一致。

2.1.1Hash函数概述

在1979年,梅克尔得到真实的单向散列函数的定义,安全属性包含原像与第二原像。

1980年,戴维斯在数字签名中使用散列函数,用来抵御RSA数字签名的伪造攻击,这标志

着哈希函数密码学研究存在启动[6]。如今,哈希函数是现代密码学的一个重要分支,它

在电子签名与抗抵赖,密玛认证,消息认证等诸多领域有着广泛的应用[7]。哈希函数的

基本思想是,假如散列值H(X)作为消息x的消息摘要,然后改变X消息中的任何一个位

或者儿位,将导致最后的散列值H(x)的巨大改变[8]。散列函数是开放的,也就是处理

的过程是不安全的,其安全性是单向的。比如,散列函数作为一种使用构成文件指纹的方

法[9],假如您需要验证某人确实有一个特定的文件(你有该文件),但你不希望他会文件

传递给你,然后让他给你的散列值,假如他发给你的哈希值与您在此文件的哈希值是相同

的,那么我们能够确信他有文件[10]。由于这个特点,散列函数自然成为许多安全协议与

加密系统的安全性保障基础,如SSL,TSL协议[11L

2.1.2SHA-256算法概述

SHA-256算法适用于长度为a(OMaM264)的消息,我们这里将消息定义为M。同川d5

与sha-1一样,待处理的消息务必是512比特的倍数。接下来对每一个512比特消息按32

比特一组进行分组,再扩展到64组,扩展后的消息序列表示为3°,u)i,…363。这里我们需要

8个工作变量:

=6a09e667

H*=bb67ae85

=3c6ef372

H.=a54ff53a

H£)=510e527f

H.=9b05688c

H.=If83cl9ab

H罗=5be0cdl9

SHA-256同时还有两个临时变量「工2。算法的运算会使用到6个逻辑函数,而每个函

数的操作对象都是字(32位),每个函数的输出结果也是字。

Ch(x,y,z)=(xAy)®(xAz)

Maj(x,y,z)=(xAy)®(xAz)®(yAz)

E产6)(x)=ROTR2(X)©ROTR13(X)㊉ROTR22(X)

6n25

E产(x)=ROTR(X)㊉ROTR(x)㊉ROTR(X)

铲)(x)=ROTR7(X)©ROTR18(X)©SHR3(X)

。产6)(x)=ROTR17(X)㊉R0TR19(X)©SHRiO(x)

其中SHRn(x)-n

ROTRn(x)=(x»n)V(x«w—n)

SHA-256算法中还用到64个常量,K产6),K『6),…K第6)。这些常量用16进制表示如

表2.1所示:

表2.1SHA-256常量表

428a2f9871374491b5cOfbcfe9b5dba53956c25b59flllfl923f82a4ablc5ed5

d807aa9812835b01243185be550c7dc372be5d7480deblfe9bdc06a7cl9bfl74

e49b69clefbe47860fcl9dc6240calcc2de92c6f4a7484aa5cb0a9dc76f988da

983e5152a831c66db00327c8bf597fc7c6e00bf3d5a7914706ca635114292967

27b70a852elb21384d2c6dfc53380dl3650a7354766a0abb81c2c92e92722c85

a2bfe8ala81a664bc24b8b70c76c51a3dl92e819d6990624f40e3585106aa070

19a4cll6le376c082748774c34b0bcb5391cOcb34ed8aa4a5b9cca4f682e6ff3

748fB2ee78a5636f84c878148cc7020890befffaa4506cebbef9a3f7c67178f2

2.1.3SHA-256运算步骤

1、填充附加消息

在Hash计算之前,需要对输入消息M进行填充,以确保填充后的消息长度是512的整

数倍。填充方法如下,假设消息M的长度是1比特,然后在消息末尾附加1个“1”与k

个“0”,使得1+1+k=448mod512o然后在后面的64比特中填上原始长度1的二进

制表示。举个例子,一个消息“abc”,总共8x3=24比特,接下来在后面填上1个“1”,

然后接着是448-(24+1)=423个“0”,最后填上原始消息长度值24,这样就构成一个512

比特的消息。

423_____64______

011000010110001001100011100^0000^^011000

JV一,J-v_一—V-V----->J-__/

abcM24

2、解析填充后的消息

前文已经提到,填充后的消息长度是512的整数倍,这里先把消息分成N组,

M(°),M⑴,…M(N),每组512比特。依次读入512比特的消息,以32比特为一组,分成16组,

假设第1组32比特消息为M孔依次往后,第二个为M?,最后一个为M㈡

3、SHA-256的Hash计算

上述预处理都完成后,每个512比特的消息块从M(。),M⑴,…M(N),将被按顺序处理,处

理步骤如下:

Fori=1toN:

1、扩展的得到的34个消息序列,{Wj:

JMF\0<t<15

256)

(a[(Wt_2)+Wt_7+滞56}(WtT5)+Wt_16,16<t<63

2、初始化8个工作变量a,b,c,d,e,f,g,h为前一次(i-1)的Hash值:

a=H产

b=H,T)

rtoto63•

3.Fo•

255

=h+£+

Tl1

wt

T2=-6(a)+Maj(a,b,c)

h二g

g=f

f=e

e=d+Tj

d=c

c=b

b=a

a=Ti+Ti

)

4、计算得到第i次的Hash值H。):

u)

a+Ho­

o

H1+Hx-

11

H1+H-I

22

(0

H3d+H3

He+H

H①+HC

55

噜=g+H”

H?=h+H尸

}

1到N次重复之后,循环结束,最终的256比特消息摘要就是第N次Hash值

噌)间?..用厂)的级联:

四)||H*||哽||噌)||H<N)||噌)||噌||畔)

2.2高级加密标准(AES)

1997年9月12tlNIST正式发出「征集算法的公告,其目标是确定一种保井敏感(尢密

级的)信息的、公开的、免费的同时全球通用的算法作为AES,以弥补DES退出后,数据加密

标准留下的空缺。其最基本的功能要求是:算法务必是对称分组密码,分组长度为128比特,

密钥长度支持128,192与256比特。

2000年10月2日,NIST正式宣布Rijndeal算法将被不加修改地作为AES,此后N1ST

授权联邦信息处理标准出版社(FIPSPUBS)为AES制定了标准草案用以征集公众的评议,随

后在公众评议的基础上对草案进行修改,于2001年11月26日公布了正式的197号标准一

AES标准[12],在FIPSPUBs197中指出了标准生效的具体时间为2002年5月26日,至此,

经历数年的AES开发研究才终于落下帷幕。

2.2.1AES算法概述

Rijndael算法是一个分组迭代加密算法,而且可变数据块长、可变密钥长。数据块长

与密钥长能够是128,192或者256比特,但为了满足AES的要求,分组长度被固定为为128

比特,密钥长度则是可变的128,192或者256比特。

算法中数据块要通过多次数据转换操作,其中每一次转换操作产生的中间结果叫做状

态。状态可表示为二维字节数组即状态矩阵,它有4行,Nb歹1且Nb等于数据块长除以32,

在标准AES里Nb=4o密铁也可类似地表示为二维字节数组,它有四行,Nk歹%其中Nk等于

密钥块长除以32o算法转换的轮数Nr由Nb与Nk共同决定,具体值列在表2.2中。

表2.2在不一致的Nb与Nk卜轮的数值Nr

NrNb=4Nb=6Nk8

Nk=4101214

Nk=6121214

Nk=8141414

AES使用的是替代/置换(SP)网络结构。每一轮由3层构成:

⑴非线性层:进行SbuByte变换(即S盒替换),起到混淆的作用;

(2)线性混合层:进行ShiftRow行变换运算与MxiColumn列变换运算以确保多轮之上

的高度扩散;

(3)密钥加层:子密钥简单地异或者到中间状态上.

AES算法加密的基本流程如图2.1所示:

图2.1AES加密流程图

2.2.2轮变换

轮变换包含4个不一致的变换,S盒变换,行变换,列变换与轮密钥加,下面用用类C语言

描述:

Round(State,RoundKey)

{

SubByte(State);

ShiftRow(State);

MixColumn(State);

AddRoudKey(State,RoundKey);

)

最后一轮少了MixColumn(State)函数,为:

FinalRound(State,RoundKey)

(

SubByte(State);

ShiftRow(State);

AddRoundKey(State,RoundKey);

}

下面我们分别介绍轮变换中的各个变换。

1>SubByte变换

SubByte变换即S盒运算。该运算有如下两个步骤:

(1)对所有的子字节在有限域GF(28)中求其乘法逆,且规定,00'的逆为’01,

的逆仍然为,01,;

(2)经(1)处理后的字节值进行如图2.2定义的仿射转换:

该变换与状态记为SuoByte(State)。变幻的方法是通过查S盒表找到这个字节对应的

多项式,然后对这个字节进行替换。而逆S变换的计算方法稍有不一致,先通过查逆S盒

表进行字节替换,即逆仿射变换运算,然后再利用前面介绍过的方法求得输入字节乘法逆。

2、ShiftRow变换

这一变换与状态用ShiftRow(State)来表示。比如在行左平移变换中,状态的行以不一

致的位移向左循环平移,第0行不动,第1行移动C1个字节,第2行移动C2个字节,第3行

移动C3个字节.Cl,CZ,C3与分组长Nb有关,有关关系为表2.3所示。

表2.3ShiftRow变换

NbClC2C3

4123

6123

8124

3、MixColumn变换与InvMixColumn变换

在列混淆变换中,我们把状态的每一列看作是在系数域GF(28)中上的多项式,然后在

模至+1)下与固定多项式c(x)='03、3++,oi,x+,02'相乘。这种运算可用矩阵乘

法来表示,记b(x)=c(x)®a(x),则:

bO02030101

01020301

b201010203

b303010102

图2.3MixColumn变换

对所有的列进行这一运算就用MixColumn(State)表示。由于c(x)与+1互素,因此

c(x)可逆,且C-1(X)-d(x)一'OB'x?+'OD'x?+'O9'x+'0E'。列混淆变换的逆类似于列混淆

变换,只需将C(x)换成d(x)即可。也就是只需要将系数矩阵换为其乘法逆矩阵即可,如图

0E030D09bQ

090EQB0Dbl

QD09QEQBb2

OBQD090Eb3

图2.4InvMixColumn变换

4、轮密钥加

轮密钥加用AddRoundKey(state,RoundKey)表示。计算方法是将状态矩阵与轮密钥进

行简单的位异或者。轮密钥长度等于分组长度Nb,使用的轮密钥是通过密钥扩展算法,由

种子密钥所生成。

2.2.3密钥扩展方案

轮密钥的生成是由密钥扩展与轮密钥选择两部分构成,其基本原则是:

(1)轮密钥的总位数等于分组长度乘以(1+Nr),如分组长为256bit,轮数10,则轮密钥

的总长为256*(10+1)=2816bit;

(2)种子密钥扩展为扩展密钥,种子密钥长度为4*Nk个字节;

(3)轮密钥由下列方法从扩展密钥中获得:对第1轮密钥由前Nb个字构成;第2轮密钥

由第二个Nb个字即第Nb+1个字到第2Nb个字构成;下列依次类推。

1、密钥的扩展

扩展密钥用数组w[Nb*(Nr+l)表示,前Nk个字是种子密钥,其它的密钥字通过递归定义

生成。由于密钥扩展函数取决于Nk的值,因此下面介绍中分为Nk<6与Nk>6两种情况。

若Nk46,用类C语言描述如下:

KeyExpansion(byteKey[4*Nk],wordw[Nb*(Nr+1)])

for(i=0;i<Nk;i++)

w[i]==(key[4*i],key[4*i+l],key[4*i+2],key[4*i+3]);

for(i=Nk;i<Nb*(Nr+l);i++)

(

temp=w[i-l];

if(i%Nk—0)temp=SubByte(RotByte(temp))Reon[i/Nk];

w[i]-w[i-Nk]~temp;

)

)

SubByte(w)是一个返回4个字节的函数,每个字节都是它输入字中相应位置字节通过S

盒作用后的结果;而函数RotByte(w)返回的是这4个字节经循环置换后的字,这个循环置换

为:若输入字为(a,b,c,d),则输出字(b,c,d,a)。

能够看出:扩展密钥的Nk个字由种子密钥构成,随后的字w[i]等于经一些变换

后得到的字temp写字w[i-Nk]异或者而成;而旦对位置为Nk倍数的字变换中不仅运用了循

环左移变换RotByte与子字节变换SubByte,还运用了轮常数Rcon。

对轮常数,我们定义为:

Rcon[i]==(Rc[i],,00,,,00,,,00,);

而Ro[i]表示在有限域GF(28)中X-的值,即:

Rc[i]=x(即'02')•(Rc[i-1])=xi-1

当Nk〉6时,用类C语言描述为:

KeyExpnasionb(byteKey[4*Nk]wordw[Nb*(Nr+l)])

(

for(i=0;i<Nk;i++)

w[l]=(key[4*i],key[4*i+l],key[4*i+2],key[4*i+3]):

for(i=Nk;KNb*Nr+l;i++)

temp=w[i-l];

if(i%Nk==0)tcmp=SubByte(RotByte(temp))^Rcon[i/Nk];

elseif(i%Nk==4)temp=SubByte(temp);

w[i]=w[i-NkFtemp:

)

这与Nk<6的区别在于对指数满足i-4是Nk的倍数的字,在异或者之前

对w[iT]进行SubByte变换。

2、轮密钥的选择

由于在进行密钥加时,密钥长务必与分组长相等,因此第i轮的密钥与分组长度有关,

同时由扩展密钥的字w[Nb*i,w[Nb*i+l],…,w[Nb*(i+l)]构成。表2.4给出了Nb=4,Nk=4

时的轮密钥选择情况。

表2.4轮密钥选择

W0W1W2W3W4W5W6W7W8'.V9W10W11•••

轮密钥0轮密钥1轮密钥2•••

这种算法的优点在于占有的存储空间不大,同时轮密钥的计算只需要使用Nk个字节就

能够了,不需要进行估计算。

第三章设计概要

3.1系统概要

新型无线汽车电子牌照要紧是一种新型的基于嵌入式技术的智能设备。要紧是为熟悉

决当前汽车牌照功能单一,交通管理部门与车主对车辆的管理不方便,在车辆行驶过程中

的识别不迅速,在交通管理中对车辆的统计不够精确等问题。是一个实现智能化交通管理、

智能动态信息服务与车辆智能化操纵的一体化系统。

系统的整体结构下图3.1所示:

图3.1系统框图

其中云系统作为整个系统的核心,管理页面、手机APP与无线电子车牌都会连接到云,

通过与云系统的交互来执行服务。在云端会有一个庞大的数据库,其中储存着车牌登记、

违章、年检与保险等所有的信息。新型无线电子车牌系统的特色功能要紧有下列几个:

1、车辆信息的数字化管理

由于所有的车辆信息都储存在云端,因此从任何位置与设备都能够很方便的获取这些

信息,极大地便利车辆信息的管理。演示系统目前提供了三个接入方法。

(1)网页管理系统,通过网页的方式管理整个车辆系统的所有信息,被设计用于部署

在交通管理部门,具有很高的权限,能够查看与修改所有车辆的信息。

(2)手机APP管理,车主能够通过账号与密码登陆服务器,拥有受限制的权限,仅仅

能够瓷看自己名下车牌的有关信息,只是关于诸如保险、违章、车辆位置等信息,依然能

够非常方便的处理,省去了车主往返交通管理部门的烦恼,真正做到“掌”控自己的车。

(3)车辆信息近距离读取。该功能暂未实现,只是未来能够通过加入蓝牙、zigbee、

NFC这样的模块,实现车辆信息的近距离读取功能,这样在交警执勤等情形下能够做到快

速获取车牌信息,为执法带来便利。

2、无卡收费功能

当前的无法收费功能都是基于ETC实现的,这样的收费功能要紧有下列几个缺点,一

是通过的速度受到限制,基本要在10km/h的速度下才能够保证通信。二是ETC成本过高,

是一个卡与牌照分离的系统,各自独立,因此需要额外的设备。三是识别烦恼,不管如何

还是不能没有收费站这样的设施。然而基于新型无线电子车牌的位置信息,能够实现一种

克服上述的无法收费系统,识别没有速度限制,账户与牌照绑定方便管理,而且能够真正

做到没有收费站的存在就能够自动识别与扣费。

3、智能交通功能

智能交通要紧的实现是到路口红绿灯时长的动态调整功能。其核心是某于新型无线电

子车牌的管理位置。车辆在行驶过程中,会实时上报自己的位置信息,各个车辆的位置信

息,是整个智能电子车牌系统的关键所在。当车辆把自己的汇总到云端,云端就能够通过

分析特定区域的车辆状况来获取该路段路况信息,继而动态的调节包含交通灯在内的各类

交通指挥工具,以此来疏导各个路段的交通。

4、车辆防盗与追踪功能

车牌会实时上传车辆的位置信息,而其上传的位置信息也会被服务器保留并绘制成轨

迹,车主能够随时通过手机APP查看自己的车辆当前位置与历史轨迹,管理的自己的车辆。

通过在公安系统中还能够利用车牌对嫌疑车辆进行定位,方便对违法犯罪分子的追捕。

3.2系统需求分析

新型汽车电子车牌整体技术构架有两个关键点。

1、基于位置的车辆联网技术。电子车牌利用3/4G的通信网络时刻与云端服务器保持

连接,同时利用定位系统(GPS、BDS)实时获取自己的位置信息,把位置信息上传至云端

服务器。通过对车辆位置信息的推断,能够实现智能的交通管理。

2、基于云的车辆信息管理系统。关于云系统而言,电子车牌的牌照号就相当于一个

账号,其下的所有信息包含牌照、车辆信息、车主信息、年检、违章记录等所有的信息都

实现数字化、网络化。

因此关于新型无线电子车牌的安全系统的设计需求也就明确,一个是关于车辆网情形

下的牌照身份识别。即在基于位置的车联网中能够将位置数据与车辆身份进行绑定,防止

车牌的套牌与伪造问题,防止出现车辆重复识别与车辆的信息伪造。只有这样才能够真实

还原车辆位置信息的数据,有效的利用数据进行智能交通系统的调整与管理。第二个就是

在车辆信息管理,包含信息的传输与储存的过程中,要保证信息的安全性,防止出现信息

的泄露与信息被伪造篡改,由于车俩信息中包含着车辆归属、车辆身份、车辆的保险等重

要的信息、,一旦被不法分子获取将极大的危害交通系统的安全与稳固,故关于安全系统的

可靠性有很高的要求,要求安全系统从机制、技术与强度上都要做到抵挡各类已知的甚至

未来数十年强度的攻击。

3.3系统设计分析

基于新型无线电子车牌的安全保护系统的数据流图3.2所示:

图3.2数据流图

1、安全加密系统

该系统的要紧工作是关于加密与解密。即保护上文所提到的在各类信息在储存与传输

过程中的信息安全。安全加密系统关于所有数据在传输与储存前都会进行高强度的加密,

加密后的密文具有极高的安全性,即使信息被截获或者者意外泄露,只要没有获取指定的

密钥,依然无法获取其中的明文。

这部分的加密要紧使用的四个技术分别是SHA256散列函数、AES256高级加密算法、

基于TCP/IP与Json的传输协议与Flash片上安全储存技术。

要紧流程是通过TCP/IP协议与与服务器建立连接,继而再通过基于Json的自定义协

议与服务器进行数据传输,在数据传输前,对数据使用256bil的密钥进行AES加密,再

对数据使用SHA256计算信息摘要,并附在数据上,这两步能够保证数据传输中的安全,

即假如攻击者窃取了数据,没有密钥就无法获取其中的信息,即使窃取了密钥篡改了信息,

也会由于改变了Hash值而无法通过校验,从而无法对系统造成影响。

Flash片上安全储存技术要紧是利用芯片自带的Flash来储存一些数据,由于有硬件

级的安全保护技术,外部攻击者无法从Flash上获取数据,因此这些储存在Flash上的数

据也是安全的。

2、身份识别与授权系统

该系统要紧是解决电子车牌的身份与权限问题。要防止套牌与伪造牌照,最关键的地

方在于牌照唯一性的与牌掇身份的鉴别。因此系统需要设计一个机制,来实现每个牌照对

应一个全球唯一不可重复的指纹,这个指纹就是电子牌照的身份证,指纹错误的牌照无法

登录系统与进行各类服务,同时会被系统与软件识别并发出警报。同时只有身份识别正确

的车牌,才会授予对数据读取与写入的权利,对隐私与敏感数据执行各类操作。其验证流

程如图3.3所示

图3.3身份验证流程图

该系统要紧使用了UniqueTD唯一身份码与基于硬件的芯片读取保护两个技术。

在颁发牌照的时候,系统会自动将每一个电子车牌的UniquelD与车牌进行绑定并录

入数据库,除非挂失解除绑定或者者更换绑定,否见一个车牌只能有一个指定的设备。这

样套牌与伪造牌照的设备将无法运作,其次,这些唯一信息通过特定编码,储存在芯片中,

信息被芯片保护起来无法被外部攻击者读取,因此也无法被伪造。

第四章硬件设计

在需求分析完成之后,接着就是硬件设计,后续的工作都建立在此基础之上。本系统

的硬件设计要紧是为了定位与无线通信的需求而考虑。系统的整体结构如图4.1所示,硬

件设计根据需求分析的结果进行元器件的选择,芯片引脚的合理安排,各模块外围电路的

设计。其中,首先进行且尤为重要的是主操纵芯片的选择。硬件设计具体包含;主控器及

其最小系统的设计、全球定位模块的设计、3G无线通信模块的设计。

图4.1结构框图

4.1主控芯片

论文所选用的操纵芯片为FREESCALE公司的MK50DZ512ZVLQ10系列,工作电压

1.71-3.6V,闪存的写电压为1.71-3.6V,使用ARMCortex-M4内核,其性能可达到1.25

DhrystoneMIPS/MHz。该系列提供硬件加密,支持多个算法,能够以最小的CPU负载

提供快速、安全的数据传输与存储。其中系统安全模块包含安全密钥存储与硬件篡改检测。

该款单片硬件资源丰富,系统性能强大,包含128kRAM与512K的Flash,论文所设计的K60

最小系统板具有100M标准主频,能够使整个电子车牌系统性能充足、运行稳固。同时K60

单片机还具有低功耗的特点,能够在不工作或者者轻负荷的情况下降低系统功耗节约电量。

KinetisK6xMCUFamilyBlockDiagram

Clocks

SecuntyTimersCommunicabonInterlaces

andIntegrity

Xnrwc

Low-Power

ToucASeming

imortacfi

口Standard匚;Optional

图4.2结构框图

由功能框图4.2可知,K60含有的功能模块包含:串行通信UART、GPIO、定时器、A/D、

D/A、CMP、TSLSPKI2C、I2S、CAN、USB、SDHC与存储模块。不一致单片机的相同功能

模块用法是基本一样的,因此,这里的UART、GPIO、定时器、A/D、SPI、CAN与XS128的

功能模块用法是一样的,CMP与XS128的PWM模块功能类似,都能够输出PWM波形。

4.1.1最小系统设计

K60最小系统包含3.3V供电、复位电路、晶振电路与I/O端口等构成。最小系统是

单片机工作的必要条件,且形成最小系统后不可能再改变。主控芯片通过串口与上位机、

定位模块、无线通信模块进行通信,所有的数据处理都在主控芯片的内部进行处理,对flash

与ram的数据处理也都在内部,杜绝数据放在芯片外部的所要面临的安全风险。

(1)核心板的供电电路

K60的工作电压为3.3V,电源是USB接口的标准电压5V,因此需要使用稳压芯片LM2596

降压到3.3V。其电路设计如图4.3所示。

UI

USB]IA12S96-AIU

IVININ

VCC

2USB仁F

;・

A【、1«I>

4ISB(,、D

GND

SR-BS更

ON

3O

G、D」、

3IJSBGB

\|、I、

PWR25

SWDFDF

电源

图4.3电源设计图

(2)JTAG下载接口

K60芯片使用的是ARMCortcx-M4内核,这种内核内部集成JTAG接口,能够方便的

在线编程与在线调试。JTAG接口电路如下图4-4所示。TCLK、TMS、TDKTDO分别于芯片

的3至7连接,RESET引脚与8接口相连,而8则连着芯片复位引脚。电路如图4.4所示。

P7

1

2

JTAG【DI______________"3=

JIAG【VS/SWDDIO-:4

JTAGTCLK/SWDCLK~~;5=

6

JTAGTDO:7=

RESET:8

9=

-------9

20=

JTAG.

图4.4JTAG电路设计

4.2北斗/GPS定位模块

与芯星通UM220-III双系统高性能GNSS模块,是一款双系统、多频率、高性能的

SoC芯

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论