慧荣科技专家谈固态硬盘的加密技术

2019全球闪存峰会——“固态存储应用技术与产业论坛”聚集来自华澜微电子、群联电子、CINNO、慧荣科技、Faspeed、智微科技以及Asloid等一众知名企业技术专家,着重于实务上的市场分层状况与应用技术展开探讨。本期推出的演讲专家是慧荣科技的资深产品经理郑元顺。

演讲嘉宾:
郑元顺
SMI慧荣科技资深产品经理

郑元顺先生从事固态硬盘控制芯片工作超过10年,带领过众多与各家闪存原厂合作专案,熟悉闪存产业的发展,以及各种固态存储的应用规格。现任职于慧荣科技股份有限公司,负责固态硬盘芯片的市场策略佈局,以及产品规格制定。

在主题为《固态硬盘的加密技术》的演讲中,郑元顺提到,资料安全一向是优先的课题,随着大数据的蓬勃发展,固态硬盘的加密技术更显得重要, 演讲核心基于实务上的应用, 探讨这些技术的使用现况。

以下为演讲实录:

这两天大家都在说SDD快、大、稳。类似这样加密题目讲的比较少,让大家听一听不一样的东西。

我想问大家一个问题,有没有比数据丢失更可怕的事情?我们做存储的里面的东西更重要,但是还没有比数据丢失更可怕的事情?我觉得有,因为当数据到了不该到的地方比丢失更可怕。

安全其实是数据里面最顶级的需求,为什么这么重要的事情好像大家比较少讲这样的事情?其实因为安全这个概念很困难。它抽象了,买东西是安全,只要不被拿出去、摸到就是安全,有人说甚至密码,明明很安全,为什么还要讲安全。

安全其实是很困难的事情,分类从四个方向讲这个密码安全。从权限管理、数据安全、安全架构。

一开始从输入密码这个概念切入,因为每天要输入密码。这个概念不难,但是实际做难不难?说难不难,说简单也不简单。

以前用电脑的时候设一点密码,或者有些人没设置,那就很不安全。设密码的时候,输入一个字串,这个时候到硬盘里面会找到这八个字吗?不会的。处理过程很复杂,这个密码绝对是加密过、改过。就算是工程师,看到这个字也没有办法。

数据加密,是足够安全的。加密这个概念说难不难,说简单也不简单。他的关键点在KEY这边,但是这个KEY不知道它关键在什么地方,以及它跟加密有什么关系。这边举一个例子,左边是原始资料,右边存到密文。这两个中间有什么关系,这个关系就是KEY。就算今天用暴力的方法一颗颗拆走,实际上读出来的密文只要不知道这个KEY,不知道意思,右边是阿拉伯文。如果大家有认识阿拉伯文,这两个字是不一样的。我只是找一个类似的。

第三,密码跟AESKEY是不同的观点,意思是什么?就是说这个KEY本身也不是明文,存进去当然是经过再一次的编码过的,再加一次防护。而且SMI再用密码去保护这个ESKEY,这样你的双重保护你的KEY不可能泄露出去。

TCG的部分,这个安全架构不只是TCG做这件事情而已,其实做安全加工比较多。只是因为TCG大家比较常用,所以拿TCG这个安全规范来介绍。其实概念差不多,做的东西不一样。TCG它的功能很多。TCG定义多个使用者来做安全控制,以前的ATA没有定多个使用者,他只有一个使用者,一个密码而已。用的TCG这个比较复杂、安全、丰富的架构,它定义多个使用者。

Tables,这个意义就是说有权限的控制。权限听起来不太对,应该是可以替这个工作,Key的就只有一个。但是有了TCGOPPO,你可以对不同的范围设不一样的Key。或者说做比率和速度的控制。这个在原本ATA里面其实也没有这个东西。
第三,LBA幅度。原本的ATASK Hynix里面也没有幅度。但是TCG可以帮把这个切八个,每个幅度可以独立设权限,设不一样的NESSK Hynix。

