admin管理员组

文章数量:1532746

2024年5月20日发(作者:)

39

卷第

3

2019

6

桂林电子科技大学学报

Journal

of

Guilin

University

of

Electronic

Technology

Vol.

3

9,

No.

3

Jun.2019

基于

FPGA

加速云的

Hitag2

攻击算法

肖文

唐宁

刘敬术

(桂林电子科技大学信息与通信学院

广西桂林

541004)

要:

为了验证基于

Hitag2

加密算法的汽车防盗系统的安全性

研究了

Hitag2

加密算法的通信协议与加密原理,并根据

Hitag2

加密算法存在的弱点

提出了一种基于

FPGA

加速云的

Hitag2

攻击算法

并在华为云

FPGA

加速服务器上对攻击

算法进行了测试

测试结果表明

该算法能够在得到

72

YB

密钥流后

快速获得

Hitag2

的初始内部状态

证明了使用

Hitag2

加密算法的汽车防盗系统已不再安全

关键词

Hitag2

流密码;

FPGA

加速云;折中攻击

中图分类号

TP309.

7

文献标志码

A

文章编号

1673/08X(2

A

Hitag2

attack

algorithm

based

on

FPGA

accelerated

cloud

XIAO

Wen,

TANG

Ning,

LIU

Jinshu

(School

of

Information

and

Communication,

GuilinUniversity

of

Electronic

Technology

Guilin

541004

China)

Abstract:

In

order

to

verify

the

security

of

the

car

anti-theft

system

based

on

Hitag2

encryption

algorithm

and

promote

the

development

of

car

anti-theft

system

this paper

studies

the

communication

protocol

and

encryption

principle

of

Hitag2

en

­

cryption

algorithm

and

based

on

the

weakness

of

the

Hitag2

encryption

algorithm

applied

to

the

chip

The

FPGA

acceler

­

ates

the

clouds

Hitag2

attack

algorithm

and

implements

the

attack

algorithm

on

the

Huawei

cloud

FPGA

acceleration

server.

The

test

results

show

that

the

method

can

quickly

obtain

the

initial

internal

state

of

Hitag2

after

obtaining

the

72-bit

key

stream

which

proves

that

the

car

anti-theft

system

using

Hitage2

encryption

algorithm

is

no

longer

safe.

Key

words

Hitag2

algorithm

stream

cipher

FPGA

cloud

computing;

time/memory

trade-off

attract

Hitag2

算法是恩智浦半导体

(NXP)

开发的一种

试结果表明

Hitag2

加密算法的安全性已不再可靠

应用在汽车低频电子标签钥匙端的加密算法

使用在

NXP

向汽车防盗系统供应商提供的

pcf7936

1

Hitag2

算法的弱点分析

Hitag2

算法的攻击需要利用它的

3

个弱点

pcf7941

pcf7952

等防盗芯片上

广泛应用在标志

铁龙

本田

尼桑等汽车防盗系统

'

3

&

Hitag2

算法属于流密码中的一种

具有算法

实现简单

加解密速度快

便于硬件实现等优点

在早

1)

利用

Hitag2

加密算法应用到芯片上协议存在

弱点

Hitag2

算法在应用到具体芯片时

具有命令

命令可以重复,可固定随机数的特点

,

使得采集到

一组随机数和签名的情况下

可以得到至少

72

bit

密钥流

使用一个低频

#

25

kHz)

采集器

在用钥匙

期确实具备相当的安全性

但随着硬件技术的发展变

得越来越脆弱

鉴于此

利用华为

FPGA

加速云

F1

实例

借助

云端主机内存大

FPGA

板卡逻辑资源多的优势

启动汽车时

将采集器放在汽车的点火线圈旁

在扭

动钥匙点火过程中,可采集到一组

32

bit

加密随机数

过建立

32

GB

的彩虹表

7

,

提出一种

FPGA

云端攻

击算法

该算法可在平均不到

