讨论:做一个硬件安全模块
novakon2016/04/06软件综合 IP:广东
在我的上一篇文章末尾(XXXXXXXXXXXXXXXXXXXXXXXX/t/79505),我简要论述了“硬件安全模块”对互联网信息安全的重要性。如今,无数的银行业、支付业者使用HSM保证它们的业务不受黑客的破坏。
我提出的问题是:硬件安全模块能自己做吗?

在回答这个问题之前,不妨看看以下两篇文章。
XXXXXXXXXXXXXXXXXXXXXXXXXXXX/art/201005/XXXXXXXXXm
如果你要保护你的整个支付基础设施,而该支付基础设施每年要处理数十亿美元的交易,那么HSM的价格根本不算昂贵。你总是要在更广泛的安全投资背景下看待HSM的价格。必须承认,在相当长的一段时间里,HSM一直是一种相对专业的技术,这一点千真万确。有些公司靠购买10套左右的HSM勉强应付;多数公司并没有大规模地部署HSM。HSM设备每年的市场销售量还不到几十万。我认为我们正处在该行业的转折点。作为一种高度集中、非常专业的安全功能,全球最优秀的安全产品采购商十年来一直采购HSM并对其赞不绝口。我们现在看到,同样的最佳实践和同样的技术正被应用到更加多样化、更加主流的加密市场。这一趋势给HSM市场带来了一些压力,以使其产品适应特定客户的需求,这些客户缺乏经验,正在寻求可以使用和部署不太复杂的加密方法。我认为,HSM或强化密钥管理以及加密处理市场将发生巨大的变化:价格下降、可用性提高、用户在部署时需要考虑的因素更多。
XXXXXXXXXXXXXXXXXXXXXXX/2014/12-4/XXXXXXXXXXXXXXml
SafeNet 通用 HSM:Luna SA:一款网络连接 HSM,可保护组织内部、虚拟和云环境中应用程序使用的密钥。Luna PCI-E:一款嵌入式 HSM,可保护加密密钥并加速敏感加密操作。Luna G5:一款 USB 连接 HSM,是在离线密钥存储设备中保存根密钥的理想选择。

结合我的上一篇文章(如果没有读过,建议先读一下),一个最简单的实用HSM大概是这样工作的:
1)通过一定的接口与计算机通信
2)内部保存有私钥,且无法通过任何暴力手段获得该私钥
3)能够利用内部保存的私钥,签发证书,此证书可由对应的公钥验证。

其实,我们常说的“加密狗” “U盾”都属于HSM,但它们一般只能保存证书(而且不算特别安全),不一定具有签发证书的功能。

为此我画了一个草图。
QQ截图20160406155305.jpg

是不是有点像树莓派?其实就是一个网络服务器,可以利用内置的OpenSSL软件签发证书,并返回给用户。
附加要求挺简单:
1)只能通过网络与外界联系,不允许通过其他方式访问。网络接口对外必须不暴露任何漏洞,例如恶意流量导致的缓冲区溢出,等等。
2)盒子非常坚固,难以破坏、拆卸;即便拆开,也无法获取到内部存储的密钥。
3)无法从盒子之外通过各种窥探方式(例如电流监测、电磁辐射监测)有效地获知盒子内部的工作状态,也即无法窥探出密钥。



基于这样的HSM模块,我们可以涉足许多有意思的领域,例如谍报、保密,还有当下最火的支付业务。
来自:计算机科学 / 软件综合
16
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也
大仙
8年9个月前 IP:江苏
815314
[s::D]用在谍报上安全性可能堪忧,以前看MH的资料上说TG的电磁辐射探测技术世界领先,这个东西代替一般公司账户用的密码器还是很有前途的,看每次老板去取钱用密码器相当费劲。用在个人网银上还有个成本问题,成本控制好也可以用。这些是我的一些粗浅建议,有啥不足的请多指正。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
熊猫阿Bo
8年9个月前 IP:德国
815336
随机数发生器如今应该是HSM的标配了。足够随机的情况下无论是生成密钥还是需要nonce都可以让攻击面收小
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
我说要有光
8年9个月前 IP:河北
815507
把私钥保存在一个SoC的RAM里,因为一旦断电就会被清除,可防开盖破解
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
power_rcx
8年9个月前 IP:广东
815546
引用 我说要有光:
把私钥保存在一个SoC的RAM里,因为一旦断电就会被清除,可防开盖破解
缺点是这样一来,私钥很容易丢失。丢失私钥之后无法再签发新的证书,除非要求所有客户端都更新公钥。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
phpskycn
8年9个月前 IP:浙江
815558
引用 power_rcx:
缺点是这样一来,私钥很容易丢失。丢失私钥之后无法再签发新的证书,除非要求所有客户端都更新公钥。
可以在一个安全的不联网的地方存储备份,需要恢复的时候依然可以恢复
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
power_rcx
8年9个月前 IP:广东
815559
引用 phpskycn:
可以在一个安全的不联网的地方存储备份,需要恢复的时候依然可以恢复
这个“安全”的地方,不正是我们要做的HSM么
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
phpskycn
8年9个月前 IP:浙江
815561
引用 power_rcx:
这个“安全”的地方,不正是我们要做的HSM么
可是HSM本身联网了呀
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
nglee
8年0个月前 IP:日本
828892
引用 我说要有光:
把私钥保存在一个SoC的RAM里,因为一旦断电就会被清除,可防开盖破解
这是支付行业现在也在用的手段,在POS和PINPad中需要提供这样的防拆机制,有兴趣可以了解下美信/飞思卡尔的POS产品线的MCU,这行业有个标准PCI,对此有详细要求。

