首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
FPGA/CPLD可编程逻辑
» 用于实现嵌入式安全的开源硬件
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
用于实现嵌入式安全的开源硬件
发短消息
加为好友
porereading
当前离线
UID
863084
帖子
7183
精华
0
积分
3592
阅读权限
90
在线时间
209 小时
注册时间
2011-11-30
最后登录
2019-8-28
论坛元老
UID
863084
1
#
打印
字体大小:
t
T
porereading
发表于 2014-4-23 22:05
|
只看该作者
用于实现嵌入式安全的开源硬件
嵌入式
,
硬件
想像一下你正在排队等待参加一个重要活动。门票是通过网上购买的,存储在你的智能手机中。你需要将手机放到某个指定区域上,建立起
NFC
连接,门票随之得到确认,大门开启允许你进入。好消息是,所有这一切都是在匿名情况下发生的。
在这类应用中,你的匿名信息可以通过使用最近开发的匿名信任协议
(
如
IBM
的
Idemix
或微软的
U-Prove)
得到保护。这些协议基于知识的零知识证明
(ZKPK)
。你可以证明你拥有某个属性的知识而不用透露具体数值。这种属性与所谓的承诺中的公钥是捆绑在一起的。
图
1
给出了这种
ZKPK——
本例中的
Schnorr
协议的简要示意图。其中
y
是
x
的承诺。在强大的
RSA
假设下,是很难从
y
找出
x
的,即使你知道
g
和
m
。
仔细观察协议我们会发现
x
仍然是隐藏的。验证方只知道
y
是正确的承诺。我们还能发现,协议主要由通信和算法组成
——
这正是我们研究的对象。
图
1
:
SchnorrZKPK
协议的简化版本。
----------------------------------------------------------------------------------------------------------------------------------------------
在嵌入式平台上计算并行求幂所需时间的例子
在我们的测试装置
(
后面会讨论到
)
上,我们比较了硬件加密内核和软件实现方法的执行时间。
硬件和软件都计算:
在匿名信任协议中经常使用的并行求幂。
我们规定指数长度在
32
位和
2048
位之间变化。基数的长度是固定的,本例中是
1024
位。软件运行在嵌入式
Linux
操作系统上,并在多精度算法中使用了
GMP
库。
处理器和
IP
内核都以相同速度
(100MHz)
运行。我们发现,两种方法的执行时间都随指数长度成比例的增加。然而,采用硬件卸载方式的运算要快
10
至
50
倍。
图
2
:在嵌入式平台上分别用硬件卸载和不用硬件卸载时的并行求幂执行时间。
嵌入式安全性测试平台
我们很快发现,当这些
ZKPK
在嵌入式系统上实现时,通信和算法都会引起瓶颈
(
见例子
)
。我们不希望用户保持
NFC
连接超过比方说
5
秒钟,不然会与通过
“
接触
”
交换数据的
NFC
概念发生冲突。
为了详细研究这个问题,我们构建了一个测试平台
(
见图
3)
,以便我们能够方便地改变协议的不同方面。例如,如果我们将算法卸载到硬件加速器来提升算法速度会怎么样?或者操作数的长度对通信和算法的速度有何影响?
我们开发的平台如图
3
所示,它基于的是赛灵思的
ML605
评估板。我们增加了恩智浦的
PN532
开发套件用于
NFC
通信。运行嵌入式
Linux
的
MicroBlaze
用于控制整个系统。使用
Linux(
本例中用的是
PetaLinux
发行版
)
有很大的优势,即在嵌入式系统中可以用标准库,比如用于算法的
GMP
和用于
NFC
通信的
libnfc
。
图
3
:用于测试和评估匿名信任协议的嵌入式平台。
使用
FPGA
可以很方便地增加和开发加密硬件加速器。本文余下部分将讨论我们开发用于测试目的的这种
IP
内核设计。
开源硬件
因此我们想要一个可以用作硬件加速器的加密内核。可能的话,它可以计算:
市场上有多种
IP
内核可以用来执行单次模幂运算。然而,像
DAA
或
Idemix
等协议要求至少两次这种求幂的产品。这意味着我们仍然必须执行大操作数的多次
(
模
)
乘法,这将进一步增长总的执行时间。另外,我们希望能够改变所有操作数的长度,但不显著降低性能。也许我们还希望在其它平台上测试硬件。
这份希望清单促成了开源
IP
内核的设计,并符合以下规范:
●
针对嵌入式平台的开源
IP
内核
(
控制要求的软件
)
● VHDL
代码独立于器件和制造商,并得到良好归档
●
基数
g0
、
g1
和模数
m
的长度可以在综合前自由选取
●
为指数准备了一个
FIFO
,因此
e0
和
e1
的长度可以完全取决于控制软件
●
将流水线式蒙哥马利乘法器作为
IP
内核的核心,并具有自由选择的级长,从而允许调整内核获得想要的速度
/
面积
●
操作数
RAM
专门针对并行求幂进行了优化
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
DSP技术
嵌入式技术
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议