10

s

时间内获得

0

)

1

32

bit

的签名

&

用一个

Pcf7991

低频读卡器

将采集的

64

bit

数据发至汽车钥匙芯片

即可得到一

Hitag2

初始内部状态

进而获得

Hitag2

的密钥

收稿日期

2019-04-13

组钥匙芯片返回的

32

bit

的加密数据

因为真实数据

通信作者

唐宁

(1964

),

副教授

研究方向为数字专业集成电路设计与测试

EDA

技术

&

E-mailningt@

引文格式

肖文

唐宁

刘敬术

.基

FPGA

加速云的

Hitag2

攻击算法桂林电子科技大学学报

,2019,39(3)

187-189.

188

桂林电子科技大学学报

2019

6

未知

所以并不知道密钥流

猜测一个

10

bit

的某命

攻击法的破解效率取决于计算机的计算性能

如读

blockO

命令

发至钥匙芯片

若钥匙芯片未

返回

则调整猜测命令的数据,重新执行上述操作

根据芯片协议可知

16/2

个读操作命令会被钥匙

芯片接受,并返回

32

bit

的加密数据,再用该数据与

2

使用

FPGA

加速云对攻击加速

2.

1

基于

FPGA

加速云的

Hitag2

密码攻击算法设计

32

bit

的芯片

id

异或

得到

32

bit

的密钥流,利用命

基于上述弱点分析

设计了一种基于

FPGA

速云的

Hi

g2

折中攻击算法

其主要利用

Hi

g2

令可重复的弱点

用这串密钥流的前

10

bit

去加密扩

展的读

blockO

命令

再次发送给钥匙芯片

若有

32

bit

的密文数据返回

则证明猜测的命令是正确的

上述弱点进行攻击和解密运算

&

利用

FPGA

加速云

blockO

命令

否则使用下一个猜测的读

blockO

服务器内存大的优势

可以一次性将

32

GB

的彩虹

表数据读入内存

,

极大地减少了解密过程中随机访问

重复上述操作,直至有

32

bit

密文数据返回

成功猜测到读

blockO

命令后

再次将返回的

32

bit

的密文数据

此时为加密的

id

)与

id

的明文异或

,得

32

bit

的密钥流

,通过这串密钥流去加密已扩展至

4O

bit

的读

blockO

命令

并发送至钥匙芯片

可获得

32

bit

的加密

id

数据

。此时

已经获得

72

bit

的加密

数据,通过将

4O

bit

的读

blockO

命令的明文和

32

bit

=

的明文与获得的

72

bit

的密文数据异或

便可

获得

72

bit

的密钥流

GG

1

-

G

71

&

2

利用其本身线性反馈移位寄存器长度短的弱

Hi

g2

密码的线性反馈移位寄存器只有

48

在得到

72

bit

的密钥流后

可通过暴力破解或折中攻

击,得到可生成这

72

bit

密钥流的线性移位反馈寄存

器初始内部状态

K

o

%

'

o

Q

1

Q

47

3

得到线性移位反馈寄存器内部状态后,极易倒

推出密钥的弱点

Hi

;g2

算法使用一个

32

bit

=

8

bit

key

32

bit

的随机数

n

R

进行初始化加

得到线性移位反馈寄存器内部状态心

利用

倒推的方式恢复线性移位反馈寄存器的初始化状态

R

mit

%

'

o

Q

1

-・

Q

79

和初始密钥流

GG

1

G

1

&

利用如

Hi

g2

初始化规则可解出唯一的密钥

n

R

%

b

l

H

i

4

[0,31

]

a

.

%l

di

!

l

4

'

3

a

32.

%

k

i

i

4

',

15

;

a

48

'

i

%

1

16

l

n

R?

V

l

4

'

3

叮&

利用上述任何一个弱点都可以对

Hi

g2

进行攻

本研究用折中攻击法来设计

Hi

g2

攻击算法

