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
编辑
:
张所滨
版权声明:本文标题:基于FPGA加速云的Hitag2攻击算法 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1716165003a489470.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论