国内也有两家厂商有产品通过了PCI认证。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
RodTech
8年0个月前 修改于 8年0个月前 IP:广东
828912
最屌,nsa 认证 type 1设备,比如harris sierra module ii型,和各类霉菌用的asic,这是cci,ctrl crypto item,原则上不能出口,代表产品各类对讲机,网络加密模块,安全电脑,密钥生成分配设备,如fill gun

没那么屌 type3 140-2 level 3 硬件光敏,盖子微动开关开路等anti-temper手段,有nist认证的asic做 可以买到,代表产品ironkey u盘

一般般的 淘宝或者yy
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
josephdong
8年0个月前 IP:湖北
829138
将私钥烧到ROM里面,设置只写端口,输入需要验证的内容,另用输出端口输出结果(只有是或否)。更新私钥请重新烧制。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
fuwen0202
7年11个月前 IP:北京
830058
网络还是很难有安全的我觉得,请最好的镖局保护货物也难保路上不会出问题。。。。
目前通过大素数之类的单向函数来设定秘钥加密,虽然不能授权但检验还是没问题的。。。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
daxus
7年2个月前 IP:上海
840239
这个HSM实际上与POS以及ATM中的安全模块非常类似。
正好我的工作就是这个方面有关的。
如果有兴趣,下面是我的几点建议:
1. 物理安全必须考虑,典型的设计就是防拆保护,这一点可以通过电路和结构上的设计,以及适当的嵌入式CPU选型达到目的。
   目前支持物理防护的安全芯片还是不少的,比如 NXP的K81系列已经早点的K21系列,美信的MAX32550、32555等,国产的也有不少比如国民技术Z32,兆讯的MH1902等,这些芯片提供了物理防拆技术
2. 逻辑安全,也就是软件安全上的设计考虑,比如:密钥不能导出,提供涉及到访问密钥的算法,检测到防拆被触发时需要销毁密钥,另外还需要确保设备中的固件(也就是软件)不能被随意替换,典型的方式是必须进行签名验证和安全启动,这几个通常也需要CPU本身支持。
3. 数据安全,需要有妥善的方法能安全的备份数据,比如将密钥加密后导出,加密的密码是由多人控制的等等,这些也与管理有关。
4. 如果设备提供了IP访问,需要考虑协议安全,如果使用了openssl这样的开源库,需要考虑安全补丁的管理

最后,业内其实有这方面的规范以及组织,国内的是 商用密码产品认证,银行系统的是叫银联安全认证(UPTS),国际上对应的是叫PCI。
特别建议去了解下PCI的标准,里面设计到了支付终端,运营机构,HSM等需要做到的安全要求,非常详细。
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/document_library
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
ry7740kptv
7年2个月前 IP:浙江
840245
最近在做国网配电终端安全防护的相关工作,就是给现有的TTU产品增加国网安全芯片。。。
防拆设计必须板载电池?否则如何在拆开后自动销毁内存数据?
现有单片机设计如果能做到真正防拆的话安全系数还算可以,毕竟单片机程序是很容易被读出(即使锁了读写位)。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
20!Dopaminor
7年2个月前 修改于 7年2个月前 IP:广东
840250
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
daxus
7年2个月前 修改于 7年2个月前 IP:上海
840260
@ry7740kptv 目前所有能做到防拆安全的设备,内部必然带小电池的,通常是一个纽扣电池。微安级别放电,能工作2年左右。
目前的安全CPU,通常也有多路供电的设计,当主电源(比如主电池或者USB插入)存在时,优先使用主电源,只有主电源不存在时才会使用备份电源。这样备份电源实际使用寿命可以大大增加。

下面是一个"比较便宜"的HSM:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/products/general-purpose-hsms/nshield-edge
我询过价,大约1万美刀。。。。在HSM中真的算便宜的了。

至于国产的密码机,特别是号称过了国密认证的密码机,我可以直接说:我不相信他们!

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

所属专业
上级专业
同级专业
novakon
学者 机友 笔友
文章
1256
回复
8386
学术分
16
2008/03/29注册,2年11个月前活动

已走,勿送

主体类型:个人
所属领域:无
认证方式:手机号
IP归属地:未同步
文件下载
加载中...
{{errorInfo}}
{{downloadWarning}}
你在 {{downloadTime}} 下载过当前文件。
文件名称:{{resource.defaultFile.name}}
下载次数:{{resource.hits}}
上传用户:{{uploader.username}}
所需积分:{{costScores}},{{holdScores}}下载当前附件免费{{description}}
积分不足,去充值
文件已丢失

当前账号的附件下载数量限制如下:
时段 个数
{{f.startingTime}}点 - {{f.endTime}}点 {{f.fileCount}}
视频暂不能访问,请登录试试
仅供内部学术交流或培训使用,请先保存到本地。本内容不代表科创观点,未经原作者同意,请勿转载。
音频暂不能访问,请登录试试
支持的图片格式:jpg, jpeg, png
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
收藏
取消收藏
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
管理提醒
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}