&

利用

Hi

g2

的第一个弱点

攻击者能够获得连续的

Hi

g2

密钥流

然后利用

Hi

;g2

的线性反馈移位寄

存器内部状态更新规则

固定以

2】

5

为一条数据链的

长度

建立

32

GB

的彩虹表

&

根据密钥流序列查询

对应的初始内部状态

,

若彩虹表中存在对应的初始内

部状态

,

则攻击者可以通过初始内部状态

采集电路

采集到的

32

bit

id

明文和

32

bit

随机数的密文倒推

48

bit

Hi

g2

密钥

&

当密钥空间确定时

折中

数据的时延

同时利用

FPGA

加速云服务器

FPGA

板卡丰富的逻辑资源

,

通过例化更多的逻辑模块进一

步加速了攻击过程

&

1

为获取到

72

bit

密钥流后

的折中攻击算法流程图

&

1

Hi

;g2

密码折中攻击算法流程图

2.

2

基于

FPGA

加速云的

Hi

g2

密码攻击算法实现

基于上述算法原理

开发了基于

FPGA

云计算

Hi

g2

攻击系统

&

该系统搭载赛灵思高性能

Virtex

UltraScale

+

VU9P

FPGA

板卡⑻

&

服务器

主机操作系统为

Centos7.

0

,

搭载

8

CPU

,

88

G

&

硬件开发平台使用

XILINX

公司的

VIVADO

开发套件

&

算法的实现过程如下

DFPGA

高性能硬件接口设计

&

FPGA

高性能硬

件接口主要包括算法逻辑的

I/O

FPGA

板卡

I/O

连接关系

&

其完成时钟信号

密钥流

彩虹表查表地

查表数据等信号的输入以及结果的输出功能

&

2

CPU

FPGA

交互的高性能软件设计

&

软件部

分主要完成

CPU

FPGA

硬件交互的工作

包括密钥流

数据的输入、彩虹表的读取以及返回查表数据给

FPGA

&

3

建立彩虹表

&

根据

Hi

g2

的加密器工作原

,

固定以

2

5

为一条数据链的长度

同时固定

48

等:基于

FPGA

加速云的

Hitag2

攻击算法

189

初始内部状态的低

16

彩虹表只存储起点值和端

点的地址映射值

遍历珂组初始内部状态值

得到

32

GB

的彩虹表

3

结束语

通过分析

Hiag2

应用到具体芯片上的弱点

,提

出并设计了一种基于

FPGA

Hiag2

折中攻击算

4

Hiag2

密码并行攻击算法实现

并行攻击算

法主要分

2

个部分:

a

根据输入密钥流

猜测

一个内

并用

FPGA

加速云服务器对攻击过程进行加速

部状态

然后根据这个内部状态作密钥流更新运算

直到这条数据链的端点

若存在与输入的密钥流相

测试结果表明

该算法能在不到

1s

的时间得到

Hi

g2

的初始内部状态

进而获得

Hi

g2

的密码

这表明流密码算法

Hi

g2

已不再适合应用到汽车防

盗系统上

建议汽车厂商可以考虑使用密钥更长

同的情况,则表明初始内部状态就是这条数据链的起

反之

则重新

猜测

一个内部状态

Y

根据这条

数据链的端点映射的地址找到数据链的起点数据

作效率更高且便于硬件实现的加密算法

进而提高汽

初始内部状态

根据

Hiag2

加密器内部状态更新规

则做不超过

2

5

次的内部状态和密钥流更新

若存在

计算的密钥流等于输入的密钥流

则表明查表得到的

数据是真正的初始内部状态

5

用户逻辑综合实现与加载

在用户逻辑经过

VIVADO

综合实现后

生成

DCP

文件,用户通过注

FPGA

逻辑镜像生成可供烧录到

FPGA

bit

件和

bin

文件,再通过

FPGA镜像加载工具将

bit

件加载到

FPGA