这是原本没有AES就是一块白白的,一整个全局范围,但是你有TCG以后帮它分开,这些切入可以八个范围做独立的控制。所以刚才对应到刚才三个里面。他可以做这个所有的操作,包含设定这些幅度。你制定出来的,你家里可能像大儿子给自己账号,小女儿有自己的账号。公司里面可能这个部门IT部门理所当然是ADM,可能是这个部门你们是一个,另外一个部门是技术的。

ADM它可以去控制改变,他可以每一个各自制定一个。AESK在全球是对整个范围,这个就是只对这个范围里面。我可以对这个范围读锁定、写锁定类似这样的操作。当然TCG很复杂,还有其他一些功能。因为这些都是抽象,我们短短的时间不容易理解。

我想替大家介绍一个有趣,眼睛看到有感觉的功能。PSID,当你去买了一个东西之后,它资源TCG功能通常都会贵一点。你买这个东西善用他的功能,而且通常是像比较贵的产品线。

密码安全是没有办法破解,当你买一个东西设了密码,AESK,这些功能的启动以后,有一天忘了密码怎么办?手机密码忘记了怎么办?没有办法。ATA是这样子的,但是TCG还帮你留了一路,他可以帮你恢复成出厂的样子。出厂的样子,里面的资料当然没了,因为不可能让有一个字把那些字救回来不可能,但是至少提供了一个途径帮你回收这个功能,让你继续用。

接下来讲Verification,刚才讲的安全架构,有了这些就安全了?你的文件够万无一失。世界上有很多的坏人,坏人就是要抢你的资料,偷看你的照片。他们还有什么办法?我们刚才不是定义的好多安全的途径?他们还有办法吗?所有这些安全机制的核心都在哪里?都在这个里面,所有的运作分开做。所有的安全机制的核心都在这个里面,所以当然坏人会想到去攻击这个安全机制的核心,像刚才荷兰的教授攻击也是攻击这个分位。分位本来就要留下一个更新的途径,你的分位总是有BUG要解,所以原本规范里面就有定好怎么去更新你的分位。

留下了更新范围的途径,更好可以拿来做坏人攻击的一个途径。他们有可能去了一个不知道上网改一改放进你的系统里面,让你跳开你原本设计的所有安全路径,这是有可能做到。我们怎么做呢?一个普通的固件更新就这么简单,你到网站上去下载更新包,一键按下去就跑。这样是不是很没有保证?SMI的数位签章固位更新流程有点不一样,大家可以看到我们现在看这个原本的分位只有这个而已,没有下面这两个。有的SMI签章分位以后,当你已经写好一个更新的分位会发生什么事情。我现在用一个流程图跟大家解释,大概会发生什么事情。

我们把这个公开密钥通过TB分给各个客户,所以这个其实SMI自己不知道,所以你要过这一关SMI没有办法,只有客户有办法。

我们回到原本的更新途径,当客户有了公开密钥之后,下一步是什么?这个当分位跟公开密钥去生成一个署名,这个是原汁原味的。SIM提供客户认可的这个分位依据。你拿着这个要来更新这个。

第三步公开密钥对比原本系统密钥。

第四步他会生成一个哈希值跟更新分位,对比当这两个都MICH了,这个原厂出来的,原始厂商出来的。他才会让你更新到这个系统里面去。

有了这个步骤就可以保证坏人偷改过的分位,绝对没有办法当做到你的系统里面去,这样子就可以杜绝被偷换分位的风险。只有这样吗?不。SIM还支持更安全的开机,我们把刚才检查的这个步骤做到IC里面去。每一次开机,这个系统都会去检查里面分位是不是安全的?检查的这个步骤就比原本的分位。为什么要这样做?因为刚才这个只防止更新,但是我有可能拿着一个东西偷偷用其他方法,用电子箱偷改。让这一次开机跳过检查流程,所以SMI支援更安全开机。合起来这个系统非常安全,我们甚至可以说这个系统是市面上最安全的之一。以后够安全了,但是我们还持续打造更安全的固态硬盘。

(以上内容仅根据速记整理,如有纰漏,欢迎指正。)