全球最大半导体生产商英特尔(Intel)创办人之一摩尔(Gordon E. Moore),曾在1965年的文章中描述一个现象︰积体电路(或者说处理器)中的电晶体数量,每24个月便会翻倍。后来这个现象被称为「摩尔定律」,更成为半导体工业的指标,定律维持了足足50年。
其中一个原因,是随着技术发展,电晶体变得越来越小,造价也相应下降,使厂商能把更多电晶体放进处理器内。但当电晶体缩小时,现时使用的硅电晶体也快将遇到瓶颈位,无快把体积进一步下降。
纳米碳管
纳米碳管(Carbon Nanotube)是一种管状的碳分子,直径可以小至1纳米(10−9米),并且有很多罕有的特性,因此潜在应用价值甚高。例如在半导体工业中,纳米碳管可取代硅用来製作电晶体,以解决电力损耗等缩小製程时会遇到的问题。
Image Credit: von Schwarzm, GNU FDL
与此同时,纳米碳管电晶体的製作过程有两个问题︰导电及半导电的纳米碳管会随机地混在一起,而且难以精确控制其位置。但一个主要来自IBM的研究小组,把纳米碳管这个特性转化成加密上的优势,製作出难以破解的加密装置。
生产「乱数」来加密
首先,这些科学家製作了一个装置,把随机混在一起的纳米碳管转化成数字,这个数字可以用作加密中必须的密匙。实验中使用的装置可以理解成有2560个「闸」,而纳米碳管会随机把这些闸「打开」或「关上」——研究人员可以调校整体的开关比率,但不能控制每个「闸」的状态。
而每个打开或关上的「闸」均对应着「0」或「1」,从而转化成一个2560位元长的乱数。更特别的是,由于纳米碳管还有导电及半导电的状态,实际上科学家可以把结果转化成由「0」、「1」及「2」组成的字串——比起常用的二进制,使用三进制能製作更长的密匙。
然后研究小组把2560位元的数字分成40部份,每部份是个64位元的密匙。在99.7%的情况下,当中两个密匙均有最少一半的位元有别。小组透过统计分析,确认每串数字中任何位元跟附近的位元并没有任何关係,这40串数字亦通过标準技术研究所(NIST)的随机性测试。
换言之,这方法产生的数字没有任何可猜测的规律,适合用作加密的密匙。
无法偷窥的系统
一个好的加密系统,除了密匙需要随机生成,以免被人猜中之外,还需要避免密匙外洩。即使把全个硬碟加密,黑客仍有可能透过取得记忆体来获得密匙(称为cold boot attack),极重要的电脑系统还需要预防这类攻击。
上述纳米碳管装置的另一好处,就是能避免被黑客複製系统状态,从而阻止别人窥探密匙。由于纳米碳管会随机分布,其状态无法重现,要取得装置上的密匙,必须拍下装置的高解像度照片,例如使用电子显微镜。但这个过程会破坏纳米碳管的分布,仍然无法得悉其状态,也就无法取得密匙。
论文最后指出,实验结果显示纳米碳管有望用来製作廉价并难以伪冒的加密装置,成为未来加密系统的新配件。虽然目前一切言之尚早,在加密技术越来越重要的时代,可以预计这类新式加密装置未来将会进入各种电子产品。
Physically unclonable cryptographic primitives using self-assembled carbon nanotubes (Zhaoying Hu et al. 2016) On-chip random key generation done using carbon nanotubes (Ars Technica) Researchers close the final loophole in device encryption with the power of nanotubes (Digital Trends)