板卡中

6

FPGA

执行程序调用

调用软件驱动程序

完成

密钥流数据的输人控制硬件开始攻击计算

同时将彩

虹表加载到主机内存中

并根据解密算法查找主机内存

中对应的初始内部状态进行计算,返回最终计算结果

2.3

性能测试及分析

对文献

9-11

的攻击算法与本攻击算法进行测

试和比较分析

2

为在

FPGA

加速云服务器端测

Hi

g2

攻击的测试结果

从图

2

可看出

在输入

一组

72

bit

的密钥流后

本算法能在少于

1

s

的时间

内得到

Hi

g2

加密器的初始内部状态

[root@ecs-90d5

bin]#

./crack_hitag2

-i

0x56d2bdbb

-i

0xea86fabb

-i

0x0O0G0Gea

file

read

finish

FPGA

version

0XEG4616FA

inputdata

0X00G0G0EAEA86FABB56D2IBDBB

Go

into

cycle

C460DQ0E

□utput_data

:G413E59CB13793A

total

cost

0.280G0G

seconds

[root(aecs-90d5

bin]#

|

2

测试结果

1

为本算法与现有算法的性能对比

从表

1

可看出

本算法在时间和存储上均优于现有算法

1

本算法和其他算法的性能对比

算法

原理

计算耗时

/min

存储空间

/GB

文献

6

暴力破解

2

102

400

文献

SAT

攻击

2

880

文献

密码学分析

5

1024

本算法

FPGA

云攻击

1

/

6

32

车防盗系统的安全性

参考文献

[

1

(

NXP

Semiconductors.

Transponder

IC

,

Hitag2

[EB/

OL

(

.

http

//

www.

datasheetarchive.

com/pd//

download,

php?

id

=

020cfdd353el835e832a47658ccf81

ef696e0cCtype=PCterm=

HITAG2

%

2

5

20

trans-pon-

der&

[

2

]

NXP

Semiconductors.

Hitag

ro64

transponder

IC[EB/

OL

]

.

https

:

//

www.

nxp

.

com/docs/en/data-sheet/

.

[

3

]

NXP

Semiconductors

.

PCF7941ATJ

Datasheet

[

EB/

OL

(.

https

:

//

pdfl.

alldatasheet.

com/datasheet-pdf/

vie

w/

1072413/

NXP

/

PCF7

941

ATJ.

html.

[

4

]

杨波

.

现代密码学

[M

(.

北京

清华大学岀版社

2003

214-217.

[

5

]

宫大力

.流密码算法的研究与设计

[D

].

南京:南京航空

航天大学

,2011

4-12.

[

6

]

穆昭薇

.

流密码算法

Salsa20

的安全性研究

[D].

西安

:

西安电子科技大学

,2011

:

5-15.

[

7

]

郑中翔

吉庆兵,于红波

.

基于彩虹表的时间

存储折

中攻击改进算法

[J

].

密码学报

,2014,1(4):8599.

[

8

]

HUAWEI

Cloudy.

FPGA

Development

Suite

[

EB/

OL

].

https

:

//

github.

com/huaweicloud/huaweicloud-

fpga

[

9

]

PETER

S,MARTIN

n

g

Hita

g

2

with

reconfig

­

urable

hardware

[C]//

14

th

Euromicro

Conference

on

Digital

System

Design,

2011

:

558-563.

[10

]

NICOLAS

T

,

SEAN

O

,

QUISQUATER

cal

al­

gebraic

attacks

on

the

Hitag2

stream

cipher[C]//12th

InformationSecurityConference20095735

:

167-176

[11

]

VERDULT

R

,

GARCIA

F

D

,

BALASCH

J.

Gone

in

360

seconds

:

Hijacking

with

Hitag2

[C]//Presented

as

Part

of

the

21th

Usenix

Security

Symposium

,

2012

:

237-252

编辑

张所滨

本文标签: 算法攻击数据